Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 🍜TONKOTSU
Holders
261
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,222,550.637061928 🍜TONKOTSUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TONKOTSU
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-06-09 */ /** TONKOTSU INU ...A new reflective meme token! _____ ___ _ _ _ _____ _____ ____ _ _ ___ _ _ _ _ |_ _/ _ \| \ | | |/ / _ \_ _/ ___|| | | | |_ _| \ | | | | | | || | | | \| | ' / | | || | \___ \| | | | | || \| | | | | | || |_| | |\ | . \ |_| || | ___) | |_| | | || |\ | |_| | |_| \___/|_| \_|_|\_\___/ |_| |____/ \___/ |___|_| \_|\___/ https://t.me/TonkotsuInu 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; } } 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 TONKOTSU 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 = 1e12 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = unicode"Tonkotsu Inu"; string private constant _symbol = unicode"🍜TONKOTSU"; uint8 private constant _decimals = 9; uint256 private _taxFee = 6; uint256 private _teamFee = 9; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; address payable private _FeeAddress; address payable private _marketingWalletAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; uint256 private lastBuy; uint256 private buyLimitEnd; bool private inSwap = false; bool private buyCooldownEnabled = false; bool private sellCooldownEnabled = false; uint256 private sellCooldownTime = 90 seconds; uint256 private buyCooldownTime = 30 seconds; uint256 private removeSellCooldownTime = 3600 seconds; // 1 hour uint256 private _maxSellAmount = _tTotal; uint256 private _maxBuyAmount = _tTotal; struct User { address userAddress; uint256 buy; uint256 sell; } event buyCooldownUpdated(uint buyCooldownTime); event sellCooldownUpdated(uint sellCooldownTime); event RemoveSellCooldownUpdated(uint removeSellCooldownTime); event MaxBuyAmountUpdated(uint _maxBuyAmount); event MaxSellAmountUpdated(uint _maxSellAmount); 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 setBuyCooldownEnabled(bool onoff) external onlyOwner() { buyCooldownEnabled = onoff; } function setSellCooldownEnabled(bool onoff) external onlyOwner() { sellCooldownEnabled = onoff; } 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 _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 (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) { require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair, "Ah ah ah! You didn't say the magic word!"); } cooldown[msg.sender] = User(msg.sender,0,0); // buy if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { require(tradingOpen, "Trading not yet enabled."); if(buyLimitEnd < block.timestamp) { _maxBuyAmount = _tTotal; } require(amount <= _maxBuyAmount); if(buyCooldownEnabled) { require(cooldown[to].buy < block.timestamp); cooldown[to].buy = block.timestamp + buyCooldownTime; cooldown[to].sell = block.timestamp + sellCooldownTime; } if(sellCooldownEnabled) { lastBuy = block.timestamp + removeSellCooldownTime; } } uint256 contractTokenBalance = balanceOf(address(this)); // sell if (!inSwap && from != uniswapV2Pair && tradingOpen) { if(lastBuy <= block.timestamp) { sellCooldownEnabled = false; _maxSellAmount = 1e12 * 10**9; } require(amount <= _maxSellAmount); if(sellCooldownEnabled) { require(cooldown[from].sell < block.timestamp, "Your transaction cooldown has not expired."); cooldown[from].sell = block.timestamp + sellCooldownTime; } 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.div(2)); _marketingWalletAddress.transfer(amount.div(2)); } 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 _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); buyCooldownEnabled = true; sellCooldownEnabled = true; _maxBuyAmount = 3e9 * 10**9; _maxSellAmount = 5e9 * 10**9; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function openTrading() public onlyOwner { tradingOpen = true; lastBuy = block.timestamp; buyLimitEnd = block.timestamp + (3 minutes); } 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); } 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 _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 _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 sellCooldown() public view returns (bool, uint) { return (sellCooldownEnabled, sellCooldownTime); } function buyCooldown() public view returns (bool, uint) { return (buyCooldownEnabled, buyCooldownTime); } function sellCooldownRemovalTime() public view returns (uint) { return removeSellCooldownTime; } function lastBuyTime() public view returns (uint256) { return lastBuy; } function showMaxBuyAmount() public view returns (uint) { return _maxBuyAmount; } function showMaxSellAmount() public view returns (uint) { return _maxSellAmount; } function setBuyCooldownTime(uint256 buycooldown) external onlyOwner() { require(!tradingOpen, "Trading is already open."); require(buycooldown > 0 && buycooldown < 7200, "Must be greater than 0 and less than 2 hours"); buyCooldownTime = buycooldown * 1 seconds; } function setSellCooldownTime(uint256 sellcooldown) external onlyOwner() { require(!tradingOpen, "Trading is already open."); require(sellcooldown > 0 && sellcooldown < 7200, "Must be greater than 0 and less than 2 hours"); sellCooldownTime = sellcooldown * 1 seconds; } function setRemoveSellCooldownTime(uint256 nocooldown) external onlyOwner() { require(!tradingOpen, "Trading is already open."); require(nocooldown > 0 && nocooldown < 14400, "Must be greater than 0 and less than 4 hours"); removeSellCooldownTime = nocooldown * 1 seconds; } function setMaxBuyPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxBuyAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxBuyAmountUpdated(_maxBuyAmount); } function setMaxSellPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent == 100, "Amount must be 100%"); _maxSellAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxSellAmountUpdated(_maxSellAmount); } }
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":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxSellAmount","type":"uint256"}],"name":"MaxSellAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"removeSellCooldownTime","type":"uint256"}],"name":"RemoveSellCooldownUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyCooldownTime","type":"uint256"}],"name":"buyCooldownUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sellCooldownTime","type":"uint256"}],"name":"sellCooldownUpdated","type":"event"},{"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":[],"name":"buyCooldown","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"lastBuyTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"sellCooldown","outputs":[{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellCooldownRemovalTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setBuyCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buycooldown","type":"uint256"}],"name":"setBuyCooldownTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxBuyPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxSellPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"nocooldown","type":"uint256"}],"name":"setRemoveSellCooldownTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setSellCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellcooldown","type":"uint256"}],"name":"setSellCooldownTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"showMaxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showMaxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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
6080604052683635c9adc5dea000006000196200001d9190620005a1565b6000196200002c919062000528565b60075560066009556009600a55600954600b55600a54600c556000601360006101000a81548160ff0219169083151502179055506000601360016101000a81548160ff0219169083151502179055506000601360026101000a81548160ff021916908315150217905550605a601455601e601555610e10601655683635c9adc5dea00000601755683635c9adc5dea00000601855348015620000cd57600080fd5b5060405162004933380380620049338339818101604052810190620000f39190620004b9565b6000620001056200047160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600260006200023c6200047160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002906200047960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003f96200047160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200046191906200050b565b60405180910390a3505062000651565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620004b38162000637565b92915050565b60008060408385031215620004cd57600080fd5b6000620004dd85828601620004a2565b9250506020620004f085828601620004a2565b9150509250929050565b620005058162000597565b82525050565b6000602082019050620005226000830184620004fa565b92915050565b6000620005358262000597565b9150620005428362000597565b925082821015620005585762000557620005d9565b5b828203905092915050565b6000620005708262000577565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620005ae8262000597565b9150620005bb8362000597565b925082620005ce57620005cd62000608565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620006428162000563565b81146200064e57600080fd5b50565b6142d280620006616000396000f3fe6080604052600436106101bb5760003560e01c8063715018a6116100ec578063acaf4a801161008a578063c9567bf911610064578063c9567bf9146105cf578063dd62ed3e146105e6578063e8078d9414610623578063f29f4d0b1461063a576101c2565b8063acaf4a8014610566578063bd7c00471461058f578063c3c8cd80146105b8576101c2565b80638da5cb5b116100c65780638da5cb5b146104aa5780639479528e146104d557806395d89b41146104fe578063a9059cbb14610529576101c2565b8063715018a61461043f5780638a977cee146104565780638b81f8ba1461047f576101c2565b806331d25643116101595780635f33977d116101335780635f33977d146103965780636fc3eaec146103bf578063704fbfe5146103d657806370a0823114610402576101c2565b806331d256431461031957806356c2c6be1461034457806359992dbc1461036d576101c2565b806318160ddd1161019557806318160ddd1461025a5780631b2773c21461028557806323b872dd146102b1578063313ce567146102ee576101c2565b806306fdde03146101c7578063095ea7b3146101f2578063175e31bf1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610665565b6040516101e99190613846565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906132af565b6106a2565b6040516102269190613802565b60405180910390f35b34801561023b57600080fd5b506102446106c0565b6040516102519190613aa8565b60405180910390f35b34801561026657600080fd5b5061026f6106ca565b60405161027c9190613aa8565b60405180910390f35b34801561029157600080fd5b5061029a6106db565b6040516102a892919061381d565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190613260565b6106f9565b6040516102e59190613802565b60405180910390f35b3480156102fa57600080fd5b506103036107d2565b6040516103109190613b1d565b60405180910390f35b34801561032557600080fd5b5061032e6107db565b60405161033b9190613aa8565b60405180910390f35b34801561035057600080fd5b5061036b600480360381019061036691906132eb565b6107e5565b005b34801561037957600080fd5b50610394600480360381019061038f919061333d565b610897565b005b3480156103a257600080fd5b506103bd60048036038101906103b8919061333d565b6109e0565b005b3480156103cb57600080fd5b506103d4610b2b565b005b3480156103e257600080fd5b506103eb610b9d565b6040516103f992919061381d565b60405180910390f35b34801561040e57600080fd5b50610429600480360381019061042491906131d2565b610bbb565b6040516104369190613aa8565b60405180910390f35b34801561044b57600080fd5b50610454610c0c565b005b34801561046257600080fd5b5061047d6004803603810190610478919061333d565b610d5f565b005b34801561048b57600080fd5b50610494610ea8565b6040516104a19190613aa8565b60405180910390f35b3480156104b657600080fd5b506104bf610eb2565b6040516104cc9190613734565b60405180910390f35b3480156104e157600080fd5b506104fc60048036038101906104f7919061333d565b610edb565b005b34801561050a57600080fd5b50610513611026565b6040516105209190613846565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b91906132af565b611063565b60405161055d9190613802565b60405180910390f35b34801561057257600080fd5b5061058d600480360381019061058891906132eb565b611081565b005b34801561059b57600080fd5b506105b660048036038101906105b1919061333d565b611133565b005b3480156105c457600080fd5b506105cd61127e565b005b3480156105db57600080fd5b506105e46112f8565b005b3480156105f257600080fd5b5061060d60048036038101906106089190613224565b6113c4565b60405161061a9190613aa8565b60405180910390f35b34801561062f57600080fd5b5061063861144b565b005b34801561064657600080fd5b5061064f61199b565b60405161065c9190613aa8565b60405180910390f35b60606040518060400160405280600c81526020017f546f6e6b6f74737520496e750000000000000000000000000000000000000000815250905090565b60006106b66106af6119a5565b84846119ad565b6001905092915050565b6000601754905090565b6000683635c9adc5dea00000905090565b600080601360029054906101000a900460ff16601454915091509091565b6000610706848484611b78565b6107c7846107126119a5565b6107c28560405180606001604052806028815260200161427560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107786119a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125639092919063ffffffff16565b6119ad565b600190509392505050565b60006009905090565b6000601654905090565b6107ed6119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087190613988565b60405180910390fd5b80601360016101000a81548160ff02191690831515021790555050565b61089f6119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390613988565b60405180910390fd5b6064811461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690613a68565b60405180910390fd5b61099e606461099083683635c9adc5dea000006125c790919063ffffffff16565b61264290919063ffffffff16565b6017819055507fa0dff8a4e8bcaa27b5a2b64bc312f8b338e362bd6cad89f5fe2ae6b8389fb38a6017546040516109d59190613aa8565b60405180910390a150565b6109e86119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90613988565b60405180910390fd5b601060149054906101000a900460ff1615610ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abc906139c8565b60405180910390fd5b600081118015610ad6575061384081105b610b15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0c90613948565b60405180910390fd5b600181610b229190613c14565b60168190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b6c6119a5565b73ffffffffffffffffffffffffffffffffffffffff1614610b8c57600080fd5b6000479050610b9a8161268c565b50565b600080601360019054906101000a900460ff16601554915091509091565b6000610c05600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612787565b9050919050565b610c146119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613988565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d676119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613988565b60405180910390fd5b60008111610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90613908565b60405180910390fd5b610e666064610e5883683635c9adc5dea000006125c790919063ffffffff16565b61264290919063ffffffff16565b6018819055507fd0459d371e1defb856088ceda9d33bfed2a31a105e0bae2113cdc7dcc9e77e9d601854604051610e9d9190613aa8565b60405180910390a150565b6000601854905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ee36119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790613988565b60405180910390fd5b601060149054906101000a900460ff1615610fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb7906139c8565b60405180910390fd5b600081118015610fd15750611c2081105b611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790613868565b60405180910390fd5b60018161101d9190613c14565b60158190555050565b60606040518060400160405280600c81526020017ff09f8d9c544f4e4b4f5453550000000000000000000000000000000000000000815250905090565b60006110776110706119a5565b8484611b78565b6001905092915050565b6110896119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d90613988565b60405180910390fd5b80601360026101000a81548160ff02191690831515021790555050565b61113b6119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90613988565b60405180910390fd5b601060149054906101000a900460ff1615611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906139c8565b60405180910390fd5b6000811180156112295750611c2081105b611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f90613868565b60405180910390fd5b6001816112759190613c14565b60148190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112bf6119a5565b73ffffffffffffffffffffffffffffffffffffffff16146112df57600080fd5b60006112ea30610bbb565b90506112f5816127f5565b50565b6113006119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138490613988565b60405180910390fd5b6001601060146101000a81548160ff0219169083151502179055504260118190555060b4426113bc9190613b8d565b601281905550565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114536119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d790613988565b60405180910390fd5b601060149054906101000a900460ff1615611530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152790613a48565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115c030600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006119ad565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561160657600080fd5b505afa15801561161a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163e91906131fb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a057600080fd5b505afa1580156116b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d891906131fb565b6040518363ffffffff1660e01b81526004016116f592919061374f565b602060405180830381600087803b15801561170f57600080fd5b505af1158015611723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174791906131fb565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306117d030610bbb565b6000806117db610eb2565b426040518863ffffffff1660e01b81526004016117fd969594939291906137a1565b6060604051808303818588803b15801561181657600080fd5b505af115801561182a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061184f9190613366565b5050506001601360016101000a81548160ff0219169083151502179055506001601360026101000a81548160ff0219169083151502179055506729a2241af62c0000601881905550674563918244f40000601781905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611945929190613778565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119979190613314565b5050565b6000601154905090565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1490613a28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a84906138c8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b6b9190613aa8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf906139e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f90613888565b60405180910390fd5b60008111611c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c92906139a8565b60405180910390fd5b611ca3610eb2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d115750611ce1610eb2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124a0573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d7e57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611dd85750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e325750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f2e57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e786119a5565b73ffffffffffffffffffffffffffffffffffffffff161480611eee5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ed66119a5565b73ffffffffffffffffffffffffffffffffffffffff16145b611f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2490613a08565b60405180910390fd5b5b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815250600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155905050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120a95750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120ff5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122b457601060149054906101000a900460ff16612153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214a90613a88565b60405180910390fd5b42601254101561216e57683635c9adc5dea000006018819055505b60185481111561217d57600080fd5b601360019054906101000a900460ff16156122895742600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154106121e057600080fd5b601554426121ee9190613b8d565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550601454426122429190613b8d565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b601360029054906101000a900460ff16156122b357601654426122ac9190613b8d565b6011819055505b5b60006122bf30610bbb565b9050601360009054906101000a900460ff1615801561232c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156123445750601060149054906101000a900460ff165b1561249e57426011541161237e576000601360026101000a81548160ff021916908315150217905550683635c9adc5dea000006017819055505b60175482111561238d57600080fd5b601360029054906101000a900460ff161561247b5742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015410612426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241d90613928565b60405180910390fd5b601454426124349190613b8d565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b612484816127f5565b6000479050600081111561249c5761249b4761268c565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125475750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561255157600090505b61255d84848484612aef565b50505050565b60008383111582906125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a29190613846565b60405180910390fd5b50600083856125ba9190613c6e565b9050809150509392505050565b6000808314156125da576000905061263c565b600082846125e89190613c14565b90508284826125f79190613be3565b14612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262e90613968565b60405180910390fd5b809150505b92915050565b600061268483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b1c565b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6126dc60028461264290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612707573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61275860028461264290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612783573d6000803e3d6000fd5b5050565b60006007548211156127ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c5906138a8565b60405180910390fd5b60006127d8612b7f565b90506127ed818461264290919063ffffffff16565b915050919050565b6001601360006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612853577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156128815781602001602082028036833780820191505090505b50905030816000815181106128bf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561296157600080fd5b505afa158015612975573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299991906131fb565b816001815181106129d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a3a30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119ad565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a9e959493929190613ac3565b600060405180830381600087803b158015612ab857600080fd5b505af1158015612acc573d6000803e3d6000fd5b50505050506000601360006101000a81548160ff02191690831515021790555050565b80612afd57612afc612baa565b5b612b08848484612bed565b80612b1657612b15612db8565b5b50505050565b60008083118290612b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5a9190613846565b60405180910390fd5b5060008385612b729190613be3565b9050809150509392505050565b6000806000612b8c612dcc565b91509150612ba3818361264290919063ffffffff16565b9250505090565b6000600954148015612bbe57506000600a54145b15612bc857612beb565b600954600b81905550600a54600c8190555060006009819055506000600a819055505b565b600080600080600080612bff87612e2e565b955095509550955095509550612c5d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cf285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d3e81612f3e565b612d488483612ffb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612da59190613aa8565b60405180910390a3505050505050505050565b600b54600981905550600c54600a81905550565b600080600060075490506000683635c9adc5dea000009050612e02683635c9adc5dea0000060075461264290919063ffffffff16565b821015612e2157600754683635c9adc5dea00000935093505050612e2a565b81819350935050505b9091565b6000806000806000806000806000612e4b8a600954600a54613035565b9250925092506000612e5b612b7f565b90506000806000612e6e8e8787876130cb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612ed883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612563565b905092915050565b6000808284612eef9190613b8d565b905083811015612f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2b906138e8565b60405180910390fd5b8091505092915050565b6000612f48612b7f565b90506000612f5f82846125c790919063ffffffff16565b9050612fb381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61301082600754612e9690919063ffffffff16565b60078190555061302b81600854612ee090919063ffffffff16565b6008819055505050565b6000806000806130616064613053888a6125c790919063ffffffff16565b61264290919063ffffffff16565b9050600061308b606461307d888b6125c790919063ffffffff16565b61264290919063ffffffff16565b905060006130b4826130a6858c612e9690919063ffffffff16565b612e9690919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806130e485896125c790919063ffffffff16565b905060006130fb86896125c790919063ffffffff16565b9050600061311287896125c790919063ffffffff16565b9050600061313b8261312d8587612e9690919063ffffffff16565b612e9690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506131638161422f565b92915050565b6000815190506131788161422f565b92915050565b60008135905061318d81614246565b92915050565b6000815190506131a281614246565b92915050565b6000813590506131b78161425d565b92915050565b6000815190506131cc8161425d565b92915050565b6000602082840312156131e457600080fd5b60006131f284828501613154565b91505092915050565b60006020828403121561320d57600080fd5b600061321b84828501613169565b91505092915050565b6000806040838503121561323757600080fd5b600061324585828601613154565b925050602061325685828601613154565b9150509250929050565b60008060006060848603121561327557600080fd5b600061328386828701613154565b935050602061329486828701613154565b92505060406132a5868287016131a8565b9150509250925092565b600080604083850312156132c257600080fd5b60006132d085828601613154565b92505060206132e1858286016131a8565b9150509250929050565b6000602082840312156132fd57600080fd5b600061330b8482850161317e565b91505092915050565b60006020828403121561332657600080fd5b600061333484828501613193565b91505092915050565b60006020828403121561334f57600080fd5b600061335d848285016131a8565b91505092915050565b60008060006060848603121561337b57600080fd5b6000613389868287016131bd565b935050602061339a868287016131bd565b92505060406133ab868287016131bd565b9150509250925092565b60006133c183836133cd565b60208301905092915050565b6133d681613ca2565b82525050565b6133e581613ca2565b82525050565b60006133f682613b48565b6134008185613b6b565b935061340b83613b38565b8060005b8381101561343c57815161342388826133b5565b975061342e83613b5e565b92505060018101905061340f565b5085935050505092915050565b61345281613cb4565b82525050565b61346181613cf7565b82525050565b600061347282613b53565b61347c8185613b7c565b935061348c818560208601613d09565b61349581613d9a565b840191505092915050565b60006134ad602c83613b7c565b91506134b882613dab565b604082019050919050565b60006134d0602383613b7c565b91506134db82613dfa565b604082019050919050565b60006134f3602a83613b7c565b91506134fe82613e49565b604082019050919050565b6000613516602283613b7c565b915061352182613e98565b604082019050919050565b6000613539601b83613b7c565b915061354482613ee7565b602082019050919050565b600061355c601d83613b7c565b915061356782613f10565b602082019050919050565b600061357f602a83613b7c565b915061358a82613f39565b604082019050919050565b60006135a2602c83613b7c565b91506135ad82613f88565b604082019050919050565b60006135c5602183613b7c565b91506135d082613fd7565b604082019050919050565b60006135e8602083613b7c565b91506135f382614026565b602082019050919050565b600061360b602983613b7c565b91506136168261404f565b604082019050919050565b600061362e601883613b7c565b91506136398261409e565b602082019050919050565b6000613651602583613b7c565b915061365c826140c7565b604082019050919050565b6000613674602883613b7c565b915061367f82614116565b604082019050919050565b6000613697602483613b7c565b91506136a282614165565b604082019050919050565b60006136ba601783613b7c565b91506136c5826141b4565b602082019050919050565b60006136dd601383613b7c565b91506136e8826141dd565b602082019050919050565b6000613700601883613b7c565b915061370b82614206565b602082019050919050565b61371f81613ce0565b82525050565b61372e81613cea565b82525050565b600060208201905061374960008301846133dc565b92915050565b600060408201905061376460008301856133dc565b61377160208301846133dc565b9392505050565b600060408201905061378d60008301856133dc565b61379a6020830184613716565b9392505050565b600060c0820190506137b660008301896133dc565b6137c36020830188613716565b6137d06040830187613458565b6137dd6060830186613458565b6137ea60808301856133dc565b6137f760a0830184613716565b979650505050505050565b60006020820190506138176000830184613449565b92915050565b60006040820190506138326000830185613449565b61383f6020830184613716565b9392505050565b600060208201905081810360008301526138608184613467565b905092915050565b60006020820190508181036000830152613881816134a0565b9050919050565b600060208201905081810360008301526138a1816134c3565b9050919050565b600060208201905081810360008301526138c1816134e6565b9050919050565b600060208201905081810360008301526138e181613509565b9050919050565b600060208201905081810360008301526139018161352c565b9050919050565b600060208201905081810360008301526139218161354f565b9050919050565b6000602082019050818103600083015261394181613572565b9050919050565b6000602082019050818103600083015261396181613595565b9050919050565b60006020820190508181036000830152613981816135b8565b9050919050565b600060208201905081810360008301526139a1816135db565b9050919050565b600060208201905081810360008301526139c1816135fe565b9050919050565b600060208201905081810360008301526139e181613621565b9050919050565b60006020820190508181036000830152613a0181613644565b9050919050565b60006020820190508181036000830152613a2181613667565b9050919050565b60006020820190508181036000830152613a418161368a565b9050919050565b60006020820190508181036000830152613a61816136ad565b9050919050565b60006020820190508181036000830152613a81816136d0565b9050919050565b60006020820190508181036000830152613aa1816136f3565b9050919050565b6000602082019050613abd6000830184613716565b92915050565b600060a082019050613ad86000830188613716565b613ae56020830187613458565b8181036040830152613af781866133eb565b9050613b0660608301856133dc565b613b136080830184613716565b9695505050505050565b6000602082019050613b326000830184613725565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b9882613ce0565b9150613ba383613ce0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613bd857613bd7613d3c565b5b828201905092915050565b6000613bee82613ce0565b9150613bf983613ce0565b925082613c0957613c08613d6b565b5b828204905092915050565b6000613c1f82613ce0565b9150613c2a83613ce0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c6357613c62613d3c565b5b828202905092915050565b6000613c7982613ce0565b9150613c8483613ce0565b925082821015613c9757613c96613d3c565b5b828203905092915050565b6000613cad82613cc0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613d0282613ce0565b9050919050565b60005b83811015613d27578082015181840152602081019050613d0c565b83811115613d36576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f4d7573742062652067726561746572207468616e203020616e64206c6573732060008201527f7468616e203220686f7572730000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f596f7572207472616e73616374696f6e20636f6f6c646f776e20686173206e6f60008201527f7420657870697265642e00000000000000000000000000000000000000000000602082015250565b7f4d7573742062652067726561746572207468616e203020616e64206c6573732060008201527f7468616e203420686f7572730000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e2e0000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f41682061682061682120596f75206469646e27742073617920746865206d616760008201527f696320776f726421000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f416d6f756e74206d757374206265203130302500000000000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61423881613ca2565b811461424357600080fd5b50565b61424f81613cb4565b811461425a57600080fd5b50565b61426681613ce0565b811461427157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a1b37e6ddc57972493bbaf6ef4e24b095c62a2e1bccbfb2efe4e72156565391664736f6c6343000804003300000000000000000000000040c4344c9c7f7996292d75dbc8827295f063ded2000000000000000000000000f08eff62f80f28fdac12bbaf6d96b3abb715b490
Deployed Bytecode
0x6080604052600436106101bb5760003560e01c8063715018a6116100ec578063acaf4a801161008a578063c9567bf911610064578063c9567bf9146105cf578063dd62ed3e146105e6578063e8078d9414610623578063f29f4d0b1461063a576101c2565b8063acaf4a8014610566578063bd7c00471461058f578063c3c8cd80146105b8576101c2565b80638da5cb5b116100c65780638da5cb5b146104aa5780639479528e146104d557806395d89b41146104fe578063a9059cbb14610529576101c2565b8063715018a61461043f5780638a977cee146104565780638b81f8ba1461047f576101c2565b806331d25643116101595780635f33977d116101335780635f33977d146103965780636fc3eaec146103bf578063704fbfe5146103d657806370a0823114610402576101c2565b806331d256431461031957806356c2c6be1461034457806359992dbc1461036d576101c2565b806318160ddd1161019557806318160ddd1461025a5780631b2773c21461028557806323b872dd146102b1578063313ce567146102ee576101c2565b806306fdde03146101c7578063095ea7b3146101f2578063175e31bf1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610665565b6040516101e99190613846565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906132af565b6106a2565b6040516102269190613802565b60405180910390f35b34801561023b57600080fd5b506102446106c0565b6040516102519190613aa8565b60405180910390f35b34801561026657600080fd5b5061026f6106ca565b60405161027c9190613aa8565b60405180910390f35b34801561029157600080fd5b5061029a6106db565b6040516102a892919061381d565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190613260565b6106f9565b6040516102e59190613802565b60405180910390f35b3480156102fa57600080fd5b506103036107d2565b6040516103109190613b1d565b60405180910390f35b34801561032557600080fd5b5061032e6107db565b60405161033b9190613aa8565b60405180910390f35b34801561035057600080fd5b5061036b600480360381019061036691906132eb565b6107e5565b005b34801561037957600080fd5b50610394600480360381019061038f919061333d565b610897565b005b3480156103a257600080fd5b506103bd60048036038101906103b8919061333d565b6109e0565b005b3480156103cb57600080fd5b506103d4610b2b565b005b3480156103e257600080fd5b506103eb610b9d565b6040516103f992919061381d565b60405180910390f35b34801561040e57600080fd5b50610429600480360381019061042491906131d2565b610bbb565b6040516104369190613aa8565b60405180910390f35b34801561044b57600080fd5b50610454610c0c565b005b34801561046257600080fd5b5061047d6004803603810190610478919061333d565b610d5f565b005b34801561048b57600080fd5b50610494610ea8565b6040516104a19190613aa8565b60405180910390f35b3480156104b657600080fd5b506104bf610eb2565b6040516104cc9190613734565b60405180910390f35b3480156104e157600080fd5b506104fc60048036038101906104f7919061333d565b610edb565b005b34801561050a57600080fd5b50610513611026565b6040516105209190613846565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b91906132af565b611063565b60405161055d9190613802565b60405180910390f35b34801561057257600080fd5b5061058d600480360381019061058891906132eb565b611081565b005b34801561059b57600080fd5b506105b660048036038101906105b1919061333d565b611133565b005b3480156105c457600080fd5b506105cd61127e565b005b3480156105db57600080fd5b506105e46112f8565b005b3480156105f257600080fd5b5061060d60048036038101906106089190613224565b6113c4565b60405161061a9190613aa8565b60405180910390f35b34801561062f57600080fd5b5061063861144b565b005b34801561064657600080fd5b5061064f61199b565b60405161065c9190613aa8565b60405180910390f35b60606040518060400160405280600c81526020017f546f6e6b6f74737520496e750000000000000000000000000000000000000000815250905090565b60006106b66106af6119a5565b84846119ad565b6001905092915050565b6000601754905090565b6000683635c9adc5dea00000905090565b600080601360029054906101000a900460ff16601454915091509091565b6000610706848484611b78565b6107c7846107126119a5565b6107c28560405180606001604052806028815260200161427560289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107786119a5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125639092919063ffffffff16565b6119ad565b600190509392505050565b60006009905090565b6000601654905090565b6107ed6119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087190613988565b60405180910390fd5b80601360016101000a81548160ff02191690831515021790555050565b61089f6119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390613988565b60405180910390fd5b6064811461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690613a68565b60405180910390fd5b61099e606461099083683635c9adc5dea000006125c790919063ffffffff16565b61264290919063ffffffff16565b6017819055507fa0dff8a4e8bcaa27b5a2b64bc312f8b338e362bd6cad89f5fe2ae6b8389fb38a6017546040516109d59190613aa8565b60405180910390a150565b6109e86119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90613988565b60405180910390fd5b601060149054906101000a900460ff1615610ac5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abc906139c8565b60405180910390fd5b600081118015610ad6575061384081105b610b15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0c90613948565b60405180910390fd5b600181610b229190613c14565b60168190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b6c6119a5565b73ffffffffffffffffffffffffffffffffffffffff1614610b8c57600080fd5b6000479050610b9a8161268c565b50565b600080601360019054906101000a900460ff16601554915091509091565b6000610c05600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612787565b9050919050565b610c146119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9890613988565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d676119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610deb90613988565b60405180910390fd5b60008111610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90613908565b60405180910390fd5b610e666064610e5883683635c9adc5dea000006125c790919063ffffffff16565b61264290919063ffffffff16565b6018819055507fd0459d371e1defb856088ceda9d33bfed2a31a105e0bae2113cdc7dcc9e77e9d601854604051610e9d9190613aa8565b60405180910390a150565b6000601854905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ee36119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6790613988565b60405180910390fd5b601060149054906101000a900460ff1615610fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb7906139c8565b60405180910390fd5b600081118015610fd15750611c2081105b611010576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100790613868565b60405180910390fd5b60018161101d9190613c14565b60158190555050565b60606040518060400160405280600c81526020017ff09f8d9c544f4e4b4f5453550000000000000000000000000000000000000000815250905090565b60006110776110706119a5565b8484611b78565b6001905092915050565b6110896119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d90613988565b60405180910390fd5b80601360026101000a81548160ff02191690831515021790555050565b61113b6119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90613988565b60405180910390fd5b601060149054906101000a900460ff1615611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f906139c8565b60405180910390fd5b6000811180156112295750611c2081105b611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f90613868565b60405180910390fd5b6001816112759190613c14565b60148190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112bf6119a5565b73ffffffffffffffffffffffffffffffffffffffff16146112df57600080fd5b60006112ea30610bbb565b90506112f5816127f5565b50565b6113006119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138490613988565b60405180910390fd5b6001601060146101000a81548160ff0219169083151502179055504260118190555060b4426113bc9190613b8d565b601281905550565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114536119a5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d790613988565b60405180910390fd5b601060149054906101000a900460ff1615611530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152790613a48565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115c030600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006119ad565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561160657600080fd5b505afa15801561161a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163e91906131fb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a057600080fd5b505afa1580156116b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d891906131fb565b6040518363ffffffff1660e01b81526004016116f592919061374f565b602060405180830381600087803b15801561170f57600080fd5b505af1158015611723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174791906131fb565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306117d030610bbb565b6000806117db610eb2565b426040518863ffffffff1660e01b81526004016117fd969594939291906137a1565b6060604051808303818588803b15801561181657600080fd5b505af115801561182a573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061184f9190613366565b5050506001601360016101000a81548160ff0219169083151502179055506001601360026101000a81548160ff0219169083151502179055506729a2241af62c0000601881905550674563918244f40000601781905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611945929190613778565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119979190613314565b5050565b6000601154905090565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1490613a28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a84906138c8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b6b9190613aa8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf906139e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f90613888565b60405180910390fd5b60008111611c9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c92906139a8565b60405180910390fd5b611ca3610eb2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d115750611ce1610eb2565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124a0573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d7e57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611dd85750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e325750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611f2e57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611e786119a5565b73ffffffffffffffffffffffffffffffffffffffff161480611eee5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ed66119a5565b73ffffffffffffffffffffffffffffffffffffffff16145b611f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2490613a08565b60405180910390fd5b5b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815250600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155905050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120a95750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120ff5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122b457601060149054906101000a900460ff16612153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214a90613a88565b60405180910390fd5b42601254101561216e57683635c9adc5dea000006018819055505b60185481111561217d57600080fd5b601360019054906101000a900460ff16156122895742600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154106121e057600080fd5b601554426121ee9190613b8d565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550601454426122429190613b8d565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b601360029054906101000a900460ff16156122b357601654426122ac9190613b8d565b6011819055505b5b60006122bf30610bbb565b9050601360009054906101000a900460ff1615801561232c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156123445750601060149054906101000a900460ff165b1561249e57426011541161237e576000601360026101000a81548160ff021916908315150217905550683635c9adc5dea000006017819055505b60175482111561238d57600080fd5b601360029054906101000a900460ff161561247b5742600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002015410612426576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241d90613928565b60405180910390fd5b601454426124349190613b8d565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201819055505b612484816127f5565b6000479050600081111561249c5761249b4761268c565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125475750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561255157600090505b61255d84848484612aef565b50505050565b60008383111582906125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a29190613846565b60405180910390fd5b50600083856125ba9190613c6e565b9050809150509392505050565b6000808314156125da576000905061263c565b600082846125e89190613c14565b90508284826125f79190613be3565b14612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262e90613968565b60405180910390fd5b809150505b92915050565b600061268483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b1c565b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6126dc60028461264290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612707573d6000803e3d6000fd5b50600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61275860028461264290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612783573d6000803e3d6000fd5b5050565b60006007548211156127ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c5906138a8565b60405180910390fd5b60006127d8612b7f565b90506127ed818461264290919063ffffffff16565b915050919050565b6001601360006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612853577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156128815781602001602082028036833780820191505090505b50905030816000815181106128bf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561296157600080fd5b505afa158015612975573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299991906131fb565b816001815181106129d3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a3a30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119ad565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a9e959493929190613ac3565b600060405180830381600087803b158015612ab857600080fd5b505af1158015612acc573d6000803e3d6000fd5b50505050506000601360006101000a81548160ff02191690831515021790555050565b80612afd57612afc612baa565b5b612b08848484612bed565b80612b1657612b15612db8565b5b50505050565b60008083118290612b63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5a9190613846565b60405180910390fd5b5060008385612b729190613be3565b9050809150509392505050565b6000806000612b8c612dcc565b91509150612ba3818361264290919063ffffffff16565b9250505090565b6000600954148015612bbe57506000600a54145b15612bc857612beb565b600954600b81905550600a54600c8190555060006009819055506000600a819055505b565b600080600080600080612bff87612e2e565b955095509550955095509550612c5d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e9690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cf285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d3e81612f3e565b612d488483612ffb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612da59190613aa8565b60405180910390a3505050505050505050565b600b54600981905550600c54600a81905550565b600080600060075490506000683635c9adc5dea000009050612e02683635c9adc5dea0000060075461264290919063ffffffff16565b821015612e2157600754683635c9adc5dea00000935093505050612e2a565b81819350935050505b9091565b6000806000806000806000806000612e4b8a600954600a54613035565b9250925092506000612e5b612b7f565b90506000806000612e6e8e8787876130cb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612ed883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612563565b905092915050565b6000808284612eef9190613b8d565b905083811015612f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2b906138e8565b60405180910390fd5b8091505092915050565b6000612f48612b7f565b90506000612f5f82846125c790919063ffffffff16565b9050612fb381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61301082600754612e9690919063ffffffff16565b60078190555061302b81600854612ee090919063ffffffff16565b6008819055505050565b6000806000806130616064613053888a6125c790919063ffffffff16565b61264290919063ffffffff16565b9050600061308b606461307d888b6125c790919063ffffffff16565b61264290919063ffffffff16565b905060006130b4826130a6858c612e9690919063ffffffff16565b612e9690919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806130e485896125c790919063ffffffff16565b905060006130fb86896125c790919063ffffffff16565b9050600061311287896125c790919063ffffffff16565b9050600061313b8261312d8587612e9690919063ffffffff16565b612e9690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506131638161422f565b92915050565b6000815190506131788161422f565b92915050565b60008135905061318d81614246565b92915050565b6000815190506131a281614246565b92915050565b6000813590506131b78161425d565b92915050565b6000815190506131cc8161425d565b92915050565b6000602082840312156131e457600080fd5b60006131f284828501613154565b91505092915050565b60006020828403121561320d57600080fd5b600061321b84828501613169565b91505092915050565b6000806040838503121561323757600080fd5b600061324585828601613154565b925050602061325685828601613154565b9150509250929050565b60008060006060848603121561327557600080fd5b600061328386828701613154565b935050602061329486828701613154565b92505060406132a5868287016131a8565b9150509250925092565b600080604083850312156132c257600080fd5b60006132d085828601613154565b92505060206132e1858286016131a8565b9150509250929050565b6000602082840312156132fd57600080fd5b600061330b8482850161317e565b91505092915050565b60006020828403121561332657600080fd5b600061333484828501613193565b91505092915050565b60006020828403121561334f57600080fd5b600061335d848285016131a8565b91505092915050565b60008060006060848603121561337b57600080fd5b6000613389868287016131bd565b935050602061339a868287016131bd565b92505060406133ab868287016131bd565b9150509250925092565b60006133c183836133cd565b60208301905092915050565b6133d681613ca2565b82525050565b6133e581613ca2565b82525050565b60006133f682613b48565b6134008185613b6b565b935061340b83613b38565b8060005b8381101561343c57815161342388826133b5565b975061342e83613b5e565b92505060018101905061340f565b5085935050505092915050565b61345281613cb4565b82525050565b61346181613cf7565b82525050565b600061347282613b53565b61347c8185613b7c565b935061348c818560208601613d09565b61349581613d9a565b840191505092915050565b60006134ad602c83613b7c565b91506134b882613dab565b604082019050919050565b60006134d0602383613b7c565b91506134db82613dfa565b604082019050919050565b60006134f3602a83613b7c565b91506134fe82613e49565b604082019050919050565b6000613516602283613b7c565b915061352182613e98565b604082019050919050565b6000613539601b83613b7c565b915061354482613ee7565b602082019050919050565b600061355c601d83613b7c565b915061356782613f10565b602082019050919050565b600061357f602a83613b7c565b915061358a82613f39565b604082019050919050565b60006135a2602c83613b7c565b91506135ad82613f88565b604082019050919050565b60006135c5602183613b7c565b91506135d082613fd7565b604082019050919050565b60006135e8602083613b7c565b91506135f382614026565b602082019050919050565b600061360b602983613b7c565b91506136168261404f565b604082019050919050565b600061362e601883613b7c565b91506136398261409e565b602082019050919050565b6000613651602583613b7c565b915061365c826140c7565b604082019050919050565b6000613674602883613b7c565b915061367f82614116565b604082019050919050565b6000613697602483613b7c565b91506136a282614165565b604082019050919050565b60006136ba601783613b7c565b91506136c5826141b4565b602082019050919050565b60006136dd601383613b7c565b91506136e8826141dd565b602082019050919050565b6000613700601883613b7c565b915061370b82614206565b602082019050919050565b61371f81613ce0565b82525050565b61372e81613cea565b82525050565b600060208201905061374960008301846133dc565b92915050565b600060408201905061376460008301856133dc565b61377160208301846133dc565b9392505050565b600060408201905061378d60008301856133dc565b61379a6020830184613716565b9392505050565b600060c0820190506137b660008301896133dc565b6137c36020830188613716565b6137d06040830187613458565b6137dd6060830186613458565b6137ea60808301856133dc565b6137f760a0830184613716565b979650505050505050565b60006020820190506138176000830184613449565b92915050565b60006040820190506138326000830185613449565b61383f6020830184613716565b9392505050565b600060208201905081810360008301526138608184613467565b905092915050565b60006020820190508181036000830152613881816134a0565b9050919050565b600060208201905081810360008301526138a1816134c3565b9050919050565b600060208201905081810360008301526138c1816134e6565b9050919050565b600060208201905081810360008301526138e181613509565b9050919050565b600060208201905081810360008301526139018161352c565b9050919050565b600060208201905081810360008301526139218161354f565b9050919050565b6000602082019050818103600083015261394181613572565b9050919050565b6000602082019050818103600083015261396181613595565b9050919050565b60006020820190508181036000830152613981816135b8565b9050919050565b600060208201905081810360008301526139a1816135db565b9050919050565b600060208201905081810360008301526139c1816135fe565b9050919050565b600060208201905081810360008301526139e181613621565b9050919050565b60006020820190508181036000830152613a0181613644565b9050919050565b60006020820190508181036000830152613a2181613667565b9050919050565b60006020820190508181036000830152613a418161368a565b9050919050565b60006020820190508181036000830152613a61816136ad565b9050919050565b60006020820190508181036000830152613a81816136d0565b9050919050565b60006020820190508181036000830152613aa1816136f3565b9050919050565b6000602082019050613abd6000830184613716565b92915050565b600060a082019050613ad86000830188613716565b613ae56020830187613458565b8181036040830152613af781866133eb565b9050613b0660608301856133dc565b613b136080830184613716565b9695505050505050565b6000602082019050613b326000830184613725565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613b9882613ce0565b9150613ba383613ce0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613bd857613bd7613d3c565b5b828201905092915050565b6000613bee82613ce0565b9150613bf983613ce0565b925082613c0957613c08613d6b565b5b828204905092915050565b6000613c1f82613ce0565b9150613c2a83613ce0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c6357613c62613d3c565b5b828202905092915050565b6000613c7982613ce0565b9150613c8483613ce0565b925082821015613c9757613c96613d3c565b5b828203905092915050565b6000613cad82613cc0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613d0282613ce0565b9050919050565b60005b83811015613d27578082015181840152602081019050613d0c565b83811115613d36576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f4d7573742062652067726561746572207468616e203020616e64206c6573732060008201527f7468616e203220686f7572730000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f596f7572207472616e73616374696f6e20636f6f6c646f776e20686173206e6f60008201527f7420657870697265642e00000000000000000000000000000000000000000000602082015250565b7f4d7573742062652067726561746572207468616e203020616e64206c6573732060008201527f7468616e203420686f7572730000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e2e0000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f41682061682061682120596f75206469646e27742073617920746865206d616760008201527f696320776f726421000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f416d6f756e74206d757374206265203130302500000000000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61423881613ca2565b811461424357600080fd5b50565b61424f81613cb4565b811461425a57600080fd5b50565b61426681613ce0565b811461427157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a1b37e6ddc57972493bbaf6ef4e24b095c62a2e1bccbfb2efe4e72156565391664736f6c63430008040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000040c4344c9c7f7996292d75dbc8827295f063ded2000000000000000000000000f08eff62f80f28fdac12bbaf6d96b3abb715b490
-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x40C4344c9C7f7996292D75dBC8827295F063deD2
Arg [1] : marketingWalletAddress (address): 0xf08efF62f80f28fdaC12bBAF6d96B3aBB715b490
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000040c4344c9c7f7996292d75dbc8827295f063ded2
Arg [1] : 000000000000000000000000f08eff62f80f28fdac12bbaf6d96b3abb715b490
Deployed Bytecode Sourcemap
3933:14786:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6472:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7324:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17163:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6749:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16592:122;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;7493:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6658:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16849:110;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7814:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18460:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17879:306;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14698:190;;;;;;;;;;;;;:::i;:::-;;16722:119;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;6852:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3012:148;;;;;;;;;;;;;:::i;:::-;;18193:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17061:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2798:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17267:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6563:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6998:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7931:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17570:301;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14495:191;;;;;;;;;;;;;:::i;:::-;;14320:167;;;;;;;;;;;;;:::i;:::-;;7173:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13481:831;;;;;;;;;;;;;:::i;:::-;;16967:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6472:83;6509:13;6542:5;;;;;;;;;;;;;;;;;6535:12;;6472:83;:::o;7324:161::-;7399:4;7416:39;7425:12;:10;:12::i;:::-;7439:7;7448:6;7416:8;:39::i;:::-;7473:4;7466:11;;7324:161;;;;:::o;17163:96::-;17213:4;17237:14;;17230:21;;17163:96;:::o;6749:95::-;6802:7;4389:12;6822:14;;6749:95;:::o;16592:122::-;16637:4;16643;16668:19;;;;;;;;;;;16689:16;;16660:46;;;;16592:122;;:::o;7493:313::-;7591:4;7608:36;7618:6;7626:9;7637:6;7608:9;:36::i;:::-;7655:121;7664:6;7672:12;:10;:12::i;:::-;7686:89;7724:6;7686:89;;;;;;;;;;;;;;;;;:11;:19;7698:6;7686:19;;;;;;;;;;;;;;;:33;7706:12;:10;:12::i;:::-;7686:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7655:8;:121::i;:::-;7794:4;7787:11;;7493:313;;;;;:::o;6658:83::-;6699:5;4654:1;6717:16;;6658:83;:::o;16849:110::-;16905:4;16929:22;;16922:29;;16849:110;:::o;7814:109::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7910:5:::1;7889:18;;:26;;;;;;;;;;;;;;;;;;7814:109:::0;:::o;18460:256::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18565:3:::1;18549:12;:19;18541:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;18620:36;18650:5;18620:25;18632:12;4389;18620:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;18603:14;:53;;;;18672:36;18693:14;;18672:36;;;;;;:::i;:::-;;;;;;;;18460:256:::0;:::o;17879:306::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17975:11:::1;;;;;;;;;;;17974:12;17966:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;18047:1;18034:10;:14;:36;;;;;18065:5;18052:10;:18;18034:36;18026:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;18168:9;18155:10;:22;;;;:::i;:::-;18130;:47;;;;17879:306:::0;:::o;14698:190::-;14764:11;;;;;;;;;;;14748:27;;:12;:10;:12::i;:::-;:27;;;14740:36;;;;;;14787:26;14816:21;14787:50;;14848:32;14861:18;14848:12;:32::i;:::-;14698:190;:::o;16722:119::-;16766:4;16772;16797:18;;;;;;;;;;;16817:15;;16789:44;;;;16722:119;;:::o;6852:138::-;6918:7;6945:37;6965:7;:16;6973:7;6965:16;;;;;;;;;;;;;;;;6945:19;:37::i;:::-;6938:44;;6852:138;;;:::o;3012:148::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3119:1:::1;3082:40;;3103:6;::::0;::::1;;;;;;;;3082:40;;;;;;;;;;;;3150:1;3133:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3012:148::o:0;18193:259::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18296:1:::1;18281:12;:16;18273:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;18358:36;18388:5;18358:25;18370:12;4389;18358:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;18342:13;:52;;;;18410:34;18430:13;;18410:34;;;;;;:::i;:::-;;;;;;;;18193:259:::0;:::o;17061:94::-;17110:4;17134:13;;17127:20;;17061:94;:::o;2798:79::-;2836:7;2863:6;;;;;;;;;;;2856:13;;2798:79;:::o;17267:295::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17357:11:::1;;;;;;;;;;;17356:12;17348:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;17430:1;17416:11;:15;:37;;;;;17449:4;17435:11;:18;17416:37;17408:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;17545:9;17531:11;:23;;;;:::i;:::-;17513:15;:41;;;;17267:295:::0;:::o;6563:87::-;6602:13;6635:7;;;;;;;;;;;;;;;;;6628:14;;6563:87;:::o;6998:167::-;7076:4;7093:42;7103:12;:10;:12::i;:::-;7117:9;7128:6;7093:9;:42::i;:::-;7153:4;7146:11;;6998:167;;;;:::o;7931:111::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8029:5:::1;8007:19;;:27;;;;;;;;;;;;;;;;;;7931:111:::0;:::o;17570:301::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17662:11:::1;;;;;;;;;;;17661:12;17653:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;17736:1;17721:12;:16;:39;;;;;17756:4;17741:12;:19;17721:39;17713:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;17854:9;17839:12;:24;;;;:::i;:::-;17820:16;:43;;;;17570:301:::0;:::o;14495:191::-;14561:11;;;;;;;;;;;14545:27;;:12;:10;:12::i;:::-;:27;;;14537:36;;;;;;14584:23;14610:24;14628:4;14610:9;:24::i;:::-;14584:50;;14645:33;14662:15;14645:16;:33::i;:::-;14495:191;:::o;14320:167::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14385:4:::1;14371:11;;:18;;;;;;;;;;;;;;;;;;14410:15;14400:7;:25;;;;14469:9;14450:15;:29;;;;:::i;:::-;14436:11;:43;;;;14320:167::o:0;7173:143::-;7254:7;7281:11;:18;7293:5;7281:18;;;;;;;;;;;;;;;:27;7300:7;7281:27;;;;;;;;;;;;;;;;7274:34;;7173:143;;;;:::o;13481:831::-;2935:12;:10;:12::i;:::-;2925:22;;:6;;;;;;;;;;:22;;;2917:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13546:11:::1;;;;;;;;;;;13545:12;13537:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13595:35;13652:42;13595:100;;13724:16;13706:15;;:34;;;;;;;;;;;;;;;;;;13751:58;13768:4;13783:15;;;;;;;;;;;4389:12;13751:8;:58::i;:::-;13854:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13836:56;;;13901:4;13908:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13836:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13820:13;;:112;;;;;;;;;;;;;;;;;;13943:15;;;;;;;;;;;:31;;;13982:21;14013:4;14019:24;14037:4;14019:9;:24::i;:::-;14044:1;14046::::0;14048:7:::1;:5;:7::i;:::-;14056:15;13943:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14104:4;14083:18;;:25;;;;;;;;;;;;;;;;;;14141:4;14119:19;;:26;;;;;;;;;;;;;;;;;;14172:11;14156:13;:27;;;;14211:11;14194:14;:28;;;;14240:13;;;;;;;;;;;14233:29;;;14271:15;;;;;;;;;;;14289:14;14233:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2995:1;13481:831::o:0;16967:86::-;17011:7;17038;;17031:14;;16967:86;:::o;516:98::-;569:7;596:10;589:17;;516:98;:::o;8657:335::-;8767:1;8750:19;;:5;:19;;;;8742:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8848:1;8829:21;;:7;:21;;;;8821:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8930:6;8900:11;:18;8912:5;8900:18;;;;;;;;;;;;;;;:27;8919:7;8900:27;;;;;;;;;;;;;;;:36;;;;8968:7;8952:32;;8961:5;8952:32;;;8977:6;8952:32;;;;;;:::i;:::-;;;;;;;;8657:335;;;:::o;9006:2605::-;9110:1;9094:18;;:4;:18;;;;9086:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9187:1;9173:16;;:2;:16;;;;9165:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9257:1;9248:6;:10;9240:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9327:7;:5;:7::i;:::-;9319:15;;:4;:15;;;;:32;;;;;9344:7;:5;:7::i;:::-;9338:13;;:2;:13;;;;9319:32;9315:2098;;;9388:4;9372:21;;:4;:21;;;;:44;;;;;9411:4;9397:19;;:2;:19;;;;9372:44;:80;;;;;9436:15;;;;;;;;;;;9420:32;;:4;:32;;;;9372:80;:114;;;;;9470:15;;;;;;;;;;;9456:30;;:2;:30;;;;9372:114;9368:281;;;9539:15;;;;;;;;;;;9515:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;9575:13;;;;;;;;;;;9559:29;;:12;:10;:12::i;:::-;:29;;;9515:73;9507:126;;;;;;;;;;;;:::i;:::-;;;;;;;;;9368:281;9686:20;;;;;;;;9691:10;9686:20;;;;;;9702:1;9686:20;;;;9704:1;9686:20;;;9663:8;:20;9672:10;9663:20;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9755:13;;;;;;;;;;;9747:21;;:4;:21;;;:55;;;;;9786:15;;;;;;;;;;;9772:30;;:2;:30;;;;9747:55;:83;;;;;9808:18;:22;9827:2;9808:22;;;;;;;;;;;;;;;;;;;;;;;;;9806:24;9747:83;9743:755;;;9859:11;;;;;;;;;;;9851:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9935:15;9921:11;;:29;9918:100;;;4389:12;9975:13;:23;;;;9918:100;10054:13;;10044:6;:23;;10036:32;;;;;;10090:18;;;;;;;;;;;10087:261;;;10160:15;10141:8;:12;10150:2;10141:12;;;;;;;;;;;;;;;:16;;;:34;10133:43;;;;;;10236:15;;10218;:33;;;;:::i;:::-;10199:8;:12;10208:2;10199:12;;;;;;;;;;;;;;;:16;;:52;;;;10312:16;;10294:15;:34;;;;:::i;:::-;10274:8;:12;10283:2;10274:12;;;;;;;;;;;;;;;:17;;:54;;;;10087:261;10369:19;;;;;;;;;;;10366:117;;;10441:22;;10423:15;:40;;;;:::i;:::-;10413:7;:50;;;;10366:117;9743:755;10512:28;10543:24;10561:4;10543:9;:24::i;:::-;10512:55;;10610:6;;;;;;;;;;;10609:7;:32;;;;;10628:13;;;;;;;;;;;10620:21;;:4;:21;;;;10609:32;:47;;;;;10645:11;;;;;;;;;;;10609:47;10605:797;;;10691:15;10680:7;;:26;10677:153;;10753:5;10731:19;;:27;;;;;;;;;;;;;;;;;;10798:12;10781:14;:29;;;;10677:153;10866:14;;10856:6;:24;;10848:33;;;;;;10903:19;;;;;;;;;;;10900:238;;;10977:15;10955:8;:14;10964:4;10955:14;;;;;;;;;;;;;;;:19;;;:37;10947:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;11102:16;;11084:15;:34;;;;:::i;:::-;11062:8;:14;11071:4;11062:14;;;;;;;;;;;;;;;:19;;:56;;;;10900:238;11156:38;11173:20;11156:16;:38::i;:::-;11213:26;11242:21;11213:50;;11306:1;11285:18;:22;11282:105;;;11332:35;11345:21;11332:12;:35::i;:::-;11282:105;10605:797;;9315:2098;;11423:12;11438:4;11423:19;;11458:18;:24;11477:4;11458:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11486:18;:22;11505:2;11486:22;;;;;;;;;;;;;;;;;;;;;;;;;11458:50;11455:96;;;11534:5;11524:15;;11455:96;11565:38;11580:4;11585:2;11588:6;11595:7;11565:14;:38::i;:::-;9006:2605;;;;:::o;1653:190::-;1739:7;1772:1;1767;:6;;1775:12;1759:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1799:9;1815:1;1811;:5;;;;:::i;:::-;1799:17;;1834:1;1827:8;;;1653:190;;;;;:::o;1851:246::-;1909:7;1938:1;1933;:6;1929:47;;;1963:1;1956:8;;;;1929:47;1986:9;2002:1;1998;:5;;;;:::i;:::-;1986:17;;2031:1;2026;2022;:5;;;;:::i;:::-;:10;2014:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2088:1;2081:8;;;1851:246;;;;;:::o;2105:132::-;2163:7;2190:39;2194:1;2197;2190:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2183:46;;2105:132;;;;:::o;12124:158::-;12181:11;;;;;;;;;;;:20;;:35;12202:13;12213:1;12202:6;:10;;:13;;;;:::i;:::-;12181:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12227:23;;;;;;;;;;;:32;;:47;12260:13;12271:1;12260:6;:10;;:13;;;;:::i;:::-;12227:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12124:158;:::o;8050:254::-;8117:7;8156;;8145;:18;;8137:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8221:19;8244:10;:8;:10::i;:::-;8221:33;;8272:24;8284:11;8272:7;:11;;:24;;;;:::i;:::-;8265:31;;;8050:254;;;:::o;11625:483::-;5921:4;5912:6;;:13;;;;;;;;;;;;;;;;;;11703:21:::1;11741:1;11727:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11703:40;;11772:4;11754;11759:1;11754:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;11798:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11788:4;11793:1;11788:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;11831:62;11848:4;11863:15;;;;;;;;;;;11881:11;11831:8;:62::i;:::-;11904:15;;;;;;;;;;;:66;;;11985:11;12011:1;12027:4;12054;12074:15;11904:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5936:1;5957:5:::0;5948:6;;:14;;;;;;;;;;;;;;;;;;11625:483;:::o;12298:263::-;12410:7;12406:40;;12432:14;:12;:14::i;:::-;12406:40;12457:44;12475:6;12483:9;12494:6;12457:17;:44::i;:::-;12516:7;12512:41;;12538:15;:13;:15::i;:::-;12512:41;12298:263;;;;:::o;2245:189::-;2331:7;2363:1;2359;:5;2366:12;2351:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2390:9;2406:1;2402;:5;;;;:::i;:::-;2390:17;;2425:1;2418:8;;;2245:189;;;;;:::o;16151:163::-;16192:7;16213:15;16230;16249:19;:17;:19::i;:::-;16212:56;;;;16286:20;16298:7;16286;:11;;:20;;;;:::i;:::-;16279:27;;;;16151:163;:::o;8312:210::-;8369:1;8358:7;;:12;:29;;;;;8386:1;8374:8;;:13;8358:29;8355:41;;;8389:7;;8355:41;8424:7;;8406:15;:25;;;;8461:8;;8442:16;:27;;;;8490:1;8480:7;:11;;;;8513:1;8502:8;:12;;;;8312:210;:::o;12569:488::-;12668:15;12685:23;12710:12;12724:23;12749:12;12763:13;12780:19;12791:7;12780:10;:19::i;:::-;12667:132;;;;;;;;;;;;12828:28;12848:7;12828;:15;12836:6;12828:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12810:7;:15;12818:6;12810:15;;;;;;;;;;;;;;;:46;;;;12888:39;12911:15;12888:7;:18;12896:9;12888:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12867:7;:18;12875:9;12867:18;;;;;;;;;;;;;;;:60;;;;12939:16;12949:5;12939:9;:16::i;:::-;12966:23;12978:4;12984;12966:11;:23::i;:::-;13022:9;13005:44;;13014:6;13005:44;;;13033:15;13005:44;;;;;;:::i;:::-;;;;;;;;12569:488;;;;;;;;;:::o;8534:115::-;8588:15;;8578:7;:25;;;;8625:16;;8614:8;:27;;;;8534:115::o;16322:262::-;16372:7;16381;16401:15;16419:7;;16401:25;;16437:15;4389:12;16437:25;;16493:20;4389:12;16493:7;;:11;;:20;;;;:::i;:::-;16483:7;:30;16479:61;;;16523:7;;4389:12;16515:25;;;;;;;;16479:61;16559:7;16568;16551:25;;;;;;16322:262;;;:::o;14902:468::-;14961:7;14970;14979;14988;14997;15006;15027:23;15052:12;15066:13;15083:39;15095:7;15104;;15113:8;;15083:11;:39::i;:::-;15026:96;;;;;;15133:19;15156:10;:8;:10::i;:::-;15133:33;;15178:15;15195:23;15220:12;15236:46;15248:7;15257:4;15263:5;15270:11;15236;:46::i;:::-;15177:105;;;;;;15301:7;15310:15;15327:4;15333:15;15350:4;15356:5;15293:69;;;;;;;;;;;;;;;;;;;14902:468;;;;;;;:::o;1509:136::-;1567:7;1594:43;1598:1;1601;1594:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1587:50;;1509:136;;;;:::o;1322:179::-;1380:7;1400:9;1416:1;1412;:5;;;;:::i;:::-;1400:17;;1441:1;1436;:6;;1428:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1492:1;1485:8;;;1322:179;;;;:::o;13065:212::-;13118:19;13141:10;:8;:10::i;:::-;13118:33;;13162:13;13178:22;13188:11;13178:5;:9;;:22;;;;:::i;:::-;13162:38;;13236:33;13263:5;13236:7;:22;13252:4;13236:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13211:7;:22;13227:4;13211:22;;;;;;;;;;;;;;;:58;;;;13065:212;;;:::o;13285:147::-;13363:17;13375:4;13363:7;;:11;;:17;;;;:::i;:::-;13353:7;:27;;;;13404:20;13419:4;13404:10;;:14;;:20;;;;:::i;:::-;13391:10;:33;;;;13285:147;;:::o;15378:351::-;15471:7;15480;15489;15509:12;15524:28;15548:3;15524:19;15536:6;15524:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15509:43;;15563:13;15579:29;15604:3;15579:20;15591:7;15579;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15563:45;;15619:23;15645:28;15667:5;15645:17;15657:4;15645:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15619:54;;15692:15;15709:4;15715:5;15684:37;;;;;;;;;15378:351;;;;;;;:::o;15737:409::-;15847:7;15856;15865;15885:15;15903:24;15915:11;15903:7;:11;;:24;;;;:::i;:::-;15885:42;;15938:12;15953:21;15962:11;15953:4;:8;;:21;;;;:::i;:::-;15938:36;;15985:13;16001:22;16011:11;16001:5;:9;;:22;;;;:::i;:::-;15985:38;;16034:23;16060:28;16082:5;16060:17;16072:4;16060:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16034:54;;16107:7;16116:15;16133:4;16099:39;;;;;;;;;;15737: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:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:256::-;2875:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;2983:1;3008:50;3050:7;3041:6;3030:9;3026:22;3008:50;:::i;:::-;2998:60;;2954:114;2882:193;;;;:::o;3081:278::-;3148:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:2;;;3213:1;3210;3203:12;3165:2;3256:1;3281:61;3334:7;3325:6;3314:9;3310:22;3281:61;:::i;:::-;3271:71;;3227:125;3155:204;;;;:::o;3365:262::-;3424:6;3473:2;3461:9;3452:7;3448:23;3444:32;3441:2;;;3489:1;3486;3479:12;3441:2;3532:1;3557:53;3602:7;3593:6;3582:9;3578:22;3557:53;:::i;:::-;3547:63;;3503:117;3431:196;;;;:::o;3633:596::-;3721:6;3729;3737;3786:2;3774:9;3765:7;3761:23;3757:32;3754:2;;;3802:1;3799;3792:12;3754:2;3845:1;3870:64;3926:7;3917:6;3906:9;3902:22;3870:64;:::i;:::-;3860:74;;3816:128;3983:2;4009:64;4065:7;4056:6;4045:9;4041:22;4009:64;:::i;:::-;3999:74;;3954:129;4122:2;4148:64;4204:7;4195:6;4184:9;4180:22;4148:64;:::i;:::-;4138:74;;4093:129;3744:485;;;;;:::o;4235:179::-;4304:10;4325:46;4367:3;4359:6;4325:46;:::i;:::-;4403:4;4398:3;4394:14;4380:28;;4315:99;;;;:::o;4420:108::-;4497:24;4515:5;4497:24;:::i;:::-;4492:3;4485:37;4475:53;;:::o;4534:118::-;4621:24;4639:5;4621:24;:::i;:::-;4616:3;4609:37;4599:53;;:::o;4688:732::-;4807:3;4836:54;4884:5;4836:54;:::i;:::-;4906:86;4985:6;4980:3;4906:86;:::i;:::-;4899:93;;5016:56;5066:5;5016:56;:::i;:::-;5095:7;5126:1;5111:284;5136:6;5133:1;5130:13;5111:284;;;5212:6;5206:13;5239:63;5298:3;5283:13;5239:63;:::i;:::-;5232:70;;5325:60;5378:6;5325:60;:::i;:::-;5315:70;;5171:224;5158:1;5155;5151:9;5146:14;;5111:284;;;5115:14;5411:3;5404:10;;4812:608;;;;;;;:::o;5426:109::-;5507:21;5522:5;5507:21;:::i;:::-;5502:3;5495:34;5485:50;;:::o;5541:147::-;5636:45;5675:5;5636:45;:::i;:::-;5631:3;5624:58;5614:74;;:::o;5694:364::-;5782:3;5810:39;5843:5;5810:39;:::i;:::-;5865:71;5929:6;5924:3;5865:71;:::i;:::-;5858:78;;5945:52;5990:6;5985:3;5978:4;5971:5;5967:16;5945:52;:::i;:::-;6022:29;6044:6;6022:29;:::i;:::-;6017:3;6013:39;6006:46;;5786:272;;;;;:::o;6064:366::-;6206:3;6227:67;6291:2;6286:3;6227:67;:::i;:::-;6220:74;;6303:93;6392:3;6303:93;:::i;:::-;6421:2;6416:3;6412:12;6405:19;;6210:220;;;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6582:220;;;:::o;6808:366::-;6950:3;6971:67;7035:2;7030:3;6971:67;:::i;:::-;6964:74;;7047:93;7136:3;7047:93;:::i;:::-;7165:2;7160:3;7156:12;7149:19;;6954:220;;;:::o;7180:366::-;7322:3;7343:67;7407:2;7402:3;7343:67;:::i;:::-;7336:74;;7419:93;7508:3;7419:93;:::i;:::-;7537:2;7532:3;7528:12;7521:19;;7326:220;;;:::o;7552:366::-;7694:3;7715:67;7779:2;7774:3;7715:67;:::i;:::-;7708:74;;7791:93;7880:3;7791:93;:::i;:::-;7909:2;7904:3;7900:12;7893:19;;7698:220;;;:::o;7924:366::-;8066:3;8087:67;8151:2;8146:3;8087:67;:::i;:::-;8080:74;;8163:93;8252:3;8163:93;:::i;:::-;8281:2;8276:3;8272:12;8265:19;;8070:220;;;:::o;8296:366::-;8438:3;8459:67;8523:2;8518:3;8459:67;:::i;:::-;8452:74;;8535:93;8624:3;8535:93;:::i;:::-;8653:2;8648:3;8644:12;8637:19;;8442:220;;;:::o;8668:366::-;8810:3;8831:67;8895:2;8890:3;8831:67;:::i;:::-;8824:74;;8907:93;8996:3;8907:93;:::i;:::-;9025:2;9020:3;9016:12;9009:19;;8814:220;;;:::o;9040:366::-;9182:3;9203:67;9267:2;9262:3;9203:67;:::i;:::-;9196:74;;9279:93;9368:3;9279:93;:::i;:::-;9397:2;9392:3;9388:12;9381:19;;9186:220;;;:::o;9412:366::-;9554:3;9575:67;9639:2;9634:3;9575:67;:::i;:::-;9568:74;;9651:93;9740:3;9651:93;:::i;:::-;9769:2;9764:3;9760:12;9753:19;;9558:220;;;:::o;9784:366::-;9926:3;9947:67;10011:2;10006:3;9947:67;:::i;:::-;9940:74;;10023:93;10112:3;10023:93;:::i;:::-;10141:2;10136:3;10132:12;10125:19;;9930:220;;;:::o;10156:366::-;10298:3;10319:67;10383:2;10378:3;10319:67;:::i;:::-;10312:74;;10395:93;10484:3;10395:93;:::i;:::-;10513:2;10508:3;10504:12;10497:19;;10302:220;;;:::o;10528:366::-;10670:3;10691:67;10755:2;10750:3;10691:67;:::i;:::-;10684:74;;10767:93;10856:3;10767:93;:::i;:::-;10885:2;10880:3;10876:12;10869:19;;10674:220;;;:::o;10900:366::-;11042:3;11063:67;11127:2;11122:3;11063:67;:::i;:::-;11056:74;;11139:93;11228:3;11139:93;:::i;:::-;11257:2;11252:3;11248:12;11241:19;;11046:220;;;:::o;11272:366::-;11414:3;11435:67;11499:2;11494:3;11435:67;:::i;:::-;11428:74;;11511:93;11600:3;11511:93;:::i;:::-;11629:2;11624:3;11620:12;11613:19;;11418:220;;;:::o;11644:366::-;11786:3;11807:67;11871:2;11866:3;11807:67;:::i;:::-;11800:74;;11883:93;11972:3;11883:93;:::i;:::-;12001:2;11996:3;11992:12;11985:19;;11790:220;;;:::o;12016:366::-;12158:3;12179:67;12243:2;12238:3;12179:67;:::i;:::-;12172:74;;12255:93;12344:3;12255:93;:::i;:::-;12373:2;12368:3;12364:12;12357:19;;12162:220;;;:::o;12388:366::-;12530:3;12551:67;12615:2;12610:3;12551:67;:::i;:::-;12544:74;;12627:93;12716:3;12627:93;:::i;:::-;12745:2;12740:3;12736:12;12729:19;;12534:220;;;:::o;12760:118::-;12847:24;12865:5;12847:24;:::i;:::-;12842:3;12835:37;12825:53;;:::o;12884:112::-;12967:22;12983:5;12967:22;:::i;:::-;12962:3;12955:35;12945:51;;:::o;13002:222::-;13095:4;13133:2;13122:9;13118:18;13110:26;;13146:71;13214:1;13203:9;13199:17;13190:6;13146:71;:::i;:::-;13100:124;;;;:::o;13230:332::-;13351:4;13389:2;13378:9;13374:18;13366:26;;13402:71;13470:1;13459:9;13455:17;13446:6;13402:71;:::i;:::-;13483:72;13551:2;13540:9;13536:18;13527:6;13483:72;:::i;:::-;13356:206;;;;;:::o;13568:332::-;13689:4;13727:2;13716:9;13712:18;13704:26;;13740:71;13808:1;13797:9;13793:17;13784:6;13740:71;:::i;:::-;13821:72;13889:2;13878:9;13874:18;13865:6;13821:72;:::i;:::-;13694:206;;;;;:::o;13906:807::-;14155:4;14193:3;14182:9;14178:19;14170:27;;14207:71;14275:1;14264:9;14260:17;14251:6;14207:71;:::i;:::-;14288:72;14356:2;14345:9;14341:18;14332:6;14288:72;:::i;:::-;14370:80;14446:2;14435:9;14431:18;14422:6;14370:80;:::i;:::-;14460;14536:2;14525:9;14521:18;14512:6;14460:80;:::i;:::-;14550:73;14618:3;14607:9;14603:19;14594:6;14550:73;:::i;:::-;14633;14701:3;14690:9;14686:19;14677:6;14633:73;:::i;:::-;14160:553;;;;;;;;;:::o;14719:210::-;14806:4;14844:2;14833:9;14829:18;14821:26;;14857:65;14919:1;14908:9;14904:17;14895:6;14857:65;:::i;:::-;14811:118;;;;:::o;14935:320::-;15050:4;15088:2;15077:9;15073:18;15065:26;;15101:65;15163:1;15152:9;15148:17;15139:6;15101:65;:::i;:::-;15176:72;15244:2;15233:9;15229:18;15220:6;15176:72;:::i;:::-;15055:200;;;;;:::o;15261:313::-;15374:4;15412:2;15401:9;15397:18;15389:26;;15461:9;15455:4;15451:20;15447:1;15436:9;15432:17;15425:47;15489:78;15562:4;15553:6;15489:78;:::i;:::-;15481:86;;15379:195;;;;:::o;15580:419::-;15746:4;15784:2;15773:9;15769:18;15761:26;;15833:9;15827:4;15823:20;15819:1;15808:9;15804:17;15797:47;15861:131;15987:4;15861:131;:::i;:::-;15853:139;;15751:248;;;:::o;16005:419::-;16171:4;16209:2;16198:9;16194:18;16186:26;;16258:9;16252:4;16248:20;16244:1;16233:9;16229:17;16222:47;16286:131;16412:4;16286:131;:::i;:::-;16278:139;;16176:248;;;:::o;16430:419::-;16596:4;16634:2;16623:9;16619:18;16611:26;;16683:9;16677:4;16673:20;16669:1;16658:9;16654:17;16647:47;16711:131;16837:4;16711:131;:::i;:::-;16703:139;;16601:248;;;:::o;16855:419::-;17021:4;17059:2;17048:9;17044:18;17036:26;;17108:9;17102:4;17098:20;17094:1;17083:9;17079:17;17072:47;17136:131;17262:4;17136:131;:::i;:::-;17128:139;;17026:248;;;:::o;17280:419::-;17446:4;17484:2;17473:9;17469:18;17461:26;;17533:9;17527:4;17523:20;17519:1;17508:9;17504:17;17497:47;17561:131;17687:4;17561:131;:::i;:::-;17553:139;;17451:248;;;:::o;17705:419::-;17871:4;17909:2;17898:9;17894:18;17886:26;;17958:9;17952:4;17948:20;17944:1;17933:9;17929:17;17922:47;17986:131;18112:4;17986:131;:::i;:::-;17978:139;;17876:248;;;:::o;18130:419::-;18296:4;18334:2;18323:9;18319:18;18311:26;;18383:9;18377:4;18373:20;18369:1;18358:9;18354:17;18347:47;18411:131;18537:4;18411:131;:::i;:::-;18403:139;;18301:248;;;:::o;18555:419::-;18721:4;18759:2;18748:9;18744:18;18736:26;;18808:9;18802:4;18798:20;18794:1;18783:9;18779:17;18772:47;18836:131;18962:4;18836:131;:::i;:::-;18828:139;;18726:248;;;:::o;18980:419::-;19146:4;19184:2;19173:9;19169:18;19161:26;;19233:9;19227:4;19223:20;19219:1;19208:9;19204:17;19197:47;19261:131;19387:4;19261:131;:::i;:::-;19253:139;;19151:248;;;:::o;19405:419::-;19571:4;19609:2;19598:9;19594:18;19586:26;;19658:9;19652:4;19648:20;19644:1;19633:9;19629:17;19622:47;19686:131;19812:4;19686:131;:::i;:::-;19678:139;;19576:248;;;:::o;19830:419::-;19996:4;20034:2;20023:9;20019:18;20011:26;;20083:9;20077:4;20073:20;20069:1;20058:9;20054:17;20047:47;20111:131;20237:4;20111:131;:::i;:::-;20103:139;;20001:248;;;:::o;20255:419::-;20421:4;20459:2;20448:9;20444:18;20436:26;;20508:9;20502:4;20498:20;20494:1;20483:9;20479:17;20472:47;20536:131;20662:4;20536:131;:::i;:::-;20528:139;;20426:248;;;:::o;20680:419::-;20846:4;20884:2;20873:9;20869:18;20861:26;;20933:9;20927:4;20923:20;20919:1;20908:9;20904:17;20897:47;20961:131;21087:4;20961:131;:::i;:::-;20953:139;;20851:248;;;:::o;21105:419::-;21271:4;21309:2;21298:9;21294:18;21286:26;;21358:9;21352:4;21348:20;21344:1;21333:9;21329:17;21322:47;21386:131;21512:4;21386:131;:::i;:::-;21378:139;;21276:248;;;:::o;21530:419::-;21696:4;21734:2;21723:9;21719:18;21711:26;;21783:9;21777:4;21773:20;21769:1;21758:9;21754:17;21747:47;21811:131;21937:4;21811:131;:::i;:::-;21803:139;;21701:248;;;:::o;21955:419::-;22121:4;22159:2;22148:9;22144:18;22136:26;;22208:9;22202:4;22198:20;22194:1;22183:9;22179:17;22172:47;22236:131;22362:4;22236:131;:::i;:::-;22228:139;;22126:248;;;:::o;22380:419::-;22546:4;22584:2;22573:9;22569:18;22561:26;;22633:9;22627:4;22623:20;22619:1;22608:9;22604:17;22597:47;22661:131;22787:4;22661:131;:::i;:::-;22653:139;;22551:248;;;:::o;22805:419::-;22971:4;23009:2;22998:9;22994:18;22986:26;;23058:9;23052:4;23048:20;23044:1;23033:9;23029:17;23022:47;23086:131;23212:4;23086:131;:::i;:::-;23078:139;;22976:248;;;:::o;23230:222::-;23323:4;23361:2;23350:9;23346:18;23338:26;;23374:71;23442:1;23431:9;23427:17;23418:6;23374:71;:::i;:::-;23328:124;;;;:::o;23458:831::-;23721:4;23759:3;23748:9;23744:19;23736:27;;23773:71;23841:1;23830:9;23826:17;23817:6;23773:71;:::i;:::-;23854:80;23930:2;23919:9;23915:18;23906:6;23854:80;:::i;:::-;23981:9;23975:4;23971:20;23966:2;23955:9;23951:18;23944:48;24009:108;24112:4;24103:6;24009:108;:::i;:::-;24001:116;;24127:72;24195:2;24184:9;24180:18;24171:6;24127:72;:::i;:::-;24209:73;24277:3;24266:9;24262:19;24253:6;24209:73;:::i;:::-;23726:563;;;;;;;;:::o;24295:214::-;24384:4;24422:2;24411:9;24407:18;24399:26;;24435:67;24499:1;24488:9;24484:17;24475:6;24435:67;:::i;:::-;24389:120;;;;:::o;24515:132::-;24582:4;24605:3;24597:11;;24635:4;24630:3;24626:14;24618:22;;24587:60;;;:::o;24653:114::-;24720:6;24754:5;24748:12;24738:22;;24727:40;;;:::o;24773:99::-;24825:6;24859:5;24853:12;24843:22;;24832:40;;;:::o;24878:113::-;24948:4;24980;24975:3;24971:14;24963:22;;24953:38;;;:::o;24997:184::-;25096:11;25130:6;25125:3;25118:19;25170:4;25165:3;25161:14;25146:29;;25108:73;;;;:::o;25187:169::-;25271:11;25305:6;25300:3;25293:19;25345:4;25340:3;25336:14;25321:29;;25283:73;;;;:::o;25362:305::-;25402:3;25421:20;25439:1;25421:20;:::i;:::-;25416:25;;25455:20;25473:1;25455:20;:::i;:::-;25450:25;;25609:1;25541:66;25537:74;25534:1;25531:81;25528:2;;;25615:18;;:::i;:::-;25528:2;25659:1;25656;25652:9;25645:16;;25406:261;;;;:::o;25673:185::-;25713:1;25730:20;25748:1;25730:20;:::i;:::-;25725:25;;25764:20;25782:1;25764:20;:::i;:::-;25759:25;;25803:1;25793:2;;25808:18;;:::i;:::-;25793:2;25850:1;25847;25843:9;25838:14;;25715:143;;;;:::o;25864:348::-;25904:7;25927:20;25945:1;25927:20;:::i;:::-;25922:25;;25961:20;25979:1;25961:20;:::i;:::-;25956:25;;26149:1;26081:66;26077:74;26074:1;26071:81;26066:1;26059:9;26052:17;26048:105;26045:2;;;26156:18;;:::i;:::-;26045:2;26204:1;26201;26197:9;26186:20;;25912:300;;;;:::o;26218:191::-;26258:4;26278:20;26296:1;26278:20;:::i;:::-;26273:25;;26312:20;26330:1;26312:20;:::i;:::-;26307:25;;26351:1;26348;26345:8;26342:2;;;26356:18;;:::i;:::-;26342:2;26401:1;26398;26394:9;26386:17;;26263:146;;;;:::o;26415:96::-;26452:7;26481:24;26499:5;26481:24;:::i;:::-;26470:35;;26460:51;;;:::o;26517:90::-;26551:7;26594:5;26587:13;26580:21;26569:32;;26559:48;;;:::o;26613:126::-;26650:7;26690:42;26683:5;26679:54;26668:65;;26658:81;;;:::o;26745:77::-;26782:7;26811:5;26800:16;;26790:32;;;:::o;26828:86::-;26863:7;26903:4;26896:5;26892:16;26881:27;;26871:43;;;:::o;26920:121::-;26978:9;27011:24;27029:5;27011:24;:::i;:::-;26998:37;;26988:53;;;:::o;27047:307::-;27115:1;27125:113;27139:6;27136:1;27133:13;27125:113;;;27224:1;27219:3;27215:11;27209:18;27205:1;27200:3;27196:11;27189:39;27161:2;27158:1;27154:10;27149:15;;27125:113;;;27256:6;27253:1;27250:13;27247:2;;;27336:1;27327:6;27322:3;27318:16;27311:27;27247:2;27096:258;;;;:::o;27360:180::-;27408:77;27405:1;27398:88;27505:4;27502:1;27495:15;27529:4;27526:1;27519:15;27546:180;27594:77;27591:1;27584:88;27691:4;27688:1;27681:15;27715:4;27712:1;27705:15;27732:102;27773:6;27824:2;27820:7;27815:2;27808:5;27804:14;27800:28;27790:38;;27780:54;;;:::o;27840:231::-;27980:34;27976:1;27968:6;27964:14;27957:58;28049:14;28044:2;28036:6;28032:15;28025:39;27946:125;:::o;28077:222::-;28217:34;28213:1;28205:6;28201:14;28194:58;28286:5;28281:2;28273:6;28269:15;28262:30;28183:116;:::o;28305:229::-;28445:34;28441:1;28433:6;28429:14;28422:58;28514:12;28509:2;28501:6;28497:15;28490:37;28411:123;:::o;28540:221::-;28680:34;28676:1;28668:6;28664:14;28657:58;28749:4;28744:2;28736:6;28732:15;28725:29;28646:115;:::o;28767:177::-;28907:29;28903:1;28895:6;28891:14;28884:53;28873:71;:::o;28950:179::-;29090:31;29086:1;29078:6;29074:14;29067:55;29056:73;:::o;29135:229::-;29275:34;29271:1;29263:6;29259:14;29252:58;29344:12;29339:2;29331:6;29327:15;29320:37;29241:123;:::o;29370:231::-;29510:34;29506:1;29498:6;29494:14;29487:58;29579:14;29574:2;29566:6;29562:15;29555:39;29476:125;:::o;29607:220::-;29747:34;29743:1;29735:6;29731:14;29724:58;29816:3;29811:2;29803:6;29799:15;29792:28;29713:114;:::o;29833:182::-;29973:34;29969:1;29961:6;29957:14;29950:58;29939:76;:::o;30021:228::-;30161:34;30157:1;30149:6;30145:14;30138:58;30230:11;30225:2;30217:6;30213:15;30206:36;30127:122;:::o;30255:174::-;30395:26;30391:1;30383:6;30379:14;30372:50;30361:68;:::o;30435:224::-;30575:34;30571:1;30563:6;30559:14;30552:58;30644:7;30639:2;30631:6;30627:15;30620:32;30541:118;:::o;30665:227::-;30805:34;30801:1;30793:6;30789:14;30782:58;30874:10;30869:2;30861:6;30857:15;30850:35;30771:121;:::o;30898:223::-;31038:34;31034:1;31026:6;31022:14;31015:58;31107:6;31102:2;31094:6;31090:15;31083:31;31004:117;:::o;31127:173::-;31267:25;31263:1;31255:6;31251:14;31244:49;31233:67;:::o;31306:169::-;31446:21;31442:1;31434:6;31430:14;31423:45;31412:63;:::o;31481:174::-;31621:26;31617:1;31609:6;31605:14;31598:50;31587:68;:::o;31661:122::-;31734:24;31752:5;31734:24;:::i;:::-;31727:5;31724:35;31714:2;;31773:1;31770;31763:12;31714:2;31704:79;:::o;31789:116::-;31859:21;31874:5;31859:21;:::i;:::-;31852:5;31849:32;31839:2;;31895:1;31892;31885:12;31839:2;31829:76;:::o;31911:122::-;31984:24;32002:5;31984:24;:::i;:::-;31977:5;31974:35;31964:2;;32023:1;32020;32013:12;31964:2;31954:79;:::o
Swarm Source
ipfs://a1b37e6ddc57972493bbaf6ef4e24b095c62a2e1bccbfb2efe4e721565653916
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.