0 txs
0 calls
constructor
constructor(address _devaddr, uint256 _startBlock, uint256[] _wheyEmissionSchedule, uint256[] _wheyEmissionPerEpoch)
functions
devaddr
viewfunction devaddr() view returns (address)
getWheyPerBlock
viewfunction getWheyPerBlock() view returns (uint256)
getWheyReward
viewfunction getWheyReward(uint256 _nextEmissionIndex, uint256 _from, uint256 _to) view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingWhey
viewfunction pendingWhey(uint256 _pid, address _user) view returns (uint256)
poolInfo
viewfunction poolInfo(uint256) view returns (address lpToken, uint256 allocPoint, uint256 lastRewardBlock, uint256 accWheyPerShare, uint256 totalDeposit, uint256 nextEmissionIndex)
poolLength
viewfunction poolLength() view returns (uint256)
startBlock
viewfunction startBlock() view returns (uint256)
totalAllocPoint
viewfunction totalAllocPoint() view returns (uint256)
userInfo
viewfunction userInfo(uint256, address) view returns (uint256 amount, uint256 rewardDebt)
whey
viewfunction whey() view returns (address)
wheyEmissionPerEpoch
viewfunction wheyEmissionPerEpoch(uint256) view returns (uint256)
wheyEmissionSchedule
viewfunction wheyEmissionSchedule(uint256) view returns (uint256)
add
nonpayablefunction add(uint256 _allocPoint, address _lpToken, bool _withUpdate)
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(uint256 _pid)
harvestAll
nonpayablefunction harvestAll()
massUpdatePools
nonpayablefunction massUpdatePools()
renounceOwnership
nonpayablefunction renounceOwnership()
set
nonpayablefunction set(uint256 _pid, uint256 _allocPoint, bool _withUpdate)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDev
nonpayablefunction updateDev(address _devaddr)
updatePool
nonpayablefunction updatePool(uint256 _pid)
updateWheyEmission
nonpayablefunction updateWheyEmission(uint256[] _wheyEmissionSchedule, uint256[] _wheyEmissionPerEpoch)
withdraw
nonpayablefunction withdraw(uint256 _pid, uint256 _amount)
events
Deposit
event Deposit(address indexed user, uint256 indexed pid, uint256 amount)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 indexed pid, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Withdraw
event Withdraw(address indexed user, uint256 indexed pid, uint256 amount)
errors
No errors.
creation bytecode
0x608060405260006007553480156200001657600080fd5b5060405162005f6d38038062005f6d833981810160405260808110156200003c57600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200007157600080fd5b838201915060208201858111156200008857600080fd5b8251866020820283011164010000000082111715620000a657600080fd5b8083526020830192505050908051906020019060200280838360005b83811015620000df578082015181840152602081019050620000c2565b50505050905001604052602001805160405193929190846401000000008211156200010957600080fd5b838201915060208201858111156200012057600080fd5b82518660208202830111640100000000821117156200013e57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015620001775780820151818401526020810190506200015a565b505050509050016040525050506000620001966200047560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3503360405162000243906200047d565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f08015801562000280573d6000803e3d6000fd5b50600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19856a0422ca8b0a00a4250000006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156200036057600080fd5b505af115801562000375573d6000803e3d6000fd5b5050505083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600881905550805182511462000439576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f576865794661726d3a204d69736d6174636820696e707574730000000000000081525060200191505060405180910390fd5b8160039080519060200190620004519291906200048b565b5080600490805190602001906200046a9291906200048b565b5050505050620004fc565b600033905090565b612b7580620033f883390190565b828054828255906000526020600020908101928215620004ca579160200282015b82811115620004c9578251825591602001919060010190620004ac565b5b509050620004d99190620004dd565b5090565b5b80821115620004f8576000816000905550600101620004de565b5090565b612eec806200050c6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806364482f79116100de57806393f1a40b11610097578063d49e77cd11610071578063d49e77cd1461060c578063e2bbb15814610640578063f2fde38b14610678578063f56bbc60146106bc57610173565b806393f1a40b1461052f5780639f7483d714610598578063d3ca959d146105b657610173565b806364482f79146103fd57806366c97c2a14610441578063715018a6146104a35780638da5cb5b146104ad5780638ed955b9146104e1578063934c1938146104eb57610173565b80631eaaa045116101305780631eaaa045146102e7578063441a3e701461034157806348cd4cb11461037957806351eb05a6146103975780635312ea8e146103c5578063630b5ba1146103f357610173565b806305938bc314610178578063081e3eda146101ba5780631526fe27146101d857806317caf6f1146102535780631d5d0ef9146102715780631ea4d845146102b3575b600080fd5b6101a46004803603602081101561018e57600080fd5b8101908080359060200190929190505050610808565b6040518082815260200191505060405180910390f35b6101c2610829565b6040518082815260200191505060405180910390f35b610204600480360360208110156101ee57600080fd5b8101908080359060200190929190505050610836565b604051808773ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b61025b61089f565b6040518082815260200191505060405180910390f35b61029d6004803603602081101561028757600080fd5b81019080803590602001909291905050506108a5565b6040518082815260200191505060405180910390f35b6102bb6108c6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61033f600480360360608110156102fd57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506108ec565b005b6103776004803603604081101561035757600080fd5b810190808035906020019092919080359060200190929190505050610b60565b005b610381610dd3565b6040518082815260200191505060405180910390f35b6103c3600480360360208110156103ad57600080fd5b8101908080359060200190929190505050610dd9565b005b6103f1600480360360208110156103db57600080fd5b810190808035906020019092919050505061128c565b005b6103fb6113be565b005b61043f6004803603606081101561041357600080fd5b8101908080359060200190929190803590602001909291908035151590602001909291905050506113eb565b005b61048d6004803603604081101561045757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061151c565b6040518082815260200191505060405180910390f35b6104ab6116b8565b005b6104b5611825565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104e961184e565b005b61052d6004803603602081101561050157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a51565b005b61057b6004803603604081101561054557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b44565b604051808381526020018281526020019250505060405180910390f35b6105a0611b75565b6040518082815260200191505060405180910390f35b6105f6600480360360608110156105cc57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050611bf3565b6040518082815260200191505060405180910390f35b610614611ea7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106766004803603604081101561065657600080fd5b810190808035906020019092919080359060200190929190505050611ecd565b005b6106ba6004803603602081101561068e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120d6565b005b610806600480360360408110156106d257600080fd5b81019080803590602001906401000000008111156106ef57600080fd5b82018360208201111561070157600080fd5b8035906020019184602083028401116401000000008311171561072357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561078357600080fd5b82018360208201111561079557600080fd5b803590602001918460208302840111640100000000831117156107b757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506122c8565b005b6004818154811061081557fe5b906000526020600020016000915090505481565b6000600580549050905090565b6005818154811061084357fe5b90600052602060002090600602016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154908060050154905086565b60075481565b600381815481106108b257fe5b906000526020600020016000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108f4612428565b73ffffffffffffffffffffffffffffffffffffffff16610912611825565b73ffffffffffffffffffffffffffffffffffffffff161461099b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80156109aa576109a96113be565b5b600060085443116109bd576008546109bf565b435b90506109d68460075461243090919063ffffffff16565b6007819055506000610a0a600854600383815481106109f157fe5b906000526020600020015461243090919063ffffffff16565b821115610a6e5760008190505b600380549050811015610a6c57610a5060085460038381548110610a3757fe5b906000526020600020015461243090919063ffffffff16565b831015610a5f57809150610a6c565b8080600101915050610a17565b505b60056040518060c001604052808673ffffffffffffffffffffffffffffffffffffffff168152602001878152602001848152602001600081526020016000815260200183815250908060018154018082558091505060019003906000526020600020906006020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015550505050505050565b600060058381548110610b6f57fe5b9060005260206000209060060201905060006006600085815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508281600001541015610c4d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f77697468647261773a206e6f7420676f6f64000000000000000000000000000081525060200191505060405180910390fd5b610c5684610dd9565b6000610ca08260010154610c9264e8d4a51000610c84876003015487600001546124b890919063ffffffff16565b61253e90919063ffffffff16565b6125c790919063ffffffff16565b90506000811115610cb657610cb5338261264a565b5b610ccd8483600001546125c790919063ffffffff16565b8260000181905550610d0764e8d4a51000610cf9856003015485600001546124b890919063ffffffff16565b61253e90919063ffffffff16565b8260010181905550610d5e33858560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128c39092919063ffffffff16565b610d758484600401546125c790919063ffffffff16565b8360040181905550843373ffffffffffffffffffffffffffffffffffffffff167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568866040518082815260200191505060405180910390a35050505050565b60085481565b600060058281548110610de857fe5b9060005260206000209060060201905080600201544311610e095750611289565b6000816004015490506000811415610f2957438260020181905550610e546008546003846005015481548110610e3b57fe5b906000526020600020015461243090919063ffffffff16565b82600201541115610f22576000826005015490505b600380549050811015610f2057610ea260085460038381548110610e8957fe5b906000526020600020015461243090919063ffffffff16565b83600201541015610ebb57808360050181905550610f20565b610ee760085460038381548110610ece57fe5b906000526020600020015461243090919063ffffffff16565b8360020154118015610f00575060016003805490500381145b15610f1357808360050181905550610f20565b8080600101915050610e69565b505b5050611289565b6000610f3e8360050154846002015443611bf3565b90506000610f6d600754610f5f8660010154856124b890919063ffffffff16565b61253e90919063ffffffff16565b9050600081111561117d576000610fa16064610f93600f856124b890919063ffffffff16565b61253e90919063ffffffff16565b90506000610fb882846125c790919063ffffffff16565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561106f57600080fd5b505af1158015611083573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561111a57600080fd5b505af115801561112e573d6000803e3d6000fd5b5050505061117261115f8661115164e8d4a51000856124b890919063ffffffff16565b61253e90919063ffffffff16565b876003015461243090919063ffffffff16565b866003018190555050505b4384600201819055506111b6600854600386600501548154811061119d57fe5b906000526020600020015461243090919063ffffffff16565b84600201541115611284576000846005015490505b60038054905081101561128257611204600854600383815481106111eb57fe5b906000526020600020015461243090919063ffffffff16565b8560020154101561121d57808560050181905550611282565b6112496008546003838154811061123057fe5b906000526020600020015461243090919063ffffffff16565b8560020154118015611262575060016003805490500381145b1561127557808560050181905550611282565b80806001019150506111cb565b505b505050505b50565b60006005828154811061129b57fe5b9060005260206000209060060201905060006006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506113523382600001548460000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128c39092919063ffffffff16565b823373ffffffffffffffffffffffffffffffffffffffff167fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae059583600001546040518082815260200191505060405180910390a36000816000018190555060008160010181905550505050565b6000600580549050905060005b818110156113e7576113dc81610dd9565b8060010190506113cb565b5050565b6113f3612428565b73ffffffffffffffffffffffffffffffffffffffff16611411611825565b73ffffffffffffffffffffffffffffffffffffffff161461149a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80156114a9576114a86113be565b5b6114ee826114e0600586815481106114bd57fe5b9060005260206000209060060201600101546007546125c790919063ffffffff16565b61243090919063ffffffff16565b600781905550816005848154811061150257fe5b906000526020600020906006020160010181905550505050565b6000806005848154811061152c57fe5b9060005260206000209060060201905060006006600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000826003015490506000836004015490508360020154431180156115b6575060008114155b156116685760006115d08560050154866002015443611bf3565b905060006115ff6007546115f18860010154856124b890919063ffffffff16565b61253e90919063ffffffff16565b90506116636116548461164664e8d4a51000611638606461162a6055896124b890919063ffffffff16565b61253e90919063ffffffff16565b6124b890919063ffffffff16565b61253e90919063ffffffff16565b8561243090919063ffffffff16565b935050505b6116ac836001015461169e64e8d4a510006116908688600001546124b890919063ffffffff16565b61253e90919063ffffffff16565b6125c790919063ffffffff16565b94505050505092915050565b6116c0612428565b73ffffffffffffffffffffffffffffffffffffffff166116de611825565b73ffffffffffffffffffffffffffffffffffffffff1614611767576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000805b6005805490508110156119cd5760006006600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015411156119c0576000600582815481106118ca57fe5b9060005260206000209060060201905060006006600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061193783610dd9565b61197f816001015461197164e8d4a51000611963866003015486600001546124b890919063ffffffff16565b61253e90919063ffffffff16565b6125c790919063ffffffff16565b840193506119b564e8d4a510006119a7846003015484600001546124b890919063ffffffff16565b61253e90919063ffffffff16565b816001018190555050505b8080600101915050611852565b5060008111611a44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f686172766573743a206e6f7420676f6f6400000000000000000000000000000081525060200191505060405180910390fd5b611a4e338261264a565b50565b611a59612428565b73ffffffffffffffffffffffffffffffffffffffff16611a77611825565b73ffffffffffffffffffffffffffffffffffffffff1614611b00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6006602052816000526040600020602052806000526040600020600091509150508060000154908060010154905082565b600080600090505b600380549050811015611bea57611bb660085460038381548110611b9d57fe5b906000526020600020015461243090919063ffffffff16565b431015611bdd5760048181548110611bca57fe5b9060005260206000200154915050611bf0565b8080600101915050611b7d565b50600090505b90565b6000828211611c6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f576865794661726d3a205f746f206c657373207468616e205f66726f6d00000081525060200191505060405180910390fd5b600854831015611c7a5760085492505b611ca660085460038681548110611c8d57fe5b906000526020600020015461243090919063ffffffff16565b831115611cb65760009050611ea0565b6000808590505b600380549050811015611e9a57611cf660085460038381548110611cdd57fe5b906000526020600020015461243090919063ffffffff16565b851015611e8d57600085905060008290505b600380549050811015611e8657611d4160085460038381548110611d2857fe5b906000526020600020015461243090919063ffffffff16565b861115611df657611dc1611db260048381548110611d5b57fe5b9060005260206000200154611da485611d9660085460038881548110611d7d57fe5b906000526020600020015461243090919063ffffffff16565b6125c790919063ffffffff16565b6124b890919063ffffffff16565b8561243090919063ffffffff16565b9350611def60085460038381548110611dd657fe5b906000526020600020015461243090919063ffffffff16565b9150611e79565b611e44611e3560048381548110611e0957fe5b9060005260206000200154611e27858a6125c790919063ffffffff16565b6124b890919063ffffffff16565b8561243090919063ffffffff16565b9350611e7260085460038381548110611e5957fe5b906000526020600020015461243090919063ffffffff16565b9150611e86565b8080600101915050611d08565b5050611e9a565b8080600101915050611cbd565b50809150505b9392505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060058381548110611edc57fe5b9060005260206000209060060201905060006006600085815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611f4984610dd9565b600081600001541115611fb8576000611fa08260010154611f9264e8d4a51000611f84876003015487600001546124b890919063ffffffff16565b61253e90919063ffffffff16565b6125c790919063ffffffff16565b90506000811115611fb657611fb5338261264a565b5b505b6120093330858560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612965909392919063ffffffff16565b61202083826000015461243090919063ffffffff16565b816000018190555061205a64e8d4a5100061204c846003015484600001546124b890919063ffffffff16565b61253e90919063ffffffff16565b816001018190555061207983836004015461243090919063ffffffff16565b8260040181905550833373ffffffffffffffffffffffffffffffffffffffff167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15856040518082815260200191505060405180910390a350505050565b6120de612428565b73ffffffffffffffffffffffffffffffffffffffff166120fc611825565b73ffffffffffffffffffffffffffffffffffffffff1614612185576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561220b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612e206026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6122d0612428565b73ffffffffffffffffffffffffffffffffffffffff166122ee611825565b73ffffffffffffffffffffffffffffffffffffffff1614612377576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80518251146123ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f576865794661726d3a204d69736d6174636820696e707574730000000000000081525060200191505060405180910390fd5b8160039080519060200190612404929190612db5565b50806004908051906020019061241b929190612db5565b506124246113be565b5050565b600033905090565b6000808284019050838110156124ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808314156124cb5760009050612538565b60008284029050828482816124dc57fe5b0414612533576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612e6c6021913960400191505060405180910390fd5b809150505b92915050565b60008082116125b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b8183816125be57fe5b04905092915050565b60008282111561263f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156126d557600080fd5b505afa1580156126e9573d6000803e3d6000fd5b505050506040513d60208110156126ff57600080fd5b81019080805190602001909291905050509050808211156127ee57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156127ad57600080fd5b505af11580156127c1573d6000803e3d6000fd5b505050506040513d60208110156127d757600080fd5b8101908080519060200190929190505050506128be565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561288157600080fd5b505af1158015612895573d6000803e3d6000fd5b505050506040513d60208110156128ab57600080fd5b8101908080519060200190929190505050505b505050565b6129608363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612a26565b505050565b612a20846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612a26565b50505050565b6060612a88826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612b159092919063ffffffff16565b9050600081511115612b1057808060200190516020811015612aa957600080fd5b8101908080519060200190929190505050612b0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612e8d602a913960400191505060405180910390fd5b5b505050565b6060612b248484600085612b2d565b90509392505050565b606082471015612b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612e466026913960400191505060405180910390fd5b612b9185612cd6565b612c03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310612c535780518252602082019150602081019050602083039250612c30565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612cb5576040519150601f19603f3d011682016040523d82523d6000602084013e612cba565b606091505b5091509150612cca828286612ce9565b92505050949350505050565b600080823b905060008111915050919050565b60608315612cf957829050612dae565b600083511115612d0c5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d73578082015181840152602081019050612d58565b50505050905090810190601f168015612da05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b828054828255906000526020600020908101928215612df1579160200282015b82811115612df0578251825591602001919060010190612dd5565b5b509050612dfe9190612e02565b5090565b5b80821115612e1b576000816000905550600101612e03565b509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212203aeee9c5cba6f6929f1f643ae63f2527515ee4262eb72b3a04b605d5a208a7a864736f6c634300060c003360806040523480156200001157600080fd5b5060405162002b7538038062002b75833981810160405260208110156200003757600080fd5b81019080805190602001909291905050506040518060400160405280600981526020017f57686579546f6b656e00000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f57484559000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000cc929190620003ae565b508060049080519060200190620000e5929190620003ae565b506012600560006101000a81548160ff021916908360ff16021790555050506000620001166200021760201b60201c565b905080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001ca6000801b826200021f60201b60201c565b620002107f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a973a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa6200021f60201b60201c565b5062000454565b600033905090565b6200023182826200023560201b60201c565b5050565b620002648160066000858152602001908152602001600020600001620002d960201b620016931790919060201c565b15620002d5576200027a6200021760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000309836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200031160201b60201c565b905092915050565b60006200032583836200038b60201b60201c565b6200038057826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000385565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003f157805160ff191683800117855562000422565b8280016001018555821562000422579182015b828111156200042157825182559160200191906001019062000404565b5b50905062000431919062000435565b5090565b5b808211156200045057600081600090555060010162000436565b5090565b61271180620004646000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80638da5cb5b116100f9578063a9059cbb11610097578063cf2c52cb11610071578063cf2c52cb1461086f578063d547741f14610908578063dd62ed3e14610956578063f2fde38b146109ce576101a9565b8063a9059cbb14610795578063c8291d84146107f9578063ca15c8731461082d576101a9565b806395d89b41116100d357806395d89b4114610672578063a217fddf146106f5578063a3b0b5a314610713578063a457c2d714610731576101a9565b80638da5cb5b146105785780639010d07c146105ac57806391d148541461060e576101a9565b80632f2ff15d116101665780633950935111610140578063395093511461046457806340c10f19146104c857806370a0823114610516578063715018a61461056e576101a9565b80632f2ff15d146103a7578063313ce567146103f557806336568abe14610416576101a9565b806306fdde03146101ae578063095ea7b31461023157806318160ddd1461029557806323b872dd146102b3578063248a9ca3146103375780632e1a7d4d14610379575b600080fd5b6101b6610a12565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561024757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ab4565b60405180821515815260200191505060405180910390f35b61029d610ad2565b6040518082815260200191505060405180910390f35b61031f600480360360608110156102c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610adc565b60405180821515815260200191505060405180910390f35b6103636004803603602081101561034d57600080fd5b8101908080359060200190929190505050610bb5565b6040518082815260200191505060405180910390f35b6103a56004803603602081101561038f57600080fd5b8101908080359060200190929190505050610bd5565b005b6103f3600480360360408110156103bd57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610be9565b005b6103fd610c73565b604051808260ff16815260200191505060405180910390f35b6104626004803603604081101561042c57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c8a565b005b6104b06004803603604081101561047a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d23565b60405180821515815260200191505060405180910390f35b610514600480360360408110156104de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dd6565b005b6105586004803603602081101561052c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e93565b6040518082815260200191505060405180910390f35b610576610edb565b005b61058061104b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105e2600480360360408110156105c257600080fd5b810190808035906020019092919080359060200190929190505050611075565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61065a6004803603604081101561062457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a7565b60405180821515815260200191505060405180910390f35b61067a6110d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106ba57808201518184015260208101905061069f565b50505050905090810190601f1680156106e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106fd61117b565b6040518082815260200191505060405180910390f35b61071b611182565b6040518082815260200191505060405180910390f35b61077d6004803603604081101561074757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111a6565b60405180821515815260200191505060405180910390f35b6107e1600480360360408110156107ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611273565b60405180821515815260200191505060405180910390f35b610801611291565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108596004803603602081101561084357600080fd5b81019080803590602001909291905050506112a9565b6040518082815260200191505060405180910390f35b6109066004803603604081101561088557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156108c257600080fd5b8201836020820111156108d457600080fd5b803590602001918460018302840111640100000000831117156108f657600080fd5b90919293919293905050506112d0565b005b6109546004803603604081101561091e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061138d565b005b6109b86004803603604081101561096c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611417565b6040518082815260200191505060405180910390f35b610a10600480360360208110156109e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061149e565b005b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aaa5780601f10610a7f57610100808354040283529160200191610aaa565b820191906000526020600020905b815481529060010190602001808311610a8d57829003601f168201915b5050505050905090565b6000610ac8610ac16116c3565b84846116cb565b6001905092915050565b6000600254905090565b6000610ae98484846118c2565b610baa84610af56116c3565b610ba5856040518060600160405280602881526020016125f660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b5b6116c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b839092919063ffffffff16565b6116cb565b600190509392505050565b600060066000838152602001908152602001600020600201549050919050565b610be6610be06116c3565b82611c3d565b50565b610c106006600084815260200190815260200160002060020154610c0b6116c3565b6110a7565b610c65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806124e4602f913960400191505060405180910390fd5b610c6f8282611e01565b5050565b6000600560009054906101000a900460ff16905090565b610c926116c3565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806126ad602f913960400191505060405180910390fd5b610d1f8282611e95565b5050565b6000610dcc610d306116c3565b84610dc78560016000610d416116c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2990919063ffffffff16565b6116cb565b6001905092915050565b610dde6116c3565b73ffffffffffffffffffffffffffffffffffffffff16610dfc61104b565b73ffffffffffffffffffffffffffffffffffffffff1614610e85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610e8f8282611fb1565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ee36116c3565b73ffffffffffffffffffffffffffffffffffffffff16610f0161104b565b73ffffffffffffffffffffffffffffffffffffffff1614610f8a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061109f826006600086815260200190815260200160002060000161217890919063ffffffff16565b905092915050565b60006110d1826006600086815260200190815260200160002060000161219290919063ffffffff16565b905092915050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111715780601f1061114657610100808354040283529160200191611171565b820191906000526020600020905b81548152906001019060200180831161115457829003601f168201915b5050505050905090565b6000801b81565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a981565b60006112696111b36116c3565b846112648560405180606001604052806025815260200161268860259139600160006111dd6116c3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b839092919063ffffffff16565b6116cb565b6001905092915050565b60006112876112806116c3565b84846118c2565b6001905092915050565b73a6fa4fb5f76172d178d61b04b0ecd319c5d1c0aa81565b60006112c9600660008481526020019081526020016000206000016121c2565b9050919050565b7f8f4f2da22e8ac8f11e15f9fc141cddbb5deea8800186560abb6e68c5496619a9611302816112fd6116c3565b6110a7565b611357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806125a36023913960400191505060405180910390fd5b60008383602081101561136957600080fd5b810190808035906020019092919050505090506113868582611fb1565b5050505050565b6113b460066000848152602001908152602001600020600201546113af6116c3565b6110a7565b611409576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806125c66030913960400191505060405180910390fd5b6114138282611e95565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114a66116c3565b73ffffffffffffffffffffffffffffffffffffffff166114c461104b565b73ffffffffffffffffffffffffffffffffffffffff161461154d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806125356026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006116bb836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6121d7565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611751576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806126646024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061255b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061263f6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124c16023913960400191505060405180910390fd5b6119d9838383612247565b611a448160405180606001604052806026815260200161257d602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b839092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ad7816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611c30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bf5578082015181840152602081019050611bda565b50505050905090810190601f168015611c225780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061261e6021913960400191505060405180910390fd5b611ccf82600083612247565b611d3a81604051806060016040528060228152602001612513602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b839092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d918160025461224c90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b611e29816006600085815260200190815260200160002060000161169390919063ffffffff16565b15611e9157611e366116c3565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611ebd81600660008581526020019081526020016000206000016122cf90919063ffffffff16565b15611f2557611eca6116c3565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600080828401905083811015611fa7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61206060008383612247565b61207581600254611f2990919063ffffffff16565b6002819055506120cc816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600061218783600001836122ff565b60001c905092915050565b60006121ba836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612382565b905092915050565b60006121d0826000016123a5565b9050919050565b60006121e38383612382565b61223c578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612241565b600090505b92915050565b505050565b6000828211156122c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b60006122f7836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6123b6565b905092915050565b600081836000018054905011612360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061249f6022913960400191505060405180910390fd5b82600001828154811061236f57fe5b9060005260206000200154905092915050565b600080836001016000848152602001908152602001600020541415905092915050565b600081600001805490509050919050565b60008083600101600084815260200190815260200160002054905060008114612492576000600182039050600060018660000180549050039050600086600001828154811061240157fe5b906000526020600020015490508087600001848154811061241e57fe5b906000526020600020018190555060018301876001016000838152602001908152602001600020819055508660000180548061245657fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050612498565b60009150505b9291505056fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636557686579546f6b656e3a20494e53554646494349454e545f5045524d495353494f4e53416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66a2646970667358221220bbf8c196933bab49877c803ab11ca6e4389b1f2a8c790eb40359b9b8722be82264736f6c634300060c00330000000000000000000000002132de4fffe211122819a0135e572784c403b595000000000000000000000000000000000000000000000000000000000115b5c0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000038d7ea4c67fff00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000