ERC-20
Overview
Max Total Supply
500,000,000 Pu
Holders
68
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.83024800736438116 PuValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Plutonium
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-29 */ /* ██████ ██ ██ ██ ████████ ██████ ███ ██ ██ ██ ██ ███ ███ ██████ ██████ ██████ ████████ ██████ ██████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ████ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███████ ██████ ██ ██████ ██ ████ ██ ██████ ██ ██ ██ ██ ██ ██████ ██ ██████ ██████ ██████ ███████ * Telegram: https://t.me/Plutonium_PU94 * Twitter: https://twitter.com/PLUTONIUM_ERC20?t=zjuQhJOAH1HbiXSbJ1gWeg&s=09 * Website: https://plutoniumprotocol.wixsite.com/plutonium */ // SPDX-License-Identifier: MIT 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; 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; } } 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 isOwner() public view returns (bool) { return msg.sender == _owner; } function renouncedOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD)); _owner = address(0x000000000000000000000000000000000000dEaD); } 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 { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Plutonium is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "Plutonium Protocol"; string private _symbol = "Pu"; uint8 private _decimals = 18; address public marketingWallet = 0x2F240186EE0f1ca245dcB972aA69a6A6b7eBeC53; address public developerWallet = 0xfc547eA553cdfE8E4CD3af999B0Ef5b0832e871a; address public liquidityReciever; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; uint256 _buyLiquidityFee = 30; uint256 _buyMarketingFee = 30; uint256 _buyDeveloperFee = 10; uint256 _buyBurnFee = 20; uint256 _sellLiquidityFee = 30; uint256 _sellMarketingFee = 30; uint256 _sellDeveloperFee = 10; uint256 _sellBurnFee = 20; uint256 AmountForLiquidity; uint256 AmountForMarketing; uint256 AmountForDeveloper; uint256 denominator = 1000; uint256 public constant MAX_FEE = 250; //25% uint256 private _totalSupply = 500_000_000 * 10**_decimals; uint256 public minimumTokensBeforeSwap = 1000 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply.mul(10).div(denominator); //1% uint256 public _walletMax = _totalSupply.mul(10).div(denominator); //1% bool public EnableTxLimit = true; bool public checkWalletLimit = true; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; 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)] = ~uint256(0); liquidityReciever = msg.sender; isExcludedFromFee[address(this)] = true; isExcludedFromFee[msg.sender] = true; isExcludedFromFee[marketingWallet] = true; isExcludedFromFee[developerWallet] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(uniswapPair)] = true; isWalletLimitExempt[address(this)] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[address(this)] = true; isMarketPair[address(uniswapPair)] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } /*==================================== | Getters | ====================================*/ 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 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 getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress)); } //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"); require(amount > 0, "Transfer amount must be greater than zero"); if(inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } else { if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) { swapAndLiquify(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = shouldTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) { require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!"); } _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() private lockTheSwap { if(AmountForLiquidity > 0) swapforLiquidity(AmountForLiquidity); if(AmountForMarketing > 0) swapforMarketing(AmountForMarketing); if(AmountForDeveloper > 0) swapforDeveloper(AmountForDeveloper); } function manualSwap() external onlyOwner lockTheSwap { if(AmountForLiquidity > 0) swapforLiquidity(AmountForLiquidity); if(AmountForMarketing > 0) swapforMarketing(AmountForMarketing); if(AmountForDeveloper > 0) swapforDeveloper(AmountForDeveloper); } function swapforLiquidity(uint _token) internal { uint half = _token.div(2); uint Otherhalf = _token.sub(half); uint initalBalance = address(this).balance; swapTokensForEth(half); uint recBalance = address(this).balance.sub(initalBalance); addLiquidity(Otherhalf,recBalance); AmountForLiquidity = AmountForLiquidity.sub(_token); } function swapforMarketing(uint _token) internal { uint initalBalance = address(this).balance; swapTokensForEth(_token); uint recBalance = address(this).balance.sub(initalBalance); (bool os,) = payable(marketingWallet).call{value: recBalance}(""); if(os){} AmountForMarketing = AmountForMarketing.sub(_token); } function swapforDeveloper(uint _token) internal { uint initalBalance = address(this).balance; swapTokensForEth(_token); uint recBalance = address(this).balance.sub(initalBalance); (bool os,) = payable(developerWallet).call{value: recBalance}(""); if(os){} AmountForDeveloper = AmountForDeveloper.sub(_token); } function getFeesInfo() public view returns ( uint256 BuyLiquidity,uint256 BuyMarketing,uint256 BuyDeveloper,uint256 BuyBurn, uint256 SellLiquidity,uint256 SellMarketing,uint256 SellDeveloper,uint256 SellBurn ) { return ( _buyLiquidityFee,_buyMarketingFee,_buyDeveloperFee,_buyBurnFee, _sellLiquidityFee,_sellMarketingFee,_sellDeveloperFee,_sellBurnFee ); } 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, 1, // accept min 1 amount of wei path, address(this), // The contract block.timestamp + 15 ); emit SwapTokensForETH(tokenAmount, path); } 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 liquidityReciever, block.timestamp + 15 ); } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { return true; } else if (isMarketPair[sender] || isMarketPair[recipient]) { return false; } else { return false; } } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint feeAmount; uint LFEE; uint MFEE; uint DFEE; uint BFEE; unchecked { if(isMarketPair[sender]) { LFEE = amount.mul(_buyLiquidityFee).div(denominator); MFEE = amount.mul(_buyMarketingFee).div(denominator); DFEE = amount.mul(_buyDeveloperFee).div(denominator); BFEE = amount.mul(_buyBurnFee).div(denominator); AmountForLiquidity += LFEE; AmountForMarketing += MFEE; AmountForDeveloper += DFEE; feeAmount = LFEE.add(MFEE).add(DFEE); } else if(isMarketPair[recipient]) { LFEE = amount.mul(_sellLiquidityFee).div(denominator); MFEE = amount.mul(_sellMarketingFee).div(denominator); DFEE = amount.mul(_sellDeveloperFee).div(denominator); BFEE = amount.mul(_sellBurnFee).div(denominator); AmountForLiquidity += LFEE; AmountForMarketing += MFEE; AmountForDeveloper += DFEE; feeAmount = LFEE.add(MFEE).add(DFEE); } if(BFEE > 0) { _balances[address(deadAddress)] = _balances[address(deadAddress)].add(BFEE); emit Transfer(sender, address(deadAddress), BFEE); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount).sub(BFEE); } } /*==================================== | Setters | ====================================*/ //To Rescue Stucked Balance function withdrawFunds() public onlyOwner { (bool os,) = payable(msg.sender).call{value: address(this).balance}(""); require(os,"Transaction Failed!!"); } //To Rescue Stucked Tokens function withdrawTokens(IERC20 adr,address recipient,uint amount) public onlyOwner { adr.transfer(recipient,amount); } function enableTxLimit(bool _status) public onlyOwner { EnableTxLimit = _status; } function enableWalletLimit(bool _status) public onlyOwner { checkWalletLimit = _status; } function setBuyFee(uint _newLP , uint _newMarket , uint _newDeveloper, uint _newBurn) public onlyOwner { uint subtotal = _newLP.add(_newMarket).add(_newDeveloper).add(_newBurn); require(subtotal <= MAX_FEE,"Error: Max Tax 25% Limit Exceeded"); _buyLiquidityFee = _newLP; _buyMarketingFee = _newMarket; _buyDeveloperFee = _newDeveloper; _buyBurnFee = _newBurn; } function setSellFee(uint _newLP , uint _newMarket , uint _newDeveloper, uint _newBurn) public onlyOwner { uint subtotal = _newLP.add(_newMarket).add(_newDeveloper).add(_newBurn); require(subtotal <= MAX_FEE,"Error: Max Tax 25% Limit Exceeded"); _sellLiquidityFee = _newLP; _sellMarketingFee = _newMarket; _sellDeveloperFee = _newDeveloper; _sellBurnFee = _newBurn; } function setMarketingWallets(address _market) public onlyOwner { marketingWallet = _market; } function setDeveloperWallets(address _developer) public onlyOwner { developerWallet = _developer; } function setLiquidityWallets(address _liquidityRec) public onlyOwner { liquidityReciever = _liquidityRec; } function setExcludeFromFee(address _adr,bool _status) public onlyOwner { require(isExcludedFromFee[_adr] != _status,"Not Changed!!"); isExcludedFromFee[_adr] = _status; } function ExcludeWalletLimit(address _adr,bool _status) public onlyOwner { require(isWalletLimitExempt[_adr] != _status,"Not Changed!!"); isWalletLimitExempt[_adr] = _status; } function ExcludeTxLimit(address _adr,bool _status) public onlyOwner { require(isTxLimitExempt[_adr] != _status,"Not Changed!!"); isTxLimitExempt[_adr] = _status; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function setMaxWalletLimit(uint256 newLimit) external onlyOwner() { _walletMax = newLimit; } function setTxLimit(uint256 newLimit) external onlyOwner() { _maxTxAmount = newLimit; } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) //Create If Doesnt exist { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapPair = newPairAddress; //Set new pair address uniswapV2Router = _uniswapV2Router; //Set new router address isMarketPair[address(uniswapPair)] = true; } }
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":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ExcludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"ExcludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","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":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"developerWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getFeesInfo","outputs":[{"internalType":"uint256","name":"BuyLiquidity","type":"uint256"},{"internalType":"uint256","name":"BuyMarketing","type":"uint256"},{"internalType":"uint256","name":"BuyDeveloper","type":"uint256"},{"internalType":"uint256","name":"BuyBurn","type":"uint256"},{"internalType":"uint256","name":"SellLiquidity","type":"uint256"},{"internalType":"uint256","name":"SellMarketing","type":"uint256"},{"internalType":"uint256","name":"SellDeveloper","type":"uint256"},{"internalType":"uint256","name":"SellBurn","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":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","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":[],"name":"renouncedOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLP","type":"uint256"},{"internalType":"uint256","name":"_newMarket","type":"uint256"},{"internalType":"uint256","name":"_newDeveloper","type":"uint256"},{"internalType":"uint256","name":"_newBurn","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_developer","type":"address"}],"name":"setDeveloperWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_liquidityRec","type":"address"}],"name":"setLiquidityWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_market","type":"address"}],"name":"setMarketingWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newLP","type":"uint256"},{"internalType":"uint256","name":"_newMarket","type":"uint256"},{"internalType":"uint256","name":"_newDeveloper","type":"uint256"},{"internalType":"uint256","name":"_newBurn","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"withdrawFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"adr","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
610100604052601260c090815271141b1d5d1bdb9a5d5b48141c9bdd1bd8dbdb60721b60e052600190620000349082620006a1565b5060408051808201909152600280825261507560f01b6020830152906200005c9082620006a1565b5060038054742f240186ee0f1ca245dcb972aa69a6a6b7ebec53126001600160a81b0319909116179055600480546001600160a01b03191673fc547ea553cdfe8e4cd3af999b0ef5b0832e871a17905561dead608052600060a052601e600c819055600d819055600a600e8190556014600f819055601083905560119290925560128181556013929092556103e8601755620000f9919062000880565b6200010990631dcd650062000891565b6018556003546200011f9060ff16600a62000880565b6200012d906103e862000891565b6019556200016860175462000154600a601854620004df60201b6200186f1790919060201c565b6200057660201b620018f11790919060201c565b601a556200018f60175462000154600a601854620004df60201b6200186f1790919060201c565b601b55601c805461010161ffff19909116179055601d805460ff60a81b1916600160a81b179055348015620001c357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002839190620008ab565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f79190620008ab565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036b9190620008ab565b601d80546001600160a01b03199081166001600160a01b03938416178255601c805462010000600160b01b031916620100008686168102919091179182905530600081815260076020908152604080832094909504881682529283528381206000199055600580543396168617905581815260088352838120805460ff19908116600190811790925586835285832080548216831790556003546101009004891683528583208054821683179055600454891683528583208054821683179055868352600a8552858320805482168317905587548916835285832080548216831790558383528583208054821683179055868352600b855285832080548216831790559282528482208054841682179055955490961686526009825282862080549091169094179093556018548285526006845281852081905590519081529092917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000949565b600082600003620004f35750600062000570565b600062000501838562000891565b905082620005108583620008d6565b146200056d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b60006200056d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005c060201b60201c565b60008183620005e45760405162461bcd60e51b8152600401620005649190620008f9565b506000620005f38486620008d6565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200062757607f821691505b6020821081036200064857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200069c57600081815260208120601f850160051c81016020861015620006775750805b601f850160051c820191505b81811015620006985782815560010162000683565b5050505b505050565b81516001600160401b03811115620006bd57620006bd620005fc565b620006d581620006ce845462000612565b846200064e565b602080601f8311600181146200070d5760008415620006f45750858301515b600019600386901b1c1916600185901b17855562000698565b600085815260208120601f198616915b828110156200073e578886015182559484019460019091019084016200071d565b50858210156200075d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007c4578160001904821115620007a857620007a86200076d565b80851615620007b657918102915b93841c939080029062000788565b509250929050565b600082620007dd5750600162000570565b81620007ec5750600062000570565b8160018114620008055760028114620008105762000830565b600191505062000570565b60ff8411156200082457620008246200076d565b50506001821b62000570565b5060208310610133831016604e8410600b841016171562000855575081810a62000570565b62000861838362000783565b80600019048211156200087857620008786200076d565b029392505050565b60006200056d60ff841683620007cc565b80820281158282048414176200057057620005706200076d565b600060208284031215620008be57600080fd5b81516001600160a01b03811681146200056d57600080fd5b600082620008f457634e487b7160e01b600052601260045260246000fd5b500490565b600060208083528351808285015260005b8181101562000928578581018301518582016040015282016200090a565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051612cb66200098b600039600081816103670152610d7901526000818161051401528181610db40152818161240a015261244d0152612cb66000f3fe60806040526004361061031e5760003560e01c8063693147c7116101ab578063a9059cbb116100f7578063d2d7ad8311610095578063ee828db31161006f578063ee828db314610a08578063f2fde38b14610a28578063f872858a14610a48578063ffc0a03114610a6757600080fd5b8063d2d7ad831461098c578063dd62ed3e146109a2578063e653da08146109e857600080fd5b8063c0b4d199116100d1578063c0b4d199146108fc578063c49b9a801461091c578063c816841b1461093c578063c867d60b1461095c57600080fd5b8063a9059cbb146108a7578063af9549e0146108c7578063bc063e1a146108e757600080fd5b80638b42507f116101645780638f32d59b1161013e5780638f32d59b1461083257806395d89b411461085257806398e944c814610867578063a457c2d71461088757600080fd5b80638b42507f146107c45780638c5a133d146107f45780638da5cb5b1461081457600080fd5b8063693147c7146106fd57806370a082311461071d578063728d41c91461075357806375f0a874146107735780637d1db4a514610798578063807c2d9c146107ae57600080fd5b8063313ce5671161026a5780634a74bb02116102235780635881f3ef116101fd5780635881f3ef146106835780635c85974f146106a35780635e35359e146106c35780635e42358c146106e357600080fd5b80634a74bb021461061d57806351bc3c851461063e5780635342acb41461065357600080fd5b8063313ce5671461054b57806338ec0b111461056d578063395093511461058d5780633b97084a146105ad5780633ecad271146105cd5780634974d88f146105fd57600080fd5b806318160ddd116102d757806323b872dd116102b157806323b872dd146104cd57806324600fc3146104ed57806327c8f835146105025780632b112e491461053657600080fd5b806318160ddd14610479578063185870f91461049857806320365d5f146104b857600080fd5b806306fdde031461032a5780630930907b14610355578063095ea7b3146103a15780631219a7b3146103d157806313ea1d89146104315780631694505e1461045357600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610a87565b60405161034c91906127de565b60405180910390f35b34801561036157600080fd5b506103897f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161034c565b3480156103ad57600080fd5b506103c16103bc366004612841565b610b19565b604051901515815260200161034c565b3480156103dd57600080fd5b50600c54600d54600e54600f54601054601154601254601354604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161034c565b34801561043d57600080fd5b5061045161044c36600461287b565b610b30565b005b34801561045f57600080fd5b50601c54610389906201000090046001600160a01b031681565b34801561048557600080fd5b506018545b60405190815260200161034c565b3480156104a457600080fd5b50600454610389906001600160a01b031681565b3480156104c457600080fd5b50610451610bce565b3480156104d957600080fd5b506103c16104e83660046128b4565b610c48565b3480156104f957600080fd5b50610451610cb3565b34801561050e57600080fd5b506103897f000000000000000000000000000000000000000000000000000000000000000081565b34801561054257600080fd5b5061048a610d6f565b34801561055757600080fd5b5060035460405160ff909116815260200161034c565b34801561057957600080fd5b5061045161058836600461287b565b610e02565b34801561059957600080fd5b506103c16105a8366004612841565b610e97565b3480156105b957600080fd5b506104516105c83660046128f5565b610ecd565b3480156105d957600080fd5b506103c16105e836600461290e565b60096020526000908152604090205460ff1681565b34801561060957600080fd5b5061045161061836600461292b565b610efc565b34801561062957600080fd5b50601d546103c190600160a81b900460ff1681565b34801561064a57600080fd5b50610451610f40565b34801561065f57600080fd5b506103c161066e36600461290e565b60086020526000908152604090205460ff1681565b34801561068f57600080fd5b5061038961069e36600461290e565b610fc5565b3480156106af57600080fd5b506104516106be3660046128f5565b6112ed565b3480156106cf57600080fd5b506104516106de3660046128b4565b61131c565b3480156106ef57600080fd5b50601c546103c19060ff1681565b34801561070957600080fd5b5061045161071836600461290e565b6113bf565b34801561072957600080fd5b5061048a61073836600461290e565b6001600160a01b031660009081526006602052604090205490565b34801561075f57600080fd5b5061045161076e3660046128f5565b61140b565b34801561077f57600080fd5b506003546103899061010090046001600160a01b031681565b3480156107a457600080fd5b5061048a601a5481565b3480156107ba57600080fd5b5061048a601b5481565b3480156107d057600080fd5b506103c16107df36600461290e565b600b6020526000908152604090205460ff1681565b34801561080057600080fd5b5061045161080f366004612948565b61143a565b34801561082057600080fd5b506000546001600160a01b0316610389565b34801561083e57600080fd5b506000546001600160a01b031633146103c1565b34801561085e57600080fd5b5061033f6114b4565b34801561087357600080fd5b50600554610389906001600160a01b031681565b34801561089357600080fd5b506103c16108a2366004612841565b6114c3565b3480156108b357600080fd5b506103c16108c2366004612841565b611512565b3480156108d357600080fd5b506104516108e236600461287b565b61151f565b3480156108f357600080fd5b5061048a60fa81565b34801561090857600080fd5b5061045161091736600461290e565b6115b4565b34801561092857600080fd5b5061045161093736600461292b565b611606565b34801561094857600080fd5b50601d54610389906001600160a01b031681565b34801561096857600080fd5b506103c161097736600461290e565b600a6020526000908152604090205460ff1681565b34801561099857600080fd5b5061048a60195481565b3480156109ae57600080fd5b5061048a6109bd36600461297a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156109f457600080fd5b50610451610a03366004612948565b611688565b348015610a1457600080fd5b50610451610a2336600461292b565b6116fc565b348015610a3457600080fd5b50610451610a4336600461290e565b611739565b348015610a5457600080fd5b50601c546103c190610100900460ff1681565b348015610a7357600080fd5b50610451610a8236600461290e565b611823565b606060018054610a96906129a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac2906129a8565b8015610b0f5780601f10610ae457610100808354040283529160200191610b0f565b820191906000526020600020905b815481529060010190602001808311610af257829003601f168201915b5050505050905090565b6000610b26338484611933565b5060015b92915050565b6000546001600160a01b03163314610b635760405162461bcd60e51b8152600401610b5a906129e2565b60405180910390fd5b6001600160a01b0382166000908152600b602052604090205481151560ff909116151503610ba35760405162461bcd60e51b8152600401610b5a90612a17565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bf85760405162461bcd60e51b8152600401610b5a906129e2565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000610c55848484611a57565b50610ca88433610ca385604051806060016040528060288152602001612c14602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190611e85565b611933565b5060015b9392505050565b6000546001600160a01b03163314610cdd5760405162461bcd60e51b8152600401610b5a906129e2565b604051600090339047908381818185875af1925050503d8060008114610d1f576040519150601f19603f3d011682016040523d82523d6000602084013e610d24565b606091505b5050905080610d6c5760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610b5a565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260066020526040812054610dfd90610df7610dee7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526006602052604090205490565b60185490611ebf565b90611ebf565b905090565b6000546001600160a01b03163314610e2c5760405162461bcd60e51b8152600401610b5a906129e2565b6001600160a01b0382166000908152600a602052604090205481151560ff909116151503610e6c5760405162461bcd60e51b8152600401610b5a90612a17565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610b26918590610ca39086611f01565b6000546001600160a01b03163314610ef75760405162461bcd60e51b8152600401610b5a906129e2565b601955565b6000546001600160a01b03163314610f265760405162461bcd60e51b8152600401610b5a906129e2565b601c80549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610f6a5760405162461bcd60e51b8152600401610b5a906129e2565b601d805460ff60a01b1916600160a01b17905560145415610f9057610f90601454611f60565b60155415610fa357610fa3601554611fb6565b60165415610fb657610fb6601654612041565b601d805460ff60a01b19169055565b600080546001600160a01b03163314610ff05760405162461bcd60e51b8152600401610b5a906129e2565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110579190612a3e565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c89190612a3e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015611113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111379190612a3e565b91506001600160a01b03821661128e57806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190612a3e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a9190612a3e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128b9190612a3e565b91505b601d80546001600160a01b038085166001600160a01b03199092168217909255601c805493909216620100000262010000600160b01b03199093169290921790556000908152600960205260409020805460ff19166001179055919050565b6000546001600160a01b031633146113175760405162461bcd60e51b8152600401610b5a906129e2565b601a55565b6000546001600160a01b031633146113465760405162461bcd60e51b8152600401610b5a906129e2565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015611395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b99190612a5b565b50505050565b6000546001600160a01b031633146113e95760405162461bcd60e51b8152600401610b5a906129e2565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114355760405162461bcd60e51b8152600401610b5a906129e2565b601b55565b6000546001600160a01b031633146114645760405162461bcd60e51b8152600401610b5a906129e2565b600061147c8261147685818989611f01565b90611f01565b905060fa81111561149f5760405162461bcd60e51b8152600401610b5a90612a78565b50600c93909355600d91909155600e55600f55565b606060028054610a96906129a8565b6000610b263384610ca385604051806060016040528060258152602001612c5c602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190611e85565b6000610ca8338484611a57565b6000546001600160a01b031633146115495760405162461bcd60e51b8152600401610b5a906129e2565b6001600160a01b03821660009081526008602052604090205481151560ff9091161515036115895760405162461bcd60e51b8152600401610b5a90612a17565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146115de5760405162461bcd60e51b8152600401610b5a906129e2565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b031633146116305760405162461bcd60e51b8152600401610b5a906129e2565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061167d90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146116b25760405162461bcd60e51b8152600401610b5a906129e2565b60006116c48261147685818989611f01565b905060fa8111156116e75760405162461bcd60e51b8152600401610b5a90612a78565b50601093909355601191909155601255601355565b6000546001600160a01b031633146117265760405162461bcd60e51b8152600401610b5a906129e2565b601c805460ff1916911515919091179055565b6000546001600160a01b031633146117635760405162461bcd60e51b8152600401610b5a906129e2565b6001600160a01b0381166117c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b5a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461184d5760405162461bcd60e51b8152600401610b5a906129e2565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60008260000361188157506000610b2a565b600061188d8385612acf565b90508261189a8583612ae6565b14610cac5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b5a565b6000610cac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120c8565b6001600160a01b0383166119955760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b5a565b6001600160a01b0382166119f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b5a565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416611abd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b5a565b6001600160a01b038316611b1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b5a565b60008211611b815760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b5a565b601d54600160a01b900460ff1615611ba557611b9e8484846120f6565b9050610cac565b6001600160a01b0384166000908152600b602052604090205460ff16158015611be757506001600160a01b0383166000908152600b602052604090205460ff16155b8015611bf55750601c5460ff165b15611c5d57601a54821115611c5d5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b5a565b3060009081526006602052604090205460195481108015908190611c8b5750601d54600160a01b900460ff16155b8015611cb057506001600160a01b03861660009081526009602052604090205460ff16155b8015611cc55750601d54600160a81b900460ff165b15611cd257611cd2610f6a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260069091529190912054611d24918690611e85565b6001600160a01b038716600090815260066020526040812091909155611d4a87876121ca565b611d5e57611d5987878761226a565b611d60565b845b601c54909150610100900460ff168015611d9357506001600160a01b0386166000908152600a602052604090205460ff16155b15611e0c57601b54611dbe82611476896001600160a01b031660009081526006602052604090205490565b1115611e0c5760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610b5a565b6001600160a01b038616600090815260066020526040902054611e2f9082611f01565b6001600160a01b038088166000818152600660205260409081902093909355915190891690600080516020612c3c83398151915290611e719085815260200190565b60405180910390a360019350505050610cac565b60008184841115611ea95760405162461bcd60e51b8152600401610b5a91906127de565b506000611eb68486612b08565b95945050505050565b6000610cac83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e85565b600080611f0e8385612b1b565b905083811015610cac5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b5a565b6000611f6d8260026118f1565b90506000611f7b8383611ebf565b905047611f8783612531565b6000611f934783611ebf565b9050611f9f83826126f2565b601454611fac9086611ebf565b6014555050505050565b47611fc082612531565b6000611fcc4783611ebf565b6003546040519192506000916101009091046001600160a01b03169083908381818185875af1925050503d8060008114612022576040519150601f19603f3d011682016040523d82523d6000602084013e612027565b606091505b505090506015546120389085611ebf565b60155550505050565b4761204b82612531565b60006120574783611ebf565b6004546040519192506000916001600160a01b039091169083908381818185875af1925050503d80600081146120a9576040519150601f19603f3d011682016040523d82523d6000602084013e6120ae565b606091505b505090506016546120bf9085611ebf565b60165550505050565b600081836120e95760405162461bcd60e51b8152600401610b5a91906127de565b506000611eb68486612ae6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054612147918490611e85565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546121769083611f01565b6001600160a01b038085166000818152600660205260409081902093909355915190861690600080516020612c3c833981519152906121b89086815260200190565b60405180910390a35060019392505050565b6001600160a01b03821660009081526008602052604081205460ff168061220957506001600160a01b03821660009081526008602052604090205460ff165b1561221657506001610b2a565b6001600160a01b03831660009081526009602052604090205460ff168061225557506001600160a01b03821660009081526009602052604090205460ff165b1561226257506000610b2a565b506000610b2a565b6001600160a01b0383166000908152600960205260408120548190819081908190819060ff161561233c576122b66017546122b0600c548a61186f90919063ffffffff16565b906118f1565b93506122d36017546122b0600d548a61186f90919063ffffffff16565b92506122f06017546122b0600e548a61186f90919063ffffffff16565b915061230d6017546122b0600f548a61186f90919063ffffffff16565b6014805486019055601580548501905560168054840190559050612335826114768686611f01565b94506123fa565b6001600160a01b03881660009081526009602052604090205460ff16156123fa576123786017546122b06010548a61186f90919063ffffffff16565b93506123956017546122b06011548a61186f90919063ffffffff16565b92506123b26017546122b06012548a61186f90919063ffffffff16565b91506123cf6017546122b06013548a61186f90919063ffffffff16565b60148054860190556015805485019055601680548401905590506123f7826114768686611f01565b94505b80156124ae576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166000908152600660205260409020546124439082611f01565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660008181526006602052604090819020939093559151908b1690600080516020612c3c833981519152906124a59085815260200190565b60405180910390a35b841561251657306000908152600660205260409020546124ce9086611f01565b30600081815260066020526040908190209290925590516001600160a01b038b1690600080516020612c3c8339815191529061250d9089815260200190565b60405180910390a35b61252481610df78988611ebf565b9998505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061256657612566612b2e565b60200260200101906001600160a01b031690816001600160a01b031681525050601c60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125fd9190612a3e565b8160018151811061261057612610612b2e565b6001600160a01b039283166020918202929092010152601c5461263c9130916201000090041684611933565b601c546201000090046001600160a01b031663791ac947836001843061266342600f612b1b565b6040518663ffffffff1660e01b8152600401612683959493929190612b88565b600060405180830381600087803b15801561269d57600080fd5b505af11580156126b1573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516126e6929190612bc4565b60405180910390a15050565b601c546127109030906201000090046001600160a01b031684611933565b601c546005546001600160a01b036201000090920482169163f305d7199184913091879160009182911661274542600f612b1b565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af11580156127b2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127d79190612be5565b5050505050565b600060208083528351808285015260005b8181101561280b578581018301518582016040015282016127ef565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d6c57600080fd5b6000806040838503121561285457600080fd5b823561285f8161282c565b946020939093013593505050565b8015158114610d6c57600080fd5b6000806040838503121561288e57600080fd5b82356128998161282c565b915060208301356128a98161286d565b809150509250929050565b6000806000606084860312156128c957600080fd5b83356128d48161282c565b925060208401356128e48161282c565b929592945050506040919091013590565b60006020828403121561290757600080fd5b5035919050565b60006020828403121561292057600080fd5b8135610cac8161282c565b60006020828403121561293d57600080fd5b8135610cac8161286d565b6000806000806080858703121561295e57600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561298d57600080fd5b82356129988161282c565b915060208301356128a98161282c565b600181811c908216806129bc57607f821691505b6020821081036129dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c4e6f74204368616e676564212160981b604082015260600190565b600060208284031215612a5057600080fd5b8151610cac8161282c565b600060208284031215612a6d57600080fd5b8151610cac8161286d565b60208082526021908201527f4572726f723a204d61782054617820323525204c696d697420457863656564656040820152601960fa1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b2a57610b2a612ab9565b600082612b0357634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610b2a57610b2a612ab9565b80820180821115610b2a57610b2a612ab9565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015612b7d5781516001600160a01b031687529582019590820190600101612b58565b509495945050505050565b85815284602082015260a060408201526000612ba760a0830186612b44565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000612bdd6040830184612b44565b949350505050565b600080600060608486031215612bfa57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122051d6b413838d668d903a14405b439ef62ebdfd14b1fc713f861622e56426f49464736f6c63430008110033
Deployed Bytecode
0x60806040526004361061031e5760003560e01c8063693147c7116101ab578063a9059cbb116100f7578063d2d7ad8311610095578063ee828db31161006f578063ee828db314610a08578063f2fde38b14610a28578063f872858a14610a48578063ffc0a03114610a6757600080fd5b8063d2d7ad831461098c578063dd62ed3e146109a2578063e653da08146109e857600080fd5b8063c0b4d199116100d1578063c0b4d199146108fc578063c49b9a801461091c578063c816841b1461093c578063c867d60b1461095c57600080fd5b8063a9059cbb146108a7578063af9549e0146108c7578063bc063e1a146108e757600080fd5b80638b42507f116101645780638f32d59b1161013e5780638f32d59b1461083257806395d89b411461085257806398e944c814610867578063a457c2d71461088757600080fd5b80638b42507f146107c45780638c5a133d146107f45780638da5cb5b1461081457600080fd5b8063693147c7146106fd57806370a082311461071d578063728d41c91461075357806375f0a874146107735780637d1db4a514610798578063807c2d9c146107ae57600080fd5b8063313ce5671161026a5780634a74bb02116102235780635881f3ef116101fd5780635881f3ef146106835780635c85974f146106a35780635e35359e146106c35780635e42358c146106e357600080fd5b80634a74bb021461061d57806351bc3c851461063e5780635342acb41461065357600080fd5b8063313ce5671461054b57806338ec0b111461056d578063395093511461058d5780633b97084a146105ad5780633ecad271146105cd5780634974d88f146105fd57600080fd5b806318160ddd116102d757806323b872dd116102b157806323b872dd146104cd57806324600fc3146104ed57806327c8f835146105025780632b112e491461053657600080fd5b806318160ddd14610479578063185870f91461049857806320365d5f146104b857600080fd5b806306fdde031461032a5780630930907b14610355578063095ea7b3146103a15780631219a7b3146103d157806313ea1d89146104315780631694505e1461045357600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610a87565b60405161034c91906127de565b60405180910390f35b34801561036157600080fd5b506103897f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161034c565b3480156103ad57600080fd5b506103c16103bc366004612841565b610b19565b604051901515815260200161034c565b3480156103dd57600080fd5b50600c54600d54600e54600f54601054601154601254601354604080519889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161034c565b34801561043d57600080fd5b5061045161044c36600461287b565b610b30565b005b34801561045f57600080fd5b50601c54610389906201000090046001600160a01b031681565b34801561048557600080fd5b506018545b60405190815260200161034c565b3480156104a457600080fd5b50600454610389906001600160a01b031681565b3480156104c457600080fd5b50610451610bce565b3480156104d957600080fd5b506103c16104e83660046128b4565b610c48565b3480156104f957600080fd5b50610451610cb3565b34801561050e57600080fd5b506103897f000000000000000000000000000000000000000000000000000000000000dead81565b34801561054257600080fd5b5061048a610d6f565b34801561055757600080fd5b5060035460405160ff909116815260200161034c565b34801561057957600080fd5b5061045161058836600461287b565b610e02565b34801561059957600080fd5b506103c16105a8366004612841565b610e97565b3480156105b957600080fd5b506104516105c83660046128f5565b610ecd565b3480156105d957600080fd5b506103c16105e836600461290e565b60096020526000908152604090205460ff1681565b34801561060957600080fd5b5061045161061836600461292b565b610efc565b34801561062957600080fd5b50601d546103c190600160a81b900460ff1681565b34801561064a57600080fd5b50610451610f40565b34801561065f57600080fd5b506103c161066e36600461290e565b60086020526000908152604090205460ff1681565b34801561068f57600080fd5b5061038961069e36600461290e565b610fc5565b3480156106af57600080fd5b506104516106be3660046128f5565b6112ed565b3480156106cf57600080fd5b506104516106de3660046128b4565b61131c565b3480156106ef57600080fd5b50601c546103c19060ff1681565b34801561070957600080fd5b5061045161071836600461290e565b6113bf565b34801561072957600080fd5b5061048a61073836600461290e565b6001600160a01b031660009081526006602052604090205490565b34801561075f57600080fd5b5061045161076e3660046128f5565b61140b565b34801561077f57600080fd5b506003546103899061010090046001600160a01b031681565b3480156107a457600080fd5b5061048a601a5481565b3480156107ba57600080fd5b5061048a601b5481565b3480156107d057600080fd5b506103c16107df36600461290e565b600b6020526000908152604090205460ff1681565b34801561080057600080fd5b5061045161080f366004612948565b61143a565b34801561082057600080fd5b506000546001600160a01b0316610389565b34801561083e57600080fd5b506000546001600160a01b031633146103c1565b34801561085e57600080fd5b5061033f6114b4565b34801561087357600080fd5b50600554610389906001600160a01b031681565b34801561089357600080fd5b506103c16108a2366004612841565b6114c3565b3480156108b357600080fd5b506103c16108c2366004612841565b611512565b3480156108d357600080fd5b506104516108e236600461287b565b61151f565b3480156108f357600080fd5b5061048a60fa81565b34801561090857600080fd5b5061045161091736600461290e565b6115b4565b34801561092857600080fd5b5061045161093736600461292b565b611606565b34801561094857600080fd5b50601d54610389906001600160a01b031681565b34801561096857600080fd5b506103c161097736600461290e565b600a6020526000908152604090205460ff1681565b34801561099857600080fd5b5061048a60195481565b3480156109ae57600080fd5b5061048a6109bd36600461297a565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b3480156109f457600080fd5b50610451610a03366004612948565b611688565b348015610a1457600080fd5b50610451610a2336600461292b565b6116fc565b348015610a3457600080fd5b50610451610a4336600461290e565b611739565b348015610a5457600080fd5b50601c546103c190610100900460ff1681565b348015610a7357600080fd5b50610451610a8236600461290e565b611823565b606060018054610a96906129a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac2906129a8565b8015610b0f5780601f10610ae457610100808354040283529160200191610b0f565b820191906000526020600020905b815481529060010190602001808311610af257829003601f168201915b5050505050905090565b6000610b26338484611933565b5060015b92915050565b6000546001600160a01b03163314610b635760405162461bcd60e51b8152600401610b5a906129e2565b60405180910390fd5b6001600160a01b0382166000908152600b602052604090205481151560ff909116151503610ba35760405162461bcd60e51b8152600401610b5a90612a17565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610bf85760405162461bcd60e51b8152600401610b5a906129e2565b6000805460405161dead926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b03191661dead179055565b6000610c55848484611a57565b50610ca88433610ca385604051806060016040528060288152602001612c14602891396001600160a01b038a1660009081526007602090815260408083203384529091529020549190611e85565b611933565b5060015b9392505050565b6000546001600160a01b03163314610cdd5760405162461bcd60e51b8152600401610b5a906129e2565b604051600090339047908381818185875af1925050503d8060008114610d1f576040519150601f19603f3d011682016040523d82523d6000602084013e610d24565b606091505b5050905080610d6c5760405162461bcd60e51b81526020600482015260146024820152735472616e73616374696f6e204661696c6564212160601b6044820152606401610b5a565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600090815260066020526040812054610dfd90610df7610dee7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526006602052604090205490565b60185490611ebf565b90611ebf565b905090565b6000546001600160a01b03163314610e2c5760405162461bcd60e51b8152600401610b5a906129e2565b6001600160a01b0382166000908152600a602052604090205481151560ff909116151503610e6c5760405162461bcd60e51b8152600401610b5a90612a17565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b3360008181526007602090815260408083206001600160a01b03871684529091528120549091610b26918590610ca39086611f01565b6000546001600160a01b03163314610ef75760405162461bcd60e51b8152600401610b5a906129e2565b601955565b6000546001600160a01b03163314610f265760405162461bcd60e51b8152600401610b5a906129e2565b601c80549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610f6a5760405162461bcd60e51b8152600401610b5a906129e2565b601d805460ff60a01b1916600160a01b17905560145415610f9057610f90601454611f60565b60155415610fa357610fa3601554611fb6565b60165415610fb657610fb6601654612041565b601d805460ff60a01b19169055565b600080546001600160a01b03163314610ff05760405162461bcd60e51b8152600401610b5a906129e2565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110579190612a3e565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c89190612a3e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015611113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111379190612a3e565b91506001600160a01b03821661128e57806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190612a3e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121a9190612a3e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128b9190612a3e565b91505b601d80546001600160a01b038085166001600160a01b03199092168217909255601c805493909216620100000262010000600160b01b03199093169290921790556000908152600960205260409020805460ff19166001179055919050565b6000546001600160a01b031633146113175760405162461bcd60e51b8152600401610b5a906129e2565b601a55565b6000546001600160a01b031633146113465760405162461bcd60e51b8152600401610b5a906129e2565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015611395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b99190612a5b565b50505050565b6000546001600160a01b031633146113e95760405162461bcd60e51b8152600401610b5a906129e2565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114355760405162461bcd60e51b8152600401610b5a906129e2565b601b55565b6000546001600160a01b031633146114645760405162461bcd60e51b8152600401610b5a906129e2565b600061147c8261147685818989611f01565b90611f01565b905060fa81111561149f5760405162461bcd60e51b8152600401610b5a90612a78565b50600c93909355600d91909155600e55600f55565b606060028054610a96906129a8565b6000610b263384610ca385604051806060016040528060258152602001612c5c602591393360009081526007602090815260408083206001600160a01b038d1684529091529020549190611e85565b6000610ca8338484611a57565b6000546001600160a01b031633146115495760405162461bcd60e51b8152600401610b5a906129e2565b6001600160a01b03821660009081526008602052604090205481151560ff9091161515036115895760405162461bcd60e51b8152600401610b5a90612a17565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146115de5760405162461bcd60e51b8152600401610b5a906129e2565b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b031633146116305760405162461bcd60e51b8152600401610b5a906129e2565b601d8054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061167d90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146116b25760405162461bcd60e51b8152600401610b5a906129e2565b60006116c48261147685818989611f01565b905060fa8111156116e75760405162461bcd60e51b8152600401610b5a90612a78565b50601093909355601191909155601255601355565b6000546001600160a01b031633146117265760405162461bcd60e51b8152600401610b5a906129e2565b601c805460ff1916911515919091179055565b6000546001600160a01b031633146117635760405162461bcd60e51b8152600401610b5a906129e2565b6001600160a01b0381166117c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b5a565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461184d5760405162461bcd60e51b8152600401610b5a906129e2565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60008260000361188157506000610b2a565b600061188d8385612acf565b90508261189a8583612ae6565b14610cac5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b5a565b6000610cac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120c8565b6001600160a01b0383166119955760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b5a565b6001600160a01b0382166119f65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b5a565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416611abd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610b5a565b6001600160a01b038316611b1f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610b5a565b60008211611b815760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610b5a565b601d54600160a01b900460ff1615611ba557611b9e8484846120f6565b9050610cac565b6001600160a01b0384166000908152600b602052604090205460ff16158015611be757506001600160a01b0383166000908152600b602052604090205460ff16155b8015611bf55750601c5460ff165b15611c5d57601a54821115611c5d5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610b5a565b3060009081526006602052604090205460195481108015908190611c8b5750601d54600160a01b900460ff16155b8015611cb057506001600160a01b03861660009081526009602052604090205460ff16155b8015611cc55750601d54600160a81b900460ff165b15611cd257611cd2610f6a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260069091529190912054611d24918690611e85565b6001600160a01b038716600090815260066020526040812091909155611d4a87876121ca565b611d5e57611d5987878761226a565b611d60565b845b601c54909150610100900460ff168015611d9357506001600160a01b0386166000908152600a602052604090205460ff16155b15611e0c57601b54611dbe82611476896001600160a01b031660009081526006602052604090205490565b1115611e0c5760405162461bcd60e51b815260206004820152601b60248201527f4d61782057616c6c6574204c696d6974204578636565646564212100000000006044820152606401610b5a565b6001600160a01b038616600090815260066020526040902054611e2f9082611f01565b6001600160a01b038088166000818152600660205260409081902093909355915190891690600080516020612c3c83398151915290611e719085815260200190565b60405180910390a360019350505050610cac565b60008184841115611ea95760405162461bcd60e51b8152600401610b5a91906127de565b506000611eb68486612b08565b95945050505050565b6000610cac83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e85565b600080611f0e8385612b1b565b905083811015610cac5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b5a565b6000611f6d8260026118f1565b90506000611f7b8383611ebf565b905047611f8783612531565b6000611f934783611ebf565b9050611f9f83826126f2565b601454611fac9086611ebf565b6014555050505050565b47611fc082612531565b6000611fcc4783611ebf565b6003546040519192506000916101009091046001600160a01b03169083908381818185875af1925050503d8060008114612022576040519150601f19603f3d011682016040523d82523d6000602084013e612027565b606091505b505090506015546120389085611ebf565b60155550505050565b4761204b82612531565b60006120574783611ebf565b6004546040519192506000916001600160a01b039091169083908381818185875af1925050503d80600081146120a9576040519150601f19603f3d011682016040523d82523d6000602084013e6120ae565b606091505b505090506016546120bf9085611ebf565b60165550505050565b600081836120e95760405162461bcd60e51b8152600401610b5a91906127de565b506000611eb68486612ae6565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054612147918490611e85565b6001600160a01b0380861660009081526006602052604080822093909355908516815220546121769083611f01565b6001600160a01b038085166000818152600660205260409081902093909355915190861690600080516020612c3c833981519152906121b89086815260200190565b60405180910390a35060019392505050565b6001600160a01b03821660009081526008602052604081205460ff168061220957506001600160a01b03821660009081526008602052604090205460ff165b1561221657506001610b2a565b6001600160a01b03831660009081526009602052604090205460ff168061225557506001600160a01b03821660009081526009602052604090205460ff165b1561226257506000610b2a565b506000610b2a565b6001600160a01b0383166000908152600960205260408120548190819081908190819060ff161561233c576122b66017546122b0600c548a61186f90919063ffffffff16565b906118f1565b93506122d36017546122b0600d548a61186f90919063ffffffff16565b92506122f06017546122b0600e548a61186f90919063ffffffff16565b915061230d6017546122b0600f548a61186f90919063ffffffff16565b6014805486019055601580548501905560168054840190559050612335826114768686611f01565b94506123fa565b6001600160a01b03881660009081526009602052604090205460ff16156123fa576123786017546122b06010548a61186f90919063ffffffff16565b93506123956017546122b06011548a61186f90919063ffffffff16565b92506123b26017546122b06012548a61186f90919063ffffffff16565b91506123cf6017546122b06013548a61186f90919063ffffffff16565b60148054860190556015805485019055601680548401905590506123f7826114768686611f01565b94505b80156124ae576001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead166000908152600660205260409020546124439082611f01565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000dead811660008181526006602052604090819020939093559151908b1690600080516020612c3c833981519152906124a59085815260200190565b60405180910390a35b841561251657306000908152600660205260409020546124ce9086611f01565b30600081815260066020526040908190209290925590516001600160a01b038b1690600080516020612c3c8339815191529061250d9089815260200190565b60405180910390a35b61252481610df78988611ebf565b9998505050505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061256657612566612b2e565b60200260200101906001600160a01b031690816001600160a01b031681525050601c60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125fd9190612a3e565b8160018151811061261057612610612b2e565b6001600160a01b039283166020918202929092010152601c5461263c9130916201000090041684611933565b601c546201000090046001600160a01b031663791ac947836001843061266342600f612b1b565b6040518663ffffffff1660e01b8152600401612683959493929190612b88565b600060405180830381600087803b15801561269d57600080fd5b505af11580156126b1573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516126e6929190612bc4565b60405180910390a15050565b601c546127109030906201000090046001600160a01b031684611933565b601c546005546001600160a01b036201000090920482169163f305d7199184913091879160009182911661274542600f612b1b565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af11580156127b2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127d79190612be5565b5050505050565b600060208083528351808285015260005b8181101561280b578581018301518582016040015282016127ef565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d6c57600080fd5b6000806040838503121561285457600080fd5b823561285f8161282c565b946020939093013593505050565b8015158114610d6c57600080fd5b6000806040838503121561288e57600080fd5b82356128998161282c565b915060208301356128a98161286d565b809150509250929050565b6000806000606084860312156128c957600080fd5b83356128d48161282c565b925060208401356128e48161282c565b929592945050506040919091013590565b60006020828403121561290757600080fd5b5035919050565b60006020828403121561292057600080fd5b8135610cac8161282c565b60006020828403121561293d57600080fd5b8135610cac8161286d565b6000806000806080858703121561295e57600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561298d57600080fd5b82356129988161282c565b915060208301356128a98161282c565b600181811c908216806129bc57607f821691505b6020821081036129dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c4e6f74204368616e676564212160981b604082015260600190565b600060208284031215612a5057600080fd5b8151610cac8161282c565b600060208284031215612a6d57600080fd5b8151610cac8161286d565b60208082526021908201527f4572726f723a204d61782054617820323525204c696d697420457863656564656040820152601960fa1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b2a57610b2a612ab9565b600082612b0357634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610b2a57610b2a612ab9565b80820180821115610b2a57610b2a612ab9565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015612b7d5781516001600160a01b031687529582019590820190600101612b58565b509495945050505050565b85815284602082015260a060408201526000612ba760a0830186612b44565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201526000612bdd6040830184612b44565b949350505050565b600080600060608486031215612bfa57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122051d6b413838d668d903a14405b439ef62ebdfd14b1fc713f861622e56426f49464736f6c63430008110033
Deployed Bytecode Sourcemap
6327:17562:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10050:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6842:81;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;731:32:1;;;713:51;;701:2;686:18;6842:81:0;567:203:1;11220:161:0;;;;;;;;;;-1:-1:-1;11220:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;11220:161:0;1231:187:1;16203:420:0;;;;;;;;;;-1:-1:-1;16465:16:0;;16482;;16499;;16516:11;;16538:17;;16556;;16574;;16592:12;;16203:420;;;1766:25:1;;;1822:2;1807:18;;1800:34;;;;1850:18;;;1843:34;;;;1908:2;1893:18;;1886:34;;;;1951:3;1936:19;;1929:35;1995:3;1980:19;;1973:35;2039:3;2024:19;;2017:35;2083:3;2068:19;;2061:35;1753:3;1738:19;16203:420:0;1423:679:1;22408:186:0;;;;;;;;;;-1:-1:-1;22408:186:0;;;;;:::i;:::-;;:::i;:::-;;8156:41;;;;;;;;;;-1:-1:-1;8156:41:0;;;;;;;-1:-1:-1;;;;;8156:41:0;;;10327:100;;;;;;;;;;-1:-1:-1;10407:12:0;;10327:100;;;2997:25:1;;;2985:2;2970:18;10327:100:0;2851:177:1;6631:75:0;;;;;;;;;;-1:-1:-1;6631:75:0;;;;-1:-1:-1;;;;;6631:75:0;;;4922:231;;;;;;;;;;;;;:::i;12171:313::-;;;;;;;;;;-1:-1:-1;12171:313:0;;;;;:::i;:::-;;:::i;20193:178::-;;;;;;;;;;;;;:::i;6754:81::-;;;;;;;;;;;;;;;11738:156;;;;;;;;;;;;;:::i;10236:83::-;;;;;;;;;;-1:-1:-1;10302:9:0;;10236:83;;10302:9;;;;3636:36:1;;3624:2;3609:18;10236:83:0;3494:184:1;22202:198:0;;;;;;;;;;-1:-1:-1;22202:198:0;;;;;:::i;:::-;;:::i;10717:218::-;;;;;;;;;;-1:-1:-1;10717:218:0;;;;;:::i;:::-;;:::i;22602:124::-;;;;;;;;;;-1:-1:-1;22602:124:0;;;;;:::i;:::-;;:::i;7120:45::-;;;;;;;;;;-1:-1:-1;7120:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20655:103;;;;;;;;;;-1:-1:-1;20655:103:0;;;;;:::i;:::-;;:::i;8271:40::-;;;;;;;;;;-1:-1:-1;8271:40:0;;;;-1:-1:-1;;;8271:40:0;;;;;;14752:283;;;;;;;;;;;;;:::i;7063:50::-;;;;;;;;;;-1:-1:-1;7063:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;23136:748;;;;;;;;;;-1:-1:-1;23136:748:0;;;;;:::i;:::-;;:::i;22848:101::-;;;;;;;;;;-1:-1:-1;22848:101:0;;;;;:::i;:::-;;:::i;20411:132::-;;;;;;;;;;-1:-1:-1;20411:132:0;;;;;:::i;:::-;;:::i;8073:32::-;;;;;;;;;;-1:-1:-1;8073:32:0;;;;;;;;21751:113;;;;;;;;;;-1:-1:-1;21751:113:0;;;;;:::i;:::-;;:::i;10435:123::-;;;;;;;;;;-1:-1:-1;10435:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;10527:18:0;10501:7;10527:18;;;:9;:18;;;;;;;10435:123;22734:106;;;;;;;;;;-1:-1:-1;22734:106:0;;;;;:::i;:::-;;:::i;6549:75::-;;;;;;;;;;-1:-1:-1;6549:75:0;;;;;;;-1:-1:-1;;;;;6549:75:0;;;7907:68;;;;;;;;;;;;;;;;7991:65;;;;;;;;;;;;;;;;7231:48;;;;;;;;;;-1:-1:-1;7231:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;20766:421;;;;;;;;;;-1:-1:-1;20766:421:0;;;;;:::i;:::-;;:::i;4597:79::-;;;;;;;;;;-1:-1:-1;4635:7:0;4662:6;-1:-1:-1;;;;;4662:6:0;4597:79;;4822:92;;;;;;;;;;-1:-1:-1;4862:4:0;4900:6;-1:-1:-1;;;;;4900:6:0;4886:10;:20;4822:92;;10141:87;;;;;;;;;;;;;:::i;6713:32::-;;;;;;;;;;-1:-1:-1;6713:32:0;;;;-1:-1:-1;;;;;6713:32:0;;;10943:269;;;;;;;;;;-1:-1:-1;10943:269:0;;;;;:::i;:::-;;:::i;11996:167::-;;;;;;;;;;-1:-1:-1;11996:167:0;;;;;:::i;:::-;;:::i;22001:193::-;;;;;;;;;;-1:-1:-1;22001:193:0;;;;;:::i;:::-;;:::i;7714:37::-;;;;;;;;;;;;7748:3;7714:37;;21636:107;;;;;;;;;;-1:-1:-1;21636:107:0;;;;;:::i;:::-;;:::i;22957:171::-;;;;;;;;;;-1:-1:-1;22957:171:0;;;;;:::i;:::-;;:::i;8204:26::-;;;;;;;;;;-1:-1:-1;8204:26:0;;;;-1:-1:-1;;;;;8204:26:0;;;7172:52;;;;;;;;;;-1:-1:-1;7172:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7837:61;;;;;;;;;;;;;;;;10566:143;;;;;;;;;;-1:-1:-1;10566:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;10674:18:0;;;10647:7;10674:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10566:143;21195:433;;;;;;;;;;-1:-1:-1;21195:433:0;;;;;:::i;:::-;;:::i;20551:96::-;;;;;;;;;;-1:-1:-1;20551:96:0;;;;;:::i;:::-;;:::i;5161:244::-;;;;;;;;;;-1:-1:-1;5161:244:0;;;;;:::i;:::-;;:::i;8112:35::-;;;;;;;;;;-1:-1:-1;8112:35:0;;;;;;;;;;;21872:121;;;;;;;;;;-1:-1:-1;21872:121:0;;;;;:::i;:::-;;:::i;10050:83::-;10087:13;10120:5;10113:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10050:83;:::o;11220:161::-;11295:4;11312:39;2206:10;11335:7;11344:6;11312:8;:39::i;:::-;-1:-1:-1;11369:4:0;11220:161;;;;;:::o;22408:186::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;22495:21:0;::::1;;::::0;;;:15:::1;:21;::::0;;;;;:32;::::1;;:21;::::0;;::::1;:32;;::::0;22487:57:::1;;;;-1:-1:-1::0;;;22487:57:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22555:21:0;;;::::1;;::::0;;;:15:::1;:21;::::0;;;;:31;;-1:-1:-1;;22555:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22408:186::o;4922:231::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;5014:6:::1;::::0;;4993:81:::1;::::0;5030:42:::1;::::0;-1:-1:-1;;;;;5014:6:0;;::::1;::::0;4993:81:::1;::::0;::::1;5085:6;:60:::0;;-1:-1:-1;;;;;;5085:60:0::1;5102:42;5085:60;::::0;;4922:231::o;12171:313::-;12269:4;12286:36;12296:6;12304:9;12315:6;12286:9;:36::i;:::-;-1:-1:-1;12333:121:0;12342:6;2206:10;12364:89;12402:6;12364:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12364:19:0;;;;;;:11;:19;;;;;;;;2206:10;12364:33;;;;;;;;;;:37;:89::i;:::-;12333:8;:121::i;:::-;-1:-1:-1;12472:4:0;12171:313;;;;;;:::o;20193:178::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;20260:58:::1;::::0;20248:7:::1;::::0;20268:10:::1;::::0;20292:21:::1;::::0;20248:7;20260:58;20248:7;20260:58;20292:21;20268:10;20260:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20247:71;;;20337:2;20329:34;;;::::0;-1:-1:-1;;;20329:34:0;;7123:2:1;20329:34:0::1;::::0;::::1;7105:21:1::0;7162:2;7142:18;;;7135:30;-1:-1:-1;;;7181:18:1;;;7174:50;7241:18;;20329:34:0::1;6921:344:1::0;20329:34:0::1;20235:136;20193:178::o:0;11738:156::-;-1:-1:-1;;;;;11873:11:0;10527:18;11791:7;10527:18;;;:9;:18;;;;;;11818:68;;:40;11835:22;11845:11;-1:-1:-1;;;;;10527:18:0;10501:7;10527:18;;;:9;:18;;;;;;;10435:123;11835:22;11818:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;11811:75;;11738:156;:::o;22202:198::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22293:25:0;::::1;;::::0;;;:19:::1;:25;::::0;;;;;:36;::::1;;:25;::::0;;::::1;:36;;::::0;22285:61:::1;;;;-1:-1:-1::0;;;22285:61:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22357:25:0;;;::::1;;::::0;;;:19:::1;:25;::::0;;;;:35;;-1:-1:-1;;22357:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22202:198::o;10717:218::-;2206:10;10805:4;10854:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;10854:34:0;;;;;;;;;;10805:4;;10822:83;;10845:7;;10854:50;;10893:10;10854:38;:50::i;22602:124::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;22684:23:::1;:34:::0;22602:124::o;20655:103::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;20724:16:::1;:26:::0;;;::::1;;;;-1:-1:-1::0;;20724:26:0;;::::1;::::0;;;::::1;::::0;;20655:103::o;14752:283::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;8736:16:::1;:23:::0;;-1:-1:-1;;;;8736:23:0::1;-1:-1:-1::0;;;8736:23:0::1;::::0;;:16:::1;14819:18:::0;:22;14816:63:::2;;14843:36;14860:18;;14843:16;:36::i;:::-;14893:18;::::0;:22;14890:63:::2;;14917:36;14934:18;;14917:16;:36::i;:::-;14967:18;::::0;:22;14964:63:::2;;14991:36;15008:18;;14991:16;:36::i;:::-;8782:16:::1;:24:::0;;-1:-1:-1;;;;8782:24:0::1;::::0;;14752:283::o;23136:748::-;23216:22;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;23253:35:::1;23310:16;23253:74;;23376:16;-1:-1:-1::0;;;;;23376:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23358:53:0::1;;23420:4;23427:16;-1:-1:-1::0;;;;;23427:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23358:93;::::0;-1:-1:-1;;;;;;23358:93:0::1;::::0;;;;;;-1:-1:-1;;;;;7756:15:1;;;23358:93:0::1;::::0;::::1;7738:34:1::0;7808:15;;7788:18;;;7781:43;7673:18;;23358:93:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23341:110:::0;-1:-1:-1;;;;;;23467:28:0;::::1;23464:225;;23581:16;-1:-1:-1::0;;;;;23581:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23563:74:0::1;;23646:4;23653:16;-1:-1:-1::0;;;;;23653:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23563:114;::::0;-1:-1:-1;;;;;;23563:114:0::1;::::0;;;;;;-1:-1:-1;;;;;7756:15:1;;;23563:114:0::1;::::0;::::1;7738:34:1::0;7808:15;;7788:18;;;7781:43;7673:18;;23563:114:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23546:131;;23464:225;23701:11;:28:::0;;-1:-1:-1;;;;;23701:28:0;;::::1;-1:-1:-1::0;;;;;;23701:28:0;;::::1;::::0;::::1;::::0;;;23763:15:::1;:34:::0;;;;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;23763:34:0;;::::1;::::0;;;::::1;::::0;;23701:11:::1;23835:34:::0;;;:12:::1;:34;::::0;;;;:41;;-1:-1:-1;;23835:41:0::1;23701:28:::0;23835:41:::1;::::0;;23715:14;23136:748;-1:-1:-1;23136:748:0:o;22848:101::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;22918:12:::1;:23:::0;22848:101::o;20411:132::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;20505:30:::1;::::0;-1:-1:-1;;;20505:30:0;;-1:-1:-1;;;;;8027:32:1;;;20505:30:0::1;::::0;::::1;8009:51:1::0;8076:18;;;8069:34;;;20505:12:0;::::1;::::0;::::1;::::0;7982:18:1;;20505:30:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20411:132:::0;;;:::o;21751:113::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;21828:15:::1;:28:::0;;-1:-1:-1;;;;;;21828:28:0::1;-1:-1:-1::0;;;;;21828:28:0;;;::::1;::::0;;;::::1;::::0;;21751:113::o;22734:106::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;22811:10:::1;:21:::0;22734:106::o;20766:421::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;20881:13:::1;20897:55;20943:8:::0;20897:41:::1;20924:13:::0;20897:41;:6;20908:10;20897::::1;:22::i;:::-;:26:::0;::::1;:41::i;:55::-;20881:71;;7748:3;20971:8;:19;;20963:64;;;;-1:-1:-1::0;;;20963:64:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;21038:16:0::1;:25:::0;;;;21074:16:::1;:29:::0;;;;21114:16:::1;:32:::0;21157:11:::1;:22:::0;20766:421::o;10141:87::-;10180:13;10213:7;10206:14;;;;;:::i;10943:269::-;11036:4;11053:129;2206:10;11076:7;11085:96;11124:15;11085:96;;;;;;;;;;;;;;;;;2206:10;11085:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;11085:34:0;;;;;;;;;;;;:38;:96::i;11996:167::-;12074:4;12091:42;2206:10;12115:9;12126:6;12091:9;:42::i;22001:193::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22091:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;:34;::::1;;:23;::::0;;::::1;:34;;::::0;22083:59:::1;;;;-1:-1:-1::0;;;22083:59:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22153:23:0;;;::::1;;::::0;;;:17:::1;:23;::::0;;;;:33;;-1:-1:-1;;22153:33:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22001:193::o;21636:107::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;21710:15:::1;:25:::0;;-1:-1:-1;;;;;21710:25:0;;::::1;;;-1:-1:-1::0;;;;;;21710:25:0;;::::1;::::0;;;::::1;::::0;;21636:107::o;22957:171::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;23034:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;23034:32:0::1;-1:-1:-1::0;;;;23034:32:0;;::::1;;::::0;;23082:38:::1;::::0;::::1;::::0;::::1;::::0;23058:8;1396:14:1;1389:22;1371:41;;1359:2;1344:18;;1231:187;23082:38:0::1;;;;;;;;22957:171:::0;:::o;21195:433::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;21318:13:::1;21334:55;21380:8:::0;21334:41:::1;21361:13:::0;21334:41;:6;21345:10;21334::::1;:22::i;:55::-;21318:71;;7748:3;21408:8;:19;;21400:64;;;;-1:-1:-1::0;;;21400:64:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;21475:17:0::1;:26:::0;;;;21512:17:::1;:30:::0;;;;21553:17:::1;:33:::0;21597:12:::1;:23:::0;21195:433::o;20551:96::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;20616:13:::1;:23:::0;;-1:-1:-1;;20616:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20551:96::o;5161:244::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5250:22:0;::::1;5242:73;;;::::0;-1:-1:-1;;;5242:73:0;;8968:2:1;5242:73:0::1;::::0;::::1;8950:21:1::0;9007:2;8987:18;;;8980:30;9046:34;9026:18;;;9019:62;-1:-1:-1;;;9097:18:1;;;9090:36;9143:19;;5242:73:0::1;8766:402:1::0;5242:73:0::1;5352:6;::::0;;5331:38:::1;::::0;-1:-1:-1;;;;;5331:38:0;;::::1;::::0;5352:6;::::1;::::0;5331:38:::1;::::0;::::1;5380:6;:17:::0;;-1:-1:-1;;;;;;5380:17:0::1;-1:-1:-1::0;;;;;5380:17:0;;;::::1;::::0;;;::::1;::::0;;5161:244::o;21872:121::-;4731:6;;-1:-1:-1;;;;;4731:6:0;2206:10;4731:22;4723:67;;;;-1:-1:-1;;;4723:67:0;;;;;;;:::i;:::-;21952:17:::1;:33:::0;;-1:-1:-1;;;;;;21952:33:0::1;-1:-1:-1::0;;;;;21952:33:0;;;::::1;::::0;;;::::1;::::0;;21872:121::o;3592:250::-;3650:7;3674:1;3679;3674:6;3670:47;;-1:-1:-1;3704:1:0;3697:8;;3670:47;3729:9;3741:5;3745:1;3741;:5;:::i;:::-;3729:17;-1:-1:-1;3774:1:0;3765:5;3769:1;3729:17;3765:5;:::i;:::-;:10;3757:56;;;;-1:-1:-1;;;3757:56:0;;9902:2:1;3757:56:0;;;9884:21:1;9941:2;9921:18;;;9914:30;9980:34;9960:18;;;9953:62;-1:-1:-1;;;10031:18:1;;;10024:31;10072:19;;3757:56:0;9700:397:1;3850:132:0;3908:7;3935:39;3939:1;3942;3935:39;;;;;;;;;;;;;;;;;:3;:39::i;11389:337::-;-1:-1:-1;;;;;11482:19:0;;11474:68;;;;-1:-1:-1;;;11474:68:0;;10304:2:1;11474:68:0;;;10286:21:1;10343:2;10323:18;;;10316:30;10382:34;10362:18;;;10355:62;-1:-1:-1;;;10433:18:1;;;10426:34;10477:19;;11474:68:0;10102:400:1;11474:68:0;-1:-1:-1;;;;;11561:21:0;;11553:68;;;;-1:-1:-1;;;11553:68:0;;10709:2:1;11553:68:0;;;10691:21:1;10748:2;10728:18;;;10721:30;10787:34;10767:18;;;10760:62;-1:-1:-1;;;10838:18:1;;;10831:32;10880:19;;11553:68:0;10507:398:1;11553:68:0;-1:-1:-1;;;;;11634:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11686:32;;2997:25:1;;;11686:32:0;;2970:18:1;11686:32:0;;;;;;;11389:337;;;:::o;12492:1626::-;12579:4;-1:-1:-1;;;;;12606:20:0;;12598:70;;;;-1:-1:-1;;;12598:70:0;;11112:2:1;12598:70:0;;;11094:21:1;11151:2;11131:18;;;11124:30;11190:34;11170:18;;;11163:62;-1:-1:-1;;;11241:18:1;;;11234:35;11286:19;;12598:70:0;10910:401:1;12598:70:0;-1:-1:-1;;;;;12687:23:0;;12679:71;;;;-1:-1:-1;;;12679:71:0;;11518:2:1;12679:71:0;;;11500:21:1;11557:2;11537:18;;;11530:30;11596:34;11576:18;;;11569:62;-1:-1:-1;;;11647:18:1;;;11640:33;11690:19;;12679:71:0;11316:399:1;12679:71:0;12778:1;12769:6;:10;12761:64;;;;-1:-1:-1;;;12761:64:0;;11922:2:1;12761:64:0;;;11904:21:1;11961:2;11941:18;;;11934:30;12000:34;11980:18;;;11973:62;-1:-1:-1;;;12051:18:1;;;12044:39;12100:19;;12761:64:0;11720:405:1;12761:64:0;12841:16;;-1:-1:-1;;;12841:16:0;;;;12838:1273;;;12891:41;12906:6;12914:9;12925:6;12891:14;:41::i;:::-;12884:48;;;;12838:1273;-1:-1:-1;;;;;12990:23:0;;;;;;:15;:23;;;;;;;;12989:24;:55;;;;-1:-1:-1;;;;;;13018:26:0;;;;;;:15;:26;;;;;;;;13017:27;12989:55;:72;;;;-1:-1:-1;13048:13:0;;;;12989:72;12986:187;;;13100:12;;13090:6;:22;;13082:75;;;;-1:-1:-1;;;13082:75:0;;12332:2:1;13082:75:0;;;12314:21:1;12371:2;12351:18;;;12344:30;12410:34;12390:18;;;12383:62;-1:-1:-1;;;12461:18:1;;;12454:38;12509:19;;13082:75:0;12130:404:1;13082:75:0;13239:4;13190:28;10527:18;;;:9;:18;;;;;;13315:23;;13291:47;;;;;;;13371:44;;-1:-1:-1;13399:16:0;;-1:-1:-1;;;13399:16:0;;;;13398:17;13371:44;:69;;;;-1:-1:-1;;;;;;13420:20:0;;;;;;:12;:20;;;;;;;;13419:21;13371:69;:94;;;;-1:-1:-1;13444:21:0;;-1:-1:-1;;;13444:21:0;;;;13371:94;13367:165;;;13500:16;:14;:16::i;:::-;13568:53;;;;;;;;;;;-1:-1:-1;;;13568:53:0;;;;;;;;-1:-1:-1;;;;;13568:17:0;;-1:-1:-1;13568:17:0;;;:9;:17;;;;;;;;:53;;13590:6;;13568:21;:53::i;:::-;-1:-1:-1;;;;;13548:17:0;;;;;;:9;:17;;;;;:73;;;;13660:31;13558:6;13681:9;13660:13;:31::i;:::-;:77;;13703:34;13711:6;13719:9;13730:6;13703:7;:34::i;:::-;13660:77;;;13694:6;13660:77;13757:16;;13638:99;;-1:-1:-1;13757:16:0;;;;;:51;;;;-1:-1:-1;;;;;;13778:30:0;;;;;;:19;:30;;;;;;;;13777:31;13757:51;13754:181;;;13878:10;;13837:37;13862:11;13837:20;13847:9;-1:-1:-1;;;;;10527:18:0;10501:7;10527:18;;;:9;:18;;;;;;;10435:123;13837:37;:51;;13829:90;;;;-1:-1:-1;;;13829:90:0;;12741:2:1;13829:90:0;;;12723:21:1;12780:2;12760:18;;;12753:30;12819:29;12799:18;;;12792:57;12866:18;;13829:90:0;12539:351:1;13829:90:0;-1:-1:-1;;;;;13974:20:0;;;;;;:9;:20;;;;;;:37;;13999:11;13974:24;:37::i;:::-;-1:-1:-1;;;;;13951:20:0;;;;;;;:9;:20;;;;;;;:60;;;;14033:40;;;;;;-1:-1:-1;;;;;;;;;;;14033:40:0;;;14061:11;2997:25:1;;2985:2;2970:18;;2851:177;14033:40:0;;;;;;;;14095:4;14088:11;;;;;;;3392:192;3478:7;3514:12;3506:6;;;;3498:29;;;;-1:-1:-1;;;3498:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3538:9:0;3550:5;3554:1;3550;:5;:::i;:::-;3538:17;3392:192;-1:-1:-1;;;;;3392:192:0:o;3248:136::-;3306:7;3333:43;3337:1;3340;3333:43;;;;;;;;;;;;;;;;;:3;:43::i;3059:181::-;3117:7;;3149:5;3153:1;3149;:5;:::i;:::-;3137:17;;3178:1;3173;:6;;3165:46;;;;-1:-1:-1;;;3165:46:0;;13360:2:1;3165:46:0;;;13342:21:1;13399:2;13379:18;;;13372:30;13438:29;13418:18;;;13411:57;13485:18;;3165:46:0;13158:351:1;15043:398:0;15102:9;15114:13;:6;15125:1;15114:10;:13::i;:::-;15102:25;-1:-1:-1;15138:14:0;15155:16;:6;15102:25;15155:10;:16::i;:::-;15138:33;-1:-1:-1;15203:21:0;15235:22;15252:4;15235:16;:22::i;:::-;15268:15;15286:40;:21;15312:13;15286:25;:40::i;:::-;15268:58;;15337:34;15350:9;15360:10;15337:12;:34::i;:::-;15403:18;;:30;;15426:6;15403:22;:30::i;:::-;15382:18;:51;-1:-1:-1;;;;;15043:398:0:o;15449:369::-;15529:21;15561:24;15578:6;15561:16;:24::i;:::-;15596:15;15614:40;:21;15640:13;15614:25;:40::i;:::-;15686:15;;15678:52;;15596:58;;-1:-1:-1;15666:7:0;;15686:15;;;;-1:-1:-1;;;;;15686:15:0;;15596:58;;15666:7;15678:52;15666:7;15678:52;15596:58;15686:15;15678:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15665:65;;;15780:18;;:30;;15803:6;15780:22;:30::i;:::-;15759:18;:51;-1:-1:-1;;;;15449:369:0:o;15826:::-;15906:21;15938:24;15955:6;15938:16;:24::i;:::-;15973:15;15991:40;:21;16017:13;15991:25;:40::i;:::-;16063:15;;16055:52;;15973:58;;-1:-1:-1;16043:7:0;;-1:-1:-1;;;;;16063:15:0;;;;15973:58;;16043:7;16055:52;16043:7;16055:52;15973:58;16063:15;16055:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16042:65;;;16157:18;;:30;;16180:6;16157:22;:30::i;:::-;16136:18;:51;-1:-1:-1;;;;15826:369:0:o;3990:278::-;4076:7;4111:12;4104:5;4096:28;;;;-1:-1:-1;;;4096:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4135:9:0;4147:5;4151:1;4147;:5;:::i;14126:330::-;14256:53;;;;;;;;;;;-1:-1:-1;;;14256:53:0;;;;;;;;-1:-1:-1;;;;;14256:17:0;;14219:4;14256:17;;;:9;:17;;;;;;;:53;;14278:6;;14256:21;:53::i;:::-;-1:-1:-1;;;;;14236:17:0;;;;;;;:9;:17;;;;;;:73;;;;14343:20;;;;;;;:32;;14368:6;14343:24;:32::i;:::-;-1:-1:-1;;;;;14320:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14391:35;;;;;;-1:-1:-1;;;;;;;;;;;14391:35:0;;;14419:6;2997:25:1;;2985:2;2970:18;;2851:177;14391:35:0;;;;;;;;-1:-1:-1;14444:4:0;14126:330;;;;;:::o;17852:366::-;-1:-1:-1;;;;;17953:25:0;;17933:4;17953:25;;;:17;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;17982:28:0;;;;;;:17;:28;;;;;;;;17953:57;17950:261;;;-1:-1:-1;18034:4:0;18027:11;;17950:261;-1:-1:-1;;;;;18069:20:0;;;;;;:12;:20;;;;;;;;;:47;;-1:-1:-1;;;;;;18093:23:0;;;;;;:12;:23;;;;;;;;18069:47;18065:146;;;-1:-1:-1;18140:5:0;18133:12;;18065:146;-1:-1:-1;18194:5:0;18187:12;;18226:1792;-1:-1:-1;;;;;18479:20:0;;18312:7;18479:20;;;:12;:20;;;;;;18312:7;;;;;;;;;;18479:20;;18476:1046;;;18527:45;18560:11;;18527:28;18538:16;;18527:6;:10;;:28;;;;:::i;:::-;:32;;:45::i;:::-;18520:52;;18598:45;18631:11;;18598:28;18609:16;;18598:6;:10;;:28;;;;:::i;:45::-;18591:52;;18669:45;18702:11;;18669:28;18680:16;;18669:6;:10;;:28;;;;:::i;:45::-;18662:52;;18740:40;18768:11;;18740:23;18751:11;;18740:6;:10;;:23;;;;:::i;:40::-;18799:18;:26;;;;;;18844:18;:26;;;;;;18889:18;:26;;;;;;18733:47;-1:-1:-1;18946:24:0;18911:4;18946:14;18821:4;18866;18946:8;:14::i;:24::-;18934:36;;18476:1046;;;-1:-1:-1;;;;;19008:23:0;;;;;;:12;:23;;;;;;;;19005:517;;;19059:46;19093:11;;19059:29;19070:17;;19059:6;:10;;:29;;;;:::i;:46::-;19052:53;;19131:46;19165:11;;19131:29;19142:17;;19131:6;:10;;:29;;;;:::i;:46::-;19124:53;;19203:46;19237:11;;19203:29;19214:17;;19203:6;:10;;:29;;;;:::i;:46::-;19196:53;;19275:41;19304:11;;19275:24;19286:12;;19275:6;:10;;:24;;;;:::i;:41::-;19335:18;:26;;;;;;19380:18;:26;;;;;;19425:18;:26;;;;;;19268:48;-1:-1:-1;19482:24:0;19447:4;19482:14;19357:4;19402;19482:8;:14::i;:24::-;19470:36;;19005:517;19546:8;;19543:191;;-1:-1:-1;;;;;19627:11:0;19609:31;;;;;:9;:31;;;;;;:41;;19645:4;19609:35;:41::i;:::-;-1:-1:-1;;;;;19593:11:0;19575:31;;;;;;:9;:31;;;;;;;:75;;;;19674:44;;;;;;-1:-1:-1;;;;;;;;;;;19674:44:0;;;19713:4;2997:25:1;;2985:2;2970:18;;2851:177;19674:44:0;;;;;;;;19543:191;19753:13;;19750:185;;19832:4;19814:24;;;;:9;:24;;;;;;:39;;19843:9;19814:28;:39::i;:::-;19805:4;19787:24;;;;:9;:24;;;;;;;:66;;;;19877:42;;-1:-1:-1;;;;;19877:42:0;;;-1:-1:-1;;;;;;;;;;;19877:42:0;;;19909:9;2997:25:1;;2985:2;2970:18;;2851:177;19877:42:0;;;;;;;;19750:185;19958:31;19984:4;19958:21;:6;19969:9;19958:10;:21::i;:31::-;19951:38;18226:1792;-1:-1:-1;;;;;;;;;18226:1792:0:o;16635:673::-;16785:16;;;16799:1;16785:16;;;;;;;;16761:21;;16785:16;;;;;;;;;;-1:-1:-1;16785:16:0;16761:40;;16830:4;16812;16817:1;16812:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;16812:23:0;;;-1:-1:-1;;;;;16812:23:0;;;;;16856:15;;;;;;;;;-1:-1:-1;;;;;16856:15:0;-1:-1:-1;;;;;16856:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16846:4;16851:1;16846:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16846:32:0;;;:7;;;;;;;;;:32;16923:15;;16891:62;;16908:4;;16923:15;;;;16941:11;16891:8;:62::i;:::-;16992:15;;;;;-1:-1:-1;;;;;16992:15:0;:66;17073:11;17099:1;17145:4;17172;17208:20;:15;17226:2;17208:20;:::i;:::-;16992:247;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17265:35;17282:11;17295:4;17265:35;;;;;;;:::i;:::-;;;;;;;;16690:618;16635:673;:::o;17316:528::-;17496:15;;17464:62;;17481:4;;17496:15;;;-1:-1:-1;;;;;17496:15:0;17514:11;17464:8;:62::i;:::-;17569:15;;17773:17;;-1:-1:-1;;;;;17569:15:0;;;;;;;:31;;17608:9;;17641:4;;17661:11;;17687:1;;;;17773:17;17805:20;:15;17823:2;17805:20;:::i;:::-;17569:267;;;;;;-1:-1:-1;;;;;;17569:267:0;;;-1:-1:-1;;;;;15527:15:1;;;17569:267:0;;;15509:34:1;15559:18;;;15552:34;;;;15602:18;;;15595:34;;;;15645:18;;;15638:34;;;;15709:15;;;15688:19;;;15681:44;15741:19;;;15734:35;;;;15443:19;;17569:267:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17316:528;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;2107:118::-;2193:5;2186:13;2179:21;2172:5;2169:32;2159:60;;2215:1;2212;2205:12;2230:382;2295:6;2303;2356:2;2344:9;2335:7;2331:23;2327:32;2324:52;;;2372:1;2369;2362:12;2324:52;2411:9;2398:23;2430:31;2455:5;2430:31;:::i;:::-;2480:5;-1:-1:-1;2537:2:1;2522:18;;2509:32;2550:30;2509:32;2550:30;:::i;:::-;2599:7;2589:17;;;2230:382;;;;;:::o;3033:456::-;3110:6;3118;3126;3179:2;3167:9;3158:7;3154:23;3150:32;3147:52;;;3195:1;3192;3185:12;3147:52;3234:9;3221:23;3253:31;3278:5;3253:31;:::i;:::-;3303:5;-1:-1:-1;3360:2:1;3345:18;;3332:32;3373:33;3332:32;3373:33;:::i;:::-;3033:456;;3425:7;;-1:-1:-1;;;3479:2:1;3464:18;;;;3451:32;;3033:456::o;3683:180::-;3742:6;3795:2;3783:9;3774:7;3770:23;3766:32;3763:52;;;3811:1;3808;3801:12;3763:52;-1:-1:-1;3834:23:1;;3683:180;-1:-1:-1;3683:180:1:o;3868:247::-;3927:6;3980:2;3968:9;3959:7;3955:23;3951:32;3948:52;;;3996:1;3993;3986:12;3948:52;4035:9;4022:23;4054:31;4079:5;4054:31;:::i;4120:241::-;4176:6;4229:2;4217:9;4208:7;4204:23;4200:32;4197:52;;;4245:1;4242;4235:12;4197:52;4284:9;4271:23;4303:28;4325:5;4303:28;:::i;4840:385::-;4926:6;4934;4942;4950;5003:3;4991:9;4982:7;4978:23;4974:33;4971:53;;;5020:1;5017;5010:12;4971:53;-1:-1:-1;;5043:23:1;;;5113:2;5098:18;;5085:32;;-1:-1:-1;5164:2:1;5149:18;;5136:32;;5215:2;5200:18;5187:32;;-1:-1:-1;4840:385:1;-1:-1:-1;4840:385:1:o;5230:388::-;5298:6;5306;5359:2;5347:9;5338:7;5334:23;5330:32;5327:52;;;5375:1;5372;5365:12;5327:52;5414:9;5401:23;5433:31;5458:5;5433:31;:::i;:::-;5483:5;-1:-1:-1;5540:2:1;5525:18;;5512:32;5553:33;5512:32;5553:33;:::i;5623:380::-;5702:1;5698:12;;;;5745;;;5766:61;;5820:4;5812:6;5808:17;5798:27;;5766:61;5873:2;5865:6;5862:14;5842:18;5839:38;5836:161;;5919:10;5914:3;5910:20;5907:1;5900:31;5954:4;5951:1;5944:15;5982:4;5979:1;5972:15;5836:161;;5623:380;;;:::o;6008:356::-;6210:2;6192:21;;;6229:18;;;6222:30;6288:34;6283:2;6268:18;;6261:62;6355:2;6340:18;;6008:356::o;6369:337::-;6571:2;6553:21;;;6610:2;6590:18;;;6583:30;-1:-1:-1;;;6644:2:1;6629:18;;6622:43;6697:2;6682:18;;6369:337::o;7270:251::-;7340:6;7393:2;7381:9;7372:7;7368:23;7364:32;7361:52;;;7409:1;7406;7399:12;7361:52;7441:9;7435:16;7460:31;7485:5;7460:31;:::i;8114:245::-;8181:6;8234:2;8222:9;8213:7;8209:23;8205:32;8202:52;;;8250:1;8247;8240:12;8202:52;8282:9;8276:16;8301:28;8323:5;8301:28;:::i;8364:397::-;8566:2;8548:21;;;8605:2;8585:18;;;8578:30;8644:34;8639:2;8624:18;;8617:62;-1:-1:-1;;;8710:2:1;8695:18;;8688:31;8751:3;8736:19;;8364:397::o;9173:127::-;9234:10;9229:3;9225:20;9222:1;9215:31;9265:4;9262:1;9255:15;9289:4;9286:1;9279:15;9305:168;9378:9;;;9409;;9426:15;;;9420:22;;9406:37;9396:71;;9447:18;;:::i;9478:217::-;9518:1;9544;9534:132;;9588:10;9583:3;9579:20;9576:1;9569:31;9623:4;9620:1;9613:15;9651:4;9648:1;9641:15;9534:132;-1:-1:-1;9680:9:1;;9478:217::o;12895:128::-;12962:9;;;12983:11;;;12980:37;;;12997:18;;:::i;13028:125::-;13093:9;;;13114:10;;;13111:36;;;13127:18;;:::i;13646:127::-;13707:10;13702:3;13698:20;13695:1;13688:31;13738:4;13735:1;13728:15;13762:4;13759:1;13752:15;13778:461;13831:3;13869:5;13863:12;13896:6;13891:3;13884:19;13922:4;13951:2;13946:3;13942:12;13935:19;;13988:2;13981:5;13977:14;14009:1;14019:195;14033:6;14030:1;14027:13;14019:195;;;14098:13;;-1:-1:-1;;;;;14094:39:1;14082:52;;14154:12;;;;14189:15;;;;14130:1;14048:9;14019:195;;;-1:-1:-1;14230:3:1;;13778:461;-1:-1:-1;;;;;13778:461:1:o;14244:582::-;14543:6;14532:9;14525:25;14586:6;14581:2;14570:9;14566:18;14559:34;14629:3;14624:2;14613:9;14609:18;14602:31;14506:4;14650:57;14702:3;14691:9;14687:19;14679:6;14650:57;:::i;:::-;-1:-1:-1;;;;;14743:32:1;;;;14738:2;14723:18;;14716:60;-1:-1:-1;14807:3:1;14792:19;14785:35;14642:65;14244:582;-1:-1:-1;;;14244:582:1:o;14831:332::-;15038:6;15027:9;15020:25;15081:2;15076;15065:9;15061:18;15054:30;15001:4;15101:56;15153:2;15142:9;15138:18;15130:6;15101:56;:::i;:::-;15093:64;14831:332;-1:-1:-1;;;;14831:332:1:o;15780:306::-;15868:6;15876;15884;15937:2;15925:9;15916:7;15912:23;15908:32;15905:52;;;15953:1;15950;15943:12;15905:52;15982:9;15976:16;15966:26;;16032:2;16021:9;16017:18;16011:25;16001:35;;16076:2;16065:9;16061:18;16055:25;16045:35;;15780:306;;;;;:::o
Swarm Source
ipfs://51d6b413838d668d903a14405b439ef62ebdfd14b1fc713f861622e56426f494
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.