ETH Price: $3,276.48 (-1.91%)

Token

Aotori (AOTORI)
 

Overview

Max Total Supply

32,000,000 AOTORI

Holders

112

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
225,600 AOTORI

Value
$0.00
0x136f4b5b6a306091b280e3f251fa0e21b1280cd5
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:
Aotori

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-13
*/

//SPDX-License-Identifier: MIT
/**
https://t.me/aotori
**/

pragma solidity ^0.8.12;



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

	uint256 private _tTotal = 32000000 * 10**8;


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

	string private constant _name = "Aotori";
	string private constant _symbol = "AOTORI";
	uint8 private constant _decimals = 8;

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

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

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

		_balance[address(this)] = _tTotal;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		_maxTxAmount=_tTotal.div(400);
		_maxWallet=_tTotal.div(100);
		emit Transfer(address(0x0), _msgSender(), _tTotal);
	}

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

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

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

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

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

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

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

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

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

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

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

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

      if(to != _pair && ! _isExcludedFromFee[to] && ! _isExcludedFromFee[from]) {
          require(balanceOf(to) + amount <= _maxWallet, "Balance exceeded wallet size");
      }

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

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



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


	function decreaseTax(uint256 newTaxRate) public onlyOwner{
		require(newTaxRate<_taxFee);
		_taxFee=newTaxRate;
	}

	function increaseBuyLimit(uint256 amount) public onlyOwner{
		require(amount>_maxTxAmount);
		_maxTxAmount=amount;
	}

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



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

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

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

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

	function increaseMaxWallet(uint256 amount) public onlyOwner{
		require(amount>_maxWallet);
		_maxWallet=amount;
	}

	receive() external payable {}

	function blockBots(address[] memory bots_) public  {for (uint256 i = 0; i < bots_.length; i++) {bots[bots_[i]] = true;}}
	function unblockBot(address notbot) public  {
			bots[notbot] = false;
	}
	function manualSend() public{
		uint256 contractETHBalance = address(this).balance;
		sendETHToFee(contractETHBalance);
	}


}

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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxRate","type":"uint256"}],"name":"decreaseTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"increaseMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","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":"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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052660b5e620f4800006006556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055503480156200005257600080fd5b506000620000656200038e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001136200038e60201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006600781905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002e66101906006546200039660201b6200118a1790919060201c565b6009819055506200030960646006546200039660201b6200118a1790919060201c565b600a819055506200031f6200038e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200038091906200046b565b60405180910390a3620005b7565b600033905090565b6000620003e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003e860201b60201c565b905092915050565b6000808311829062000432576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200042991906200052c565b60405180910390fd5b50600083856200044391906200057f565b9050809150509392505050565b6000819050919050565b620004658162000450565b82525050565b60006020820190506200048260008301846200045a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004c4578082015181840152602081019050620004a7565b83811115620004d4576000848401525b50505050565b6000601f19601f8301169050919050565b6000620004f88262000488565b62000504818562000493565b935062000516818560208601620004a4565b6200052181620004da565b840191505092915050565b60006020820190508181036000830152620005488184620004eb565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200058c8262000450565b9150620005998362000450565b925082620005ac57620005ab62000550565b5b828204905092915050565b6131be80620005c76000396000f3fe6080604052600436106101385760003560e01c8063715018a6116100ab5780639a024c1a1161006f5780639a024c1a146103fa578063a9059cbb14610423578063bfd7928414610460578063dd62ed3e1461049d578063e8078d94146104da578063f4293890146104f15761013f565b8063715018a6146103375780637d1db4a51461034e57806382247ec0146103795780638da5cb5b146103a457806395d89b41146103cf5761013f565b8063313ce567116100fd578063313ce5671461023d5780633e7175c5146102685780634a1316721461029157806350e6a5c9146102a85780636b999053146102d157806370a08231146102fa5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b31461019857806318160ddd146101d557806323b872dd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b60048036038101906101669190612357565b610508565b005b34801561017957600080fd5b5061018261059d565b60405161018f9190612428565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba9190612480565b6105da565b6040516101cc91906124db565b60405180910390f35b3480156101e157600080fd5b506101ea6105f8565b6040516101f79190612505565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612520565b610602565b60405161023491906124db565b60405180910390f35b34801561024957600080fd5b506102526106db565b60405161025f919061258f565b60405180910390f35b34801561027457600080fd5b5061028f600480360381019061028a91906125aa565b6106e4565b005b34801561029d57600080fd5b506102a6610791565b005b3480156102b457600080fd5b506102cf60048036038101906102ca91906125aa565b610b68565b005b3480156102dd57600080fd5b506102f860048036038101906102f391906125d7565b610c15565b005b34801561030657600080fd5b50610321600480360381019061031c91906125d7565b610c70565b60405161032e9190612505565b60405180910390f35b34801561034357600080fd5b5061034c610cb9565b005b34801561035a57600080fd5b50610363610e0c565b6040516103709190612505565b60405180910390f35b34801561038557600080fd5b5061038e610e12565b60405161039b9190612505565b60405180910390f35b3480156103b057600080fd5b506103b9610e18565b6040516103c69190612613565b60405180910390f35b3480156103db57600080fd5b506103e4610e41565b6040516103f19190612428565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c91906125aa565b610e7e565b005b34801561042f57600080fd5b5061044a60048036038101906104459190612480565b610f2b565b60405161045791906124db565b60405180910390f35b34801561046c57600080fd5b50610487600480360381019061048291906125d7565b610f49565b60405161049491906124db565b60405180910390f35b3480156104a957600080fd5b506104c460048036038101906104bf919061262e565b610f69565b6040516104d19190612505565b60405180910390f35b3480156104e657600080fd5b506104ef610ff0565b005b3480156104fd57600080fd5b50610506611179565b005b60005b81518110156105995760016005600084848151811061052d5761052c61266e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610591906126cc565b91505061050b565b5050565b60606040518060400160405280600681526020017f416f746f72690000000000000000000000000000000000000000000000000000815250905090565b60006105ee6105e76111d4565b84846111dc565b6001905092915050565b6000600654905090565b600061060f8484846113a7565b6106d08461061b6111d4565b6106cb8560405180606001604052806028815260200161316160289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106816111d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a509092919063ffffffff16565b6111dc565b600190509392505050565b60006008905090565b6106ec6111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077090612761565b60405180910390fd5b600a54811161078757600080fd5b80600a8190555050565b6107996111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d90612761565b60405180910390fd5b600c60149054906101000a900460ff1615610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d906127cd565b60405180910390fd5b6108a530600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109369190612802565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e39190612802565b6040518363ffffffff1660e01b8152600401610a0092919061282f565b6020604051808303816000875af1158015610a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a439190612802565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b22929190612858565b6020604051808303816000875af1158015610b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6591906128ad565b50565b610b706111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490612761565b60405180910390fd5b6009548111610c0b57600080fd5b8060098190555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cc16111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4590612761565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f414f544f52490000000000000000000000000000000000000000000000000000815250905090565b610e866111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a90612761565b60405180910390fd5b6007548110610f2157600080fd5b8060078190555050565b6000610f3f610f386111d4565b84846113a7565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ff86111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c90612761565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110ce30610c70565b6000806110d9610e18565b426040518863ffffffff1660e01b81526004016110fb9695949392919061291f565b60606040518083038185885af1158015611119573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061113e9190612995565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b600047905061118781611ab4565b50565b60006111cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b20565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390612a5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b390612aec565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139a9190612505565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90612b7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90612c10565b60405180910390fd5b600081116114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612ca2565b60405180910390fd5b6114d2610e18565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115405750611510610e18565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561199057600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f05750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116465750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561169157600954811115611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790612d0e565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117355750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176b90612d7a565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561181c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118725750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118d057600a548161188484610c70565b61188e9190612d9a565b11156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c690612e3c565b60405180910390fd5b5b60006118db30610c70565b9050600c60159054906101000a900460ff161580156119485750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600c60169054906101000a900460ff165b1561198e5761196e81611b83565b600047905067016345785d8a0000811061198c5761198b47611ab4565b5b505b505b611a4b838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a375750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a4357600754611a46565b60005b611dfc565b505050565b6000838311158290611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f9190612428565b60405180910390fd5b5060008385611aa79190612e5c565b9050809150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1c573d6000803e3d6000fd5b5050565b60008083118290611b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5e9190612428565b60405180910390fd5b5060008385611b769190612ebf565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611bbb57611bba6121b6565b5b604051908082528060200260200182016040528015611be95781602001602082028036833780820191505090505b5090503081600081518110611c0157611c0061266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612802565b81600181518110611ce057611cdf61266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d4730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dab959493929190612fae565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000611e246064611e16848661206990919063ffffffff16565b61118a90919063ffffffff16565b90506000611e3b82856120e490919063ffffffff16565b9050611e8f84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2481600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fb982600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120599190612505565b60405180910390a3505050505050565b60008083141561207c57600090506120de565b6000828461208a9190613008565b90508284826120999190612ebf565b146120d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d0906130d4565b60405180910390fd5b809150505b92915050565b600061212683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a50565b905092915050565b600080828461213d9190612d9a565b905083811015612182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217990613140565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121ee826121a5565b810181811067ffffffffffffffff8211171561220d5761220c6121b6565b5b80604052505050565b600061222061218c565b905061222c82826121e5565b919050565b600067ffffffffffffffff82111561224c5761224b6121b6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061228d82612262565b9050919050565b61229d81612282565b81146122a857600080fd5b50565b6000813590506122ba81612294565b92915050565b60006122d36122ce84612231565b612216565b905080838252602082019050602084028301858111156122f6576122f561225d565b5b835b8181101561231f578061230b88826122ab565b8452602084019350506020810190506122f8565b5050509392505050565b600082601f83011261233e5761233d6121a0565b5b813561234e8482602086016122c0565b91505092915050565b60006020828403121561236d5761236c612196565b5b600082013567ffffffffffffffff81111561238b5761238a61219b565b5b61239784828501612329565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123da5780820151818401526020810190506123bf565b838111156123e9576000848401525b50505050565b60006123fa826123a0565b61240481856123ab565b93506124148185602086016123bc565b61241d816121a5565b840191505092915050565b6000602082019050818103600083015261244281846123ef565b905092915050565b6000819050919050565b61245d8161244a565b811461246857600080fd5b50565b60008135905061247a81612454565b92915050565b6000806040838503121561249757612496612196565b5b60006124a5858286016122ab565b92505060206124b68582860161246b565b9150509250929050565b60008115159050919050565b6124d5816124c0565b82525050565b60006020820190506124f060008301846124cc565b92915050565b6124ff8161244a565b82525050565b600060208201905061251a60008301846124f6565b92915050565b60008060006060848603121561253957612538612196565b5b6000612547868287016122ab565b9350506020612558868287016122ab565b92505060406125698682870161246b565b9150509250925092565b600060ff82169050919050565b61258981612573565b82525050565b60006020820190506125a46000830184612580565b92915050565b6000602082840312156125c0576125bf612196565b5b60006125ce8482850161246b565b91505092915050565b6000602082840312156125ed576125ec612196565b5b60006125fb848285016122ab565b91505092915050565b61260d81612282565b82525050565b60006020820190506126286000830184612604565b92915050565b6000806040838503121561264557612644612196565b5b6000612653858286016122ab565b9250506020612664858286016122ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126d78261244a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561270a5761270961269d565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061274b6020836123ab565b915061275682612715565b602082019050919050565b6000602082019050818103600083015261277a8161273e565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127b76017836123ab565b91506127c282612781565b602082019050919050565b600060208201905081810360008301526127e6816127aa565b9050919050565b6000815190506127fc81612294565b92915050565b60006020828403121561281857612817612196565b5b6000612826848285016127ed565b91505092915050565b60006040820190506128446000830185612604565b6128516020830184612604565b9392505050565b600060408201905061286d6000830185612604565b61287a60208301846124f6565b9392505050565b61288a816124c0565b811461289557600080fd5b50565b6000815190506128a781612881565b92915050565b6000602082840312156128c3576128c2612196565b5b60006128d184828501612898565b91505092915050565b6000819050919050565b6000819050919050565b60006129096129046128ff846128da565b6128e4565b61244a565b9050919050565b612919816128ee565b82525050565b600060c0820190506129346000830189612604565b61294160208301886124f6565b61294e6040830187612910565b61295b6060830186612910565b6129686080830185612604565b61297560a08301846124f6565b979650505050505050565b60008151905061298f81612454565b92915050565b6000806000606084860312156129ae576129ad612196565b5b60006129bc86828701612980565b93505060206129cd86828701612980565b92505060406129de86828701612980565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a446024836123ab565b9150612a4f826129e8565b604082019050919050565b60006020820190508181036000830152612a7381612a37565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ad66022836123ab565b9150612ae182612a7a565b604082019050919050565b60006020820190508181036000830152612b0581612ac9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b686025836123ab565b9150612b7382612b0c565b604082019050919050565b60006020820190508181036000830152612b9781612b5b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bfa6023836123ab565b9150612c0582612b9e565b604082019050919050565b60006020820190508181036000830152612c2981612bed565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c8c6029836123ab565b9150612c9782612c30565b604082019050919050565b60006020820190508181036000830152612cbb81612c7f565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612cf8601a836123ab565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b7f54686973206163636f756e7420697320626c61636b6c69737465640000000000600082015250565b6000612d64601b836123ab565b9150612d6f82612d2e565b602082019050919050565b60006020820190508181036000830152612d9381612d57565b9050919050565b6000612da58261244a565b9150612db08361244a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612de557612de461269d565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612e26601c836123ab565b9150612e3182612df0565b602082019050919050565b60006020820190508181036000830152612e5581612e19565b9050919050565b6000612e678261244a565b9150612e728361244a565b925082821015612e8557612e8461269d565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612eca8261244a565b9150612ed58361244a565b925082612ee557612ee4612e90565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f2581612282565b82525050565b6000612f378383612f1c565b60208301905092915050565b6000602082019050919050565b6000612f5b82612ef0565b612f658185612efb565b9350612f7083612f0c565b8060005b83811015612fa1578151612f888882612f2b565b9750612f9383612f43565b925050600181019050612f74565b5085935050505092915050565b600060a082019050612fc360008301886124f6565b612fd06020830187612910565b8181036040830152612fe28186612f50565b9050612ff16060830185612604565b612ffe60808301846124f6565b9695505050505050565b60006130138261244a565b915061301e8361244a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130575761305661269d565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130be6021836123ab565b91506130c982613062565b604082019050919050565b600060208201905081810360008301526130ed816130b1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061312a601b836123ab565b9150613135826130f4565b602082019050919050565b600060208201905081810360008301526131598161311d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ac4cf55e34735f9bc155e10089a6aad2a5d6d73e2967884b9b0809ce1e7656ba64736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101385760003560e01c8063715018a6116100ab5780639a024c1a1161006f5780639a024c1a146103fa578063a9059cbb14610423578063bfd7928414610460578063dd62ed3e1461049d578063e8078d94146104da578063f4293890146104f15761013f565b8063715018a6146103375780637d1db4a51461034e57806382247ec0146103795780638da5cb5b146103a457806395d89b41146103cf5761013f565b8063313ce567116100fd578063313ce5671461023d5780633e7175c5146102685780634a1316721461029157806350e6a5c9146102a85780636b999053146102d157806370a08231146102fa5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b31461019857806318160ddd146101d557806323b872dd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b60048036038101906101669190612357565b610508565b005b34801561017957600080fd5b5061018261059d565b60405161018f9190612428565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba9190612480565b6105da565b6040516101cc91906124db565b60405180910390f35b3480156101e157600080fd5b506101ea6105f8565b6040516101f79190612505565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612520565b610602565b60405161023491906124db565b60405180910390f35b34801561024957600080fd5b506102526106db565b60405161025f919061258f565b60405180910390f35b34801561027457600080fd5b5061028f600480360381019061028a91906125aa565b6106e4565b005b34801561029d57600080fd5b506102a6610791565b005b3480156102b457600080fd5b506102cf60048036038101906102ca91906125aa565b610b68565b005b3480156102dd57600080fd5b506102f860048036038101906102f391906125d7565b610c15565b005b34801561030657600080fd5b50610321600480360381019061031c91906125d7565b610c70565b60405161032e9190612505565b60405180910390f35b34801561034357600080fd5b5061034c610cb9565b005b34801561035a57600080fd5b50610363610e0c565b6040516103709190612505565b60405180910390f35b34801561038557600080fd5b5061038e610e12565b60405161039b9190612505565b60405180910390f35b3480156103b057600080fd5b506103b9610e18565b6040516103c69190612613565b60405180910390f35b3480156103db57600080fd5b506103e4610e41565b6040516103f19190612428565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c91906125aa565b610e7e565b005b34801561042f57600080fd5b5061044a60048036038101906104459190612480565b610f2b565b60405161045791906124db565b60405180910390f35b34801561046c57600080fd5b50610487600480360381019061048291906125d7565b610f49565b60405161049491906124db565b60405180910390f35b3480156104a957600080fd5b506104c460048036038101906104bf919061262e565b610f69565b6040516104d19190612505565b60405180910390f35b3480156104e657600080fd5b506104ef610ff0565b005b3480156104fd57600080fd5b50610506611179565b005b60005b81518110156105995760016005600084848151811061052d5761052c61266e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610591906126cc565b91505061050b565b5050565b60606040518060400160405280600681526020017f416f746f72690000000000000000000000000000000000000000000000000000815250905090565b60006105ee6105e76111d4565b84846111dc565b6001905092915050565b6000600654905090565b600061060f8484846113a7565b6106d08461061b6111d4565b6106cb8560405180606001604052806028815260200161316160289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106816111d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a509092919063ffffffff16565b6111dc565b600190509392505050565b60006008905090565b6106ec6111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077090612761565b60405180910390fd5b600a54811161078757600080fd5b80600a8190555050565b6107996111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d90612761565b60405180910390fd5b600c60149054906101000a900460ff1615610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d906127cd565b60405180910390fd5b6108a530600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109369190612802565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e39190612802565b6040518363ffffffff1660e01b8152600401610a0092919061282f565b6020604051808303816000875af1158015610a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a439190612802565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610b22929190612858565b6020604051808303816000875af1158015610b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6591906128ad565b50565b610b706111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490612761565b60405180910390fd5b6009548111610c0b57600080fd5b8060098190555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cc16111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4590612761565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b600a5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f414f544f52490000000000000000000000000000000000000000000000000000815250905090565b610e866111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0a90612761565b60405180910390fd5b6007548110610f2157600080fd5b8060078190555050565b6000610f3f610f386111d4565b84846113a7565b6001905092915050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ff86111d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c90612761565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110ce30610c70565b6000806110d9610e18565b426040518863ffffffff1660e01b81526004016110fb9695949392919061291f565b60606040518083038185885af1158015611119573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061113e9190612995565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550565b600047905061118781611ab4565b50565b60006111cc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b20565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390612a5a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b390612aec565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139a9190612505565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140e90612b7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147e90612c10565b60405180910390fd5b600081116114ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c190612ca2565b60405180910390fd5b6114d2610e18565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115405750611510610e18565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561199057600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f05750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116465750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561169157600954811115611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790612d0e565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117355750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176b90612d7a565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561181c5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156118725750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156118d057600a548161188484610c70565b61188e9190612d9a565b11156118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c690612e3c565b60405180910390fd5b5b60006118db30610c70565b9050600c60159054906101000a900460ff161580156119485750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119605750600c60169054906101000a900460ff165b1561198e5761196e81611b83565b600047905067016345785d8a0000811061198c5761198b47611ab4565b5b505b505b611a4b838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a375750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a4357600754611a46565b60005b611dfc565b505050565b6000838311158290611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f9190612428565b60405180910390fd5b5060008385611aa79190612e5c565b9050809150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b1c573d6000803e3d6000fd5b5050565b60008083118290611b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5e9190612428565b60405180910390fd5b5060008385611b769190612ebf565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611bbb57611bba6121b6565b5b604051908082528060200260200182016040528015611be95781602001602082028036833780820191505090505b5090503081600081518110611c0157611c0061266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612802565b81600181518110611ce057611cdf61266e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d4730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dc565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dab959493929190612fae565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000611e246064611e16848661206990919063ffffffff16565b61118a90919063ffffffff16565b90506000611e3b82856120e490919063ffffffff16565b9050611e8f84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120e490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2481600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fb982600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120599190612505565b60405180910390a3505050505050565b60008083141561207c57600090506120de565b6000828461208a9190613008565b90508284826120999190612ebf565b146120d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d0906130d4565b60405180910390fd5b809150505b92915050565b600061212683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611a50565b905092915050565b600080828461213d9190612d9a565b905083811015612182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217990613140565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121ee826121a5565b810181811067ffffffffffffffff8211171561220d5761220c6121b6565b5b80604052505050565b600061222061218c565b905061222c82826121e5565b919050565b600067ffffffffffffffff82111561224c5761224b6121b6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061228d82612262565b9050919050565b61229d81612282565b81146122a857600080fd5b50565b6000813590506122ba81612294565b92915050565b60006122d36122ce84612231565b612216565b905080838252602082019050602084028301858111156122f6576122f561225d565b5b835b8181101561231f578061230b88826122ab565b8452602084019350506020810190506122f8565b5050509392505050565b600082601f83011261233e5761233d6121a0565b5b813561234e8482602086016122c0565b91505092915050565b60006020828403121561236d5761236c612196565b5b600082013567ffffffffffffffff81111561238b5761238a61219b565b5b61239784828501612329565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123da5780820151818401526020810190506123bf565b838111156123e9576000848401525b50505050565b60006123fa826123a0565b61240481856123ab565b93506124148185602086016123bc565b61241d816121a5565b840191505092915050565b6000602082019050818103600083015261244281846123ef565b905092915050565b6000819050919050565b61245d8161244a565b811461246857600080fd5b50565b60008135905061247a81612454565b92915050565b6000806040838503121561249757612496612196565b5b60006124a5858286016122ab565b92505060206124b68582860161246b565b9150509250929050565b60008115159050919050565b6124d5816124c0565b82525050565b60006020820190506124f060008301846124cc565b92915050565b6124ff8161244a565b82525050565b600060208201905061251a60008301846124f6565b92915050565b60008060006060848603121561253957612538612196565b5b6000612547868287016122ab565b9350506020612558868287016122ab565b92505060406125698682870161246b565b9150509250925092565b600060ff82169050919050565b61258981612573565b82525050565b60006020820190506125a46000830184612580565b92915050565b6000602082840312156125c0576125bf612196565b5b60006125ce8482850161246b565b91505092915050565b6000602082840312156125ed576125ec612196565b5b60006125fb848285016122ab565b91505092915050565b61260d81612282565b82525050565b60006020820190506126286000830184612604565b92915050565b6000806040838503121561264557612644612196565b5b6000612653858286016122ab565b9250506020612664858286016122ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126d78261244a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561270a5761270961269d565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061274b6020836123ab565b915061275682612715565b602082019050919050565b6000602082019050818103600083015261277a8161273e565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127b76017836123ab565b91506127c282612781565b602082019050919050565b600060208201905081810360008301526127e6816127aa565b9050919050565b6000815190506127fc81612294565b92915050565b60006020828403121561281857612817612196565b5b6000612826848285016127ed565b91505092915050565b60006040820190506128446000830185612604565b6128516020830184612604565b9392505050565b600060408201905061286d6000830185612604565b61287a60208301846124f6565b9392505050565b61288a816124c0565b811461289557600080fd5b50565b6000815190506128a781612881565b92915050565b6000602082840312156128c3576128c2612196565b5b60006128d184828501612898565b91505092915050565b6000819050919050565b6000819050919050565b60006129096129046128ff846128da565b6128e4565b61244a565b9050919050565b612919816128ee565b82525050565b600060c0820190506129346000830189612604565b61294160208301886124f6565b61294e6040830187612910565b61295b6060830186612910565b6129686080830185612604565b61297560a08301846124f6565b979650505050505050565b60008151905061298f81612454565b92915050565b6000806000606084860312156129ae576129ad612196565b5b60006129bc86828701612980565b93505060206129cd86828701612980565b92505060406129de86828701612980565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a446024836123ab565b9150612a4f826129e8565b604082019050919050565b60006020820190508181036000830152612a7381612a37565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ad66022836123ab565b9150612ae182612a7a565b604082019050919050565b60006020820190508181036000830152612b0581612ac9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b686025836123ab565b9150612b7382612b0c565b604082019050919050565b60006020820190508181036000830152612b9781612b5b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bfa6023836123ab565b9150612c0582612b9e565b604082019050919050565b60006020820190508181036000830152612c2981612bed565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c8c6029836123ab565b9150612c9782612c30565b604082019050919050565b60006020820190508181036000830152612cbb81612c7f565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612cf8601a836123ab565b9150612d0382612cc2565b602082019050919050565b60006020820190508181036000830152612d2781612ceb565b9050919050565b7f54686973206163636f756e7420697320626c61636b6c69737465640000000000600082015250565b6000612d64601b836123ab565b9150612d6f82612d2e565b602082019050919050565b60006020820190508181036000830152612d9381612d57565b9050919050565b6000612da58261244a565b9150612db08361244a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612de557612de461269d565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612e26601c836123ab565b9150612e3182612df0565b602082019050919050565b60006020820190508181036000830152612e5581612e19565b9050919050565b6000612e678261244a565b9150612e728361244a565b925082821015612e8557612e8461269d565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612eca8261244a565b9150612ed58361244a565b925082612ee557612ee4612e90565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f2581612282565b82525050565b6000612f378383612f1c565b60208301905092915050565b6000602082019050919050565b6000612f5b82612ef0565b612f658185612efb565b9350612f7083612f0c565b8060005b83811015612fa1578151612f888882612f2b565b9750612f9383612f43565b925050600181019050612f74565b5085935050505092915050565b600060a082019050612fc360008301886124f6565b612fd06020830187612910565b8181036040830152612fe28186612f50565b9050612ff16060830185612604565b612ffe60808301846124f6565b9695505050505050565b60006130138261244a565b915061301e8361244a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130575761305661269d565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006130be6021836123ab565b91506130c982613062565b604082019050919050565b600060208201905081810360008301526130ed816130b1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061312a601b836123ab565b9150613135826130f4565b602082019050919050565b600060208201905081810360008301526131598161311d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ac4cf55e34735f9bc155e10089a6aad2a5d6d73e2967884b9b0809ce1e7656ba64736f6c634300080c0033

Deployed Bytecode Sourcemap

3202:6133:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9002:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4452:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5194:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4693:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5345:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4614:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8846:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7853:313;;;;;;;;;;;;;:::i;:::-;;7636:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9125:75;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4784:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3058:133;;;;;;;;;;;;;:::i;:::-;;3615:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3646:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2874:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4531:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7514:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4898:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3458:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5055:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8171:219;;;;;;;;;;;;;:::i;:::-;;9203:125;;;;;;;;;;;;;:::i;:::-;;9002:120;9059:9;9054:67;9078:5;:12;9074:1;:16;9054:67;;;9115:4;9098;:14;9103:5;9109:1;9103:8;;;;;;;;:::i;:::-;;;;;;;;9098:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9092:3;;;;;:::i;:::-;;;;9054:67;;;;9002:120;:::o;4452:74::-;4489:13;4516:5;;;;;;;;;;;;;;;;;4509:12;;4452:74;:::o;5194:146::-;5269:4;5280:39;5289:12;:10;:12::i;:::-;5303:7;5312:6;5280:8;:39::i;:::-;5331:4;5324:11;;5194:146;;;;:::o;4693:86::-;4746:7;4767;;4760:14;;4693:86;:::o;5345:292::-;5443:4;5454:36;5464:6;5472:9;5483:6;5454:9;:36::i;:::-;5495:121;5504:6;5512:12;:10;:12::i;:::-;5526:89;5564:6;5526:89;;;;;;;;;;;;;;;;;:11;:19;5538:6;5526:19;;;;;;;;;;;;;;;:33;5546:12;:10;:12::i;:::-;5526:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5495:8;:121::i;:::-;5628:4;5621:11;;5345:292;;;;;:::o;4614:74::-;4655:5;3802:1;4667:16;;4614:74;:::o;8846:117::-;2993:12;:10;:12::i;:::-;2983:22;;:6;;;;;;;;;;:22;;;2975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8925:10:::1;;8918:6;:17;8910:26;;;::::0;::::1;;8952:6;8941:10;:17;;;;8846:117:::0;:::o;7853:313::-;2993:12;:10;:12::i;:::-;2983:22;;:6;;;;;;;;;;:22;;;2975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7915:9:::1;;;;;;;;;;;7914:10;7906:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7956:51;7973:4;7988:8;;;;;;;;;;;7999:7;;7956:8;:51::i;:::-;8038:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8020:48;;;8077:4;8084:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8020:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8012:5;;:88;;;;;;;;;;;;;;;;;;8112:5;;;;;;;;;;;8105:21;;;8135:8;;;;;;;;;;;8146:14;8105:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7853:313::o:0;7636:120::-;2993:12;:10;:12::i;:::-;2983:22;;:6;;;;;;;;;;:22;;;2975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7714:12:::1;;7707:6;:19;7699:28;;;::::0;::::1;;7745:6;7732:12;:19;;;;7636:120:::0;:::o;9125:75::-;9190:5;9175:4;:12;9180:6;9175:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9125:75;:::o;4784:109::-;4850:7;4871:8;:17;4880:7;4871:17;;;;;;;;;;;;;;;;4864:24;;4784:109;;;:::o;3058:133::-;2993:12;:10;:12::i;:::-;2983:22;;:6;;;;;;;;;;:22;;;2975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3159:1:::1;3122:40;;3143:6;::::0;::::1;;;;;;;;3122:40;;;;;;;;;;;;3184:1;3167:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3058:133::o:0;3615:27::-;;;;:::o;3646:25::-;;;;:::o;2874:70::-;2912:7;2933:6;;;;;;;;;;;2926:13;;2874:70;:::o;4531:78::-;4570:13;4597:7;;;;;;;;;;;;;;;;;4590:14;;4531:78;:::o;7514:117::-;2993:12;:10;:12::i;:::-;2983:22;;:6;;;;;;;;;;:22;;;2975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7595:7:::1;;7584:10;:18;7576:27;;;::::0;::::1;;7616:10;7608:7;:18;;;;7514:117:::0;:::o;4898:152::-;4976:4;4987:42;4997:12;:10;:12::i;:::-;5011:9;5022:6;4987:9;:42::i;:::-;5041:4;5034:11;;4898:152;;;;:::o;3458:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;5055:134::-;5136:7;5157:11;:18;5169:5;5157:18;;;;;;;;;;;;;;;:27;5176:7;5157:27;;;;;;;;;;;;;;;;5150:34;;5055:134;;;;:::o;8171:219::-;2993:12;:10;:12::i;:::-;2983:22;;:6;;;;;;;;;;:22;;;2975:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8218:8:::1;;;;;;;;;;;:24;;;8250:21;8281:4;8287:24;8305:4;8287:9;:24::i;:::-;8312:1;8314::::0;8316:7:::1;:5;:7::i;:::-;8324:15;8218:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8360:4;8345:12;;:19;;;;;;;;;;;;;;;;;;8381:4;8369:9;;:16;;;;;;;;;;;;;;;;;;8171:219::o:0;9203:125::-;9236:26;9265:21;9236:50;;9291:32;9304:18;9291:12;:32::i;:::-;9231:97;9203:125::o;2250:123::-;2308:7;2329:39;2333:1;2336;2329:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2322:46;;2250:123;;;;:::o;802:89::-;855:7;876:10;869:17;;802:89;:::o;5642:308::-;5746:1;5729:19;;:5;:19;;;;5721:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5821:1;5802:21;;:7;:21;;;;5794:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5897:6;5867:11;:18;5879:5;5867:18;;;;;;;;;;;;;;;:27;5886:7;5867:27;;;;;;;;;;;;;;;:36;;;;5929:7;5913:32;;5922:5;5913:32;;;5938:6;5913:32;;;;;;:::i;:::-;;;;;;;;5642:308;;;:::o;5955:1165::-;6053:1;6037:18;;:4;:18;;;;6029:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6124:1;6110:16;;:2;:16;;;;6102:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6188:1;6179:6;:10;6171:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6254:7;:5;:7::i;:::-;6246:15;;:4;:15;;;;:32;;;;;6271:7;:5;:7::i;:::-;6265:13;;:2;:13;;;;6246:32;6242:776;;;6298:5;;;;;;;;;;;6290:13;;:4;:13;;;:40;;;;;6321:8;;;;;;;;;;;6307:23;;:2;:23;;;;6290:40;:68;;;;;6336:18;:22;6355:2;6336:22;;;;;;;;;;;;;;;;;;;;;;;;;6334:24;6290:68;6286:147;;;6384:12;;6376:6;:20;;6368:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;6286:147;6447:4;:10;6452:4;6447:10;;;;;;;;;;;;;;;;;;;;;;;;;6446:11;:24;;;;;6462:4;:8;6467:2;6462:8;;;;;;;;;;;;;;;;;;;;;;;;;6461:9;6446:24;6438:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6522:5;;;;;;;;;;;6516:11;;:2;:11;;;;:39;;;;;6533:18;:22;6552:2;6533:22;;;;;;;;;;;;;;;;;;;;;;;;;6531:24;6516:39;:69;;;;;6561:18;:24;6580:4;6561:24;;;;;;;;;;;;;;;;;;;;;;;;;6559:26;6516:69;6513:174;;;6634:10;;6624:6;6608:13;6618:2;6608:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;6600:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6513:174;6694:28;6725:24;6743:4;6725:9;:24::i;:::-;6694:55;;6760:7;;;;;;;;;;;6759:8;:25;;;;;6779:5;;;;;;;;;;;6771:13;;:4;:13;;;;6759:25;:41;;;;;6788:12;;;;;;;;;;;6759:41;6755:258;;;6809:38;6826:20;6809:16;:38::i;:::-;6854:26;6883:21;6854:50;;6936:18;6914;:40;6911:96;;6964:35;6977:21;6964:12;:35::i;:::-;6911:96;6802:211;6755:258;6280:738;6242:776;7024:91;7039:4;7044:2;7047:6;7055:18;:22;7074:2;7055:22;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7079:18;:24;7098:4;7079:24;;;;;;;;;;;;;;;;;;;;;;;;;7055:48;7054:60;;7107:7;;7054:60;;;7105:1;7054:60;7024:14;:91::i;:::-;5955:1165;;;:::o;1867:169::-;1953:7;1980:1;1975;:6;;1983:12;1967:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2001:9;2017:1;2013;:5;;;;:::i;:::-;2001:17;;2030:1;2023:8;;;1867:169;;;;;:::o;7761:83::-;7812:10;;;;;;;;;;;:19;;:27;7832:6;7812:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7761:83;:::o;2378:168::-;2464:7;2490:1;2486;:5;2493:12;2478:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2511:9;2527:1;2523;:5;;;;:::i;:::-;2511:17;;2540:1;2533:8;;;2378:168;;;;;:::o;7129:378::-;4006:4;3996:7;;:14;;;;;;;;;;;;;;;;;;7201:21:::1;7239:1;7225:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7201:40;;7264:4;7246;7251:1;7246:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7284:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7274:4;7279:1;7274:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7304:55;7321:4;7336:8;;;;;;;;;;;7347:11;7304:8;:55::i;:::-;7364:8;;;;;;;;;;;:59;;;7429:11;7446:1;7453:4;7471;7482:15;7364:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7196:311;4031:5:::0;4021:7;;:15;;;;;;;;;;;;;;;;;;7129:378;:::o;8395:446::-;8501:13;8517:29;8542:3;8517:20;8529:7;8517;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8501:45;;8551:23;8577:18;8589:5;8577:7;:11;;:18;;;;:::i;:::-;8551:44;;8621:29;8642:7;8621:8;:16;8630:6;8621:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;8602:8;:16;8611:6;8602:16;;;;;;;;;;;;;;;:48;;;;8677:40;8701:15;8677:8;:19;8686:9;8677:19;;;;;;;;;;;;;;;;:23;;:40;;;;:::i;:::-;8655:8;:19;8664:9;8655:19;;;;;;;;;;;;;;;:62;;;;8748:34;8776:5;8748:8;:23;8765:4;8748:23;;;;;;;;;;;;;;;;:27;;:34;;;;:::i;:::-;8722:8;:23;8739:4;8722:23;;;;;;;;;;;;;;;:60;;;;8809:9;8792:44;;8801:6;8792:44;;;8820:15;8792:44;;;;;;:::i;:::-;;;;;;;;8496:345;;8395:446;;;;:::o;2041:204::-;2099:7;2122:1;2117;:6;2113:32;;;2138:1;2131:8;;;;2113:32;2149:9;2165:1;2161;:5;;;;:::i;:::-;2149:17;;2188:1;2183;2179;:5;;;;:::i;:::-;:10;2171:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2239:1;2232:8;;;2041:204;;;;;:::o;1735:127::-;1793:7;1814:43;1818:1;1821;1814:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1807:50;;1735:127;;;;:::o;1572:158::-;1630:7;1644:9;1660:1;1656;:5;;;;:::i;:::-;1644:17;;1679:1;1674;:6;;1666:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1724:1;1717:8;;;1572:158;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:118::-;6423:24;6441:5;6423:24;:::i;:::-;6418:3;6411:37;6336:118;;:::o;6460:222::-;6553:4;6591:2;6580:9;6576:18;6568:26;;6604:71;6672:1;6661:9;6657:17;6648:6;6604:71;:::i;:::-;6460:222;;;;:::o;6688:619::-;6765:6;6773;6781;6830:2;6818:9;6809:7;6805:23;6801:32;6798:119;;;6836:79;;:::i;:::-;6798:119;6956:1;6981:53;7026:7;7017:6;7006:9;7002:22;6981:53;:::i;:::-;6971:63;;6927:117;7083:2;7109:53;7154:7;7145:6;7134:9;7130:22;7109:53;:::i;:::-;7099:63;;7054:118;7211:2;7237:53;7282:7;7273:6;7262:9;7258:22;7237:53;:::i;:::-;7227:63;;7182:118;6688:619;;;;;:::o;7313:86::-;7348:7;7388:4;7381:5;7377:16;7366:27;;7313:86;;;:::o;7405:112::-;7488:22;7504:5;7488:22;:::i;:::-;7483:3;7476:35;7405:112;;:::o;7523:214::-;7612:4;7650:2;7639:9;7635:18;7627:26;;7663:67;7727:1;7716:9;7712:17;7703:6;7663:67;:::i;:::-;7523:214;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:::-;8137:6;8186:2;8174:9;8165:7;8161:23;8157:32;8154:119;;;8192:79;;:::i;:::-;8154:119;8312:1;8337:53;8382:7;8373:6;8362:9;8358:22;8337:53;:::i;:::-;8327:63;;8283:117;8078:329;;;;:::o;8413:118::-;8500:24;8518:5;8500:24;:::i;:::-;8495:3;8488:37;8413:118;;:::o;8537:222::-;8630:4;8668:2;8657:9;8653:18;8645:26;;8681:71;8749:1;8738:9;8734:17;8725:6;8681:71;:::i;:::-;8537:222;;;;:::o;8765:474::-;8833:6;8841;8890:2;8878:9;8869:7;8865:23;8861:32;8858:119;;;8896:79;;:::i;:::-;8858:119;9016:1;9041:53;9086:7;9077:6;9066:9;9062:22;9041:53;:::i;:::-;9031:63;;8987:117;9143:2;9169:53;9214:7;9205:6;9194:9;9190:22;9169:53;:::i;:::-;9159:63;;9114:118;8765:474;;;;;:::o;9245:180::-;9293:77;9290:1;9283:88;9390:4;9387:1;9380:15;9414:4;9411:1;9404:15;9431:180;9479:77;9476:1;9469:88;9576:4;9573:1;9566:15;9600:4;9597:1;9590:15;9617:233;9656:3;9679:24;9697:5;9679:24;:::i;:::-;9670:33;;9725:66;9718:5;9715:77;9712:103;;;9795:18;;:::i;:::-;9712:103;9842:1;9835:5;9831:13;9824:20;;9617:233;;;:::o;9856:182::-;9996:34;9992:1;9984:6;9980:14;9973:58;9856:182;:::o;10044:366::-;10186:3;10207:67;10271:2;10266:3;10207:67;:::i;:::-;10200:74;;10283:93;10372:3;10283:93;:::i;:::-;10401:2;10396:3;10392:12;10385:19;;10044:366;;;:::o;10416:419::-;10582:4;10620:2;10609:9;10605:18;10597:26;;10669:9;10663:4;10659:20;10655:1;10644:9;10640:17;10633:47;10697:131;10823:4;10697:131;:::i;:::-;10689:139;;10416:419;;;:::o;10841:173::-;10981:25;10977:1;10969:6;10965:14;10958:49;10841:173;:::o;11020:366::-;11162:3;11183:67;11247:2;11242:3;11183:67;:::i;:::-;11176:74;;11259:93;11348:3;11259:93;:::i;:::-;11377:2;11372:3;11368:12;11361:19;;11020:366;;;:::o;11392:419::-;11558:4;11596:2;11585:9;11581:18;11573:26;;11645:9;11639:4;11635:20;11631:1;11620:9;11616:17;11609:47;11673:131;11799:4;11673:131;:::i;:::-;11665:139;;11392:419;;;:::o;11817:143::-;11874:5;11905:6;11899:13;11890:22;;11921:33;11948:5;11921:33;:::i;:::-;11817:143;;;;:::o;11966:351::-;12036:6;12085:2;12073:9;12064:7;12060:23;12056:32;12053:119;;;12091:79;;:::i;:::-;12053:119;12211:1;12236:64;12292:7;12283:6;12272:9;12268:22;12236:64;:::i;:::-;12226:74;;12182:128;11966:351;;;;:::o;12323:332::-;12444:4;12482:2;12471:9;12467:18;12459:26;;12495:71;12563:1;12552:9;12548:17;12539:6;12495:71;:::i;:::-;12576:72;12644:2;12633:9;12629:18;12620:6;12576:72;:::i;:::-;12323:332;;;;;:::o;12661:::-;12782:4;12820:2;12809:9;12805:18;12797:26;;12833:71;12901:1;12890:9;12886:17;12877:6;12833:71;:::i;:::-;12914:72;12982:2;12971:9;12967:18;12958:6;12914:72;:::i;:::-;12661:332;;;;;:::o;12999:116::-;13069:21;13084:5;13069:21;:::i;:::-;13062:5;13059:32;13049:60;;13105:1;13102;13095:12;13049:60;12999:116;:::o;13121:137::-;13175:5;13206:6;13200:13;13191:22;;13222:30;13246:5;13222:30;:::i;:::-;13121:137;;;;:::o;13264:345::-;13331:6;13380:2;13368:9;13359:7;13355:23;13351:32;13348:119;;;13386:79;;:::i;:::-;13348:119;13506:1;13531:61;13584:7;13575:6;13564:9;13560:22;13531:61;:::i;:::-;13521:71;;13477:125;13264:345;;;;:::o;13615:85::-;13660:7;13689:5;13678:16;;13615:85;;;:::o;13706:60::-;13734:3;13755:5;13748:12;;13706:60;;;:::o;13772:158::-;13830:9;13863:61;13881:42;13890:32;13916:5;13890:32;:::i;:::-;13881:42;:::i;:::-;13863:61;:::i;:::-;13850:74;;13772:158;;;:::o;13936:147::-;14031:45;14070:5;14031:45;:::i;:::-;14026:3;14019:58;13936:147;;:::o;14089:807::-;14338:4;14376:3;14365:9;14361:19;14353:27;;14390:71;14458:1;14447:9;14443:17;14434:6;14390:71;:::i;:::-;14471:72;14539:2;14528:9;14524:18;14515:6;14471:72;:::i;:::-;14553:80;14629:2;14618:9;14614:18;14605:6;14553:80;:::i;:::-;14643;14719:2;14708:9;14704:18;14695:6;14643:80;:::i;:::-;14733:73;14801:3;14790:9;14786:19;14777:6;14733:73;:::i;:::-;14816;14884:3;14873:9;14869:19;14860:6;14816:73;:::i;:::-;14089:807;;;;;;;;;:::o;14902:143::-;14959:5;14990:6;14984:13;14975:22;;15006:33;15033:5;15006:33;:::i;:::-;14902:143;;;;:::o;15051:663::-;15139:6;15147;15155;15204:2;15192:9;15183:7;15179:23;15175:32;15172:119;;;15210:79;;:::i;:::-;15172:119;15330:1;15355:64;15411:7;15402:6;15391:9;15387:22;15355:64;:::i;:::-;15345:74;;15301:128;15468:2;15494:64;15550:7;15541:6;15530:9;15526:22;15494:64;:::i;:::-;15484:74;;15439:129;15607:2;15633:64;15689:7;15680:6;15669:9;15665:22;15633:64;:::i;:::-;15623:74;;15578:129;15051:663;;;;;:::o;15720:223::-;15860:34;15856:1;15848:6;15844:14;15837:58;15929:6;15924:2;15916:6;15912:15;15905:31;15720:223;:::o;15949:366::-;16091:3;16112:67;16176:2;16171:3;16112:67;:::i;:::-;16105:74;;16188:93;16277:3;16188:93;:::i;:::-;16306:2;16301:3;16297:12;16290:19;;15949:366;;;:::o;16321:419::-;16487:4;16525:2;16514:9;16510:18;16502:26;;16574:9;16568:4;16564:20;16560:1;16549:9;16545:17;16538:47;16602:131;16728:4;16602:131;:::i;:::-;16594:139;;16321:419;;;:::o;16746:221::-;16886:34;16882:1;16874:6;16870:14;16863:58;16955:4;16950:2;16942:6;16938:15;16931:29;16746:221;:::o;16973:366::-;17115:3;17136:67;17200:2;17195:3;17136:67;:::i;:::-;17129:74;;17212:93;17301:3;17212:93;:::i;:::-;17330:2;17325:3;17321:12;17314:19;;16973:366;;;:::o;17345:419::-;17511:4;17549:2;17538:9;17534:18;17526:26;;17598:9;17592:4;17588:20;17584:1;17573:9;17569:17;17562:47;17626:131;17752:4;17626:131;:::i;:::-;17618:139;;17345:419;;;:::o;17770:224::-;17910:34;17906:1;17898:6;17894:14;17887:58;17979:7;17974:2;17966:6;17962:15;17955:32;17770:224;:::o;18000:366::-;18142:3;18163:67;18227:2;18222:3;18163:67;:::i;:::-;18156:74;;18239:93;18328:3;18239:93;:::i;:::-;18357:2;18352:3;18348:12;18341:19;;18000:366;;;:::o;18372:419::-;18538:4;18576:2;18565:9;18561:18;18553:26;;18625:9;18619:4;18615:20;18611:1;18600:9;18596:17;18589:47;18653:131;18779:4;18653:131;:::i;:::-;18645:139;;18372:419;;;:::o;18797:222::-;18937:34;18933:1;18925:6;18921:14;18914:58;19006:5;19001:2;18993:6;18989:15;18982:30;18797:222;:::o;19025:366::-;19167:3;19188:67;19252:2;19247:3;19188:67;:::i;:::-;19181:74;;19264:93;19353:3;19264:93;:::i;:::-;19382:2;19377:3;19373:12;19366:19;;19025:366;;;:::o;19397:419::-;19563:4;19601:2;19590:9;19586:18;19578:26;;19650:9;19644:4;19640:20;19636:1;19625:9;19621:17;19614:47;19678:131;19804:4;19678:131;:::i;:::-;19670:139;;19397:419;;;:::o;19822:228::-;19962:34;19958:1;19950:6;19946:14;19939:58;20031:11;20026:2;20018:6;20014:15;20007:36;19822:228;:::o;20056:366::-;20198:3;20219:67;20283:2;20278:3;20219:67;:::i;:::-;20212:74;;20295:93;20384:3;20295:93;:::i;:::-;20413:2;20408:3;20404:12;20397:19;;20056:366;;;:::o;20428:419::-;20594:4;20632:2;20621:9;20617:18;20609:26;;20681:9;20675:4;20671:20;20667:1;20656:9;20652:17;20645:47;20709:131;20835:4;20709:131;:::i;:::-;20701:139;;20428:419;;;:::o;20853:176::-;20993:28;20989:1;20981:6;20977:14;20970:52;20853:176;:::o;21035:366::-;21177:3;21198:67;21262:2;21257:3;21198:67;:::i;:::-;21191:74;;21274:93;21363:3;21274:93;:::i;:::-;21392:2;21387:3;21383:12;21376:19;;21035:366;;;:::o;21407:419::-;21573:4;21611:2;21600:9;21596:18;21588:26;;21660:9;21654:4;21650:20;21646:1;21635:9;21631:17;21624:47;21688:131;21814:4;21688:131;:::i;:::-;21680:139;;21407:419;;;:::o;21832:177::-;21972:29;21968:1;21960:6;21956:14;21949:53;21832:177;:::o;22015:366::-;22157:3;22178:67;22242:2;22237:3;22178:67;:::i;:::-;22171:74;;22254:93;22343:3;22254:93;:::i;:::-;22372:2;22367:3;22363:12;22356:19;;22015:366;;;:::o;22387:419::-;22553:4;22591:2;22580:9;22576:18;22568:26;;22640:9;22634:4;22630:20;22626:1;22615:9;22611:17;22604:47;22668:131;22794:4;22668:131;:::i;:::-;22660:139;;22387:419;;;:::o;22812:305::-;22852:3;22871:20;22889:1;22871:20;:::i;:::-;22866:25;;22905:20;22923:1;22905:20;:::i;:::-;22900:25;;23059:1;22991:66;22987:74;22984:1;22981:81;22978:107;;;23065:18;;:::i;:::-;22978:107;23109:1;23106;23102:9;23095:16;;22812:305;;;;:::o;23123:178::-;23263:30;23259:1;23251:6;23247:14;23240:54;23123:178;:::o;23307:366::-;23449:3;23470:67;23534:2;23529:3;23470:67;:::i;:::-;23463:74;;23546:93;23635:3;23546:93;:::i;:::-;23664:2;23659:3;23655:12;23648:19;;23307:366;;;:::o;23679:419::-;23845:4;23883:2;23872:9;23868:18;23860:26;;23932:9;23926:4;23922:20;23918:1;23907:9;23903:17;23896:47;23960:131;24086:4;23960:131;:::i;:::-;23952:139;;23679:419;;;:::o;24104:191::-;24144:4;24164:20;24182:1;24164:20;:::i;:::-;24159:25;;24198:20;24216:1;24198:20;:::i;:::-;24193:25;;24237:1;24234;24231:8;24228:34;;;24242:18;;:::i;:::-;24228:34;24287:1;24284;24280:9;24272:17;;24104:191;;;;:::o;24301:180::-;24349:77;24346:1;24339:88;24446:4;24443:1;24436:15;24470:4;24467:1;24460:15;24487:185;24527:1;24544:20;24562:1;24544:20;:::i;:::-;24539:25;;24578:20;24596:1;24578:20;:::i;:::-;24573:25;;24617:1;24607:35;;24622:18;;:::i;:::-;24607:35;24664:1;24661;24657:9;24652:14;;24487:185;;;;:::o;24678:114::-;24745:6;24779:5;24773:12;24763:22;;24678:114;;;:::o;24798:184::-;24897:11;24931:6;24926:3;24919:19;24971:4;24966:3;24962:14;24947:29;;24798:184;;;;:::o;24988:132::-;25055:4;25078:3;25070:11;;25108:4;25103:3;25099:14;25091:22;;24988:132;;;:::o;25126:108::-;25203:24;25221:5;25203:24;:::i;:::-;25198:3;25191:37;25126:108;;:::o;25240:179::-;25309:10;25330:46;25372:3;25364:6;25330:46;:::i;:::-;25408:4;25403:3;25399:14;25385:28;;25240:179;;;;:::o;25425:113::-;25495:4;25527;25522:3;25518:14;25510:22;;25425:113;;;:::o;25574:732::-;25693:3;25722:54;25770:5;25722:54;:::i;:::-;25792:86;25871:6;25866:3;25792:86;:::i;:::-;25785:93;;25902:56;25952:5;25902:56;:::i;:::-;25981:7;26012:1;25997:284;26022:6;26019:1;26016:13;25997:284;;;26098:6;26092:13;26125:63;26184:3;26169:13;26125:63;:::i;:::-;26118:70;;26211:60;26264:6;26211:60;:::i;:::-;26201:70;;26057:224;26044:1;26041;26037:9;26032:14;;25997:284;;;26001:14;26297:3;26290:10;;25698:608;;;25574:732;;;;:::o;26312:831::-;26575:4;26613:3;26602:9;26598:19;26590:27;;26627:71;26695:1;26684:9;26680:17;26671:6;26627:71;:::i;:::-;26708:80;26784:2;26773:9;26769:18;26760:6;26708:80;:::i;:::-;26835:9;26829:4;26825:20;26820:2;26809:9;26805:18;26798:48;26863:108;26966:4;26957:6;26863:108;:::i;:::-;26855:116;;26981:72;27049:2;27038:9;27034:18;27025:6;26981:72;:::i;:::-;27063:73;27131:3;27120:9;27116:19;27107:6;27063:73;:::i;:::-;26312:831;;;;;;;;:::o;27149:348::-;27189:7;27212:20;27230:1;27212:20;:::i;:::-;27207:25;;27246:20;27264:1;27246:20;:::i;:::-;27241:25;;27434:1;27366:66;27362:74;27359:1;27356:81;27351:1;27344:9;27337:17;27333:105;27330:131;;;27441:18;;:::i;:::-;27330:131;27489:1;27486;27482:9;27471:20;;27149:348;;;;:::o;27503:220::-;27643:34;27639:1;27631:6;27627:14;27620:58;27712:3;27707:2;27699:6;27695:15;27688:28;27503:220;:::o;27729:366::-;27871:3;27892:67;27956:2;27951:3;27892:67;:::i;:::-;27885:74;;27968:93;28057:3;27968:93;:::i;:::-;28086:2;28081:3;28077:12;28070:19;;27729:366;;;:::o;28101:419::-;28267:4;28305:2;28294:9;28290:18;28282:26;;28354:9;28348:4;28344:20;28340:1;28329:9;28325:17;28318:47;28382:131;28508:4;28382:131;:::i;:::-;28374:139;;28101:419;;;:::o;28526:177::-;28666:29;28662:1;28654:6;28650:14;28643:53;28526:177;:::o;28709:366::-;28851:3;28872:67;28936:2;28931:3;28872:67;:::i;:::-;28865:74;;28948:93;29037:3;28948:93;:::i;:::-;29066:2;29061:3;29057:12;29050:19;;28709:366;;;:::o;29081:419::-;29247:4;29285:2;29274:9;29270:18;29262:26;;29334:9;29328:4;29324:20;29320:1;29309:9;29305:17;29298:47;29362:131;29488:4;29362:131;:::i;:::-;29354:139;;29081:419;;;:::o

Swarm Source

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