94 txs
104 calls
constructor
constructor(address _usdt, address _usdc)
functions
adminBalance
viewfunction adminBalance() view returns (uint256)
adminBalanceUSDC
viewfunction adminBalanceUSDC() view returns (uint256)
adminBalanceUSDT
viewfunction adminBalanceUSDT() view returns (uint256)
ENTERPRISE_JOIN_FEE
viewfunction ENTERPRISE_JOIN_FEE() view returns (uint256)
ENTERPRISE_TAX
viewfunction ENTERPRISE_TAX() view returns (uint256)
enterprise_tierRewards
viewfunction enterprise_tierRewards(uint256) view returns (uint256)
getAdminBalances
viewfunction getAdminBalances() view returns (uint256, uint256, uint256)
getCascadeAddressesByRefCode
viewfunction getCascadeAddressesByRefCode(uint256 refCode) view returns (address[10])
getRefByAddr
viewfunction getRefByAddr(address _addr) view returns (uint256)
getReferrer
viewfunction getReferrer(uint256 _code) view returns (address)
getRewardQueue
viewfunction getRewardQueue() view returns (address[])
getUser
viewfunction getUser(address userAddr) view returns (tuple)
gracePeriod
viewfunction gracePeriod() view returns (uint8)
JOIN_FEE
viewfunction JOIN_FEE() view returns (uint256)
owner
viewfunction owner() view returns (address)
refByAddr
viewfunction refByAddr(address) view returns (uint256)
referrers
viewfunction referrers(uint256) view returns (address)
rewardQueue
viewfunction rewardQueue(uint256) view returns (address)
TAX
viewfunction TAX() view returns (uint256)
tierRewards
viewfunction tierRewards(uint256) view returns (uint256)
tierSizes
viewfunction tierSizes(uint256) view returns (uint256)
totalRevenue
viewfunction totalRevenue() view returns (uint256)
totalRewards
viewfunction totalRewards() view returns (uint256)
TRANSFER_FEE
viewfunction TRANSFER_FEE() view returns (uint256)
usdc
viewfunction usdc() view returns (address)
usdt
viewfunction usdt() view returns (address)
users
viewfunction users(address) view returns (uint256 balance, uint256 balanceUSDT, uint256 balanceUSDC, uint256 nextDeadline, uint256 bonusDeadline, uint256 runningCount, uint256 inviteCount, uint256 refCode, uint256 collectiveCode, address walletAddress, bool enterprise)
admin_WithdrawFees_Fiat
nonpayablefunction admin_WithdrawFees_Fiat(uint256 amount, uint8 fiatToWithdraw)
admin_WithdrawFees_Mosca
nonpayablefunction admin_WithdrawFees_Mosca(uint256 amount, uint8 fiatToWithdraw)
buy
nonpayablefunction buy(uint256 amount, bool buyFiat, uint8 fiat)
compress
nonpayablefunction compress()
compressSection
nonpayablefunction compressSection(uint256 start, uint256 end)
exitProgram
nonpayablefunction exitProgram()
generateRefCode
nonpayablefunction generateRefCode(address _addr)
join
nonpayablefunction join(uint256 amount, uint256 _refCode, uint8 fiat, bool enterpriseJoin)
setUSDCAddress
nonpayablefunction setUSDCAddress(address _newAddr)
setUSDTAddress
nonpayablefunction setUSDTAddress(address _newAddr)
swap
nonpayablefunction swap(uint8 tokentoSwap, uint8 tokentoReceive, uint256 amount)
transfer
nonpayablefunction transfer(address to, uint256 amount, uint256 fiat)
transferOwnership
nonpayablefunction transferOwnership(address _newAddr)
withdrawFiat
nonpayablefunction withdrawFiat(uint256 amount, bool isFiat, uint8 fiatToWithdraw)
events
AdminWithdrawFees
event AdminWithdrawFees(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
BoughtMosca
event BoughtMosca(address indexed user, uint256 timestamp, uint256 amount)
BoughtUSDC
event BoughtUSDC(address indexed user, uint256 timestamp, uint256 amount)
BoughtUSDT
event BoughtUSDT(address indexed user, uint256 timestamp, uint256 amount)
Compressed
event Compressed(address indexed user, uint256 time)
Downgrade
event Downgrade(address indexed user, uint256 timestamp)
ExitProgram
event ExitProgram(address indexed user, uint256 timeExited)
Joined
event Joined(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
RewardEarned
event RewardEarned(address indexed user, uint256 timestamp, uint256 amount)
SubscriptionPaid
event SubscriptionPaid(address indexed user, uint256 timestamp, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 timestamp, uint256 amount)
TransferFeeEarned
event TransferFeeEarned(address indexed user, uint256 timestamp, uint256 amount)
TransferUSDC
event TransferUSDC(address indexed from, address indexed to, uint256 timestamp, uint256 amount)
TransferUSDT
event TransferUSDT(address indexed from, address indexed to, uint256 timestamp, uint256 amount)
WithdrawAll
event WithdrawAll(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
WithdrawFiat
event WithdrawFiat(address indexed user, uint256 timestamp, uint256 amount, uint8 payType)
errors
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x68018493fba64ef0000060085568055de6a779bbac00006009556729a2241af62c0000600a908155677ce66c50e2840000600b556032600c55600d805460ff1916601c1790556101c060405260fa6080908152607d60a081905260c081905260e081905261010081905261012052603f6101408190526101608190526101805260bb6101a052620000949160139190620001d4565b5060408051610140810182526102ee815261017760208201819052918101829052606081018290526080810182905260a081019190915260bd60c0820181905260e08201819052610100820152610231610120820152620000fa90601490600a62000227565b5060408051610140810182526003815260096020820152601b918101919091526051606082015260f360808201526102d960a082015261088b60c08201526119a160e0820152614ce361010082015261e6a96101208201526200016290601590600a62000227565b503480156200016f575f80fd5b5060405162004b8e38038062004b8e83398101604081905262000192916200029b565b60015f819055600380546001600160a01b0319908116331790915581546001600160a01b039485169082161790915560028054929093169116179055620002d1565b828054828255905f5260205f2090810192821562000215579160200282015b8281111562000215578251829060ff16905591602001919060010190620001f3565b506200022392915062000269565b5090565b828054828255905f5260205f2090810192821562000215579160200282015b8281111562000215578251829061ffff1690559160200191906001019062000246565b5b8082111562000223575f81556001016200026a565b80516001600160a01b038116811462000296575f80fd5b919050565b5f8060408385031215620002ad575f80fd5b620002b8836200027f565b9150620002c8602084016200027f565b90509250929050565b6148af80620002df5f395ff3fe608060405234801561000f575f80fd5b506004361061024a575f3560e01c80636f77926b11610140578063c0b226dc116100bf578063e0324a9d11610084578063e0324a9d146105c5578063e2b93a56146105ed578063e68c7c401461060d578063ea159a8714610620578063f2fde38b14610628578063f30e69f91461063b575f80fd5b8063c0b226dc14610584578063c4c036be1461058d578063cae7d9b014610596578063cff461e61461059f578063d9b6f615146105b2575f80fd5b8063a06db7dc11610105578063a06db7dc14610470578063a87430ba1461048f578063a8c39b8b14610560578063aaf5bfc314610568578063bf2d9e0b1461057b575f80fd5b80636f77926b1461040c5780637e9824ed1461042c5780638da5cb5b1461044b5780639858befb1461045e5780639db6bbd214610467575f80fd5b806330521bde116101cc578063556c448d11610191578063556c448d146103b557806355eba868146103c85780635e6c3e8f146103db5780635fb3b5a3146103f057806368f58b0314610403575f80fd5b806330521bde1461036057806336265192146103735780633e413bee1461037c5780634a88500f1461038f5780634e977f7e146103a2575f80fd5b80631ab62b68116102125780631ab62b681461030b5780631b8623ee1461031e5780632cb37a64146103315780632da0cd001461033a5780632f48ab7d1461034d575f80fd5b806301c7224f1461024e578063095bcdb6146102935780630e15561a146102a857806318c6203a146102bf57806318f52ce2146102e7575b5f80fd5b61027661025c36600461428d565b60056020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6102a66102a13660046142bf565b61064e565b005b6102b1600f5481565b60405190815260200161028a565b6102766102cd36600461428d565b5f908152600560205260409020546001600160a01b031690565b6010546012546011546040805193845260208401929092529082015260600161028a565b6102a66103193660046142ff565b610966565b6102a661032c366004614338565b610bce565b6102b160095481565b6102a6610348366004614358565b611083565b600154610276906001600160a01b031681565b6102b161036e36600461428d565b61108f565b6102b1600c5481565b600254610276906001600160a01b031681565b61027661039d36600461428d565b6110ae565b6102a66103b0366004614385565b6110d6565b6102b16103c336600461428d565b6113df565b6102a66103d6366004614358565b6113ee565b6103e361143a565b60405161028a91906143c0565b6102a66103fe36600461440c565b61149a565b6102b1600a5481565b61041f61041a366004614358565b612386565b60405161028a9190614451565b6102b161043a366004614358565b60066020525f908152604090205481565b600354610276906001600160a01b031681565b6102b160105481565b6102b160115481565b600d5461047d9060ff1681565b60405160ff909116815260200161028a565b61050261049d366004614358565b600460208190525f9182526040909120805460018201546002830154600384015494840154600585015460068601546007870154600888015460099098015496989597949693949293919290916001600160a01b03811690600160a01b900460ff168b565b604080519b8c5260208c019a909a52988a01979097526060890195909552608088019390935260a087019190915260c086015260e08501526101008401526001600160a01b031661012083015215156101408201526101600161028a565b6102a6612486565b6102a6610576366004614358565b6126a3565b6102b1600e5481565b6102b160085481565b6102b1600b5481565b6102b160125481565b6102b16105ad36600461428d565b6126ef565b6102a66105c0366004614385565b6126fe565b6102b16105d3366004614358565b6001600160a01b03165f9081526006602052604090205490565b6106006105fb36600461428d565b612996565b60405161028a91906144e3565b6102a661061b36600461451d565b612ae0565b6102a6612dc7565b6102a6610636366004614358565b613228565b6102a661064936600461451d565b613274565b610656613525565b336106b35760405162461bcd60e51b815260206004820152602260248201527f66726f6d20616464726573732063616e6e6f74206265206e6f6e6578697374656044820152611b9d60f21b60648201526084015b60405180910390fd5b335f908152600460205260409020548211156106e15760405162461bcd60e51b81526004016106aa90614547565b806001036107ce57335f9081526004602052604090206001015482111561071a5760405162461bcd60e51b81526004016106aa90614547565b5f6107273384600161354d565b335f9081526004602052604081206001018054929350859290919061074d908490614589565b90915550506001600160a01b0384165f908152600460205260408120600101805483929061077c90849061459c565b909155505060408051428152602081018590526001600160a01b0386169133917f168a16f5dce968b332fcb6498cad607139e34f092258dc1186982ff36b463dd591015b60405180910390a350610958565b806002036108b157335f908152600460205260409020600201548211156108075760405162461bcd60e51b81526004016106aa90614547565b5f6108143384600261354d565b335f9081526004602052604081206002018054929350859290919061083a908490614589565b90915550506001600160a01b0384165f908152600460205260408120600201805483929061086990849061459c565b909155505060408051428152602081018590526001600160a01b0386169133917fc04eed2aea39b0b0108dcc795f4fbd4da6495e89d620c185ed892d4ffea5b7a191016107c0565b5f6108bc3384613998565b335f908152600460205260408120805492935085929091906108df908490614589565b90915550506001600160a01b0384165f908152600460205260408120805483929061090b90849061459c565b909155505060408051428152602081018590526001600160a01b0386169133917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44910160405180910390a3505b61096160015f55565b505050565b61096e613525565b335f90815260046020526040902060ff8416600103610a565780548211156109d85760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74206d6f7363612062616c616e636500000000000060448201526064016106aa565b8260ff16600203610a1a5781815f015f8282546109f59190614589565b9250508190555081816001015f828254610a0f919061459c565b90915550610bc49050565b8260ff16600303610a515781815f015f828254610a379190614589565b9250508190555081816002015f828254610a0f919061459c565b610bc4565b8360ff16600203610b09578060010154821115610ab55760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420757364742062616c616e63650000000000000060448201526064016106aa565b8260ff16600103610aeb5781816001015f828254610ad39190614589565b90915550508054829082905f90610a0f90849061459c565b8260ff16600303610a515781816001015f828254610a379190614589565b8360ff16600303610bc4578060020154821115610b685760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420757364632062616c616e63650000000000000060448201526064016106aa565b8260ff16600103610b865781816002015f828254610ad39190614589565b8260ff16600203610bc45781816002015f828254610ba49190614589565b9250508190555081816001015f828254610bbe919061459c565b90915550505b5061096160015f55565b6003546001600160a01b03163314610bf85760405162461bcd60e51b81526004016106aa906145af565b805b82811115610961575f6007610c10600184614589565b81548110610c2057610c206145d6565b5f9182526020808320909101546001600160a01b031680835260049091526040909120600381015491925090421061106e576009810154600160a01b900460ff1615610da757600954815410610cfe57600954815f015f828254610c849190614589565b9091555050600b54601080545f90610c9d90849061459c565b90915550610cb09050426224ea0061459c565b6003820155610cbe82613c75565b816001600160a01b03165f8051602061485a83398151915242600954604051610cf1929190918252602082015260400190565b60405180910390a2610e74565b805415610da2578054601080545f90610d1890849061459c565b90915550505f8082556040516001600160a01b038416915f8051602061485a83398151915291610d5091428252602082015260400190565b60405180910390a260098101805460ff60a01b191690556040514281526001600160a01b038316907f090819602cf2da55e9f11111764605bb80774f3a0c9f409e0f87a699eee4546c90602001610cf1565b610e74565b600854815410610e1957600854815f015f828254610dc59190614589565b90915550610dd89050426224ea0061459c565b6003820155610de682613c75565b816001600160a01b03165f8051602061485a83398151915242600854604051610cf1929190918252602082015260400190565b805415610e74578054601080545f90610e3390849061459c565b90915550505f8082556040516001600160a01b038416915f8051602061485a83398151915291610e6b91428252602082015260400190565b60405180910390a25b600d54610e879060ff16620151806145ea565b62ffffff168160030154610e9b919061459c565b42111561106e576001600160a01b0382165f90815260066020526040902054158015610ee3575060078101545f908152600560205260409020546001600160a01b031661dead145b15610eef575050611071565b60088101545f908152600560205260409020546001600160a01b03168015610f3d576001600160a01b0381165f908152600460205260408120600601805491610f3783614609565b91905055505b6001600160a01b0383165f9081526006602090815260408083208390556007808601548452600590925290912080546001600160a01b03191661dead1790558054610f8a90600190614589565b81548110610f9a57610f9a6145d6565b5f918252602090912001546001600160a01b03166007610fbb600187614589565b81548110610fcb57610fcb6145d6565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060078054806110075761100761461e565b5f8281526020902081015f1990810180546001600160a01b03191690550190556040516001600160a01b038416907f8cfcec236ba3cb5fc7341fa4da9b9d30e49e8d4fbd10099b972b8f94d37e6d21906110649042815260200190565b60405180910390a2505b50505b8061107b81614609565b915050610bfa565b61108c81613f1d565b50565b6015818154811061109e575f80fd5b5f91825260209091200154905081565b600781815481106110bd575f80fd5b5f918252602090912001546001600160a01b0316905081565b6110de613525565b335f90815260066020526040812054900361114c5760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420627579206265666f72652061637469766174696e67206369746044820152670697a656e736869760c41b60648201526084016106aa565b335f908152600460205260408120906103f761116a866103e8614632565b611174919061465d565b905084600e5f828254611187919061459c565b909155508490506111ea5780825f015f8282546111a4919061459c565b9091555050604080514281526020810183905233917f3524f993626a56195f287cdcd2bf4625d9fab4edc069643c96377a280da999b791015b60405180910390a2611299565b8260ff166001036112455780826001015f828254611208919061459c565b9091555050604080514281526020810183905233917fb38081640186ed4d7bc108bf3b72f876a343639051ec916d52a3072285d4c40091016111dd565b80826002015f828254611258919061459c565b9091555050604080514281526020810183905233917f884c5bcf448a874f8c5e054e7e0ca1e4b9194c99f21f242bb59c04e62652e694910160405180910390a25b8260ff16600103611339576001546040516323b872dd60e01b81526001600160a01b03909116906323b872dd906112d890339030908a90600401614670565b6020604051808303815f875af11580156112f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113189190614694565b6113345760405162461bcd60e51b81526004016106aa906146af565b6113c9565b6002546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061136d90339030908a90600401614670565b6020604051808303815f875af1158015611389573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ad9190614694565b6113c95760405162461bcd60e51b81526004016106aa906146af565b6113d33386613998565b50505061096160015f55565b6013818154811061109e575f80fd5b6003546001600160a01b031633146114185760405162461bcd60e51b81526004016106aa906145af565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6060600780548060200260200160405190810160405280929190818152602001828054801561149057602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311611472575b5050505050905090565b6114a2613525565b335f90815260046020526040812080549091906806e27aa3200a9c0000106114ca575f6114e0565b81546114e0906806e27aa3200a9c000090614589565b90505f806103f76114f1848a61459c565b6114fd906103e8614632565b611507919061465d565b90508415611bef57335f90815260066020526040812054900361180957600854611532906003614632565b600954611540906003614632565b61154a919061459c565b8810156115ad5760405162461bcd60e51b815260206004820152602b60248201527f496e73756666696369656e7420616d6f756e742073656e7420746f206a6f696e60448201526a20656e746572707269736560a81b60648201526084016106aa565b8560ff1660010361173357600154600b546001600160a01b03909116906323b872dd90339030906115df906003614632565b6115e9908d614589565b6040518463ffffffff1660e01b815260040161160793929190614670565b6020604051808303815f875af1158015611623573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116479190614694565b6116635760405162461bcd60e51b81526004016106aa906146af565b60015460038054600b546001600160a01b03938416936323b872dd9333939091169161168e91614632565b6040518463ffffffff1660e01b81526004016116ac93929190614670565b6020604051808303815f875af11580156116c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ec9190614694565b61172e5760405162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c881d185e0819985a5b1959606a1b60448201526064016106aa565b611bd5565b600254600b546001600160a01b03909116906323b872dd903390309061175a906003614632565b611764908d614589565b6040518463ffffffff1660e01b815260040161178293929190614670565b6020604051808303815f875af115801561179e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c29190614694565b6117de5760405162461bcd60e51b81526004016106aa906146af565b60025460038054600b546001600160a01b03938416936323b872dd9333939091169161168e91614632565b600954611817906003614632565b611821848a61459c565b10156118845760405162461bcd60e51b815260206004820152602c60248201527f496e73756666696369656e7420616d6f756e7420746f2075706772616465207460448201526b6f20656e746572707269736560a01b60648201526084016106aa565b600b54611892906003614632565b8310156119dd5782600b5460036118a99190614632565b6118b39190614589565b915082600b5460036118c59190614632565b6118cf9190614589565b60105f8282546118df919061459c565b90915550508354839085905f906118f7908490614589565b909155505f93505060ff86166001036119a4576001546003546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611943923392909116908790600401614670565b6020604051808303815f875af115801561195f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119839190614694565b61199f5760405162461bcd60e51b81526004016106aa906146af565b611a96565b6002546003546040516323b872dd60e01b81526001600160a01b03928316926323b872dd92611943923392909116908790600401614670565b600b546119eb906003614632565b60105f8282546119fb919061459c565b9091555050600b54611a0e906003614632565b611a189084614589565b9250600b546003611a299190614632565b845f015f828254611a3a9190614589565b9091555050600954611a4d906003614632565b831115611a7e57600954611a62906003614632565b845f015f828254611a739190614589565b90915550611a969050565b82845f015f828254611a909190614589565b90915550505b8715611bd5578560ff16600103611b3e576001546001600160a01b03166323b872dd3330611ac4868d614589565b6040518463ffffffff1660e01b8152600401611ae293929190614670565b6020604051808303815f875af1158015611afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b229190614694565b61172e5760405162461bcd60e51b81526004016106aa906146af565b6002546001600160a01b03166323b872dd3330611b5b868d614589565b6040518463ffffffff1660e01b8152600401611b7993929190614670565b6020604051808303815f875af1158015611b95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb99190614694565b611bd55760405162461bcd60e51b81526004016106aa906146af565b60098401805460ff60a01b1916600160a01b179055611ef1565b600854881015611c415760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e7420616d6f756e742073656e74000000000000000060448201526064016106aa565b8560ff16600103611da157600154600a546001600160a01b03909116906323b872dd9033903090611c73906003614632565b611c7d908d614589565b6040518463ffffffff1660e01b8152600401611c9b93929190614670565b6020604051808303815f875af1158015611cb7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cdb9190614694565b611cf75760405162461bcd60e51b81526004016106aa906146af565b60015460038054600a546001600160a01b03938416936323b872dd93339390911691611d2291614632565b6040518463ffffffff1660e01b8152600401611d4093929190614670565b6020604051808303815f875af1158015611d5c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d809190614694565b611d9c5760405162461bcd60e51b81526004016106aa906146af565b611ef1565b600254600a546001600160a01b03909116906323b872dd9033903090611dc8906003614632565b611dd2908d614589565b6040518463ffffffff1660e01b8152600401611df093929190614670565b6020604051808303815f875af1158015611e0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e309190614694565b611e4c5760405162461bcd60e51b81526004016106aa906146af565b60025460038054600a546001600160a01b03938416936323b872dd93339390911691611e7791614632565b6040518463ffffffff1660e01b8152600401611e9593929190614670565b6020604051808303815f875af1158015611eb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ed59190614694565b611ef15760405162461bcd60e51b81526004016106aa906146af565b611efe426224ea0061459c565b6003850155611f104262093a8061459c565b60048501556009840180546001600160a01b03191633179055600e80548991905f90611f3d90849061459c565b90915550859050611f5a57600854611f559082614589565b611f67565b600954611f679082614589565b845f015f828254611f78919061459c565b90915550505f878152600560205260409020546001600160a01b0316156122bd5760088401879055848015611fdf575060088401545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b611ff1576756bc75e2d6310000611ffc565b680138400eca364a00005b60088501545f908152600560209081526040808320546001600160a01b0316835260049091528120805468ffffffffffffffffff939093169290919061204390849061459c565b909155505060088401545f908152600560209081526040808320546001600160a01b031683526004909152812060060180549161207f836146d8565b909155505060088401545f908152600560205260409020546001600160a01b03165f8051602061481a833981519152428780156120ee575060088701545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b612100576756bc75e2d631000061210b565b680138400eca364a00005b6040805192835268ffffffffffffffffff90911660208301520160405180910390a260088401545f908152600560209081526040808320546001600160a01b031683526004909152902060060154612165906003906146f0565b5f036122bd578480156121aa575060088401545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b6121bc576756bc75e2d63100006121c7565b680138400eca364a00005b60088501545f908152600560209081526040808320546001600160a01b0316835260049091528120805468ffffffffffffffffff939093169290919061220e90849061459c565b909155505060088401545f908152600560205260409020546001600160a01b03165f8051602061481a8339815191524287801561227d575060088701545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b61228f576756bc75e2d631000061229a565b680138400eca364a00005b6040805192835268ffffffffffffffffff90911660208301520160405180910390a25b60078054600181019091557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b031916339081179091555f90815260066020526040812054900361231a5761231a33611083565b60408051428152602081018a905260ff881681830152905133917f1c953af84c45fe5100cb56c268757a578196f421e304b18b669f6aeddc201314919081900360600190a261236833613c75565b6123723389613998565b505050505061238060015f55565b50505050565b6123e36040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581525090565b506001600160a01b039081165f908152600460208181526040928390208351610160810185528154815260018201549281019290925260028101549382019390935260038301546060820152908201546080820152600582015460a0820152600682015460c0820152600782015460e08201526008820154610100820152600990910154918216610120820152600160a01b90910460ff16151561014082015290565b61248e613525565b335f908152600460209081526040808320600881015484526005909252909120546001600160a01b031680158015906124e057506001600160a01b0381165f9081526004602052604090206006015415155b15612511576001600160a01b0381165f90815260046020526040812060060180549161250b83614609565b91905055505b5f5b600754811015612695575f60078281548110612531576125316145d6565b5f918252602090912001546001600160a01b03169050338103612644576001600160a01b0381165f90815260066020908152604080832083905560078088015484526005909252822080546001600160a01b03191661dead17905590855560098501805460ff60a01b1916905580546125ac90600190614589565b815481106125bc576125bc6145d6565b5f91825260209091200154600780546001600160a01b0390921691849081106125e7576125e76145d6565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060078054806126235761262361461e565b5f8281526020902081015f1990810180546001600160a01b03191690550190555b61264d33613f73565b60405142815233907f7c64ba85823e472f94a20df4d8cf48a802ed249f146d621653f56e3202c736a19060200160405180910390a2508061268d816146d8565b915050612513565b5050506126a160015f55565b565b6003546001600160a01b031633146126cd5760405162461bcd60e51b81526004016106aa906145af565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6014818154811061109e575f80fd5b612706613525565b335f9081526004602052604081206009810154909190600160a01b900460ff166127395768018493fba64ef00000612744565b6806e27aa3200a9c00005b68ffffffffffffffffff1690505f806103f7612762886103e8614632565b61276c919061465d565b90508561277c578354915061279a565b8460ff16600114612791578360020154612797565b83600101545b91505b6127a48383614589565b8711156127c35760405162461bcd60e51b81526004016106aa90614547565b856127e55786845f015f8282546127da9190614589565b9091555061282a9050565b8460ff1660011461280e5786846002015f8282546128039190614589565b925050819055612828565b86846001015f8282546128219190614589565b9250508190555b505b8460ff166001146128ac5760025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015612883573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128a79190614694565b61291e565b60015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303815f875af11580156128fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061291e9190614694565b50856129345761292e3388613998565b50612944565b61294233888760ff1661354d565b505b604080514281526020810189905260ff871681830152905133917faa669d099375b570029afbc4c1d31ab71b7ac682f1196c1f70ba9d62f03fefa7919081900360600190a25050505061096160015f55565b61299e61426e565b6129a661426e565b5f838152600560205260408120546001600160a01b0316905b6001600160a01b038216158015906129d75750600a81105b15612ad7576001600160a01b038281165f908152600460208181526040808420815161016081018352815481526001820154818501526002820154818401526003820154606082015293810154608085015260058082015460a0860152600682015460c0860152600782015460e086018190526008830154610100870152600990920154808816610120870152600160a01b900460ff161515610140860152908552909152909120549091168483600a8110612a9557612a956145d6565b6001600160a01b03928316602091820292909201919091526101008301515f9081526005909152604090205416925081612ace816146d8565b925050506129bf565b50909392505050565b6003546001600160a01b03163314612b0a5760405162461bcd60e51b81526004016106aa906145af565b5f8160ff16600114612b1e57601154612b22565b6012545b905080831115612b445760405162461bcd60e51b81526004016106aa90614703565b8160ff16600103612c66576001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612b95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bb99190614748565b831115612bd85760405162461bcd60e51b81526004016106aa9061475f565b8260125f828254612be99190614589565b909155505060015460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015612c3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c609190614694565b50612d79565b6002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612cac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cd09190614748565b831115612cef5760405162461bcd60e51b81526004016106aa906147bc565b8260115f828254612d009190614589565b909155505060025460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015612d53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d779190614694565b505b604080514281526020810185905260ff84169181019190915233907fe3a08655b932d431b2df4aad02f527a8054e4831b88f476f8bba3d1668c7c880906060015b60405180910390a2505050565b6003546001600160a01b03163314612df15760405162461bcd60e51b81526004016106aa906145af565b6007545b801561108c575f6007612e09600184614589565b81548110612e1957612e196145d6565b5f9182526020808320909101546001600160a01b0316808352600490915260409091206003810154919250904210613213576009810154600160a01b900460ff1615612fa057600954815410612ef757600954815f015f828254612e7d9190614589565b9091555050600b54601080545f90612e9690849061459c565b90915550612ea99050426224ea0061459c565b6003820155612eb782613c75565b816001600160a01b03165f8051602061485a83398151915242600954604051612eea929190918252602082015260400190565b60405180910390a2613019565b805415612f9b578054601080545f90612f1190849061459c565b90915550505f8082556040516001600160a01b038416915f8051602061485a83398151915291612f4991428252602082015260400190565b60405180910390a260098101805460ff60a01b191690556040514281526001600160a01b038316907f090819602cf2da55e9f11111764605bb80774f3a0c9f409e0f87a699eee4546c90602001612eea565b613019565b600854815410612fbe57600854815f015f828254612e969190614589565b805415613019578054601080545f90612fd890849061459c565b90915550505f8082556040516001600160a01b038416915f8051602061485a8339815191529161301091428252602082015260400190565b60405180910390a25b600d5461302c9060ff16620151806145ea565b62ffffff168160030154613040919061459c565b421115613213576001600160a01b0382165f90815260066020526040902054158015613088575060078101545f908152600560205260409020546001600160a01b031661dead145b15613094575050613216565b60088101545f908152600560205260409020546001600160a01b031680156130e2576001600160a01b0381165f9081526004602052604081206006018054916130dc83614609565b91905055505b6001600160a01b0383165f9081526006602090815260408083208390556007808601548452600590925290912080546001600160a01b03191661dead179055805461312f90600190614589565b8154811061313f5761313f6145d6565b5f918252602090912001546001600160a01b03166007613160600187614589565b81548110613170576131706145d6565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060078054806131ac576131ac61461e565b5f8281526020902081015f1990810180546001600160a01b03191690550190556040516001600160a01b038416907f8cfcec236ba3cb5fc7341fa4da9b9d30e49e8d4fbd10099b972b8f94d37e6d21906132099042815260200190565b60405180910390a2505b50505b8061322081614609565b915050612df5565b6003546001600160a01b031633146132525760405162461bcd60e51b81526004016106aa906145af565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b0316331461329e5760405162461bcd60e51b81526004016106aa906145af565b601054808311156132c15760405162461bcd60e51b81526004016106aa90614703565b8160ff166001036133cd576001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613312573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133369190614748565b8311156133555760405162461bcd60e51b81526004016106aa9061475f565b60015460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af11580156133a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133c79190614694565b506134ca565b6002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613413573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134379190614748565b8311156134565760405162461bcd60e51b81526004016106aa906147bc565b60025460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af11580156134a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134c89190614694565b505b8260105f8282546134db9190614589565b9091555050604080514281526020810185905260ff84169181019190915233907fe3a08655b932d431b2df4aad02f527a8054e4831b88f476f8bba3d1668c7c88090606001612dba565b60025f540361354757604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6001600160a01b038084165f9081526004602090815260408083206008810154845260059092528220549192909116826103f761358c876103e8614632565b613596919061465d565b90505f6135a460648361465d565b9050856001146135ca578060115f8282546135bf919061459c565b9250508190556135e2565b8060125f8282546135db919061459c565b9250508190555b506001600160a01b038381165f908152600460209081526040808320600801548352600590915290205416613707578560011461366957612710600c548361362a9190614632565b613634919061465d565b6001600160a01b0384165f908152600460205260408120600201805490919061365e90849061459c565b9250508190556136b5565b612710600c548361367a9190614632565b613684919061465d565b6001600160a01b0384165f90815260046020526040812060010180549091906136ae90849061459c565b9250508190555b50826001600160a01b03165f8051602061483a83398151915242612710600c54866136e09190614632565b6136ea919061465d565b6040805192835260208301919091520160405180910390a261398d565b8560011461376b576002612710600c54846137229190614632565b61372c919061465d565b613736919061465d565b6001600160a01b0384165f908152600460205260408120600201805490919061376090849061459c565b9250508190556137c3565b6002612710600c548461377e9190614632565b613788919061465d565b613792919061465d565b6001600160a01b0384165f90815260046020526040812060010180549091906137bc90849061459c565b9250508190555b5085600114613843576002612710600c54846137df9190614632565b6137e9919061465d565b6137f3919061465d565b6001600160a01b038085165f9081526004602081815260408084206008015484526005825280842054909416835252908120600201805490919061383890849061459c565b9250508190556138b6565b6002612710600c54846138569190614632565b613860919061465d565b61386a919061465d565b6001600160a01b038085165f908152600460208181526040808420600801548452600582528084205490941683525290812060010180549091906138af90849061459c565b9250508190555b50826001600160a01b03165f8051602061483a833981519152426002612710600c54876138e39190614632565b6138ed919061465d565b6138f7919061465d565b6040805192835260208301919091520160405180910390a26001600160a01b038084165f9081526004602090815260408083206008015483526005909152902054600c549116905f8051602061483a833981519152904290600290612710906139609088614632565b61396a919061465d565b613974919061465d565b6040805192835260208301919091520160405180910390a25b509695505050505050565b6001600160a01b038083165f9081526004602090815260408083206008810154845260059092528220549192909116826103f76139d7866103e8614632565b6139e1919061465d565b90505f6139ef60648361465d565b90508060105f828254613a02919061459c565b90915550506001600160a01b038381165f908152600460209081526040808320600801548352600590915290205416613acf57612710600c5483613a469190614632565b613a50919061465d565b6001600160a01b0384165f9081526004602052604081208054909190613a7790849061459c565b92505081905550826001600160a01b03165f8051602061483a83398151915242612710600c5486613aa89190614632565b613ab2919061465d565b6040805192835260208301919091520160405180910390a2613c69565b6002612710600c5484613ae29190614632565b613aec919061465d565b613af6919061465d565b6001600160a01b0384165f9081526004602052604081208054909190613b1d90849061459c565b9091555050600c5460029061271090613b369085614632565b613b40919061465d565b613b4a919061465d565b6001600160a01b038085165f90815260046020818152604080842060080154845260058252808420549094168352529081208054909190613b8c90849061459c565b92505081905550826001600160a01b03165f8051602061483a833981519152426002612710600c5487613bbf9190614632565b613bc9919061465d565b613bd3919061465d565b6040805192835260208301919091520160405180910390a26001600160a01b038084165f9081526004602090815260408083206008015483526005909152902054600c549116905f8051602061483a83398151915290429060029061271090613c3c9088614632565b613c46919061465d565b613c50919061465d565b6040805192835260208301919091520160405180910390a25b50925050505b92915050565b6001600160a01b038082165f908152600460209081526040808320600881015484526005909252822054909216905b6001600160a01b03821615801590613cbc5750600a81105b15612380576001600160a01b0382165f908152600460205260409020600601546003118015613cec575060028110155b15613d035780613cfb816146d8565b915050613eeb565b6001600160a01b0382165f90815260046020526040902060090154600160a01b900460ff1615613e0757606460148281548110613d4257613d426145d6565b905f5260205f200154670de0b6b3a7640000613d5e9190614632565b613d68919061465d565b6001600160a01b0383165f9081526004602052604081208054909190613d8f90849061459c565b92505081905550816001600160a01b03165f8051602061481a83398151915242606460148581548110613dc457613dc46145d6565b905f5260205f200154670de0b6b3a7640000613de09190614632565b613dea919061465d565b6040805192835260208301919091520160405180910390a2613edd565b606460138281548110613e1c57613e1c6145d6565b905f5260205f200154670de0b6b3a7640000613e389190614632565b613e42919061465d565b6001600160a01b0383165f9081526004602052604081208054909190613e6990849061459c565b92505081905550816001600160a01b03165f8051602061481a83398151915242606460138581548110613e9e57613e9e6145d6565b905f5260205f200154670de0b6b3a7640000613eba9190614632565b613ec4919061465d565b6040805192835260208301919091520160405180910390a25b80613ee7816146d8565b9150505b6001600160a01b039182165f908152600460209081526040808320600801548352600590915290205490911690613ca4565b5f613f278261420d565b5f81815260056020908152604080832080546001600160a01b039097166001600160a01b0319909716871790559482526006815284822083905560049052929092206007019190915550565b6001600160a01b038181165f90815260046020526040902060098101549091163314613fe15760405162461bcd60e51b815260206004820152601d60248201527f57616c6c65742061646472657373657320646f206e6f74206d6174636800000060448201526064016106aa565b6002810154600182015482545f9291613ff99161459c565b614003919061459c565b6002546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561404e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140729190614748565b1061414257600254600983015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303815f875af11580156140cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140ef9190614694565b50600982015460408051428152602081018490526002918101919091526001600160a01b03909116907f241f509bdab738fe33689b33d9f6685547b9e420f21b97de774d416dabaa905690606001612dba565b600154600983015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303815f875af1158015614196573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906141ba9190614694565b50600982015460408051428152602081018490526001918101919091526001600160a01b03909116907f241f509bdab738fe33689b33d9f6685547b9e420f21b97de774d416dabaa905690606001612dba565b5f6402540be40044428460405160200161424c93929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b604051602081830303815290604052805190602001205f1c613c6f91906146f0565b604051806101400160405280600a906020820280368337509192915050565b5f6020828403121561429d575f80fd5b5035919050565b80356001600160a01b03811681146142ba575f80fd5b919050565b5f805f606084860312156142d1575f80fd5b6142da846142a4565b95602085013595506040909401359392505050565b803560ff811681146142ba575f80fd5b5f805f60608486031215614311575f80fd5b61431a846142ef565b9250614328602085016142ef565b9150604084013590509250925092565b5f8060408385031215614349575f80fd5b50508035926020909101359150565b5f60208284031215614368575f80fd5b614371826142a4565b9392505050565b801515811461108c575f80fd5b5f805f60608486031215614397575f80fd5b8335925060208401356143a981614378565b91506143b7604085016142ef565b90509250925092565b602080825282518282018190525f9190848201906040850190845b818110156144005783516001600160a01b0316835292840192918401916001016143db565b50909695505050505050565b5f805f806080858703121561441f575f80fd5b8435935060208501359250614436604086016142ef565b9150606085013561444681614378565b939692955090935050565b5f61016082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401516144ca828501826001600160a01b03169052565b505061014083810151801515848301525b505092915050565b610140810181835f5b600a8110156145145781516001600160a01b03168352602092830192909101906001016144ec565b50505092915050565b5f806040838503121561452e575f80fd5b8235915061453e602084016142ef565b90509250929050565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115613c6f57613c6f614575565b80820180821115613c6f57613c6f614575565b6020808252600d908201526c2737ba103a34329037bbb732b960991b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b62ffffff8181168382160280821691908281146144db576144db614575565b5f8161461757614617614575565b505f190190565b634e487b7160e01b5f52603160045260245ffd5b8082028115828204841417613c6f57613c6f614575565b634e487b7160e01b5f52601260045260245ffd5b5f8261466b5761466b614649565b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f602082840312156146a4575f80fd5b815161437181614378565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b5f600182016146e9576146e9614575565b5060010190565b5f826146fe576146fe614649565b500690565b60208082526025908201527f416d6f756e74206578636565647320746f2062616c616e636520696e20636f6e6040820152641d1c9858dd60da1b606082015260800190565b5f60208284031215614758575f80fd5b5051919050565b6020808252603b908201527f496e73756666696369656e7420616d6f756e74206f66205553445420696e206360408201527f6f6e747261637420746f20636f766572207769746864726177616c0000000000606082015260800190565b6020808252603b908201527f496e73756666696369656e7420616d6f756e74206f66205553444320696e206360408201527f6f6e747261637420746f20636f766572207769746864726177616c000000000060608201526080019056fe5a91a713f126207d46906d994a642f1da493d9f984546740403956e2db950bca645c116d90ebc0d205b6e6960a300051a8b7c74b479be7e8b6eff1db38ff20bc6cd9d6bebf8cc2076dd424f83deb0559d8774d1c44178b4f676f9d50709fb1bea264697066735822122036bde31df18aad1fe64a76afcad47aecd609e7b193643482dcb39551189b284464736f6c6343000814003300000000000000000000000055d398326f99059ff775485246999027b31979550000000000000000000000008ac76a51cc950d9822d68b83fe1ad97b32cd580d