ETH Price: $3,260.44 (+2.12%)
Gas: 2 Gwei

Token

RABREED (RABREED)
 

Overview

Max Total Supply

1,000,000,000,000 RABREED

Holders

94

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
18,297,858.696451 RABREED

Value
$0.00
0x4fddb61cafb902bb37c25a519cce3049162ec374
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:
RABREED

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-12-23
*/

//SPDX-License-Identifier: None
//Telegram: t.me/Rabreed

pragma solidity ^0.8.9;

uint256 constant INITIAL_TAX=13;
uint256 constant TOTAL_SUPPLY=1000000000000;
string constant TOKEN_SYMBOL="RABREED";
string constant TOKEN_NAME="RABREED";
uint8 constant DECIMALS=6;
uint256 constant TAX_THRESHOLD=1000000000000000000;

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

}

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 RABREED is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping (address => uint256) private _rOwned;
	mapping (address => mapping (address => uint256)) private _allowances;
	mapping (address => bool) private _isExcludedFromFee;

	uint256 private constant MAX = ~uint256(0);
	uint256 private constant _tTotal = TOTAL_SUPPLY * 10**DECIMALS;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;

	uint256 private _burnFee;
	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());
		_burnFee = 1;
		_taxFee = INITIAL_TAX;
		_uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

		_rOwned[address(this)] = _rTotal;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		_maxTxAmount=_tTotal.div(20);
		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 pure override returns (uint256) {
		return _tTotal;
	}

	function balanceOf(address account) public view override returns (uint256) {
		return tokenFromReflection(_rOwned[account]);
	}

	function transfer(address recipient, uint256 amount) public override returns (bool) {
		_transfer(_msgSender(), recipient, amount);
		return true;
	}

	function allowance(address owner, address spender) public view override returns (uint256) {
		return _allowances[owner][spender];
	}

	function approve(address spender, uint256 amount) public override returns (bool) {
		_approve(_msgSender(), spender, amount);
		return true;
	}

	function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
		_transfer(sender, recipient, amount);
		_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
		return true;
	}


	function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
		require(rAmount <= _rTotal, "Amount must be less than total reflections");
		uint256 currentRate =  _getRate();
		return rAmount.div(currentRate);
	}

	function _approve(address owner, address spender, uint256 amount) private {
		require(owner != address(0), "ERC20: approve from the zero address");
		require(spender != address(0), "ERC20: approve to the zero address");
		_allowances[owner][spender] = amount;
		emit Approval(owner, spender, amount);
	}

	function _transfer(address from, address to, uint256 amount) private {
		require(from != address(0), "ERC20: transfer from the zero address");
		require(to != address(0), "ERC20: transfer to the zero address");
		require(amount > 0, "Transfer amount must be greater than zero");

		if (from != owner() && to != owner()) {
			if (from == _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 || contractETHBalance >= ((balanceOf(_pair) * 20) / 100)  ) {
					sendETHToFee(address(this).balance);
				}
			}
		}

		_tokenTransfer(from,to,amount);
	}

	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 startTrading() external onlyTaxCollector {
		require(!_canTrade,"Trading is already open");
		_approve(address(this), address(_uniswap), _tTotal);

		_pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH());
		_uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
		_swapEnabled = true;
		_canTrade = true;
		IERC20(_pair).approve(address(_uniswap), type(uint).max);
	}


	function _tokenTransfer(address sender, address recipient, uint256 amount) private {
		_transferStandard(sender, recipient, amount);
	}

	function _transferStandard(address sender, address recipient, uint256 tAmount) private {
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
		_rOwned[sender] = _rOwned[sender].sub(rAmount);
		_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
		_takeTeam(tTeam);
		_reflectFee(rFee, tFee);
		emit Transfer(sender, recipient, tTransferAmount);
	}

	function _takeTeam(uint256 tTeam) private {
		uint256 currentRate =  _getRate();
		uint256 rTeam = tTeam.mul(currentRate);
		_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
	}

	function _reflectFee(uint256 rFee, uint256 tFee) private {
		_rTotal = _rTotal.sub(rFee);
		_tFeeTotal = _tFeeTotal.add(tFee);
	}

	receive() external payable {}

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

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


	function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
		(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _burnFee, _taxFee);
		uint256 currentRate =  _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

	function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
		uint256 tFee = tAmount.mul(taxFee).div(100);
		uint256 tTeam = tAmount.mul(TeamFee).div(100);
		uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
		return (tTransferAmount, tFee, tTeam);
	}

	function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
		uint256 rAmount = tAmount.mul(currentRate);
		uint256 rFee = tFee.mul(currentRate);
		uint256 rTeam = tTeam.mul(currentRate);
		uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
		return (rAmount, rTransferAmount, rFee);
	}

	function _getRate() private view returns(uint256) {
		(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
		return rSupply.div(tSupply);
	}

	function _getCurrentSupply() private view returns(uint256, uint256) {
		uint256 rSupply = _rTotal;
		uint256 tSupply = _tTotal;
		if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
		return (rSupply, tSupply);
	}
}

Contract Security Audit

Contract ABI

[{"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":[{"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":"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":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006600a62000014919062000644565b64e8d4a5100062000026919062000695565b60001962000035919062000725565b6000196200004491906200075d565b6005556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055503480156200008a57600080fd5b5060006200009d620003e860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200014b620003e860201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600781905550600d600881905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200034460146006600a6200031e919062000644565b64e8d4a5100062000330919062000695565b620003f060201b62000e531790919060201c565b600a819055506200035a620003e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006600a620003b9919062000644565b64e8d4a51000620003cb919062000695565b604051620003da9190620007a9565b60405180910390a3620008c6565b600033905090565b60006200043a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200044260201b60201c565b905092915050565b600080831182906200048c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200048391906200086a565b60405180910390fd5b50600083856200049d91906200088e565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620005385780860481111562000510576200050f620004aa565b5b6001851615620005205780820291505b80810290506200053085620004d9565b9450620004f0565b94509492505050565b60008262000553576001905062000626565b8162000563576000905062000626565b81600181146200057c57600281146200058757620005bd565b600191505062000626565b60ff8411156200059c576200059b620004aa565b5b8360020a915084821115620005b657620005b5620004aa565b5b5062000626565b5060208310610133831016604e8410600b8410161715620005f75782820a905083811115620005f157620005f0620004aa565b5b62000626565b620006068484846001620004e6565b9250905081840481111562000620576200061f620004aa565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000651826200062d565b91506200065e8362000637565b92506200068d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000541565b905092915050565b6000620006a2826200062d565b9150620006af836200062d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006eb57620006ea620004aa565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000732826200062d565b91506200073f836200062d565b925082620007525762000751620006f6565b5b828206905092915050565b60006200076a826200062d565b915062000777836200062d565b9250828210156200078d576200078c620004aa565b5b828203905092915050565b620007a3816200062d565b82525050565b6000602082019050620007c0600083018462000798565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101562000802578082015181840152602081019050620007e5565b8381111562000812576000848401525b50505050565b6000601f19601f8301169050919050565b60006200083682620007c6565b620008428185620007d1565b935062000854818560208601620007e2565b6200085f8162000818565b840191505092915050565b6000602082019050818103600083015262000886818462000829565b905092915050565b60006200089b826200062d565b9150620008a8836200062d565b925082620008bb57620008ba620006f6565b5b828204905092915050565b612e8780620008d66000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a5780639e752b95116100595780639e752b95146102ed578063a9059cbb14610316578063dd62ed3e14610353578063f429389014610390576100fe565b806370a0823114610243578063715018a6146102805780638da5cb5b1461029757806395d89b41146102c2576100fe565b8063293230b8116100c6578063293230b8146101d3578063313ce567146101ea5780633e07ce5b1461021557806351bc3c851461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b6040516101259190611f70565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061202b565b6103e4565b6040516101629190612086565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d91906120b0565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120cb565b610427565b6040516101ca9190612086565b60405180910390f35b3480156101df57600080fd5b506101e8610500565b005b3480156101f657600080fd5b506101ff6109b0565b60405161020c919061213a565b60405180910390f35b34801561022157600080fd5b5061022a6109b9565b005b34801561023857600080fd5b50610241610a40565b005b34801561024f57600080fd5b5061026a60048036038101906102659190612155565b610aba565b60405161027791906120b0565b60405180910390f35b34801561028c57600080fd5b50610295610b0b565b005b3480156102a357600080fd5b506102ac610c5e565b6040516102b99190612191565b60405180910390f35b3480156102ce57600080fd5b506102d7610c87565b6040516102e49190611f70565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f91906121ac565b610cc4565b005b34801561032257600080fd5b5061033d6004803603810190610338919061202b565b610d3c565b60405161034a9190612086565b60405180910390f35b34801561035f57600080fd5b5061037a600480360381019061037591906121d9565b610d5a565b60405161038791906120b0565b60405180910390f35b34801561039c57600080fd5b506103a5610de1565b005b60606040518060400160405280600781526020017f5241425245454400000000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610e9d565b8484610ea5565b6001905092915050565b60006006600a610412919061237b565b64e8d4a5100061042291906123c6565b905090565b6000610434848484611070565b6104f584610440610e9d565b6104f085604051806060016040528060288152602001612e2a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a6610e9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114789092919063ffffffff16565b610ea5565b600190509392505050565b610508610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056157600080fd5b600c60149054906101000a900460ff16156105b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a89061246c565b60405180910390fd5b6105fb30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600a6105e6919061237b565b64e8d4a510006105f691906123c6565b610ea5565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c91906124a1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073991906124a1565b6040518363ffffffff1660e01b81526004016107569291906124ce565b6020604051808303816000875af1158015610775573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079991906124a1565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061082230610aba565b60008061082d610c5e565b426040518863ffffffff1660e01b815260040161084f9695949392919061253c565b60606040518083038185885af115801561086d573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061089291906125b2565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161096a929190612605565b6020604051808303816000875af1158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad919061265a565b50565b60006006905090565b6109c1610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a57600080fd5b6006600a610a28919061237b565b64e8d4a51000610a3891906123c6565b600a81905550565b610a48610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa157600080fd5b6000610aac30610aba565b9050610ab7816114dc565b50565b6000610b04600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611755565b9050919050565b610b13610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b97906126d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f5241425245454400000000000000000000000000000000000000000000000000815250905090565b610ccc610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2557600080fd5b600d8110610d3257600080fd5b8060088190555050565b6000610d50610d49610e9d565b8484611070565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610de9610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4257600080fd5b6000479050610e50816117c3565b50565b6000610e9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061182f565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c90612765565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c906127f7565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106391906120b0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d790612889565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611150576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111479061291b565b60405180910390fd5b60008111611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a906129ad565b60405180910390fd5b61119b610c5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561120957506111d9610c5e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561146857600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112b95750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561130f5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561135957600a548110611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f90612a19565b60405180910390fd5b5b600061136430610aba565b9050600c60159054906101000a900460ff161580156113d15750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113e95750600c60169054906101000a900460ff165b15611466576113f7816114dc565b6000479050670de0b6b3a76400008110158061145557506064601461143d600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aba565b61144791906123c6565b6114519190612a68565b8110155b1561146457611463476117c3565b5b505b505b611473838383611892565b505050565b60008383111582906114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b79190611f70565b60405180910390fd5b50600083856114cf9190612a99565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561151457611513612acd565b5b6040519080825280602002602001820160405280156115425781602001602082028036833780820191505090505b509050308160008151811061155a57611559612afc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162591906124a1565b8160018151811061163957611638612afc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116a030600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ea5565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611704959493929190612be9565b600060405180830381600087803b15801561171e57600080fd5b505af1158015611732573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600060055482111561179c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179390612cb5565b60405180910390fd5b60006117a66118a2565b90506117bb8184610e5390919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561182b573d6000803e3d6000fd5b5050565b60008083118290611876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186d9190611f70565b60405180910390fd5b50600083856118859190612a68565b9050809150509392505050565b61189d8383836118cd565b505050565b60008060006118af611a98565b915091506118c68183610e5390919063ffffffff16565b9250505090565b6000806000806000806118df87611b36565b95509550955095509550955061193d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a1e81611c46565b611a288483611d03565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a8591906120b0565b60405180910390a3505050505050505050565b6000806000600554905060006006600a611ab2919061237b565b64e8d4a51000611ac291906123c6565b9050611af66006600a611ad5919061237b565b64e8d4a51000611ae591906123c6565b600554610e5390919063ffffffff16565b821015611b29576005546006600a611b0e919061237b565b64e8d4a51000611b1e91906123c6565b935093505050611b32565b81819350935050505b9091565b6000806000806000806000806000611b538a600754600854611d3d565b9250925092506000611b636118a2565b90506000806000611b768e878787611dd3565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611be083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611478565b905092915050565b6000808284611bf79190612cd5565b905083811015611c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3390612d77565b60405180910390fd5b8091505092915050565b6000611c506118a2565b90506000611c678284611e5c90919063ffffffff16565b9050611cbb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d1882600554611b9e90919063ffffffff16565b600581905550611d3381600654611be890919063ffffffff16565b6006819055505050565b600080600080611d696064611d5b888a611e5c90919063ffffffff16565b610e5390919063ffffffff16565b90506000611d936064611d85888b611e5c90919063ffffffff16565b610e5390919063ffffffff16565b90506000611dbc82611dae858c611b9e90919063ffffffff16565b611b9e90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611dec8589611e5c90919063ffffffff16565b90506000611e038689611e5c90919063ffffffff16565b90506000611e1a8789611e5c90919063ffffffff16565b90506000611e4382611e358587611b9e90919063ffffffff16565b611b9e90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e6f5760009050611ed1565b60008284611e7d91906123c6565b9050828482611e8c9190612a68565b14611ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec390612e09565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f11578082015181840152602081019050611ef6565b83811115611f20576000848401525b50505050565b6000601f19601f8301169050919050565b6000611f4282611ed7565b611f4c8185611ee2565b9350611f5c818560208601611ef3565b611f6581611f26565b840191505092915050565b60006020820190508181036000830152611f8a8184611f37565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc282611f97565b9050919050565b611fd281611fb7565b8114611fdd57600080fd5b50565b600081359050611fef81611fc9565b92915050565b6000819050919050565b61200881611ff5565b811461201357600080fd5b50565b60008135905061202581611fff565b92915050565b6000806040838503121561204257612041611f92565b5b600061205085828601611fe0565b925050602061206185828601612016565b9150509250929050565b60008115159050919050565b6120808161206b565b82525050565b600060208201905061209b6000830184612077565b92915050565b6120aa81611ff5565b82525050565b60006020820190506120c560008301846120a1565b92915050565b6000806000606084860312156120e4576120e3611f92565b5b60006120f286828701611fe0565b935050602061210386828701611fe0565b925050604061211486828701612016565b9150509250925092565b600060ff82169050919050565b6121348161211e565b82525050565b600060208201905061214f600083018461212b565b92915050565b60006020828403121561216b5761216a611f92565b5b600061217984828501611fe0565b91505092915050565b61218b81611fb7565b82525050565b60006020820190506121a66000830184612182565b92915050565b6000602082840312156121c2576121c1611f92565b5b60006121d084828501612016565b91505092915050565b600080604083850312156121f0576121ef611f92565b5b60006121fe85828601611fe0565b925050602061220f85828601611fe0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561229f5780860481111561227b5761227a612219565b5b600185161561228a5780820291505b808102905061229885612248565b945061225f565b94509492505050565b6000826122b85760019050612374565b816122c65760009050612374565b81600181146122dc57600281146122e657612315565b6001915050612374565b60ff8411156122f8576122f7612219565b5b8360020a91508482111561230f5761230e612219565b5b50612374565b5060208310610133831016604e8410600b841016171561234a5782820a90508381111561234557612344612219565b5b612374565b6123578484846001612255565b9250905081840481111561236e5761236d612219565b5b81810290505b9392505050565b600061238682611ff5565b91506123918361211e565b92506123be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122a8565b905092915050565b60006123d182611ff5565b91506123dc83611ff5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561241557612414612219565b5b828202905092915050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612456601783611ee2565b915061246182612420565b602082019050919050565b6000602082019050818103600083015261248581612449565b9050919050565b60008151905061249b81611fc9565b92915050565b6000602082840312156124b7576124b6611f92565b5b60006124c58482850161248c565b91505092915050565b60006040820190506124e36000830185612182565b6124f06020830184612182565b9392505050565b6000819050919050565b6000819050919050565b600061252661252161251c846124f7565b612501565b611ff5565b9050919050565b6125368161250b565b82525050565b600060c0820190506125516000830189612182565b61255e60208301886120a1565b61256b604083018761252d565b612578606083018661252d565b6125856080830185612182565b61259260a08301846120a1565b979650505050505050565b6000815190506125ac81611fff565b92915050565b6000806000606084860312156125cb576125ca611f92565b5b60006125d98682870161259d565b93505060206125ea8682870161259d565b92505060406125fb8682870161259d565b9150509250925092565b600060408201905061261a6000830185612182565b61262760208301846120a1565b9392505050565b6126378161206b565b811461264257600080fd5b50565b6000815190506126548161262e565b92915050565b6000602082840312156126705761266f611f92565b5b600061267e84828501612645565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126bd602083611ee2565b91506126c882612687565b602082019050919050565b600060208201905081810360008301526126ec816126b0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061274f602483611ee2565b915061275a826126f3565b604082019050919050565b6000602082019050818103600083015261277e81612742565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127e1602283611ee2565b91506127ec82612785565b604082019050919050565b60006020820190508181036000830152612810816127d4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612873602583611ee2565b915061287e82612817565b604082019050919050565b600060208201905081810360008301526128a281612866565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612905602383611ee2565b9150612910826128a9565b604082019050919050565b60006020820190508181036000830152612934816128f8565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612997602983611ee2565b91506129a28261293b565b604082019050919050565b600060208201905081810360008301526129c68161298a565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612a03601a83611ee2565b9150612a0e826129cd565b602082019050919050565b60006020820190508181036000830152612a32816129f6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a7382611ff5565b9150612a7e83611ff5565b925082612a8e57612a8d612a39565b5b828204905092915050565b6000612aa482611ff5565b9150612aaf83611ff5565b925082821015612ac257612ac1612219565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b6081611fb7565b82525050565b6000612b728383612b57565b60208301905092915050565b6000602082019050919050565b6000612b9682612b2b565b612ba08185612b36565b9350612bab83612b47565b8060005b83811015612bdc578151612bc38882612b66565b9750612bce83612b7e565b925050600181019050612baf565b5085935050505092915050565b600060a082019050612bfe60008301886120a1565b612c0b602083018761252d565b8181036040830152612c1d8186612b8b565b9050612c2c6060830185612182565b612c3960808301846120a1565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c9f602a83611ee2565b9150612caa82612c43565b604082019050919050565b60006020820190508181036000830152612cce81612c92565b9050919050565b6000612ce082611ff5565b9150612ceb83611ff5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d2057612d1f612219565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d61601b83611ee2565b9150612d6c82612d2b565b602082019050919050565b60006020820190508181036000830152612d9081612d54565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612df3602183611ee2565b9150612dfe82612d97565b604082019050919050565b60006020820190508181036000830152612e2281612de6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122098b084706cdbf103e4ddcdee72fbf1d24e26f0fb1f90c9ec96d5537ce49f5d3f64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a5780639e752b95116100595780639e752b95146102ed578063a9059cbb14610316578063dd62ed3e14610353578063f429389014610390576100fe565b806370a0823114610243578063715018a6146102805780638da5cb5b1461029757806395d89b41146102c2576100fe565b8063293230b8116100c6578063293230b8146101d3578063313ce567146101ea5780633e07ce5b1461021557806351bc3c851461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b6040516101259190611f70565b60405180910390f35b34801561013a57600080fd5b506101556004803603810190610150919061202b565b6103e4565b6040516101629190612086565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d91906120b0565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b891906120cb565b610427565b6040516101ca9190612086565b60405180910390f35b3480156101df57600080fd5b506101e8610500565b005b3480156101f657600080fd5b506101ff6109b0565b60405161020c919061213a565b60405180910390f35b34801561022157600080fd5b5061022a6109b9565b005b34801561023857600080fd5b50610241610a40565b005b34801561024f57600080fd5b5061026a60048036038101906102659190612155565b610aba565b60405161027791906120b0565b60405180910390f35b34801561028c57600080fd5b50610295610b0b565b005b3480156102a357600080fd5b506102ac610c5e565b6040516102b99190612191565b60405180910390f35b3480156102ce57600080fd5b506102d7610c87565b6040516102e49190611f70565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f91906121ac565b610cc4565b005b34801561032257600080fd5b5061033d6004803603810190610338919061202b565b610d3c565b60405161034a9190612086565b60405180910390f35b34801561035f57600080fd5b5061037a600480360381019061037591906121d9565b610d5a565b60405161038791906120b0565b60405180910390f35b34801561039c57600080fd5b506103a5610de1565b005b60606040518060400160405280600781526020017f5241425245454400000000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610e9d565b8484610ea5565b6001905092915050565b60006006600a610412919061237b565b64e8d4a5100061042291906123c6565b905090565b6000610434848484611070565b6104f584610440610e9d565b6104f085604051806060016040528060288152602001612e2a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a6610e9d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114789092919063ffffffff16565b610ea5565b600190509392505050565b610508610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056157600080fd5b600c60149054906101000a900460ff16156105b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a89061246c565b60405180910390fd5b6105fb30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600a6105e6919061237b565b64e8d4a510006105f691906123c6565b610ea5565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c91906124a1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073991906124a1565b6040518363ffffffff1660e01b81526004016107569291906124ce565b6020604051808303816000875af1158015610775573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079991906124a1565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061082230610aba565b60008061082d610c5e565b426040518863ffffffff1660e01b815260040161084f9695949392919061253c565b60606040518083038185885af115801561086d573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061089291906125b2565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161096a929190612605565b6020604051808303816000875af1158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad919061265a565b50565b60006006905090565b6109c1610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a1a57600080fd5b6006600a610a28919061237b565b64e8d4a51000610a3891906123c6565b600a81905550565b610a48610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa157600080fd5b6000610aac30610aba565b9050610ab7816114dc565b50565b6000610b04600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611755565b9050919050565b610b13610e9d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b97906126d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f5241425245454400000000000000000000000000000000000000000000000000815250905090565b610ccc610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2557600080fd5b600d8110610d3257600080fd5b8060088190555050565b6000610d50610d49610e9d565b8484611070565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610de9610e9d565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4257600080fd5b6000479050610e50816117c3565b50565b6000610e9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061182f565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c90612765565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7c906127f7565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161106391906120b0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d790612889565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611150576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111479061291b565b60405180910390fd5b60008111611193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118a906129ad565b60405180910390fd5b61119b610c5e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561120957506111d9610c5e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561146857600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156112b95750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561130f5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561135957600a548110611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f90612a19565b60405180910390fd5b5b600061136430610aba565b9050600c60159054906101000a900460ff161580156113d15750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113e95750600c60169054906101000a900460ff165b15611466576113f7816114dc565b6000479050670de0b6b3a76400008110158061145557506064601461143d600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610aba565b61144791906123c6565b6114519190612a68565b8110155b1561146457611463476117c3565b5b505b505b611473838383611892565b505050565b60008383111582906114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b79190611f70565b60405180910390fd5b50600083856114cf9190612a99565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561151457611513612acd565b5b6040519080825280602002602001820160405280156115425781602001602082028036833780820191505090505b509050308160008151811061155a57611559612afc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611601573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162591906124a1565b8160018151811061163957611638612afc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116a030600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610ea5565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611704959493929190612be9565b600060405180830381600087803b15801561171e57600080fd5b505af1158015611732573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b600060055482111561179c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179390612cb5565b60405180910390fd5b60006117a66118a2565b90506117bb8184610e5390919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561182b573d6000803e3d6000fd5b5050565b60008083118290611876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186d9190611f70565b60405180910390fd5b50600083856118859190612a68565b9050809150509392505050565b61189d8383836118cd565b505050565b60008060006118af611a98565b915091506118c68183610e5390919063ffffffff16565b9250505090565b6000806000806000806118df87611b36565b95509550955095509550955061193d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b9e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119d285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a1e81611c46565b611a288483611d03565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a8591906120b0565b60405180910390a3505050505050505050565b6000806000600554905060006006600a611ab2919061237b565b64e8d4a51000611ac291906123c6565b9050611af66006600a611ad5919061237b565b64e8d4a51000611ae591906123c6565b600554610e5390919063ffffffff16565b821015611b29576005546006600a611b0e919061237b565b64e8d4a51000611b1e91906123c6565b935093505050611b32565b81819350935050505b9091565b6000806000806000806000806000611b538a600754600854611d3d565b9250925092506000611b636118a2565b90506000806000611b768e878787611dd3565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611be083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611478565b905092915050565b6000808284611bf79190612cd5565b905083811015611c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3390612d77565b60405180910390fd5b8091505092915050565b6000611c506118a2565b90506000611c678284611e5c90919063ffffffff16565b9050611cbb81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611be890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d1882600554611b9e90919063ffffffff16565b600581905550611d3381600654611be890919063ffffffff16565b6006819055505050565b600080600080611d696064611d5b888a611e5c90919063ffffffff16565b610e5390919063ffffffff16565b90506000611d936064611d85888b611e5c90919063ffffffff16565b610e5390919063ffffffff16565b90506000611dbc82611dae858c611b9e90919063ffffffff16565b611b9e90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611dec8589611e5c90919063ffffffff16565b90506000611e038689611e5c90919063ffffffff16565b90506000611e1a8789611e5c90919063ffffffff16565b90506000611e4382611e358587611b9e90919063ffffffff16565b611b9e90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e6f5760009050611ed1565b60008284611e7d91906123c6565b9050828482611e8c9190612a68565b14611ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec390612e09565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f11578082015181840152602081019050611ef6565b83811115611f20576000848401525b50505050565b6000601f19601f8301169050919050565b6000611f4282611ed7565b611f4c8185611ee2565b9350611f5c818560208601611ef3565b611f6581611f26565b840191505092915050565b60006020820190508181036000830152611f8a8184611f37565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc282611f97565b9050919050565b611fd281611fb7565b8114611fdd57600080fd5b50565b600081359050611fef81611fc9565b92915050565b6000819050919050565b61200881611ff5565b811461201357600080fd5b50565b60008135905061202581611fff565b92915050565b6000806040838503121561204257612041611f92565b5b600061205085828601611fe0565b925050602061206185828601612016565b9150509250929050565b60008115159050919050565b6120808161206b565b82525050565b600060208201905061209b6000830184612077565b92915050565b6120aa81611ff5565b82525050565b60006020820190506120c560008301846120a1565b92915050565b6000806000606084860312156120e4576120e3611f92565b5b60006120f286828701611fe0565b935050602061210386828701611fe0565b925050604061211486828701612016565b9150509250925092565b600060ff82169050919050565b6121348161211e565b82525050565b600060208201905061214f600083018461212b565b92915050565b60006020828403121561216b5761216a611f92565b5b600061217984828501611fe0565b91505092915050565b61218b81611fb7565b82525050565b60006020820190506121a66000830184612182565b92915050565b6000602082840312156121c2576121c1611f92565b5b60006121d084828501612016565b91505092915050565b600080604083850312156121f0576121ef611f92565b5b60006121fe85828601611fe0565b925050602061220f85828601611fe0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561229f5780860481111561227b5761227a612219565b5b600185161561228a5780820291505b808102905061229885612248565b945061225f565b94509492505050565b6000826122b85760019050612374565b816122c65760009050612374565b81600181146122dc57600281146122e657612315565b6001915050612374565b60ff8411156122f8576122f7612219565b5b8360020a91508482111561230f5761230e612219565b5b50612374565b5060208310610133831016604e8410600b841016171561234a5782820a90508381111561234557612344612219565b5b612374565b6123578484846001612255565b9250905081840481111561236e5761236d612219565b5b81810290505b9392505050565b600061238682611ff5565b91506123918361211e565b92506123be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122a8565b905092915050565b60006123d182611ff5565b91506123dc83611ff5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561241557612414612219565b5b828202905092915050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612456601783611ee2565b915061246182612420565b602082019050919050565b6000602082019050818103600083015261248581612449565b9050919050565b60008151905061249b81611fc9565b92915050565b6000602082840312156124b7576124b6611f92565b5b60006124c58482850161248c565b91505092915050565b60006040820190506124e36000830185612182565b6124f06020830184612182565b9392505050565b6000819050919050565b6000819050919050565b600061252661252161251c846124f7565b612501565b611ff5565b9050919050565b6125368161250b565b82525050565b600060c0820190506125516000830189612182565b61255e60208301886120a1565b61256b604083018761252d565b612578606083018661252d565b6125856080830185612182565b61259260a08301846120a1565b979650505050505050565b6000815190506125ac81611fff565b92915050565b6000806000606084860312156125cb576125ca611f92565b5b60006125d98682870161259d565b93505060206125ea8682870161259d565b92505060406125fb8682870161259d565b9150509250925092565b600060408201905061261a6000830185612182565b61262760208301846120a1565b9392505050565b6126378161206b565b811461264257600080fd5b50565b6000815190506126548161262e565b92915050565b6000602082840312156126705761266f611f92565b5b600061267e84828501612645565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126bd602083611ee2565b91506126c882612687565b602082019050919050565b600060208201905081810360008301526126ec816126b0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061274f602483611ee2565b915061275a826126f3565b604082019050919050565b6000602082019050818103600083015261277e81612742565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127e1602283611ee2565b91506127ec82612785565b604082019050919050565b60006020820190508181036000830152612810816127d4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612873602583611ee2565b915061287e82612817565b604082019050919050565b600060208201905081810360008301526128a281612866565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612905602383611ee2565b9150612910826128a9565b604082019050919050565b60006020820190508181036000830152612934816128f8565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612997602983611ee2565b91506129a28261293b565b604082019050919050565b600060208201905081810360008301526129c68161298a565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612a03601a83611ee2565b9150612a0e826129cd565b602082019050919050565b60006020820190508181036000830152612a32816129f6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a7382611ff5565b9150612a7e83611ff5565b925082612a8e57612a8d612a39565b5b828204905092915050565b6000612aa482611ff5565b9150612aaf83611ff5565b925082821015612ac257612ac1612219565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612b6081611fb7565b82525050565b6000612b728383612b57565b60208301905092915050565b6000602082019050919050565b6000612b9682612b2b565b612ba08185612b36565b9350612bab83612b47565b8060005b83811015612bdc578151612bc38882612b66565b9750612bce83612b7e565b925050600181019050612baf565b5085935050505092915050565b600060a082019050612bfe60008301886120a1565b612c0b602083018761252d565b8181036040830152612c1d8186612b8b565b9050612c2c6060830185612182565b612c3960808301846120a1565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c9f602a83611ee2565b9150612caa82612c43565b604082019050919050565b60006020820190508181036000830152612cce81612c92565b9050919050565b6000612ce082611ff5565b9150612ceb83611ff5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d2057612d1f612219565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d61601b83611ee2565b9150612d6c82612d2b565b602082019050919050565b60006020820190508181036000830152612d9081612d54565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612df3602183611ee2565b9150612dfe82612d97565b604082019050919050565b60006020820190508181036000830152612e2281612de6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122098b084706cdbf103e4ddcdee72fbf1d24e26f0fb1f90c9ec96d5537ce49f5d3f64736f6c634300080a0033

Deployed Bytecode Sourcemap

3436:8100:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4797:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5559:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5038:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5710:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8236:489;;;;;;;;;;;;;:::i;:::-;;4959:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8064:79;;;;;;;;;;;;;:::i;:::-;;9694:145;;;;;;;;;;;;;:::i;:::-;;5129:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3292:133;;;;;;;;;;;;;:::i;:::-;;3108:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4876:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7934:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5263:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5420:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9844:144;;;;;;;;;;;;;:::i;:::-;;4797:74;4834:13;4050:10;;;;;;;;;;;;;;;;;4854:12;;4797:74;:::o;5559:146::-;5634:4;5645:39;5654:12;:10;:12::i;:::-;5668:7;5677:6;5645:8;:39::i;:::-;5696:4;5689:11;;5559:146;;;;:::o;5038:86::-;5091:7;272:1;3790:2;:12;;;;:::i;:::-;152:13;3775:27;;;;:::i;:::-;5105:14;;5038:86;:::o;5710:292::-;5808:4;5819:36;5829:6;5837:9;5848:6;5819:9;:36::i;:::-;5860:121;5869:6;5877:12;:10;:12::i;:::-;5891:89;5929:6;5891:89;;;;;;;;;;;;;;;;;:11;:19;5903:6;5891:19;;;;;;;;;;;;;;;:33;5911:12;:10;:12::i;:::-;5891:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5860:8;:121::i;:::-;5993:4;5986:11;;5710:292;;;;;:::o;8236:489::-;7904:12;:10;:12::i;:::-;7890:26;;:10;;;;;;;;;;;:26;;;7882:36;;;;;;8300:9:::1;;;;;;;;;;;8299:10;8291:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8341:51;8358:4;8373:8;;;;;;;;;;;272:1;3790:2;:12;;;;:::i;:::-;152:13;3775:27;;;;:::i;:::-;8341:8;:51::i;:::-;8425:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8407:48;;;8464:4;8471:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8407:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8399:5;;:88;;;;;;;;;;;;;;;;;;8492:8;;;;;;;;;;;:24;;;8524:21;8555:4;8561:24;8579:4;8561:9;:24::i;:::-;8586:1;8588::::0;8590:7:::1;:5;:7::i;:::-;8598:15;8492:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8634:4;8619:12;;:19;;;;;;;;;;;;;;;;;;8655:4;8643:9;;:16;;;;;;;;;;;;;;;;;;8671:5;;;;;;;;;;;8664:21;;;8694:8;;;;;;;;;;;8705:14;8664:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8236:489::o:0;4959:74::-;5000:5;272:1;5012:16;;4959:74;:::o;8064:79::-;7904:12;:10;:12::i;:::-;7890:26;;:10;;;;;;;;;;;:26;;;7882:36;;;;;;272:1:::1;3790:2;:12;;;;:::i;:::-;152:13;3775:27;;;;:::i;:::-;8118:12;:20;;;;8064:79::o:0;9694:145::-;7904:12;:10;:12::i;:::-;7890:26;;:10;;;;;;;;;;;:26;;;7882:36;;;;;;9746:23:::1;9772:24;9790:4;9772:9;:24::i;:::-;9746:50;;9801:33;9818:15;9801:16;:33::i;:::-;9741:98;9694:145::o:0;5129:129::-;5195:7;5216:37;5236:7;:16;5244:7;5236:16;;;;;;;;;;;;;;;;5216:19;:37::i;:::-;5209:44;;5129:129;;;:::o;3292:133::-;3227:12;:10;:12::i;:::-;3217:22;;:6;;;;;;;;;;:22;;;3209:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3393:1:::1;3356:40;;3377:6;::::0;::::1;;;;;;;;3356:40;;;;;;;;;;;;3418:1;3401:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3292:133::o:0;3108:70::-;3146:7;3167:6;;;;;;;;;;;3160:13;;3108:70;:::o;4876:78::-;4915:13;4098:12;;;;;;;;;;;;;;;;;4935:14;;4876:78;:::o;7934:125::-;7904:12;:10;:12::i;:::-;7890:26;;:10;;;;;;;;;;;:26;;;7882:36;;;;;;117:2:::1;8008:10;:22;8000:31;;;::::0;::::1;;8044:10;8036:7;:18;;;;7934:125:::0;:::o;5263:152::-;5341:4;5352:42;5362:12;:10;:12::i;:::-;5376:9;5387:6;5352:9;:42::i;:::-;5406:4;5399:11;;5263:152;;;;:::o;5420:134::-;5501:7;5522:11;:18;5534:5;5522:18;;;;;;;;;;;;;;;:27;5541:7;5522:27;;;;;;;;;;;;;;;;5515:34;;5420:134;;;;:::o;9844:144::-;7904:12;:10;:12::i;:::-;7890:26;;:10;;;;;;;;;;;:26;;;7882:36;;;;;;9896:26:::1;9925:21;9896:50;;9951:32;9964:18;9951:12;:32::i;:::-;9891:97;9844:144::o:0;2484:123::-;2542:7;2563:39;2567:1;2570;2563:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2556:46;;2484:123;;;;:::o;1036:89::-;1089:7;1110:10;1103:17;;1036:89;:::o;6247:308::-;6351:1;6334:19;;:5;:19;;;;6326:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6426:1;6407:21;;:7;:21;;;;6399:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6502:6;6472:11;:18;6484:5;6472:18;;;;;;;;;;;;;;;:27;6491:7;6472:27;;;;;;;;;;;;;;;:36;;;;6534:7;6518:32;;6527:5;6518:32;;;6543:6;6518:32;;;;;;:::i;:::-;;;;;;;;6247:308;;;:::o;6560:903::-;6658:1;6642:18;;:4;:18;;;;6634:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6729:1;6715:16;;:2;:16;;;;6707:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6793:1;6784:6;:10;6776:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6859:7;:5;:7::i;:::-;6851:15;;:4;:15;;;;:32;;;;;6876:7;:5;:7::i;:::-;6870:13;;:2;:13;;;;6851:32;6847:575;;;6903:5;;;;;;;;;;;6895:13;;:4;:13;;;:40;;;;;6926:8;;;;;;;;;;;6912:23;;:2;:23;;;;6895:40;:68;;;;;6941:18;:22;6960:2;6941:22;;;;;;;;;;;;;;;;;;;;;;;;;6939:24;6895:68;6891:146;;;6988:12;;6981:6;:19;6973:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;6891:146;7044:28;7075:24;7093:4;7075:9;:24::i;:::-;7044:55;;7110:7;;;;;;;;;;;7109:8;:25;;;;;7129:5;;;;;;;;;;;7121:13;;:4;:13;;;;7109:25;:41;;;;;7138:12;;;;;;;;;;;7109:41;7105:312;;;7159:38;7176:20;7159:16;:38::i;:::-;7204:26;7233:21;7204:50;;307:19;7264:18;:35;;:92;;;;7352:3;7346:2;7327:16;7337:5;;;;;;;;;;;7327:9;:16::i;:::-;:21;;;;:::i;:::-;7326:29;;;;:::i;:::-;7303:18;:53;;7264:92;7261:150;;;7368:35;7381:21;7368:12;:35::i;:::-;7261:150;7152:265;7105:312;6885:537;6847:575;7428:30;7443:4;7448:2;7451:6;7428:14;:30::i;:::-;6560:903;;;:::o;2101:169::-;2187:7;2214:1;2209;:6;;2217:12;2201:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2235:9;2251:1;2247;:5;;;;:::i;:::-;2235:17;;2264:1;2257:8;;;2101:169;;;;;:::o;7468:378::-;4360:4;4350:7;;:14;;;;;;;;;;;;;;;;;;7540:21:::1;7578:1;7564:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:40;;7603:4;7585;7590:1;7585:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7623:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7613:4;7618:1;7613:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7643:55;7660:4;7675:8;;;;;;;;;;;7686:11;7643:8;:55::i;:::-;7703:8;;;;;;;;;;;:59;;;7768:11;7785:1;7792:4;7810;7821:15;7703:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7535:311;4385:5:::0;4375:7;;:15;;;;;;;;;;;;;;;;;;7468:378;:::o;6009:233::-;6076:7;6109;;6098;:18;;6090:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6168:19;6191:10;:8;:10::i;:::-;6168:33;;6213:24;6225:11;6213:7;:11;;:24;;;;:::i;:::-;6206:31;;;6009:233;;;:::o;8148:83::-;8199:10;;;;;;;;;;;:19;;:27;8219:6;8199:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8148:83;:::o;2612:168::-;2698:7;2724:1;2720;:5;2727:12;2712:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2745:9;2761:1;2757;:5;;;;:::i;:::-;2745:17;;2774:1;2767:8;;;2612:168;;;;;:::o;8732:137::-;8820:44;8838:6;8846:9;8857:6;8820:17;:44::i;:::-;8732:137;;;:::o;11151:148::-;11192:7;11207:15;11224;11243:19;:17;:19::i;:::-;11206:56;;;;11274:20;11286:7;11274;:11;;:20;;;;:::i;:::-;11267:27;;;;11151:148;:::o;8874:448::-;8967:15;8984:23;9009:12;9023:23;9048:12;9062:13;9079:19;9090:7;9079:10;:19::i;:::-;8966:132;;;;;;;;;;;;9121:28;9141:7;9121;:15;9129:6;9121:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9103:7;:15;9111:6;9103:15;;;;;;;;;;;;;;;:46;;;;9175:39;9198:15;9175:7;:18;9183:9;9175:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;9154:7;:18;9162:9;9154:18;;;;;;;;;;;;;;;:60;;;;9219:16;9229:5;9219:9;:16::i;:::-;9240:23;9252:4;9258;9240:11;:23::i;:::-;9290:9;9273:44;;9282:6;9273:44;;;9301:15;9273:44;;;;;;:::i;:::-;;;;;;;;8961:361;;;;;;8874:448;;;:::o;11304:229::-;11354:7;11363;11377:15;11395:7;;11377:25;;11407:15;272:1;3790:2;:12;;;;:::i;:::-;152:13;3775:27;;;;:::i;:::-;11407:25;;11451:20;272:1;3790:2;:12;;;;:::i;:::-;152:13;3775:27;;;;:::i;:::-;11451:7;;:11;;:20;;;;:::i;:::-;11441:7;:30;11437:61;;;11481:7;;272:1;3790:2;:12;;;;:::i;:::-;152:13;3775:27;;;;:::i;:::-;11473:25;;;;;;;;11437:61;11511:7;11520;11503:25;;;;;;11304:229;;;:::o;9995:441::-;10054:7;10063;10072;10081;10090;10099;10114:23;10139:12;10153:13;10170:39;10182:7;10191:8;;10201:7;;10170:11;:39::i;:::-;10113:96;;;;;;10214:19;10237:10;:8;:10::i;:::-;10214:33;;10253:15;10270:23;10295:12;10311:46;10323:7;10332:4;10338:5;10345:11;10311;:46::i;:::-;10252:105;;;;;;10370:7;10379:15;10396:4;10402:15;10419:4;10425:5;10362:69;;;;;;;;;;;;;;;;;;;9995:441;;;;;;;:::o;1969:127::-;2027:7;2048:43;2052:1;2055;2048:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2041:50;;1969:127;;;;:::o;1806:158::-;1864:7;1878:9;1894:1;1890;:5;;;;:::i;:::-;1878:17;;1913:1;1908;:6;;1900:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1958:1;1951:8;;;1806:158;;;;:::o;9327:191::-;9374:19;9397:10;:8;:10::i;:::-;9374:33;;9412:13;9428:22;9438:11;9428:5;:9;;:22;;;;:::i;:::-;9412:38;;9480:33;9507:5;9480:7;:22;9496:4;9480:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;9455:7;:22;9471:4;9455:22;;;;;;;;;;;;;;;:58;;;;9369:149;;9327:191;:::o;9523:132::-;9595:17;9607:4;9595:7;;:11;;:17;;;;:::i;:::-;9585:7;:27;;;;9630:20;9645:4;9630:10;;:14;;:20;;;;:::i;:::-;9617:10;:33;;;;9523:132;;:::o;10441:324::-;10534:7;10543;10552;10566:12;10581:28;10605:3;10581:19;10593:6;10581:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10566:43;;10614:13;10630:29;10655:3;10630:20;10642:7;10630;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10614:45;;10664:23;10690:28;10712:5;10690:17;10702:4;10690:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10664:54;;10731:15;10748:4;10754:5;10723:37;;;;;;;;;10441:324;;;;;;;:::o;10770:376::-;10880:7;10889;10898;10912:15;10930:24;10942:11;10930:7;:11;;:24;;;;:::i;:::-;10912:42;;10959:12;10974:21;10983:11;10974:4;:8;;:21;;;;:::i;:::-;10959:36;;11000:13;11016:22;11026:11;11016:5;:9;;:22;;;;:::i;:::-;11000:38;;11043:23;11069:28;11091:5;11069:17;11081:4;11069:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11043:54;;11110:7;11119:15;11136:4;11102:39;;;;;;;;;;10770:376;;;;;;;;:::o;2275:204::-;2333:7;2356:1;2351;:6;2347:32;;;2372:1;2365:8;;;;2347:32;2383:9;2399:1;2395;:5;;;;:::i;:::-;2383:17;;2422:1;2417;2413;:5;;;;:::i;:::-;:10;2405:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2473:1;2466:8;;;2275:204;;;;;:::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;1478:117::-;1587:1;1584;1577: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:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:180::-;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:102;6631:8;6678:5;6675:1;6671:13;6650:34;;6589:102;;;:::o;6697:848::-;6758:5;6765:4;6789:6;6780:15;;6813:5;6804:14;;6827:712;6848:1;6838:8;6835:15;6827:712;;;6943:4;6938:3;6934:14;6928:4;6925:24;6922:50;;;6952:18;;:::i;:::-;6922:50;7002:1;6992:8;6988:16;6985:451;;;7417:4;7410:5;7406:16;7397:25;;6985:451;7467:4;7461;7457:15;7449:23;;7497:32;7520:8;7497:32;:::i;:::-;7485:44;;6827:712;;;6697:848;;;;;;;:::o;7551:1073::-;7605:5;7796:8;7786:40;;7817:1;7808:10;;7819:5;;7786:40;7845:4;7835:36;;7862:1;7853:10;;7864:5;;7835:36;7931:4;7979:1;7974:27;;;;8015:1;8010:191;;;;7924:277;;7974:27;7992:1;7983:10;;7994:5;;;8010:191;8055:3;8045:8;8042:17;8039:43;;;8062:18;;:::i;:::-;8039:43;8111:8;8108:1;8104:16;8095:25;;8146:3;8139:5;8136:14;8133:40;;;8153:18;;:::i;:::-;8133:40;8186:5;;;7924:277;;8310:2;8300:8;8297:16;8291:3;8285:4;8282:13;8278:36;8260:2;8250:8;8247:16;8242:2;8236:4;8233:12;8229:35;8213:111;8210:246;;;8366:8;8360:4;8356:19;8347:28;;8401:3;8394:5;8391:14;8388:40;;;8408:18;;:::i;:::-;8388:40;8441:5;;8210:246;8481:42;8519:3;8509:8;8503:4;8500:1;8481:42;:::i;:::-;8466:57;;;;8555:4;8550:3;8546:14;8539:5;8536:25;8533:51;;;8564:18;;:::i;:::-;8533:51;8613:4;8606:5;8602:16;8593:25;;7551:1073;;;;;;:::o;8630:281::-;8688:5;8712:23;8730:4;8712:23;:::i;:::-;8704:31;;8756:25;8772:8;8756:25;:::i;:::-;8744:37;;8800:104;8837:66;8827:8;8821:4;8800:104;:::i;:::-;8791:113;;8630:281;;;;:::o;8917:348::-;8957:7;8980:20;8998:1;8980:20;:::i;:::-;8975:25;;9014:20;9032:1;9014:20;:::i;:::-;9009:25;;9202:1;9134:66;9130:74;9127:1;9124:81;9119:1;9112:9;9105:17;9101:105;9098:131;;;9209:18;;:::i;:::-;9098:131;9257:1;9254;9250:9;9239:20;;8917:348;;;;:::o;9271:173::-;9411:25;9407:1;9399:6;9395:14;9388:49;9271:173;:::o;9450:366::-;9592:3;9613:67;9677:2;9672:3;9613:67;:::i;:::-;9606:74;;9689:93;9778:3;9689:93;:::i;:::-;9807:2;9802:3;9798:12;9791:19;;9450:366;;;:::o;9822:419::-;9988:4;10026:2;10015:9;10011:18;10003:26;;10075:9;10069:4;10065:20;10061:1;10050:9;10046:17;10039:47;10103:131;10229:4;10103:131;:::i;:::-;10095:139;;9822:419;;;:::o;10247:143::-;10304:5;10335:6;10329:13;10320:22;;10351:33;10378:5;10351:33;:::i;:::-;10247:143;;;;:::o;10396:351::-;10466:6;10515:2;10503:9;10494:7;10490:23;10486:32;10483:119;;;10521:79;;:::i;:::-;10483:119;10641:1;10666:64;10722:7;10713:6;10702:9;10698:22;10666:64;:::i;:::-;10656:74;;10612:128;10396:351;;;;:::o;10753:332::-;10874:4;10912:2;10901:9;10897:18;10889:26;;10925:71;10993:1;10982:9;10978:17;10969:6;10925:71;:::i;:::-;11006:72;11074:2;11063:9;11059:18;11050:6;11006:72;:::i;:::-;10753:332;;;;;:::o;11091:85::-;11136:7;11165:5;11154:16;;11091:85;;;:::o;11182:60::-;11210:3;11231:5;11224:12;;11182:60;;;:::o;11248:158::-;11306:9;11339:61;11357:42;11366:32;11392:5;11366:32;:::i;:::-;11357:42;:::i;:::-;11339:61;:::i;:::-;11326:74;;11248:158;;;:::o;11412:147::-;11507:45;11546:5;11507:45;:::i;:::-;11502:3;11495:58;11412:147;;:::o;11565:807::-;11814:4;11852:3;11841:9;11837:19;11829:27;;11866:71;11934:1;11923:9;11919:17;11910:6;11866:71;:::i;:::-;11947:72;12015:2;12004:9;12000:18;11991:6;11947:72;:::i;:::-;12029:80;12105:2;12094:9;12090:18;12081:6;12029:80;:::i;:::-;12119;12195:2;12184:9;12180:18;12171:6;12119:80;:::i;:::-;12209:73;12277:3;12266:9;12262:19;12253:6;12209:73;:::i;:::-;12292;12360:3;12349:9;12345:19;12336:6;12292:73;:::i;:::-;11565:807;;;;;;;;;:::o;12378:143::-;12435:5;12466:6;12460:13;12451:22;;12482:33;12509:5;12482:33;:::i;:::-;12378:143;;;;:::o;12527:663::-;12615:6;12623;12631;12680:2;12668:9;12659:7;12655:23;12651:32;12648:119;;;12686:79;;:::i;:::-;12648:119;12806:1;12831:64;12887:7;12878:6;12867:9;12863:22;12831:64;:::i;:::-;12821:74;;12777:128;12944:2;12970:64;13026:7;13017:6;13006:9;13002:22;12970:64;:::i;:::-;12960:74;;12915:129;13083:2;13109:64;13165:7;13156:6;13145:9;13141:22;13109:64;:::i;:::-;13099:74;;13054:129;12527:663;;;;;:::o;13196:332::-;13317:4;13355:2;13344:9;13340:18;13332:26;;13368:71;13436:1;13425:9;13421:17;13412:6;13368:71;:::i;:::-;13449:72;13517:2;13506:9;13502:18;13493:6;13449:72;:::i;:::-;13196:332;;;;;:::o;13534:116::-;13604:21;13619:5;13604:21;:::i;:::-;13597:5;13594:32;13584:60;;13640:1;13637;13630:12;13584:60;13534:116;:::o;13656:137::-;13710:5;13741:6;13735:13;13726:22;;13757:30;13781:5;13757:30;:::i;:::-;13656:137;;;;:::o;13799:345::-;13866:6;13915:2;13903:9;13894:7;13890:23;13886:32;13883:119;;;13921:79;;:::i;:::-;13883:119;14041:1;14066:61;14119:7;14110:6;14099:9;14095:22;14066:61;:::i;:::-;14056:71;;14012:125;13799:345;;;;:::o;14150:182::-;14290:34;14286:1;14278:6;14274:14;14267:58;14150:182;:::o;14338:366::-;14480:3;14501:67;14565:2;14560:3;14501:67;:::i;:::-;14494:74;;14577:93;14666:3;14577:93;:::i;:::-;14695:2;14690:3;14686:12;14679:19;;14338:366;;;:::o;14710:419::-;14876:4;14914:2;14903:9;14899:18;14891:26;;14963:9;14957:4;14953:20;14949:1;14938:9;14934:17;14927:47;14991:131;15117:4;14991:131;:::i;:::-;14983:139;;14710:419;;;:::o;15135:223::-;15275:34;15271:1;15263:6;15259:14;15252:58;15344:6;15339:2;15331:6;15327:15;15320:31;15135:223;:::o;15364:366::-;15506:3;15527:67;15591:2;15586:3;15527:67;:::i;:::-;15520:74;;15603:93;15692:3;15603:93;:::i;:::-;15721:2;15716:3;15712:12;15705:19;;15364:366;;;:::o;15736:419::-;15902:4;15940:2;15929:9;15925:18;15917:26;;15989:9;15983:4;15979:20;15975:1;15964:9;15960:17;15953:47;16017:131;16143:4;16017:131;:::i;:::-;16009:139;;15736:419;;;:::o;16161:221::-;16301:34;16297:1;16289:6;16285:14;16278:58;16370:4;16365:2;16357:6;16353:15;16346:29;16161:221;:::o;16388:366::-;16530:3;16551:67;16615:2;16610:3;16551:67;:::i;:::-;16544:74;;16627:93;16716:3;16627:93;:::i;:::-;16745:2;16740:3;16736:12;16729:19;;16388:366;;;:::o;16760:419::-;16926:4;16964:2;16953:9;16949:18;16941:26;;17013:9;17007:4;17003:20;16999:1;16988:9;16984:17;16977:47;17041:131;17167:4;17041:131;:::i;:::-;17033:139;;16760:419;;;:::o;17185:224::-;17325:34;17321:1;17313:6;17309:14;17302:58;17394:7;17389:2;17381:6;17377:15;17370:32;17185:224;:::o;17415:366::-;17557:3;17578:67;17642:2;17637:3;17578:67;:::i;:::-;17571:74;;17654:93;17743:3;17654:93;:::i;:::-;17772:2;17767:3;17763:12;17756:19;;17415:366;;;:::o;17787:419::-;17953:4;17991:2;17980:9;17976:18;17968:26;;18040:9;18034:4;18030:20;18026:1;18015:9;18011:17;18004:47;18068:131;18194:4;18068:131;:::i;:::-;18060:139;;17787:419;;;:::o;18212:222::-;18352:34;18348:1;18340:6;18336:14;18329:58;18421:5;18416:2;18408:6;18404:15;18397:30;18212:222;:::o;18440:366::-;18582:3;18603:67;18667:2;18662:3;18603:67;:::i;:::-;18596:74;;18679:93;18768:3;18679:93;:::i;:::-;18797:2;18792:3;18788:12;18781:19;;18440:366;;;:::o;18812:419::-;18978:4;19016:2;19005:9;19001:18;18993:26;;19065:9;19059:4;19055:20;19051:1;19040:9;19036:17;19029:47;19093:131;19219:4;19093:131;:::i;:::-;19085:139;;18812:419;;;:::o;19237:228::-;19377:34;19373:1;19365:6;19361:14;19354:58;19446:11;19441:2;19433:6;19429:15;19422:36;19237:228;:::o;19471:366::-;19613:3;19634:67;19698:2;19693:3;19634:67;:::i;:::-;19627:74;;19710:93;19799:3;19710:93;:::i;:::-;19828:2;19823:3;19819:12;19812:19;;19471:366;;;:::o;19843:419::-;20009:4;20047:2;20036:9;20032:18;20024:26;;20096:9;20090:4;20086:20;20082:1;20071:9;20067:17;20060:47;20124:131;20250:4;20124:131;:::i;:::-;20116:139;;19843:419;;;:::o;20268:176::-;20408:28;20404:1;20396:6;20392:14;20385:52;20268:176;:::o;20450:366::-;20592:3;20613:67;20677:2;20672:3;20613:67;:::i;:::-;20606:74;;20689:93;20778:3;20689:93;:::i;:::-;20807:2;20802:3;20798:12;20791:19;;20450:366;;;:::o;20822:419::-;20988:4;21026:2;21015:9;21011:18;21003:26;;21075:9;21069:4;21065:20;21061:1;21050:9;21046:17;21039:47;21103:131;21229:4;21103:131;:::i;:::-;21095:139;;20822:419;;;:::o;21247:180::-;21295:77;21292:1;21285:88;21392:4;21389:1;21382:15;21416:4;21413:1;21406:15;21433:185;21473:1;21490:20;21508:1;21490:20;:::i;:::-;21485:25;;21524:20;21542:1;21524:20;:::i;:::-;21519:25;;21563:1;21553:35;;21568:18;;:::i;:::-;21553:35;21610:1;21607;21603:9;21598:14;;21433:185;;;;:::o;21624:191::-;21664:4;21684:20;21702:1;21684:20;:::i;:::-;21679:25;;21718:20;21736:1;21718:20;:::i;:::-;21713:25;;21757:1;21754;21751:8;21748:34;;;21762:18;;:::i;:::-;21748:34;21807:1;21804;21800:9;21792:17;;21624:191;;;;:::o;21821:180::-;21869:77;21866:1;21859:88;21966:4;21963:1;21956:15;21990:4;21987:1;21980:15;22007:180;22055:77;22052:1;22045:88;22152:4;22149:1;22142:15;22176:4;22173:1;22166:15;22193:114;22260:6;22294:5;22288:12;22278:22;;22193:114;;;:::o;22313:184::-;22412:11;22446:6;22441:3;22434:19;22486:4;22481:3;22477:14;22462:29;;22313:184;;;;:::o;22503:132::-;22570:4;22593:3;22585:11;;22623:4;22618:3;22614:14;22606:22;;22503:132;;;:::o;22641:108::-;22718:24;22736:5;22718:24;:::i;:::-;22713:3;22706:37;22641:108;;:::o;22755:179::-;22824:10;22845:46;22887:3;22879:6;22845:46;:::i;:::-;22923:4;22918:3;22914:14;22900:28;;22755:179;;;;:::o;22940:113::-;23010:4;23042;23037:3;23033:14;23025:22;;22940:113;;;:::o;23089:732::-;23208:3;23237:54;23285:5;23237:54;:::i;:::-;23307:86;23386:6;23381:3;23307:86;:::i;:::-;23300:93;;23417:56;23467:5;23417:56;:::i;:::-;23496:7;23527:1;23512:284;23537:6;23534:1;23531:13;23512:284;;;23613:6;23607:13;23640:63;23699:3;23684:13;23640:63;:::i;:::-;23633:70;;23726:60;23779:6;23726:60;:::i;:::-;23716:70;;23572:224;23559:1;23556;23552:9;23547:14;;23512:284;;;23516:14;23812:3;23805:10;;23213:608;;;23089:732;;;;:::o;23827:831::-;24090:4;24128:3;24117:9;24113:19;24105:27;;24142:71;24210:1;24199:9;24195:17;24186:6;24142:71;:::i;:::-;24223:80;24299:2;24288:9;24284:18;24275:6;24223:80;:::i;:::-;24350:9;24344:4;24340:20;24335:2;24324:9;24320:18;24313:48;24378:108;24481:4;24472:6;24378:108;:::i;:::-;24370:116;;24496:72;24564:2;24553:9;24549:18;24540:6;24496:72;:::i;:::-;24578:73;24646:3;24635:9;24631:19;24622:6;24578:73;:::i;:::-;23827:831;;;;;;;;:::o;24664:229::-;24804:34;24800:1;24792:6;24788:14;24781:58;24873:12;24868:2;24860:6;24856:15;24849:37;24664:229;:::o;24899:366::-;25041:3;25062:67;25126:2;25121:3;25062:67;:::i;:::-;25055:74;;25138:93;25227:3;25138:93;:::i;:::-;25256:2;25251:3;25247:12;25240:19;;24899:366;;;:::o;25271:419::-;25437:4;25475:2;25464:9;25460:18;25452:26;;25524:9;25518:4;25514:20;25510:1;25499:9;25495:17;25488:47;25552:131;25678:4;25552:131;:::i;:::-;25544:139;;25271:419;;;:::o;25696:305::-;25736:3;25755:20;25773:1;25755:20;:::i;:::-;25750:25;;25789:20;25807:1;25789:20;:::i;:::-;25784:25;;25943:1;25875:66;25871:74;25868:1;25865:81;25862:107;;;25949:18;;:::i;:::-;25862:107;25993:1;25990;25986:9;25979:16;;25696:305;;;;:::o;26007:177::-;26147:29;26143:1;26135:6;26131:14;26124:53;26007:177;:::o;26190:366::-;26332:3;26353:67;26417:2;26412:3;26353:67;:::i;:::-;26346:74;;26429:93;26518:3;26429:93;:::i;:::-;26547:2;26542:3;26538:12;26531:19;;26190:366;;;:::o;26562:419::-;26728:4;26766:2;26755:9;26751:18;26743:26;;26815:9;26809:4;26805:20;26801:1;26790:9;26786:17;26779:47;26843:131;26969:4;26843:131;:::i;:::-;26835:139;;26562:419;;;:::o;26987:220::-;27127:34;27123:1;27115:6;27111:14;27104:58;27196:3;27191:2;27183:6;27179:15;27172:28;26987:220;:::o;27213:366::-;27355:3;27376:67;27440:2;27435:3;27376:67;:::i;:::-;27369:74;;27452:93;27541:3;27452:93;:::i;:::-;27570:2;27565:3;27561:12;27554:19;;27213:366;;;:::o;27585:419::-;27751:4;27789:2;27778:9;27774:18;27766:26;;27838:9;27832:4;27828:20;27824:1;27813:9;27809:17;27802:47;27866:131;27992:4;27866:131;:::i;:::-;27858:139;;27585:419;;;:::o

Swarm Source

ipfs://98b084706cdbf103e4ddcdee72fbf1d24e26f0fb1f90c9ec96d5537ce49f5d3f
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.