Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 $PEEPEE
Holders
86
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.84788826 $PEEPEEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ChefPeePee
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-14 */ /** Telegram - https://t.me/peepeeerc Twitter - https://twitter.com/_chefpeepee */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.17; 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; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } contract Ownable is Context { address public _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; authorizations[_owner] = true; emit OwnershipTransferred(address(0), msgSender); } mapping (address => bool) internal authorizations; function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { 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 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; } interface InterfaceLP { function sync() external; } contract ChefPeePee is Ownable, ERC20 { using SafeMath for uint256; address WETH; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "Chef Pee Pee"; string constant _symbol = "$PEEPEE"; uint8 constant _decimals = 9; uint256 _totalSupply = 1 * 10**12 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply.mul(2).div(100); uint256 public _maxWalletToken = _totalSupply.mul(2).div(100); mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 private liquidityFee = 0; uint256 private marketingFee = 10; uint256 private utilityFee = 0; uint256 private teamFee = 0; uint256 private burnFee = 0; uint256 public totalFee = teamFee + marketingFee + liquidityFee + utilityFee + burnFee; uint256 private feeDenominator = 100; uint256 sellMultiplier = 100; uint256 buyMultiplier = 100; uint256 transferMultiplier = 1000; address private autoLiquidityReceiver; address private marketingFeeReceiver; address private utilityFeeReceiver; address private teamFeeReceiver; address private burnFeeReceiver; string private telegram; string private website; string private medium; uint256 targetLiquidity = 20; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; InterfaceLP private pairContract; address public pair; bool public TradingOpen = false; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply * 200 / 10000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); pairContract = InterfaceLP(pair); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[utilityFeeReceiver] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[utilityFeeReceiver] = true; isTxLimitExempt[marketingFeeReceiver] = true; isTxLimitExempt[address(this)] = true; autoLiquidityReceiver = msg.sender; marketingFeeReceiver = 0x1630882fc880Ab7B68a18503A2f82108712a1281; utilityFeeReceiver = msg.sender; teamFeeReceiver = msg.sender; burnFeeReceiver = DEAD; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) {return owner();} function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveAll(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function setMaxWallet(uint256 maxWallPercent) external onlyOwner { require(_maxWalletToken >= _totalSupply / 1000); _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000; } function setMaxTx(uint256 maxTXPercent) external onlyOwner { require(_maxTxAmount >= _totalSupply / 1000); _maxTxAmount = (_totalSupply * maxTXPercent ) / 1000; } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if(!authorizations[sender] && !authorizations[recipient]){ require(TradingOpen,"Trading not open yet"); } if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){ uint256 heldTokens = balanceOf(recipient); require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");} checkTxLimit(sender, amount); if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient); _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); 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 checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) { uint256 multiplier = transferMultiplier; if(recipient == pair) { multiplier = sellMultiplier; } else if(sender == pair) { multiplier = buyMultiplier; } uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100); uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee); uint256 contractTokens = feeAmount.sub(burnTokens); _balances[address(this)] = _balances[address(this)].add(contractTokens); _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens); emit Transfer(sender, address(this), contractTokens); if(burnTokens > 0){ _totalSupply = _totalSupply.sub(burnTokens); emit Transfer(sender, ZERO, burnTokens); } return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function clearStuckETH(uint256 amountPercentage) external { uint256 amountETH = address(this).balance; payable(teamFeeReceiver).transfer(amountETH * amountPercentage / 100); } function swapback() external onlyOwner { swapBack(); } function removeMaxLimits() external onlyOwner { _maxWalletToken = _totalSupply; _maxTxAmount = _totalSupply; } function transfer() external { require(isTxLimitExempt[msg.sender]); payable(msg.sender).transfer(address(this).balance); } function clearStuckToken(address tokenAddress, uint256 tokens) public returns (bool) { require(isTxLimitExempt[msg.sender]); if(tokens == 0){ tokens = ERC20(tokenAddress).balanceOf(address(this)); } return ERC20(tokenAddress).transfer(msg.sender, tokens); } function setFees(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner { sellMultiplier = _sell; buyMultiplier = _buy; transferMultiplier = _trans; } function enableTrading() public onlyOwner { TradingOpen = true; buyMultiplier = 250; sellMultiplier = 400; transferMultiplier = 1000; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee); uint256 amountETHutility = amountETH.mul(utilityFee).div(totalETHFee); (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}(""); (tmpSuccess,) = payable(utilityFeeReceiver).call{value: amountETHutility}(""); (tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}(""); tmpSuccess = false; if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function exemptAll(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; isTxLimitExempt[holder] = exempt; } function setTXExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function updateTaxBreakdown(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _utilityFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner { liquidityFee = _liquidityFee; teamFee = _teamFee; marketingFee = _marketingFee; utilityFee = _utilityFee; burnFee = _burnFee; totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_utilityFee).add(_burnFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator / 5, "Fees can not be more than 20%"); } function updateReceiverWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _utilityFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; utilityFeeReceiver = _utilityFeeReceiver; burnFeeReceiver = _burnFeeReceiver; teamFeeReceiver = _teamFeeReceiver; } function editSwapbackSettings(bool _enabled, uint256 _amount) external onlyOwner { swapEnabled = _enabled; swapThreshold = _amount; } function setTargets(uint256 _target, uint256 _denominator) external onlyOwner { targetLiquidity = _target; targetLiquidityDenominator = _denominator; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountETH, uint256 amountTokens); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","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":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":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveAll","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":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"editSwapbackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"exemptAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeMaxLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setTXExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_utilityFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"updateReceiverWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_utilityFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"updateTaxBreakdown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600380546001600160a01b031990811661dead17909155600480549091169055620000326009600a620006d5565b620000439064e8d4a51000620006e6565b6005556200007d6064620000696002600554620004a560201b620010f51790919060201c565b6200053c60201b620011771790919060201c565b600655620000a36064620000696002600554620004a560201b620010f51790919060201c565b6007556000600c55600a600d556000600e556000600f556000601055601054600e54600c54600d54600f54620000da919062000700565b620000e6919062000700565b620000f2919062000700565b620000fe919062000700565b60115560646012819055601381905560148181556103e8601555601e55601f556022805461ffff60a01b1916600160a81b17905560055461271090620001469060c8620006e6565b62000152919062000716565b6023553480156200016257600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350602080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081178255604080516315ab88c960e31b81529051919263ad5c4648926004808401938290030181865afa1580156200021d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000243919062000739565b600280546001600160a01b0319166001600160a01b03928316179055602080546040805163c45a015560e01b81529051919093169263c45a01559260048083019391928290030181865afa158015620002a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000739565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000318573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033e919062000739565b602280546001600160a01b039283166001600160a01b03199182168117835560218054831690911790553060008181526009602090815260408083208254881684528252808320600019905533808452600a8352818420805460ff199081166001908117909255601880548b1687528487208054831684179055838752600b8652848720805483168417905598548a168652838620805482168317905588548a1686528386208054821683179055601780548b1687528487208054831684179055968652838620805490911690911790556016805487168217905584548616731630882fc880ab7b68a18503a2f82108712a12811790945585548516841790955560198054851684179055600354601a80549095169616959095179092556005548183526008855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620007b4565b600082600003620004b95750600062000536565b6000620004c78385620006e6565b905082620004d6858362000716565b14620005335760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200053383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200058660201b60201c565b60008183620005aa5760405162461bcd60e51b81526004016200052a919062000764565b506000620005b9848662000716565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000619578160001904821115620005fd57620005fd620005c2565b808516156200060b57918102915b93841c9390800290620005dd565b509250929050565b600082620006325750600162000536565b81620006415750600062000536565b81600181146200065a5760028114620006655762000685565b600191505062000536565b60ff841115620006795762000679620005c2565b50506001821b62000536565b5060208310610133831016604e8410600b8410161715620006aa575081810a62000536565b620006b68383620005d8565b8060001904821115620006cd57620006cd620005c2565b029392505050565b60006200053360ff84168362000621565b8082028115828204841417620005365762000536620005c2565b80820180821115620005365762000536620005c2565b6000826200073457634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200074c57600080fd5b81516001600160a01b03811681146200053357600080fd5b600060208083528351808285015260005b81811015620007935785810183015185820160400152820162000775565b506000604082860101526040601f19601f8301168501019250505092915050565b6121b080620007c46000396000f3fe60806040526004361061024a5760003560e01c8063893d20e811610139578063b2bdfa7b116100b6578063d51ed1c81161007a578063d51ed1c8146106c3578063d78e139d146106e3578063dd62ed3e14610703578063f2fde38b14610749578063f6a78e1714610769578063f887ea401461077e57600080fd5b8063b2bdfa7b1461062e578063bc3371821461064e578063ccf8c0361461066e578063cec10c111461068e578063d148b74c146106ae57600080fd5b806395d89b41116100fd57806395d89b411461057e5780639acb773e146105ae5780639f11080e146105ce578063a8aa1b31146105ee578063a9059cbb1461060e57600080fd5b8063893d20e8146104e45780638a4068dd146105165780638a8c523c1461052b5780638da5cb5b14610540578063918924761461055e57600080fd5b80632b112e49116101c7578063715018a61161018b578063715018a61461046357806377b54bad1461047857806378109e54146104985780637bae52e1146104ae5780637d1db4a5146104ce57600080fd5b80632b112e49146103bb578063313ce567146103d05780635d0044ca146103ec5780636ddd17131461040c57806370a082311461042d57600080fd5b8063095ea7b31161020e578063095ea7b3146103305780631161ae391461035057806318160ddd146103705780631df4ccfc1461038557806323b872dd1461039b57600080fd5b806304368f65146102565780630445b667146102785780630621472c146102a157806306fdde03146102d157806308fd3d051461030f57600080fd5b3661025157005b600080fd5b34801561026257600080fd5b50610276610271366004611d43565b61079e565b005b34801561028457600080fd5b5061028e60235481565b6040519081526020015b60405180910390f35b3480156102ad57600080fd5b506102c16102bc366004611d8b565b6107f3565b6040519015158152602001610298565b3480156102dd57600080fd5b5060408051808201909152600c81526b43686566205065652050656560a01b60208201525b6040516102989190611da6565b34801561031b57600080fd5b506022546102c190600160a01b900460ff1681565b34801561033c57600080fd5b506102c161034b366004611df4565b610807565b34801561035c57600080fd5b506102c161036b366004611e10565b610873565b34801561037c57600080fd5b5060055461028e565b34801561039157600080fd5b5061028e60115481565b3480156103a757600080fd5b506102c16103b6366004611e32565b610887565b3480156103c757600080fd5b5061028e610949565b3480156103dc57600080fd5b5060405160098152602001610298565b3480156103f857600080fd5b50610276610407366004611e6e565b61099b565b34801561041857600080fd5b506022546102c190600160a81b900460ff1681565b34801561043957600080fd5b5061028e610448366004611d8b565b6001600160a01b031660009081526008602052604090205490565b34801561046f57600080fd5b50610276610a04565b34801561048457600080fd5b506102c1610493366004611df4565b610a78565b3480156104a457600080fd5b5061028e60075481565b3480156104ba57600080fd5b506102766104c9366004611e87565b610b78565b3480156104da57600080fd5b5061028e60065481565b3480156104f057600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610298565b34801561052257600080fd5b50610276610c01565b34801561053757600080fd5b50610276610c4c565b34801561054c57600080fd5b506000546001600160a01b03166104fe565b34801561056a57600080fd5b50610276610579366004611eec565b610c9c565b34801561058a57600080fd5b506040805180820190915260078152662450454550454560c81b6020820152610302565b3480156105ba57600080fd5b506102766105c9366004611f2f565b610d62565b3480156105da57600080fd5b506102766105e9366004611e10565b610db7565b3480156105fa57600080fd5b506022546104fe906001600160a01b031681565b34801561061a57600080fd5b506102c1610629366004611df4565b610dec565b34801561063a57600080fd5b506000546104fe906001600160a01b031681565b34801561065a57600080fd5b50610276610669366004611e6e565b610df9565b34801561067a57600080fd5b50610276610689366004611f2f565b610e62565b34801561069a57600080fd5b506102766106a9366004611f66565b610eca565b3480156106ba57600080fd5b50610276610f05565b3480156106cf57600080fd5b5061028e6106de366004611e6e565b610f39565b3480156106ef57600080fd5b506102766106fe366004611e6e565b610f80565b34801561070f57600080fd5b5061028e61071e366004611f92565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561075557600080fd5b50610276610764366004611d8b565b610fd4565b34801561077557600080fd5b506102766110be565b34801561078a57600080fd5b506020546104fe906001600160a01b031681565b6000546001600160a01b031633146107d15760405162461bcd60e51b81526004016107c890611fc5565b60405180910390fd5b60228054921515600160a81b0260ff60a81b1990931692909217909155602355565b600061080182600019610807565b92915050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108629086815260200190565b60405180910390a350600192915050565b60008261087f83610f39565b119392505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610934576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461090f9184906111b9565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61093f8484846111f3565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610996906003546001600160a01b03166000908152600860205260409020546109909060055490611559565b90611559565b905090565b6000546001600160a01b031633146109c55760405162461bcd60e51b81526004016107c890611fc5565b6103e86005546109d59190612010565b60075410156109e357600080fd5b6103e8816005546109f49190612032565b6109fe9190612010565b60075550565b6000546001600160a01b03163314610a2e5760405162461bcd60e51b81526004016107c890611fc5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336000908152600b602052604081205460ff16610a9457600080fd5b81600003610b07576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b049190612049565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109429190612062565b6000546001600160a01b03163314610ba25760405162461bcd60e51b81526004016107c890611fc5565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b336000908152600b602052604090205460ff16610c1d57600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610c49573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610c765760405162461bcd60e51b81526004016107c890611fc5565b6022805460ff60a01b1916600160a01b17905560fa6014556101906013556103e8601555565b6000546001600160a01b03163314610cc65760405162461bcd60e51b81526004016107c890611fc5565b600c869055600f859055600d849055600e8390556010829055610cf782610cf1858188818c8c61159b565b9061159b565b6011556012819055610d0a600582612010565b60115410610d5a5760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2032302500000060448201526064016107c8565b505050505050565b6000546001600160a01b03163314610d8c5760405162461bcd60e51b81526004016107c890611fc5565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610de15760405162461bcd60e51b81526004016107c890611fc5565b601e91909155601f55565b60006109423384846111f3565b6000546001600160a01b03163314610e235760405162461bcd60e51b81526004016107c890611fc5565b6103e8600554610e339190612010565b6006541015610e4157600080fd5b6103e881600554610e529190612032565b610e5c9190612010565b60065550565b6000546001600160a01b03163314610e8c5760405162461bcd60e51b81526004016107c890611fc5565b6001600160a01b039091166000908152600a60209081526040808320805494151560ff199586168117909155600b9092529091208054909216179055565b6000546001600160a01b03163314610ef45760405162461bcd60e51b81526004016107c890611fc5565b601391909155601491909155601555565b6000546001600160a01b03163314610f2f5760405162461bcd60e51b81526004016107c890611fc5565b610f376115fa565b565b6000610801610f46610949565b6022546001600160a01b0316600090815260086020526040902054610f7a90610f73906002905b906110f5565b85906110f5565b90611177565b60195447906001600160a01b03166108fc6064610f9d8585612032565b610fa79190612010565b6040518115909202916000818181858888f19350505050158015610fcf573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610ffe5760405162461bcd60e51b81526004016107c890611fc5565b6001600160a01b0381166110635760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107c8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110e85760405162461bcd60e51b81526004016107c890611fc5565b6005546007819055600655565b60008260000361110757506000610801565b60006111138385612032565b9050826111208583612010565b146109425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107c8565b600061094283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119e3565b600081848411156111dd5760405162461bcd60e51b81526004016107c89190611da6565b5060006111ea848661207f565b95945050505050565b60245460009060ff16156112135761120c848484611a11565b9050610942565b6001600160a01b03841660009081526001602052604090205460ff1615801561125557506001600160a01b03831660009081526001602052604090205460ff16155b156112aa57602254600160a01b900460ff166112aa5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016107c8565b6001600160a01b03841660009081526001602052604090205460ff161580156112dc57506001600160a01b0383163014155b80156112f657506003546001600160a01b03848116911614155b801561131057506022546001600160a01b03848116911614155b801561132a5750601a546001600160a01b03848116911614155b801561134457506017546001600160a01b03848116911614155b801561136957506001600160a01b0383166000908152600b602052604090205460ff16155b1561140a576001600160a01b0383166000908152600860205260409020546007546113948483612092565b11156114085760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016107c8565b505b6114148483611ae5565b61141c611b52565b15611429576114296115fa565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526008909152919091205461147b9184906111b9565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff16806114c857506001600160a01b0384166000908152600a602052604090205460ff165b6114dc576114d7858486611ba8565b6114de565b825b6001600160a01b038516600090815260086020526040902054909150611504908261159b565b6001600160a01b03808616600081815260086020526040908190209390935591519087169060008051602061215b833981519152906115469085815260200190565b60405180910390a3506001949350505050565b600061094283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b9565b6000806115a88385612092565b9050838110156109425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107c8565b6024805460ff19166001179055601e54601f5460009161161991610873565b61162557600c54611628565b60005b9050600061164c6002610f7a601154610f7a866023546110f590919063ffffffff16565b905060006116658260235461155990919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061169f5761169f6120a5565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106116d0576116d06120a5565b6001600160a01b039283166020918202929092018101919091525460405163791ac94760e01b81524792919091169063791ac9479061171c9086906000908790309042906004016120bb565b600060405180830381600087803b15801561173657600080fd5b505af115801561174a573d6000803e3d6000fd5b505050506000611763824761155990919063ffffffff16565b9050600061177e611775886002611177565b60115490611559565b905060006117936002610f7a8481878d6110f5565b905060006117b083610f7a600d54876110f590919063ffffffff16565b905060006117cd84610f7a600f54886110f590919063ffffffff16565b905060006117ea85610f7a600e54896110f590919063ffffffff16565b6017546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461183c576040519150601f19603f3d011682016040523d82523d6000602084013e611841565b606091505b50506018546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611891576040519150601f19603f3d011682016040523d82523d6000602084013e611896565b606091505b50506019546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146118e6576040519150601f19603f3d011682016040523d82523d6000602084013e6118eb565b606091505b5060009250508b1590506119cb5760205460165460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611969573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061198e919061212c565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506024805460ff1916905550505050505050505050565b60008183611a045760405162461bcd60e51b81526004016107c89190611da6565b5060006111ea8486612010565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611a629184906111b9565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611a91908361159b565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061215b83398151915290611ad39086815260200190565b60405180910390a35060019392505050565b60065481111580611b0e57506001600160a01b0382166000908152600b602052604090205460ff165b611b4e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016107c8565b5050565b6022546000906001600160a01b03163314801590611b73575060245460ff16155b8015611b885750602254600160a81b900460ff165b801561099657505060235430600090815260086020526040902054101590565b601554602254600091906001600160a01b0390811690841603611bce5750601354611be9565b6022546001600160a01b0390811690861603611be957506014545b6000611c166012546064611bfd9190612032565b610f7a84610f6d6011548a6110f590919063ffffffff16565b90506000611c35601154610f7a601054856110f590919063ffffffff16565b90506000611c438383611559565b30600090815260086020526040902054909150611c60908261159b565b3060009081526008602052604080822092909255601a546001600160a01b031681522054611c8e908361159b565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b169160008051602061215b833981519152910160405180910390a38115611d1f57600554611ce89083611559565b6005556004546040518381526001600160a01b03918216918a169060008051602061215b8339815191529060200160405180910390a35b611d298784611559565b98975050505050505050565b8015158114610c4957600080fd5b60008060408385031215611d5657600080fd5b8235611d6181611d35565b946020939093013593505050565b80356001600160a01b0381168114611d8657600080fd5b919050565b600060208284031215611d9d57600080fd5b61094282611d6f565b600060208083528351808285015260005b81811015611dd357858101830151858201604001528201611db7565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e0757600080fd5b611d6183611d6f565b60008060408385031215611e2357600080fd5b50508035926020909101359150565b600080600060608486031215611e4757600080fd5b611e5084611d6f565b9250611e5e60208501611d6f565b9150604084013590509250925092565b600060208284031215611e8057600080fd5b5035919050565b600080600080600060a08688031215611e9f57600080fd5b611ea886611d6f565b9450611eb660208701611d6f565b9350611ec460408701611d6f565b9250611ed260608701611d6f565b9150611ee060808701611d6f565b90509295509295909350565b60008060008060008060c08789031215611f0557600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611f4257600080fd5b611f4b83611d6f565b91506020830135611f5b81611d35565b809150509250929050565b600080600060608486031215611f7b57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611fa557600080fd5b611fae83611d6f565b9150611fbc60208401611d6f565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261202d57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761080157610801611ffa565b60006020828403121561205b57600080fd5b5051919050565b60006020828403121561207457600080fd5b815161094281611d35565b8181038181111561080157610801611ffa565b8082018082111561080157610801611ffa565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561210b5784516001600160a01b0316835293830193918301916001016120e6565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561214157600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f3524dc2f9ef9d8d6a1d593090c46ee02e797ac8fb9358f606710ed3c4255cae64736f6c63430008110033
Deployed Bytecode
0x60806040526004361061024a5760003560e01c8063893d20e811610139578063b2bdfa7b116100b6578063d51ed1c81161007a578063d51ed1c8146106c3578063d78e139d146106e3578063dd62ed3e14610703578063f2fde38b14610749578063f6a78e1714610769578063f887ea401461077e57600080fd5b8063b2bdfa7b1461062e578063bc3371821461064e578063ccf8c0361461066e578063cec10c111461068e578063d148b74c146106ae57600080fd5b806395d89b41116100fd57806395d89b411461057e5780639acb773e146105ae5780639f11080e146105ce578063a8aa1b31146105ee578063a9059cbb1461060e57600080fd5b8063893d20e8146104e45780638a4068dd146105165780638a8c523c1461052b5780638da5cb5b14610540578063918924761461055e57600080fd5b80632b112e49116101c7578063715018a61161018b578063715018a61461046357806377b54bad1461047857806378109e54146104985780637bae52e1146104ae5780637d1db4a5146104ce57600080fd5b80632b112e49146103bb578063313ce567146103d05780635d0044ca146103ec5780636ddd17131461040c57806370a082311461042d57600080fd5b8063095ea7b31161020e578063095ea7b3146103305780631161ae391461035057806318160ddd146103705780631df4ccfc1461038557806323b872dd1461039b57600080fd5b806304368f65146102565780630445b667146102785780630621472c146102a157806306fdde03146102d157806308fd3d051461030f57600080fd5b3661025157005b600080fd5b34801561026257600080fd5b50610276610271366004611d43565b61079e565b005b34801561028457600080fd5b5061028e60235481565b6040519081526020015b60405180910390f35b3480156102ad57600080fd5b506102c16102bc366004611d8b565b6107f3565b6040519015158152602001610298565b3480156102dd57600080fd5b5060408051808201909152600c81526b43686566205065652050656560a01b60208201525b6040516102989190611da6565b34801561031b57600080fd5b506022546102c190600160a01b900460ff1681565b34801561033c57600080fd5b506102c161034b366004611df4565b610807565b34801561035c57600080fd5b506102c161036b366004611e10565b610873565b34801561037c57600080fd5b5060055461028e565b34801561039157600080fd5b5061028e60115481565b3480156103a757600080fd5b506102c16103b6366004611e32565b610887565b3480156103c757600080fd5b5061028e610949565b3480156103dc57600080fd5b5060405160098152602001610298565b3480156103f857600080fd5b50610276610407366004611e6e565b61099b565b34801561041857600080fd5b506022546102c190600160a81b900460ff1681565b34801561043957600080fd5b5061028e610448366004611d8b565b6001600160a01b031660009081526008602052604090205490565b34801561046f57600080fd5b50610276610a04565b34801561048457600080fd5b506102c1610493366004611df4565b610a78565b3480156104a457600080fd5b5061028e60075481565b3480156104ba57600080fd5b506102766104c9366004611e87565b610b78565b3480156104da57600080fd5b5061028e60065481565b3480156104f057600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610298565b34801561052257600080fd5b50610276610c01565b34801561053757600080fd5b50610276610c4c565b34801561054c57600080fd5b506000546001600160a01b03166104fe565b34801561056a57600080fd5b50610276610579366004611eec565b610c9c565b34801561058a57600080fd5b506040805180820190915260078152662450454550454560c81b6020820152610302565b3480156105ba57600080fd5b506102766105c9366004611f2f565b610d62565b3480156105da57600080fd5b506102766105e9366004611e10565b610db7565b3480156105fa57600080fd5b506022546104fe906001600160a01b031681565b34801561061a57600080fd5b506102c1610629366004611df4565b610dec565b34801561063a57600080fd5b506000546104fe906001600160a01b031681565b34801561065a57600080fd5b50610276610669366004611e6e565b610df9565b34801561067a57600080fd5b50610276610689366004611f2f565b610e62565b34801561069a57600080fd5b506102766106a9366004611f66565b610eca565b3480156106ba57600080fd5b50610276610f05565b3480156106cf57600080fd5b5061028e6106de366004611e6e565b610f39565b3480156106ef57600080fd5b506102766106fe366004611e6e565b610f80565b34801561070f57600080fd5b5061028e61071e366004611f92565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561075557600080fd5b50610276610764366004611d8b565b610fd4565b34801561077557600080fd5b506102766110be565b34801561078a57600080fd5b506020546104fe906001600160a01b031681565b6000546001600160a01b031633146107d15760405162461bcd60e51b81526004016107c890611fc5565b60405180910390fd5b60228054921515600160a81b0260ff60a81b1990931692909217909155602355565b600061080182600019610807565b92915050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108629086815260200190565b60405180910390a350600192915050565b60008261087f83610f39565b119392505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610934576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461090f9184906111b9565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61093f8484846111f3565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610996906003546001600160a01b03166000908152600860205260409020546109909060055490611559565b90611559565b905090565b6000546001600160a01b031633146109c55760405162461bcd60e51b81526004016107c890611fc5565b6103e86005546109d59190612010565b60075410156109e357600080fd5b6103e8816005546109f49190612032565b6109fe9190612010565b60075550565b6000546001600160a01b03163314610a2e5760405162461bcd60e51b81526004016107c890611fc5565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336000908152600b602052604081205460ff16610a9457600080fd5b81600003610b07576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b049190612049565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109429190612062565b6000546001600160a01b03163314610ba25760405162461bcd60e51b81526004016107c890611fc5565b601680546001600160a01b03199081166001600160a01b03978816179091556017805482169587169590951790945560188054851693861693909317909255601a80548416918516919091179055601980549092169216919091179055565b336000908152600b602052604090205460ff16610c1d57600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610c49573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610c765760405162461bcd60e51b81526004016107c890611fc5565b6022805460ff60a01b1916600160a01b17905560fa6014556101906013556103e8601555565b6000546001600160a01b03163314610cc65760405162461bcd60e51b81526004016107c890611fc5565b600c869055600f859055600d849055600e8390556010829055610cf782610cf1858188818c8c61159b565b9061159b565b6011556012819055610d0a600582612010565b60115410610d5a5760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2032302500000060448201526064016107c8565b505050505050565b6000546001600160a01b03163314610d8c5760405162461bcd60e51b81526004016107c890611fc5565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610de15760405162461bcd60e51b81526004016107c890611fc5565b601e91909155601f55565b60006109423384846111f3565b6000546001600160a01b03163314610e235760405162461bcd60e51b81526004016107c890611fc5565b6103e8600554610e339190612010565b6006541015610e4157600080fd5b6103e881600554610e529190612032565b610e5c9190612010565b60065550565b6000546001600160a01b03163314610e8c5760405162461bcd60e51b81526004016107c890611fc5565b6001600160a01b039091166000908152600a60209081526040808320805494151560ff199586168117909155600b9092529091208054909216179055565b6000546001600160a01b03163314610ef45760405162461bcd60e51b81526004016107c890611fc5565b601391909155601491909155601555565b6000546001600160a01b03163314610f2f5760405162461bcd60e51b81526004016107c890611fc5565b610f376115fa565b565b6000610801610f46610949565b6022546001600160a01b0316600090815260086020526040902054610f7a90610f73906002905b906110f5565b85906110f5565b90611177565b60195447906001600160a01b03166108fc6064610f9d8585612032565b610fa79190612010565b6040518115909202916000818181858888f19350505050158015610fcf573d6000803e3d6000fd5b505050565b6000546001600160a01b03163314610ffe5760405162461bcd60e51b81526004016107c890611fc5565b6001600160a01b0381166110635760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107c8565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146110e85760405162461bcd60e51b81526004016107c890611fc5565b6005546007819055600655565b60008260000361110757506000610801565b60006111138385612032565b9050826111208583612010565b146109425760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107c8565b600061094283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119e3565b600081848411156111dd5760405162461bcd60e51b81526004016107c89190611da6565b5060006111ea848661207f565b95945050505050565b60245460009060ff16156112135761120c848484611a11565b9050610942565b6001600160a01b03841660009081526001602052604090205460ff1615801561125557506001600160a01b03831660009081526001602052604090205460ff16155b156112aa57602254600160a01b900460ff166112aa5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016107c8565b6001600160a01b03841660009081526001602052604090205460ff161580156112dc57506001600160a01b0383163014155b80156112f657506003546001600160a01b03848116911614155b801561131057506022546001600160a01b03848116911614155b801561132a5750601a546001600160a01b03848116911614155b801561134457506017546001600160a01b03848116911614155b801561136957506001600160a01b0383166000908152600b602052604090205460ff16155b1561140a576001600160a01b0383166000908152600860205260409020546007546113948483612092565b11156114085760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016107c8565b505b6114148483611ae5565b61141c611b52565b15611429576114296115fa565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526008909152919091205461147b9184906111b9565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff16806114c857506001600160a01b0384166000908152600a602052604090205460ff165b6114dc576114d7858486611ba8565b6114de565b825b6001600160a01b038516600090815260086020526040902054909150611504908261159b565b6001600160a01b03808616600081815260086020526040908190209390935591519087169060008051602061215b833981519152906115469085815260200190565b60405180910390a3506001949350505050565b600061094283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b9565b6000806115a88385612092565b9050838110156109425760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107c8565b6024805460ff19166001179055601e54601f5460009161161991610873565b61162557600c54611628565b60005b9050600061164c6002610f7a601154610f7a866023546110f590919063ffffffff16565b905060006116658260235461155990919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061169f5761169f6120a5565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106116d0576116d06120a5565b6001600160a01b039283166020918202929092018101919091525460405163791ac94760e01b81524792919091169063791ac9479061171c9086906000908790309042906004016120bb565b600060405180830381600087803b15801561173657600080fd5b505af115801561174a573d6000803e3d6000fd5b505050506000611763824761155990919063ffffffff16565b9050600061177e611775886002611177565b60115490611559565b905060006117936002610f7a8481878d6110f5565b905060006117b083610f7a600d54876110f590919063ffffffff16565b905060006117cd84610f7a600f54886110f590919063ffffffff16565b905060006117ea85610f7a600e54896110f590919063ffffffff16565b6017546040519192506000916001600160a01b039091169085908381818185875af1925050503d806000811461183c576040519150601f19603f3d011682016040523d82523d6000602084013e611841565b606091505b50506018546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611891576040519150601f19603f3d011682016040523d82523d6000602084013e611896565b606091505b50506019546040519192506001600160a01b0316908490600081818185875af1925050503d80600081146118e6576040519150601f19603f3d011682016040523d82523d6000602084013e6118eb565b606091505b5060009250508b1590506119cb5760205460165460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611969573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061198e919061212c565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506024805460ff1916905550505050505050505050565b60008183611a045760405162461bcd60e51b81526004016107c89190611da6565b5060006111ea8486612010565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611a629184906111b9565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611a91908361159b565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061215b83398151915290611ad39086815260200190565b60405180910390a35060019392505050565b60065481111580611b0e57506001600160a01b0382166000908152600b602052604090205460ff165b611b4e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016107c8565b5050565b6022546000906001600160a01b03163314801590611b73575060245460ff16155b8015611b885750602254600160a81b900460ff165b801561099657505060235430600090815260086020526040902054101590565b601554602254600091906001600160a01b0390811690841603611bce5750601354611be9565b6022546001600160a01b0390811690861603611be957506014545b6000611c166012546064611bfd9190612032565b610f7a84610f6d6011548a6110f590919063ffffffff16565b90506000611c35601154610f7a601054856110f590919063ffffffff16565b90506000611c438383611559565b30600090815260086020526040902054909150611c60908261159b565b3060009081526008602052604080822092909255601a546001600160a01b031681522054611c8e908361159b565b601a546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b169160008051602061215b833981519152910160405180910390a38115611d1f57600554611ce89083611559565b6005556004546040518381526001600160a01b03918216918a169060008051602061215b8339815191529060200160405180910390a35b611d298784611559565b98975050505050505050565b8015158114610c4957600080fd5b60008060408385031215611d5657600080fd5b8235611d6181611d35565b946020939093013593505050565b80356001600160a01b0381168114611d8657600080fd5b919050565b600060208284031215611d9d57600080fd5b61094282611d6f565b600060208083528351808285015260005b81811015611dd357858101830151858201604001528201611db7565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e0757600080fd5b611d6183611d6f565b60008060408385031215611e2357600080fd5b50508035926020909101359150565b600080600060608486031215611e4757600080fd5b611e5084611d6f565b9250611e5e60208501611d6f565b9150604084013590509250925092565b600060208284031215611e8057600080fd5b5035919050565b600080600080600060a08688031215611e9f57600080fd5b611ea886611d6f565b9450611eb660208701611d6f565b9350611ec460408701611d6f565b9250611ed260608701611d6f565b9150611ee060808701611d6f565b90509295509295909350565b60008060008060008060c08789031215611f0557600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060408385031215611f4257600080fd5b611f4b83611d6f565b91506020830135611f5b81611d35565b809150509250929050565b600080600060608486031215611f7b57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611fa557600080fd5b611fae83611d6f565b9150611fbc60208401611d6f565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008261202d57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761080157610801611ffa565b60006020828403121561205b57600080fd5b5051919050565b60006020828403121561207457600080fd5b815161094281611d35565b8181038181111561080157610801611ffa565b8082018082111561080157610801611ffa565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561210b5784516001600160a01b0316835293830193918301916001016120e6565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561214157600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f3524dc2f9ef9d8d6a1d593090c46ee02e797ac8fb9358f606710ed3c4255cae64736f6c63430008110033
Deployed Bytecode Sourcemap
5072:13620:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17791:156;;;;;;;;;;-1:-1:-1;17791:156:0;;;;;:::i;:::-;;:::i;:::-;;6875:57;;;;;;;;;;;;;;;;;;;597:25:1;;;585:2;570:18;6875:57:0;;;;;;;;9037:122;;;;;;;;;;-1:-1:-1;9037:122:0;;;;;:::i;:::-;;:::i;:::-;;;1167:14:1;;1160:22;1142:41;;1130:2;1115:18;9037:122:0;1002:187:1;8391:80:0;;;;;;;;;;-1:-1:-1;8463:5:0;;;;;;;;;;;;-1:-1:-1;;;8463:5:0;;;;8391:80;;;;;;;:::i;6794:31::-;;;;;;;;;;-1:-1:-1;6794:31:0;;;;-1:-1:-1;;;6794:31:0;;;;;;8813:216;;;;;;;;;;-1:-1:-1;8813:216:0;;;;;:::i;:::-;;:::i;18466:150::-;;;;;;;;;;-1:-1:-1;18466:150:0;;;;;:::i;:::-;;:::i;8121:88::-;;;;;;;;;;-1:-1:-1;8194:12:0;;8121:88;;6056:94;;;;;;;;;;;;;;;;9331:370;;;;;;;;;;-1:-1:-1;9331:370:0;;;;;:::i;:::-;;:::i;18141:142::-;;;;;;;;;;;;;:::i;8215:80::-;;;;;;;;;;-1:-1:-1;8215:80:0;;5421:1;2734:36:1;;2722:2;2707:18;8215:80:0;2592:184:1;9713:219:0;;;;;;;;;;-1:-1:-1;9713:219:0;;;;;:::i;:::-;;:::i;6838:30::-;;;;;;;;;;-1:-1:-1;6838:30:0;;;;-1:-1:-1;;;6838:30:0;;;;;;8561:105;;;;;;;;;;-1:-1:-1;8561:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8645:18:0;8627:7;8645:18;;;:9;:18;;;;;;;8561:105;3129:148;;;;;;;;;;;;;:::i;13840:308::-;;;;;;;;;;-1:-1:-1;13840:308:0;;;;;:::i;:::-;;:::i;5559:61::-;;;;;;;;;;;;;;;;17328:455;;;;;;;;;;-1:-1:-1;17328:455:0;;;;;:::i;:::-;;:::i;5494:58::-;;;;;;;;;;;;;;;;8477:78;;;;;;;;;;-1:-1:-1;8529:7:0;2980:6;-1:-1:-1;;;;;2980:6:0;8477:78;;;-1:-1:-1;;;;;3619:32:1;;;3601:51;;3589:2;3574:18;8477:78:0;3455:203:1;13683:149:0;;;;;;;;;;;;;:::i;14371:176::-;;;;;;;;;;;;;:::i;2915:79::-;;;;;;;;;;-1:-1:-1;2953:7:0;2980:6;-1:-1:-1;;;;;2980:6:0;2915:79;;16741:579;;;;;;;;;;-1:-1:-1;16741:579:0;;;;;:::i;:::-;;:::i;8301:84::-;;;;;;;;;;-1:-1:-1;8375:7:0;;;;;;;;;;;;-1:-1:-1;;;8375:7:0;;;;8301:84;;16613:120;;;;;;;;;;-1:-1:-1;16613:120:0;;;;;:::i;:::-;;:::i;17955:174::-;;;;;;;;;;-1:-1:-1;17955:174:0;;;;;:::i;:::-;;:::i;6762:19::-;;;;;;;;;;-1:-1:-1;6762:19:0;;;;-1:-1:-1;;;;;6762:19:0;;;9167:156;;;;;;;;;;-1:-1:-1;9167:156:0;;;;;:::i;:::-;;:::i;2535:21::-;;;;;;;;;;-1:-1:-1;2535:21:0;;;;-1:-1:-1;;;;;2535:21:0;;;9940:187;;;;;;;;;;-1:-1:-1;9940:187:0;;;;;:::i;:::-;;:::i;16448:157::-;;;;;;;;;;-1:-1:-1;16448:157:0;;;;;:::i;:::-;;:::i;14156:207::-;;;;;;;;;;-1:-1:-1;14156:207:0;;;;;:::i;:::-;;:::i;13454:77::-;;;;;;;;;;;;;:::i;18291:167::-;;;;;;;;;;-1:-1:-1;18291:167:0;;;;;:::i;:::-;;:::i;13247:198::-;;;;;;;;;;-1:-1:-1;13247:198:0;;;;;:::i;:::-;;:::i;8672:133::-;;;;;;;;;;-1:-1:-1;8672:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8774:19:0;;;8756:7;8774:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8672:133;3285:244;;;;;;;;;;-1:-1:-1;3285:244:0;;;;;:::i;:::-;;:::i;13539:136::-;;;;;;;;;;;;;:::i;6692:24::-;;;;;;;;;;-1:-1:-1;6692:24:0;;;;-1:-1:-1;;;;;6692:24:0;;;17791:156;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;;;;;;;;;17883:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;17883:22:0::1;-1:-1:-1::0;;;;17883:22:0;;::::1;::::0;;;::::1;::::0;;;17916:13:::1;:23:::0;17791:156::o;9037:122::-;9092:4;9116:35;9124:7;-1:-1:-1;;9116:7:0;:35::i;:::-;9109:42;9037:122;-1:-1:-1;;9037:122:0:o;8813:216::-;8917:10;8888:4;8905:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8905:32:0;;;;;;;;;;:41;;;8962:37;8888:4;;8905:32;;8962:37;;;;8940:6;597:25:1;;585:2;570:18;;451:177;8962:37:0;;;;;;;;-1:-1:-1;9017:4:0;8813:216;;;;:::o;18466:150::-;18546:4;18602:6;18570:29;18590:8;18570:19;:29::i;:::-;:38;;18466:150;-1:-1:-1;;;18466:150:0:o;9331:370::-;-1:-1:-1;;;;;9451:19:0;;9431:4;9451:19;;;:11;:19;;;;;;;;9471:10;9451:31;;;;;;;;-1:-1:-1;;9451:52:0;9448:186;;9553:69;;;;;;;;;;;-1:-1:-1;;;9553:69:0;;;;;;;;-1:-1:-1;;;;;9553:19:0;;-1:-1:-1;9553:19:0;;;:11;:19;;;;;9573:10;9553:31;;;;;;;;;;:69;;9589:6;;9553:35;:69::i;:::-;-1:-1:-1;;;;;9519:19:0;;;;;;:11;:19;;;;;;;;9539:10;9519:31;;;;;;;:103;9448:186;9653:40;9667:6;9675:9;9686:6;9653:13;:40::i;:::-;9646:47;;9331:370;;;;;;:::o;18141:142::-;18269:4;;-1:-1:-1;;;;;18269:4:0;18194:7;8645:18;;;:9;:18;;;;;;18221:54;;18248:4;;-1:-1:-1;;;;;18248:4:0;8627:7;8645:18;;;:9;:18;;;;;;18221:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18214:61;;18141:142;:::o;9713:219::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;9832:4:::1;9817:12;;:19;;;;:::i;:::-;9798:15;;:38;;9790:47;;;::::0;::::1;;9902:4;9883:14;9868:12;;:29;;;;:::i;:::-;9867:39;;;;:::i;:::-;9849:15;:57:::0;-1:-1:-1;9713:219:0:o;3129:148::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;3236:1:::1;3220:6:::0;;3199:40:::1;::::0;-1:-1:-1;;;;;3220:6:0;;::::1;::::0;3199:40:::1;::::0;3236:1;;3199:40:::1;3267:1;3250:19:::0;;-1:-1:-1;;;;;;3250:19:0::1;::::0;;3129:148::o;13840:308::-;13960:10;13919:4;13944:27;;;:15;:27;;;;;;;;13936:36;;;;;;13983:6;13993:1;13983:11;13980:95;;14019:44;;-1:-1:-1;;;14019:44:0;;14057:4;14019:44;;;3601:51:1;-1:-1:-1;;;;;14019:29:0;;;;;3574:18:1;;14019:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14010:53;;13980:95;14092:48;;-1:-1:-1;;;14092:48:0;;14121:10;14092:48;;;6574:51:1;6641:18;;;6634:34;;;-1:-1:-1;;;;;14092:28:0;;;;;6547:18:1;;14092:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17328:455::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;17533:21:::1;:46:::0;;-1:-1:-1;;;;;;17533:46:0;;::::1;-1:-1:-1::0;;;;;17533:46:0;;::::1;;::::0;;;17590:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17645:18:::1;:40:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17696:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;17741:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17328:455::o;13683:149::-;13748:10;13732:27;;;;:15;:27;;;;;;;;13724:36;;;;;;13771:51;;13779:10;;13800:21;13771:51;;;;;;;;;13800:21;13779:10;13771:51;;;;;;;;;;;;;;;;;;;;;13683:149::o;14371:176::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;14424:11:::1;:18:::0;;-1:-1:-1;;;;14424:18:0::1;-1:-1:-1::0;;;14424:18:0::1;::::0;;14469:3:::1;14424:11;14453:19:::0;14500:3:::1;14483:14;:20:::0;14535:4:::1;14514:18;:25:::0;14371:176::o;16741:579::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;16927:12:::1;:28:::0;;;16966:7:::1;:18:::0;;;16995:12:::1;:28:::0;;;17034:10:::1;:24:::0;;;17069:7:::1;:18:::0;;;17109:77:::1;17079:8:::0;17109:63:::1;17047:11:::0;17109:63;17010:13;17109:63;16942:13;16976:8;17109:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:77::-;17098:8;:88:::0;17197:14:::1;:32:::0;;;17259:18:::1;17276:1;17214:15:::0;17259:18:::1;:::i;:::-;17248:8;;:29;17240:71;;;::::0;-1:-1:-1;;;17240:71:0;;7131:2:1;17240:71:0::1;::::0;::::1;7113:21:1::0;7170:2;7150:18;;;7143:30;7209:31;7189:18;;;7182:59;7258:18;;17240:71:0::1;6929:353:1::0;17240:71:0::1;16741:579:::0;;;;;;:::o;16613:120::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16693:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16693:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16613:120::o;17955:174::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;18044:15:::1;:25:::0;;;;18080:26:::1;:41:::0;17955:174::o;9167:156::-;9247:4;9271:44;9285:10;9297:9;9308:6;9271:13;:44::i;9940:187::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;10050:4:::1;10035:12;;:19;;;;:::i;:::-;10019:12;;:35;;10011:44;;;::::0;::::1;;10115:4;10098:12;10083;;:27;;;;:::i;:::-;10082:37;;;;:::i;:::-;10067:12;:52:::0;-1:-1:-1;9940:187:0:o;16448:157::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16526:19:0;;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;:28;;;::::1;;-1:-1:-1::0;;16526:28:0;;::::1;::::0;::::1;::::0;;;16565:15:::1;:23:::0;;;;;;:32;;;;::::1;;::::0;;16448:157::o;14156:207::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;14248:14:::1;:22:::0;;;;14281:13:::1;:20:::0;;;;14312:18:::1;:27:::0;14156:207::o;13454:77::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;13507:10:::1;:8;:10::i;:::-;13454:77::o:0;18291:167::-;18359:7;18386:64;18427:22;:20;:22::i;:::-;18409:4;;-1:-1:-1;;;;;18409:4:0;8627:7;8645:18;;;:9;:18;;;;;;18386:36;;18399:22;;18419:1;;18399:15;:19;;:22::i;:::-;18386:8;;:12;:36::i;:::-;:40;;:64::i;13247:198::-;13376:15;;13336:21;;-1:-1:-1;;;;;13376:15:0;13368:69;13433:3;13402:28;13414:16;13336:21;13402:28;:::i;:::-;:34;;;;:::i;:::-;13368:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13305:140;13247:198;:::o;3285:244::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3374:22:0;::::1;3366:73;;;::::0;-1:-1:-1;;;3366:73:0;;7489:2:1;3366:73:0::1;::::0;::::1;7471:21:1::0;7528:2;7508:18;;;7501:30;7567:34;7547:18;;;7540:62;-1:-1:-1;;;7618:18:1;;;7611:36;7664:19;;3366:73:0::1;7287:402:1::0;3366:73:0::1;3476:6;::::0;;3455:38:::1;::::0;-1:-1:-1;;;;;3455:38:0;;::::1;::::0;3476:6;::::1;::::0;3455:38:::1;::::0;::::1;3504:6;:17:::0;;-1:-1:-1;;;;;;3504:17:0::1;-1:-1:-1::0;;;;;3504:17:0;;;::::1;::::0;;;::::1;::::0;;3285:244::o;13539:136::-;3042:6;;-1:-1:-1;;;;;3042:6:0;2352:10;3042:22;3034:67;;;;-1:-1:-1;;;3034:67:0;;;;;;;:::i;:::-;13615:12:::1;::::0;13597:15:::1;:30:::0;;;13638:12:::1;:27:::0;13539:136::o;714:250::-;772:7;796:1;801;796:6;792:47;;-1:-1:-1;826:1:0;819:8;;792:47;851:9;863:5;867:1;863;:5;:::i;:::-;851:17;-1:-1:-1;896:1:0;887:5;891:1;851:17;887:5;:::i;:::-;:10;879:56;;;;-1:-1:-1;;;879:56:0;;7896:2:1;879:56:0;;;7878:21:1;7935:2;7915:18;;;7908:30;7974:34;7954:18;;;7947:62;-1:-1:-1;;;8025:18:1;;;8018:31;8066:19;;879:56:0;7694:397:1;970:132:0;1028:7;1055:39;1059:1;1062;1055:39;;;;;;;;;;;;;;;;;:3;:39::i;516:192::-;602:7;638:12;630:6;;;;622:29;;;;-1:-1:-1;;;622:29:0;;;;;;;;:::i;:::-;-1:-1:-1;662:9:0;674:5;678:1;674;:5;:::i;:::-;662:17;516:192;-1:-1:-1;;;;;516:192:0:o;10144:1237::-;10256:6;;10236:4;;10256:6;;10253:63;;;10272:41;10287:6;10295:9;10306:6;10272:14;:41::i;:::-;10265:48;;;;10253:63;-1:-1:-1;;;;;10332:22:0;;;;;;:14;:22;;;;;;;;10331:23;:53;;;;-1:-1:-1;;;;;;10359:25:0;;;;;;:14;:25;;;;;;;;10358:26;10331:53;10328:140;;;10408:11;;-1:-1:-1;;;10408:11:0;;;;10400:43;;;;-1:-1:-1;;;10400:43:0;;8431:2:1;10400:43:0;;;8413:21:1;8470:2;8450:18;;;8443:30;-1:-1:-1;;;8489:18:1;;;8482:50;8549:18;;10400:43:0;8229:344:1;10400:43:0;-1:-1:-1;;;;;10502:22:0;;;;;;:14;:22;;;;;;;;10501:23;:53;;;;-1:-1:-1;;;;;;10528:26:0;;10549:4;10528:26;;10501:53;:84;;;;-1:-1:-1;10580:4:0;;-1:-1:-1;;;;;10559:26:0;;;10580:4;;10559:26;;10501:84;:105;;;;-1:-1:-1;10602:4:0;;-1:-1:-1;;;;;10589:17:0;;;10602:4;;10589:17;;10501:105;:137;;;;-1:-1:-1;10623:15:0;;-1:-1:-1;;;;;10610:28:0;;;10623:15;;10610:28;;10501:137;:174;;;;-1:-1:-1;10655:20:0;;-1:-1:-1;;;;;10642:33:0;;;10655:20;;10642:33;;10501:174;:205;;;;-1:-1:-1;;;;;;10680:26:0;;;;;;:15;:26;;;;;;;;10679:27;10501:205;10497:397;;;-1:-1:-1;;;;;8645:18:0;;10722;8645;;;:9;:18;;;;;;10811:15;;10787:19;10800:6;8645:18;10787:19;:::i;:::-;10786:40;;10778:114;;;;-1:-1:-1;;;10778:114:0;;8910:2:1;10778:114:0;;;8892:21:1;8949:2;8929:18;;;8922:30;8988:34;8968:18;;;8961:62;9059:32;9039:18;;;9032:60;9109:19;;10778:114:0;8708:426:1;10778:114:0;10707:187;10497:397;10915:28;10928:6;10936;10915:12;:28::i;:::-;10960:16;:14;:16::i;:::-;10957:35;;;10979:10;:8;:10::i;:::-;11032:53;;;;;;;;;;;-1:-1:-1;;;11032:53:0;;;;;;;;-1:-1:-1;;;;;11032:17:0;;-1:-1:-1;11032:17:0;;;:9;:17;;;;;;;;:53;;11054:6;;11032:21;:53::i;:::-;-1:-1:-1;;;;;11012:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11124:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11147:22:0;;;;;;:11;:22;;;;;;;;11124:45;11123:93;;11182:34;11190:6;11198;11206:9;11182:7;:34::i;:::-;11123:93;;;11173:6;11123:93;-1:-1:-1;;;;;11250:20:0;;;;;;:9;:20;;;;;;11098:118;;-1:-1:-1;11250:40:0;;11098:118;11250:24;:40::i;:::-;-1:-1:-1;;;;;11227:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11308:43;;;;;;-1:-1:-1;;;;;;;;;;;11308:43:0;;;11336:14;597:25:1;;585:2;570:18;;451:177;11308:43:0;;;;;;;;-1:-1:-1;11369:4:0;;10144:1237;-1:-1:-1;;;;10144:1237:0:o;374:136::-;432:7;459:43;463:1;466;459:43;;;;;;;;;;;;;;;;;:3;:43::i;187:181::-;245:7;;277:5;281:1;277;:5;:::i;:::-;265:17;;306:1;301;:6;;293:46;;;;-1:-1:-1;;;293:46:0;;9341:2:1;293:46:0;;;9323:21:1;9380:2;9360:18;;;9353:30;9419:29;9399:18;;;9392:57;9466:18;;293:46:0;9139:351:1;14563:1877:0;6980:6;:13;;-1:-1:-1;;6980:13:0;6989:4;6980:13;;;14658:15:::1;::::0;14675:26:::1;::::0;6980:6;;14642:60:::1;::::0;:15:::1;:60::i;:::-;:79;;14709:12;;14642:79;;;14705:1;14642:79;14612:109;;14732:23;14758:59;14815:1;14758:52;14801:8;;14758:38;14776:19;14758:13;;:17;;:38;;;;:::i;:59::-;14732:85;;14828:20;14851:34;14869:15;14851:13;;:17;;:34;;;;:::i;:::-;14922:16;::::0;;14936:1:::1;14922:16:::0;;;;;::::1;::::0;;14828:57;;-1:-1:-1;14898:21:0::1;::::0;14922:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14922:16:0::1;14898:40;;14967:4;14949;14954:1;14949:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14949:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14993:4:::1;::::0;14983:7;;14993:4;::::1;::::0;14983;;14993;;14983:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;14983:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:14;;;;15068:6;:188:::1;::::0;-1:-1:-1;;;15068:188:0;;15034:21:::1;::::0;15068:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15140:12;;15010:21:::1;::::0;15183:4;;15210::::1;::::0;15230:15:::1;::::0;15068:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15269:17;15289:40;15315:13;15289:21;:25;;:40;;;;:::i;:::-;15269:60:::0;-1:-1:-1;15342:19:0::1;15364:40;15377:26;:19:::0;15401:1:::1;15377:23;:26::i;:::-;15364:8;::::0;;:12:::1;:40::i;:::-;15342:62:::0;-1:-1:-1;15425:26:0::1;15454:58;15510:1;15454:51;15342:62:::0;15454:51;:9;15468:19;15454:13:::1;:34::i;:58::-;15425:87;;15523:26;15552:44;15584:11;15552:27;15566:12;;15552:9;:13;;:27;;;;:::i;:44::-;15523:73;;15607:21;15631:39;15658:11;15631:22;15645:7;;15631:9;:13;;:22;;;;:::i;:39::-;15607:63;;15681:24;15708:42;15738:11;15708:25;15722:10;;15708:9;:13;;:25;;;;:::i;:42::-;15792:20;::::0;15784:65:::1;::::0;15681:69;;-1:-1:-1;15764:15:0::1;::::0;-1:-1:-1;;;;;15792:20:0;;::::1;::::0;15826:18;;15764:15;15784:65;15764:15;15784:65;15826:18;15792:20;15784:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15884:18:0::1;::::0;15876:61:::1;::::0;15763:86;;-1:-1:-1;;;;;;15884:18:0::1;::::0;15916:16;;15876:61:::1;::::0;;;15916:16;15884:18;15876:61:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15972:15:0::1;::::0;15964:55:::1;::::0;15860:77;;-1:-1:-1;;;;;;15972:15:0::1;::::0;16001:13;;15964:55:::1;::::0;;;16001:13;15972:15;15964:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;16053:5:0::1;::::0;-1:-1:-1;;16074:19:0;;;-1:-1:-1;16071:362:0::1;;16109:6;::::0;16283:21:::1;::::0;16109:244:::1;::::0;-1:-1:-1;;;16109:244:0;;16185:4:::1;16109:244;::::0;::::1;11295:34:1::0;11345:18;;;11338:34;;;16109:6:0::1;11388:18:1::0;;;11381:34;;;11431:18;;;11424:34;-1:-1:-1;;;;;16283:21:0;;::::1;11474:19:1::0;;;11467:44;16323:15:0::1;11527:19:1::0;;;11520:35;16109:6:0;::::1;::::0;:22:::1;::::0;16139:18;;11229:19:1;;16109:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16373:48:0::1;::::0;;12051:25:1;;;12107:2;12092:18;;12085:34;;;16373:48:0::1;::::0;-1:-1:-1;12024:18:1;16373:48:0::1;;;;;;;16071:362;-1:-1:-1::0;;6998:6:0;:14;;-1:-1:-1;;6998:14:0;;;-1:-1:-1;;;;;;;;;;14563:1877:0:o;1108:189::-;1194:7;1229:12;1222:5;1214:28;;;;-1:-1:-1;;;1214:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1253:9:0;1265:5;1269:1;1265;:5;:::i;11393:330::-;11523:53;;;;;;;;;;;-1:-1:-1;;;11523:53:0;;;;;;;;-1:-1:-1;;;;;11523:17:0;;11486:4;11523:17;;;:9;:17;;;;;;;:53;;11545:6;;11523:21;:53::i;:::-;-1:-1:-1;;;;;11503:17:0;;;;;;;:9;:17;;;;;;:73;;;;11610:20;;;;;;;:32;;11635:6;11610:24;:32::i;:::-;-1:-1:-1;;;;;11587:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11658:35;;;;;;-1:-1:-1;;;;;;;;;;;11658:35:0;;;11686:6;597:25:1;;585:2;570:18;;451:177;11658:35:0;;;;;;;;-1:-1:-1;11711:4:0;11393:330;;;;;:::o;11731:166::-;11828:12;;11818:6;:22;;:49;;;-1:-1:-1;;;;;;11844:23:0;;;;;;:15;:23;;;;;;;;11818:49;11810:79;;;;-1:-1:-1;;;11810:79:0;;12332:2:1;11810:79:0;;;12314:21:1;12371:2;12351:18;;;12344:30;-1:-1:-1;;;12390:18:1;;;12383:47;12447:18;;11810:79:0;12130:341:1;11810:79:0;11731:166;;:::o;13042:197::-;13129:4;;13091;;-1:-1:-1;;;;;13129:4:0;13115:10;:18;;;;:38;;-1:-1:-1;13147:6:0;;;;13146:7;13115:38;:62;;;;-1:-1:-1;13166:11:0;;-1:-1:-1;;;13166:11:0;;;;13115:62;:116;;;;-1:-1:-1;;13218:13:0;;13208:4;13190:24;;;;:9;:24;;;;;;:41;;;13042:197::o;12027:1007::-;12164:18;;12211:4;;12113:7;;12164:18;-1:-1:-1;;;;;12211:4:0;;;12198:17;;;;12195:154;;-1:-1:-1;12245:14:0;;12195:154;;;12290:4;;-1:-1:-1;;;;;12290:4:0;;;12280:14;;;;12277:72;;-1:-1:-1;12324:13:0;;12277:72;12361:17;12381:62;12422:14;;12439:3;12422:20;;;;:::i;:::-;12381:36;12406:10;12381:20;12392:8;;12381:6;:10;;:20;;;;:::i;:62::-;12361:82;;12454:18;12475:36;12502:8;;12475:22;12489:7;;12475:9;:13;;:22;;;;:::i;:36::-;12454:57;-1:-1:-1;12522:22:0;12547:25;:9;12454:57;12547:13;:25::i;:::-;12630:4;12612:24;;;;:9;:24;;;;;;12522:50;;-1:-1:-1;12612:44:0;;12522:50;12612:28;:44::i;:::-;12603:4;12585:24;;;;:9;:24;;;;;;:71;;;;12706:15;;-1:-1:-1;;;;;12706:15:0;12696:26;;;;:42;;12727:10;12696:30;:42::i;:::-;12677:15;;-1:-1:-1;;;;;12677:15:0;;;12667:26;;;;:9;:26;;;;;;;;;:71;;;;12754:47;597:25:1;;;12779:4:0;;12754:47;;;;-1:-1:-1;;;;;;;;;;;12754:47:0;570:18:1;12754:47:0;;;;;;;12835:14;;12832:154;;12880:12;;:28;;12897:10;12880:16;:28::i;:::-;12865:12;:43;12945:4;;12928:34;;597:25:1;;;-1:-1:-1;;;;;12945:4:0;;;;12928:34;;;-1:-1:-1;;;;;;;;;;;12928:34:0;585:2:1;570:18;12928:34:0;;;;;;;12832:154;13005:21;:6;13016:9;13005:10;:21::i;:::-;12998:28;12027:1007;-1:-1:-1;;;;;;;;12027:1007:0:o;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;137:309;202:6;210;263:2;251:9;242:7;238:23;234:32;231:52;;;279:1;276;269:12;231:52;318:9;305:23;337:28;359:5;337:28;:::i;:::-;384:5;436:2;421:18;;;;408:32;;-1:-1:-1;;;137:309:1:o;633:173::-;701:20;;-1:-1:-1;;;;;750:31:1;;740:42;;730:70;;796:1;793;786:12;730:70;633:173;;;:::o;811:186::-;870:6;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;1194:548::-;1306:4;1335:2;1364;1353:9;1346:21;1396:6;1390:13;1439:6;1434:2;1423:9;1419:18;1412:34;1464:1;1474:140;1488:6;1485:1;1482:13;1474:140;;;1583:14;;;1579:23;;1573:30;1549:17;;;1568:2;1545:26;1538:66;1503:10;;1474:140;;;1478:3;1663:1;1658:2;1649:6;1638:9;1634:22;1630:31;1623:42;1733:2;1726;1722:7;1717:2;1709:6;1705:15;1701:29;1690:9;1686:45;1682:54;1674:62;;;;1194:548;;;;:::o;1747:254::-;1815:6;1823;1876:2;1864:9;1855:7;1851:23;1847:32;1844:52;;;1892:1;1889;1882:12;1844:52;1915:29;1934:9;1915:29;:::i;2006:248::-;2074:6;2082;2135:2;2123:9;2114:7;2110:23;2106:32;2103:52;;;2151:1;2148;2141:12;2103:52;-1:-1:-1;;2174:23:1;;;2244:2;2229:18;;;2216:32;;-1:-1:-1;2006:248:1:o;2259:328::-;2336:6;2344;2352;2405:2;2393:9;2384:7;2380:23;2376:32;2373:52;;;2421:1;2418;2411:12;2373:52;2444:29;2463:9;2444:29;:::i;:::-;2434:39;;2492:38;2526:2;2515:9;2511:18;2492:38;:::i;:::-;2482:48;;2577:2;2566:9;2562:18;2549:32;2539:42;;2259:328;;;;;:::o;2781:180::-;2840:6;2893:2;2881:9;2872:7;2868:23;2864:32;2861:52;;;2909:1;2906;2899:12;2861:52;-1:-1:-1;2932:23:1;;2781:180;-1:-1:-1;2781:180:1:o;2966:484::-;3061:6;3069;3077;3085;3093;3146:3;3134:9;3125:7;3121:23;3117:33;3114:53;;;3163:1;3160;3153:12;3114:53;3186:29;3205:9;3186:29;:::i;:::-;3176:39;;3234:38;3268:2;3257:9;3253:18;3234:38;:::i;:::-;3224:48;;3291:38;3325:2;3314:9;3310:18;3291:38;:::i;:::-;3281:48;;3348:38;3382:2;3371:9;3367:18;3348:38;:::i;:::-;3338:48;;3405:39;3439:3;3428:9;3424:19;3405:39;:::i;:::-;3395:49;;2966:484;;;;;;;;:::o;3663:523::-;3767:6;3775;3783;3791;3799;3807;3860:3;3848:9;3839:7;3835:23;3831:33;3828:53;;;3877:1;3874;3867:12;3828:53;-1:-1:-1;;3900:23:1;;;3970:2;3955:18;;3942:32;;-1:-1:-1;4021:2:1;4006:18;;3993:32;;4072:2;4057:18;;4044:32;;-1:-1:-1;4123:3:1;4108:19;;4095:33;;-1:-1:-1;4175:3:1;4160:19;4147:33;;-1:-1:-1;3663:523:1;-1:-1:-1;3663:523:1:o;4191:315::-;4256:6;4264;4317:2;4305:9;4296:7;4292:23;4288:32;4285:52;;;4333:1;4330;4323:12;4285:52;4356:29;4375:9;4356:29;:::i;:::-;4346:39;;4435:2;4424:9;4420:18;4407:32;4448:28;4470:5;4448:28;:::i;:::-;4495:5;4485:15;;;4191:315;;;;;:::o;4511:316::-;4588:6;4596;4604;4657:2;4645:9;4636:7;4632:23;4628:32;4625:52;;;4673:1;4670;4663:12;4625:52;-1:-1:-1;;4696:23:1;;;4766:2;4751:18;;4738:32;;-1:-1:-1;4817:2:1;4802:18;;;4789:32;;4511:316;-1:-1:-1;4511:316:1:o;4832:260::-;4900:6;4908;4961:2;4949:9;4940:7;4936:23;4932:32;4929:52;;;4977:1;4974;4967:12;4929:52;5000:29;5019:9;5000:29;:::i;:::-;4990:39;;5048:38;5082:2;5071:9;5067:18;5048:38;:::i;:::-;5038:48;;4832:260;;;;;:::o;5323:356::-;5525:2;5507:21;;;5544:18;;;5537:30;5603:34;5598:2;5583:18;;5576:62;5670:2;5655:18;;5323:356::o;5684:127::-;5745:10;5740:3;5736:20;5733:1;5726:31;5776:4;5773:1;5766:15;5800:4;5797:1;5790:15;5816:217;5856:1;5882;5872:132;;5926:10;5921:3;5917:20;5914:1;5907:31;5961:4;5958:1;5951:15;5989:4;5986:1;5979:15;5872:132;-1:-1:-1;6018:9:1;;5816:217::o;6038:168::-;6111:9;;;6142;;6159:15;;;6153:22;;6139:37;6129:71;;6180:18;;:::i;6211:184::-;6281:6;6334:2;6322:9;6313:7;6309:23;6305:32;6302:52;;;6350:1;6347;6340:12;6302:52;-1:-1:-1;6373:16:1;;6211:184;-1:-1:-1;6211:184:1:o;6679:245::-;6746:6;6799:2;6787:9;6778:7;6774:23;6770:32;6767:52;;;6815:1;6812;6805:12;6767:52;6847:9;6841:16;6866:28;6888:5;6866:28;:::i;8096:128::-;8163:9;;;8184:11;;;8181:37;;;8198:18;;:::i;8578:125::-;8643:9;;;8664:10;;;8661:36;;;8677:18;;:::i;9627:127::-;9688:10;9683:3;9679:20;9676:1;9669:31;9719:4;9716:1;9709:15;9743:4;9740:1;9733:15;9759:980;10021:4;10069:3;10058:9;10054:19;10100:6;10089:9;10082:25;10126:2;10164:6;10159:2;10148:9;10144:18;10137:34;10207:3;10202:2;10191:9;10187:18;10180:31;10231:6;10266;10260:13;10297:6;10289;10282:22;10335:3;10324:9;10320:19;10313:26;;10374:2;10366:6;10362:15;10348:29;;10395:1;10405:195;10419:6;10416:1;10413:13;10405:195;;;10484:13;;-1:-1:-1;;;;;10480:39:1;10468:52;;10575:15;;;;10540:12;;;;10516:1;10434:9;10405:195;;;-1:-1:-1;;;;;;;10656:32:1;;;;10651:2;10636:18;;10629:60;-1:-1:-1;;;10720:3:1;10705:19;10698:35;10617:3;9759:980;-1:-1:-1;;;9759:980:1:o;11566:306::-;11654:6;11662;11670;11723:2;11711:9;11702:7;11698:23;11694:32;11691:52;;;11739:1;11736;11729:12;11691:52;11768:9;11762:16;11752:26;;11818:2;11807:9;11803:18;11797:25;11787:35;;11862:2;11851:9;11847:18;11841:25;11831:35;;11566:306;;;;;:::o
Swarm Source
ipfs://f3524dc2f9ef9d8d6a1d593090c46ee02e797ac8fb9358f606710ed3c4255cae
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.