22 txs
23 calls
constructor
constructor(address _usdtAddress, address _marco, address _adminWallet)
functions
adminWallet
viewfunction adminWallet() view returns (address)
donors
viewfunction donors() view returns (uint256)
emergencyHatchOpen
viewfunction emergencyHatchOpen() view returns (bool)
getOrder
viewfunction getOrder(address _addr) view returns (uint256)
IDEXRouterAddress
viewfunction IDEXRouterAddress() view returns (address)
LVL1_JOIN_FEE
viewfunction LVL1_JOIN_FEE() view returns (uint256)
LVL2_JOIN_FEE
viewfunction LVL2_JOIN_FEE() view returns (uint256)
LVL3_JOIN_FEE
viewfunction LVL3_JOIN_FEE() view returns (uint256)
LVL4_JOIN_FEE
viewfunction LVL4_JOIN_FEE() view returns (uint256)
marco
viewfunction marco() view returns (address)
MAX_LEVEL
viewfunction MAX_LEVEL() view returns (uint256)
owner
viewfunction owner() view returns (address)
REWARD_PERCENT
viewfunction REWARD_PERCENT() view returns (uint256)
router
viewfunction router() view returns (address)
usdt
viewfunction usdt() view returns (address)
userlvl1Queue
viewfunction userlvl1Queue(uint256) view returns (address)
userlvl2Queue
viewfunction userlvl2Queue(uint256) view returns (address)
userlvl3Queue
viewfunction userlvl3Queue(uint256) view returns (address)
userlvl4Queue
viewfunction userlvl4Queue(uint256) view returns (address)
users
viewfunction users(address) view returns (address user, uint256 level, uint256 earnings, uint256 lastFilledSpot, uint256 donorNumber, bool canWithdraw)
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
join
nonpayablefunction join()
reserveNextLevel
nonpayablefunction reserveNextLevel(bool withdrawInMarco)
setAdminWallet
nonpayablefunction setAdminWallet(address _newAdminWallet)
switchEmergencyHatch
nonpayablefunction switchEmergencyHatch()
transferOwnership
nonpayablefunction transferOwnership(address _newOwner)
withdrawUSDT
nonpayablefunction withdrawUSDT(bool withdrawMarco)
events
EmergencyWithdrawal
event EmergencyWithdrawal(address indexed user, uint256 amount)
Joined
event Joined(address indexed user, uint256 level)
ProfitWithdrawn
event ProfitWithdrawn(address indexed user, uint256 amount)
SpotReserved
event SpotReserved(address indexed user, uint256 level)
SwappedMarco
event SwappedMarco(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x6080604052680d8d726b7177a80000600a55683635c9adc5dea00000600b5569010f0cf064dd59200000600c5569054b40b1f852bda00000600d55605a600e556004600f555f60115f6101000a81548160ff02191690831515021790555034801562000069575f80fd5b5060405162003c3b38038062003c3b83398181016040528101906200008f919062000250565b825f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c25033218d181b27d4a2944fbb04fc055da4eab360025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050620002a9565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200021a82620001ef565b9050919050565b6200022c816200020e565b811462000237575f80fd5b50565b5f815190506200024a8162000221565b92915050565b5f805f606084860312156200026a5762000269620001eb565b5b5f62000279868287016200023a565b93505060206200028c868287016200023a565b92505060406200029f868287016200023a565b9150509250925092565b61398480620002b75f395ff3fe608060405234801561000f575f80fd5b50600436106101a7575f3560e01c8063809bae77116100f7578063b688a36311610095578063c81208ae1161006f578063c81208ae146104a0578063db2e21bc146104be578063f2fde38b146104c8578063f887ea40146104e4576101a7565b8063b688a3631461045a578063c3692abd14610464578063c6ce691b14610482576101a7565b8063a1d39b06116100d1578063a1d39b06146103bb578063a49062d4146103d7578063a8085a93146103f5578063a87430ba14610425576101a7565b8063809bae771461034f5780638da5cb5b1461036d578063a11e5d5d1461038b576101a7565b806335082933116101645780635e731f621161013e5780635e731f62146102d95780636eba2b13146102f75780637672e260146103275780637d67c4a714610345576101a7565b8063350829331461028357806336b19cd71461029f578063432c9aa8146102bd576101a7565b806306fbedbe146101ab5780630e62c5a0146101c957806317c05074146101f957806319ad49a9146102295780632f48ab7d146102475780633087110a14610265575b5f80fd5b6101b3610502565b6040516101c09190612beb565b60405180910390f35b6101e360048036038101906101de9190612c3f565b610508565b6040516101f09190612ca9565b60405180910390f35b610213600480360381019061020e9190612c3f565b610543565b6040516102209190612ca9565b60405180910390f35b61023161057e565b60405161023e9190612beb565b60405180910390f35b61024f610584565b60405161025c9190612d1d565b60405180910390f35b61026d6105a7565b60405161027a9190612beb565b60405180910390f35b61029d60048036038101906102989190612d60565b6105ad565b005b6102a761067f565b6040516102b49190612ca9565b60405180910390f35b6102d760048036038101906102d29190612dc0565b6106a4565b005b6102e1610bd9565b6040516102ee9190612beb565b60405180910390f35b610311600480360381019061030c9190612d60565b610bdf565b60405161031e9190612beb565b60405180910390f35b61032f610fc8565b60405161033c9190612d1d565b60405180910390f35b61034d610fed565b005b6103576110a6565b6040516103649190612beb565b60405180910390f35b6103756110ac565b6040516103829190612ca9565b60405180910390f35b6103a560048036038101906103a09190612c3f565b6110d1565b6040516103b29190612ca9565b60405180910390f35b6103d560048036038101906103d09190612dc0565b61110c565b005b6103df611493565b6040516103ec9190612beb565b60405180910390f35b61040f600480360381019061040a9190612c3f565b611499565b60405161041c9190612ca9565b60405180910390f35b61043f600480360381019061043a9190612d60565b6114d4565b60405161045196959493929190612dfa565b60405180910390f35b610462611537565b005b61046c611ab4565b6040516104799190612ca9565b60405180910390f35b61048a611acc565b6040516104979190612beb565b60405180910390f35b6104a8611ad2565b6040516104b59190612e59565b60405180910390f35b6104c6611ae4565b005b6104e260048036038101906104dd9190612d60565b611ce9565b005b6104ec611dbb565b6040516104f99190612e92565b60405180910390f35b600e5481565b60088181548110610517575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60078181548110610552575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d5481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461063c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063390612f05565b60405180910390fd5b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f600182600101540361075b57600b549050600733908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610845565b60028260010154036107d157600c549050600833908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610844565b600382600101540361084357600d549050600933908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b600f5482600101541061088d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088490612f6d565b60405180910390fd5b80826002015410156108d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cb90612fd5565b60405180910390fd5b816005015f9054906101000a900460ff16610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b9061303d565b60405180910390fd5b80826002015f8282546109379190613088565b925050819055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016109b99291906130bb565b6020604051808303815f875af11580156109d5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f991906130f6565b610a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2f9061316b565b60405180910390fd5b5f826002015490505f83600201819055505f836005015f6101000a81548160ff021916908315150217905550826001015f815480929190610a7890613189565b91905055505f83600301819055508315610a9a57610a9581611de0565b610b74565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610af49291906130bb565b6020604051808303815f875af1158015610b10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3491906130f6565b610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a9061321a565b60405180910390fd5b5b610b8183600101546120cb565b3373ffffffffffffffffffffffffffffffffffffffff167ff188b1697a1957c8cf926acf3bd65c4bbfa00e37d369a477738e28c39aee097d8460010154604051610bcb9190612beb565b60405180910390a250505050565b600b5481565b5f8073ffffffffffffffffffffffffffffffffffffffff1660055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca390613282565b60405180910390fd5b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600101549050606060018203610d85576006805480602002602001604051908101604052809291908181526020018280548015610d7957602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610d30575b50505050509050610f3d565b60028203610e18576007805480602002602001604051908101604052809291908181526020018280548015610e0c57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610dc3575b50505050509050610f3c565b60038203610eab576008805480602002602001604051908101604052809291908181526020018280548015610e9f57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610e56575b50505050509050610f3b565b60048203610f3a576009805480602002602001604051908101604052809291908181526020018280548015610f3257602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610ee9575b505050505090505b5b5b5b5f5b81518160ff161015610fbc578473ffffffffffffffffffffffffffffffffffffffff16828260ff1681518110610f7857610f776132a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610fa9578060ff169350505050610fc3565b8080610fb4906132d9565b915050610f3f565b505f925050505b919050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107390612f05565b60405180910390fd5b60115f9054906101000a900460ff161560115f6101000a81548160ff021916908315150217905550565b600a5481565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600681815481106110e0575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816002015411611192576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111899061334b565b60405180910390fd5b806005015f9054906101000a900460ff166111e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d99061303d565b60405180910390fd5b5f81600201549050600482600101541461131c575f6064600a836112069190613369565b61121091906133d7565b9050808261121e9190613088565b91505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161129b9291906130bb565b6020604051808303815f875af11580156112b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112db91906130f6565b61131a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113119061321a565b60405180910390fd5b505b82156113305761132b81611de0565b61140a565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b815260040161138a9291906130bb565b6020604051808303815f875af11580156113a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ca91906130f6565b611409576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114009061321a565b60405180910390fd5b5b5f82600201819055505f82600101819055505f82600301819055505f826005015f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f016e128b6bdadd9e9068abd0b18db2fc8b27ed3dbced50e4aa6cc0a6934251ab826040516114869190612beb565b60405180910390a2505050565b600f5481565b600981815481106114a8575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6005602052805f5260405f205f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002015490806003015490806004015490806005015f9054906101000a900460ff16905086565b5f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f8160010154036115f257600181600101819055505f81600301819055505f816005015f6101000a81548160ff02191690831515021790555033815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5f816003015414611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f90613477565b60405180910390fd5b6001816001015403611a30575f600680549050036117b357600633908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a546040518463ffffffff1660e01b815260040161172f93929190613495565b6020604051808303815f875af115801561174b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061176f91906130f6565b6117ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a590613514565b60405180910390fd5b611a2f565b600633908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6064600a80546118249190613369565b61182e91906133d7565b600a5461183b9190613088565b90505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3360045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166064600a80546118ab9190613369565b6118b591906133d7565b6040518463ffffffff1660e01b81526004016118d393929190613495565b6020604051808303815f875af11580156118ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061191391906130f6565b611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194990613514565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b81526004016119ae93929190613495565b6020604051808303815f875af11580156119ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119ee91906130f6565b611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490613514565b60405180910390fd5b505b5b611a3d81600101546120cb565b60105f815480929190611a4f90613189565b919050555060105481600401819055503373ffffffffffffffffffffffffffffffffffffffff167f49f8fa5eee2e3f21251c2e968640dcaef35cb9332429eb059bb3cd56ddc2533d8260010154604051611aa99190612beb565b60405180910390a250565b73c25033218d181b27d4a2944fbb04fc055da4eab381565b600c5481565b60115f9054906101000a900460ff1681565b60115f9054906101000a900460ff16611b32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b29906135a2565b60405180910390fd5b5f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f81600201549050611b88338360010154612631565b5f82600201819055505f82600101819055505f82600301819055505f826005015f6101000a81548160ff0219169083151502179055505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401611c189291906130bb565b6020604051808303815f875af1158015611c34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c5891906130f6565b611c97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8e9061360a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f23d6711a1d031134a36921253c75aa59e967d38e369ac625992824315e204f2082604051611cdd9190612beb565b60405180910390a25050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6f90612f05565b60405180910390fd5b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600267ffffffffffffffff811115611dfc57611dfb613628565b5b604051908082528060200260200182016040528015611e2a5781602001602082028036833780820191505090505b5090505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815f81518110611e6057611e5f6132a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110611ed057611ecf6132a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401611f859291906130bb565b6020604051808303815f875af1158015611fa1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc591906130f6565b5060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed1739835f843361012c426120159190613655565b6040518663ffffffff1660e01b8152600401612035959493929190613778565b5f604051808303815f875af1158015612050573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906120789190613907565b503373ffffffffffffffffffffffffffffffffffffffff167fae980f4d0e281ab990c5d072a206f3ad28ddb2987cbe422366c4b021e6924fb0836040516120bf9190612beb565b60405180910390a25050565b5f60605f6001840361216f57600680548060200260200160405190810160405280929190818152602001828054801561215657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161210d575b505050505091506006805490509250600a54905061234e565b6002840361220f5760078054806020026020016040519081016040528092919081815260200182805480156121f657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116121ad575b505050505091506007805490509250600b54905061234d565b600384036122af57600880548060200260200160405190810160405280929190818152602001828054801561229657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161224d575b505050505091506008805490509250600c54905061234c565b6004840361234b57600980548060200260200160405190810160405280929190818152602001828054801561233657602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116122ed575b505050505091506009805490509250600d5490505b5b5b5b5f825f81518110612362576123616132a0565b5b6020026020010151905060055f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206003015f8154809291906123bc90613189565b9190505550600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600301541180156124525750600a60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206003015411155b156124cc575f6064600e54846124689190613369565b61247291906133d7565b90508060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206002015f8282546124c39190613655565b92505081905550505b600a60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600301540361262a5761255e8160055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060010154612631565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206005015f6101000a81548160ff021916908315150217905550826001815181106125ca576125c96132a0565b5b6020026020010151905060055f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206003015f81548092919061262490613189565b91905055505b5050505050565b6060600182036126c65760068054806020026020016040519081016040528092919081815260200182805480156126ba57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612671575b5050505050905061287e565b6002820361275957600780548060200260200160405190810160405280929190818152602001828054801561274d57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612704575b5050505050905061287d565b600382036127ec5760088054806020026020016040519081016040528092919081815260200182805480156127e057602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612797575b5050505050905061287c565b6004820361287b57600980548060200260200160405190810160405280929190818152602001828054801561287357602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161282a575b505050505090505b5b5b5b5f815167ffffffffffffffff81111561289a57612899613628565b5b6040519080825280602002602001820160405280156128c85781602001602082028036833780820191505090505b5090505f805b83518160ff1610156129ba578573ffffffffffffffffffffffffffffffffffffffff16848260ff1681518110612907576129066132a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146129a757838160ff16815181106129405761293f6132a0565b5b6020026020010151838360ff168151811061295e5761295d6132a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081806129a3906132d9565b9250505b80806129b2906132d9565b9150506128ce565b508060ff1667ffffffffffffffff8111156129d8576129d7613628565b5b604051908082528060200260200182016040528015612a065781602001602082028036833780820191505090505b5092505f5b8160ff168160ff161015612a9a57828160ff1681518110612a2f57612a2e6132a0565b5b6020026020010151848260ff1681518110612a4d57612a4c6132a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080612a92906132d9565b915050612a0b565b5060018403612abf578260069080519060200190612ab9929190612b31565b50612b2a565b60028403612ae3578260079080519060200190612add929190612b31565b50612b29565b60038403612b07578260089080519060200190612b01929190612b31565b50612b28565b60048403612b27578260099080519060200190612b25929190612b31565b505b5b5b5b5050505050565b828054828255905f5260205f20908101928215612ba7579160200282015b82811115612ba6578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612b4f565b5b509050612bb49190612bb8565b5090565b5b80821115612bcf575f815f905550600101612bb9565b5090565b5f819050919050565b612be581612bd3565b82525050565b5f602082019050612bfe5f830184612bdc565b92915050565b5f604051905090565b5f80fd5b5f80fd5b612c1e81612bd3565b8114612c28575f80fd5b50565b5f81359050612c3981612c15565b92915050565b5f60208284031215612c5457612c53612c0d565b5b5f612c6184828501612c2b565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612c9382612c6a565b9050919050565b612ca381612c89565b82525050565b5f602082019050612cbc5f830184612c9a565b92915050565b5f819050919050565b5f612ce5612ce0612cdb84612c6a565b612cc2565b612c6a565b9050919050565b5f612cf682612ccb565b9050919050565b5f612d0782612cec565b9050919050565b612d1781612cfd565b82525050565b5f602082019050612d305f830184612d0e565b92915050565b612d3f81612c89565b8114612d49575f80fd5b50565b5f81359050612d5a81612d36565b92915050565b5f60208284031215612d7557612d74612c0d565b5b5f612d8284828501612d4c565b91505092915050565b5f8115159050919050565b612d9f81612d8b565b8114612da9575f80fd5b50565b5f81359050612dba81612d96565b92915050565b5f60208284031215612dd557612dd4612c0d565b5b5f612de284828501612dac565b91505092915050565b612df481612d8b565b82525050565b5f60c082019050612e0d5f830189612c9a565b612e1a6020830188612bdc565b612e276040830187612bdc565b612e346060830186612bdc565b612e416080830185612bdc565b612e4e60a0830184612deb565b979650505050505050565b5f602082019050612e6c5f830184612deb565b92915050565b5f612e7c82612cec565b9050919050565b612e8c81612e72565b82525050565b5f602082019050612ea55f830184612e83565b92915050565b5f82825260208201905092915050565b7f4e6f7420746865206f776e6572000000000000000000000000000000000000005f82015250565b5f612eef600d83612eab565b9150612efa82612ebb565b602082019050919050565b5f6020820190508181035f830152612f1c81612ee3565b9050919050565b7f4d6178206c6576656c20726561636865640000000000000000000000000000005f82015250565b5f612f57601183612eab565b9150612f6282612f23565b602082019050919050565b5f6020820190508181035f830152612f8481612f4b565b9050919050565b7f496e73756666696369656e74206561726e696e677300000000000000000000005f82015250565b5f612fbf601583612eab565b9150612fca82612f8b565b602082019050919050565b5f6020820190508181035f830152612fec81612fb3565b9050919050565b7f43616e6e6f7420776974686472617720796574000000000000000000000000005f82015250565b5f613027601383612eab565b915061303282612ff3565b602082019050919050565b5f6020820190508181035f8301526130548161301b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61309282612bd3565b915061309d83612bd3565b92508282039050818111156130b5576130b461305b565b5b92915050565b5f6040820190506130ce5f830185612c9a565b6130db6020830184612bdc565b9392505050565b5f815190506130f081612d96565b92915050565b5f6020828403121561310b5761310a612c0d565b5b5f613118848285016130e2565b91505092915050565b7f466565207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f613155601383612eab565b915061316082613121565b602082019050919050565b5f6020820190508181035f83015261318281613149565b9050919050565b5f61319382612bd3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131c5576131c461305b565b5b600182019050919050565b7f5769746864726177616c206661696c65640000000000000000000000000000005f82015250565b5f613204601183612eab565b915061320f826131d0565b602082019050919050565b5f6020820190508181035f830152613231816131f8565b9050919050565b7f55736572206e6f7420666f756e640000000000000000000000000000000000005f82015250565b5f61326c600e83612eab565b915061327782613238565b602082019050919050565b5f6020820190508181035f83015261329981613260565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60ff82169050919050565b5f6132e3826132cd565b915060ff82036132f6576132f561305b565b5b600182019050919050565b7f4e6f206561726e696e677320617661696c61626c6500000000000000000000005f82015250565b5f613335601583612eab565b915061334082613301565b602082019050919050565b5f6020820190508181035f83015261336281613329565b9050919050565b5f61337382612bd3565b915061337e83612bd3565b925082820261338c81612bd3565b915082820484148315176133a3576133a261305b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133e182612bd3565b91506133ec83612bd3565b9250826133fc576133fb6133aa565b5b828204905092915050565b7f43616e6e6f74207265656e746572206265666f7265206379636c6520636f6d705f8201527f6c65746573000000000000000000000000000000000000000000000000000000602082015250565b5f613461602583612eab565b915061346c82613407565b604082019050919050565b5f6020820190508181035f83015261348e81613455565b9050919050565b5f6060820190506134a85f830186612c9a565b6134b56020830185612c9a565b6134c26040830184612bdc565b949350505050565b7f5061796d656e74206661696c65640000000000000000000000000000000000005f82015250565b5f6134fe600e83612eab565b9150613509826134ca565b602082019050919050565b5f6020820190508181035f83015261352b816134f2565b9050919050565b7f43616e206f6e6c79207472696767657220656d657267656e63792077697468645f8201527f726177207768656e20656d657267656e6379206861746368206973206f70656e602082015250565b5f61358c604083612eab565b915061359782613532565b604082019050919050565b5f6020820190508181035f8301526135b981613580565b9050919050565b7f456d657267656e6379207769746864726177616c206661696c656400000000005f82015250565b5f6135f4601b83612eab565b91506135ff826135c0565b602082019050919050565b5f6020820190508181035f830152613621816135e8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61365f82612bd3565b915061366a83612bd3565b92508282019050808211156136825761368161305b565b5b92915050565b5f819050919050565b5f6136ab6136a66136a184613688565b612cc2565b612bd3565b9050919050565b6136bb81613691565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6136f381612c89565b82525050565b5f61370483836136ea565b60208301905092915050565b5f602082019050919050565b5f613726826136c1565b61373081856136cb565b935061373b836136db565b805f5b8381101561376b57815161375288826136f9565b975061375d83613710565b92505060018101905061373e565b5085935050505092915050565b5f60a08201905061378b5f830188612bdc565b61379860208301876136b2565b81810360408301526137aa818661371c565b90506137b96060830185612c9a565b6137c66080830184612bdc565b9695505050505050565b5f80fd5b5f601f19601f8301169050919050565b6137ed826137d4565b810181811067ffffffffffffffff8211171561380c5761380b613628565b5b80604052505050565b5f61381e612c04565b905061382a82826137e4565b919050565b5f67ffffffffffffffff82111561384957613848613628565b5b602082029050602081019050919050565b5f80fd5b5f8151905061386c81612c15565b92915050565b5f61388461387f8461382f565b613815565b905080838252602082019050602084028301858111156138a7576138a661385a565b5b835b818110156138d057806138bc888261385e565b8452602084019350506020810190506138a9565b5050509392505050565b5f82601f8301126138ee576138ed6137d0565b5b81516138fe848260208601613872565b91505092915050565b5f6020828403121561391c5761391b612c0d565b5b5f82015167ffffffffffffffff81111561393957613938612c11565b5b613945848285016138da565b9150509291505056fea264697066735822122079c22537045a44a7be83af417d58d0f64bb1f8edd6cc02e22e344680ad4311a364736f6c6343000814003300000000000000000000000055d398326f99059ff775485246999027b3197955000000000000000000000000963556de0eb8138e97a85f0a86ee0acd159d210b000000000000000000000000e137d7dda57eb11902dacee04d84e4ee0490d5e2