ETH Price: $3,070.67 (-7.11%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve156105762022-09-25 13:06:23854 days ago1664111183IN
0xb140E29B...981afd2Ef
0 ETH0.000200278.03303933
Approve136073912021-11-13 11:23:481170 days ago1636802628IN
0xb140E29B...981afd2Ef
0 ETH0.00510512108.1227042
Approve135855012021-11-10 1:08:311174 days ago1636506511IN
0xb140E29B...981afd2Ef
0 ETH0.00698483147.93373491
Approve135745652021-11-08 7:50:101176 days ago1636357810IN
0xb140E29B...981afd2Ef
0 ETH0.00684632145
Approve135740202021-11-08 5:44:361176 days ago1636350276IN
0xb140E29B...981afd2Ef
0 ETH0.0037246278.88484564
Approve135726012021-11-08 0:23:381176 days ago1636331018IN
0xb140E29B...981afd2Ef
0 ETH0.00303126121.58129316
Approve135724602021-11-07 23:54:451176 days ago1636329285IN
0xb140E29B...981afd2Ef
0 ETH0.00757795160.49552708
Approve135715652021-11-07 20:34:431176 days ago1636317283IN
0xb140E29B...981afd2Ef
0 ETH0.00512265108.49404679
Approve135715042021-11-07 20:22:141176 days ago1636316534IN
0xb140E29B...981afd2Ef
0 ETH0.00672141142.35450749
Approve135714962021-11-07 20:20:081176 days ago1636316408IN
0xb140E29B...981afd2Ef
0 ETH0.00641085135.77721924
Approve135710812021-11-07 18:49:201176 days ago1636310960IN
0xb140E29B...981afd2Ef
0 ETH0.00522117110.58064926
Approve135710042021-11-07 18:35:231176 days ago1636310123IN
0xb140E29B...981afd2Ef
0 ETH0.00497961105.46466537
Approve135706552021-11-07 17:19:181176 days ago1636305558IN
0xb140E29B...981afd2Ef
0 ETH0.0046052797.5364027
Approve135706472021-11-07 17:17:421176 days ago1636305462IN
0xb140E29B...981afd2Ef
0 ETH0.0039609683.89030919
Approve135706392021-11-07 17:16:581176 days ago1636305418IN
0xb140E29B...981afd2Ef
0 ETH0.0056523119.71156938
Approve135706142021-11-07 17:11:071176 days ago1636305067IN
0xb140E29B...981afd2Ef
0 ETH0.00482125102.11054984
Approve135706032021-11-07 17:09:251176 days ago1636304965IN
0xb140E29B...981afd2Ef
0 ETH0.0060993129.17884815
Approve135706012021-11-07 17:08:531176 days ago1636304933IN
0xb140E29B...981afd2Ef
0 ETH0.00628169133.04168603
Approve135705962021-11-07 17:07:481176 days ago1636304868IN
0xb140E29B...981afd2Ef
0 ETH0.00603167127.7463156
Approve135705642021-11-07 17:01:061176 days ago1636304466IN
0xb140E29B...981afd2Ef
0 ETH0.00556554117.87403077
Approve135705372021-11-07 16:55:271176 days ago1636304127IN
0xb140E29B...981afd2Ef
0 ETH0.00524385111.06096789
Approve135704902021-11-07 16:42:371176 days ago1636303357IN
0xb140E29B...981afd2Ef
0 ETH0.00522545110.67128212
Approve135704832021-11-07 16:40:571176 days ago1636303257IN
0xb140E29B...981afd2Ef
0 ETH0.0046652998.80760282
Approve135704822021-11-07 16:40:501176 days ago1636303250IN
0xb140E29B...981afd2Ef
0 ETH0.0070824150
Approve135704692021-11-07 16:38:311176 days ago1636303111IN
0xb140E29B...981afd2Ef
0 ETH0.00462797.99655656
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
136025092021-11-12 17:00:041171 days ago1636736404
0xb140E29B...981afd2Ef
0.00502705 ETH
136025092021-11-12 17:00:041171 days ago1636736404
0xb140E29B...981afd2Ef
0.00502705 ETH
135890212021-11-10 14:26:461173 days ago1636554406
0xb140E29B...981afd2Ef
0.00984763 ETH
135890212021-11-10 14:26:461173 days ago1636554406
0xb140E29B...981afd2Ef
0.00984763 ETH
135752802021-11-08 10:41:411175 days ago1636368101
0xb140E29B...981afd2Ef
0.00481389 ETH
135752802021-11-08 10:41:411175 days ago1636368101
0xb140E29B...981afd2Ef
0.00481389 ETH
135745952021-11-08 7:57:041176 days ago1636358224
0xb140E29B...981afd2Ef
0.00550558 ETH
135745952021-11-08 7:57:041176 days ago1636358224
0xb140E29B...981afd2Ef
0.00550558 ETH
135740292021-11-08 5:46:011176 days ago1636350361
0xb140E29B...981afd2Ef
0.00717637 ETH
135740292021-11-08 5:46:011176 days ago1636350361
0xb140E29B...981afd2Ef
0.00717637 ETH
135729402021-11-08 1:36:041176 days ago1636335364
0xb140E29B...981afd2Ef
0.03317018 ETH
135729402021-11-08 1:36:041176 days ago1636335364
0xb140E29B...981afd2Ef
0.03317018 ETH
135728982021-11-08 1:28:081176 days ago1636334888
0xb140E29B...981afd2Ef
0.05170039 ETH
135728982021-11-08 1:28:081176 days ago1636334888
0xb140E29B...981afd2Ef
0.05170039 ETH
135724682021-11-07 23:55:411176 days ago1636329341
0xb140E29B...981afd2Ef
0.00874567 ETH
135724682021-11-07 23:55:411176 days ago1636329341
0xb140E29B...981afd2Ef
0.00874567 ETH
135720252021-11-07 22:13:271176 days ago1636323207
0xb140E29B...981afd2Ef
0.01742353 ETH
135720252021-11-07 22:13:271176 days ago1636323207
0xb140E29B...981afd2Ef
0.01742353 ETH
135716812021-11-07 20:58:421176 days ago1636318722
0xb140E29B...981afd2Ef
0.00592857 ETH
135716812021-11-07 20:58:421176 days ago1636318722
0xb140E29B...981afd2Ef
0.00592857 ETH
135716762021-11-07 20:57:431176 days ago1636318663
0xb140E29B...981afd2Ef
0.01178772 ETH
135716762021-11-07 20:57:431176 days ago1636318663
0xb140E29B...981afd2Ef
0.01178772 ETH
135716312021-11-07 20:48:171176 days ago1636318097
0xb140E29B...981afd2Ef
0.01655408 ETH
135716312021-11-07 20:48:171176 days ago1636318097
0xb140E29B...981afd2Ef
0.01655408 ETH
135716072021-11-07 20:43:431176 days ago1636317823
0xb140E29B...981afd2Ef
0.00740888 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UlquiorraToken

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-07
*/

//SPDX-License-Identifier: MIT
// Telegram: t.me/UlquiorraToken

pragma solidity ^0.8.7;

uint256 constant INITIAL_TAX=9;

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

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

	uint256 private _burnFee;
	uint256 private _taxFee;
	address payable private _taxWallet;


	string private constant _name = "Ulquiorra";
	string private constant _symbol = "ULQUIORRA";
	uint8 private constant _decimals = 6;

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

	modifier lockTheSwap {
		_inSwap = true;
		_;
		_inSwap = false;
	}
	constructor () {
		_taxWallet = payable(_msgSender());
		_burnFee = 2;
		_taxFee = INITIAL_TAX;
		_rOwned[address(this)] = _rTotal;
		_isExcludedFromFee[owner()] = true;
		_isExcludedFromFee[address(this)] = true;
		_isExcludedFromFee[_taxWallet] = true;
		emit Transfer(address(0x0), _msgSender(), _tTotal);
	}

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

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

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

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

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

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

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

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

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


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

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

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



		if (from != owner() && to != owner()) {
			uint256 contractTokenBalance = balanceOf(address(this));
			if (!_inSwap && from != _pair && _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] = _uniswap.WETH();
		_approve(address(this), address(_uniswap), tokenAmount);
		_uniswap.swapExactTokensForETHSupportingFeeOnTransferTokens(
			tokenAmount,
			0,
			path,
			address(this),
			block.timestamp
		);
	}
	modifier onlyTaxCollector() {
		require(_taxWallet == _msgSender() );
		_;
	}


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

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

	function openTrading() external onlyOwner() {
		require(!_canTrade,"trading is already open");
		IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
		_uniswap = _uniswapV2Router;
		_approve(address(this), address(_uniswap), _tTotal);
		_pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
		_uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
		_swapEnabled = true;


		_canTrade = true;
		IERC20(_pair).approve(address(_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, _burnFee, _taxFee);
		uint256 currentRate =  _getRate();
		(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
		return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
	}

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

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

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

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

Contract Security Audit

Contract ABI

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

6080604052655af3107a40006000196200001a919062000426565b600019620000299190620003e1565b6005556000600b60156101000a81548160ff0219169083151502179055506000600b60166101000a81548160ff0219169083151502179055503480156200006f57600080fd5b506000620000826200038260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001306200038260201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060026007819055506009600881905550600554600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620001dc6200038a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200030f6200038260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef655af3107a4000604051620003749190620003c4565b60405180910390a3620004bc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003be816200041c565b82525050565b6000602082019050620003db6000830184620003b3565b92915050565b6000620003ee826200041c565b9150620003fb836200041c565b9250828210156200041157620004106200045e565b5b828203905092915050565b6000819050919050565b600062000433826200041c565b915062000440836200041c565b9250826200045357620004526200048d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b612a4080620004cc6000396000f3fe6080604052600436106100ec5760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102dd578063c9567bf91461031a578063dd62ed3e14610331578063f42938901461036e576100f3565b8063715018a6146102475780638da5cb5b1461025e57806395d89b41146102895780639e752b95146102b4576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c857806351bc3c85146101f357806370a082311461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610385565b60405161011a9190612231565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611df4565b6103c2565b6040516101579190612216565b60405180910390f35b34801561016c57600080fd5b506101756103e0565b6040516101829190612393565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611da1565b6103ee565b6040516101bf9190612216565b60405180910390f35b3480156101d457600080fd5b506101dd6104c7565b6040516101ea9190612408565b60405180910390f35b3480156101ff57600080fd5b506102086104d0565b005b34801561021657600080fd5b50610231600480360381019061022c9190611d07565b61054a565b60405161023e9190612393565b60405180910390f35b34801561025357600080fd5b5061025c61059b565b005b34801561026a57600080fd5b506102736106ee565b6040516102809190612148565b60405180910390f35b34801561029557600080fd5b5061029e610717565b6040516102ab9190612231565b60405180910390f35b3480156102c057600080fd5b506102db60048036038101906102d69190611e61565b610754565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190611df4565b6107cc565b6040516103119190612216565b60405180910390f35b34801561032657600080fd5b5061032f6107ea565b005b34801561033d57600080fd5b5061035860048036038101906103539190611d61565b610cf7565b6040516103659190612393565b60405180910390f35b34801561037a57600080fd5b50610383610d7e565b005b60606040518060400160405280600981526020017f556c7175696f7272610000000000000000000000000000000000000000000000815250905090565b60006103d66103cf610df0565b8484610df8565b6001905092915050565b6000655af3107a4000905090565b60006103fb848484610fc3565b6104bc84610407610df0565b6104b7856040518060600160405280602881526020016129e360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061046d610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122b9092919063ffffffff16565b610df8565b600190509392505050565b60006006905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610511610df0565b73ffffffffffffffffffffffffffffffffffffffff161461053157600080fd5b600061053c3061054a565b90506105478161128f565b50565b6000610594600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611517565b9050919050565b6105a3610df0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610630576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610627906122f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f554c5155494f5252410000000000000000000000000000000000000000000000815250905090565b61075c610df0565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b557600080fd5b600981106107c257600080fd5b8060088190555050565b60006107e06107d9610df0565b8484610fc3565b6001905092915050565b6107f2610df0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610876906122f3565b60405180910390fd5b600b60149054906101000a900460ff16156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690612373565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061095c30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16655af3107a4000610df8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a257600080fd5b505afa1580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da9190611d34565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3c57600080fd5b505afa158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190611d34565b6040518363ffffffff1660e01b8152600401610a91929190612163565b602060405180830381600087803b158015610aab57600080fd5b505af1158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae39190611d34565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b6c3061054a565b600080610b776106ee565b426040518863ffffffff1660e01b8152600401610b99969594939291906121b5565b6060604051808303818588803b158015610bb257600080fd5b505af1158015610bc6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610beb9190611e8e565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ca192919061218c565b602060405180830381600087803b158015610cbb57600080fd5b505af1158015610ccf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf39190611e34565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dbf610df0565b73ffffffffffffffffffffffffffffffffffffffff1614610ddf57600080fd5b6000479050610ded81611585565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f90612353565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90612293565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb69190612393565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90612333565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a90612253565b60405180910390fd5b600081116110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90612313565b60405180910390fd5b6110ee6106ee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561115c575061112c6106ee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561121b57600061116c3061054a565b9050600b60159054906101000a900460ff161580156111d95750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111f15750600b60169054906101000a900460ff165b15611219576111ff8161128f565b600047905060008111156112175761121647611585565b5b505b505b6112268383836115f1565b505050565b6000838311158290611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a9190612231565b60405180910390fd5b50600083856112829190612559565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112c7576112c66126b4565b5b6040519080825280602002602001820160405280156112f55781602001602082028036833780820191505090505b509050308160008151811061130d5761130c612685565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611d34565b816001815181106113fb576113fa612685565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061146230600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610df8565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114c69594939291906123ae565b600060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b600060055482111561155e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155590612273565b60405180910390fd5b6000611568611601565b905061157d818461162c90919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115ed573d6000803e3d6000fd5b5050565b6115fc838383611676565b505050565b600080600061160e611841565b91509150611625818361162c90919063ffffffff16565b9250505090565b600061166e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061189a565b905092915050565b600080600080600080611688876118fd565b9550955095509550955095506116e686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461196590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061177b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119af90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117c781611a0d565b6117d18483611aca565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161182e9190612393565b60405180910390a3505050505050505050565b600080600060055490506000655af3107a40009050611871655af3107a400060055461162c90919063ffffffff16565b82101561188d57600554655af3107a4000935093505050611896565b81819350935050505b9091565b600080831182906118e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d89190612231565b60405180910390fd5b50600083856118f091906124ce565b9050809150509392505050565b600080600080600080600080600061191a8a600754600854611b04565b925092509250600061192a611601565b9050600080600061193d8e878787611b9a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006119a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061122b565b905092915050565b60008082846119be9190612478565b905083811015611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa906122b3565b60405180910390fd5b8091505092915050565b6000611a17611601565b90506000611a2e8284611c2390919063ffffffff16565b9050611a8281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119af90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611adf8260055461196590919063ffffffff16565b600581905550611afa816006546119af90919063ffffffff16565b6006819055505050565b600080600080611b306064611b22888a611c2390919063ffffffff16565b61162c90919063ffffffff16565b90506000611b5a6064611b4c888b611c2390919063ffffffff16565b61162c90919063ffffffff16565b90506000611b8382611b75858c61196590919063ffffffff16565b61196590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611bb38589611c2390919063ffffffff16565b90506000611bca8689611c2390919063ffffffff16565b90506000611be18789611c2390919063ffffffff16565b90506000611c0a82611bfc858761196590919063ffffffff16565b61196590919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611c365760009050611c98565b60008284611c4491906124ff565b9050828482611c5391906124ce565b14611c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8a906122d3565b60405180910390fd5b809150505b92915050565b600081359050611cad8161299d565b92915050565b600081519050611cc28161299d565b92915050565b600081519050611cd7816129b4565b92915050565b600081359050611cec816129cb565b92915050565b600081519050611d01816129cb565b92915050565b600060208284031215611d1d57611d1c6126e3565b5b6000611d2b84828501611c9e565b91505092915050565b600060208284031215611d4a57611d496126e3565b5b6000611d5884828501611cb3565b91505092915050565b60008060408385031215611d7857611d776126e3565b5b6000611d8685828601611c9e565b9250506020611d9785828601611c9e565b9150509250929050565b600080600060608486031215611dba57611db96126e3565b5b6000611dc886828701611c9e565b9350506020611dd986828701611c9e565b9250506040611dea86828701611cdd565b9150509250925092565b60008060408385031215611e0b57611e0a6126e3565b5b6000611e1985828601611c9e565b9250506020611e2a85828601611cdd565b9150509250929050565b600060208284031215611e4a57611e496126e3565b5b6000611e5884828501611cc8565b91505092915050565b600060208284031215611e7757611e766126e3565b5b6000611e8584828501611cdd565b91505092915050565b600080600060608486031215611ea757611ea66126e3565b5b6000611eb586828701611cf2565b9350506020611ec686828701611cf2565b9250506040611ed786828701611cf2565b9150509250925092565b6000611eed8383611ef9565b60208301905092915050565b611f028161258d565b82525050565b611f118161258d565b82525050565b6000611f2282612433565b611f2c8185612456565b9350611f3783612423565b8060005b83811015611f68578151611f4f8882611ee1565b9750611f5a83612449565b925050600181019050611f3b565b5085935050505092915050565b611f7e8161259f565b82525050565b611f8d816125e2565b82525050565b6000611f9e8261243e565b611fa88185612467565b9350611fb88185602086016125f4565b611fc1816126e8565b840191505092915050565b6000611fd9602383612467565b9150611fe4826126f9565b604082019050919050565b6000611ffc602a83612467565b915061200782612748565b604082019050919050565b600061201f602283612467565b915061202a82612797565b604082019050919050565b6000612042601b83612467565b915061204d826127e6565b602082019050919050565b6000612065602183612467565b91506120708261280f565b604082019050919050565b6000612088602083612467565b91506120938261285e565b602082019050919050565b60006120ab602983612467565b91506120b682612887565b604082019050919050565b60006120ce602583612467565b91506120d9826128d6565b604082019050919050565b60006120f1602483612467565b91506120fc82612925565b604082019050919050565b6000612114601783612467565b915061211f82612974565b602082019050919050565b612133816125cb565b82525050565b612142816125d5565b82525050565b600060208201905061215d6000830184611f08565b92915050565b60006040820190506121786000830185611f08565b6121856020830184611f08565b9392505050565b60006040820190506121a16000830185611f08565b6121ae602083018461212a565b9392505050565b600060c0820190506121ca6000830189611f08565b6121d7602083018861212a565b6121e46040830187611f84565b6121f16060830186611f84565b6121fe6080830185611f08565b61220b60a083018461212a565b979650505050505050565b600060208201905061222b6000830184611f75565b92915050565b6000602082019050818103600083015261224b8184611f93565b905092915050565b6000602082019050818103600083015261226c81611fcc565b9050919050565b6000602082019050818103600083015261228c81611fef565b9050919050565b600060208201905081810360008301526122ac81612012565b9050919050565b600060208201905081810360008301526122cc81612035565b9050919050565b600060208201905081810360008301526122ec81612058565b9050919050565b6000602082019050818103600083015261230c8161207b565b9050919050565b6000602082019050818103600083015261232c8161209e565b9050919050565b6000602082019050818103600083015261234c816120c1565b9050919050565b6000602082019050818103600083015261236c816120e4565b9050919050565b6000602082019050818103600083015261238c81612107565b9050919050565b60006020820190506123a8600083018461212a565b92915050565b600060a0820190506123c3600083018861212a565b6123d06020830187611f84565b81810360408301526123e28186611f17565b90506123f16060830185611f08565b6123fe608083018461212a565b9695505050505050565b600060208201905061241d6000830184612139565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612483826125cb565b915061248e836125cb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124c3576124c2612627565b5b828201905092915050565b60006124d9826125cb565b91506124e4836125cb565b9250826124f4576124f3612656565b5b828204905092915050565b600061250a826125cb565b9150612515836125cb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561254e5761254d612627565b5b828202905092915050565b6000612564826125cb565b915061256f836125cb565b92508282101561258257612581612627565b5b828203905092915050565b6000612598826125ab565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006125ed826125cb565b9050919050565b60005b838110156126125780820151818401526020810190506125f7565b83811115612621576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6129a68161258d565b81146129b157600080fd5b50565b6129bd8161259f565b81146129c857600080fd5b50565b6129d4816125cb565b81146129df57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122042b478378a6ab61f1fddc6d7e4887fd8085f06d5fbba5829999ad64e7bbd27ab64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102dd578063c9567bf91461031a578063dd62ed3e14610331578063f42938901461036e576100f3565b8063715018a6146102475780638da5cb5b1461025e57806395d89b41146102895780639e752b95146102b4576100f3565b806323b872dd116100c657806323b872dd1461018b578063313ce567146101c857806351bc3c85146101f357806370a082311461020a576100f3565b806306fdde03146100f8578063095ea7b31461012357806318160ddd14610160576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061010d610385565b60405161011a9190612231565b60405180910390f35b34801561012f57600080fd5b5061014a60048036038101906101459190611df4565b6103c2565b6040516101579190612216565b60405180910390f35b34801561016c57600080fd5b506101756103e0565b6040516101829190612393565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad9190611da1565b6103ee565b6040516101bf9190612216565b60405180910390f35b3480156101d457600080fd5b506101dd6104c7565b6040516101ea9190612408565b60405180910390f35b3480156101ff57600080fd5b506102086104d0565b005b34801561021657600080fd5b50610231600480360381019061022c9190611d07565b61054a565b60405161023e9190612393565b60405180910390f35b34801561025357600080fd5b5061025c61059b565b005b34801561026a57600080fd5b506102736106ee565b6040516102809190612148565b60405180910390f35b34801561029557600080fd5b5061029e610717565b6040516102ab9190612231565b60405180910390f35b3480156102c057600080fd5b506102db60048036038101906102d69190611e61565b610754565b005b3480156102e957600080fd5b5061030460048036038101906102ff9190611df4565b6107cc565b6040516103119190612216565b60405180910390f35b34801561032657600080fd5b5061032f6107ea565b005b34801561033d57600080fd5b5061035860048036038101906103539190611d61565b610cf7565b6040516103659190612393565b60405180910390f35b34801561037a57600080fd5b50610383610d7e565b005b60606040518060400160405280600981526020017f556c7175696f7272610000000000000000000000000000000000000000000000815250905090565b60006103d66103cf610df0565b8484610df8565b6001905092915050565b6000655af3107a4000905090565b60006103fb848484610fc3565b6104bc84610407610df0565b6104b7856040518060600160405280602881526020016129e360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061046d610df0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461122b9092919063ffffffff16565b610df8565b600190509392505050565b60006006905090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610511610df0565b73ffffffffffffffffffffffffffffffffffffffff161461053157600080fd5b600061053c3061054a565b90506105478161128f565b50565b6000610594600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611517565b9050919050565b6105a3610df0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610630576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610627906122f3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f554c5155494f5252410000000000000000000000000000000000000000000000815250905090565b61075c610df0565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b557600080fd5b600981106107c257600080fd5b8060088190555050565b60006107e06107d9610df0565b8484610fc3565b6001905092915050565b6107f2610df0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461087f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610876906122f3565b60405180910390fd5b600b60149054906101000a900460ff16156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c690612373565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061095c30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16655af3107a4000610df8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109a257600080fd5b505afa1580156109b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109da9190611d34565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3c57600080fd5b505afa158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190611d34565b6040518363ffffffff1660e01b8152600401610a91929190612163565b602060405180830381600087803b158015610aab57600080fd5b505af1158015610abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae39190611d34565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b6c3061054a565b600080610b776106ee565b426040518863ffffffff1660e01b8152600401610b99969594939291906121b5565b6060604051808303818588803b158015610bb257600080fd5b505af1158015610bc6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610beb9190611e8e565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ca192919061218c565b602060405180830381600087803b158015610cbb57600080fd5b505af1158015610ccf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf39190611e34565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dbf610df0565b73ffffffffffffffffffffffffffffffffffffffff1614610ddf57600080fd5b6000479050610ded81611585565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f90612353565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecf90612293565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610fb69190612393565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90612333565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a90612253565b60405180910390fd5b600081116110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd90612313565b60405180910390fd5b6110ee6106ee565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561115c575061112c6106ee565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561121b57600061116c3061054a565b9050600b60159054906101000a900460ff161580156111d95750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156111f15750600b60169054906101000a900460ff165b15611219576111ff8161128f565b600047905060008111156112175761121647611585565b5b505b505b6112268383836115f1565b505050565b6000838311158290611273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126a9190612231565b60405180910390fd5b50600083856112829190612559565b9050809150509392505050565b6001600b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156112c7576112c66126b4565b5b6040519080825280602002602001820160405280156112f55781602001602082028036833780820191505090505b509050308160008151811061130d5761130c612685565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611d34565b816001815181106113fb576113fa612685565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061146230600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610df8565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016114c69594939291906123ae565b600060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050506000600b60156101000a81548160ff02191690831515021790555050565b600060055482111561155e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155590612273565b60405180910390fd5b6000611568611601565b905061157d818461162c90919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115ed573d6000803e3d6000fd5b5050565b6115fc838383611676565b505050565b600080600061160e611841565b91509150611625818361162c90919063ffffffff16565b9250505090565b600061166e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061189a565b905092915050565b600080600080600080611688876118fd565b9550955095509550955095506116e686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461196590919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061177b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119af90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117c781611a0d565b6117d18483611aca565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161182e9190612393565b60405180910390a3505050505050505050565b600080600060055490506000655af3107a40009050611871655af3107a400060055461162c90919063ffffffff16565b82101561188d57600554655af3107a4000935093505050611896565b81819350935050505b9091565b600080831182906118e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d89190612231565b60405180910390fd5b50600083856118f091906124ce565b9050809150509392505050565b600080600080600080600080600061191a8a600754600854611b04565b925092509250600061192a611601565b9050600080600061193d8e878787611b9a565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006119a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061122b565b905092915050565b60008082846119be9190612478565b905083811015611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa906122b3565b60405180910390fd5b8091505092915050565b6000611a17611601565b90506000611a2e8284611c2390919063ffffffff16565b9050611a8281600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119af90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611adf8260055461196590919063ffffffff16565b600581905550611afa816006546119af90919063ffffffff16565b6006819055505050565b600080600080611b306064611b22888a611c2390919063ffffffff16565b61162c90919063ffffffff16565b90506000611b5a6064611b4c888b611c2390919063ffffffff16565b61162c90919063ffffffff16565b90506000611b8382611b75858c61196590919063ffffffff16565b61196590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611bb38589611c2390919063ffffffff16565b90506000611bca8689611c2390919063ffffffff16565b90506000611be18789611c2390919063ffffffff16565b90506000611c0a82611bfc858761196590919063ffffffff16565b61196590919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611c365760009050611c98565b60008284611c4491906124ff565b9050828482611c5391906124ce565b14611c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8a906122d3565b60405180910390fd5b809150505b92915050565b600081359050611cad8161299d565b92915050565b600081519050611cc28161299d565b92915050565b600081519050611cd7816129b4565b92915050565b600081359050611cec816129cb565b92915050565b600081519050611d01816129cb565b92915050565b600060208284031215611d1d57611d1c6126e3565b5b6000611d2b84828501611c9e565b91505092915050565b600060208284031215611d4a57611d496126e3565b5b6000611d5884828501611cb3565b91505092915050565b60008060408385031215611d7857611d776126e3565b5b6000611d8685828601611c9e565b9250506020611d9785828601611c9e565b9150509250929050565b600080600060608486031215611dba57611db96126e3565b5b6000611dc886828701611c9e565b9350506020611dd986828701611c9e565b9250506040611dea86828701611cdd565b9150509250925092565b60008060408385031215611e0b57611e0a6126e3565b5b6000611e1985828601611c9e565b9250506020611e2a85828601611cdd565b9150509250929050565b600060208284031215611e4a57611e496126e3565b5b6000611e5884828501611cc8565b91505092915050565b600060208284031215611e7757611e766126e3565b5b6000611e8584828501611cdd565b91505092915050565b600080600060608486031215611ea757611ea66126e3565b5b6000611eb586828701611cf2565b9350506020611ec686828701611cf2565b9250506040611ed786828701611cf2565b9150509250925092565b6000611eed8383611ef9565b60208301905092915050565b611f028161258d565b82525050565b611f118161258d565b82525050565b6000611f2282612433565b611f2c8185612456565b9350611f3783612423565b8060005b83811015611f68578151611f4f8882611ee1565b9750611f5a83612449565b925050600181019050611f3b565b5085935050505092915050565b611f7e8161259f565b82525050565b611f8d816125e2565b82525050565b6000611f9e8261243e565b611fa88185612467565b9350611fb88185602086016125f4565b611fc1816126e8565b840191505092915050565b6000611fd9602383612467565b9150611fe4826126f9565b604082019050919050565b6000611ffc602a83612467565b915061200782612748565b604082019050919050565b600061201f602283612467565b915061202a82612797565b604082019050919050565b6000612042601b83612467565b915061204d826127e6565b602082019050919050565b6000612065602183612467565b91506120708261280f565b604082019050919050565b6000612088602083612467565b91506120938261285e565b602082019050919050565b60006120ab602983612467565b91506120b682612887565b604082019050919050565b60006120ce602583612467565b91506120d9826128d6565b604082019050919050565b60006120f1602483612467565b91506120fc82612925565b604082019050919050565b6000612114601783612467565b915061211f82612974565b602082019050919050565b612133816125cb565b82525050565b612142816125d5565b82525050565b600060208201905061215d6000830184611f08565b92915050565b60006040820190506121786000830185611f08565b6121856020830184611f08565b9392505050565b60006040820190506121a16000830185611f08565b6121ae602083018461212a565b9392505050565b600060c0820190506121ca6000830189611f08565b6121d7602083018861212a565b6121e46040830187611f84565b6121f16060830186611f84565b6121fe6080830185611f08565b61220b60a083018461212a565b979650505050505050565b600060208201905061222b6000830184611f75565b92915050565b6000602082019050818103600083015261224b8184611f93565b905092915050565b6000602082019050818103600083015261226c81611fcc565b9050919050565b6000602082019050818103600083015261228c81611fef565b9050919050565b600060208201905081810360008301526122ac81612012565b9050919050565b600060208201905081810360008301526122cc81612035565b9050919050565b600060208201905081810360008301526122ec81612058565b9050919050565b6000602082019050818103600083015261230c8161207b565b9050919050565b6000602082019050818103600083015261232c8161209e565b9050919050565b6000602082019050818103600083015261234c816120c1565b9050919050565b6000602082019050818103600083015261236c816120e4565b9050919050565b6000602082019050818103600083015261238c81612107565b9050919050565b60006020820190506123a8600083018461212a565b92915050565b600060a0820190506123c3600083018861212a565b6123d06020830187611f84565b81810360408301526123e28186611f17565b90506123f16060830185611f08565b6123fe608083018461212a565b9695505050505050565b600060208201905061241d6000830184612139565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612483826125cb565b915061248e836125cb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124c3576124c2612627565b5b828201905092915050565b60006124d9826125cb565b91506124e4836125cb565b9250826124f4576124f3612656565b5b828204905092915050565b600061250a826125cb565b9150612515836125cb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561254e5761254d612627565b5b828202905092915050565b6000612564826125cb565b915061256f836125cb565b92508282101561258257612581612627565b5b828203905092915050565b6000612598826125ab565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006125ed826125cb565b9050919050565b60005b838110156126125780820151818401526020810190506125f7565b83811115612621576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6129a68161258d565b81146129b157600080fd5b50565b6129bd8161259f565b81146129c857600080fd5b50565b6129d4816125cb565b81146129df57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122042b478378a6ab61f1fddc6d7e4887fd8085f06d5fbba5829999ad64e7bbd27ab64736f6c63430008070033

Deployed Bytecode Sourcemap

3235:7890:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4482:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5244:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4723:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5395:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4644:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9235:169;;;;;;;;;;;;;:::i;:::-;;4814:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3091:133;;;;;;;;;;;;;:::i;:::-;;2907:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4561:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7400:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4948:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7618:646;;;;;;;;;;;;;:::i;:::-;;5105:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9409:168;;;;;;;;;;;;;:::i;:::-;;4482:74;4519:13;4546:5;;;;;;;;;;;;;;;;;4539:12;;4482:74;:::o;5244:146::-;5319:4;5330:39;5339:12;:10;:12::i;:::-;5353:7;5362:6;5330:8;:39::i;:::-;5381:4;5374:11;;5244:146;;;;:::o;4723:86::-;4776:7;3581:17;4790:14;;4723:86;:::o;5395:292::-;5493:4;5504:36;5514:6;5522:9;5533:6;5504:9;:36::i;:::-;5545:121;5554:6;5562:12;:10;:12::i;:::-;5576:89;5614:6;5576:89;;;;;;;;;;;;;;;;;:11;:19;5588:6;5576:19;;;;;;;;;;;;;;;:33;5596:12;:10;:12::i;:::-;5576:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5545:8;:121::i;:::-;5678:4;5671:11;;5395:292;;;;;:::o;4644:74::-;4685:5;3915:1;4697:16;;4644:74;:::o;9235:169::-;9295:10;;;;;;;;;;;9279:26;;:12;:10;:12::i;:::-;:26;;;9271:35;;;;;;9311:23;9337:24;9355:4;9337:9;:24::i;:::-;9311:50;;9366:33;9383:15;9366:16;:33::i;:::-;9266:138;9235:169::o;4814:129::-;4880:7;4901:37;4921:7;:16;4929:7;4921:16;;;;;;;;;;;;;;;;4901:19;:37::i;:::-;4894:44;;4814:129;;;:::o;3091:133::-;3026:12;:10;:12::i;:::-;3016:22;;:6;;;;;;;;;;:22;;;3008:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3192:1:::1;3155:40;;3176:6;::::0;::::1;;;;;;;;3155:40;;;;;;;;;;;;3217:1;3200:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3091:133::o:0;2907:70::-;2945:7;2966:6;;;;;;;;;;;2959:13;;2907:70;:::o;4561:78::-;4600:13;4627:7;;;;;;;;;;;;;;;;;4620:14;;4561:78;:::o;7400:125::-;7368:12;:10;:12::i;:::-;7354:26;;:10;;;;;;;;;;;:26;;;7346:36;;;;;;124:1:::1;7474:10;:22;7466:31;;;::::0;::::1;;7510:10;7502:7;:18;;;;7400:125:::0;:::o;4948:152::-;5026:4;5037:42;5047:12;:10;:12::i;:::-;5061:9;5072:6;5037:9;:42::i;:::-;5091:4;5084:11;;4948:152;;;;:::o;7618:646::-;3026:12;:10;:12::i;:::-;3016:22;;:6;;;;;;;;;;:22;;;3008:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7676:9:::1;;;;;;;;;;;7675:10;7667:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7717:35;7774:42;7717:100;;7833:16;7822:8;;:27;;;;;;;;;;;;;;;;;;7854:51;7871:4;7886:8;;;;;;;;;;;3581:17;7854:8;:51::i;:::-;7936:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7918:56;;;7983:4;7990:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7918:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7910:5;;:104;;;;;;;;;;;;;;;;;;8019:8;;;;;;;;;;;:24;;;8051:21;8082:4;8088:24;8106:4;8088:9;:24::i;:::-;8113:1;8115::::0;8117:7:::1;:5;:7::i;:::-;8125:15;8019:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8161:4;8146:12;;:19;;;;;;;;;;;;;;;;;;8186:4;8174:9;;:16;;;;;;;;;;;;;;;;;;8202:5;;;;;;;;;;;8195:21;;;8225:16;8244:14;8195:64;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7662:602;7618:646::o:0;5105:134::-;5186:7;5207:11;:18;5219:5;5207:18;;;;;;;;;;;;;;;:27;5226:7;5207:27;;;;;;;;;;;;;;;;5200:34;;5105:134;;;;:::o;9409:168::-;9469:10;;;;;;;;;;;9453:26;;:12;:10;:12::i;:::-;:26;;;9445:35;;;;;;9485:26;9514:21;9485:50;;9540:32;9553:18;9540:12;:32::i;:::-;9440:137;9409:168::o;835:89::-;888:7;909:10;902:17;;835:89;:::o;5932:308::-;6036:1;6019:19;;:5;:19;;;;6011:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6111:1;6092:21;;:7;:21;;;;6084:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6187:6;6157:11;:18;6169:5;6157:18;;;;;;;;;;;;;;;:27;6176:7;6157:27;;;;;;;;;;;;;;;:36;;;;6219:7;6203:32;;6212:5;6203:32;;;6228:6;6203:32;;;;;;:::i;:::-;;;;;;;;5932:308;;;:::o;6245:682::-;6343:1;6327:18;;:4;:18;;;;6319:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6414:1;6400:16;;:2;:16;;;;6392:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6478:1;6469:6;:10;6461:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6548:7;:5;:7::i;:::-;6540:15;;:4;:15;;;;:32;;;;;6565:7;:5;:7::i;:::-;6559:13;;:2;:13;;;;6540:32;6536:350;;;6580:28;6611:24;6629:4;6611:9;:24::i;:::-;6580:55;;6646:7;;;;;;;;;;;6645:8;:25;;;;;6665:5;;;;;;;;;;;6657:13;;:4;:13;;;;6645:25;:41;;;;;6674:12;;;;;;;;;;;6645:41;6641:240;;;6695:38;6712:20;6695:16;:38::i;:::-;6740:26;6769:21;6740:50;;6821:1;6800:18;:22;6797:78;;;6832:35;6845:21;6832:12;:35::i;:::-;6797:78;6688:193;6641:240;6574:312;6536:350;6892:30;6907:4;6912:2;6915:6;6892:14;:30::i;:::-;6245:682;;;:::o;1900:169::-;1986:7;2013:1;2008;:6;;2016:12;2000:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2034:9;2050:1;2046;:5;;;;:::i;:::-;2034:17;;2063:1;2056:8;;;1900:169;;;;;:::o;6932:378::-;4119:4;4109:7;;:14;;;;;;;;;;;;;;;;;;7004:21:::1;7042:1;7028:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7004:40;;7067:4;7049;7054:1;7049:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7087:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7077:4;7082:1;7077:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7107:55;7124:4;7139:8;;;;;;;;;;;7150:11;7107:8;:55::i;:::-;7167:8;;;;;;;;;;;:59;;;7232:11;7249:1;7256:4;7274;7285:15;7167:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6999:311;4144:5:::0;4134:7;;:15;;;;;;;;;;;;;;;;;;6932:378;:::o;5694:233::-;5761:7;5794;;5783;:18;;5775:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5853:19;5876:10;:8;:10::i;:::-;5853:33;;5898:24;5910:11;5898:7;:11;;:24;;;;:::i;:::-;5891:31;;;5694:233;;;:::o;7530:83::-;7581:10;;;;;;;;;;;:19;;:27;7601:6;7581:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7530:83;:::o;8273:137::-;8361:44;8379:6;8387:9;8398:6;8361:17;:44::i;:::-;8273:137;;;:::o;10740:148::-;10781:7;10796:15;10813;10832:19;:17;:19::i;:::-;10795:56;;;;10863:20;10875:7;10863;:11;;:20;;;;:::i;:::-;10856:27;;;;10740:148;:::o;2283:123::-;2341:7;2362:39;2366:1;2369;2362:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2355:46;;2283:123;;;;:::o;8415:448::-;8508:15;8525:23;8550:12;8564:23;8589:12;8603:13;8620:19;8631:7;8620:10;:19::i;:::-;8507:132;;;;;;;;;;;;8662:28;8682:7;8662;:15;8670:6;8662:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;8644:7;:15;8652:6;8644:15;;;;;;;;;;;;;;;:46;;;;8716:39;8739:15;8716:7;:18;8724:9;8716:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;8695:7;:18;8703:9;8695:18;;;;;;;;;;;;;;;:60;;;;8760:16;8770:5;8760:9;:16::i;:::-;8781:23;8793:4;8799;8781:11;:23::i;:::-;8831:9;8814:44;;8823:6;8814:44;;;8842:15;8814:44;;;;;;:::i;:::-;;;;;;;;8502:361;;;;;;8415:448;;;:::o;10893:229::-;10943:7;10952;10966:15;10984:7;;10966:25;;10996:15;3581:17;10996:25;;11040:20;3581:17;11040:7;;:11;;:20;;;;:::i;:::-;11030:7;:30;11026:61;;;11070:7;;3581:17;11062:25;;;;;;;;11026:61;11100:7;11109;11092:25;;;;;;10893:229;;;:::o;2411:168::-;2497:7;2523:1;2519;:5;2526:12;2511:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2544:9;2560:1;2556;:5;;;;:::i;:::-;2544:17;;2573:1;2566:8;;;2411:168;;;;;:::o;9584:441::-;9643:7;9652;9661;9670;9679;9688;9703:23;9728:12;9742:13;9759:39;9771:7;9780:8;;9790:7;;9759:11;:39::i;:::-;9702:96;;;;;;9803:19;9826:10;:8;:10::i;:::-;9803:33;;9842:15;9859:23;9884:12;9900:46;9912:7;9921:4;9927:5;9934:11;9900;:46::i;:::-;9841:105;;;;;;9959:7;9968:15;9985:4;9991:15;10008:4;10014:5;9951:69;;;;;;;;;;;;;;;;;;;9584:441;;;;;;;:::o;1768:127::-;1826:7;1847:43;1851:1;1854;1847:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1840:50;;1768:127;;;;:::o;1605:158::-;1663:7;1677:9;1693:1;1689;:5;;;;:::i;:::-;1677:17;;1712:1;1707;:6;;1699:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1757:1;1750:8;;;1605:158;;;;:::o;8868:191::-;8915:19;8938:10;:8;:10::i;:::-;8915:33;;8953:13;8969:22;8979:11;8969:5;:9;;:22;;;;:::i;:::-;8953:38;;9021:33;9048:5;9021:7;:22;9037:4;9021:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;8996:7;:22;9012:4;8996:22;;;;;;;;;;;;;;;:58;;;;8910:149;;8868:191;:::o;9064:132::-;9136:17;9148:4;9136:7;;:11;;:17;;;;:::i;:::-;9126:7;:27;;;;9171:20;9186:4;9171:10;;:14;;:20;;;;:::i;:::-;9158:10;:33;;;;9064:132;;:::o;10030:324::-;10123:7;10132;10141;10155:12;10170:28;10194:3;10170:19;10182:6;10170:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10155:43;;10203:13;10219:29;10244:3;10219:20;10231:7;10219;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10203:45;;10253:23;10279:28;10301:5;10279:17;10291:4;10279:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10253:54;;10320:15;10337:4;10343:5;10312:37;;;;;;;;;10030:324;;;;;;;:::o;10359:376::-;10469:7;10478;10487;10501:15;10519:24;10531:11;10519:7;:11;;:24;;;;:::i;:::-;10501:42;;10548:12;10563:21;10572:11;10563:4;:8;;:21;;;;:::i;:::-;10548:36;;10589:13;10605:22;10615:11;10605:5;:9;;:22;;;;:::i;:::-;10589:38;;10632:23;10658:28;10680:5;10658:17;10670:4;10658:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10632:54;;10699:7;10708:15;10725:4;10691:39;;;;;;;;;;10359:376;;;;;;;;:::o;2074:204::-;2132:7;2155:1;2150;:6;2146:32;;;2171:1;2164:8;;;;2146:32;2182:9;2198:1;2194;:5;;;;:::i;:::-;2182:17;;2221:1;2216;2212;:5;;;;:::i;:::-;:10;2204:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2272:1;2265:8;;;2074:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:329::-;3425:6;3474:2;3462:9;3453:7;3449:23;3445:32;3442:119;;;3480:79;;:::i;:::-;3442:119;3600:1;3625:53;3670:7;3661:6;3650:9;3646:22;3625:53;:::i;:::-;3615:63;;3571:117;3366:329;;;;:::o;3701:663::-;3789:6;3797;3805;3854:2;3842:9;3833:7;3829:23;3825:32;3822:119;;;3860:79;;:::i;:::-;3822:119;3980:1;4005:64;4061:7;4052:6;4041:9;4037:22;4005:64;:::i;:::-;3995:74;;3951:128;4118:2;4144:64;4200:7;4191:6;4180:9;4176:22;4144:64;:::i;:::-;4134:74;;4089:129;4257:2;4283:64;4339:7;4330:6;4319:9;4315:22;4283:64;:::i;:::-;4273:74;;4228:129;3701:663;;;;;:::o;4370:179::-;4439:10;4460:46;4502:3;4494:6;4460:46;:::i;:::-;4538:4;4533:3;4529:14;4515:28;;4370:179;;;;:::o;4555:108::-;4632:24;4650:5;4632:24;:::i;:::-;4627:3;4620:37;4555:108;;:::o;4669:118::-;4756:24;4774:5;4756:24;:::i;:::-;4751:3;4744:37;4669:118;;:::o;4823:732::-;4942:3;4971:54;5019:5;4971:54;:::i;:::-;5041:86;5120:6;5115:3;5041:86;:::i;:::-;5034:93;;5151:56;5201:5;5151:56;:::i;:::-;5230:7;5261:1;5246:284;5271:6;5268:1;5265:13;5246:284;;;5347:6;5341:13;5374:63;5433:3;5418:13;5374:63;:::i;:::-;5367:70;;5460:60;5513:6;5460:60;:::i;:::-;5450:70;;5306:224;5293:1;5290;5286:9;5281:14;;5246:284;;;5250:14;5546:3;5539:10;;4947:608;;;4823:732;;;;:::o;5561:109::-;5642:21;5657:5;5642:21;:::i;:::-;5637:3;5630:34;5561:109;;:::o;5676:147::-;5771:45;5810:5;5771:45;:::i;:::-;5766:3;5759:58;5676:147;;:::o;5829:364::-;5917:3;5945:39;5978:5;5945:39;:::i;:::-;6000:71;6064:6;6059:3;6000:71;:::i;:::-;5993:78;;6080:52;6125:6;6120:3;6113:4;6106:5;6102:16;6080:52;:::i;:::-;6157:29;6179:6;6157:29;:::i;:::-;6152:3;6148:39;6141:46;;5921:272;5829:364;;;;:::o;6199:366::-;6341:3;6362:67;6426:2;6421:3;6362:67;:::i;:::-;6355:74;;6438:93;6527:3;6438:93;:::i;:::-;6556:2;6551:3;6547:12;6540:19;;6199:366;;;:::o;6571:::-;6713:3;6734:67;6798:2;6793:3;6734:67;:::i;:::-;6727:74;;6810:93;6899:3;6810:93;:::i;:::-;6928:2;6923:3;6919:12;6912:19;;6571:366;;;:::o;6943:::-;7085:3;7106:67;7170:2;7165:3;7106:67;:::i;:::-;7099:74;;7182:93;7271:3;7182:93;:::i;:::-;7300:2;7295:3;7291:12;7284:19;;6943:366;;;:::o;7315:::-;7457:3;7478:67;7542:2;7537:3;7478:67;:::i;:::-;7471:74;;7554:93;7643:3;7554:93;:::i;:::-;7672:2;7667:3;7663:12;7656:19;;7315:366;;;:::o;7687:::-;7829:3;7850:67;7914:2;7909:3;7850:67;:::i;:::-;7843:74;;7926:93;8015:3;7926:93;:::i;:::-;8044:2;8039:3;8035:12;8028:19;;7687:366;;;:::o;8059:::-;8201:3;8222:67;8286:2;8281:3;8222:67;:::i;:::-;8215:74;;8298:93;8387:3;8298:93;:::i;:::-;8416:2;8411:3;8407:12;8400:19;;8059:366;;;:::o;8431:::-;8573:3;8594:67;8658:2;8653:3;8594:67;:::i;:::-;8587:74;;8670:93;8759:3;8670:93;:::i;:::-;8788:2;8783:3;8779:12;8772:19;;8431:366;;;:::o;8803:::-;8945:3;8966:67;9030:2;9025:3;8966:67;:::i;:::-;8959:74;;9042:93;9131:3;9042:93;:::i;:::-;9160:2;9155:3;9151:12;9144:19;;8803:366;;;:::o;9175:::-;9317:3;9338:67;9402:2;9397:3;9338:67;:::i;:::-;9331:74;;9414:93;9503:3;9414:93;:::i;:::-;9532:2;9527:3;9523:12;9516:19;;9175:366;;;:::o;9547:::-;9689:3;9710:67;9774:2;9769:3;9710:67;:::i;:::-;9703:74;;9786:93;9875:3;9786:93;:::i;:::-;9904:2;9899:3;9895:12;9888:19;;9547:366;;;:::o;9919:118::-;10006:24;10024:5;10006:24;:::i;:::-;10001:3;9994:37;9919:118;;:::o;10043:112::-;10126:22;10142:5;10126:22;:::i;:::-;10121:3;10114:35;10043:112;;:::o;10161:222::-;10254:4;10292:2;10281:9;10277:18;10269:26;;10305:71;10373:1;10362:9;10358:17;10349:6;10305:71;:::i;:::-;10161:222;;;;:::o;10389:332::-;10510:4;10548:2;10537:9;10533:18;10525:26;;10561:71;10629:1;10618:9;10614:17;10605:6;10561:71;:::i;:::-;10642:72;10710:2;10699:9;10695:18;10686:6;10642:72;:::i;:::-;10389:332;;;;;:::o;10727:::-;10848:4;10886:2;10875:9;10871:18;10863:26;;10899:71;10967:1;10956:9;10952:17;10943:6;10899:71;:::i;:::-;10980:72;11048:2;11037:9;11033:18;11024:6;10980:72;:::i;:::-;10727:332;;;;;:::o;11065:807::-;11314:4;11352:3;11341:9;11337:19;11329:27;;11366:71;11434:1;11423:9;11419:17;11410:6;11366:71;:::i;:::-;11447:72;11515:2;11504:9;11500:18;11491:6;11447:72;:::i;:::-;11529:80;11605:2;11594:9;11590:18;11581:6;11529:80;:::i;:::-;11619;11695:2;11684:9;11680:18;11671:6;11619:80;:::i;:::-;11709:73;11777:3;11766:9;11762:19;11753:6;11709:73;:::i;:::-;11792;11860:3;11849:9;11845:19;11836:6;11792:73;:::i;:::-;11065:807;;;;;;;;;:::o;11878:210::-;11965:4;12003:2;11992:9;11988:18;11980:26;;12016:65;12078:1;12067:9;12063:17;12054:6;12016:65;:::i;:::-;11878:210;;;;:::o;12094:313::-;12207:4;12245:2;12234:9;12230:18;12222:26;;12294:9;12288:4;12284:20;12280:1;12269:9;12265:17;12258:47;12322:78;12395:4;12386:6;12322:78;:::i;:::-;12314:86;;12094:313;;;;:::o;12413:419::-;12579:4;12617:2;12606:9;12602:18;12594:26;;12666:9;12660:4;12656:20;12652:1;12641:9;12637:17;12630:47;12694:131;12820:4;12694:131;:::i;:::-;12686:139;;12413:419;;;:::o;12838:::-;13004:4;13042:2;13031:9;13027:18;13019:26;;13091:9;13085:4;13081:20;13077:1;13066:9;13062:17;13055:47;13119:131;13245:4;13119:131;:::i;:::-;13111:139;;12838:419;;;:::o;13263:::-;13429:4;13467:2;13456:9;13452:18;13444:26;;13516:9;13510:4;13506:20;13502:1;13491:9;13487:17;13480:47;13544:131;13670:4;13544:131;:::i;:::-;13536:139;;13263:419;;;:::o;13688:::-;13854:4;13892:2;13881:9;13877:18;13869:26;;13941:9;13935:4;13931:20;13927:1;13916:9;13912:17;13905:47;13969:131;14095:4;13969:131;:::i;:::-;13961:139;;13688:419;;;:::o;14113:::-;14279:4;14317:2;14306:9;14302:18;14294:26;;14366:9;14360:4;14356:20;14352:1;14341:9;14337:17;14330:47;14394:131;14520:4;14394:131;:::i;:::-;14386:139;;14113:419;;;:::o;14538:::-;14704:4;14742:2;14731:9;14727:18;14719:26;;14791:9;14785:4;14781:20;14777:1;14766:9;14762:17;14755:47;14819:131;14945:4;14819:131;:::i;:::-;14811:139;;14538:419;;;:::o;14963:::-;15129:4;15167:2;15156:9;15152:18;15144:26;;15216:9;15210:4;15206:20;15202:1;15191:9;15187:17;15180:47;15244:131;15370:4;15244:131;:::i;:::-;15236:139;;14963:419;;;:::o;15388:::-;15554:4;15592:2;15581:9;15577:18;15569:26;;15641:9;15635:4;15631:20;15627:1;15616:9;15612:17;15605:47;15669:131;15795:4;15669:131;:::i;:::-;15661:139;;15388:419;;;:::o;15813:::-;15979:4;16017:2;16006:9;16002:18;15994:26;;16066:9;16060:4;16056:20;16052:1;16041:9;16037:17;16030:47;16094:131;16220:4;16094:131;:::i;:::-;16086:139;;15813:419;;;:::o;16238:::-;16404:4;16442:2;16431:9;16427:18;16419:26;;16491:9;16485:4;16481:20;16477:1;16466:9;16462:17;16455:47;16519:131;16645:4;16519:131;:::i;:::-;16511:139;;16238:419;;;:::o;16663:222::-;16756:4;16794:2;16783:9;16779:18;16771:26;;16807:71;16875:1;16864:9;16860:17;16851:6;16807:71;:::i;:::-;16663:222;;;;:::o;16891:831::-;17154:4;17192:3;17181:9;17177:19;17169:27;;17206:71;17274:1;17263:9;17259:17;17250:6;17206:71;:::i;:::-;17287:80;17363:2;17352:9;17348:18;17339:6;17287:80;:::i;:::-;17414:9;17408:4;17404:20;17399:2;17388:9;17384:18;17377:48;17442:108;17545:4;17536:6;17442:108;:::i;:::-;17434:116;;17560:72;17628:2;17617:9;17613:18;17604:6;17560:72;:::i;:::-;17642:73;17710:3;17699:9;17695:19;17686:6;17642:73;:::i;:::-;16891:831;;;;;;;;:::o;17728:214::-;17817:4;17855:2;17844:9;17840:18;17832:26;;17868:67;17932:1;17921:9;17917:17;17908:6;17868:67;:::i;:::-;17728:214;;;;:::o;18029:132::-;18096:4;18119:3;18111:11;;18149:4;18144:3;18140:14;18132:22;;18029:132;;;:::o;18167:114::-;18234:6;18268:5;18262:12;18252:22;;18167:114;;;:::o;18287:99::-;18339:6;18373:5;18367:12;18357:22;;18287:99;;;:::o;18392:113::-;18462:4;18494;18489:3;18485:14;18477:22;;18392:113;;;:::o;18511:184::-;18610:11;18644:6;18639:3;18632:19;18684:4;18679:3;18675:14;18660:29;;18511:184;;;;:::o;18701:169::-;18785:11;18819:6;18814:3;18807:19;18859:4;18854:3;18850:14;18835:29;;18701:169;;;;:::o;18876:305::-;18916:3;18935:20;18953:1;18935:20;:::i;:::-;18930:25;;18969:20;18987:1;18969:20;:::i;:::-;18964:25;;19123:1;19055:66;19051:74;19048:1;19045:81;19042:107;;;19129:18;;:::i;:::-;19042:107;19173:1;19170;19166:9;19159:16;;18876:305;;;;:::o;19187:185::-;19227:1;19244:20;19262:1;19244:20;:::i;:::-;19239:25;;19278:20;19296:1;19278:20;:::i;:::-;19273:25;;19317:1;19307:35;;19322:18;;:::i;:::-;19307:35;19364:1;19361;19357:9;19352:14;;19187:185;;;;:::o;19378:348::-;19418:7;19441:20;19459:1;19441:20;:::i;:::-;19436:25;;19475:20;19493:1;19475:20;:::i;:::-;19470:25;;19663:1;19595:66;19591:74;19588:1;19585:81;19580:1;19573:9;19566:17;19562:105;19559:131;;;19670:18;;:::i;:::-;19559:131;19718:1;19715;19711:9;19700:20;;19378:348;;;;:::o;19732:191::-;19772:4;19792:20;19810:1;19792:20;:::i;:::-;19787:25;;19826:20;19844:1;19826:20;:::i;:::-;19821:25;;19865:1;19862;19859:8;19856:34;;;19870:18;;:::i;:::-;19856:34;19915:1;19912;19908:9;19900:17;;19732:191;;;;:::o;19929:96::-;19966:7;19995:24;20013:5;19995:24;:::i;:::-;19984:35;;19929:96;;;:::o;20031:90::-;20065:7;20108:5;20101:13;20094:21;20083:32;;20031:90;;;:::o;20127:126::-;20164:7;20204:42;20197:5;20193:54;20182:65;;20127:126;;;:::o;20259:77::-;20296:7;20325:5;20314:16;;20259:77;;;:::o;20342:86::-;20377:7;20417:4;20410:5;20406:16;20395:27;;20342:86;;;:::o;20434:121::-;20492:9;20525:24;20543:5;20525:24;:::i;:::-;20512:37;;20434:121;;;:::o;20561:307::-;20629:1;20639:113;20653:6;20650:1;20647:13;20639:113;;;20738:1;20733:3;20729:11;20723:18;20719:1;20714:3;20710:11;20703:39;20675:2;20672:1;20668:10;20663:15;;20639:113;;;20770:6;20767:1;20764:13;20761:101;;;20850:1;20841:6;20836:3;20832:16;20825:27;20761:101;20610:258;20561:307;;;:::o;20874:180::-;20922:77;20919:1;20912:88;21019:4;21016:1;21009:15;21043:4;21040:1;21033:15;21060:180;21108:77;21105:1;21098:88;21205:4;21202:1;21195:15;21229:4;21226:1;21219:15;21246:180;21294:77;21291:1;21284:88;21391:4;21388:1;21381:15;21415:4;21412:1;21405:15;21432:180;21480:77;21477:1;21470:88;21577:4;21574:1;21567:15;21601:4;21598:1;21591:15;21741:117;21850:1;21847;21840:12;21864:102;21905:6;21956:2;21952:7;21947:2;21940:5;21936:14;21932:28;21922:38;;21864:102;;;:::o;21972:222::-;22112:34;22108:1;22100:6;22096:14;22089:58;22181:5;22176:2;22168:6;22164:15;22157:30;21972:222;:::o;22200:229::-;22340:34;22336:1;22328:6;22324:14;22317:58;22409:12;22404:2;22396:6;22392:15;22385:37;22200:229;:::o;22435:221::-;22575:34;22571:1;22563:6;22559:14;22552:58;22644:4;22639:2;22631:6;22627:15;22620:29;22435:221;:::o;22662:177::-;22802:29;22798:1;22790:6;22786:14;22779:53;22662:177;:::o;22845:220::-;22985:34;22981:1;22973:6;22969:14;22962:58;23054:3;23049:2;23041:6;23037:15;23030:28;22845:220;:::o;23071:182::-;23211:34;23207:1;23199:6;23195:14;23188:58;23071:182;:::o;23259:228::-;23399:34;23395:1;23387:6;23383:14;23376:58;23468:11;23463:2;23455:6;23451:15;23444:36;23259:228;:::o;23493:224::-;23633:34;23629:1;23621:6;23617:14;23610:58;23702:7;23697:2;23689:6;23685:15;23678:32;23493:224;:::o;23723:223::-;23863:34;23859:1;23851:6;23847:14;23840:58;23932:6;23927:2;23919:6;23915:15;23908:31;23723:223;:::o;23952:173::-;24092:25;24088:1;24080:6;24076:14;24069:49;23952:173;:::o;24131:122::-;24204:24;24222:5;24204:24;:::i;:::-;24197:5;24194:35;24184:63;;24243:1;24240;24233:12;24184:63;24131:122;:::o;24259:116::-;24329:21;24344:5;24329:21;:::i;:::-;24322:5;24319:32;24309:60;;24365:1;24362;24355:12;24309:60;24259:116;:::o;24381:122::-;24454:24;24472:5;24454:24;:::i;:::-;24447:5;24444:35;24434:63;;24493:1;24490;24483:12;24434:63;24381:122;:::o

Swarm Source

ipfs://42b478378a6ab61f1fddc6d7e4887fd8085f06d5fbba5829999ad64e7bbd27ab

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.