ERC-20
Overview
Max Total Supply
1,000,000,000 GYOZA
Holders
423
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
603,554.045684285 GYOZAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GYOZA
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-03 */ /* GYOZA is an oldschool meme token with unique tokenomics, allowing normal users to eat, not only bots! GYOZA has separate fees for different types of users. Normal buyers receive 9/9 tax at launch lowered to 2/2 soon after, while BOTS, SNIPERS, COPYTRADERS and DUMPERS are affected by dynamic reflection tax rate which increases proportionate to the size of the sell with minimum of 22% and maximum of 44% at launch. Each holder also receives reflections from those sells. TOKENOMICS: 1,000,000,000 token supply FIRST MINUTE: 5,000,000 max buy / 30-second buy cooldown (these limitations are lifted automatically one minutes post-launch) 15-second cooldown to sell after a buy, in order to limit MEV bot behavior. !IMPORTANT! THIS FEATURE MAY CAUSE SCANNERS TO FLAG THE TOKEN AS HONEYPOT! But it's not, obviously. Anti-clog system. Sells are always possible. Anti Dump logic: Let's take minDumpFee is 15 and maxDumpFee is 30. It means that if you sell with more than 1.5% price impact you will get a 15% sell tax, selling with 1.9% price impact will get you a 19% tax. Selling with 3.1% price impact or above will tax you for 30% max. Those numbers can be modified any moment at the request of the community. http://www.gyoza.wtf SPDX-License-Identifier: UNLICENSED */ pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private _previousOwner; 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 renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; 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); } contract GYOZA is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => User) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e9 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = unicode"GYOZA"; string private constant _symbol = unicode"GYOZA"; uint8 private constant _decimals = 9; uint256 private _taxFee = 1; uint256 private _teamFee = 9; uint256 private _currentRf = 1; uint256 private _currentF = 9; // basic fees for launch period. uint256 private _feeRate = 4; uint256 public _minBotFee = 22; // minimum sell tax for bots and snipers uint256 public _maxBotFee = 44; // maximum sell tax for bots and snipers uint256 public _minDumpFee = 15; // minimum sell tax for dumpers, also determines the punishable threshold 15 = 1.5% uint256 public _maxDumpFee = 30; // maximum sell tax for dumpers uint256 public _normalSells = 0; uint256 public _botSells = 0; uint256 public _dumpSells = 0; uint256 private _feeMultiplier = 1000; uint256 private _launchTime; uint256 private _r = 2; uint256 private _t = 8; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; uint256 private _maxBuyAmount; address payable private _FeeAddress; address payable private _marketingWalletAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private _cooldownEnabled = true; bool private inSwap = false; uint256 private buyLimitEnd; struct User { uint256 buy; uint256 sell; bool exists; } event MaxBuyAmountUpdated(uint _maxBuyAmount); event CooldownEnabledUpdated(bool _cooldown); event FeeMultiplierUpdated(uint _multiplier); event FeeRateUpdated(uint _rate); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address payable FeeAddress, address payable marketingWalletAddress) { _FeeAddress = FeeAddress; _marketingWalletAddress = marketingWalletAddress; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[FeeAddress] = true; _isExcludedFromFee[marketingWalletAddress] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if(_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } function setFee(uint256 impactFee) private { uint256 _botFee = _minBotFee; if(impactFee < _minBotFee) { _botFee = _minBotFee; } else if(impactFee > _maxBotFee) { _botFee = _maxBotFee; } else { _botFee = impactFee; } if(_botFee.mod(2) != 0) { _botFee++; } _taxFee = (_botFee.mul(_r)).div(10); _teamFee = (_botFee.mul(_t)).div(10); } function setDumpFee(uint256 dumpFee) private { uint256 _impactFee = _minDumpFee; if(dumpFee < _minDumpFee) { _impactFee = _minDumpFee; } else if(dumpFee> _maxDumpFee) { _impactFee = _maxDumpFee; } else { _impactFee = dumpFee; } if(_impactFee.mod(2) != 0) { _impactFee++; } _taxFee = (_impactFee.mul(_r)).div(10); _teamFee = (_impactFee.mul(_t)).div(10); } 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 _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if(from != owner() && to != owner()) { if(_cooldownEnabled) { if(!cooldown[msg.sender].exists) { cooldown[msg.sender] = User(0,0,true); } } // buy if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(tradingOpen, "Trading not yet enabled."); _taxFee = _currentRf; _teamFee = _currentF; if(_cooldownEnabled) { if(buyLimitEnd > block.timestamp) { require(amount <= _maxBuyAmount); require(cooldown[to].buy < block.timestamp, "Your buy cooldown has not expired."); cooldown[to].buy = block.timestamp + (20 seconds); } } if(_cooldownEnabled) { cooldown[to].sell = block.timestamp + (20 seconds); } } uint256 contractTokenBalance = balanceOf(address(this)); // sell if(!inSwap && from != uniswapV2Pair && tradingOpen) { if(_cooldownEnabled) { require(cooldown[from].sell < block.timestamp, "Your sell cooldown has not expired."); } if (msg.sender != address(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45)) { //only normies bypass this. bots, copytraders, snipers are affected uint256 feeBasis = amount.mul(_feeMultiplier); feeBasis = feeBasis.div(balanceOf(uniswapV2Pair).add(amount)); setFee(feeBasis); _botSells = _botSells + 1; } else { uint256 dumpAm = amount.mul(_feeMultiplier); dumpAm = dumpAm.div(balanceOf(uniswapV2Pair).add(amount)); if (dumpAm > _minDumpFee) { //punish for high price impact. default 1.5% setDumpFee(dumpAm); _dumpSells = _dumpSells + 1; } else { _taxFee = _currentRf; _teamFee = _currentF; _normalSells = _normalSells + 1; } } if(contractTokenBalance > 0) { if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(_feeRate).div(100)) { contractTokenBalance = balanceOf(uniswapV2Pair).mul(_feeRate).div(100); } swapTokensForEth(contractTokenBalance); } uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } _tokenTransfer(from,to,amount,takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _FeeAddress.transfer(amount.mul(2).div(10)); _marketingWalletAddress.transfer(amount.mul(8).div(10)); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if(!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if(!takeFee) restoreAllFee(); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function addLiquidity() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _maxBuyAmount = 5000000 * 10**9; _launchTime = block.timestamp; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function openTrading() public onlyOwner { tradingOpen = true; buyLimitEnd = block.timestamp + (60 seconds); } function manualswap() external { require(_msgSender() == _FeeAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _FeeAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } // fallback in case contract is not releasing tokens fast enough function setFeeRate(uint256 rate) external { require(_msgSender() == _FeeAddress); require(rate < 51, "Rate can't exceed 50%"); _feeRate = rate; emit FeeRateUpdated(_feeRate); } function setCooldownEnabled(bool onoff) external onlyOwner() { _cooldownEnabled = onoff; emit CooldownEnabledUpdated(_cooldownEnabled); } function thisBalance() public view returns (uint) { return balanceOf(address(this)); } function cooldownEnabled() public view returns (bool) { return _cooldownEnabled; } function timeToBuy(address buyer) public view returns (uint) { return block.timestamp - cooldown[buyer].buy; } function timeToSell(address buyer) public view returns (uint) { return block.timestamp - cooldown[buyer].sell; } function changeFee(uint256 newReflect, uint256 newTeam, uint256 minBot, uint256 maxBot, uint256 minDump, uint256 maxDump) external { require(_msgSender() == _FeeAddress); require((newReflect + newTeam) <= 10,"Max total fee for normal users is 10%"); require(minDump >= 10,"Min punishable price impact is 1%"); //subj require(((maxBot <= 75)&&(minBot <= 75)),"Max fee for bots is 75%");//bots are bad but honeypotting is bad as well _currentRf = newReflect; _currentF = newTeam; _minBotFee = minBot; _maxBotFee = maxBot; _minDumpFee = minDump; _maxDumpFee = maxDump; } function setReflectionRate(uint256 newR, uint256 newT) external { require(_msgSender() == _FeeAddress); require((newR + newT) == 10,"Less or more can damage the contract."); //safety measure _r = newR; _t = newT; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_botSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_dumpSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBotFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxDumpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minBotFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minDumpFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_normalSells","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","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":"uint256","name":"newReflect","type":"uint256"},{"internalType":"uint256","name":"newTeam","type":"uint256"},{"internalType":"uint256","name":"minBot","type":"uint256"},{"internalType":"uint256","name":"maxBot","type":"uint256"},{"internalType":"uint256","name":"minDump","type":"uint256"},{"internalType":"uint256","name":"maxDump","type":"uint256"}],"name":"changeFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newR","type":"uint256"},{"internalType":"uint256","name":"newT","type":"uint256"}],"name":"setReflectionRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052670de0b6b3a76400006000196200001c9190620005a2565b6000196200002b919062000529565b60075560016009556009600a556001600b556009600c556004600d556016600e55602c600f55600f601055601e6011556000601255600060135560006014556103e860155560026017556008601855600954601955600a54601a556001601f60156101000a81548160ff0219169083151502179055506000601f60166101000a81548160ff021916908315150217905550348015620000c957600080fd5b50604051620049f1380380620049f18339818101604052810190620000ef9190620004b4565b6000620001016200046c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075460026000620002386200046c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200028c6200047460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003f56200046c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200045c91906200050c565b60405180910390a3505062000657565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004ae816200063d565b92915050565b60008060408385031215620004ce57620004cd62000638565b5b6000620004de858286016200049d565b9250506020620004f1858286016200049d565b9150509250929050565b620005068162000598565b82525050565b6000602082019050620005236000830184620004fb565b92915050565b6000620005368262000598565b9150620005438362000598565b925082821015620005595762000558620005da565b5b828203905092915050565b6000620005718262000578565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005af8262000598565b9150620005bc8362000598565b925082620005cf57620005ce62000609565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620006488162000564565b81146200065457600080fd5b50565b61438a80620006676000396000f3fe6080604052600436106101d15760003560e01c80636fc3eaec116100f7578063a985ceef11610095578063c9567bf911610064578063c9567bf914610663578063dd62ed3e1461067a578063e8078d94146106b7578063ef4a55ec146106ce576101d8565b8063a985ceef146105b9578063a9fc35a9146105e4578063c3c8cd8014610621578063c511413614610638576101d8565b80638da5cb5b116100d15780638da5cb5b146104fb57806393b28f4e1461052657806395d89b4114610551578063a9059cbb1461057c576101d8565b80636fc3eaec1461049057806370a08231146104a7578063715018a6146104e4576101d8565b806327f3a72a1161016f57806345596e2e1161013e57806345596e2e146103d85780634872bbe9146104015780635932ead11461042a57806368a3a6a514610453576101d8565b806327f3a72a1461032c578063313ce567146103575780633901aa55146103825780634430b583146103ad576101d8565b806316d7fcb3116101ab57806316d7fcb31461026e57806318160ddd146102995780631ca6506e146102c457806323b872dd146102ef576101d8565b806306fdde03146101dd578063095ea7b314610208578063124bdbd714610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f26106f9565b6040516101ff91906137fb565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a91906131ac565b610736565b60405161023c91906137e0565b60405180910390f35b34801561025157600080fd5b5061026c60048036038101906102679190613306565b610754565b005b34801561027a57600080fd5b506102836108cb565b6040516102909190613a5d565b60405180910390f35b3480156102a557600080fd5b506102ae6108d1565b6040516102bb9190613a5d565b60405180910390f35b3480156102d057600080fd5b506102d96108e1565b6040516102e69190613a5d565b60405180910390f35b3480156102fb57600080fd5b5061031660048036038101906103119190613159565b6108e7565b60405161032391906137e0565b60405180910390f35b34801561033857600080fd5b506103416109c0565b60405161034e9190613a5d565b60405180910390f35b34801561036357600080fd5b5061036c6109d0565b6040516103799190613ad2565b60405180910390f35b34801561038e57600080fd5b506103976109d9565b6040516103a49190613a5d565b60405180910390f35b3480156103b957600080fd5b506103c26109df565b6040516103cf9190613a5d565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190613246565b6109e5565b005b34801561040d57600080fd5b5061042860048036038101906104239190613273565b610acc565b005b34801561043657600080fd5b50610451600480360381019061044c91906131ec565b610b8d565b005b34801561045f57600080fd5b5061047a600480360381019061047591906130bf565b610c85565b6040516104879190613a5d565b60405180910390f35b34801561049c57600080fd5b506104a5610cdc565b005b3480156104b357600080fd5b506104ce60048036038101906104c991906130bf565b610d4e565b6040516104db9190613a5d565b60405180910390f35b3480156104f057600080fd5b506104f9610d9f565b005b34801561050757600080fd5b50610510610ef2565b60405161051d9190613712565b60405180910390f35b34801561053257600080fd5b5061053b610f1b565b6040516105489190613a5d565b60405180910390f35b34801561055d57600080fd5b50610566610f21565b60405161057391906137fb565b60405180910390f35b34801561058857600080fd5b506105a3600480360381019061059e91906131ac565b610f5e565b6040516105b091906137e0565b60405180910390f35b3480156105c557600080fd5b506105ce610f7c565b6040516105db91906137e0565b60405180910390f35b3480156105f057600080fd5b5061060b600480360381019061060691906130bf565b610f93565b6040516106189190613a5d565b60405180910390f35b34801561062d57600080fd5b50610636610fea565b005b34801561064457600080fd5b5061064d611064565b60405161065a9190613a5d565b60405180910390f35b34801561066f57600080fd5b5061067861106a565b005b34801561068657600080fd5b506106a1600480360381019061069c9190613119565b61112f565b6040516106ae9190613a5d565b60405180910390f35b3480156106c357600080fd5b506106cc6111b6565b005b3480156106da57600080fd5b506106e36116c6565b6040516106f09190613a5d565b60405180910390f35b60606040518060400160405280600581526020017f47594f5a41000000000000000000000000000000000000000000000000000000815250905090565b600061074a6107436116cc565b84846116d4565b6001905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107956116cc565b73ffffffffffffffffffffffffffffffffffffffff16146107b557600080fd5b600a85876107c39190613b42565b1115610804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fb9061387d565b60405180910390fd5b600a821015610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f9061391d565b60405180910390fd5b604b831115801561085a5750604b8411155b610899576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108909061399d565b60405180910390fd5b85600b8190555084600c8190555083600e8190555082600f819055508160108190555080601181905550505050505050565b60115481565b6000670de0b6b3a7640000905090565b600f5481565b60006108f484848461189f565b6109b5846109006116cc565b6109b08560405180606001604052806028815260200161432d60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109666116cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227b9092919063ffffffff16565b6116d4565b600190509392505050565b60006109cb30610d4e565b905090565b60006009905090565b60145481565b60135481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a266116cc565b73ffffffffffffffffffffffffffffffffffffffff1614610a4657600080fd5b60338110610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a80906138dd565b60405180910390fd5b80600d819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600d54604051610ac19190613a5d565b60405180910390a150565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0d6116cc565b73ffffffffffffffffffffffffffffffffffffffff1614610b2d57600080fd5b600a8183610b3b9190613b42565b14610b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b72906139bd565b60405180910390fd5b81601781905550806018819055505050565b610b956116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c199061395d565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601f60159054906101000a900460ff16604051610c7a91906137e0565b60405180910390a150565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610cd59190613c23565b9050919050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1d6116cc565b73ffffffffffffffffffffffffffffffffffffffff1614610d3d57600080fd5b6000479050610d4b816122df565b50565b6000610d98600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612400565b9050919050565b610da76116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b9061395d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600581526020017f47594f5a41000000000000000000000000000000000000000000000000000000815250905090565b6000610f72610f6b6116cc565b848461189f565b6001905092915050565b6000601f60159054906101000a900460ff16905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442610fe39190613c23565b9050919050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661102b6116cc565b73ffffffffffffffffffffffffffffffffffffffff161461104b57600080fd5b600061105630610d4e565b90506110618161246e565b50565b60125481565b6110726116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f69061395d565b60405180910390fd5b6001601f60146101000a81548160ff021916908315150217905550603c426111279190613b42565b602081905550565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111be6116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461124b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112429061395d565b60405180910390fd5b601f60149054906101000a900460ff161561129b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129290613a1d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061132a30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006116d4565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a891906130ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561140a57600080fd5b505afa15801561141e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144291906130ec565b6040518363ffffffff1660e01b815260040161145f92919061372d565b602060405180830381600087803b15801561147957600080fd5b505af115801561148d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b191906130ec565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061153a30610d4e565b600080611545610ef2565b426040518863ffffffff1660e01b81526004016115679695949392919061377f565b6060604051808303818588803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115b991906132b3565b5050506611c37937e08000601b8190555042601681905550601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611670929190613756565b602060405180830381600087803b15801561168a57600080fd5b505af115801561169e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c29190613219565b5050565b60105481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611744576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173b906139fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab9061385d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118929190613a5d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561190f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611906906139dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561197f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119769061381d565b60405180910390fd5b600081116119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b99061397d565b60405180910390fd5b6119ca610ef2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a385750611a08610ef2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121b857601f60159054906101000a900460ff1615611b3e57600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff16611b3d576040518060600160405280600081526020016000815260200160011515815250600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611be95750601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c3f5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e1657601f60149054906101000a900460ff16611c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8a90613a3d565b60405180910390fd5b600b54600981905550600c54600a81905550601f60159054906101000a900460ff1615611dac57426020541115611dab57601b54811115611cd357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e9061389d565b60405180910390fd5b601442611d649190613b42565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b601f60159054906101000a900460ff1615611e1557601442611dce9190613b42565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b5b6000611e2130610d4e565b9050601f60169054906101000a900460ff16158015611e8e5750601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ea65750601f60149054906101000a900460ff165b156121b657601f60159054906101000a900460ff1615611f455742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b906138fd565b60405180910390fd5b5b7368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461201a576000611fa3601554846126f690919063ffffffff16565b9050611ff4611fe584611fd7601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b61277190919063ffffffff16565b826127cf90919063ffffffff16565b9050611fff81612819565b600160135461200e9190613b42565b601381905550506120db565b6000612031601554846126f690919063ffffffff16565b905061208261207384612065601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b61277190919063ffffffff16565b826127cf90919063ffffffff16565b90506010548111156120b157612097816128d7565b60016014546120a69190613b42565b6014819055506120d9565b600b54600981905550600c54600a8190555060016012546120d29190613b42565b6012819055505b505b600081111561219c576121366064612128600d5461211a601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b6126f690919063ffffffff16565b6127cf90919063ffffffff16565b8111156121925761218f6064612181600d54612173601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b6126f690919063ffffffff16565b6127cf90919063ffffffff16565b90505b61219b8161246e565b5b600047905060008111156121b4576121b3476122df565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061225f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561226957600090505b61227584848484612995565b50505050565b60008383111582906122c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ba91906137fb565b60405180910390fd5b50600083856122d29190613c23565b9050809150509392505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612342600a6123346002866126f690919063ffffffff16565b6127cf90919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561236d573d6000803e3d6000fd5b50601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123d1600a6123c36008866126f690919063ffffffff16565b6127cf90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123fc573d6000803e3d6000fd5b5050565b6000600754821115612447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243e9061383d565b60405180910390fd5b60006124516129c2565b905061246681846127cf90919063ffffffff16565b915050919050565b6001601f60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156124a6576124a5613df8565b5b6040519080825280602002602001820160405280156124d45781602001602082028036833780820191505090505b50905030816000815181106124ec576124eb613dc9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561258e57600080fd5b505afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906130ec565b816001815181106125da576125d9613dc9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061264130601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116d4565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016126a5959493929190613a78565b600060405180830381600087803b1580156126bf57600080fd5b505af11580156126d3573d6000803e3d6000fd5b50505050506000601f60166101000a81548160ff02191690831515021790555050565b600080831415612709576000905061276b565b600082846127179190613bc9565b90508284826127269190613b98565b14612766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275d9061393d565b60405180910390fd5b809150505b92915050565b60008082846127809190613b42565b9050838110156127c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bc906138bd565b60405180910390fd5b8091505092915050565b600061281183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129ed565b905092915050565b6000600e549050600e5482101561283457600e54905061284d565b600f5482111561284857600f54905061284c565b8190505b5b6000612863600283612a5090919063ffffffff16565b1461287757808061287390613cf1565b9150505b61289f600a612891601754846126f690919063ffffffff16565b6127cf90919063ffffffff16565b6009819055506128cd600a6128bf601854846126f690919063ffffffff16565b6127cf90919063ffffffff16565b600a819055505050565b600060105490506010548210156128f257601054905061290b565b60115482111561290657601154905061290a565b8190505b5b6000612921600283612a5090919063ffffffff16565b1461293557808061293190613cf1565b9150505b61295d600a61294f601754846126f690919063ffffffff16565b6127cf90919063ffffffff16565b60098190555061298b600a61297d601854846126f690919063ffffffff16565b6127cf90919063ffffffff16565b600a819055505050565b806129a3576129a2612a9a565b5b6129ae848484612add565b806129bc576129bb612ca8565b5b50505050565b60008060006129cf612cbc565b915091506129e681836127cf90919063ffffffff16565b9250505090565b60008083118290612a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2b91906137fb565b60405180910390fd5b5060008385612a439190613b98565b9050809150509392505050565b6000612a9283836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612d1b565b905092915050565b6000600954148015612aae57506000600a54145b15612ab857612adb565b600954601981905550600a54601a8190555060006009819055506000600a819055505b565b600080600080600080612aef87612d79565b955095509550955095509550612b4d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612de190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612be285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c2e81612e2b565b612c388483612ee8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612c959190613a5d565b60405180910390a3505050505050505050565b601954600981905550601a54600a81905550565b600080600060075490506000670de0b6b3a76400009050612cf0670de0b6b3a76400006007546127cf90919063ffffffff16565b821015612d0e57600754670de0b6b3a7640000935093505050612d17565b81819350935050505b9091565b6000808314158290612d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5a91906137fb565b60405180910390fd5b508284612d709190613d3a565b90509392505050565b6000806000806000806000806000612d968a600954600a54612f22565b9250925092506000612da66129c2565b90506000806000612db98e878787612fb8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612e2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061227b565b905092915050565b6000612e356129c2565b90506000612e4c82846126f690919063ffffffff16565b9050612ea081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612efd82600754612de190919063ffffffff16565b600781905550612f188160085461277190919063ffffffff16565b6008819055505050565b600080600080612f4e6064612f40888a6126f690919063ffffffff16565b6127cf90919063ffffffff16565b90506000612f786064612f6a888b6126f690919063ffffffff16565b6127cf90919063ffffffff16565b90506000612fa182612f93858c612de190919063ffffffff16565b612de190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612fd185896126f690919063ffffffff16565b90506000612fe886896126f690919063ffffffff16565b90506000612fff87896126f690919063ffffffff16565b905060006130288261301a8587612de190919063ffffffff16565b612de190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050613050816142e7565b92915050565b600081519050613065816142e7565b92915050565b60008135905061307a816142fe565b92915050565b60008151905061308f816142fe565b92915050565b6000813590506130a481614315565b92915050565b6000815190506130b981614315565b92915050565b6000602082840312156130d5576130d4613e27565b5b60006130e384828501613041565b91505092915050565b60006020828403121561310257613101613e27565b5b600061311084828501613056565b91505092915050565b600080604083850312156131305761312f613e27565b5b600061313e85828601613041565b925050602061314f85828601613041565b9150509250929050565b60008060006060848603121561317257613171613e27565b5b600061318086828701613041565b935050602061319186828701613041565b92505060406131a286828701613095565b9150509250925092565b600080604083850312156131c3576131c2613e27565b5b60006131d185828601613041565b92505060206131e285828601613095565b9150509250929050565b60006020828403121561320257613201613e27565b5b60006132108482850161306b565b91505092915050565b60006020828403121561322f5761322e613e27565b5b600061323d84828501613080565b91505092915050565b60006020828403121561325c5761325b613e27565b5b600061326a84828501613095565b91505092915050565b6000806040838503121561328a57613289613e27565b5b600061329885828601613095565b92505060206132a985828601613095565b9150509250929050565b6000806000606084860312156132cc576132cb613e27565b5b60006132da868287016130aa565b93505060206132eb868287016130aa565b92505060406132fc868287016130aa565b9150509250925092565b60008060008060008060c0878903121561332357613322613e27565b5b600061333189828a01613095565b965050602061334289828a01613095565b955050604061335389828a01613095565b945050606061336489828a01613095565b935050608061337589828a01613095565b92505060a061338689828a01613095565b9150509295509295509295565b600061339f83836133ab565b60208301905092915050565b6133b481613c57565b82525050565b6133c381613c57565b82525050565b60006133d482613afd565b6133de8185613b20565b93506133e983613aed565b8060005b8381101561341a5781516134018882613393565b975061340c83613b13565b9250506001810190506133ed565b5085935050505092915050565b61343081613c69565b82525050565b61343f81613cac565b82525050565b600061345082613b08565b61345a8185613b31565b935061346a818560208601613cbe565b61347381613e2c565b840191505092915050565b600061348b602383613b31565b915061349682613e3d565b604082019050919050565b60006134ae602a83613b31565b91506134b982613e8c565b604082019050919050565b60006134d1602283613b31565b91506134dc82613edb565b604082019050919050565b60006134f4602583613b31565b91506134ff82613f2a565b604082019050919050565b6000613517602283613b31565b915061352282613f79565b604082019050919050565b600061353a601b83613b31565b915061354582613fc8565b602082019050919050565b600061355d601583613b31565b915061356882613ff1565b602082019050919050565b6000613580602383613b31565b915061358b8261401a565b604082019050919050565b60006135a3602183613b31565b91506135ae82614069565b604082019050919050565b60006135c6602183613b31565b91506135d1826140b8565b604082019050919050565b60006135e9602083613b31565b91506135f482614107565b602082019050919050565b600061360c602983613b31565b915061361782614130565b604082019050919050565b600061362f601783613b31565b915061363a8261417f565b602082019050919050565b6000613652602583613b31565b915061365d826141a8565b604082019050919050565b6000613675602583613b31565b9150613680826141f7565b604082019050919050565b6000613698602483613b31565b91506136a382614246565b604082019050919050565b60006136bb601783613b31565b91506136c682614295565b602082019050919050565b60006136de601883613b31565b91506136e9826142be565b602082019050919050565b6136fd81613c95565b82525050565b61370c81613c9f565b82525050565b600060208201905061372760008301846133ba565b92915050565b600060408201905061374260008301856133ba565b61374f60208301846133ba565b9392505050565b600060408201905061376b60008301856133ba565b61377860208301846136f4565b9392505050565b600060c08201905061379460008301896133ba565b6137a160208301886136f4565b6137ae6040830187613436565b6137bb6060830186613436565b6137c860808301856133ba565b6137d560a08301846136f4565b979650505050505050565b60006020820190506137f56000830184613427565b92915050565b600060208201905081810360008301526138158184613445565b905092915050565b600060208201905081810360008301526138368161347e565b9050919050565b60006020820190508181036000830152613856816134a1565b9050919050565b60006020820190508181036000830152613876816134c4565b9050919050565b60006020820190508181036000830152613896816134e7565b9050919050565b600060208201905081810360008301526138b68161350a565b9050919050565b600060208201905081810360008301526138d68161352d565b9050919050565b600060208201905081810360008301526138f681613550565b9050919050565b6000602082019050818103600083015261391681613573565b9050919050565b6000602082019050818103600083015261393681613596565b9050919050565b60006020820190508181036000830152613956816135b9565b9050919050565b60006020820190508181036000830152613976816135dc565b9050919050565b60006020820190508181036000830152613996816135ff565b9050919050565b600060208201905081810360008301526139b681613622565b9050919050565b600060208201905081810360008301526139d681613645565b9050919050565b600060208201905081810360008301526139f681613668565b9050919050565b60006020820190508181036000830152613a168161368b565b9050919050565b60006020820190508181036000830152613a36816136ae565b9050919050565b60006020820190508181036000830152613a56816136d1565b9050919050565b6000602082019050613a7260008301846136f4565b92915050565b600060a082019050613a8d60008301886136f4565b613a9a6020830187613436565b8181036040830152613aac81866133c9565b9050613abb60608301856133ba565b613ac860808301846136f4565b9695505050505050565b6000602082019050613ae76000830184613703565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b4d82613c95565b9150613b5883613c95565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b8d57613b8c613d6b565b5b828201905092915050565b6000613ba382613c95565b9150613bae83613c95565b925082613bbe57613bbd613d9a565b5b828204905092915050565b6000613bd482613c95565b9150613bdf83613c95565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c1857613c17613d6b565b5b828202905092915050565b6000613c2e82613c95565b9150613c3983613c95565b925082821015613c4c57613c4b613d6b565b5b828203905092915050565b6000613c6282613c75565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613cb782613c95565b9050919050565b60005b83811015613cdc578082015181840152602081019050613cc1565b83811115613ceb576000848401525b50505050565b6000613cfc82613c95565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d2f57613d2e613d6b565b5b600182019050919050565b6000613d4582613c95565b9150613d5083613c95565b925082613d6057613d5f613d9a565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d617820746f74616c2066656520666f72206e6f726d616c207573657273206960008201527f7320313025000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f526174652063616e277420657863656564203530250000000000000000000000600082015250565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b7f4d696e2070756e69736861626c6520707269636520696d70616374206973203160008201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4d61782066656520666f7220626f747320697320373525000000000000000000600082015250565b7f4c657373206f72206d6f72652063616e2064616d6167652074686520636f6e7460008201527f726163742e000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6142f081613c57565b81146142fb57600080fd5b50565b61430781613c69565b811461431257600080fd5b50565b61431e81613c95565b811461432957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206269389bb2815aeec046b1c2ac1805dd6fd16ff5a15f4d55d6a034c58fb1dab964736f6c63430008060033000000000000000000000000f3cac4b2e41b40d00b6d4787b09587940d825fed000000000000000000000000c358600ae2f1ce2fd27b94816e506574c9438416
Deployed Bytecode
0x6080604052600436106101d15760003560e01c80636fc3eaec116100f7578063a985ceef11610095578063c9567bf911610064578063c9567bf914610663578063dd62ed3e1461067a578063e8078d94146106b7578063ef4a55ec146106ce576101d8565b8063a985ceef146105b9578063a9fc35a9146105e4578063c3c8cd8014610621578063c511413614610638576101d8565b80638da5cb5b116100d15780638da5cb5b146104fb57806393b28f4e1461052657806395d89b4114610551578063a9059cbb1461057c576101d8565b80636fc3eaec1461049057806370a08231146104a7578063715018a6146104e4576101d8565b806327f3a72a1161016f57806345596e2e1161013e57806345596e2e146103d85780634872bbe9146104015780635932ead11461042a57806368a3a6a514610453576101d8565b806327f3a72a1461032c578063313ce567146103575780633901aa55146103825780634430b583146103ad576101d8565b806316d7fcb3116101ab57806316d7fcb31461026e57806318160ddd146102995780631ca6506e146102c457806323b872dd146102ef576101d8565b806306fdde03146101dd578063095ea7b314610208578063124bdbd714610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f26106f9565b6040516101ff91906137fb565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a91906131ac565b610736565b60405161023c91906137e0565b60405180910390f35b34801561025157600080fd5b5061026c60048036038101906102679190613306565b610754565b005b34801561027a57600080fd5b506102836108cb565b6040516102909190613a5d565b60405180910390f35b3480156102a557600080fd5b506102ae6108d1565b6040516102bb9190613a5d565b60405180910390f35b3480156102d057600080fd5b506102d96108e1565b6040516102e69190613a5d565b60405180910390f35b3480156102fb57600080fd5b5061031660048036038101906103119190613159565b6108e7565b60405161032391906137e0565b60405180910390f35b34801561033857600080fd5b506103416109c0565b60405161034e9190613a5d565b60405180910390f35b34801561036357600080fd5b5061036c6109d0565b6040516103799190613ad2565b60405180910390f35b34801561038e57600080fd5b506103976109d9565b6040516103a49190613a5d565b60405180910390f35b3480156103b957600080fd5b506103c26109df565b6040516103cf9190613a5d565b60405180910390f35b3480156103e457600080fd5b506103ff60048036038101906103fa9190613246565b6109e5565b005b34801561040d57600080fd5b5061042860048036038101906104239190613273565b610acc565b005b34801561043657600080fd5b50610451600480360381019061044c91906131ec565b610b8d565b005b34801561045f57600080fd5b5061047a600480360381019061047591906130bf565b610c85565b6040516104879190613a5d565b60405180910390f35b34801561049c57600080fd5b506104a5610cdc565b005b3480156104b357600080fd5b506104ce60048036038101906104c991906130bf565b610d4e565b6040516104db9190613a5d565b60405180910390f35b3480156104f057600080fd5b506104f9610d9f565b005b34801561050757600080fd5b50610510610ef2565b60405161051d9190613712565b60405180910390f35b34801561053257600080fd5b5061053b610f1b565b6040516105489190613a5d565b60405180910390f35b34801561055d57600080fd5b50610566610f21565b60405161057391906137fb565b60405180910390f35b34801561058857600080fd5b506105a3600480360381019061059e91906131ac565b610f5e565b6040516105b091906137e0565b60405180910390f35b3480156105c557600080fd5b506105ce610f7c565b6040516105db91906137e0565b60405180910390f35b3480156105f057600080fd5b5061060b600480360381019061060691906130bf565b610f93565b6040516106189190613a5d565b60405180910390f35b34801561062d57600080fd5b50610636610fea565b005b34801561064457600080fd5b5061064d611064565b60405161065a9190613a5d565b60405180910390f35b34801561066f57600080fd5b5061067861106a565b005b34801561068657600080fd5b506106a1600480360381019061069c9190613119565b61112f565b6040516106ae9190613a5d565b60405180910390f35b3480156106c357600080fd5b506106cc6111b6565b005b3480156106da57600080fd5b506106e36116c6565b6040516106f09190613a5d565b60405180910390f35b60606040518060400160405280600581526020017f47594f5a41000000000000000000000000000000000000000000000000000000815250905090565b600061074a6107436116cc565b84846116d4565b6001905092915050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107956116cc565b73ffffffffffffffffffffffffffffffffffffffff16146107b557600080fd5b600a85876107c39190613b42565b1115610804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fb9061387d565b60405180910390fd5b600a821015610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f9061391d565b60405180910390fd5b604b831115801561085a5750604b8411155b610899576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108909061399d565b60405180910390fd5b85600b8190555084600c8190555083600e8190555082600f819055508160108190555080601181905550505050505050565b60115481565b6000670de0b6b3a7640000905090565b600f5481565b60006108f484848461189f565b6109b5846109006116cc565b6109b08560405180606001604052806028815260200161432d60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109666116cc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227b9092919063ffffffff16565b6116d4565b600190509392505050565b60006109cb30610d4e565b905090565b60006009905090565b60145481565b60135481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a266116cc565b73ffffffffffffffffffffffffffffffffffffffff1614610a4657600080fd5b60338110610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a80906138dd565b60405180910390fd5b80600d819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600d54604051610ac19190613a5d565b60405180910390a150565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b0d6116cc565b73ffffffffffffffffffffffffffffffffffffffff1614610b2d57600080fd5b600a8183610b3b9190613b42565b14610b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b72906139bd565b60405180910390fd5b81601781905550806018819055505050565b610b956116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c199061395d565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601f60159054906101000a900460ff16604051610c7a91906137e0565b60405180910390a150565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610cd59190613c23565b9050919050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1d6116cc565b73ffffffffffffffffffffffffffffffffffffffff1614610d3d57600080fd5b6000479050610d4b816122df565b50565b6000610d98600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612400565b9050919050565b610da76116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b9061395d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600581526020017f47594f5a41000000000000000000000000000000000000000000000000000000815250905090565b6000610f72610f6b6116cc565b848461189f565b6001905092915050565b6000601f60159054906101000a900460ff16905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015442610fe39190613c23565b9050919050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661102b6116cc565b73ffffffffffffffffffffffffffffffffffffffff161461104b57600080fd5b600061105630610d4e565b90506110618161246e565b50565b60125481565b6110726116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f69061395d565b60405180910390fd5b6001601f60146101000a81548160ff021916908315150217905550603c426111279190613b42565b602081905550565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111be6116cc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461124b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112429061395d565b60405180910390fd5b601f60149054906101000a900460ff161561129b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129290613a1d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061132a30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006116d4565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a891906130ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561140a57600080fd5b505afa15801561141e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144291906130ec565b6040518363ffffffff1660e01b815260040161145f92919061372d565b602060405180830381600087803b15801561147957600080fd5b505af115801561148d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b191906130ec565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061153a30610d4e565b600080611545610ef2565b426040518863ffffffff1660e01b81526004016115679695949392919061377f565b6060604051808303818588803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115b991906132b3565b5050506611c37937e08000601b8190555042601681905550601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611670929190613756565b602060405180830381600087803b15801561168a57600080fd5b505af115801561169e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c29190613219565b5050565b60105481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611744576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173b906139fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab9061385d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118929190613a5d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561190f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611906906139dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561197f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119769061381d565b60405180910390fd5b600081116119c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b99061397d565b60405180910390fd5b6119ca610ef2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a385750611a08610ef2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121b857601f60159054906101000a900460ff1615611b3e57600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff16611b3d576040518060600160405280600081526020016000815260200160011515815250600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611be95750601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c3f5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e1657601f60149054906101000a900460ff16611c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8a90613a3d565b60405180910390fd5b600b54600981905550600c54600a81905550601f60159054906101000a900460ff1615611dac57426020541115611dab57601b54811115611cd357600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e9061389d565b60405180910390fd5b601442611d649190613b42565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b601f60159054906101000a900460ff1615611e1557601442611dce9190613b42565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055505b5b6000611e2130610d4e565b9050601f60169054906101000a900460ff16158015611e8e5750601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ea65750601f60149054906101000a900460ff165b156121b657601f60159054906101000a900460ff1615611f455742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001015410611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b906138fd565b60405180910390fd5b5b7368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461201a576000611fa3601554846126f690919063ffffffff16565b9050611ff4611fe584611fd7601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b61277190919063ffffffff16565b826127cf90919063ffffffff16565b9050611fff81612819565b600160135461200e9190613b42565b601381905550506120db565b6000612031601554846126f690919063ffffffff16565b905061208261207384612065601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b61277190919063ffffffff16565b826127cf90919063ffffffff16565b90506010548111156120b157612097816128d7565b60016014546120a69190613b42565b6014819055506120d9565b600b54600981905550600c54600a8190555060016012546120d29190613b42565b6012819055505b505b600081111561219c576121366064612128600d5461211a601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b6126f690919063ffffffff16565b6127cf90919063ffffffff16565b8111156121925761218f6064612181600d54612173601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610d4e565b6126f690919063ffffffff16565b6127cf90919063ffffffff16565b90505b61219b8161246e565b5b600047905060008111156121b4576121b3476122df565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061225f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561226957600090505b61227584848484612995565b50505050565b60008383111582906122c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ba91906137fb565b60405180910390fd5b50600083856122d29190613c23565b9050809150509392505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612342600a6123346002866126f690919063ffffffff16565b6127cf90919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561236d573d6000803e3d6000fd5b50601d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6123d1600a6123c36008866126f690919063ffffffff16565b6127cf90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156123fc573d6000803e3d6000fd5b5050565b6000600754821115612447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243e9061383d565b60405180910390fd5b60006124516129c2565b905061246681846127cf90919063ffffffff16565b915050919050565b6001601f60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156124a6576124a5613df8565b5b6040519080825280602002602001820160405280156124d45781602001602082028036833780820191505090505b50905030816000815181106124ec576124eb613dc9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561258e57600080fd5b505afa1580156125a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c691906130ec565b816001815181106125da576125d9613dc9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061264130601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116d4565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016126a5959493929190613a78565b600060405180830381600087803b1580156126bf57600080fd5b505af11580156126d3573d6000803e3d6000fd5b50505050506000601f60166101000a81548160ff02191690831515021790555050565b600080831415612709576000905061276b565b600082846127179190613bc9565b90508284826127269190613b98565b14612766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275d9061393d565b60405180910390fd5b809150505b92915050565b60008082846127809190613b42565b9050838110156127c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127bc906138bd565b60405180910390fd5b8091505092915050565b600061281183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129ed565b905092915050565b6000600e549050600e5482101561283457600e54905061284d565b600f5482111561284857600f54905061284c565b8190505b5b6000612863600283612a5090919063ffffffff16565b1461287757808061287390613cf1565b9150505b61289f600a612891601754846126f690919063ffffffff16565b6127cf90919063ffffffff16565b6009819055506128cd600a6128bf601854846126f690919063ffffffff16565b6127cf90919063ffffffff16565b600a819055505050565b600060105490506010548210156128f257601054905061290b565b60115482111561290657601154905061290a565b8190505b5b6000612921600283612a5090919063ffffffff16565b1461293557808061293190613cf1565b9150505b61295d600a61294f601754846126f690919063ffffffff16565b6127cf90919063ffffffff16565b60098190555061298b600a61297d601854846126f690919063ffffffff16565b6127cf90919063ffffffff16565b600a819055505050565b806129a3576129a2612a9a565b5b6129ae848484612add565b806129bc576129bb612ca8565b5b50505050565b60008060006129cf612cbc565b915091506129e681836127cf90919063ffffffff16565b9250505090565b60008083118290612a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2b91906137fb565b60405180910390fd5b5060008385612a439190613b98565b9050809150509392505050565b6000612a9283836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612d1b565b905092915050565b6000600954148015612aae57506000600a54145b15612ab857612adb565b600954601981905550600a54601a8190555060006009819055506000600a819055505b565b600080600080600080612aef87612d79565b955095509550955095509550612b4d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612de190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612be285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c2e81612e2b565b612c388483612ee8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612c959190613a5d565b60405180910390a3505050505050505050565b601954600981905550601a54600a81905550565b600080600060075490506000670de0b6b3a76400009050612cf0670de0b6b3a76400006007546127cf90919063ffffffff16565b821015612d0e57600754670de0b6b3a7640000935093505050612d17565b81819350935050505b9091565b6000808314158290612d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5a91906137fb565b60405180910390fd5b508284612d709190613d3a565b90509392505050565b6000806000806000806000806000612d968a600954600a54612f22565b9250925092506000612da66129c2565b90506000806000612db98e878787612fb8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612e2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061227b565b905092915050565b6000612e356129c2565b90506000612e4c82846126f690919063ffffffff16565b9050612ea081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461277190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612efd82600754612de190919063ffffffff16565b600781905550612f188160085461277190919063ffffffff16565b6008819055505050565b600080600080612f4e6064612f40888a6126f690919063ffffffff16565b6127cf90919063ffffffff16565b90506000612f786064612f6a888b6126f690919063ffffffff16565b6127cf90919063ffffffff16565b90506000612fa182612f93858c612de190919063ffffffff16565b612de190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612fd185896126f690919063ffffffff16565b90506000612fe886896126f690919063ffffffff16565b90506000612fff87896126f690919063ffffffff16565b905060006130288261301a8587612de190919063ffffffff16565b612de190919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050613050816142e7565b92915050565b600081519050613065816142e7565b92915050565b60008135905061307a816142fe565b92915050565b60008151905061308f816142fe565b92915050565b6000813590506130a481614315565b92915050565b6000815190506130b981614315565b92915050565b6000602082840312156130d5576130d4613e27565b5b60006130e384828501613041565b91505092915050565b60006020828403121561310257613101613e27565b5b600061311084828501613056565b91505092915050565b600080604083850312156131305761312f613e27565b5b600061313e85828601613041565b925050602061314f85828601613041565b9150509250929050565b60008060006060848603121561317257613171613e27565b5b600061318086828701613041565b935050602061319186828701613041565b92505060406131a286828701613095565b9150509250925092565b600080604083850312156131c3576131c2613e27565b5b60006131d185828601613041565b92505060206131e285828601613095565b9150509250929050565b60006020828403121561320257613201613e27565b5b60006132108482850161306b565b91505092915050565b60006020828403121561322f5761322e613e27565b5b600061323d84828501613080565b91505092915050565b60006020828403121561325c5761325b613e27565b5b600061326a84828501613095565b91505092915050565b6000806040838503121561328a57613289613e27565b5b600061329885828601613095565b92505060206132a985828601613095565b9150509250929050565b6000806000606084860312156132cc576132cb613e27565b5b60006132da868287016130aa565b93505060206132eb868287016130aa565b92505060406132fc868287016130aa565b9150509250925092565b60008060008060008060c0878903121561332357613322613e27565b5b600061333189828a01613095565b965050602061334289828a01613095565b955050604061335389828a01613095565b945050606061336489828a01613095565b935050608061337589828a01613095565b92505060a061338689828a01613095565b9150509295509295509295565b600061339f83836133ab565b60208301905092915050565b6133b481613c57565b82525050565b6133c381613c57565b82525050565b60006133d482613afd565b6133de8185613b20565b93506133e983613aed565b8060005b8381101561341a5781516134018882613393565b975061340c83613b13565b9250506001810190506133ed565b5085935050505092915050565b61343081613c69565b82525050565b61343f81613cac565b82525050565b600061345082613b08565b61345a8185613b31565b935061346a818560208601613cbe565b61347381613e2c565b840191505092915050565b600061348b602383613b31565b915061349682613e3d565b604082019050919050565b60006134ae602a83613b31565b91506134b982613e8c565b604082019050919050565b60006134d1602283613b31565b91506134dc82613edb565b604082019050919050565b60006134f4602583613b31565b91506134ff82613f2a565b604082019050919050565b6000613517602283613b31565b915061352282613f79565b604082019050919050565b600061353a601b83613b31565b915061354582613fc8565b602082019050919050565b600061355d601583613b31565b915061356882613ff1565b602082019050919050565b6000613580602383613b31565b915061358b8261401a565b604082019050919050565b60006135a3602183613b31565b91506135ae82614069565b604082019050919050565b60006135c6602183613b31565b91506135d1826140b8565b604082019050919050565b60006135e9602083613b31565b91506135f482614107565b602082019050919050565b600061360c602983613b31565b915061361782614130565b604082019050919050565b600061362f601783613b31565b915061363a8261417f565b602082019050919050565b6000613652602583613b31565b915061365d826141a8565b604082019050919050565b6000613675602583613b31565b9150613680826141f7565b604082019050919050565b6000613698602483613b31565b91506136a382614246565b604082019050919050565b60006136bb601783613b31565b91506136c682614295565b602082019050919050565b60006136de601883613b31565b91506136e9826142be565b602082019050919050565b6136fd81613c95565b82525050565b61370c81613c9f565b82525050565b600060208201905061372760008301846133ba565b92915050565b600060408201905061374260008301856133ba565b61374f60208301846133ba565b9392505050565b600060408201905061376b60008301856133ba565b61377860208301846136f4565b9392505050565b600060c08201905061379460008301896133ba565b6137a160208301886136f4565b6137ae6040830187613436565b6137bb6060830186613436565b6137c860808301856133ba565b6137d560a08301846136f4565b979650505050505050565b60006020820190506137f56000830184613427565b92915050565b600060208201905081810360008301526138158184613445565b905092915050565b600060208201905081810360008301526138368161347e565b9050919050565b60006020820190508181036000830152613856816134a1565b9050919050565b60006020820190508181036000830152613876816134c4565b9050919050565b60006020820190508181036000830152613896816134e7565b9050919050565b600060208201905081810360008301526138b68161350a565b9050919050565b600060208201905081810360008301526138d68161352d565b9050919050565b600060208201905081810360008301526138f681613550565b9050919050565b6000602082019050818103600083015261391681613573565b9050919050565b6000602082019050818103600083015261393681613596565b9050919050565b60006020820190508181036000830152613956816135b9565b9050919050565b60006020820190508181036000830152613976816135dc565b9050919050565b60006020820190508181036000830152613996816135ff565b9050919050565b600060208201905081810360008301526139b681613622565b9050919050565b600060208201905081810360008301526139d681613645565b9050919050565b600060208201905081810360008301526139f681613668565b9050919050565b60006020820190508181036000830152613a168161368b565b9050919050565b60006020820190508181036000830152613a36816136ae565b9050919050565b60006020820190508181036000830152613a56816136d1565b9050919050565b6000602082019050613a7260008301846136f4565b92915050565b600060a082019050613a8d60008301886136f4565b613a9a6020830187613436565b8181036040830152613aac81866133c9565b9050613abb60608301856133ba565b613ac860808301846136f4565b9695505050505050565b6000602082019050613ae76000830184613703565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b4d82613c95565b9150613b5883613c95565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b8d57613b8c613d6b565b5b828201905092915050565b6000613ba382613c95565b9150613bae83613c95565b925082613bbe57613bbd613d9a565b5b828204905092915050565b6000613bd482613c95565b9150613bdf83613c95565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c1857613c17613d6b565b5b828202905092915050565b6000613c2e82613c95565b9150613c3983613c95565b925082821015613c4c57613c4b613d6b565b5b828203905092915050565b6000613c6282613c75565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613cb782613c95565b9050919050565b60005b83811015613cdc578082015181840152602081019050613cc1565b83811115613ceb576000848401525b50505050565b6000613cfc82613c95565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613d2f57613d2e613d6b565b5b600182019050919050565b6000613d4582613c95565b9150613d5083613c95565b925082613d6057613d5f613d9a565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d617820746f74616c2066656520666f72206e6f726d616c207573657273206960008201527f7320313025000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f526174652063616e277420657863656564203530250000000000000000000000600082015250565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b7f4d696e2070756e69736861626c6520707269636520696d70616374206973203160008201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4d61782066656520666f7220626f747320697320373525000000000000000000600082015250565b7f4c657373206f72206d6f72652063616e2064616d6167652074686520636f6e7460008201527f726163742e000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b6142f081613c57565b81146142fb57600080fd5b50565b61430781613c69565b811461431257600080fd5b50565b61431e81613c95565b811461432957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206269389bb2815aeec046b1c2ac1805dd6fd16ff5a15f4d55d6a034c58fb1dab964736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f3cac4b2e41b40d00b6d4787b09587940d825fed000000000000000000000000c358600ae2f1ce2fd27b94816e506574c9438416
-----Decoded View---------------
Arg [0] : FeeAddress (address): 0xf3CaC4B2e41b40d00B6D4787b09587940d825fED
Arg [1] : marketingWalletAddress (address): 0xc358600Ae2f1Ce2FD27B94816e506574c9438416
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f3cac4b2e41b40d00b6d4787b09587940d825fed
Arg [1] : 000000000000000000000000c358600ae2f1ce2fd27b94816e506574c9438416
Deployed Bytecode Sourcemap
5093:16326:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7947:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8799:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20483:664;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6293:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8224:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6093:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8968:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20005:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8133:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6436:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6401:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19611:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21155:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19837:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20217:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19343:190;;;;;;;;;;;;;:::i;:::-;;8327:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4172:148;;;;;;;;;;;;;:::i;:::-;;3958:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6015:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8038:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8473:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20113:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20349:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19140:191;;;;;;;;;;;;;:::i;:::-;;6363:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19000:132;;;;;;;;;;;;;:::i;:::-;;8648:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18229:763;;;;;;;;;;;;;:::i;:::-;;6171:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7947:83;7984:13;8017:5;;;;;;;;;;;;;;;;;8010:12;;7947:83;:::o;8799:161::-;8874:4;8891:39;8900:12;:10;:12::i;:::-;8914:7;8923:6;8891:8;:39::i;:::-;8948:4;8941:11;;8799:161;;;;:::o;20483:664::-;20649:11;;;;;;;;;;;20633:27;;:12;:10;:12::i;:::-;:27;;;20625:36;;;;;;20706:2;20694:7;20681:10;:20;;;;:::i;:::-;20680:28;;20672:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;20780:2;20769:7;:13;;20761:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;20857:2;20847:6;:12;;20846:30;;;;;20873:2;20863:6;:12;;20846:30;20837:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20974:10;20961;:23;;;;21007:7;20995:9;:19;;;;21038:6;21025:10;:19;;;;21068:6;21055:10;:19;;;;21099:7;21085:11;:21;;;;21131:7;21117:11;:21;;;;20483:664;;;;;;:::o;6293:31::-;;;;:::o;8224:95::-;8277:7;5546:11;8297:14;;8224:95;:::o;6093:30::-;;;;:::o;8968:313::-;9066:4;9083:36;9093:6;9101:9;9112:6;9083:9;:36::i;:::-;9130:121;9139:6;9147:12;:10;:12::i;:::-;9161:89;9199:6;9161:89;;;;;;;;;;;;;;;;;:11;:19;9173:6;9161:19;;;;;;;;;;;;;;;:33;9181:12;:10;:12::i;:::-;9161:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9130:8;:121::i;:::-;9269:4;9262:11;;8968:313;;;;;:::o;20005:100::-;20049:4;20073:24;20091:4;20073:9;:24::i;:::-;20066:31;;20005:100;:::o;8133:83::-;8174:5;5796:1;8192:16;;8133:83;:::o;6436:29::-;;;;:::o;6401:28::-;;;;:::o;19611:218::-;19689:11;;;;;;;;;;;19673:27;;:12;:10;:12::i;:::-;:27;;;19665:36;;;;;;19727:2;19720:4;:9;19712:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;19777:4;19766:8;:15;;;;19797:24;19812:8;;19797:24;;;;;;:::i;:::-;;;;;;;;19611:218;:::o;21155:255::-;21254:11;;;;;;;;;;;21238:27;;:12;:10;:12::i;:::-;:27;;;21230:36;;;;;;21302:2;21293:4;21286;:11;;;;:::i;:::-;21285:19;21277:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21379:4;21374:2;:9;;;;21399:4;21394:2;:9;;;;21155:255;;:::o;19837:160::-;4095:12;:10;:12::i;:::-;4085:22;;:6;;;;;;;;;;:22;;;4077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19928:5:::1;19909:16;;:24;;;;;;;;;;;;;;;;;;19949:40;19972:16;;;;;;;;;;;19949:40;;;;;;:::i;:::-;;;;;;;;19837:160:::0;:::o;20217:124::-;20272:4;20314:8;:15;20323:5;20314:15;;;;;;;;;;;;;;;:19;;;20296:15;:37;;;;:::i;:::-;20289:44;;20217:124;;;:::o;19343:190::-;19409:11;;;;;;;;;;;19393:27;;:12;:10;:12::i;:::-;:27;;;19385:36;;;;;;19432:26;19461:21;19432:50;;19493:32;19506:18;19493:12;:32::i;:::-;19374:159;19343:190::o;8327:138::-;8393:7;8420:37;8440:7;:16;8448:7;8440:16;;;;;;;;;;;;;;;;8420:19;:37::i;:::-;8413:44;;8327:138;;;:::o;4172:148::-;4095:12;:10;:12::i;:::-;4085:22;;:6;;;;;;;;;;:22;;;4077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4279:1:::1;4242:40;;4263:6;::::0;::::1;;;;;;;;4242:40;;;;;;;;;;;;4310:1;4293:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4172:148::o:0;3958:79::-;3996:7;4023:6;;;;;;;;;;;4016:13;;3958:79;:::o;6015:30::-;;;;:::o;8038:87::-;8077:13;8110:7;;;;;;;;;;;;;;;;;8103:14;;8038:87;:::o;8473:167::-;8551:4;8568:42;8578:12;:10;:12::i;:::-;8592:9;8603:6;8568:9;:42::i;:::-;8628:4;8621:11;;8473:167;;;;:::o;20113:96::-;20161:4;20185:16;;;;;;;;;;;20178:23;;20113:96;:::o;20349:126::-;20405:4;20447:8;:15;20456:5;20447:15;;;;;;;;;;;;;;;:20;;;20429:15;:38;;;;:::i;:::-;20422:45;;20349:126;;;:::o;19140:191::-;19206:11;;;;;;;;;;;19190:27;;:12;:10;:12::i;:::-;:27;;;19182:36;;;;;;19229:23;19255:24;19273:4;19255:9;:24::i;:::-;19229:50;;19290:33;19307:15;19290:16;:33::i;:::-;19171:160;19140:191::o;6363:31::-;;;;:::o;19000:132::-;4095:12;:10;:12::i;:::-;4085:22;;:6;;;;;;;;;;:22;;;4077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19065:4:::1;19051:11;;:18;;;;;;;;;;;;;;;;;;19113:10;19094:15;:30;;;;:::i;:::-;19080:11;:44;;;;19000:132::o:0;8648:143::-;8729:7;8756:11;:18;8768:5;8756:18;;;;;;;;;;;;;;;:27;8775:7;8756:27;;;;;;;;;;;;;;;;8749:34;;8648:143;;;;:::o;18229:763::-;4095:12;:10;:12::i;:::-;4085:22;;:6;;;;;;;;;;:22;;;4077:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18294:11:::1;;;;;;;;;;;18293:12;18285:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;18343:35;18400:42;18343:100;;18472:16;18454:15;;:34;;;;;;;;;;;;;;;;;;18499:58;18516:4;18531:15;;;;;;;;;;;5546:11;18499:8;:58::i;:::-;18602:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18584:56;;;18649:4;18656:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18584:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18568:13;;:112;;;;;;;;;;;;;;;;;;18691:15;;;;;;;;;;;:31;;;18730:21;18761:4;18767:24;18785:4;18767:9;:24::i;:::-;18792:1;18794::::0;18796:7:::1;:5;:7::i;:::-;18804:15;18691:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18847:15;18831:13;:31;;;;18887:15;18873:11;:29;;;;18920:13;;;;;;;;;;;18913:29;;;18951:15;;;;;;;;;;;18969:14;18913:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18274:718;18229:763::o:0;6171:31::-;;;;:::o;1367:98::-;1420:7;1447:10;1440:17;;1367:98;:::o;10856:335::-;10966:1;10949:19;;:5;:19;;;;10941:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11047:1;11028:21;;:7;:21;;;;11020:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11129:6;11099:11;:18;11111:5;11099:18;;;;;;;;;;;;;;;:27;11118:7;11099:27;;;;;;;;;;;;;;;:36;;;;11167:7;11151:32;;11160:5;11151:32;;;11176:6;11151:32;;;;;;:::i;:::-;;;;;;;;10856:335;;;:::o;11199:3462::-;11303:1;11287:18;;:4;:18;;;;11279:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11380:1;11366:16;;:2;:16;;;;11358:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11450:1;11441:6;:10;11433:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11521:7;:5;:7::i;:::-;11513:15;;:4;:15;;;;:32;;;;;11538:7;:5;:7::i;:::-;11532:13;;:2;:13;;;;11513:32;11510:2947;;;11565:16;;;;;;;;;;;11562:168;;;11606:8;:20;11615:10;11606:20;;;;;;;;;;;;;;;:27;;;;;;;;;;;;11602:113;;11681:14;;;;;;;;11686:1;11681:14;;;;11688:1;11681:14;;;;11690:4;11681:14;;;;;11658:8;:20;11667:10;11658:20;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11602:113;11562:168;11777:13;;;;;;;;;;;11769:21;;:4;:21;;;:55;;;;;11808:15;;;;;;;;;;;11794:30;;:2;:30;;;;11769:55;:82;;;;;11829:18;:22;11848:2;11829:22;;;;;;;;;;;;;;;;;;;;;;;;;11828:23;11769:82;11766:829;;;11880:11;;;;;;;;;;;11872:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;11979:10;;11969:7;:20;;;;12019:9;;12008:8;:20;;;;12087:16;;;;;;;;;;;12084:364;;;12145:15;12131:11;;:29;12128:301;;;12207:13;;12197:6;:23;;12189:32;;;;;;12275:15;12256:8;:12;12265:2;12256:12;;;;;;;;;;;;;;;:16;;;:34;12248:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;12394:10;12375:15;:30;;;;:::i;:::-;12356:8;:12;12365:2;12356:12;;;;;;;;;;;;;;;:16;;:49;;;;12128:301;12084:364;12469:16;;;;;;;;;;;12466:114;;;12549:10;12530:15;:30;;;;:::i;:::-;12510:8;:12;12519:2;12510:12;;;;;;;;;;;;;;;:17;;:50;;;;12466:114;11766:829;12609:28;12640:24;12658:4;12640:9;:24::i;:::-;12609:55;;12706:6;;;;;;;;;;;12705:7;:32;;;;;12724:13;;;;;;;;;;;12716:21;;:4;:21;;;;12705:32;:47;;;;;12741:11;;;;;;;;;;;12705:47;12702:1744;;;12778:16;;;;;;;;;;;12775:149;;;12849:15;12827:8;:14;12836:4;12827:14;;;;;;;;;;;;;;;:19;;;:37;12819:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12775:149;12970:42;12948:65;;:10;:65;;;12944:947;;13106:16;13125:26;13136:14;;13125:6;:10;;:26;;;;:::i;:::-;13106:45;;13185:50;13198:36;13227:6;13198:24;13208:13;;;;;;;;;;;13198:9;:24::i;:::-;:28;;:36;;;;:::i;:::-;13185:8;:12;;:50;;;;:::i;:::-;13174:61;;13258:16;13265:8;13258:6;:16::i;:::-;13321:1;13309:9;;:13;;;;:::i;:::-;13297:9;:25;;;;13015:327;12944:947;;;13385:14;13402:26;13413:14;;13402:6;:10;;:26;;;;:::i;:::-;13385:43;;13460:48;13471:36;13500:6;13471:24;13481:13;;;;;;;;;;;13471:9;:24::i;:::-;:28;;:36;;;;:::i;:::-;13460:6;:10;;:48;;;;:::i;:::-;13451:57;;13541:11;;13532:6;:20;13528:344;;;13625:18;13636:6;13625:10;:18::i;:::-;13692:1;13679:10;;:14;;;;:::i;:::-;13666:10;:27;;;;13528:344;;;13751:10;;13741:7;:20;;;;13791:9;;13780:8;:20;;;;13850:1;13835:12;;:16;;;;:::i;:::-;13820:12;:31;;;;13528:344;13366:525;12944:947;13937:1;13914:20;:24;13911:328;;;13989:47;14032:3;13989:38;14018:8;;13989:24;13999:13;;;;;;;;;;;13989:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;13966:20;:70;13963:196;;;14088:47;14131:3;14088:38;14117:8;;14088:24;14098:13;;;;;;;;;;;14088:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;14065:70;;13963:196;14181:38;14198:20;14181:16;:38::i;:::-;13911:328;14257:26;14286:21;14257:50;;14350:1;14329:18;:22;14326:105;;;14376:35;14389:21;14376:12;:35::i;:::-;14326:105;12754:1692;12702:1744;11547:2910;11510:2947;14467:12;14482:4;14467:19;;14502:18;:24;14521:4;14502:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;14530:18;:22;14549:2;14530:22;;;;;;;;;;;;;;;;;;;;;;;;;14502:50;14499:96;;;14578:5;14568:15;;14499:96;14615:38;14630:4;14635:2;14638:6;14645:7;14615:14;:38::i;:::-;11268:3393;11199:3462;;;:::o;2504:190::-;2590:7;2623:1;2618;:6;;2626:12;2610:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2650:9;2666:1;2662;:5;;;;:::i;:::-;2650:17;;2685:1;2678:8;;;2504:190;;;;;:::o;15168:176::-;15225:11;;;;;;;;;;;:20;;:43;15246:21;15264:2;15246:13;15257:1;15246:6;:10;;:13;;;;:::i;:::-;:17;;:21;;;;:::i;:::-;15225:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15281:23;;;;;;;;;;;:32;;:55;15314:21;15332:2;15314:13;15325:1;15314:6;:10;;:13;;;;:::i;:::-;:17;;:21;;;;:::i;:::-;15281:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15168:176;:::o;9289:254::-;9356:7;9395;;9384;:18;;9376:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9460:19;9483:10;:8;:10::i;:::-;9460:33;;9511:24;9523:11;9511:7;:11;;:24;;;;:::i;:::-;9504:31;;;9289:254;;;:::o;14669:483::-;7396:4;7387:6;;:13;;;;;;;;;;;;;;;;;;14747:21:::1;14785:1;14771:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14747:40;;14816:4;14798;14803:1;14798:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;14842:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14832:4;14837:1;14832:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;14875:62;14892:4;14907:15;;;;;;;;;;;14925:11;14875:8;:62::i;:::-;14948:15;;;;;;;;;;;:66;;;15029:11;15055:1;15071:4;15098;15118:15;14948:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14736:416;7432:5:::0;7423:6;;:14;;;;;;;;;;;;;;;;;;14669:483;:::o;2702:245::-;2760:7;2788:1;2783;:6;2780:46;;;2813:1;2806:8;;;;2780:46;2836:9;2852:1;2848;:5;;;;:::i;:::-;2836:17;;2881:1;2876;2872;:5;;;;:::i;:::-;:10;2864:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2938:1;2931:8;;;2702:245;;;;;:::o;2173:179::-;2231:7;2251:9;2267:1;2263;:5;;;;:::i;:::-;2251:17;;2292:1;2287;:6;;2279:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2343:1;2336:8;;;2173:179;;;;:::o;2955:132::-;3013:7;3040:39;3044:1;3047;3040:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3033:46;;2955:132;;;;:::o;9896:460::-;9950:15;9968:10;;9950:28;;10004:10;;9992:9;:22;9989:197;;;10038:10;;10028:20;;9989:197;;;10083:10;;10071:9;:22;10068:118;;;10116:10;;10106:20;;10068:118;;;10165:9;10155:19;;10068:118;9989:197;10217:1;10199:14;10211:1;10199:7;:11;;:14;;;;:::i;:::-;:19;10196:60;;10235:9;;;;;:::i;:::-;;;;10196:60;10276:25;10298:2;10277:15;10289:2;;10277:7;:11;;:15;;;;:::i;:::-;10276:21;;:25;;;;:::i;:::-;10266:7;:35;;;;10323:25;10345:2;10324:15;10336:2;;10324:7;:11;;:15;;;;:::i;:::-;10323:21;;:25;;;;:::i;:::-;10312:8;:36;;;;9939:417;9896:460;:::o;10364:484::-;10420:18;10441:11;;10420:32;;10476:11;;10466:7;:21;10463:203;;;10514:11;;10501:24;;10463:203;;;10557:11;;10548:7;:20;10545:121;;;10594:11;;10581:24;;10545:121;;;10647:7;10634:20;;10545:121;10463:203;10700:1;10679:17;10694:1;10679:10;:14;;:17;;;;:::i;:::-;:22;10676:66;;10718:12;;;;;:::i;:::-;;;;10676:66;10762:28;10787:2;10763:18;10778:2;;10763:10;:14;;:18;;;;:::i;:::-;10762:24;;:28;;;;:::i;:::-;10752:7;:38;;;;10812:28;10837:2;10813:18;10828:2;;10813:10;:14;;:18;;;;:::i;:::-;10812:24;;:28;;;;:::i;:::-;10801:8;:39;;;;10409:439;10364:484;:::o;15356:263::-;15468:7;15464:40;;15490:14;:12;:14::i;:::-;15464:40;15515:44;15533:6;15541:9;15552:6;15515:17;:44::i;:::-;15574:7;15570:41;;15596:15;:13;:15::i;:::-;15570:41;15356:263;;;;:::o;16960:163::-;17001:7;17022:15;17039;17058:19;:17;:19::i;:::-;17021:56;;;;17095:20;17107:7;17095;:11;;:20;;;;:::i;:::-;17088:27;;;;16960:163;:::o;3095:189::-;3181:7;3213:1;3209;:5;3216:12;3201:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3240:9;3256:1;3252;:5;;;;:::i;:::-;3240:17;;3275:1;3268:8;;;3095:189;;;;;:::o;3292:130::-;3350:7;3377:37;3381:1;3384;3377:37;;;;;;;;;;;;;;;;;:3;:37::i;:::-;3370:44;;3292:130;;;;:::o;9551:210::-;9608:1;9597:7;;:12;:29;;;;;9625:1;9613:8;;:13;9597:29;9594:41;;;9628:7;;9594:41;9663:7;;9645:15;:25;;;;9700:8;;9681:16;:27;;;;9729:1;9719:7;:11;;;;9752:1;9741:8;:12;;;;9551:210;:::o;15627:490::-;15726:15;15743:23;15768:12;15782:23;15807:12;15821:13;15838:19;15849:7;15838:10;:19::i;:::-;15725:132;;;;;;;;;;;;15886:28;15906:7;15886;:15;15894:6;15886:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15868:7;:15;15876:6;15868:15;;;;;;;;;;;;;;;:46;;;;15946:39;15969:15;15946:7;:18;15954:9;15946:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15925:7;:18;15933:9;15925:18;;;;;;;;;;;;;;;:60;;;;15999:16;16009:5;15999:9;:16::i;:::-;16026:23;16038:4;16044;16026:11;:23::i;:::-;16082:9;16065:44;;16074:6;16065:44;;;16093:15;16065:44;;;;;;:::i;:::-;;;;;;;;15714:403;;;;;;15627:490;;;:::o;9773:115::-;9827:15;;9817:7;:25;;;;9864:16;;9853:8;:27;;;;9773:115::o;17131:255::-;17181:7;17190;17210:15;17228:7;;17210:25;;17246:15;5546:11;17246:25;;17295:20;5546:11;17295:7;;:11;;:20;;;;:::i;:::-;17285:7;:30;17282:60;;;17325:7;;5546:11;17317:25;;;;;;;;17282:60;17361:7;17370;17353:25;;;;;;17131:255;;;:::o;3430:166::-;3516:7;3549:1;3544;:6;;3552:12;3536:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3587:1;3583;:5;;;;:::i;:::-;3576:12;;3430:166;;;;;:::o;16125:468::-;16184:7;16193;16202;16211;16220;16229;16250:23;16275:12;16289:13;16306:39;16318:7;16327;;16336:8;;16306:11;:39::i;:::-;16249:96;;;;;;16356:19;16379:10;:8;:10::i;:::-;16356:33;;16401:15;16418:23;16443:12;16459:46;16471:7;16480:4;16486:5;16493:11;16459;:46::i;:::-;16400:105;;;;;;16524:7;16533:15;16550:4;16556:15;16573:4;16579:5;16516:69;;;;;;;;;;;;;;;;;;;16125:468;;;;;;;:::o;2360:136::-;2418:7;2445:43;2449:1;2452;2445:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2438:50;;2360:136;;;;:::o;17811:214::-;17864:19;17887:10;:8;:10::i;:::-;17864:33;;17908:13;17924:22;17934:11;17924:5;:9;;:22;;;;:::i;:::-;17908:38;;17984:33;18011:5;17984:7;:22;18000:4;17984:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;17959:7;:22;17975:4;17959:22;;;;;;;;;;;;;;;:58;;;;17853:172;;17811:214;:::o;18033:147::-;18111:17;18123:4;18111:7;;:11;;:17;;;;:::i;:::-;18101:7;:27;;;;18152:20;18167:4;18152:10;;:14;;:20;;;;:::i;:::-;18139:10;:33;;;;18033:147;;:::o;16601:351::-;16694:7;16703;16712;16732:12;16747:28;16771:3;16747:19;16759:6;16747:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16732:43;;16786:13;16802:29;16827:3;16802:20;16814:7;16802;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;16786:45;;16842:23;16868:28;16890:5;16868:17;16880:4;16868:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16842:54;;16915:15;16932:4;16938:5;16907:37;;;;;;;;;16601:351;;;;;;;:::o;17394:409::-;17504:7;17513;17522;17542:15;17560:24;17572:11;17560:7;:11;;:24;;;;:::i;:::-;17542:42;;17595:12;17610:21;17619:11;17610:4;:8;;:21;;;;:::i;:::-;17595:36;;17642:13;17658:22;17668:11;17658:5;:9;;:22;;;;:::i;:::-;17642:38;;17691:23;17717:28;17739:5;17717:17;17729:4;17717:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17691:54;;17764:7;17773:15;17790:4;17756:39;;;;;;;;;;17394:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;991:79;;:::i;:::-;953:2;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;943:263;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:2;;;1337:79;;:::i;:::-;1299:2;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1289:274;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:2;;;1700:79;;:::i;:::-;1662:2;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1652:391;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:2;;;2197:79;;:::i;:::-;2159:2;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2149:519;;;;;:::o;2674:474::-;2742:6;2750;2799:2;2787:9;2778:7;2774:23;2770:32;2767:2;;;2805:79;;:::i;:::-;2767:2;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;2757:391;;;;;:::o;3154:323::-;3210:6;3259:2;3247:9;3238:7;3234:23;3230:32;3227:2;;;3265:79;;:::i;:::-;3227:2;3385:1;3410:50;3452:7;3443:6;3432:9;3428:22;3410:50;:::i;:::-;3400:60;;3356:114;3217:260;;;;:::o;3483:345::-;3550:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:2;;;3605:79;;:::i;:::-;3567:2;3725:1;3750:61;3803:7;3794:6;3783:9;3779:22;3750:61;:::i;:::-;3740:71;;3696:125;3557:271;;;;:::o;3834:329::-;3893:6;3942:2;3930:9;3921:7;3917:23;3913:32;3910:2;;;3948:79;;:::i;:::-;3910:2;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;3900:263;;;;:::o;4169:474::-;4237:6;4245;4294:2;4282:9;4273:7;4269:23;4265:32;4262:2;;;4300:79;;:::i;:::-;4262:2;4420:1;4445:53;4490:7;4481:6;4470:9;4466:22;4445:53;:::i;:::-;4435:63;;4391:117;4547:2;4573:53;4618:7;4609:6;4598:9;4594:22;4573:53;:::i;:::-;4563:63;;4518:118;4252:391;;;;;:::o;4649:663::-;4737:6;4745;4753;4802:2;4790:9;4781:7;4777:23;4773:32;4770:2;;;4808:79;;:::i;:::-;4770:2;4928:1;4953:64;5009:7;5000:6;4989:9;4985:22;4953:64;:::i;:::-;4943:74;;4899:128;5066:2;5092:64;5148:7;5139:6;5128:9;5124:22;5092:64;:::i;:::-;5082:74;;5037:129;5205:2;5231:64;5287:7;5278:6;5267:9;5263:22;5231:64;:::i;:::-;5221:74;;5176:129;4760:552;;;;;:::o;5318:1057::-;5422:6;5430;5438;5446;5454;5462;5511:3;5499:9;5490:7;5486:23;5482:33;5479:2;;;5518:79;;:::i;:::-;5479:2;5638:1;5663:53;5708:7;5699:6;5688:9;5684:22;5663:53;:::i;:::-;5653:63;;5609:117;5765:2;5791:53;5836:7;5827:6;5816:9;5812:22;5791:53;:::i;:::-;5781:63;;5736:118;5893:2;5919:53;5964:7;5955:6;5944:9;5940:22;5919:53;:::i;:::-;5909:63;;5864:118;6021:2;6047:53;6092:7;6083:6;6072:9;6068:22;6047:53;:::i;:::-;6037:63;;5992:118;6149:3;6176:53;6221:7;6212:6;6201:9;6197:22;6176:53;:::i;:::-;6166:63;;6120:119;6278:3;6305:53;6350:7;6341:6;6330:9;6326:22;6305:53;:::i;:::-;6295:63;;6249:119;5469:906;;;;;;;;:::o;6381:179::-;6450:10;6471:46;6513:3;6505:6;6471:46;:::i;:::-;6549:4;6544:3;6540:14;6526:28;;6461:99;;;;:::o;6566:108::-;6643:24;6661:5;6643:24;:::i;:::-;6638:3;6631:37;6621:53;;:::o;6680:118::-;6767:24;6785:5;6767:24;:::i;:::-;6762:3;6755:37;6745:53;;:::o;6834:732::-;6953:3;6982:54;7030:5;6982:54;:::i;:::-;7052:86;7131:6;7126:3;7052:86;:::i;:::-;7045:93;;7162:56;7212:5;7162:56;:::i;:::-;7241:7;7272:1;7257:284;7282:6;7279:1;7276:13;7257:284;;;7358:6;7352:13;7385:63;7444:3;7429:13;7385:63;:::i;:::-;7378:70;;7471:60;7524:6;7471:60;:::i;:::-;7461:70;;7317:224;7304:1;7301;7297:9;7292:14;;7257:284;;;7261:14;7557:3;7550:10;;6958:608;;;;;;;:::o;7572:109::-;7653:21;7668:5;7653:21;:::i;:::-;7648:3;7641:34;7631:50;;:::o;7687:147::-;7782:45;7821:5;7782:45;:::i;:::-;7777:3;7770:58;7760:74;;:::o;7840:364::-;7928:3;7956:39;7989:5;7956:39;:::i;:::-;8011:71;8075:6;8070:3;8011:71;:::i;:::-;8004:78;;8091:52;8136:6;8131:3;8124:4;8117:5;8113:16;8091:52;:::i;:::-;8168:29;8190:6;8168:29;:::i;:::-;8163:3;8159:39;8152:46;;7932:272;;;;;:::o;8210:366::-;8352:3;8373:67;8437:2;8432:3;8373:67;:::i;:::-;8366:74;;8449:93;8538:3;8449:93;:::i;:::-;8567:2;8562:3;8558:12;8551:19;;8356:220;;;:::o;8582:366::-;8724:3;8745:67;8809:2;8804:3;8745:67;:::i;:::-;8738:74;;8821:93;8910:3;8821:93;:::i;:::-;8939:2;8934:3;8930:12;8923:19;;8728:220;;;:::o;8954:366::-;9096:3;9117:67;9181:2;9176:3;9117:67;:::i;:::-;9110:74;;9193:93;9282:3;9193:93;:::i;:::-;9311:2;9306:3;9302:12;9295:19;;9100:220;;;:::o;9326:366::-;9468:3;9489:67;9553:2;9548:3;9489:67;:::i;:::-;9482:74;;9565:93;9654:3;9565:93;:::i;:::-;9683:2;9678:3;9674:12;9667:19;;9472:220;;;:::o;9698:366::-;9840:3;9861:67;9925:2;9920:3;9861:67;:::i;:::-;9854:74;;9937:93;10026:3;9937:93;:::i;:::-;10055:2;10050:3;10046:12;10039:19;;9844:220;;;:::o;10070:366::-;10212:3;10233:67;10297:2;10292:3;10233:67;:::i;:::-;10226:74;;10309:93;10398:3;10309:93;:::i;:::-;10427:2;10422:3;10418:12;10411:19;;10216:220;;;:::o;10442:366::-;10584:3;10605:67;10669:2;10664:3;10605:67;:::i;:::-;10598:74;;10681:93;10770:3;10681:93;:::i;:::-;10799:2;10794:3;10790:12;10783:19;;10588:220;;;:::o;10814:366::-;10956:3;10977:67;11041:2;11036:3;10977:67;:::i;:::-;10970:74;;11053:93;11142:3;11053:93;:::i;:::-;11171:2;11166:3;11162:12;11155:19;;10960:220;;;:::o;11186:366::-;11328:3;11349:67;11413:2;11408:3;11349:67;:::i;:::-;11342:74;;11425:93;11514:3;11425:93;:::i;:::-;11543:2;11538:3;11534:12;11527:19;;11332:220;;;:::o;11558:366::-;11700:3;11721:67;11785:2;11780:3;11721:67;:::i;:::-;11714:74;;11797:93;11886:3;11797:93;:::i;:::-;11915:2;11910:3;11906:12;11899:19;;11704:220;;;:::o;11930:366::-;12072:3;12093:67;12157:2;12152:3;12093:67;:::i;:::-;12086:74;;12169:93;12258:3;12169:93;:::i;:::-;12287:2;12282:3;12278:12;12271:19;;12076:220;;;:::o;12302:366::-;12444:3;12465:67;12529:2;12524:3;12465:67;:::i;:::-;12458:74;;12541:93;12630:3;12541:93;:::i;:::-;12659:2;12654:3;12650:12;12643:19;;12448:220;;;:::o;12674:366::-;12816:3;12837:67;12901:2;12896:3;12837:67;:::i;:::-;12830:74;;12913:93;13002:3;12913:93;:::i;:::-;13031:2;13026:3;13022:12;13015:19;;12820:220;;;:::o;13046:366::-;13188:3;13209:67;13273:2;13268:3;13209:67;:::i;:::-;13202:74;;13285:93;13374:3;13285:93;:::i;:::-;13403:2;13398:3;13394:12;13387:19;;13192:220;;;:::o;13418:366::-;13560:3;13581:67;13645:2;13640:3;13581:67;:::i;:::-;13574:74;;13657:93;13746:3;13657:93;:::i;:::-;13775:2;13770:3;13766:12;13759:19;;13564:220;;;:::o;13790:366::-;13932:3;13953:67;14017:2;14012:3;13953:67;:::i;:::-;13946:74;;14029:93;14118:3;14029:93;:::i;:::-;14147:2;14142:3;14138:12;14131:19;;13936:220;;;:::o;14162:366::-;14304:3;14325:67;14389:2;14384:3;14325:67;:::i;:::-;14318:74;;14401:93;14490:3;14401:93;:::i;:::-;14519:2;14514:3;14510:12;14503:19;;14308:220;;;:::o;14534:366::-;14676:3;14697:67;14761:2;14756:3;14697:67;:::i;:::-;14690:74;;14773:93;14862:3;14773:93;:::i;:::-;14891:2;14886:3;14882:12;14875:19;;14680:220;;;:::o;14906:118::-;14993:24;15011:5;14993:24;:::i;:::-;14988:3;14981:37;14971:53;;:::o;15030:112::-;15113:22;15129:5;15113:22;:::i;:::-;15108:3;15101:35;15091:51;;:::o;15148:222::-;15241:4;15279:2;15268:9;15264:18;15256:26;;15292:71;15360:1;15349:9;15345:17;15336:6;15292:71;:::i;:::-;15246:124;;;;:::o;15376:332::-;15497:4;15535:2;15524:9;15520:18;15512:26;;15548:71;15616:1;15605:9;15601:17;15592:6;15548:71;:::i;:::-;15629:72;15697:2;15686:9;15682:18;15673:6;15629:72;:::i;:::-;15502:206;;;;;:::o;15714:332::-;15835:4;15873:2;15862:9;15858:18;15850:26;;15886:71;15954:1;15943:9;15939:17;15930:6;15886:71;:::i;:::-;15967:72;16035:2;16024:9;16020:18;16011:6;15967:72;:::i;:::-;15840:206;;;;;:::o;16052:807::-;16301:4;16339:3;16328:9;16324:19;16316:27;;16353:71;16421:1;16410:9;16406:17;16397:6;16353:71;:::i;:::-;16434:72;16502:2;16491:9;16487:18;16478:6;16434:72;:::i;:::-;16516:80;16592:2;16581:9;16577:18;16568:6;16516:80;:::i;:::-;16606;16682:2;16671:9;16667:18;16658:6;16606:80;:::i;:::-;16696:73;16764:3;16753:9;16749:19;16740:6;16696:73;:::i;:::-;16779;16847:3;16836:9;16832:19;16823:6;16779:73;:::i;:::-;16306:553;;;;;;;;;:::o;16865:210::-;16952:4;16990:2;16979:9;16975:18;16967:26;;17003:65;17065:1;17054:9;17050:17;17041:6;17003:65;:::i;:::-;16957:118;;;;:::o;17081:313::-;17194:4;17232:2;17221:9;17217:18;17209:26;;17281:9;17275:4;17271:20;17267:1;17256:9;17252:17;17245:47;17309:78;17382:4;17373:6;17309:78;:::i;:::-;17301:86;;17199:195;;;;:::o;17400:419::-;17566:4;17604:2;17593:9;17589:18;17581:26;;17653:9;17647:4;17643:20;17639:1;17628:9;17624:17;17617:47;17681:131;17807:4;17681:131;:::i;:::-;17673:139;;17571:248;;;:::o;17825:419::-;17991:4;18029:2;18018:9;18014:18;18006:26;;18078:9;18072:4;18068:20;18064:1;18053:9;18049:17;18042:47;18106:131;18232:4;18106:131;:::i;:::-;18098:139;;17996:248;;;:::o;18250:419::-;18416:4;18454:2;18443:9;18439:18;18431:26;;18503:9;18497:4;18493:20;18489:1;18478:9;18474:17;18467:47;18531:131;18657:4;18531:131;:::i;:::-;18523:139;;18421:248;;;:::o;18675:419::-;18841:4;18879:2;18868:9;18864:18;18856:26;;18928:9;18922:4;18918:20;18914:1;18903:9;18899:17;18892:47;18956:131;19082:4;18956:131;:::i;:::-;18948:139;;18846:248;;;:::o;19100:419::-;19266:4;19304:2;19293:9;19289:18;19281:26;;19353:9;19347:4;19343:20;19339:1;19328:9;19324:17;19317:47;19381:131;19507:4;19381:131;:::i;:::-;19373:139;;19271:248;;;:::o;19525:419::-;19691:4;19729:2;19718:9;19714:18;19706:26;;19778:9;19772:4;19768:20;19764:1;19753:9;19749:17;19742:47;19806:131;19932:4;19806:131;:::i;:::-;19798:139;;19696:248;;;:::o;19950:419::-;20116:4;20154:2;20143:9;20139:18;20131:26;;20203:9;20197:4;20193:20;20189:1;20178:9;20174:17;20167:47;20231:131;20357:4;20231:131;:::i;:::-;20223:139;;20121:248;;;:::o;20375:419::-;20541:4;20579:2;20568:9;20564:18;20556:26;;20628:9;20622:4;20618:20;20614:1;20603:9;20599:17;20592:47;20656:131;20782:4;20656:131;:::i;:::-;20648:139;;20546:248;;;:::o;20800:419::-;20966:4;21004:2;20993:9;20989:18;20981:26;;21053:9;21047:4;21043:20;21039:1;21028:9;21024:17;21017:47;21081:131;21207:4;21081:131;:::i;:::-;21073:139;;20971:248;;;:::o;21225:419::-;21391:4;21429:2;21418:9;21414:18;21406:26;;21478:9;21472:4;21468:20;21464:1;21453:9;21449:17;21442:47;21506:131;21632:4;21506:131;:::i;:::-;21498:139;;21396:248;;;:::o;21650:419::-;21816:4;21854:2;21843:9;21839:18;21831:26;;21903:9;21897:4;21893:20;21889:1;21878:9;21874:17;21867:47;21931:131;22057:4;21931:131;:::i;:::-;21923:139;;21821:248;;;:::o;22075:419::-;22241:4;22279:2;22268:9;22264:18;22256:26;;22328:9;22322:4;22318:20;22314:1;22303:9;22299:17;22292:47;22356:131;22482:4;22356:131;:::i;:::-;22348:139;;22246:248;;;:::o;22500:419::-;22666:4;22704:2;22693:9;22689:18;22681:26;;22753:9;22747:4;22743:20;22739:1;22728:9;22724:17;22717:47;22781:131;22907:4;22781:131;:::i;:::-;22773:139;;22671:248;;;:::o;22925:419::-;23091:4;23129:2;23118:9;23114:18;23106:26;;23178:9;23172:4;23168:20;23164:1;23153:9;23149:17;23142:47;23206:131;23332:4;23206:131;:::i;:::-;23198:139;;23096:248;;;:::o;23350:419::-;23516:4;23554:2;23543:9;23539:18;23531:26;;23603:9;23597:4;23593:20;23589:1;23578:9;23574:17;23567:47;23631:131;23757:4;23631:131;:::i;:::-;23623:139;;23521:248;;;:::o;23775:419::-;23941:4;23979:2;23968:9;23964:18;23956:26;;24028:9;24022:4;24018:20;24014:1;24003:9;23999:17;23992:47;24056:131;24182:4;24056:131;:::i;:::-;24048:139;;23946:248;;;:::o;24200:419::-;24366:4;24404:2;24393:9;24389:18;24381:26;;24453:9;24447:4;24443:20;24439:1;24428:9;24424:17;24417:47;24481:131;24607:4;24481:131;:::i;:::-;24473:139;;24371:248;;;:::o;24625:419::-;24791:4;24829:2;24818:9;24814:18;24806:26;;24878:9;24872:4;24868:20;24864:1;24853:9;24849:17;24842:47;24906:131;25032:4;24906:131;:::i;:::-;24898:139;;24796:248;;;:::o;25050:222::-;25143:4;25181:2;25170:9;25166:18;25158:26;;25194:71;25262:1;25251:9;25247:17;25238:6;25194:71;:::i;:::-;25148:124;;;;:::o;25278:831::-;25541:4;25579:3;25568:9;25564:19;25556:27;;25593:71;25661:1;25650:9;25646:17;25637:6;25593:71;:::i;:::-;25674:80;25750:2;25739:9;25735:18;25726:6;25674:80;:::i;:::-;25801:9;25795:4;25791:20;25786:2;25775:9;25771:18;25764:48;25829:108;25932:4;25923:6;25829:108;:::i;:::-;25821:116;;25947:72;26015:2;26004:9;26000:18;25991:6;25947:72;:::i;:::-;26029:73;26097:3;26086:9;26082:19;26073:6;26029:73;:::i;:::-;25546:563;;;;;;;;:::o;26115:214::-;26204:4;26242:2;26231:9;26227:18;26219:26;;26255:67;26319:1;26308:9;26304:17;26295:6;26255:67;:::i;:::-;26209:120;;;;:::o;26416:132::-;26483:4;26506:3;26498:11;;26536:4;26531:3;26527:14;26519:22;;26488:60;;;:::o;26554:114::-;26621:6;26655:5;26649:12;26639:22;;26628:40;;;:::o;26674:99::-;26726:6;26760:5;26754:12;26744:22;;26733:40;;;:::o;26779:113::-;26849:4;26881;26876:3;26872:14;26864:22;;26854:38;;;:::o;26898:184::-;26997:11;27031:6;27026:3;27019:19;27071:4;27066:3;27062:14;27047:29;;27009:73;;;;:::o;27088:169::-;27172:11;27206:6;27201:3;27194:19;27246:4;27241:3;27237:14;27222:29;;27184:73;;;;:::o;27263:305::-;27303:3;27322:20;27340:1;27322:20;:::i;:::-;27317:25;;27356:20;27374:1;27356:20;:::i;:::-;27351:25;;27510:1;27442:66;27438:74;27435:1;27432:81;27429:2;;;27516:18;;:::i;:::-;27429:2;27560:1;27557;27553:9;27546:16;;27307:261;;;;:::o;27574:185::-;27614:1;27631:20;27649:1;27631:20;:::i;:::-;27626:25;;27665:20;27683:1;27665:20;:::i;:::-;27660:25;;27704:1;27694:2;;27709:18;;:::i;:::-;27694:2;27751:1;27748;27744:9;27739:14;;27616:143;;;;:::o;27765:348::-;27805:7;27828:20;27846:1;27828:20;:::i;:::-;27823:25;;27862:20;27880:1;27862:20;:::i;:::-;27857:25;;28050:1;27982:66;27978:74;27975:1;27972:81;27967:1;27960:9;27953:17;27949:105;27946:2;;;28057:18;;:::i;:::-;27946:2;28105:1;28102;28098:9;28087:20;;27813:300;;;;:::o;28119:191::-;28159:4;28179:20;28197:1;28179:20;:::i;:::-;28174:25;;28213:20;28231:1;28213:20;:::i;:::-;28208:25;;28252:1;28249;28246:8;28243:2;;;28257:18;;:::i;:::-;28243:2;28302:1;28299;28295:9;28287:17;;28164:146;;;;:::o;28316:96::-;28353:7;28382:24;28400:5;28382:24;:::i;:::-;28371:35;;28361:51;;;:::o;28418:90::-;28452:7;28495:5;28488:13;28481:21;28470:32;;28460:48;;;:::o;28514:126::-;28551:7;28591:42;28584:5;28580:54;28569:65;;28559:81;;;:::o;28646:77::-;28683:7;28712:5;28701:16;;28691:32;;;:::o;28729:86::-;28764:7;28804:4;28797:5;28793:16;28782:27;;28772:43;;;:::o;28821:121::-;28879:9;28912:24;28930:5;28912:24;:::i;:::-;28899:37;;28889:53;;;:::o;28948:307::-;29016:1;29026:113;29040:6;29037:1;29034:13;29026:113;;;29125:1;29120:3;29116:11;29110:18;29106:1;29101:3;29097:11;29090:39;29062:2;29059:1;29055:10;29050:15;;29026:113;;;29157:6;29154:1;29151:13;29148:2;;;29237:1;29228:6;29223:3;29219:16;29212:27;29148:2;28997:258;;;;:::o;29261:233::-;29300:3;29323:24;29341:5;29323:24;:::i;:::-;29314:33;;29369:66;29362:5;29359:77;29356:2;;;29439:18;;:::i;:::-;29356:2;29486:1;29479:5;29475:13;29468:20;;29304:190;;;:::o;29500:176::-;29532:1;29549:20;29567:1;29549:20;:::i;:::-;29544:25;;29583:20;29601:1;29583:20;:::i;:::-;29578:25;;29622:1;29612:2;;29627:18;;:::i;:::-;29612:2;29668:1;29665;29661:9;29656:14;;29534:142;;;;:::o;29682:180::-;29730:77;29727:1;29720:88;29827:4;29824:1;29817:15;29851:4;29848:1;29841:15;29868:180;29916:77;29913:1;29906:88;30013:4;30010:1;30003:15;30037:4;30034:1;30027:15;30054:180;30102:77;30099:1;30092:88;30199:4;30196:1;30189:15;30223:4;30220:1;30213:15;30240:180;30288:77;30285:1;30278:88;30385:4;30382:1;30375:15;30409:4;30406:1;30399:15;30549:117;30658:1;30655;30648:12;30672:102;30713:6;30764:2;30760:7;30755:2;30748:5;30744:14;30740:28;30730:38;;30720:54;;;:::o;30780:222::-;30920:34;30916:1;30908:6;30904:14;30897:58;30989:5;30984:2;30976:6;30972:15;30965:30;30886:116;:::o;31008:229::-;31148:34;31144:1;31136:6;31132:14;31125:58;31217:12;31212:2;31204:6;31200:15;31193:37;31114:123;:::o;31243:221::-;31383:34;31379:1;31371:6;31367:14;31360:58;31452:4;31447:2;31439:6;31435:15;31428:29;31349:115;:::o;31470:224::-;31610:34;31606:1;31598:6;31594:14;31587:58;31679:7;31674:2;31666:6;31662:15;31655:32;31576:118;:::o;31700:221::-;31840:34;31836:1;31828:6;31824:14;31817:58;31909:4;31904:2;31896:6;31892:15;31885:29;31806:115;:::o;31927:177::-;32067:29;32063:1;32055:6;32051:14;32044:53;32033:71;:::o;32110:171::-;32250:23;32246:1;32238:6;32234:14;32227:47;32216:65;:::o;32287:222::-;32427:34;32423:1;32415:6;32411:14;32404:58;32496:5;32491:2;32483:6;32479:15;32472:30;32393:116;:::o;32515:220::-;32655:34;32651:1;32643:6;32639:14;32632:58;32724:3;32719:2;32711:6;32707:15;32700:28;32621:114;:::o;32741:220::-;32881:34;32877:1;32869:6;32865:14;32858:58;32950:3;32945:2;32937:6;32933:15;32926:28;32847:114;:::o;32967:182::-;33107:34;33103:1;33095:6;33091:14;33084:58;33073:76;:::o;33155:228::-;33295:34;33291:1;33283:6;33279:14;33272:58;33364:11;33359:2;33351:6;33347:15;33340:36;33261:122;:::o;33389:173::-;33529:25;33525:1;33517:6;33513:14;33506:49;33495:67;:::o;33568:224::-;33708:34;33704:1;33696:6;33692:14;33685:58;33777:7;33772:2;33764:6;33760:15;33753:32;33674:118;:::o;33798:224::-;33938:34;33934:1;33926:6;33922:14;33915:58;34007:7;34002:2;33994:6;33990:15;33983:32;33904:118;:::o;34028:223::-;34168:34;34164:1;34156:6;34152:14;34145:58;34237:6;34232:2;34224:6;34220:15;34213:31;34134:117;:::o;34257:173::-;34397:25;34393:1;34385:6;34381:14;34374:49;34363:67;:::o;34436:174::-;34576:26;34572:1;34564:6;34560:14;34553:50;34542:68;:::o;34616:122::-;34689:24;34707:5;34689:24;:::i;:::-;34682:5;34679:35;34669:2;;34728:1;34725;34718:12;34669:2;34659:79;:::o;34744:116::-;34814:21;34829:5;34814:21;:::i;:::-;34807:5;34804:32;34794:2;;34850:1;34847;34840:12;34794:2;34784:76;:::o;34866:122::-;34939:24;34957:5;34939:24;:::i;:::-;34932:5;34929:35;34919:2;;34978:1;34975;34968:12;34919:2;34909:79;:::o
Swarm Source
ipfs://6269389bb2815aeec046b1c2ac1805dd6fd16ff5a15f4d55d6a034c58fb1dab9
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.