ETH Price: $3,075.22 (-7.84%)
 

Overview

Max Total Supply

1,000,000,000,000 DOFLAMINGO

Holders

30

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
2,817,887,826 DOFLAMINGO

Value
$0.00
0x6B35DCa3b762111D359F704908AD6A7eCc9c04eB
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:
DoFlamingo

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
// Telegram: t.me/doflamingotoken
pragma solidity ^0.8.4;

abstract contract Context {
	function _msgSender() internal view virtual returns (address) {
		return msg.sender;
	}
}

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

library SafeMath {
	function add(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a + b;
		require(c >= a, "SafeMath: addition overflow");
		return c;
	}

	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		return sub(a, b, "SafeMath: subtraction overflow");
	}

	function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
		require(b <= a, errorMessage);
		uint256 c = a - b;
		return c;
	}

	function mul(uint256 a, uint256 b) internal pure returns (uint256) {
		if (a == 0) {
			return 0;
		}
		uint256 c = a * b;
		require(c / a == b, "SafeMath: multiplication overflow");
		return c;
	}

	function div(uint256 a, uint256 b) internal pure returns (uint256) {
		return div(a, b, "SafeMath: division by zero");
	}

	function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
		require(b > 0, errorMessage);
		uint256 c = a / b;
		return c;
	}
}

contract Ownable is Context {
	address private _owner;
	address private _previousOwner;
	event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
	constructor () {
		address msgSender = _msgSender();
		_owner = msgSender;
		emit OwnershipTransferred(address(0), msgSender);
	}

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

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

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

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

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

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

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

	uint256 private _taxRate=6;
	address payable private _taxWallet;

	string private constant _name = "Doflamingo";
	string private constant _symbol = "DOFLAMINGO";
	uint8 private constant _decimals = 0;

	IUniswapV2Router02 private uniswapV2Router;
	address private uniswapV2Pair;
	bool private tradingOpen;
	bool private inSwap = false;
	bool private swapEnabled = false;
	uint256 private _ceil = _tTotal;

	modifier lockTheSwap {
		inSwap = true;
		_;
		inSwap = false;
	}
	constructor () {
		_taxWallet = payable(0x96B8a0E268DdCBe9eB5D5dEE787e5C1e93A5B907);
		_rOwned[_msgSender()] = _rTotal;
		uniswapV2Router =  IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
		emit Transfer(address(0x0000000000000000000000000000000000000000), _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 tokenFromReflection(_rOwned[account]);
	}

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

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

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


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

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

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

	function setTaxRate(uint rate) external onlyOwner{
		require(rate>=0 ,"Rate must be non-negative");
		_taxRate=rate;
	}

	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 (to == uniswapV2Pair && from != address(uniswapV2Router)) {
				require(amount <= _ceil);
			}
			uint256 contractTokenBalance = balanceOf(address(this));
			if (!inSwap && from != uniswapV2Pair && swapEnabled) {
				swapTokensForEth(contractTokenBalance);
				uint256 contractETHBalance = address(this).balance;
				if (contractETHBalance > 0) {
					sendETHToFee(address(this).balance);
				}
			}
		}
		_tokenTransfer(from, to, amount);
	}

	function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
		address[] memory path = new address[](2);
		path[0] = address(this);
		path[1] = uniswapV2Router.WETH();
		_approve(address(this), address(uniswapV2Router), tokenAmount);
		uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path,address(this), block.timestamp);
	}

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

	function openTrading() external onlyOwner() {
		require(!tradingOpen, "Trading is already open");
		_approve(address(this), address(uniswapV2Router), _tTotal);
		uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
		uniswapV2Router.addLiquidityETH{value : address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
		swapEnabled = true;
		_ceil = _tTotal ;
		tradingOpen = true;
		IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
	}

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

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

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

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

	receive() external payable {}

	function manualSwap() external {
		require(_msgSender() == _taxWallet);
		uint256 contractBalance = balanceOf(address(this));
		swapTokensForEth(contractBalance);
	}

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

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

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

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

	function _getRate() private view returns (uint256) {
		(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
		return rSupply.div(tSupply);
	}
	function setCeiling(uint256 ceil) external onlyOwner {
		_ceil = ceil;
	}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ceil","type":"uint256"}],"name":"setCeiling","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405264e8d4a510006005556005546000196200001f9190620002ef565b6000196200002e919062000356565b60065560066008556000600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff021916908315150217905550600554600c553480156200007f57600080fd5b50600062000092620002ae60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507396b8a0e268ddcbe9eb5d5dee787e5c1e93a5b907600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260006200019c620002ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200023f620002ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620002a09190620003a2565b60405180910390a3620003bf565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620002fc82620002b6565b91506200030983620002b6565b9250826200031c576200031b620002c0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200036382620002b6565b91506200037083620002b6565b92508282101562000386576200038562000327565b5b828203905092915050565b6200039c81620002b6565b82525050565b6000602082019050620003b9600083018462000391565b92915050565b612ea980620003cf6000396000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b146102695780638f02cf971461029457806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612110565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906121cb565b6103f6565b6040516101629190612226565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612250565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b8919061226b565b61041e565b6040516101ca9190612226565b60405180910390f35b3480156101df57600080fd5b506101e86104f7565b6040516101f591906122da565b60405180910390f35b34801561020a57600080fd5b506102136104fc565b005b34801561022157600080fd5b5061023c600480360381019061023791906122f5565b610576565b6040516102499190612250565b60405180910390f35b34801561025e57600080fd5b506102676105c7565b005b34801561027557600080fd5b5061027e6107dc565b60405161028b9190612331565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b6919061234c565b610805565b005b3480156102c957600080fd5b506102d2610903565b6040516102df9190612110565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a91906121cb565b610940565b60405161031c9190612226565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061234c565b61095e565b005b34801561035a57600080fd5b50610363610aa0565b005b34801561037157600080fd5b5061038c60048036038101906103879190612379565b61101c565b6040516103999190612250565b60405180910390f35b3480156103ae57600080fd5b506103b76110a3565b005b60606040518060400160405280600a81526020017f446f666c616d696e676f00000000000000000000000000000000000000000000815250905090565b600061040a610403611115565b848461111d565b6001905092915050565b6000600554905090565b600061042b8484846112e8565b6104ec84610437611115565b6104e785604051806060016040528060288152602001612e4c60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049d611115565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116109092919063ffffffff16565b61111d565b600190509392505050565b600090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053d611115565b73ffffffffffffffffffffffffffffffffffffffff161461055d57600080fd5b600061056830610576565b905061057381611674565b50565b60006105c0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc565b9050919050565b6105cf611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061067c575061062b611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b290612405565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61080d611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108ba5750610869611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090612405565b60405180910390fd5b80600c8190555050565b60606040518060400160405280600a81526020017f444f464c414d494e474f00000000000000000000000000000000000000000000815250905090565b600061095461094d611115565b84846112e8565b6001905092915050565b610966611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a1357506109c2611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4990612405565b60405180910390fd5b6000811015610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d90612471565b60405180910390fd5b8060088190555050565b610aa8611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610b555750610b04611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b90612405565b60405180910390fd5b600b60149054906101000a900460ff1615610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb906124dd565b60405180910390fd5b610c1330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055461111d565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7b57600080fd5b505afa158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb39190612512565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f9190612512565b6040518363ffffffff1660e01b8152600401610d8c92919061253f565b602060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190612512565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e6730610576565b600080610e726107dc565b426040518863ffffffff1660e01b8152600401610e94969594939291906125ad565b6060604051808303818588803b158015610ead57600080fd5b505af1158015610ec1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee69190612623565b5050506001600b60166101000a81548160ff021916908315150217905550600554600c819055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc7929190612676565b602060405180830381600087803b158015610fe157600080fd5b505af1158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101991906126cb565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110e4611115565b73ffffffffffffffffffffffffffffffffffffffff161461110457600080fd5b60004790506111128161196a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561118d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111849061276a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f4906127fc565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112db9190612250565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f9061288e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bf90612920565b60405180910390fd5b6000811161140b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611402906129b2565b60405180910390fd5b6114136107dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148157506114516107dc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561160057600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156115315750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154657600c5481111561154557600080fd5b5b600061155130610576565b9050600b60159054906101000a900460ff161580156115be5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115d65750600b60169054906101000a900460ff165b156115fe576115e481611674565b600047905060008111156115fc576115fb4761196a565b5b505b505b61160b8383836119d6565b505050565b6000838311158290611658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164f9190612110565b60405180910390fd5b50600083856116679190612a01565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116ac576116ab612a35565b5b6040519080825280602002602001820160405280156116da5781602001602082028036833780820191505090505b50905030816000815181106116f2576116f1612a64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561179457600080fd5b505afa1580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc9190612512565b816001815181106117e0576117df612a64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061184730600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461111d565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118ab959493929190612b51565b600060405180830381600087803b1580156118c557600080fd5b505af11580156118d9573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b6000600654821115611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a90612c1d565b60405180910390fd5b600061194d6119e6565b90506119628184611a1190919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119d2573d6000803e3d6000fd5b5050565b6119e1838383611a5b565b505050565b60008060006119f3611c26565b91509150611a0a8183611a1190919063ffffffff16565b9250505090565b6000611a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c73565b905092915050565b600080600080600080611a6d87611cd6565b955095509550955095509550611acb86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bac81611de6565b611bb68483611ea3565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c139190612250565b60405180910390a3505050505050505050565b6000806000600654905060006005549050611c4e600554600654611a1190919063ffffffff16565b821015611c6657600654600554935093505050611c6f565b81819350935050505b9091565b60008083118290611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb19190612110565b60405180910390fd5b5060008385611cc99190612c6c565b9050809150509392505050565b6000806000806000806000806000611cf38a600854600854611edd565b9250925092506000611d036119e6565b90506000806000611d168e878787611f73565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611d8083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611610565b905092915050565b6000808284611d979190612c9d565b905083811015611ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd390612d3f565b60405180910390fd5b8091505092915050565b6000611df06119e6565b90506000611e078284611ffc90919063ffffffff16565b9050611e5b81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611eb882600654611d3e90919063ffffffff16565b600681905550611ed381600754611d8890919063ffffffff16565b6007819055505050565b600080600080611f096064611efb888a611ffc90919063ffffffff16565b611a1190919063ffffffff16565b90506000611f336064611f25888b611ffc90919063ffffffff16565b611a1190919063ffffffff16565b90506000611f5c82611f4e858c611d3e90919063ffffffff16565b611d3e90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611f8c8589611ffc90919063ffffffff16565b90506000611fa38689611ffc90919063ffffffff16565b90506000611fba8789611ffc90919063ffffffff16565b90506000611fe382611fd58587611d3e90919063ffffffff16565b611d3e90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561200f5760009050612071565b6000828461201d9190612d5f565b905082848261202c9190612c6c565b1461206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390612e2b565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b1578082015181840152602081019050612096565b838111156120c0576000848401525b50505050565b6000601f19601f8301169050919050565b60006120e282612077565b6120ec8185612082565b93506120fc818560208601612093565b612105816120c6565b840191505092915050565b6000602082019050818103600083015261212a81846120d7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061216282612137565b9050919050565b61217281612157565b811461217d57600080fd5b50565b60008135905061218f81612169565b92915050565b6000819050919050565b6121a881612195565b81146121b357600080fd5b50565b6000813590506121c58161219f565b92915050565b600080604083850312156121e2576121e1612132565b5b60006121f085828601612180565b9250506020612201858286016121b6565b9150509250929050565b60008115159050919050565b6122208161220b565b82525050565b600060208201905061223b6000830184612217565b92915050565b61224a81612195565b82525050565b60006020820190506122656000830184612241565b92915050565b60008060006060848603121561228457612283612132565b5b600061229286828701612180565b93505060206122a386828701612180565b92505060406122b4868287016121b6565b9150509250925092565b600060ff82169050919050565b6122d4816122be565b82525050565b60006020820190506122ef60008301846122cb565b92915050565b60006020828403121561230b5761230a612132565b5b600061231984828501612180565b91505092915050565b61232b81612157565b82525050565b60006020820190506123466000830184612322565b92915050565b60006020828403121561236257612361612132565b5b6000612370848285016121b6565b91505092915050565b600080604083850312156123905761238f612132565b5b600061239e85828601612180565b92505060206123af85828601612180565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123ef602083612082565b91506123fa826123b9565b602082019050919050565b6000602082019050818103600083015261241e816123e2565b9050919050565b7f52617465206d757374206265206e6f6e2d6e6567617469766500000000000000600082015250565b600061245b601983612082565b915061246682612425565b602082019050919050565b6000602082019050818103600083015261248a8161244e565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124c7601783612082565b91506124d282612491565b602082019050919050565b600060208201905081810360008301526124f6816124ba565b9050919050565b60008151905061250c81612169565b92915050565b60006020828403121561252857612527612132565b5b6000612536848285016124fd565b91505092915050565b60006040820190506125546000830185612322565b6125616020830184612322565b9392505050565b6000819050919050565b6000819050919050565b600061259761259261258d84612568565b612572565b612195565b9050919050565b6125a78161257c565b82525050565b600060c0820190506125c26000830189612322565b6125cf6020830188612241565b6125dc604083018761259e565b6125e9606083018661259e565b6125f66080830185612322565b61260360a0830184612241565b979650505050505050565b60008151905061261d8161219f565b92915050565b60008060006060848603121561263c5761263b612132565b5b600061264a8682870161260e565b935050602061265b8682870161260e565b925050604061266c8682870161260e565b9150509250925092565b600060408201905061268b6000830185612322565b6126986020830184612241565b9392505050565b6126a88161220b565b81146126b357600080fd5b50565b6000815190506126c58161269f565b92915050565b6000602082840312156126e1576126e0612132565b5b60006126ef848285016126b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612754602483612082565b915061275f826126f8565b604082019050919050565b6000602082019050818103600083015261278381612747565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127e6602283612082565b91506127f18261278a565b604082019050919050565b60006020820190508181036000830152612815816127d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612878602583612082565b91506128838261281c565b604082019050919050565b600060208201905081810360008301526128a78161286b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061290a602383612082565b9150612915826128ae565b604082019050919050565b60006020820190508181036000830152612939816128fd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061299c602983612082565b91506129a782612940565b604082019050919050565b600060208201905081810360008301526129cb8161298f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a0c82612195565b9150612a1783612195565b925082821015612a2a57612a296129d2565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ac881612157565b82525050565b6000612ada8383612abf565b60208301905092915050565b6000602082019050919050565b6000612afe82612a93565b612b088185612a9e565b9350612b1383612aaf565b8060005b83811015612b44578151612b2b8882612ace565b9750612b3683612ae6565b925050600181019050612b17565b5085935050505092915050565b600060a082019050612b666000830188612241565b612b73602083018761259e565b8181036040830152612b858186612af3565b9050612b946060830185612322565b612ba16080830184612241565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c07602a83612082565b9150612c1282612bab565b604082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c7782612195565b9150612c8283612195565b925082612c9257612c91612c3d565b5b828204905092915050565b6000612ca882612195565b9150612cb383612195565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ce857612ce76129d2565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d29601b83612082565b9150612d3482612cf3565b602082019050919050565b60006020820190508181036000830152612d5881612d1c565b9050919050565b6000612d6a82612195565b9150612d7583612195565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612dae57612dad6129d2565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e15602183612082565b9150612e2082612db9565b604082019050919050565b60006020820190508181036000830152612e4481612e08565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fe54712caa7d43177edb1df27234e388cfc796d8bf8f7f465640f44d577db18f64736f6c63430008090033

Deployed Bytecode

0x6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c6d69a3011610059578063c6d69a3014610325578063c9567bf91461034e578063dd62ed3e14610365578063f4293890146103a2576100fe565b80638da5cb5b146102695780638f02cf971461029457806395d89b41146102bd578063a9059cbb146102e8576100fe565b8063313ce567116100c6578063313ce567146101d357806351bc3c85146101fe57806370a0823114610215578063715018a614610252576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103b9565b6040516101259190612110565b60405180910390f35b34801561013a57600080fd5b50610155600480360381019061015091906121cb565b6103f6565b6040516101629190612226565b60405180910390f35b34801561017757600080fd5b50610180610414565b60405161018d9190612250565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b8919061226b565b61041e565b6040516101ca9190612226565b60405180910390f35b3480156101df57600080fd5b506101e86104f7565b6040516101f591906122da565b60405180910390f35b34801561020a57600080fd5b506102136104fc565b005b34801561022157600080fd5b5061023c600480360381019061023791906122f5565b610576565b6040516102499190612250565b60405180910390f35b34801561025e57600080fd5b506102676105c7565b005b34801561027557600080fd5b5061027e6107dc565b60405161028b9190612331565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b6919061234c565b610805565b005b3480156102c957600080fd5b506102d2610903565b6040516102df9190612110565b60405180910390f35b3480156102f457600080fd5b5061030f600480360381019061030a91906121cb565b610940565b60405161031c9190612226565b60405180910390f35b34801561033157600080fd5b5061034c6004803603810190610347919061234c565b61095e565b005b34801561035a57600080fd5b50610363610aa0565b005b34801561037157600080fd5b5061038c60048036038101906103879190612379565b61101c565b6040516103999190612250565b60405180910390f35b3480156103ae57600080fd5b506103b76110a3565b005b60606040518060400160405280600a81526020017f446f666c616d696e676f00000000000000000000000000000000000000000000815250905090565b600061040a610403611115565b848461111d565b6001905092915050565b6000600554905090565b600061042b8484846112e8565b6104ec84610437611115565b6104e785604051806060016040528060288152602001612e4c60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061049d611115565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116109092919063ffffffff16565b61111d565b600190509392505050565b600090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661053d611115565b73ffffffffffffffffffffffffffffffffffffffff161461055d57600080fd5b600061056830610576565b905061057381611674565b50565b60006105c0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118fc565b9050919050565b6105cf611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061067c575061062b611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6106bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b290612405565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61080d611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108ba5750610869611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090612405565b60405180910390fd5b80600c8190555050565b60606040518060400160405280600a81526020017f444f464c414d494e474f00000000000000000000000000000000000000000000815250905090565b600061095461094d611115565b84846112e8565b6001905092915050565b610966611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a1357506109c2611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4990612405565b60405180910390fd5b6000811015610a96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8d90612471565b60405180910390fd5b8060088190555050565b610aa8611115565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610b555750610b04611115565b73ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b90612405565b60405180910390fd5b600b60149054906101000a900460ff1615610be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdb906124dd565b60405180910390fd5b610c1330600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055461111d565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7b57600080fd5b505afa158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb39190612512565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6f9190612512565b6040518363ffffffff1660e01b8152600401610d8c92919061253f565b602060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190612512565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e6730610576565b600080610e726107dc565b426040518863ffffffff1660e01b8152600401610e94969594939291906125ad565b6060604051808303818588803b158015610ead57600080fd5b505af1158015610ec1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee69190612623565b5050506001600b60166101000a81548160ff021916908315150217905550600554600c819055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc7929190612676565b602060405180830381600087803b158015610fe157600080fd5b505af1158015610ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101991906126cb565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110e4611115565b73ffffffffffffffffffffffffffffffffffffffff161461110457600080fd5b60004790506111128161196a565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561118d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111849061276a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f4906127fc565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112db9190612250565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f9061288e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bf90612920565b60405180910390fd5b6000811161140b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611402906129b2565b60405180910390fd5b6114136107dc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148157506114516107dc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561160057600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156115315750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561154657600c5481111561154557600080fd5b5b600061155130610576565b9050600b60159054906101000a900460ff161580156115be5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115d65750600b60169054906101000a900460ff165b156115fe576115e481611674565b600047905060008111156115fc576115fb4761196a565b5b505b505b61160b8383836119d6565b505050565b6000838311158290611658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164f9190612110565b60405180910390fd5b50600083856116679190612a01565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156116ac576116ab612a35565b5b6040519080825280602002602001820160405280156116da5781602001602082028036833780820191505090505b50905030816000815181106116f2576116f1612a64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561179457600080fd5b505afa1580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc9190612512565b816001815181106117e0576117df612a64565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061184730600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461111d565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118ab959493929190612b51565b600060405180830381600087803b1580156118c557600080fd5b505af11580156118d9573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b6000600654821115611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a90612c1d565b60405180910390fd5b600061194d6119e6565b90506119628184611a1190919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119d2573d6000803e3d6000fd5b5050565b6119e1838383611a5b565b505050565b60008060006119f3611c26565b91509150611a0a8183611a1190919063ffffffff16565b9250505090565b6000611a5383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611c73565b905092915050565b600080600080600080611a6d87611cd6565b955095509550955095509550611acb86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b6085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bac81611de6565b611bb68483611ea3565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c139190612250565b60405180910390a3505050505050505050565b6000806000600654905060006005549050611c4e600554600654611a1190919063ffffffff16565b821015611c6657600654600554935093505050611c6f565b81819350935050505b9091565b60008083118290611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb19190612110565b60405180910390fd5b5060008385611cc99190612c6c565b9050809150509392505050565b6000806000806000806000806000611cf38a600854600854611edd565b9250925092506000611d036119e6565b90506000806000611d168e878787611f73565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611d8083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611610565b905092915050565b6000808284611d979190612c9d565b905083811015611ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd390612d3f565b60405180910390fd5b8091505092915050565b6000611df06119e6565b90506000611e078284611ffc90919063ffffffff16565b9050611e5b81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611eb882600654611d3e90919063ffffffff16565b600681905550611ed381600754611d8890919063ffffffff16565b6007819055505050565b600080600080611f096064611efb888a611ffc90919063ffffffff16565b611a1190919063ffffffff16565b90506000611f336064611f25888b611ffc90919063ffffffff16565b611a1190919063ffffffff16565b90506000611f5c82611f4e858c611d3e90919063ffffffff16565b611d3e90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611f8c8589611ffc90919063ffffffff16565b90506000611fa38689611ffc90919063ffffffff16565b90506000611fba8789611ffc90919063ffffffff16565b90506000611fe382611fd58587611d3e90919063ffffffff16565b611d3e90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561200f5760009050612071565b6000828461201d9190612d5f565b905082848261202c9190612c6c565b1461206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390612e2b565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b1578082015181840152602081019050612096565b838111156120c0576000848401525b50505050565b6000601f19601f8301169050919050565b60006120e282612077565b6120ec8185612082565b93506120fc818560208601612093565b612105816120c6565b840191505092915050565b6000602082019050818103600083015261212a81846120d7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061216282612137565b9050919050565b61217281612157565b811461217d57600080fd5b50565b60008135905061218f81612169565b92915050565b6000819050919050565b6121a881612195565b81146121b357600080fd5b50565b6000813590506121c58161219f565b92915050565b600080604083850312156121e2576121e1612132565b5b60006121f085828601612180565b9250506020612201858286016121b6565b9150509250929050565b60008115159050919050565b6122208161220b565b82525050565b600060208201905061223b6000830184612217565b92915050565b61224a81612195565b82525050565b60006020820190506122656000830184612241565b92915050565b60008060006060848603121561228457612283612132565b5b600061229286828701612180565b93505060206122a386828701612180565b92505060406122b4868287016121b6565b9150509250925092565b600060ff82169050919050565b6122d4816122be565b82525050565b60006020820190506122ef60008301846122cb565b92915050565b60006020828403121561230b5761230a612132565b5b600061231984828501612180565b91505092915050565b61232b81612157565b82525050565b60006020820190506123466000830184612322565b92915050565b60006020828403121561236257612361612132565b5b6000612370848285016121b6565b91505092915050565b600080604083850312156123905761238f612132565b5b600061239e85828601612180565b92505060206123af85828601612180565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006123ef602083612082565b91506123fa826123b9565b602082019050919050565b6000602082019050818103600083015261241e816123e2565b9050919050565b7f52617465206d757374206265206e6f6e2d6e6567617469766500000000000000600082015250565b600061245b601983612082565b915061246682612425565b602082019050919050565b6000602082019050818103600083015261248a8161244e565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124c7601783612082565b91506124d282612491565b602082019050919050565b600060208201905081810360008301526124f6816124ba565b9050919050565b60008151905061250c81612169565b92915050565b60006020828403121561252857612527612132565b5b6000612536848285016124fd565b91505092915050565b60006040820190506125546000830185612322565b6125616020830184612322565b9392505050565b6000819050919050565b6000819050919050565b600061259761259261258d84612568565b612572565b612195565b9050919050565b6125a78161257c565b82525050565b600060c0820190506125c26000830189612322565b6125cf6020830188612241565b6125dc604083018761259e565b6125e9606083018661259e565b6125f66080830185612322565b61260360a0830184612241565b979650505050505050565b60008151905061261d8161219f565b92915050565b60008060006060848603121561263c5761263b612132565b5b600061264a8682870161260e565b935050602061265b8682870161260e565b925050604061266c8682870161260e565b9150509250925092565b600060408201905061268b6000830185612322565b6126986020830184612241565b9392505050565b6126a88161220b565b81146126b357600080fd5b50565b6000815190506126c58161269f565b92915050565b6000602082840312156126e1576126e0612132565b5b60006126ef848285016126b6565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612754602483612082565b915061275f826126f8565b604082019050919050565b6000602082019050818103600083015261278381612747565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006127e6602283612082565b91506127f18261278a565b604082019050919050565b60006020820190508181036000830152612815816127d9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612878602583612082565b91506128838261281c565b604082019050919050565b600060208201905081810360008301526128a78161286b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061290a602383612082565b9150612915826128ae565b604082019050919050565b60006020820190508181036000830152612939816128fd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061299c602983612082565b91506129a782612940565b604082019050919050565b600060208201905081810360008301526129cb8161298f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a0c82612195565b9150612a1783612195565b925082821015612a2a57612a296129d2565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ac881612157565b82525050565b6000612ada8383612abf565b60208301905092915050565b6000602082019050919050565b6000612afe82612a93565b612b088185612a9e565b9350612b1383612aaf565b8060005b83811015612b44578151612b2b8882612ace565b9750612b3683612ae6565b925050600181019050612b17565b5085935050505092915050565b600060a082019050612b666000830188612241565b612b73602083018761259e565b8181036040830152612b858186612af3565b9050612b946060830185612322565b612ba16080830184612241565b9695505050505050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c07602a83612082565b9150612c1282612bab565b604082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c7782612195565b9150612c8283612195565b925082612c9257612c91612c3d565b5b828204905092915050565b6000612ca882612195565b9150612cb383612195565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ce857612ce76129d2565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d29601b83612082565b9150612d3482612cf3565b602082019050919050565b60006020820190508181036000830152612d5881612d1c565b9050919050565b6000612d6a82612195565b9150612d7583612195565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612dae57612dad6129d2565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e15602183612082565b9150612e2082612db9565b604082019050919050565b60006020820190508181036000830152612e4481612e08565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fe54712caa7d43177edb1df27234e388cfc796d8bf8f7f465640f44d577db18f64736f6c63430008090033

Deployed Bytecode Sourcemap

3218:7884:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4453:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5217:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4694:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5370:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4615:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9134:169;;;;;;;;;;;;;:::i;:::-;;4787:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2409:169;;;;;;;;;;;;;:::i;:::-;;2193:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10789:75;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4532:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4921:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6218:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7605:563;;;;;;;;;;;;;:::i;:::-;;5078:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9308:168;;;;;;;;;;;;;:::i;:::-;;4453:74;4490:13;4517:5;;;;;;;;;;;;;;;;;4510:12;;4453:74;:::o;5217:146::-;5292:4;5303:39;5312:12;:10;:12::i;:::-;5326:7;5335:6;5303:8;:39::i;:::-;5354:4;5347:11;;5217:146;;;;:::o;4694:88::-;4749:7;4770;;4763:14;;4694:88;:::o;5370:292::-;5468:4;5479:36;5489:6;5497:9;5508:6;5479:9;:36::i;:::-;5520:121;5529:6;5537:12;:10;:12::i;:::-;5551:89;5589:6;5551:89;;;;;;;;;;;;;;;;;:11;:19;5563:6;5551:19;;;;;;;;;;;;;;;:33;5571:12;:10;:12::i;:::-;5551:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5520:8;:121::i;:::-;5653:4;5646:11;;5370:292;;;;;:::o;4615:74::-;4656:5;4615:74;:::o;9134:169::-;9194:10;;;;;;;;;;;9178:26;;:12;:10;:12::i;:::-;:26;;;9170:35;;;;;;9210:23;9236:24;9254:4;9236:9;:24::i;:::-;9210:50;;9265:33;9282:15;9265:16;:33::i;:::-;9165:138;9134:169::o;4787:129::-;4853:7;4874:37;4894:7;:16;4902:7;4894:16;;;;;;;;;;;;;;;;4874:19;:37::i;:::-;4867:44;;4787:129;;;:::o;2409:169::-;2312:12;:10;:12::i;:::-;2302:22;;:6;;;;;;;;;;:22;;;:54;;;;2344:12;:10;:12::i;:::-;2328:28;;:14;;;;;;;;;;;:28;;;2302:54;2294:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;2510:6:::1;2473:45;;2494:6;::::0;::::1;;;;;;;;2473:45;;;;;;;;;;;;2538:6;::::0;::::1;;;;;;;;2523:14;;:21;;;;;;;;;;;;;;;;;;2566:6;2549;::::0;:24:::1;;;;;;;;;;;;;;;;;;2409:169::o:0;2193:70::-;2231:7;2252:6;;;;;;;;;;;2245:13;;2193:70;:::o;10789:75::-;2312:12;:10;:12::i;:::-;2302:22;;:6;;;;;;;;;;:22;;;:54;;;;2344:12;:10;:12::i;:::-;2328:28;;:14;;;;;;;;;;;:28;;;2302:54;2294:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;10855:4:::1;10847:5;:12;;;;10789:75:::0;:::o;4532:78::-;4571:13;4598:7;;;;;;;;;;;;;;;;;4591:14;;4532:78;:::o;4921:152::-;4999:4;5010:42;5020:12;:10;:12::i;:::-;5034:9;5045:6;5010:9;:42::i;:::-;5064:4;5057:11;;4921:152;;;;:::o;6218:122::-;2312:12;:10;:12::i;:::-;2302:22;;:6;;;;;;;;;;:22;;;:54;;;;2344:12;:10;:12::i;:::-;2328:28;;:14;;;;;;;;;;;:28;;;2302:54;2294:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;6286:1:::1;6280:4;:7;;6272:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;6331:4;6322:8;:13;;;;6218:122:::0;:::o;7605:563::-;2312:12;:10;:12::i;:::-;2302:22;;:6;;;;;;;;;;:22;;;:54;;;;2344:12;:10;:12::i;:::-;2328:28;;:14;;;;;;;;;;;:28;;;2302:54;2294:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;7663:11:::1;;;;;;;;;;;7662:12;7654:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7707:58;7724:4;7739:15;;;;;;;;;;;7757:7;;7707:8;:58::i;:::-;7804:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7786:55;;;7850:4;7857:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7786:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7770:13;;:110;;;;;;;;;;;;;;;;;;7885:15;;;;;;;;;;;:31;;;7925:21;7956:4;7963:24;7981:4;7963:9;:24::i;:::-;7989:1;7992::::0;7995:7:::1;:5;:7::i;:::-;8004:15;7885:135;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8039:4;8025:11;;:18;;;;;;;;;;;;;;;;;;8056:7;;8048:5;:15;;;;8083:4;8069:11;;:18;;;;;;;;;;;;;;;;;;8099:13;;;;;;;;;;;8092:29;;;8130:15;;;;;;;;;;;8148:14;8092:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7605:563::o:0;5078:134::-;5159:7;5180:11;:18;5192:5;5180:18;;;;;;;;;;;;;;;:27;5199:7;5180:27;;;;;;;;;;;;;;;;5173:34;;5078:134;;;;:::o;9308:168::-;9368:10;;;;;;;;;;;9352:26;;:12;:10;:12::i;:::-;:26;;;9344:35;;;;;;9384:26;9413:21;9384:50;;9439:32;9452:18;9439:12;:32::i;:::-;9339:137;9308:168::o;125:89::-;178:7;199:10;192:17;;125:89;:::o;5905:308::-;6009:1;5992:19;;:5;:19;;;;5984:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6084:1;6065:21;;:7;:21;;;;6057:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6160:6;6130:11;:18;6142:5;6130:18;;;;;;;;;;;;;;;:27;6149:7;6130:27;;;;;;;;;;;;;;;:36;;;;6192:7;6176:32;;6185:5;6176:32;;;6201:6;6176:32;;;;;;:::i;:::-;;;;;;;;5905:308;;;:::o;6345:789::-;6443:1;6427:18;;:4;:18;;;;6419:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6514:1;6500:16;;:2;:16;;;;6492:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6578:1;6569:6;:10;6561:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6644:7;:5;:7::i;:::-;6636:15;;:4;:15;;;;:32;;;;;6661:7;:5;:7::i;:::-;6655:13;;:2;:13;;;;6636:32;6632:461;;;6686:13;;;;;;;;;;;6680:19;;:2;:19;;;:55;;;;;6719:15;;;;;;;;;;;6703:32;;:4;:32;;;;6680:55;6676:99;;;6762:5;;6752:6;:15;;6744:24;;;;;;6676:99;6780:28;6811:24;6829:4;6811:9;:24::i;:::-;6780:55;;6846:6;;;;;;;;;;;6845:7;:32;;;;;6864:13;;;;;;;;;;;6856:21;;:4;:21;;;;6845:32;:47;;;;;6881:11;;;;;;;;;;;6845:47;6841:247;;;6901:38;6918:20;6901:16;:38::i;:::-;6946:26;6975:21;6946:50;;7028:1;7007:18;:22;7003:79;;;7039:35;7052:21;7039:12;:35::i;:::-;7003:79;6894:194;6841:247;6670:423;6632:461;7097:32;7112:4;7118:2;7122:6;7097:14;:32::i;:::-;6345:789;;;:::o;1190:169::-;1276:7;1303:1;1298;:6;;1306:12;1290:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1324:9;1340:1;1336;:5;;;;:::i;:::-;1324:17;;1353:1;1346:8;;;1190:169;;;;;:::o;7139:373::-;4106:4;4097:6;;:13;;;;;;;;;;;;;;;;;;7211:21:::1;7249:1;7235:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7211:40;;7274:4;7256;7261:1;7256:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7294:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7284:4;7289:1;7284:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;7321:62;7338:4;7353:15;;;;;;;;;;;7371:11;7321:8;:62::i;:::-;7388:15;;;;;;;;;;;:66;;;7455:11;7468:1;7471:4;7484;7491:15;7388:119;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7206:306;4130:5:::0;4121:6;;:14;;;;;;;;;;;;;;;;;;7139:373;:::o;5667:233::-;5735:7;5768;;5757;:18;;5749:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5827:19;5849:10;:8;:10::i;:::-;5827:32;;5871:24;5883:11;5871:7;:11;;:24;;;;:::i;:::-;5864:31;;;5667:233;;;:::o;7517:83::-;7568:10;;;;;;;;;;;:19;;:27;7588:6;7568:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7517:83;:::o;8173:137::-;8261:44;8279:6;8287:9;8298:6;8261:17;:44::i;:::-;8173:137;;;:::o;10637:149::-;10679:7;10694:15;10711;10730:19;:17;:19::i;:::-;10693:56;;;;10761:20;10773:7;10761;:11;;:20;;;;:::i;:::-;10754:27;;;;10637:149;:::o;1573:123::-;1631:7;1652:39;1656:1;1659;1652:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1645:46;;1573:123;;;;:::o;8315:448::-;8408:15;8425:23;8450:12;8464:23;8489:12;8503:13;8520:19;8531:7;8520:10;:19::i;:::-;8407:132;;;;;;;;;;;;8562:28;8582:7;8562;:15;8570:6;8562:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8544:7;:15;8552:6;8544:15;;;;;;;;;;;;;;;:46;;;;8616:39;8639:15;8616:7;:18;8624:9;8616:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8595:7;:18;8603:9;8595:18;;;;;;;;;;;;;;;:60;;;;8660:16;8670:5;8660:9;:16::i;:::-;8681:23;8693:4;8699;8681:11;:23::i;:::-;8731:9;8714:44;;8723:6;8714:44;;;8742:15;8714:44;;;;;;:::i;:::-;;;;;;;;8402:361;;;;;;8315:448;;;:::o;10869:230::-;10920:7;10929;10943:15;10961:7;;10943:25;;10973:15;10991:7;;10973:25;;11017:20;11029:7;;11017;;:11;;:20;;;;:::i;:::-;11007:7;:30;11003:61;;;11047:7;;11056;;11039:25;;;;;;;;11003:61;11077:7;11086;11069:25;;;;;;10869:230;;;:::o;1701:168::-;1787:7;1813:1;1809;:5;1816:12;1801:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1834:9;1850:1;1846;:5;;;;:::i;:::-;1834:17;;1863:1;1856:8;;;1701:168;;;;;:::o;9481:441::-;9540:7;9549;9558;9567;9576;9585;9600:23;9625:12;9639:13;9656:40;9668:7;9677:8;;9687;;9656:11;:40::i;:::-;9599:97;;;;;;9701:19;9723:10;:8;:10::i;:::-;9701:32;;9739:15;9756:23;9781:12;9797:46;9809:7;9818:4;9824:5;9831:11;9797;:46::i;:::-;9738:105;;;;;;9856:7;9865:15;9882:4;9888:15;9905:4;9911:5;9848:69;;;;;;;;;;;;;;;;;;;9481:441;;;;;;;:::o;1058:127::-;1116:7;1137:43;1141:1;1144;1137:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1130:50;;1058:127;;;;:::o;895:158::-;953:7;967:9;983:1;979;:5;;;;:::i;:::-;967:17;;1002:1;997;:6;;989:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1047:1;1040:8;;;895:158;;;;:::o;8768:190::-;8815:19;8837:10;:8;:10::i;:::-;8815:32;;8852:13;8868:22;8878:11;8868:5;:9;;:22;;;;:::i;:::-;8852:38;;8920:33;8947:5;8920:7;:22;8936:4;8920:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8895:7;:22;8911:4;8895:22;;;;;;;;;;;;;;;:58;;;;8810:148;;8768:190;:::o;8963:132::-;9035:17;9047:4;9035:7;;:11;;:17;;;;:::i;:::-;9025:7;:27;;;;9070:20;9085:4;9070:10;;:14;;:20;;;;:::i;:::-;9057:10;:33;;;;8963:132;;:::o;9927:324::-;10020:7;10029;10038;10052:12;10067:28;10091:3;10067:19;10079:6;10067:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10052:43;;10100:13;10116:29;10141:3;10116:20;10128:7;10116;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10100:45;;10150:23;10176:28;10198:5;10176:17;10188:4;10176:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10150:54;;10217:15;10234:4;10240:5;10209:37;;;;;;;;;9927:324;;;;;;;:::o;10256:376::-;10366:7;10375;10384;10398:15;10416:24;10428:11;10416:7;:11;;:24;;;;:::i;:::-;10398:42;;10445:12;10460:21;10469:11;10460:4;:8;;:21;;;;:::i;:::-;10445:36;;10486:13;10502:22;10512:11;10502:5;:9;;:22;;;;:::i;:::-;10486:38;;10529:23;10555:28;10577:5;10555:17;10567:4;10555:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10529:54;;10596:7;10605:15;10622:4;10588:39;;;;;;;;;;10256:376;;;;;;;;:::o;1364:204::-;1422:7;1445:1;1440;:6;1436:32;;;1461:1;1454:8;;;;1436:32;1472:9;1488:1;1484;:5;;;;:::i;:::-;1472:17;;1511:1;1506;1502;:5;;;;:::i;:::-;:10;1494:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1562:1;1555:8;;;1364:204;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:118::-;5323:24;5341:5;5323:24;:::i;:::-;5318:3;5311:37;5236:118;;:::o;5360:222::-;5453:4;5491:2;5480:9;5476:18;5468:26;;5504:71;5572:1;5561:9;5557:17;5548:6;5504:71;:::i;:::-;5360:222;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:182::-;6543:34;6539:1;6531:6;6527:14;6520:58;6403:182;:::o;6591:366::-;6733:3;6754:67;6818:2;6813:3;6754:67;:::i;:::-;6747:74;;6830:93;6919:3;6830:93;:::i;:::-;6948:2;6943:3;6939:12;6932:19;;6591:366;;;:::o;6963:419::-;7129:4;7167:2;7156:9;7152:18;7144:26;;7216:9;7210:4;7206:20;7202:1;7191:9;7187:17;7180:47;7244:131;7370:4;7244:131;:::i;:::-;7236:139;;6963:419;;;:::o;7388:175::-;7528:27;7524:1;7516:6;7512:14;7505:51;7388:175;:::o;7569:366::-;7711:3;7732:67;7796:2;7791:3;7732:67;:::i;:::-;7725:74;;7808:93;7897:3;7808:93;:::i;:::-;7926:2;7921:3;7917:12;7910:19;;7569:366;;;:::o;7941:419::-;8107:4;8145:2;8134:9;8130:18;8122:26;;8194:9;8188:4;8184:20;8180:1;8169:9;8165:17;8158:47;8222:131;8348:4;8222:131;:::i;:::-;8214:139;;7941:419;;;:::o;8366:173::-;8506:25;8502:1;8494:6;8490:14;8483:49;8366:173;:::o;8545:366::-;8687:3;8708:67;8772:2;8767:3;8708:67;:::i;:::-;8701:74;;8784:93;8873:3;8784:93;:::i;:::-;8902:2;8897:3;8893:12;8886:19;;8545:366;;;:::o;8917:419::-;9083:4;9121:2;9110:9;9106:18;9098:26;;9170:9;9164:4;9160:20;9156:1;9145:9;9141:17;9134:47;9198:131;9324:4;9198:131;:::i;:::-;9190:139;;8917:419;;;:::o;9342:143::-;9399:5;9430:6;9424:13;9415:22;;9446:33;9473:5;9446:33;:::i;:::-;9342:143;;;;:::o;9491:351::-;9561:6;9610:2;9598:9;9589:7;9585:23;9581:32;9578:119;;;9616:79;;:::i;:::-;9578:119;9736:1;9761:64;9817:7;9808:6;9797:9;9793:22;9761:64;:::i;:::-;9751:74;;9707:128;9491:351;;;;:::o;9848:332::-;9969:4;10007:2;9996:9;9992:18;9984:26;;10020:71;10088:1;10077:9;10073:17;10064:6;10020:71;:::i;:::-;10101:72;10169:2;10158:9;10154:18;10145:6;10101:72;:::i;:::-;9848:332;;;;;:::o;10186:85::-;10231:7;10260:5;10249:16;;10186:85;;;:::o;10277:60::-;10305:3;10326:5;10319:12;;10277:60;;;:::o;10343:158::-;10401:9;10434:61;10452:42;10461:32;10487:5;10461:32;:::i;:::-;10452:42;:::i;:::-;10434:61;:::i;:::-;10421:74;;10343:158;;;:::o;10507:147::-;10602:45;10641:5;10602:45;:::i;:::-;10597:3;10590:58;10507:147;;:::o;10660:807::-;10909:4;10947:3;10936:9;10932:19;10924:27;;10961:71;11029:1;11018:9;11014:17;11005:6;10961:71;:::i;:::-;11042:72;11110:2;11099:9;11095:18;11086:6;11042:72;:::i;:::-;11124:80;11200:2;11189:9;11185:18;11176:6;11124:80;:::i;:::-;11214;11290:2;11279:9;11275:18;11266:6;11214:80;:::i;:::-;11304:73;11372:3;11361:9;11357:19;11348:6;11304:73;:::i;:::-;11387;11455:3;11444:9;11440:19;11431:6;11387:73;:::i;:::-;10660:807;;;;;;;;;:::o;11473:143::-;11530:5;11561:6;11555:13;11546:22;;11577:33;11604:5;11577:33;:::i;:::-;11473:143;;;;:::o;11622:663::-;11710:6;11718;11726;11775:2;11763:9;11754:7;11750:23;11746:32;11743:119;;;11781:79;;:::i;:::-;11743:119;11901:1;11926:64;11982:7;11973:6;11962:9;11958:22;11926:64;:::i;:::-;11916:74;;11872:128;12039:2;12065:64;12121:7;12112:6;12101:9;12097:22;12065:64;:::i;:::-;12055:74;;12010:129;12178:2;12204:64;12260:7;12251:6;12240:9;12236:22;12204:64;:::i;:::-;12194:74;;12149:129;11622:663;;;;;:::o;12291:332::-;12412:4;12450:2;12439:9;12435:18;12427:26;;12463:71;12531:1;12520:9;12516:17;12507:6;12463:71;:::i;:::-;12544:72;12612:2;12601:9;12597:18;12588:6;12544:72;:::i;:::-;12291:332;;;;;:::o;12629:116::-;12699:21;12714:5;12699:21;:::i;:::-;12692:5;12689:32;12679:60;;12735:1;12732;12725:12;12679:60;12629:116;:::o;12751:137::-;12805:5;12836:6;12830:13;12821:22;;12852:30;12876:5;12852:30;:::i;:::-;12751:137;;;;:::o;12894:345::-;12961:6;13010:2;12998:9;12989:7;12985:23;12981:32;12978:119;;;13016:79;;:::i;:::-;12978:119;13136:1;13161:61;13214:7;13205:6;13194:9;13190:22;13161:61;:::i;:::-;13151:71;;13107:125;12894:345;;;;:::o;13245:223::-;13385:34;13381:1;13373:6;13369:14;13362:58;13454:6;13449:2;13441:6;13437:15;13430:31;13245:223;:::o;13474:366::-;13616:3;13637:67;13701:2;13696:3;13637:67;:::i;:::-;13630:74;;13713:93;13802:3;13713:93;:::i;:::-;13831:2;13826:3;13822:12;13815:19;;13474:366;;;:::o;13846:419::-;14012:4;14050:2;14039:9;14035:18;14027:26;;14099:9;14093:4;14089:20;14085:1;14074:9;14070:17;14063:47;14127:131;14253:4;14127:131;:::i;:::-;14119:139;;13846:419;;;:::o;14271:221::-;14411:34;14407:1;14399:6;14395:14;14388:58;14480:4;14475:2;14467:6;14463:15;14456:29;14271:221;:::o;14498:366::-;14640:3;14661:67;14725:2;14720:3;14661:67;:::i;:::-;14654:74;;14737:93;14826:3;14737:93;:::i;:::-;14855:2;14850:3;14846:12;14839:19;;14498:366;;;:::o;14870:419::-;15036:4;15074:2;15063:9;15059:18;15051:26;;15123:9;15117:4;15113:20;15109:1;15098:9;15094:17;15087:47;15151:131;15277:4;15151:131;:::i;:::-;15143:139;;14870:419;;;:::o;15295:224::-;15435:34;15431:1;15423:6;15419:14;15412:58;15504:7;15499:2;15491:6;15487:15;15480:32;15295:224;:::o;15525:366::-;15667:3;15688:67;15752:2;15747:3;15688:67;:::i;:::-;15681:74;;15764:93;15853:3;15764:93;:::i;:::-;15882:2;15877:3;15873:12;15866:19;;15525:366;;;:::o;15897:419::-;16063:4;16101:2;16090:9;16086:18;16078:26;;16150:9;16144:4;16140:20;16136:1;16125:9;16121:17;16114:47;16178:131;16304:4;16178:131;:::i;:::-;16170:139;;15897:419;;;:::o;16322:222::-;16462:34;16458:1;16450:6;16446:14;16439:58;16531:5;16526:2;16518:6;16514:15;16507:30;16322:222;:::o;16550:366::-;16692:3;16713:67;16777:2;16772:3;16713:67;:::i;:::-;16706:74;;16789:93;16878:3;16789:93;:::i;:::-;16907:2;16902:3;16898:12;16891:19;;16550:366;;;:::o;16922:419::-;17088:4;17126:2;17115:9;17111:18;17103:26;;17175:9;17169:4;17165:20;17161:1;17150:9;17146:17;17139:47;17203:131;17329:4;17203:131;:::i;:::-;17195:139;;16922:419;;;:::o;17347:228::-;17487:34;17483:1;17475:6;17471:14;17464:58;17556:11;17551:2;17543:6;17539:15;17532:36;17347:228;:::o;17581:366::-;17723:3;17744:67;17808:2;17803:3;17744:67;:::i;:::-;17737:74;;17820:93;17909:3;17820:93;:::i;:::-;17938:2;17933:3;17929:12;17922:19;;17581:366;;;:::o;17953:419::-;18119:4;18157:2;18146:9;18142:18;18134:26;;18206:9;18200:4;18196:20;18192:1;18181:9;18177:17;18170:47;18234:131;18360:4;18234:131;:::i;:::-;18226:139;;17953:419;;;:::o;18378:180::-;18426:77;18423:1;18416:88;18523:4;18520:1;18513:15;18547:4;18544:1;18537:15;18564:191;18604:4;18624:20;18642:1;18624:20;:::i;:::-;18619:25;;18658:20;18676:1;18658:20;:::i;:::-;18653:25;;18697:1;18694;18691:8;18688:34;;;18702:18;;:::i;:::-;18688:34;18747:1;18744;18740:9;18732:17;;18564:191;;;;:::o;18761:180::-;18809:77;18806:1;18799:88;18906:4;18903:1;18896:15;18930:4;18927:1;18920:15;18947:180;18995:77;18992:1;18985:88;19092:4;19089:1;19082:15;19116:4;19113:1;19106:15;19133:114;19200:6;19234:5;19228:12;19218:22;;19133:114;;;:::o;19253:184::-;19352:11;19386:6;19381:3;19374:19;19426:4;19421:3;19417:14;19402:29;;19253:184;;;;:::o;19443:132::-;19510:4;19533:3;19525:11;;19563:4;19558:3;19554:14;19546:22;;19443:132;;;:::o;19581:108::-;19658:24;19676:5;19658:24;:::i;:::-;19653:3;19646:37;19581:108;;:::o;19695:179::-;19764:10;19785:46;19827:3;19819:6;19785:46;:::i;:::-;19863:4;19858:3;19854:14;19840:28;;19695:179;;;;:::o;19880:113::-;19950:4;19982;19977:3;19973:14;19965:22;;19880:113;;;:::o;20029:732::-;20148:3;20177:54;20225:5;20177:54;:::i;:::-;20247:86;20326:6;20321:3;20247:86;:::i;:::-;20240:93;;20357:56;20407:5;20357:56;:::i;:::-;20436:7;20467:1;20452:284;20477:6;20474:1;20471:13;20452:284;;;20553:6;20547:13;20580:63;20639:3;20624:13;20580:63;:::i;:::-;20573:70;;20666:60;20719:6;20666:60;:::i;:::-;20656:70;;20512:224;20499:1;20496;20492:9;20487:14;;20452:284;;;20456:14;20752:3;20745:10;;20153:608;;;20029:732;;;;:::o;20767:831::-;21030:4;21068:3;21057:9;21053:19;21045:27;;21082:71;21150:1;21139:9;21135:17;21126:6;21082:71;:::i;:::-;21163:80;21239:2;21228:9;21224:18;21215:6;21163:80;:::i;:::-;21290:9;21284:4;21280:20;21275:2;21264:9;21260:18;21253:48;21318:108;21421:4;21412:6;21318:108;:::i;:::-;21310:116;;21436:72;21504:2;21493:9;21489:18;21480:6;21436:72;:::i;:::-;21518:73;21586:3;21575:9;21571:19;21562:6;21518:73;:::i;:::-;20767:831;;;;;;;;:::o;21604:229::-;21744:34;21740:1;21732:6;21728:14;21721:58;21813:12;21808:2;21800:6;21796:15;21789:37;21604:229;:::o;21839:366::-;21981:3;22002:67;22066:2;22061:3;22002:67;:::i;:::-;21995:74;;22078:93;22167:3;22078:93;:::i;:::-;22196:2;22191:3;22187:12;22180:19;;21839:366;;;:::o;22211:419::-;22377:4;22415:2;22404:9;22400:18;22392:26;;22464:9;22458:4;22454:20;22450:1;22439:9;22435:17;22428:47;22492:131;22618:4;22492:131;:::i;:::-;22484:139;;22211:419;;;:::o;22636:180::-;22684:77;22681:1;22674:88;22781:4;22778:1;22771:15;22805:4;22802:1;22795:15;22822:185;22862:1;22879:20;22897:1;22879:20;:::i;:::-;22874:25;;22913:20;22931:1;22913:20;:::i;:::-;22908:25;;22952:1;22942:35;;22957:18;;:::i;:::-;22942:35;22999:1;22996;22992:9;22987:14;;22822:185;;;;:::o;23013:305::-;23053:3;23072:20;23090:1;23072:20;:::i;:::-;23067:25;;23106:20;23124:1;23106:20;:::i;:::-;23101:25;;23260:1;23192:66;23188:74;23185:1;23182:81;23179:107;;;23266:18;;:::i;:::-;23179:107;23310:1;23307;23303:9;23296:16;;23013:305;;;;:::o;23324:177::-;23464:29;23460:1;23452:6;23448:14;23441:53;23324:177;:::o;23507:366::-;23649:3;23670:67;23734:2;23729:3;23670:67;:::i;:::-;23663:74;;23746:93;23835:3;23746:93;:::i;:::-;23864:2;23859:3;23855:12;23848:19;;23507:366;;;:::o;23879:419::-;24045:4;24083:2;24072:9;24068:18;24060:26;;24132:9;24126:4;24122:20;24118:1;24107:9;24103:17;24096:47;24160:131;24286:4;24160:131;:::i;:::-;24152:139;;23879:419;;;:::o;24304:348::-;24344:7;24367:20;24385:1;24367:20;:::i;:::-;24362:25;;24401:20;24419:1;24401:20;:::i;:::-;24396:25;;24589:1;24521:66;24517:74;24514:1;24511:81;24506:1;24499:9;24492:17;24488:105;24485:131;;;24596:18;;:::i;:::-;24485:131;24644:1;24641;24637:9;24626:20;;24304:348;;;;:::o;24658:220::-;24798:34;24794:1;24786:6;24782:14;24775:58;24867:3;24862:2;24854:6;24850:15;24843:28;24658:220;:::o;24884:366::-;25026:3;25047:67;25111:2;25106:3;25047:67;:::i;:::-;25040:74;;25123:93;25212:3;25123:93;:::i;:::-;25241:2;25236:3;25232:12;25225:19;;24884:366;;;:::o;25256:419::-;25422:4;25460:2;25449:9;25445:18;25437:26;;25509:9;25503:4;25499:20;25495:1;25484:9;25480:17;25473:47;25537:131;25663:4;25537:131;:::i;:::-;25529:139;;25256:419;;;:::o

Swarm Source

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