Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 60 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Extension | 8375330 | 1955 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 8307866 | 1966 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 8284650 | 1969 days ago | IN | 0 ETH | 0.00014347 | ||||
Set Extension | 8265231 | 1972 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 8251325 | 1975 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 8232219 | 1978 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 8213567 | 1980 days ago | IN | 0 ETH | 0.00057388 | ||||
Set Extension | 8197106 | 1983 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 8168074 | 1988 days ago | IN | 0 ETH | 0.00008608 | ||||
Set Extension | 8151486 | 1990 days ago | IN | 0 ETH | 0.00008608 | ||||
Set Extension | 8133412 | 1993 days ago | IN | 0 ETH | 0.00008608 | ||||
Set Extension | 8118275 | 1995 days ago | IN | 0 ETH | 0.00028694 | ||||
Set Extension | 8100021 | 1998 days ago | IN | 0 ETH | 0.00012625 | ||||
Set Extension | 8087126 | 2000 days ago | IN | 0 ETH | 0.00011764 | ||||
Set Extension | 8074085 | 2002 days ago | IN | 0 ETH | 0.00017216 | ||||
Set Extension | 8048023 | 2006 days ago | IN | 0 ETH | 0.00028694 | ||||
Set Extension | 8040883 | 2007 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 8010724 | 2012 days ago | IN | 0 ETH | 0.00011477 | ||||
Set Extension | 7997902 | 2014 days ago | IN | 0 ETH | 0.00012625 | ||||
Set Extension | 7985341 | 2016 days ago | IN | 0 ETH | 0.00014347 | ||||
Set Extension | 7971407 | 2018 days ago | IN | 0 ETH | 0.00028694 | ||||
Set Extension | 7946047 | 2022 days ago | IN | 0 ETH | 0.00008608 | ||||
Set Extension | 7919575 | 2026 days ago | IN | 0 ETH | 0.00057388 | ||||
Set Extension | 7899979 | 2029 days ago | IN | 0 ETH | 0.00002869 | ||||
Set Extension | 7878978 | 2033 days ago | IN | 0 ETH | 0.00002869 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
7522950 | 2088 days ago | 0.0003 ETH | ||||
7522950 | 2088 days ago | 0.0003 ETH | ||||
7522950 | 2088 days ago | 0.0194 ETH | ||||
7517510 | 2089 days ago | 0.02 ETH | ||||
7509564 | 2090 days ago | 0.00045 ETH | ||||
7509564 | 2090 days ago | 0.00045 ETH | ||||
7509564 | 2090 days ago | 0.01455 ETH | ||||
7509564 | 2090 days ago | 0.01455 ETH | ||||
7498883 | 2092 days ago | 0.01 ETH | ||||
7496059 | 2092 days ago | 0.01 ETH | ||||
7490738 | 2093 days ago | 0.01 ETH | ||||
7490728 | 2093 days ago | 0.00015 ETH | ||||
7490728 | 2093 days ago | 0.00015 ETH | ||||
7490728 | 2093 days ago | 0.0097 ETH | ||||
7484128 | 2094 days ago | 0.01 ETH | ||||
7477922 | 2095 days ago | 0.00015 ETH | ||||
7477922 | 2095 days ago | 0.00015 ETH | ||||
7477922 | 2095 days ago | 0.0097 ETH | ||||
7473698 | 2096 days ago | 0.01 ETH | ||||
7473698 | 2096 days ago | 0.01 ETH | ||||
7473660 | 2096 days ago | 0.01 ETH | ||||
7465140 | 2097 days ago | 0.0006 ETH | ||||
7465140 | 2097 days ago | 0.0006 ETH | ||||
7465140 | 2097 days ago | 0.02586666 ETH | ||||
7465140 | 2097 days ago | 0.01293333 ETH |
Loading...
Loading
Contract Name:
FiveElementsAdministration
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-03-17 */ pragma solidity ^0.4.24; contract Ceil { function ceil(uint a, uint m) constant returns (uint ) { return ((a + m - 1) / m) * m; } } contract QuickSort { function sort(uint[] data) public constant returns(uint[]) { quickSort(data, int(0), int(data.length - 1)); return data; } function quickSort(uint[] memory arr, int left, int right) internal{ int i = left; int j = right; if(i==j) return; uint pivot = arr[uint(left + (right - left) / 2)]; while (i <= j) { while (arr[uint(i)] < pivot) i++; while (pivot < arr[uint(j)]) j--; if (i <= j) { (arr[uint(i)], arr[uint(j)]) = (arr[uint(j)], arr[uint(i)]); i++; j--; } } if (left < j) quickSort(arr, left, j); if (i < right) quickSort(arr, i, right); } } contract Abssub{ function AbsSub(uint x,uint y) constant returns(uint ){ if (x>=y){ return(x-y); }else{ return(y-x); } } } contract Rounding{ function rounding(uint x) constant returns(uint ){ if (x-(x/10)*10>=5){ return(x/10+1); }else{ return(x/10); } } } contract FiveElementsAdministration is QuickSort,Ceil,Abssub,Rounding{ address[] Users; uint[5][] Guesses; uint[] EntryPaid; uint[5] Weights; uint[5] Ans; uint[5] AvgGuesses; uint[] ERaw; // Raw Error Datas uint[] Error; uint[] EST; // Error Datas Sorted and Trimmed address[] Winners; uint[] WinEntryPaid; uint MinEntryPrice; uint FeePM; // Fee Per Million uint ExpirationTime; uint Period; uint Round; uint WOCC; bool Frozen; address constant private Admin=0x92Bf51aB8C48B93a96F8dde8dF07A1504aA393fD; address constant private Adam=0x9640a35e5345CB0639C4DD0593567F9334FfeB8a; address constant private Tummy=0x820090F4D39a9585a327cc39ba483f8fE7a9DA84; address constant private Willy=0xA4757a60d41Ff94652104e4BCdB2936591c74d1D; address constant private Nicky=0x89473CD97F49E6d991B68e880f4162e2CBaC3561; address constant private Artem=0xA7e8AFa092FAa27F06942480D28edE6fE73E5F88; address FiveElementsContractAddress; //event ResultsAndPayouts(uint RealPriceA,uint RealPriceB,uint RealPriceC,uint RealPriceD,uint RealPriceE,uint TotalWinners,uint TotalParticipants,uint PayoutsPerEtherEntry,uint TotalPrizePool,uint AverageEntryPaid); event ResultsAudit(uint RealPriceA,uint RealPriceB,uint RealPriceC,uint RealPriceD,uint RealPriceE); event PayoutInfo(uint TotalWinners,uint TotalParticipants,uint PayoutsPerEtherEntry,uint TotalPrizePool,uint AverageEntryPaid); event NoPlayers(); event Extension(uint extension,uint newExpirationTime); event Initialisation(uint EntryPrice,uint FeePerMillion,uint submissionPeriod,uint expirationTime,uint WA,uint WB,uint WC,uint WD,uint WE); event UserBetAmount(address indexed User,uint Amount); event RoundNumber(uint round); event FiveElementsAddressSet(address indexed FiveElementsAddress); event UserJoined(address indexed User,address indexed AddedBy,uint Value,uint GuessA,uint GuessB,uint GuessC,uint GuessD,uint GuessE); event BetAmountUpdated(address indexed User,address indexed UpdatedBy,uint BetMoreAmount,uint TotalBetAmount); event LiveRanking(address indexed User,uint Rank,uint TotalPlayers,uint TotalEntryPaid); event MinEntryInWei(uint MinEntryValue); event WeightsSet(uint WA,uint WB,uint WC,uint WD,uint WE); event ContractFrozen(string Status); event ContractDefrosted(string Status); event FundsEjected(uint TotalEjected); event UserQuitGame(address indexed User,address indexed FunctionActivatedBy,uint TotalRefundAmount); event UserRefundAmount(address indexed User,address indexed FunctionActivatedBy,uint RefundAmount,uint NewEntryBalance); event Volume(uint PrizePool,uint TotalPlayers); event CurrentFeePerMillion(uint FeePerMillion); event AvgOfAllGuesses(uint AvgGuessA,uint AvgGuessB,uint AvgGuessC,uint AvgGuessD,uint AvgGuessE,uint ActivationCount); event ReceivedFunds(address indexed Sender,uint Value); function Results(uint RealPriceA,uint RealPriceB,uint RealPriceC,uint RealPriceD,uint RealPriceE,bool Freeze){ require(msg.sender==Admin || msg.sender==Adam); uint Bal=address(this).balance; Ans[0]=RealPriceA; Ans[1]=RealPriceB; Ans[2]=RealPriceC; Ans[3]=RealPriceD; Ans[4]=RealPriceE; require(Ans[0]>0 && Ans[1]>0 && Ans[2]>0 && Ans[3]>0 && Ans[4]>0); uint L=Users.length; if (L>0){ for (uint k=0;k<L;k++){ uint E=0; for (uint j=0;j<5;j++){ E=E+1000000*Weights[j]*AbsSub(Guesses[k][j],Ans[j])/Ans[j]; } ERaw.push(E); } Error=sort(ERaw); uint store=Error[L-1]+1; for (k=0;k<L;k++){ if (store!=Error[k]){ EST.push(Error[k]); store=Error[k]; } } uint M=EST[ceil(5*(EST.length),10)/10-1]; uint Sum=0; for (k=0;k<L;k++){ if (ERaw[k]<=M){ Winners.push(Users[k]); WinEntryPaid.push(EntryPaid[k]); Sum=Sum+EntryPaid[k]; } } uint WL=Winners.length; for (k=0;k<WL;k++){ uint I=0; while (I<L&&Winners[k]!=Users[I]){ I=I+1; } Users[I].transfer(EntryPaid[I]*Bal*(1000000-FeePM)/(1000000*Sum)); } for (k=0;k<L;k++){ for (j=0;j<5;j++){ AvgGuesses[j]=AvgGuesses[j]+Guesses[k][j]; } } for (j=0;j<5;j++){ AvgGuesses[j]=rounding(10*AvgGuesses[j]/L); } emit AvgOfAllGuesses(AvgGuesses[0],AvgGuesses[1],AvgGuesses[2],AvgGuesses[3],AvgGuesses[4],WOCC); //emit ResultsAndPayouts(uint RealPriceA,uint RealPriceB,uint RealPriceC,uint RealPriceD,uint RealPriceE,Winners.length,L,Bal/Sum,Bal,Bal/L); emit ResultsAudit(Ans[0],Ans[1],Ans[2],Ans[3],Ans[4]); emit PayoutInfo(Winners.length,L,Bal/Sum,Bal,Bal/L); }else{ emit NoPlayers(); emit ResultsAudit(Ans[0],Ans[1],Ans[2],Ans[3],Ans[4]); } Frozen=Freeze; Round=Round+1; ExpirationTime=now+Period; Adam.transfer(address(this).balance/2); Admin.transfer(address(this).balance); delete Users; delete Guesses; delete EntryPaid; delete AvgGuesses; delete ERaw; delete Error; delete EST; delete Winners; delete WinEntryPaid; delete WOCC; } function SetExtension(uint extension){ require(msg.sender==Admin || msg.sender==Adam); ExpirationTime=ExpirationTime+extension; emit Extension(extension,ExpirationTime); } function Initialise(uint EntryPrice,uint FeePerMillion,uint SetSubmissionPeriod,uint WA,uint WB,uint WC,uint WD,uint WE,bool FirstRound){ require(msg.sender==Admin || msg.sender==Adam); MinEntryPrice=EntryPrice; FeePM=FeePerMillion; Period=SetSubmissionPeriod; ExpirationTime=now+Period; Weights[0]=WA; Weights[1]=WB; Weights[2]=WC; Weights[3]=WD; Weights[4]=WE; if (FirstRound==true){ Round=1; } Frozen=false; emit Initialisation(EntryPrice,FeePerMillion,SetSubmissionPeriod,ExpirationTime,WA,WB,WC,WD,WE); emit RoundNumber(Round); } function GetBetAmount(address User)public returns(uint Amount){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); uint L=Users.length; uint k=0; while (k<L&&User!=Users[k]){ k=k+1; } if (k<L){ Amount=EntryPaid[k]; }else{ Amount=0; } emit UserBetAmount(User,Amount); } function GetRoundNumber()public returns(uint round){ round=Round; emit RoundNumber(round); } function SetFiveElementsAddress(address ContractAddress){ require(msg.sender==Admin || msg.sender==Adam); FiveElementsContractAddress=ContractAddress; emit FiveElementsAddressSet(ContractAddress); } function UserJoin(address User,uint Value,uint GuessA,uint GuessB,uint GuessC,uint GuessD,uint GuessE){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); require(Frozen==false); require(Value>0); require(now<=ExpirationTime || msg.sender==Admin || msg.sender==Adam); uint L=Users.length; uint k=0; while (k<L&&User!=Users[k]){ k=k+1; } require(k>=L); Users.push(User); EntryPaid.push(Value); Guesses.push([GuessA,GuessB,GuessC,GuessD,GuessE]); emit UserJoined(User,msg.sender,Value,GuessA,GuessB,GuessC,GuessD,GuessE); } function UpdateBetAmount(address User,uint Value){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); require(Frozen==false); require(Value>0); require(now<=ExpirationTime+14400 || msg.sender==Admin || msg.sender==Adam); uint L=Users.length; uint k=0; while (k<L&&User!=Users[k]){ k=k+1; } require(k<L); EntryPaid[k]=EntryPaid[k]+Value; emit BetAmountUpdated(User,msg.sender,Value,EntryPaid[k]); } function GetCurrentRank(address User,uint RealPriceA,uint RealPriceB,uint RealPriceC,uint RealPriceD,uint RealPriceE)public returns(uint Rank,uint TotalPlayers){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); Ans[0]=RealPriceA; Ans[1]=RealPriceB; Ans[2]=RealPriceC; Ans[3]=RealPriceD; Ans[4]=RealPriceE; require(Ans[0]>0 && Ans[1]>0 && Ans[2]>0 && Ans[3]>0 && Ans[4]>0); uint L=Users.length; require(L>0); for (uint k=0;k<L;k++){ uint E=0; for (uint j=0;j<5;j++){ E=E+1000000*Weights[j]*AbsSub(Guesses[k][j],Ans[j])/Ans[j]; } ERaw.push(E); } Error=sort(ERaw); uint store=Error[L-1]+1; for (k=0;k<L;k++){ if (store!=Error[k]){ EST.push(Error[k]); store=Error[k]; } } k=0; while (k<L&&User!=Users[k]){ k=k+1; } require(k<L); uint TP=EST.length; j=0; while (ERaw[k]>=EST[j]){ j=j+1; } TotalPlayers=TP; Rank=j; delete ERaw; delete Error; delete EST; emit LiveRanking(User,Rank,TotalPlayers,EntryPaid[k]); } function GetMinEntry()public returns(uint MinEntry){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); MinEntry=MinEntryPrice; emit MinEntryInWei(MinEntry); } function SetWeights(uint WA,uint WB,uint WC,uint WD,uint WE){ require(msg.sender==Admin || msg.sender==Adam); Weights[0]=WA; Weights[1]=WB; Weights[2]=WC; Weights[3]=WD; Weights[4]=WE; emit WeightsSet(WA,WB,WC,WD,WE); } function FreezeContract(){ require(msg.sender==Admin || msg.sender==Adam); require(Frozen==false); Frozen=true; emit ContractFrozen("Frozen"); } function UnfreezeContract(){ require(msg.sender==Admin || msg.sender==Adam); require(Frozen==true); Frozen=false; emit ContractDefrosted("Defrosted"); } function FreezeContractAndEjectFunds(){ require(msg.sender==Admin || msg.sender==Adam); Frozen=true; uint Bal=address(this).balance; uint L=Users.length; for (uint k=0;k<L;k++){ Users[k].transfer(EntryPaid[k]); } emit ContractFrozen("Frozen"); emit FundsEjected(Bal); delete Users; delete Guesses; delete EntryPaid; } function QuitAndRefund(address User){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); require(now<=ExpirationTime || msg.sender==Admin || msg.sender==Adam); uint L=Users.length; uint k=0; while (k<L&&User!=Users[k]){ k=k+1; } require(k<L); if (User==Admin || User==Adam){ User.transfer(EntryPaid[k]); }else{ User.transfer(EntryPaid[k]*(1000000-FeePM)/1000000); Admin.transfer(EntryPaid[k]*FeePM/2000000); Adam.transfer(EntryPaid[k]*FeePM/2000000); } emit UserQuitGame(User,msg.sender,EntryPaid[k]); delete Users[k]; delete Guesses[k]; delete EntryPaid[k]; } function RefundAmount(address User,uint Amount){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); require(now<=ExpirationTime || msg.sender==Admin || msg.sender==Adam); uint L=Users.length; uint k=0; while (k<L&&User!=Users[k]){ k=k+1; } require(k<L); require(EntryPaid[k]>Amount && ((EntryPaid[k]-Amount)>=MinEntryPrice || User==Admin || User==Adam || User==Tummy || User==Willy || User==Nicky || User==Artem)); if (User==Admin || User==Adam){ User.transfer(Amount); }else{ User.transfer(Amount*(1000000-FeePM)/1000000); Admin.transfer(Amount*FeePM/2000000); Adam.transfer(Amount*FeePM/2000000); } EntryPaid[k]=EntryPaid[k]-Amount; emit UserRefundAmount(User,msg.sender,Amount,EntryPaid[k]); } function GetBetVolume(){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); uint L=Users.length; uint Bal=address(this).balance; emit Volume(Bal,L); } function GetFeePerMillion()public returns(uint FeePerMillion){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); FeePerMillion=FeePM; emit CurrentFeePerMillion(FeePerMillion); } function AverageOfAllGuesses()public returns(uint[5] ){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); uint L=Users.length; require(L>0 || msg.sender==Admin || msg.sender==Adam); if (L>0){ require((now<=ExpirationTime && now+7200>=ExpirationTime) || msg.sender==Admin || msg.sender==Adam); require(WOCC<=5 || msg.sender==Admin || msg.sender==Adam); for (uint k=0;k<L;k++){ for (uint j=0;j<5;j++){ AvgGuesses[j]=AvgGuesses[j]+Guesses[k][j]; } } for (j=0;j<5;j++){ AvgGuesses[j]=rounding(10*AvgGuesses[j]/L); } if (msg.sender==Admin || msg.sender==Adam){ }else{ WOCC=WOCC+1; } return AvgGuesses; emit AvgOfAllGuesses(AvgGuesses[0],AvgGuesses[1],AvgGuesses[2],AvgGuesses[3],AvgGuesses[4],WOCC); delete AvgGuesses; }else{ emit NoPlayers(); } } function GetWisdomOfCrowdsActivationCount()public returns(uint ){ require(msg.sender==Admin || msg.sender==Adam || msg.sender==FiveElementsContractAddress); return(WOCC); } function () public payable{ emit ReceivedFunds(msg.sender,msg.value); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"x","type":"uint256"}],"name":"rounding","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"GetWisdomOfCrowdsActivationCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"uint256"},{"name":"y","type":"uint256"}],"name":"AbsSub","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"User","type":"address"},{"name":"RealPriceA","type":"uint256"},{"name":"RealPriceB","type":"uint256"},{"name":"RealPriceC","type":"uint256"},{"name":"RealPriceD","type":"uint256"},{"name":"RealPriceE","type":"uint256"}],"name":"GetCurrentRank","outputs":[{"name":"Rank","type":"uint256"},{"name":"TotalPlayers","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"extension","type":"uint256"}],"name":"SetExtension","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"FreezeContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"EntryPrice","type":"uint256"},{"name":"FeePerMillion","type":"uint256"},{"name":"SetSubmissionPeriod","type":"uint256"},{"name":"WA","type":"uint256"},{"name":"WB","type":"uint256"},{"name":"WC","type":"uint256"},{"name":"WD","type":"uint256"},{"name":"WE","type":"uint256"},{"name":"FirstRound","type":"bool"}],"name":"Initialise","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"User","type":"address"},{"name":"Amount","type":"uint256"}],"name":"RefundAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"User","type":"address"}],"name":"QuitAndRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"RealPriceA","type":"uint256"},{"name":"RealPriceB","type":"uint256"},{"name":"RealPriceC","type":"uint256"},{"name":"RealPriceD","type":"uint256"},{"name":"RealPriceE","type":"uint256"},{"name":"Freeze","type":"bool"}],"name":"Results","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"UnfreezeContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"GetMinEntry","outputs":[{"name":"MinEntry","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"GetRoundNumber","outputs":[{"name":"round","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"AverageOfAllGuesses","outputs":[{"name":"","type":"uint256[5]"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"User","type":"address"},{"name":"Value","type":"uint256"}],"name":"UpdateBetAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"uint256"},{"name":"m","type":"uint256"}],"name":"ceil","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"GetFeePerMillion","outputs":[{"name":"FeePerMillion","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"data","type":"uint256[]"}],"name":"sort","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ContractAddress","type":"address"}],"name":"SetFiveElementsAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"User","type":"address"},{"name":"Value","type":"uint256"},{"name":"GuessA","type":"uint256"},{"name":"GuessB","type":"uint256"},{"name":"GuessC","type":"uint256"},{"name":"GuessD","type":"uint256"},{"name":"GuessE","type":"uint256"}],"name":"UserJoin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"GetBetVolume","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"User","type":"address"}],"name":"GetBetAmount","outputs":[{"name":"Amount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"FreezeContractAndEjectFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"WA","type":"uint256"},{"name":"WB","type":"uint256"},{"name":"WC","type":"uint256"},{"name":"WD","type":"uint256"},{"name":"WE","type":"uint256"}],"name":"SetWeights","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"RealPriceA","type":"uint256"},{"indexed":false,"name":"RealPriceB","type":"uint256"},{"indexed":false,"name":"RealPriceC","type":"uint256"},{"indexed":false,"name":"RealPriceD","type":"uint256"},{"indexed":false,"name":"RealPriceE","type":"uint256"}],"name":"ResultsAudit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"TotalWinners","type":"uint256"},{"indexed":false,"name":"TotalParticipants","type":"uint256"},{"indexed":false,"name":"PayoutsPerEtherEntry","type":"uint256"},{"indexed":false,"name":"TotalPrizePool","type":"uint256"},{"indexed":false,"name":"AverageEntryPaid","type":"uint256"}],"name":"PayoutInfo","type":"event"},{"anonymous":false,"inputs":[],"name":"NoPlayers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"extension","type":"uint256"},{"indexed":false,"name":"newExpirationTime","type":"uint256"}],"name":"Extension","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"EntryPrice","type":"uint256"},{"indexed":false,"name":"FeePerMillion","type":"uint256"},{"indexed":false,"name":"submissionPeriod","type":"uint256"},{"indexed":false,"name":"expirationTime","type":"uint256"},{"indexed":false,"name":"WA","type":"uint256"},{"indexed":false,"name":"WB","type":"uint256"},{"indexed":false,"name":"WC","type":"uint256"},{"indexed":false,"name":"WD","type":"uint256"},{"indexed":false,"name":"WE","type":"uint256"}],"name":"Initialisation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"User","type":"address"},{"indexed":false,"name":"Amount","type":"uint256"}],"name":"UserBetAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"round","type":"uint256"}],"name":"RoundNumber","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"FiveElementsAddress","type":"address"}],"name":"FiveElementsAddressSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"User","type":"address"},{"indexed":true,"name":"AddedBy","type":"address"},{"indexed":false,"name":"Value","type":"uint256"},{"indexed":false,"name":"GuessA","type":"uint256"},{"indexed":false,"name":"GuessB","type":"uint256"},{"indexed":false,"name":"GuessC","type":"uint256"},{"indexed":false,"name":"GuessD","type":"uint256"},{"indexed":false,"name":"GuessE","type":"uint256"}],"name":"UserJoined","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"User","type":"address"},{"indexed":true,"name":"UpdatedBy","type":"address"},{"indexed":false,"name":"BetMoreAmount","type":"uint256"},{"indexed":false,"name":"TotalBetAmount","type":"uint256"}],"name":"BetAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"User","type":"address"},{"indexed":false,"name":"Rank","type":"uint256"},{"indexed":false,"name":"TotalPlayers","type":"uint256"},{"indexed":false,"name":"TotalEntryPaid","type":"uint256"}],"name":"LiveRanking","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"MinEntryValue","type":"uint256"}],"name":"MinEntryInWei","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"WA","type":"uint256"},{"indexed":false,"name":"WB","type":"uint256"},{"indexed":false,"name":"WC","type":"uint256"},{"indexed":false,"name":"WD","type":"uint256"},{"indexed":false,"name":"WE","type":"uint256"}],"name":"WeightsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"Status","type":"string"}],"name":"ContractFrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"Status","type":"string"}],"name":"ContractDefrosted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"TotalEjected","type":"uint256"}],"name":"FundsEjected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"User","type":"address"},{"indexed":true,"name":"FunctionActivatedBy","type":"address"},{"indexed":false,"name":"TotalRefundAmount","type":"uint256"}],"name":"UserQuitGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"User","type":"address"},{"indexed":true,"name":"FunctionActivatedBy","type":"address"},{"indexed":false,"name":"RefundAmount","type":"uint256"},{"indexed":false,"name":"NewEntryBalance","type":"uint256"}],"name":"UserRefundAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"PrizePool","type":"uint256"},{"indexed":false,"name":"TotalPlayers","type":"uint256"}],"name":"Volume","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"FeePerMillion","type":"uint256"}],"name":"CurrentFeePerMillion","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"AvgGuessA","type":"uint256"},{"indexed":false,"name":"AvgGuessB","type":"uint256"},{"indexed":false,"name":"AvgGuessC","type":"uint256"},{"indexed":false,"name":"AvgGuessD","type":"uint256"},{"indexed":false,"name":"AvgGuessE","type":"uint256"},{"indexed":false,"name":"ActivationCount","type":"uint256"}],"name":"AvgOfAllGuesses","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"Sender","type":"address"},{"indexed":false,"name":"Value","type":"uint256"}],"name":"ReceivedFunds","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50614877806100206000396000f30060806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063140192031461018e57806321796b11146101cf578063297a4580146101fa5780632e67ee7b1461024557806338fd1bcb146102d55780633906a081146103025780633c7b9b1b146103195780633f35578c14610398578063414feef4146103e557806354f7d33e1461042857806356dce3861461048957806358afebe9146104a05780635cd34399146104cb57806378a19595146104f657806382b6ac04146105495780638587be6e146105965780639793d21f146105e15780639ec8b0261461060c578063a6d9c2c9146106c7578063aae1cf851461070a578063aec1f9fc14610789578063d326f4c0146107a0578063d38d1bda146107f7578063d76ece0a1461080e575b3373ffffffffffffffffffffffffffffffffffffffff167f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a346040518082815260200191505060405180910390a2005b34801561019a57600080fd5b506101b960048036038101908080359060200190929190505050610863565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b506101e46108ab565b6040518082815260200191505060405180910390f35b34801561020657600080fd5b5061022f60048036038101908080359060200190929190803590602001909291905050506109a5565b6040518082815260200191505060405180910390f35b34801561025157600080fd5b506102b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506109c6565b604051808381526020018281526020019250505060405180910390f35b3480156102e157600080fd5b5061030060048036038101908080359060200190929190505050610f8c565b005b34801561030e57600080fd5b50610317611073565b005b34801561032557600080fd5b5061039660048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035151590602001909291905050506111b2565b005b3480156103a457600080fd5b506103e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113c5565b005b3480156103f157600080fd5b50610426600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ae4565b005b34801561043457600080fd5b50610487600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080351515906020019092919050505061209b565b005b34801561049557600080fd5b5061049e612cdb565b005b3480156104ac57600080fd5b506104b5612e1a565b6040518082815260200191505060405180910390f35b3480156104d757600080fd5b506104e0612f4b565b6040518082815260200191505060405180910390f35b34801561050257600080fd5b5061050b612f8c565b6040518082600560200280838360005b8381101561053657808201518184015260208101905061051b565b5050505090500191505060405180910390f35b34801561055557600080fd5b50610594600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613493565b005b3480156105a257600080fd5b506105cb60048036038101908080359060200190929190803590602001909291905050506137c4565b6040518082815260200191505060405180910390f35b3480156105ed57600080fd5b506105f66137e1565b6040518082815260200191505060405180910390f35b34801561061857600080fd5b5061067060048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050613912565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106b3578082015181840152602081019050610698565b505050509050019250505060405180910390f35b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061392c565b005b34801561071657600080fd5b50610787600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613a4b565b005b34801561079557600080fd5b5061079e613e43565b005b3480156107ac57600080fd5b506107e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f9b565b6040518082815260200191505060405180910390f35b34801561080357600080fd5b5061080c6141a4565b005b34801561081a57600080fd5b5061086160048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506143fe565b005b60006005600a808481151561087457fe5b04028303101515610896576001600a8381151561088d57fe5b040190506108a6565b600a828115156108a257fe5b0490505b919050565b60007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061093a5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806109925750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561099d57600080fd5b601c54905090565b600081831015156109ba5781830390506109c0565b82820390505b92915050565b6000806000806000806000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a5f5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610ab75750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ac257600080fd5b8c60086000600581101515610ad357fe5b01819055508b60086001600581101515610ae957fe5b01819055508a60086002600581101515610aff57fe5b01819055508960086003600581101515610b1557fe5b01819055508860086004600581101515610b2b57fe5b0181905550600060086000600581101515610b4257fe5b0154118015610b625750600060086001600581101515610b5e57fe5b0154115b8015610b7f5750600060086002600581101515610b7b57fe5b0154115b8015610b9c5750600060086003600581101515610b9857fe5b0154115b8015610bb95750600060086004600581101515610bb557fe5b0154115b1515610bc457600080fd5b6000805490509550600086111515610bdb57600080fd5b600094505b85851015610cbb5760009350600092505b6005831015610c8257600883600581101515610c0957fe5b0154610c50600187815481101515610c1d57fe5b906000526020600020906005020185600581101515610c3857fe5b0154600886600581101515610c4957fe5b01546109a5565b600385600581101515610c5f57fe5b0154620f42400202811515610c7057fe5b04840193508280600101935050610bf1565b60128490806001815401808255809150509060018203906000526020600020016000909192909190915055508480600101955050610be0565b610d146012805480602002602001604051908101604052809291908181526020018280548015610d0a57602002820191906000526020600020905b815481526020019060010190808311610cf6575b5050505050613912565b60139080519060200190610d299291906146c1565b506001601360018803815481101515610d3e57fe5b9060005260206000200154019150600094505b85851015610dea57601385815481101515610d6857fe5b906000526020600020015482141515610ddd576014601386815481101515610d8c57fe5b90600052602060002001549080600181540180825580915050906001820390600052602060002001600090919290919091505550601385815481101515610dcf57fe5b906000526020600020015491505b8480600101955050610d51565b600094505b8585108015610e635750600085815481101515610e0857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614155b15610e7357600185019450610def565b8585101515610e8157600080fd5b6014805490509050600092505b601483815481101515610e9d57fe5b9060005260206000200154601286815481101515610eb757fe5b9060005260206000200154101515610ed457600183019250610e8e565b80965082975060126000610ee8919061470e565b60136000610ef6919061470e565b60146000610f04919061470e565b8d73ffffffffffffffffffffffffffffffffffffffff167f8f18abc0a806323d9d5413abb28c956a493f2c2731b5f81827ce09f2dbdc80098989600289815481101515610f4d57fe5b906000526020600020015460405180848152602001838152602001828152602001935050505060405180910390a2505050505050965096945050505050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110195750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561102457600080fd5b80601954016019819055507fbe25934eb386c1f8c36f5532394a54616c73aee9ee9939f0bfc5a689cf174be281601954604051808381526020018281526020019250505060405180910390a150565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111005750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561110b57600080fd5b60001515601d60009054906101000a900460ff16151514151561112d57600080fd5b6001601d60006101000a81548160ff0219169083151502179055507f5e501cf9ffc50f8ad48713343abbdba152b48f891ebbb89170c3222d8e15003f6040518080602001828103825260068152602001807f46726f7a656e000000000000000000000000000000000000000000000000000081525060200191505060405180910390a1565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061123f5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561124a57600080fd5b886017819055508760188190555086601a81905550601a544201601981905550856003600060058110151561127b57fe5b0181905550846003600160058110151561129157fe5b018190555083600360026005811015156112a757fe5b0181905550826003806005811015156112bc57fe5b018190555081600360046005811015156112d257fe5b01819055506001151581151514156112ed576001601b819055505b6000601d60006101000a81548160ff0219169083151502179055507ff41f0927b29930b6661e11b5ef10f43a4f7e7f6bc3eba5d6d3997dfd172aaf7f8989896019548a8a8a8a8a604051808a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838152602001828152602001995050505050505050505060405180910390a17f0206e4a781b41795c670950ee0b3871dfd4b94f186be82969490725cfd9e3f07601b546040518082815260200191505060405180910390a1505050505050505050565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114555750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806114ad5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156114b857600080fd5b6019544211158061150857507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806115525750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561155d57600080fd5b6000805490509150600090505b81811080156115de575060008181548110151561158357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115ee5760018101905061156a565b81811015156115fc57600080fd5b8260028281548110151561160c57fe5b90600052602060002001541180156117fd57506017548360028381548110151561163257fe5b90600052602060002001540310158061168a57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806116d45750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8061171e575073820090f4d39a9585a327cc39ba483f8fe7a9da8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80611768575073a4757a60d41ff94652104e4bcdb2936591c74d1d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806117b257507389473cd97f49e6d991b68e880f4162e2cbac356173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806117fc575073a7e8afa092faa27f06942480d28ede6fe73e5f8873ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b5b151561180857600080fd5b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118955750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156118e6578373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156118e0573d6000803e3d6000fd5b50611a1f565b8373ffffffffffffffffffffffffffffffffffffffff166108fc620f4240601854620f424003860281151561191757fe5b049081150290604051600060405180830381858888f19350505050158015611943573d6000803e3d6000fd5b507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff166108fc621e8480601854860281151561198457fe5b049081150290604051600060405180830381858888f193505050501580156119b0573d6000803e3d6000fd5b50739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff166108fc621e848060185486028115156119f157fe5b049081150290604051600060405180830381858888f19350505050158015611a1d573d6000803e3d6000fd5b505b82600282815481101515611a2f57fe5b906000526020600020015403600282815481101515611a4a57fe5b90600052602060002001819055503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fa2783f72019291e0cc6c02d9121ef31c758d25ea7cb638c41beb423a6bc9c5a685600285815481101515611ab757fe5b9060005260206000200154604051808381526020018281526020019250505060405180910390a350505050565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611b745750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611bcc5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611bd757600080fd5b60195442111580611c2757507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611c715750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c7c57600080fd5b6000805490509150600090505b8181108015611cfd5750600081815481101515611ca257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d0d57600181019050611c89565b8181101515611d1b57600080fd5b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611da85750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611e12578273ffffffffffffffffffffffffffffffffffffffff166108fc600283815481101515611dd657fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015611e0c573d6000803e3d6000fd5b50611f96565b8273ffffffffffffffffffffffffffffffffffffffff166108fc620f4240601854620f424003600285815481101515611e4757fe5b906000526020600020015402811515611e5c57fe5b049081150290604051600060405180830381858888f19350505050158015611e88573d6000803e3d6000fd5b507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff166108fc621e8480601854600285815481101515611ecd57fe5b906000526020600020015402811515611ee257fe5b049081150290604051600060405180830381858888f19350505050158015611f0e573d6000803e3d6000fd5b50739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff166108fc621e8480601854600285815481101515611f5357fe5b906000526020600020015402811515611f6857fe5b049081150290604051600060405180830381858888f19350505050158015611f94573d6000803e3d6000fd5b505b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fe9576819e274cdf7fcbdf8972e5abbfb05ed58215e47af1418118e01562aba25600284815481101515611ff457fe5b90600052602060002001546040518082815260200191505060405180910390a360008181548110151561202357fe5b9060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018181548110151561205f57fe5b90600052602060002090600502016000612079919061472f565b60028181548110151561208857fe5b9060005260206000200160009055505050565b6000806000806000806000806000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806121375750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561214257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163199508f6008600060058110151561216d57fe5b01819055508e6008600160058110151561218357fe5b01819055508d6008600260058110151561219957fe5b01819055508c600860036005811015156121af57fe5b01819055508b600860046005811015156121c557fe5b01819055506000600860006005811015156121dc57fe5b01541180156121fc57506000600860016005811015156121f857fe5b0154115b8015612219575060006008600260058110151561221557fe5b0154115b8015612236575060006008600360058110151561223257fe5b0154115b8015612253575060006008600460058110151561224f57fe5b0154115b151561225e57600080fd5b60008054905098506000891115612a4c57600097505b8888101561234f5760009650600095505b60058610156123165760088660058110151561229d57fe5b01546122e460018a8154811015156122b157fe5b9060005260206000209060050201886005811015156122cc57fe5b01546008896005811015156122dd57fe5b01546109a5565b6003886005811015156122f357fe5b0154620f4240020281151561230457fe5b04870196508580600101965050612285565b60128790806001815401808255809150509060018203906000526020600020016000909192909190915055508780600101985050612274565b6123a8601280548060200260200160405190810160405280929190818152602001828054801561239e57602002820191906000526020600020905b81548152602001906001019080831161238a575b5050505050613912565b601390805190602001906123bd9291906146c1565b506001601360018b038154811015156123d257fe5b9060005260206000200154019450600097505b8888101561247e576013888154811015156123fc57fe5b90600052602060002001548514151561247157601460138981548110151561242057fe5b9060005260206000200154908060018154018082558091505090600182039060005260206000200160009091929091909150555060138881548110151561246357fe5b906000526020600020015494505b87806001019850506123e5565b60146001600a612497601480549050600502600a6137c4565b8115156124a057fe5b04038154811015156124ae57fe5b9060005260206000200154935060009250600097505b888810156125fe57836012898154811015156124dc57fe5b90600052602060002001541115156125f15760156000898154811015156124ff57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050601660028981548110151561259e57fe5b906000526020600020015490806001815401808255809150509060018203906000526020600020016000909192909190915055506002888154811015156125e157fe5b9060005260206000200154830192505b87806001019850506124c4565b6015805490509150600097505b8188101561279657600090505b88811080156126c5575060008181548110151561263157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660158981548110151561268157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156126d557600181019050612618565b6000818154811015156126e457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc84620f424002601854620f4240038d60028681548110151561274657fe5b9060005260206000200154020281151561275c57fe5b049081150290604051600060405180830381858888f19350505050158015612788573d6000803e3d6000fd5b50878060010198505061260b565b600097505b8888101561281d57600095505b6005861015612810576001888154811015156127c057fe5b9060005260206000209060050201866005811015156127db57fe5b0154600d876005811015156127ec57fe5b015401600d876005811015156127fe57fe5b018190555085806001019650506127a8565b878060010198505061279b565b600095505b60058610156128735761285289600d8860058110151561283e57fe5b0154600a0281151561284c57fe5b04610863565b600d8760058110151561286157fe5b01819055508580600101965050612822565b7f7b98be89be0b08302a3c16bd4ed4c23c7887a81e9f8a1c12cbcbb38f574512cd600d60006005811015156128a457fe5b0154600d60016005811015156128b657fe5b0154600d60026005811015156128c857fe5b0154600d60036005811015156128da57fe5b0154600d60046005811015156128ec57fe5b0154601c5460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a17f184583580bae5272621c34df5cf8906e4222f3452286fcd7c2d9cf5097c61ef46008600060058110151561295a57fe5b01546008600160058110151561296c57fe5b01546008600260058110151561297e57fe5b01546008600360058110151561299057fe5b0154600860046005811015156129a257fe5b0154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a17f0cdb009ab45335c8de4e3666e16028dadb718f9cb983ea047235303b27d3fa4d6015805490508a858d811515612a0857fe5b048d8d8f811515612a1557fe5b04604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a1612b25565b7fdff55bfb838deddf0a1fee4b362405bfd37e793f686b706c3420d4dbfdaccbc160405160405180910390a17f184583580bae5272621c34df5cf8906e4222f3452286fcd7c2d9cf5097c61ef460086000600581101515612aa957fe5b015460086001600581101515612abb57fe5b015460086002600581101515612acd57fe5b015460086003600581101515612adf57fe5b015460086004600581101515612af157fe5b0154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a15b8a601d60006101000a81548160ff0219169083151502179055506001601b5401601b81905550601a544201601981905550739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff166108fc60023073ffffffffffffffffffffffffffffffffffffffff1631811515612ba757fe5b049081150290604051600060405180830381858888f19350505050158015612bd3573d6000803e3d6000fd5b507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015612c45573d6000803e3d6000fd5b50600080612c539190614752565b60016000612c619190614773565b60026000612c6f919061470e565b600d6000612c7d919061472f565b60126000612c8b919061470e565b60136000612c99919061470e565b60146000612ca7919061470e565b60156000612cb59190614752565b60166000612cc3919061470e565b601c6000905550505050505050505050505050505050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612d685750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612d7357600080fd5b60011515601d60009054906101000a900460ff161515141515612d9557600080fd5b6000601d60006101000a81548160ff0219169083151502179055507f75bb332f8a67695c0f119d5ff736ccfbbe102144dcc89b23d935c3f9dcf035c06040518080602001828103825260098152602001807f446566726f73746564000000000000000000000000000000000000000000000081525060200191505060405180910390a1565b60007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ea95750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612f015750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612f0c57600080fd5b60175490507faf2dd872a7902be00e1d6340dea76d1b5831f527cd2d40be3598351e10fbccf8816040518082815260200191505060405180910390a190565b6000601b5490507f0206e4a781b41795c670950ee0b3871dfd4b94f186be82969490725cfd9e3f07816040518082815260200191505060405180910390a190565b612f94614797565b60008060007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806130265750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061307e5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561308957600080fd5b600080549050925060008311806130df57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806131295750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561313457600080fd5b60008311156134605760195442111580156131555750601954611c20420110155b8061319f57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806131e95750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156131f457600080fd5b6005601c5411158061324557507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061328f5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561329a57600080fd5b600091505b8282101561332157600090505b6005811015613314576001828154811015156132c457fe5b9060005260206000209060050201816005811015156132df57fe5b0154600d826005811015156132f057fe5b015401600d8260058110151561330257fe5b018190555080806001019150506132ac565b818060010192505061329f565b600090505b60058110156133775761335683600d8360058110151561334257fe5b0154600a0281151561335057fe5b04610863565b600d8260058110151561336557fe5b01819055508080600101915050613326565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806134045750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1561340e5761341b565b6001601c5401601c819055505b600d600580602002604051908101604052809291908260058015613454576020028201915b815481526020019060010190808311613440575b5050505050935061348d565b7fdff55bfb838deddf0a1fee4b362405bfd37e793f686b706c3420d4dbfdaccbc160405160405180910390a15b50505090565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806135235750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061357b5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561358657600080fd5b60001515601d60009054906101000a900460ff1615151415156135a857600080fd5b6000831115156135b757600080fd5b613840601954014211158061360b57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806136555750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561366057600080fd5b6000805490509150600090505b81811080156136e1575060008181548110151561368657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156136f15760018101905061366d565b81811015156136ff57600080fd5b8260028281548110151561370f57fe5b90600052602060002001540160028281548110151561372a57fe5b90600052602060002001819055503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fecd1b44e72b599247f5912a307fa4c428b3cc53ce9b8c4c30cfca5dfc8ac08ab8560028581548110151561379757fe5b9060005260206000200154604051808381526020018281526020019250505060405180910390a350505050565b600081826001848601038115156137d757fe5b0402905092915050565b60007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806138705750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806138c85750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156138d357600080fd5b60185490507fbea1c60851ea6514d6dab22008c1833ead9c806af3bc98d2dba10a86b28d8e4a816040518082815260200191505060405180910390a190565b60606139248260006001855103614561565b819050919050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806139b95750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156139c457600080fd5b80601d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f8c0638684eccf2128afd68f6c40a2a95800fa069dfd04f187273d7b3312dda6960405160405180910390a250565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613adb5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80613b335750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613b3e57600080fd5b60001515601d60009054906101000a900460ff161515141515613b6057600080fd5b600088111515613b6f57600080fd5b60195442111580613bbf57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80613c095750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613c1457600080fd5b6000805490509150600090505b8181108015613c955750600081815481101515613c3a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b15613ca557600181019050613c21565b818110151515613cb457600080fd5b60008990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506002889080600181540180825580915050906001820390600052602060002001600090919290919091505550600160a0604051908101604052808981526020018881526020018781526020018681526020018581525090806001815401808255809150509060018203906000526020600020906005020160009091929091909150906005613da99291906147ba565b50503373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f12ee6672dd97078492c4317dd7f709a05736de1d632f9b2457601d94ca8fe1068a8a8a8a8a8a60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a3505050505050505050565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613ed35750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80613f2b5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613f3657600080fd5b60008054905091503073ffffffffffffffffffffffffffffffffffffffff163190507ff52d1bd3025441a6cebe06bac05ec198b25254f1b0e21b08bb5a4d7c56115d3f8183604051808381526020018281526020019250505060405180910390a15050565b60008060007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061402d5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806140855750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561409057600080fd5b6000805490509150600090505b818110801561411157506000818154811015156140b657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156141215760018101905061409d565b8181101561414a5760028181548110151561413857fe5b9060005260206000200154925061414f565b600092505b8373ffffffffffffffffffffffffffffffffffffffff167f38c999db0e6363704778e2f80f9edc53290e8ff441693b695a89972524fa05f8846040518082815260200191505060405180910390a25050919050565b60008060007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806142365750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561424157600080fd5b6001601d60006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff163192506000805490509150600090505b818110156143315760008181548110151561429a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002838154811015156142ed57fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015614323573d6000803e3d6000fd5b508080600101915050614283565b7f5e501cf9ffc50f8ad48713343abbdba152b48f891ebbb89170c3222d8e15003f6040518080602001828103825260068152602001807f46726f7a656e000000000000000000000000000000000000000000000000000081525060200191505060405180910390a17fd85fc33976e0bbb48af3a5bf90ad5a8c62841a6a83e5c2adaa9e4966591ba2fe836040518082815260200191505060405180910390a16000806143dd9190614752565b600160006143eb9190614773565b600260006143f9919061470e565b505050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061448b5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561449657600080fd5b84600360006005811015156144a757fe5b018190555083600360016005811015156144bd57fe5b018190555082600360026005811015156144d357fe5b0181905550816003806005811015156144e857fe5b018190555080600360046005811015156144fe57fe5b01819055507fc34f13a2ae7a107c500a63850d2fddddde33c75d5d37e4b9779145bf362d2c7d8585858585604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a15050505050565b600080600084925083915081831415614579576146b9565b85600286860381151561458857fe5b05860181518110151561459757fe5b9060200190602002015190505b8183131515614690575b8086848151811015156145bd57fe5b9060200190602002015110156145da5782806001019350506145ae565b5b85828151811015156145e957fe5b90602001906020020151811015614608578180600190039250506145db565b818313151561468b57858281518110151561461f57fe5b90602001906020020151868481518110151561463757fe5b90602001906020020151878581518110151561464f57fe5b906020019060200201888581518110151561466657fe5b9060200190602002018281525082815250505082806001019350508180600190039250505b6145a4565b818512156146a4576146a3868684614561565b5b838312156146b8576146b7868486614561565b5b5b505050505050565b8280548282559060005260206000209081019282156146fd579160200282015b828111156146fc5782518255916020019190600101906146e1565b5b50905061470a91906147fa565b5090565b508054600082559060005260206000209081019061472c91906147fa565b50565b506000815560010160008155600101600081556001016000815560010160009055565b508054600082559060005260206000209081019061477091906147fa565b50565b5080546000825560050290600052602060002090810190614794919061481f565b50565b60a060405190810160405280600590602082028038833980820191505090505090565b82600581019282156147e9579160200282015b828111156147e85782518255916020019190600101906147cd565b5b5090506147f691906147fa565b5090565b61481c91905b80821115614818576000816000905550600101614800565b5090565b90565b61484891905b80821115614844576000818161483b919061472f565b50600501614825565b5090565b905600a165627a7a72305820f2756ae7376fb848a3d6bf29012dec368f8184ca02f904c25a1ee706b980665e0029
Deployed Bytecode
0x60806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063140192031461018e57806321796b11146101cf578063297a4580146101fa5780632e67ee7b1461024557806338fd1bcb146102d55780633906a081146103025780633c7b9b1b146103195780633f35578c14610398578063414feef4146103e557806354f7d33e1461042857806356dce3861461048957806358afebe9146104a05780635cd34399146104cb57806378a19595146104f657806382b6ac04146105495780638587be6e146105965780639793d21f146105e15780639ec8b0261461060c578063a6d9c2c9146106c7578063aae1cf851461070a578063aec1f9fc14610789578063d326f4c0146107a0578063d38d1bda146107f7578063d76ece0a1461080e575b3373ffffffffffffffffffffffffffffffffffffffff167f5741979df5f3e491501da74d3b0a83dd2496ab1f34929865b3e190a8ad75859a346040518082815260200191505060405180910390a2005b34801561019a57600080fd5b506101b960048036038101908080359060200190929190505050610863565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b506101e46108ab565b6040518082815260200191505060405180910390f35b34801561020657600080fd5b5061022f60048036038101908080359060200190929190803590602001909291905050506109a5565b6040518082815260200191505060405180910390f35b34801561025157600080fd5b506102b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506109c6565b604051808381526020018281526020019250505060405180910390f35b3480156102e157600080fd5b5061030060048036038101908080359060200190929190505050610f8c565b005b34801561030e57600080fd5b50610317611073565b005b34801561032557600080fd5b5061039660048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035151590602001909291905050506111b2565b005b3480156103a457600080fd5b506103e3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113c5565b005b3480156103f157600080fd5b50610426600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ae4565b005b34801561043457600080fd5b50610487600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080351515906020019092919050505061209b565b005b34801561049557600080fd5b5061049e612cdb565b005b3480156104ac57600080fd5b506104b5612e1a565b6040518082815260200191505060405180910390f35b3480156104d757600080fd5b506104e0612f4b565b6040518082815260200191505060405180910390f35b34801561050257600080fd5b5061050b612f8c565b6040518082600560200280838360005b8381101561053657808201518184015260208101905061051b565b5050505090500191505060405180910390f35b34801561055557600080fd5b50610594600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613493565b005b3480156105a257600080fd5b506105cb60048036038101908080359060200190929190803590602001909291905050506137c4565b6040518082815260200191505060405180910390f35b3480156105ed57600080fd5b506105f66137e1565b6040518082815260200191505060405180910390f35b34801561061857600080fd5b5061067060048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050613912565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106b3578082015181840152602081019050610698565b505050509050019250505060405180910390f35b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061392c565b005b34801561071657600080fd5b50610787600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050613a4b565b005b34801561079557600080fd5b5061079e613e43565b005b3480156107ac57600080fd5b506107e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f9b565b6040518082815260200191505060405180910390f35b34801561080357600080fd5b5061080c6141a4565b005b34801561081a57600080fd5b5061086160048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506143fe565b005b60006005600a808481151561087457fe5b04028303101515610896576001600a8381151561088d57fe5b040190506108a6565b600a828115156108a257fe5b0490505b919050565b60007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061093a5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806109925750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561099d57600080fd5b601c54905090565b600081831015156109ba5781830390506109c0565b82820390505b92915050565b6000806000806000806000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a5f5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80610ab75750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ac257600080fd5b8c60086000600581101515610ad357fe5b01819055508b60086001600581101515610ae957fe5b01819055508a60086002600581101515610aff57fe5b01819055508960086003600581101515610b1557fe5b01819055508860086004600581101515610b2b57fe5b0181905550600060086000600581101515610b4257fe5b0154118015610b625750600060086001600581101515610b5e57fe5b0154115b8015610b7f5750600060086002600581101515610b7b57fe5b0154115b8015610b9c5750600060086003600581101515610b9857fe5b0154115b8015610bb95750600060086004600581101515610bb557fe5b0154115b1515610bc457600080fd5b6000805490509550600086111515610bdb57600080fd5b600094505b85851015610cbb5760009350600092505b6005831015610c8257600883600581101515610c0957fe5b0154610c50600187815481101515610c1d57fe5b906000526020600020906005020185600581101515610c3857fe5b0154600886600581101515610c4957fe5b01546109a5565b600385600581101515610c5f57fe5b0154620f42400202811515610c7057fe5b04840193508280600101935050610bf1565b60128490806001815401808255809150509060018203906000526020600020016000909192909190915055508480600101955050610be0565b610d146012805480602002602001604051908101604052809291908181526020018280548015610d0a57602002820191906000526020600020905b815481526020019060010190808311610cf6575b5050505050613912565b60139080519060200190610d299291906146c1565b506001601360018803815481101515610d3e57fe5b9060005260206000200154019150600094505b85851015610dea57601385815481101515610d6857fe5b906000526020600020015482141515610ddd576014601386815481101515610d8c57fe5b90600052602060002001549080600181540180825580915050906001820390600052602060002001600090919290919091505550601385815481101515610dcf57fe5b906000526020600020015491505b8480600101955050610d51565b600094505b8585108015610e635750600085815481101515610e0857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614155b15610e7357600185019450610def565b8585101515610e8157600080fd5b6014805490509050600092505b601483815481101515610e9d57fe5b9060005260206000200154601286815481101515610eb757fe5b9060005260206000200154101515610ed457600183019250610e8e565b80965082975060126000610ee8919061470e565b60136000610ef6919061470e565b60146000610f04919061470e565b8d73ffffffffffffffffffffffffffffffffffffffff167f8f18abc0a806323d9d5413abb28c956a493f2c2731b5f81827ce09f2dbdc80098989600289815481101515610f4d57fe5b906000526020600020015460405180848152602001838152602001828152602001935050505060405180910390a2505050505050965096945050505050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110195750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561102457600080fd5b80601954016019819055507fbe25934eb386c1f8c36f5532394a54616c73aee9ee9939f0bfc5a689cf174be281601954604051808381526020018281526020019250505060405180910390a150565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111005750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561110b57600080fd5b60001515601d60009054906101000a900460ff16151514151561112d57600080fd5b6001601d60006101000a81548160ff0219169083151502179055507f5e501cf9ffc50f8ad48713343abbdba152b48f891ebbb89170c3222d8e15003f6040518080602001828103825260068152602001807f46726f7a656e000000000000000000000000000000000000000000000000000081525060200191505060405180910390a1565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061123f5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561124a57600080fd5b886017819055508760188190555086601a81905550601a544201601981905550856003600060058110151561127b57fe5b0181905550846003600160058110151561129157fe5b018190555083600360026005811015156112a757fe5b0181905550826003806005811015156112bc57fe5b018190555081600360046005811015156112d257fe5b01819055506001151581151514156112ed576001601b819055505b6000601d60006101000a81548160ff0219169083151502179055507ff41f0927b29930b6661e11b5ef10f43a4f7e7f6bc3eba5d6d3997dfd172aaf7f8989896019548a8a8a8a8a604051808a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838152602001828152602001995050505050505050505060405180910390a17f0206e4a781b41795c670950ee0b3871dfd4b94f186be82969490725cfd9e3f07601b546040518082815260200191505060405180910390a1505050505050505050565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114555750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806114ad5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156114b857600080fd5b6019544211158061150857507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806115525750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561155d57600080fd5b6000805490509150600090505b81811080156115de575060008181548110151561158357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115ee5760018101905061156a565b81811015156115fc57600080fd5b8260028281548110151561160c57fe5b90600052602060002001541180156117fd57506017548360028381548110151561163257fe5b90600052602060002001540310158061168a57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806116d45750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8061171e575073820090f4d39a9585a327cc39ba483f8fe7a9da8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80611768575073a4757a60d41ff94652104e4bcdb2936591c74d1d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806117b257507389473cd97f49e6d991b68e880f4162e2cbac356173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806117fc575073a7e8afa092faa27f06942480d28ede6fe73e5f8873ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b5b151561180857600080fd5b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118955750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156118e6578373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050501580156118e0573d6000803e3d6000fd5b50611a1f565b8373ffffffffffffffffffffffffffffffffffffffff166108fc620f4240601854620f424003860281151561191757fe5b049081150290604051600060405180830381858888f19350505050158015611943573d6000803e3d6000fd5b507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff166108fc621e8480601854860281151561198457fe5b049081150290604051600060405180830381858888f193505050501580156119b0573d6000803e3d6000fd5b50739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff166108fc621e848060185486028115156119f157fe5b049081150290604051600060405180830381858888f19350505050158015611a1d573d6000803e3d6000fd5b505b82600282815481101515611a2f57fe5b906000526020600020015403600282815481101515611a4a57fe5b90600052602060002001819055503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fa2783f72019291e0cc6c02d9121ef31c758d25ea7cb638c41beb423a6bc9c5a685600285815481101515611ab757fe5b9060005260206000200154604051808381526020018281526020019250505060405180910390a350505050565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611b745750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611bcc5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611bd757600080fd5b60195442111580611c2757507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611c715750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c7c57600080fd5b6000805490509150600090505b8181108015611cfd5750600081815481101515611ca257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d0d57600181019050611c89565b8181101515611d1b57600080fd5b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611da85750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611e12578273ffffffffffffffffffffffffffffffffffffffff166108fc600283815481101515611dd657fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015611e0c573d6000803e3d6000fd5b50611f96565b8273ffffffffffffffffffffffffffffffffffffffff166108fc620f4240601854620f424003600285815481101515611e4757fe5b906000526020600020015402811515611e5c57fe5b049081150290604051600060405180830381858888f19350505050158015611e88573d6000803e3d6000fd5b507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff166108fc621e8480601854600285815481101515611ecd57fe5b906000526020600020015402811515611ee257fe5b049081150290604051600060405180830381858888f19350505050158015611f0e573d6000803e3d6000fd5b50739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff166108fc621e8480601854600285815481101515611f5357fe5b906000526020600020015402811515611f6857fe5b049081150290604051600060405180830381858888f19350505050158015611f94573d6000803e3d6000fd5b505b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fe9576819e274cdf7fcbdf8972e5abbfb05ed58215e47af1418118e01562aba25600284815481101515611ff457fe5b90600052602060002001546040518082815260200191505060405180910390a360008181548110151561202357fe5b9060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018181548110151561205f57fe5b90600052602060002090600502016000612079919061472f565b60028181548110151561208857fe5b9060005260206000200160009055505050565b6000806000806000806000806000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806121375750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561214257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163199508f6008600060058110151561216d57fe5b01819055508e6008600160058110151561218357fe5b01819055508d6008600260058110151561219957fe5b01819055508c600860036005811015156121af57fe5b01819055508b600860046005811015156121c557fe5b01819055506000600860006005811015156121dc57fe5b01541180156121fc57506000600860016005811015156121f857fe5b0154115b8015612219575060006008600260058110151561221557fe5b0154115b8015612236575060006008600360058110151561223257fe5b0154115b8015612253575060006008600460058110151561224f57fe5b0154115b151561225e57600080fd5b60008054905098506000891115612a4c57600097505b8888101561234f5760009650600095505b60058610156123165760088660058110151561229d57fe5b01546122e460018a8154811015156122b157fe5b9060005260206000209060050201886005811015156122cc57fe5b01546008896005811015156122dd57fe5b01546109a5565b6003886005811015156122f357fe5b0154620f4240020281151561230457fe5b04870196508580600101965050612285565b60128790806001815401808255809150509060018203906000526020600020016000909192909190915055508780600101985050612274565b6123a8601280548060200260200160405190810160405280929190818152602001828054801561239e57602002820191906000526020600020905b81548152602001906001019080831161238a575b5050505050613912565b601390805190602001906123bd9291906146c1565b506001601360018b038154811015156123d257fe5b9060005260206000200154019450600097505b8888101561247e576013888154811015156123fc57fe5b90600052602060002001548514151561247157601460138981548110151561242057fe5b9060005260206000200154908060018154018082558091505090600182039060005260206000200160009091929091909150555060138881548110151561246357fe5b906000526020600020015494505b87806001019850506123e5565b60146001600a612497601480549050600502600a6137c4565b8115156124a057fe5b04038154811015156124ae57fe5b9060005260206000200154935060009250600097505b888810156125fe57836012898154811015156124dc57fe5b90600052602060002001541115156125f15760156000898154811015156124ff57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050601660028981548110151561259e57fe5b906000526020600020015490806001815401808255809150509060018203906000526020600020016000909192909190915055506002888154811015156125e157fe5b9060005260206000200154830192505b87806001019850506124c4565b6015805490509150600097505b8188101561279657600090505b88811080156126c5575060008181548110151561263157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660158981548110151561268157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b156126d557600181019050612618565b6000818154811015156126e457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc84620f424002601854620f4240038d60028681548110151561274657fe5b9060005260206000200154020281151561275c57fe5b049081150290604051600060405180830381858888f19350505050158015612788573d6000803e3d6000fd5b50878060010198505061260b565b600097505b8888101561281d57600095505b6005861015612810576001888154811015156127c057fe5b9060005260206000209060050201866005811015156127db57fe5b0154600d876005811015156127ec57fe5b015401600d876005811015156127fe57fe5b018190555085806001019650506127a8565b878060010198505061279b565b600095505b60058610156128735761285289600d8860058110151561283e57fe5b0154600a0281151561284c57fe5b04610863565b600d8760058110151561286157fe5b01819055508580600101965050612822565b7f7b98be89be0b08302a3c16bd4ed4c23c7887a81e9f8a1c12cbcbb38f574512cd600d60006005811015156128a457fe5b0154600d60016005811015156128b657fe5b0154600d60026005811015156128c857fe5b0154600d60036005811015156128da57fe5b0154600d60046005811015156128ec57fe5b0154601c5460405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a17f184583580bae5272621c34df5cf8906e4222f3452286fcd7c2d9cf5097c61ef46008600060058110151561295a57fe5b01546008600160058110151561296c57fe5b01546008600260058110151561297e57fe5b01546008600360058110151561299057fe5b0154600860046005811015156129a257fe5b0154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a17f0cdb009ab45335c8de4e3666e16028dadb718f9cb983ea047235303b27d3fa4d6015805490508a858d811515612a0857fe5b048d8d8f811515612a1557fe5b04604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a1612b25565b7fdff55bfb838deddf0a1fee4b362405bfd37e793f686b706c3420d4dbfdaccbc160405160405180910390a17f184583580bae5272621c34df5cf8906e4222f3452286fcd7c2d9cf5097c61ef460086000600581101515612aa957fe5b015460086001600581101515612abb57fe5b015460086002600581101515612acd57fe5b015460086003600581101515612adf57fe5b015460086004600581101515612af157fe5b0154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a15b8a601d60006101000a81548160ff0219169083151502179055506001601b5401601b81905550601a544201601981905550739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff166108fc60023073ffffffffffffffffffffffffffffffffffffffff1631811515612ba757fe5b049081150290604051600060405180830381858888f19350505050158015612bd3573d6000803e3d6000fd5b507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015612c45573d6000803e3d6000fd5b50600080612c539190614752565b60016000612c619190614773565b60026000612c6f919061470e565b600d6000612c7d919061472f565b60126000612c8b919061470e565b60136000612c99919061470e565b60146000612ca7919061470e565b60156000612cb59190614752565b60166000612cc3919061470e565b601c6000905550505050505050505050505050505050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612d685750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612d7357600080fd5b60011515601d60009054906101000a900460ff161515141515612d9557600080fd5b6000601d60006101000a81548160ff0219169083151502179055507f75bb332f8a67695c0f119d5ff736ccfbbe102144dcc89b23d935c3f9dcf035c06040518080602001828103825260098152602001807f446566726f73746564000000000000000000000000000000000000000000000081525060200191505060405180910390a1565b60007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ea95750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612f015750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612f0c57600080fd5b60175490507faf2dd872a7902be00e1d6340dea76d1b5831f527cd2d40be3598351e10fbccf8816040518082815260200191505060405180910390a190565b6000601b5490507f0206e4a781b41795c670950ee0b3871dfd4b94f186be82969490725cfd9e3f07816040518082815260200191505060405180910390a190565b612f94614797565b60008060007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806130265750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061307e5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561308957600080fd5b600080549050925060008311806130df57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806131295750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561313457600080fd5b60008311156134605760195442111580156131555750601954611c20420110155b8061319f57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806131e95750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156131f457600080fd5b6005601c5411158061324557507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061328f5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561329a57600080fd5b600091505b8282101561332157600090505b6005811015613314576001828154811015156132c457fe5b9060005260206000209060050201816005811015156132df57fe5b0154600d826005811015156132f057fe5b015401600d8260058110151561330257fe5b018190555080806001019150506132ac565b818060010192505061329f565b600090505b60058110156133775761335683600d8360058110151561334257fe5b0154600a0281151561335057fe5b04610863565b600d8260058110151561336557fe5b01819055508080600101915050613326565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806134045750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1561340e5761341b565b6001601c5401601c819055505b600d600580602002604051908101604052809291908260058015613454576020028201915b815481526020019060010190808311613440575b5050505050935061348d565b7fdff55bfb838deddf0a1fee4b362405bfd37e793f686b706c3420d4dbfdaccbc160405160405180910390a15b50505090565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806135235750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061357b5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561358657600080fd5b60001515601d60009054906101000a900460ff1615151415156135a857600080fd5b6000831115156135b757600080fd5b613840601954014211158061360b57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806136555750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561366057600080fd5b6000805490509150600090505b81811080156136e1575060008181548110151561368657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156136f15760018101905061366d565b81811015156136ff57600080fd5b8260028281548110151561370f57fe5b90600052602060002001540160028281548110151561372a57fe5b90600052602060002001819055503373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fecd1b44e72b599247f5912a307fa4c428b3cc53ce9b8c4c30cfca5dfc8ac08ab8560028581548110151561379757fe5b9060005260206000200154604051808381526020018281526020019250505060405180910390a350505050565b600081826001848601038115156137d757fe5b0402905092915050565b60007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806138705750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806138c85750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156138d357600080fd5b60185490507fbea1c60851ea6514d6dab22008c1833ead9c806af3bc98d2dba10a86b28d8e4a816040518082815260200191505060405180910390a190565b60606139248260006001855103614561565b819050919050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806139b95750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156139c457600080fd5b80601d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f8c0638684eccf2128afd68f6c40a2a95800fa069dfd04f187273d7b3312dda6960405160405180910390a250565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613adb5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80613b335750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613b3e57600080fd5b60001515601d60009054906101000a900460ff161515141515613b6057600080fd5b600088111515613b6f57600080fd5b60195442111580613bbf57507392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80613c095750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613c1457600080fd5b6000805490509150600090505b8181108015613c955750600081815481101515613c3a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b15613ca557600181019050613c21565b818110151515613cb457600080fd5b60008990806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506002889080600181540180825580915050906001820390600052602060002001600090919290919091505550600160a0604051908101604052808981526020018881526020018781526020018681526020018581525090806001815401808255809150509060018203906000526020600020906005020160009091929091909150906005613da99291906147ba565b50503373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f12ee6672dd97078492c4317dd7f709a05736de1d632f9b2457601d94ca8fe1068a8a8a8a8a8a60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a3505050505050505050565b6000807392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480613ed35750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80613f2b5750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613f3657600080fd5b60008054905091503073ffffffffffffffffffffffffffffffffffffffff163190507ff52d1bd3025441a6cebe06bac05ec198b25254f1b0e21b08bb5a4d7c56115d3f8183604051808381526020018281526020019250505060405180910390a15050565b60008060007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061402d5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806140855750601d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561409057600080fd5b6000805490509150600090505b818110801561411157506000818154811015156140b657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156141215760018101905061409d565b8181101561414a5760028181548110151561413857fe5b9060005260206000200154925061414f565b600092505b8373ffffffffffffffffffffffffffffffffffffffff167f38c999db0e6363704778e2f80f9edc53290e8ff441693b695a89972524fa05f8846040518082815260200191505060405180910390a25050919050565b60008060007392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806142365750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561424157600080fd5b6001601d60006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff163192506000805490509150600090505b818110156143315760008181548110151561429a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002838154811015156142ed57fe5b90600052602060002001549081150290604051600060405180830381858888f19350505050158015614323573d6000803e3d6000fd5b508080600101915050614283565b7f5e501cf9ffc50f8ad48713343abbdba152b48f891ebbb89170c3222d8e15003f6040518080602001828103825260068152602001807f46726f7a656e000000000000000000000000000000000000000000000000000081525060200191505060405180910390a17fd85fc33976e0bbb48af3a5bf90ad5a8c62841a6a83e5c2adaa9e4966591ba2fe836040518082815260200191505060405180910390a16000806143dd9190614752565b600160006143eb9190614773565b600260006143f9919061470e565b505050565b7392bf51ab8c48b93a96f8dde8df07a1504aa393fd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061448b5750739640a35e5345cb0639c4dd0593567f9334ffeb8a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561449657600080fd5b84600360006005811015156144a757fe5b018190555083600360016005811015156144bd57fe5b018190555082600360026005811015156144d357fe5b0181905550816003806005811015156144e857fe5b018190555080600360046005811015156144fe57fe5b01819055507fc34f13a2ae7a107c500a63850d2fddddde33c75d5d37e4b9779145bf362d2c7d8585858585604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a15050505050565b600080600084925083915081831415614579576146b9565b85600286860381151561458857fe5b05860181518110151561459757fe5b9060200190602002015190505b8183131515614690575b8086848151811015156145bd57fe5b9060200190602002015110156145da5782806001019350506145ae565b5b85828151811015156145e957fe5b90602001906020020151811015614608578180600190039250506145db565b818313151561468b57858281518110151561461f57fe5b90602001906020020151868481518110151561463757fe5b90602001906020020151878581518110151561464f57fe5b906020019060200201888581518110151561466657fe5b9060200190602002018281525082815250505082806001019350508180600190039250505b6145a4565b818512156146a4576146a3868684614561565b5b838312156146b8576146b7868486614561565b5b5b505050505050565b8280548282559060005260206000209081019282156146fd579160200282015b828111156146fc5782518255916020019190600101906146e1565b5b50905061470a91906147fa565b5090565b508054600082559060005260206000209081019061472c91906147fa565b50565b506000815560010160008155600101600081556001016000815560010160009055565b508054600082559060005260206000209081019061477091906147fa565b50565b5080546000825560050290600052602060002090810190614794919061481f565b50565b60a060405190810160405280600590602082028038833980820191505090505090565b82600581019282156147e9579160200282015b828111156147e85782518255916020019190600101906147cd565b5b5090506147f691906147fa565b5090565b61481c91905b80821115614818576000816000905550600101614800565b5090565b90565b61484891905b80821115614844576000818161483b919061472f565b50600501614825565b5090565b905600a165627a7a72305820f2756ae7376fb848a3d6bf29012dec368f8184ca02f904c25a1ee706b980665e0029
Swarm Source
bzzr://f2756ae7376fb848a3d6bf29012dec368f8184ca02f904c25a1ee706b980665e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.