Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000 HTƎ
Holders
10
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
97,728,645.405309068 HTƎValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ETH
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-17 */ // SPDX-License-Identifier: Unlicensed /** https://t.me/ElonmuskTaylorswiftHarrypotter **/ pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function waiveOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract ETH is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private _name = unicode"ElonmuskTaylorswiftHarrypotterⱯ"; string private _symbol =unicode"HTƎ"; uint8 private _decimals = 9; address payable public marketingWallet = payable(0x94971f97118c91823499f5B3A38E230A4560A705 ); address payable public lpWallet = payable(0x94971f97118c91823499f5B3A38E230A4560A705 ); address public deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; uint256 public _buyMarketingFee = 1; uint256 public _buyLpFee = 0; uint256 public _sellMarketingFee = 1; uint256 public _sellLpFee = 0; uint256 public _marketingShare = 20; uint256 public _lpShare = 0; uint256 public _totalTaxIfBuying = _buyMarketingFee + _buyLpFee; uint256 public _totalTaxIfSelling = _sellMarketingFee + _sellLpFee; uint256 public _totalDistributionShares = 20; uint256 private _totalSupply = 10000000000 * 10 ** _decimals; uint256 private minimumTokensBeforeSwap = 100000000 * 10 ** _decimals; uint256 public startBlock; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; isExcludedFromFee[owner()] = true; isExcludedFromFee[address(this)] = true; isExcludedFromFee[deadAddress] = true; isExcludedFromFee[marketingWallet] = true; isExcludedFromFee[lpWallet] = true; isMarketPair[address(uniswapPair)] = true; _balances[marketingWallet] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function setBuyTaxes(uint256 buyMarketingFeeNew, uint256 buyLpFeeNew) external onlyOwner(){ _buyMarketingFee = buyMarketingFeeNew; _buyLpFee = buyLpFeeNew; _totalTaxIfBuying = _buyMarketingFee.add(_buyLpFee); require(_totalTaxIfBuying <= 5 , "Max buy fee under 5%"); } function setsellTaxes(uint256 sellMarketingFeeNew, uint256 sellLpFeeNew) external onlyOwner(){ _sellMarketingFee = sellMarketingFeeNew; _sellLpFee = sellLpFeeNew; _totalTaxIfSelling = _sellMarketingFee.add(_sellLpFee); require(_totalTaxIfSelling <= 10 , "Max sell fee under 10%"); } function setShares(uint256 _marketingShareNew, uint256 _lpShareNew) external onlyOwner() { _marketingShare = _marketingShareNew; _lpShare = _lpShareNew; _totalDistributionShares = _marketingShare.add(_lpShare); } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } 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 minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setIsExcludedFromFee(address account, bool newValue) public onlyOwner { isExcludedFromFee[account] = newValue; } function setMarketPairStatus(address account, bool newValue) public onlyOwner { isMarketPair[account] = newValue; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled && recipient!=owner()) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ? amount : takeFee(sender,recipient, amount); _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { if(_totalDistributionShares==0) return; uint256 lpAmount = tAmount.mul(_lpShare).div(_totalDistributionShares).div(2); uint256 AmountforETH = tAmount.sub(lpAmount); swapTokensForETH(AmountforETH); uint256 ETHBalance = address(this).balance; uint256 amountETHForMarketing = ETHBalance.mul(_marketingShare).div(_totalDistributionShares); if(amountETHForMarketing > 0) transferToAddressETH(marketingWallet,amountETHForMarketing); uint256 amountETHLp = address(this).balance; if(lpAmount > 0 && amountETHLp>0) addLiquidity(lpAmount, amountETHLp); uint256 leftETH = address(this).balance; if(leftETH>0) transferToAddressETH(marketingWallet,leftETH); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable lpWallet, block.timestamp ); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function swapTokensForETH(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function takeFee(address sender,address recipient,uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if(isMarketPair[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
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":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyLpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lpShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyMarketingFeeNew","type":"uint256"},{"internalType":"uint256","name":"buyLpFeeNew","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setIsExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setMarketPairStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingShareNew","type":"uint256"},{"internalType":"uint256","name":"_lpShareNew","type":"uint256"}],"name":"setShares","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellMarketingFeeNew","type":"uint256"},{"internalType":"uint256","name":"sellLpFeeNew","type":"uint256"}],"name":"setsellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526040518060600160405280602181526020016200495f60219139600190816200002e919062000c03565b506040518060400160405280600481526020017f4854c68e000000000000000000000000000000000000000000000000000000008152506002908162000075919062000c03565b506009600360006101000a81548160ff021916908360ff1602179055507394971f97118c91823499f5b3a38e230a4560a705600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507394971f97118c91823499f5b3a38e230a4560a705600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a556000600b556001600c556000600d556014600e556000600f55600b54600a54620001af919062000d19565b601055600d54600c54620001c4919062000d19565b6011556014601255600360009054906101000a900460ff16600a620001ea919062000eb5565b6402540be400620001fc919062000f06565b601355600360009054906101000a900460ff16600a6200021d919062000eb5565b6305f5e1006200022e919062000f06565b6014556001601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff0219169083151502179055503480156200027457600080fd5b506000620002876200095860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200038a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b0919062000fbb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000418573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043e919062000fbb565b6040518363ffffffff1660e01b81526004016200045d92919062000ffe565b6020604051808303816000875af11580156200047d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a3919062000fbb565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601354600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160086000620005df6200096060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060135460066000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008e86200095860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6013546040516200094991906200103c565b60405180910390a35062001059565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a0b57607f821691505b60208210810362000a215762000a20620009c3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000a8b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a4c565b62000a97868362000a4c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ae462000ade62000ad88462000aaf565b62000ab9565b62000aaf565b9050919050565b6000819050919050565b62000b008362000ac3565b62000b1862000b0f8262000aeb565b84845462000a59565b825550505050565b600090565b62000b2f62000b20565b62000b3c81848462000af5565b505050565b5b8181101562000b645762000b5860008262000b25565b60018101905062000b42565b5050565b601f82111562000bb35762000b7d8162000a27565b62000b888462000a3c565b8101602085101562000b98578190505b62000bb062000ba78562000a3c565b83018262000b41565b50505b505050565b600082821c905092915050565b600062000bd86000198460080262000bb8565b1980831691505092915050565b600062000bf3838362000bc5565b9150826002028217905092915050565b62000c0e8262000989565b67ffffffffffffffff81111562000c2a5762000c2962000994565b5b62000c368254620009f2565b62000c4382828562000b68565b600060209050601f83116001811462000c7b576000841562000c66578287015190505b62000c72858262000be5565b86555062000ce2565b601f19841662000c8b8662000a27565b60005b8281101562000cb55784890151825560018201915060208501945060208101905062000c8e565b8683101562000cd5578489015162000cd1601f89168262000bc5565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000d268262000aaf565b915062000d338362000aaf565b925082820190508082111562000d4e5762000d4d62000cea565b5b92915050565b60008160011c9050919050565b6000808291508390505b600185111562000db35780860481111562000d8b5762000d8a62000cea565b5b600185161562000d9b5780820291505b808102905062000dab8562000d54565b945062000d6b565b94509492505050565b60008262000dce576001905062000ea1565b8162000dde576000905062000ea1565b816001811462000df7576002811462000e025762000e38565b600191505062000ea1565b60ff84111562000e175762000e1662000cea565b5b8360020a91508482111562000e315762000e3062000cea565b5b5062000ea1565b5060208310610133831016604e8410600b841016171562000e725782820a90508381111562000e6c5762000e6b62000cea565b5b62000ea1565b62000e81848484600162000d61565b9250905081840481111562000e9b5762000e9a62000cea565b5b81810290505b9392505050565b600060ff82169050919050565b600062000ec28262000aaf565b915062000ecf8362000ea8565b925062000efe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000dbc565b905092915050565b600062000f138262000aaf565b915062000f208362000aaf565b925082820262000f308162000aaf565b9150828204841483151762000f4a5762000f4962000cea565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f838262000f56565b9050919050565b62000f958162000f76565b811462000fa157600080fd5b50565b60008151905062000fb58162000f8a565b92915050565b60006020828403121562000fd45762000fd362000f51565b5b600062000fe48482850162000fa4565b91505092915050565b62000ff88162000f76565b82525050565b600060408201905062001015600083018562000fed565b62001024602083018462000fed565b9392505050565b620010368162000aaf565b82525050565b60006020820190506200105360008301846200102b565b92915050565b6138f680620010696000396000f3fe60806040526004361061024a5760003560e01c806375f0a87411610139578063a457c2d7116100b6578063c86079521161007a578063c8607952146108a9578063da00097d146108d4578063dd62ed3e146108ff578063ef422a181461093c578063f0cd1dac14610965578063f2fde38b1461099057610251565b8063a457c2d7146107b0578063a9059cbb146107ed578063aa35822c1461082a578063c5d2418914610853578063c816841b1461087e57610251565b8063914eb66a116100fd578063914eb66a146106ef57806395d89b4114610706578063a073d37f14610731578063a08e671f1461075c578063a33716571461078757610251565b806375f0a8741461061a5780637f90eaa21461064557806382eefb4314610670578063844d591c1461069b5780638da5cb5b146106c457610251565b8063313ce567116101c75780634a74bb021161018b5780634a74bb021461051f5780635342acb41461054a57806361a23c69146105875780636303516c146105b257806370a08231146105dd57610251565b8063313ce5671461042657806339509351146104515780633b97084a1461048e5780633ecad271146104b757806348cd4cb1146104f457610251565b8063182c425c1161020e578063182c425c1461033f57806323b872dd1461036a57806327c8f835146103a75780632aca3e7d146103d25780632b112e49146103fb57610251565b80630615102d1461025657806306fdde0314610281578063095ea7b3146102ac5780631694505e146102e957806318160ddd1461031457610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b6109b9565b6040516102789190612a5f565b60405180910390f35b34801561028d57600080fd5b506102966109bf565b6040516102a39190612b0a565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190612bbb565b610a51565b6040516102e09190612c16565b60405180910390f35b3480156102f557600080fd5b506102fe610a6f565b60405161030b9190612c90565b60405180910390f35b34801561032057600080fd5b50610329610a95565b6040516103369190612a5f565b60405180910390f35b34801561034b57600080fd5b50610354610a9f565b6040516103619190612a5f565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190612cab565b610aa5565b60405161039e9190612c16565b60405180910390f35b3480156103b357600080fd5b506103bc610b7f565b6040516103c99190612d0d565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f49190612d28565b610ba5565b005b34801561040757600080fd5b50610410610c69565b60405161041d9190612a5f565b60405180910390f35b34801561043257600080fd5b5061043b610caf565b6040516104489190612d84565b60405180910390f35b34801561045d57600080fd5b5061047860048036038101906104739190612bbb565b610cc6565b6040516104859190612c16565b60405180910390f35b34801561049a57600080fd5b506104b560048036038101906104b09190612d9f565b610d79565b005b3480156104c357600080fd5b506104de60048036038101906104d99190612dcc565b610e18565b6040516104eb9190612c16565b60405180910390f35b34801561050057600080fd5b50610509610e38565b6040516105169190612a5f565b60405180910390f35b34801561052b57600080fd5b50610534610e3e565b6040516105419190612c16565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c9190612dcc565b610e51565b60405161057e9190612c16565b60405180910390f35b34801561059357600080fd5b5061059c610e71565b6040516105a99190612a5f565b60405180910390f35b3480156105be57600080fd5b506105c7610e77565b6040516105d49190612e1a565b60405180910390f35b3480156105e957600080fd5b5061060460048036038101906105ff9190612dcc565b610e9d565b6040516106119190612a5f565b60405180910390f35b34801561062657600080fd5b5061062f610ee6565b60405161063c9190612e1a565b60405180910390f35b34801561065157600080fd5b5061065a610f0c565b6040516106679190612a5f565b60405180910390f35b34801561067c57600080fd5b50610685610f12565b6040516106929190612a5f565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190612e61565b610f18565b005b3480156106d057600080fd5b506106d9611008565b6040516106e69190612d0d565b60405180910390f35b3480156106fb57600080fd5b50610704611031565b005b34801561071257600080fd5b5061071b611184565b6040516107289190612b0a565b60405180910390f35b34801561073d57600080fd5b50610746611216565b6040516107539190612a5f565b60405180910390f35b34801561076857600080fd5b50610771611220565b60405161077e9190612a5f565b60405180910390f35b34801561079357600080fd5b506107ae60048036038101906107a99190612d28565b611226565b005b3480156107bc57600080fd5b506107d760048036038101906107d29190612bbb565b611330565b6040516107e49190612c16565b60405180910390f35b3480156107f957600080fd5b50610814600480360381019061080f9190612bbb565b6113fd565b6040516108219190612c16565b60405180910390f35b34801561083657600080fd5b50610851600480360381019061084c9190612d28565b61141c565b005b34801561085f57600080fd5b50610868611526565b6040516108759190612a5f565b60405180910390f35b34801561088a57600080fd5b5061089361152c565b6040516108a09190612d0d565b60405180910390f35b3480156108b557600080fd5b506108be611552565b6040516108cb9190612a5f565b60405180910390f35b3480156108e057600080fd5b506108e9611558565b6040516108f69190612c16565b60405180910390f35b34801561090b57600080fd5b5061092660048036038101906109219190612ea1565b61156b565b6040516109339190612a5f565b60405180910390f35b34801561094857600080fd5b50610963600480360381019061095e9190612e61565b6115f2565b005b34801561097157600080fd5b5061097a6116e2565b6040516109879190612a5f565b60405180910390f35b34801561099c57600080fd5b506109b760048036038101906109b29190612dcc565b6116e8565b005b600d5481565b6060600180546109ce90612f10565b80601f01602080910402602001604051908101604052809291908181526020018280546109fa90612f10565b8015610a475780601f10610a1c57610100808354040283529160200191610a47565b820191906000526020600020905b815481529060010190602001808311610a2a57829003601f168201915b5050505050905090565b6000610a65610a5e6118a9565b84846118b1565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601354905090565b600b5481565b6000610ab2848484611a7a565b50610b7484610abf6118a9565b610b6f8560405180606001604052806028815260200161387460289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b256118a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b6118b1565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bad6118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612f8d565b60405180910390fd5b81600e8190555080600f81905550610c5f600f54600e54611f7c90919063ffffffff16565b6012819055505050565b6000610caa610c99600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e9d565b601354611fda90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6000610d6f610cd36118a9565b84610d6a8560076000610ce46118a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b6118b1565b6001905092915050565b610d816118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0590612f8d565b60405180910390fd5b8060148190555050565b60096020528060005260406000206000915054906101000a900460ff1681565b60155481565b601760159054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b600e5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60115481565b610f206118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490612f8d565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110396118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd90612f8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60606002805461119390612f10565b80601f01602080910402602001604051908101604052809291908181526020018280546111bf90612f10565b801561120c5780601f106111e15761010080835404028352916020019161120c565b820191906000526020600020905b8154815290600101906020018083116111ef57829003601f168201915b5050505050905090565b6000601454905090565b60125481565b61122e6118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b290612f8d565b60405180910390fd5b81600c8190555080600d819055506112e0600d54600c54611f7c90919063ffffffff16565b601181905550600a601154111561132c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132390612ff9565b60405180910390fd5b5050565b60006113f361133d6118a9565b846113ee8560405180606001604052806025815260200161389c60259139600760006113676118a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b6118b1565b6001905092915050565b600061141161140a6118a9565b8484611a7a565b506001905092915050565b6114246118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890612f8d565b60405180910390fd5b81600a8190555080600b819055506114d6600b54600a54611f7c90919063ffffffff16565b60108190555060056010541115611522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151990613065565b60405180910390fd5b5050565b600a5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b601760169054906101000a900460ff1681565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115fa6118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e90612f8d565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60105481565b6116f06118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177490612f8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e3906130f7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790613189565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361198f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119869061321b565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a6d9190612a5f565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae1906132ad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b509061333f565b60405180910390fd5b601760149054906101000a900460ff1615611b8057611b79848484612024565b9050611f11565b6000611b8b30610e9d565b905060006014548210159050808015611bb15750601760149054906101000a900460ff16155b8015611c075750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c1f5750601760159054906101000a900460ff165b8015611c5e5750611c2e611008565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611c8857601760169054906101000a900460ff1615611c7e5760145491505b611c87826121f7565b5b611d11846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611df75750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e0b57611e0687878761236a565b611e0d565b845b9050611e6181600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f019190612a5f565b60405180910390a3600193505050505b9392505050565b6000838311158290611f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f579190612b0a565b60405180910390fd5b5060008385611f6f919061338e565b9050809150509392505050565b6000808284611f8b91906133c2565b905083811015611fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc790613442565b60405180910390fd5b8091505092915050565b600061201c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f18565b905092915050565b60006120af826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061214482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121e49190612a5f565b60405180910390a3600190509392505050565b6001601760146101000a81548160ff0219169083151502179055506000601254031561234c57600061225b600261224d60125461223f600f548761259190919063ffffffff16565b61260b90919063ffffffff16565b61260b90919063ffffffff16565b905060006122728284611fda90919063ffffffff16565b905061227d81612655565b600047905060006122ad60125461229f600e548561259190919063ffffffff16565b61260b90919063ffffffff16565b905060008111156122e5576122e4600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612898565b5b60004790506000851180156122fa5750600081115b1561230a5761230985826128e3565b5b6000479050600081111561234557612344600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612898565b5b5050505050505b6000601760146101000a81548160ff02191690831515021790555050565b60008060009050600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123f2576123eb60646123dd6010548661259190919063ffffffff16565b61260b90919063ffffffff16565b9050612470565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561246f5761246c606461245e6011548661259190919063ffffffff16565b61260b90919063ffffffff16565b90505b5b6000811115612574576124cb81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161256b9190612a5f565b60405180910390a35b6125878184611fda90919063ffffffff16565b9150509392505050565b60008083036125a35760009050612605565b600082846125b19190613462565b90508284826125c091906134d3565b14612600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f790613576565b60405180910390fd5b809150505b92915050565b600061264d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129e3565b905092915050565b6000600267ffffffffffffffff81111561267257612671613596565b5b6040519080825280602002602001820160405280156126a05781602001602082028036833780820191505090505b50905030816000815181106126b8576126b76135c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127839190613609565b81600181518110612797576127966135c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127fe30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118b1565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161286295949392919061372f565b600060405180830381600087803b15801561287c57600080fd5b505af1158015612890573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156128de573d6000803e3d6000fd5b505050565b61291030601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118b1565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612999969594939291906137aa565b60606040518083038185885af11580156129b7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906129dc9190613820565b5050505050565b60008083118290612a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a219190612b0a565b60405180910390fd5b5060008385612a3991906134d3565b9050809150509392505050565b6000819050919050565b612a5981612a46565b82525050565b6000602082019050612a746000830184612a50565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ab4578082015181840152602081019050612a99565b60008484015250505050565b6000601f19601f8301169050919050565b6000612adc82612a7a565b612ae68185612a85565b9350612af6818560208601612a96565b612aff81612ac0565b840191505092915050565b60006020820190508181036000830152612b248184612ad1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b5c82612b31565b9050919050565b612b6c81612b51565b8114612b7757600080fd5b50565b600081359050612b8981612b63565b92915050565b612b9881612a46565b8114612ba357600080fd5b50565b600081359050612bb581612b8f565b92915050565b60008060408385031215612bd257612bd1612b2c565b5b6000612be085828601612b7a565b9250506020612bf185828601612ba6565b9150509250929050565b60008115159050919050565b612c1081612bfb565b82525050565b6000602082019050612c2b6000830184612c07565b92915050565b6000819050919050565b6000612c56612c51612c4c84612b31565b612c31565b612b31565b9050919050565b6000612c6882612c3b565b9050919050565b6000612c7a82612c5d565b9050919050565b612c8a81612c6f565b82525050565b6000602082019050612ca56000830184612c81565b92915050565b600080600060608486031215612cc457612cc3612b2c565b5b6000612cd286828701612b7a565b9350506020612ce386828701612b7a565b9250506040612cf486828701612ba6565b9150509250925092565b612d0781612b51565b82525050565b6000602082019050612d226000830184612cfe565b92915050565b60008060408385031215612d3f57612d3e612b2c565b5b6000612d4d85828601612ba6565b9250506020612d5e85828601612ba6565b9150509250929050565b600060ff82169050919050565b612d7e81612d68565b82525050565b6000602082019050612d996000830184612d75565b92915050565b600060208284031215612db557612db4612b2c565b5b6000612dc384828501612ba6565b91505092915050565b600060208284031215612de257612de1612b2c565b5b6000612df084828501612b7a565b91505092915050565b6000612e0482612b31565b9050919050565b612e1481612df9565b82525050565b6000602082019050612e2f6000830184612e0b565b92915050565b612e3e81612bfb565b8114612e4957600080fd5b50565b600081359050612e5b81612e35565b92915050565b60008060408385031215612e7857612e77612b2c565b5b6000612e8685828601612b7a565b9250506020612e9785828601612e4c565b9150509250929050565b60008060408385031215612eb857612eb7612b2c565b5b6000612ec685828601612b7a565b9250506020612ed785828601612b7a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f2857607f821691505b602082108103612f3b57612f3a612ee1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f77602083612a85565b9150612f8282612f41565b602082019050919050565b60006020820190508181036000830152612fa681612f6a565b9050919050565b7f4d61782073656c6c2066656520756e6465722031302500000000000000000000600082015250565b6000612fe3601683612a85565b9150612fee82612fad565b602082019050919050565b6000602082019050818103600083015261301281612fd6565b9050919050565b7f4d6178206275792066656520756e646572203525000000000000000000000000600082015250565b600061304f601483612a85565b915061305a82613019565b602082019050919050565b6000602082019050818103600083015261307e81613042565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130e1602683612a85565b91506130ec82613085565b604082019050919050565b60006020820190508181036000830152613110816130d4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613173602483612a85565b915061317e82613117565b604082019050919050565b600060208201905081810360008301526131a281613166565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613205602283612a85565b9150613210826131a9565b604082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613297602583612a85565b91506132a28261323b565b604082019050919050565b600060208201905081810360008301526132c68161328a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613329602383612a85565b9150613334826132cd565b604082019050919050565b600060208201905081810360008301526133588161331c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061339982612a46565b91506133a483612a46565b92508282039050818111156133bc576133bb61335f565b5b92915050565b60006133cd82612a46565b91506133d883612a46565b92508282019050808211156133f0576133ef61335f565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061342c601b83612a85565b9150613437826133f6565b602082019050919050565b6000602082019050818103600083015261345b8161341f565b9050919050565b600061346d82612a46565b915061347883612a46565b925082820261348681612a46565b9150828204841483151761349d5761349c61335f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006134de82612a46565b91506134e983612a46565b9250826134f9576134f86134a4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613560602183612a85565b915061356b82613504565b604082019050919050565b6000602082019050818103600083015261358f81613553565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061360381612b63565b92915050565b60006020828403121561361f5761361e612b2c565b5b600061362d848285016135f4565b91505092915050565b6000819050919050565b600061365b61365661365184613636565b612c31565b612a46565b9050919050565b61366b81613640565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136a681612b51565b82525050565b60006136b8838361369d565b60208301905092915050565b6000602082019050919050565b60006136dc82613671565b6136e6818561367c565b93506136f18361368d565b8060005b8381101561372257815161370988826136ac565b9750613714836136c4565b9250506001810190506136f5565b5085935050505092915050565b600060a0820190506137446000830188612a50565b6137516020830187613662565b818103604083015261376381866136d1565b90506137726060830185612cfe565b61377f6080830184612a50565b9695505050505050565b600061379482612c5d565b9050919050565b6137a481613789565b82525050565b600060c0820190506137bf6000830189612cfe565b6137cc6020830188612a50565b6137d96040830187613662565b6137e66060830186613662565b6137f3608083018561379b565b61380060a0830184612a50565b979650505050505050565b60008151905061381a81612b8f565b92915050565b60008060006060848603121561383957613838612b2c565b5b60006138478682870161380b565b93505060206138588682870161380b565b92505060406138698682870161380b565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e609e00955d79876c41ecf8ce6348d20323a201e5c0f449094f19799665b38ba64736f6c63430008120033456c6f6e6d75736b5461796c6f7273776966744861727279706f74746572e2b1af
Deployed Bytecode
0x60806040526004361061024a5760003560e01c806375f0a87411610139578063a457c2d7116100b6578063c86079521161007a578063c8607952146108a9578063da00097d146108d4578063dd62ed3e146108ff578063ef422a181461093c578063f0cd1dac14610965578063f2fde38b1461099057610251565b8063a457c2d7146107b0578063a9059cbb146107ed578063aa35822c1461082a578063c5d2418914610853578063c816841b1461087e57610251565b8063914eb66a116100fd578063914eb66a146106ef57806395d89b4114610706578063a073d37f14610731578063a08e671f1461075c578063a33716571461078757610251565b806375f0a8741461061a5780637f90eaa21461064557806382eefb4314610670578063844d591c1461069b5780638da5cb5b146106c457610251565b8063313ce567116101c75780634a74bb021161018b5780634a74bb021461051f5780635342acb41461054a57806361a23c69146105875780636303516c146105b257806370a08231146105dd57610251565b8063313ce5671461042657806339509351146104515780633b97084a1461048e5780633ecad271146104b757806348cd4cb1146104f457610251565b8063182c425c1161020e578063182c425c1461033f57806323b872dd1461036a57806327c8f835146103a75780632aca3e7d146103d25780632b112e49146103fb57610251565b80630615102d1461025657806306fdde0314610281578063095ea7b3146102ac5780631694505e146102e957806318160ddd1461031457610251565b3661025157005b600080fd5b34801561026257600080fd5b5061026b6109b9565b6040516102789190612a5f565b60405180910390f35b34801561028d57600080fd5b506102966109bf565b6040516102a39190612b0a565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190612bbb565b610a51565b6040516102e09190612c16565b60405180910390f35b3480156102f557600080fd5b506102fe610a6f565b60405161030b9190612c90565b60405180910390f35b34801561032057600080fd5b50610329610a95565b6040516103369190612a5f565b60405180910390f35b34801561034b57600080fd5b50610354610a9f565b6040516103619190612a5f565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190612cab565b610aa5565b60405161039e9190612c16565b60405180910390f35b3480156103b357600080fd5b506103bc610b7f565b6040516103c99190612d0d565b60405180910390f35b3480156103de57600080fd5b506103f960048036038101906103f49190612d28565b610ba5565b005b34801561040757600080fd5b50610410610c69565b60405161041d9190612a5f565b60405180910390f35b34801561043257600080fd5b5061043b610caf565b6040516104489190612d84565b60405180910390f35b34801561045d57600080fd5b5061047860048036038101906104739190612bbb565b610cc6565b6040516104859190612c16565b60405180910390f35b34801561049a57600080fd5b506104b560048036038101906104b09190612d9f565b610d79565b005b3480156104c357600080fd5b506104de60048036038101906104d99190612dcc565b610e18565b6040516104eb9190612c16565b60405180910390f35b34801561050057600080fd5b50610509610e38565b6040516105169190612a5f565b60405180910390f35b34801561052b57600080fd5b50610534610e3e565b6040516105419190612c16565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c9190612dcc565b610e51565b60405161057e9190612c16565b60405180910390f35b34801561059357600080fd5b5061059c610e71565b6040516105a99190612a5f565b60405180910390f35b3480156105be57600080fd5b506105c7610e77565b6040516105d49190612e1a565b60405180910390f35b3480156105e957600080fd5b5061060460048036038101906105ff9190612dcc565b610e9d565b6040516106119190612a5f565b60405180910390f35b34801561062657600080fd5b5061062f610ee6565b60405161063c9190612e1a565b60405180910390f35b34801561065157600080fd5b5061065a610f0c565b6040516106679190612a5f565b60405180910390f35b34801561067c57600080fd5b50610685610f12565b6040516106929190612a5f565b60405180910390f35b3480156106a757600080fd5b506106c260048036038101906106bd9190612e61565b610f18565b005b3480156106d057600080fd5b506106d9611008565b6040516106e69190612d0d565b60405180910390f35b3480156106fb57600080fd5b50610704611031565b005b34801561071257600080fd5b5061071b611184565b6040516107289190612b0a565b60405180910390f35b34801561073d57600080fd5b50610746611216565b6040516107539190612a5f565b60405180910390f35b34801561076857600080fd5b50610771611220565b60405161077e9190612a5f565b60405180910390f35b34801561079357600080fd5b506107ae60048036038101906107a99190612d28565b611226565b005b3480156107bc57600080fd5b506107d760048036038101906107d29190612bbb565b611330565b6040516107e49190612c16565b60405180910390f35b3480156107f957600080fd5b50610814600480360381019061080f9190612bbb565b6113fd565b6040516108219190612c16565b60405180910390f35b34801561083657600080fd5b50610851600480360381019061084c9190612d28565b61141c565b005b34801561085f57600080fd5b50610868611526565b6040516108759190612a5f565b60405180910390f35b34801561088a57600080fd5b5061089361152c565b6040516108a09190612d0d565b60405180910390f35b3480156108b557600080fd5b506108be611552565b6040516108cb9190612a5f565b60405180910390f35b3480156108e057600080fd5b506108e9611558565b6040516108f69190612c16565b60405180910390f35b34801561090b57600080fd5b5061092660048036038101906109219190612ea1565b61156b565b6040516109339190612a5f565b60405180910390f35b34801561094857600080fd5b50610963600480360381019061095e9190612e61565b6115f2565b005b34801561097157600080fd5b5061097a6116e2565b6040516109879190612a5f565b60405180910390f35b34801561099c57600080fd5b506109b760048036038101906109b29190612dcc565b6116e8565b005b600d5481565b6060600180546109ce90612f10565b80601f01602080910402602001604051908101604052809291908181526020018280546109fa90612f10565b8015610a475780601f10610a1c57610100808354040283529160200191610a47565b820191906000526020600020905b815481529060010190602001808311610a2a57829003601f168201915b5050505050905090565b6000610a65610a5e6118a9565b84846118b1565b6001905092915050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601354905090565b600b5481565b6000610ab2848484611a7a565b50610b7484610abf6118a9565b610b6f8560405180606001604052806028815260200161387460289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b256118a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b6118b1565b600190509392505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bad6118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612f8d565b60405180910390fd5b81600e8190555080600f81905550610c5f600f54600e54611f7c90919063ffffffff16565b6012819055505050565b6000610caa610c99600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e9d565b601354611fda90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b6000610d6f610cd36118a9565b84610d6a8560076000610ce46118a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b6118b1565b6001905092915050565b610d816118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0590612f8d565b60405180910390fd5b8060148190555050565b60096020528060005260406000206000915054906101000a900460ff1681565b60155481565b601760159054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b600e5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60115481565b610f206118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490612f8d565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6110396118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd90612f8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60606002805461119390612f10565b80601f01602080910402602001604051908101604052809291908181526020018280546111bf90612f10565b801561120c5780601f106111e15761010080835404028352916020019161120c565b820191906000526020600020905b8154815290600101906020018083116111ef57829003601f168201915b5050505050905090565b6000601454905090565b60125481565b61122e6118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b290612f8d565b60405180910390fd5b81600c8190555080600d819055506112e0600d54600c54611f7c90919063ffffffff16565b601181905550600a601154111561132c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132390612ff9565b60405180910390fd5b5050565b60006113f361133d6118a9565b846113ee8560405180606001604052806025815260200161389c60259139600760006113676118a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b6118b1565b6001905092915050565b600061141161140a6118a9565b8484611a7a565b506001905092915050565b6114246118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890612f8d565b60405180910390fd5b81600a8190555080600b819055506114d6600b54600a54611f7c90919063ffffffff16565b60108190555060056010541115611522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151990613065565b60405180910390fd5b5050565b600a5481565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b601760169054906101000a900460ff1681565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115fa6118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167e90612f8d565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60105481565b6116f06118a9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177490612f8d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e3906130f7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790613189565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361198f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119869061321b565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a6d9190612a5f565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae1906132ad565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b509061333f565b60405180910390fd5b601760149054906101000a900460ff1615611b8057611b79848484612024565b9050611f11565b6000611b8b30610e9d565b905060006014548210159050808015611bb15750601760149054906101000a900460ff16155b8015611c075750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c1f5750601760159054906101000a900460ff165b8015611c5e5750611c2e611008565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611c8857601760169054906101000a900460ff1615611c7e5760145491505b611c87826121f7565b5b611d11846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611df75750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611e0b57611e0687878761236a565b611e0d565b845b9050611e6181600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f019190612a5f565b60405180910390a3600193505050505b9392505050565b6000838311158290611f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f579190612b0a565b60405180910390fd5b5060008385611f6f919061338e565b9050809150509392505050565b6000808284611f8b91906133c2565b905083811015611fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc790613442565b60405180910390fd5b8091505092915050565b600061201c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f18565b905092915050565b60006120af826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f189092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061214482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121e49190612a5f565b60405180910390a3600190509392505050565b6001601760146101000a81548160ff0219169083151502179055506000601254031561234c57600061225b600261224d60125461223f600f548761259190919063ffffffff16565b61260b90919063ffffffff16565b61260b90919063ffffffff16565b905060006122728284611fda90919063ffffffff16565b905061227d81612655565b600047905060006122ad60125461229f600e548561259190919063ffffffff16565b61260b90919063ffffffff16565b905060008111156122e5576122e4600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612898565b5b60004790506000851180156122fa5750600081115b1561230a5761230985826128e3565b5b6000479050600081111561234557612344600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612898565b5b5050505050505b6000601760146101000a81548160ff02191690831515021790555050565b60008060009050600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123f2576123eb60646123dd6010548661259190919063ffffffff16565b61260b90919063ffffffff16565b9050612470565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561246f5761246c606461245e6011548661259190919063ffffffff16565b61260b90919063ffffffff16565b90505b5b6000811115612574576124cb81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f7c90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161256b9190612a5f565b60405180910390a35b6125878184611fda90919063ffffffff16565b9150509392505050565b60008083036125a35760009050612605565b600082846125b19190613462565b90508284826125c091906134d3565b14612600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f790613576565b60405180910390fd5b809150505b92915050565b600061264d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129e3565b905092915050565b6000600267ffffffffffffffff81111561267257612671613596565b5b6040519080825280602002602001820160405280156126a05781602001602082028036833780820191505090505b50905030816000815181106126b8576126b76135c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127839190613609565b81600181518110612797576127966135c5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127fe30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118b1565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161286295949392919061372f565b600060405180830381600087803b15801561287c57600080fd5b505af1158015612890573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156128de573d6000803e3d6000fd5b505050565b61291030601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846118b1565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612999969594939291906137aa565b60606040518083038185885af11580156129b7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906129dc9190613820565b5050505050565b60008083118290612a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a219190612b0a565b60405180910390fd5b5060008385612a3991906134d3565b9050809150509392505050565b6000819050919050565b612a5981612a46565b82525050565b6000602082019050612a746000830184612a50565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ab4578082015181840152602081019050612a99565b60008484015250505050565b6000601f19601f8301169050919050565b6000612adc82612a7a565b612ae68185612a85565b9350612af6818560208601612a96565b612aff81612ac0565b840191505092915050565b60006020820190508181036000830152612b248184612ad1565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b5c82612b31565b9050919050565b612b6c81612b51565b8114612b7757600080fd5b50565b600081359050612b8981612b63565b92915050565b612b9881612a46565b8114612ba357600080fd5b50565b600081359050612bb581612b8f565b92915050565b60008060408385031215612bd257612bd1612b2c565b5b6000612be085828601612b7a565b9250506020612bf185828601612ba6565b9150509250929050565b60008115159050919050565b612c1081612bfb565b82525050565b6000602082019050612c2b6000830184612c07565b92915050565b6000819050919050565b6000612c56612c51612c4c84612b31565b612c31565b612b31565b9050919050565b6000612c6882612c3b565b9050919050565b6000612c7a82612c5d565b9050919050565b612c8a81612c6f565b82525050565b6000602082019050612ca56000830184612c81565b92915050565b600080600060608486031215612cc457612cc3612b2c565b5b6000612cd286828701612b7a565b9350506020612ce386828701612b7a565b9250506040612cf486828701612ba6565b9150509250925092565b612d0781612b51565b82525050565b6000602082019050612d226000830184612cfe565b92915050565b60008060408385031215612d3f57612d3e612b2c565b5b6000612d4d85828601612ba6565b9250506020612d5e85828601612ba6565b9150509250929050565b600060ff82169050919050565b612d7e81612d68565b82525050565b6000602082019050612d996000830184612d75565b92915050565b600060208284031215612db557612db4612b2c565b5b6000612dc384828501612ba6565b91505092915050565b600060208284031215612de257612de1612b2c565b5b6000612df084828501612b7a565b91505092915050565b6000612e0482612b31565b9050919050565b612e1481612df9565b82525050565b6000602082019050612e2f6000830184612e0b565b92915050565b612e3e81612bfb565b8114612e4957600080fd5b50565b600081359050612e5b81612e35565b92915050565b60008060408385031215612e7857612e77612b2c565b5b6000612e8685828601612b7a565b9250506020612e9785828601612e4c565b9150509250929050565b60008060408385031215612eb857612eb7612b2c565b5b6000612ec685828601612b7a565b9250506020612ed785828601612b7a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f2857607f821691505b602082108103612f3b57612f3a612ee1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f77602083612a85565b9150612f8282612f41565b602082019050919050565b60006020820190508181036000830152612fa681612f6a565b9050919050565b7f4d61782073656c6c2066656520756e6465722031302500000000000000000000600082015250565b6000612fe3601683612a85565b9150612fee82612fad565b602082019050919050565b6000602082019050818103600083015261301281612fd6565b9050919050565b7f4d6178206275792066656520756e646572203525000000000000000000000000600082015250565b600061304f601483612a85565b915061305a82613019565b602082019050919050565b6000602082019050818103600083015261307e81613042565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130e1602683612a85565b91506130ec82613085565b604082019050919050565b60006020820190508181036000830152613110816130d4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613173602483612a85565b915061317e82613117565b604082019050919050565b600060208201905081810360008301526131a281613166565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613205602283612a85565b9150613210826131a9565b604082019050919050565b60006020820190508181036000830152613234816131f8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613297602583612a85565b91506132a28261323b565b604082019050919050565b600060208201905081810360008301526132c68161328a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613329602383612a85565b9150613334826132cd565b604082019050919050565b600060208201905081810360008301526133588161331c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061339982612a46565b91506133a483612a46565b92508282039050818111156133bc576133bb61335f565b5b92915050565b60006133cd82612a46565b91506133d883612a46565b92508282019050808211156133f0576133ef61335f565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061342c601b83612a85565b9150613437826133f6565b602082019050919050565b6000602082019050818103600083015261345b8161341f565b9050919050565b600061346d82612a46565b915061347883612a46565b925082820261348681612a46565b9150828204841483151761349d5761349c61335f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006134de82612a46565b91506134e983612a46565b9250826134f9576134f86134a4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613560602183612a85565b915061356b82613504565b604082019050919050565b6000602082019050818103600083015261358f81613553565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061360381612b63565b92915050565b60006020828403121561361f5761361e612b2c565b5b600061362d848285016135f4565b91505092915050565b6000819050919050565b600061365b61365661365184613636565b612c31565b612a46565b9050919050565b61366b81613640565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136a681612b51565b82525050565b60006136b8838361369d565b60208301905092915050565b6000602082019050919050565b60006136dc82613671565b6136e6818561367c565b93506136f18361368d565b8060005b8381101561372257815161370988826136ac565b9750613714836136c4565b9250506001810190506136f5565b5085935050505092915050565b600060a0820190506137446000830188612a50565b6137516020830187613662565b818103604083015261376381866136d1565b90506137726060830185612cfe565b61377f6080830184612a50565b9695505050505050565b600061379482612c5d565b9050919050565b6137a481613789565b82525050565b600060c0820190506137bf6000830189612cfe565b6137cc6020830188612a50565b6137d96040830187613662565b6137e66060830186613662565b6137f3608083018561379b565b61380060a0830184612a50565b979650505050505050565b60008151905061381a81612b8f565b92915050565b60008060006060848603121561383957613838612b2c565b5b60006138478682870161380b565b93505060206138588682870161380b565b92505060406138698682870161380b565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e609e00955d79876c41ecf8ce6348d20323a201e5c0f449094f19799665b38ba64736f6c63430008120033
Deployed Bytecode Sourcemap
14252:11320:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15174:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18122:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19418:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15668:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18399:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15094:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20748:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14730:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17870:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20344:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18308:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18785:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20212:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14998:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15634:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15783:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14941:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15212:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14632:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18507:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14529:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15254:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15360:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20075:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5791:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6016:145;;;;;;;;;;;;;:::i;:::-;;18213:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19290:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15433:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17535:323;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19013:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20573:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17218:309;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15052:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15716:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15131:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15830:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18634:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19932:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15290:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6169:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15174:29;;;;:::o;18122:83::-;18159:13;18192:5;18185:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18122:83;:::o;19418:161::-;19493:4;19510:39;19519:12;:10;:12::i;:::-;19533:7;19542:6;19510:8;:39::i;:::-;19567:4;19560:11;;19418:161;;;;:::o;15668:41::-;;;;;;;;;;;;;:::o;18399:100::-;18452:7;18479:12;;18472:19;;18399:100;:::o;15094:28::-;;;;:::o;20748:313::-;20846:4;20863:36;20873:6;20881:9;20892:6;20863:9;:36::i;:::-;;20910:121;20919:6;20927:12;:10;:12::i;:::-;20941:89;20979:6;20941:89;;;;;;;;;;;;;;;;;:11;:19;20953:6;20941:19;;;;;;;;;;;;;;;:33;20961:12;:10;:12::i;:::-;20941:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;20910:8;:121::i;:::-;21049:4;21042:11;;20748:313;;;;;:::o;14730:71::-;;;;;;;;;;;;;:::o;17870:244::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17988:18:::1;17970:15;:36;;;;18028:11;18017:8;:22;;;;18077:29;18097:8;;18077:15;;:19;;:29;;;;:::i;:::-;18050:24;:56;;;;17870:244:::0;;:::o;20344:128::-;20397:7;20424:40;20441:22;20451:11;;;;;;;;;;;20441:9;:22::i;:::-;20424:12;;:16;;:40;;;;:::i;:::-;20417:47;;20344:128;:::o;18308:83::-;18349:5;18374:9;;;;;;;;;;;18367:16;;18308:83;:::o;18785:220::-;18873:4;18890:83;18899:12;:10;:12::i;:::-;18913:7;18922:50;18961:10;18922:11;:25;18934:12;:10;:12::i;:::-;18922:25;;;;;;;;;;;;;;;:34;18948:7;18922:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;18890:8;:83::i;:::-;18993:4;18986:11;;18785:220;;;;:::o;20212:124::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20320:8:::1;20294:23;:34;;;;20212:124:::0;:::o;14998:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;15634:25::-;;;;:::o;15783:40::-;;;;;;;;;;;;;:::o;14941:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;15212:35::-;;;;:::o;14632:89::-;;;;;;;;;;;;;:::o;18507:119::-;18573:7;18600:9;:18;18610:7;18600:18;;;;;;;;;;;;;;;;18593:25;;18507:119;;;:::o;14529:96::-;;;;;;;;;;;;;:::o;15254:27::-;;;;:::o;15360:66::-;;;;:::o;20075:129::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20188:8:::1;20164:12;:21;20177:7;20164:21;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;20075:129:::0;;:::o;5791:79::-;5829:7;5856:6;;;;;;;;;;;5849:13;;5791:79;:::o;6016:145::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6120:1:::1;6083:40;;6104:6;::::0;::::1;;;;;;;;6083:40;;;;;;;;;;;;6151:1;6134:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6016:145::o:0;18213:87::-;18252:13;18285:7;18278:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18213:87;:::o;19290:120::-;19352:7;19379:23;;19372:30;;19290:120;:::o;15433:44::-;;;;:::o;17535:323::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17659:19:::1;17639:17;:39;;;;17702:12;17689:10;:25;;;;17746:33;17768:10;;17746:17;;:21;;:33;;;;:::i;:::-;17725:18;:54;;;;17820:2;17798:18;;:24;;17790:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;17535:323:::0;;:::o;19013:269::-;19106:4;19123:129;19132:12;:10;:12::i;:::-;19146:7;19155:96;19194:15;19155:96;;;;;;;;;;;;;;;;;:11;:25;19167:12;:10;:12::i;:::-;19155:25;;;;;;;;;;;;;;;:34;19181:7;19155:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;19123:8;:129::i;:::-;19270:4;19263:11;;19013:269;;;;:::o;20573:167::-;20651:4;20668:42;20678:12;:10;:12::i;:::-;20692:9;20703:6;20668:9;:42::i;:::-;;20728:4;20721:11;;20573:167;;;;:::o;17218:309::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17338:18:::1;17319:16;:37;;;;17379:11;17367:9;:23;;;;17421:31;17442:9;;17421:16;;:20;;:31;;;;:::i;:::-;17401:17;:51;;;;17492:1;17471:17;;:22;;17463:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;17218:309:::0;;:::o;15052:35::-;;;;:::o;15716:26::-;;;;;;;;;;;;;:::o;15131:36::-;;;;:::o;15830:45::-;;;;;;;;;;;;;:::o;18634:143::-;18715:7;18742:11;:18;18754:5;18742:18;;;;;;;;;;;;;;;:27;18761:7;18742:27;;;;;;;;;;;;;;;;18735:34;;18634:143;;;;:::o;19932:135::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20051:8:::1;20022:17;:26;20040:7;20022:26;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;19932:135:::0;;:::o;15290:63::-;;;;:::o;6169:244::-;5935:12;:10;:12::i;:::-;5925:22;;:6;;;;;;;;;;:22;;;5917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6278:1:::1;6258:22;;:8;:22;;::::0;6250:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6368:8;6339:38;;6360:6;::::0;::::1;;;;;;;;6339:38;;;;;;;;;;;;6397:8;6388:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6169:244:::0;:::o;162:115::-;215:15;258:10;243:26;;162:115;:::o;19587:337::-;19697:1;19680:19;;:5;:19;;;19672:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19778:1;19759:21;;:7;:21;;;19751:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19862:6;19832:11;:18;19844:5;19832:18;;;;;;;;;;;;;;;:27;19851:7;19832:27;;;;;;;;;;;;;;;:36;;;;19900:7;19884:32;;19893:5;19884:32;;;19909:6;19884:32;;;;;;:::i;:::-;;;;;;;;19587:337;;;:::o;21073:1378::-;21160:4;21205:1;21187:20;;:6;:20;;;21179:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;21289:1;21268:23;;:9;:23;;;21260:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;21345:16;;;;;;;;;;;21342:1102;;;21395:41;21410:6;21418:9;21429:6;21395:14;:41::i;:::-;21388:48;;;;21342:1102;21488:28;21519:24;21537:4;21519:9;:24::i;:::-;21488:55;;21558:28;21613:23;;21589:20;:47;;21558:78;;21669:23;:44;;;;;21697:16;;;;;;;;;;;21696:17;21669:44;:69;;;;;21718:12;:20;21731:6;21718:20;;;;;;;;;;;;;;;;;;;;;;;;;21717:21;21669:69;:94;;;;;21742:21;;;;;;;;;;;21669:94;:116;;;;;21778:7;:5;:7::i;:::-;21767:18;;:9;:18;;;;21669:116;21665:327;;;21823:25;;;;;;;;;;;21820:97;;;21894:23;;21871:46;;21820:97;21936:36;21951:20;21936:14;:36::i;:::-;21665:327;22028:53;22050:6;22028:53;;;;;;;;;;;;;;;;;:9;:17;22038:6;22028:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;22008:9;:17;22018:6;22008:17;;;;;;;;;;;;;;;:73;;;;22098:19;22121:17;:25;22139:6;22121:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;22150:17;:28;22168:9;22150:28;;;;;;;;;;;;;;;;;;;;;;;;;22121:57;22120:147;;22234:33;22242:6;22249:9;22260:6;22234:7;:33::i;:::-;22120:147;;;22225:6;22120:147;22098:169;;22307:37;22332:11;22307:9;:20;22317:9;22307:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;22284:9;:20;22294:9;22284:20;;;;;;;;;;;;;;;:60;;;;22383:9;22366:40;;22375:6;22366:40;;;22394:11;22366:40;;;;;;:::i;:::-;;;;;;;;22428:4;22421:11;;;;;21073:1378;;;;;;:::o;1563:192::-;1649:7;1682:1;1677;:6;;1685:12;1669:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1709:9;1725:1;1721;:5;;;;:::i;:::-;1709:17;;1746:1;1739:8;;;1563:192;;;;;:::o;1230:181::-;1288:7;1308:9;1324:1;1320;:5;;;;:::i;:::-;1308:17;;1349:1;1344;:6;;1336:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1402:1;1395:8;;;1230:181;;;;:::o;1419:136::-;1477:7;1504:43;1508:1;1511;1504:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1497:50;;1419:136;;;;:::o;22459:330::-;22552:4;22589:53;22611:6;22589:53;;;;;;;;;;;;;;;;;:9;:17;22599:6;22589:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;22569:9;:17;22579:6;22569:17;;;;;;;;;;;;;;;:73;;;;22676:32;22701:6;22676:9;:20;22686:9;22676:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;22653:9;:20;22663:9;22653:20;;;;;;;;;;;;;;;:55;;;;22741:9;22724:35;;22733:6;22724:35;;;22752:6;22724:35;;;;;;:::i;:::-;;;;;;;;22777:4;22770:11;;22459:330;;;;;:::o;22795:892::-;16317:4;16298:16;;:23;;;;;;;;;;;;;;;;;;22896:1:::1;22870:24;;:27:::0;22867:52;22912:7:::1;22867:52;22931:16;22951:58;23007:1;22951:51;22977:24;;22951:21;22963:8;;22951:7;:11;;:21;;;;:::i;:::-;:25;;:51;;;;:::i;:::-;:55;;:58;;;;:::i;:::-;22931:78;;23020:20;23043:21;23055:8;23043:7;:11;;:21;;;;:::i;:::-;23020:44;;23077:30;23094:12;23077:16;:30::i;:::-;23118:18;23139:21;23118:42;;23181:29;23213:61;23249:24;;23213:31;23228:15;;23213:10;:14;;:31;;;;:::i;:::-;:35;;:61;;;;:::i;:::-;23181:93;;23312:1;23288:21;:25;23285:102;;;23328:59;23349:15;;;;;;;;;;;23365:21;23328:20;:59::i;:::-;23285:102;23408:19;23430:21;23408:43;;23476:1;23465:8;:12;:29;;;;;23493:1;23481:11;:13;23465:29;23462:82;;;23509:35;23522:8;23532:11;23509:12;:35::i;:::-;23462:82;23557:15;23575:21;23557:39;;23618:1;23610:7;:9;23607:72;;;23634:45;23655:15;;;;;;;;;;;23671:7;23634:20;:45::i;:::-;23607:72;22856:831;;;;;;16332:1;16363:5:::0;16344:16;;:24;;;;;;;;;;;;;;;;;;22795:892;:::o;24950:613::-;25034:7;25054:17;25074:1;25054:21;;25102:12;:20;25115:6;25102:20;;;;;;;;;;;;;;;;;;;;;;;;;25099:223;;;25151:38;25185:3;25151:29;25162:17;;25151:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;25139:50;;25099:223;;;25219:12;:23;25232:9;25219:23;;;;;;;;;;;;;;;;;;;;;;;;;25216:106;;;25271:39;25306:3;25271:30;25282:18;;25271:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;25259:51;;25216:106;25099:223;25357:1;25345:9;:13;25342:173;;;25402:39;25431:9;25402;:24;25420:4;25402:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;25375:9;:24;25393:4;25375:24;;;;;;;;;;;;;;;:66;;;;25486:4;25461:42;;25470:6;25461:42;;;25493:9;25461:42;;;;;;:::i;:::-;;;;;;;;25342:173;25534:21;25545:9;25534:6;:10;;:21;;;;:::i;:::-;25527:28;;;24950:613;;;;;:::o;1763:250::-;1821:7;1850:1;1845;:6;1841:47;;1875:1;1868:8;;;;1841:47;1900:9;1916:1;1912;:5;;;;:::i;:::-;1900:17;;1945:1;1940;1936;:5;;;;:::i;:::-;:10;1928:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2004:1;1997:8;;;1763:250;;;;;:::o;2021:132::-;2079:7;2106:39;2110:1;2113;2106:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2099:46;;2021:132;;;;:::o;24353:589::-;24479:21;24517:1;24503:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24479:40;;24548:4;24530;24535:1;24530:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;24574:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24564:4;24569:1;24564:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;24609:62;24626:4;24641:15;;;;;;;;;;;24659:11;24609:8;:62::i;:::-;24710:15;;;;;;;;;;;:66;;;24791:11;24817:1;24861:4;24888;24908:15;24710:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24408:534;24353:589;:::o;24219:126::-;24311:9;:18;;:26;24330:6;24311:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24219:126;;:::o;23695:516::-;23845:62;23862:4;23877:15;;;;;;;;;;;23895:11;23845:8;:62::i;:::-;23950:15;;;;;;;;;;;:31;;;23989:9;24022:4;24042:11;24068:1;24111;24154:8;;;;;;;;;;;24177:15;23950:253;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23695:516;;:::o;2161:278::-;2247:7;2279:1;2275;:5;2282:12;2267:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2306:9;2322:1;2318;:5;;;;:::i;:::-;2306:17;;2430:1;2423:8;;;2161:278;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:60::-;3826:3;3847:5;3840:12;;3798:60;;;:::o;3864:142::-;3914:9;3947:53;3965:34;3974:24;3992:5;3974:24;:::i;:::-;3965:34;:::i;:::-;3947:53;:::i;:::-;3934:66;;3864:142;;;:::o;4012:126::-;4062:9;4095:37;4126:5;4095:37;:::i;:::-;4082:50;;4012:126;;;:::o;4144:153::-;4221:9;4254:37;4285:5;4254:37;:::i;:::-;4241:50;;4144:153;;;:::o;4303:185::-;4417:64;4475:5;4417:64;:::i;:::-;4412:3;4405:77;4303:185;;:::o;4494:276::-;4614:4;4652:2;4641:9;4637:18;4629:26;;4665:98;4760:1;4749:9;4745:17;4736:6;4665:98;:::i;:::-;4494:276;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:118::-;5488:24;5506:5;5488:24;:::i;:::-;5483:3;5476:37;5401:118;;:::o;5525:222::-;5618:4;5656:2;5645:9;5641:18;5633:26;;5669:71;5737:1;5726:9;5722:17;5713:6;5669:71;:::i;:::-;5525:222;;;;:::o;5753:474::-;5821:6;5829;5878:2;5866:9;5857:7;5853:23;5849:32;5846:119;;;5884:79;;:::i;:::-;5846:119;6004:1;6029:53;6074:7;6065:6;6054:9;6050:22;6029:53;:::i;:::-;6019:63;;5975:117;6131:2;6157:53;6202:7;6193:6;6182:9;6178:22;6157:53;:::i;:::-;6147:63;;6102:118;5753:474;;;;;:::o;6233:86::-;6268:7;6308:4;6301:5;6297:16;6286:27;;6233:86;;;:::o;6325:112::-;6408:22;6424:5;6408:22;:::i;:::-;6403:3;6396:35;6325:112;;:::o;6443:214::-;6532:4;6570:2;6559:9;6555:18;6547:26;;6583:67;6647:1;6636:9;6632:17;6623:6;6583:67;:::i;:::-;6443:214;;;;:::o;6663:329::-;6722:6;6771:2;6759:9;6750:7;6746:23;6742:32;6739:119;;;6777:79;;:::i;:::-;6739:119;6897:1;6922:53;6967:7;6958:6;6947:9;6943:22;6922:53;:::i;:::-;6912:63;;6868:117;6663:329;;;;:::o;6998:::-;7057:6;7106:2;7094:9;7085:7;7081:23;7077:32;7074:119;;;7112:79;;:::i;:::-;7074:119;7232:1;7257:53;7302:7;7293:6;7282:9;7278:22;7257:53;:::i;:::-;7247:63;;7203:117;6998:329;;;;:::o;7333:104::-;7378:7;7407:24;7425:5;7407:24;:::i;:::-;7396:35;;7333:104;;;:::o;7443:142::-;7546:32;7572:5;7546:32;:::i;:::-;7541:3;7534:45;7443:142;;:::o;7591:254::-;7700:4;7738:2;7727:9;7723:18;7715:26;;7751:87;7835:1;7824:9;7820:17;7811:6;7751:87;:::i;:::-;7591:254;;;;:::o;7851:116::-;7921:21;7936:5;7921:21;:::i;:::-;7914:5;7911:32;7901:60;;7957:1;7954;7947:12;7901:60;7851:116;:::o;7973:133::-;8016:5;8054:6;8041:20;8032:29;;8070:30;8094:5;8070:30;:::i;:::-;7973:133;;;;:::o;8112:468::-;8177:6;8185;8234:2;8222:9;8213:7;8209:23;8205:32;8202:119;;;8240:79;;:::i;:::-;8202:119;8360:1;8385:53;8430:7;8421:6;8410:9;8406:22;8385:53;:::i;:::-;8375:63;;8331:117;8487:2;8513:50;8555:7;8546:6;8535:9;8531:22;8513:50;:::i;:::-;8503:60;;8458:115;8112:468;;;;;:::o;8586:474::-;8654:6;8662;8711:2;8699:9;8690:7;8686:23;8682:32;8679:119;;;8717:79;;:::i;:::-;8679:119;8837:1;8862:53;8907:7;8898:6;8887:9;8883:22;8862:53;:::i;:::-;8852:63;;8808:117;8964:2;8990:53;9035:7;9026:6;9015:9;9011:22;8990:53;:::i;:::-;8980:63;;8935:118;8586:474;;;;;:::o;9066:180::-;9114:77;9111:1;9104:88;9211:4;9208:1;9201:15;9235:4;9232:1;9225:15;9252:320;9296:6;9333:1;9327:4;9323:12;9313:22;;9380:1;9374:4;9370:12;9401:18;9391:81;;9457:4;9449:6;9445:17;9435:27;;9391:81;9519:2;9511:6;9508:14;9488:18;9485:38;9482:84;;9538:18;;:::i;:::-;9482:84;9303:269;9252:320;;;:::o;9578:182::-;9718:34;9714:1;9706:6;9702:14;9695:58;9578:182;:::o;9766:366::-;9908:3;9929:67;9993:2;9988:3;9929:67;:::i;:::-;9922:74;;10005:93;10094:3;10005:93;:::i;:::-;10123:2;10118:3;10114:12;10107:19;;9766:366;;;:::o;10138:419::-;10304:4;10342:2;10331:9;10327:18;10319:26;;10391:9;10385:4;10381:20;10377:1;10366:9;10362:17;10355:47;10419:131;10545:4;10419:131;:::i;:::-;10411:139;;10138:419;;;:::o;10563:172::-;10703:24;10699:1;10691:6;10687:14;10680:48;10563:172;:::o;10741:366::-;10883:3;10904:67;10968:2;10963:3;10904:67;:::i;:::-;10897:74;;10980:93;11069:3;10980:93;:::i;:::-;11098:2;11093:3;11089:12;11082:19;;10741:366;;;:::o;11113:419::-;11279:4;11317:2;11306:9;11302:18;11294:26;;11366:9;11360:4;11356:20;11352:1;11341:9;11337:17;11330:47;11394:131;11520:4;11394:131;:::i;:::-;11386:139;;11113:419;;;:::o;11538:170::-;11678:22;11674:1;11666:6;11662:14;11655:46;11538:170;:::o;11714:366::-;11856:3;11877:67;11941:2;11936:3;11877:67;:::i;:::-;11870:74;;11953:93;12042:3;11953:93;:::i;:::-;12071:2;12066:3;12062:12;12055:19;;11714:366;;;:::o;12086:419::-;12252:4;12290:2;12279:9;12275:18;12267:26;;12339:9;12333:4;12329:20;12325:1;12314:9;12310:17;12303:47;12367:131;12493:4;12367:131;:::i;:::-;12359:139;;12086:419;;;:::o;12511:225::-;12651:34;12647:1;12639:6;12635:14;12628:58;12720:8;12715:2;12707:6;12703:15;12696:33;12511:225;:::o;12742:366::-;12884:3;12905:67;12969:2;12964:3;12905:67;:::i;:::-;12898:74;;12981:93;13070:3;12981:93;:::i;:::-;13099:2;13094:3;13090:12;13083:19;;12742:366;;;:::o;13114:419::-;13280:4;13318:2;13307:9;13303:18;13295:26;;13367:9;13361:4;13357:20;13353:1;13342:9;13338:17;13331:47;13395:131;13521:4;13395:131;:::i;:::-;13387:139;;13114:419;;;:::o;13539:223::-;13679:34;13675:1;13667:6;13663:14;13656:58;13748:6;13743:2;13735:6;13731:15;13724:31;13539:223;:::o;13768:366::-;13910:3;13931:67;13995:2;13990:3;13931:67;:::i;:::-;13924:74;;14007:93;14096:3;14007:93;:::i;:::-;14125:2;14120:3;14116:12;14109:19;;13768:366;;;:::o;14140:419::-;14306:4;14344:2;14333:9;14329:18;14321:26;;14393:9;14387:4;14383:20;14379:1;14368:9;14364:17;14357:47;14421:131;14547:4;14421:131;:::i;:::-;14413:139;;14140:419;;;:::o;14565:221::-;14705:34;14701:1;14693:6;14689:14;14682:58;14774:4;14769:2;14761:6;14757:15;14750:29;14565:221;:::o;14792:366::-;14934:3;14955:67;15019:2;15014:3;14955:67;:::i;:::-;14948:74;;15031:93;15120:3;15031:93;:::i;:::-;15149:2;15144:3;15140:12;15133:19;;14792:366;;;:::o;15164:419::-;15330:4;15368:2;15357:9;15353:18;15345:26;;15417:9;15411:4;15407:20;15403:1;15392:9;15388:17;15381:47;15445:131;15571:4;15445:131;:::i;:::-;15437:139;;15164:419;;;:::o;15589:224::-;15729:34;15725:1;15717:6;15713:14;15706:58;15798:7;15793:2;15785:6;15781:15;15774:32;15589:224;:::o;15819:366::-;15961:3;15982:67;16046:2;16041:3;15982:67;:::i;:::-;15975:74;;16058:93;16147:3;16058:93;:::i;:::-;16176:2;16171:3;16167:12;16160:19;;15819:366;;;:::o;16191:419::-;16357:4;16395:2;16384:9;16380:18;16372:26;;16444:9;16438:4;16434:20;16430:1;16419:9;16415:17;16408:47;16472:131;16598:4;16472:131;:::i;:::-;16464:139;;16191:419;;;:::o;16616:222::-;16756:34;16752:1;16744:6;16740:14;16733:58;16825:5;16820:2;16812:6;16808:15;16801:30;16616:222;:::o;16844:366::-;16986:3;17007:67;17071:2;17066:3;17007:67;:::i;:::-;17000:74;;17083:93;17172:3;17083:93;:::i;:::-;17201:2;17196:3;17192:12;17185:19;;16844:366;;;:::o;17216:419::-;17382:4;17420:2;17409:9;17405:18;17397:26;;17469:9;17463:4;17459:20;17455:1;17444:9;17440:17;17433:47;17497:131;17623:4;17497:131;:::i;:::-;17489:139;;17216:419;;;:::o;17641:180::-;17689:77;17686:1;17679:88;17786:4;17783:1;17776:15;17810:4;17807:1;17800:15;17827:194;17867:4;17887:20;17905:1;17887:20;:::i;:::-;17882:25;;17921:20;17939:1;17921:20;:::i;:::-;17916:25;;17965:1;17962;17958:9;17950:17;;17989:1;17983:4;17980:11;17977:37;;;17994:18;;:::i;:::-;17977:37;17827:194;;;;:::o;18027:191::-;18067:3;18086:20;18104:1;18086:20;:::i;:::-;18081:25;;18120:20;18138:1;18120:20;:::i;:::-;18115:25;;18163:1;18160;18156:9;18149:16;;18184:3;18181:1;18178:10;18175:36;;;18191:18;;:::i;:::-;18175:36;18027:191;;;;:::o;18224:177::-;18364:29;18360:1;18352:6;18348:14;18341:53;18224:177;:::o;18407:366::-;18549:3;18570:67;18634:2;18629:3;18570:67;:::i;:::-;18563:74;;18646:93;18735:3;18646:93;:::i;:::-;18764:2;18759:3;18755:12;18748:19;;18407:366;;;:::o;18779:419::-;18945:4;18983:2;18972:9;18968:18;18960:26;;19032:9;19026:4;19022:20;19018:1;19007:9;19003:17;18996:47;19060:131;19186:4;19060:131;:::i;:::-;19052:139;;18779:419;;;:::o;19204:410::-;19244:7;19267:20;19285:1;19267:20;:::i;:::-;19262:25;;19301:20;19319:1;19301:20;:::i;:::-;19296:25;;19356:1;19353;19349:9;19378:30;19396:11;19378:30;:::i;:::-;19367:41;;19557:1;19548:7;19544:15;19541:1;19538:22;19518:1;19511:9;19491:83;19468:139;;19587:18;;:::i;:::-;19468:139;19252:362;19204:410;;;;:::o;19620:180::-;19668:77;19665:1;19658:88;19765:4;19762:1;19755:15;19789:4;19786:1;19779:15;19806:185;19846:1;19863:20;19881:1;19863:20;:::i;:::-;19858:25;;19897:20;19915:1;19897:20;:::i;:::-;19892:25;;19936:1;19926:35;;19941:18;;:::i;:::-;19926:35;19983:1;19980;19976:9;19971:14;;19806:185;;;;:::o;19997:220::-;20137:34;20133:1;20125:6;20121:14;20114:58;20206:3;20201:2;20193:6;20189:15;20182:28;19997:220;:::o;20223:366::-;20365:3;20386:67;20450:2;20445:3;20386:67;:::i;:::-;20379:74;;20462:93;20551:3;20462:93;:::i;:::-;20580:2;20575:3;20571:12;20564:19;;20223:366;;;:::o;20595:419::-;20761:4;20799:2;20788:9;20784:18;20776:26;;20848:9;20842:4;20838:20;20834:1;20823:9;20819:17;20812:47;20876:131;21002:4;20876:131;:::i;:::-;20868:139;;20595:419;;;:::o;21020:180::-;21068:77;21065:1;21058:88;21165:4;21162:1;21155:15;21189:4;21186:1;21179:15;21206:180;21254:77;21251:1;21244:88;21351:4;21348:1;21341:15;21375:4;21372:1;21365:15;21392:143;21449:5;21480:6;21474:13;21465:22;;21496:33;21523:5;21496:33;:::i;:::-;21392:143;;;;:::o;21541:351::-;21611:6;21660:2;21648:9;21639:7;21635:23;21631:32;21628:119;;;21666:79;;:::i;:::-;21628:119;21786:1;21811:64;21867:7;21858:6;21847:9;21843:22;21811:64;:::i;:::-;21801:74;;21757:128;21541:351;;;;:::o;21898:85::-;21943:7;21972:5;21961:16;;21898:85;;;:::o;21989:158::-;22047:9;22080:61;22098:42;22107:32;22133:5;22107:32;:::i;:::-;22098:42;:::i;:::-;22080:61;:::i;:::-;22067:74;;21989:158;;;:::o;22153:147::-;22248:45;22287:5;22248:45;:::i;:::-;22243:3;22236:58;22153:147;;:::o;22306:114::-;22373:6;22407:5;22401:12;22391:22;;22306:114;;;:::o;22426:184::-;22525:11;22559:6;22554:3;22547:19;22599:4;22594:3;22590:14;22575:29;;22426:184;;;;:::o;22616:132::-;22683:4;22706:3;22698:11;;22736:4;22731:3;22727:14;22719:22;;22616:132;;;:::o;22754:108::-;22831:24;22849:5;22831:24;:::i;:::-;22826:3;22819:37;22754:108;;:::o;22868:179::-;22937:10;22958:46;23000:3;22992:6;22958:46;:::i;:::-;23036:4;23031:3;23027:14;23013:28;;22868:179;;;;:::o;23053:113::-;23123:4;23155;23150:3;23146:14;23138:22;;23053:113;;;:::o;23202:732::-;23321:3;23350:54;23398:5;23350:54;:::i;:::-;23420:86;23499:6;23494:3;23420:86;:::i;:::-;23413:93;;23530:56;23580:5;23530:56;:::i;:::-;23609:7;23640:1;23625:284;23650:6;23647:1;23644:13;23625:284;;;23726:6;23720:13;23753:63;23812:3;23797:13;23753:63;:::i;:::-;23746:70;;23839:60;23892:6;23839:60;:::i;:::-;23829:70;;23685:224;23672:1;23669;23665:9;23660:14;;23625:284;;;23629:14;23925:3;23918:10;;23326:608;;;23202:732;;;;:::o;23940:831::-;24203:4;24241:3;24230:9;24226:19;24218:27;;24255:71;24323:1;24312:9;24308:17;24299:6;24255:71;:::i;:::-;24336:80;24412:2;24401:9;24397:18;24388:6;24336:80;:::i;:::-;24463:9;24457:4;24453:20;24448:2;24437:9;24433:18;24426:48;24491:108;24594:4;24585:6;24491:108;:::i;:::-;24483:116;;24609:72;24677:2;24666:9;24662:18;24653:6;24609:72;:::i;:::-;24691:73;24759:3;24748:9;24744:19;24735:6;24691:73;:::i;:::-;23940:831;;;;;;;;:::o;24777:134::-;24835:9;24868:37;24899:5;24868:37;:::i;:::-;24855:50;;24777:134;;;:::o;24917:147::-;25012:45;25051:5;25012:45;:::i;:::-;25007:3;25000:58;24917:147;;:::o;25070:823::-;25327:4;25365:3;25354:9;25350:19;25342:27;;25379:71;25447:1;25436:9;25432:17;25423:6;25379:71;:::i;:::-;25460:72;25528:2;25517:9;25513:18;25504:6;25460:72;:::i;:::-;25542:80;25618:2;25607:9;25603:18;25594:6;25542:80;:::i;:::-;25632;25708:2;25697:9;25693:18;25684:6;25632:80;:::i;:::-;25722:81;25798:3;25787:9;25783:19;25774:6;25722:81;:::i;:::-;25813:73;25881:3;25870:9;25866:19;25857:6;25813:73;:::i;:::-;25070:823;;;;;;;;;:::o;25899:143::-;25956:5;25987:6;25981:13;25972:22;;26003:33;26030:5;26003:33;:::i;:::-;25899:143;;;;:::o;26048:663::-;26136:6;26144;26152;26201:2;26189:9;26180:7;26176:23;26172:32;26169:119;;;26207:79;;:::i;:::-;26169:119;26327:1;26352:64;26408:7;26399:6;26388:9;26384:22;26352:64;:::i;:::-;26342:74;;26298:128;26465:2;26491:64;26547:7;26538:6;26527:9;26523:22;26491:64;:::i;:::-;26481:74;;26436:129;26604:2;26630:64;26686:7;26677:6;26666:9;26662:22;26630:64;:::i;:::-;26620:74;;26575:129;26048:663;;;;;:::o
Swarm Source
ipfs://e609e00955d79876c41ecf8ce6348d20323a201e5c0f449094f19799665b38ba
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.