0 txs
0 calls
constructor
constructor()
functions
addressStore1
viewfunction addressStore1(uint256) view returns (address)
addressStore2
viewfunction addressStore2(uint256) view returns (address)
addressStore3
viewfunction addressStore3(uint256) view returns (address)
dailyInterestRate1
viewfunction dailyInterestRate1() view returns (uint256)
dailyInterestRate2
viewfunction dailyInterestRate2() view returns (uint256)
dailyInterestRate3
viewfunction dailyInterestRate3() view returns (uint256)
informationAboutStakeScheme1
viewfunction informationAboutStakeScheme1(address) view returns (uint256 stakeTime, uint256 stakeAmt, uint256 lastUpdateTime, uint256 accumulatedInterestToUpdateTime, uint256 amtWithdrawn)
informationAboutStakeScheme2
viewfunction informationAboutStakeScheme2(address) view returns (uint256 stakeTime, uint256 stakeAmt, uint256 lastUpdateTime, uint256 accumulatedInterestToUpdateTime, uint256 amtWithdrawn)
informationAboutStakeScheme3
viewfunction informationAboutStakeScheme3(address) view returns (uint256 stakeTime, uint256 stakeAmt, uint256 lastUpdateTime, uint256 accumulatedInterestToUpdateTime, uint256 amtWithdrawn)
interestEarnedUpToNowBeforeTaxesAndNotYetWithdrawn1
viewfunction interestEarnedUpToNowBeforeTaxesAndNotYetWithdrawn1(address _address) view returns (uint256)
interestEarnedUpToNowBeforeTaxesAndNotYetWithdrawn2
viewfunction interestEarnedUpToNowBeforeTaxesAndNotYetWithdrawn2(address _address) view returns (uint256)
interestEarnedUpToNowBeforeTaxesAndNotYetWithdrawn3
viewfunction interestEarnedUpToNowBeforeTaxesAndNotYetWithdrawn3(address _address) view returns (uint256)
minStakePeriod1
viewfunction minStakePeriod1() view returns (uint256)
minStakePeriod2
viewfunction minStakePeriod2() view returns (uint256)
minStakePeriod3
viewfunction minStakePeriod3() view returns (uint256)
numberOfAddressesCurrentlyStaked1
viewfunction numberOfAddressesCurrentlyStaked1() view returns (uint256)
numberOfAddressesCurrentlyStaked2
viewfunction numberOfAddressesCurrentlyStaked2() view returns (uint256)
numberOfAddressesCurrentlyStaked3
viewfunction numberOfAddressesCurrentlyStaked3() view returns (uint256)
totalAccumulatedInterest1
viewfunction totalAccumulatedInterest1() view returns (uint256)
totalAccumulatedInterest2
viewfunction totalAccumulatedInterest2() view returns (uint256)
totalAccumulatedInterest3
viewfunction totalAccumulatedInterest3() view returns (uint256)
totalStakedAmount1
viewfunction totalStakedAmount1() view returns (uint256)
totalStakedAmount2
viewfunction totalStakedAmount2() view returns (uint256)
totalStakedAmount3
viewfunction totalStakedAmount3() view returns (uint256)
totalWithdrawals1
viewfunction totalWithdrawals1() view returns (uint256)
totalWithdrawals2
viewfunction totalWithdrawals2() view returns (uint256)
totalWithdrawals3
viewfunction totalWithdrawals3() view returns (uint256)
changeOwner
nonpayablefunction changeOwner(address _newOwner)
changeValueOf_minStakePeriod1
nonpayablefunction changeValueOf_minStakePeriod1(uint256 _minStakePeriod1)
changeValueOf_minStakePeriod2
nonpayablefunction changeValueOf_minStakePeriod2(uint256 _minStakePeriod2)
changeValueOf_minStakePeriod3
nonpayablefunction changeValueOf_minStakePeriod3(uint256 _minStakePeriod3)
modifyDailyInterestRate1
nonpayablefunction modifyDailyInterestRate1(uint256 _dailyInterestRate)
modifyDailyInterestRate2
nonpayablefunction modifyDailyInterestRate2(uint256 _dailyInterestRate)
modifyDailyInterestRate3
nonpayablefunction modifyDailyInterestRate3(uint256 _dailyInterestRate)
stake1
nonpayablefunction stake1(uint256 _stakeAmt)
stake2
nonpayablefunction stake2(uint256 _stakeAmt)
stake3
nonpayablefunction stake3(uint256 _stakeAmt)
unstake1
nonpayablefunction unstake1(uint256 _unstakeAmt)
unstake2
nonpayablefunction unstake2(uint256 _unstakeAmt)
unstake3
nonpayablefunction unstake3(uint256 _unstakeAmt)
withdrawAllInterestWithoutUnstaking1
nonpayablefunction withdrawAllInterestWithoutUnstaking1()
withdrawAllInterestWithoutUnstaking2
nonpayablefunction withdrawAllInterestWithoutUnstaking2()
withdrawAllInterestWithoutUnstaking3
nonpayablefunction withdrawAllInterestWithoutUnstaking3()
withdrawInterestWithoutUnstaking1
nonpayablefunction withdrawInterestWithoutUnstaking1(uint256 _withdrawalAmt)
withdrawInterestWithoutUnstaking2
nonpayablefunction withdrawInterestWithoutUnstaking2(uint256 _withdrawalAmt)
withdrawInterestWithoutUnstaking3
nonpayablefunction withdrawInterestWithoutUnstaking3(uint256 _withdrawalAmt)
withdrawToken
nonpayablefunction withdrawToken(uint256 _amt)
events
Staked
event Staked(address indexed account)
Unstaked
event Unstaked(address indexed account)
errors
No errors.
creation bytecode
0x60806040526000600355620493e0600455610360610bb862000022919062000103565b60055560006006556000600955620927c0600a5561036061177062000048919062000103565b600b556000600c556000600f55620f42406010556103606123286200006e919062000103565b60115560006012553480156200008357600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000164565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200011082620000ca565b91506200011d83620000ca565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620001595762000158620000d4565b5b828202905092915050565b6148f480620001746000396000f3fe608060405234801561001057600080fd5b50600436106102955760003560e01c8063908278d311610167578063b81778aa116100ce578063c62d46d311610087578063c62d46d314610794578063cb5378ff146107c8578063d6f1df8a146107e4578063eaba0b7814610802578063f8d886d21461081e578063fcc671411461083c57610295565b8063b81778aa146106be578063b86b682d146106ee578063b937220f1461070a578063bd6b2b8e14610728578063be39817a14610746578063c30eb6b91461077657610295565b8063a9ae28bb11610120578063a9ae28bb1461060a578063afd23b1c14610628578063b057d5831461065c578063b13821fa1461067a578063b1c9703e14610684578063b75a9f76146106a257610295565b8063908278d31461054457806392f85587146105785780639cfd2867146105965780639df05889146105b25780639e31c35e146105d0578063a6f9dae1146105ee57610295565b8063452a37731161020b578063605aadde116101c4578063605aadde146104ac578063606fa649146104c8578063686a14b2146104d25780637241f5e7146104ee578063728bc88c1461050a57806387f583d31461052657610295565b8063452a377314610414578063491c4280146104305780634ad768ae1461044c57806350baa6221461045657806355faf7be146104725780635efbd74e1461049057610295565b806316e0c1d91161025d57806316e0c1d9146103405780631c0a3f961461035c5780631d5546371461038c5780632823c412146103bc5780632b9b38f3146103da57806341a5de5d146103f657610295565b80630717d39f1461029a578063083a4c4e146102b8578063121b7bf7146102d65780631479de71146102f257806315117ed814610322575b600080fd5b6102a261086c565b6040516102af91906140fe565b60405180910390f35b6102c0610961565b6040516102cd91906140fe565b60405180910390f35b6102f060048036038101906102eb919061414a565b6109d9565b005b61030c6004803603810190610307919061414a565b610a43565b60405161031991906141b8565b60405180910390f35b61032a610a76565b60405161033791906140fe565b60405180910390f35b61035a6004803603810190610355919061414a565b610a7c565b005b610376600480360381019061037191906141ff565b610ae6565b60405161038391906140fe565b60405180910390f35b6103a660048036038101906103a191906141ff565b610be1565b6040516103b391906140fe565b60405180910390f35b6103c4610cdc565b6040516103d191906140fe565b60405180910390f35b6103f460048036038101906103ef919061414a565b610d54565b005b6103fe611040565b60405161040b91906140fe565b60405180910390f35b61042e6004803603810190610429919061414a565b611046565b005b61044a6004803603810190610445919061414a565b6110a8565b005b61045461164b565b005b610470600480360381019061046b919061414a565b61165e565b005b61047a611892565b60405161048791906140fe565b60405180910390f35b6104aa60048036038101906104a5919061414a565b61190a565b005b6104c660048036038101906104c1919061414a565b611ead565b005b6104d0612199565b005b6104ec60048036038101906104e7919061414a565b6121ac565b005b6105086004803603810190610503919061414a565b61274f565b005b610524600480360381019061051f919061414a565b6127b1565b005b61052e612aeb565b60405161053b91906140fe565b60405180910390f35b61055e600480360381019061055991906141ff565b612af1565b60405161056f95949392919061422c565b60405180910390f35b610580612b27565b60405161058d91906140fe565b60405180910390f35b6105b060048036038101906105ab919061414a565b612c1c565b005b6105ba612c86565b6040516105c791906140fe565b60405180910390f35b6105d8612c8c565b6040516105e591906140fe565b60405180910390f35b610608600480360381019061060391906141ff565b612c92565b005b610612612d2d565b60405161061f91906140fe565b60405180910390f35b610642600480360381019061063d91906141ff565b612d33565b60405161065395949392919061422c565b60405180910390f35b610664612d69565b60405161067191906140fe565b60405180910390f35b610682612d6f565b005b61068c612d82565b60405161069991906140fe565b60405180910390f35b6106bc60048036038101906106b7919061414a565b612d88565b005b6106d860048036038101906106d391906141ff565b612dea565b6040516106e591906140fe565b60405180910390f35b6107086004803603810190610703919061414a565b612ee5565b005b61071261321f565b60405161071f91906140fe565b60405180910390f35b610730613314565b60405161073d91906140fe565b60405180910390f35b610760600480360381019061075b919061414a565b61331a565b60405161076d91906141b8565b60405180910390f35b61077e61334d565b60405161078b91906140fe565b60405180910390f35b6107ae60048036038101906107a991906141ff565b613353565b6040516107bf95949392919061422c565b60405180910390f35b6107e260048036038101906107dd919061414a565b613389565b005b6107ec6136c3565b6040516107f991906140fe565b60405180910390f35b61081c6004803603810190610817919061414a565b6136c9565b005b6108266139b5565b60405161083391906140fe565b60405180910390f35b6108566004803603810190610851919061414a565b6139bb565b60405161086391906141b8565b60405180910390f35b6000806000905060005b600954811015610959576000600760006008600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905080602001518361094391906142ae565b925050808061095190614304565b915050610876565b508091505090565b6000806000905060005b6009548110156109d1576109b16008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612dea565b826109bc91906142ae565b915080806109c990614304565b91505061096b565b508091505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a3157600080fd5b610a396139ee565b8060048190555050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ad457600080fd5b610adc613c37565b8060108190555050565b600080600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905064141dd760006010548260400151610b9d42610360612328610b89919061434c565b8660000151610b9891906142ae565b613e80565b610ba791906143a6565b8360200151610bb6919061434c565b610bc0919061434c565b610bca9190614409565b8160600151610bd991906142ae565b915050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905064141dd760006004548260400151610c9842610360610bb8610c84919061434c565b8660000151610c9391906142ae565b613e80565b610ca291906143a6565b8360200151610cb1919061434c565b610cbb919061434c565b610cc59190614409565b8160600151610cd491906142ae565b915050919050565b6000806000905060005b600f54811015610d4c57610d2c600e600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610ae6565b82610d3791906142ae565b91508080610d4490614304565b915050610ce6565b508091505090565b60008111610d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8e906144bd565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816020015114610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5590614529565b60405180910390fd5b6040518060a00160405280428152602001838152602001428152602001600081526020016000815250600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505033600e6000600f54815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f54610f5e91906142ae565b600f8190555073a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401610fb593929190614549565b6020604051808303816000875af1158015610fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff891906145b8565b503373ffffffffffffffffffffffffffffffffffffffff167f77338642d9284a44296d29a273e04b8ab6b15c7d2439094cd460b7e4f0b3307460405160405180910390a25050565b60035481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461109e57600080fd5b8060118190555050565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050806020015182111561116f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116690614657565b60405180910390fd5b8060000151600b544261118291906143a6565b10156111c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ba906146c3565b60405180910390fd5b600064141dd76000600a5483604001516111fb426103606117706111e7919061434c565b87600001516111f691906142ae565b613e80565b61120591906143a6565b8460200151611214919061434c565b61121e919061434c565b6112289190614409565b826060015161123791906142ae565b905060008260200151848361124c919061434c565b6112569190614409565b9050826020015184036113985760005b600954811015611396573373ffffffffffffffffffffffffffffffffffffffff166008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611383576008600060016009546112e991906143a6565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160095461137891906143a6565b600981905550611396565b808061138e90614304565b915050611266565b505b6040518060a00160405280846000015181526020018585602001516113bd91906143a6565b815260200142815260200182846113d491906143a6565b81526020018285608001516113e991906142ae565b815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff167f908e667f6c2b13b8062954eb100253ea804c21222b190449e40d967a3ac0ff1360405160405180910390a280846114af91906142ae565b73a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114fc91906141b8565b602060405180830381865afa158015611519573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153d91906146f8565b101561157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611575906147e3565b60405180910390fd5b6000818561158c91906142ae565b11156116315773a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383876115cf91906142ae565b6040518363ffffffff1660e01b81526004016115ec929190614803565b6020604051808303816000875af115801561160b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162f91906145b8565b505b80600c5461163f91906142ae565b600c8190555050505050565b61165c61165733610be1565b612ee5565b565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116b657600080fd5b6116be61321f565b6116c661086c565b6116ce612b27565b6116d6610cdc565b6116de610961565b6116e6611892565b866116f191906142ae565b6116fb91906142ae565b61170591906142ae565b61170f91906142ae565b61171991906142ae565b61172391906142ae565b73a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161177091906141b8565b602060405180830381865afa15801561178d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b191906146f8565b10156117f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e9906147e3565b60405180910390fd5b600081111561188f5773a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161184a929190614803565b6020604051808303816000875af1158015611869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188d91906145b8565b505b50565b6000806000905060005b600354811015611902576118e26002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610be1565b826118ed91906142ae565b915080806118fa90614304565b91505061189c565b508091505090565b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905080602001518211156119d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c890614657565b60405180910390fd5b8060000151601154426119e491906143a6565b1015611a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1c906146c3565b60405180910390fd5b600064141dd760006010548360400151611a5d42610360612328611a49919061434c565b8760000151611a5891906142ae565b613e80565b611a6791906143a6565b8460200151611a76919061434c565b611a80919061434c565b611a8a9190614409565b8260600151611a9991906142ae565b9050600082602001518483611aae919061434c565b611ab89190614409565b905082602001518403611bfa5760005b600f54811015611bf8573373ffffffffffffffffffffffffffffffffffffffff16600e600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611be557600e60006001600f54611b4b91906143a6565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f54611bda91906143a6565b600f81905550611bf8565b8080611bf090614304565b915050611ac8565b505b6040518060a0016040528084600001518152602001858560200151611c1f91906143a6565b81526020014281526020018284611c3691906143a6565b8152602001828560800151611c4b91906142ae565b815250600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff167f908e667f6c2b13b8062954eb100253ea804c21222b190449e40d967a3ac0ff1360405160405180910390a28084611d1191906142ae565b73a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611d5e91906141b8565b602060405180830381865afa158015611d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9f91906146f8565b1015611de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd7906147e3565b60405180910390fd5b60008185611dee91906142ae565b1115611e935773a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338387611e3191906142ae565b6040518363ffffffff1660e01b8152600401611e4e929190614803565b6020604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9191906145b8565b505b80601254611ea191906142ae565b60128190555050505050565b60008111611ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee7906144bd565b60405180910390fd5b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000816020015114611fb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fae90614529565b60405180910390fd5b6040518060a00160405280428152602001838152602001428152602001600081526020016000815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503360086000600954815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016009546120b791906142ae565b60098190555073a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161210e93929190614549565b6020604051808303816000875af115801561212d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215191906145b8565b503373ffffffffffffffffffffffffffffffffffffffff167f77338642d9284a44296d29a273e04b8ab6b15c7d2439094cd460b7e4f0b3307460405160405180910390a25050565b6121aa6121a533612dea565b613389565b565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060200151821115612273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226a90614657565b60405180910390fd5b80600001516005544261228691906143a6565b10156122c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122be906146c3565b60405180910390fd5b600064141dd7600060045483604001516122ff42610360610bb86122eb919061434c565b87600001516122fa91906142ae565b613e80565b61230991906143a6565b8460200151612318919061434c565b612322919061434c565b61232c9190614409565b826060015161233b91906142ae565b9050600082602001518483612350919061434c565b61235a9190614409565b90508260200151840361249c5760005b60035481101561249a573373ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612487576002600060016003546123ed91906143a6565b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035461247c91906143a6565b60038190555061249a565b808061249290614304565b91505061236a565b505b6040518060a00160405280846000015181526020018585602001516124c191906143a6565b815260200142815260200182846124d891906143a6565b81526020018285608001516124ed91906142ae565b815250600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff167f908e667f6c2b13b8062954eb100253ea804c21222b190449e40d967a3ac0ff1360405160405180910390a280846125b391906142ae565b73a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161260091906141b8565b602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264191906146f8565b1015612682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612679906147e3565b60405180910390fd5b6000818561269091906142ae565b11156127355773a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3383876126d391906142ae565b6040518363ffffffff1660e01b81526004016126f0929190614803565b6020604051808303816000875af115801561270f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273391906145b8565b505b8060065461274391906142ae565b60068190555050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127a757600080fd5b80600b8190555050565b60006127bc33610ae6565b905080821115612801576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f89061489e565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506040518060a0016040528082600001518152602001826020015181526020016128c8426103606123286128b4919061434c565b85600001516128c391906142ae565b613e80565b815260200184846128d991906143a6565b81526020018483608001516128ee91906142ae565b815250600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050508273a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016129b391906141b8565b602060405180830381865afa1580156129d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f491906146f8565b1015612a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2c906147e3565b60405180910390fd5b6000831115612ad25773a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401612a8d929190614803565b6020604051808303816000875af1158015612aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad091906145b8565b505b82601254612ae091906142ae565b601281905550505050565b60065481565b600d6020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b6000806000905060005b600354811015612c14576000600160006002600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815250509050806020015183612bfe91906142ae565b9250508080612c0c90614304565b915050612b31565b508091505090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c7457600080fd5b612c7c613e9c565b80600a8190555050565b60115481565b60095481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cea57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b60076020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b600f5481565b612d80612d7b33610ae6565b6127b1565b565b600a5481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612de057600080fd5b8060058190555050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905064141dd76000600a548260400151612ea142610360611770612e8d919061434c565b8660000151612e9c91906142ae565b613e80565b612eab91906143a6565b8360200151612eba919061434c565b612ec4919061434c565b612ece9190614409565b8160600151612edd91906142ae565b915050919050565b6000612ef033610be1565b905080821115612f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2c9061489e565b60405180910390fd5b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506040518060a001604052808260000151815260200182602001518152602001612ffc42610360610bb8612fe8919061434c565b8560000151612ff791906142ae565b613e80565b8152602001848461300d91906143a6565b815260200184836080015161302291906142ae565b815250600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050508273a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016130e791906141b8565b602060405180830381865afa158015613104573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312891906146f8565b1015613169576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613160906147e3565b60405180910390fd5b60008311156132065773a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b81526004016131c1929190614803565b6020604051808303816000875af11580156131e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320491906145b8565b505b8260065461321491906142ae565b600681905550505050565b6000806000905060005b600f5481101561330c576000600d6000600e600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060200151836132f691906142ae565b925050808061330490614304565b915050613229565b508091505090565b60105481565b600e6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b600061339433612dea565b9050808211156133d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d09061489e565b60405180910390fd5b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506040518060a0016040528082600001518152602001826020015181526020016134a04261036061177061348c919061434c565b856000015161349b91906142ae565b613e80565b815260200184846134b191906143a6565b81526020018483608001516134c691906142ae565b815250600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050508273a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161358b91906141b8565b602060405180830381865afa1580156135a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135cc91906146f8565b101561360d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613604906147e3565b60405180910390fd5b60008311156136aa5773a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b8152600401613665929190614803565b6020604051808303816000875af1158015613684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a891906145b8565b505b82600c546136b891906142ae565b600c81905550505050565b60055481565b6000811161370c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613703906144bd565b60405180910390fd5b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905060008160200151146137d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137ca90614529565b60405180910390fd5b6040518060a00160405280428152602001838152602001428152602001600081526020016000815250600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503360026000600354815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016003546138d391906142ae565b60038190555073a993e7cf7c48e6bf3a735b9d10e91baaf812eab973ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b815260040161392a93929190614549565b6020604051808303816000875af1158015613949573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061396d91906145b8565b503373ffffffffffffffffffffffffffffffffffffffff167f77338642d9284a44296d29a273e04b8ab6b15c7d2439094cd460b7e4f0b3307460405160405180910390a25050565b600b5481565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60005b600354811015613c34576000600160006002600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506040518060a001604052808260000151815260200182602001518152602001613af542610360610bb8613ae1919061434c565b8560000151613af091906142ae565b613e80565b815260200164141dd760006004548460400151613b3042610360610bb8613b1c919061434c565b8860000151613b2b91906142ae565b613e80565b613b3a91906143a6565b8560200151613b49919061434c565b613b53919061434c565b613b5d9190614409565b8360600151613b6c91906142ae565b81526020018260800151815250600160006002600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040155905050508080613c2c90614304565b9150506139f1565b50565b60005b600f54811015613e7d576000600d6000600e600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506040518060a001604052808260000151815260200182602001518152602001613d3e42610360612328613d2a919061434c565b8560000151613d3991906142ae565b613e80565b815260200164141dd760006010548460400151613d7942610360612328613d65919061434c565b8860000151613d7491906142ae565b613e80565b613d8391906143a6565b8560200151613d92919061434c565b613d9c919061434c565b613da69190614409565b8360600151613db591906142ae565b81526020018260800151815250600d6000600e600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040155905050508080613e7590614304565b915050613c3a565b50565b600081831015613e9257829050613e96565b8190505b92915050565b60005b6009548110156140e2576000600760006008600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506040518060a001604052808260000151815260200182602001518152602001613fa342610360611770613f8f919061434c565b8560000151613f9e91906142ae565b613e80565b815260200164141dd76000600a548460400151613fde42610360611770613fca919061434c565b8860000151613fd991906142ae565b613e80565b613fe891906143a6565b8560200151613ff7919061434c565b614001919061434c565b61400b9190614409565b836060015161401a91906142ae565b81526020018260800151815250600760006008600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050505080806140da90614304565b915050613e9f565b50565b6000819050919050565b6140f8816140e5565b82525050565b600060208201905061411360008301846140ef565b92915050565b600080fd5b614127816140e5565b811461413257600080fd5b50565b6000813590506141448161411e565b92915050565b6000602082840312156141605761415f614119565b5b600061416e84828501614135565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006141a282614177565b9050919050565b6141b281614197565b82525050565b60006020820190506141cd60008301846141a9565b92915050565b6141dc81614197565b81146141e757600080fd5b50565b6000813590506141f9816141d3565b92915050565b60006020828403121561421557614214614119565b5b6000614223848285016141ea565b91505092915050565b600060a08201905061424160008301886140ef565b61424e60208301876140ef565b61425b60408301866140ef565b61426860608301856140ef565b61427560808301846140ef565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006142b9826140e5565b91506142c4836140e5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156142f9576142f861427f565b5b828201905092915050565b600061430f826140e5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036143415761434061427f565b5b600182019050919050565b6000614357826140e5565b9150614362836140e5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561439b5761439a61427f565b5b828202905092915050565b60006143b1826140e5565b91506143bc836140e5565b9250828210156143cf576143ce61427f565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614414826140e5565b915061441f836140e5565b92508261442f5761442e6143da565b5b828204905092915050565b600082825260208201905092915050565b7f5374616b656420616d6f756e74206e6565647320746f2062652067726561746560008201527f72207468616e2030000000000000000000000000000000000000000000000000602082015250565b60006144a760288361443a565b91506144b28261444b565b604082019050919050565b600060208201905081810360008301526144d68161449a565b9050919050565b7f4e65656420746f20756e7374616b65206265666f72652072657374616b696e67600082015250565b600061451360208361443a565b915061451e826144dd565b602082019050919050565b6000602082019050818103600083015261454281614506565b9050919050565b600060608201905061455e60008301866141a9565b61456b60208301856141a9565b61457860408301846140ef565b949350505050565b60008115159050919050565b61459581614580565b81146145a057600080fd5b50565b6000815190506145b28161458c565b92915050565b6000602082840312156145ce576145cd614119565b5b60006145dc848285016145a3565b91505092915050565b7f5769746864726177696e67206d6f7265207468616e207374616b656420616d6f60008201527f756e740000000000000000000000000000000000000000000000000000000000602082015250565b600061464160238361443a565b915061464c826145e5565b604082019050919050565b6000602082019050818103600083015261467081614634565b9050919050565b7f496e73756666696369656e74207374616b6520706572696f6400000000000000600082015250565b60006146ad60198361443a565b91506146b882614677565b602082019050919050565b600060208201905081810360008301526146dc816146a0565b9050919050565b6000815190506146f28161411e565b92915050565b60006020828403121561470e5761470d614119565b5b600061471c848285016146e3565b91505092915050565b7f496e73756666696369656e7420616d6f756e74206f662074686520746f6b656e60008201527f20696e207468697320636f6e747261637420746f207472616e73666572206f7560208201527f742e20506c6561736520636f6e746163742074686520636f6e7472616374206f60408201527f776e657220746f20746f702075702074686520746f6b656e2e00000000000000606082015250565b60006147cd60798361443a565b91506147d882614725565b608082019050919050565b600060208201905081810360008301526147fc816147c0565b9050919050565b600060408201905061481860008301856141a9565b61482560208301846140ef565b9392505050565b7f57697468647261776e20616d6f756e74206d757374206265206c65737320746860008201527f616e20776974686472617761626c6520616d6f756e7400000000000000000000602082015250565b600061488860368361443a565b91506148938261482c565b604082019050919050565b600060208201905081810360008301526148b78161487b565b905091905056fea26469706673582212202962c728554e315c4ba057abcb486f5e02255c073a2b9ee5356c6fe58bb0a70e64736f6c634300080d0033