MATIC Price: $1.00 (-1.03%)
Gas: 67 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0.0000004608 MATIC

MATIC Value

Less Than $0.01 (@ $1.00/MATIC)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Withdraw369471192022-12-17 17:26:01467 days ago1671297961IN
0xc919E044...cd69a8551
0 MATIC0.0183243583.31182536
Withdraw369234452022-12-17 3:08:21467 days ago1671246501IN
0xc919E044...cd69a8551
0 MATIC0.06992862240.55501985
Withdraw369152872022-12-16 21:49:49467 days ago1671227389IN
0xc919E044...cd69a8551
0 MATIC0.0469259261.68830547
Withdraw369152872022-12-16 21:49:49467 days ago1671227389IN
0xc919E044...cd69a8551
0 MATIC0.0464433961.0539768
Withdraw369152872022-12-16 21:49:49467 days ago1671227389IN
0xc919E044...cd69a8551
0 MATIC0.0464433961.0539768
Withdraw369152872022-12-16 21:49:49467 days ago1671227389IN
0xc919E044...cd69a8551
0 MATIC0.0459163461.4731768
Withdraw369152872022-12-16 21:49:49467 days ago1671227389IN
0xc919E044...cd69a8551
0 MATIC0.0114226932.27085953
Withdraw369025232022-12-16 13:58:28468 days ago1671199108IN
0xc919E044...cd69a8551
0 MATIC0.0198479777.22407585
Withdraw369024012022-12-16 13:54:20468 days ago1671198860IN
0xc919E044...cd69a8551
0 MATIC0.0169000660.23004714
Withdraw369021282022-12-16 13:44:54468 days ago1671198294IN
0xc919E044...cd69a8551
0 MATIC0.0134526261.40984051
Withdraw369020222022-12-16 13:41:18468 days ago1671198078IN
0xc919E044...cd69a8551
0 MATIC0.11785776160
Withdraw369020222022-12-16 13:41:18468 days ago1671198078IN
0xc919E044...cd69a8551
0 MATIC0.13627104160
Withdraw369020222022-12-16 13:41:18468 days ago1671198078IN
0xc919E044...cd69a8551
0 MATIC0.17105168160
Withdraw369020222022-12-16 13:41:18468 days ago1671198078IN
0xc919E044...cd69a8551
0 MATIC0.12271178161
Withdraw369020222022-12-16 13:41:18468 days ago1671198078IN
0xc919E044...cd69a8551
0 MATIC0.12499834164
Withdraw369020212022-12-16 13:41:16468 days ago1671198076IN
0xc919E044...cd69a8551
0 MATIC0.17006748165
Invest369020182022-12-16 13:41:10468 days ago1671198070IN
0xc919E044...cd69a8551
5 MATIC0.0547528782.47914055
Withdraw369018692022-12-16 13:35:58468 days ago1671197758IN
0xc919E044...cd69a8551
0 MATIC0.04544963105.76496787
Withdraw369017062022-12-16 13:28:38468 days ago1671197318IN
0xc919E044...cd69a8551
0 MATIC0.09125847109.62861704
Withdraw369016782022-12-16 13:27:16468 days ago1671197236IN
0xc919E044...cd69a8551
0 MATIC0.0627133187.70638609
Withdraw369016712022-12-16 13:27:02468 days ago1671197222IN
0xc919E044...cd69a8551
0 MATIC0.03255587121.57015282
Withdraw369016692022-12-16 13:26:58468 days ago1671197218IN
0xc919E044...cd69a8551
0 MATIC0.026358982.6419833
Withdraw369016482022-12-16 13:26:16468 days ago1671197176IN
0xc919E044...cd69a8551
0 MATIC0.0350744787.75748069
Withdraw369016472022-12-16 13:26:14468 days ago1671197174IN
0xc919E044...cd69a8551
0 MATIC0.0976406893.2131553
Withdraw369016452022-12-16 13:26:10468 days ago1671197170IN
0xc919E044...cd69a8551
0 MATIC0.0589127284.13098875
View all transactions

Latest 25 internal transactions (View All)

Parent Txn Hash Block From To Value
369471192022-12-17 17:26:01467 days ago1671297961
0xc919E044...cd69a8551
0.00000023 MATIC
369471192022-12-17 17:26:01467 days ago1671297961
0xc919E044...cd69a8551
0.00000184 MATIC
369471192022-12-17 17:26:01467 days ago1671297961
0xc919E044...cd69a8551
0.00000023 MATIC
369234452022-12-17 3:08:21467 days ago1671246501
0xc919E044...cd69a8551
0.00000115 MATIC
369234452022-12-17 3:08:21467 days ago1671246501
0xc919E044...cd69a8551
0.00000921 MATIC
369234452022-12-17 3:08:21467 days ago1671246501
0xc919E044...cd69a8551
0.00000115 MATIC
369152872022-12-16 21:49:49467 days ago1671227389
0xc919E044...cd69a8551
0.00000921 MATIC
369152872022-12-16 21:49:49467 days ago1671227389
0xc919E044...cd69a8551
0.00000115 MATIC
369152872022-12-16 21:49:49467 days ago1671227389
0xc919E044...cd69a8551
0.00000921 MATIC
369152872022-12-16 21:49:49467 days ago1671227389
0xc919E044...cd69a8551
0.00000115 MATIC
369152872022-12-16 21:49:49467 days ago1671227389
0xc919E044...cd69a8551
0.00000921 MATIC
369152872022-12-16 21:49:49467 days ago1671227389
0xc919E044...cd69a8551
0.00000115 MATIC
369152872022-12-16 21:49:49467 days ago1671227389
0xc919E044...cd69a8551
0.00000115 MATIC
369025232022-12-16 13:58:28468 days ago1671199108
0xc919E044...cd69a8551
0.00000576 MATIC
369025232022-12-16 13:58:28468 days ago1671199108
0xc919E044...cd69a8551
0.00004608 MATIC
369025232022-12-16 13:58:28468 days ago1671199108
0xc919E044...cd69a8551
0.00000576 MATIC
369024012022-12-16 13:54:20468 days ago1671198860
0xc919E044...cd69a8551
0.0000288 MATIC
369024012022-12-16 13:54:20468 days ago1671198860
0xc919E044...cd69a8551
0.0002304 MATIC
369024012022-12-16 13:54:20468 days ago1671198860
0xc919E044...cd69a8551
0.0000288 MATIC
369021282022-12-16 13:44:54468 days ago1671198294
0xc919E044...cd69a8551
0.0000288 MATIC
369020222022-12-16 13:41:18468 days ago1671198078
0xc919E044...cd69a8551
0.000144 MATIC
369020222022-12-16 13:41:18468 days ago1671198078
0xc919E044...cd69a8551
0.001152 MATIC
369020222022-12-16 13:41:18468 days ago1671198078
0xc919E044...cd69a8551
0.000144 MATIC
369020222022-12-16 13:41:18468 days ago1671198078
0xc919E044...cd69a8551
0.00072 MATIC
369020222022-12-16 13:41:18468 days ago1671198078
0xc919E044...cd69a8551
0.00576 MATIC
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MATICBANK

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at polygonscan.com on 2022-12-09
*/

// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.5;



interface IInsuranceContract {
	function initiate() external;
	function getBalance() external view returns(uint);
	function getMainContract() external view returns(address);
}

contract INSURANCE {

	//accept funds from MainContract
	receive() external payable {}
	address payable public MAINCONTRACT;

	constructor() {
		MAINCONTRACT = payable(msg.sender);
	}

	function initiate() public {
		require(msg.sender == MAINCONTRACT, "Forbidden");
		uint balance = address(this).balance;
		if(balance==0) return;
		MAINCONTRACT.transfer(balance);
	}

	function getBalance() public view returns(uint) {
		return address(this).balance;
	}

	function getMainContract() public view returns(address) {
		return MAINCONTRACT;
	}

}



contract MATICBANK {

	//accept funds from Insurance
	receive() external payable {}

	bool public						LAUNCHED;
	address payable public			WALLET_PROJECT;
	uint constant public			PERCENTS_DIVIDER				= 1000;
	uint constant public			TIME_STEP						= 1 days;
	uint constant public			INVEST_MIN_AMOUNT				= 0.5 ether;			// 0.5 MATIC
	uint[] public					REFERRAL_PERCENTS				= [100,30,20,10,5];	// 10% 3% 2% 1% 0.5%
	uint constant public			PROJECT_FEE						= 100;					// project fee 10% of deposit
	uint constant public			MAX_WITHDRAW_AMOUNT				= 100 ether;				// claim 100 MATIC max
	uint constant public			WITHDRAW_COOLDOWN				= 1 days / 24;			// claim 24 times per day

	address payable public			INSURANCE_CONTRACT;
	mapping (uint => uint) public	INSURANCE_MAXBALANCE;
	uint constant public			INSURANCE_PERCENT				= 100;					// insurance fee 10% of claim
	uint constant public			INSURANCE_LOWBALANCE_PERCENT	= 250;					// protection kicks in at 25% or lower
	uint constant public			REINVEST_PERCENT				= 100;					// auto reinvest 10% of claim

	mapping (uint => THistoryDeposit) public DEPOSIT_HISTORY;
	uint public TOTAL_DEPOSITS;
	uint public TOTAL_INVESTED;
	uint public TOTAL_REFDIVIDENDS;
	uint public TOTAL_CLAIMED;
	uint public INSURANCE_TRIGGER_BALANCE;


	struct TPlan {
		uint durationDays;
		uint percent;
	}

	struct TDeposit {
		uint planIdx;
		uint amount;
		uint timeStart;
		uint timeEnd;
		bool isReinvest;
	}

	struct THistoryDeposit {
		uint timestamp;
		uint duration;
		uint amount;
	}

	struct TUser {
		uint		checkpoint;
		TDeposit[]	deposits;
		TDeposit[]	depHistory;
		uint[5]		refCount;
		address referrer;
		uint refDividends;
		uint debtBuffer;
		uint totalInvested;
		uint totalRefDividends;
		uint totalClaimed;
	}


	TPlan[] public						PLANS;
	mapping( address => TUser ) public	USERS;

	event ProjectFeePaid(uint amount);
	event MarketingFeePaid(uint amount);
	event Reinvested(uint amount);
	event InsuranseFeePaid(uint amount);
	event Claimed(address user, uint amount);
	event InitiateInsurance(uint high, uint current);
	event RefInvited(address referrer, address user);
	event RefDividends(address referrer, address user, uint refLevel, uint amount);
	event Newcomer(address user);
	event NewDeposit(address user, uint planIdx, uint amount);

	uint public		stat_maxDepositArrayLength;
	address public	stat_maxDepositArrayUser;
	uint public		stat_depositsReusedCounter;



	constructor(address payable _walletProject) {

		INSURANCE_CONTRACT = payable(new INSURANCE());
		WALLET_PROJECT = _walletProject;
		
		
		PLANS.push( TPlan(7,2000) );
		PLANS.push( TPlan(8,1875) );
		PLANS.push( TPlan(9,1777) );
		PLANS.push( TPlan(10,1700) );
		PLANS.push( TPlan(11,1636) );
		PLANS.push( TPlan(12,1583) );
		PLANS.push( TPlan(13,1538) );
		PLANS.push( TPlan(14,1500) );
		PLANS.push( TPlan(15,1466) );
		PLANS.push( TPlan(16,1437) );
		PLANS.push( TPlan(17,1411) );
		PLANS.push( TPlan(18,1388) );
		PLANS.push( TPlan(19,1368) );
		PLANS.push( TPlan(20,1350) );
		PLANS.push( TPlan(21,1333) );
		PLANS.push( TPlan(22,1318) );
		PLANS.push( TPlan(23,1304) );
		PLANS.push( TPlan(24,1291) );
		PLANS.push( TPlan(25,1280) );
		PLANS.push( TPlan(26,1269) );
		PLANS.push( TPlan(27,1259) );
		PLANS.push( TPlan(28,1250) );
		PLANS.push( TPlan(29,1241) );
		PLANS.push( TPlan(30,1233) );

	}



	function invest(address _referrer, uint8 _planIdx) public payable {

		require(msg.value >= INVEST_MIN_AMOUNT, "The deposit amount is too low");
		require(_planIdx < PLANS.length, "Invalid plan index");
		if(!LAUNCHED) {
			require(msg.sender == WALLET_PROJECT, "Project has not launched yet");
			LAUNCHED = true;
		}

		//transfer project fee
		uint pfee = msg.value * PROJECT_FEE / PERCENTS_DIVIDER;
		WALLET_PROJECT.transfer(pfee);
		emit ProjectFeePaid(pfee);

		_setUserReferrer(msg.sender, _referrer);

		_allocateReferralRewards(msg.sender, msg.value);

		_createDeposit( msg.sender, _planIdx, msg.value, false );

		_insuranceTrigger();

	}



	function claim() public {

		TUser storage user = USERS[msg.sender];

		uint claimAmount = _getUserDividends(msg.sender) + user.refDividends + user.debtBuffer;

		require(claimAmount > 0, "Nothing to withdraw");
		require(_canClaim(msg.sender), "Claim cooldown");
		user.checkpoint = block.timestamp;	//clear accumulated dividends
		user.refDividends = 0;				//clear refDividends
		user.debtBuffer = 0;				//clear debtBuffer


		//not enough contract balance? give what we can, promise to refund later
		uint balance = address(this).balance;
		if (claimAmount > balance) {
			user.debtBuffer += claimAmount - balance;
			claimAmount = balance;
		}

		//anti-whale protection
		if (claimAmount > MAX_WITHDRAW_AMOUNT) {
			user.debtBuffer += claimAmount - MAX_WITHDRAW_AMOUNT;
			claimAmount = MAX_WITHDRAW_AMOUNT;
		}


		//insurance
		uint insuranceAmount = claimAmount * INSURANCE_PERCENT / PERCENTS_DIVIDER;
		payable(INSURANCE_CONTRACT).transfer( insuranceAmount );
		emit InsuranseFeePaid(insuranceAmount);

		//reinvest
		uint reinvestAmount = claimAmount * REINVEST_PERCENT / PERCENTS_DIVIDER;
		_createDeposit( msg.sender, 0, reinvestAmount, true );
		emit Reinvested(reinvestAmount);


		claimAmount -= insuranceAmount;
		claimAmount -= reinvestAmount;

		//withdraw to user wallet
		user.totalClaimed += claimAmount;
		TOTAL_CLAIMED += claimAmount;
		payable(msg.sender).transfer( claimAmount );
		emit Claimed(msg.sender, claimAmount );

		_insuranceTrigger();

	}


	function _canClaim(address _user) internal view returns(bool) {
		return (block.timestamp-USERS[_user].checkpoint >= WITHDRAW_COOLDOWN);
	}




	function _insuranceTrigger() internal {

		uint balance = address(this).balance;
		uint todayIdx = block.timestamp/TIME_STEP;

		//new high today
		if ( INSURANCE_MAXBALANCE[todayIdx] < balance ) {
			INSURANCE_MAXBALANCE[todayIdx] = balance;
		}

		//high of past 7 days
		uint rangeHigh;
		for( uint i=0; i<7; i++) {
			if( INSURANCE_MAXBALANCE[todayIdx-i] > rangeHigh ) {
				rangeHigh = INSURANCE_MAXBALANCE[todayIdx-i];
			}
		}

		INSURANCE_TRIGGER_BALANCE = rangeHigh*INSURANCE_LOWBALANCE_PERCENT/PERCENTS_DIVIDER;

		//low balance - initiate Insurance
		if( balance < INSURANCE_TRIGGER_BALANCE ) {
			emit InitiateInsurance( rangeHigh, balance );
			IInsuranceContract(INSURANCE_CONTRACT).initiate();
		}
	}



	function _setUserReferrer(address _user, address _referrer) internal {

		if (USERS[_user].referrer != address(0)) return;	//already has a referrer
		if (USERS[_referrer].deposits.length == 0) return;	//referrer doesnt exist
		if (_user == _referrer) return;						//cant refer to yourself

		//adopt
		USERS[_user].referrer = _referrer;

		//loop through the referrer hierarchy, increase every referral Levels counter
		address upline = USERS[_user].referrer;
		for (uint i=0; i < REFERRAL_PERCENTS.length; i++) {
			if(upline==address(0)) break;
			USERS[upline].refCount[i]++;
			upline = USERS[upline].referrer;
		}

		emit RefInvited(_referrer,_user);
	}



	function _allocateReferralRewards(address _user, uint _depositAmount) internal {

		//loop through the referrer hierarchy, allocate refDividends
		address upline = USERS[_user].referrer;
		for (uint i=0; i < REFERRAL_PERCENTS.length; i++) {
			if (upline == address(0)) break;
			uint amount = _depositAmount * REFERRAL_PERCENTS[i] / PERCENTS_DIVIDER;
			USERS[upline].refDividends += amount;
			USERS[upline].totalRefDividends += amount;
			TOTAL_REFDIVIDENDS += amount;
			upline = USERS[upline].referrer;
			emit RefDividends(upline, _user, i, amount);
		}
	}



	function _createDeposit( address _user, uint _planIdx, uint _amount, bool _isReinvest ) internal returns(uint o_depIdx) {

		TUser storage user = USERS[_user];

		//first deposit: set initial checkpoint
		if (user.deposits.length == 0) {
			user.checkpoint = block.timestamp;
			emit Newcomer(_user);
		}

		TDeposit memory newDep = TDeposit( _planIdx, _amount, block.timestamp, block.timestamp + PLANS[_planIdx].durationDays * TIME_STEP, _isReinvest );

		//reuse a deceased slot or create new
		bool found;
		for(uint i=0; i<user.deposits.length; i++) {
			if(_isDepositDeceased(_user,i)) {
				user.deposits[i] = newDep;
				o_depIdx=i;
				found=true;
				stat_depositsReusedCounter++;
				break;
			}
		}
		if(!found) {
		o_depIdx=user.deposits.length;
		user.deposits.push(newDep);
		}

		//if not reinvest - update global stats
		if(!_isReinvest) {
			user.depHistory.push(newDep);
			user.totalInvested += _amount;
			DEPOSIT_HISTORY[TOTAL_DEPOSITS] = THistoryDeposit( block.timestamp, PLANS[_planIdx].durationDays*TIME_STEP, _amount );
			TOTAL_DEPOSITS++;
			TOTAL_INVESTED += _amount;
		}
       

		//technical data
 		if(stat_maxDepositArrayLength < user.deposits.length) {
			stat_maxDepositArrayLength = user.deposits.length;
			stat_maxDepositArrayUser = _user;
		}

		emit NewDeposit(_user, newDep.planIdx, newDep.amount);
	}



	function _isDepositDeceased(address _user, uint _depIdx) internal view returns(bool) {
		return (USERS[_user].checkpoint >= USERS[_user].deposits[_depIdx].timeEnd);
	}



	function _calculateDepositDividends(address _user, uint _depIdx) internal view returns (uint o_amount) {

		/* use _isDepositDeceased before calling this function to save gas */

		TUser storage user = USERS[_user];
		TDeposit storage deposit = user.deposits[_depIdx];

		//calculate withdrawable dividends starting from the last Claim checkpoint
		uint totalReward = deposit.amount * PLANS[deposit.planIdx].percent / PERCENTS_DIVIDER/10;
		uint timeA = deposit.timeStart > user.checkpoint ? deposit.timeStart : user.checkpoint;
		uint timeB = deposit.timeEnd < block.timestamp ? deposit.timeEnd : block.timestamp;
		if (timeA < timeB) {
			o_amount = totalReward * (timeB-timeA) / TIME_STEP;
		}
	}



	function _getUserDividends(address _user) internal view returns (uint o_amount) {

		for(uint i=0;i<USERS[_user].deposits.length;i++) {
			if(_isDepositDeceased(_user,i)) continue;
			o_amount += _calculateDepositDividends(_user,i);
		}

	}



	function getProjectInfo() public view returns(uint o_totDeposits, uint o_totInvested, uint o_totRefDividends, uint o_totClaimed, uint o_ensBalance, uint o_ensTriggerBalance, uint o_timestamp) {

		uint insuranceBalance = IInsuranceContract(INSURANCE_CONTRACT).getBalance();
		return( TOTAL_DEPOSITS, TOTAL_INVESTED, TOTAL_REFDIVIDENDS, TOTAL_CLAIMED, insuranceBalance, INSURANCE_TRIGGER_BALANCE, block.timestamp );
	}

	function getDepositHistory() public view returns(THistoryDeposit[20] memory o_historyDeposits, uint o_timestamp) {

		o_timestamp = block.timestamp;
		uint _from = TOTAL_DEPOSITS>=20 ? TOTAL_DEPOSITS-20 : 0;
		for(uint i=_from; i<TOTAL_DEPOSITS; i++) {
			o_historyDeposits[i-_from] = DEPOSIT_HISTORY[i];
		}
	}



	struct TPlanInfo {
		uint dividends;
		uint mActive;
		uint rActive;
	}

	struct TRefInfo {
		uint[5] count;
		uint dividends;
		uint totalEarned;
	}

	struct TUserInfo {
		uint claimable;
		uint checkpoint;
		uint totalDepositCount;
		uint totalInvested;
		uint totalClaimed;
	}

	function getUserInfo(address _user) public view returns (TPlanInfo memory o_planInfo, TRefInfo memory o_refInfo, TUserInfo memory o_userInfo, uint o_timestamp) {

		o_timestamp = block.timestamp;

		TUser storage user = USERS[_user];

		//active invest/reinvest deposits
		for(uint i=0; i<user.deposits.length; i++) {
			if(_isDepositDeceased(_user,i)) continue;
			o_planInfo.dividends += _calculateDepositDividends(_user,i);
			if(!user.deposits[i].isReinvest){ o_planInfo.mActive++; }
			else							{ o_planInfo.rActive++; }
		}

		//referral stats
		o_refInfo.count = user.refCount;
		o_refInfo.dividends = user.refDividends;
		o_refInfo.totalEarned = user.totalRefDividends;

		//user stats
		o_userInfo.claimable = o_planInfo.dividends + o_refInfo.dividends + user.debtBuffer;
		o_userInfo.checkpoint = user.checkpoint;
		o_userInfo.totalInvested = user.totalInvested;
		o_userInfo.totalDepositCount = user.depHistory.length;
		o_userInfo.totalClaimed = user.totalClaimed;

	}

	function getUserDepositHistory(address _user, uint _numBack) public view returns(TDeposit[5] memory o_deposits, uint o_total, uint o_idxFrom, uint o_idxTo, uint o_timestamp) {

		o_timestamp = block.timestamp;
		o_total = USERS[_user].depHistory.length;
		o_idxFrom = (o_total > _numBack*5) ? (o_total - _numBack*5) : 0;
		uint _cut = (o_total < _numBack*5) ? (_numBack*5 - o_total) : 0;
		o_idxTo = (o_idxFrom+5 < o_total) ? (o_idxFrom+5) - _cut : o_total;
		for(uint i=o_idxFrom; i<o_idxTo; i++) {
			o_deposits[i-o_idxFrom] = USERS[_user].depHistory[i];
		}

	}



	/* MOONARCH INTERFACE */

	function getUserAvailable(address _user) public view returns(uint) {
		if(!_canClaim(_user)) return 0;
		(,,TUserInfo memory userInfo,) = getUserInfo(_user);
		return userInfo.claimable;
	}

	function getUserCheckpoint(address _user) public view returns(uint) {
		return USERS[_user].checkpoint;
	}

	function getContractBalance() public view returns(uint) {
		uint insuranceBalance = IInsuranceContract(INSURANCE_CONTRACT).getBalance();
		return address(this).balance + insuranceBalance;
	}

	function withdraw() public {
		claim();
	}

	//invest(address _referrer, uint8 _planIdx)



}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_walletProject","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"high","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"current","type":"uint256"}],"name":"InitiateInsurance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"InsuranseFeePaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MarketingFeePaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"planIdx","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"Newcomer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ProjectFeePaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"refLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RefDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"RefInvited","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Reinvested","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"DEPOSIT_HISTORY","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INSURANCE_CONTRACT","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INSURANCE_LOWBALANCE_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"INSURANCE_MAXBALANCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INSURANCE_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INSURANCE_TRIGGER_BALANCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INVEST_MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LAUNCHED","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_WITHDRAW_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"PLANS","outputs":[{"internalType":"uint256","name":"durationDays","type":"uint256"},{"internalType":"uint256","name":"percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROJECT_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"REINVEST_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIME_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_CLAIMED","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_DEPOSITS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_INVESTED","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOTAL_REFDIVIDENDS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"USERS","outputs":[{"internalType":"uint256","name":"checkpoint","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"refDividends","type":"uint256"},{"internalType":"uint256","name":"debtBuffer","type":"uint256"},{"internalType":"uint256","name":"totalInvested","type":"uint256"},{"internalType":"uint256","name":"totalRefDividends","type":"uint256"},{"internalType":"uint256","name":"totalClaimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WALLET_PROJECT","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAW_COOLDOWN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDepositHistory","outputs":[{"components":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct MATICBANK.THistoryDeposit[20]","name":"o_historyDeposits","type":"tuple[20]"},{"internalType":"uint256","name":"o_timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProjectInfo","outputs":[{"internalType":"uint256","name":"o_totDeposits","type":"uint256"},{"internalType":"uint256","name":"o_totInvested","type":"uint256"},{"internalType":"uint256","name":"o_totRefDividends","type":"uint256"},{"internalType":"uint256","name":"o_totClaimed","type":"uint256"},{"internalType":"uint256","name":"o_ensBalance","type":"uint256"},{"internalType":"uint256","name":"o_ensTriggerBalance","type":"uint256"},{"internalType":"uint256","name":"o_timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_numBack","type":"uint256"}],"name":"getUserDepositHistory","outputs":[{"components":[{"internalType":"uint256","name":"planIdx","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"timeStart","type":"uint256"},{"internalType":"uint256","name":"timeEnd","type":"uint256"},{"internalType":"bool","name":"isReinvest","type":"bool"}],"internalType":"struct MATICBANK.TDeposit[5]","name":"o_deposits","type":"tuple[5]"},{"internalType":"uint256","name":"o_total","type":"uint256"},{"internalType":"uint256","name":"o_idxFrom","type":"uint256"},{"internalType":"uint256","name":"o_idxTo","type":"uint256"},{"internalType":"uint256","name":"o_timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getUserInfo","outputs":[{"components":[{"internalType":"uint256","name":"dividends","type":"uint256"},{"internalType":"uint256","name":"mActive","type":"uint256"},{"internalType":"uint256","name":"rActive","type":"uint256"}],"internalType":"struct MATICBANK.TPlanInfo","name":"o_planInfo","type":"tuple"},{"components":[{"internalType":"uint256[5]","name":"count","type":"uint256[5]"},{"internalType":"uint256","name":"dividends","type":"uint256"},{"internalType":"uint256","name":"totalEarned","type":"uint256"}],"internalType":"struct MATICBANK.TRefInfo","name":"o_refInfo","type":"tuple"},{"components":[{"internalType":"uint256","name":"claimable","type":"uint256"},{"internalType":"uint256","name":"checkpoint","type":"uint256"},{"internalType":"uint256","name":"totalDepositCount","type":"uint256"},{"internalType":"uint256","name":"totalInvested","type":"uint256"},{"internalType":"uint256","name":"totalClaimed","type":"uint256"}],"internalType":"struct MATICBANK.TUserInfo","name":"o_userInfo","type":"tuple"},{"internalType":"uint256","name":"o_timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referrer","type":"address"},{"internalType":"uint8","name":"_planIdx","type":"uint8"}],"name":"invest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"stat_depositsReusedCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stat_maxDepositArrayLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stat_maxDepositArrayUser","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060a00160405280606460ff168152602001601e60ff168152602001601460ff168152602001600a60ff168152602001600560ff1681525060019060056200005192919062000991565b503480156200005f57600080fd5b506040516200436838038062004368833981810160405281019062000085919062000a2c565b6040516200009390620009e8565b604051809103906000f080158015620000b0573d6000803e3d6000fd5b50600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600060016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a6040518060400160405280600781526020016107d0815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060088152602001610753815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280600981526020016106f1815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280600a81526020016106a4815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280600b8152602001610664815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280600c815260200161062f815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280600d8152602001610602815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280600e81526020016105dc815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280600f81526020016105ba815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a60405180604001604052806010815260200161059d815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060118152602001610583815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a60405180604001604052806012815260200161056c815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060138152602001610558815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060148152602001610546815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060158152602001610535815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060168152602001610526815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060178152602001610518815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a60405180604001604052806018815260200161050b815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a604051806040016040528060198152602001610500815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280601a81526020016104f5815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280601b81526020016104eb815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280601c81526020016104e2815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280601d81526020016104d9815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000155602082015181600101555050600a6040518060400160405280601e81526020016104d18152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550505062000ab1565b828054828255906000526020600020908101928215620009d5579160200282015b82811115620009d4578251829060ff16905591602001919060010190620009b2565b5b509050620009e49190620009f6565b5090565b6104288062003f4083390190565b5b8082111562000a11576000816000905550600101620009f7565b5090565b60008151905062000a268162000a97565b92915050565b60006020828403121562000a455762000a4462000a92565b5b600062000a558482850162000a15565b91505092915050565b600062000a6b8262000a72565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b62000aa28162000a5e565b811462000aae57600080fd5b50565b61347f8062000ac16000396000f3fe6080604052600436106102085760003560e01c80636386c1c711610118578063b294dd5e116100a0578063dc1bebef1161006f578063dc1bebef1461078b578063e262113e146107b6578063ed132679146107e1578063f469849514610820578063fce993e41461084b5761020f565b8063b294dd5e146106b7578063c224bab3146106e2578063d7ffca9114610723578063dbd409ec146107605761020f565b80637a0d725b116100e75780637a0d725b146105cd578063950d91e9146105f85780639535779f14610623578063a1dec4ca14610661578063acb4868d1461068c5761020f565b80636386c1c7146104f457806367c897fe146105345780636f9fb98a1461056557806377478514146105905761020f565b80633ccfd60b1161019b5780634e71d92d1161016a5780634e71d92d146104165780634f697c371461042d57806351dac1b314610470578063581c5ae61461049b578063600d20ce146104b75761020f565b80633ccfd60b1461037e57806344ba0ea21461039557806346237407146103c057806348d44bd1146103eb5761020f565b80632e4fe1b6116101d75780632e4fe1b6146102d257806332bc298c146102fd5780633634b1b5146103285780633a4a23dd146103535761020f565b806301c234a8146102145780630e19512e1461023f578063126445761461026a578063153ab9df146102955761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610877565b6040516102369190612eef565b60405180910390f35b34801561024b57600080fd5b5061025461087d565b6040516102619190612eef565b60405180910390f35b34801561027657600080fd5b5061027f610883565b60405161028c9190612eef565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190612772565b610889565b6040516102c99190612eef565b60405180910390f35b3480156102de57600080fd5b506102e76108bf565b6040516102f49190612eef565b60405180910390f35b34801561030957600080fd5b506103126108c5565b60405161031f9190612eef565b60405180910390f35b34801561033457600080fd5b5061033d6108cc565b60405161034a9190612c80565b60405180910390f35b34801561035f57600080fd5b506103686108f2565b6040516103759190612eef565b60405180910390f35b34801561038a57600080fd5b506103936108f7565b005b3480156103a157600080fd5b506103aa610901565b6040516103b79190612eef565b60405180910390f35b3480156103cc57600080fd5b506103d561090e565b6040516103e29190612eef565b60405180910390f35b3480156103f757600080fd5b50610400610913565b60405161040d9190612eef565b60405180910390f35b34801561042257600080fd5b5061042b610918565b005b34801561043957600080fd5b50610454600480360381019061044f9190612772565b610cb3565b6040516104679796959493929190612f0a565b60405180910390f35b34801561047c57600080fd5b50610485610d15565b6040516104929190612c65565b60405180910390f35b6104b560048036038101906104b091906127df565b610d3b565b005b3480156104c357600080fd5b506104de60048036038101906104d9919061281f565b610f7d565b6040516104eb9190612eef565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190612772565b610fa1565b60405161052b9493929190612ea7565b60405180910390f35b34801561054057600080fd5b5061054961119c565b60405161055c9796959493929190612fd9565b60405180910390f35b34801561057157600080fd5b5061057a611273565b6040516105879190612eef565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b2919061281f565b61132a565b6040516105c49190612eef565b60405180910390f35b3480156105d957600080fd5b506105e2611342565b6040516105ef9190612eef565b60405180910390f35b34801561060457600080fd5b5061060d611348565b60405161061a9190612eef565b60405180910390f35b34801561062f57600080fd5b5061064a6004803603810190610645919061281f565b61134e565b604051610658929190612f79565b60405180910390f35b34801561066d57600080fd5b50610676611382565b6040516106839190612eef565b60405180910390f35b34801561069857600080fd5b506106a1611388565b6040516106ae9190612dec565b60405180910390f35b3480156106c357600080fd5b506106cc611399565b6040516106d99190612eef565b60405180910390f35b3480156106ee57600080fd5b506107096004803603810190610704919061279f565b61139e565b60405161071a959493929190612d69565b60405180910390f35b34801561072f57600080fd5b5061074a60048036038101906107459190612772565b61159a565b6040516107579190612eef565b60405180910390f35b34801561076c57600080fd5b506107756115e6565b6040516107829190612eef565b60405180910390f35b34801561079757600080fd5b506107a06115ec565b6040516107ad9190612c80565b60405180910390f35b3480156107c257600080fd5b506107cb611612565b6040516107d89190612eef565b60405180910390f35b3480156107ed57600080fd5b506108086004803603810190610803919061281f565b61161e565b60405161081793929190612fa2565b60405180910390f35b34801561082c57600080fd5b50610835611648565b6040516108429190612eef565b60405180910390f35b34801561085757600080fd5b5061086061164e565b60405161086e929190612dc1565b60405180910390f35b6103e881565b60095481565b60085481565b60006108948261170c565b6108a157600090506108ba565b60006108ac83610fa1565b509250505080600001519150505b919050565b600e5481565b6201518081565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606481565b6108ff610918565b565b68056bc75e2d6310000081565b606481565b606481565b6000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600a0154826009015461097033611768565b61097a91906130e0565b61098491906130e0565b9050600081116109c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c090612e07565b60405180910390fd5b6109d23361170c565b610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0890612e47565b60405180910390fd5b42826000018190555060008260090181905550600082600a0181905550600047905080821115610a65578082610a4791906131c1565b83600a016000828254610a5a91906130e0565b925050819055508091505b68056bc75e2d63100000821115610ab25768056bc75e2d6310000082610a8b91906131c1565b83600a016000828254610a9e91906130e0565b9250508190555068056bc75e2d6310000091505b60006103e8606484610ac49190613167565b610ace9190613136565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b38573d6000803e3d6000fd5b507fdf91926d99c944b7a76df7f3410ef83763f7026d17200e97e6eb0b6bf898f75a81604051610b689190612eef565b60405180910390a160006103e8606485610b829190613167565b610b8c9190613136565b9050610b9c336000836001611802565b507f3784f4ef5deec94e3340d752ddbc17a7a04035afa08cbc39739c03157c08f8df81604051610bcc9190612eef565b60405180910390a18184610be091906131c1565b93508084610bee91906131c1565b93508385600d016000828254610c0491906130e0565b925050819055508360086000828254610c1d91906130e0565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015610c6a573d6000803e3d6000fd5b507fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a3385604051610c9c929190612d09565b60405180910390a1610cac611c55565b5050505050565b600b6020528060005260406000206000915090508060000154908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600901549080600a01549080600b01549080600c01549080600d0154905087565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6706f05b59d3b20000341015610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d90612e67565b60405180910390fd5b600a805490508160ff1610610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790612e87565b60405180910390fd5b60008054906101000a900460ff16610e8d57600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990612e27565b60405180910390fd5b60016000806101000a81548160ff0219169083151502179055505b60006103e8606434610e9f9190613167565b610ea99190613136565b9050600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f13573d6000803e3d6000fd5b507f744e3c6ef150e5faeaa4e10f54a7deaa2fa7e58399e23718b9b3cca5b3ccd8ad81604051610f439190612eef565b60405180910390a1610f553384611df9565b610f5f3334612175565b610f6f338360ff16346000611802565b50610f78611c55565b505050565b60018181548110610f8d57600080fd5b906000526020600020016000915090505481565b610fa96125d8565b610fb16125f9565b610fb9612620565b60004290506000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060005b81600101805490508110156110c85761101d87826123e8565b15611027576110b5565b611031878261249d565b8660000181815161104291906130e0565b9150818152505081600101818154811061105f5761105e613303565b5b906000526020600020906005020160040160009054906101000a900460ff1661109d578560200180518091906110949061325c565b815250506110b4565b8560400180518091906110af9061325c565b815250505b5b80806110c09061325c565b915050611004565b5080600301600580602002604051908101604052809291908260058015611104576020028201915b8154815260200190600101908083116110f0575b50505050508460000181905250806009015484602001818152505080600c015484604001818152505080600a01548460200151866000015161114691906130e0565b61115091906130e0565b836000018181525050806000015483602001818152505080600b0154836060018181525050806002018054905083604001818152505080600d0154836080018181525050509193509193565b600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b15801561121057600080fd5b505afa158015611224573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611248919061284c565b9050600554600654600754600854846009544297509750975097509750975097505090919293949596565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156112de57600080fd5b505afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611316919061284c565b9050804761132491906130e0565b91505090565b60036020528060005260406000206000915090505481565b60055481565b610e1081565b600a818154811061135e57600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b60075481565b60008054906101000a900460ff1681565b60fa81565b6113a661264f565b600080600080429050600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054905093506005866114049190613167565b841161141157600061142a565b60058661141e9190613167565b8461142991906131c1565b5b9250600060058761143b9190613167565b8510611448576000611461565b846005886114569190613167565b61146091906131c1565b5b90508460058561147191906130e0565b1061147c5784611495565b8060058561148a91906130e0565b61149491906131c1565b5b925060008490505b8381101561158e57600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181815481106114f9576114f8613303565b5b90600052602060002090600502016040518060a0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff16151515158152505087868361156291906131c1565b6005811061157357611572613303565b5b602002018190525080806115869061325c565b91505061149d565b50509295509295909350565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60065481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6706f05b59d3b2000081565b60046020528060005260406000206000915090508060000154908060010154908060020154905083565b600c5481565b61165661267c565b600042905060006014600554101561166f57600061167f565b601460055461167e91906131c1565b5b905060008190505b600554811015611706576004600082815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820154815250508483836116da91906131c1565b601481106116eb576116ea613303565b5b602002018190525080806116fe9061325c565b915050611687565b50509091565b6000610e10600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544261175f91906131c1565b10159050919050565b600080600090505b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508110156117fc576117c783826123e8565b156117d1576117e9565b6117db838261249d565b826117e691906130e0565b91505b80806117f49061325c565b915050611770565b50919050565b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600101805490501415611897574281600001819055507fd8125dbdc86a55134fbcba904caad35e4fbbc65ff57fbb90650820e7d8c19fdc8660405161188e9190612c65565b60405180910390a15b60006040518060a0016040528087815260200186815260200142815260200162015180600a89815481106118ce576118cd613303565b5b9060005260206000209060020201600001546118ea9190613167565b426118f591906130e0565b81526020018515158152509050600080600090505b83600101805490508110156119cf5761192389826123e8565b156119bc578284600101828154811061193f5761193e613303565b5b90600052602060002090600502016000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555090505080945060019150600e60008154809291906119b29061325c565b91905055506119cf565b80806119c79061325c565b91505061190a565b5080611a585782600101805490509350826001018290806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555050505b84611ba657826002018290806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555050508583600b016000828254611ae991906130e0565b92505081905550604051806060016040528042815260200162015180600a8a81548110611b1957611b18613303565b5b906000526020600020906002020160000154611b359190613167565b81526020018781525060046000600554815260200190815260200160002060008201518160000155602082015181600101556040820151816002015590505060056000815480929190611b879061325c565b91905055508560066000828254611b9e91906130e0565b925050819055505b8260010180549050600c541015611c07578260010180549050600c8190555087600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7fa91e0c3165215fe453f5bf3de083d5fd6c4e62c491849155a042a647588c53a08883600001518460200151604051611c4293929190612d32565b60405180910390a1505050949350505050565b600047905060006201518042611c6b9190613136565b90508160036000838152602001908152602001600020541015611ca1578160036000838152602001908152602001600020819055505b600080600090505b6007811015611d0d5781600360008386611cc391906131c1565b8152602001908152602001600020541115611cfa57600360008285611ce891906131c1565b81526020019081526020016000205491505b8080611d059061325c565b915050611ca9565b506103e860fa82611d1e9190613167565b611d289190613136565b600981905550600954831015611df4577f3cd33411d7891607e185e30318e7861ab78d5ff24801a6645e1c049a3d821acd8184604051611d69929190612f79565b60405180910390a1600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366aa56c56040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ddb57600080fd5b505af1158015611def573d6000803e3d6000fd5b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff16600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e9457612171565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490501415611ee757612171565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f2057612171565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b60018054905081101561213557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561205257612135565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181600581106120a6576120a5613303565b5b0160008154809291906120b89061325c565b9190505550600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150808061212d9061325c565b91505061200b565b507f58ab8e83a533292260952de93118b9883cc6dbc129740367bffb86566e154b108284604051612167929190612c9b565b60405180910390a1505b5050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6001805490508110156123e257600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612226576123e2565b60006103e86001838154811061223f5761223e613303565b5b9060005260206000200154856122559190613167565b61225f9190613136565b905080600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090160008282546122b391906130e0565b9250508190555080600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c01600082825461230c91906130e0565b92505081905550806007600082825461232591906130e0565b92505081905550600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692507ff7286f882847d6fb7a2ac074ede1632148f84e2841ab57f8dde07f01c5195e34838684846040516123c69493929190612cc4565b60405180910390a15080806123da9061325c565b9150506121df565b50505050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101828154811061243e5761243d613303565b5b906000526020600020906005020160030154600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541015905092915050565b600080600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010184815481106124f9576124f8613303565b5b906000526020600020906005020190506000600a6103e8600a84600001548154811061252857612527613303565b5b90600052602060002090600202016001015484600101546125499190613167565b6125539190613136565b61255d9190613136565b90506000836000015483600201541161257a578360000154612580565b82600201545b9050600042846003015410612595574261259b565b83600301545b9050808210156125cd576201518082826125b591906131c1565b846125c09190613167565b6125ca9190613136565b95505b505050505092915050565b60405180606001604052806000815260200160008152602001600081525090565b604051806060016040528061260c6126aa565b815260200160008152602001600081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a001604052806005905b6126666126cc565b81526020019060019003908161265e5790505090565b6040518061028001604052806014905b6126946126fd565b81526020019060019003908161268c5790505090565b6040518060a00160405280600590602082028036833780820191505090505090565b6040518060a00160405280600081526020016000815260200160008152602001600081526020016000151581525090565b60405180606001604052806000815260200160008152602001600081525090565b60008135905061272d81613404565b92915050565b6000813590506127428161341b565b92915050565b6000815190506127578161341b565b92915050565b60008135905061276c81613432565b92915050565b60006020828403121561278857612787613332565b5b60006127968482850161271e565b91505092915050565b600080604083850312156127b6576127b5613332565b5b60006127c48582860161271e565b92505060206127d585828601612733565b9150509250929050565b600080604083850312156127f6576127f5613332565b5b60006128048582860161271e565b92505060206128158582860161275d565b9150509250929050565b60006020828403121561283557612834613332565b5b600061284384828501612733565b91505092915050565b60006020828403121561286257612861613332565b5b600061287084828501612748565b91505092915050565b60006128858383612ab1565b60a08301905092915050565b600061289d8383612b19565b60608301905092915050565b60006128b58383612c47565b60208301905092915050565b6128ca81613207565b82525050565b6128d9816131f5565b82525050565b6128e881613066565b6128f281846130ae565b92506128fd82613048565b8060005b8381101561292e5781516129158782612879565b965061292083613087565b925050600181019050612901565b505050505050565b61293f81613071565b61294981846130b9565b925061295482613052565b8060005b8381101561298557815161296c8782612891565b965061297783613094565b925050600181019050612958565b505050505050565b6129968161307c565b6129a081846130c4565b92506129ab8261305c565b8060005b838110156129dc5781516129c387826128a9565b96506129ce836130a1565b9250506001810190506129af565b505050505050565b6129ed81613219565b82525050565b6129fc81613219565b82525050565b6000612a0f6013836130cf565b9150612a1a82613337565b602082019050919050565b6000612a32601c836130cf565b9150612a3d82613360565b602082019050919050565b6000612a55600e836130cf565b9150612a6082613389565b602082019050919050565b6000612a78601d836130cf565b9150612a83826133b2565b602082019050919050565b6000612a9b6012836130cf565b9150612aa6826133db565b602082019050919050565b60a082016000820151612ac76000850182612c47565b506020820151612ada6020850182612c47565b506040820151612aed6040850182612c47565b506060820151612b006060850182612c47565b506080820151612b1360808501826129e4565b50505050565b606082016000820151612b2f6000850182612c47565b506020820151612b426020850182612c47565b506040820151612b556040850182612c47565b50505050565b606082016000820151612b716000850182612c47565b506020820151612b846020850182612c47565b506040820151612b976040850182612c47565b50505050565b60e082016000820151612bb3600085018261298d565b506020820151612bc660a0850182612c47565b506040820151612bd960c0850182612c47565b50505050565b60a082016000820151612bf56000850182612c47565b506020820151612c086020850182612c47565b506040820151612c1b6040850182612c47565b506060820151612c2e6060850182612c47565b506080820151612c416080850182612c47565b50505050565b612c5081613245565b82525050565b612c5f81613245565b82525050565b6000602082019050612c7a60008301846128d0565b92915050565b6000602082019050612c9560008301846128c1565b92915050565b6000604082019050612cb060008301856128d0565b612cbd60208301846128d0565b9392505050565b6000608082019050612cd960008301876128d0565b612ce660208301866128d0565b612cf36040830185612c56565b612d006060830184612c56565b95945050505050565b6000604082019050612d1e60008301856128d0565b612d2b6020830184612c56565b9392505050565b6000606082019050612d4760008301866128d0565b612d546020830185612c56565b612d616040830184612c56565b949350505050565b60006103a082019050612d7f60008301886128df565b612d8d610320830187612c56565b612d9b610340830186612c56565b612da9610360830185612c56565b612db7610380830184612c56565b9695505050505050565b60006107a082019050612dd76000830185612936565b612de5610780830184612c56565b9392505050565b6000602082019050612e0160008301846129f3565b92915050565b60006020820190508181036000830152612e2081612a02565b9050919050565b60006020820190508181036000830152612e4081612a25565b9050919050565b60006020820190508181036000830152612e6081612a48565b9050919050565b60006020820190508181036000830152612e8081612a6b565b9050919050565b60006020820190508181036000830152612ea081612a8e565b9050919050565b600061020082019050612ebd6000830187612b5b565b612eca6060830186612b9d565b612ed8610140830185612bdf565b612ee66101e0830184612c56565b95945050505050565b6000602082019050612f046000830184612c56565b92915050565b600060e082019050612f1f600083018a612c56565b612f2c60208301896128d0565b612f396040830188612c56565b612f466060830187612c56565b612f536080830186612c56565b612f6060a0830185612c56565b612f6d60c0830184612c56565b98975050505050505050565b6000604082019050612f8e6000830185612c56565b612f9b6020830184612c56565b9392505050565b6000606082019050612fb76000830186612c56565b612fc46020830185612c56565b612fd16040830184612c56565b949350505050565b600060e082019050612fee600083018a612c56565b612ffb6020830189612c56565b6130086040830188612c56565b6130156060830187612c56565b6130226080830186612c56565b61302f60a0830185612c56565b61303c60c0830184612c56565b98975050505050505050565b6000819050919050565b6000819050919050565b6000819050919050565b600060059050919050565b600060149050919050565b600060059050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b60006130eb82613245565b91506130f683613245565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561312b5761312a6132a5565b5b828201905092915050565b600061314182613245565b915061314c83613245565b92508261315c5761315b6132d4565b5b828204905092915050565b600061317282613245565b915061317d83613245565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131b6576131b56132a5565b5b828202905092915050565b60006131cc82613245565b91506131d783613245565b9250828210156131ea576131e96132a5565b5b828203905092915050565b600061320082613225565b9050919050565b600061321282613225565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061326782613245565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561329a576132996132a5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f4e6f7468696e6720746f20776974686472617700000000000000000000000000600082015250565b7f50726f6a65637420686173206e6f74206c61756e636865642079657400000000600082015250565b7f436c61696d20636f6f6c646f776e000000000000000000000000000000000000600082015250565b7f546865206465706f73697420616d6f756e7420697320746f6f206c6f77000000600082015250565b7f496e76616c696420706c616e20696e6465780000000000000000000000000000600082015250565b61340d816131f5565b811461341857600080fd5b50565b61342481613245565b811461342f57600080fd5b50565b61343b8161324f565b811461344657600080fd5b5056fea264697066735822122062e84e1945c0f5fa53af60ee753e329de8fda4d03dbf90063623d5149e5b58e964736f6c63430008050033608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103c8806100606000396000f3fe6080604052600436106100435760003560e01c806312065fe01461004f57806366aa56c51461007a5780636a6e8b6a146100915780638d173e36146100bc5761004a565b3661004a57005b600080fd5b34801561005b57600080fd5b506100646100e7565b60405161007191906102ef565b60405180910390f35b34801561008657600080fd5b5061008f6100ef565b005b34801561009d57600080fd5b506100a66101fc565b6040516100b391906102b4565b60405180910390f35b3480156100c857600080fd5b506100d1610220565b6040516100de9190610299565b60405180910390f35b600047905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461017d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610174906102cf565b60405180910390fd5b6000479050600081141561019157506101fa565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156101f7573d6000803e3d6000fd5b50505b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6102528161032d565b82525050565b6102618161031b565b82525050565b600061027460098361030a565b915061027f82610369565b602082019050919050565b6102938161035f565b82525050565b60006020820190506102ae6000830184610258565b92915050565b60006020820190506102c96000830184610249565b92915050565b600060208201905081810360008301526102e881610267565b9050919050565b6000602082019050610304600083018461028a565b92915050565b600082825260208201905092915050565b60006103268261033f565b9050919050565b60006103388261033f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f466f7262696464656e000000000000000000000000000000000000000000000060008201525056fea2646970667358221220dfddc66625d772dfc55c79c000957de848f1099e89ed1664bd5269b597a4554264736f6c634300080500330000000000000000000000002e5331ea5d7a720f8bffa4385d1b4f7cfaa9d805

Deployed Bytecode

0x6080604052600436106102085760003560e01c80636386c1c711610118578063b294dd5e116100a0578063dc1bebef1161006f578063dc1bebef1461078b578063e262113e146107b6578063ed132679146107e1578063f469849514610820578063fce993e41461084b5761020f565b8063b294dd5e146106b7578063c224bab3146106e2578063d7ffca9114610723578063dbd409ec146107605761020f565b80637a0d725b116100e75780637a0d725b146105cd578063950d91e9146105f85780639535779f14610623578063a1dec4ca14610661578063acb4868d1461068c5761020f565b80636386c1c7146104f457806367c897fe146105345780636f9fb98a1461056557806377478514146105905761020f565b80633ccfd60b1161019b5780634e71d92d1161016a5780634e71d92d146104165780634f697c371461042d57806351dac1b314610470578063581c5ae61461049b578063600d20ce146104b75761020f565b80633ccfd60b1461037e57806344ba0ea21461039557806346237407146103c057806348d44bd1146103eb5761020f565b80632e4fe1b6116101d75780632e4fe1b6146102d257806332bc298c146102fd5780633634b1b5146103285780633a4a23dd146103535761020f565b806301c234a8146102145780630e19512e1461023f578063126445761461026a578063153ab9df146102955761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610877565b6040516102369190612eef565b60405180910390f35b34801561024b57600080fd5b5061025461087d565b6040516102619190612eef565b60405180910390f35b34801561027657600080fd5b5061027f610883565b60405161028c9190612eef565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190612772565b610889565b6040516102c99190612eef565b60405180910390f35b3480156102de57600080fd5b506102e76108bf565b6040516102f49190612eef565b60405180910390f35b34801561030957600080fd5b506103126108c5565b60405161031f9190612eef565b60405180910390f35b34801561033457600080fd5b5061033d6108cc565b60405161034a9190612c80565b60405180910390f35b34801561035f57600080fd5b506103686108f2565b6040516103759190612eef565b60405180910390f35b34801561038a57600080fd5b506103936108f7565b005b3480156103a157600080fd5b506103aa610901565b6040516103b79190612eef565b60405180910390f35b3480156103cc57600080fd5b506103d561090e565b6040516103e29190612eef565b60405180910390f35b3480156103f757600080fd5b50610400610913565b60405161040d9190612eef565b60405180910390f35b34801561042257600080fd5b5061042b610918565b005b34801561043957600080fd5b50610454600480360381019061044f9190612772565b610cb3565b6040516104679796959493929190612f0a565b60405180910390f35b34801561047c57600080fd5b50610485610d15565b6040516104929190612c65565b60405180910390f35b6104b560048036038101906104b091906127df565b610d3b565b005b3480156104c357600080fd5b506104de60048036038101906104d9919061281f565b610f7d565b6040516104eb9190612eef565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190612772565b610fa1565b60405161052b9493929190612ea7565b60405180910390f35b34801561054057600080fd5b5061054961119c565b60405161055c9796959493929190612fd9565b60405180910390f35b34801561057157600080fd5b5061057a611273565b6040516105879190612eef565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b2919061281f565b61132a565b6040516105c49190612eef565b60405180910390f35b3480156105d957600080fd5b506105e2611342565b6040516105ef9190612eef565b60405180910390f35b34801561060457600080fd5b5061060d611348565b60405161061a9190612eef565b60405180910390f35b34801561062f57600080fd5b5061064a6004803603810190610645919061281f565b61134e565b604051610658929190612f79565b60405180910390f35b34801561066d57600080fd5b50610676611382565b6040516106839190612eef565b60405180910390f35b34801561069857600080fd5b506106a1611388565b6040516106ae9190612dec565b60405180910390f35b3480156106c357600080fd5b506106cc611399565b6040516106d99190612eef565b60405180910390f35b3480156106ee57600080fd5b506107096004803603810190610704919061279f565b61139e565b60405161071a959493929190612d69565b60405180910390f35b34801561072f57600080fd5b5061074a60048036038101906107459190612772565b61159a565b6040516107579190612eef565b60405180910390f35b34801561076c57600080fd5b506107756115e6565b6040516107829190612eef565b60405180910390f35b34801561079757600080fd5b506107a06115ec565b6040516107ad9190612c80565b60405180910390f35b3480156107c257600080fd5b506107cb611612565b6040516107d89190612eef565b60405180910390f35b3480156107ed57600080fd5b506108086004803603810190610803919061281f565b61161e565b60405161081793929190612fa2565b60405180910390f35b34801561082c57600080fd5b50610835611648565b6040516108429190612eef565b60405180910390f35b34801561085757600080fd5b5061086061164e565b60405161086e929190612dc1565b60405180910390f35b6103e881565b60095481565b60085481565b60006108948261170c565b6108a157600090506108ba565b60006108ac83610fa1565b509250505080600001519150505b919050565b600e5481565b6201518081565b600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606481565b6108ff610918565b565b68056bc75e2d6310000081565b606481565b606481565b6000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600a0154826009015461097033611768565b61097a91906130e0565b61098491906130e0565b9050600081116109c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c090612e07565b60405180910390fd5b6109d23361170c565b610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0890612e47565b60405180910390fd5b42826000018190555060008260090181905550600082600a0181905550600047905080821115610a65578082610a4791906131c1565b83600a016000828254610a5a91906130e0565b925050819055508091505b68056bc75e2d63100000821115610ab25768056bc75e2d6310000082610a8b91906131c1565b83600a016000828254610a9e91906130e0565b9250508190555068056bc75e2d6310000091505b60006103e8606484610ac49190613167565b610ace9190613136565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610b38573d6000803e3d6000fd5b507fdf91926d99c944b7a76df7f3410ef83763f7026d17200e97e6eb0b6bf898f75a81604051610b689190612eef565b60405180910390a160006103e8606485610b829190613167565b610b8c9190613136565b9050610b9c336000836001611802565b507f3784f4ef5deec94e3340d752ddbc17a7a04035afa08cbc39739c03157c08f8df81604051610bcc9190612eef565b60405180910390a18184610be091906131c1565b93508084610bee91906131c1565b93508385600d016000828254610c0491906130e0565b925050819055508360086000828254610c1d91906130e0565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050158015610c6a573d6000803e3d6000fd5b507fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a3385604051610c9c929190612d09565b60405180910390a1610cac611c55565b5050505050565b600b6020528060005260406000206000915090508060000154908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600901549080600a01549080600b01549080600c01549080600d0154905087565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6706f05b59d3b20000341015610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d90612e67565b60405180910390fd5b600a805490508160ff1610610dd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc790612e87565b60405180910390fd5b60008054906101000a900460ff16610e8d57600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990612e27565b60405180910390fd5b60016000806101000a81548160ff0219169083151502179055505b60006103e8606434610e9f9190613167565b610ea99190613136565b9050600060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f13573d6000803e3d6000fd5b507f744e3c6ef150e5faeaa4e10f54a7deaa2fa7e58399e23718b9b3cca5b3ccd8ad81604051610f439190612eef565b60405180910390a1610f553384611df9565b610f5f3334612175565b610f6f338360ff16346000611802565b50610f78611c55565b505050565b60018181548110610f8d57600080fd5b906000526020600020016000915090505481565b610fa96125d8565b610fb16125f9565b610fb9612620565b60004290506000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060005b81600101805490508110156110c85761101d87826123e8565b15611027576110b5565b611031878261249d565b8660000181815161104291906130e0565b9150818152505081600101818154811061105f5761105e613303565b5b906000526020600020906005020160040160009054906101000a900460ff1661109d578560200180518091906110949061325c565b815250506110b4565b8560400180518091906110af9061325c565b815250505b5b80806110c09061325c565b915050611004565b5080600301600580602002604051908101604052809291908260058015611104576020028201915b8154815260200190600101908083116110f0575b50505050508460000181905250806009015484602001818152505080600c015484604001818152505080600a01548460200151866000015161114691906130e0565b61115091906130e0565b836000018181525050806000015483602001818152505080600b0154836060018181525050806002018054905083604001818152505080600d0154836080018181525050509193509193565b600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b15801561121057600080fd5b505afa158015611224573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611248919061284c565b9050600554600654600754600854846009544297509750975097509750975097505090919293949596565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166312065fe06040518163ffffffff1660e01b815260040160206040518083038186803b1580156112de57600080fd5b505afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611316919061284c565b9050804761132491906130e0565b91505090565b60036020528060005260406000206000915090505481565b60055481565b610e1081565b600a818154811061135e57600080fd5b90600052602060002090600202016000915090508060000154908060010154905082565b60075481565b60008054906101000a900460ff1681565b60fa81565b6113a661264f565b600080600080429050600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054905093506005866114049190613167565b841161141157600061142a565b60058661141e9190613167565b8461142991906131c1565b5b9250600060058761143b9190613167565b8510611448576000611461565b846005886114569190613167565b61146091906131c1565b5b90508460058561147191906130e0565b1061147c5784611495565b8060058561148a91906130e0565b61149491906131c1565b5b925060008490505b8381101561158e57600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020181815481106114f9576114f8613303565b5b90600052602060002090600502016040518060a0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff16151515158152505087868361156291906131c1565b6005811061157357611572613303565b5b602002018190525080806115869061325c565b91505061149d565b50509295509295909350565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60065481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6706f05b59d3b2000081565b60046020528060005260406000206000915090508060000154908060010154908060020154905083565b600c5481565b61165661267c565b600042905060006014600554101561166f57600061167f565b601460055461167e91906131c1565b5b905060008190505b600554811015611706576004600082815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820154815250508483836116da91906131c1565b601481106116eb576116ea613303565b5b602002018190525080806116fe9061325c565b915050611687565b50509091565b6000610e10600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001544261175f91906131c1565b10159050919050565b600080600090505b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508110156117fc576117c783826123e8565b156117d1576117e9565b6117db838261249d565b826117e691906130e0565b91505b80806117f49061325c565b915050611770565b50919050565b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600101805490501415611897574281600001819055507fd8125dbdc86a55134fbcba904caad35e4fbbc65ff57fbb90650820e7d8c19fdc8660405161188e9190612c65565b60405180910390a15b60006040518060a0016040528087815260200186815260200142815260200162015180600a89815481106118ce576118cd613303565b5b9060005260206000209060020201600001546118ea9190613167565b426118f591906130e0565b81526020018515158152509050600080600090505b83600101805490508110156119cf5761192389826123e8565b156119bc578284600101828154811061193f5761193e613303565b5b90600052602060002090600502016000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555090505080945060019150600e60008154809291906119b29061325c565b91905055506119cf565b80806119c79061325c565b91505061190a565b5080611a585782600101805490509350826001018290806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555050505b84611ba657826002018290806001815401808255809150506001900390600052602060002090600502016000909190919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555050508583600b016000828254611ae991906130e0565b92505081905550604051806060016040528042815260200162015180600a8a81548110611b1957611b18613303565b5b906000526020600020906002020160000154611b359190613167565b81526020018781525060046000600554815260200190815260200160002060008201518160000155602082015181600101556040820151816002015590505060056000815480929190611b879061325c565b91905055508560066000828254611b9e91906130e0565b925050819055505b8260010180549050600c541015611c07578260010180549050600c8190555087600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b7fa91e0c3165215fe453f5bf3de083d5fd6c4e62c491849155a042a647588c53a08883600001518460200151604051611c4293929190612d32565b60405180910390a1505050949350505050565b600047905060006201518042611c6b9190613136565b90508160036000838152602001908152602001600020541015611ca1578160036000838152602001908152602001600020819055505b600080600090505b6007811015611d0d5781600360008386611cc391906131c1565b8152602001908152602001600020541115611cfa57600360008285611ce891906131c1565b81526020019081526020016000205491505b8080611d059061325c565b915050611ca9565b506103e860fa82611d1e9190613167565b611d289190613136565b600981905550600954831015611df4577f3cd33411d7891607e185e30318e7861ab78d5ff24801a6645e1c049a3d821acd8184604051611d69929190612f79565b60405180910390a1600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366aa56c56040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ddb57600080fd5b505af1158015611def573d6000803e3d6000fd5b505050505b505050565b600073ffffffffffffffffffffffffffffffffffffffff16600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e9457612171565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490501415611ee757612171565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f2057612171565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b60018054905081101561213557600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561205257612135565b600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030181600581106120a6576120a5613303565b5b0160008154809291906120b89061325c565b9190505550600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150808061212d9061325c565b91505061200b565b507f58ab8e83a533292260952de93118b9883cc6dbc129740367bffb86566e154b108284604051612167929190612c9b565b60405180910390a1505b5050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b6001805490508110156123e257600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612226576123e2565b60006103e86001838154811061223f5761223e613303565b5b9060005260206000200154856122559190613167565b61225f9190613136565b905080600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090160008282546122b391906130e0565b9250508190555080600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600c01600082825461230c91906130e0565b92505081905550806007600082825461232591906130e0565b92505081905550600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692507ff7286f882847d6fb7a2ac074ede1632148f84e2841ab57f8dde07f01c5195e34838684846040516123c69493929190612cc4565b60405180910390a15080806123da9061325c565b9150506121df565b50505050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101828154811061243e5761243d613303565b5b906000526020600020906005020160030154600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541015905092915050565b600080600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010184815481106124f9576124f8613303565b5b906000526020600020906005020190506000600a6103e8600a84600001548154811061252857612527613303565b5b90600052602060002090600202016001015484600101546125499190613167565b6125539190613136565b61255d9190613136565b90506000836000015483600201541161257a578360000154612580565b82600201545b9050600042846003015410612595574261259b565b83600301545b9050808210156125cd576201518082826125b591906131c1565b846125c09190613167565b6125ca9190613136565b95505b505050505092915050565b60405180606001604052806000815260200160008152602001600081525090565b604051806060016040528061260c6126aa565b815260200160008152602001600081525090565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6040518060a001604052806005905b6126666126cc565b81526020019060019003908161265e5790505090565b6040518061028001604052806014905b6126946126fd565b81526020019060019003908161268c5790505090565b6040518060a00160405280600590602082028036833780820191505090505090565b6040518060a00160405280600081526020016000815260200160008152602001600081526020016000151581525090565b60405180606001604052806000815260200160008152602001600081525090565b60008135905061272d81613404565b92915050565b6000813590506127428161341b565b92915050565b6000815190506127578161341b565b92915050565b60008135905061276c81613432565b92915050565b60006020828403121561278857612787613332565b5b60006127968482850161271e565b91505092915050565b600080604083850312156127b6576127b5613332565b5b60006127c48582860161271e565b92505060206127d585828601612733565b9150509250929050565b600080604083850312156127f6576127f5613332565b5b60006128048582860161271e565b92505060206128158582860161275d565b9150509250929050565b60006020828403121561283557612834613332565b5b600061284384828501612733565b91505092915050565b60006020828403121561286257612861613332565b5b600061287084828501612748565b91505092915050565b60006128858383612ab1565b60a08301905092915050565b600061289d8383612b19565b60608301905092915050565b60006128b58383612c47565b60208301905092915050565b6128ca81613207565b82525050565b6128d9816131f5565b82525050565b6128e881613066565b6128f281846130ae565b92506128fd82613048565b8060005b8381101561292e5781516129158782612879565b965061292083613087565b925050600181019050612901565b505050505050565b61293f81613071565b61294981846130b9565b925061295482613052565b8060005b8381101561298557815161296c8782612891565b965061297783613094565b925050600181019050612958565b505050505050565b6129968161307c565b6129a081846130c4565b92506129ab8261305c565b8060005b838110156129dc5781516129c387826128a9565b96506129ce836130a1565b9250506001810190506129af565b505050505050565b6129ed81613219565b82525050565b6129fc81613219565b82525050565b6000612a0f6013836130cf565b9150612a1a82613337565b602082019050919050565b6000612a32601c836130cf565b9150612a3d82613360565b602082019050919050565b6000612a55600e836130cf565b9150612a6082613389565b602082019050919050565b6000612a78601d836130cf565b9150612a83826133b2565b602082019050919050565b6000612a9b6012836130cf565b9150612aa6826133db565b602082019050919050565b60a082016000820151612ac76000850182612c47565b506020820151612ada6020850182612c47565b506040820151612aed6040850182612c47565b506060820151612b006060850182612c47565b506080820151612b1360808501826129e4565b50505050565b606082016000820151612b2f6000850182612c47565b506020820151612b426020850182612c47565b506040820151612b556040850182612c47565b50505050565b606082016000820151612b716000850182612c47565b506020820151612b846020850182612c47565b506040820151612b976040850182612c47565b50505050565b60e082016000820151612bb3600085018261298d565b506020820151612bc660a0850182612c47565b506040820151612bd960c0850182612c47565b50505050565b60a082016000820151612bf56000850182612c47565b506020820151612c086020850182612c47565b506040820151612c1b6040850182612c47565b506060820151612c2e6060850182612c47565b506080820151612c416080850182612c47565b50505050565b612c5081613245565b82525050565b612c5f81613245565b82525050565b6000602082019050612c7a60008301846128d0565b92915050565b6000602082019050612c9560008301846128c1565b92915050565b6000604082019050612cb060008301856128d0565b612cbd60208301846128d0565b9392505050565b6000608082019050612cd960008301876128d0565b612ce660208301866128d0565b612cf36040830185612c56565b612d006060830184612c56565b95945050505050565b6000604082019050612d1e60008301856128d0565b612d2b6020830184612c56565b9392505050565b6000606082019050612d4760008301866128d0565b612d546020830185612c56565b612d616040830184612c56565b949350505050565b60006103a082019050612d7f60008301886128df565b612d8d610320830187612c56565b612d9b610340830186612c56565b612da9610360830185612c56565b612db7610380830184612c56565b9695505050505050565b60006107a082019050612dd76000830185612936565b612de5610780830184612c56565b9392505050565b6000602082019050612e0160008301846129f3565b92915050565b60006020820190508181036000830152612e2081612a02565b9050919050565b60006020820190508181036000830152612e4081612a25565b9050919050565b60006020820190508181036000830152612e6081612a48565b9050919050565b60006020820190508181036000830152612e8081612a6b565b9050919050565b60006020820190508181036000830152612ea081612a8e565b9050919050565b600061020082019050612ebd6000830187612b5b565b612eca6060830186612b9d565b612ed8610140830185612bdf565b612ee66101e0830184612c56565b95945050505050565b6000602082019050612f046000830184612c56565b92915050565b600060e082019050612f1f600083018a612c56565b612f2c60208301896128d0565b612f396040830188612c56565b612f466060830187612c56565b612f536080830186612c56565b612f6060a0830185612c56565b612f6d60c0830184612c56565b98975050505050505050565b6000604082019050612f8e6000830185612c56565b612f9b6020830184612c56565b9392505050565b6000606082019050612fb76000830186612c56565b612fc46020830185612c56565b612fd16040830184612c56565b949350505050565b600060e082019050612fee600083018a612c56565b612ffb6020830189612c56565b6130086040830188612c56565b6130156060830187612c56565b6130226080830186612c56565b61302f60a0830185612c56565b61303c60c0830184612c56565b98975050505050505050565b6000819050919050565b6000819050919050565b6000819050919050565b600060059050919050565b600060149050919050565b600060059050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b60006130eb82613245565b91506130f683613245565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561312b5761312a6132a5565b5b828201905092915050565b600061314182613245565b915061314c83613245565b92508261315c5761315b6132d4565b5b828204905092915050565b600061317282613245565b915061317d83613245565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131b6576131b56132a5565b5b828202905092915050565b60006131cc82613245565b91506131d783613245565b9250828210156131ea576131e96132a5565b5b828203905092915050565b600061320082613225565b9050919050565b600061321282613225565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061326782613245565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561329a576132996132a5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b7f4e6f7468696e6720746f20776974686472617700000000000000000000000000600082015250565b7f50726f6a65637420686173206e6f74206c61756e636865642079657400000000600082015250565b7f436c61696d20636f6f6c646f776e000000000000000000000000000000000000600082015250565b7f546865206465706f73697420616d6f756e7420697320746f6f206c6f77000000600082015250565b7f496e76616c696420706c616e20696e6465780000000000000000000000000000600082015250565b61340d816131f5565b811461341857600080fd5b50565b61342481613245565b811461342f57600080fd5b50565b61343b8161324f565b811461344657600080fd5b5056fea264697066735822122062e84e1945c0f5fa53af60ee753e329de8fda4d03dbf90063623d5149e5b58e964736f6c63430008050033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002e5331ea5d7a720f8bffa4385d1b4f7cfaa9d805

-----Decoded View---------------
Arg [0] : _walletProject (address): 0x2E5331EA5D7A720F8BFFa4385D1b4f7CfAa9D805

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002e5331ea5d7a720f8bffa4385d1b4f7cfaa9d805


Deployed Bytecode Sourcemap

830:13658:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2076:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2047:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13878:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3271:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1046:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;950:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1805:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14387:44;;;;;;;;;;;;;:::i;:::-;;1335:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1614:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1252:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4945:1523;;;;;;;;;;;;;:::i;:::-;;2666:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;3228:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4265:671;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1170:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12252:1008;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;11197:421;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;14189:193;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1560:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1953:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1422:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2637:25;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2013:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;921:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1701:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13265:575;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;14076:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1983:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1513:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1096:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1893:56;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;3185:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11623:318;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;993:49;1038:4;993:49;:::o;2076:37::-;;;;:::o;2047:25::-;;;;:::o;13878:193::-;13939:4;13954:16;13964:5;13954:9;:16::i;:::-;13950:30;;13979:1;13972:8;;;;13950:30;13988:25;14018:18;14030:5;14018:11;:18::i;:::-;13985:51;;;;;14048:8;:18;;;14041:25;;;13878:193;;;;:::o;3271:39::-;;;;:::o;1046:46::-;1086:6;1046:46;:::o;950:39::-;;;;;;;;;;;;;:::o;1805:48::-;1850:3;1805:48;:::o;14387:44::-;14419:7;:5;:7::i;:::-;14387:44::o;1335:57::-;1383:9;1335:57;:::o;1614:49::-;1660:3;1614:49;:::o;1252:45::-;1294:3;1252:45;:::o;4945:1523::-;4976:18;4997:5;:17;5003:10;4997:17;;;;;;;;;;;;;;;4976:38;;5021:16;5092:4;:15;;;5072:4;:17;;;5040:29;5058:10;5040:17;:29::i;:::-;:49;;;;:::i;:::-;:67;;;;:::i;:::-;5021:86;;5136:1;5122:11;:15;5114:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;5174:21;5184:10;5174:9;:21::i;:::-;5166:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;5237:15;5219:4;:15;;:33;;;;5307:1;5287:4;:17;;:21;;;;5355:1;5337:4;:15;;:19;;;;5463:12;5478:21;5463:36;;5522:7;5508:11;:21;5504:106;;;5570:7;5556:11;:21;;;;:::i;:::-;5537:4;:15;;;:40;;;;;;;:::i;:::-;;;;;;;;5597:7;5583:21;;5504:106;1383:9;5647:11;:33;5643:142;;;1383:9;5707:11;:33;;;;:::i;:::-;5688:4;:15;;;:52;;;;;;;:::i;:::-;;;;;;;;1383:9;5746:33;;5643:142;5808:20;1038:4;1660:3;5831:11;:31;;;;:::i;:::-;:50;;;;:::i;:::-;5808:73;;5894:18;;;;;;;;;;;5886:36;;:55;5924:15;5886:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5951:33;5968:15;5951:33;;;;;;:::i;:::-;;;;;;;;6005:19;1038:4;1850:3;6027:11;:30;;;;:::i;:::-;:49;;;;:::i;:::-;6005:71;;6081:53;6097:10;6109:1;6112:14;6128:4;6081:14;:53::i;:::-;;6144:26;6155:14;6144:26;;;;;;:::i;:::-;;;;;;;;6194:15;6179:30;;;;;:::i;:::-;;;6229:14;6214:29;;;;;:::i;:::-;;;6300:11;6279:4;:17;;;:32;;;;;;;:::i;:::-;;;;;;;;6333:11;6316:13;;:28;;;;;;;:::i;:::-;;;;;;;;6357:10;6349:28;;:43;6379:11;6349:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6402:33;6410:10;6422:11;6402:33;;;;;;;:::i;:::-;;;;;;;;6442:19;:17;:19::i;:::-;4969:1499;;;;;4945:1523::o;2666:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3228:39::-;;;;;;;;;;;;;:::o;4265:671::-;1142:9;4346;:30;;4338:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;4434:5;:12;;;;4423:8;:23;;;4415:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;4478:8;;;;;;;;;;4474:116;;4516:14;;;;;;;;;;;4502:28;;:10;:28;;;4494:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;4580:4;4569:8;;:15;;;;;;;;;;;;;;;;;;4474:116;4622:9;1038:4;1294:3;4634:9;:23;;;;:::i;:::-;:42;;;;:::i;:::-;4622:54;;4681:14;;;;;;;;;;;:23;;:29;4705:4;4681:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4720:20;4735:4;4720:20;;;;;;:::i;:::-;;;;;;;;4747:39;4764:10;4776:9;4747:16;:39::i;:::-;4793:47;4818:10;4830:9;4793:24;:47::i;:::-;4847:56;4863:10;4875:8;4847:56;;4885:9;4896:5;4847:14;:56::i;:::-;;4910:19;:17;:19::i;:::-;4331:605;4265:671;;:::o;1170:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12252:1008::-;12309:27;;:::i;:::-;12338:25;;:::i;:::-;12365:27;;:::i;:::-;12394:16;12433:15;12419:29;;12455:18;12476:5;:12;12482:5;12476:12;;;;;;;;;;;;;;;12455:33;;12536:6;12532:263;12548:4;:13;;:20;;;;12546:1;:22;12532:263;;;12584:27;12603:5;12609:1;12584:18;:27::i;:::-;12581:40;;;12613:8;;12581:40;12651:35;12678:5;12684:1;12651:26;:35::i;:::-;12627:10;:20;;:59;;;;;;;:::i;:::-;;;;;;;;12696:4;:13;;12710:1;12696:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:27;;;;;;;;;;;;12692:98;;12726:10;:18;;:20;;;;;;;;:::i;:::-;;;;;12692:98;;;12767:10;:18;;:20;;;;;;;;:::i;:::-;;;;;12692:98;12532:263;12570:3;;;;;:::i;:::-;;;;12532:263;;;;12839:4;:13;;12821:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;:15;;:31;;;;12879:4;:17;;;12857:9;:19;;:39;;;;;12925:4;:22;;;12901:9;:21;;:46;;;;;13038:4;:15;;;13016:9;:19;;;12993:10;:20;;;:42;;;;:::i;:::-;:60;;;;:::i;:::-;12970:10;:20;;:83;;;;;13082:4;:15;;;13058:10;:21;;:39;;;;;13129:4;:18;;;13102:10;:24;;:45;;;;;13183:4;:15;;:22;;;;13152:10;:28;;:53;;;;;13236:4;:17;;;13210:10;:23;;:43;;;;;12412:848;12252:1008;;;;;:::o;11197:421::-;11243:18;11263;11283:22;11307:17;11326;11345:24;11371:16;11396:21;11439:18;;;;;;;;;;;11420:49;;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11396:75;;11484:14;;11500;;11516:18;;11536:13;;11551:16;11569:25;;11596:15;11476:137;;;;;;;;;;;;;;;11197:421;;;;;;;:::o;14189:193::-;14239:4;14250:21;14293:18;;;;;;;;;;;14274:49;;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14250:75;;14361:16;14337:21;:40;;;;:::i;:::-;14330:47;;;14189:193;:::o;1560:50::-;;;;;;;;;;;;;;;;;:::o;1953:26::-;;;;:::o;1422:57::-;1468:11;1422:57;:::o;2637:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2013:30::-;;;;:::o;921:25::-;;;;;;;;;;;;:::o;1701:57::-;1755:3;1701:57;:::o;13265:575::-;13346:29;;:::i;:::-;13377:12;13391:14;13407:12;13421:16;13460:15;13446:29;;13490:5;:12;13496:5;13490:12;;;;;;;;;;;;;;;:23;;:30;;;;13480:40;;13557:1;13548:8;:10;;;;:::i;:::-;13538:7;:20;13537:51;;13587:1;13537:51;;;13582:1;13573:8;:10;;;;:::i;:::-;13563:7;:20;;;;:::i;:::-;13537:51;13525:63;;13593:9;13625:1;13616:8;:10;;;;:::i;:::-;13606:7;:20;13605:51;;13655:1;13605:51;;;13644:7;13640:1;13631:8;:10;;;;:::i;:::-;:20;;;;:::i;:::-;13605:51;13593:63;;13686:7;13682:1;13672:9;:11;;;;:::i;:::-;:21;13671:56;;13720:7;13671:56;;;13713:4;13708:1;13698:9;:11;;;;:::i;:::-;13697:20;;;;:::i;:::-;13671:56;13661:66;;13736:6;13743:9;13736:16;;13732:102;13756:7;13754:1;:9;13732:102;;;13802:5;:12;13808:5;13802:12;;;;;;;;;;;;;;;:23;;13826:1;13802:26;;;;;;;;:::i;:::-;;;;;;;;;;;;13776:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:10;13789:9;13787:1;:11;;;;:::i;:::-;13776:23;;;;;;;:::i;:::-;;;;;:52;;;;13765:3;;;;;:::i;:::-;;;;13732:102;;;;13439:401;13265:575;;;;;;;;:::o;14076:108::-;14138:4;14156:5;:12;14162:5;14156:12;;;;;;;;;;;;;;;:23;;;14149:30;;14076:108;;;:::o;1983:26::-;;;;:::o;1513:43::-;;;;;;;;;;;;;:::o;1096:55::-;1142:9;1096:55;:::o;1893:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3185:39::-;;;;:::o;11623:318::-;11672:44;;:::i;:::-;11718:16;11757:15;11743:29;;11777:10;11806:2;11790:14;;:18;;:42;;11831:1;11790:42;;;11826:2;11811:14;;:17;;;;:::i;:::-;11790:42;11777:55;;11841:6;11848:5;11841:12;;11837:100;11857:14;;11855:1;:16;11837:100;;;11913:15;:18;11929:1;11913:18;;;;;;;;;;;11884:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:17;11904:5;11902:1;:7;;;;:::i;:::-;11884:26;;;;;;;:::i;:::-;;;;;:47;;;;11873:3;;;;;:::i;:::-;;;;11837:100;;;;11736:205;11623:318;;:::o;6475:141::-;6531:4;1468:11;6566:5;:12;6572:5;6566:12;;;;;;;;;;;;;;;:23;;;6550:15;:39;;;;:::i;:::-;:60;;6542:69;;6475:141;;;:::o;10941:247::-;11006:13;11032:6;11039:1;11032:8;;11028:154;11043:5;:12;11049:5;11043:12;;;;;;;;;;;;;;;:21;;:28;;;;11041:1;:30;11028:154;;;11086:27;11105:5;11111:1;11086:18;:27::i;:::-;11083:40;;;11115:8;;11083:40;11141:35;11168:5;11174:1;11141:26;:35::i;:::-;11129:47;;;;;:::i;:::-;;;11028:154;11072:3;;;;;:::i;:::-;;;;11028:154;;;;10941:247;;;:::o;8645:1387::-;8750:13;8772:18;8793:5;:12;8799:5;8793:12;;;;;;;;;;;;;;;8772:33;;8883:1;8859:4;:13;;:20;;;;:25;8855:102;;;8910:15;8892:4;:15;;:33;;;;8936:15;8945:5;8936:15;;;;;;:::i;:::-;;;;;;;;8855:102;8963:22;8988:119;;;;;;;;8998:8;8988:119;;;;9008:7;8988:119;;;;9017:15;8988:119;;;;1086:6;9052:5;9058:8;9052:15;;;;;;;;:::i;:::-;;;;;;;;;;;;:28;;;:40;;;;:::i;:::-;9034:15;:58;;;;:::i;:::-;8988:119;;;;9094:11;8988:119;;;;;8963:144;;9155:10;9174:6;9181:1;9174:8;;9170:206;9186:4;:13;;:20;;;;9184:1;:22;9170:206;;;9222:27;9241:5;9247:1;9222:18;:27::i;:::-;9219:152;;;9277:6;9258:4;:13;;9272:1;9258:16;;;;;;;;:::i;:::-;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9299:1;9290:10;;9313:4;9307:10;;9324:26;;:28;;;;;;;;;:::i;:::-;;;;;;9359:5;;9219:152;9208:3;;;;;:::i;:::-;;;;9170:206;;;;9384:5;9380:82;;9405:4;:13;;:20;;;;9396:29;;9430:4;:13;;9449:6;9430:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9380:82;9515:11;9511:268;;9534:4;:15;;9555:6;9534:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9590:7;9568:4;:18;;;:29;;;;;;;:::i;:::-;;;;;;;;9637:83;;;;;;;;9654:15;9637:83;;;;1086:6;9671:5;9677:8;9671:15;;;;;;;;:::i;:::-;;;;;;;;;;;;:28;;;:38;;;;:::i;:::-;9637:83;;;;9711:7;9637:83;;;9603:15;:31;9619:14;;9603:31;;;;;;;;;;;:117;;;;;;;;;;;;;;;;;;;;;;;;;;;9726:14;;:16;;;;;;;;;:::i;:::-;;;;;;9766:7;9748:14;;:25;;;;;;;:::i;:::-;;;;;;;;9511:268;9847:4;:13;;:20;;;;9818:26;;:49;9815:153;;;9904:4;:13;;:20;;;;9875:26;:49;;;;9957:5;9930:24;;:32;;;;;;;;;;;;;;;;;;9815:153;9979:48;9990:5;9997:6;:14;;;10013:6;:13;;;9979:48;;;;;;;;:::i;:::-;;;;;;;;8765:1267;;;8645:1387;;;;;;:::o;6627:740::-;6672:12;6687:21;6672:36;;6713:13;1086:6;6729:15;:25;;;;:::i;:::-;6713:41;;6819:7;6786:20;:30;6807:8;6786:30;;;;;;;;;;;;:40;6781:100;;;6868:7;6835:20;:30;6856:8;6835:30;;;;;;;;;;;:40;;;;6781:100;6912:14;6936:6;6943:1;6936:8;;6931:145;6948:1;6946;:3;6931:145;;;7001:9;6966:20;:32;6996:1;6987:8;:10;;;;:::i;:::-;6966:32;;;;;;;;;;;;:44;6962:109;;;7032:20;:32;7062:1;7053:8;:10;;;;:::i;:::-;7032:32;;;;;;;;;;;;7020:44;;6962:109;6951:3;;;;;:::i;:::-;;;;6931:145;;;;1038:4;1755:3;7110:9;:38;;;;:::i;:::-;:55;;;;:::i;:::-;7082:25;:83;;;;7224:25;;7214:7;:35;7210:153;;;7263:39;7282:9;7293:7;7263:39;;;;;;;:::i;:::-;;;;;;;;7327:18;;;;;;;;;;;7308:47;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7210:153;6665:702;;;6627:740::o;7376:676::-;7489:1;7456:35;;:5;:12;7462:5;7456:12;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:35;;;7452:48;;7493:7;;7452:48;7569:1;7533:5;:16;7539:9;7533:16;;;;;;;;;;;;;;;:25;;:32;;;;:37;7529:50;;;7572:7;;7529:50;7620:9;7611:18;;:5;:18;;;7607:31;;;7631:7;;7607:31;7709:9;7685:5;:12;7691:5;7685:12;;;;;;;;;;;;;;;:21;;;:33;;;;;;;;;;;;;;;;;;7806:14;7823:5;:12;7829:5;7823:12;;;;;;;;;;;;;;;:21;;;;;;;;;;;;7806:38;;7854:6;7849:160;7868:17;:24;;;;7864:1;:28;7849:160;;;7924:1;7908:18;;:6;:18;;;7905:28;;;7928:5;;7905:28;7939:5;:13;7945:6;7939:13;;;;;;;;;;;;;;;:22;;7962:1;7939:25;;;;;;;:::i;:::-;;;;:27;;;;;;;;;:::i;:::-;;;;;;7981:5;:13;7987:6;7981:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;7972:31;;7894:3;;;;;:::i;:::-;;;;7849:160;;;;8020:27;8031:9;8041:5;8020:27;;;;;;;:::i;:::-;;;;;;;;7445:607;7376:676;;;:::o;8061:575::-;8211:14;8228:5;:12;8234:5;8228:12;;;;;;;;;;;;;;;:21;;;;;;;;;;;;8211:38;;8259:6;8254:378;8273:17;:24;;;;8269:1;:28;8254:378;;;8332:1;8314:20;;:6;:20;;;8310:31;;;8336:5;;8310:31;8347:11;1038:4;8378:17;8396:1;8378:20;;;;;;;;:::i;:::-;;;;;;;;;;8361:14;:37;;;;:::i;:::-;:56;;;;:::i;:::-;8347:70;;8453:6;8423:5;:13;8429:6;8423:13;;;;;;;;;;;;;;;:26;;;:36;;;;;;;:::i;:::-;;;;;;;;8500:6;8465:5;:13;8471:6;8465:13;;;;;;;;;;;;;;;:31;;;:41;;;;;;;:::i;:::-;;;;;;;;8534:6;8512:18;;:28;;;;;;;:::i;:::-;;;;;;;;8555:5;:13;8561:6;8555:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;8546:31;;8588:38;8601:6;8609:5;8616:1;8619:6;8588:38;;;;;;;;;:::i;:::-;;;;;;;;8304:328;8299:3;;;;;:::i;:::-;;;;8254:378;;;;8140:496;8061:575;;:::o;10041:169::-;10120:4;10166:5;:12;10172:5;10166:12;;;;;;;;;;;;;;;:21;;10188:7;10166:30;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;10139:5;:12;10145:5;10139:12;;;;;;;;;;;;;;;:23;;;:65;;10131:74;;10041:169;;;;:::o;10219:713::-;10307:13;10404:18;10425:5;:12;10431:5;10425:12;;;;;;;;;;;;;;;10404:33;;10442:24;10469:4;:13;;10483:7;10469:22;;;;;;;;:::i;:::-;;;;;;;;;;;;10442:49;;10576:16;10662:2;1038:4;10612:5;10618:7;:15;;;10612:22;;;;;;;;:::i;:::-;;;;;;;;;;;;:30;;;10595:7;:14;;;:47;;;;:::i;:::-;:66;;;;:::i;:::-;:69;;;;:::i;:::-;10576:88;;10669:10;10702:4;:15;;;10682:7;:17;;;:35;:73;;10740:4;:15;;;10682:73;;;10720:7;:17;;;10682:73;10669:86;;10760:10;10791:15;10773:7;:15;;;:33;:69;;10827:15;10773:69;;;10809:7;:15;;;10773:69;10760:82;;10859:5;10851;:13;10847:81;;;1086:6;10904:5;10898;:11;;;;:::i;:::-;10883;:27;;;;:::i;:::-;:39;;;;:::i;:::-;10872:50;;10847:81;10322:610;;;;;10219:713;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:143::-;354:5;385:6;379:13;370:22;;401:33;428:5;401:33;:::i;:::-;360:80;;;;:::o;446:135::-;490:5;528:6;515:20;506:29;;544:31;569:5;544:31;:::i;:::-;496:85;;;;:::o;587:329::-;646:6;695:2;683:9;674:7;670:23;666:32;663:2;;;701:79;;:::i;:::-;663:2;821:1;846:53;891:7;882:6;871:9;867:22;846:53;:::i;:::-;836:63;;792:117;653:263;;;;:::o;922:474::-;990:6;998;1047:2;1035:9;1026:7;1022:23;1018:32;1015:2;;;1053:79;;:::i;:::-;1015:2;1173:1;1198:53;1243:7;1234:6;1223:9;1219:22;1198:53;:::i;:::-;1188:63;;1144:117;1300:2;1326:53;1371:7;1362:6;1351:9;1347:22;1326:53;:::i;:::-;1316:63;;1271:118;1005:391;;;;;:::o;1402:470::-;1468:6;1476;1525:2;1513:9;1504:7;1500:23;1496:32;1493:2;;;1531:79;;:::i;:::-;1493:2;1651:1;1676:53;1721:7;1712:6;1701:9;1697:22;1676:53;:::i;:::-;1666:63;;1622:117;1778:2;1804:51;1847:7;1838:6;1827:9;1823:22;1804:51;:::i;:::-;1794:61;;1749:116;1483:389;;;;;:::o;1878:329::-;1937:6;1986:2;1974:9;1965:7;1961:23;1957:32;1954:2;;;1992:79;;:::i;:::-;1954:2;2112:1;2137:53;2182:7;2173:6;2162:9;2158:22;2137:53;:::i;:::-;2127:63;;2083:117;1944:263;;;;:::o;2213:351::-;2283:6;2332:2;2320:9;2311:7;2307:23;2303:32;2300:2;;;2338:79;;:::i;:::-;2300:2;2458:1;2483:64;2539:7;2530:6;2519:9;2515:22;2483:64;:::i;:::-;2473:74;;2429:128;2290:274;;;;:::o;2570:279::-;2689:10;2710:96;2802:3;2794:6;2710:96;:::i;:::-;2838:4;2833:3;2829:14;2815:28;;2700:149;;;;:::o;2855:307::-;2988:10;3009:110;3115:3;3107:6;3009:110;:::i;:::-;3151:4;3146:3;3142:14;3128:28;;2999:163;;;;:::o;3168:179::-;3237:10;3258:46;3300:3;3292:6;3258:46;:::i;:::-;3336:4;3331:3;3327:14;3313:28;;3248:99;;;;:::o;3353:142::-;3456:32;3482:5;3456:32;:::i;:::-;3451:3;3444:45;3434:61;;:::o;3501:118::-;3588:24;3606:5;3588:24;:::i;:::-;3583:3;3576:37;3566:53;;:::o;3693:894::-;3879:77;3950:5;3879:77;:::i;:::-;3972:109;4074:6;4069:3;3972:109;:::i;:::-;3965:116;;4105:79;4178:5;4105:79;:::i;:::-;4207:7;4238:1;4223:357;4248:6;4245:1;4242:13;4223:357;;;4324:6;4318:13;4351:113;4460:3;4445:13;4351:113;:::i;:::-;4344:120;;4487:83;4563:6;4487:83;:::i;:::-;4477:93;;4283:297;4270:1;4267;4263:9;4258:14;;4223:357;;;4227:14;3855:732;;;;;:::o;4677:956::-;4879:85;4958:5;4879:85;:::i;:::-;4980:117;5090:6;5085:3;4980:117;:::i;:::-;4973:124;;5121:87;5202:5;5121:87;:::i;:::-;5231:7;5262:1;5247:379;5272:6;5269:1;5266:13;5247:379;;;5348:6;5342:13;5375:127;5498:3;5483:13;5375:127;:::i;:::-;5368:134;;5525:91;5609:6;5525:91;:::i;:::-;5515:101;;5307:319;5294:1;5291;5287:9;5282:14;;5247:379;;;5251:14;4855:778;;;;;:::o;5671:674::-;5797:52;5843:5;5797:52;:::i;:::-;5865:74;5932:6;5927:3;5865:74;:::i;:::-;5858:81;;5963:54;6011:5;5963:54;:::i;:::-;6040:7;6071:1;6056:282;6081:6;6078:1;6075:13;6056:282;;;6157:6;6151:13;6184:63;6243:3;6228:13;6184:63;:::i;:::-;6177:70;;6270:58;6321:6;6270:58;:::i;:::-;6260:68;;6116:222;6103:1;6100;6096:9;6091:14;;6056:282;;;6060:14;5773:572;;;;;:::o;6351:99::-;6422:21;6437:5;6422:21;:::i;:::-;6417:3;6410:34;6400:50;;:::o;6456:109::-;6537:21;6552:5;6537:21;:::i;:::-;6532:3;6525:34;6515:50;;:::o;6571:366::-;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;;6717:220;;;:::o;6943:366::-;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;;7089:220;;;:::o;7315:366::-;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;;7461:220;;;:::o;7687:366::-;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;;7833:220;;;:::o;8059:366::-;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;;8205:220;;;:::o;8493:1032::-;8630:4;8625:3;8621:14;8720:4;8713:5;8709:16;8703:23;8739:63;8796:4;8791:3;8787:14;8773:12;8739:63;:::i;:::-;8645:167;8896:4;8889:5;8885:16;8879:23;8915:63;8972:4;8967:3;8963:14;8949:12;8915:63;:::i;:::-;8822:166;9075:4;9068:5;9064:16;9058:23;9094:63;9151:4;9146:3;9142:14;9128:12;9094:63;:::i;:::-;8998:169;9252:4;9245:5;9241:16;9235:23;9271:63;9328:4;9323:3;9319:14;9305:12;9271:63;:::i;:::-;9177:167;9432:4;9425:5;9421:16;9415:23;9451:57;9502:4;9497:3;9493:14;9479:12;9451:57;:::i;:::-;9354:164;8599:926;;;:::o;9607:696::-;9758:4;9753:3;9749:14;9850:4;9843:5;9839:16;9833:23;9869:63;9926:4;9921:3;9917:14;9903:12;9869:63;:::i;:::-;9773:169;10028:4;10021:5;10017:16;10011:23;10047:63;10104:4;10099:3;10095:14;10081:12;10047:63;:::i;:::-;9952:168;10204:4;10197:5;10193:16;10187:23;10223:63;10280:4;10275:3;10271:14;10257:12;10223:63;:::i;:::-;10130:166;9727:576;;;:::o;10373:696::-;10524:4;10519:3;10515:14;10616:4;10609:5;10605:16;10599:23;10635:63;10692:4;10687:3;10683:14;10669:12;10635:63;:::i;:::-;10539:169;10793:4;10786:5;10782:16;10776:23;10812:63;10869:4;10864:3;10860:14;10846:12;10812:63;:::i;:::-;10718:167;10970:4;10963:5;10959:16;10953:23;10989:63;11046:4;11041:3;11037:14;11023:12;10989:63;:::i;:::-;10895:167;10493:576;;;:::o;11137:742::-;11286:4;11281:3;11277:14;11374:4;11367:5;11363:16;11357:23;11393:109;11496:4;11491:3;11487:14;11473:12;11393:109;:::i;:::-;11301:211;11599:4;11592:5;11588:16;11582:23;11618:63;11675:4;11670:3;11666:14;11652:12;11618:63;:::i;:::-;11522:169;11780:4;11773:5;11769:16;11763:23;11799:63;11856:4;11851:3;11847:14;11833:12;11799:63;:::i;:::-;11701:171;11255:624;;;:::o;11949:1074::-;12100:4;12095:3;12091:14;12192:4;12185:5;12181:16;12175:23;12211:63;12268:4;12263:3;12259:14;12245:12;12211:63;:::i;:::-;12115:169;12372:4;12365:5;12361:16;12355:23;12391:63;12448:4;12443:3;12439:14;12425:12;12391:63;:::i;:::-;12294:170;12559:4;12552:5;12548:16;12542:23;12578:63;12635:4;12630:3;12626:14;12612:12;12578:63;:::i;:::-;12474:177;12742:4;12735:5;12731:16;12725:23;12761:63;12818:4;12813:3;12809:14;12795:12;12761:63;:::i;:::-;12661:173;12924:4;12917:5;12913:16;12907:23;12943:63;13000:4;12995:3;12991:14;12977:12;12943:63;:::i;:::-;12844:172;12069:954;;;:::o;13029:108::-;13106:24;13124:5;13106:24;:::i;:::-;13101:3;13094:37;13084:53;;:::o;13143:118::-;13230:24;13248:5;13230:24;:::i;:::-;13225:3;13218:37;13208:53;;:::o;13267:222::-;13360:4;13398:2;13387:9;13383:18;13375:26;;13411:71;13479:1;13468:9;13464:17;13455:6;13411:71;:::i;:::-;13365:124;;;;:::o;13495:254::-;13604:4;13642:2;13631:9;13627:18;13619:26;;13655:87;13739:1;13728:9;13724:17;13715:6;13655:87;:::i;:::-;13609:140;;;;:::o;13755:332::-;13876:4;13914:2;13903:9;13899:18;13891:26;;13927:71;13995:1;13984:9;13980:17;13971:6;13927:71;:::i;:::-;14008:72;14076:2;14065:9;14061:18;14052:6;14008:72;:::i;:::-;13881:206;;;;;:::o;14093:553::-;14270:4;14308:3;14297:9;14293:19;14285:27;;14322:71;14390:1;14379:9;14375:17;14366:6;14322:71;:::i;:::-;14403:72;14471:2;14460:9;14456:18;14447:6;14403:72;:::i;:::-;14485;14553:2;14542:9;14538:18;14529:6;14485:72;:::i;:::-;14567;14635:2;14624:9;14620:18;14611:6;14567:72;:::i;:::-;14275:371;;;;;;;:::o;14652:332::-;14773:4;14811:2;14800:9;14796:18;14788:26;;14824:71;14892:1;14881:9;14877:17;14868:6;14824:71;:::i;:::-;14905:72;14973:2;14962:9;14958:18;14949:6;14905:72;:::i;:::-;14778:206;;;;;:::o;14990:442::-;15139:4;15177:2;15166:9;15162:18;15154:26;;15190:71;15258:1;15247:9;15243:17;15234:6;15190:71;:::i;:::-;15271:72;15339:2;15328:9;15324:18;15315:6;15271:72;:::i;:::-;15353;15421:2;15410:9;15406:18;15397:6;15353:72;:::i;:::-;15144:288;;;;;;:::o;15438:859::-;15739:4;15777:3;15766:9;15762:19;15754:27;;15791:167;15955:1;15944:9;15940:17;15931:6;15791:167;:::i;:::-;15968:73;16036:3;16025:9;16021:19;16012:6;15968:73;:::i;:::-;16051;16119:3;16108:9;16104:19;16095:6;16051:73;:::i;:::-;16134;16202:3;16191:9;16187:19;16178:6;16134:73;:::i;:::-;16217;16285:3;16274:9;16270:19;16261:6;16217:73;:::i;:::-;15744:553;;;;;;;;:::o;16303:560::-;16536:4;16574;16563:9;16559:20;16551:28;;16589:183;16769:1;16758:9;16754:17;16745:6;16589:183;:::i;:::-;16782:74;16850:4;16839:9;16835:20;16826:6;16782:74;:::i;:::-;16541:322;;;;;:::o;16869:210::-;16956:4;16994:2;16983:9;16979:18;16971:26;;17007:65;17069:1;17058:9;17054:17;17045:6;17007:65;:::i;:::-;16961:118;;;;:::o;17085:419::-;17251:4;17289:2;17278:9;17274:18;17266:26;;17338:9;17332:4;17328:20;17324:1;17313:9;17309:17;17302:47;17366:131;17492:4;17366:131;:::i;:::-;17358:139;;17256:248;;;:::o;17510:419::-;17676:4;17714:2;17703:9;17699:18;17691:26;;17763:9;17757:4;17753:20;17749:1;17738:9;17734:17;17727:47;17791:131;17917:4;17791:131;:::i;:::-;17783:139;;17681:248;;;:::o;17935:419::-;18101:4;18139:2;18128:9;18124:18;18116:26;;18188:9;18182:4;18178:20;18174:1;18163:9;18159:17;18152:47;18216:131;18342:4;18216:131;:::i;:::-;18208:139;;18106:248;;;:::o;18360:419::-;18526:4;18564:2;18553:9;18549:18;18541:26;;18613:9;18607:4;18603:20;18599:1;18588:9;18584:17;18577:47;18641:131;18767:4;18641:131;:::i;:::-;18633:139;;18531:248;;;:::o;18785:419::-;18951:4;18989:2;18978:9;18974:18;18966:26;;19038:9;19032:4;19028:20;19024:1;19013:9;19009:17;19002:47;19066:131;19192:4;19066:131;:::i;:::-;19058:139;;18956:248;;;:::o;19210:875::-;19547:4;19585:3;19574:9;19570:19;19562:27;;19599:125;19721:1;19710:9;19706:17;19697:6;19599:125;:::i;:::-;19734:124;19854:2;19843:9;19839:18;19830:6;19734:124;:::i;:::-;19868:127;19990:3;19979:9;19975:19;19966:6;19868:127;:::i;:::-;20005:73;20073:3;20062:9;20058:19;20049:6;20005:73;:::i;:::-;19552:533;;;;;;;:::o;20091:222::-;20184:4;20222:2;20211:9;20207:18;20199:26;;20235:71;20303:1;20292:9;20288:17;20279:6;20235:71;:::i;:::-;20189:124;;;;:::o;20319:886::-;20580:4;20618:3;20607:9;20603:19;20595:27;;20632:71;20700:1;20689:9;20685:17;20676:6;20632:71;:::i;:::-;20713:72;20781:2;20770:9;20766:18;20757:6;20713:72;:::i;:::-;20795;20863:2;20852:9;20848:18;20839:6;20795:72;:::i;:::-;20877;20945:2;20934:9;20930:18;20921:6;20877:72;:::i;:::-;20959:73;21027:3;21016:9;21012:19;21003:6;20959:73;:::i;:::-;21042;21110:3;21099:9;21095:19;21086:6;21042:73;:::i;:::-;21125;21193:3;21182:9;21178:19;21169:6;21125:73;:::i;:::-;20585:620;;;;;;;;;;:::o;21211:332::-;21332:4;21370:2;21359:9;21355:18;21347:26;;21383:71;21451:1;21440:9;21436:17;21427:6;21383:71;:::i;:::-;21464:72;21532:2;21521:9;21517:18;21508:6;21464:72;:::i;:::-;21337:206;;;;;:::o;21549:442::-;21698:4;21736:2;21725:9;21721:18;21713:26;;21749:71;21817:1;21806:9;21802:17;21793:6;21749:71;:::i;:::-;21830:72;21898:2;21887:9;21883:18;21874:6;21830:72;:::i;:::-;21912;21980:2;21969:9;21965:18;21956:6;21912:72;:::i;:::-;21703:288;;;;;;:::o;21997:886::-;22258:4;22296:3;22285:9;22281:19;22273:27;;22310:71;22378:1;22367:9;22363:17;22354:6;22310:71;:::i;:::-;22391:72;22459:2;22448:9;22444:18;22435:6;22391:72;:::i;:::-;22473;22541:2;22530:9;22526:18;22517:6;22473:72;:::i;:::-;22555;22623:2;22612:9;22608:18;22599:6;22555:72;:::i;:::-;22637:73;22705:3;22694:9;22690:19;22681:6;22637:73;:::i;:::-;22720;22788:3;22777:9;22773:19;22764:6;22720:73;:::i;:::-;22803;22871:3;22860:9;22856:19;22847:6;22803:73;:::i;:::-;22263:620;;;;;;;;;;:::o;22970:123::-;23060:4;23083:3;23075:11;;23065:28;;;:::o;23099:131::-;23197:4;23220:3;23212:11;;23202:28;;;:::o;23236:98::-;23301:4;23324:3;23316:11;;23306:28;;;:::o;23340:129::-;23430:6;23458:4;23448:14;;23437:32;;;:::o;23475:137::-;23573:6;23601:4;23591:14;;23580:32;;;:::o;23618:104::-;23683:6;23711:4;23701:14;;23690:32;;;:::o;23728:136::-;23821:4;23853;23848:3;23844:14;23836:22;;23826:38;;;:::o;23870:144::-;23971:4;24003;23998:3;23994:14;23986:22;;23976:38;;;:::o;24020:111::-;24088:4;24120;24115:3;24111:14;24103:22;;24093:38;;;:::o;24137:168::-;24259:11;24296:3;24281:18;;24271:34;;;;:::o;24311:176::-;24441:11;24478:3;24463:18;;24453:34;;;;:::o;24493:133::-;24580:11;24617:3;24602:18;;24592:34;;;;:::o;24632:169::-;24716:11;24750:6;24745:3;24738:19;24790:4;24785:3;24781:14;24766:29;;24728:73;;;;:::o;24807:305::-;24847:3;24866:20;24884:1;24866:20;:::i;:::-;24861:25;;24900:20;24918:1;24900:20;:::i;:::-;24895:25;;25054:1;24986:66;24982:74;24979:1;24976:81;24973:2;;;25060:18;;:::i;:::-;24973:2;25104:1;25101;25097:9;25090:16;;24851:261;;;;:::o;25118:185::-;25158:1;25175:20;25193:1;25175:20;:::i;:::-;25170:25;;25209:20;25227:1;25209:20;:::i;:::-;25204:25;;25248:1;25238:2;;25253:18;;:::i;:::-;25238:2;25295:1;25292;25288:9;25283:14;;25160:143;;;;:::o;25309:348::-;25349:7;25372:20;25390:1;25372:20;:::i;:::-;25367:25;;25406:20;25424:1;25406:20;:::i;:::-;25401:25;;25594:1;25526:66;25522:74;25519:1;25516:81;25511:1;25504:9;25497:17;25493:105;25490:2;;;25601:18;;:::i;:::-;25490:2;25649:1;25646;25642:9;25631:20;;25357:300;;;;:::o;25663:191::-;25703:4;25723:20;25741:1;25723:20;:::i;:::-;25718:25;;25757:20;25775:1;25757:20;:::i;:::-;25752:25;;25796:1;25793;25790:8;25787:2;;;25801:18;;:::i;:::-;25787:2;25846:1;25843;25839:9;25831:17;;25708:146;;;;:::o;25860:96::-;25897:7;25926:24;25944:5;25926:24;:::i;:::-;25915:35;;25905:51;;;:::o;25962:104::-;26007:7;26036:24;26054:5;26036:24;:::i;:::-;26025:35;;26015:51;;;:::o;26072:90::-;26106:7;26149:5;26142:13;26135:21;26124:32;;26114:48;;;:::o;26168:126::-;26205:7;26245:42;26238:5;26234:54;26223:65;;26213:81;;;:::o;26300:77::-;26337:7;26366:5;26355:16;;26345:32;;;:::o;26383:86::-;26418:7;26458:4;26451:5;26447:16;26436:27;;26426:43;;;:::o;26475:233::-;26514:3;26537:24;26555:5;26537:24;:::i;:::-;26528:33;;26583:66;26576:5;26573:77;26570:2;;;26653:18;;:::i;:::-;26570:2;26700:1;26693:5;26689:13;26682:20;;26518:190;;;:::o;26714:180::-;26762:77;26759:1;26752:88;26859:4;26856:1;26849:15;26883:4;26880:1;26873:15;26900:180;26948:77;26945:1;26938:88;27045:4;27042:1;27035:15;27069:4;27066:1;27059:15;27086:180;27134:77;27131:1;27124:88;27231:4;27228:1;27221:15;27255:4;27252:1;27245:15;27395:117;27504:1;27501;27494:12;27518:169;27658:21;27654:1;27646:6;27642:14;27635:45;27624:63;:::o;27693:178::-;27833:30;27829:1;27821:6;27817:14;27810:54;27799:72;:::o;27877:164::-;28017:16;28013:1;28005:6;28001:14;27994:40;27983:58;:::o;28047:179::-;28187:31;28183:1;28175:6;28171:14;28164:55;28153:73;:::o;28232:168::-;28372:20;28368:1;28360:6;28356:14;28349:44;28338:62;:::o;28406:122::-;28479:24;28497:5;28479:24;:::i;:::-;28472:5;28469:35;28459:2;;28518:1;28515;28508:12;28459:2;28449:79;:::o;28534:122::-;28607:24;28625:5;28607:24;:::i;:::-;28600:5;28597:35;28587:2;;28646:1;28643;28636:12;28587:2;28577:79;:::o;28662:118::-;28733:22;28749:5;28733:22;:::i;:::-;28726:5;28723:33;28713:2;;28770:1;28767;28760:12;28713:2;28703:77;:::o

Swarm Source

ipfs://dfddc66625d772dfc55c79c000957de848f1099e89ed1664bd5269b597a45542

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

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.