0 txs
1 call
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)
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
0x6301ab3f006008556305e69ec0600955622dc6c0600a90815562895440600b556032600c55600d805460ff1916601c1790556101c060405260fa6080908152607d60a081905260c081905260e081905261010081905261012052603f6101408190526101608190526101805260bb6101a052620000809160139190620001c0565b5060408051610140810182526102ee815261017760208201819052918101829052606081018290526080810182905260a081019190915260bd60c0820181905260e08201819052610100820152610231610120820152620000e690601490600a62000213565b5060408051610140810182526003815260096020820152601b918101919091526051606082015260f360808201526102d960a082015261088b60c08201526119a160e0820152614ce361010082015261e6a96101208201526200014e90601590600a62000213565b503480156200015b575f80fd5b5060405162004a3d38038062004a3d8339810160408190526200017e9162000287565b60015f819055600380546001600160a01b0319908116331790915581546001600160a01b039485169082161790915560028054929093169116179055620002bd565b828054828255905f5260205f2090810192821562000201579160200282015b8281111562000201578251829060ff16905591602001919060010190620001df565b506200020f92915062000255565b5090565b828054828255905f5260205f2090810192821562000201579160200282015b8281111562000201578251829061ffff1690559160200191906001019062000232565b5b808211156200020f575f815560010162000256565b80516001600160a01b038116811462000282575f80fd5b919050565b5f806040838503121562000299575f80fd5b620002a4836200026b565b9150620002b4602084016200026b565b90509250929050565b61477280620002cb5f395ff3fe608060405234801561000f575f80fd5b5060043610610234575f3560e01c80636f77926b11610135578063c4c036be116100b4578063e2b93a5611610079578063e2b93a56146105b1578063e68c7c40146105d1578063ea159a87146105e4578063f2fde38b146105ec578063f30e69f9146105ff575f80fd5b8063c4c036be14610551578063cae7d9b01461055a578063cff461e614610563578063d9b6f61514610576578063e0324a9d14610589575f80fd5b8063a06db7dc116100fa578063a06db7dc14610447578063a87430ba14610466578063a8c39b8b14610537578063bf2d9e0b1461053f578063c0b226dc14610548575f80fd5b80636f77926b146103e35780637e9824ed146104035780638da5cb5b146104225780639858befb146104355780639db6bbd21461043e575f80fd5b80632f48ab7d116101c15780634e977f7e116101865780634e977f7e1461038c578063556c448d1461039f5780635e6c3e8f146103b25780635fb3b5a3146103c757806368f58b03146103da575f80fd5b80632f48ab7d1461033757806330521bde1461034a578063362651921461035d5780633e413bee146103665780634a88500f14610379575f80fd5b806318f52ce21161020757806318f52ce2146102d15780631ab62b68146102f55780631b8623ee146103085780632cb37a641461031b5780632da0cd0014610324575f80fd5b806301c7224f14610238578063095bcdb61461027d5780630e15561a1461029257806318c6203a146102a9575b5f80fd5b610260610246366004614150565b60056020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61029061028b366004614182565b610612565b005b61029b600f5481565b604051908152602001610274565b6102606102b7366004614150565b5f908152600560205260409020546001600160a01b031690565b60105460125460115460408051938452602084019290925290820152606001610274565b6102906103033660046141c2565b61092a565b6102906103163660046141fb565b610b92565b61029b60095481565b61029061033236600461421b565b611047565b600154610260906001600160a01b031681565b61029b610358366004614150565b611053565b61029b600c5481565b600254610260906001600160a01b031681565b610260610387366004614150565b611072565b61029061039a366004614248565b61109a565b61029b6103ad366004614150565b6113a3565b6103ba6113b2565b6040516102749190614283565b6102906103d53660046142cf565b611412565b61029b600a5481565b6103f66103f136600461421b565b6122b8565b6040516102749190614314565b61029b61041136600461421b565b60066020525f908152604090205481565b600354610260906001600160a01b031681565b61029b60105481565b61029b60115481565b600d546104549060ff1681565b60405160ff9091168152602001610274565b6104d961047436600461421b565b600460208190525f9182526040909120805460018201546002830154600384015494840154600585015460068601546007870154600888015460099098015496989597949693949293919290916001600160a01b03811690600160a01b900460ff168b565b604080519b8c5260208c019a909a52988a01979097526060890195909552608088019390935260a087019190915260c086015260e08501526101008401526001600160a01b0316610120830152151561014082015261016001610274565b6102906123b8565b61029b600e5481565b61029b60085481565b61029b600b5481565b61029b60125481565b61029b610571366004614150565b6125d5565b610290610584366004614248565b6125e4565b61029b61059736600461421b565b6001600160a01b03165f9081526006602052604090205490565b6105c46105bf366004614150565b61286d565b60405161027491906143a6565b6102906105df3660046143e0565b6129b7565b610290612c9e565b6102906105fa36600461421b565b6130ff565b61029061060d3660046143e0565b61314b565b61061a6133fc565b336106775760405162461bcd60e51b815260206004820152602260248201527f66726f6d20616464726573732063616e6e6f74206265206e6f6e6578697374656044820152611b9d60f21b60648201526084015b60405180910390fd5b335f908152600460205260409020548211156106a55760405162461bcd60e51b815260040161066e9061440a565b8060010361079257335f908152600460205260409020600101548211156106de5760405162461bcd60e51b815260040161066e9061440a565b5f6106eb33846001613424565b335f9081526004602052604081206001018054929350859290919061071190849061444c565b90915550506001600160a01b0384165f908152600460205260408120600101805483929061074090849061445f565b909155505060408051428152602081018590526001600160a01b0386169133917f168a16f5dce968b332fcb6498cad607139e34f092258dc1186982ff36b463dd591015b60405180910390a35061091c565b8060020361087557335f908152600460205260409020600201548211156107cb5760405162461bcd60e51b815260040161066e9061440a565b5f6107d833846002613424565b335f908152600460205260408120600201805492935085929091906107fe90849061444c565b90915550506001600160a01b0384165f908152600460205260408120600201805483929061082d90849061445f565b909155505060408051428152602081018590526001600160a01b0386169133917fc04eed2aea39b0b0108dcc795f4fbd4da6495e89d620c185ed892d4ffea5b7a19101610784565b5f610880338461386f565b335f908152600460205260408120805492935085929091906108a390849061444c565b90915550506001600160a01b0384165f90815260046020526040812080548392906108cf90849061445f565b909155505060408051428152602081018590526001600160a01b0386169133917f9ed053bb818ff08b8353cd46f78db1f0799f31c9e4458fdb425c10eccd2efc44910160405180910390a3505b61092560015f55565b505050565b6109326133fc565b335f90815260046020526040902060ff8416600103610a1a57805482111561099c5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74206d6f7363612062616c616e6365000000000000604482015260640161066e565b8260ff166002036109de5781815f015f8282546109b9919061444c565b9250508190555081816001015f8282546109d3919061445f565b90915550610b889050565b8260ff16600303610a155781815f015f8282546109fb919061444c565b9250508190555081816002015f8282546109d3919061445f565b610b88565b8360ff16600203610acd578060010154821115610a795760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420757364742062616c616e636500000000000000604482015260640161066e565b8260ff16600103610aaf5781816001015f828254610a97919061444c565b90915550508054829082905f906109d390849061445f565b8260ff16600303610a155781816001015f8282546109fb919061444c565b8360ff16600303610b88578060020154821115610b2c5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420757364632062616c616e636500000000000000604482015260640161066e565b8260ff16600103610b4a5781816002015f828254610a97919061444c565b8260ff16600203610b885781816002015f828254610b68919061444c565b9250508190555081816001015f828254610b82919061445f565b90915550505b5061092560015f55565b6003546001600160a01b03163314610bbc5760405162461bcd60e51b815260040161066e90614472565b805b82811115610925575f6007610bd460018461444c565b81548110610be457610be4614499565b5f9182526020808320909101546001600160a01b0316808352600490915260409091206003810154919250904210611032576009810154600160a01b900460ff1615610d6b57600954815410610cc257600954815f015f828254610c48919061444c565b9091555050600b54601080545f90610c6190849061445f565b90915550610c749050426224ea0061445f565b6003820155610c8282613b4c565b816001600160a01b03165f8051602061471d83398151915242600954604051610cb5929190918252602082015260400190565b60405180910390a2610e38565b805415610d66578054601080545f90610cdc90849061445f565b90915550505f8082556040516001600160a01b038416915f8051602061471d83398151915291610d1491428252602082015260400190565b60405180910390a260098101805460ff60a01b191690556040514281526001600160a01b038316907f090819602cf2da55e9f11111764605bb80774f3a0c9f409e0f87a699eee4546c90602001610cb5565b610e38565b600854815410610ddd57600854815f015f828254610d89919061444c565b90915550610d9c9050426224ea0061445f565b6003820155610daa82613b4c565b816001600160a01b03165f8051602061471d83398151915242600854604051610cb5929190918252602082015260400190565b805415610e38578054601080545f90610df790849061445f565b90915550505f8082556040516001600160a01b038416915f8051602061471d83398151915291610e2f91428252602082015260400190565b60405180910390a25b600d54610e4b9060ff16620151806144ad565b62ffffff168160030154610e5f919061445f565b421115611032576001600160a01b0382165f90815260066020526040902054158015610ea7575060078101545f908152600560205260409020546001600160a01b031661dead145b15610eb3575050611035565b60088101545f908152600560205260409020546001600160a01b03168015610f01576001600160a01b0381165f908152600460205260408120600601805491610efb836144cc565b91905055505b6001600160a01b0383165f9081526006602090815260408083208390556007808601548452600590925290912080546001600160a01b03191661dead1790558054610f4e9060019061444c565b81548110610f5e57610f5e614499565b5f918252602090912001546001600160a01b03166007610f7f60018761444c565b81548110610f8f57610f8f614499565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506007805480610fcb57610fcb6144e1565b5f8281526020902081015f1990810180546001600160a01b03191690550190556040516001600160a01b038416907f8cfcec236ba3cb5fc7341fa4da9b9d30e49e8d4fbd10099b972b8f94d37e6d21906110289042815260200190565b60405180910390a2505b50505b8061103f816144cc565b915050610bbe565b61105081613de0565b50565b60158181548110611062575f80fd5b5f91825260209091200154905081565b60078181548110611081575f80fd5b5f918252602090912001546001600160a01b0316905081565b6110a26133fc565b335f9081526006602052604081205490036111105760405162461bcd60e51b815260206004820152602860248201527f43616e6e6f7420627579206265666f72652061637469766174696e67206369746044820152670697a656e736869760c41b606482015260840161066e565b335f908152600460205260408120906103f761112e866103e86144f5565b6111389190614520565b905084600e5f82825461114b919061445f565b909155508490506111ae5780825f015f828254611168919061445f565b9091555050604080514281526020810183905233917f3524f993626a56195f287cdcd2bf4625d9fab4edc069643c96377a280da999b791015b60405180910390a261125d565b8260ff166001036112095780826001015f8282546111cc919061445f565b9091555050604080514281526020810183905233917fb38081640186ed4d7bc108bf3b72f876a343639051ec916d52a3072285d4c40091016111a1565b80826002015f82825461121c919061445f565b9091555050604080514281526020810183905233917f884c5bcf448a874f8c5e054e7e0ca1e4b9194c99f21f242bb59c04e62652e694910160405180910390a25b8260ff166001036112fd576001546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061129c90339030908a90600401614533565b6020604051808303815f875af11580156112b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112dc9190614557565b6112f85760405162461bcd60e51b815260040161066e90614572565b61138d565b6002546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061133190339030908a90600401614533565b6020604051808303815f875af115801561134d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113719190614557565b61138d5760405162461bcd60e51b815260040161066e90614572565b611397338661386f565b50505061092560015f55565b60138181548110611062575f80fd5b6060600780548060200260200160405190810160405280929190818152602001828054801561140857602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116113ea575b5050505050905090565b61141a6133fc565b335f9081526004602052604081208054909190630791ddc01061143d575f61144e565b815461144e90630791ddc09061444c565b90505f806103f761145f848a61445f565b61146b906103e86144f5565b6114759190614520565b90508415611b5d57335f908152600660205260408120549003611777576008546114a09060036144f5565b6009546114ae9060036144f5565b6114b8919061445f565b88101561151b5760405162461bcd60e51b815260206004820152602b60248201527f496e73756666696369656e7420616d6f756e742073656e7420746f206a6f696e60448201526a20656e746572707269736560a81b606482015260840161066e565b8560ff166001036116a157600154600b546001600160a01b03909116906323b872dd903390309061154d9060036144f5565b611557908d61444c565b6040518463ffffffff1660e01b815260040161157593929190614533565b6020604051808303815f875af1158015611591573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b59190614557565b6115d15760405162461bcd60e51b815260040161066e90614572565b60015460038054600b546001600160a01b03938416936323b872dd933393909116916115fc916144f5565b6040518463ffffffff1660e01b815260040161161a93929190614533565b6020604051808303815f875af1158015611636573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061165a9190614557565b61169c5760405162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c881d185e0819985a5b1959606a1b604482015260640161066e565b611b43565b600254600b546001600160a01b03909116906323b872dd90339030906116c89060036144f5565b6116d2908d61444c565b6040518463ffffffff1660e01b81526004016116f093929190614533565b6020604051808303815f875af115801561170c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117309190614557565b61174c5760405162461bcd60e51b815260040161066e90614572565b60025460038054600b546001600160a01b03938416936323b872dd933393909116916115fc916144f5565b6009546117859060036144f5565b61178f848a61445f565b10156117f25760405162461bcd60e51b815260206004820152602c60248201527f496e73756666696369656e7420616d6f756e7420746f2075706772616465207460448201526b6f20656e746572707269736560a01b606482015260840161066e565b600b546118009060036144f5565b83101561194b5782600b54600361181791906144f5565b611821919061444c565b915082600b54600361183391906144f5565b61183d919061444c565b60105f82825461184d919061445f565b90915550508354839085905f9061186590849061444c565b909155505f93505060ff8616600103611912576001546003546040516323b872dd60e01b81526001600160a01b03928316926323b872dd926118b1923392909116908790600401614533565b6020604051808303815f875af11580156118cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118f19190614557565b61190d5760405162461bcd60e51b815260040161066e90614572565b611a04565b6002546003546040516323b872dd60e01b81526001600160a01b03928316926323b872dd926118b1923392909116908790600401614533565b600b546119599060036144f5565b60105f828254611969919061445f565b9091555050600b5461197c9060036144f5565b611986908461444c565b9250600b54600361199791906144f5565b845f015f8282546119a8919061444c565b90915550506009546119bb9060036144f5565b8311156119ec576009546119d09060036144f5565b845f015f8282546119e1919061444c565b90915550611a049050565b82845f015f8282546119fe919061444c565b90915550505b8715611b43578560ff16600103611aac576001546001600160a01b03166323b872dd3330611a32868d61444c565b6040518463ffffffff1660e01b8152600401611a5093929190614533565b6020604051808303815f875af1158015611a6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a909190614557565b61169c5760405162461bcd60e51b815260040161066e90614572565b6002546001600160a01b03166323b872dd3330611ac9868d61444c565b6040518463ffffffff1660e01b8152600401611ae793929190614533565b6020604051808303815f875af1158015611b03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b279190614557565b611b435760405162461bcd60e51b815260040161066e90614572565b60098401805460ff60a01b1916600160a01b179055611e5f565b600854881015611baf5760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e7420616d6f756e742073656e740000000000000000604482015260640161066e565b8560ff16600103611d0f57600154600a546001600160a01b03909116906323b872dd9033903090611be19060036144f5565b611beb908d61444c565b6040518463ffffffff1660e01b8152600401611c0993929190614533565b6020604051808303815f875af1158015611c25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c499190614557565b611c655760405162461bcd60e51b815260040161066e90614572565b60015460038054600a546001600160a01b03938416936323b872dd93339390911691611c90916144f5565b6040518463ffffffff1660e01b8152600401611cae93929190614533565b6020604051808303815f875af1158015611cca573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cee9190614557565b611d0a5760405162461bcd60e51b815260040161066e90614572565b611e5f565b600254600a546001600160a01b03909116906323b872dd9033903090611d369060036144f5565b611d40908d61444c565b6040518463ffffffff1660e01b8152600401611d5e93929190614533565b6020604051808303815f875af1158015611d7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9e9190614557565b611dba5760405162461bcd60e51b815260040161066e90614572565b60025460038054600a546001600160a01b03938416936323b872dd93339390911691611de5916144f5565b6040518463ffffffff1660e01b8152600401611e0393929190614533565b6020604051808303815f875af1158015611e1f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e439190614557565b611e5f5760405162461bcd60e51b815260040161066e90614572565b611e6c426224ea0061445f565b6003850155611e7e4262093a8061445f565b60048501556009840180546001600160a01b03191633179055600e80548991905f90611eab90849061445f565b90915550859050611ec857600854611ec3908261444c565b611ed5565b600954611ed5908261444c565b845f015f828254611ee6919061445f565b90915550505f878152600560205260409020546001600160a01b0316156121ef5760088401879055848015611f4d575060088401545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b611f5a57625f5e10611f60565b63015752a05b60088501545f908152600560209081526040808320546001600160a01b0316835260049091528120805463ffffffff9390931692909190611fa290849061445f565b909155505060088401545f908152600560209081526040808320546001600160a01b0316835260049091528120600601805491611fde8361459b565b909155505060088401545f908152600560205260409020546001600160a01b03165f805160206146dd8339815191524287801561204d575060088701545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b61205a57625f5e10612060565b63015752a05b6040805192835263ffffffff90911660208301520160405180910390a260088401545f908152600560209081526040808320546001600160a01b0316835260049091529020600601546120b5906003906145b3565b5f036121ef578480156120fa575060088401545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b61210757625f5e1061210d565b63015752a05b60088501545f908152600560209081526040808320546001600160a01b0316835260049091528120805463ffffffff939093169290919061214f90849061445f565b909155505060088401545f908152600560205260409020546001600160a01b03165f805160206146dd833981519152428780156121be575060088701545f908152600560209081526040808320546001600160a01b031683526004909152902060090154600160a01b900460ff165b6121cb57625f5e106121d1565b63015752a05b6040805192835263ffffffff90911660208301520160405180910390a25b60078054600181019091557fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880180546001600160a01b031916339081179091555f90815260066020526040812054900361224c5761224c33611047565b60408051428152602081018a905260ff881681830152905133917f1c953af84c45fe5100cb56c268757a578196f421e304b18b669f6aeddc201314919081900360600190a261229a33613b4c565b6122a4338961386f565b50505050506122b260015f55565b50505050565b6123156040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f151581525090565b506001600160a01b039081165f908152600460208181526040928390208351610160810185528154815260018201549281019290925260028101549382019390935260038301546060820152908201546080820152600582015460a0820152600682015460c0820152600782015460e08201526008820154610100820152600990910154918216610120820152600160a01b90910460ff16151561014082015290565b6123c06133fc565b335f908152600460209081526040808320600881015484526005909252909120546001600160a01b0316801580159061241257506001600160a01b0381165f9081526004602052604090206006015415155b15612443576001600160a01b0381165f90815260046020526040812060060180549161243d836144cc565b91905055505b5f5b6007548110156125c7575f6007828154811061246357612463614499565b5f918252602090912001546001600160a01b03169050338103612576576001600160a01b0381165f90815260066020908152604080832083905560078088015484526005909252822080546001600160a01b03191661dead17905590855560098501805460ff60a01b1916905580546124de9060019061444c565b815481106124ee576124ee614499565b5f91825260209091200154600780546001600160a01b03909216918490811061251957612519614499565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506007805480612555576125556144e1565b5f8281526020902081015f1990810180546001600160a01b03191690550190555b61257f33613e36565b60405142815233907f7c64ba85823e472f94a20df4d8cf48a802ed249f146d621653f56e3202c736a19060200160405180910390a250806125bf8161459b565b915050612445565b5050506125d360015f55565b565b60148181548110611062575f80fd5b6125ec6133fc565b335f9081526004602052604081206009810154909190600160a01b900460ff1661261a576301ab3f00612620565b630791ddc05b63ffffffff1690505f806103f7612639886103e86144f5565b6126439190614520565b9050856126535783549150612671565b8460ff1660011461266857836002015461266e565b83600101545b91505b61267b838361444c565b87111561269a5760405162461bcd60e51b815260040161066e9061440a565b856126bc5786845f015f8282546126b1919061444c565b909155506127019050565b8460ff166001146126e55786846002015f8282546126da919061444c565b9250508190556126ff565b86846001015f8282546126f8919061444c565b9250508190555b505b8460ff166001146127835760025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303815f875af115801561275a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061277e9190614557565b6127f5565b60015460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303815f875af11580156127d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f59190614557565b508561280b57612805338861386f565b5061281b565b61281933888760ff16613424565b505b604080514281526020810189905260ff871681830152905133917faa669d099375b570029afbc4c1d31ab71b7ac682f1196c1f70ba9d62f03fefa7919081900360600190a25050505061092560015f55565b612875614131565b61287d614131565b5f838152600560205260408120546001600160a01b0316905b6001600160a01b038216158015906128ae5750600a81105b156129ae576001600160a01b038281165f908152600460208181526040808420815161016081018352815481526001820154818501526002820154818401526003820154606082015293810154608085015260058082015460a0860152600682015460c0860152600782015460e086018190526008830154610100870152600990920154808816610120870152600160a01b900460ff161515610140860152908552909152909120549091168483600a811061296c5761296c614499565b6001600160a01b03928316602091820292909201919091526101008301515f90815260059091526040902054169250816129a58161459b565b92505050612896565b50909392505050565b6003546001600160a01b031633146129e15760405162461bcd60e51b815260040161066e90614472565b5f8160ff166001146129f5576011546129f9565b6012545b905080831115612a1b5760405162461bcd60e51b815260040161066e906145c6565b8160ff16600103612b3d576001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612a6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a90919061460b565b831115612aaf5760405162461bcd60e51b815260040161066e90614622565b8260125f828254612ac0919061444c565b909155505060015460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015612b13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b379190614557565b50612c50565b6002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612b83573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ba7919061460b565b831115612bc65760405162461bcd60e51b815260040161066e9061467f565b8260115f828254612bd7919061444c565b909155505060025460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015612c2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c4e9190614557565b505b604080514281526020810185905260ff84169181019190915233907fe3a08655b932d431b2df4aad02f527a8054e4831b88f476f8bba3d1668c7c880906060015b60405180910390a2505050565b6003546001600160a01b03163314612cc85760405162461bcd60e51b815260040161066e90614472565b6007545b8015611050575f6007612ce060018461444c565b81548110612cf057612cf0614499565b5f9182526020808320909101546001600160a01b03168083526004909152604090912060038101549192509042106130ea576009810154600160a01b900460ff1615612e7757600954815410612dce57600954815f015f828254612d54919061444c565b9091555050600b54601080545f90612d6d90849061445f565b90915550612d809050426224ea0061445f565b6003820155612d8e82613b4c565b816001600160a01b03165f8051602061471d83398151915242600954604051612dc1929190918252602082015260400190565b60405180910390a2612ef0565b805415612e72578054601080545f90612de890849061445f565b90915550505f8082556040516001600160a01b038416915f8051602061471d83398151915291612e2091428252602082015260400190565b60405180910390a260098101805460ff60a01b191690556040514281526001600160a01b038316907f090819602cf2da55e9f11111764605bb80774f3a0c9f409e0f87a699eee4546c90602001612dc1565b612ef0565b600854815410612e9557600854815f015f828254612d6d919061444c565b805415612ef0578054601080545f90612eaf90849061445f565b90915550505f8082556040516001600160a01b038416915f8051602061471d83398151915291612ee791428252602082015260400190565b60405180910390a25b600d54612f039060ff16620151806144ad565b62ffffff168160030154612f17919061445f565b4211156130ea576001600160a01b0382165f90815260066020526040902054158015612f5f575060078101545f908152600560205260409020546001600160a01b031661dead145b15612f6b5750506130ed565b60088101545f908152600560205260409020546001600160a01b03168015612fb9576001600160a01b0381165f908152600460205260408120600601805491612fb3836144cc565b91905055505b6001600160a01b0383165f9081526006602090815260408083208390556007808601548452600590925290912080546001600160a01b03191661dead17905580546130069060019061444c565b8154811061301657613016614499565b5f918252602090912001546001600160a01b0316600761303760018761444c565b8154811061304757613047614499565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506007805480613083576130836144e1565b5f8281526020902081015f1990810180546001600160a01b03191690550190556040516001600160a01b038416907f8cfcec236ba3cb5fc7341fa4da9b9d30e49e8d4fbd10099b972b8f94d37e6d21906130e09042815260200190565b60405180910390a2505b50505b806130f7816144cc565b915050612ccc565b6003546001600160a01b031633146131295760405162461bcd60e51b815260040161066e90614472565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031633146131755760405162461bcd60e51b815260040161066e90614472565b601054808311156131985760405162461bcd60e51b815260040161066e906145c6565b8160ff166001036132a4576001546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156131e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061320d919061460b565b83111561322c5760405162461bcd60e51b815260040161066e90614622565b60015460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af115801561327a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061329e9190614557565b506133a1565b6002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156132ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061330e919061460b565b83111561332d5760405162461bcd60e51b815260040161066e9061467f565b60025460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303815f875af115801561337b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061339f9190614557565b505b8260105f8282546133b2919061444c565b9091555050604080514281526020810185905260ff84169181019190915233907fe3a08655b932d431b2df4aad02f527a8054e4831b88f476f8bba3d1668c7c88090606001612c91565b60025f540361341e57604051633ee5aeb560e01b815260040160405180910390fd5b60025f55565b6001600160a01b038084165f9081526004602090815260408083206008810154845260059092528220549192909116826103f7613463876103e86144f5565b61346d9190614520565b90505f61347b606483614520565b9050856001146134a1578060115f828254613496919061445f565b9250508190556134b9565b8060125f8282546134b2919061445f565b9250508190555b506001600160a01b038381165f9081526004602090815260408083206008015483526005909152902054166135de578560011461354057612710600c548361350191906144f5565b61350b9190614520565b6001600160a01b0384165f908152600460205260408120600201805490919061353590849061445f565b92505081905561358c565b612710600c548361355191906144f5565b61355b9190614520565b6001600160a01b0384165f908152600460205260408120600101805490919061358590849061445f565b9250508190555b50826001600160a01b03165f805160206146fd83398151915242612710600c54866135b791906144f5565b6135c19190614520565b6040805192835260208301919091520160405180910390a2613864565b85600114613642576002612710600c54846135f991906144f5565b6136039190614520565b61360d9190614520565b6001600160a01b0384165f908152600460205260408120600201805490919061363790849061445f565b92505081905561369a565b6002612710600c548461365591906144f5565b61365f9190614520565b6136699190614520565b6001600160a01b0384165f908152600460205260408120600101805490919061369390849061445f565b9250508190555b508560011461371a576002612710600c54846136b691906144f5565b6136c09190614520565b6136ca9190614520565b6001600160a01b038085165f9081526004602081815260408084206008015484526005825280842054909416835252908120600201805490919061370f90849061445f565b92505081905561378d565b6002612710600c548461372d91906144f5565b6137379190614520565b6137419190614520565b6001600160a01b038085165f9081526004602081815260408084206008015484526005825280842054909416835252908120600101805490919061378690849061445f565b9250508190555b50826001600160a01b03165f805160206146fd833981519152426002612710600c54876137ba91906144f5565b6137c49190614520565b6137ce9190614520565b6040805192835260208301919091520160405180910390a26001600160a01b038084165f9081526004602090815260408083206008015483526005909152902054600c549116905f805160206146fd8339815191529042906002906127109061383790886144f5565b6138419190614520565b61384b9190614520565b6040805192835260208301919091520160405180910390a25b509695505050505050565b6001600160a01b038083165f9081526004602090815260408083206008810154845260059092528220549192909116826103f76138ae866103e86144f5565b6138b89190614520565b90505f6138c6606483614520565b90508060105f8282546138d9919061445f565b90915550506001600160a01b038381165f9081526004602090815260408083206008015483526005909152902054166139a657612710600c548361391d91906144f5565b6139279190614520565b6001600160a01b0384165f908152600460205260408120805490919061394e90849061445f565b92505081905550826001600160a01b03165f805160206146fd83398151915242612710600c548661397f91906144f5565b6139899190614520565b6040805192835260208301919091520160405180910390a2613b40565b6002612710600c54846139b991906144f5565b6139c39190614520565b6139cd9190614520565b6001600160a01b0384165f90815260046020526040812080549091906139f490849061445f565b9091555050600c5460029061271090613a0d90856144f5565b613a179190614520565b613a219190614520565b6001600160a01b038085165f90815260046020818152604080842060080154845260058252808420549094168352529081208054909190613a6390849061445f565b92505081905550826001600160a01b03165f805160206146fd833981519152426002612710600c5487613a9691906144f5565b613aa09190614520565b613aaa9190614520565b6040805192835260208301919091520160405180910390a26001600160a01b038084165f9081526004602090815260408083206008015483526005909152902054600c549116905f805160206146fd83398151915290429060029061271090613b1390886144f5565b613b1d9190614520565b613b279190614520565b6040805192835260208301919091520160405180910390a25b50925050505b92915050565b6001600160a01b038082165f908152600460209081526040808320600881015484526005909252822054909216905b6001600160a01b03821615801590613b935750600a81105b156122b2576001600160a01b0382165f908152600460205260409020600601546003118015613bc3575060028110155b15613bda5780613bd28161459b565b915050613dae565b6001600160a01b0382165f90815260046020526040902060090154600160a01b900460ff1615613cd457606460148281548110613c1957613c19614499565b905f5260205f200154620f4240613c3091906144f5565b613c3a9190614520565b6001600160a01b0383165f9081526004602052604081208054909190613c6190849061445f565b92505081905550816001600160a01b03165f805160206146dd83398151915242606460148581548110613c9657613c96614499565b905f5260205f200154620f4240613cad91906144f5565b613cb79190614520565b6040805192835260208301919091520160405180910390a2613da0565b606460138281548110613ce957613ce9614499565b905f5260205f200154620f4240613d0091906144f5565b613d0a9190614520565b6001600160a01b0383165f9081526004602052604081208054909190613d3190849061445f565b92505081905550816001600160a01b03165f805160206146dd83398151915242606460138581548110613d6657613d66614499565b905f5260205f200154620f4240613d7d91906144f5565b613d879190614520565b6040805192835260208301919091520160405180910390a25b80613daa8161459b565b9150505b6001600160a01b039182165f908152600460209081526040808320600801548352600590915290205490911690613b7b565b5f613dea826140d0565b5f81815260056020908152604080832080546001600160a01b039097166001600160a01b0319909716871790559482526006815284822083905560049052929092206007019190915550565b6001600160a01b038181165f90815260046020526040902060098101549091163314613ea45760405162461bcd60e51b815260206004820152601d60248201527f57616c6c65742061646472657373657320646f206e6f74206d61746368000000604482015260640161066e565b6002810154600182015482545f9291613ebc9161445f565b613ec6919061445f565b6002546040516370a0823160e01b815230600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015613f11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f35919061460b565b1061400557600254600983015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303815f875af1158015613f8e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613fb29190614557565b50600982015460408051428152602081018490526002918101919091526001600160a01b03909116907f241f509bdab738fe33689b33d9f6685547b9e420f21b97de774d416dabaa905690606001612c91565b600154600983015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303815f875af1158015614059573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061407d9190614557565b50600982015460408051428152602081018490526001918101919091526001600160a01b03909116907f241f509bdab738fe33689b33d9f6685547b9e420f21b97de774d416dabaa905690606001612c91565b5f6402540be40044428460405160200161410f93929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b604051602081830303815290604052805190602001205f1c613b4691906145b3565b604051806101400160405280600a906020820280368337509192915050565b5f60208284031215614160575f80fd5b5035919050565b80356001600160a01b038116811461417d575f80fd5b919050565b5f805f60608486031215614194575f80fd5b61419d84614167565b95602085013595506040909401359392505050565b803560ff8116811461417d575f80fd5b5f805f606084860312156141d4575f80fd5b6141dd846141b2565b92506141eb602085016141b2565b9150604084013590509250925092565b5f806040838503121561420c575f80fd5b50508035926020909101359150565b5f6020828403121561422b575f80fd5b61423482614167565b9392505050565b8015158114611050575f80fd5b5f805f6060848603121561425a575f80fd5b83359250602084013561426c8161423b565b915061427a604085016141b2565b90509250925092565b602080825282518282018190525f9190848201906040850190845b818110156142c35783516001600160a01b03168352928401929184019160010161429e565b50909695505050505050565b5f805f80608085870312156142e2575f80fd5b84359350602085013592506142f9604086016141b2565b915060608501356143098161423b565b939692955090935050565b5f61016082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015161438d828501826001600160a01b03169052565b505061014083810151801515848301525b505092915050565b610140810181835f5b600a8110156143d75781516001600160a01b03168352602092830192909101906001016143af565b50505092915050565b5f80604083850312156143f1575f80fd5b82359150614401602084016141b2565b90509250929050565b602080825260149082015273496e73756666696369656e742062616c616e636560601b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115613b4657613b46614438565b80820180821115613b4657613b46614438565b6020808252600d908201526c2737ba103a34329037bbb732b960991b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b62ffffff81811683821602808216919082811461439e5761439e614438565b5f816144da576144da614438565b505f190190565b634e487b7160e01b5f52603160045260245ffd5b8082028115828204841417613b4657613b46614438565b634e487b7160e01b5f52601260045260245ffd5b5f8261452e5761452e61450c565b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f60208284031215614567575f80fd5b81516142348161423b565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b5f600182016145ac576145ac614438565b5060010190565b5f826145c1576145c161450c565b500690565b60208082526025908201527f416d6f756e74206578636565647320746f2062616c616e636520696e20636f6e6040820152641d1c9858dd60da1b606082015260800190565b5f6020828403121561461b575f80fd5b5051919050565b6020808252603b908201527f496e73756666696369656e7420616d6f756e74206f66205553445420696e206360408201527f6f6e747261637420746f20636f766572207769746864726177616c0000000000606082015260800190565b6020808252603b908201527f496e73756666696369656e7420616d6f756e74206f66205553444320696e206360408201527f6f6e747261637420746f20636f766572207769746864726177616c000000000060608201526080019056fe5a91a713f126207d46906d994a642f1da493d9f984546740403956e2db950bca645c116d90ebc0d205b6e6960a300051a8b7c74b479be7e8b6eff1db38ff20bc6cd9d6bebf8cc2076dd424f83deb0559d8774d1c44178b4f676f9d50709fb1bea2646970667358221220d271b93abfbecc19623eea8aed6f5f77d18befb02d18bd14df96e28bd64a3ec464736f6c63430008140033000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48