112 txs
112 calls
constructor
constructor()
functions
admissionProfile
viewfunction admissionProfile() view returns (address)
campaignId
viewfunction campaignId() view returns (uint256)
computeNextVestingScheduleIdForHolder
viewfunction computeNextVestingScheduleIdForHolder(address _holder) view returns (bytes32)
computeReleasableAmount
viewfunction computeReleasableAmount(bytes32 _vestingScheduleId) view returns (uint256)
computeVestingScheduleIdForAddressAndIndex
purefunction computeVestingScheduleIdForAddressAndIndex(address _holder, uint256 _index) pure returns (bytes32)
computeVestingScheduleIdForAddressAndPid
viewfunction computeVestingScheduleIdForAddressAndPid(address _holder, uint256 _pid) view returns (bytes32)
endBlock
viewfunction endBlock() view returns (uint256)
getVestingSchedule
viewfunction getVestingSchedule(bytes32 _vestingScheduleId) view returns (tuple)
getVestingScheduleByAddressAndIndex
viewfunction getVestingScheduleByAddressAndIndex(address _holder, uint256 _index) view returns (tuple)
getVestingScheduleIdAtIndex
viewfunction getVestingScheduleIdAtIndex(uint256 _index) view returns (bytes32)
getVestingSchedulesCount
viewfunction getVestingSchedulesCount() view returns (uint256)
getVestingSchedulesCountByBeneficiary
viewfunction getVestingSchedulesCountByBeneficiary(address _beneficiary) view returns (uint256)
getVestingSchedulesTotalAmount
viewfunction getVestingSchedulesTotalAmount() view returns (uint256)
getWithdrawableOfferingTokenAmount
viewfunction getWithdrawableOfferingTokenAmount() view returns (uint256)
iCake
viewfunction iCake() view returns (address)
IFO_FACTORY
viewfunction IFO_FACTORY() view returns (address)
isInitialized
viewfunction isInitialized() view returns (bool)
isQualifiedNFT
viewfunction isQualifiedNFT(address _user) view returns (bool)
isQualifiedPoints
viewfunction isQualifiedPoints(address _user) view returns (bool)
isQualifiedWhitelist
viewfunction isQualifiedWhitelist(address _user) view returns (bool)
isWhitelisted
viewfunction isWhitelisted(address _user) view returns (bool)
lpToken
viewfunction lpToken() view returns (address)
MAX_BUFFER_BLOCKS
viewfunction MAX_BUFFER_BLOCKS() view returns (uint256)
NUMBER_POOLS
viewfunction NUMBER_POOLS() view returns (uint8)
numberPoints
viewfunction numberPoints() view returns (uint256)
offeringToken
viewfunction offeringToken() view returns (address)
owner
viewfunction owner() view returns (address)
pancakeProfile
viewfunction pancakeProfile() view returns (address)
pointThreshold
viewfunction pointThreshold() view returns (uint256)
startBlock
viewfunction startBlock() view returns (uint256)
thresholdPoints
viewfunction thresholdPoints() view returns (uint256)
tokenIdUsed
viewfunction tokenIdUsed(uint256) view returns (address)
totalTokensOffered
viewfunction totalTokensOffered() view returns (uint256)
userCreditUsed
viewfunction userCreditUsed(address) view returns (uint256)
userNftTokenId
viewfunction userNftTokenId(address) view returns (uint256)
vestingRevoked
viewfunction vestingRevoked() view returns (bool)
vestingStartTime
viewfunction vestingStartTime() view returns (uint256)
viewPoolInformation
viewfunction viewPoolInformation(uint256 _pid) view returns (uint256, uint256, uint256, bool, uint256, uint256, bool)
viewPoolTaxRateOverflow
viewfunction viewPoolTaxRateOverflow(uint256 _pid) view returns (uint256)
viewPoolVestingInformation
viewfunction viewPoolVestingInformation(uint256 _pid) view returns (uint256, uint256, uint256, uint256)
viewUserAllocationPools
viewfunction viewUserAllocationPools(address _user, uint8[] _pids) view returns (uint256[])
viewUserInfo
viewfunction viewUserInfo(address _user, uint8[] _pids) view returns (uint256[], bool[])
viewUserOfferingAndRefundingAmountsForPools
viewfunction viewUserOfferingAndRefundingAmountsForPools(address _user, uint8[] _pids) view returns (uint256[3][])
addAddressesToWhitelist
nonpayablefunction addAddressesToWhitelist(address[] _users)
addAddressToWhitelist
nonpayablefunction addAddressToWhitelist(address _user)
depositPool
nonpayablefunction depositPool(uint256 _amount, uint8 _pid)
finalWithdraw
nonpayablefunction finalWithdraw(uint256 _lpAmount, uint256 _offerAmount)
harvestPool
nonpayablefunction harvestPool(uint8 _pid)
initialize
nonpayablefunction initialize(address _lpToken, address _offeringToken, address _pancakeProfileAddress, uint256 _startBlock, uint256 _endBlock, uint256 _maxBufferBlocks, address _adminAddress, address _iCakeAddress, uint256 _pointThreshold, address _admissionProfile)
recoverWrongTokens
nonpayablefunction recoverWrongTokens(address _tokenAddress, uint256 _tokenAmount)
release
nonpayablefunction release(bytes32 _vestingScheduleId)
removeAddressesFromWhitelist
nonpayablefunction removeAddressesFromWhitelist(address[] _users)
removeAddressFromWhitelist
nonpayablefunction removeAddressFromWhitelist(address _user)
renounceOwnership
nonpayablefunction renounceOwnership()
revoke
nonpayablefunction revoke()
setPool
nonpayablefunction setPool(uint256 _offeringAmountPool, uint256 _raisingAmountPool, uint256 _limitPerUserInLP, bool _hasTax, uint8 _pid, bool _isSpecialSale, uint256 _vestingPercentage, uint256 _vestingCliff, uint256 _vestingDuration, uint256 _vestingSlicePeriodSeconds)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePointParameters
nonpayablefunction updatePointParameters(uint256 _campaignId, uint256 _numberPoints, uint256 _thresholdPoints)
updateStartAndEndBlocks
nonpayablefunction updateStartAndEndBlocks(uint256 _startBlock, uint256 _endBlock)
events
AdminTokenRecovery
event AdminTokenRecovery(address tokenAddress, uint256 amountTokens)
AdminWithdraw
event AdminWithdraw(uint256 amountLP, uint256 amountOfferingToken)
CreateVestingSchedule
event CreateVestingSchedule(address indexed user, uint256 offeringAmount, uint256 excessAmount, uint8 indexed pid)
Deposit
event Deposit(address indexed user, uint256 amount, uint8 indexed pid)
Harvest
event Harvest(address indexed user, uint256 offeringAmount, uint256 excessAmount, uint8 indexed pid)
NewStartAndEndBlocks
event NewStartAndEndBlocks(uint256 startBlock, uint256 endBlock)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PointParametersSet
event PointParametersSet(uint256 campaignId, uint256 numberPoints, uint256 thresholdPoints)
PoolParametersSet
event PoolParametersSet(uint256 offeringAmountPool, uint256 raisingAmountPool, uint8 pid)
Released
event Released(address indexed beneficiary, uint256 amount)
Revoked
event Revoked()
WhitelistedAddressAdded
event WhitelistedAddressAdded(address indexed _user)
WhitelistedAddressRemoved
event WhitelistedAddressRemoved(address indexed _user)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b5060016000908155620000236200007e565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3503360601b60805262000082565b3390565b60805160601c614d14620000a560003980610f7052806126675250614d146000f3fe608060405234801561001057600080fd5b50600436106103995760003560e01c80637edd5e34116101e9578063b78136071161010f578063e2ec6ec3116100ad578063f51321d71161007c578063f51321d714610735578063f7c469f014610748578063f9cd5c121461075b578063feebf5291461077b57610399565b8063e2ec6ec3146106f4578063e3af538714610707578063ea1bb3d51461070f578063f2fde38b1461072257610399565b8063c0297737116100e9578063c0297737146106a6578063c7d936ec146106b9578063ca463ca4146106c1578063d04dac15146106e157610399565b8063b781360714610668578063b7966f2414610670578063b86c6f141461068357610399565b80639513997f11610187578063a8660a7811610156578063a8660a781461063d578063ad08287414610645578063b0adb22014610658578063b6549f751461066057610399565b80639513997f146105ef5780639ef346b4146106025780639f1b524814610622578063a83e79751461063557610399565b80638af104da116101c35780638af104da146105c45780638da5cb5b146105d75780638ed5b0fc146105df578063915dfc31146105e757610399565b80637edd5e341461058b5780637f1bdd761461059e5780638518b3c5146105b157610399565b806345de0f77116102ce5780635a7bb69a1161026c578063715018a61161023b578063715018a614610560578063760b31801461056857806379795108146105705780637b9417c81461057857610399565b80635a7bb69a1461051f5780635fcbd2851461053257806367d42a8b1461053a5780636a01df771461054d57610399565b806348deb471116102a857806348deb471146104db57806349032cdb146104e357806349681dad146104f65780634af3c9b7146104fe57610399565b806345de0f77146104a557806346ab91bf146104ad57806348cd4cb1146104d357610399565b80632753f2f71161033b57806337f859b81161031557806337f859b814610464578063392e53cd146104775780633af32abf1461047f5780633f138d4b1461049257610399565b80632753f2f714610434578063286dd3f51461044957806328fddfaf1461045c57610399565b8063130836171161037757806313083617146103ef5780632374876c146103f757806323f935741461040c57806324953eaa1461042157610399565b806304e3ccd61461039e57806306cec857146103c7578063083c6323146103e7575b600080fd5b6103b16103ac366004613b2d565b61078e565b6040516103be9190613eab565b60405180910390f35b6103da6103d536600461398c565b6107df565b6040516103be9190613ea0565b6103b16107f0565b6103b16107f6565b61040a610405366004613cc8565b6107fc565b005b610414610c57565b6040516103be9190614c81565b61040a61042f366004613ad1565b610c5c565b61043c610d58565b6040516103be9190613d5b565b61040a61045736600461398c565b610d67565b6103da610def565b6103b1610472366004613b2d565b610df8565b6103da610e54565b6103da61048d36600461398c565b610e64565b61040a6104a0366004613aa6565b610e82565b61043c610f6e565b6104c06104bb366004613b2d565b610f92565b6040516103be9796959493929190614c1b565b6103b161104b565b6103b1611051565b6103b16104f136600461398c565b611057565b6103b1611069565b61051161050c366004613a53565b61106f565b6040516103be929190613e48565b6103b161052d36600461398c565b6111b0565b61043c6111cb565b61040a610548366004613b2d565b6111da565b61040a61055b366004613c07565b6113b2565b61040a61166a565b6103b16116f3565b6103b16116f9565b61040a61058636600461398c565b611790565b61040a610599366004613b7e565b61181b565b61040a6105ac366004613c94565b6118cb565b61043c6105bf366004613b2d565b612103565b6103b16105d2366004613aa6565b61211e565b61043c612151565b6103b1612160565b6103b1612166565b61040a6105fd366004613b5d565b61216c565b610615610610366004613b2d565b612269565b6040516103be9190614bb4565b61040a610630366004613b5d565b6122d5565b6103b16124bc565b6103b16124c2565b6103b1610653366004613aa6565b6124c8565b6103b1612583565b61040a612589565b61043c612623565b61040a61067e3660046139a8565b612632565b610696610691366004613b2d565b612736565b6040516103be9493929190614c4d565b6103da6106b436600461398c565b61279f565b61043c6128d0565b6106d46106cf366004613a53565b6128df565b6040516103be9190613dcd565b6103da6106ef36600461398c565b612a06565b61040a610702366004613ad1565b612b80565b61043c612c77565b6103b161071d366004613b2d565b612c86565b61040a61073036600461398c565b612d2b565b610615610743366004613aa6565b612dec565b6103b161075636600461398c565b612e01565b61076e610769366004613a53565b612e25565b6040516103be9190613e35565b6103b161078936600461398c565b612ec9565b60006107986107f6565b82106107bf5760405162461bcd60e51b81526004016107b690614abb565b60405180910390fd5b602d82815481106107cc57fe5b906000526020600020015490505b919050565b60006107ea82610e64565b92915050565b60095481565b602d5490565b6002600054141561081f5760405162461bcd60e51b81526004016107b690614a18565b600260005561082d33612edb565b1561084a5760405162461bcd60e51b81526004016107b690614639565b3332146108695760405162461bcd60e51b81526004016107b690613f6f565b600954431161088a5760405162461bcd60e51b81526004016107b690614404565b600260ff8216106108ad5760405162461bcd60e51b81526004016107b690614ae8565b33600090815260276020908152604080832060ff851684529091529020546108e75760405162461bcd60e51b81526004016107b6906144c4565b33600090815260276020908152604080832060ff808616855292529091206001015416156109275760405162461bcd60e51b81526004016107b69061459e565b336000908152602a602052604090205415610a1e57600654604051634c3f70ab60e11b8152600091829182916001600160a01b03169063987ee15690610971903390600401613d5b565b60c06040518083038186803b15801561098957600080fd5b505afa15801561099d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c19190613ba9565b9550955095505050508080156109e45750600f546001600160a01b038481169116145b80156109fe5750336000908152602a602052604090205482145b610a1a5760405162461bcd60e51b81526004016107b69061407a565b5050505b610a2733612ee1565b33600090815260276020908152604080832060ff8516845290915290206001908101805460ff19169091179055602b54610a605742602b555b6000806000610a6f3385612fed565b919450925090508015610ac257610aa68160108660ff1660028110610a9057fe5b600b0201600501546131bc90919063ffffffff16565b60108560ff1660028110610ab657fe5b600b0201600501819055505b8215610c2f57600060108560ff1660028110610ada57fe5b600b0201600701546064031115610b88576000610b256064610b1f60108860ff1660028110610b0557fe5b600b020160070154606403876131e190919063ffffffff16565b9061321b565b600554909150610b3f906001600160a01b0316338361324d565b8460ff16336001600160a01b03167f51524c2e5edfedf8b01b29719c661e4fbe27e71734e7cd773dabb7cb712fb3b38386604051610b7e929190614bf7565b60405180910390a3505b600060108560ff1660028110610b9a57fe5b600b0201600701541115610c2f576000610bd96064610b1f60108860ff1660028110610bc257fe5b600b020160070154876131e190919063ffffffff16565b9050610be63386836132a3565b8460ff16336001600160a01b03167f4b386667138d87683f75b2e46ad8ac192b053af4c8875da8689415997663a9508386604051610c25929190614bf7565b60405180910390a3505b8115610c4c57600454610c4c906001600160a01b0316338461324d565b505060016000555050565b600281565b610c64613413565b6001600160a01b0316610c75612151565b6001600160a01b031614610c9b5760405162461bcd60e51b81526004016107b6906145cd565b60005b81811015610d5357600060026000858585818110610cb857fe5b9050602002016020810190610ccd919061398c565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610d0157fe5b9050602002016020810190610d16919061398c565b6001600160a01b03167ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a60405160405180910390a2600101610c9e565b505050565b600f546001600160a01b031681565b610d6f613413565b6001600160a01b0316610d80612151565b6001600160a01b031614610da65760405162461bcd60e51b81526004016107b6906145cd565b6001600160a01b038116600081815260026020526040808220805460ff19169055517ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a9190a250565b602c5460ff1681565b600060108260028110610e0757fe5b600b02016003015460ff16610e1e575060006107da565b610e4d60108360028110610e2e57fe5b600b02016004015460108460028110610e4357fe5b600b020154613417565b90506107da565b600754600160a01b900460ff1681565b6001600160a01b031660009081526002602052604090205460ff1690565b610e8a613413565b6001600160a01b0316610e9b612151565b6001600160a01b031614610ec15760405162461bcd60e51b81526004016107b6906145cd565b6004546001600160a01b0383811691161415610eef5760405162461bcd60e51b81526004016107b69061490e565b6005546001600160a01b0383811691161415610f1d5760405162461bcd60e51b81526004016107b690614736565b610f316001600160a01b038316338361324d565b7f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab781298282604051610f62929190613db4565b60405180910390a15050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600080600080600060108860028110610faa57fe5b600b02015460108960028110610fbc57fe5b600b02016001015460108a60028110610fd157fe5b600b02016002015460108b60028110610fe657fe5b600b02016003015460ff1660108c60028110610ffe57fe5b600b02016004015460108d6002811061101357fe5b600b02016005015460108e6002811061102857fe5b600b020160060154959e949d50929b509099509750955060ff9091169350915050565b60085481565b602f5490565b602a6020526000908152604090205481565b600b5481565b606080808367ffffffffffffffff8111801561108a57600080fd5b506040519080825280602002602001820160405280156110b4578160200160208202803683370190505b50905060608467ffffffffffffffff811180156110d057600080fd5b506040519080825280602002602001820160405280156110fa578160200160208202803683370190505b50905060005b600260ff821610156111a3576001600160a01b038816600090815260276020908152604080832060ff8516808552925290912054845190918591811061114257fe5b6020908102919091018101919091526001600160a01b038916600090815260278252604080822060ff808616808552919094529120600101548451921691849190811061118b57fe5b91151560209283029190910190910152600101611100565b5090969095509350505050565b6001600160a01b031660009081526030602052604090205490565b6004546001600160a01b031681565b600260005414156111fd5760405162461bcd60e51b81526004016107b690614a18565b60026000908155818152602e602052604090205460ff1615156001146112355760405162461bcd60e51b81526004016107b690614261565b6000818152602e60205260408120805490916101009091046001600160a01b0316331490611261612151565b6001600160a01b0316336001600160a01b031614905081806112805750805b61129c5760405162461bcd60e51b81526004016107b6906149bb565b6040805160a081018252845460ff808216151583526001600160a01b036101008304166020840152600160a81b909104169181019190915260018401546060820152600284015460808201526000906112f4906134b5565b9050600081116113165760405162461bcd60e51b81526004016107b690614777565b600284015461132590826131bc565b6002850155602f546113379082613610565b602f55835460055461135c916001600160a01b0391821691610100909104168361324d565b83546040516101009091046001600160a01b0316907fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e9061139e908490613eab565b60405180910390a250506001600055505050565b6113ba613413565b6001600160a01b03166113cb612151565b6001600160a01b0316146113f15760405162461bcd60e51b81526004016107b6906145cd565b60085443106114125760405162461bcd60e51b81526004016107b6906147ae565b600260ff8716106114355760405162461bcd60e51b81526004016107b690614389565b60648411156114565760405162461bcd60e51b81526004016107b690614b1f565b600082116114765760405162461bcd60e51b81526004016107b6906146ff565b60018110156114975760405162461bcd60e51b81526004016107b690613ee7565b818111156114b75760405162461bcd60e51b81526004016107b690614215565b8960108760ff16600281106114c857fe5b600b0201600101819055508860108760ff16600281106114e457fe5b600b02015587601060ff8816600281106114fa57fe5b600b0201600201819055508660108760ff166002811061151657fe5b600b020160030160006101000a81548160ff0219169083151502179055508460108760ff166002811061154557fe5b600b020160060160006101000a81548160ff0219169083151502179055508360108760ff166002811061157457fe5b600b0201600701819055508260108760ff166002811061159057fe5b600b0201600801819055508160108760ff16600281106115ac57fe5b600b0201600901819055508060108760ff16600281106115c857fe5b600b0201600a0181905550600080600090505b600260ff8216101561161b5761161160108260ff16600281106115fa57fe5b600b020160010154836131bc90919063ffffffff16565b91506001016115db565b50600d8190556040517fddaf243a142670be60c19ff7116b5d8b124717b29bb4cc03cead42161614105b90611655908d908d908b90614c68565b60405180910390a15050505050505050505050565b611672613413565b6001600160a01b0316611683612151565b6001600160a01b0316146116a95760405162461bcd60e51b81526004016107b6906145cd565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b600d5481565b602f546005546040516370a0823160e01b815260009261178b9290916001600160a01b03909116906370a0823190611735903090600401613d5b565b60206040518083038186803b15801561174d57600080fd5b505afa158015611761573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117859190613b45565b90613610565b905090565b611798613413565b6001600160a01b03166117a9612151565b6001600160a01b0316146117cf5760405162461bcd60e51b81526004016107b6906145cd565b6001600160a01b038116600081815260026020526040808220805460ff19166001179055517fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f9190a250565b611823613413565b6001600160a01b0316611834612151565b6001600160a01b03161461185a5760405162461bcd60e51b81526004016107b6906145cd565b600954431061187b5760405162461bcd60e51b81526004016107b690614430565b600b829055600a839055600c8190556040517f2058a318dbdfd2edd92a32cfa0ee233a30b165b83b421830109cb22ae86f6745906118be90859085908590614c05565b60405180910390a1505050565b600260005414156118ee5760405162461bcd60e51b81526004016107b690614a18565b60026000556118fc33612edb565b156119195760405162461bcd60e51b81526004016107b690614639565b3332146119385760405162461bcd60e51b81526004016107b690613f6f565b60065460405163ea0d5dcd60e01b81526001600160a01b039091169063ea0d5dcd90611968903390600401613d5b565b60206040518083038186803b15801561198057600080fd5b505afa158015611994573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b89190613b11565b6119d45760405162461bcd60e51b81526004016107b690613f2b565b600260ff8216106119f75760405162461bcd60e51b81526004016107b690614567565b600060108260ff1660028110611a0957fe5b600b020160010154118015611a325750600060108260ff1660028110611a2b57fe5b600b020154115b611a4e5760405162461bcd60e51b81526004016107b690614872565b6008544311611a6f5760405162461bcd60e51b81526004016107b690613ff1565b6009544310611a905760405162461bcd60e51b81526004016107b6906144fb565b60008211611ab05760405162461bcd60e51b81526004016107b690614a84565b600d546005546040516370a0823160e01b81526001600160a01b03909116906370a0823190611ae3903090600401613d5b565b60206040518083038186803b158015611afb57600080fd5b505afa158015611b0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b339190613b45565b1015611b515760405162461bcd60e51b81526004016107b690614667565b60108160ff1660028110611b6157fe5b600b02016006015460ff16611db3576007546040516336b5bc3760e21b81526000916001600160a01b03169063dad6f0dc90611ba1903390600401613d5b565b60206040518083038186803b158015611bb957600080fd5b505afa158015611bcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf19190613b45565b336000908152602860205260409020549091508190611c1090856131bc565b1115611c2e5760405162461bcd60e51b81526004016107b690614298565b600454611c46906001600160a01b0316333086613638565b33600090815260276020908152604080832060ff86168452909152902054611c6e90846131bc565b33600090815260276020908152604080832060ff871680855292528220929092559060109060028110611c9d57fe5b600b0201600201541115611cff5760108260ff1660028110611cbb57fe5b600b02016002015433600090815260276020908152604080832060ff871684529091529020541115611cff5760405162461bcd60e51b81526004016107b6906143c0565b611d298360108460ff1660028110611d1357fe5b600b0201600401546131bc90919063ffffffff16565b60108360ff1660028110611d3957fe5b600b02016004015533600090815260286020526040902054611d5b90846131bc565b336000818152602860205260409081902092909255905160ff841691907ff763e680fce25a97ffd55d8b705370c98b47b2285f7b3b2900c43606fd41804590611da5908790613eab565b60405180910390a3506120fa565b600654604051634c3f70ab60e11b81526000918291829182916001600160a01b039091169063987ee15690611dec903390600401613d5b565b60c06040518083038186803b158015611e0457600080fd5b505afa158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c9190613ba9565b9550955095505094505080611e635760405162461bcd60e51b81526004016107b6906148e2565b611e6c8461365f565b80611e7b5750611e7b336107df565b80611e8c5750611e8c338484613678565b611ea85760405162461bcd60e51b81526004016107b6906141c5565b600454611ec0906001600160a01b0316333089613638565b33600090815260276020908152604080832060ff89168452909152902054611ee890876131bc565b33600090815260276020908152604080832060ff8a1680855292528220929092559060109060028110611f1757fe5b600b0201600201541115611f795760108560ff1660028110611f3557fe5b600b02016002015433600090815260276020908152604080832060ff8a1684529091529020541115611f795760405162461bcd60e51b81526004016107b6906143c0565b611f8d8660108760ff1660028110611d1357fe5b60108660ff1660028110611f9d57fe5b600b020160040181905550611fb18461365f565b158015611fc45750611fc2336107df565b155b8015611fdd5750600f546001600160a01b038481169116145b156120b0576000828152602960205260409020546001600160a01b031661202157600082815260296020526040902080546001600160a01b03191633179055612057565b6000828152602960205260409020546001600160a01b031633146120575760405162461bcd60e51b81526004016107b690614306565b336000908152602a602052604090205461208257336000908152602a602052604090208290556120b0565b336000908152602a602052604090205482146120b05760405162461bcd60e51b81526004016107b6906146ad565b8460ff16336001600160a01b03167ff763e680fce25a97ffd55d8b705370c98b47b2285f7b3b2900c43606fd418045886040516120ed9190613eab565b60405180910390a3505050505b50506001600055565b6029602052600090815260409020546001600160a01b031681565b60008282604051602001612133929190613d1d565b60405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031690565b600a5481565b60035481565b612174613413565b6001600160a01b0316612185612151565b6001600160a01b0316146121ab5760405162461bcd60e51b81526004016107b6906145cd565b600354430181106121ce5760405162461bcd60e51b81526004016107b690614b7d565b60085443106121ef5760405162461bcd60e51b81526004016107b6906147ae565b80821061220e5760405162461bcd60e51b81526004016107b69061401d565b81431061222d5760405162461bcd60e51b81526004016107b690614467565b600882905560098190556040517f7cd0ab87d19036f3dfadadb232c78aa4879dda3f0c994a9d637532410ee2ce0690610f629084908490614bf7565b6122716138e6565b506000908152602e6020908152604091829020825160a081018452815460ff8082161515835261010082046001600160a01b031694830194909452600160a81b90049092169282019290925260018201546060820152600290910154608082015290565b6122dd613413565b6001600160a01b03166122ee612151565b6001600160a01b0316146123145760405162461bcd60e51b81526004016107b6906145cd565b600480546040516370a0823160e01b81526001600160a01b03909116916370a082319161234391309101613d5b565b60206040518083038186803b15801561235b57600080fd5b505afa15801561236f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123939190613b45565b8211156123b25760405162461bcd60e51b81526004016107b690614a4f565b6005546040516370a0823160e01b81526001600160a01b03909116906370a08231906123e2903090600401613d5b565b60206040518083038186803b1580156123fa57600080fd5b505afa15801561240e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124329190613b45565b8111156124515760405162461bcd60e51b81526004016107b690614148565b811561246e5760045461246e906001600160a01b0316338461324d565b801561248b5760055461248b906001600160a01b0316338361324d565b7f94ebb62a252249c867ecb758d386f50a95be7e8df9e1c52917c9cf494327dd7d8282604051610f62929190614bf7565b600c5481565b602b5481565b6000600282106124ea5760405162461bcd60e51b81526004016107b690613fa6565b60006124f784600061211e565b90506125016138e6565b506000818152602e6020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b9004909216928201839052600181015460608301526002015460808201529084141561256f575090506107ea565b61257a85600161211e565b925050506107ea565b600e5481565b612591613413565b6001600160a01b03166125a2612151565b6001600160a01b0316146125c85760405162461bcd60e51b81526004016107b6906145cd565b602c5460ff16156125eb5760405162461bcd60e51b81526004016107b690614945565b602c805460ff191660011790556040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a1565b6005546001600160a01b031681565b600754600160a01b900460ff161561265c5760405162461bcd60e51b81526004016107b690614602565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146126a45760405162461bcd60e51b81526004016107b690614111565b60078054600480546001600160a01b03808f166001600160a01b031992831617909255600580548e8416908316179055600680548d841690831617905586821660ff60a01b19909316600160a01b17811692909217909255600889905560098890556003879055600e849055600f80549284169290911691909117905561272a84612d2b565b50505050505050505050565b6000806000806010856002811061274957fe5b600b0201600701546010866002811061275e57fe5b600b0201600801546010876002811061277357fe5b600b0201600901546010886002811061278857fe5b600b0201600a015493509350935093509193509193565b60065460405163ea0d5dcd60e01b81526000916001600160a01b03169063ea0d5dcd906127d0908590600401613d5b565b60206040518083038186803b1580156127e857600080fd5b505afa1580156127fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128209190613b11565b61282c575060006107da565b600654604051634c3f70ab60e11b81526000916001600160a01b03169063987ee1569061285d908690600401613d5b565b60c06040518083038186803b15801561287557600080fd5b505afa158015612889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ad9190613ba9565b50505050915050600e546000141580156128c95750600e548110155b9392505050565b6006546001600160a01b031681565b6060808267ffffffffffffffff811180156128f957600080fd5b5060405190808252806020026020018201604052801561293357816020015b612920613914565b8152602001906001900390816129185790505b50905060005b60ff81168411156129fd57600080600080601089898760ff1681811061295b57fe5b90506020020160208101906129709190613cc8565b60ff166002811061297d57fe5b600b02015411156129bd576129b58989898760ff1681811061299b57fe5b90506020020160208101906129b09190613cc8565b612fed565b919450925090505b604051806060016040528084815260200183815260200182815250858560ff16815181106129e757fe5b6020908102919091010152505050600101612939565b50949350505050565b60065460405163ea0d5dcd60e01b81526000916001600160a01b03169063ea0d5dcd90612a37908590600401613d5b565b60206040518083038186803b158015612a4f57600080fd5b505afa158015612a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a879190613b11565b612a93575060006107da565b600654604051634c3f70ab60e11b815260009182916001600160a01b039091169063987ee15690612ac8908790600401613d5b565b60c06040518083038186803b158015612ae057600080fd5b505afa158015612af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b189190613ba9565b50600f5491965094506001600160a01b0380871691161492505081159050612b7857506000818152602960205260409020546001600160a01b03161580612b7857506000818152602960205260409020546001600160a01b038581169116145b949350505050565b612b88613413565b6001600160a01b0316612b99612151565b6001600160a01b031614612bbf5760405162461bcd60e51b81526004016107b6906145cd565b60005b81811015610d5357600160026000858585818110612bdc57fe5b9050602002016020810190612bf1919061398c565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110612c2557fe5b9050602002016020810190612c3a919061398c565b6001600160a01b03167fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f60405160405180910390a2600101612bc2565b6007546001600160a01b031681565b6000818152602e602052604081205460ff161515600114612cb95760405162461bcd60e51b81526004016107b690614261565b612cc16138e6565b506000828152602e6020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b9004909216928201929092526001820154606082015260029091015460808201526128c9816134b5565b612d33613413565b6001600160a01b0316612d44612151565b6001600160a01b031614612d6a5760405162461bcd60e51b81526004016107b6906145cd565b6001600160a01b038116612d905760405162461bcd60e51b81526004016107b6906140cb565b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b612df46138e6565b6128c9610610848461211e565b6001600160a01b0381166000908152603060205260408120546107ea90839061211e565b6060808267ffffffffffffffff81118015612e3f57600080fd5b50604051908082528060200260200182016040528015612e69578160200160208202803683370190505b50905060005b60ff81168411156129fd57612ea78686868460ff16818110612e8d57fe5b9050602002016020810190612ea29190613cc8565b6136d7565b828260ff1681518110612eb657fe5b6020908102919091010152600101612e6f565b60286020526000908152604090205481565b3b151590565b6001600160a01b03811660009081526026602052604090205460ff16158015612f0c57506000600b54115b15612fea576000805b600260ff82161015612f545733600090815260276020908152604080832060ff85168452909152902054612f4a9083906131bc565b9150600101612f15565b50600c54811115612fe8576001600160a01b0380831660009081526026602052604090819020805460ff19166001179055600654600b54600a549251630dee0bfb60e11b81529190931692631bdc17f692612fb59233929190600401613d6f565b600060405180830381600087803b158015612fcf57600080fd5b505af1158015612fe3573d6000803e3d6000fd5b505050505b505b50565b60008060008060008060108760ff166002811061300657fe5b600b020154601060ff89166002811061301b57fe5b600b020160040154111561314557600061303589896136d7565b905061306a64e8d4a51000610b1f8360108c60ff166002811061305457fe5b600b0201600101546131e190919063ffffffff16565b9350600061309664e8d4a51000610b1f8460108d60ff166002811061308b57fe5b600b020154906131e1565b6001600160a01b038b16600090815260276020908152604080832060ff8e1684529091529020549091506130ca9082613610565b935060108960ff16600281106130dc57fe5b600b02016003015460ff161561313e57600061311960108b60ff166002811061310157fe5b600b02016004015460108c60ff1660028110610e4357fe5b905061312e64e8d4a51000610b1f87846131e1565b935061313a8585613610565b9450505b50506131ae565b5060009050806131ab601060ff89166002811061315e57fe5b600b020154610b1f601060ff8b166002811061317657fe5b600b0201600101546001600160a01b038c16600090815260276020908152604080832060ff8f168452909152902054906131e1565b92505b919450925090509250925092565b6000828201838110156128c95760405162461bcd60e51b81526004016107b69061418e565b6000826131f0575060006107ea565b828202828482816131fd57fe5b04146128c95760405162461bcd60e51b81526004016107b690614526565b600080821161323c5760405162461bcd60e51b81526004016107b690614352565b81838161324557fe5b049392505050565b610d538363a9059cbb60e01b848460405160240161326c929190613db4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613770565b806132ac6116f9565b10156132ca5760405162461bcd60e51b81526004016107b6906147e5565b60006132d584612e01565b6000818152602e602052604090205490915061010090046001600160a01b0316156133125760405162461bcd60e51b81526004016107b6906148a1565b6040805160a08101825260018082526001600160a01b03878116602080850191825260ff898116868801908152606087018a81526000608089018181528b8252602e90955298909820965187549451915160ff1990951690151517610100600160a81b03191661010091909516029390931760ff60a81b1916600160a81b92909316919091029190911783559251908201559051600290910155602f546133b990836131bc565b602f55602d805460018181019092557f4a2cc91ee622da3bc833a54c37ffcb6f3ec23b7793efc5eaf5e71b7b406c5c0601919091556001600160a01b03909316600090815260306020526040902080549093019092555050565b3390565b600080613424848461321b565b90506105dc811061343c57630ee6b2809150506107ea565b6103e8811061345257631dcd65009150506107ea565b6101f4811061346857633b9aca009150506107ea565b60fa811061347d57634a817c809150506107ea565b60648110613492576359682f009150506107ea565b603281106134a757639502f9009150506107ea565b64012a05f2009150506107ea565b6000806134c06137ff565b90506010836040015160ff16600281106134d657fe5b600b020160080154602b54018110156134f35760009150506107da565b6135236010846040015160ff166002811061350a57fe5b600b020160090154602b546131bc90919063ffffffff16565b811015806135335750602c5460ff165b15613553576080830151606084015161354b91613610565b9150506107da565b600061356a602b548361361090919063ffffffff16565b905060006010856040015160ff166002811061358257fe5b600b0201600a0154905060006135a1828461321b90919063ffffffff16565b905060006135af82846131e1565b905060006135e96010896040015160ff16600281106135ca57fe5b600b020160090154610b1f848b606001516131e190919063ffffffff16565b905061360288608001518261361090919063ffffffff16565b96506107da95505050505050565b6000828211156136325760405162461bcd60e51b81526004016107b6906142cf565b50900390565b613659846323b872dd60e01b85858560405160240161326c93929190613d90565b50505050565b6000600e546000141580156107ea575050600e54111590565b600f546000906001600160a01b038481169116148015612b7857506000828152602960205260409020546001600160a01b03161580612b7857506000828152602960205260409020546001600160a01b03858116911614949350505050565b60008060108360ff16600281106136ea57fe5b600b020160040154111561376857613761613728620f424060108560ff166002811061371257fe5b600b0201600401546131e190919063ffffffff16565b6001600160a01b038516600090815260276020908152604080832060ff88168452909152902054610b1f90670de0b6b3a76400006131e1565b90506107ea565b5060006107ea565b60606137c5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138039092919063ffffffff16565b805190915015610d5357808060200190518101906137e39190613b11565b610d535760405162461bcd60e51b81526004016107b690614971565b4290565b6060612b7884846000858561381785612edb565b6138335760405162461bcd60e51b81526004016107b69061483b565b60006060866001600160a01b031685876040516138509190613d3f565b60006040518083038185875af1925050503d806000811461388d576040519150601f19603f3d011682016040523d82523d6000602084013e613892565b606091505b50915091506138a28282866138ad565b979650505050505050565b606083156138bc5750816128c9565b8251156138cc5782518084602001fd5b8160405162461bcd60e51b81526004016107b69190613eb4565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180606001604052806003906020820280368337509192915050565b60008083601f840112613943578182fd5b50813567ffffffffffffffff81111561395a578182fd5b602083019150836020808302850101111561397457600080fd5b9250929050565b803560ff811681146107ea57600080fd5b60006020828403121561399d578081fd5b81356128c981614cbb565b6000806000806000806000806000806101408b8d0312156139c7578586fd5b8a356139d281614cbb565b995060208b01356139e281614cbb565b985060408b01356139f281614cbb565b975060608b0135965060808b0135955060a08b0135945060c08b0135613a1781614cbb565b935060e08b0135613a2781614cbb565b92506101008b013591506101208b0135613a4081614cbb565b809150509295989b9194979a5092959850565b600080600060408486031215613a67578283fd5b8335613a7281614cbb565b9250602084013567ffffffffffffffff811115613a8d578283fd5b613a9986828701613932565b9497909650939450505050565b60008060408385031215613ab8578182fd5b8235613ac381614cbb565b946020939093013593505050565b60008060208385031215613ae3578182fd5b823567ffffffffffffffff811115613af9578283fd5b613b0585828601613932565b90969095509350505050565b600060208284031215613b22578081fd5b81516128c981614cd0565b600060208284031215613b3e578081fd5b5035919050565b600060208284031215613b56578081fd5b5051919050565b60008060408385031215613b6f578182fd5b50508035926020909101359150565b600080600060608486031215613b92578283fd5b505081359360208301359350604090920135919050565b60008060008060008060c08789031215613bc1578182fd5b8651955060208701519450604087015193506060870151613be181614cbb565b608088015160a08901519194509250613bf981614cd0565b809150509295509295509295565b6000806000806000806000806000806101408b8d031215613c26578384fd5b8a35995060208b0135985060408b0135975060608b0135613c4681614cd0565b9650613c558c60808d0161397b565b955060a08b0135613c6581614cd0565b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b60008060408385031215613ca6578182fd5b82359150602083013560ff81168114613cbd578182fd5b809150509250929050565b600060208284031215613cd9578081fd5b6128c9838361397b565b6000815180845260208085019450808401835b83811015613d1257815187529582019590820190600101613cf6565b509495945050505050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60008251613d51818460208701614c8f565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015613e2957835183875b6003811015613e1357825182529187019190870190600101613df6565b5050509284019260609290920191600101613de9565b50909695505050505050565b6000602082526128c96020830184613ce3565b600060408252613e5b6040830185613ce3565b828103602084810191909152845180835285820192820190845b81811015613e93578451151583529383019391830191600101613e75565b5090979650505050505050565b901515815260200190565b90815260200190565b6000602082528251806020840152613ed3816040850160208701614c8f565b601f01601f19169190910160400192915050565b60208082526024908201527f736c696365506572696f645365636f6e6473206d7573742062652065786365656040820152636473203160e01b606082015260800190565b60208082526024908201527f4465706f7369743a204d757374206861766520616e206163746976652070726f60408201526366696c6560e01b606082015260800190565b6020808252601a908201527f70726f787920636f6e7472616374206e6f7420616c6c6f776564000000000000604082015260600190565b6020808252602b908201527f436f6d7075746556657374696e675363686564756c6549643a204e6f6e20766160408201526a1b1a59081c1bdbdb081a5960aa1b606082015260800190565b6020808252601290820152714465706f7369743a20546f6f206561726c7960701b604082015260600190565b6020808252603a908201527f4f7065726174696f6e733a204e6577207374617274426c6f636b206d7573742060408201527f6265206c6f776572207468616e206e657720656e64426c6f636b000000000000606082015260800190565b60208082526031908201527f486172766573743a204e465420726571756972656d656e7473206d757374206260408201527019481b595d08199bdc881a185c9d995cdd607a1b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526017908201527f4f7065726174696f6e733a204e6f7420666163746f7279000000000000000000604082015260600190565b60208082526026908201527f4f7065726174696f6e733a204e6f7420656e6f756768206f66666572696e6720604082015265746f6b656e7360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526030908201527f4465706f7369743a204e6f74206d65657420616e79206f6e65206f662072657160408201526f756972656420636f6e646974696f6e7360801b606082015260800190565b6020808252602c908201527f736c696365506572696f645365636f6e6473206d75737420626520696e74657260408201526b34b7b910323ab930ba34b7b760a11b606082015260800190565b6020808252601d908201527f76657374696e67207363686564756c65206973206e6f74206578697374000000604082015260600190565b6020808252601a908201527f4e6f7420656e6f7567682049464f20637265646974206c656674000000000000604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252602c908201527f4465706f7369743a204e4654207573656420627920616e6f746865722061646460408201526b7265737320616c726561647960a01b606082015260800190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b6020808252601f908201527f4f7065726174696f6e733a20506f6f6c20646f6573206e6f7420657869737400604082015260600190565b60208082526024908201527f4465706f7369743a204e657720616d6f756e742061626f76652075736572206c6040820152631a5b5a5d60e21b606082015260800190565b602080825260129082015271486172766573743a20546f6f206561726c7960701b604082015260600190565b60208082526019908201527f4f7065726174696f6e733a2049464f2068617320656e64656400000000000000604082015260600190565b6020808252603c908201527f4f7065726174696f6e733a204e6577207374617274426c6f636b206d7573742060408201527f626520686967686572207468616e2063757272656e7420626c6f636b00000000606082015260800190565b6020808252601c908201527f486172766573743a20446964206e6f7420706172746963697061746500000000604082015260600190565b6020808252601190820152704465706f7369743a20546f6f206c61746560781b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252601a908201527f4465706f7369743a204e6f6e2076616c696420706f6f6c206964000000000000604082015260600190565b602080825260159082015274486172766573743a20416c726561647920646f6e6560581b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f4f7065726174696f6e733a20416c726561647920696e697469616c697a656400604082015260600190565b60208082526014908201527318dbdb9d1c9858dd081b9bdd08185b1b1bddd95960621b604082015260600190565b60208082526026908201527f4465706f7369743a20546f6b656e73206e6f74206465706f73697465642070726040820152656f7065726c7960d01b606082015260800190565b60208082526032908201527f4465706f7369743a204e465420746f6b656e4964206973206e6f7420746865206040820152711cd85b5948185cc81c9959da5cdd195c995960721b606082015260800190565b60208082526017908201527f6475726174696f6e206d75737420657863656564732030000000000000000000604082015260600190565b60208082526021908201527f5265636f7665723a2043616e6e6f74206265206f66666572696e6720746f6b656040820152603760f91b606082015260800190565b6020808252601b908201527f6e6f2076657374656420746f6b656e7320746f2072656c656173650000000000604082015260600190565b6020808252601b908201527f4f7065726174696f6e733a2049464f2068617320737461727465640000000000604082015260600190565b60208082526036908201527f63616e206e6f74206372656174652076657374696e67207363686564756c6520604082015275776974682073756666696369656e7420746f6b656e7360501b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526015908201527411195c1bdcda5d0e88141bdbdb081b9bdd081cd95d605a1b604082015260600190565b60208082526021908201527f76657374696e675363686564756c654964206973206265656e206372656174656040820152601960fa1b606082015260800190565b60208082526012908201527170726f66696c65206e6f742061637469766560701b604082015260600190565b6020808252601b908201527f5265636f7665723a2043616e6e6f74206265204c5020746f6b656e0000000000604082015260600190565b6020808252601290820152711d995cdd1a5b99c81a5cc81c995d9bdad95960721b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526038908201527f6f6e6c79207468652062656e656669636961727920616e64206f776e6572206360408201527f616e2072656c656173652076657374656420746f6b656e730000000000000000606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252818101527f4f7065726174696f6e733a204e6f7420656e6f756768204c5020746f6b656e73604082015260600190565b6020808252601b908201527f4465706f7369743a20416d6f756e74206d757374206265203e20300000000000604082015260600190565b602080825260139082015272696e646578206f7574206f6620626f756e647360681b604082015260600190565b6020808252601a908201527f486172766573743a204e6f6e2076616c696420706f6f6c206964000000000000604082015260600190565b602080825260409082018190527f4f7065726174696f6e733a2076657374696e672070657263656e746167652073908201527f686f756c642065786365656473203020616e6420696e746572696f7220313030606082015260800190565b6020808252601c908201527f4f7065726174696f6e733a20456e64426c6f636b20746f6f2066617200000000604082015260600190565b8151151581526020808301516001600160a01b03169082015260408083015160ff1690820152606080830151908201526080918201519181019190915260a00190565b918252602082015260400190565b9283526020830191909152604082015260600190565b968752602087019590955260408601939093529015156060850152608084015260a0830152151560c082015260e00190565b93845260208401929092526040830152606082015260800190565b928352602083019190915260ff16604082015260600190565b60ff91909116815260200190565b60005b83811015614caa578181015183820152602001614c92565b838111156136595750506000910152565b6001600160a01b0381168114612fea57600080fd5b8015158114612fea57600080fdfea264697066735822122092a44c1be6bcd5d349660ba497c49605da3aec5709765330e8f5beb10a3ac19364736f6c634300060c0033