019bb377-84c2-701a-9244-2bb4af000d2a
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 39942 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 39943 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 39944 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 39945 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 39946 | capability.graph | complete | 1 / 3 | 3 months ago |
| 39947 | detector.run | complete | 1 / 3 | 3 months ago |
| 39948 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39993 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 39994 | tool.slither | complete | 1 / 2 | 3 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-swqqgsay) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-swqqgsay) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) has bitwise-xor operator ^ instead of the exponentiation operator **: - inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#259) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#244) - inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#259) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#244) - inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#263) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#244) - inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#264) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#244) - inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#265) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#244) - inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#266) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#244) - inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#267) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#244) - inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#268) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) performs a multiplication on the result of a division: - low = low / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#247) - result = low * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#274) Math.invMod(uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#317-363) performs a multiplication on the result of a division: - quotient = gcd / remainder (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#339) - (gcd,remainder) = (remainder,gcd - remainder * quotient) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#341-348) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply SignatureChecker.isValidSignatureNow(address,bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#32-39) ignores return value by (recovered,err,None) = ECDSA.tryRecover(hash,signature) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#34) SignatureChecker.isValidSignatureNowCalldata(address,bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#44-55) ignores return value by (recovered,err,None) = ECDSA.tryRecoverCalldata(hash,signature) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#50) AccessControlEnumerableUpgradeable._grantRole(bytes32,address) (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#72-79) ignores return value by $._roleMembers[role].add(account) (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#76) AccessControlEnumerableUpgradeable._revokeRole(bytes32,address) (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#84-91) ignores return value by $._roleMembers[role].remove(account) (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#88) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return Distributor.finalizePrefill(uint256,uint256,uint256) (src/unlock/v1/Distributor.sol#815-833) should emit an event for: - totalCarryGenerated = totalCarryGenerated_ (src/unlock/v1/Distributor.sol#821) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic Distributor._claimable(bytes16,uint64,bool) (src/unlock/v1/Distributor.sol#503-530) has external calls inside a loop: totalReceived = token.balanceOf(address(this)) + (totalClaimed - totalCarryGenerated) + totalCarryWithdrawn (src/unlock/v1/Distributor.sol#512-513) Calls stack containing the loop: Distributor.claimable(bytes16[],uint64[],bool) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop Reentrancy in Distributor.claim(ClaimData,bytes,bytes,Claimer,bytes32[],bool) (src/unlock/v1/Distributor.sol#266-279): External calls: - pullUnlockedTokens() (src/unlock/v1/Distributor.sol#275) - UnlockerLib.release(unlocker) (src/unlock/v1/Distributor.sol#251) - IEchoUnlocker(unlocker.unlocker).release() (src/unlock/v1/UnlockerLib.sol#75-79) - ISuperfluidUnlocker(unlocker.unlocker).downgrade(ISuperfluidUnlocker(unlocker.unlocker).balanceOf(address(this))) (src/unlock/v1/UnlockerLib.sol#84-88) State variables written after the call(s): - _release(claimData,claimSignatureUser,claimSignaturePlatform,user,merkleProof) (src/unlock/v1/Distributor.sol#278) - $ = AccessControlStorageLocation (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#69) - _release(claimData,claimSignatureUser,claimSignaturePlatform,user,merkleProof) (src/unlock/v1/Distributor.sol#278) - $ = EIP712StorageLocation (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#52) - _release(claimData,claimSignatureUser,claimSignaturePlatform,user,merkleProof) (src/unlock/v1/Distributor.sol#278) - state.amountClaimed += claimData.amount (src/unlock/v1/Distributor.sol#336) - state.amountClaimedUSDC += uint64(amountUSDC) (src/unlock/v1/Distributor.sol#337) - _release(claimData,claimSignatureUser,claimSignaturePlatform,user,merkleProof) (src/unlock/v1/Distributor.sol#278) - totalCarryGenerated += amountCarry (src/unlock/v1/Distributor.sol#340) - _release(claimData,claimSignatureUser,claimSignaturePlatform,user,merkleProof) (src/unlock/v1/Distributor.sol#278) - totalClaimed += claimData.amount (src/unlock/v1/Distributor.sol#339) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2 Reentrancy in Distributor.claim(ClaimData,bytes,bytes,Claimer,bytes32[],bool) (src/unlock/v1/Distributor.sol#266-279): External calls: - pullUnlockedTokens() (src/unlock/v1/Distributor.sol#275) - UnlockerLib.release(unlocker) (src/unlock/v1/Distributor.sol#251) - IEchoUnlocker(unlocker.unlocker).release() (src/unlock/v1/UnlockerLib.sol#75-79) - ISuperfluidUnlocker(unlocker.unlocker).downgrade(ISuperfluidUnlocker(unlocker.unlocker).balanceOf(address(this))) (src/unlock/v1/UnlockerLib.sol#84-88) Event emitted after the call(s): - Claimed(tokenDistributionUUID,claimData.entityUUID,claimData.receiver,claimData.amount,amountUSDC,amountCarry) (src/unlock/v1/Distributor.sol#342-344) - _release(claimData,claimSignatureUser,claimSignaturePlatform,user,merkleProof) (src/unlock/v1/Distributor.sol#278) Reentrancy in UnlockerLib.release(UnlockerLib.Unlocker) (src/unlock/v1/UnlockerLib.sol#67-93): External calls: - IEchoUnlocker(unlocker.unlocker).release() (src/unlock/v1/UnlockerLib.sol#75-79) Event emitted after the call(s): - ReleaseFailedLog(reason) (src/unlock/v1/UnlockerLib.sol#78) Reentrancy in UnlockerLib.release(UnlockerLib.Unlocker) (src/unlock/v1/UnlockerLib.sol#67-93): External calls: - ISuperfluidUnlocker(unlocker.unlocker).downgrade(ISuperfluidUnlocker(unlocker.unlocker).balanceOf(address(this))) (src/unlock/v1/UnlockerLib.sol#84-88) Event emitted after the call(s): - ReleaseFailedLog(reason_scope_0) (src/unlock/v1/UnlockerLib.sol#87) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3 Distributor._release(ClaimData,bytes,bytes,Claimer,bytes32[]) (src/unlock/v1/Distributor.sol#281-347) uses timestamp for comparisons Dangerous comparisons: - block.timestamp >= claimData.expiresAt (src/unlock/v1/Distributor.sol#292) Distributor.withdrawCarry(CarryWithdrawalData,bytes,bytes) (src/unlock/v1/Distributor.sol#393-441) uses timestamp for comparisons Dangerous comparisons: - block.timestamp >= data.expiresAt (src/unlock/v1/Distributor.sol#402) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp SafeERC20._safeTransfer(IERC20,address,uint256,bool) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#176-200) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#179-199) SafeERC20._safeTransferFrom(IERC20,address,address,uint256,bool) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#212-244) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#221-243) SafeERC20._safeApprove(IERC20,address,uint256,bool) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#255-279) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#258-278) Arrays._begin(uint256[]) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#142-146) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#143-145) Arrays._mload(uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#161-165) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#162-164) Arrays._swap(uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#170-177) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#171-176) Arrays._castToUint256Array(address[]) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#180-184) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#181-183) Arrays._castToUint256Array(bytes32[]) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#187-191) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#188-190) Arrays._castToUint256Comp(function(address,address) returns(bool)) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#194-200) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#197-199) Arrays._castToUint256Comp(function(bytes32,bytes32) returns(bool)) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#203-209) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#206-208) Arrays.slice(address[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#394-406) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#401-403) Arrays.slice(bytes32[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#424-436) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#431-433) Arrays.slice(uint256[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#454-466) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#461-463) Arrays.splice(address[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#485-497) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#491-494) Arrays.replace(address[],uint256,address[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#526-548) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#539-545) Arrays.splice(bytes32[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#567-579) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#573-576) Arrays.replace(bytes32[],uint256,bytes32[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#608-630) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#621-627) Arrays.splice(uint256[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#649-661) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#655-658) Arrays.replace(uint256[],uint256,uint256[],uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#690-712) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#703-709) Arrays.unsafeAccess(address[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#719-725) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#721-723) Arrays.unsafeAccess(bytes32[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#732-738) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#734-736) Arrays.unsafeAccess(uint256[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#745-751) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#747-749) Arrays.unsafeAccess(bytes[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#758-764) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#760-762) Arrays.unsafeAccess(string[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#771-777) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#773-775) Arrays.unsafeMemoryAccess(address[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#784-788) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#785-787) Arrays.unsafeMemoryAccess(bytes32[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#795-799) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#796-798) Arrays.unsafeMemoryAccess(uint256[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#806-810) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#807-809) Arrays.unsafeMemoryAccess(bytes[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#817-821) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#818-820) Arrays.unsafeMemoryAccess(string[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#828-832) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#829-831) Arrays.unsafeSetLength(address[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#839-843) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#840-842) Arrays.unsafeSetLength(bytes32[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#850-854) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#851-853) Arrays.unsafeSetLength(uint256[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#861-865) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#862-864) Arrays.unsafeSetLength(bytes[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#872-876) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#873-875) Arrays.unsafeSetLength(string[],uint256) (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#883-887) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#884-886) Bytes.slice(bytes,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#86-98) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#93-95) Bytes.splice(bytes,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#117-129) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#123-126) Bytes.replace(bytes,uint256,bytes,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#154-172) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#167-169) Bytes.concat(bytes[]) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#183-203) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#194-196) Bytes.toNibbles(bytes) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#210-245) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#211-244) Bytes._unsafeReadBytesOffset(bytes,uint256) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#326-331) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#328-330) Panic.panic(uint256) (lib/openzeppelin-contracts/contracts/utils/Panic.sol#50-56) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Panic.sol#51-55) SlotDerivation.erc7201Slot(string) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#45-50) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#46-49) SlotDerivation.deriveArray(bytes32) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#64-69) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#65-68) SlotDerivation.deriveMapping(bytes32,address) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#74-80) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#75-79) SlotDerivation.deriveMapping(bytes32,bool) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#85-91) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#86-90) SlotDerivation.deriveMapping(bytes32,bytes32) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#96-102) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#97-101) SlotDerivation.deriveMapping(bytes32,uint256) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#107-113) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#108-112) SlotDerivation.deriveMapping(bytes32,int256) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#118-124) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#119-123) SlotDerivation.deriveMapping(bytes32,string) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#129-139) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#130-138) SlotDerivation.deriveMapping(bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#144-154) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#145-153) StorageSlot.getAddressSlot(bytes32) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#66-70) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#67-69) StorageSlot.getBooleanSlot(bytes32) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#75-79) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#76-78) StorageSlot.getBytes32Slot(bytes32) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#84-88) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#85-87) StorageSlot.getUint256Slot(bytes32) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#93-97) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#94-96) StorageSlot.getInt256Slot(bytes32) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#102-106) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#103-105) StorageSlot.getStringSlot(bytes32) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#111-115) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#112-114) StorageSlot.getStringSlot(string) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#120-124) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#121-123) StorageSlot.getBytesSlot(bytes32) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#129-133) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#130-132) StorageSlot.getBytesSlot(bytes) (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#138-142) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#139-141) Strings.toString(uint256) (lib/openzeppelin-contracts/contracts/utils/Strings.sol#46-64) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Strings.sol#51-53) - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Strings.sol#56-58) Strings.toChecksumHexString(address) (lib/openzeppelin-contracts/contracts/utils/Strings.sol#112-130) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Strings.sol#117-119) Strings.escapeJSON(string) (lib/openzeppelin-contracts/contracts/utils/Strings.sol#464-494) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Strings.sol#488-491) Strings._unsafeReadBytesOffset(bytes,uint256) (lib/openzeppelin-contracts/contracts/utils/Strings.sol#502-507) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Strings.sol#504-506) ECDSA.tryRecover(bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#61-80) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#71-75) ECDSA.tryRecoverCalldata(bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#85-104) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#95-99) ECDSA.parse(bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#217-240) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#218-239) ECDSA.parseCalldata(bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#245-268) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#246-267) Hashes.efficientKeccak256(bytes32,bytes32) (lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol#24-30) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol#25-29) MessageHashUtils.toEthSignedMessageHash(bytes32) (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#32-38) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#33-37) MessageHashUtils.toDataWithIntendedValidatorHash(address,bytes32) (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#71-81) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#75-80) MessageHashUtils.toTypedDataHash(bytes32,bytes32) (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#92-100) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#93-99) MessageHashUtils.toDomainSeparator(bytes1,bytes32,bytes32,uint256,address,bytes32) (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#137-179) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#147-178) MessageHashUtils.toDomainTypeHash(bytes1) (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#182-227) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#185-226) SignatureChecker.isValidERC1271SignatureNow(address,bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#64-88) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#72-87) SignatureChecker.isValidERC1271SignatureNowCalldata(address,bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#90-115) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#98-114) Math.add512(uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#25-30) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#26-29) Math.mul512(uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#37-46) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#41-45) Math.tryMul(uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#73-84) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#76-80) Math.tryDiv(uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#89-97) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#92-95) Math.tryMod(uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102-110) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#105-108) Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#206-277) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#229-236) - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#242-251) Math.tryModExp(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#411-435) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#413-434) Math.tryModExp(bytes,bytes,bytes) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#451-473) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#463-472) Math._zeroBytes(bytes) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#478-490) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#482-484) Math.log2(uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#619-658) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#655-657) SafeCast.toUint(bool) (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1157-1161) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#1158-1160) EnumerableSet.values(EnumerableSet.Bytes32Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#276-285) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#280-282) EnumerableSet.values(EnumerableSet.Bytes32Set,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#295-304) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#299-301) EnumerableSet.values(EnumerableSet.Bytes4Set) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#378-387) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#382-384) EnumerableSet.values(EnumerableSet.Bytes4Set,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#397-406) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#401-403) EnumerableSet.values(EnumerableSet.AddressSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#480-489) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#484-486) EnumerableSet.values(EnumerableSet.AddressSet,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#499-508) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#503-505) EnumerableSet.values(EnumerableSet.UintSet) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#582-591) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#586-588) EnumerableSet.values(EnumerableSet.UintSet,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#601-610) uses assembly - INLINE ASM (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#605-607) AccessControlUpgradeable._getAccessControlStorage() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#67-71) uses assembly - INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#68-70) AccessControlEnumerableUpgradeable._getAccessControlEnumerableStorage() (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#25-29) uses assembly - INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#26-28) Initializable._getInitializableStorage() (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#223-227) uses assembly - INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#224-226) EIP712Upgradeable._getEIP712Storage() (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#50-54) uses assembly - INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#51-53) Merkle.hashLeaf(bytes) (src/Merkle.sol#47-54) uses assembly - INLINE ASM (src/Merkle.sol#49-52) Merkle.hashPairs(bytes32[],bool) (src/Merkle.sol#110-140) uses assembly - INLINE ASM (src/Merkle.sol#134-136) Merkle.efficientHash(bytes32,bytes32) (src/Merkle.sol#146-153) uses assembly - INLINE ASM (src/Merkle.sol#148-152) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage 7 different versions of Solidity are used: - Version constraint >=0.8.4 is used by: ->=0.8.4 (lib/openzeppelin-contracts/contracts/access/IAccessControl.sol#4) ->=0.8.4 (lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol#4) - Version constraint >=0.5.0 is used by: ->=0.5.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol#4) ->=0.5.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol#4) - Version constraint >=0.6.2 is used by: ->=0.6.2 (lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol#4) - Version constraint >=0.4.16 is used by: ->=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol#4) ->=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#4) ->=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol#4) ->=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4) ->=0.4.16 (lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4) - Version constraint ^0.8.20 is used by: -^0.8.20 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Comparators.sol#4) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Panic.sol#4) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#5) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#5) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#4) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol#4) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol#5) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#4) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#5) -^0.8.20 (lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol#4) -^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#4) -^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#4) -^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4) -^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4) -^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#4) -^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#4) - Version constraint ^0.8.24 is used by: -^0.8.24 (lib/openzeppelin-contracts/contracts/utils/Arrays.sol#5) -^0.8.24 (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#4) -^0.8.24 (lib/openzeppelin-contracts/contracts/utils/Strings.sol#4) -^0.8.24 (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#4) -^0.8.24 (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#4) -^0.8.24 (lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol#5) - Version constraint ^0.8.23 is used by: -^0.8.23 (src/Merkle.sol#2) -^0.8.23 (src/Versioned.sol#2) -^0.8.23 (src/interfaces/GenericRegistryKeys.sol#2) -^0.8.23 (src/interfaces/IGenericRegistry.sol#2) -^0.8.23 (src/interfaces/PlatformEvents.sol#2) -^0.8.23 (src/unlock/v1/Distributor.sol#2) -^0.8.23 (src/unlock/v1/Types.sol#2) -^0.8.23 (src/unlock/v1/UnlockerLib.sol#2) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used Version constraint >=0.8.4 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - FullInlinerNonExpressionSplitArgumentEvaluationOrder - MissingSideEffectsOnSelectorAccess - AbiReencodingHeadOverflowWithStaticArrayCleanup - DirtyBytesArrayToStorage - DataLocationChangeInInternalOverride - NestedCalldataArrayAbiReencodingSizeValidation - SignedImmutables. It is used by: - >=0.8.4 (lib/openzeppelin-contracts/contracts/access/IAccessControl.sol#4) - >=0.8.4 (lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol#4) Version constraint >=0.5.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - DirtyBytesArrayToStorage - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - privateCanBeOverridden - SignedArrayStorageCopy - ABIEncoderV2StorageArrayWithMultiSlotElement - DynamicConstructorArgumentsClippedABIV2 - UninitializedFunctionPointerInConstructor - IncorrectEventSignatureInLibraries - ABIEncoderV2PackedStorage. It is used by: - >=0.5.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol#4) - >=0.5.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC7913.sol#4) Version constraint >=0.6.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - MissingSideEffectsOnSelectorAccess - AbiReencodingHeadOverflowWithStaticArrayCleanup - DirtyBytesArrayToStorage - NestedCalldataArrayAbiReencodingSizeValidation - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - MissingEscapingInFormatting - ArraySliceDynamicallyEncodedBaseType - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow. It is used by: - >=0.6.2 (lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol#4) Version constraint >=0.4.16 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - DirtyBytesArrayToStorage - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup - ImplicitConstructorCallvalueCheck - TupleAssignmentMultiStackSlotComponents - MemoryArrayCreationOverflow - privateCanBeOverridden - SignedArrayStorageCopy - ABIEncoderV2StorageArrayWithMultiSlotElement - DynamicConstructorArgumentsClippedABIV2 - UninitializedFunctionPointerInConstructor_0.4.x - IncorrectEventSignatureInLibraries_0.4.x - ExpExponentCleanup - NestedArrayFunctionCallDecoder - ZeroFunctionSelector. It is used by: - >=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol#4) - >=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#4) - >=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol#4) - >=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4) - >=0.4.16 (lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4) Version constraint ^0.8.20 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - VerbatimInvalidDeduplication - FullInlinerNonExpressionSplitArgumentEvaluationOrder - MissingSideEffectsOnSelectorAccess. It is used by: - ^0.8.20 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Comparators.sol#4) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Panic.sol#4) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol#5) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#5) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol#4) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/cryptography/Hashes.sol#4) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol#5) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#4) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#5) - ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol#4) - ^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#4) - ^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#4) - ^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4) - ^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4) - ^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#4) - ^0.8.20 (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#4) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity Low level call in SignatureChecker.isValidSignatureNow(bytes,bytes32,bytes) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#132-149): - (success,result) = address(bytes20(signer)).staticcall(abi.encodeCall(IERC7913SignatureVerifier.verify,(signer.slice(20),hash,signature))) (lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol#142-144) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls Function AccessControlUpgradeable.__AccessControl_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#82-83) is not in mixedCase Function AccessControlUpgradeable.__AccessControl_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#85-86) is not in mixedCase Constant AccessControlUpgradeable.AccessControlStorageLocation (lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol#65) is not in UPPER_CASE_WITH_UNDERSCORES Function AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init() (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#31-32) is not in mixedCase Function AccessControlEnumerableUpgradeable.__AccessControlEnumerable_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#34-35) is not in mixedCase Constant AccessControlEnumerableUpgradeable.AccessControlEnumerableStorageLocation (lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol#23) is not in UPPER_CASE_WITH_UNDERSCORES Function ContextUpgradeable.__Context_init() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#18-19) is not in mixedCase Function ContextUpgradeable.__Context_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#21-22) is not in mixedCase Function EIP712Upgradeable.__EIP712_init(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#68-70) is not in mixedCase Function EIP712Upgradeable.__EIP712_init_unchained(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#72-80) is not in mixedCase Function EIP712Upgradeable._EIP712Name() (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#151-154) is not in mixedCase Function EIP712Upgradeable._EIP712Version() (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#162-165) is not in mixedCase Function EIP712Upgradeable._EIP712NameHash() (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#172-187) is not in mixedCase Function EIP712Upgradeable._EIP712VersionHash() (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#194-209) is not in mixedCase Constant EIP712Upgradeable.EIP712StorageLocation (lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol#48) is not in UPPER_CASE_WITH_UNDERSCORES Function ERC165Upgradeable.__ERC165_init() (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#22-23) is not in mixedCase Function ERC165Upgradeable.__ERC165_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol#25-26) is not in mixedCase Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions Bytes.toNibbles(bytes) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#210-245) uses literals with too many digits: - chunk_toNibbles_asm_0 = 0x0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff & chunk_toNibbles_asm_0 << 64 | chunk_toNibbles_asm_0 (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#222-225) Bytes.toNibbles(bytes) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#210-245) uses literals with too many digits: - chunk_toNibbles_asm_0 = 0x00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff & chunk_toNibbles_asm_0 << 32 | chunk_toNibbles_asm_0 (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#226-229) Bytes.reverseBytes32(bytes32) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#258-272) uses literals with too many digits: - value = ((value >> 32) & 0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF) | ((value & 0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF) << 32) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#265-267) Bytes.reverseBytes32(bytes32) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#258-272) uses literals with too many digits: - value = ((value >> 64) & 0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF) | ((value & 0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF) << 64) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#268-270) Bytes.reverseBytes16(bytes16) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#275-286) uses literals with too many digits: - value = ((value & 0xFFFFFFFF00000000FFFFFFFF00000000) >> 32) | ((value & 0x00000000FFFFFFFF00000000FFFFFFFF) << 32) (lib/openzeppelin-contracts/contracts/utils/Bytes.sol#282-284) Math.log2(uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#619-658) uses literals with too many digits: - r = r | byte(uint256,uint256)(x >> r,0x0000010102020202030303030303030300000000000000000000000000000000) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#656) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits . analyzed (42 contracts with 100 detectors), 153 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.8.24",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.8.24",
"install_stderr": null,
"install_stdout": "Version '0.8.24' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-swqqgsay --include-path /tmp/slither-swqqgsay/lib --include-path /tmp/slither-swqqgsay/lib/openzeppelin-contracts-upgradeable --include-path /tmp/slither-swqqgsay/lib/openzeppelin-contracts --allow-paths /tmp/slither-swqqgsay,/tmp/slither-swqqgsay/lib,/tmp/slither-swqqgsay/lib/openzeppelin-contracts,/tmp/slither-swqqgsay/lib/openzeppelin-contracts-upgradeable,/tmp/slither-swqqgsay/src",
"remappings": [
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"@openzeppelin-4.9.6/contracts/=lib/openzeppelin-contracts-4.9.6/contracts/",
"@superfluid-finance/ethereum-contracts/contracts/=lib/superfluid-protocol-monorepo/packages/ethereum-contracts/contracts/",
"@superfluid-finance/solidity-semantic-money/=lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/",
"ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/",
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"echo/=src/",
"openzeppelin-contracts-4.9.6/=lib/openzeppelin-contracts-4.9.6/contracts/",
"superfluid-protocol-monorepo/=lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/",
"src/=src/"
],
"source_files": [
"src/unlock/v1/Distributor.sol",
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol",
"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol",
"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol",
"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol",
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol",
"lib/openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlEnumerableUpgradeable.sol",
"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol",
"src/interfaces/PlatformEvents.sol",
"src/Merkle.sol",
"src/interfaces/IGenericRegistry.sol",
"src/interfaces/GenericRegistryKeys.sol",
"src/unlock/v1/Types.sol",
"src/unlock/v1/UnlockerLib.sol",
"src/Versioned.sol",
"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol",
"lib/openzeppelin-contracts/contracts/utils/Address.sol",
"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol",
"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol",
"lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlEnumerable.sol",
"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol",
"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol",
"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol",
"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol",
"lib/openzeppelin-contracts/contracts/utils/math/Math.sol",
"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol",
"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol",
"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol",
"lib/openzeppelin-contracts/contracts/utils/Strings.sol",
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol",
"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 153,
"workspace_hash": "e05d3fc33b57acec76c3c51dff4f79525da324f61b40acb3f02e3edc44c76b6e",
"duration_seconds": 4.036237955093384,
"solc_version_requested": "0.8.23"
}
{"no_findings":false,"summary":"Found two issues: claim data is not bound to the merkle-leaf entityUUID, and claim/withdraw signatures are replayable without a nonce.","findings":[{"severity":"medium","category":"other","title":"Claim data not bound to merkle-leaf entityUUID","exploit_scenario":"A signer whose entry exists in the merkle tree can sign ClaimData with a different entityUUID than the merkle-leaf `user.entityUUID`. If the platform signer co-signs (or the backend mistakenly signs), the contract will verify the leaf for one entity but apply state/accounting to another entityUUID. By cycling through entityUUIDs with zero claimed state, a signer could claim their entitlement multiple times, draining the pool beyond their allocation.","recommendation":"Enforce `claimData.entityUUID == user.entityUUID` in `_release`, or derive the merkle leaf directly from the signed claim data (including entityUUID) so the signature and merkle proof are bound to the same entity. Reject any mismatch before accounting updates.","evidence":"The merkle proof validates `user`, but `_release` uses `claimData.entityUUID` for state and calculations without checking equality to `user.entityUUID`.","locations":["src/unlock/v1/Distributor.sol:300","src/unlock/v1/Distributor.sol:321","src/unlock/v1/Distributor.sol:325"]},{"severity":"low","category":"auth","title":"Replayable claim and carry withdrawal signatures (no nonce/used tracking)","exploit_scenario":"Anyone who obtains a valid EIP-712 signature for `ClaimData` or `CarryWithdrawalData` can replay it multiple times before expiry. Each replay succeeds as long as the remaining claimable/withdrawable amount covers the signed `amount`, allowing repeated withdrawals to the signed receiver and bypassing intended one-time authorization semantics.","recommendation":"Add a per-entity nonce (or used-digest mapping) to both ClaimData and CarryWithdrawalData, include it in the EIP-712 struct, and increment/store it on success. Alternatively, sign cumulative claimed/withdrawn totals to make signatures single-use.","evidence":"The signed structs contain no nonce/unique salt and the contract does not track used signatures or per-entity nonces.","locations":["src/unlock/v1/Types.sol:29","src/unlock/v1/Types.sol:84","src/unlock/v1/Distributor.sol:254","src/unlock/v1/Distributor.sol:393"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-1mwgez9i
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb3ad-1982-74c2-a73b-565913d35bab
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE.txt**
exec
/bin/bash -lc ls in /tmp/codex-1mwgez9i succeeded in 8ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
lib
src
exec
/bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-1mwgez9i succeeded in 12ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: src/Merkle.sol
================================================================================
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.23;
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
/// @notice A library for computing merkle tree roots and proofs.
/// @dev This library produces complete trees. If a node does not have a sibling, it is combined with itself.
library Merkle {
/// @notice A merkle tree.
/// @dev Contains the leaf hashes at the 0th level, pairwise hashes in the following, and the root in the last.
struct Tree {
bytes32[][] hashes;
}
exec
/bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-1mwgez9i succeeded in 5ms:
// SPDX-License-Identifier: GPL-3.0-only
pragma solidity ^0.8.23;
interface IGenericRegistry {
function setBytes32(bytes32 key, bytes32 value) external;
function setAddress(bytes32 key, address value) external;
function setUint256(bytes32 key, uint256 value) external;
function setInt256(bytes32 key, int256 value) external;
function setBool(bytes32 key, bool value) external;
function readBytes32(bytes32 key) external view returns (bytes32);
function readAddress(bytes32 key) external view returns (address);
function readUint256(bytes32 key) external view returns (uint256);
function readInt256(bytes32 key) external view returns (int256);
function readBool(bytes32 key) external view returns (bool);
}
================================================================================
FILE: src/interfaces/PlatformEvents.sol
================================================================================
exec
/bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-1mwgez9i succeeded in 11ms:
bytes16[] private _carryWithdrawerUUIDs;
struct Init {
IERC20 token;
bytes16 tokenDistributionUUID;
UnlockerLib.Unlocker unlocker;
IGenericRegistry genericRegistry;
Claimer[] claimers;
CarryWithdrawer[] carryWithdrawers;
address adminIM;
address managerIM;
address adminENG;
address managerENG;
address platformSigner;
address platformSender;
bytes32 expectedClaimersRoot;
uint16 platformCarryBPS;
}
constructor() {
exec
/bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-1mwgez9i succeeded in 6ms:
for (uint256 i = 0; i < claimParams.length; i++) {
carryAmounts[i] = _calculateCarryAmount(
claimParams[i].entityUUID,
claimParams[i].amountInvestedUSDC,
claimParams[i].notChargedCarry,
claimParams[i].amountToClaim,
price
);
}
return carryAmounts;
}
/// @notice Setter for the generic registry.
function setGenericRegistry(IGenericRegistry registry) external onlyRole(MANAGER_ROLE) {
genericRegistry = registry;
}
/// @notice Setter for the platform carry BPS
/// @dev We use a separate setter for the platform carry over setting it in the setCarryWithdrawerSettings
exec
/bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-1mwgez9i succeeded in 5ms:
/// @notice Interface for Superfluid Unlocker contracts (SuperfluidToken).
/// @dev The unlocker address for Superfluid should be the SuperToken address.
interface ISuperfluidUnlocker {
function balanceOf(address account) external view returns (uint256);
function downgrade(uint256 amount) external;
}
/// @notice Library for managing calls to unlocker contracts.
/// @dev The distributor contracts will need to interface with a number of different unlocker contracts.
/// This library provides a dynamic function dispatch to make interacting with Unlocker contracts easier.
library UnlockerLib {
/// @notice Struct for holding the unlocker contract address and the function types it implements.
/// @dev This is used to dynamically dispatch calls to the correct function on the unlocker contract as specified by the releasableType and releaseType.
/// @dev The unlocker address may be 0, in which case no function calls will be made.
struct Unlocker {
address unlocker;
bytes6 releasableType;
bytes6 releaseType;
}
thinking
**Analyzing contract vulnerabilities and replay risks**
There is a complex mix of possible reentrancy, signature replay attacks, and state inconsistencies, especially due to the lack of nonce or single-use protections in signatures. I'm tracing how claim and withdraw functions handle external calls and state updates, noticing the potential for repeated claims using the same signature within allowed amounts. The interplay between merkle proofs, entity UUID mismatches, and signature verification raises concerns about malicious signers or platform misconfigurations enabling unauthorized or accelerated claims, though some protections rely on platform honesty and access control. Overall, the system seems vulnerable to medium-to-high risks from signature replays and entity state mismatches that could let claims exceed intended limits.
thinking
**Examining entityUUID mismatch and reentrancy details**
I'm exploring how the contract’s lack of verification between claimData.entityUUID and the user’s merkle leaf entityUUID could allow claims tied to mismatched identifiers, which might enable unusual claim patterns if the platform or user signers collude. Also, reentrancy through signature validation contracts could lead to repeated claims in a single transaction, resembling replay attacks but dependent on controlled signature use. Though risky, many scenarios require trusted party cooperation, suggesting more of a design flaw than an immediate external exploit.
thinking
**Summarizing main findings and preparing detailed report**
I'm consolidating key observations: the critical missing check linking claimData.entityUUID to the merkle leaf enables potential overclaims if platform and user collude, and the lack of nonce or consumed-signature tracking opens signature replay risks for claim and withdrawCarry functions. These issues, mostly dependent on trusted signers or platform error, deserve clear documentation with approximate source locations to guide auditing and mitigation.
exec
/bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '430,720p'" in /tmp/codex-1mwgez9i succeeded in 10ms:
430
431 // granting IM roles
432 _grantRole(DEFAULT_ADMIN_ROLE, init.adminIM);
433 _grantRole(MANAGER_ROLE, init.managerIM);
434
435 // granting ENG roles
436 _grantRole(ENG_ADMIN_ROLE, init.adminENG);
437 _grantRole(ENG_MANAGER_ROLE, init.managerENG);
438
439 // granting platform roles
440 _grantRole(SIGNER_ROLE, init.platformSigner);
441 _grantRole(PLATFORM_CARRY_WITHDRAWER_ROLE, init.platformSender);
442 _grantRole(PLATFORM_ROLE, init.platformSender);
443 _grantRole(PAUSER_ROLE, init.platformSender);
444
445 UnlockerLib.validate(init.unlocker);
446 unlocker = init.unlocker;
447 genericRegistry = init.genericRegistry;
448 token = init.token;
449 tokenDistributionUUID = init.tokenDistributionUUID;
thinking
**Mapping line numbers to source files**
exec
/bin/bash -lc "nl -ba src/unlock/v1/Distributor.sol | sed -n '120,260p'" in /tmp/codex-1mwgez9i succeeded in 7ms:
120 /// @notice The token that will be unlocked/released.
121 IERC20 public token;
122
123 /// @notice Flag to enable/disable token claims and carry withdrawals.
124 bool public isEnabled;
125
126 /// @notice Flag to enable/disable the forced distribution mode.
127 /// @dev When enabled, the token claim and carry withdrawal functions do not require signatures from the user signer.
128 bool public isForcedDistributionModeEnabled;
129
130 /// @notice The UUID of the token distribution.
131 bytes16 public tokenDistributionUUID;
132
133 /// @notice The total amount of distribution shares for the SPV across all users.
134 /// @dev This is the sum of all `distributionShares` in `usersSettings`.
135 /// @dev It is used to compute the relative share of the total unlocked tokens for each state. It is derived from
136 /// the users's ownership of the SPV.
137 uint64 public totalDistributionShares;
138
139 /// @notice The total carry in basis points.
thinking
**Examining lines near _release method**
exec
/bin/bash -lc "nl -ba src/unlock/v1/Distributor.sol | sed -n '300,420p'" in /tmp/codex-1mwgez9i succeeded in 12ms:
300 revert InvalidClaimerMerkleProof(leaf, computedRoot, claimersRoot);
301 }
302 }
303
304 {
305 bytes32 digest = ClaimDataLib.digestTypedData(claimData, _domainSeparatorV4());
306
307 if (
308 !isForcedDistributionModeEnabled
309 && !SignatureChecker.isValidSignatureNow(user.signer, digest, claimSignatureUser)
310 ) {
311 address signer = ECDSA.recover(digest, claimSignatureUser);
312 revert UnauthorizedUserSigner(signer, user.signer);
313 }
314
315 address signerPlatform = ECDSA.recover(digest, claimSignaturePlatform);
316 if (!hasRole(SIGNER_ROLE, signerPlatform)) {
317 revert UnauthorizedPlatformSigner(signerPlatform);
318 }
319 }
thinking
**Summarizing security findings and recommendations**
I’m putting together two main findings: one about missing binding between claim data and Merkle leaf entityUUIDs that can cause misaccounting, and another about replayable signatures enabling repeated claims or withdrawals without nonce tracking. I’ll include detailed exploit scenarios, severity assessments, and practical recommendations for both. Finally, I’ll craft the output JSON with evidence and source code locations as requested.
exec
/bin/bash -lc "nl -ba src/unlock/v1/Types.sol | sed -n '1,200p'" in /tmp/codex-1mwgez9i succeeded in 9ms:
1 // SPDX-License-Identifier: GPL-3.0-only
2 pragma solidity ^0.8.23;
3
4 import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
5 import {MessageHashUtils} from "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol";
6 import {ECDSA} from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
7
8 /// @notice USDC pricing data for a token.
9 /// @dev The amount of USDC for a given amount of tokens is computed by `amountUSDCUnits = (amountTokenUnits * tokenPriceUSDCNumerator) / tokenPriceUSDCDenominator`.
10 /// e.g. assuming a 18 decimals for the token, and 6 decimals for usdc,
11 /// an exchange rate of 1 token = 1234.5678 USDC would mean 1e18 tokenUnits = 1,234,567,800 USDCUnits, corresponding to tokenPriceUSDCNumerator = 1234567800 and tokenPriceUSDCDenominator = 1e18.
12 /// @param tokenPriceUSDCNumerator The numerator of the token unit price in USDC units.
13 /// @param tokenPriceUSDCDenominator The denominator of the token unit price in USDC units.
14 struct Price {
15 uint256 tokenPriceUSDCNumerator;
16 uint256 tokenPriceUSDCDenominator;
17 }
18
19 library PriceLib {
20 function convertTokenToUSDC(Price memory data, uint256 amount) internal pure returns (uint256) {
thinking
**Preparing final JSON output**
codex
{"no_findings":false,"summary":"Found two issues: claim data is not bound to the merkle-leaf entityUUID, and claim/withdraw signatures are replayable without a nonce.","findings":[{"severity":"medium","category":"other","title":"Claim data not bound to merkle-leaf entityUUID","exploit_scenario":"A signer whose entry exists in the merkle tree can sign ClaimData with a different entityUUID than the merkle-leaf `user.entityUUID`. If the platform signer co-signs (or the backend mistakenly signs), the contract will verify the leaf for one entity but apply state/accounting to another entityUUID. By cycling through entityUUIDs with zero claimed state, a signer could claim their entitlement multiple times, draining the pool beyond their allocation.","recommendation":"Enforce `claimData.entityUUID == user.entityUUID` in `_release`, or derive the merkle leaf directly from the signed claim data (including entityUUID) so the signature and merkle proof are bound to the same entity. Reject any mismatch before accounting updates.","evidence":"The merkle proof validates `user`, but `_release` uses `claimData.entityUUID` for state and calculations without checking equality to `user.entityUUID`.","locations":["src/unlock/v1/Distributor.sol:300","src/unlock/v1/Distributor.sol:321","src/unlock/v1/Distributor.sol:325"]},{"severity":"low","category":"auth","title":"Replayable claim and carry withdrawal signatures (no nonce/used tracking)","exploit_scenario":"Anyone who obtains a valid EIP-712 signature for `ClaimData` or `CarryWithdrawalData` can replay it multiple times before expiry. Each replay succeeds as long as the remaining claimable/withdrawable amount covers the signed `amount`, allowing repeated withdrawals to the signed receiver and bypassing intended one-time authorization semantics.","recommendation":"Add a per-entity nonce (or used-digest mapping) to both ClaimData and CarryWithdrawalData, include it in the EIP-712 struct, and increment/store it on success. Alternatively, sign cumulative claimed/withdrawn totals to make signatures single-use.","evidence":"The signed structs contain no nonce/unique salt and the contract does not track used signatures or per-entity nonces.","locations":["src/unlock/v1/Types.sol:29","src/unlock/v1/Types.sol:84","src/unlock/v1/Distributor.sol:254","src/unlock/v1/Distributor.sol:393"]}]}
tokens used
39,323
{
"codex": {
"ran_at": "2026-01-12T19:31:27.467889+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 31,
"import_count": 35,
"first_party_contracts_count": 8
},
"summary": "Found two issues: claim data is not bound to the merkle-leaf entityUUID, and claim/withdraw signatures are replayable without a nonce.",
"raw_final": {
"summary": "Found two issues: claim data is not bound to the merkle-leaf entityUUID, and claim/withdraw signatures are replayable without a nonce.",
"findings": [
{
"title": "Claim data not bound to merkle-leaf entityUUID",
"category": "other",
"evidence": "The merkle proof validates `user`, but `_release` uses `claimData.entityUUID` for state and calculations without checking equality to `user.entityUUID`.",
"severity": "medium",
"locations": [
"src/unlock/v1/Distributor.sol:300",
"src/unlock/v1/Distributor.sol:321",
"src/unlock/v1/Distributor.sol:325"
],
"recommendation": "Enforce `claimData.entityUUID == user.entityUUID` in `_release`, or derive the merkle leaf directly from the signed claim data (including entityUUID) so the signature and merkle proof are bound to the same entity. Reject any mismatch before accounting updates.",
"exploit_scenario": "A signer whose entry exists in the merkle tree can sign ClaimData with a different entityUUID than the merkle-leaf `user.entityUUID`. If the platform signer co-signs (or the backend mistakenly signs), the contract will verify the leaf for one entity but apply state/accounting to another entityUUID. By cycling through entityUUIDs with zero claimed state, a signer could claim their entitlement multiple times, draining the pool beyond their allocation."
},
{
"title": "Replayable claim and carry withdrawal signatures (no nonce/used tracking)",
"category": "auth",
"evidence": "The signed structs contain no nonce/unique salt and the contract does not track used signatures or per-entity nonces.",
"severity": "low",
"locations": [
"src/unlock/v1/Types.sol:29",
"src/unlock/v1/Types.sol:84",
"src/unlock/v1/Distributor.sol:254",
"src/unlock/v1/Distributor.sol:393"
],
"recommendation": "Add a per-entity nonce (or used-digest mapping) to both ClaimData and CarryWithdrawalData, include it in the EIP-712 struct, and increment/store it on success. Alternatively, sign cumulative claimed/withdrawn totals to make signatures single-use.",
"exploit_scenario": "Anyone who obtains a valid EIP-712 signature for `ClaimData` or `CarryWithdrawalData` can replay it multiple times before expiry. Each replay succeeds as long as the remaining claimable/withdrawable amount covers the signed `amount`, allowing repeated withdrawals to the signed receiver and bypassing intended one-time authorization semantics."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x000f 0000000b: JUMPI 0000000c: PUSH0 0000000d: DUP1 0000000e: REVERT 0000000f: JUMPDEST 00000010: POP 00000011: PUSH1 0x04 00000013: CALLDATASIZE 00000014: LT 00000015: PUSH2 0x0392 00000018: JUMPI 00000019: PUSH0 0000001a: CALLDATALOAD 0000001b: PUSH1 0xe0 0000001d: SHR 0000001e: DUP1 0000001f: PUSH4 0x8456cb59 00000024: GT 00000025: PUSH2 0x01df 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xb82538bd 0000002f: GT 00000030: PUSH2 0x0109 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe2ca5974 0000003a: GT 0000003b: PUSH2 0x00a9 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf83f55a9 00000045: GT 00000046: PUSH2 0x0079 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf83f55a9 00000050: EQ 00000051: PUSH2 0x0927 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfc0c546a 0000005b: EQ 0000005c: PUSH2 0x093b 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xfdf25f33 00000066: EQ 00000067: PUSH2 0x094e 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0xff3c2f89 00000071: EQ 00000072: PUSH2 0x0961 00000075: JUMPI 00000076: PUSH0 00000077: DUP1 00000078: REVERT 00000079: JUMPDEST 0000007a: DUP1 0000007b: PUSH4 0xe2ca5974 00000080: EQ 00000081: PUSH2 0x08d1 00000084: JUMPI 00000085: DUP1 00000086: PUSH4 0xe63ab1e9 0000008b: EQ 0000008c: PUSH2 0x08e4 0000008f: JUMPI 00000090: DUP1 00000091: PUSH4 0xec87621c 00000096: EQ 00000097: PUSH2 0x090b 0000009a: JUMPI 0000009b: DUP1 0000009c: PUSH4 0xf698da25 000000a1: EQ 000000a2: PUSH2 0x091f 000000a5: JUMPI 000000a6: PUSH0 000000a7: DUP1 000000a8: REVERT 000000a9: JUMPDEST 000000aa: DUP1 000000ab: PUSH4 0xcf055d5c 000000b0: GT 000000b1: PUSH2 0x00e4 000000b4: JUMPI 000000b5: DUP1 000000b6: PUSH4 0xcf055d5c 000000bb: EQ 000000bc: PUSH2 0x088d 000000bf: JUMPI 000000c0: DUP1 000000c1: PUSH4 0xd547741f 000000c6: EQ 000000c7: PUSH2 0x08a1 000000ca: JUMPI 000000cb: DUP1 000000cc: PUSH4 0xd54ad2a1 000000d1: EQ 000000d2: PUSH2 0x08b4 000000d5: JUMPI 000000d6: DUP1 000000d7: PUSH4 0xe00549ab 000000dc: EQ 000000dd: PUSH2 0x08bd 000000e0: JUMPI 000000e1: PUSH0 000000e2: DUP1 000000e3: REVERT 000000e4: JUMPDEST 000000e5: DUP1 000000e6: PUSH4 0xb82538bd 000000eb: EQ 000000ec: PUSH2 0x0841 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0xc824166f 000000f6: EQ 000000f7: PUSH2 0x0867 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0xca15c873 00000101: EQ 00000102: PUSH2 0x087a 00000105: JUMPI 00000106: PUSH0 00000107: DUP1 00000108: REVERT 00000109: JUMPDEST 0000010a: DUP1 0000010b: PUSH4 0xa217fddf 00000110: GT 00000111: PUSH2 0x017f 00000114: JUMPI 00000115: DUP1 00000116: PUSH4 0xae2560af 0000011b: GT 0000011c: PUSH2 0x014f 0000011f: JUMPI 00000120: DUP1 00000121: PUSH4 0xae2560af 00000126: EQ 00000127: PUSH2 0x07d6 0000012a: JUMPI 0000012b: DUP1 0000012c: PUSH4 0xb212f067 00000131: EQ 00000132: PUSH2 0x07e9 00000135: JUMPI 00000136: DUP1 00000137: PUSH4 0xb3061b91 0000013c: EQ 0000013d: PUSH2 0x081b 00000140: JUMPI 00000141: DUP1 00000142: PUSH4 0xb6870c5a 00000147: EQ 00000148: PUSH2 0x082e 0000014b: JUMPI 0000014c: PUSH0 0000014d: DUP1 0000014e: REVERT 0000014f: JUMPDEST 00000150: DUP1 00000151: PUSH4 0xa217fddf 00000156: EQ 00000157: PUSH2 0x078a 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0xa3770523 00000161: EQ 00000162: PUSH2 0x0791 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0xa8981e73 0000016c: EQ 0000016d: PUSH2 0x079a 00000170: JUMPI 00000171: DUP1 00000172: PUSH4 0xa8fc9e29 00000177: EQ 00000178: PUSH2 0x07af 0000017b: JUMPI 0000017c: PUSH0 0000017d: DUP1 0000017e: REVERT 0000017f: JUMPDEST 00000180: DUP1 00000181: PUSH4 0x9010d07c 00000186: GT 00000187: PUSH2 0x01ba 0000018a: JUMPI 0000018b: DUP1 0000018c: PUSH4 0x9010d07c 00000191: EQ 00000192: PUSH2 0x0748 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0x91d14854 0000019c: EQ 0000019d: PUSH2 0x075b 000001a0: JUMPI 000001a1: DUP1 000001a2: PUSH4 0x9dc69e1f 000001a7: EQ 000001a8: PUSH2 0x076e 000001ab: JUMPI 000001ac: DUP1 000001ad: PUSH4 0xa1ebf35d 000001b2: EQ 000001b3: PUSH2 0x0776 000001b6: JUMPI 000001b7: PUSH0 000001b8: DUP1 000001b9: REVERT 000001ba: JUMPDEST 000001bb: DUP1 000001bc: PUSH4 0x8456cb59 000001c1: EQ 000001c2: PUSH2 0x071c 000001c5: JUMPI 000001c6: DUP1 000001c7: PUSH4 0x84b0196e 000001cc: EQ 000001cd: PUSH2 0x0724 000001d0: JUMPI 000001d1: DUP1 000001d2: PUSH4 0x8f22602e 000001d7: EQ 000001d8: PUSH2 0x073f 000001db: JUMPI 000001dc: PUSH0 000001dd: DUP1 000001de: REVERT 000001df: JUMPDEST 000001e0: DUP1 000001e1: PUSH4 0x3f953f9a 000001e6: GT 000001e7: PUSH2 0x02c0 000001ea: JUMPI 000001eb: DUP1 000001ec: PUSH4 0x5f3e849f 000001f1: GT 000001f2: PUSH2 0x0260 000001f5: JUMPI 000001f6: DUP1 000001f7: PUSH4 0x6adc3168 000001fc: GT 000001fd: PUSH2 0x0230 00000200: JUMPI 00000201: DUP1 00000202: PUSH4 0x6adc3168 00000207: EQ 00000208: PUSH2 0x0693 0000020b: JUMPI 0000020c: DUP1 0000020d: PUSH4 0x70824c5c 00000212: EQ 00000213: PUSH2 0x06c2 00000216: JUMPI 00000217: DUP1 00000218: PUSH4 0x73852d27 0000021d: EQ 0000021e: PUSH2 0x06e9 00000221: JUMPI 00000222: DUP1 00000223: PUSH4 0x8164183e 00000228: EQ 00000229: PUSH2 0x0709 0000022c: JUMPI 0000022d: PUSH0 0000022e: DUP1 0000022f: REVERT 00000230: JUMPDEST 00000231: DUP1 00000232: PUSH4 0x5f3e849f 00000237: EQ 00000238: PUSH2 0x0646 0000023b: JUMPI 0000023c: DUP1 0000023d: PUSH4 0x601ed31b 00000242: EQ 00000243: PUSH2 0x0659 00000246: JUMPI 00000247: DUP1 00000248: PUSH4 0x652cce51 0000024d: EQ 0000024e: PUSH2 0x066c 00000251: JUMPI 00000252: DUP1 00000253: PUSH4 0x6aa633b6 00000258: EQ 00000259: PUSH2 0x067f 0000025c: JUMPI 0000025d: PUSH0 0000025e: DUP1 0000025f: REVERT 00000260: JUMPDEST 00000261: DUP1 00000262: PUSH4 0x4407390d 00000267: GT 00000268: PUSH2 0x029b 0000026b: JUMPI 0000026c: DUP1 0000026d: PUSH4 0x4407390d 00000272: EQ 00000273: PUSH2 0x0586 00000276: JUMPI 00000277: DUP1 00000278: PUSH4 0x4925abac 0000027d: EQ 0000027e: PUSH2 0x0599 00000281: JUMPI 00000282: DUP1 00000283: PUSH4 0x54fd4d50 00000288: EQ 00000289: PUSH2 0x05ac 0000028c: JUMPI 0000028d: DUP1 0000028e: PUSH4 0x58941f1e 00000293: EQ 00000294: PUSH2 0x0633 00000297: JUMPI 00000298: PUSH0 00000299: DUP1 0000029a: REVERT 0000029b: JUMPDEST 0000029c: DUP1 0000029d: PUSH4 0x3f953f9a 000002a2: EQ 000002a3: PUSH2 0x054a 000002a6: JUMPI 000002a7: DUP1 000002a8: PUSH4 0x40b40f55 000002ad: EQ 000002ae: PUSH2 0x055d 000002b1: JUMPI 000002b2: DUP1 000002b3: PUSH4 0x4111bf9d 000002b8: EQ 000002b9: PUSH2 0x057d 000002bc: JUMPI 000002bd: PUSH0 000002be: DUP1 000002bf: REVERT 000002c0: JUMPDEST 000002c1: DUP1 000002c2: PUSH4 0x26e670ea 000002c7: GT 000002c8: PUSH2 0x0336 000002cb: JUMPI 000002cc: DUP1 000002cd: PUSH4 0x342cf27a 000002d2: GT 000002d3: PUSH2 0x0306 000002d6: JUMPI 000002d7: DUP1 000002d8: PUSH4 0x342cf27a 000002dd: EQ 000002de: PUSH2 0x0507 000002e1: JUMPI 000002e2: DUP1 000002e3: PUSH4 0x36568abe 000002e8: EQ 000002e9: PUSH2 0x051a 000002ec: JUMPI 000002ed: DUP1 000002ee: PUSH4 0x3ba930ad 000002f3: EQ 000002f4: PUSH2 0x052d 000002f7: JUMPI 000002f8: DUP1 000002f9: PUSH4 0x3d24f8f7 000002fe: EQ 000002ff: PUSH2 0x0542 00000302: JUMPI 00000303: PUSH0 00000304: DUP1 00000305: REVERT 00000306: JUMPDEST 00000307: DUP1 00000308: PUSH4 0x26e670ea 0000030d: EQ 0000030e: PUSH2 0x04ae 00000311: JUMPI 00000312: DUP1 00000313: PUSH4 0x2f2ff15d 00000318: EQ 00000319: PUSH2 0x04ce 0000031c: JUMPI 0000031d: DUP1 0000031e: PUSH4 0x2fc2ec02 00000323: EQ 00000324: PUSH2 0x04e1 00000327: JUMPI 00000328: DUP1 00000329: PUSH4 0x328d8f72 0000032e: EQ 0000032f: PUSH2 0x04f4 00000332: JUMPI 00000333: PUSH0 00000334: DUP1 00000335: REVERT 00000336: JUMPDEST 00000337: DUP1 00000338: PUSH4 0x19a1e587 0000033d: GT 0000033e: PUSH2 0x0371 00000341: JUMPI 00000342: DUP1 00000343: PUSH4 0x19a1e587 00000348: EQ 00000349: PUSH2 0x042d 0000034c: JUMPI 0000034d: DUP1 0000034e: PUSH4 0x20ab083e 00000353: EQ 00000354: PUSH2 0x0441 00000357: JUMPI 00000358: DUP1 00000359: PUSH4 0x2257310f 0000035e: EQ 0000035f: PUSH2 0x046c 00000362: JUMPI 00000363: DUP1 00000364: PUSH4 0x248a9ca3 00000369: EQ 0000036a: PUSH2 0x048d 0000036d: JUMPI 0000036e: PUSH0 0000036f: DUP1 00000370: REVERT 00000371: JUMPDEST 00000372: DUP1 00000373: PUSH3 0x076943 00000377: EQ 00000378: PUSH2 0x0396 0000037b: JUMPI 0000037c: DUP1 0000037d: PUSH4 0x01ffc9a7 00000382: EQ 00000383: PUSH2 0x03f5 00000386: JUMPI 00000387: DUP1 00000388: PUSH4 0x052548e9 0000038d: EQ 0000038e: PUSH2 0x0418 00000391: JUMPI 00000392: JUMPDEST 00000393: PUSH0 00000394: DUP1 00000395: REVERT 00000396: JUMPDEST 00000397: PUSH0 00000398: SLOAD 00000399: PUSH2 0x03c0 0000039c: SWAP1 0000039d: PUSH1 0x01 0000039f: PUSH1 0x01 000003a1: PUSH1 0xa0 000003a3: SHL 000003a4: SUB 000003a5: DUP2 000003a6: AND 000003a7: SWAP1 000003a8: PUSH1 0x01 000003aa: PUSH1 0xa0 000003ac: SHL 000003ad: DUP2 000003ae: DIV 000003af: PUSH1 0xd0 000003b1: SWAP1 000003b2: DUP2 000003b3: SHL 000003b4: SWAP2 000003b5: PUSH1 0x01 000003b7: PUSH1 0xd0 000003b9: SHL 000003ba: SWAP1 000003bb: DIV 000003bc: SWAP1 000003bd: SHL 000003be: DUP4 000003bf: JUMP 000003c0: JUMPDEST 000003c1: PUSH1 0x40 000003c3: DUP1 000003c4: MLOAD 000003c5: PUSH1 0x01 000003c7: PUSH1 0x01 000003c9: PUSH1 0xa0 000003cb: SHL 000003cc: SUB 000003cd: SWAP1 000003ce: SWAP5 000003cf: AND 000003d0: DUP5 000003d1: MSTORE 000003d2: PUSH1 0x01 000003d4: PUSH1 0x01 000003d6: PUSH1 0xd0 000003d8: SHL 000003d9: SUB 000003da: NOT 000003db: SWAP3 000003dc: DUP4 000003dd: AND 000003de: PUSH1 0x20 000003e0: DUP6 000003e1: ADD 000003e2: MSTORE 000003e3: SWAP2 000003e4: AND 000003e5: SWAP1 000003e6: DUP3 000003e7: ADD 000003e8: MSTORE 000003e9: PUSH1 0x60 000003eb: ADD 000003ec: JUMPDEST 000003ed: PUSH1 0x40 000003ef: MLOAD 000003f0: DUP1 000003f1: SWAP2 000003f2: SUB 000003f3: SWAP1 000003f4: RETURN 000003f5: JUMPDEST 000003f6: PUSH2 0x0408 000003f9: PUSH2 0x0403 000003fc: CALLDATASIZE 000003fd: PUSH1 0x04 000003ff: PUSH2 0x4687 00000402: JUMP 00000403: JUMPDEST 00000404: PUSH2 0x0974 00000407: JUMP 00000408: JUMPDEST 00000409: PUSH1 0x40 0000040b: MLOAD 0000040c: SWAP1 0000040d: ISZERO 0000040e: ISZERO 0000040f: DUP2 00000410: MSTORE 00000411: PUSH1 0x20 00000413: ADD 00000414: PUSH2 0x03ec 00000417: JUMP 00000418: JUMPDEST 00000419: PUSH2 0x042b 0000041c: PUSH2 0x0426 0000041f: CALLDATASIZE 00000420: PUSH1 0x04 00000422: PUSH2 0x49ef 00000425: JUMP 00000426: JUMPDEST 00000427: PUSH2 0x099e 0000042a: JUMP 0000042b: JUMPDEST 0000042c: STOP 0000042d: JUMPDEST 0000042e: PUSH1 0x02 00000430: SLOAD 00000431: PUSH2 0x0408 00000434: SWAP1 00000435: PUSH1 0x01 00000437: PUSH1 0xa8 00000439: SHL 0000043a: SWAP1 0000043b: DIV 0000043c: PUSH1 0xff 0000043e: AND 0000043f: DUP2 00000440: JUMP 00000441: JUMPDEST 00000442: PUSH1 0x01 00000444: SLOAD 00000445: PUSH2 0x0454 00000448: SWAP1 00000449: PUSH1 0x01 0000044b: PUSH1 0x01 0000044d: PUSH1 0xa0 0000044f: SHL 00000450: SUB 00000451: AND 00000452: DUP2 00000453: JUMP 00000454: JUMPDEST 00000455: PUSH1 0x40 00000457: MLOAD 00000458: PUSH1 0x01 0000045a: PUSH1 0x01 0000045c: PUSH1 0xa0 0000045e: SHL 0000045f: SUB 00000460: SWAP1 00000461: SWAP2 00000462: AND 00000463: DUP2 00000464: MSTORE 00000465: PUSH1 0x20 00000467: ADD 00000468: PUSH2 0x03ec 0000046b: JUMP 0000046c: JUMPDEST 0000046d: PUSH1 0x07 0000046f: SLOAD 00000470: PUSH2 0x047a 00000473: SWAP1 00000474: PUSH2 0xffff 00000477: AND 00000478: DUP2 00000479: JUMP 0000047a: JUMPDEST 0000047b: PUSH1 0x40 0000047d: MLOAD 0000047e: PUSH2 0xffff 00000481: SWAP1 00000482: SWAP2 00000483: AND 00000484: DUP2 00000485: MSTORE 00000486: PUSH1 0x20 00000488: ADD 00000489: PUSH2 0x03ec 0000048c: JUMP 0000048d: JUMPDEST 0000048e: PUSH2 0x04a0 00000491: PUSH2 0x049b 00000494: CALLDATASIZE 00000495: PUSH1 0x04 00000497: PUSH2 0x4b4f 0000049a: JUMP 0000049b: JUMPDEST 0000049c: PUSH2 0x0d7c 0000049f: JUMP 000004a0: JUMPDEST 000004a1: PUSH1 0x40 000004a3: MLOAD 000004a4: SWAP1 000004a5: DUP2 000004a6: MSTORE 000004a7: PUSH1 0x20 000004a9: ADD 000004aa: PUSH2 0x03ec 000004ad: JUMP 000004ae: JUMPDEST 000004af: PUSH2 0x04c1 000004b2: PUSH2 0x04bc 000004b5: CALLDATASIZE 000004b6: PUSH1 0x04 000004b8: PUSH2 0x4bad 000004bb: JUMP 000004bc: JUMPDEST 000004bd: PUSH2 0x0d9c 000004c0: JUMP 000004c1: JUMPDEST 000004c2: PUSH1 0x40 000004c4: MLOAD 000004c5: PUSH2 0x03ec 000004c8: SWAP2 000004c9: SWAP1 000004ca: PUSH2 0x4c25 000004cd: JUMP 000004ce: JUMPDEST 000004cf: PUSH2 0x042b 000004d2: PUSH2 0x04dc 000004d5: CALLDATASIZE 000004d6: PUSH1 0x04 000004d8: PUSH2 0x4c37 000004db: JUMP 000004dc: JUMPDEST 000004dd: PUSH2 0x0e66 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH2 0x042b 000004e5: PUSH2 0x04ef 000004e8: CALLDATASIZE 000004e9: PUSH1 0x04 000004eb: PUSH2 0x4c65 000004ee: JUMP 000004ef: JUMPDEST 000004f0: PUSH2 0x0e88 000004f3: JUMP 000004f4: JUMPDEST 000004f5: PUSH2 0x042b 000004f8: PUSH2 0x0502 000004fb: CALLDATASIZE 000004fc: PUSH1 0x04 000004fe: PUSH2 0x4cd8 00000501: JUMP 00000502: JUMPDEST 00000503: PUSH2 0x0efa 00000506: JUMP 00000507: JUMPDEST 00000508: PUSH2 0x04c1 0000050b: PUSH2 0x0515 0000050e: CALLDATASIZE 0000050f: PUSH1 0x04 00000511: PUSH2 0x4cf3 00000514: JUMP 00000515: JUMPDEST 00000516: PUSH2 0x0f1e 00000519: JUMP 0000051a: JUMPDEST 0000051b: PUSH2 0x042b 0000051e: PUSH2 0x0528 00000521: CALLDATASIZE 00000522: PUSH1 0x04 00000524: PUSH2 0x4c37 00000527: JUMP 00000528: JUMPDEST 00000529: PUSH2 0x0ff8 0000052c: JUMP 0000052d: JUMPDEST 0000052e: PUSH1 0x03 00000530: SLOAD 00000531: PUSH2 0x047a 00000534: SWAP1 00000535: PUSH1 0x01 00000537: PUSH1 0xc0 00000539: SHL 0000053a: SWAP1 0000053b: DIV 0000053c: PUSH2 0xffff 0000053f: AND 00000540: DUP2 00000541: JUMP 00000542: JUMPDEST 00000543: PUSH2 0x042b 00000546: PUSH2 0x1030 00000549: JUMP 0000054a: JUMPDEST 0000054b: PUSH2 0x042b 0000054e: PUSH2 0x0558 00000551: CALLDATASIZE 00000552: PUSH1 0x04 00000554: PUSH2 0x4db0 00000557: JUMP 00000558: JUMPDEST 00000559: PUSH2 0x1082 0000055c: JUMP 0000055d: JUMPDEST 0000055e: PUSH2 0x0570 00000561: PUSH2 0x056b 00000564: CALLDATASIZE 00000565: PUSH1 0x04 00000567: PUSH2 0x4bad 0000056a: JUMP 0000056b: JUMPDEST 0000056c: PUSH2 0x10f3 0000056f: JUMP 00000570: JUMPDEST 00000571: PUSH1 0x40 00000573: MLOAD 00000574: PUSH2 0x03ec 00000577: SWAP2 00000578: SWAP1 00000579: PUSH2 0x4de2 0000057c: JUMP 0000057d: JUMPDEST 0000057e: PUSH2 0x04a0 00000581: PUSH1 0x0a 00000583: SLOAD 00000584: DUP2 00000585: JUMP 00000586: JUMPDEST 00000587: PUSH2 0x042b 0000058a: PUSH2 0x0594 0000058d: CALLDATASIZE 0000058e: PUSH1 0x04 00000590: PUSH2 0x4e39 00000593: JUMP 00000594: JUMPDEST 00000595: PUSH2 0x11ec 00000598: JUMP 00000599: JUMPDEST 0000059a: PUSH2 0x04c1 0000059d: PUSH2 0x05a7 000005a0: CALLDATASIZE 000005a1: PUSH1 0x04 000005a3: PUSH2 0x4bad 000005a6: JUMP 000005a7: JUMPDEST 000005a8: PUSH2 0x1226 000005ab: JUMP 000005ac: JUMPDEST 000005ad: PUSH1 0x40 000005af: DUP1 000005b0: MLOAD 000005b1: PUSH4 0xffffffff 000005b6: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000002 000005d7: DUP2 000005d8: AND 000005d9: DUP3 000005da: MSTORE 000005db: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 000005fc: DUP2 000005fd: AND 000005fe: PUSH1 0x20 00000600: DUP4 00000601: ADD 00000602: MSTORE 00000603: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 00000624: AND 00000625: SWAP2 00000626: DUP2 00000627: ADD 00000628: SWAP2 00000629: SWAP1 0000062a: SWAP2 0000062b: MSTORE 0000062c: PUSH1 0x60 0000062e: ADD 0000062f: PUSH2 0x03ec 00000632: JUMP 00000633: JUMPDEST 00000634: PUSH2 0x042b 00000637: PUSH2 0x0641 0000063a: CALLDATASIZE 0000063b: PUSH1 0x04 0000063d: PUSH2 0x4cd8 00000640: JUMP 00000641: JUMPDEST 00000642: PUSH2 0x131a 00000645: JUMP 00000646: JUMPDEST 00000647: PUSH2 0x042b 0000064a: PUSH2 0x0654 0000064d: CALLDATASIZE 0000064e: PUSH1 0x04 00000650: PUSH2 0x4e54 00000653: JUMP 00000654: JUMPDEST 00000655: PUSH2 0x1350 00000658: JUMP 00000659: JUMPDEST 0000065a: PUSH2 0x042b 0000065d: PUSH2 0x0667 00000660: CALLDATASIZE 00000661: PUSH1 0x04 00000663: PUSH2 0x4e92 00000666: JUMP 00000667: JUMPDEST 00000668: PUSH2 0x137b 0000066b: JUMP 0000066c: JUMPDEST 0000066d: PUSH2 0x042b 00000670: PUSH2 0x067a 00000673: CALLDATASIZE 00000674: PUSH1 0x04 00000676: PUSH2 0x4b4f 00000679: JUMP 0000067a: JUMPDEST 0000067b: PUSH2 0x1419 0000067e: JUMP 0000067f: JUMPDEST 00000680: PUSH1 0x02 00000682: SLOAD 00000683: PUSH2 0x0408 00000686: SWAP1 00000687: PUSH1 0x01 00000689: PUSH1 0xa0 0000068b: SHL 0000068c: SWAP1 0000068d: DIV 0000068e: PUSH1 0xff 00000690: AND 00000691: DUP2 00000692: JUMP 00000693: JUMPDEST 00000694: PUSH0 00000695: DUP1 00000696: MSTORE 00000697: PUSH1 0x09 00000699: PUSH1 0x20 0000069b: MSTORE 0000069c: PUSH32 0xec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b 000006bd: SLOAD 000006be: PUSH2 0x04a0 000006c1: JUMP 000006c2: JUMPDEST 000006c3: PUSH2 0x04a0 000006c6: PUSH32 0x797343f8d6a29aafeb3aaf0910a8973e0081c60c2f6c1f775cd9f76ea348fc1e 000006e7: DUP2 000006e8: JUMP 000006e9: JUMPDEST 000006ea: PUSH2 0x06fc 000006ed: PUSH2 0x06f7 000006f0: CALLDATASIZE 000006f1: PUSH1 0x04 000006f3: PUSH2 0x4bad 000006f6: JUMP 000006f7: JUMPDEST 000006f8: PUSH2 0x15cc 000006fb: JUMP 000006fc: JUMPDEST 000006fd: PUSH1 0x40 000006ff: MLOAD 00000700: PUSH2 0x03ec 00000703: SWAP2 00000704: SWAP1 00000705: PUSH2 0x4ea8 00000708: JUMP 00000709: JUMPDEST 0000070a: PUSH2 0x042b 0000070d: PUSH2 0x0717 00000710: CALLDATASIZE 00000711: PUSH1 0x04 00000713: PUSH2 0x4db0 00000716: JUMP 00000717: JUMPDEST 00000718: PUSH2 0x16cc 0000071b: JUMP 0000071c: JUMPDEST 0000071d: PUSH2 0x042b 00000720: PUSH2 0x1815 00000723: JUMP 00000724: JUMPDEST 00000725: PUSH2 0x072c 00000728: PUSH2 0x184b 0000072b: JUMP 0000072c: JUMPDEST 0000072d: PUSH1 0x40 0000072f: MLOAD 00000730: PUSH2 0x03ec 00000733: SWAP8 00000734: SWAP7 00000735: SWAP6 00000736: SWAP5 00000737: SWAP4 00000738: SWAP3 00000739: SWAP2 0000073a: SWAP1 0000073b: PUSH2 0x4f43 0000073e: JUMP 0000073f: JUMPDEST 00000740: PUSH2 0x04a0 00000743: PUSH1 0x06 00000745: SLOAD 00000746: DUP2 00000747: JUMP 00000748: JUMPDEST 00000749: PUSH2 0x0454 0000074c: PUSH2 0x0756 0000074f: CALLDATASIZE 00000750: PUSH1 0x04 00000752: PUSH2 0x4fb2 00000755: JUMP 00000756: JUMPDEST 00000757: PUSH2 0x18f4 0000075a: JUMP 0000075b: JUMPDEST 0000075c: PUSH2 0x0408 0000075f: PUSH2 0x0769 00000762: CALLDATASIZE 00000763: PUSH1 0x04 00000765: PUSH2 0x4c37 00000768: JUMP 00000769: JUMPDEST 0000076a: PUSH2 0x1921 0000076d: JUMP 0000076e: JUMPDEST 0000076f: PUSH2 0x04a0 00000772: PUSH2 0x1957 00000775: JUMP 00000776: JUMPDEST 00000777: PUSH2 0x04a0 0000077a: PUSH0 0000077b: DUP1 0000077c: MLOAD 0000077d: PUSH1 0x20 0000077f: PUSH2 0x5afe 00000782: DUP4 00000783: CODECOPY 00000784: DUP2 00000785: MLOAD 00000786: SWAP2 00000787: MSTORE 00000788: DUP2 00000789: JUMP 0000078a: JUMPDEST 0000078b: PUSH2 0x04a0 0000078e: PUSH0 0000078f: DUP2 00000790: JUMP 00000791: JUMPDEST 00000792: PUSH2 0x04a0 00000795: PUSH1 0x05 00000797: SLOAD 00000798: DUP2 00000799: JUMP 0000079a: JUMPDEST 0000079b: PUSH2 0x07a2 0000079e: PUSH2 0x1970 000007a1: JUMP 000007a2: JUMPDEST 000007a3: PUSH1 0x40 000007a5: MLOAD 000007a6: PUSH2 0x03ec 000007a9: SWAP2 000007aa: SWAP1 000007ab: PUSH2 0x4fd2 000007ae: JUMP 000007af: JUMPDEST 000007b0: PUSH2 0x04a0 000007b3: PUSH32 0xaeaff0ba5714de3101330cd09333f32afb2556d1f0ec0469ef94ffe1e27c4bca 000007d4: DUP2 000007d5: JUMP 000007d6: JUMPDEST 000007d7: PUSH2 0x04c1 000007da: PUSH2 0x07e4 000007dd: CALLDATASIZE 000007de: PUSH1 0x04 000007e0: PUSH2 0x4bad 000007e3: JUMP 000007e4: JUMPDEST 000007e5: PUSH2 0x19f2 000007e8: JUMP 000007e9: JUMPDEST 000007ea: PUSH1 0x03 000007ec: SLOAD 000007ed: PUSH2 0x0803 000007f0: SWAP1 000007f1: PUSH1 0x01 000007f3: PUSH1 0x80 000007f5: SHL 000007f6: SWAP1 000007f7: DIV 000007f8: PUSH1 0x01 000007fa: PUSH1 0x01 000007fc: PUSH1 0x40 000007fe: SHL 000007ff: SUB 00000800: AND 00000801: DUP2 00000802: JUMP 00000803: JUMPDEST 00000804: PUSH1 0x40 00000806: MLOAD 00000807: PUSH1 0x01 00000809: PUSH1 0x01 0000080b: PUSH1 0x40 0000080d: SHL 0000080e: SUB 0000080f: SWAP1 00000810: SWAP2 00000811: AND 00000812: DUP2 00000813: MSTORE 00000814: PUSH1 0x20 00000816: ADD 00000817: PUSH2 0x03ec 0000081a: JUMP 0000081b: JUMPDEST 0000081c: PUSH2 0x042b 0000081f: PUSH2 0x0829 00000822: CALLDATASIZE 00000823: PUSH1 0x04 00000825: PUSH2 0x501f 00000828: JUMP 00000829: JUMPDEST 0000082a: PUSH2 0x1aae 0000082d: JUMP 0000082e: JUMPDEST 0000082f: PUSH2 0x04c1 00000832: PUSH2 0x083c 00000835: CALLDATASIZE 00000836: PUSH1 0x04 00000838: PUSH2 0x5048 0000083b: JUMP 0000083c: JUMPDEST 0000083d: PUSH2 0x1b8e 00000840: JUMP 00000841: JUMPDEST 00000842: PUSH1 0x03 00000844: SLOAD 00000845: PUSH2 0x084e 00000848: SWAP1 00000849: PUSH1 0x80 0000084b: SHL 0000084c: DUP2 0000084d: JUMP 0000084e: JUMPDEST 0000084f: PUSH1 0x40 00000851: MLOAD 00000852: PUSH1 0x01 00000854: PUSH1 0x01 00000856: PUSH1 0x80 00000858: SHL 00000859: SUB 0000085a: NOT 0000085b: SWAP1 0000085c: SWAP2 0000085d: AND 0000085e: DUP2 0000085f: MSTORE 00000860: PUSH1 0x20 00000862: ADD 00000863: PUSH2 0x03ec 00000866: JUMP 00000867: JUMPDEST 00000868: PUSH2 0x042b 0000086b: PUSH2 0x0875 0000086e: CALLDATASIZE 0000086f: PUSH1 0x04 00000871: PUSH2 0x50d1 00000874: JUMP 00000875: JUMPDEST 00000876: PUSH2 0x1cb9 00000879: JUMP 0000087a: JUMPDEST 0000087b: PUSH2 0x04a0 0000087e: PUSH2 0x0888 00000881: CALLDATASIZE 00000882: PUSH1 0x04 00000884: PUSH2 0x4b4f 00000887: JUMP 00000888: JUMPDEST 00000889: PUSH2 0x1d9a 0000088c: JUMP 0000088d: JUMPDEST 0000088e: PUSH2 0x04a0 00000891: PUSH0 00000892: DUP1 00000893: MLOAD 00000894: PUSH1 0x20 00000896: PUSH2 0x5ade 00000899: DUP4 0000089a: CODECOPY 0000089b: DUP2 0000089c: MLOAD 0000089d: SWAP2 0000089e: MSTORE 0000089f: DUP2 000008a0: JUMP 000008a1: JUMPDEST 000008a2: PUSH2 0x042b 000008a5: PUSH2 0x08af 000008a8: CALLDATASIZE 000008a9: PUSH1 0x04 000008ab: PUSH2 0x4c37 000008ae: JUMP 000008af: JUMPDEST 000008b0: PUSH2 0x1dbe 000008b3: JUMP 000008b4: JUMPDEST 000008b5: PUSH2 0x04a0 000008b8: PUSH1 0x04 000008ba: SLOAD 000008bb: DUP2 000008bc: JUMP 000008bd: JUMPDEST 000008be: PUSH2 0x04a0 000008c1: PUSH0 000008c2: DUP1 000008c3: MLOAD 000008c4: PUSH1 0x20 000008c6: PUSH2 0x5b5e 000008c9: DUP4 000008ca: CODECOPY 000008cb: DUP2 000008cc: MLOAD 000008cd: SWAP2 000008ce: MSTORE 000008cf: DUP2 000008d0: JUMP 000008d1: JUMPDEST 000008d2: PUSH2 0x042b 000008d5: PUSH2 0x08df 000008d8: CALLDATASIZE 000008d9: PUSH1 0x04 000008db: PUSH2 0x50ea 000008de: JUMP 000008df: JUMPDEST 000008e0: PUSH2 0x1dda 000008e3: JUMP 000008e4: JUMPDEST 000008e5: PUSH2 0x04a0 000008e8: PUSH32 0x65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a 00000909: DUP2 0000090a: JUMP 0000090b: JUMPDEST 0000090c: PUSH2 0x04a0 0000090f: PUSH0 00000910: DUP1 00000911: MLOAD 00000912: PUSH1 0x20 00000914: PUSH2 0x5abe 00000917: DUP4 00000918: CODECOPY 00000919: DUP2 0000091a: MLOAD 0000091b: SWAP2 0000091c: MSTORE 0000091d: DUP2 0000091e: JUMP 0000091f: JUMPDEST 00000920: PUSH2 0x04a0 00000923: PUSH2 0x1ee4 00000926: JUMP 00000927: JUMPDEST 00000928: PUSH2 0x04a0 0000092b: PUSH0 0000092c: DUP1 0000092d: MLOAD 0000092e: PUSH1 0x20 00000930: PUSH2 0x5b3e 00000933: DUP4 00000934: CODECOPY 00000935: DUP2 00000936: MLOAD 00000937: SWAP2 00000938: MSTORE 00000939: DUP2 0000093a: JUMP 0000093b: JUMPDEST 0000093c: PUSH1 0x02 0000093e: SLOAD 0000093f: PUSH2 0x0454 00000942: SWAP1 00000943: PUSH1 0x01 00000945: PUSH1 0x01 00000947: PUSH1 0xa0 00000949: SHL 0000094a: SUB 0000094b: AND 0000094c: DUP2 0000094d: JUMP 0000094e: JUMPDEST 0000094f: PUSH2 0x042b 00000952: PUSH2 0x095c 00000955: CALLDATASIZE 00000956: PUSH1 0x04 00000958: PUSH2 0x51a5 0000095b: JUMP 0000095c: JUMPDEST 0000095d: PUSH2 0x1eed 00000960: JUMP 00000961: JUMPDEST 00000962: PUSH2 0x042b 00000965: PUSH2 0x096f 00000968: CALLDATASIZE 00000969: PUSH1 0x04 0000096b: PUSH2 0x5220 0000096e: JUMP 0000096f: JUMPDEST 00000970: PUSH2 0x2318 00000973: JUMP 00000974: JUMPDEST 00000975: PUSH0 00000976: PUSH1 0x01 00000978: PUSH1 0x01 0000097a: PUSH1 0xe0 0000097c: SHL 0000097d: SUB 0000097e: NOT 0000097f: DUP3 00000980: AND 00000981: PUSH4 0x5a05180f 00000986: PUSH1 0xe0 00000988: SHL 00000989: EQ 0000098a: DUP1 0000098b: PUSH2 0x0998 0000098e: JUMPI 0000098f: POP 00000990: PUSH2 0x0998 00000993: DUP3 00000994: PUSH2 0x236d 00000997: JUMP 00000998: JUMPDEST 00000999: SWAP3 0000099a: SWAP2 0000099b: POP 0000099c: POP 0000099d: JUMP 0000099e: JUMPDEST 0000099f: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 000009c0: DUP1 000009c1: SLOAD 000009c2: PUSH1 0x01 000009c4: PUSH1 0x40 000009c6: SHL 000009c7: DUP2 000009c8: DIV 000009c9: PUSH1 0xff 000009cb: AND 000009cc: ISZERO 000009cd: SWAP1 000009ce: PUSH1 0x01 000009d0: PUSH1 0x01 000009d2: PUSH1 0x40 000009d4: SHL 000009d5: SUB 000009d6: AND 000009d7: PUSH0 000009d8: DUP2 000009d9: ISZERO 000009da: DUP1 000009db: ISZERO 000009dc: PUSH2 0x09e2 000009df: JUMPI 000009e0: POP 000009e1: DUP3 000009e2: JUMPDEST 000009e3: SWAP1 000009e4: POP 000009e5: PUSH0 000009e6: DUP3 000009e7: PUSH1 0x01 000009e9: PUSH1 0x01 000009eb: PUSH1 0x40 000009ed: SHL 000009ee: SUB 000009ef: AND 000009f0: PUSH1 0x01 000009f2: EQ 000009f3: DUP1 000009f4: ISZERO 000009f5: PUSH2 0x09fd 000009f8: JUMPI 000009f9: POP 000009fa: ADDRESS 000009fb: EXTCODESIZE 000009fc: ISZERO 000009fd: JUMPDEST 000009fe: SWAP1 000009ff: POP 00000a00: DUP2 00000a01: ISZERO 00000a02: DUP1 00000a03: ISZERO 00000a04: PUSH2 0x0a0b 00000a07: JUMPI 00000a08: POP 00000a09: DUP1 00000a0a: ISZERO 00000a0b: JUMPDEST 00000a0c: ISZERO 00000a0d: PUSH2 0x0a29 00000a10: JUMPI 00000a11: PUSH1 0x40 00000a13: MLOAD 00000a14: PUSH4 0xf92ee8a9 00000a19: PUSH1 0xe0 00000a1b: SHL 00000a1c: DUP2 00000a1d: MSTORE 00000a1e: PUSH1 0x04 00000a20: ADD 00000a21: PUSH1 0x40 00000a23: MLOAD 00000a24: DUP1 00000a25: SWAP2 00000a26: SUB 00000a27: SWAP1 00000a28: REVERT 00000a29: JUMPDEST 00000a2a: DUP5 00000a2b: SLOAD 00000a2c: PUSH8 0xffffffffffffffff 00000a35: NOT 00000a36: AND 00000a37: PUSH1 0x01 00000a39: OR 00000a3a: DUP6 00000a3b: SSTORE 00000a3c: DUP4 00000a3d: ISZERO 00000a3e: PUSH2 0x0a53 00000a41: JUMPI 00000a42: DUP5 00000a43: SLOAD 00000a44: PUSH1 0xff 00000a46: PUSH1 0x40 00000a48: SHL 00000a49: NOT 00000a4a: AND 00000a4b: PUSH1 0x01 00000a4d: PUSH1 0x40 00000a4f: SHL 00000a50: OR 00000a51: DUP6 00000a52: SSTORE 00000a53: JUMPDEST 00000a54: PUSH2 0x0a5b 00000a57: PUSH2 0x23a1 00000a5a: JUMP 00000a5b: JUMPDEST 00000a5c: PUSH2 0x0aa1 00000a5f: PUSH1 0x40 00000a61: MLOAD 00000a62: DUP1 00000a63: PUSH1 0x40 00000a65: ADD 00000a66: PUSH1 0x40 00000a68: MSTORE 00000a69: DUP1 00000a6a: PUSH1 0x0b 00000a6c: DUP2 00000a6d: MSTORE 00000a6e: PUSH1 0x20 00000a70: ADD 00000a71: PUSH11 0x2234b9ba3934b13aba37b9 00000a7d: PUSH1 0xa9 00000a7f: SHL 00000a80: DUP2 00000a81: MSTORE 00000a82: POP 00000a83: PUSH1 0x40 00000a85: MLOAD 00000a86: DUP1 00000a87: PUSH1 0x40 00000a89: ADD 00000a8a: PUSH1 0x40 00000a8c: MSTORE 00000a8d: DUP1 00000a8e: PUSH1 0x01 00000a90: DUP2 00000a91: MSTORE 00000a92: PUSH1 0x20 00000a94: ADD 00000a95: PUSH1 0x31 00000a97: PUSH1 0xf8 00000a99: SHL 00000a9a: DUP2 00000a9b: MSTORE 00000a9c: POP 00000a9d: PUSH2 0x23a9 00000aa0: JUMP 00000aa1: JUMPDEST 00000aa2: PUSH2 0x0ad8 00000aa5: PUSH0 00000aa6: DUP1 00000aa7: MLOAD 00000aa8: PUSH1 0x20 00000aaa: PUSH2 0x5b3e 00000aad: DUP4 00000aae: CODECOPY 00000aaf: DUP2 00000ab0: MLOAD 00000ab1: SWAP2 00000ab2: MSTORE 00000ab3: PUSH32 0xaeaff0ba5714de3101330cd09333f32afb2556d1f0ec0469ef94ffe1e27c4bca 00000ad4: PUSH2 0x23bb 00000ad7: JUMP 00000ad8: JUMPDEST 00000ad9: PUSH2 0x0afc 00000adc: PUSH0 00000add: DUP1 00000ade: MLOAD 00000adf: PUSH1 0x20 00000ae1: PUSH2 0x5afe 00000ae4: DUP4 00000ae5: CODECOPY 00000ae6: DUP2 00000ae7: MLOAD 00000ae8: SWAP2 00000ae9: MSTORE 00000aea: PUSH0 00000aeb: DUP1 00000aec: MLOAD 00000aed: PUSH1 0x20 00000aef: PUSH2 0x5b3e 00000af2: DUP4 00000af3: CODECOPY 00000af4: DUP2 00000af5: MLOAD 00000af6: SWAP2 00000af7: MSTORE 00000af8: PUSH2 0x23bb 00000afb: JUMP 00000afc: JUMPDEST 00000afd: PUSH2 0x0b20 00000b00: PUSH0 00000b01: DUP1 00000b02: MLOAD 00000b03: PUSH1 0x20 00000b05: PUSH2 0x5ade 00000b08: DUP4 00000b09: CODECOPY 00000b0a: DUP2 00000b0b: MLOAD 00000b0c: SWAP2 00000b0d: MSTORE 00000b0e: PUSH0 00000b0f: DUP1 00000b10: MLOAD 00000b11: PUSH1 0x20 00000b13: PUSH2 0x5b3e 00000b16: DUP4 00000b17: CODECOPY 00000b18: DUP2 00000b19: MLOAD 00000b1a: SWAP2 00000b1b: MSTORE 00000b1c: PUSH2 0x23bb 00000b1f: JUMP 00000b20: JUMPDEST 00000b21: PUSH2 0x0b30 00000b24: PUSH0 00000b25: DUP1 00000b26: SHL 00000b27: DUP8 00000b28: PUSH1 0xc0 00000b2a: ADD 00000b2b: MLOAD 00000b2c: PUSH2 0x241b 00000b2f: JUMP 00000b30: JUMPDEST 00000b31: POP 00000b32: PUSH2 0x0b4c 00000b35: PUSH0 00000b36: DUP1 00000b37: MLOAD 00000b38: PUSH1 0x20 00000b3a: PUSH2 0x5abe 00000b3d: DUP4 00000b3e: CODECOPY 00000b3f: DUP2 00000b40: MLOAD 00000b41: SWAP2 00000b42: MSTORE 00000b43: DUP8 00000b44: PUSH1 0xe0 00000b46: ADD 00000b47: MLOAD 00000b48: PUSH2 0x241b 00000b4b: JUMP 00000b4c: JUMPDEST 00000b4d: POP 00000b4e: PUSH2 0x0b7c 00000b51: PUSH32 0xaeaff0ba5714de3101330cd09333f32afb2556d1f0ec0469ef94ffe1e27c4bca 00000b72: DUP8 00000b73: PUSH2 0x0100 00000b76: ADD 00000b77: MLOAD 00000b78: PUSH2 0x241b 00000b7b: JUMP 00000b7c: JUMPDEST 00000b7d: POP 00000b7e: PUSH2 0x0b99 00000b81: PUSH0 00000b82: DUP1 00000b83: MLOAD 00000b84: PUSH1 0x20 00000b86: PUSH2 0x5b3e 00000b89: DUP4 00000b8a: CODECOPY 00000b8b: DUP2 00000b8c: MLOAD 00000b8d: SWAP2 00000b8e: MSTORE 00000b8f: DUP8 00000b90: PUSH2 0x0120 00000b93: ADD 00000b94: MLOAD 00000b95: PUSH2 0x241b 00000b98: JUMP 00000b99: JUMPDEST 00000b9a: POP 00000b9b: PUSH2 0x0bb6 00000b9e: PUSH0 00000b9f: DUP1 00000ba0: MLOAD 00000ba1: PUSH1 0x20 00000ba3: PUSH2 0x5afe 00000ba6: DUP4 00000ba7: CODECOPY 00000ba8: DUP2 00000ba9: MLOAD 00000baa: SWAP2 00000bab: MSTORE 00000bac: DUP8 00000bad: PUSH2 0x0140 00000bb0: ADD 00000bb1: MLOAD 00000bb2: PUSH2 0x241b 00000bb5: JUMP 00000bb6: JUMPDEST 00000bb7: POP 00000bb8: PUSH2 0x0bd3 00000bbb: PUSH0 00000bbc: DUP1 00000bbd: MLOAD 00000bbe: PUSH1 0x20 00000bc0: PUSH2 0x5ade 00000bc3: DUP4 00000bc4: CODECOPY 00000bc5: DUP2 00000bc6: MLOAD 00000bc7: SWAP2 00000bc8: MSTORE 00000bc9: DUP8 00000bca: PUSH2 0x0160 00000bcd: ADD 00000bce: MLOAD 00000bcf: PUSH2 0x241b 00000bd2: JUMP 00000bd3: JUMPDEST 00000bd4: POP 00000bd5: PUSH2 0x0c03 00000bd8: PUSH32 0x797343f8d6a29aafeb3aaf0910a8973e0081c60c2f6c1f775cd9f76ea348fc1e 00000bf9: DUP8 00000bfa: PUSH2 0x0160 00000bfd: ADD 00000bfe: MLOAD 00000bff: PUSH2 0x241b 00000c02: JUMP 00000c03: JUMPDEST 00000c04: POP 00000c05: PUSH2 0x0c33 00000c08: PUSH32 0x65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a 00000c29: DUP8 00000c2a: PUSH2 0x0160 00000c2d: ADD 00000c2e: MLOAD 00000c2f: PUSH2 0x241b 00000c32: JUMP 00000c33: JUMPDEST 00000c34: POP 00000c35: PUSH2 0x0c41 00000c38: DUP7 00000c39: PUSH1 0x40 00000c3b: ADD 00000c3c: MLOAD 00000c3d: PUSH2 0x245d 00000c40: JUMP 00000c41: JUMPDEST 00000c42: PUSH1 0x40 00000c44: DUP7 00000c45: DUP2 00000c46: ADD 00000c47: MLOAD 00000c48: DUP1 00000c49: MLOAD 00000c4a: PUSH0 00000c4b: DUP1 00000c4c: SLOAD 00000c4d: PUSH1 0x20 00000c4f: DUP1 00000c50: DUP6 00000c51: ADD 00000c52: MLOAD 00000c53: SWAP5 00000c54: SWAP1 00000c55: SWAP6 00000c56: ADD 00000c57: MLOAD 00000c58: PUSH1 0x01 00000c5a: PUSH1 0x01 00000c5c: PUSH1 0xa0 00000c5e: SHL 00000c5f: SUB 00000c60: SWAP4 00000c61: DUP5 00000c62: AND 00000c63: PUSH1 0x01 00000c65: PUSH1 0x01 00000c67: PUSH1 0xd0 00000c69: SHL 00000c6a: SUB 00000c6b: NOT 00000c6c: SWAP1 00000c6d: SWAP3 00000c6e: AND 00000c6f: SWAP2 00000c70: SWAP1 00000c71: SWAP2 00000c72: OR 00000c73: PUSH1 0x01 00000c75: PUSH1 0xa0 00000c77: SHL 00000c78: PUSH1 0xd0 00000c7a: SWAP6 00000c7b: DUP7 00000c7c: SHR 00000c7d: MUL 00000c7e: OR 00000c7f: PUSH1 0x01 00000c81: PUSH1 0x01 00000c83: PUSH1 0xd0 00000c85: SHL 00000c86: SUB 00000c87: AND 00000c88: PUSH1 0x01 00000c8a: PUSH1 0xd0 00000c8c: SHL 00000c8d: SWAP2 00000c8e: SWAP1 00000c8f: SWAP5 00000c90: SHR 00000c91: MUL 00000c92: SWAP3 00000c93: SWAP1 00000c94: SWAP3 00000c95: OR 00000c96: SWAP1 00000c97: SWAP2 00000c98: SSTORE 00000c99: PUSH1 0x60 00000c9b: DUP9 00000c9c: ADD 00000c9d: MLOAD 00000c9e: PUSH1 0x01 00000ca0: DUP1 00000ca1: SLOAD 00000ca2: PUSH1 0x01 00000ca4: PUSH1 0x01 00000ca6: PUSH1 0xa0 00000ca8: SHL 00000ca9: SUB 00000caa: NOT 00000cab: SWAP1 00000cac: DUP2 00000cad: AND 00000cae: SWAP3 00000caf: DUP5 00000cb0: AND 00000cb1: SWAP3 00000cb2: SWAP1 00000cb3: SWAP3 00000cb4: OR 00000cb5: SWAP1 00000cb6: SSTORE 00000cb7: DUP9 00000cb8: MLOAD 00000cb9: PUSH1 0x02 00000cbb: DUP1 00000cbc: SLOAD 00000cbd: SWAP1 00000cbe: SWAP3 00000cbf: AND 00000cc0: SWAP3 00000cc1: AND 00000cc2: SWAP2 00000cc3: SWAP1 00000cc4: SWAP2 00000cc5: OR 00000cc6: SWAP1 00000cc7: SSTORE 00000cc8: DUP7 00000cc9: ADD 00000cca: MLOAD 00000ccb: PUSH1 0x03 00000ccd: DUP1 00000cce: SLOAD 00000ccf: PUSH1 0x01 00000cd1: PUSH1 0x01 00000cd3: PUSH1 0x80 00000cd5: SHL 00000cd6: SUB 00000cd7: NOT 00000cd8: AND 00000cd9: PUSH1 0x80 00000cdb: SWAP3 00000cdc: DUP4 00000cdd: SHR 00000cde: OR 00000cdf: SWAP1 00000ce0: SSTORE 00000ce1: PUSH2 0x01a0 00000ce4: DUP8 00000ce5: ADD 00000ce6: MLOAD 00000ce7: PUSH1 0x07 00000ce9: DUP1 00000cea: SLOAD 00000ceb: PUSH2 0xffff 00000cee: NOT 00000cef: AND 00000cf0: PUSH2 0xffff 00000cf3: SWAP1 00000cf4: SWAP3 00000cf5: AND 00000cf6: SWAP2 00000cf7: SWAP1 00000cf8: SWAP2 00000cf9: OR 00000cfa: SWAP1 00000cfb: SSTORE 00000cfc: DUP7 00000cfd: ADD 00000cfe: MLOAD 00000cff: PUSH2 0x0180 00000d02: DUP8 00000d03: ADD 00000d04: MLOAD 00000d05: PUSH2 0x0d0e 00000d08: SWAP2 00000d09: SWAP1 00000d0a: PUSH2 0x25d4 00000d0d: JUMP 00000d0e: JUMPDEST 00000d0f: PUSH2 0x0d1b 00000d12: DUP7 00000d13: PUSH1 0xa0 00000d15: ADD 00000d16: MLOAD 00000d17: PUSH2 0x288e 00000d1a: JUMP 00000d1b: JUMPDEST 00000d1c: PUSH1 0x02 00000d1e: DUP1 00000d1f: SLOAD 00000d20: PUSH1 0xff 00000d22: PUSH1 0xa0 00000d24: SHL 00000d25: NOT 00000d26: AND 00000d27: PUSH1 0x01 00000d29: PUSH1 0xa0 00000d2b: SHL 00000d2c: OR 00000d2d: SWAP1 00000d2e: SSTORE 00000d2f: DUP4 00000d30: ISZERO 00000d31: PUSH2 0x0d74 00000d34: JUMPI 00000d35: DUP5 00000d36: SLOAD 00000d37: PUSH1 0xff 00000d39: PUSH1 0x40 00000d3b: SHL 00000d3c: NOT 00000d3d: AND 00000d3e: DUP6 00000d3f: SSTORE 00000d40: PUSH1 0x40 00000d42: MLOAD 00000d43: PUSH1 0x01 00000d45: DUP2 00000d46: MSTORE 00000d47: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00000d68: SWAP1 00000d69: PUSH1 0x20 00000d6b: ADD 00000d6c: PUSH1 0x40 00000d6e: MLOAD 00000d6f: DUP1 00000d70: SWAP2 00000d71: SUB 00000d72: SWAP1 00000d73: LOG1 00000d74: JUMPDEST 00000d75: POP 00000d76: POP 00000d77: POP 00000d78: POP 00000d79: POP 00000d7a: POP 00000d7b: JUMP 00000d7c: JUMPDEST 00000d7d: PUSH0 00000d7e: SWAP1 00000d7f: DUP2 00000d80: MSTORE 00000d81: PUSH0 00000d82: DUP1 00000d83: MLOAD 00000d84: PUSH1 0x20 00000d86: PUSH2 0x5b1e 00000d89: DUP4 00000d8a: CODECOPY 00000d8b: DUP2 00000d8c: MLOAD 00000d8d: SWAP2 00000d8e: MSTORE 00000d8f: PUSH1 0x20 00000d91: MSTORE 00000d92: PUSH1 0x40 00000d94: SWAP1 00000d95: KECCAK256 00000d96: PUSH1 0x01 00000d98: ADD 00000d99: SLOAD 00000d9a: SWAP1 00000d9b: JUMP 00000d9c: JUMPDEST 00000d9d: PUSH1 0x60 00000d9f: PUSH0 00000da0: DUP3 00000da1: PUSH1 0x01 00000da3: PUSH1 0x01 00000da5: PUSH1 0x40 00000da7: SHL 00000da8: SUB 00000da9: DUP2 00000daa: GT 00000dab: ISZERO 00000dac: PUSH2 0x0db7 00000daf: JUMPI 00000db0: PUSH2 0x0db7 00000db3: PUSH2 0x46ae 00000db6: JUMP 00000db7: JUMPDEST 00000db8: PUSH1 0x40 00000dba: MLOAD 00000dbb: SWAP1 00000dbc: DUP1 00000dbd: DUP3 00000dbe: MSTORE 00000dbf: DUP1 00000dc0: PUSH1 0x20 00000dc2: MUL 00000dc3: PUSH1 0x20 00000dc5: ADD 00000dc6: DUP3 00000dc7: ADD 00000dc8: PUSH1 0x40 00000dca: MSTORE 00000dcb: DUP1 00000dcc: ISZERO 00000dcd: PUSH2 0x0de0 00000dd0: JUMPI 00000dd1: DUP2 00000dd2: PUSH1 0x20 00000dd4: ADD 00000dd5: PUSH1 0x20 00000dd7: DUP3 00000dd8: MUL 00000dd9: DUP1 00000dda: CALLDATASIZE 00000ddb: DUP4 00000ddc: CALLDATACOPY 00000ddd: ADD 00000dde: SWAP1 00000ddf: POP 00000de0: JUMPDEST 00000de1: POP 00000de2: SWAP1 00000de3: POP 00000de4: PUSH0 00000de5: JUMPDEST 00000de6: DUP4 00000de7: DUP2 00000de8: LT 00000de9: ISZERO 00000dea: PUSH2 0x0e5e 00000ded: JUMPI 00000dee: PUSH1 0x09 00000df0: PUSH0 00000df1: DUP7 00000df2: DUP7 00000df3: DUP5 00000df4: DUP2 00000df5: DUP2 00000df6: LT 00000df7: PUSH2 0x0e02 00000dfa: JUMPI 00000dfb: PUSH2 0x0e02 00000dfe: PUSH2 0x52f4 00000e01: JUMP 00000e02: JUMPDEST 00000e03: SWAP1 00000e04: POP 00000e05: PUSH1 0x20 00000e07: MUL 00000e08: ADD 00000e09: PUSH1 0x20 00000e0b: DUP2 00000e0c: ADD 00000e0d: SWAP1 00000e0e: PUSH2 0x0e17 00000e11: SWAP2 00000e12: SWAP1 00000e13: PUSH2 0x5308 00000e16: JUMP 00000e17: JUMPDEST 00000e18: PUSH1 0x01 00000e1a: PUSH1 0x01 00000e1c: PUSH1 0x80 00000e1e: SHL 00000e1f: SUB 00000e20: NOT 00000e21: AND 00000e22: PUSH1 0x01 00000e24: PUSH1 0x01 00000e26: PUSH1 0x80 00000e28: SHL 00000e29: SUB 00000e2a: NOT 00000e2b: AND 00000e2c: DUP2 00000e2d: MSTORE 00000e2e: PUSH1 0x20 00000e30: ADD 00000e31: SWAP1 00000e32: DUP2 00000e33: MSTORE 00000e34: PUSH1 0x20 00000e36: ADD 00000e37: PUSH0 00000e38: KECCAK256 00000e39: SLOAD 00000e3a: DUP3 00000e3b: DUP3 00000e3c: DUP2 00000e3d: MLOAD 00000e3e: DUP2 00000e3f: LT 00000e40: PUSH2 0x0e4b 00000e43: JUMPI 00000e44: PUSH2 0x0e4b 00000e47: PUSH2 0x52f4 00000e4a: JUMP 00000e4b: JUMPDEST 00000e4c: PUSH1 0x20 00000e4e: SWAP1 00000e4f: DUP2 00000e50: MUL 00000e51: SWAP2 00000e52: SWAP1 00000e53: SWAP2 00000e54: ADD 00000e55: ADD 00000e56: MSTORE 00000e57: PUSH1 0x01 00000e59: ADD 00000e5a: PUSH2 0x0de5 00000e5d: JUMP 00000e5e: JUMPDEST 00000e5f: POP 00000e60: SWAP4 00000e61: SWAP3 00000e62: POP 00000e63: POP 00000e64: POP 00000e65: JUMP 00000e66: JUMPDEST 00000e67: PUSH2 0x0e6f 00000e6a: DUP3 00000e6b: PUSH2 0x0d7c 00000e6e: JUMP 00000e6f: JUMPDEST 00000e70: PUSH2 0x0e78 00000e73: DUP2 00000e74: PUSH2 0x2b82 00000e77: JUMP 00000e78: JUMPDEST 00000e79: PUSH2 0x0e82 00000e7c: DUP4 00000e7d: DUP4 00000e7e: PUSH2 0x241b 00000e81: JUMP 00000e82: JUMPDEST 00000e83: POP 00000e84: POP 00000e85: POP 00000e86: POP 00000e87: JUMP 00000e88: JUMPDEST 00000e89: PUSH0 00000e8a: DUP1 00000e8b: MLOAD 00000e8c: PUSH1 0x20 00000e8e: PUSH2 0x5abe 00000e91: DUP4 00000e92: CODECOPY 00000e93: DUP2 00000e94: MLOAD 00000e95: SWAP2 00000e96: MSTORE 00000e97: PUSH2 0x0e9f 00000e9a: DUP2 00000e9b: PUSH2 0x2b82 00000e9e: JUMP 00000e9f: JUMPDEST 00000ea0: PUSH2 0x0e82 00000ea3: DUP5 00000ea4: DUP5 00000ea5: DUP1 00000ea6: DUP1 00000ea7: PUSH1 0x20 00000ea9: MUL 00000eaa: PUSH1 0x20 00000eac: ADD 00000ead: PUSH1 0x40 00000eaf: MLOAD 00000eb0: SWAP1 00000eb1: DUP2 00000eb2: ADD 00000eb3: PUSH1 0x40 00000eb5: MSTORE 00000eb6: DUP1 00000eb7: SWAP4 00000eb8: SWAP3 00000eb9: SWAP2 00000eba: SWAP1 00000ebb: DUP2 00000ebc: DUP2 00000ebd: MSTORE 00000ebe: PUSH1 0x20 00000ec0: ADD 00000ec1: PUSH0 00000ec2: SWAP1 00000ec3: JUMPDEST 00000ec4: DUP3 00000ec5: DUP3 00000ec6: LT 00000ec7: ISZERO 00000ec8: PUSH2 0x0eef 00000ecb: JUMPI 00000ecc: PUSH2 0x0ee0 00000ecf: PUSH1 0xa0 00000ed1: DUP4 00000ed2: MUL 00000ed3: DUP7 00000ed4: ADD 00000ed5: CALLDATASIZE 00000ed6: DUP2 00000ed7: SWAP1 00000ed8: SUB 00000ed9: DUP2 00000eda: ADD 00000edb: SWAP1 00000edc: PUSH2 0x5321 00000edf: JUMP 00000ee0: JUMPDEST 00000ee1: DUP2 00000ee2: MSTORE 00000ee3: PUSH1 0x20 00000ee5: ADD 00000ee6: SWAP1 00000ee7: PUSH1 0x01 00000ee9: ADD 00000eea: SWAP1 00000eeb: PUSH2 0x0ec3 00000eee: JUMP 00000eef: JUMPDEST 00000ef0: POP 00000ef1: POP 00000ef2: POP 00000ef3: POP 00000ef4: POP 00000ef5: DUP4 00000ef6: PUSH2 0x25d4 00000ef9: JUMP 00000efa: JUMPDEST 00000efb: PUSH0 00000efc: DUP1 00000efd: MLOAD 00000efe: PUSH1 0x20 00000f00: PUSH2 0x5b3e 00000f03: DUP4 00000f04: CODECOPY 00000f05: DUP2 00000f06: MLOAD 00000f07: SWAP2 00000f08: MSTORE 00000f09: PUSH2 0x0f11 00000f0c: DUP2 00000f0d: PUSH2 0x2b82 00000f10: JUMP 00000f11: JUMPDEST 00000f12: PUSH2 0x0f1a 00000f15: DUP3 00000f16: PUSH2 0x2b8c 00000f19: JUMP 00000f1a: JUMPDEST 00000f1b: POP 00000f1c: POP 00000f1d: JUMP 00000f1e: JUMPDEST 00000f1f: PUSH1 0x60 00000f21: PUSH0 00000f22: DUP6 00000f23: PUSH1 0x01 00000f25: PUSH1 0x01 00000f27: PUSH1 0x40 00000f29: SHL 00000f2a: SUB 00000f2b: DUP2 00000f2c: GT 00000f2d: ISZERO 00000f2e: PUSH2 0x0f39 00000f31: JUMPI 00000f32: PUSH2 0x0f39 00000f35: PUSH2 0x46ae 00000f38: JUMP 00000f39: JUMPDEST 00000f3a: PUSH1 0x40 00000f3c: MLOAD 00000f3d: SWAP1 00000f3e: DUP1 00000f3f: DUP3 00000f40: MSTORE 00000f41: DUP1 00000f42: PUSH1 0x20 00000f44: MUL 00000f45: PUSH1 0x20 00000f47: ADD 00000f48: DUP3 00000f49: ADD 00000f4a: PUSH1 0x40 00000f4c: MSTORE 00000f4d: DUP1 00000f4e: ISZERO 00000f4f: PUSH2 0x0f62 00000f52: JUMPI 00000f53: DUP2 00000f54: PUSH1 0x20 00000f56: ADD 00000f57: PUSH1 0x20 00000f59: DUP3 00000f5a: MUL 00000f5b: DUP1 00000f5c: CALLDATASIZE 00000f5d: DUP4 00000f5e: CALLDATACOPY 00000f5f: ADD 00000f60: SWAP1 00000f61: POP 00000f62: JUMPDEST 00000f63: POP 00000f64: SWAP1 00000f65: POP 00000f66: PUSH0 00000f67: JUMPDEST 00000f68: DUP7 00000f69: DUP2 00000f6a: LT 00000f6b: ISZERO 00000f6c: PUSH2 0x0feb 00000f6f: JUMPI 00000f70: PUSH2 0x0fc6 00000f73: DUP9 00000f74: DUP9 00000f75: DUP4 00000f76: DUP2 00000f77: DUP2 00000f78: LT 00000f79: PUSH2 0x0f84 00000f7c: JUMPI 00000f7d: PUSH2 0x0f84 00000f80: PUSH2 0x52f4 00000f83: JUMP 00000f84: JUMPDEST 00000f85: SWAP1 00000f86: POP 00000f87: PUSH1 0x20 00000f89: MUL 00000f8a: ADD 00000f8b: PUSH1 0x20 00000f8d: DUP2 00000f8e: ADD 00000f8f: SWAP1 00000f90: PUSH2 0x0f99 00000f93: SWAP2 00000f94: SWAP1 00000f95: PUSH2 0x5308 00000f98: JUMP 00000f99: JUMPDEST 00000f9a: DUP8 00000f9b: DUP8 00000f9c: DUP5 00000f9d: DUP2 00000f9e: DUP2 00000f9f: LT 00000fa0: PUSH2 0x0fab 00000fa3: JUMPI 00000fa4: PUSH2 0x0fab 00000fa7: PUSH2 0x52f4 00000faa: JUMP 00000fab: JUMPDEST 00000fac: SWAP1 00000fad: POP 00000fae: PUSH1 0x20 00000fb0: MUL 00000fb1: ADD 00000fb2: PUSH1 0x20 00000fb4: DUP2 00000fb5: ADD 00000fb6: SWAP1 00000fb7: PUSH2 0x0fc0 00000fba: SWAP2 00000fbb: SWAP1 00000fbc: PUSH2 0x533b 00000fbf: JUMP 00000fc0: JUMPDEST 00000fc1: DUP7 00000fc2: PUSH2 0x2c0c 00000fc5: JUMP 00000fc6: JUMPDEST 00000fc7: DUP3 00000fc8: DUP3 00000fc9: DUP2 00000fca: MLOAD 00000fcb: DUP2 00000fcc: LT 00000fcd: PUSH2 0x0fd8 00000fd0: JUMPI 00000fd1: PUSH2 0x0fd8 00000fd4: PUSH2 0x52f4 00000fd7: JUMP 00000fd8: JUMPDEST 00000fd9: PUSH1 0x20 00000fdb: SWAP1 00000fdc: DUP2 00000fdd: MUL 00000fde: SWAP2 00000fdf: SWAP1 00000fe0: SWAP2 00000fe1: ADD 00000fe2: ADD 00000fe3: MSTORE 00000fe4: PUSH1 0x01 00000fe6: ADD 00000fe7: PUSH2 0x0f67 00000fea: JUMP 00000feb: JUMPDEST 00000fec: POP 00000fed: SWAP1 00000fee: POP 00000fef: JUMPDEST 00000ff0: SWAP6 00000ff1: SWAP5 00000ff2: POP 00000ff3: POP 00000ff4: POP 00000ff5: POP 00000ff6: POP 00000ff7: JUMP 00000ff8: JUMPDEST 00000ff9: PUSH1 0x01 00000ffb: PUSH1 0x01 00000ffd: PUSH1 0xa0 00000fff: SHL 00001000: SUB 00001001: DUP2 00001002: AND 00001003: CALLER 00001004: EQ 00001005: PUSH2 0x1021 00001008: JUMPI 00001009: PUSH1 0x40 0000100b: MLOAD 0000100c: PUSH4 0x334bd919 00001011: PUSH1 0xe1 00001013: SHL 00001014: DUP2 00001015: MSTORE 00001016: PUSH1 0x04 00001018: ADD 00001019: PUSH1 0x40 0000101b: MLOAD 0000101c: DUP1 0000101d: SWAP2 0000101e: SUB 0000101f: SWAP1 00001020: REVERT 00001021: JUMPDEST 00001022: PUSH2 0x102b 00001025: DUP3 00001026: DUP3 00001027: PUSH2 0x2d6c 0000102a: JUMP 0000102b: JUMPDEST 0000102c: POP 0000102d: POP 0000102e: POP 0000102f: JUMP 00001030: JUMPDEST 00001031: PUSH1 0x40 00001033: DUP1 00001034: MLOAD 00001035: PUSH1 0x60 00001037: DUP2 00001038: ADD 00001039: DUP3 0000103a: MSTORE 0000103b: PUSH0 0000103c: SLOAD 0000103d: PUSH1 0x01 0000103f: PUSH1 0x01 00001041: PUSH1 0xa0 00001043: SHL 00001044: SUB 00001045: DUP2 00001046: AND 00001047: DUP3 00001048: MSTORE 00001049: PUSH1 0x01 0000104b: PUSH1 0x01 0000104d: PUSH1 0xd0 0000104f: SHL 00001050: SUB 00001051: NOT 00001052: PUSH1 0x01 00001054: PUSH1 0xa0 00001056: SHL 00001057: DUP3 00001058: DIV 00001059: PUSH1 0xd0 0000105b: SWAP1 0000105c: DUP2 0000105d: SHL 0000105e: DUP3 0000105f: AND 00001060: PUSH1 0x20 00001062: DUP6 00001063: ADD 00001064: MSTORE 00001065: PUSH1 0x01 00001067: PUSH1 0xd0 00001069: SHL 0000106a: SWAP1 0000106b: SWAP3 0000106c: DIV 0000106d: SWAP1 0000106e: SWAP2 0000106f: SHL 00001070: AND 00001071: SWAP2 00001072: DUP2 00001073: ADD 00001074: SWAP2 00001075: SWAP1 00001076: SWAP2 00001077: MSTORE 00001078: PUSH2 0x1080 0000107b: SWAP1 0000107c: PUSH2 0x2da5 0000107f: JUMP 00001080: JUMPDEST 00001081: JUMP 00001082: JUMPDEST 00001083: PUSH0 00001084: DUP1 00001085: MLOAD 00001086: PUSH1 0x20 00001088: PUSH2 0x5abe 0000108b: DUP4 0000108c: CODECOPY 0000108d: DUP2 0000108e: MLOAD 0000108f: SWAP2 00001090: MSTORE 00001091: PUSH2 0x1099 00001094: DUP2 00001095: PUSH2 0x2b82 00001098: JUMP 00001099: JUMPDEST 0000109a: PUSH2 0x102b 0000109d: DUP4 0000109e: DUP4 0000109f: DUP1 000010a0: DUP1 000010a1: PUSH1 0x20 000010a3: MUL 000010a4: PUSH1 0x20 000010a6: ADD 000010a7: PUSH1 0x40 000010a9: MLOAD 000010aa: SWAP1 000010ab: DUP2 000010ac: ADD 000010ad: PUSH1 0x40 000010af: MSTORE 000010b0: DUP1 000010b1: SWAP4 000010b2: SWAP3 000010b3: SWAP2 000010b4: SWAP1 000010b5: DUP2 000010b6: DUP2 000010b7: MSTORE 000010b8: PUSH1 0x20 000010ba: ADD 000010bb: PUSH0 000010bc: SWAP1 000010bd: JUMPDEST 000010be: DUP3 000010bf: DUP3 000010c0: LT 000010c1: ISZERO 000010c2: PUSH2 0x10e9 000010c5: JUMPI 000010c6: PUSH2 0x10da 000010c9: PUSH1 0x60 000010cb: DUP4 000010cc: MUL 000010cd: DUP7 000010ce: ADD 000010cf: CALLDATASIZE 000010d0: DUP2 000010d1: SWAP1 000010d2: SUB 000010d3: DUP2 000010d4: ADD 000010d5: SWAP1 000010d6: PUSH2 0x5356 000010d9: JUMP 000010da: JUMPDEST 000010db: DUP2 000010dc: MSTORE 000010dd: PUSH1 0x20 000010df: ADD 000010e0: SWAP1 000010e1: PUSH1 0x01 000010e3: ADD 000010e4: SWAP1 000010e5: PUSH2 0x10bd 000010e8: JUMP 000010e9: JUMPDEST 000010ea: POP 000010eb: POP 000010ec: POP 000010ed: POP 000010ee: POP 000010ef: PUSH2 0x288e 000010f2: JUMP 000010f3: JUMPDEST 000010f4: PUSH1 0x60 000010f6: PUSH0 000010f7: DUP3 000010f8: PUSH1 0x01 000010fa: PUSH1 0x01 000010fc: PUSH1 0x40 000010fe: SHL 000010ff: SUB 00001100: DUP2 00001101: GT 00001102: ISZERO 00001103: PUSH2 0x110e 00001106: JUMPI 00001107: PUSH2 0x110e 0000110a: PUSH2 0x46ae 0000110d: JUMP 0000110e: JUMPDEST 0000110f: PUSH1 0x40 00001111: MLOAD 00001112: SWAP1 00001113: DUP1 00001114: DUP3 00001115: MSTORE 00001116: DUP1 00001117: PUSH1 0x20 00001119: MUL 0000111a: PUSH1 0x20 0000111c: ADD 0000111d: DUP3 0000111e: ADD 0000111f: PUSH1 0x40 00001121: MSTORE 00001122: DUP1 00001123: ISZERO 00001124: PUSH2 0x1152 00001127: JUMPI 00001128: DUP2 00001129: PUSH1 0x20 0000112b: ADD 0000112c: JUMPDEST 0000112d: PUSH1 0x40 0000112f: DUP1 00001130: MLOAD 00001131: DUP1 00001132: DUP3 00001133: ADD 00001134: SWAP1 00001135: SWAP2 00001136: MSTORE 00001137: PUSH0 00001138: DUP1 00001139: DUP3 0000113a: MSTORE 0000113b: PUSH1 0x20 0000113d: DUP3 0000113e: ADD 0000113f: MSTORE 00001140: DUP2 00001141: MSTORE 00001142: PUSH1 0x20 00001144: ADD 00001145: SWAP1 00001146: PUSH1 0x01 00001148: SWAP1 00001149: SUB 0000114a: SWAP1 0000114b: DUP2 0000114c: PUSH2 0x112c 0000114f: JUMPI 00001150: SWAP1 00001151: POP 00001152: JUMPDEST 00001153: POP 00001154: SWAP1 00001155: POP 00001156: PUSH0 00001157: JUMPDEST 00001158: DUP4 00001159: DUP2 0000115a: LT 0000115b: ISZERO 0000115c: PUSH2 0x0e5e 0000115f: JUMPI 00001160: PUSH1 0x08 00001162: PUSH0 00001163: DUP7 00001164: DUP7 00001165: DUP5 00001166: DUP2 00001167: DUP2 00001168: LT 00001169: PUSH2 0x1174 0000116c: JUMPI 0000116d: PUSH2 0x1174 00001170: PUSH2 0x52f4 00001173: JUMP 00001174: JUMPDEST 00001175: SWAP1 00001176: POP 00001177: PUSH1 0x20 00001179: MUL 0000117a: ADD 0000117b: PUSH1 0x20 0000117d: DUP2 0000117e: ADD 0000117f: SWAP1 00001180: PUSH2 0x1189 00001183: SWAP2 00001184: SWAP1 00001185: PUSH2 0x5308 00001188: JUMP 00001189: JUMPDEST 0000118a: PUSH1 0x01 0000118c: PUSH1 0x01 0000118e: PUSH1 0x80 00001190: SHL 00001191: SUB 00001192: NOT 00001193: AND 00001194: DUP2 00001195: MSTORE 00001196: PUSH1 0x20 00001198: DUP1 00001199: DUP3 0000119a: ADD 0000119b: SWAP3 0000119c: SWAP1 0000119d: SWAP3 0000119e: MSTORE 0000119f: PUSH1 0x40 000011a1: SWAP1 000011a2: DUP2 000011a3: ADD 000011a4: PUSH0 000011a5: KECCAK256 000011a6: DUP2 000011a7: MLOAD 000011a8: DUP1 000011a9: DUP4 000011aa: ADD 000011ab: SWAP1 000011ac: SWAP3 000011ad: MSTORE 000011ae: DUP1 000011af: SLOAD 000011b0: DUP3 000011b1: MSTORE 000011b2: PUSH1 0x01 000011b4: ADD 000011b5: SLOAD 000011b6: PUSH1 0x01 000011b8: PUSH1 0x01 000011ba: PUSH1 0x40 000011bc: SHL 000011bd: SUB 000011be: AND 000011bf: SWAP2 000011c0: DUP2 000011c1: ADD 000011c2: SWAP2 000011c3: SWAP1 000011c4: SWAP2 000011c5: MSTORE 000011c6: DUP3 000011c7: MLOAD 000011c8: DUP4 000011c9: SWAP1 000011ca: DUP4 000011cb: SWAP1 000011cc: DUP2 000011cd: LT 000011ce: PUSH2 0x11d9 000011d1: JUMPI 000011d2: PUSH2 0x11d9 000011d5: PUSH2 0x52f4 000011d8: JUMP 000011d9: JUMPDEST 000011da: PUSH1 0x20 000011dc: SWAP1 000011dd: DUP2 000011de: MUL 000011df: SWAP2 000011e0: SWAP1 000011e1: SWAP2 000011e2: ADD 000011e3: ADD 000011e4: MSTORE 000011e5: PUSH1 0x01 000011e7: ADD 000011e8: PUSH2 0x1157 000011eb: JUMP 000011ec: JUMPDEST 000011ed: PUSH0 000011ee: DUP1 000011ef: MLOAD 000011f0: PUSH1 0x20 000011f2: PUSH2 0x5abe 000011f5: DUP4 000011f6: CODECOPY 000011f7: DUP2 000011f8: MLOAD 000011f9: SWAP2 000011fa: MSTORE 000011fb: PUSH2 0x1203 000011fe: DUP2 000011ff: PUSH2 0x2b82 00001202: JUMP 00001203: JUMPDEST 00001204: POP 00001205: PUSH1 0x01 00001207: DUP1 00001208: SLOAD 00001209: PUSH1 0x01 0000120b: PUSH1 0x01 0000120d: PUSH1 0xa0 0000120f: SHL 00001210: SUB 00001211: NOT 00001212: AND 00001213: PUSH1 0x01 00001215: PUSH1 0x01 00001217: PUSH1 0xa0 00001219: SHL 0000121a: SUB 0000121b: SWAP3 0000121c: SWAP1 0000121d: SWAP3 0000121e: AND 0000121f: SWAP2 00001220: SWAP1 00001221: SWAP2 00001222: OR 00001223: SWAP1 00001224: SSTORE 00001225: JUMP 00001226: JUMPDEST 00001227: PUSH1 0x60 00001229: PUSH0 0000122a: DUP3 0000122b: PUSH1 0x01 0000122d: PUSH1 0x01 0000122f: PUSH1 0x40 00001231: SHL 00001232: SUB 00001233: DUP2 00001234: GT 00001235: ISZERO 00001236: PUSH2 0x1241 00001239: JUMPI 0000123a: PUSH2 0x1241 0000123d: PUSH2 0x46ae 00001240: JUMP 00001241: JUMPDEST 00001242: PUSH1 0x40 00001244: MLOAD 00001245: SWAP1 00001246: DUP1 00001247: DUP3 00001248: MSTORE 00001249: DUP1 0000124a: PUSH1 0x20 0000124c: MUL 0000124d: PUSH1 0x20 0000124f: ADD 00001250: DUP3 00001251: ADD 00001252: PUSH1 0x40 00001254: MSTORE 00001255: DUP1 00001256: ISZERO 00001257: PUSH2 0x126a 0000125a: JUMPI 0000125b: DUP2 0000125c: PUSH1 0x20 0000125e: ADD 0000125f: PUSH1 0x20 00001261: DUP3 00001262: MUL 00001263: DUP1 00001264: CALLDATASIZE 00001265: DUP4 00001266: CALLDATACOPY 00001267: ADD 00001268: SWAP1 00001269: POP 0000126a: JUMPDEST 0000126b: POP 0000126c: SWAP1 0000126d: POP 0000126e: PUSH0 0000126f: JUMPDEST 00001270: DUP4 00001271: DUP2 00001272: LT 00001273: ISZERO 00001274: PUSH2 0x0e5e 00001277: JUMPI 00001278: PUSH2 0x12f5 0000127b: DUP6 0000127c: DUP6 0000127d: DUP4 0000127e: DUP2 0000127f: DUP2 00001280: LT 00001281: PUSH2 0x128c 00001284: JUMPI 00001285: PUSH2 0x128c 00001288: PUSH2 0x52f4 0000128b: JUMP 0000128c: JUMPDEST 0000128d: SWAP1 0000128e: POP 0000128f: PUSH1 0x20 00001291: MUL 00001292: ADD 00001293: PUSH1 0x20 00001295: DUP2 00001296: ADD 00001297: SWAP1 00001298: PUSH2 0x12a1 0000129b: SWAP2 0000129c: SWAP1 0000129d: PUSH2 0x5308 000012a0: JUMP 000012a1: JUMPDEST 000012a2: PUSH1 0x0b 000012a4: PUSH0 000012a5: DUP9 000012a6: DUP9 000012a7: DUP7 000012a8: DUP2 000012a9: DUP2 000012aa: LT 000012ab: PUSH2 0x12b6 000012ae: JUMPI 000012af: PUSH2 0x12b6 000012b2: PUSH2 0x52f4 000012b5: JUMP 000012b6: JUMPDEST 000012b7: SWAP1 000012b8: POP 000012b9: PUSH1 0x20 000012bb: MUL 000012bc: ADD 000012bd: PUSH1 0x20 000012bf: DUP2 000012c0: ADD 000012c1: SWAP1 000012c2: PUSH2 0x12cb 000012c5: SWAP2 000012c6: SWAP1 000012c7: PUSH2 0x5308 000012ca: JUMP 000012cb: JUMPDEST 000012cc: PUSH1 0x01 000012ce: PUSH1 0x01 000012d0: PUSH1 0x80 000012d2: SHL 000012d3: SUB 000012d4: NOT 000012d5: AND 000012d6: DUP2 000012d7: MSTORE 000012d8: PUSH1 0x20 000012da: DUP2 000012db: ADD 000012dc: SWAP2 000012dd: SWAP1 000012de: SWAP2 000012df: MSTORE 000012e0: PUSH1 0x40 000012e2: ADD 000012e3: PUSH0 000012e4: KECCAK256 000012e5: SLOAD 000012e6: PUSH1 0x01 000012e8: PUSH1 0xa0 000012ea: SHL 000012eb: SWAP1 000012ec: DIV 000012ed: PUSH2 0xffff 000012f0: AND 000012f1: PUSH2 0x2f7e 000012f4: JUMP 000012f5: JUMPDEST 000012f6: DUP3 000012f7: DUP3 000012f8: DUP2 000012f9: MLOAD 000012fa: DUP2 000012fb: LT 000012fc: PUSH2 0x1307 000012ff: JUMPI 00001300: PUSH2 0x1307 00001303: PUSH2 0x52f4 00001306: JUMP 00001307: JUMPDEST 00001308: PUSH1 0x20 0000130a: SWAP1 0000130b: DUP2 0000130c: MUL 0000130d: SWAP2 0000130e: SWAP1 0000130f: SWAP2 00001310: ADD 00001311: ADD 00001312: MSTORE 00001313: PUSH1 0x01 00001315: ADD 00001316: PUSH2 0x126f 00001319: JUMP 0000131a: JUMPDEST 0000131b: PUSH0 0000131c: DUP1 0000131d: MLOAD 0000131e: PUSH1 0x20 00001320: PUSH2 0x5abe 00001323: DUP4 00001324: CODECOPY 00001325: DUP2 00001326: MLOAD 00001327: SWAP2 00001328: MSTORE 00001329: PUSH2 0x1331 0000132c: DUP2 0000132d: PUSH2 0x2b82 00001330: JUMP 00001331: JUMPDEST 00001332: POP 00001333: PUSH1 0x02 00001335: DUP1 00001336: SLOAD 00001337: SWAP2 00001338: ISZERO 00001339: ISZERO 0000133a: PUSH1 0x01 0000133c: PUSH1 0xa8 0000133e: SHL 0000133f: MUL 00001340: PUSH1 0xff 00001342: PUSH1 0xa8 00001344: SHL 00001345: NOT 00001346: SWAP1 00001347: SWAP3 00001348: AND 00001349: SWAP2 0000134a: SWAP1 0000134b: SWAP2 0000134c: OR 0000134d: SWAP1 0000134e: SSTORE 0000134f: JUMP 00001350: JUMPDEST 00001351: PUSH0 00001352: DUP1 00001353: MLOAD 00001354: PUSH1 0x20 00001356: PUSH2 0x5abe 00001359: DUP4 0000135a: CODECOPY 0000135b: DUP2 0000135c: MLOAD 0000135d: SWAP2 0000135e: MSTORE 0000135f: PUSH2 0x1367 00001362: DUP2 00001363: PUSH2 0x2b82 00001366: JUMP 00001367: JUMPDEST 00001368: PUSH2 0x0e82 0000136b: PUSH1 0x01 0000136d: PUSH1 0x01 0000136f: PUSH1 0xa0 00001371: SHL 00001372: SUB 00001373: DUP6 00001374: AND 00001375: DUP5 00001376: DUP5 00001377: PUSH2 0x2fc0 0000137a: JUMP 0000137b: JUMPDEST 0000137c: PUSH0 0000137d: DUP1 0000137e: MLOAD 0000137f: PUSH1 0x20 00001381: PUSH2 0x5b3e 00001384: DUP4 00001385: CODECOPY 00001386: DUP2 00001387: MLOAD 00001388: SWAP2 00001389: MSTORE 0000138a: PUSH2 0x1392 0000138d: DUP2 0000138e: PUSH2 0x2b82 00001391: JUMP 00001392: JUMPDEST 00001393: PUSH2 0x13a9 00001396: PUSH2 0x13a4 00001399: CALLDATASIZE 0000139a: DUP5 0000139b: SWAP1 0000139c: SUB 0000139d: DUP5 0000139e: ADD 0000139f: DUP5 000013a0: PUSH2 0x5370 000013a3: JUMP 000013a4: JUMPDEST 000013a5: PUSH2 0x245d 000013a8: JUMP 000013a9: JUMPDEST 000013aa: DUP2 000013ab: PUSH0 000013ac: PUSH2 0x13b5 000013af: DUP3 000013b0: DUP3 000013b1: PUSH2 0x538a 000013b4: JUMP 000013b5: JUMPDEST 000013b6: POP 000013b7: POP 000013b8: PUSH1 0x40 000013ba: MLOAD 000013bb: PUSH4 0x601ed31b 000013c0: PUSH1 0xe0 000013c2: SHL 000013c3: SWAP1 000013c4: PUSH32 0x11f2fec7a1604d7d8ea8b74ed1666060410561f7e666aee037dcf3f9292cb4c1 000013e5: SWAP1 000013e6: PUSH2 0x13f3 000013e9: SWAP1 000013ea: DUP6 000013eb: SWAP1 000013ec: PUSH1 0x20 000013ee: ADD 000013ef: PUSH2 0x53fd 000013f2: JUMP 000013f3: JUMPDEST 000013f4: PUSH1 0x40 000013f6: DUP1 000013f7: MLOAD 000013f8: PUSH1 0x1f 000013fa: NOT 000013fb: DUP2 000013fc: DUP5 000013fd: SUB 000013fe: ADD 000013ff: DUP2 00001400: MSTORE 00001401: SWAP1 00001402: DUP3 00001403: SWAP1 00001404: MSTORE 00001405: PUSH2 0x140d 00001408: SWAP2 00001409: PUSH2 0x5455 0000140c: JUMP 0000140d: JUMPDEST 0000140e: PUSH1 0x40 00001410: MLOAD 00001411: DUP1 00001412: SWAP2 00001413: SUB 00001414: SWAP1 00001415: LOG2 00001416: POP 00001417: POP 00001418: JUMP 00001419: JUMPDEST 0000141a: PUSH0 0000141b: DUP1 0000141c: MLOAD 0000141d: PUSH1 0x20 0000141f: PUSH2 0x5ade 00001422: DUP4 00001423: CODECOPY 00001424: DUP2 00001425: MLOAD 00001426: SWAP2 00001427: MSTORE 00001428: PUSH2 0x1430 0000142b: DUP2 0000142c: PUSH2 0x2b82 0000142f: JUMP 00001430: JUMPDEST 00001431: PUSH1 0x01 00001433: SLOAD 00001434: PUSH1 0x40 00001436: MLOAD 00001437: PUSH4 0x9d84ae69 0000143c: PUSH1 0xe0 0000143e: SHL 0000143f: DUP2 00001440: MSTORE 00001441: PUSH32 0x35bd7c3085200665404055ee8facd7c7cf131f375247edf256b95933d81b07b4 00001462: PUSH1 0x04 00001464: DUP3 00001465: ADD 00001466: MSTORE 00001467: PUSH0 00001468: SWAP2 00001469: PUSH1 0x01 0000146b: PUSH1 0x01 0000146d: PUSH1 0xa0 0000146f: SHL 00001470: SUB 00001471: AND 00001472: SWAP1 00001473: PUSH4 0x9d84ae69 00001478: SWAP1 00001479: PUSH1 0x24 0000147b: ADD 0000147c: PUSH1 0x20 0000147e: PUSH1 0x40 00001480: MLOAD 00001481: DUP1 00001482: DUP4 00001483: SUB 00001484: DUP2 00001485: DUP7 00001486: GAS 00001487: STATICCALL 00001488: ISZERO 00001489: DUP1 0000148a: ISZERO 0000148b: PUSH2 0x1496 0000148e: JUMPI 0000148f: RETURNDATASIZE 00001490: PUSH0 00001491: DUP1 00001492: RETURNDATACOPY 00001493: RETURNDATASIZE 00001494: PUSH0 00001495: REVERT 00001496: JUMPDEST 00001497: POP 00001498: POP 00001499: POP 0000149a: POP 0000149b: PUSH1 0x40 0000149d: MLOAD 0000149e: RETURNDATASIZE 0000149f: PUSH1 0x1f 000014a1: NOT 000014a2: PUSH1 0x1f 000014a4: DUP3 000014a5: ADD 000014a6: AND 000014a7: DUP3 000014a8: ADD 000014a9: DUP1 000014aa: PUSH1 0x40 000014ac: MSTORE 000014ad: POP 000014ae: DUP2 000014af: ADD 000014b0: SWAP1 000014b1: PUSH2 0x14ba 000014b4: SWAP2 000014b5: SWAP1 000014b6: PUSH2 0x54a8 000014b9: JUMP 000014ba: JUMPDEST 000014bb: PUSH1 0x07 000014bd: SLOAD 000014be: SWAP1 000014bf: SWAP2 000014c0: POP 000014c1: PUSH0 000014c2: SWAP1 000014c3: PUSH2 0x14d1 000014c6: SWAP1 000014c7: DUP3 000014c8: SWAP1 000014c9: PUSH2 0xffff 000014cc: AND 000014cd: PUSH2 0x2f7e 000014d0: JUMP 000014d1: JUMPDEST 000014d2: SWAP1 000014d3: POP 000014d4: DUP1 000014d5: DUP5 000014d6: GT 000014d7: ISZERO 000014d8: PUSH2 0x1503 000014db: JUMPI 000014dc: PUSH1 0x40 000014de: MLOAD 000014df: PUSH4 0x0f4da979 000014e4: PUSH1 0xe4 000014e6: SHL 000014e7: DUP2 000014e8: MSTORE 000014e9: PUSH1 0x04 000014eb: DUP2 000014ec: ADD 000014ed: DUP6 000014ee: SWAP1 000014ef: MSTORE 000014f0: PUSH1 0x24 000014f2: DUP2 000014f3: ADD 000014f4: DUP3 000014f5: SWAP1 000014f6: MSTORE 000014f7: PUSH1 0x44 000014f9: ADD 000014fa: JUMPDEST 000014fb: PUSH1 0x40 000014fd: MLOAD 000014fe: DUP1 000014ff: SWAP2 00001500: SUB 00001501: SWAP1 00001502: REVERT 00001503: JUMPDEST 00001504: PUSH0 00001505: DUP1 00001506: DUP1 00001507: MSTORE 00001508: PUSH1 0x09 0000150a: PUSH1 0x20 0000150c: MSTORE 0000150d: PUSH32 0xec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b 0000152e: DUP1 0000152f: SLOAD 00001530: DUP7 00001531: SWAP3 00001532: SWAP1 00001533: PUSH2 0x153d 00001536: SWAP1 00001537: DUP5 00001538: SWAP1 00001539: PUSH2 0x54d7 0000153c: JUMP 0000153d: JUMPDEST 0000153e: SWAP3 0000153f: POP 00001540: POP 00001541: DUP2 00001542: SWAP1 00001543: SSTORE 00001544: POP 00001545: DUP4 00001546: PUSH1 0x06 00001548: PUSH0 00001549: DUP3 0000154a: DUP3 0000154b: SLOAD 0000154c: PUSH2 0x1555 0000154f: SWAP2 00001550: SWAP1 00001551: PUSH2 0x54d7 00001554: JUMP 00001555: JUMPDEST 00001556: SWAP1 00001557: SWAP2 00001558: SSTORE 00001559: POP 0000155a: POP 0000155b: PUSH1 0x03 0000155d: SLOAD 0000155e: PUSH1 0x40 00001560: MLOAD 00001561: PUSH1 0x01 00001563: PUSH1 0x01 00001565: PUSH1 0xa0 00001567: SHL 00001568: SUB 00001569: DUP5 0000156a: AND 0000156b: SWAP2 0000156c: PUSH0 0000156d: SWAP2 0000156e: PUSH1 0x80 00001570: SWAP2 00001571: SWAP1 00001572: SWAP2 00001573: SHL 00001574: PUSH1 0x01 00001576: PUSH1 0x01 00001578: PUSH1 0x80 0000157a: SHL 0000157b: SUB 0000157c: NOT 0000157d: AND 0000157e: SWAP1 0000157f: PUSH32 0x7ed4454676b40d92244b47fc7a6ef3aab0808cbf85d84fc65676a040343d4823 000015a0: SWAP1 000015a1: PUSH2 0x15ad 000015a4: SWAP1 000015a5: DUP10 000015a6: DUP2 000015a7: MSTORE 000015a8: PUSH1 0x20 000015aa: ADD 000015ab: SWAP1 000015ac: JUMP 000015ad: JUMPDEST 000015ae: PUSH1 0x40 000015b0: MLOAD 000015b1: DUP1 000015b2: SWAP2 000015b3: SUB 000015b4: SWAP1 000015b5: LOG4 000015b6: PUSH1 0x02 000015b8: SLOAD 000015b9: PUSH2 0x0e82 000015bc: SWAP1 000015bd: PUSH1 0x01 000015bf: PUSH1 0x01 000015c1: PUSH1 0xa0 000015c3: SHL 000015c4: SUB 000015c5: AND 000015c6: DUP4 000015c7: DUP7 000015c8: PUSH2 0x2fc0 000015cb: JUMP 000015cc: JUMPDEST 000015cd: PUSH1 0x60 000015cf: PUSH0 000015d0: DUP3 000015d1: PUSH1 0x01 000015d3: PUSH1 0x01 000015d5: PUSH1 0x40 000015d7: SHL 000015d8: SUB 000015d9: DUP2 000015da: GT 000015db: ISZERO 000015dc: PUSH2 0x15e7 000015df: JUMPI 000015e0: PUSH2 0x15e7 000015e3: PUSH2 0x46ae 000015e6: JUMP 000015e7: JUMPDEST 000015e8: PUSH1 0x40 000015ea: MLOAD 000015eb: SWAP1 000015ec: DUP1 000015ed: DUP3 000015ee: MSTORE 000015ef: DUP1 000015f0: PUSH1 0x20 000015f2: MUL 000015f3: PUSH1 0x20 000015f5: ADD 000015f6: DUP3 000015f7: ADD 000015f8: PUSH1 0x40 000015fa: MSTORE 000015fb: DUP1 000015fc: ISZERO 000015fd: PUSH2 0x162b 00001600: JUMPI 00001601: DUP2 00001602: PUSH1 0x20 00001604: ADD 00001605: JUMPDEST 00001606: PUSH1 0x40 00001608: DUP1 00001609: MLOAD 0000160a: DUP1 0000160b: DUP3 0000160c: ADD 0000160d: SWAP1 0000160e: SWAP2 0000160f: MSTORE 00001610: PUSH0 00001611: DUP1 00001612: DUP3 00001613: MSTORE 00001614: PUSH1 0x20 00001616: DUP3 00001617: ADD 00001618: MSTORE 00001619: DUP2 0000161a: MSTORE 0000161b: PUSH1 0x20 0000161d: ADD 0000161e: SWAP1 0000161f: PUSH1 0x01 00001621: SWAP1 00001622: SUB 00001623: SWAP1 00001624: DUP2 00001625: PUSH2 0x1605 00001628: JUMPI 00001629: SWAP1 0000162a: POP 0000162b: JUMPDEST 0000162c: POP 0000162d: SWAP1 0000162e: POP 0000162f: PUSH0 00001630: JUMPDEST 00001631: DUP4 00001632: DUP2 00001633: LT 00001634: ISZERO 00001635: PUSH2 0x0e5e 00001638: JUMPI 00001639: PUSH1 0x0b 0000163b: PUSH0 0000163c: DUP7 0000163d: DUP7 0000163e: DUP5 0000163f: DUP2 00001640: DUP2 00001641: LT 00001642: PUSH2 0x164d 00001645: JUMPI 00001646: PUSH2 0x164d 00001649: PUSH2 0x52f4 0000164c: JUMP 0000164d: JUMPDEST 0000164e: SWAP1 0000164f: POP 00001650: PUSH1 0x20 00001652: MUL 00001653: ADD 00001654: PUSH1 0x20 00001656: DUP2 00001657: ADD 00001658: SWAP1 00001659: PUSH2 0x1662 0000165c: SWAP2 0000165d: SWAP1 0000165e: PUSH2 0x5308 00001661: JUMP 00001662: JUMPDEST 00001663: PUSH1 0x01 00001665: PUSH1 0x01 00001667: PUSH1 0x80 00001669: SHL 0000166a: SUB 0000166b: NOT 0000166c: AND 0000166d: DUP2 0000166e: MSTORE 0000166f: PUSH1 0x20 00001671: DUP1 00001672: DUP3 00001673: ADD 00001674: SWAP3 00001675: SWAP1 00001676: SWAP3 00001677: MSTORE 00001678: PUSH1 0x40 0000167a: SWAP1 0000167b: DUP2 0000167c: ADD 0000167d: PUSH0 0000167e: KECCAK256 0000167f: DUP2 00001680: MLOAD 00001681: DUP1 00001682: DUP4 00001683: ADD 00001684: SWAP1 00001685: SWAP3 00001686: MSTORE 00001687: SLOAD 00001688: PUSH1 0x01 0000168a: PUSH1 0x01 0000168c: PUSH1 0xa0 0000168e: SHL 0000168f: SUB 00001690: DUP2 00001691: AND 00001692: DUP3 00001693: MSTORE 00001694: PUSH1 0x01 00001696: PUSH1 0xa0 00001698: SHL 00001699: SWAP1 0000169a: DIV 0000169b: PUSH2 0xffff 0000169e: AND 0000169f: SWAP2 000016a0: DUP2 000016a1: ADD 000016a2: SWAP2 000016a3: SWAP1 000016a4: SWAP2 000016a5: MSTORE 000016a6: DUP3 000016a7: MLOAD 000016a8: DUP4 000016a9: SWAP1 000016aa: DUP4 000016ab: SWAP1 000016ac: DUP2 000016ad: LT 000016ae: PUSH2 0x16b9 000016b1: JUMPI 000016b2: PUSH2 0x16b9 000016b5: PUSH2 0x52f4 000016b8: JUMP 000016b9: JUMPDEST 000016ba: PUSH1 0x20 000016bc: SWAP1 000016bd: DUP2 000016be: MUL 000016bf: SWAP2 000016c0: SWAP1 000016c1: SWAP2 000016c2: ADD 000016c3: ADD 000016c4: MSTORE 000016c5: PUSH1 0x01 000016c7: ADD 000016c8: PUSH2 0x1630 000016cb: JUMP 000016cc: JUMPDEST 000016cd: PUSH0 000016ce: DUP1 000016cf: MLOAD 000016d0: PUSH1 0x20 000016d2: PUSH2 0x5b5e 000016d5: DUP4 000016d6: CODECOPY 000016d7: DUP2 000016d8: MLOAD 000016d9: SWAP2 000016da: MSTORE 000016db: PUSH2 0x16e3 000016de: DUP2 000016df: PUSH2 0x2b82 000016e2: JUMP 000016e3: JUMPDEST 000016e4: PUSH1 0x04 000016e6: SLOAD 000016e7: PUSH0 000016e8: JUMPDEST 000016e9: DUP4 000016ea: DUP2 000016eb: LT 000016ec: ISZERO 000016ed: PUSH2 0x180c 000016f0: JUMPI 000016f1: PUSH0 000016f2: DUP6 000016f3: DUP6 000016f4: DUP4 000016f5: DUP2 000016f6: DUP2 000016f7: LT 000016f8: PUSH2 0x1703 000016fb: JUMPI 000016fc: PUSH2 0x1703 000016ff: PUSH2 0x52f4 00001702: JUMP 00001703: JUMPDEST 00001704: PUSH2 0x1719 00001707: SWAP3 00001708: PUSH1 0x20 0000170a: PUSH1 0x60 0000170c: SWAP1 0000170d: SWAP3 0000170e: MUL 0000170f: ADD 00001710: SWAP1 00001711: DUP2 00001712: ADD 00001713: SWAP2 00001714: POP 00001715: PUSH2 0x5308 00001718: JUMP 00001719: JUMPDEST 0000171a: SWAP1 0000171b: POP 0000171c: CALLDATASIZE 0000171d: DUP7 0000171e: DUP7 0000171f: DUP5 00001720: DUP2 00001721: DUP2 00001722: LT 00001723: PUSH2 0x172e 00001726: JUMPI 00001727: PUSH2 0x172e 0000172a: PUSH2 0x52f4 0000172d: JUMP 0000172e: JUMPDEST 0000172f: SWAP1 00001730: POP 00001731: PUSH1 0x60 00001733: MUL 00001734: ADD 00001735: PUSH1 0x20 00001737: ADD 00001738: SWAP1 00001739: POP 0000173a: PUSH0 0000173b: DUP2 0000173c: PUSH1 0x20 0000173e: ADD 0000173f: PUSH1 0x20 00001741: DUP2 00001742: ADD 00001743: SWAP1 00001744: PUSH2 0x174d 00001747: SWAP2 00001748: SWAP1 00001749: PUSH2 0x533b 0000174c: JUMP 0000174d: JUMPDEST 0000174e: PUSH1 0x01 00001750: PUSH1 0x01 00001752: PUSH1 0x40 00001754: SHL 00001755: SUB 00001756: AND 00001757: GT 00001758: ISZERO 00001759: ISZERO 0000175a: PUSH0 0000175b: DUP3 0000175c: PUSH0 0000175d: ADD 0000175e: CALLDATALOAD 0000175f: GT 00001760: ISZERO 00001761: ISZERO 00001762: EQ 00001763: PUSH2 0x178b 00001766: JUMPI 00001767: PUSH1 0x40 00001769: MLOAD 0000176a: PUSH4 0x29a440e1 0000176f: PUSH1 0xe0 00001771: SHL 00001772: DUP2 00001773: MSTORE 00001774: PUSH1 0x01 00001776: PUSH1 0x01 00001778: PUSH1 0x80 0000177a: SHL 0000177b: SUB 0000177c: NOT 0000177d: DUP4 0000177e: AND 0000177f: PUSH1 0x04 00001781: DUP3 00001782: ADD 00001783: MSTORE 00001784: PUSH1 0x24 00001786: ADD 00001787: PUSH2 0x14fa 0000178a: JUMP 0000178b: JUMPDEST 0000178c: PUSH1 0x01 0000178e: PUSH1 0x01 00001790: PUSH1 0x80 00001792: SHL 00001793: SUB 00001794: NOT 00001795: DUP3 00001796: AND 00001797: PUSH0 00001798: SWAP1 00001799: DUP2 0000179a: MSTORE 0000179b: PUSH1 0x08 0000179d: PUSH1 0x20 0000179f: MSTORE 000017a0: PUSH1 0x40 000017a2: SWAP1 000017a3: KECCAK256 000017a4: SLOAD 000017a5: ISZERO 000017a6: PUSH2 0x17ce 000017a9: JUMPI 000017aa: PUSH1 0x40 000017ac: MLOAD 000017ad: PUSH4 0x536c1045 000017b2: PUSH1 0xe1 000017b4: SHL 000017b5: DUP2 000017b6: MSTORE 000017b7: PUSH1 0x01 000017b9: PUSH1 0x01 000017bb: PUSH1 0x80 000017bd: SHL 000017be: SUB 000017bf: NOT 000017c0: DUP4 000017c1: AND 000017c2: PUSH1 0x04 000017c4: DUP3 000017c5: ADD 000017c6: MSTORE 000017c7: PUSH1 0x24 000017c9: ADD 000017ca: PUSH2 0x14fa 000017cd: JUMP 000017ce: JUMPDEST 000017cf: PUSH1 0x01 000017d1: PUSH1 0x01 000017d3: PUSH1 0x80 000017d5: SHL 000017d6: SUB 000017d7: NOT 000017d8: DUP3 000017d9: AND 000017da: PUSH0 000017db: SWAP1 000017dc: DUP2 000017dd: MSTORE 000017de: PUSH1 0x08 000017e0: PUSH1 0x20 000017e2: MSTORE 000017e3: PUSH1 0x40 000017e5: SWAP1 000017e6: KECCAK256 000017e7: DUP2 000017e8: SWAP1 000017e9: PUSH2 0x17f2 000017ec: DUP3 000017ed: DUP3 000017ee: PUSH2 0x54ea 000017f1: JUMP 000017f2: JUMPDEST 000017f3: POP 000017f4: PUSH2 0x1800 000017f7: SWAP1 000017f8: POP 000017f9: DUP2 000017fa: CALLDATALOAD 000017fb: DUP6 000017fc: PUSH2 0x54d7 000017ff: JUMP 00001800: JUMPDEST 00001801: SWAP4 00001802: POP 00001803: POP 00001804: POP 00001805: PUSH1 0x01 00001807: ADD 00001808: PUSH2 0x16e8 0000180b: JUMP 0000180c: JUMPDEST 0000180d: POP 0000180e: PUSH1 0x04 00001810: SSTORE 00001811: POP 00001812: POP 00001813: POP 00001814: JUMP 00001815: JUMPDEST 00001816: PUSH32 0x65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a 00001837: PUSH2 0x183f 0000183a: DUP2 0000183b: PUSH2 0x2b82 0000183e: JUMP 0000183f: JUMPDEST 00001840: PUSH2 0x1848 00001843: PUSH0 00001844: PUSH2 0x2b8c 00001847: JUMP 00001848: JUMPDEST 00001849: POP 0000184a: JUMP 0000184b: JUMPDEST 0000184c: PUSH0 0000184d: PUSH1 0x60 0000184f: DUP1 00001850: DUP3 00001851: DUP1 00001852: DUP1 00001853: DUP4 00001854: DUP2 00001855: PUSH0 00001856: DUP1 00001857: MLOAD 00001858: PUSH1 0x20 0000185a: PUSH2 0x5a9e 0000185d: DUP4 0000185e: CODECOPY 0000185f: DUP2 00001860: MLOAD 00001861: SWAP2 00001862: MSTORE 00001863: DUP1 00001864: SLOAD 00001865: SWAP1 00001866: SWAP2 00001867: POP 00001868: ISZERO 00001869: DUP1 0000186a: ISZERO 0000186b: PUSH2 0x1876 0000186e: JUMPI 0000186f: POP 00001870: PUSH1 0x01 00001872: DUP2 00001873: ADD 00001874: SLOAD 00001875: ISZERO 00001876: JUMPDEST 00001877: PUSH2 0x18ba 0000187a: JUMPI 0000187b: PUSH1 0x40 0000187d: MLOAD 0000187e: PUSH3 0x461bcd 00001882: PUSH1 0xe5 00001884: SHL 00001885: DUP2 00001886: MSTORE 00001887: PUSH1 0x20 00001889: PUSH1 0x04 0000188b: DUP3 0000188c: ADD 0000188d: MSTORE 0000188e: PUSH1 0x15 00001890: PUSH1 0x24 00001892: DUP3 00001893: ADD 00001894: MSTORE 00001895: PUSH21 0x1152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959 000018ab: PUSH1 0x5a 000018ad: SHL 000018ae: PUSH1 0x44 000018b0: DUP3 000018b1: ADD 000018b2: MSTORE 000018b3: PUSH1 0x64 000018b5: ADD 000018b6: PUSH2 0x14fa 000018b9: JUMP 000018ba: JUMPDEST 000018bb: PUSH2 0x18c2 000018be: PUSH2 0x3012 000018c1: JUMP 000018c2: JUMPDEST 000018c3: PUSH2 0x18ca 000018c6: PUSH2 0x30d2 000018c9: JUMP 000018ca: JUMPDEST 000018cb: PUSH1 0x40 000018cd: DUP1 000018ce: MLOAD 000018cf: PUSH0 000018d0: DUP1 000018d1: DUP3 000018d2: MSTORE 000018d3: PUSH1 0x20 000018d5: DUP3 000018d6: ADD 000018d7: SWAP1 000018d8: SWAP3 000018d9: MSTORE 000018da: PUSH1 0x0f 000018dc: PUSH1 0xf8 000018de: SHL 000018df: SWAP13 000018e0: SWAP4 000018e1: SWAP12 000018e2: POP 000018e3: SWAP2 000018e4: SWAP10 000018e5: POP 000018e6: CHAINID 000018e7: SWAP9 000018e8: POP 000018e9: ADDRESS 000018ea: SWAP8 000018eb: POP 000018ec: SWAP6 000018ed: POP 000018ee: SWAP4 000018ef: POP 000018f0: SWAP2 000018f1: POP 000018f2: POP 000018f3: JUMP 000018f4: JUMPDEST 000018f5: PUSH0 000018f6: DUP3 000018f7: DUP2 000018f8: MSTORE 000018f9: PUSH0 000018fa: DUP1 000018fb: MLOAD 000018fc: PUSH1 0x20 000018fe: PUSH2 0x5a7e 00001901: DUP4 00001902: CODECOPY 00001903: DUP2 00001904: MLOAD 00001905: SWAP2 00001906: MSTORE 00001907: PUSH1 0x20 00001909: DUP2 0000190a: SWAP1 0000190b: MSTORE 0000190c: PUSH1 0x40 0000190e: DUP3 0000190f: KECCAK256 00001910: PUSH2 0x1919 00001913: SWAP1 00001914: DUP5 00001915: PUSH2 0x3110 00001918: JUMP 00001919: JUMPDEST 0000191a: SWAP5 0000191b: SWAP4 0000191c: POP 0000191d: POP 0000191e: POP 0000191f: POP 00001920: JUMP 00001921: JUMPDEST 00001922: PUSH0 00001923: SWAP2 00001924: DUP3 00001925: MSTORE 00001926: PUSH0 00001927: DUP1 00001928: MLOAD 00001929: PUSH1 0x20 0000192b: PUSH2 0x5b1e 0000192e: DUP4 0000192f: CODECOPY 00001930: DUP2 00001931: MLOAD 00001932: SWAP2 00001933: MSTORE 00001934: PUSH1 0x20 00001936: SWAP1 00001937: DUP2 00001938: MSTORE 00001939: PUSH1 0x40 0000193b: DUP1 0000193c: DUP5 0000193d: KECCAK256 0000193e: PUSH1 0x01 00001940: PUSH1 0x01 00001942: PUSH1 0xa0 00001944: SHL 00001945: SUB 00001946: SWAP4 00001947: SWAP1 00001948: SWAP4 00001949: AND 0000194a: DUP5 0000194b: MSTORE 0000194c: SWAP2 0000194d: SWAP1 0000194e: MSTORE 0000194f: SWAP1 00001950: KECCAK256 00001951: SLOAD 00001952: PUSH1 0xff 00001954: AND 00001955: SWAP1 00001956: JUMP 00001957: JUMPDEST 00001958: PUSH1 0x07 0000195a: SLOAD 0000195b: PUSH0 0000195c: SWAP1 0000195d: PUSH2 0x196b 00001960: SWAP1 00001961: DUP3 00001962: SWAP1 00001963: PUSH2 0xffff 00001966: AND 00001967: PUSH2 0x2f7e 0000196a: JUMP 0000196b: JUMPDEST 0000196c: SWAP1 0000196d: POP 0000196e: SWAP1 0000196f: JUMP 00001970: JUMPDEST 00001971: PUSH1 0x60 00001973: PUSH1 0x0c 00001975: DUP1 00001976: SLOAD 00001977: DUP1 00001978: PUSH1 0x20 0000197a: MUL 0000197b: PUSH1 0x20 0000197d: ADD 0000197e: PUSH1 0x40 00001980: MLOAD 00001981: SWAP1 00001982: DUP2 00001983: ADD 00001984: PUSH1 0x40 00001986: MSTORE 00001987: DUP1 00001988: SWAP3 00001989: SWAP2 0000198a: SWAP1 0000198b: DUP2 0000198c: DUP2 0000198d: MSTORE 0000198e: PUSH1 0x20 00001990: ADD 00001991: DUP3 00001992: DUP1 00001993: SLOAD 00001994: DUP1 00001995: ISZERO 00001996: PUSH2 0x19e8 00001999: JUMPI 0000199a: PUSH1 0x20 0000199c: MUL 0000199d: DUP3 0000199e: ADD 0000199f: SWAP2 000019a0: SWAP1 000019a1: PUSH0 000019a2: MSTORE 000019a3: PUSH1 0x20 000019a5: PUSH0 000019a6: KECCAK256 000019a7: SWAP1 000019a8: PUSH0 000019a9: SWAP1 000019aa: JUMPDEST 000019ab: DUP3 000019ac: DUP3 000019ad: SWAP1 000019ae: SLOAD 000019af: SWAP1 000019b0: PUSH2 0x0100 000019b3: EXP 000019b4: SWAP1 000019b5: DIV 000019b6: PUSH1 0x80 000019b8: SHL 000019b9: PUSH1 0x01 000019bb: PUSH1 0x01 000019bd: PUSH1 0x80 000019bf: SHL 000019c0: SUB 000019c1: NOT 000019c2: AND 000019c3: DUP2 000019c4: MSTORE 000019c5: PUSH1 0x20 000019c7: ADD 000019c8: SWAP1 000019c9: PUSH1 0x10 000019cb: ADD 000019cc: SWAP1 000019cd: PUSH1 0x20 000019cf: DUP3 000019d0: PUSH1 0x0f 000019d2: ADD 000019d3: DIV 000019d4: SWAP3 000019d5: DUP4 000019d6: ADD 000019d7: SWAP3 000019d8: PUSH1 0x01 000019da: SUB 000019db: DUP3 000019dc: MUL 000019dd: SWAP2 000019de: POP 000019df: DUP1 000019e0: DUP5 000019e1: GT 000019e2: PUSH2 0x19aa 000019e5: JUMPI 000019e6: SWAP1 000019e7: POP 000019e8: JUMPDEST 000019e9: POP 000019ea: POP 000019eb: POP 000019ec: POP 000019ed: POP 000019ee: SWAP1 000019ef: POP 000019f0: SWAP1 000019f1: JUMP 000019f2: JUMPDEST 000019f3: PUSH1 0x60 000019f5: PUSH0 000019f6: DUP3 000019f7: PUSH1 0x01 000019f9: PUSH1 0x01 000019fb: PUSH1 0x40 000019fd: SHL 000019fe: SUB 000019ff: DUP2 00001a00: GT 00001a01: ISZERO 00001a02: PUSH2 0x1a0d 00001a05: JUMPI 00001a06: PUSH2 0x1a0d 00001a09: PUSH2 0x46ae 00001a0c: JUMP 00001a0d: JUMPDEST 00001a0e: PUSH1 0x40 00001a10: MLOAD 00001a11: SWAP1 00001a12: DUP1 00001a13: DUP3 00001a14: MSTORE 00001a15: DUP1 00001a16: PUSH1 0x20 00001a18: MUL 00001a19: PUSH1 0x20 00001a1b: ADD 00001a1c: DUP3 00001a1d: ADD 00001a1e: PUSH1 0x40 00001a20: MSTORE 00001a21: DUP1 00001a22: ISZERO 00001a23: PUSH2 0x1a36 00001a26: JUMPI 00001a27: DUP2 00001a28: PUSH1 0x20 00001a2a: ADD 00001a2b: PUSH1 0x20 00001a2d: DUP3 00001a2e: MUL 00001a2f: DUP1 00001a30: CALLDATASIZE 00001a31: DUP4 00001a32: CALLDATACOPY 00001a33: ADD 00001a34: SWAP1 00001a35: POP 00001a36: JUMPDEST 00001a37: POP 00001a38: SWAP1 00001a39: POP 00001a3a: PUSH0 00001a3b: JUMPDEST 00001a3c: DUP4 00001a3d: DUP2 00001a3e: LT 00001a3f: ISZERO 00001a40: PUSH2 0x0e5e 00001a43: JUMPI 00001a44: PUSH1 0x08 00001a46: PUSH0 00001a47: DUP7 00001a48: DUP7 00001a49: DUP5 00001a4a: DUP2 00001a4b: DUP2 00001a4c: LT 00001a4d: PUSH2 0x1a58 00001a50: JUMPI 00001a51: PUSH2 0x1a58 00001a54: PUSH2 0x52f4 00001a57: JUMP 00001a58: JUMPDEST 00001a59: SWAP1 00001a5a: POP 00001a5b: PUSH1 0x20 00001a5d: MUL 00001a5e: ADD 00001a5f: PUSH1 0x20 00001a61: DUP2 00001a62: ADD 00001a63: SWAP1 00001a64: PUSH2 0x1a6d 00001a67: SWAP2 00001a68: SWAP1 00001a69: PUSH2 0x5308 00001a6c: JUMP 00001a6d: JUMPDEST 00001a6e: PUSH1 0x01 00001a70: PUSH1 0x01 00001a72: PUSH1 0x80 00001a74: SHL 00001a75: SUB 00001a76: NOT 00001a77: AND 00001a78: DUP2 00001a79: MSTORE 00001a7a: PUSH1 0x20 00001a7c: DUP2 00001a7d: ADD 00001a7e: SWAP2 00001a7f: SWAP1 00001a80: SWAP2 00001a81: MSTORE 00001a82: PUSH1 0x40 00001a84: ADD 00001a85: PUSH0 00001a86: KECCAK256 00001a87: SLOAD 00001a88: DUP3 00001a89: MLOAD 00001a8a: DUP4 00001a8b: SWAP1 00001a8c: DUP4 00001a8d: SWAP1 00001a8e: DUP2 00001a8f: LT 00001a90: PUSH2 0x1a9b 00001a93: JUMPI 00001a94: PUSH2 0x1a9b 00001a97: PUSH2 0x52f4 00001a9a: JUMP 00001a9b: JUMPDEST 00001a9c: PUSH1 0x20 00001a9e: SWAP1 00001a9f: DUP2 00001aa0: MUL 00001aa1: SWAP2 00001aa2: SWAP1 00001aa3: SWAP2 00001aa4: ADD 00001aa5: ADD 00001aa6: MSTORE 00001aa7: PUSH1 0x01 00001aa9: ADD 00001aaa: PUSH2 0x1a3b 00001aad: JUMP 00001aae: JUMPDEST 00001aaf: PUSH0 00001ab0: DUP1 00001ab1: MLOAD 00001ab2: PUSH1 0x20 00001ab4: PUSH2 0x5b5e 00001ab7: DUP4 00001ab8: CODECOPY 00001ab9: DUP2 00001aba: MLOAD 00001abb: SWAP2 00001abc: MSTORE 00001abd: PUSH2 0x1ac5 00001ac0: DUP2 00001ac1: PUSH2 0x2b82 00001ac4: JUMP 00001ac5: JUMPDEST 00001ac6: PUSH1 0x05 00001ac8: DUP5 00001ac9: SWAP1 00001aca: SSTORE 00001acb: PUSH1 0x04 00001acd: SLOAD 00001ace: DUP4 00001acf: EQ 00001ad0: PUSH2 0x1b1d 00001ad3: JUMPI 00001ad4: PUSH1 0x04 00001ad6: DUP1 00001ad7: SLOAD 00001ad8: PUSH1 0x40 00001ada: MLOAD 00001adb: PUSH4 0x15d3fa87 00001ae0: PUSH1 0xe0 00001ae2: SHL 00001ae3: DUP2 00001ae4: MSTORE 00001ae5: PUSH1 0x60 00001ae7: SWAP3 00001ae8: DUP2 00001ae9: ADD 00001aea: SWAP3 00001aeb: SWAP1 00001aec: SWAP3 00001aed: MSTORE 00001aee: PUSH1 0x0c 00001af0: PUSH1 0x64 00001af2: DUP4 00001af3: ADD 00001af4: MSTORE 00001af5: PUSH12 0x1d1bdd185b10db185a5b5959 00001b02: PUSH1 0xa2 00001b04: SHL 00001b05: PUSH1 0x84 00001b07: DUP4 00001b08: ADD 00001b09: MSTORE 00001b0a: PUSH1 0x24 00001b0c: DUP3 00001b0d: ADD 00001b0e: MSTORE 00001b0f: PUSH1 0x44 00001b11: DUP2 00001b12: ADD 00001b13: DUP5 00001b14: SWAP1 00001b15: MSTORE 00001b16: PUSH1 0xa4 00001b18: ADD 00001b19: PUSH2 0x14fa 00001b1c: JUMP 00001b1d: JUMPDEST 00001b1e: DUP2 00001b1f: PUSH1 0x06 00001b21: SLOAD 00001b22: EQ 00001b23: PUSH2 0x1b77 00001b26: JUMPI 00001b27: PUSH1 0x06 00001b29: SLOAD 00001b2a: PUSH1 0x40 00001b2c: MLOAD 00001b2d: PUSH4 0x15d3fa87 00001b32: PUSH1 0xe0 00001b34: SHL 00001b35: DUP2 00001b36: MSTORE 00001b37: PUSH1 0x60 00001b39: PUSH1 0x04 00001b3b: DUP3 00001b3c: ADD 00001b3d: MSTORE 00001b3e: PUSH1 0x13 00001b40: PUSH1 0x64 00001b42: DUP3 00001b43: ADD 00001b44: MSTORE 00001b45: PUSH19 0x3a37ba30b621b0b9393cabb4ba34323930bbb7 00001b59: PUSH1 0x69 00001b5b: SHL 00001b5c: PUSH1 0x84 00001b5e: DUP3 00001b5f: ADD 00001b60: MSTORE 00001b61: PUSH1 0x24 00001b63: DUP2 00001b64: ADD 00001b65: SWAP2 00001b66: SWAP1 00001b67: SWAP2 00001b68: MSTORE 00001b69: PUSH1 0x44 00001b6b: DUP2 00001b6c: ADD 00001b6d: DUP4 00001b6e: SWAP1 00001b6f: MSTORE 00001b70: PUSH1 0xa4 00001b72: ADD 00001b73: PUSH2 0x14fa 00001b76: JUMP 00001b77: JUMPDEST 00001b78: PUSH2 0x0e82 00001b7b: PUSH0 00001b7c: DUP1 00001b7d: MLOAD 00001b7e: PUSH1 0x20 00001b80: PUSH2 0x5b5e 00001b83: DUP4 00001b84: CODECOPY 00001b85: DUP2 00001b86: MLOAD 00001b87: SWAP2 00001b88: MSTORE 00001b89: CALLER 00001b8a: PUSH2 0x0ff8 00001b8d: JUMP 00001b8e: JUMPDEST 00001b8f: PUSH1 0x60 00001b91: PUSH0 00001b92: DUP4 00001b93: PUSH1 0x01 00001b95: PUSH1 0x01 00001b97: PUSH1 0x40 00001b99: SHL 00001b9a: SUB 00001b9b: DUP2 00001b9c: GT 00001b9d: ISZERO 00001b9e: PUSH2 0x1ba9 00001ba1: JUMPI 00001ba2: PUSH2 0x1ba9 00001ba5: PUSH2 0x46ae 00001ba8: JUMP 00001ba9: JUMPDEST 00001baa: PUSH1 0x40 00001bac: MLOAD 00001bad: SWAP1 00001bae: DUP1 00001baf: DUP3 00001bb0: MSTORE 00001bb1: DUP1 00001bb2: PUSH1 0x20 00001bb4: MUL 00001bb5: PUSH1 0x20 00001bb7: ADD 00001bb8: DUP3 00001bb9: ADD 00001bba: PUSH1 0x40 00001bbc: MSTORE 00001bbd: DUP1 00001bbe: ISZERO 00001bbf: PUSH2 0x1bd2 00001bc2: JUMPI 00001bc3: DUP2 00001bc4: PUSH1 0x20 00001bc6: ADD 00001bc7: PUSH1 0x20 00001bc9: DUP3 00001bca: MUL 00001bcb: DUP1 00001bcc: CALLDATASIZE 00001bcd: DUP4 00001bce: CALLDATACOPY 00001bcf: ADD 00001bd0: SWAP1 00001bd1: POP 00001bd2: JUMPDEST 00001bd3: POP 00001bd4: SWAP1 00001bd5: POP 00001bd6: PUSH0 00001bd7: JUMPDEST 00001bd8: DUP5 00001bd9: DUP2 00001bda: LT 00001bdb: ISZERO 00001bdc: PUSH2 0x1cae 00001bdf: JUMPI 00001be0: PUSH2 0x1c89 00001be3: DUP7 00001be4: DUP7 00001be5: DUP4 00001be6: DUP2 00001be7: DUP2 00001be8: LT 00001be9: PUSH2 0x1bf4 00001bec: JUMPI 00001bed: PUSH2 0x1bf4 00001bf0: PUSH2 0x52f4 00001bf3: JUMP 00001bf4: JUMPDEST 00001bf5: PUSH2 0x1c0a 00001bf8: SWAP3 00001bf9: PUSH1 0x20 00001bfb: PUSH1 0x80 00001bfd: SWAP1 00001bfe: SWAP3 00001bff: MUL 00001c00: ADD 00001c01: SWAP1 00001c02: DUP2 00001c03: ADD 00001c04: SWAP2 00001c05: POP 00001c06: PUSH2 0x5308 00001c09: JUMP 00001c0a: JUMPDEST 00001c0b: DUP8 00001c0c: DUP8 00001c0d: DUP5 00001c0e: DUP2 00001c0f: DUP2 00001c10: LT 00001c11: PUSH2 0x1c1c 00001c14: JUMPI 00001c15: PUSH2 0x1c1c 00001c18: PUSH2 0x52f4 00001c1b: JUMP 00001c1c: JUMPDEST 00001c1d: SWAP1 00001c1e: POP 00001c1f: PUSH1 0x80 00001c21: MUL 00001c22: ADD 00001c23: PUSH1 0x20 00001c25: ADD 00001c26: PUSH1 0x20 00001c28: DUP2 00001c29: ADD 00001c2a: SWAP1 00001c2b: PUSH2 0x1c34 00001c2e: SWAP2 00001c2f: SWAP1 00001c30: PUSH2 0x533b 00001c33: JUMP 00001c34: JUMPDEST 00001c35: PUSH1 0x01 00001c37: PUSH1 0x01 00001c39: PUSH1 0x40 00001c3b: SHL 00001c3c: SUB 00001c3d: AND 00001c3e: DUP9 00001c3f: DUP9 00001c40: DUP6 00001c41: DUP2 00001c42: DUP2 00001c43: LT 00001c44: PUSH2 0x1c4f 00001c47: JUMPI 00001c48: PUSH2 0x1c4f 00001c4b: PUSH2 0x52f4 00001c4e: JUMP 00001c4f: JUMPDEST 00001c50: SWAP1 00001c51: POP 00001c52: PUSH1 0x80 00001c54: MUL 00001c55: ADD 00001c56: PUSH1 0x40 00001c58: ADD 00001c59: PUSH1 0x20 00001c5b: DUP2 00001c5c: ADD 00001c5d: SWAP1 00001c5e: PUSH2 0x1c67 00001c61: SWAP2 00001c62: SWAP1 00001c63: PUSH2 0x4cd8 00001c66: JUMP 00001c67: JUMPDEST 00001c68: DUP10 00001c69: DUP10 00001c6a: DUP7 00001c6b: DUP2 00001c6c: DUP2 00001c6d: LT 00001c6e: PUSH2 0x1c79 00001c71: JUMPI 00001c72: PUSH2 0x1c79 00001c75: PUSH2 0x52f4 00001c78: JUMP 00001c79: JUMPDEST 00001c7a: SWAP1 00001c7b: POP 00001c7c: PUSH1 0x80 00001c7e: MUL 00001c7f: ADD 00001c80: PUSH1 0x60 00001c82: ADD 00001c83: CALLDATALOAD 00001c84: DUP9 00001c85: PUSH2 0x311b 00001c88: JUMP 00001c89: JUMPDEST 00001c8a: DUP3 00001c8b: DUP3 00001c8c: DUP2 00001c8d: MLOAD 00001c8e: DUP2 00001c8f: LT 00001c90: PUSH2 0x1c9b 00001c93: JUMPI 00001c94: PUSH2 0x1c9b 00001c97: PUSH2 0x52f4 00001c9a: JUMP 00001c9b: JUMPDEST 00001c9c: PUSH1 0x20 00001c9e: SWAP1 00001c9f: DUP2 00001ca0: MUL 00001ca1: SWAP2 00001ca2: SWAP1 00001ca3: SWAP2 00001ca4: ADD 00001ca5: ADD 00001ca6: MSTORE 00001ca7: PUSH1 0x01 00001ca9: ADD 00001caa: PUSH2 0x1bd7 00001cad: JUMP 00001cae: JUMPDEST 00001caf: POP 00001cb0: SWAP1 00001cb1: POP 00001cb2: JUMPDEST 00001cb3: SWAP4 00001cb4: SWAP3 00001cb5: POP 00001cb6: POP 00001cb7: POP 00001cb8: JUMP 00001cb9: JUMPDEST 00001cba: PUSH0 00001cbb: DUP1 00001cbc: MLOAD 00001cbd: PUSH1 0x20 00001cbf: PUSH2 0x5abe 00001cc2: DUP4 00001cc3: CODECOPY 00001cc4: DUP2 00001cc5: MLOAD 00001cc6: SWAP2 00001cc7: MSTORE 00001cc8: PUSH2 0x1cd0 00001ccb: DUP2 00001ccc: PUSH2 0x2b82 00001ccf: JUMP 00001cd0: JUMPDEST 00001cd1: PUSH2 0x07d0 00001cd4: DUP3 00001cd5: PUSH2 0xffff 00001cd8: AND 00001cd9: GT 00001cda: ISZERO 00001cdb: PUSH2 0x1d3d 00001cde: JUMPI 00001cdf: PUSH1 0x40 00001ce1: MLOAD 00001ce2: PUSH4 0x01f6ffb9 00001ce7: PUSH1 0xe3 00001ce9: SHL 00001cea: DUP2 00001ceb: MSTORE 00001cec: PUSH1 0x20 00001cee: PUSH1 0x04 00001cf0: DUP3 00001cf1: ADD 00001cf2: MSTORE 00001cf3: PUSH1 0x2d 00001cf5: PUSH1 0x24 00001cf7: DUP3 00001cf8: ADD 00001cf9: MSTORE 00001cfa: PUSH32 0x506c6174666f726d206361727279204250532063616e6e6f7420626520677265 00001d1b: PUSH1 0x44 00001d1d: DUP3 00001d1e: ADD 00001d1f: MSTORE 00001d20: PUSH13 0x61746572207468616e20323025 00001d2e: PUSH1 0x98 00001d30: SHL 00001d31: PUSH1 0x64 00001d33: DUP3 00001d34: ADD 00001d35: MSTORE 00001d36: PUSH1 0x84 00001d38: ADD 00001d39: PUSH2 0x14fa 00001d3c: JUMP 00001d3d: JUMPDEST 00001d3e: PUSH1 0x07 00001d40: SLOAD 00001d41: PUSH1 0x03 00001d43: SLOAD 00001d44: DUP4 00001d45: SWAP2 00001d46: PUSH2 0x1d5e 00001d49: SWAP2 00001d4a: PUSH2 0xffff 00001d4d: SWAP2 00001d4e: DUP3 00001d4f: AND 00001d50: SWAP2 00001d51: PUSH1 0x01 00001d53: PUSH1 0xc0 00001d55: SHL 00001d56: SWAP1 00001d57: SWAP2 00001d58: DIV 00001d59: AND 00001d5a: PUSH2 0x5520 00001d5d: JUMP 00001d5e: JUMPDEST 00001d5f: PUSH2 0x1d68 00001d62: SWAP2 00001d63: SWAP1 00001d64: PUSH2 0x553b 00001d67: JUMP 00001d68: JUMPDEST 00001d69: PUSH1 0x03 00001d6b: DUP1 00001d6c: SLOAD 00001d6d: PUSH2 0xffff 00001d70: PUSH1 0xc0 00001d72: SHL 00001d73: NOT 00001d74: AND 00001d75: PUSH1 0x01 00001d77: PUSH1 0xc0 00001d79: SHL 00001d7a: PUSH2 0xffff 00001d7d: SWAP4 00001d7e: DUP5 00001d7f: AND 00001d80: MUL 00001d81: OR 00001d82: SWAP1 00001d83: SSTORE 00001d84: PUSH1 0x07 00001d86: DUP1 00001d87: SLOAD 00001d88: PUSH2 0xffff 00001d8b: NOT 00001d8c: AND 00001d8d: SWAP4 00001d8e: SWAP1 00001d8f: SWAP2 00001d90: AND 00001d91: SWAP3 00001d92: SWAP1 00001d93: SWAP3 00001d94: OR 00001d95: SWAP1 00001d96: SWAP2 00001d97: SSTORE 00001d98: POP 00001d99: JUMP 00001d9a: JUMPDEST 00001d9b: PUSH0 00001d9c: DUP2 00001d9d: DUP2 00001d9e: MSTORE 00001d9f: PUSH0 00001da0: DUP1 00001da1: MLOAD 00001da2: PUSH1 0x20 00001da4: PUSH2 0x5a7e 00001da7: DUP4 00001da8: CODECOPY 00001da9: DUP2 00001daa: MLOAD 00001dab: SWAP2 00001dac: MSTORE 00001dad: PUSH1 0x20 00001daf: DUP2 00001db0: SWAP1 00001db1: MSTORE 00001db2: PUSH1 0x40 00001db4: DUP3 00001db5: KECCAK256 00001db6: PUSH2 0x1cb2 00001db9: SWAP1 00001dba: PUSH2 0x31b4 00001dbd: JUMP 00001dbe: JUMPDEST 00001dbf: PUSH2 0x1dc7 00001dc2: DUP3 00001dc3: PUSH2 0x0d7c 00001dc6: JUMP 00001dc7: JUMPDEST 00001dc8: PUSH2 0x1dd0 00001dcb: DUP2 00001dcc: PUSH2 0x2b82 00001dcf: JUMP 00001dd0: JUMPDEST 00001dd1: PUSH2 0x0e82 00001dd4: DUP4 00001dd5: DUP4 00001dd6: PUSH2 0x2d6c 00001dd9: JUMP 00001dda: JUMPDEST 00001ddb: PUSH0 00001ddc: DUP1 00001ddd: MLOAD 00001dde: PUSH1 0x20 00001de0: PUSH2 0x5b5e 00001de3: DUP4 00001de4: CODECOPY 00001de5: DUP2 00001de6: MLOAD 00001de7: SWAP2 00001de8: MSTORE 00001de9: PUSH2 0x1df1 00001dec: DUP2 00001ded: PUSH2 0x2b82 00001df0: JUMP 00001df1: JUMPDEST 00001df2: PUSH1 0x06 00001df4: SLOAD 00001df5: PUSH0 00001df6: JUMPDEST 00001df7: DUP4 00001df8: DUP2 00001df9: LT 00001dfa: ISZERO 00001dfb: PUSH2 0x1edb 00001dfe: JUMPI 00001dff: PUSH0 00001e00: DUP6 00001e01: DUP6 00001e02: DUP4 00001e03: DUP2 00001e04: DUP2 00001e05: LT 00001e06: PUSH2 0x1e11 00001e09: JUMPI 00001e0a: PUSH2 0x1e11 00001e0d: PUSH2 0x52f4 00001e10: JUMP 00001e11: JUMPDEST 00001e12: PUSH2 0x1e27 00001e15: SWAP3 00001e16: PUSH1 0x20 00001e18: PUSH1 0x40 00001e1a: SWAP1 00001e1b: SWAP3 00001e1c: MUL 00001e1d: ADD 00001e1e: SWAP1 00001e1f: DUP2 00001e20: ADD 00001e21: SWAP2 00001e22: POP 00001e23: PUSH2 0x5308 00001e26: JUMP 00001e27: JUMPDEST 00001e28: PUSH1 0x01 00001e2a: PUSH1 0x01 00001e2c: PUSH1 0x80 00001e2e: SHL 00001e2f: SUB 00001e30: NOT 00001e31: DUP2 00001e32: AND 00001e33: PUSH0 00001e34: SWAP1 00001e35: DUP2 00001e36: MSTORE 00001e37: PUSH1 0x09 00001e39: PUSH1 0x20 00001e3b: MSTORE 00001e3c: PUSH1 0x40 00001e3e: SWAP1 00001e3f: KECCAK256 00001e40: SLOAD 00001e41: SWAP1 00001e42: SWAP2 00001e43: POP 00001e44: ISZERO 00001e45: PUSH2 0x1e6d 00001e48: JUMPI 00001e49: PUSH1 0x40 00001e4b: MLOAD 00001e4c: PUSH4 0x15adf339 00001e51: PUSH1 0xe2 00001e53: SHL 00001e54: DUP2 00001e55: MSTORE 00001e56: PUSH1 0x01 00001e58: PUSH1 0x01 00001e5a: PUSH1 0x80 00001e5c: SHL 00001e5d: SUB 00001e5e: NOT 00001e5f: DUP3 00001e60: AND 00001e61: PUSH1 0x04 00001e63: DUP3 00001e64: ADD 00001e65: MSTORE 00001e66: PUSH1 0x24 00001e68: ADD 00001e69: PUSH2 0x14fa 00001e6c: JUMP 00001e6d: JUMPDEST 00001e6e: DUP6 00001e6f: DUP6 00001e70: DUP4 00001e71: DUP2 00001e72: DUP2 00001e73: LT 00001e74: PUSH2 0x1e7f 00001e77: JUMPI 00001e78: PUSH2 0x1e7f 00001e7b: PUSH2 0x52f4 00001e7e: JUMP 00001e7f: JUMPDEST 00001e80: PUSH1 0x01 00001e82: PUSH1 0x01 00001e84: PUSH1 0x80 00001e86: SHL 00001e87: SUB 00001e88: NOT 00001e89: DUP5 00001e8a: AND 00001e8b: PUSH0 00001e8c: SWAP1 00001e8d: DUP2 00001e8e: MSTORE 00001e8f: PUSH1 0x09 00001e91: PUSH1 0x20 00001e93: SWAP1 00001e94: DUP2 00001e95: MSTORE 00001e96: PUSH1 0x40 00001e98: SWAP2 00001e99: DUP3 00001e9a: SWAP1 00001e9b: KECCAK256 00001e9c: SWAP2 00001e9d: SWAP1 00001e9e: SWAP3 00001e9f: MUL 00001ea0: SWAP4 00001ea1: SWAP1 00001ea2: SWAP4 00001ea3: ADD 00001ea4: ADD 00001ea5: CALLDATALOAD 00001ea6: SWAP1 00001ea7: SWAP2 00001ea8: SSTORE 00001ea9: POP 00001eaa: DUP6 00001eab: DUP6 00001eac: DUP4 00001ead: DUP2 00001eae: DUP2 00001eaf: LT 00001eb0: PUSH2 0x1ebb 00001eb3: JUMPI 00001eb4: PUSH2 0x1ebb 00001eb7: PUSH2 0x52f4 00001eba: JUMP 00001ebb: JUMPDEST 00001ebc: SWAP1 00001ebd: POP 00001ebe: PUSH1 0x40 00001ec0: MUL 00001ec1: ADD 00001ec2: PUSH1 0x20 00001ec4: ADD 00001ec5: CALLDATALOAD 00001ec6: DUP4 00001ec7: PUSH2 0x1ed0 00001eca: SWAP2 00001ecb: SWAP1 00001ecc: PUSH2 0x54d7 00001ecf: JUMP 00001ed0: JUMPDEST 00001ed1: SWAP3 00001ed2: POP 00001ed3: POP 00001ed4: PUSH1 0x01 00001ed6: ADD 00001ed7: PUSH2 0x1df6 00001eda: JUMP 00001edb: JUMPDEST 00001edc: POP 00001edd: PUSH1 0x06 00001edf: SSTORE 00001ee0: POP 00001ee1: POP 00001ee2: POP 00001ee3: JUMP 00001ee4: JUMPDEST 00001ee5: PUSH0 00001ee6: PUSH2 0x196b 00001ee9: PUSH2 0x31bd 00001eec: JUMP 00001eed: JUMPDEST 00001eee: PUSH1 0x02 00001ef0: SLOAD 00001ef1: PUSH1 0x01 00001ef3: PUSH1 0xa0 00001ef5: SHL 00001ef6: SWAP1 00001ef7: DIV 00001ef8: PUSH1 0xff 00001efa: AND 00001efb: DUP1 00001efc: PUSH2 0x1f18 00001eff: JUMPI 00001f00: PUSH1 0x40 00001f02: MLOAD 00001f03: PUSH4 0x3ac4266d 00001f08: PUSH1 0xe1 00001f0a: SHL 00001f0b: DUP2 00001f0c: MSTORE 00001f0d: PUSH1 0x04 00001f0f: ADD 00001f10: PUSH1 0x40 00001f12: MLOAD 00001f13: DUP1 00001f14: SWAP2 00001f15: SUB 00001f16: SWAP1 00001f17: REVERT 00001f18: JUMPDEST 00001f19: PUSH1 0x03 00001f1b: SLOAD 00001f1c: PUSH1 0x80 00001f1e: SHL 00001f1f: PUSH1 0x01 00001f21: PUSH1 0x01 00001f23: PUSH1 0x80 00001f25: SHL 00001f26: SUB 00001f27: NOT 00001f28: AND 00001f29: PUSH2 0x1f35 00001f2c: PUSH1 0x20 00001f2e: DUP9 00001f2f: ADD 00001f30: DUP9 00001f31: PUSH2 0x5308 00001f34: JUMP 00001f35: JUMPDEST 00001f36: PUSH1 0x01 00001f38: PUSH1 0x01 00001f3a: PUSH1 0x80 00001f3c: SHL 00001f3d: SUB 00001f3e: NOT 00001f3f: AND 00001f40: EQ 00001f41: PUSH2 0x1f88 00001f44: JUMPI 00001f45: PUSH2 0x1f51 00001f48: PUSH1 0x20 00001f4a: DUP8 00001f4b: ADD 00001f4c: DUP8 00001f4d: PUSH2 0x5308 00001f50: JUMP 00001f51: JUMPDEST 00001f52: PUSH1 0x03 00001f54: SLOAD 00001f55: PUSH1 0x40 00001f57: MLOAD 00001f58: PUSH4 0x08d9a7fb 00001f5d: PUSH1 0xe4 00001f5f: SHL 00001f60: DUP2 00001f61: MSTORE 00001f62: PUSH2 0x14fa 00001f65: SWAP3 00001f66: SWAP2 00001f67: PUSH1 0x80 00001f69: SHL 00001f6a: SWAP1 00001f6b: PUSH1 0x04 00001f6d: ADD 00001f6e: PUSH1 0x01 00001f70: PUSH1 0x01 00001f72: PUSH1 0x80 00001f74: SHL 00001f75: SUB 00001f76: NOT 00001f77: SWAP3 00001f78: DUP4 00001f79: AND 00001f7a: DUP2 00001f7b: MSTORE 00001f7c: SWAP2 00001f7d: AND 00001f7e: PUSH1 0x20 00001f80: DUP3 00001f81: ADD 00001f82: MSTORE 00001f83: PUSH1 0x40 00001f85: ADD 00001f86: SWAP1 00001f87: JUMP 00001f88: JUMPDEST 00001f89: DUP6 00001f8a: PUSH1 0x80 00001f8c: ADD 00001f8d: CALLDATALOAD 00001f8e: TIMESTAMP 00001f8f: LT 00001f90: PUSH2 0x1fb2 00001f93: JUMPI 00001f94: PUSH1 0x40 00001f96: MLOAD 00001f97: PUSH4 0x0f5f3b23 00001f9c: PUSH1 0xe4 00001f9e: SHL 00001f9f: DUP2 00001fa0: MSTORE 00001fa1: PUSH1 0x80 00001fa3: DUP8 00001fa4: ADD 00001fa5: CALLDATALOAD 00001fa6: PUSH1 0x04 00001fa8: DUP3 00001fa9: ADD 00001faa: MSTORE 00001fab: PUSH1 0x24 00001fad: ADD 00001fae: PUSH2 0x14fa 00001fb1: JUMP 00001fb2: JUMPDEST 00001fb3: PUSH0 00001fb4: PUSH1 0x0b 00001fb6: DUP2 00001fb7: PUSH2 0x1fc6 00001fba: PUSH1 0x40 00001fbc: DUP11 00001fbd: ADD 00001fbe: PUSH1 0x20 00001fc0: DUP12 00001fc1: ADD 00001fc2: PUSH2 0x5308 00001fc5: JUMP 00001fc6: JUMPDEST 00001fc7: PUSH1 0x01 00001fc9: PUSH1 0x01 00001fcb: PUSH1 0x80 00001fcd: SHL 00001fce: SUB 00001fcf: NOT 00001fd0: AND 00001fd1: DUP2 00001fd2: MSTORE 00001fd3: PUSH1 0x20 00001fd5: DUP1 00001fd6: DUP3 00001fd7: ADD 00001fd8: SWAP3 00001fd9: SWAP1 00001fda: SWAP3 00001fdb: MSTORE 00001fdc: PUSH1 0x40 00001fde: SWAP1 00001fdf: DUP2 00001fe0: ADD 00001fe1: PUSH0 00001fe2: KECCAK256 00001fe3: DUP2 00001fe4: MLOAD 00001fe5: DUP1 00001fe6: DUP4 00001fe7: ADD 00001fe8: SWAP1 00001fe9: SWAP3 00001fea: MSTORE 00001feb: SLOAD 00001fec: PUSH1 0x01 00001fee: PUSH1 0x01 00001ff0: PUSH1 0xa0 00001ff2: SHL 00001ff3: SUB 00001ff4: DUP2 00001ff5: AND 00001ff6: DUP1 00001ff7: DUP4 00001ff8: MSTORE 00001ff9: PUSH1 0x01 00001ffb: PUSH1 0xa0 00001ffd: SHL 00001ffe: SWAP1 00001fff: SWAP2 00002000: DIV 00002001: PUSH2 0xffff 00002004: AND 00002005: SWAP3 00002006: DUP3 00002007: ADD 00002008: SWAP3 00002009: SWAP1 0000200a: SWAP3 0000200b: MSTORE 0000200c: SWAP2 0000200d: POP 0000200e: PUSH2 0x202a 00002011: JUMPI 00002012: PUSH1 0x40 00002014: MLOAD 00002015: PUSH4 0x7d469caf 0000201a: PUSH1 0xe1 0000201c: SHL 0000201d: DUP2 0000201e: MSTORE 0000201f: PUSH1 0x04 00002021: ADD 00002022: PUSH1 0x40 00002024: MLOAD 00002025: DUP1 00002026: SWAP2 00002027: SUB 00002028: SWAP1 00002029: REVERT 0000202a: JUMPDEST 0000202b: PUSH0 0000202c: PUSH2 0x204a 0000202f: PUSH2 0x203d 00002032: CALLDATASIZE 00002033: DUP11 00002034: SWAP1 00002035: SUB 00002036: DUP11 00002037: ADD 00002038: DUP11 00002039: PUSH2 0x5556 0000203c: JUMP 0000203d: JUMPDEST 0000203e: PUSH2 0x2045 00002041: PUSH2 0x31bd 00002044: JUMP 00002045: JUMPDEST 00002046: PUSH2 0x31c6 00002049: JUMP 0000204a: JUMPDEST 0000204b: PUSH1 0x02 0000204d: SLOAD 0000204e: SWAP1 0000204f: SWAP2 00002050: POP 00002051: PUSH1 0x01 00002053: PUSH1 0xa8 00002055: SHL 00002056: SWAP1 00002057: DIV 00002058: PUSH1 0xff 0000205a: AND 0000205b: ISZERO 0000205c: DUP1 0000205d: ISZERO 0000205e: PUSH2 0x20a7 00002061: JUMPI 00002062: POP 00002063: PUSH2 0x20a5 00002066: DUP3 00002067: PUSH0 00002068: ADD 00002069: MLOAD 0000206a: DUP3 0000206b: DUP10 0000206c: DUP10 0000206d: DUP1 0000206e: DUP1 0000206f: PUSH1 0x1f 00002071: ADD 00002072: PUSH1 0x20 00002074: DUP1 00002075: SWAP2 00002076: DIV 00002077: MUL 00002078: PUSH1 0x20 0000207a: ADD 0000207b: PUSH1 0x40 0000207d: MLOAD 0000207e: SWAP1 0000207f: DUP2 00002080: ADD 00002081: PUSH1 0x40 00002083: MSTORE 00002084: DUP1 00002085: SWAP4 00002086: SWAP3 00002087: SWAP2 00002088: SWAP1 00002089: DUP2 0000208a: DUP2 0000208b: MSTORE 0000208c: PUSH1 0x20 0000208e: ADD 0000208f: DUP4 00002090: DUP4 00002091: DUP1 00002092: DUP3 00002093: DUP5 00002094: CALLDATACOPY 00002095: PUSH0 00002096: SWAP3 00002097: ADD 00002098: SWAP2 00002099: SWAP1 0000209a: SWAP2 0000209b: MSTORE 0000209c: POP 0000209d: PUSH2 0x328b 000020a0: SWAP3 000020a1: POP 000020a2: POP 000020a3: POP 000020a4: JUMP 000020a5: JUMPDEST 000020a6: ISZERO 000020a7: JUMPDEST 000020a8: ISZERO 000020a9: PUSH2 0x211e 000020ac: JUMPI 000020ad: PUSH0 000020ae: PUSH2 0x20ec 000020b1: DUP3 000020b2: DUP10 000020b3: DUP10 000020b4: DUP1 000020b5: DUP1 000020b6: PUSH1 0x1f 000020b8: ADD 000020b9: PUSH1 0x20 000020bb: DUP1 000020bc: SWAP2 000020bd: DIV 000020be: MUL 000020bf: PUSH1 0x20 000020c1: ADD 000020c2: PUSH1 0x40 000020c4: MLOAD 000020c5: SWAP1 000020c6: DUP2 000020c7: ADD 000020c8: PUSH1 0x40 000020ca: MSTORE 000020cb: DUP1 000020cc: SWAP4 000020cd: SWAP3 000020ce: SWAP2 000020cf: SWAP1 000020d0: DUP2 000020d1: DUP2 000020d2: MSTORE 000020d3: PUSH1 0x20 000020d5: ADD 000020d6: DUP4 000020d7: DUP4 000020d8: DUP1 000020d9: DUP3 000020da: DUP5 000020db: CALLDATACOPY 000020dc: PUSH0 000020dd: SWAP3 000020de: ADD 000020df: SWAP2 000020e0: SWAP1 000020e1: SWAP2 000020e2: MSTORE 000020e3: POP 000020e4: PUSH2 0x32ea 000020e7: SWAP3 000020e8: POP 000020e9: POP 000020ea: POP 000020eb: JUMP 000020ec: JUMPDEST 000020ed: DUP4 000020ee: MLOAD 000020ef: PUSH1 0x40 000020f1: MLOAD 000020f2: PUSH4 0x1fb7a3a3 000020f7: PUSH1 0xe0 000020f9: SHL 000020fa: DUP2 000020fb: MSTORE 000020fc: PUSH1 0x01 000020fe: PUSH1 0x01 00002100: PUSH1 0xa0 00002102: SHL 00002103: SUB 00002104: DUP1 00002105: DUP5 00002106: AND 00002107: PUSH1 0x04 00002109: DUP4 0000210a: ADD 0000210b: MSTORE 0000210c: SWAP1 0000210d: SWAP2 0000210e: AND 0000210f: PUSH1 0x24 00002111: DUP3 00002112: ADD 00002113: MSTORE 00002114: SWAP1 00002115: SWAP2 00002116: POP 00002117: PUSH1 0x44 00002119: ADD 0000211a: PUSH2 0x14fa 0000211d: JUMP 0000211e: JUMPDEST 0000211f: PUSH0 00002120: PUSH2 0x215e 00002123: DUP3 00002124: DUP8 00002125: DUP8 00002126: DUP1 00002127: DUP1 00002128: PUSH1 0x1f 0000212a: ADD 0000212b: PUSH1 0x20 0000212d: DUP1 0000212e: SWAP2 0000212f: DIV 00002130: MUL 00002131: PUSH1 0x20 00002133: ADD 00002134: PUSH1 0x40 00002136: MLOAD 00002137: SWAP1 00002138: DUP2 00002139: ADD 0000213a: PUSH1 0x40 0000213c: MSTORE 0000213d: DUP1 0000213e: SWAP4 0000213f: SWAP3 00002140: SWAP2 00002141: SWAP1 00002142: DUP2 00002143: DUP2 00002144: MSTORE 00002145: PUSH1 0x20 00002147: ADD 00002148: DUP4 00002149: DUP4 0000214a: DUP1 0000214b: DUP3 0000214c: DUP5 0000214d: CALLDATACOPY 0000214e: PUSH0 0000214f: SWAP3 00002150: ADD 00002151: SWAP2 00002152: SWAP1 00002153: SWAP2 00002154: MSTORE 00002155: POP 00002156: PUSH2 0x32ea 00002159: SWAP3 0000215a: POP 0000215b: POP 0000215c: POP 0000215d: JUMP 0000215e: JUMPDEST 0000215f: SWAP1 00002160: POP 00002161: PUSH2 0x2177 00002164: PUSH0 00002165: DUP1 00002166: MLOAD 00002167: PUSH1 0x20 00002169: PUSH2 0x5afe 0000216c: DUP4 0000216d: CODECOPY 0000216e: DUP2 0000216f: MLOAD 00002170: SWAP2 00002171: MSTORE 00002172: DUP3 00002173: PUSH2 0x1921 00002176: JUMP 00002177: JUMPDEST 00002178: PUSH2 0x219f 0000217b: JUMPI 0000217c: PUSH1 0x40 0000217e: MLOAD 0000217f: PUSH4 0x01120d51 00002184: PUSH1 0xe3 00002186: SHL 00002187: DUP2 00002188: MSTORE 00002189: PUSH1 0x01 0000218b: PUSH1 0x01 0000218d: PUSH1 0xa0 0000218f: SHL 00002190: SUB 00002191: DUP3 00002192: AND 00002193: PUSH1 0x04 00002195: DUP3 00002196: ADD 00002197: MSTORE 00002198: PUSH1 0x24 0000219a: ADD 0000219b: PUSH2 0x14fa 0000219e: JUMP 0000219f: JUMPDEST 000021a0: POP 000021a1: PUSH0 000021a2: SWAP1 000021a3: POP 000021a4: PUSH2 0x21c0 000021a7: PUSH2 0x21b6 000021aa: PUSH1 0x40 000021ac: DUP11 000021ad: ADD 000021ae: PUSH1 0x20 000021b0: DUP12 000021b1: ADD 000021b2: PUSH2 0x5308 000021b5: JUMP 000021b6: JUMPDEST 000021b7: DUP4 000021b8: PUSH1 0x20 000021ba: ADD 000021bb: MLOAD 000021bc: PUSH2 0x2f7e 000021bf: JUMP 000021c0: JUMPDEST 000021c1: SWAP1 000021c2: POP 000021c3: DUP1 000021c4: DUP9 000021c5: PUSH1 0x60 000021c7: ADD 000021c8: CALLDATALOAD 000021c9: GT 000021ca: ISZERO 000021cb: PUSH2 0x21f4 000021ce: JUMPI 000021cf: PUSH1 0x40 000021d1: MLOAD 000021d2: PUSH4 0x0f4da979 000021d7: PUSH1 0xe4 000021d9: SHL 000021da: DUP2 000021db: MSTORE 000021dc: PUSH1 0x60 000021de: DUP10 000021df: ADD 000021e0: CALLDATALOAD 000021e1: PUSH1 0x04 000021e3: DUP3 000021e4: ADD 000021e5: MSTORE 000021e6: PUSH1 0x24 000021e8: DUP2 000021e9: ADD 000021ea: DUP3 000021eb: SWAP1 000021ec: MSTORE 000021ed: PUSH1 0x44 000021ef: ADD 000021f0: PUSH2 0x14fa 000021f3: JUMP 000021f4: JUMPDEST 000021f5: POP 000021f6: PUSH1 0x60 000021f8: DUP8 000021f9: ADD 000021fa: CALLDATALOAD 000021fb: PUSH1 0x09 000021fd: PUSH0 000021fe: PUSH2 0x220d 00002201: PUSH1 0x40 00002203: DUP12 00002204: ADD 00002205: PUSH1 0x20 00002207: DUP13 00002208: ADD 00002209: PUSH2 0x5308 0000220c: JUMP 0000220d: JUMPDEST 0000220e: PUSH1 0x01 00002210: PUSH1 0x01 00002212: PUSH1 0x80 00002214: SHL 00002215: SUB 00002216: NOT 00002217: AND 00002218: PUSH1 0x01 0000221a: PUSH1 0x01 0000221c: PUSH1 0x80 0000221e: SHL 0000221f: SUB 00002220: NOT 00002221: AND 00002222: DUP2 00002223: MSTORE 00002224: PUSH1 0x20 00002226: ADD 00002227: SWAP1 00002228: DUP2 00002229: MSTORE 0000222a: PUSH1 0x20 0000222c: ADD 0000222d: PUSH0 0000222e: KECCAK256 0000222f: PUSH0 00002230: DUP3 00002231: DUP3 00002232: SLOAD 00002233: PUSH2 0x223c 00002236: SWAP2 00002237: SWAP1 00002238: PUSH2 0x54d7 0000223b: JUMP 0000223c: JUMPDEST 0000223d: SWAP3 0000223e: POP 0000223f: POP 00002240: DUP2 00002241: SWAP1 00002242: SSTORE 00002243: POP 00002244: DUP7 00002245: PUSH1 0x60 00002247: ADD 00002248: CALLDATALOAD 00002249: PUSH1 0x06 0000224b: PUSH0 0000224c: DUP3 0000224d: DUP3 0000224e: SLOAD 0000224f: PUSH2 0x2258 00002252: SWAP2 00002253: SWAP1 00002254: PUSH2 0x54d7 00002257: JUMP 00002258: JUMPDEST 00002259: SWAP1 0000225a: SWAP2 0000225b: SSTORE 0000225c: POP 0000225d: PUSH2 0x226e 00002260: SWAP1 00002261: POP 00002262: PUSH1 0x60 00002264: DUP9 00002265: ADD 00002266: PUSH1 0x40 00002268: DUP10 00002269: ADD 0000226a: PUSH2 0x4e39 0000226d: JUMP 0000226e: JUMPDEST 0000226f: PUSH1 0x01 00002271: PUSH1 0x01 00002273: PUSH1 0xa0 00002275: SHL 00002276: SUB 00002277: AND 00002278: PUSH2 0x2287 0000227b: PUSH1 0x40 0000227d: DUP10 0000227e: ADD 0000227f: PUSH1 0x20 00002281: DUP11 00002282: ADD 00002283: PUSH2 0x5308 00002286: JUMP 00002287: JUMPDEST 00002288: PUSH1 0x01 0000228a: PUSH1 0x01 0000228c: PUSH1 0x80 0000228e: SHL 0000228f: SUB 00002290: NOT 00002291: AND 00002292: PUSH2 0x229e 00002295: PUSH1 0x20 00002297: DUP11 00002298: ADD 00002299: DUP11 0000229a: PUSH2 0x5308 0000229d: JUMP 0000229e: JUMPDEST 0000229f: PUSH1 0x01 000022a1: PUSH1 0x01 000022a3: PUSH1 0x80 000022a5: SHL 000022a6: SUB 000022a7: NOT 000022a8: AND 000022a9: PUSH32 0x7ed4454676b40d92244b47fc7a6ef3aab0808cbf85d84fc65676a040343d4823 000022ca: DUP11 000022cb: PUSH1 0x60 000022cd: ADD 000022ce: CALLDATALOAD 000022cf: PUSH1 0x40 000022d1: MLOAD 000022d2: PUSH2 0x22dd 000022d5: SWAP2 000022d6: DUP2 000022d7: MSTORE 000022d8: PUSH1 0x20 000022da: ADD 000022db: SWAP1 000022dc: JUMP 000022dd: JUMPDEST 000022de: PUSH1 0x40 000022e0: MLOAD 000022e1: DUP1 000022e2: SWAP2 000022e3: SUB 000022e4: SWAP1 000022e5: LOG4 000022e6: PUSH2 0x230f 000022e9: PUSH2 0x22f8 000022ec: PUSH1 0x60 000022ee: DUP10 000022ef: ADD 000022f0: PUSH1 0x40 000022f2: DUP11 000022f3: ADD 000022f4: PUSH2 0x4e39 000022f7: JUMP 000022f8: JUMPDEST 000022f9: PUSH1 0x02 000022fb: SLOAD 000022fc: PUSH1 0x01 000022fe: PUSH1 0x01 00002300: PUSH1 0xa0 00002302: SHL 00002303: SUB 00002304: AND 00002305: SWAP1 00002306: PUSH1 0x60 00002308: DUP11 00002309: ADD 0000230a: CALLDATALOAD 0000230b: PUSH2 0x2fc0 0000230e: JUMP 0000230f: JUMPDEST 00002310: POP 00002311: POP 00002312: POP 00002313: POP 00002314: POP 00002315: POP 00002316: POP 00002317: JUMP 00002318: JUMPDEST 00002319: PUSH1 0x02 0000231b: SLOAD 0000231c: PUSH1 0x01 0000231e: PUSH1 0xa0 00002320: SHL 00002321: SWAP1 00002322: DIV 00002323: PUSH1 0xff 00002325: AND 00002326: DUP1 00002327: PUSH2 0x2343 0000232a: JUMPI 0000232b: PUSH1 0x40 0000232d: MLOAD 0000232e: PUSH4 0x3ac4266d 00002333: PUSH1 0xe1 00002335: SHL 00002336: DUP2 00002337: MSTORE 00002338: PUSH1 0x04 0000233a: ADD 0000233b: PUSH1 0x40 0000233d: MLOAD 0000233e: DUP1 0000233f: SWAP2 00002340: SUB 00002341: SWAP1 00002342: REVERT 00002343: JUMPDEST 00002344: DUP2 00002345: ISZERO 00002346: PUSH2 0x2351 00002349: JUMPI 0000234a: PUSH2 0x2351 0000234d: PUSH2 0x1030 00002350: JUMP 00002351: JUMPDEST 00002352: PUSH2 0x2361 00002355: DUP11 00002356: DUP11 00002357: DUP11 00002358: DUP11 00002359: DUP11 0000235a: DUP11 0000235b: DUP11 0000235c: DUP11 0000235d: PUSH2 0x3312 00002360: JUMP 00002361: JUMPDEST 00002362: POP 00002363: POP 00002364: POP 00002365: POP 00002366: POP 00002367: POP 00002368: POP 00002369: POP 0000236a: POP 0000236b: POP 0000236c: JUMP 0000236d: JUMPDEST 0000236e: PUSH0 0000236f: PUSH1 0x01 00002371: PUSH1 0x01 00002373: PUSH1 0xe0 00002375: SHL 00002376: SUB 00002377: NOT 00002378: DUP3 00002379: AND 0000237a: PUSH4 0x7965db0b 0000237f: PUSH1 0xe0 00002381: SHL 00002382: EQ 00002383: DUP1 00002384: PUSH2 0x0998 00002387: JUMPI 00002388: POP 00002389: PUSH4 0x01ffc9a7 0000238e: PUSH1 0xe0 00002390: SHL 00002391: PUSH1 0x01 00002393: PUSH1 0x01 00002395: PUSH1 0xe0 00002397: SHL 00002398: SUB 00002399: NOT 0000239a: DUP4 0000239b: AND 0000239c: EQ 0000239d: PUSH2 0x0998 000023a0: JUMP 000023a1: JUMPDEST 000023a2: PUSH2 0x1080 000023a5: PUSH2 0x37d6 000023a8: JUMP 000023a9: JUMPDEST 000023aa: PUSH2 0x23b1 000023ad: PUSH2 0x37d6 000023b0: JUMP 000023b1: JUMPDEST 000023b2: PUSH2 0x0f1a 000023b5: DUP3 000023b6: DUP3 000023b7: PUSH2 0x381f 000023ba: JUMP 000023bb: JUMPDEST 000023bc: PUSH0 000023bd: DUP1 000023be: MLOAD 000023bf: PUSH1 0x20 000023c1: PUSH2 0x5b1e 000023c4: DUP4 000023c5: CODECOPY 000023c6: DUP2 000023c7: MLOAD 000023c8: SWAP2 000023c9: MSTORE 000023ca: PUSH0 000023cb: PUSH2 0x23d3 000023ce: DUP5 000023cf: PUSH2 0x0d7c 000023d2: JUMP 000023d3: JUMPDEST 000023d4: PUSH0 000023d5: DUP6 000023d6: DUP2 000023d7: MSTORE 000023d8: PUSH1 0x20 000023da: DUP5 000023db: SWAP1 000023dc: MSTORE 000023dd: PUSH1 0x40 000023df: DUP1 000023e0: DUP3 000023e1: KECCAK256 000023e2: PUSH1 0x01 000023e4: ADD 000023e5: DUP7 000023e6: SWAP1 000023e7: SSTORE 000023e8: MLOAD 000023e9: SWAP2 000023ea: SWAP3 000023eb: POP 000023ec: DUP5 000023ed: SWAP2 000023ee: DUP4 000023ef: SWAP2 000023f0: DUP8 000023f1: SWAP2 000023f2: PUSH32 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff 00002413: SWAP2 00002414: SWAP1 00002415: LOG4 00002416: POP 00002417: POP 00002418: POP 00002419: POP 0000241a: JUMP 0000241b: JUMPDEST 0000241c: PUSH0 0000241d: PUSH0 0000241e: DUP1 0000241f: MLOAD 00002420: PUSH1 0x20 00002422: PUSH2 0x5a7e 00002425: DUP4 00002426: CODECOPY 00002427: DUP2 00002428: MLOAD 00002429: SWAP2 0000242a: MSTORE 0000242b: DUP2 0000242c: PUSH2 0x2435 0000242f: DUP6 00002430: DUP6 00002431: PUSH2 0x387e 00002434: JUMP 00002435: JUMPDEST 00002436: SWAP1 00002437: POP 00002438: DUP1 00002439: ISZERO 0000243a: PUSH2 0x1919 0000243d: JUMPI 0000243e: PUSH0 0000243f: DUP6 00002440: DUP2 00002441: MSTORE 00002442: PUSH1 0x20 00002444: DUP4 00002445: SWAP1 00002446: MSTORE 00002447: PUSH1 0x40 00002449: SWAP1 0000244a: KECCAK256 0000244b: PUSH2 0x2454 0000244e: SWAP1 0000244f: DUP6 00002450: PUSH2 0x3926 00002453: JUMP 00002454: JUMPDEST 00002455: POP 00002456: SWAP5 00002457: SWAP4 00002458: POP 00002459: POP 0000245a: POP 0000245b: POP 0000245c: JUMP 0000245d: JUMPDEST 0000245e: DUP1 0000245f: MLOAD 00002460: PUSH1 0x01 00002462: PUSH1 0x01 00002464: PUSH1 0xa0 00002466: SHL 00002467: SUB 00002468: AND 00002469: PUSH2 0x24f8 0000246c: JUMPI 0000246d: PUSH1 0x20 0000246f: DUP2 00002470: ADD 00002471: MLOAD 00002472: PUSH1 0x01 00002474: PUSH1 0x01 00002476: PUSH1 0xd0 00002478: SHL 00002479: SUB 0000247a: NOT 0000247b: AND 0000247c: ISZERO 0000247d: ISZERO 0000247e: DUP1 0000247f: PUSH2 0x2495 00002482: JUMPI 00002483: POP 00002484: PUSH1 0x40 00002486: DUP2 00002487: ADD 00002488: MLOAD 00002489: PUSH1 0x01 0000248b: PUSH1 0x01 0000248d: PUSH1 0xd0 0000248f: SHL 00002490: SUB 00002491: NOT 00002492: AND 00002493: ISZERO 00002494: ISZERO 00002495: JUMPDEST 00002496: ISZERO 00002497: PUSH2 0x1848 0000249a: JUMPI 0000249b: PUSH1 0x40 0000249d: MLOAD 0000249e: PUSH4 0x2e3505a9 000024a3: PUSH1 0xe0 000024a5: SHL 000024a6: DUP2 000024a7: MSTORE 000024a8: PUSH1 0x20 000024aa: PUSH1 0x04 000024ac: DUP3 000024ad: ADD 000024ae: MSTORE 000024af: PUSH1 0x2c 000024b1: PUSH1 0x24 000024b3: DUP3 000024b4: ADD 000024b5: MSTORE 000024b6: PUSH32 0x756e6c6f636b657220697320756e736574206275742066756e6374696f6e2074 000024d7: PUSH1 0x44 000024d9: DUP3 000024da: ADD 000024db: MSTORE 000024dc: PUSH12 0x1e5c195cc8185c99481cd95d 000024e9: PUSH1 0xa2 000024eb: SHL 000024ec: PUSH1 0x64 000024ee: DUP3 000024ef: ADD 000024f0: MSTORE 000024f1: PUSH1 0x84 000024f3: ADD 000024f4: PUSH2 0x14fa 000024f7: JUMP 000024f8: JUMPDEST 000024f9: PUSH1 0x20 000024fb: DUP2 000024fc: ADD 000024fd: MLOAD 000024fe: PUSH1 0x01 00002500: PUSH1 0x01 00002502: PUSH1 0xd0 00002504: SHL 00002505: SUB 00002506: NOT 00002507: AND 00002508: PUSH6 0x0448a88550a9 0000250f: PUSH1 0xd1 00002511: SHL 00002512: EQ 00002513: DUP1 00002514: ISZERO 00002515: SWAP1 00002516: PUSH2 0x2536 00002519: JUMPI 0000251a: POP 0000251b: PUSH1 0x20 0000251d: DUP2 0000251e: ADD 0000251f: MLOAD 00002520: PUSH1 0x01 00002522: PUSH1 0x01 00002524: PUSH1 0xd0 00002526: SHL 00002527: SUB 00002528: NOT 00002529: AND 0000252a: PUSH6 0x4d8ad6b7fe1b 00002531: PUSH1 0xd0 00002533: SHL 00002534: EQ 00002535: ISZERO 00002536: JUMPDEST 00002537: ISZERO 00002538: PUSH2 0x2566 0000253b: JUMPI 0000253c: PUSH1 0x20 0000253e: DUP2 0000253f: ADD 00002540: MLOAD 00002541: PUSH1 0x40 00002543: MLOAD 00002544: PUSH4 0x084523c5 00002549: PUSH1 0xe1 0000254b: SHL 0000254c: DUP2 0000254d: MSTORE 0000254e: PUSH1 0x01 00002550: PUSH1 0x01 00002552: PUSH1 0xd0 00002554: SHL 00002555: SUB 00002556: NOT 00002557: SWAP1 00002558: SWAP2 00002559: AND 0000255a: PUSH1 0x04 0000255c: DUP3 0000255d: ADD 0000255e: MSTORE 0000255f: PUSH1 0x24 00002561: ADD 00002562: PUSH2 0x14fa 00002565: JUMP 00002566: JUMPDEST 00002567: PUSH1 0x40 00002569: DUP2 0000256a: ADD 0000256b: MLOAD 0000256c: PUSH1 0x01 0000256e: PUSH1 0x01 00002570: PUSH1 0xd0 00002572: SHL 00002573: SUB 00002574: NOT 00002575: AND 00002576: PUSH6 0x0448a88550a9 0000257d: PUSH1 0xd1 0000257f: SHL 00002580: EQ 00002581: DUP1 00002582: ISZERO 00002583: SWAP1 00002584: PUSH2 0x25a4 00002587: JUMPI 00002588: POP 00002589: PUSH1 0x40 0000258b: DUP2 0000258c: ADD 0000258d: MLOAD 0000258e: PUSH1 0x01 00002590: PUSH1 0x01 00002592: PUSH1 0xd0 00002594: SHL 00002595: SUB 00002596: NOT 00002597: AND 00002598: PUSH6 0x4d8ad6b7fe1b 0000259f: PUSH1 0xd0 000025a1: SHL 000025a2: EQ 000025a3: ISZERO 000025a4: JUMPDEST 000025a5: ISZERO 000025a6: PUSH2 0x1848 000025a9: JUMPI 000025aa: PUSH1 0x40 000025ac: DUP1 000025ad: DUP3 000025ae: ADD 000025af: MLOAD 000025b0: SWAP1 000025b1: MLOAD 000025b2: PUSH4 0x084523c5 000025b7: PUSH1 0xe1 000025b9: SHL 000025ba: DUP2 000025bb: MSTORE 000025bc: PUSH1 0x01 000025be: PUSH1 0x01 000025c0: PUSH1 0xd0 000025c2: SHL 000025c3: SUB 000025c4: NOT 000025c5: SWAP1 000025c6: SWAP2 000025c7: AND 000025c8: PUSH1 0x04 000025ca: DUP3 000025cb: ADD 000025cc: MSTORE 000025cd: PUSH1 0x24 000025cf: ADD 000025d0: PUSH2 0x14fa 000025d3: JUMP 000025d4: JUMPDEST 000025d5: PUSH0 000025d6: DUP1 000025d7: DUP4 000025d8: MLOAD 000025d9: PUSH1 0x01 000025db: PUSH1 0x01 000025dd: PUSH1 0x40 000025df: SHL 000025e0: SUB 000025e1: DUP2 000025e2: GT 000025e3: ISZERO 000025e4: PUSH2 0x25ef 000025e7: JUMPI 000025e8: PUSH2 0x25ef 000025eb: PUSH2 0x46ae 000025ee: JUMP 000025ef: JUMPDEST 000025f0: PUSH1 0x40 000025f2: MLOAD 000025f3: SWAP1 000025f4: DUP1 000025f5: DUP3 000025f6: MSTORE 000025f7: DUP1 000025f8: PUSH1 0x20 000025fa: MUL 000025fb: PUSH1 0x20 000025fd: ADD 000025fe: DUP3 000025ff: ADD 00002600: PUSH1 0x40 00002602: MSTORE 00002603: DUP1 00002604: ISZERO 00002605: PUSH2 0x2618 00002608: JUMPI 00002609: DUP2 0000260a: PUSH1 0x20 0000260c: ADD 0000260d: PUSH1 0x20 0000260f: DUP3 00002610: MUL 00002611: DUP1 00002612: CALLDATASIZE 00002613: DUP4 00002614: CALLDATACOPY 00002615: ADD 00002616: SWAP1 00002617: POP 00002618: JUMPDEST 00002619: POP 0000261a: SWAP1 0000261b: POP 0000261c: PUSH0 0000261d: JUMPDEST 0000261e: DUP5 0000261f: MLOAD 00002620: DUP2 00002621: LT 00002622: ISZERO 00002623: PUSH2 0x282d 00002626: JUMPI 00002627: PUSH0 00002628: DUP6 00002629: DUP3 0000262a: DUP2 0000262b: MLOAD 0000262c: DUP2 0000262d: LT 0000262e: PUSH2 0x2639 00002631: JUMPI 00002632: PUSH2 0x2639 00002635: PUSH2 0x52f4 00002638: JUMP 00002639: JUMPDEST 0000263a: PUSH1 0x20 0000263c: SWAP1 0000263d: DUP2 0000263e: MUL 0000263f: SWAP2 00002640: SWAP1 00002641: SWAP2 00002642: ADD 00002643: ADD 00002644: MLOAD 00002645: DUP1 00002646: MLOAD 00002647: SWAP1 00002648: SWAP2 00002649: POP 0000264a: PUSH1 0x01 0000264c: PUSH1 0x01 0000264e: PUSH1 0x80 00002650: SHL 00002651: SUB 00002652: NOT 00002653: AND 00002654: PUSH2 0x2670 00002657: JUMPI 00002658: PUSH1 0x40 0000265a: MLOAD 0000265b: PUSH4 0x01f6ffb9 00002660: PUSH1 0xe3 00002662: SHL 00002663: DUP2 00002664: MSTORE 00002665: PUSH1 0x04 00002667: ADD 00002668: PUSH2 0x14fa 0000266b: SWAP1 0000266c: PUSH2 0x55ba 0000266f: JUMP 00002670: JUMPDEST 00002671: PUSH1 0x20 00002673: DUP2 00002674: ADD 00002675: MLOAD 00002676: PUSH1 0x01 00002678: PUSH1 0x01 0000267a: PUSH1 0xa0 0000267c: SHL 0000267d: SUB 0000267e: AND 0000267f: PUSH2 0x26bc 00002682: JUMPI 00002683: PUSH1 0x40 00002685: MLOAD 00002686: PUSH4 0x01f6ffb9 0000268b: PUSH1 0xe3 0000268d: SHL 0000268e: DUP2 0000268f: MSTORE 00002690: PUSH1 0x20 00002692: PUSH1 0x04 00002694: DUP3 00002695: ADD 00002696: MSTORE 00002697: PUSH1 0x0e 00002699: PUSH1 0x24 0000269b: DUP3 0000269c: ADD 0000269d: MSTORE 0000269e: PUSH14 0x7369676e6572206973207a65726f 000026ad: PUSH1 0x90 000026af: SHL 000026b0: PUSH1 0x44 000026b2: DUP3 000026b3: ADD 000026b4: MSTORE 000026b5: PUSH1 0x64 000026b7: ADD 000026b8: PUSH2 0x14fa 000026bb: JUMP 000026bc: JUMPDEST 000026bd: DUP1 000026be: PUSH1 0x40 000026c0: ADD 000026c1: MLOAD 000026c2: PUSH1 0x01 000026c4: PUSH1 0x01 000026c6: PUSH1 0x40 000026c8: SHL 000026c9: SUB 000026ca: AND 000026cb: PUSH0 000026cc: SUB 000026cd: PUSH2 0x2719 000026d0: JUMPI 000026d1: PUSH1 0x40 000026d3: MLOAD 000026d4: PUSH4 0x01f6ffb9 000026d9: PUSH1 0xe3 000026db: SHL 000026dc: DUP2 000026dd: MSTORE 000026de: PUSH1 0x20 000026e0: PUSH1 0x04 000026e2: DUP3 000026e3: ADD 000026e4: MSTORE 000026e5: PUSH1 0x17 000026e7: PUSH1 0x24 000026e9: DUP3 000026ea: ADD 000026eb: MSTORE 000026ec: PUSH32 0x616d6f756e7420696e766573746564206973207a65726f000000000000000000 0000270d: PUSH1 0x44 0000270f: DUP3 00002710: ADD 00002711: MSTORE 00002712: PUSH1 0x64 00002714: ADD 00002715: PUSH2 0x14fa 00002718: JUMP 00002719: JUMPDEST 0000271a: DUP1 0000271b: PUSH1 0x60 0000271d: ADD 0000271e: MLOAD 0000271f: PUSH1 0x01 00002721: PUSH1 0x01 00002723: PUSH1 0x40 00002725: SHL 00002726: SUB 00002727: AND 00002728: PUSH0 00002729: SUB 0000272a: PUSH2 0x2776 0000272d: JUMPI 0000272e: PUSH1 0x40 00002730: MLOAD 00002731: PUSH4 0x01f6ffb9 00002736: PUSH1 0xe3 00002738: SHL 00002739: DUP2 0000273a: MSTORE 0000273b: PUSH1 0x20 0000273d: PUSH1 0x04 0000273f: DUP3 00002740: ADD 00002741: MSTORE 00002742: PUSH1 0x1a 00002744: PUSH1 0x24 00002746: DUP3 00002747: ADD 00002748: MSTORE 00002749: PUSH32 0x646973747269627574696f6e536861726573206973207a65726f000000000000 0000276a: PUSH1 0x44 0000276c: DUP3 0000276d: ADD 0000276e: MSTORE 0000276f: PUSH1 0x64 00002771: ADD 00002772: PUSH2 0x14fa 00002775: JUMP 00002776: JUMPDEST 00002777: PUSH1 0x60 00002779: DUP2 0000277a: ADD 0000277b: MLOAD 0000277c: PUSH2 0x2785 0000277f: SWAP1 00002780: DUP6 00002781: PUSH2 0x5606 00002784: JUMP 00002785: JUMPDEST 00002786: PUSH1 0x40 00002788: DUP1 00002789: MLOAD 0000278a: DUP4 0000278b: MLOAD 0000278c: PUSH1 0x01 0000278e: PUSH1 0x01 00002790: PUSH1 0x80 00002792: SHL 00002793: SUB 00002794: NOT 00002795: AND 00002796: PUSH1 0x20 00002798: DUP1 00002799: DUP4 0000279a: ADD 0000279b: SWAP2 0000279c: SWAP1 0000279d: SWAP2 0000279e: MSTORE 0000279f: DUP5 000027a0: ADD 000027a1: MLOAD 000027a2: PUSH1 0x01 000027a4: PUSH1 0x01 000027a6: PUSH1 0xa0 000027a8: SHL 000027a9: SUB 000027aa: AND 000027ab: DUP2 000027ac: DUP4 000027ad: ADD 000027ae: MSTORE 000027af: SWAP1 000027b0: DUP4 000027b1: ADD 000027b2: MLOAD 000027b3: PUSH1 0x01 000027b5: PUSH1 0x01 000027b7: PUSH1 0x40 000027b9: SHL 000027ba: SUB 000027bb: SWAP1 000027bc: DUP2 000027bd: AND 000027be: PUSH1 0x60 000027c0: DUP1 000027c1: DUP5 000027c2: ADD 000027c3: SWAP2 000027c4: SWAP1 000027c5: SWAP2 000027c6: MSTORE 000027c7: DUP5 000027c8: ADD 000027c9: MLOAD 000027ca: AND 000027cb: PUSH1 0x80 000027cd: DUP1 000027ce: DUP4 000027cf: ADD 000027d0: SWAP2 000027d1: SWAP1 000027d2: SWAP2 000027d3: MSTORE 000027d4: DUP4 000027d5: ADD 000027d6: MLOAD 000027d7: ISZERO 000027d8: ISZERO 000027d9: PUSH1 0xa0 000027db: DUP3 000027dc: ADD 000027dd: MSTORE 000027de: SWAP1 000027df: SWAP5 000027e0: POP 000027e1: PUSH2 0x2807 000027e4: SWAP1 000027e5: PUSH1 0xc0 000027e7: ADD 000027e8: JUMPDEST 000027e9: PUSH1 0x40 000027eb: MLOAD 000027ec: PUSH1 0x20 000027ee: DUP2 000027ef: DUP4 000027f0: SUB 000027f1: SUB 000027f2: DUP2 000027f3: MSTORE 000027f4: SWAP1 000027f5: PUSH1 0x40 000027f7: MSTORE 000027f8: DUP1 000027f9: MLOAD 000027fa: PUSH1 0x20 000027fc: SWAP2 000027fd: DUP3 000027fe: ADD 000027ff: KECCAK256 00002800: PUSH0 00002801: SWAP1 00002802: DUP2 00002803: MSTORE 00002804: KECCAK256 00002805: SWAP1 00002806: JUMP 00002807: JUMPDEST 00002808: DUP4 00002809: DUP4 0000280a: DUP2 0000280b: MLOAD 0000280c: DUP2 0000280d: LT 0000280e: PUSH2 0x2819 00002811: JUMPI 00002812: PUSH2 0x2819 00002815: PUSH2 0x52f4 00002818: JUMP 00002819: JUMPDEST 0000281a: PUSH1 0x20 0000281c: SWAP1 0000281d: DUP2 0000281e: MUL 0000281f: SWAP2 00002820: SWAP1 00002821: SWAP2 00002822: ADD 00002823: ADD 00002824: MSTORE 00002825: POP 00002826: PUSH1 0x01 00002828: ADD 00002829: PUSH2 0x261d 0000282c: JUMP 0000282d: JUMPDEST 0000282e: POP 0000282f: PUSH1 0x03 00002831: DUP1 00002832: SLOAD 00002833: PUSH8 0xffffffffffffffff 0000283c: PUSH1 0x80 0000283e: SHL 0000283f: NOT 00002840: AND 00002841: PUSH1 0x01 00002843: PUSH1 0x80 00002845: SHL 00002846: PUSH1 0x01 00002848: PUSH1 0x01 0000284a: PUSH1 0x40 0000284c: SHL 0000284d: SUB 0000284e: DUP6 0000284f: AND 00002850: MUL 00002851: OR 00002852: SWAP1 00002853: SSTORE 00002854: PUSH0 00002855: PUSH2 0x285d 00002858: DUP3 00002859: PUSH2 0x393a 0000285c: JUMP 0000285d: JUMPDEST 0000285e: SWAP1 0000285f: POP 00002860: DUP4 00002861: DUP2 00002862: EQ 00002863: PUSH2 0x2885 00002866: JUMPI 00002867: DUP2 00002868: DUP2 00002869: DUP6 0000286a: PUSH1 0x40 0000286c: MLOAD 0000286d: PUSH4 0x16af695b 00002872: PUSH1 0xe1 00002874: SHL 00002875: DUP2 00002876: MSTORE 00002877: PUSH1 0x04 00002879: ADD 0000287a: PUSH2 0x14fa 0000287d: SWAP4 0000287e: SWAP3 0000287f: SWAP2 00002880: SWAP1 00002881: PUSH2 0x5626 00002884: JUMP 00002885: JUMPDEST 00002886: PUSH1 0x0a 00002888: SSTORE 00002889: POP 0000288a: POP 0000288b: POP 0000288c: POP 0000288d: JUMP 0000288e: JUMPDEST 0000288f: PUSH1 0x0c 00002891: SLOAD 00002892: DUP1 00002893: ISZERO 00002894: PUSH2 0x2910 00002897: JUMPI 00002898: PUSH0 00002899: JUMPDEST 0000289a: DUP2 0000289b: DUP2 0000289c: LT 0000289d: ISZERO 0000289e: PUSH2 0x2904 000028a1: JUMPI 000028a2: PUSH1 0x0b 000028a4: PUSH0 000028a5: PUSH1 0x0c 000028a7: DUP4 000028a8: DUP2 000028a9: SLOAD 000028aa: DUP2 000028ab: LT 000028ac: PUSH2 0x28b7 000028af: JUMPI 000028b0: PUSH2 0x28b7 000028b3: PUSH2 0x52f4 000028b6: JUMP 000028b7: JUMPDEST 000028b8: PUSH0 000028b9: SWAP2 000028ba: DUP3 000028bb: MSTORE 000028bc: PUSH1 0x20 000028be: DUP1 000028bf: DUP4 000028c0: KECCAK256 000028c1: PUSH1 0x02 000028c3: DUP4 000028c4: DIV 000028c5: ADD 000028c6: SLOAD 000028c7: PUSH1 0x01 000028c9: SWAP3 000028ca: DUP4 000028cb: AND 000028cc: PUSH1 0x10 000028ce: MUL 000028cf: PUSH2 0x0100 000028d2: EXP 000028d3: SWAP1 000028d4: DIV 000028d5: PUSH1 0x80 000028d7: SHL 000028d8: PUSH1 0x01 000028da: PUSH1 0x01 000028dc: PUSH1 0x80 000028de: SHL 000028df: SUB 000028e0: NOT 000028e1: AND 000028e2: DUP5 000028e3: MSTORE 000028e4: DUP4 000028e5: ADD 000028e6: SWAP4 000028e7: SWAP1 000028e8: SWAP4 000028e9: MSTORE 000028ea: PUSH1 0x40 000028ec: SWAP1 000028ed: SWAP2 000028ee: ADD 000028ef: SWAP1 000028f0: KECCAK256 000028f1: DUP1 000028f2: SLOAD 000028f3: PUSH1 0x01 000028f5: PUSH1 0x01 000028f7: PUSH1 0xb0 000028f9: SHL 000028fa: SUB 000028fb: NOT 000028fc: AND 000028fd: SWAP1 000028fe: SSTORE 000028ff: ADD 00002900: PUSH2 0x2899 00002903: JUMP 00002904: JUMPDEST 00002905: POP 00002906: PUSH2 0x2910 00002909: PUSH1 0x0c 0000290b: PUSH0 0000290c: PUSH2 0x4652 0000290f: JUMP 00002910: JUMPDEST 00002911: PUSH0 00002912: DUP1 00002913: JUMPDEST 00002914: DUP4 00002915: MLOAD 00002916: DUP2 00002917: LT 00002918: ISZERO 00002919: PUSH2 0x2b4f 0000291c: JUMPI 0000291d: PUSH0 0000291e: DUP5 0000291f: DUP3 00002920: DUP2 00002921: MLOAD 00002922: DUP2 00002923: LT 00002924: PUSH2 0x292f 00002927: JUMPI 00002928: PUSH2 0x292f 0000292b: PUSH2 0x52f4 0000292e: JUMP 0000292f: JUMPDEST 00002930: PUSH1 0x20 00002932: SWAP1 00002933: DUP2 00002934: MUL 00002935: SWAP2 00002936: SWAP1 00002937: SWAP2 00002938: ADD 00002939: ADD 0000293a: MLOAD 0000293b: DUP1 0000293c: MLOAD 0000293d: SWAP1 0000293e: SWAP2 0000293f: POP 00002940: PUSH1 0x01 00002942: PUSH1 0x01 00002944: PUSH1 0x80 00002946: SHL 00002947: SUB 00002948: NOT 00002949: AND 0000294a: PUSH2 0x2966 0000294d: JUMPI 0000294e: PUSH1 0x40 00002950: MLOAD 00002951: PUSH4 0x01f6ffb9 00002956: PUSH1 0xe3 00002958: SHL 00002959: DUP2 0000295a: MSTORE 0000295b: PUSH1 0x04 0000295d: ADD 0000295e: PUSH2 0x14fa 00002961: SWAP1 00002962: PUSH2 0x55ba 00002965: JUMP 00002966: JUMPDEST 00002967: PUSH1 0x20 00002969: DUP2 0000296a: ADD 0000296b: MLOAD 0000296c: PUSH1 0x01 0000296e: PUSH1 0x01 00002970: PUSH1 0xa0 00002972: SHL 00002973: SUB 00002974: AND 00002975: PUSH2 0x29b2 00002978: JUMPI 00002979: PUSH1 0x40 0000297b: MLOAD 0000297c: PUSH4 0x01f6ffb9 00002981: PUSH1 0xe3 00002983: SHL 00002984: DUP2 00002985: MSTORE 00002986: PUSH1 0x20 00002988: PUSH1 0x04 0000298a: DUP3 0000298b: ADD 0000298c: MSTORE 0000298d: PUSH1 0x0e 0000298f: PUSH1 0x24 00002991: DUP3 00002992: ADD 00002993: MSTORE 00002994: PUSH14 0x7369676e6572206973207a65726f 000029a3: PUSH1 0x90 000029a5: SHL 000029a6: PUSH1 0x44 000029a8: DUP3 000029a9: ADD 000029aa: MSTORE 000029ab: PUSH1 0x64 000029ad: ADD 000029ae: PUSH2 0x14fa 000029b1: JUMP 000029b2: JUMPDEST 000029b3: DUP1 000029b4: PUSH1 0x40 000029b6: ADD 000029b7: MLOAD 000029b8: PUSH2 0xffff 000029bb: AND 000029bc: PUSH0 000029bd: SUB 000029be: PUSH2 0x29fe 000029c1: JUMPI 000029c2: PUSH1 0x40 000029c4: MLOAD 000029c5: PUSH4 0x01f6ffb9 000029ca: PUSH1 0xe3 000029cc: SHL 000029cd: DUP2 000029ce: MSTORE 000029cf: PUSH1 0x20 000029d1: PUSH1 0x04 000029d3: DUP3 000029d4: ADD 000029d5: MSTORE 000029d6: PUSH1 0x11 000029d8: PUSH1 0x24 000029da: DUP3 000029db: ADD 000029dc: MSTORE 000029dd: PUSH17 0x636172727920425053206973207a65726f 000029ef: PUSH1 0x78 000029f1: SHL 000029f2: PUSH1 0x44 000029f4: DUP3 000029f5: ADD 000029f6: MSTORE 000029f7: PUSH1 0x64 000029f9: ADD 000029fa: PUSH2 0x14fa 000029fd: JUMP 000029fe: JUMPDEST 000029ff: DUP1 00002a00: MLOAD 00002a01: PUSH1 0x01 00002a03: PUSH1 0x01 00002a05: PUSH1 0x80 00002a07: SHL 00002a08: SUB 00002a09: NOT 00002a0a: AND 00002a0b: PUSH0 00002a0c: SWAP1 00002a0d: DUP2 00002a0e: MSTORE 00002a0f: PUSH1 0x0b 00002a11: PUSH1 0x20 00002a13: MSTORE 00002a14: PUSH1 0x40 00002a16: SWAP1 00002a17: KECCAK256 00002a18: SLOAD 00002a19: PUSH1 0x01 00002a1b: PUSH1 0x01 00002a1d: PUSH1 0xa0 00002a1f: SHL 00002a20: SUB 00002a21: AND 00002a22: ISZERO 00002a23: PUSH2 0x2a6f 00002a26: JUMPI 00002a27: PUSH1 0x40 00002a29: MLOAD 00002a2a: PUSH4 0x01f6ffb9 00002a2f: PUSH1 0xe3 00002a31: SHL 00002a32: DUP2 00002a33: MSTORE 00002a34: PUSH1 0x20 00002a36: PUSH1 0x04 00002a38: DUP3 00002a39: ADD 00002a3a: MSTORE 00002a3b: PUSH1 0x19 00002a3d: PUSH1 0x24 00002a3f: DUP3 00002a40: ADD 00002a41: MSTORE 00002a42: PUSH32 0x656e746974795555494420616c72656164792065786973747300000000000000 00002a63: PUSH1 0x44 00002a65: DUP3 00002a66: ADD 00002a67: MSTORE 00002a68: PUSH1 0x64 00002a6a: ADD 00002a6b: PUSH2 0x14fa 00002a6e: JUMP 00002a6f: JUMPDEST 00002a70: PUSH1 0x40 00002a72: DUP2 00002a73: ADD 00002a74: MLOAD 00002a75: PUSH2 0x2a7e 00002a78: SWAP1 00002a79: DUP5 00002a7a: PUSH2 0x553b 00002a7d: JUMP 00002a7e: JUMPDEST 00002a7f: DUP2 00002a80: MLOAD 00002a81: PUSH1 0x0c 00002a83: DUP1 00002a84: SLOAD 00002a85: PUSH1 0x01 00002a87: DUP1 00002a88: DUP3 00002a89: ADD 00002a8a: DUP4 00002a8b: SSTORE 00002a8c: PUSH0 00002a8d: SWAP3 00002a8e: DUP4 00002a8f: MSTORE 00002a90: PUSH32 0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7 00002ab1: PUSH1 0x02 00002ab3: DUP4 00002ab4: DIV 00002ab5: ADD 00002ab6: DUP1 00002ab7: SLOAD 00002ab8: PUSH1 0x01 00002aba: PUSH1 0x01 00002abc: PUSH1 0x80 00002abe: SHL 00002abf: SUB 00002ac0: SWAP4 00002ac1: DUP4 00002ac2: AND 00002ac3: PUSH1 0x10 00002ac5: MUL 00002ac6: PUSH2 0x0100 00002ac9: EXP 00002aca: SWAP4 00002acb: DUP5 00002acc: MUL 00002acd: NOT 00002ace: AND 00002acf: PUSH1 0x80 00002ad1: SWAP6 00002ad2: SWAP1 00002ad3: SWAP6 00002ad4: SHR 00002ad5: SWAP3 00002ad6: SWAP1 00002ad7: SWAP3 00002ad8: MUL 00002ad9: SWAP4 00002ada: SWAP1 00002adb: SWAP4 00002adc: OR 00002add: SWAP1 00002ade: SSTORE 00002adf: PUSH1 0x40 00002ae1: DUP1 00002ae2: MLOAD 00002ae3: DUP1 00002ae4: DUP3 00002ae5: ADD 00002ae6: DUP3 00002ae7: MSTORE 00002ae8: PUSH1 0x20 00002aea: DUP1 00002aeb: DUP8 00002aec: ADD 00002aed: MLOAD 00002aee: PUSH1 0x01 00002af0: PUSH1 0x01 00002af2: PUSH1 0xa0 00002af4: SHL 00002af5: SUB 00002af6: SWAP1 00002af7: DUP2 00002af8: AND 00002af9: DUP4 00002afa: MSTORE 00002afb: DUP4 00002afc: DUP9 00002afd: ADD 00002afe: MLOAD 00002aff: PUSH2 0xffff 00002b02: SWAP1 00002b03: DUP2 00002b04: AND 00002b05: DUP4 00002b06: DUP6 00002b07: ADD 00002b08: SWAP1 00002b09: DUP2 00002b0a: MSTORE 00002b0b: SWAP9 00002b0c: MLOAD 00002b0d: PUSH1 0x01 00002b0f: PUSH1 0x01 00002b11: PUSH1 0x80 00002b13: SHL 00002b14: SUB 00002b15: NOT 00002b16: AND 00002b17: DUP7 00002b18: MSTORE 00002b19: PUSH1 0x0b 00002b1b: SWAP1 00002b1c: SWAP3 00002b1d: MSTORE 00002b1e: SWAP3 00002b1f: SWAP1 00002b20: SWAP4 00002b21: KECCAK256 00002b22: SWAP1 00002b23: MLOAD 00002b24: DUP2 00002b25: SLOAD 00002b26: SWAP7 00002b27: MLOAD 00002b28: SWAP3 00002b29: AND 00002b2a: PUSH1 0x01 00002b2c: PUSH1 0x01 00002b2e: PUSH1 0xb0 00002b30: SHL 00002b31: SUB 00002b32: NOT 00002b33: SWAP1 00002b34: SWAP7 00002b35: AND 00002b36: SWAP6 00002b37: SWAP1 00002b38: SWAP6 00002b39: OR 00002b3a: PUSH1 0x01 00002b3c: PUSH1 0xa0 00002b3e: SHL 00002b3f: SWAP2 00002b40: SWAP1 00002b41: SWAP3 00002b42: AND 00002b43: MUL 00002b44: OR 00002b45: SWAP1 00002b46: SWAP3 00002b47: SSTORE 00002b48: SWAP3 00002b49: POP 00002b4a: ADD 00002b4b: PUSH2 0x2913 00002b4e: JUMP 00002b4f: JUMPDEST 00002b50: POP 00002b51: PUSH1 0x07 00002b53: SLOAD 00002b54: PUSH2 0x2b61 00002b57: SWAP1 00002b58: PUSH2 0xffff 00002b5b: AND 00002b5c: DUP3 00002b5d: PUSH2 0x553b 00002b60: JUMP 00002b61: JUMPDEST 00002b62: PUSH1 0x03 00002b64: PUSH1 0x18 00002b66: PUSH2 0x0100 00002b69: EXP 00002b6a: DUP2 00002b6b: SLOAD 00002b6c: DUP2 00002b6d: PUSH2 0xffff 00002b70: MUL 00002b71: NOT 00002b72: AND 00002b73: SWAP1 00002b74: DUP4 00002b75: PUSH2 0xffff 00002b78: AND 00002b79: MUL 00002b7a: OR 00002b7b: SWAP1 00002b7c: SSTORE 00002b7d: POP 00002b7e: POP 00002b7f: POP 00002b80: POP 00002b81: JUMP 00002b82: JUMPDEST 00002b83: PUSH2 0x1848 00002b86: DUP2 00002b87: CALLER 00002b88: PUSH2 0x3995 00002b8b: JUMP 00002b8c: JUMPDEST 00002b8d: PUSH1 0x02 00002b8f: DUP1 00002b90: SLOAD 00002b91: DUP3 00002b92: ISZERO 00002b93: ISZERO 00002b94: PUSH1 0x01 00002b96: PUSH1 0xa0 00002b98: SHL 00002b99: MUL 00002b9a: PUSH1 0xff 00002b9c: PUSH1 0xa0 00002b9e: SHL 00002b9f: NOT 00002ba0: SWAP1 00002ba1: SWAP2 00002ba2: AND 00002ba3: OR 00002ba4: SWAP1 00002ba5: SSTORE 00002ba6: PUSH1 0x40 00002ba8: MLOAD 00002ba9: PUSH4 0x1946c7b9 00002bae: PUSH1 0xe1 00002bb0: SHL 00002bb1: SWAP1 00002bb2: PUSH32 0x11f2fec7a1604d7d8ea8b74ed1666060410561f7e666aee037dcf3f9292cb4c1 00002bd3: SWAP1 00002bd4: PUSH2 0x2be7 00002bd7: SWAP1 00002bd8: DUP5 00002bd9: SWAP1 00002bda: PUSH1 0x20 00002bdc: ADD 00002bdd: SWAP1 00002bde: ISZERO 00002bdf: ISZERO 00002be0: DUP2 00002be1: MSTORE 00002be2: PUSH1 0x20 00002be4: ADD 00002be5: SWAP1 00002be6: JUMP 00002be7: JUMPDEST 00002be8: PUSH1 0x40 00002bea: DUP1 00002beb: MLOAD 00002bec: PUSH1 0x1f 00002bee: NOT 00002bef: DUP2 00002bf0: DUP5 00002bf1: SUB 00002bf2: ADD 00002bf3: DUP2 00002bf4: MSTORE 00002bf5: SWAP1 00002bf6: DUP3 00002bf7: SWAP1 00002bf8: MSTORE 00002bf9: PUSH2 0x2c01 00002bfc: SWAP2 00002bfd: PUSH2 0x5674 00002c00: JUMP 00002c01: JUMPDEST 00002c02: PUSH1 0x40 00002c04: MLOAD 00002c05: DUP1 00002c06: SWAP2 00002c07: SUB 00002c08: SWAP1 00002c09: LOG2 00002c0a: POP 00002c0b: JUMP 00002c0c: JUMPDEST 00002c0d: PUSH0 00002c0e: DUP1 00002c0f: PUSH1 0x06 00002c11: SLOAD 00002c12: PUSH1 0x05 00002c14: SLOAD 00002c15: PUSH1 0x04 00002c17: SLOAD 00002c18: PUSH2 0x2c21 00002c1b: SWAP2 00002c1c: SWAP1 00002c1d: PUSH2 0x56ad 00002c20: JUMP 00002c21: JUMPDEST 00002c22: PUSH1 0x02 00002c24: SLOAD 00002c25: PUSH1 0x40 00002c27: MLOAD 00002c28: PUSH4 0x70a08231 00002c2d: PUSH1 0xe0 00002c2f: SHL 00002c30: DUP2 00002c31: MSTORE 00002c32: ADDRESS 00002c33: PUSH1 0x04 00002c35: DUP3 00002c36: ADD 00002c37: MSTORE 00002c38: PUSH1 0x01 00002c3a: PUSH1 0x01 00002c3c: PUSH1 0xa0 00002c3e: SHL 00002c3f: SUB 00002c40: SWAP1 00002c41: SWAP2 00002c42: AND 00002c43: SWAP1 00002c44: PUSH4 0x70a08231 00002c49: SWAP1 00002c4a: PUSH1 0x24 00002c4c: ADD 00002c4d: PUSH1 0x20 00002c4f: PUSH1 0x40 00002c51: MLOAD 00002c52: DUP1 00002c53: DUP4 00002c54: SUB 00002c55: DUP2 00002c56: DUP7 00002c57: GAS 00002c58: STATICCALL 00002c59: ISZERO 00002c5a: DUP1 00002c5b: ISZERO 00002c5c: PUSH2 0x2c67 00002c5f: JUMPI 00002c60: RETURNDATASIZE 00002c61: PUSH0 00002c62: DUP1 00002c63: RETURNDATACOPY 00002c64: RETURNDATASIZE 00002c65: PUSH0 00002c66: REVERT 00002c67: JUMPDEST 00002c68: POP 00002c69: POP 00002c6a: POP 00002c6b: POP 00002c6c: PUSH1 0x40 00002c6e: MLOAD 00002c6f: RETURNDATASIZE 00002c70: PUSH1 0x1f 00002c72: NOT 00002c73: PUSH1 0x1f 00002c75: DUP3 00002c76: ADD 00002c77: AND 00002c78: DUP3 00002c79: ADD 00002c7a: DUP1 00002c7b: PUSH1 0x40 00002c7d: MSTORE 00002c7e: POP 00002c7f: DUP2 00002c80: ADD 00002c81: SWAP1 00002c82: PUSH2 0x2c8b 00002c85: SWAP2 00002c86: SWAP1 00002c87: PUSH2 0x56c0 00002c8a: JUMP 00002c8b: JUMPDEST 00002c8c: PUSH2 0x2c95 00002c8f: SWAP2 00002c90: SWAP1 00002c91: PUSH2 0x54d7 00002c94: JUMP 00002c95: JUMPDEST 00002c96: PUSH2 0x2c9f 00002c99: SWAP2 00002c9a: SWAP1 00002c9b: PUSH2 0x54d7 00002c9e: JUMP 00002c9f: JUMPDEST 00002ca0: SWAP1 00002ca1: POP 00002ca2: DUP3 00002ca3: ISZERO 00002ca4: PUSH2 0x2d04 00002ca7: JUMPI 00002ca8: PUSH1 0x40 00002caa: DUP1 00002cab: MLOAD 00002cac: PUSH1 0x60 00002cae: DUP2 00002caf: ADD 00002cb0: DUP3 00002cb1: MSTORE 00002cb2: PUSH0 00002cb3: SLOAD 00002cb4: PUSH1 0x01 00002cb6: PUSH1 0x01 00002cb8: PUSH1 0xa0 00002cba: SHL 00002cbb: SUB 00002cbc: DUP2 00002cbd: AND 00002cbe: DUP3 00002cbf: MSTORE 00002cc0: PUSH1 0x01 00002cc2: PUSH1 0x01 00002cc4: PUSH1 0xd0 00002cc6: SHL 00002cc7: SUB 00002cc8: NOT 00002cc9: PUSH1 0x01 00002ccb: PUSH1 0xa0 00002ccd: SHL 00002cce: DUP3 00002ccf: DIV 00002cd0: PUSH1 0xd0 00002cd2: SWAP1 00002cd3: DUP2 00002cd4: SHL 00002cd5: DUP3 00002cd6: AND 00002cd7: PUSH1 0x20 00002cd9: DUP6 00002cda: ADD 00002cdb: MSTORE 00002cdc: PUSH1 0x01 00002cde: PUSH1 0xd0 00002ce0: SHL 00002ce1: SWAP1 00002ce2: SWAP3 00002ce3: DIV 00002ce4: SWAP1 00002ce5: SWAP2 00002ce6: SHL 00002ce7: AND 00002ce8: SWAP2 00002ce9: DUP2 00002cea: ADD 00002ceb: SWAP2 00002cec: SWAP1 00002ced: SWAP2 00002cee: MSTORE 00002cef: PUSH2 0x2cf7 00002cf2: SWAP1 00002cf3: PUSH2 0x39ce 00002cf6: JUMP 00002cf7: JUMPDEST 00002cf8: PUSH2 0x2d01 00002cfb: SWAP1 00002cfc: DUP3 00002cfd: PUSH2 0x54d7 00002d00: JUMP 00002d01: JUMPDEST 00002d02: SWAP1 00002d03: POP 00002d04: JUMPDEST 00002d05: PUSH1 0x03 00002d07: SLOAD 00002d08: PUSH0 00002d09: SWAP1 00002d0a: PUSH2 0x2d28 00002d0d: SWAP1 00002d0e: DUP4 00002d0f: SWAP1 00002d10: PUSH1 0x01 00002d12: PUSH1 0x01 00002d14: PUSH1 0x40 00002d16: SHL 00002d17: SUB 00002d18: DUP1 00002d19: DUP10 00002d1a: AND 00002d1b: SWAP2 00002d1c: PUSH1 0x01 00002d1e: PUSH1 0x80 00002d20: SHL 00002d21: SWAP1 00002d22: DIV 00002d23: AND 00002d24: PUSH2 0x3af5 00002d27: JUMP 00002d28: JUMPDEST 00002d29: PUSH1 0x01 00002d2b: PUSH1 0x01 00002d2d: PUSH1 0x80 00002d2f: SHL 00002d30: SUB 00002d31: NOT 00002d32: DUP8 00002d33: AND 00002d34: PUSH0 00002d35: SWAP1 00002d36: DUP2 00002d37: MSTORE 00002d38: PUSH1 0x08 00002d3a: PUSH1 0x20 00002d3c: MSTORE 00002d3d: PUSH1 0x40 00002d3f: SWAP1 00002d40: KECCAK256 00002d41: SLOAD 00002d42: SWAP1 00002d43: SWAP2 00002d44: POP 00002d45: DUP1 00002d46: DUP3 00002d47: LT 00002d48: ISZERO 00002d49: PUSH2 0x2d57 00002d4c: JUMPI 00002d4d: PUSH0 00002d4e: SWAP4 00002d4f: POP 00002d50: POP 00002d51: POP 00002d52: POP 00002d53: PUSH2 0x1cb2 00002d56: JUMP 00002d57: JUMPDEST 00002d58: PUSH2 0x2d61 00002d5b: DUP2 00002d5c: DUP4 00002d5d: PUSH2 0x56ad 00002d60: JUMP 00002d61: JUMPDEST 00002d62: SWAP8 00002d63: SWAP7 00002d64: POP 00002d65: POP 00002d66: POP 00002d67: POP 00002d68: POP 00002d69: POP 00002d6a: POP 00002d6b: JUMP 00002d6c: JUMPDEST 00002d6d: PUSH0 00002d6e: PUSH0 00002d6f: DUP1 00002d70: MLOAD 00002d71: PUSH1 0x20 00002d73: PUSH2 0x5a7e 00002d76: DUP4 00002d77: CODECOPY 00002d78: DUP2 00002d79: MLOAD 00002d7a: SWAP2 00002d7b: MSTORE 00002d7c: DUP2 00002d7d: PUSH2 0x2d86 00002d80: DUP6 00002d81: DUP6 00002d82: PUSH2 0x3bb4 00002d85: JUMP 00002d86: JUMPDEST 00002d87: SWAP1 00002d88: POP 00002d89: DUP1 00002d8a: ISZERO 00002d8b: PUSH2 0x1919 00002d8e: JUMPI 00002d8f: PUSH0 00002d90: DUP6 00002d91: DUP2 00002d92: MSTORE 00002d93: PUSH1 0x20 00002d95: DUP4 00002d96: SWAP1 00002d97: MSTORE 00002d98: PUSH1 0x40 00002d9a: SWAP1 00002d9b: KECCAK256 00002d9c: PUSH2 0x2454 00002d9f: SWAP1 00002da0: DUP6 00002da1: PUSH2 0x3c2d 00002da4: JUMP 00002da5: JUMPDEST 00002da6: DUP1 00002da7: MLOAD 00002da8: PUSH1 0x01 00002daa: PUSH1 0x01 00002dac: PUSH1 0xa0 00002dae: SHL 00002daf: SUB 00002db0: AND 00002db1: PUSH2 0x2db7 00002db4: JUMPI 00002db5: POP 00002db6: JUMP 00002db7: JUMPDEST 00002db8: PUSH1 0x40 00002dba: DUP2 00002dbb: ADD 00002dbc: MLOAD 00002dbd: PUSH1 0x01 00002dbf: PUSH1 0x01 00002dc1: PUSH1 0xd0 00002dc3: SHL 00002dc4: SUB 00002dc5: NOT 00002dc6: AND 00002dc7: PUSH6 0x7bb7577aaf57 00002dce: PUSH1 0xd1 00002dd0: SHL 00002dd1: ADD 00002dd2: PUSH2 0x2e8f 00002dd5: JUMPI 00002dd6: DUP1 00002dd7: PUSH0 00002dd8: ADD 00002dd9: MLOAD 00002dda: PUSH1 0x01 00002ddc: PUSH1 0x01 00002dde: PUSH1 0xa0 00002de0: SHL 00002de1: SUB 00002de2: AND 00002de3: PUSH4 0x86d1a69f 00002de8: PUSH1 0x40 00002dea: MLOAD 00002deb: DUP2 00002dec: PUSH4 0xffffffff 00002df1: AND 00002df2: PUSH1 0xe0 00002df4: SHL 00002df5: DUP2 00002df6: MSTORE 00002df7: PUSH1 0x04 00002df9: ADD 00002dfa: PUSH0 00002dfb: PUSH1 0x40 00002dfd: MLOAD 00002dfe: DUP1 00002dff: DUP4 00002e00: SUB 00002e01: DUP2 00002e02: PUSH0 00002e03: DUP8 00002e04: DUP1 00002e05: EXTCODESIZE 00002e06: ISZERO 00002e07: DUP1 00002e08: ISZERO 00002e09: PUSH2 0x2e10 00002e0c: JUMPI 00002e0d: PUSH0 00002e0e: DUP1 00002e0f: REVERT 00002e10: JUMPDEST 00002e11: POP 00002e12: GAS 00002e13: CALL 00002e14: SWAP3 00002e15: POP 00002e16: POP 00002e17: POP 00002e18: DUP1 00002e19: ISZERO 00002e1a: PUSH2 0x2e21 00002e1d: JUMPI 00002e1e: POP 00002e1f: PUSH1 0x01 00002e21: JUMPDEST 00002e22: PUSH2 0x1848 00002e25: JUMPI 00002e26: RETURNDATASIZE 00002e27: DUP1 00002e28: DUP1 00002e29: ISZERO 00002e2a: PUSH2 0x2e4e 00002e2d: JUMPI 00002e2e: PUSH1 0x40 00002e30: MLOAD 00002e31: SWAP2 00002e32: POP 00002e33: PUSH1 0x1f 00002e35: NOT 00002e36: PUSH1 0x3f 00002e38: RETURNDATASIZE 00002e39: ADD 00002e3a: AND 00002e3b: DUP3 00002e3c: ADD 00002e3d: PUSH1 0x40 00002e3f: MSTORE 00002e40: RETURNDATASIZE 00002e41: DUP3 00002e42: MSTORE 00002e43: RETURNDATASIZE 00002e44: PUSH0 00002e45: PUSH1 0x20 00002e47: DUP5 00002e48: ADD 00002e49: RETURNDATACOPY 00002e4a: PUSH2 0x2e53 00002e4d: JUMP 00002e4e: JUMPDEST 00002e4f: PUSH1 0x60 00002e51: SWAP2 00002e52: POP 00002e53: JUMPDEST 00002e54: POP 00002e55: PUSH32 0xd4dda53af3bad1326f8c4a3308709c8621ff0cf0691b7a3052e2fcda2f9141db 00002e76: DUP2 00002e77: PUSH1 0x40 00002e79: MLOAD 00002e7a: PUSH2 0x2e83 00002e7d: SWAP2 00002e7e: SWAP1 00002e7f: PUSH2 0x56d7 00002e82: JUMP 00002e83: JUMPDEST 00002e84: PUSH1 0x40 00002e86: MLOAD 00002e87: DUP1 00002e88: SWAP2 00002e89: SUB 00002e8a: SWAP1 00002e8b: LOG1 00002e8c: POP 00002e8d: POP 00002e8e: JUMP 00002e8f: JUMPDEST 00002e90: PUSH1 0x40 00002e92: DUP2 00002e93: ADD 00002e94: MLOAD 00002e95: PUSH1 0x01 00002e97: PUSH1 0x01 00002e99: PUSH1 0xd0 00002e9b: SHL 00002e9c: SUB 00002e9d: NOT 00002e9e: AND 00002e9f: PUSH6 0xb275294801e5 00002ea6: PUSH1 0xd0 00002ea8: SHL 00002ea9: ADD 00002eaa: PUSH2 0x2f53 00002ead: JUMPI 00002eae: DUP1 00002eaf: MLOAD 00002eb0: PUSH1 0x40 00002eb2: MLOAD 00002eb3: PUSH4 0x70a08231 00002eb8: PUSH1 0xe0 00002eba: SHL 00002ebb: DUP2 00002ebc: MSTORE 00002ebd: ADDRESS 00002ebe: PUSH1 0x04 00002ec0: DUP3 00002ec1: ADD 00002ec2: MSTORE 00002ec3: PUSH1 0x01 00002ec5: PUSH1 0x01 00002ec7: PUSH1 0xa0 00002ec9: SHL 00002eca: SUB 00002ecb: SWAP1 00002ecc: SWAP2 00002ecd: AND 00002ece: SWAP1 00002ecf: PUSH4 0x11bcc81e 00002ed4: SWAP1 00002ed5: DUP3 00002ed6: SWAP1 00002ed7: PUSH4 0x70a08231 00002edc: SWAP1 00002edd: PUSH1 0x24 00002edf: ADD 00002ee0: PUSH1 0x20 00002ee2: PUSH1 0x40 00002ee4: MLOAD 00002ee5: DUP1 00002ee6: DUP4 00002ee7: SUB 00002ee8: DUP2 00002ee9: DUP7 00002eea: GAS 00002eeb: STATICCALL 00002eec: ISZERO 00002eed: DUP1 00002eee: ISZERO 00002eef: PUSH2 0x2efa 00002ef2: JUMPI 00002ef3: RETURNDATASIZE 00002ef4: PUSH0 00002ef5: DUP1 00002ef6: RETURNDATACOPY 00002ef7: RETURNDATASIZE 00002ef8: PUSH0 00002ef9: REVERT 00002efa: JUMPDEST 00002efb: POP 00002efc: POP 00002efd: POP 00002efe: POP 00002eff: PUSH1 0x40 00002f01: MLOAD 00002f02: RETURNDATASIZE 00002f03: PUSH1 0x1f 00002f05: NOT 00002f06: PUSH1 0x1f 00002f08: DUP3 00002f09: ADD 00002f0a: AND 00002f0b: DUP3 00002f0c: ADD 00002f0d: DUP1 00002f0e: PUSH1 0x40 00002f10: MSTORE 00002f11: POP 00002f12: DUP2 00002f13: ADD 00002f14: SWAP1 00002f15: PUSH2 0x2f1e 00002f18: SWAP2 00002f19: SWAP1 00002f1a: PUSH2 0x56c0 00002f1d: JUMP 00002f1e: JUMPDEST 00002f1f: PUSH1 0x40 00002f21: MLOAD 00002f22: DUP3 00002f23: PUSH4 0xffffffff 00002f28: AND 00002f29: PUSH1 0xe0 00002f2b: SHL 00002f2c: DUP2 00002f2d: MSTORE 00002f2e: PUSH1 0x04 00002f30: ADD 00002f31: PUSH2 0x2f3c 00002f34: SWAP2 00002f35: DUP2 00002f36: MSTORE 00002f37: PUSH1 0x20 00002f39: ADD 00002f3a: SWAP1 00002f3b: JUMP 00002f3c: JUMPDEST 00002f3d: PUSH0 00002f3e: PUSH1 0x40 00002f40: MLOAD 00002f41: DUP1 00002f42: DUP4 00002f43: SUB 00002f44: DUP2 00002f45: PUSH0 00002f46: DUP8 00002f47: DUP1 00002f48: EXTCODESIZE 00002f49: ISZERO 00002f4a: DUP1 00002f4b: ISZERO 00002f4c: PUSH2 0x2e10 00002f4f: JUMPI 00002f50: PUSH0 00002f51: DUP1 00002f52: REVERT 00002f53: JUMPDEST 00002f54: PUSH1 0x40 00002f56: DUP1 00002f57: DUP3 00002f58: ADD 00002f59: MLOAD 00002f5a: SWAP1 00002f5b: MLOAD 00002f5c: PUSH4 0x084523c5 00002f61: PUSH1 0xe1 00002f63: SHL 00002f64: DUP2 00002f65: MSTORE 00002f66: PUSH1 0x01 00002f68: PUSH1 0x01 00002f6a: PUSH1 0xd0 00002f6c: SHL 00002f6d: SUB 00002f6e: NOT 00002f6f: SWAP1 00002f70: SWAP2 00002f71: AND 00002f72: PUSH1 0x04 00002f74: DUP3 00002f75: ADD 00002f76: MSTORE 00002f77: PUSH1 0x24 00002f79: ADD 00002f7a: PUSH2 0x14fa 00002f7d: JUMP 00002f7e: JUMPDEST 00002f7f: PUSH1 0x01 00002f81: PUSH1 0x01 00002f83: PUSH1 0x80 00002f85: SHL 00002f86: SUB 00002f87: NOT 00002f88: DUP3 00002f89: AND 00002f8a: PUSH0 00002f8b: SWAP1 00002f8c: DUP2 00002f8d: MSTORE 00002f8e: PUSH1 0x09 00002f90: PUSH1 0x20 00002f92: MSTORE 00002f93: PUSH1 0x40 00002f95: DUP2 00002f96: KECCAK256 00002f97: SLOAD 00002f98: PUSH1 0x05 00002f9a: SLOAD 00002f9b: PUSH1 0x03 00002f9d: SLOAD 00002f9e: PUSH2 0x2fb6 00002fa1: SWAP2 00002fa2: SWAP1 00002fa3: PUSH2 0xffff 00002fa6: DUP1 00002fa7: DUP8 00002fa8: AND 00002fa9: SWAP2 00002faa: PUSH1 0x01 00002fac: PUSH1 0xc0 00002fae: SHL 00002faf: SWAP1 00002fb0: DIV 00002fb1: AND 00002fb2: PUSH2 0x3af5 00002fb5: JUMP 00002fb6: JUMPDEST 00002fb7: PUSH2 0x1cb2 00002fba: SWAP2 00002fbb: SWAP1 00002fbc: PUSH2 0x56ad 00002fbf: JUMP 00002fc0: JUMPDEST 00002fc1: PUSH1 0x40 00002fc3: DUP1 00002fc4: MLOAD 00002fc5: PUSH1 0x01 00002fc7: PUSH1 0x01 00002fc9: PUSH1 0xa0 00002fcb: SHL 00002fcc: SUB 00002fcd: DUP5 00002fce: AND 00002fcf: PUSH1 0x24 00002fd1: DUP3 00002fd2: ADD 00002fd3: MSTORE 00002fd4: PUSH1 0x44 00002fd6: DUP1 00002fd7: DUP3 00002fd8: ADD 00002fd9: DUP5 00002fda: SWAP1 00002fdb: MSTORE 00002fdc: DUP3 00002fdd: MLOAD 00002fde: DUP1 00002fdf: DUP4 00002fe0: SUB 00002fe1: SWAP1 00002fe2: SWAP2 00002fe3: ADD 00002fe4: DUP2 00002fe5: MSTORE 00002fe6: PUSH1 0x64 00002fe8: SWAP1 00002fe9: SWAP2 00002fea: ADD 00002feb: SWAP1 00002fec: SWAP2 00002fed: MSTORE 00002fee: PUSH1 0x20 00002ff0: DUP2 00002ff1: ADD 00002ff2: DUP1 00002ff3: MLOAD 00002ff4: PUSH1 0x01 00002ff6: PUSH1 0x01 00002ff8: PUSH1 0xe0 00002ffa: SHL 00002ffb: SUB 00002ffc: AND 00002ffd: PUSH4 0xa9059cbb 00003002: PUSH1 0xe0 00003004: SHL 00003005: OR 00003006: SWAP1 00003007: MSTORE 00003008: PUSH2 0x102b 0000300b: SWAP1 0000300c: DUP5 0000300d: SWAP1 0000300e: PUSH2 0x3c41 00003011: JUMP 00003012: JUMPDEST 00003013: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102 00003034: DUP1 00003035: SLOAD 00003036: PUSH1 0x60 00003038: SWAP2 00003039: PUSH0 0000303a: DUP1 0000303b: MLOAD 0000303c: PUSH1 0x20 0000303e: PUSH2 0x5a9e 00003041: DUP4 00003042: CODECOPY 00003043: DUP2 00003044: MLOAD 00003045: SWAP2 00003046: MSTORE 00003047: SWAP2 00003048: PUSH2 0x3050 0000304b: SWAP1 0000304c: PUSH2 0x56e9 0000304f: JUMP 00003050: JUMPDEST 00003051: DUP1 00003052: PUSH1 0x1f 00003054: ADD 00003055: PUSH1 0x20 00003057: DUP1 00003058: SWAP2 00003059: DIV 0000305a: MUL 0000305b: PUSH1 0x20 0000305d: ADD 0000305e: PUSH1 0x40 00003060: MLOAD 00003061: SWAP1 00003062: DUP2 00003063: ADD 00003064: PUSH1 0x40 00003066: MSTORE 00003067: DUP1 00003068: SWAP3 00003069: SWAP2 0000306a: SWAP1 0000306b: DUP2 0000306c: DUP2 0000306d: MSTORE 0000306e: PUSH1 0x20 00003070: ADD 00003071: DUP3 00003072: DUP1 00003073: SLOAD 00003074: PUSH2 0x307c 00003077: SWAP1 00003078: PUSH2 0x56e9 0000307b: JUMP 0000307c: JUMPDEST 0000307d: DUP1 0000307e: ISZERO 0000307f: PUSH2 0x30c7 00003082: JUMPI 00003083: DUP1 00003084: PUSH1 0x1f 00003086: LT 00003087: PUSH2 0x309e 0000308a: JUMPI 0000308b: PUSH2 0x0100 0000308e: DUP1 0000308f: DUP4 00003090: SLOAD 00003091: DIV 00003092: MUL 00003093: DUP4 00003094: MSTORE 00003095: SWAP2 00003096: PUSH1 0x20 00003098: ADD 00003099: SWAP2 0000309a: PUSH2 0x30c7 0000309d: JUMP 0000309e: JUMPDEST 0000309f: DUP3 000030a0: ADD 000030a1: SWAP2 000030a2: SWAP1 000030a3: PUSH0 000030a4: MSTORE 000030a5: PUSH1 0x20 000030a7: PUSH0 000030a8: KECCAK256 000030a9: SWAP1 000030aa: JUMPDEST 000030ab: DUP2 000030ac: SLOAD 000030ad: DUP2 000030ae: MSTORE 000030af: SWAP1 000030b0: PUSH1 0x01 000030b2: ADD 000030b3: SWAP1 000030b4: PUSH1 0x20 000030b6: ADD 000030b7: DUP1 000030b8: DUP4 000030b9: GT 000030ba: PUSH2 0x30aa 000030bd: JUMPI 000030be: DUP3 000030bf: SWAP1 000030c0: SUB 000030c1: PUSH1 0x1f 000030c3: AND 000030c4: DUP3 000030c5: ADD 000030c6: SWAP2 000030c7: JUMPDEST 000030c8: POP 000030c9: POP 000030ca: POP 000030cb: POP 000030cc: POP 000030cd: SWAP2 000030ce: POP 000030cf: POP 000030d0: SWAP1 000030d1: JUMP 000030d2: JUMPDEST 000030d3: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103 000030f4: DUP1 000030f5: SLOAD 000030f6: PUSH1 0x60 000030f8: SWAP2 000030f9: PUSH0 000030fa: DUP1 000030fb: MLOAD 000030fc: PUSH1 0x20 000030fe: PUSH2 0x5a9e 00003101: DUP4 00003102: CODECOPY 00003103: DUP2 00003104: MLOAD 00003105: SWAP2 00003106: MSTORE 00003107: SWAP2 00003108: PUSH2 0x3050 0000310b: SWAP1 0000310c: PUSH2 0x56e9 0000310f: JUMP 00003110: JUMPDEST 00003111: PUSH0 00003112: PUSH2 0x1cb2 00003115: DUP4 00003116: DUP4 00003117: PUSH2 0x3ca2 0000311a: JUMP 0000311b: JUMPDEST 0000311c: PUSH0 0000311d: DUP4 0000311e: ISZERO 0000311f: PUSH2 0x3129 00003122: JUMPI 00003123: POP 00003124: PUSH0 00003125: PUSH2 0x0fef 00003128: JUMP 00003129: JUMPDEST 0000312a: PUSH0 0000312b: PUSH2 0x3143 0000312e: DUP5 0000312f: PUSH2 0x313d 00003132: CALLDATASIZE 00003133: DUP7 00003134: SWAP1 00003135: SUB 00003136: DUP7 00003137: ADD 00003138: DUP7 00003139: PUSH2 0x5767 0000313c: JUMP 0000313d: JUMPDEST 0000313e: SWAP1 0000313f: PUSH2 0x3cc8 00003142: JUMP 00003143: JUMPDEST 00003144: PUSH1 0x01 00003146: PUSH1 0x01 00003148: PUSH1 0x80 0000314a: SHL 0000314b: SUB 0000314c: NOT 0000314d: DUP9 0000314e: AND 0000314f: PUSH0 00003150: SWAP1 00003151: DUP2 00003152: MSTORE 00003153: PUSH1 0x08 00003155: PUSH1 0x20 00003157: MSTORE 00003158: PUSH1 0x40 0000315a: DUP2 0000315b: KECCAK256 0000315c: PUSH1 0x01 0000315e: ADD 0000315f: SLOAD 00003160: PUSH1 0x03 00003162: SLOAD 00003163: SWAP3 00003164: SWAP4 00003165: POP 00003166: SWAP1 00003167: SWAP2 00003168: PUSH2 0x318b 0000316b: SWAP2 0000316c: DUP10 0000316d: SWAP2 0000316e: PUSH1 0x01 00003170: PUSH1 0x01 00003172: PUSH1 0x40 00003174: SHL 00003175: SUB 00003176: SWAP1 00003177: SWAP2 00003178: AND 00003179: SWAP1 0000317a: DUP6 0000317b: SWAP1 0000317c: PUSH1 0x01 0000317e: PUSH1 0xc0 00003180: SHL 00003181: SWAP1 00003182: DIV 00003183: PUSH2 0xffff 00003186: AND 00003187: PUSH2 0x3cdb 0000318a: JUMP 0000318b: JUMPDEST 0000318c: SWAP1 0000318d: POP 0000318e: PUSH0 0000318f: PUSH2 0x31a7 00003192: DUP3 00003193: PUSH2 0x31a1 00003196: CALLDATASIZE 00003197: DUP9 00003198: SWAP1 00003199: SUB 0000319a: DUP9 0000319b: ADD 0000319c: DUP9 0000319d: PUSH2 0x5767 000031a0: JUMP 000031a1: JUMPDEST 000031a2: SWAP1 000031a3: PUSH2 0x3d1d 000031a6: JUMP 000031a7: JUMPDEST 000031a8: SWAP10 000031a9: SWAP9 000031aa: POP 000031ab: POP 000031ac: POP 000031ad: POP 000031ae: POP 000031af: POP 000031b0: POP 000031b1: POP 000031b2: POP 000031b3: JUMP 000031b4: JUMPDEST 000031b5: PUSH0 000031b6: PUSH2 0x0998 000031b9: DUP3 000031ba: SLOAD 000031bb: SWAP1 000031bc: JUMP 000031bd: JUMPDEST 000031be: PUSH0 000031bf: PUSH2 0x196b 000031c2: PUSH2 0x3d30 000031c5: JUMP 000031c6: JUMPDEST 000031c7: PUSH0 000031c8: DUP1 000031c9: PUSH32 0x4d9f77ff47b5a86f69f849f0468d24908e3c97653ee3cbecc5bb86ff0f7de941 000031ea: DUP5 000031eb: PUSH0 000031ec: ADD 000031ed: MLOAD 000031ee: DUP6 000031ef: PUSH1 0x20 000031f1: ADD 000031f2: MLOAD 000031f3: DUP7 000031f4: PUSH1 0x40 000031f6: ADD 000031f7: MLOAD 000031f8: DUP8 000031f9: PUSH1 0x60 000031fb: ADD 000031fc: MLOAD 000031fd: DUP9 000031fe: PUSH1 0x80 00003200: ADD 00003201: MLOAD 00003202: PUSH1 0x40 00003204: MLOAD 00003205: PUSH1 0x20 00003207: ADD 00003208: PUSH2 0x324f 0000320b: SWAP7 0000320c: SWAP6 0000320d: SWAP5 0000320e: SWAP4 0000320f: SWAP3 00003210: SWAP2 00003211: SWAP1 00003212: SWAP6 00003213: DUP7 00003214: MSTORE 00003215: PUSH1 0x01 00003217: PUSH1 0x01 00003219: PUSH1 0x80 0000321b: SHL 0000321c: SUB 0000321d: NOT 0000321e: SWAP5 0000321f: DUP6 00003220: AND 00003221: PUSH1 0x20 00003223: DUP8 00003224: ADD 00003225: MSTORE 00003226: SWAP3 00003227: SWAP1 00003228: SWAP4 00003229: AND 0000322a: PUSH1 0x40 0000322c: DUP6 0000322d: ADD 0000322e: MSTORE 0000322f: PUSH1 0x01 00003231: PUSH1 0x01 00003233: PUSH1 0xa0 00003235: SHL 00003236: SUB 00003237: AND 00003238: PUSH1 0x60 0000323a: DUP5 0000323b: ADD 0000323c: MSTORE 0000323d: PUSH1 0x80 0000323f: DUP4 00003240: ADD 00003241: SWAP2 00003242: SWAP1 00003243: SWAP2 00003244: MSTORE 00003245: PUSH1 0xa0 00003247: DUP3 00003248: ADD 00003249: MSTORE 0000324a: PUSH1 0xc0 0000324c: ADD 0000324d: SWAP1 0000324e: JUMP 0000324f: JUMPDEST 00003250: PUSH1 0x40 00003252: MLOAD 00003253: PUSH1 0x20 00003255: DUP2 00003256: DUP4 00003257: SUB 00003258: SUB 00003259: DUP2 0000325a: MSTORE 0000325b: SWAP1 0000325c: PUSH1 0x40 0000325e: MSTORE 0000325f: DUP1 00003260: MLOAD 00003261: SWAP1 00003262: PUSH1 0x20 00003264: ADD 00003265: KECCAK256 00003266: SWAP1 00003267: POP 00003268: PUSH2 0x1919 0000326b: DUP4 0000326c: DUP3 0000326d: PUSH1 0x40 0000326f: MLOAD 00003270: PUSH2 0x1901 00003273: PUSH1 0xf0 00003275: SHL 00003276: DUP2 00003277: MSTORE 00003278: PUSH1 0x02 0000327a: DUP2 0000327b: ADD 0000327c: SWAP3 0000327d: SWAP1 0000327e: SWAP3 0000327f: MSTORE 00003280: PUSH1 0x22 00003282: DUP3 00003283: ADD 00003284: MSTORE 00003285: PUSH1 0x42 00003287: SWAP1 00003288: KECCAK256 00003289: SWAP1 0000328a: JUMP 0000328b: JUMPDEST 0000328c: PUSH0 0000328d: DUP1 0000328e: PUSH0 0000328f: PUSH2 0x3298 00003292: DUP6 00003293: DUP6 00003294: PUSH2 0x3da3 00003297: JUMP 00003298: JUMPDEST 00003299: POP 0000329a: SWAP1 0000329b: SWAP3 0000329c: POP 0000329d: SWAP1 0000329e: POP 0000329f: PUSH0 000032a0: DUP2 000032a1: PUSH1 0x03 000032a3: DUP2 000032a4: GT 000032a5: ISZERO 000032a6: PUSH2 0x32b1 000032a9: JUMPI 000032aa: PUSH2 0x32b1 000032ad: PUSH2 0x5781 000032b0: JUMP 000032b1: JUMPDEST 000032b2: EQ 000032b3: DUP1 000032b4: ISZERO 000032b5: PUSH2 0x32cf 000032b8: JUMPI 000032b9: POP 000032ba: DUP6 000032bb: PUSH1 0x01 000032bd: PUSH1 0x01 000032bf: PUSH1 0xa0 000032c1: SHL 000032c2: SUB 000032c3: AND 000032c4: DUP3 000032c5: PUSH1 0x01 000032c7: PUSH1 0x01 000032c9: PUSH1 0xa0 000032cb: SHL 000032cc: SUB 000032cd: AND 000032ce: EQ 000032cf: JUMPDEST 000032d0: DUP1 000032d1: PUSH2 0x32e0 000032d4: JUMPI 000032d5: POP 000032d6: PUSH2 0x32e0 000032d9: DUP7 000032da: DUP7 000032db: DUP7 000032dc: PUSH2 0x3dec 000032df: JUMP 000032e0: JUMPDEST 000032e1: SWAP7 000032e2: SWAP6 000032e3: POP 000032e4: POP 000032e5: POP 000032e6: POP 000032e7: POP 000032e8: POP 000032e9: JUMP 000032ea: JUMPDEST 000032eb: PUSH0 000032ec: DUP1 000032ed: PUSH0 000032ee: DUP1 000032ef: PUSH2 0x32f8 000032f2: DUP7 000032f3: DUP7 000032f4: PUSH2 0x3da3 000032f7: JUMP 000032f8: JUMPDEST 000032f9: SWAP3 000032fa: POP 000032fb: SWAP3 000032fc: POP 000032fd: SWAP3 000032fe: POP 000032ff: PUSH2 0x3308 00003302: DUP3 00003303: DUP3 00003304: PUSH2 0x3ec2 00003307: JUMP 00003308: JUMPDEST 00003309: POP 0000330a: SWAP1 0000330b: SWAP5 0000330c: SWAP4 0000330d: POP 0000330e: POP 0000330f: POP 00003310: POP 00003311: JUMP 00003312: JUMPDEST 00003313: PUSH1 0x03 00003315: SLOAD 00003316: PUSH1 0x80 00003318: SHL 00003319: PUSH1 0x01 0000331b: PUSH1 0x01 0000331d: PUSH1 0x80 0000331f: SHL 00003320: SUB 00003321: NOT 00003322: AND 00003323: PUSH2 0x332f 00003326: PUSH1 0x20 00003328: DUP11 00003329: ADD 0000332a: DUP11 0000332b: PUSH2 0x5308 0000332e: JUMP 0000332f: JUMPDEST 00003330: PUSH1 0x01 00003332: PUSH1 0x01 00003334: PUSH1 0x80 00003336: SHL 00003337: SUB 00003338: NOT 00003339: AND 0000333a: EQ 0000333b: PUSH2 0x334b 0000333e: JUMPI 0000333f: PUSH2 0x1f51 00003342: PUSH1 0x20 00003344: DUP10 00003345: ADD 00003346: DUP10 00003347: PUSH2 0x5308 0000334a: JUMP 0000334b: JUMPDEST 0000334c: DUP8 0000334d: PUSH1 0xc0 0000334f: ADD 00003350: CALLDATALOAD 00003351: TIMESTAMP 00003352: LT 00003353: PUSH2 0x3375 00003356: JUMPI 00003357: PUSH1 0x40 00003359: MLOAD 0000335a: PUSH4 0x0f5f3b23 0000335f: PUSH1 0xe4 00003361: SHL 00003362: DUP2 00003363: MSTORE 00003364: PUSH1 0xc0 00003366: DUP10 00003367: ADD 00003368: CALLDATALOAD 00003369: PUSH1 0x04 0000336b: DUP3 0000336c: ADD 0000336d: MSTORE 0000336e: PUSH1 0x24 00003370: ADD 00003371: PUSH2 0x14fa 00003374: JUMP 00003375: JUMPDEST 00003376: PUSH0 00003377: PUSH2 0x338a 0000337a: DUP5 0000337b: PUSH1 0x40 0000337d: MLOAD 0000337e: PUSH1 0x20 00003380: ADD 00003381: PUSH2 0x27e8 00003384: SWAP2 00003385: SWAP1 00003386: PUSH2 0x5795 00003389: JUMP 0000338a: JUMPDEST 0000338b: SWAP1 0000338c: POP 0000338d: PUSH0 0000338e: PUSH2 0x3398 00003391: DUP5 00003392: DUP5 00003393: DUP5 00003394: PUSH2 0x3f7a 00003397: JUMP 00003398: JUMPDEST 00003399: SWAP1 0000339a: POP 0000339b: PUSH1 0x0a 0000339d: SLOAD 0000339e: DUP2 0000339f: EQ 000033a0: PUSH2 0x33d1 000033a3: JUMPI 000033a4: PUSH1 0x0a 000033a6: SLOAD 000033a7: PUSH1 0x40 000033a9: MLOAD 000033aa: PUSH4 0x117cd02b 000033af: PUSH1 0xe0 000033b1: SHL 000033b2: DUP2 000033b3: MSTORE 000033b4: PUSH1 0x04 000033b6: DUP2 000033b7: ADD 000033b8: DUP5 000033b9: SWAP1 000033ba: MSTORE 000033bb: PUSH1 0x24 000033bd: DUP2 000033be: ADD 000033bf: DUP4 000033c0: SWAP1 000033c1: MSTORE 000033c2: PUSH1 0x44 000033c4: DUP2 000033c5: ADD 000033c6: SWAP2 000033c7: SWAP1 000033c8: SWAP2 000033c9: MSTORE 000033ca: PUSH1 0x64 000033cc: ADD 000033cd: PUSH2 0x14fa 000033d0: JUMP 000033d1: JUMPDEST 000033d2: POP 000033d3: PUSH0 000033d4: SWAP1 000033d5: POP 000033d6: PUSH2 0x33f4 000033d9: PUSH2 0x33e7 000033dc: CALLDATASIZE 000033dd: DUP12 000033de: SWAP1 000033df: SUB 000033e0: DUP12 000033e1: ADD 000033e2: DUP12 000033e3: PUSH2 0x581a 000033e6: JUMP 000033e7: JUMPDEST 000033e8: PUSH2 0x33ef 000033eb: PUSH2 0x31bd 000033ee: JUMP 000033ef: JUMPDEST 000033f0: PUSH2 0x3fb2 000033f3: JUMP 000033f4: JUMPDEST 000033f5: PUSH1 0x02 000033f7: SLOAD 000033f8: SWAP1 000033f9: SWAP2 000033fa: POP 000033fb: PUSH1 0x01 000033fd: PUSH1 0xa8 000033ff: SHL 00003400: SWAP1 00003401: DIV 00003402: PUSH1 0xff 00003404: AND 00003405: ISZERO 00003406: DUP1 00003407: ISZERO 00003408: PUSH2 0x345d 0000340b: JUMPI 0000340c: POP 0000340d: PUSH2 0x345b 00003410: PUSH2 0x341f 00003413: PUSH1 0x40 00003415: DUP7 00003416: ADD 00003417: PUSH1 0x20 00003419: DUP8 0000341a: ADD 0000341b: PUSH2 0x4e39 0000341e: JUMP 0000341f: JUMPDEST 00003420: DUP3 00003421: DUP11 00003422: DUP11 00003423: DUP1 00003424: DUP1 00003425: PUSH1 0x1f 00003427: ADD 00003428: PUSH1 0x20 0000342a: DUP1 0000342b: SWAP2 0000342c: DIV 0000342d: MUL 0000342e: PUSH1 0x20 00003430: ADD 00003431: PUSH1 0x40 00003433: MLOAD 00003434: SWAP1 00003435: DUP2 00003436: ADD 00003437: PUSH1 0x40 00003439: MSTORE 0000343a: DUP1 0000343b: SWAP4 0000343c: SWAP3 0000343d: SWAP2 0000343e: SWAP1 0000343f: DUP2 00003440: DUP2 00003441: MSTORE 00003442: PUSH1 0x20 00003444: ADD 00003445: DUP4 00003446: DUP4 00003447: DUP1 00003448: DUP3 00003449: DUP5 0000344a: CALLDATACOPY 0000344b: PUSH0 0000344c: SWAP3 0000344d: ADD 0000344e: SWAP2 0000344f: SWAP1 00003450: SWAP2 00003451: MSTORE 00003452: POP 00003453: PUSH2 0x328b 00003456: SWAP3 00003457: POP 00003458: POP 00003459: POP 0000345a: JUMP 0000345b: JUMPDEST 0000345c: ISZERO 0000345d: JUMPDEST 0000345e: ISZERO 0000345f: PUSH2 0x34e1 00003462: JUMPI 00003463: PUSH0 00003464: PUSH2 0x34a2 00003467: DUP3 00003468: DUP11 00003469: DUP11 0000346a: DUP1 0000346b: DUP1 0000346c: PUSH1 0x1f 0000346e: ADD 0000346f: PUSH1 0x20 00003471: DUP1 00003472: SWAP2 00003473: DIV 00003474: MUL 00003475: PUSH1 0x20 00003477: ADD 00003478: PUSH1 0x40 0000347a: MLOAD 0000347b: SWAP1 0000347c: DUP2 0000347d: ADD 0000347e: PUSH1 0x40 00003480: MSTORE 00003481: DUP1 00003482: SWAP4 00003483: SWAP3 00003484: SWAP2 00003485: SWAP1 00003486: DUP2 00003487: DUP2 00003488: MSTORE 00003489: PUSH1 0x20 0000348b: ADD 0000348c: DUP4 0000348d: DUP4 0000348e: DUP1 0000348f: DUP3 00003490: DUP5 00003491: CALLDATACOPY 00003492: PUSH0 00003493: SWAP3 00003494: ADD 00003495: SWAP2 00003496: SWAP1 00003497: SWAP2 00003498: MSTORE 00003499: POP 0000349a: PUSH2 0x32ea 0000349d: SWAP3 0000349e: POP 0000349f: POP 000034a0: POP 000034a1: JUMP 000034a2: JUMPDEST 000034a3: SWAP1 000034a4: POP 000034a5: DUP1 000034a6: PUSH2 0x34b5 000034a9: PUSH1 0x40 000034ab: DUP8 000034ac: ADD 000034ad: PUSH1 0x20 000034af: DUP9 000034b0: ADD 000034b1: PUSH2 0x4e39 000034b4: JUMP 000034b5: JUMPDEST 000034b6: PUSH1 0x40 000034b8: MLOAD 000034b9: PUSH4 0x1fb7a3a3 000034be: PUSH1 0xe0 000034c0: SHL 000034c1: DUP2 000034c2: MSTORE 000034c3: PUSH1 0x01 000034c5: PUSH1 0x01 000034c7: PUSH1 0xa0 000034c9: SHL 000034ca: SUB 000034cb: SWAP3 000034cc: DUP4 000034cd: AND 000034ce: PUSH1 0x04 000034d0: DUP3 000034d1: ADD 000034d2: MSTORE 000034d3: SWAP2 000034d4: AND 000034d5: PUSH1 0x24 000034d7: DUP3 000034d8: ADD 000034d9: MSTORE 000034da: PUSH1 0x44 000034dc: ADD 000034dd: PUSH2 0x14fa 000034e0: JUMP 000034e1: JUMPDEST 000034e2: PUSH0 000034e3: PUSH2 0x3521 000034e6: DUP3 000034e7: DUP9 000034e8: DUP9 000034e9: DUP1 000034ea: DUP1 000034eb: PUSH1 0x1f 000034ed: ADD 000034ee: PUSH1 0x20 000034f0: DUP1 000034f1: SWAP2 000034f2: DIV 000034f3: MUL 000034f4: PUSH1 0x20 000034f6: ADD 000034f7: PUSH1 0x40 000034f9: MLOAD 000034fa: SWAP1 000034fb: DUP2 000034fc: ADD 000034fd: PUSH1 0x40 000034ff: MSTORE 00003500: DUP1 00003501: SWAP4 00003502: SWAP3 00003503: SWAP2 00003504: SWAP1 00003505: DUP2 00003506: DUP2 00003507: MSTORE 00003508: PUSH1 0x20 0000350a: ADD 0000350b: DUP4 0000350c: DUP4 0000350d: DUP1 0000350e: DUP3 0000350f: DUP5 00003510: CALLDATACOPY 00003511: PUSH0 00003512: SWAP3 00003513: ADD 00003514: SWAP2 00003515: SWAP1 00003516: SWAP2 00003517: MSTORE 00003518: POP 00003519: PUSH2 0x32ea 0000351c: SWAP3 0000351d: POP 0000351e: POP 0000351f: POP 00003520: JUMP 00003521: JUMPDEST 00003522: SWAP1 00003523: POP 00003524: PUSH2 0x353a 00003527: PUSH0 00003528: DUP1 00003529: MLOAD 0000352a: PUSH1 0x20 0000352c: PUSH2 0x5afe 0000352f: DUP4 00003530: CODECOPY 00003531: DUP2 00003532: MLOAD 00003533: SWAP2 00003534: MSTORE 00003535: DUP3 00003536: PUSH2 0x1921 00003539: JUMP 0000353a: JUMPDEST 0000353b: PUSH2 0x3562 0000353e: JUMPI 0000353f: PUSH1 0x40 00003541: MLOAD 00003542: PUSH4 0x01120d51 00003547: PUSH1 0xe3 00003549: SHL 0000354a: DUP2 0000354b: MSTORE 0000354c: PUSH1 0x01 0000354e: PUSH1 0x01 00003550: PUSH1 0xa0 00003552: SHL 00003553: SUB 00003554: DUP3 00003555: AND 00003556: PUSH1 0x04 00003558: DUP3 00003559: ADD 0000355a: MSTORE 0000355b: PUSH1 0x24 0000355d: ADD 0000355e: PUSH2 0x14fa 00003561: JUMP 00003562: JUMPDEST 00003563: POP 00003564: PUSH0 00003565: SWAP1 00003566: POP 00003567: PUSH1 0x08 00003569: DUP2 0000356a: PUSH2 0x3579 0000356d: PUSH1 0x40 0000356f: DUP13 00003570: ADD 00003571: PUSH1 0x20 00003573: DUP14 00003574: ADD 00003575: PUSH2 0x5308 00003578: JUMP 00003579: JUMPDEST 0000357a: PUSH1 0x01 0000357c: PUSH1 0x01 0000357e: PUSH1 0x80 00003580: SHL 00003581: SUB 00003582: NOT 00003583: AND 00003584: PUSH1 0x01 00003586: PUSH1 0x01 00003588: PUSH1 0x80 0000358a: SHL 0000358b: SUB 0000358c: NOT 0000358d: AND 0000358e: DUP2 0000358f: MSTORE 00003590: PUSH1 0x20 00003592: ADD 00003593: SWAP1 00003594: DUP2 00003595: MSTORE 00003596: PUSH1 0x20 00003598: ADD 00003599: PUSH0 0000359a: KECCAK256 0000359b: SWAP1 0000359c: POP 0000359d: PUSH0 0000359e: PUSH2 0x35c9 000035a1: DUP11 000035a2: PUSH1 0x20 000035a4: ADD 000035a5: PUSH1 0x20 000035a7: DUP2 000035a8: ADD 000035a9: SWAP1 000035aa: PUSH2 0x35b3 000035ad: SWAP2 000035ae: SWAP1 000035af: PUSH2 0x5308 000035b2: JUMP 000035b3: JUMPDEST 000035b4: PUSH2 0x35c3 000035b7: PUSH1 0x80 000035b9: DUP9 000035ba: ADD 000035bb: PUSH1 0x60 000035bd: DUP10 000035be: ADD 000035bf: PUSH2 0x533b 000035c2: JUMP 000035c3: JUMPDEST 000035c4: PUSH0 000035c5: PUSH2 0x2c0c 000035c8: JUMP 000035c9: JUMPDEST 000035ca: SWAP1 000035cb: POP 000035cc: DUP1 000035cd: DUP11 000035ce: PUSH1 0x60 000035d0: ADD 000035d1: CALLDATALOAD 000035d2: GT 000035d3: ISZERO 000035d4: PUSH2 0x35fd 000035d7: JUMPI 000035d8: PUSH1 0x40 000035da: MLOAD 000035db: PUSH4 0x72b4ba41 000035e0: PUSH1 0xe1 000035e2: SHL 000035e3: DUP2 000035e4: MSTORE 000035e5: PUSH1 0x60 000035e7: DUP12 000035e8: ADD 000035e9: CALLDATALOAD 000035ea: PUSH1 0x04 000035ec: DUP3 000035ed: ADD 000035ee: MSTORE 000035ef: PUSH1 0x24 000035f1: DUP2 000035f2: ADD 000035f3: DUP3 000035f4: SWAP1 000035f5: MSTORE 000035f6: PUSH1 0x44 000035f8: ADD 000035f9: PUSH2 0x14fa 000035fc: JUMP 000035fd: JUMPDEST 000035fe: POP 000035ff: PUSH0 00003600: PUSH2 0x3619 00003603: PUSH1 0x60 00003605: DUP12 00003606: ADD 00003607: CALLDATALOAD 00003608: PUSH2 0x313d 0000360b: CALLDATASIZE 0000360c: DUP14 0000360d: SWAP1 0000360e: SUB 0000360f: DUP14 00003610: ADD 00003611: PUSH1 0x80 00003613: DUP15 00003614: ADD 00003615: PUSH2 0x5767 00003618: JUMP 00003619: JUMPDEST 0000361a: SWAP1 0000361b: POP 0000361c: PUSH0 0000361d: PUSH2 0x3666 00003620: PUSH2 0x362f 00003623: PUSH1 0x40 00003625: DUP14 00003626: ADD 00003627: PUSH1 0x20 00003629: DUP15 0000362a: ADD 0000362b: PUSH2 0x5308 0000362e: JUMP 0000362f: JUMPDEST 00003630: PUSH2 0x363f 00003633: PUSH1 0x60 00003635: DUP10 00003636: ADD 00003637: PUSH1 0x40 00003639: DUP11 0000363a: ADD 0000363b: PUSH2 0x533b 0000363e: JUMP 0000363f: JUMPDEST 00003640: PUSH1 0x01 00003642: PUSH1 0x01 00003644: PUSH1 0x40 00003646: SHL 00003647: SUB 00003648: AND 00003649: PUSH2 0x3658 0000364c: PUSH1 0xa0 0000364e: DUP11 0000364f: ADD 00003650: PUSH1 0x80 00003652: DUP12 00003653: ADD 00003654: PUSH2 0x4cd8 00003657: JUMP 00003658: JUMPDEST 00003659: DUP15 0000365a: PUSH1 0x60 0000365c: ADD 0000365d: CALLDATALOAD 0000365e: DUP16 0000365f: PUSH1 0x80 00003661: ADD 00003662: PUSH2 0x311b 00003665: JUMP 00003666: JUMPDEST 00003667: SWAP1 00003668: POP 00003669: DUP11 0000366a: PUSH1 0x60 0000366c: ADD 0000366d: CALLDATALOAD 0000366e: DUP4 0000366f: PUSH0 00003670: ADD 00003671: PUSH0 00003672: DUP3 00003673: DUP3 00003674: SLOAD 00003675: PUSH2 0x367e 00003678: SWAP2 00003679: SWAP1 0000367a: PUSH2 0x54d7 0000367d: JUMP 0000367e: JUMPDEST 0000367f: SWAP1 00003680: SWAP2 00003681: SSTORE 00003682: POP 00003683: POP 00003684: PUSH1 0x01 00003686: DUP4 00003687: ADD 00003688: DUP1 00003689: SLOAD 0000368a: DUP4 0000368b: SWAP2 0000368c: SWAP1 0000368d: PUSH0 0000368e: SWAP1 0000368f: PUSH2 0x36a2 00003692: SWAP1 00003693: DUP5 00003694: SWAP1 00003695: PUSH1 0x01 00003697: PUSH1 0x01 00003699: PUSH1 0x40 0000369b: SHL 0000369c: SUB 0000369d: AND 0000369e: PUSH2 0x5606 000036a1: JUMP 000036a2: JUMPDEST 000036a3: SWAP3 000036a4: POP 000036a5: PUSH2 0x0100 000036a8: EXP 000036a9: DUP2 000036aa: SLOAD 000036ab: DUP2 000036ac: PUSH1 0x01 000036ae: PUSH1 0x01 000036b0: PUSH1 0x40 000036b2: SHL 000036b3: SUB 000036b4: MUL 000036b5: NOT 000036b6: AND 000036b7: SWAP1 000036b8: DUP4 000036b9: PUSH1 0x01 000036bb: PUSH1 0x01 000036bd: PUSH1 0x40 000036bf: SHL 000036c0: SUB 000036c1: AND 000036c2: MUL 000036c3: OR 000036c4: SWAP1 000036c5: SSTORE 000036c6: POP 000036c7: DUP11 000036c8: PUSH1 0x60 000036ca: ADD 000036cb: CALLDATALOAD 000036cc: PUSH1 0x04 000036ce: PUSH0 000036cf: DUP3 000036d0: DUP3 000036d1: SLOAD 000036d2: PUSH2 0x36db 000036d5: SWAP2 000036d6: SWAP1 000036d7: PUSH2 0x54d7 000036da: JUMP 000036db: JUMPDEST 000036dc: SWAP3 000036dd: POP 000036de: POP 000036df: DUP2 000036e0: SWAP1 000036e1: SSTORE 000036e2: POP 000036e3: DUP1 000036e4: PUSH1 0x05 000036e6: PUSH0 000036e7: DUP3 000036e8: DUP3 000036e9: SLOAD 000036ea: PUSH2 0x36f3 000036ed: SWAP2 000036ee: SWAP1 000036ef: PUSH2 0x54d7 000036f2: JUMP 000036f3: JUMPDEST 000036f4: SWAP1 000036f5: SWAP2 000036f6: SSTORE 000036f7: POP 000036f8: PUSH2 0x3709 000036fb: SWAP1 000036fc: POP 000036fd: PUSH1 0x60 000036ff: DUP13 00003700: ADD 00003701: PUSH1 0x40 00003703: DUP14 00003704: ADD 00003705: PUSH2 0x4e39 00003708: JUMP 00003709: JUMPDEST 0000370a: PUSH1 0x01 0000370c: PUSH1 0x01 0000370e: PUSH1 0xa0 00003710: SHL 00003711: SUB 00003712: AND 00003713: PUSH2 0x3722 00003716: PUSH1 0x40 00003718: DUP14 00003719: ADD 0000371a: PUSH1 0x20 0000371c: DUP15 0000371d: ADD 0000371e: PUSH2 0x5308 00003721: JUMP 00003722: JUMPDEST 00003723: PUSH1 0x01 00003725: PUSH1 0x01 00003727: PUSH1 0x80 00003729: SHL 0000372a: SUB 0000372b: NOT 0000372c: AND 0000372d: PUSH1 0x03 0000372f: PUSH0 00003730: SWAP1 00003731: SLOAD 00003732: SWAP1 00003733: PUSH2 0x0100 00003736: EXP 00003737: SWAP1 00003738: DIV 00003739: PUSH1 0x80 0000373b: SHL 0000373c: PUSH1 0x01 0000373e: PUSH1 0x01 00003740: PUSH1 0x80 00003742: SHL 00003743: SUB 00003744: NOT 00003745: AND 00003746: PUSH32 0xddc469e1e78b774ed8fa261ecf2cb0081b304697ade1665e57a5e2d627134375 00003767: DUP15 00003768: PUSH1 0x60 0000376a: ADD 0000376b: CALLDATALOAD 0000376c: DUP7 0000376d: DUP7 0000376e: PUSH1 0x40 00003770: MLOAD 00003771: PUSH2 0x378d 00003774: SWAP4 00003775: SWAP3 00003776: SWAP2 00003777: SWAP1 00003778: SWAP3 00003779: DUP4 0000377a: MSTORE 0000377b: PUSH1 0x20 0000377d: DUP4 0000377e: ADD 0000377f: SWAP2 00003780: SWAP1 00003781: SWAP2 00003782: MSTORE 00003783: PUSH1 0x40 00003785: DUP3 00003786: ADD 00003787: MSTORE 00003788: PUSH1 0x60 0000378a: ADD 0000378b: SWAP1 0000378c: JUMP 0000378d: JUMPDEST 0000378e: PUSH1 0x40 00003790: MLOAD 00003791: DUP1 00003792: SWAP2 00003793: SUB 00003794: SWAP1 00003795: LOG4 00003796: PUSH2 0x37c9 00003799: PUSH2 0x37a8 0000379c: PUSH1 0x60 0000379e: DUP14 0000379f: ADD 000037a0: PUSH1 0x40 000037a2: DUP15 000037a3: ADD 000037a4: PUSH2 0x4e39 000037a7: JUMP 000037a8: JUMPDEST 000037a9: PUSH2 0x37b6 000037ac: DUP4 000037ad: PUSH1 0x60 000037af: DUP16 000037b0: ADD 000037b1: CALLDATALOAD 000037b2: PUSH2 0x56ad 000037b5: JUMP 000037b6: JUMPDEST 000037b7: PUSH1 0x02 000037b9: SLOAD 000037ba: PUSH1 0x01 000037bc: PUSH1 0x01 000037be: PUSH1 0xa0 000037c0: SHL 000037c1: SUB 000037c2: AND 000037c3: SWAP2 000037c4: SWAP1 000037c5: PUSH2 0x2fc0 000037c8: JUMP 000037c9: JUMPDEST 000037ca: POP 000037cb: POP 000037cc: POP 000037cd: POP 000037ce: POP 000037cf: POP 000037d0: POP 000037d1: POP 000037d2: POP 000037d3: POP 000037d4: POP 000037d5: JUMP 000037d6: JUMPDEST 000037d7: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 000037f8: SLOAD 000037f9: PUSH1 0x01 000037fb: PUSH1 0x40 000037fd: SHL 000037fe: SWAP1 000037ff: DIV 00003800: PUSH1 0xff 00003802: AND 00003803: PUSH2 0x1080 00003806: JUMPI 00003807: PUSH1 0x40 00003809: MLOAD 0000380a: PUSH4 0x1afcd79f 0000380f: PUSH1 0xe3 00003811: SHL 00003812: DUP2 00003813: MSTORE 00003814: PUSH1 0x04 00003816: ADD 00003817: PUSH1 0x40 00003819: MLOAD 0000381a: DUP1 0000381b: SWAP2 0000381c: SUB 0000381d: SWAP1 0000381e: REVERT 0000381f: JUMPDEST 00003820: PUSH2 0x3827 00003823: PUSH2 0x37d6 00003826: JUMP 00003827: JUMPDEST 00003828: PUSH0 00003829: DUP1 0000382a: MLOAD 0000382b: PUSH1 0x20 0000382d: PUSH2 0x5a9e 00003830: DUP4 00003831: CODECOPY 00003832: DUP2 00003833: MLOAD 00003834: SWAP2 00003835: MSTORE 00003836: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102 00003857: PUSH2 0x3860 0000385a: DUP5 0000385b: DUP3 0000385c: PUSH2 0x58f7 0000385f: JUMP 00003860: JUMPDEST 00003861: POP 00003862: PUSH1 0x03 00003864: DUP2 00003865: ADD 00003866: PUSH2 0x386f 00003869: DUP4 0000386a: DUP3 0000386b: PUSH2 0x58f7 0000386e: JUMP 0000386f: JUMPDEST 00003870: POP 00003871: PUSH0 00003872: DUP1 00003873: DUP3 00003874: SSTORE 00003875: PUSH1 0x01 00003877: SWAP1 00003878: SWAP2 00003879: ADD 0000387a: SSTORE 0000387b: POP 0000387c: POP 0000387d: JUMP 0000387e: JUMPDEST 0000387f: PUSH0 00003880: PUSH0 00003881: DUP1 00003882: MLOAD 00003883: PUSH1 0x20 00003885: PUSH2 0x5b1e 00003888: DUP4 00003889: CODECOPY 0000388a: DUP2 0000388b: MLOAD 0000388c: SWAP2 0000388d: MSTORE 0000388e: PUSH2 0x3897 00003891: DUP5 00003892: DUP5 00003893: PUSH2 0x1921 00003896: JUMP 00003897: JUMPDEST 00003898: PUSH2 0x3916 0000389b: JUMPI 0000389c: PUSH0 0000389d: DUP5 0000389e: DUP2 0000389f: MSTORE 000038a0: PUSH1 0x20 000038a2: DUP3 000038a3: DUP2 000038a4: MSTORE 000038a5: PUSH1 0x40 000038a7: DUP1 000038a8: DUP4 000038a9: KECCAK256 000038aa: PUSH1 0x01 000038ac: PUSH1 0x01 000038ae: PUSH1 0xa0 000038b0: SHL 000038b1: SUB 000038b2: DUP8 000038b3: AND 000038b4: DUP5 000038b5: MSTORE 000038b6: SWAP1 000038b7: SWAP2 000038b8: MSTORE 000038b9: SWAP1 000038ba: KECCAK256 000038bb: DUP1 000038bc: SLOAD 000038bd: PUSH1 0xff 000038bf: NOT 000038c0: AND 000038c1: PUSH1 0x01 000038c3: OR 000038c4: SWAP1 000038c5: SSTORE 000038c6: PUSH2 0x38cc 000038c9: CALLER 000038ca: SWAP1 000038cb: JUMP 000038cc: JUMPDEST 000038cd: PUSH1 0x01 000038cf: PUSH1 0x01 000038d1: PUSH1 0xa0 000038d3: SHL 000038d4: SUB 000038d5: AND 000038d6: DUP4 000038d7: PUSH1 0x01 000038d9: PUSH1 0x01 000038db: PUSH1 0xa0 000038dd: SHL 000038de: SUB 000038df: AND 000038e0: DUP6 000038e1: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 00003902: PUSH1 0x40 00003904: MLOAD 00003905: PUSH1 0x40 00003907: MLOAD 00003908: DUP1 00003909: SWAP2 0000390a: SUB 0000390b: SWAP1 0000390c: LOG4 0000390d: PUSH1 0x01 0000390f: SWAP2 00003910: POP 00003911: POP 00003912: PUSH2 0x0998 00003915: JUMP 00003916: JUMPDEST 00003917: PUSH0 00003918: SWAP2 00003919: POP 0000391a: POP 0000391b: PUSH2 0x0998 0000391e: JUMP 0000391f: JUMPDEST 00003920: POP 00003921: SWAP3 00003922: SWAP2 00003923: POP 00003924: POP 00003925: JUMP 00003926: JUMPDEST 00003927: PUSH0 00003928: PUSH2 0x1cb2 0000392b: DUP4 0000392c: PUSH1 0x01 0000392e: PUSH1 0x01 00003930: PUSH1 0xa0 00003932: SHL 00003933: SUB 00003934: DUP5 00003935: AND 00003936: PUSH2 0x40d2 00003939: JUMP 0000393a: JUMPDEST 0000393b: PUSH0 0000393c: DUP2 0000393d: MLOAD 0000393e: PUSH0 0000393f: SUB 00003940: PUSH2 0x394a 00003943: JUMPI 00003944: POP 00003945: PUSH0 00003946: SWAP2 00003947: SWAP1 00003948: POP 00003949: JUMP 0000394a: JUMPDEST 0000394b: PUSH2 0x3955 0000394e: DUP3 0000394f: PUSH1 0x01 00003951: PUSH2 0x411e 00003954: JUMP 00003955: JUMPDEST 00003956: SWAP2 00003957: POP 00003958: JUMPDEST 00003959: PUSH1 0x01 0000395b: DUP3 0000395c: MLOAD 0000395d: GT 0000395e: ISZERO 0000395f: PUSH2 0x3974 00003962: JUMPI 00003963: PUSH2 0x396d 00003966: DUP3 00003967: PUSH1 0x01 00003969: PUSH2 0x411e 0000396c: JUMP 0000396d: JUMPDEST 0000396e: SWAP2 0000396f: POP 00003970: PUSH2 0x3958 00003973: JUMP 00003974: JUMPDEST 00003975: DUP2 00003976: PUSH0 00003977: DUP2 00003978: MLOAD 00003979: DUP2 0000397a: LT 0000397b: PUSH2 0x3986 0000397e: JUMPI 0000397f: PUSH2 0x3986 00003982: PUSH2 0x52f4 00003985: JUMP 00003986: JUMPDEST 00003987: PUSH1 0x20 00003989: MUL 0000398a: PUSH1 0x20 0000398c: ADD 0000398d: ADD 0000398e: MLOAD 0000398f: SWAP1 00003990: POP 00003991: SWAP2 00003992: SWAP1 00003993: POP 00003994: JUMP 00003995: JUMPDEST 00003996: PUSH2 0x399f 00003999: DUP3 0000399a: DUP3 0000399b: PUSH2 0x1921 0000399e: JUMP 0000399f: JUMPDEST 000039a0: PUSH2 0x0f1a 000039a3: JUMPI 000039a4: PUSH1 0x40 000039a6: MLOAD 000039a7: PUSH4 0xe2517d3f 000039ac: PUSH1 0xe0 000039ae: SHL 000039af: DUP2 000039b0: MSTORE 000039b1: PUSH1 0x01 000039b3: PUSH1 0x01 000039b5: PUSH1 0xa0 000039b7: SHL 000039b8: SUB 000039b9: DUP3 000039ba: AND 000039bb: PUSH1 0x04 000039bd: DUP3 000039be: ADD 000039bf: MSTORE 000039c0: PUSH1 0x24 000039c2: DUP2 000039c3: ADD 000039c4: DUP4 000039c5: SWAP1 000039c6: MSTORE 000039c7: PUSH1 0x44 000039c9: ADD 000039ca: PUSH2 0x14fa 000039cd: JUMP 000039ce: JUMPDEST 000039cf: DUP1 000039d0: MLOAD 000039d1: PUSH0 000039d2: SWAP1 000039d3: PUSH1 0x01 000039d5: PUSH1 0x01 000039d7: PUSH1 0xa0 000039d9: SHL 000039da: SUB 000039db: AND 000039dc: PUSH2 0x39e6 000039df: JUMPI 000039e0: POP 000039e1: PUSH0 000039e2: SWAP2 000039e3: SWAP1 000039e4: POP 000039e5: JUMP 000039e6: JUMPDEST 000039e7: PUSH1 0x20 000039e9: DUP3 000039ea: ADD 000039eb: MLOAD 000039ec: PUSH1 0x01 000039ee: PUSH1 0x01 000039f0: PUSH1 0xd0 000039f2: SHL 000039f3: SUB 000039f4: NOT 000039f5: AND 000039f6: PUSH6 0x7bb7577aaf57 000039fd: PUSH1 0xd1 000039ff: SHL 00003a00: ADD 00003a01: PUSH2 0x3a67 00003a04: JUMPI 00003a05: DUP2 00003a06: PUSH0 00003a07: ADD 00003a08: MLOAD 00003a09: PUSH1 0x01 00003a0b: PUSH1 0x01 00003a0d: PUSH1 0xa0 00003a0f: SHL 00003a10: SUB 00003a11: AND 00003a12: PUSH4 0xfbccedae 00003a17: PUSH1 0x40 00003a19: MLOAD 00003a1a: DUP2 00003a1b: PUSH4 0xffffffff 00003a20: AND 00003a21: PUSH1 0xe0 00003a23: SHL 00003a24: DUP2 00003a25: MSTORE 00003a26: PUSH1 0x04 00003a28: ADD 00003a29: PUSH1 0x20 00003a2b: PUSH1 0x40 00003a2d: MLOAD 00003a2e: DUP1 00003a2f: DUP4 00003a30: SUB 00003a31: DUP2 00003a32: DUP7 00003a33: GAS 00003a34: STATICCALL 00003a35: ISZERO 00003a36: DUP1 00003a37: ISZERO 00003a38: PUSH2 0x3a43 00003a3b: JUMPI 00003a3c: RETURNDATASIZE 00003a3d: PUSH0 00003a3e: DUP1 00003a3f: RETURNDATACOPY 00003a40: RETURNDATASIZE 00003a41: PUSH0 00003a42: REVERT 00003a43: JUMPDEST 00003a44: POP 00003a45: POP 00003a46: POP 00003a47: POP 00003a48: PUSH1 0x40 00003a4a: MLOAD 00003a4b: RETURNDATASIZE 00003a4c: PUSH1 0x1f 00003a4e: NOT 00003a4f: PUSH1 0x1f 00003a51: DUP3 00003a52: ADD 00003a53: AND 00003a54: DUP3 00003a55: ADD 00003a56: DUP1 00003a57: PUSH1 0x40 00003a59: MSTORE 00003a5a: POP 00003a5b: DUP2 00003a5c: ADD 00003a5d: SWAP1 00003a5e: PUSH2 0x0998 00003a61: SWAP2 00003a62: SWAP1 00003a63: PUSH2 0x56c0 00003a66: JUMP 00003a67: JUMPDEST 00003a68: PUSH1 0x20 00003a6a: DUP3 00003a6b: ADD 00003a6c: MLOAD 00003a6d: PUSH1 0x01 00003a6f: PUSH1 0x01 00003a71: PUSH1 0xd0 00003a73: SHL 00003a74: SUB 00003a75: NOT 00003a76: AND 00003a77: PUSH6 0xb275294801e5 00003a7e: PUSH1 0xd0 00003a80: SHL 00003a81: ADD 00003a82: PUSH2 0x3aca 00003a85: JUMPI 00003a86: DUP2 00003a87: MLOAD 00003a88: PUSH1 0x40 00003a8a: MLOAD 00003a8b: PUSH4 0x70a08231 00003a90: PUSH1 0xe0 00003a92: SHL 00003a93: DUP2 00003a94: MSTORE 00003a95: ADDRESS 00003a96: PUSH1 0x04 00003a98: DUP3 00003a99: ADD 00003a9a: MSTORE 00003a9b: PUSH1 0x01 00003a9d: PUSH1 0x01 00003a9f: PUSH1 0xa0 00003aa1: SHL 00003aa2: SUB 00003aa3: SWAP1 00003aa4: SWAP2 00003aa5: AND 00003aa6: SWAP1 00003aa7: PUSH4 0x70a08231 00003aac: SWAP1 00003aad: PUSH1 0x24 00003aaf: ADD 00003ab0: PUSH1 0x20 00003ab2: PUSH1 0x40 00003ab4: MLOAD 00003ab5: DUP1 00003ab6: DUP4 00003ab7: SUB 00003ab8: DUP2 00003ab9: DUP7 00003aba: GAS 00003abb: STATICCALL 00003abc: ISZERO 00003abd: DUP1 00003abe: ISZERO 00003abf: PUSH2 0x3a43 00003ac2: JUMPI 00003ac3: RETURNDATASIZE 00003ac4: PUSH0 00003ac5: DUP1 00003ac6: RETURNDATACOPY 00003ac7: RETURNDATASIZE 00003ac8: PUSH0 00003ac9: REVERT 00003aca: JUMPDEST 00003acb: PUSH1 0x20 00003acd: DUP3 00003ace: ADD 00003acf: MLOAD 00003ad0: PUSH1 0x40 00003ad2: MLOAD 00003ad3: PUSH4 0x084523c5 00003ad8: PUSH1 0xe1 00003ada: SHL 00003adb: DUP2 00003adc: MSTORE 00003add: PUSH1 0x01 00003adf: PUSH1 0x01 00003ae1: PUSH1 0xd0 00003ae3: SHL 00003ae4: SUB 00003ae5: NOT 00003ae6: SWAP1 00003ae7: SWAP2 00003ae8: AND 00003ae9: PUSH1 0x04 00003aeb: DUP3 00003aec: ADD 00003aed: MSTORE 00003aee: PUSH1 0x24 00003af0: ADD 00003af1: PUSH2 0x14fa 00003af4: JUMP 00003af5: JUMPDEST 00003af6: PUSH0 00003af7: DUP4 00003af8: DUP4 00003af9: MUL 00003afa: DUP2 00003afb: PUSH0 00003afc: NOT 00003afd: DUP6 00003afe: DUP8 00003aff: MULMOD 00003b00: DUP3 00003b01: DUP2 00003b02: LT 00003b03: DUP4 00003b04: DUP3 00003b05: SUB 00003b06: SUB 00003b07: SWAP2 00003b08: POP 00003b09: POP 00003b0a: DUP1 00003b0b: PUSH0 00003b0c: SUB 00003b0d: PUSH2 0x3b29 00003b10: JUMPI 00003b11: DUP4 00003b12: DUP3 00003b13: DUP2 00003b14: PUSH2 0x3b1f 00003b17: JUMPI 00003b18: PUSH2 0x3b1f 00003b1b: PUSH2 0x59b2 00003b1e: JUMP 00003b1f: JUMPDEST 00003b20: DIV 00003b21: SWAP3 00003b22: POP 00003b23: POP 00003b24: POP 00003b25: PUSH2 0x1cb2 00003b28: JUMP 00003b29: JUMPDEST 00003b2a: DUP1 00003b2b: DUP5 00003b2c: GT 00003b2d: PUSH2 0x3b49 00003b30: JUMPI 00003b31: PUSH1 0x40 00003b33: MLOAD 00003b34: PUSH4 0x227bc153 00003b39: PUSH1 0xe0 00003b3b: SHL 00003b3c: DUP2 00003b3d: MSTORE 00003b3e: PUSH1 0x04 00003b40: ADD 00003b41: PUSH1 0x40 00003b43: MLOAD 00003b44: DUP1 00003b45: SWAP2 00003b46: SUB 00003b47: SWAP1 00003b48: REVERT 00003b49: JUMPDEST 00003b4a: PUSH0 00003b4b: DUP5 00003b4c: DUP7 00003b4d: DUP9 00003b4e: MULMOD 00003b4f: PUSH0 00003b50: DUP7 00003b51: DUP2 00003b52: SUB 00003b53: DUP8 00003b54: AND 00003b55: SWAP7 00003b56: DUP8 00003b57: SWAP1 00003b58: DIV 00003b59: SWAP7 00003b5a: PUSH1 0x02 00003b5c: PUSH1 0x03 00003b5e: DUP10 00003b5f: MUL 00003b60: DUP2 00003b61: XOR 00003b62: DUP1 00003b63: DUP11 00003b64: MUL 00003b65: DUP3 00003b66: SUB 00003b67: MUL 00003b68: DUP1 00003b69: DUP11 00003b6a: MUL 00003b6b: DUP3 00003b6c: SUB 00003b6d: MUL 00003b6e: DUP1 00003b6f: DUP11 00003b70: MUL 00003b71: DUP3 00003b72: SUB 00003b73: MUL 00003b74: DUP1 00003b75: DUP11 00003b76: MUL 00003b77: DUP3 00003b78: SUB 00003b79: MUL 00003b7a: DUP1 00003b7b: DUP11 00003b7c: MUL 00003b7d: DUP3 00003b7e: SUB 00003b7f: MUL 00003b80: DUP1 00003b81: DUP11 00003b82: MUL 00003b83: SWAP1 00003b84: SWAP2 00003b85: SUB 00003b86: MUL 00003b87: SWAP2 00003b88: DUP2 00003b89: SWAP1 00003b8a: SUB 00003b8b: DUP2 00003b8c: SWAP1 00003b8d: DIV 00003b8e: PUSH1 0x01 00003b90: ADD 00003b91: DUP7 00003b92: DUP5 00003b93: GT 00003b94: SWAP1 00003b95: SWAP6 00003b96: SUB 00003b97: SWAP5 00003b98: SWAP1 00003b99: SWAP5 00003b9a: MUL 00003b9b: SWAP2 00003b9c: SWAP1 00003b9d: SWAP5 00003b9e: SUB 00003b9f: SWAP3 00003ba0: SWAP1 00003ba1: SWAP3 00003ba2: DIV 00003ba3: SWAP2 00003ba4: SWAP1 00003ba5: SWAP2 00003ba6: OR 00003ba7: SWAP2 00003ba8: SWAP1 00003ba9: SWAP2 00003baa: MUL 00003bab: SWAP2 00003bac: POP 00003bad: POP 00003bae: SWAP4 00003baf: SWAP3 00003bb0: POP 00003bb1: POP 00003bb2: POP 00003bb3: JUMP 00003bb4: JUMPDEST 00003bb5: PUSH0 00003bb6: PUSH0 00003bb7: DUP1 00003bb8: MLOAD 00003bb9: PUSH1 0x20 00003bbb: PUSH2 0x5b1e 00003bbe: DUP4 00003bbf: CODECOPY 00003bc0: DUP2 00003bc1: MLOAD 00003bc2: SWAP2 00003bc3: MSTORE 00003bc4: PUSH2 0x3bcd 00003bc7: DUP5 00003bc8: DUP5 00003bc9: PUSH2 0x1921 00003bcc: JUMP 00003bcd: JUMPDEST 00003bce: ISZERO 00003bcf: PUSH2 0x3916 00003bd2: JUMPI 00003bd3: PUSH0 00003bd4: DUP5 00003bd5: DUP2 00003bd6: MSTORE 00003bd7: PUSH1 0x20 00003bd9: DUP3 00003bda: DUP2 00003bdb: MSTORE 00003bdc: PUSH1 0x40 00003bde: DUP1 00003bdf: DUP4 00003be0: KECCAK256 00003be1: PUSH1 0x01 00003be3: PUSH1 0x01 00003be5: PUSH1 0xa0 00003be7: SHL 00003be8: SUB 00003be9: DUP8 00003bea: AND 00003beb: DUP1 00003bec: DUP6 00003bed: MSTORE 00003bee: SWAP3 00003bef: MSTORE 00003bf0: DUP1 00003bf1: DUP4 00003bf2: KECCAK256 00003bf3: DUP1 00003bf4: SLOAD 00003bf5: PUSH1 0xff 00003bf7: NOT 00003bf8: AND 00003bf9: SWAP1 00003bfa: SSTORE 00003bfb: MLOAD 00003bfc: CALLER 00003bfd: SWAP3 00003bfe: DUP8 00003bff: SWAP2 00003c00: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 00003c21: SWAP2 00003c22: SWAP1 00003c23: LOG4 00003c24: PUSH1 0x01 00003c26: SWAP2 00003c27: POP 00003c28: POP 00003c29: PUSH2 0x0998 00003c2c: JUMP 00003c2d: JUMPDEST 00003c2e: PUSH0 00003c2f: PUSH2 0x1cb2 00003c32: DUP4 00003c33: PUSH1 0x01 00003c35: PUSH1 0x01 00003c37: PUSH1 0xa0 00003c39: SHL 00003c3a: SUB 00003c3b: DUP5 00003c3c: AND 00003c3d: PUSH2 0x42be 00003c40: JUMP 00003c41: JUMPDEST 00003c42: PUSH0 00003c43: PUSH2 0x3c55 00003c46: PUSH1 0x01 00003c48: PUSH1 0x01 00003c4a: PUSH1 0xa0 00003c4c: SHL 00003c4d: SUB 00003c4e: DUP5 00003c4f: AND 00003c50: DUP4 00003c51: PUSH2 0x4398 00003c54: JUMP 00003c55: JUMPDEST 00003c56: SWAP1 00003c57: POP 00003c58: DUP1 00003c59: MLOAD 00003c5a: PUSH0 00003c5b: EQ 00003c5c: ISZERO 00003c5d: DUP1 00003c5e: ISZERO 00003c5f: PUSH2 0x3c79 00003c62: JUMPI 00003c63: POP 00003c64: DUP1 00003c65: DUP1 00003c66: PUSH1 0x20 00003c68: ADD 00003c69: SWAP1 00003c6a: MLOAD 00003c6b: DUP2 00003c6c: ADD 00003c6d: SWAP1 00003c6e: PUSH2 0x3c77 00003c71: SWAP2 00003c72: SWAP1 00003c73: PUSH2 0x59c6 00003c76: JUMP 00003c77: JUMPDEST 00003c78: ISZERO 00003c79: JUMPDEST 00003c7a: ISZERO 00003c7b: PUSH2 0x102b 00003c7e: JUMPI 00003c7f: PUSH1 0x40 00003c81: MLOAD 00003c82: PUSH4 0x5274afe7 00003c87: PUSH1 0xe0 00003c89: SHL 00003c8a: DUP2 00003c8b: MSTORE 00003c8c: PUSH1 0x01 00003c8e: PUSH1 0x01 00003c90: PUSH1 0xa0 00003c92: SHL 00003c93: SUB 00003c94: DUP5 00003c95: AND 00003c96: PUSH1 0x04 00003c98: DUP3 00003c99: ADD 00003c9a: MSTORE 00003c9b: PUSH1 0x24 00003c9d: ADD 00003c9e: PUSH2 0x14fa 00003ca1: JUMP 00003ca2: JUMPDEST 00003ca3: PUSH0 00003ca4: DUP3 00003ca5: PUSH0 00003ca6: ADD 00003ca7: DUP3 00003ca8: DUP2 00003ca9: SLOAD 00003caa: DUP2 00003cab: LT 00003cac: PUSH2 0x3cb7 00003caf: JUMPI 00003cb0: PUSH2 0x3cb7 00003cb3: PUSH2 0x52f4 00003cb6: JUMP 00003cb7: JUMPDEST 00003cb8: SWAP1 00003cb9: PUSH0 00003cba: MSTORE 00003cbb: PUSH1 0x20 00003cbd: PUSH0 00003cbe: KECCAK256 00003cbf: ADD 00003cc0: SLOAD 00003cc1: SWAP1 00003cc2: POP 00003cc3: SWAP3 00003cc4: SWAP2 00003cc5: POP 00003cc6: POP 00003cc7: JUMP 00003cc8: JUMPDEST 00003cc9: PUSH0 00003cca: PUSH2 0x1cb2 00003ccd: DUP3 00003cce: DUP5 00003ccf: PUSH0 00003cd0: ADD 00003cd1: MLOAD 00003cd2: DUP6 00003cd3: PUSH1 0x20 00003cd5: ADD 00003cd6: MLOAD 00003cd7: PUSH2 0x3af5 00003cda: JUMP 00003cdb: JUMPDEST 00003cdc: PUSH0 00003cdd: DUP1 00003cde: DUP5 00003cdf: DUP7 00003ce0: GT 00003ce1: PUSH2 0x3cea 00003ce4: JUMPI 00003ce5: PUSH0 00003ce6: PUSH2 0x3cf4 00003ce9: JUMP 00003cea: JUMPDEST 00003ceb: PUSH2 0x3cf4 00003cee: DUP6 00003cef: DUP8 00003cf0: PUSH2 0x56ad 00003cf3: JUMP 00003cf4: JUMPDEST 00003cf5: SWAP1 00003cf6: POP 00003cf7: PUSH0 00003cf8: DUP2 00003cf9: DUP6 00003cfa: GT 00003cfb: PUSH2 0x3d04 00003cfe: JUMPI 00003cff: PUSH0 00003d00: PUSH2 0x3d0e 00003d03: JUMP 00003d04: JUMPDEST 00003d05: PUSH2 0x3d0e 00003d08: DUP3 00003d09: DUP7 00003d0a: PUSH2 0x56ad 00003d0d: JUMP 00003d0e: JUMPDEST 00003d0f: SWAP1 00003d10: POP 00003d11: PUSH2 0x2d61 00003d14: DUP2 00003d15: DUP6 00003d16: PUSH2 0x2710 00003d19: PUSH2 0x3af5 00003d1c: JUMP 00003d1d: JUMPDEST 00003d1e: PUSH0 00003d1f: PUSH2 0x1cb2 00003d22: DUP3 00003d23: DUP5 00003d24: PUSH1 0x20 00003d26: ADD 00003d27: MLOAD 00003d28: DUP6 00003d29: PUSH0 00003d2a: ADD 00003d2b: MLOAD 00003d2c: PUSH2 0x3af5 00003d2f: JUMP 00003d30: JUMPDEST 00003d31: PUSH0 00003d32: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 00003d53: PUSH2 0x3d5a 00003d56: PUSH2 0x43a5 00003d59: JUMP 00003d5a: JUMPDEST 00003d5b: PUSH2 0x3d62 00003d5e: PUSH2 0x440d 00003d61: JUMP 00003d62: JUMPDEST 00003d63: PUSH1 0x40 00003d65: DUP1 00003d66: MLOAD 00003d67: PUSH1 0x20 00003d69: DUP2 00003d6a: ADD 00003d6b: SWAP5 00003d6c: SWAP1 00003d6d: SWAP5 00003d6e: MSTORE 00003d6f: DUP4 00003d70: ADD 00003d71: SWAP2 00003d72: SWAP1 00003d73: SWAP2 00003d74: MSTORE 00003d75: PUSH1 0x60 00003d77: DUP3 00003d78: ADD 00003d79: MSTORE 00003d7a: CHAINID 00003d7b: PUSH1 0x80 00003d7d: DUP3 00003d7e: ADD 00003d7f: MSTORE 00003d80: ADDRESS 00003d81: PUSH1 0xa0 00003d83: DUP3 00003d84: ADD 00003d85: MSTORE 00003d86: PUSH1 0xc0 00003d88: ADD 00003d89: PUSH1 0x40 00003d8b: MLOAD 00003d8c: PUSH1 0x20 00003d8e: DUP2 00003d8f: DUP4 00003d90: SUB 00003d91: SUB 00003d92: DUP2 00003d93: MSTORE 00003d94: SWAP1 00003d95: PUSH1 0x40 00003d97: MSTORE 00003d98: DUP1 00003d99: MLOAD 00003d9a: SWAP1 00003d9b: PUSH1 0x20 00003d9d: ADD 00003d9e: KECCAK256 00003d9f: SWAP1 00003da0: POP 00003da1: SWAP1 00003da2: JUMP 00003da3: JUMPDEST 00003da4: PUSH0 00003da5: DUP1 00003da6: PUSH0 00003da7: DUP4 00003da8: MLOAD 00003da9: PUSH1 0x41 00003dab: SUB 00003dac: PUSH2 0x3dda 00003daf: JUMPI 00003db0: PUSH1 0x20 00003db2: DUP5 00003db3: ADD 00003db4: MLOAD 00003db5: PUSH1 0x40 00003db7: DUP6 00003db8: ADD 00003db9: MLOAD 00003dba: PUSH1 0x60 00003dbc: DUP7 00003dbd: ADD 00003dbe: MLOAD 00003dbf: PUSH0 00003dc0: BYTE 00003dc1: PUSH2 0x3dcc 00003dc4: DUP9 00003dc5: DUP3 00003dc6: DUP6 00003dc7: DUP6 00003dc8: PUSH2 0x444f 00003dcb: JUMP 00003dcc: JUMPDEST 00003dcd: SWAP6 00003dce: POP 00003dcf: SWAP6 00003dd0: POP 00003dd1: SWAP6 00003dd2: POP 00003dd3: POP 00003dd4: POP 00003dd5: POP 00003dd6: PUSH2 0x3de5 00003dd9: JUMP 00003dda: JUMPDEST 00003ddb: POP 00003ddc: POP 00003ddd: DUP2 00003dde: MLOAD 00003ddf: PUSH0 00003de0: SWAP2 00003de1: POP 00003de2: PUSH1 0x02 00003de4: SWAP1 00003de5: JUMPDEST 00003de6: SWAP3 00003de7: POP 00003de8: SWAP3 00003de9: POP 00003dea: SWAP3 00003deb: JUMP 00003dec: JUMPDEST 00003ded: PUSH0 00003dee: DUP1 00003def: PUSH0 00003df0: DUP6 00003df1: PUSH1 0x01 00003df3: PUSH1 0x01 00003df5: PUSH1 0xa0 00003df7: SHL 00003df8: SUB 00003df9: AND 00003dfa: DUP6 00003dfb: DUP6 00003dfc: PUSH1 0x40 00003dfe: MLOAD 00003dff: PUSH1 0x24 00003e01: ADD 00003e02: PUSH2 0x3e0c 00003e05: SWAP3 00003e06: SWAP2 00003e07: SWAP1 00003e08: PUSH2 0x59e1 00003e0b: JUMP 00003e0c: JUMPDEST 00003e0d: PUSH1 0x40 00003e0f: DUP1 00003e10: MLOAD 00003e11: PUSH1 0x1f 00003e13: NOT 00003e14: DUP2 00003e15: DUP5 00003e16: SUB 00003e17: ADD 00003e18: DUP2 00003e19: MSTORE 00003e1a: SWAP2 00003e1b: DUP2 00003e1c: MSTORE 00003e1d: PUSH1 0x20 00003e1f: DUP3 00003e20: ADD 00003e21: DUP1 00003e22: MLOAD 00003e23: PUSH1 0x01 00003e25: PUSH1 0x01 00003e27: PUSH1 0xe0 00003e29: SHL 00003e2a: SUB 00003e2b: AND 00003e2c: PUSH4 0x0b135d3f 00003e31: PUSH1 0xe1 00003e33: SHL 00003e34: OR 00003e35: SWAP1 00003e36: MSTORE 00003e37: MLOAD 00003e38: PUSH2 0x3e41 00003e3b: SWAP2 00003e3c: SWAP1 00003e3d: PUSH2 0x59f9 00003e40: JUMP 00003e41: JUMPDEST 00003e42: PUSH0 00003e43: PUSH1 0x40 00003e45: MLOAD 00003e46: DUP1 00003e47: DUP4 00003e48: SUB 00003e49: DUP2 00003e4a: DUP6 00003e4b: GAS 00003e4c: STATICCALL 00003e4d: SWAP2 00003e4e: POP 00003e4f: POP 00003e50: RETURNDATASIZE 00003e51: DUP1 00003e52: PUSH0 00003e53: DUP2 00003e54: EQ 00003e55: PUSH2 0x3e79 00003e58: JUMPI 00003e59: PUSH1 0x40 00003e5b: MLOAD 00003e5c: SWAP2 00003e5d: POP 00003e5e: PUSH1 0x1f 00003e60: NOT 00003e61: PUSH1 0x3f 00003e63: RETURNDATASIZE 00003e64: ADD 00003e65: AND 00003e66: DUP3 00003e67: ADD 00003e68: PUSH1 0x40 00003e6a: MSTORE 00003e6b: RETURNDATASIZE 00003e6c: DUP3 00003e6d: MSTORE 00003e6e: RETURNDATASIZE 00003e6f: PUSH0 00003e70: PUSH1 0x20 00003e72: DUP5 00003e73: ADD 00003e74: RETURNDATACOPY 00003e75: PUSH2 0x3e7e 00003e78: JUMP 00003e79: JUMPDEST 00003e7a: PUSH1 0x60 00003e7c: SWAP2 00003e7d: POP 00003e7e: JUMPDEST 00003e7f: POP 00003e80: SWAP2 00003e81: POP 00003e82: SWAP2 00003e83: POP 00003e84: DUP2 00003e85: DUP1 00003e86: ISZERO 00003e87: PUSH2 0x3e92 00003e8a: JUMPI 00003e8b: POP 00003e8c: PUSH1 0x20 00003e8e: DUP2 00003e8f: MLOAD 00003e90: LT 00003e91: ISZERO 00003e92: JUMPDEST 00003e93: DUP1 00003e94: ISZERO 00003e95: PUSH2 0x32e0 00003e98: JUMPI 00003e99: POP 00003e9a: DUP1 00003e9b: MLOAD 00003e9c: PUSH4 0x0b135d3f 00003ea1: PUSH1 0xe1 00003ea3: SHL 00003ea4: SWAP1 00003ea5: PUSH2 0x3eb7 00003ea8: SWAP1 00003ea9: DUP4 00003eaa: ADD 00003eab: PUSH1 0x20 00003ead: SWAP1 00003eae: DUP2 00003eaf: ADD 00003eb0: SWAP1 00003eb1: DUP5 00003eb2: ADD 00003eb3: PUSH2 0x56c0 00003eb6: JUMP 00003eb7: JUMPDEST 00003eb8: EQ 00003eb9: SWAP7 00003eba: SWAP6 00003ebb: POP 00003ebc: POP 00003ebd: POP 00003ebe: POP 00003ebf: POP 00003ec0: POP 00003ec1: JUMP 00003ec2: JUMPDEST 00003ec3: PUSH0 00003ec4: DUP3 00003ec5: PUSH1 0x03 00003ec7: DUP2 00003ec8: GT 00003ec9: ISZERO 00003eca: PUSH2 0x3ed5 00003ecd: JUMPI 00003ece: PUSH2 0x3ed5 00003ed1: PUSH2 0x5781 00003ed4: JUMP 00003ed5: JUMPDEST 00003ed6: SUB 00003ed7: PUSH2 0x3ede 00003eda: JUMPI 00003edb: POP 00003edc: POP 00003edd: JUMP 00003ede: JUMPDEST 00003edf: PUSH1 0x01 00003ee1: DUP3 00003ee2: PUSH1 0x03 00003ee4: DUP2 00003ee5: GT 00003ee6: ISZERO 00003ee7: PUSH2 0x3ef2 00003eea: JUMPI 00003eeb: PUSH2 0x3ef2 00003eee: PUSH2 0x5781 00003ef1: JUMP 00003ef2: JUMPDEST 00003ef3: SUB 00003ef4: PUSH2 0x3f10 00003ef7: JUMPI 00003ef8: PUSH1 0x40 00003efa: MLOAD 00003efb: PUSH4 0xf645eedf 00003f00: PUSH1 0xe0 00003f02: SHL 00003f03: DUP2 00003f04: MSTORE 00003f05: PUSH1 0x04 00003f07: ADD 00003f08: PUSH1 0x40 00003f0a: MLOAD 00003f0b: DUP1 00003f0c: SWAP2 00003f0d: SUB 00003f0e: SWAP1 00003f0f: REVERT 00003f10: JUMPDEST 00003f11: PUSH1 0x02 00003f13: DUP3 00003f14: PUSH1 0x03 00003f16: DUP2 00003f17: GT 00003f18: ISZERO 00003f19: PUSH2 0x3f24 00003f1c: JUMPI 00003f1d: PUSH2 0x3f24 00003f20: PUSH2 0x5781 00003f23: JUMP 00003f24: JUMPDEST 00003f25: SUB 00003f26: PUSH2 0x3f45 00003f29: JUMPI 00003f2a: PUSH1 0x40 00003f2c: MLOAD 00003f2d: PUSH4 0xfce698f7 00003f32: PUSH1 0xe0 00003f34: SHL 00003f35: DUP2 00003f36: MSTORE 00003f37: PUSH1 0x04 00003f39: DUP2 00003f3a: ADD 00003f3b: DUP3 00003f3c: SWAP1 00003f3d: MSTORE 00003f3e: PUSH1 0x24 00003f40: ADD 00003f41: PUSH2 0x14fa 00003f44: JUMP 00003f45: JUMPDEST 00003f46: PUSH1 0x03 00003f48: DUP3 00003f49: PUSH1 0x03 00003f4b: DUP2 00003f4c: GT 00003f4d: ISZERO 00003f4e: PUSH2 0x3f59 00003f51: JUMPI 00003f52: PUSH2 0x3f59 00003f55: PUSH2 0x5781 00003f58: JUMP 00003f59: JUMPDEST 00003f5a: SUB 00003f5b: PUSH2 0x0f1a 00003f5e: JUMPI 00003f5f: PUSH1 0x40 00003f61: MLOAD 00003f62: PUSH4 0x35e2f383 00003f67: PUSH1 0xe2 00003f69: SHL 00003f6a: DUP2 00003f6b: MSTORE 00003f6c: PUSH1 0x04 00003f6e: DUP2 00003f6f: ADD 00003f70: DUP3 00003f71: SWAP1 00003f72: MSTORE 00003f73: PUSH1 0x24 00003f75: ADD 00003f76: PUSH2 0x14fa 00003f79: JUMP 00003f7a: JUMPDEST 00003f7b: PUSH0 00003f7c: DUP2 00003f7d: DUP2 00003f7e: JUMPDEST 00003f7f: DUP5 00003f80: DUP2 00003f81: LT 00003f82: ISZERO 00003f83: PUSH2 0x1cae 00003f86: JUMPI 00003f87: PUSH2 0x3fa8 00003f8a: DUP3 00003f8b: DUP8 00003f8c: DUP8 00003f8d: DUP5 00003f8e: DUP2 00003f8f: DUP2 00003f90: LT 00003f91: PUSH2 0x3f9c 00003f94: JUMPI 00003f95: PUSH2 0x3f9c 00003f98: PUSH2 0x52f4 00003f9b: JUMP 00003f9c: JUMPDEST 00003f9d: SWAP1 00003f9e: POP 00003f9f: PUSH1 0x20 00003fa1: MUL 00003fa2: ADD 00003fa3: CALLDATALOAD 00003fa4: PUSH2 0x4517 00003fa7: JUMP 00003fa8: JUMPDEST 00003fa9: SWAP2 00003faa: POP 00003fab: PUSH1 0x01 00003fad: ADD 00003fae: PUSH2 0x3f7e 00003fb1: JUMP 00003fb2: JUMPDEST 00003fb3: PUSH1 0x80 00003fb5: DUP3 00003fb6: DUP2 00003fb7: ADD 00003fb8: MLOAD 00003fb9: DUP1 00003fba: MLOAD 00003fbb: PUSH1 0x20 00003fbd: SWAP2 00003fbe: DUP3 00003fbf: ADD 00003fc0: MLOAD 00003fc1: PUSH1 0x40 00003fc3: DUP1 00003fc4: MLOAD 00003fc5: PUSH32 0x953108a3ec009aa6b52fdec87fca4e92a1dd82710c0c6e2497368614711c355f 00003fe6: DUP2 00003fe7: DUP7 00003fe8: ADD 00003fe9: MSTORE 00003fea: DUP1 00003feb: DUP3 00003fec: ADD 00003fed: SWAP4 00003fee: SWAP1 00003fef: SWAP4 00003ff0: MSTORE 00003ff1: PUSH1 0x60 00003ff3: DUP1 00003ff4: DUP5 00003ff5: ADD 00003ff6: SWAP3 00003ff7: SWAP1 00003ff8: SWAP3 00003ff9: MSTORE 00003ffa: DUP1 00003ffb: MLOAD 00003ffc: DUP1 00003ffd: DUP5 00003ffe: SUB 00003fff: DUP4 00004000: ADD 00004001: DUP2 00004002: MSTORE 00004003: SWAP5 00004004: DUP4 00004005: ADD 00004006: DUP2 00004007: MSTORE 00004008: DUP5 00004009: MLOAD 0000400a: SWAP5 0000400b: DUP5 0000400c: ADD 0000400d: SWAP5 0000400e: SWAP1 0000400f: SWAP5 00004010: KECCAK256 00004011: DUP7 00004012: MLOAD 00004013: DUP5 00004014: DUP9 00004015: ADD 00004016: MLOAD 00004017: DUP7 00004018: DUP10 00004019: ADD 0000401a: MLOAD 0000401b: SWAP4 0000401c: DUP10 0000401d: ADD 0000401e: MLOAD 0000401f: PUSH1 0xa0 00004021: DUP1 00004022: DUP12 00004023: ADD 00004024: MLOAD 00004025: PUSH32 0x34a89751a0a9c434a0b09a2df0ebf72338e87f92fc423ec7b07bb6a49af0f704 00004046: SWAP2 00004047: DUP9 00004048: ADD 00004049: SWAP2 0000404a: SWAP1 0000404b: SWAP2 0000404c: MSTORE 0000404d: PUSH1 0x01 0000404f: PUSH1 0x01 00004051: PUSH1 0x80 00004053: SHL 00004054: SUB 00004055: NOT 00004056: SWAP4 00004057: DUP5 00004058: AND 00004059: PUSH1 0xc0 0000405b: DUP9 0000405c: ADD 0000405d: MSTORE 0000405e: SWAP3 0000405f: SWAP1 00004060: SWAP2 00004061: AND 00004062: PUSH1 0xe0 00004064: DUP7 00004065: ADD 00004066: MSTORE 00004067: PUSH1 0x01 00004069: PUSH1 0x01 0000406b: PUSH1 0xa0 0000406d: SHL 0000406e: SUB 0000406f: SWAP1 00004070: SWAP4 00004071: AND 00004072: PUSH2 0x0100 00004075: DUP6 00004076: ADD 00004077: MSTORE 00004078: PUSH2 0x0120 0000407b: DUP5 0000407c: ADD 0000407d: SWAP3 0000407e: SWAP1 0000407f: SWAP3 00004080: MSTORE 00004081: PUSH2 0x0140 00004084: DUP4 00004085: ADD 00004086: DUP2 00004087: SWAP1 00004088: MSTORE 00004089: PUSH2 0x0160 0000408c: DUP1 0000408d: DUP5 0000408e: ADD 0000408f: SWAP3 00004090: SWAP1 00004091: SWAP3 00004092: MSTORE 00004093: DUP5 00004094: MLOAD 00004095: DUP1 00004096: DUP5 00004097: SUB 00004098: SWAP1 00004099: SWAP3 0000409a: ADD 0000409b: DUP3 0000409c: MSTORE 0000409d: PUSH2 0x0180 000040a0: DUP4 000040a1: ADD 000040a2: SWAP5 000040a3: DUP6 000040a4: SWAP1 000040a5: MSTORE 000040a6: DUP2 000040a7: MLOAD 000040a8: SWAP2 000040a9: SWAP1 000040aa: SWAP4 000040ab: ADD 000040ac: KECCAK256 000040ad: PUSH2 0x1901 000040b0: PUSH1 0xf0 000040b2: SHL 000040b3: DUP5 000040b4: MSTORE 000040b5: PUSH2 0x0182 000040b8: DUP3 000040b9: ADD 000040ba: DUP6 000040bb: SWAP1 000040bc: MSTORE 000040bd: PUSH2 0x01a2 000040c0: SWAP1 000040c1: SWAP2 000040c2: ADD 000040c3: DUP2 000040c4: SWAP1 000040c5: MSTORE 000040c6: PUSH1 0x42 000040c8: SWAP1 000040c9: SWAP3 000040ca: KECCAK256 000040cb: PUSH0 000040cc: SWAP3 000040cd: SWAP1 000040ce: PUSH2 0x0fef 000040d1: JUMP 000040d2: JUMPDEST 000040d3: PUSH0 000040d4: DUP2 000040d5: DUP2 000040d6: MSTORE 000040d7: PUSH1 0x01 000040d9: DUP4 000040da: ADD 000040db: PUSH1 0x20 000040dd: MSTORE 000040de: PUSH1 0x40 000040e0: DUP2 000040e1: KECCAK256 000040e2: SLOAD 000040e3: PUSH2 0x4117 000040e6: JUMPI 000040e7: POP 000040e8: DUP2 000040e9: SLOAD 000040ea: PUSH1 0x01 000040ec: DUP2 000040ed: DUP2 000040ee: ADD 000040ef: DUP5 000040f0: SSTORE 000040f1: PUSH0 000040f2: DUP5 000040f3: DUP2 000040f4: MSTORE 000040f5: PUSH1 0x20 000040f7: DUP1 000040f8: DUP3 000040f9: KECCAK256 000040fa: SWAP1 000040fb: SWAP4 000040fc: ADD 000040fd: DUP5 000040fe: SWAP1 000040ff: SSTORE 00004100: DUP5 00004101: SLOAD 00004102: DUP5 00004103: DUP3 00004104: MSTORE 00004105: DUP3 00004106: DUP7 00004107: ADD 00004108: SWAP1 00004109: SWAP4 0000410a: MSTORE 0000410b: PUSH1 0x40 0000410d: SWAP1 0000410e: KECCAK256 0000410f: SWAP2 00004110: SWAP1 00004111: SWAP2 00004112: SSTORE 00004113: PUSH2 0x0998 00004116: JUMP 00004117: JUMPDEST 00004118: POP 00004119: PUSH0 0000411a: PUSH2 0x0998 0000411d: JUMP 0000411e: JUMPDEST 0000411f: DUP2 00004120: MLOAD 00004121: PUSH1 0x60 00004123: SWAP1 00004124: PUSH0 00004125: PUSH2 0x412f 00004128: PUSH1 0x02 0000412a: DUP4 0000412b: PUSH2 0x5a14 0000412e: JUMP 0000412f: JUMPDEST 00004130: SWAP1 00004131: POP 00004132: PUSH0 00004133: PUSH2 0x413d 00004136: PUSH1 0x02 00004138: DUP5 00004139: PUSH2 0x5a27 0000413c: JUMP 0000413d: JUMPDEST 0000413e: ISZERO 0000413f: DUP1 00004140: ISZERO 00004141: SWAP2 00004142: POP 00004143: PUSH2 0x4154 00004146: JUMPI 00004147: DUP2 00004148: PUSH2 0x4150 0000414b: DUP2 0000414c: PUSH2 0x5a3a 0000414f: JUMP 00004150: JUMPDEST 00004151: SWAP3 00004152: POP 00004153: POP 00004154: JUMPDEST 00004155: DUP6 00004156: DUP6 00004157: PUSH2 0x419f 0000415a: JUMPI 0000415b: DUP3 0000415c: PUSH1 0x01 0000415e: PUSH1 0x01 00004160: PUSH1 0x40 00004162: SHL 00004163: SUB 00004164: DUP2 00004165: GT 00004166: ISZERO 00004167: PUSH2 0x4172 0000416a: JUMPI 0000416b: PUSH2 0x4172 0000416e: PUSH2 0x46ae 00004171: JUMP 00004172: JUMPDEST 00004173: PUSH1 0x40 00004175: MLOAD 00004176: SWAP1 00004177: DUP1 00004178: DUP3 00004179: MSTORE 0000417a: DUP1 0000417b: PUSH1 0x20 0000417d: MUL 0000417e: PUSH1 0x20 00004180: ADD 00004181: DUP3 00004182: ADD 00004183: PUSH1 0x40 00004185: MSTORE 00004186: DUP1 00004187: ISZERO 00004188: PUSH2 0x419b 0000418b: JUMPI 0000418c: DUP2 0000418d: PUSH1 0x20 0000418f: ADD 00004190: PUSH1 0x20 00004192: DUP3 00004193: MUL 00004194: DUP1 00004195: CALLDATASIZE 00004196: DUP4 00004197: CALLDATACOPY 00004198: ADD 00004199: SWAP1 0000419a: POP 0000419b: JUMPDEST 0000419c: POP 0000419d: SWAP1 0000419e: POP 0000419f: JUMPDEST 000041a0: PUSH0 000041a1: DUP3 000041a2: PUSH2 0x41ab 000041a5: JUMPI 000041a6: DUP4 000041a7: PUSH2 0x41b6 000041aa: JUMP 000041ab: JUMPDEST 000041ac: PUSH2 0x41b6 000041af: PUSH1 0x01 000041b1: DUP6 000041b2: PUSH2 0x56ad 000041b5: JUMP 000041b6: JUMPDEST 000041b7: SWAP1 000041b8: POP 000041b9: PUSH0 000041ba: JUMPDEST 000041bb: DUP2 000041bc: DUP2 000041bd: LT 000041be: ISZERO 000041bf: PUSH2 0x4244 000041c2: JUMPI 000041c3: PUSH2 0x421f 000041c6: DUP10 000041c7: PUSH2 0x41d1 000041ca: DUP4 000041cb: PUSH1 0x02 000041cd: PUSH2 0x5a52 000041d0: JUMP 000041d1: JUMPDEST 000041d2: DUP2 000041d3: MLOAD 000041d4: DUP2 000041d5: LT 000041d6: PUSH2 0x41e1 000041d9: JUMPI 000041da: PUSH2 0x41e1 000041dd: PUSH2 0x52f4 000041e0: JUMP 000041e1: JUMPDEST 000041e2: PUSH1 0x20 000041e4: MUL 000041e5: PUSH1 0x20 000041e7: ADD 000041e8: ADD 000041e9: MLOAD 000041ea: DUP11 000041eb: DUP4 000041ec: PUSH1 0x02 000041ee: PUSH2 0x41f7 000041f1: SWAP2 000041f2: SWAP1 000041f3: PUSH2 0x5a52 000041f6: JUMP 000041f7: JUMPDEST 000041f8: PUSH2 0x4202 000041fb: SWAP1 000041fc: PUSH1 0x01 000041fe: PUSH2 0x54d7 00004201: JUMP 00004202: JUMPDEST 00004203: DUP2 00004204: MLOAD 00004205: DUP2 00004206: LT 00004207: PUSH2 0x4212 0000420a: JUMPI 0000420b: PUSH2 0x4212 0000420e: PUSH2 0x52f4 00004211: JUMP 00004212: JUMPDEST 00004213: PUSH1 0x20 00004215: MUL 00004216: PUSH1 0x20 00004218: ADD 00004219: ADD 0000421a: MLOAD 0000421b: PUSH2 0x4517 0000421e: JUMP 0000421f: JUMPDEST 00004220: DUP4 00004221: DUP3 00004222: DUP2 00004223: MLOAD 00004224: DUP2 00004225: LT 00004226: PUSH2 0x4231 00004229: JUMPI 0000422a: PUSH2 0x4231 0000422d: PUSH2 0x52f4 00004230: JUMP 00004231: JUMPDEST 00004232: PUSH1 0x20 00004234: SWAP1 00004235: DUP2 00004236: MUL 00004237: SWAP2 00004238: SWAP1 00004239: SWAP2 0000423a: ADD 0000423b: ADD 0000423c: MSTORE 0000423d: PUSH1 0x01 0000423f: ADD 00004240: PUSH2 0x41ba 00004243: JUMP 00004244: JUMPDEST 00004245: POP 00004246: DUP3 00004247: ISZERO 00004248: PUSH2 0x42a9 0000424b: JUMPI 0000424c: PUSH2 0x4280 0000424f: DUP9 00004250: PUSH2 0x425a 00004253: PUSH1 0x01 00004255: DUP9 00004256: PUSH2 0x56ad 00004259: JUMP 0000425a: JUMPDEST 0000425b: DUP2 0000425c: MLOAD 0000425d: DUP2 0000425e: LT 0000425f: PUSH2 0x426a 00004262: JUMPI 00004263: PUSH2 0x426a 00004266: PUSH2 0x52f4 00004269: JUMP 0000426a: JUMPDEST 0000426b: PUSH1 0x20 0000426d: MUL 0000426e: PUSH1 0x20 00004270: ADD 00004271: ADD 00004272: MLOAD 00004273: DUP10 00004274: PUSH1 0x01 00004276: DUP9 00004277: PUSH2 0x4202 0000427a: SWAP2 0000427b: SWAP1 0000427c: PUSH2 0x56ad 0000427f: JUMP 00004280: JUMPDEST 00004281: DUP3 00004282: PUSH2 0x428c 00004285: PUSH1 0x01 00004287: DUP8 00004288: PUSH2 0x56ad 0000428b: JUMP 0000428c: JUMPDEST 0000428d: DUP2 0000428e: MLOAD 0000428f: DUP2 00004290: LT 00004291: PUSH2 0x429c 00004294: JUMPI 00004295: PUSH2 0x429c 00004298: PUSH2 0x52f4 0000429b: JUMP 0000429c: JUMPDEST 0000429d: PUSH1 0x20 0000429f: MUL 000042a0: PUSH1 0x20 000042a2: ADD 000042a3: ADD 000042a4: DUP2 000042a5: DUP2 000042a6: MSTORE 000042a7: POP 000042a8: POP 000042a9: JUMPDEST 000042aa: DUP7 000042ab: ISZERO 000042ac: PUSH2 0x42b3 000042af: JUMPI 000042b0: DUP4 000042b1: DUP3 000042b2: MSTORE 000042b3: JUMPDEST 000042b4: POP 000042b5: SWAP7 000042b6: SWAP6 000042b7: POP 000042b8: POP 000042b9: POP 000042ba: POP 000042bb: POP 000042bc: POP 000042bd: JUMP 000042be: JUMPDEST 000042bf: PUSH0 000042c0: DUP2 000042c1: DUP2 000042c2: MSTORE 000042c3: PUSH1 0x01 000042c5: DUP4 000042c6: ADD 000042c7: PUSH1 0x20 000042c9: MSTORE 000042ca: PUSH1 0x40 000042cc: DUP2 000042cd: KECCAK256 000042ce: SLOAD 000042cf: DUP1 000042d0: ISZERO 000042d1: PUSH2 0x3916 000042d4: JUMPI 000042d5: PUSH0 000042d6: PUSH2 0x42e0 000042d9: PUSH1 0x01 000042db: DUP4 000042dc: PUSH2 0x56ad 000042df: JUMP 000042e0: JUMPDEST 000042e1: DUP6 000042e2: SLOAD 000042e3: SWAP1 000042e4: SWAP2 000042e5: POP 000042e6: PUSH0 000042e7: SWAP1 000042e8: PUSH2 0x42f3 000042eb: SWAP1 000042ec: PUSH1 0x01 000042ee: SWAP1 000042ef: PUSH2 0x56ad 000042f2: JUMP 000042f3: JUMPDEST 000042f4: SWAP1 000042f5: POP 000042f6: DUP1 000042f7: DUP3 000042f8: EQ 000042f9: PUSH2 0x4352 000042fc: JUMPI 000042fd: PUSH0 000042fe: DUP7 000042ff: PUSH0 00004300: ADD 00004301: DUP3 00004302: DUP2 00004303: SLOAD 00004304: DUP2 00004305: LT 00004306: PUSH2 0x4311 00004309: JUMPI 0000430a: PUSH2 0x4311 0000430d: PUSH2 0x52f4 00004310: JUMP 00004311: JUMPDEST 00004312: SWAP1 00004313: PUSH0 00004314: MSTORE 00004315: PUSH1 0x20 00004317: PUSH0 00004318: KECCAK256 00004319: ADD 0000431a: SLOAD 0000431b: SWAP1 0000431c: POP 0000431d: DUP1 0000431e: DUP8 0000431f: PUSH0 00004320: ADD 00004321: DUP5 00004322: DUP2 00004323: SLOAD 00004324: DUP2 00004325: LT 00004326: PUSH2 0x4331 00004329: JUMPI 0000432a: PUSH2 0x4331 0000432d: PUSH2 0x52f4 00004330: JUMP 00004331: JUMPDEST 00004332: PUSH0 00004333: SWAP2 00004334: DUP3 00004335: MSTORE 00004336: PUSH1 0x20 00004338: DUP1 00004339: DUP4 0000433a: KECCAK256 0000433b: SWAP1 0000433c: SWAP2 0000433d: ADD 0000433e: SWAP3 0000433f: SWAP1 00004340: SWAP3 00004341: SSTORE 00004342: SWAP2 00004343: DUP3 00004344: MSTORE 00004345: PUSH1 0x01 00004347: DUP9 00004348: ADD 00004349: SWAP1 0000434a: MSTORE 0000434b: PUSH1 0x40 0000434d: SWAP1 0000434e: KECCAK256 0000434f: DUP4 00004350: SWAP1 00004351: SSTORE 00004352: JUMPDEST 00004353: DUP6 00004354: SLOAD 00004355: DUP7 00004356: SWAP1 00004357: DUP1 00004358: PUSH2 0x4363 0000435b: JUMPI 0000435c: PUSH2 0x4363 0000435f: PUSH2 0x5a69 00004362: JUMP 00004363: JUMPDEST 00004364: PUSH1 0x01 00004366: SWAP1 00004367: SUB 00004368: DUP2 00004369: DUP2 0000436a: SWAP1 0000436b: PUSH0 0000436c: MSTORE 0000436d: PUSH1 0x20 0000436f: PUSH0 00004370: KECCAK256 00004371: ADD 00004372: PUSH0 00004373: SWAP1 00004374: SSTORE 00004375: SWAP1 00004376: SSTORE 00004377: DUP6 00004378: PUSH1 0x01 0000437a: ADD 0000437b: PUSH0 0000437c: DUP7 0000437d: DUP2 0000437e: MSTORE 0000437f: PUSH1 0x20 00004381: ADD 00004382: SWAP1 00004383: DUP2 00004384: MSTORE 00004385: PUSH1 0x20 00004387: ADD 00004388: PUSH0 00004389: KECCAK256 0000438a: PUSH0 0000438b: SWAP1 0000438c: SSTORE 0000438d: PUSH1 0x01 0000438f: SWAP4 00004390: POP 00004391: POP 00004392: POP 00004393: POP 00004394: PUSH2 0x0998 00004397: JUMP 00004398: JUMPDEST 00004399: PUSH1 0x60 0000439b: PUSH2 0x1cb2 0000439e: DUP4 0000439f: DUP4 000043a0: PUSH0 000043a1: PUSH2 0x4543 000043a4: JUMP 000043a5: JUMPDEST 000043a6: PUSH0 000043a7: PUSH0 000043a8: DUP1 000043a9: MLOAD 000043aa: PUSH1 0x20 000043ac: PUSH2 0x5a9e 000043af: DUP4 000043b0: CODECOPY 000043b1: DUP2 000043b2: MLOAD 000043b3: SWAP2 000043b4: MSTORE 000043b5: DUP2 000043b6: PUSH2 0x43bd 000043b9: PUSH2 0x3012 000043bc: JUMP 000043bd: JUMPDEST 000043be: DUP1 000043bf: MLOAD 000043c0: SWAP1 000043c1: SWAP2 000043c2: POP 000043c3: ISZERO 000043c4: PUSH2 0x43d5 000043c7: JUMPI 000043c8: DUP1 000043c9: MLOAD 000043ca: PUSH1 0x20 000043cc: SWAP1 000043cd: SWAP2 000043ce: ADD 000043cf: KECCAK256 000043d0: SWAP3 000043d1: SWAP2 000043d2: POP 000043d3: POP 000043d4: JUMP 000043d5: JUMPDEST 000043d6: DUP2 000043d7: SLOAD 000043d8: DUP1 000043d9: ISZERO 000043da: PUSH2 0x43e4 000043dd: JUMPI 000043de: SWAP4 000043df: SWAP3 000043e0: POP 000043e1: POP 000043e2: POP 000043e3: JUMP 000043e4: JUMPDEST 000043e5: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 00004406: SWAP4 00004407: POP 00004408: POP 00004409: POP 0000440a: POP 0000440b: SWAP1 0000440c: JUMP 0000440d: JUMPDEST 0000440e: PUSH0 0000440f: PUSH0 00004410: DUP1 00004411: MLOAD 00004412: PUSH1 0x20 00004414: PUSH2 0x5a9e 00004417: DUP4 00004418: CODECOPY 00004419: DUP2 0000441a: MLOAD 0000441b: SWAP2 0000441c: MSTORE 0000441d: DUP2 0000441e: PUSH2 0x4425 00004421: PUSH2 0x30d2 00004424: JUMP 00004425: JUMPDEST 00004426: DUP1 00004427: MLOAD 00004428: SWAP1 00004429: SWAP2 0000442a: POP 0000442b: ISZERO 0000442c: PUSH2 0x443d 0000442f: JUMPI 00004430: DUP1 00004431: MLOAD 00004432: PUSH1 0x20 00004434: SWAP1 00004435: SWAP2 00004436: ADD 00004437: KECCAK256 00004438: SWAP3 00004439: SWAP2 0000443a: POP 0000443b: POP 0000443c: JUMP 0000443d: JUMPDEST 0000443e: PUSH1 0x01 00004440: DUP3 00004441: ADD 00004442: SLOAD 00004443: DUP1 00004444: ISZERO 00004445: PUSH2 0x43e4 00004448: JUMPI 00004449: SWAP4 0000444a: SWAP3 0000444b: POP 0000444c: POP 0000444d: POP 0000444e: JUMP 0000444f: JUMPDEST 00004450: PUSH0 00004451: DUP1 00004452: DUP1 00004453: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 00004474: DUP5 00004475: GT 00004476: ISZERO 00004477: PUSH2 0x4488 0000447a: JUMPI 0000447b: POP 0000447c: PUSH0 0000447d: SWAP2 0000447e: POP 0000447f: PUSH1 0x03 00004481: SWAP1 00004482: POP 00004483: DUP3 00004484: PUSH2 0x450d 00004487: JUMP 00004488: JUMPDEST 00004489: PUSH1 0x40 0000448b: DUP1 0000448c: MLOAD 0000448d: PUSH0 0000448e: DUP1 0000448f: DUP3 00004490: MSTORE 00004491: PUSH1 0x20 00004493: DUP3 00004494: ADD 00004495: DUP1 00004496: DUP5 00004497: MSTORE 00004498: DUP11 00004499: SWAP1 0000449a: MSTORE 0000449b: PUSH1 0xff 0000449d: DUP10 0000449e: AND 0000449f: SWAP3 000044a0: DUP3 000044a1: ADD 000044a2: SWAP3 000044a3: SWAP1 000044a4: SWAP3 000044a5: MSTORE 000044a6: PUSH1 0x60 000044a8: DUP2 000044a9: ADD 000044aa: DUP8 000044ab: SWAP1 000044ac: MSTORE 000044ad: PUSH1 0x80 000044af: DUP2 000044b0: ADD 000044b1: DUP7 000044b2: SWAP1 000044b3: MSTORE 000044b4: PUSH1 0x01 000044b6: SWAP1 000044b7: PUSH1 0xa0 000044b9: ADD 000044ba: PUSH1 0x20 000044bc: PUSH1 0x40 000044be: MLOAD 000044bf: PUSH1 0x20 000044c1: DUP2 000044c2: SUB 000044c3: SWAP1 000044c4: DUP1 000044c5: DUP5 000044c6: SUB 000044c7: SWAP1 000044c8: DUP6 000044c9: GAS 000044ca: STATICCALL 000044cb: ISZERO 000044cc: DUP1 000044cd: ISZERO 000044ce: PUSH2 0x44d9 000044d1: JUMPI 000044d2: RETURNDATASIZE 000044d3: PUSH0 000044d4: DUP1 000044d5: RETURNDATACOPY 000044d6: RETURNDATASIZE 000044d7: PUSH0 000044d8: REVERT 000044d9: JUMPDEST 000044da: POP 000044db: POP 000044dc: PUSH1 0x40 000044de: MLOAD 000044df: PUSH1 0x1f 000044e1: NOT 000044e2: ADD 000044e3: MLOAD 000044e4: SWAP2 000044e5: POP 000044e6: POP 000044e7: PUSH1 0x01 000044e9: PUSH1 0x01 000044eb: PUSH1 0xa0 000044ed: SHL 000044ee: SUB 000044ef: DUP2 000044f0: AND 000044f1: PUSH2 0x4504 000044f4: JUMPI 000044f5: POP 000044f6: PUSH0 000044f7: SWAP3 000044f8: POP 000044f9: PUSH1 0x01 000044fb: SWAP2 000044fc: POP 000044fd: DUP3 000044fe: SWAP1 000044ff: POP 00004500: PUSH2 0x450d 00004503: JUMP 00004504: JUMPDEST 00004505: SWAP3 00004506: POP 00004507: PUSH0 00004508: SWAP2 00004509: POP 0000450a: DUP2 0000450b: SWAP1 0000450c: POP 0000450d: JUMPDEST 0000450e: SWAP5 0000450f: POP 00004510: SWAP5 00004511: POP 00004512: SWAP5 00004513: SWAP2 00004514: POP 00004515: POP 00004516: JUMP 00004517: JUMPDEST 00004518: PUSH0 00004519: DUP2 0000451a: DUP4 0000451b: LT 0000451c: PUSH2 0x4531 0000451f: JUMPI 00004520: PUSH0 00004521: DUP3 00004522: DUP2 00004523: MSTORE 00004524: PUSH1 0x20 00004526: DUP5 00004527: SWAP1 00004528: MSTORE 00004529: PUSH1 0x40 0000452b: SWAP1 0000452c: KECCAK256 0000452d: PUSH2 0x1cb2 00004530: JUMP 00004531: JUMPDEST 00004532: PUSH0 00004533: DUP4 00004534: DUP2 00004535: MSTORE 00004536: PUSH1 0x20 00004538: DUP4 00004539: SWAP1 0000453a: MSTORE 0000453b: PUSH1 0x40 0000453d: SWAP1 0000453e: KECCAK256 0000453f: PUSH2 0x1cb2 00004542: JUMP 00004543: JUMPDEST 00004544: PUSH1 0x60 00004546: DUP2 00004547: SELFBALANCE 00004548: LT 00004549: ISZERO 0000454a: PUSH2 0x4568 0000454d: JUMPI 0000454e: PUSH1 0x40 00004550: MLOAD 00004551: PUSH4 0xcd786059 00004556: PUSH1 0xe0 00004558: SHL 00004559: DUP2 0000455a: MSTORE 0000455b: ADDRESS 0000455c: PUSH1 0x04 0000455e: DUP3 0000455f: ADD 00004560: MSTORE 00004561: PUSH1 0x24 00004563: ADD 00004564: PUSH2 0x14fa 00004567: JUMP 00004568: JUMPDEST 00004569: PUSH0 0000456a: DUP1 0000456b: DUP6 0000456c: PUSH1 0x01 0000456e: PUSH1 0x01 00004570: PUSH1 0xa0 00004572: SHL 00004573: SUB 00004574: AND 00004575: DUP5 00004576: DUP7 00004577: PUSH1 0x40 00004579: MLOAD 0000457a: PUSH2 0x4583 0000457d: SWAP2 0000457e: SWAP1 0000457f: PUSH2 0x59f9 00004582: JUMP 00004583: JUMPDEST 00004584: PUSH0 00004585: PUSH1 0x40 00004587: MLOAD 00004588: DUP1 00004589: DUP4 0000458a: SUB 0000458b: DUP2 0000458c: DUP6 0000458d: DUP8 0000458e: GAS 0000458f: CALL 00004590: SWAP3 00004591: POP 00004592: POP 00004593: POP 00004594: RETURNDATASIZE 00004595: DUP1 00004596: PUSH0 00004597: DUP2 00004598: EQ 00004599: PUSH2 0x45bd 0000459c: JUMPI 0000459d: PUSH1 0x40 0000459f: MLOAD 000045a0: SWAP2 000045a1: POP 000045a2: PUSH1 0x1f 000045a4: NOT 000045a5: PUSH1 0x3f 000045a7: RETURNDATASIZE 000045a8: ADD 000045a9: AND 000045aa: DUP3 000045ab: ADD 000045ac: PUSH1 0x40 000045ae: MSTORE 000045af: RETURNDATASIZE 000045b0: DUP3 000045b1: MSTORE 000045b2: RETURNDATASIZE 000045b3: PUSH0 000045b4: PUSH1 0x20 000045b6: DUP5 000045b7: ADD 000045b8: RETURNDATACOPY 000045b9: PUSH2 0x45c2 000045bc: JUMP 000045bd: JUMPDEST 000045be: PUSH1 0x60 000045c0: SWAP2 000045c1: POP 000045c2: JUMPDEST 000045c3: POP 000045c4: SWAP2 000045c5: POP 000045c6: SWAP2 000045c7: POP 000045c8: PUSH2 0x32e0 000045cb: DUP7 000045cc: DUP4 000045cd: DUP4 000045ce: PUSH1 0x60 000045d0: DUP3 000045d1: PUSH2 0x45e2 000045d4: JUMPI 000045d5: PUSH2 0x45dd 000045d8: DUP3 000045d9: PUSH2 0x4629 000045dc: JUMP 000045dd: JUMPDEST 000045de: PUSH2 0x1cb2 000045e1: JUMP 000045e2: JUMPDEST 000045e3: DUP2 000045e4: MLOAD 000045e5: ISZERO 000045e6: DUP1 000045e7: ISZERO 000045e8: PUSH2 0x45f9 000045eb: JUMPI 000045ec: POP 000045ed: PUSH1 0x01 000045ef: PUSH1 0x01 000045f1: PUSH1 0xa0 000045f3: SHL 000045f4: SUB 000045f5: DUP5 000045f6: AND 000045f7: EXTCODESIZE 000045f8: ISZERO 000045f9: JUMPDEST 000045fa: ISZERO 000045fb: PUSH2 0x4622 000045fe: JUMPI 000045ff: PUSH1 0x40 00004601: MLOAD 00004602: PUSH4 0x9996b315 00004607: PUSH1 0xe0 00004609: SHL 0000460a: DUP2 0000460b: MSTORE 0000460c: PUSH1 0x01 0000460e: PUSH1 0x01 00004610: PUSH1 0xa0 00004612: SHL 00004613: SUB 00004614: DUP6 00004615: AND 00004616: PUSH1 0x04 00004618: DUP3 00004619: ADD 0000461a: MSTORE 0000461b: PUSH1 0x24 0000461d: ADD 0000461e: PUSH2 0x14fa 00004621: JUMP 00004622: JUMPDEST 00004623: POP 00004624: DUP1 00004625: PUSH2 0x1cb2 00004628: JUMP 00004629: JUMPDEST 0000462a: DUP1 0000462b: MLOAD 0000462c: ISZERO 0000462d: PUSH2 0x4639 00004630: JUMPI 00004631: DUP1 00004632: MLOAD 00004633: DUP1 00004634: DUP3 00004635: PUSH1 0x20 00004637: ADD 00004638: REVERT 00004639: JUMPDEST 0000463a: PUSH1 0x40 0000463c: MLOAD 0000463d: PUSH4 0x0a12f521 00004642: PUSH1 0xe1 00004644: SHL 00004645: DUP2 00004646: MSTORE 00004647: PUSH1 0x04 00004649: ADD 0000464a: PUSH1 0x40 0000464c: MLOAD 0000464d: DUP1 0000464e: SWAP2 0000464f: SUB 00004650: SWAP1 00004651: REVERT 00004652: JUMPDEST 00004653: POP 00004654: DUP1 00004655: SLOAD 00004656: PUSH0 00004657: DUP3 00004658: SSTORE 00004659: PUSH1 0x01 0000465b: ADD 0000465c: PUSH1 0x02 0000465e: SWAP1 0000465f: DIV 00004660: SWAP1 00004661: PUSH0 00004662: MSTORE 00004663: PUSH1 0x20 00004665: PUSH0 00004666: KECCAK256 00004667: SWAP1 00004668: DUP2 00004669: ADD 0000466a: SWAP1 0000466b: PUSH2 0x1848 0000466e: SWAP2 0000466f: SWAP1 00004670: JUMPDEST 00004671: DUP1 00004672: DUP3 00004673: GT 00004674: ISZERO 00004675: PUSH2 0x4683 00004678: JUMPI 00004679: PUSH0 0000467a: DUP2 0000467b: SSTORE 0000467c: PUSH1 0x01 0000467e: ADD 0000467f: PUSH2 0x4670 00004682: JUMP 00004683: JUMPDEST 00004684: POP 00004685: SWAP1 00004686: JUMP 00004687: JUMPDEST 00004688: PUSH0 00004689: PUSH1 0x20 0000468b: DUP3 0000468c: DUP5 0000468d: SUB 0000468e: SLT 0000468f: ISZERO 00004690: PUSH2 0x4697 00004693: JUMPI 00004694: PUSH0 00004695: DUP1 00004696: REVERT 00004697: JUMPDEST 00004698: DUP2 00004699: CALLDATALOAD 0000469a: PUSH1 0x01 0000469c: PUSH1 0x01 0000469e: PUSH1 0xe0 000046a0: SHL 000046a1: SUB 000046a2: NOT 000046a3: DUP2 000046a4: AND 000046a5: DUP2 000046a6: EQ 000046a7: PUSH2 0x1cb2 000046aa: JUMPI 000046ab: PUSH0 000046ac: DUP1 000046ad: REVERT 000046ae: JUMPDEST 000046af: PUSH4 0x4e487b71 000046b4: PUSH1 0xe0 000046b6: SHL 000046b7: PUSH0 000046b8: MSTORE 000046b9: PUSH1 0x41 000046bb: PUSH1 0x04 000046bd: MSTORE 000046be: PUSH1 0x24 000046c0: PUSH0 000046c1: REVERT 000046c2: JUMPDEST 000046c3: PUSH1 0x40 000046c5: MLOAD 000046c6: PUSH1 0x60 000046c8: DUP2 000046c9: ADD 000046ca: PUSH1 0x01 000046cc: PUSH1 0x01 000046ce: PUSH1 0x40 000046d0: SHL 000046d1: SUB 000046d2: DUP2 000046d3: GT 000046d4: DUP3 000046d5: DUP3 000046d6: LT 000046d7: OR 000046d8: ISZERO 000046d9: PUSH2 0x46e4 000046dc: JUMPI 000046dd: PUSH2 0x46e4 000046e0: PUSH2 0x46ae 000046e3: JUMP 000046e4: JUMPDEST 000046e5: PUSH1 0x40 000046e7: MSTORE 000046e8: SWAP1 000046e9: JUMP 000046ea: JUMPDEST 000046eb: PUSH1 0x40 000046ed: MLOAD 000046ee: PUSH1 0xa0 000046f0: DUP2 000046f1: ADD 000046f2: PUSH1 0x01 000046f4: PUSH1 0x01 000046f6: PUSH1 0x40 000046f8: SHL 000046f9: SUB 000046fa: DUP2 000046fb: GT 000046fc: DUP3 000046fd: DUP3 000046fe: LT 000046ff: OR 00004700: ISZERO 00004701: PUSH2 0x46e4 00004704: JUMPI 00004705: PUSH2 0x46e4 00004708: PUSH2 0x46ae 0000470b: JUMP 0000470c: JUMPDEST 0000470d: PUSH1 0x40 0000470f: MLOAD 00004710: PUSH2 0x01c0 00004713: DUP2 00004714: ADD 00004715: PUSH1 0x01 00004717: PUSH1 0x01 00004719: PUSH1 0x40 0000471b: SHL 0000471c: SUB 0000471d: DUP2 0000471e: GT 0000471f: DUP3 00004720: DUP3 00004721: LT 00004722: OR 00004723: ISZERO 00004724: PUSH2 0x46e4 00004727: JUMPI 00004728: PUSH2 0x46e4 0000472b: PUSH2 0x46ae 0000472e: JUMP 0000472f: JUMPDEST 00004730: PUSH1 0x40 00004732: MLOAD 00004733: PUSH1 0x1f 00004735: DUP3 00004736: ADD 00004737: PUSH1 0x1f 00004739: NOT 0000473a: AND 0000473b: DUP2 0000473c: ADD 0000473d: PUSH1 0x01 0000473f: PUSH1 0x01 00004741: PUSH1 0x40 00004743: SHL 00004744: SUB 00004745: DUP2 00004746: GT 00004747: DUP3 00004748: DUP3 00004749: LT 0000474a: OR 0000474b: ISZERO 0000474c: PUSH2 0x4757 0000474f: JUMPI 00004750: PUSH2 0x4757 00004753: PUSH2 0x46ae 00004756: JUMP 00004757: JUMPDEST 00004758: PUSH1 0x40 0000475a: MSTORE 0000475b: SWAP2 0000475c: SWAP1 0000475d: POP 0000475e: JUMP 0000475f: JUMPDEST 00004760: PUSH1 0x01 00004762: PUSH1 0x01 00004764: PUSH1 0xa0 00004766: SHL 00004767: SUB 00004768: DUP2 00004769: AND 0000476a: DUP2 0000476b: EQ 0000476c: PUSH2 0x1848 0000476f: JUMPI 00004770: PUSH0 00004771: DUP1 00004772: REVERT 00004773: JUMPDEST 00004774: DUP1 00004775: CALLDATALOAD 00004776: PUSH2 0x477e 00004779: DUP2 0000477a: PUSH2 0x475f 0000477d: JUMP 0000477e: JUMPDEST 0000477f: SWAP2 00004780: SWAP1 00004781: POP 00004782: JUMP 00004783: JUMPDEST 00004784: DUP1 00004785: CALLDATALOAD 00004786: PUSH1 0x01 00004788: PUSH1 0x01 0000478a: PUSH1 0x80 0000478c: SHL 0000478d: SUB 0000478e: NOT 0000478f: DUP2 00004790: AND 00004791: DUP2 00004792: EQ 00004793: PUSH2 0x477e 00004796: JUMPI 00004797: PUSH0 00004798: DUP1 00004799: REVERT 0000479a: JUMPDEST 0000479b: PUSH1 0x01 0000479d: PUSH1 0x01 0000479f: PUSH1 0xd0 000047a1: SHL 000047a2: SUB 000047a3: NOT 000047a4: DUP2 000047a5: AND 000047a6: DUP2 000047a7: EQ 000047a8: PUSH2 0x1848 000047ab: JUMPI 000047ac: PUSH0 000047ad: DUP1 000047ae: REVERT 000047af: JUMPDEST 000047b0: PUSH0 000047b1: PUSH1 0x60 000047b3: DUP3 000047b4: DUP5 000047b5: SUB 000047b6: SLT 000047b7: ISZERO 000047b8: PUSH2 0x47bf 000047bb: JUMPI 000047bc: PUSH0 000047bd: DUP1 000047be: REVERT 000047bf: JUMPDEST 000047c0: PUSH2 0x47c7 000047c3: PUSH2 0x46c2 000047c6: JUMP 000047c7: JUMPDEST 000047c8: SWAP1 000047c9: POP 000047ca: DUP2 000047cb: CALLDATALOAD 000047cc: PUSH2 0x47d4 000047cf: DUP2 000047d0: PUSH2 0x475f 000047d3: JUMP 000047d4: JUMPDEST 000047d5: DUP2 000047d6: MSTORE 000047d7: PUSH1 0x20 000047d9: DUP3 000047da: ADD 000047db: CALLDATALOAD 000047dc: PUSH2 0x47e4 000047df: DUP2 000047e0: PUSH2 0x479a 000047e3: JUMP 000047e4: JUMPDEST 000047e5: PUSH1 0x20 000047e7: DUP3 000047e8: ADD 000047e9: MSTORE 000047ea: PUSH1 0x40 000047ec: DUP3 000047ed: ADD 000047ee: CALLDATALOAD 000047ef: PUSH2 0x47f7 000047f2: DUP2 000047f3: PUSH2 0x479a 000047f6: JUMP 000047f7: JUMPDEST 000047f8: PUSH1 0x40 000047fa: DUP3 000047fb: ADD 000047fc: MSTORE 000047fd: SWAP3 000047fe: SWAP2 000047ff: POP 00004800: POP 00004801: JUMP 00004802: JUMPDEST 00004803: PUSH0 00004804: PUSH1 0x01 00004806: PUSH1 0x01 00004808: PUSH1 0x40 0000480a: SHL 0000480b: SUB 0000480c: DUP3 0000480d: GT 0000480e: ISZERO 0000480f: PUSH2 0x481a 00004812: JUMPI 00004813: PUSH2 0x481a 00004816: PUSH2 0x46ae 00004819: JUMP 0000481a: JUMPDEST 0000481b: POP 0000481c: PUSH1 0x05 0000481e: SHL 0000481f: PUSH1 0x20 00004821: ADD 00004822: SWAP1 00004823: JUMP 00004824: JUMPDEST 00004825: PUSH1 0x01 00004827: PUSH1 0x01 00004829: PUSH1 0x40 0000482b: SHL 0000482c: SUB 0000482d: DUP2 0000482e: AND 0000482f: DUP2 00004830: EQ 00004831: PUSH2 0x1848 00004834: JUMPI 00004835: PUSH0 00004836: DUP1 00004837: REVERT 00004838: JUMPDEST 00004839: DUP1 0000483a: ISZERO 0000483b: ISZERO 0000483c: DUP2 0000483d: EQ 0000483e: PUSH2 0x1848 00004841: JUMPI 00004842: PUSH0 00004843: DUP1 00004844: REVERT 00004845: JUMPDEST 00004846: PUSH0 00004847: PUSH1 0xa0 00004849: DUP3 0000484a: DUP5 0000484b: SUB 0000484c: SLT 0000484d: ISZERO 0000484e: PUSH2 0x4855 00004851: JUMPI 00004852: PUSH0 00004853: DUP1 00004854: REVERT 00004855: JUMPDEST 00004856: PUSH2 0x485d 00004859: PUSH2 0x46ea 0000485c: JUMP 0000485d: JUMPDEST 0000485e: SWAP1 0000485f: POP 00004860: PUSH2 0x4868 00004863: DUP3 00004864: PUSH2 0x4783 00004867: JUMP 00004868: JUMPDEST 00004869: DUP2 0000486a: MSTORE 0000486b: PUSH1 0x20 0000486d: DUP3 0000486e: ADD 0000486f: CALLDATALOAD 00004870: PUSH2 0x4878 00004873: DUP2 00004874: PUSH2 0x475f 00004877: JUMP 00004878: JUMPDEST 00004879: PUSH1 0x20 0000487b: DUP3 0000487c: ADD 0000487d: MSTORE 0000487e: PUSH1 0x40 00004880: DUP3 00004881: ADD 00004882: CALLDATALOAD 00004883: PUSH2 0x488b 00004886: DUP2 00004887: PUSH2 0x4824 0000488a: JUMP 0000488b: JUMPDEST 0000488c: PUSH1 0x40 0000488e: DUP3 0000488f: ADD 00004890: MSTORE 00004891: PUSH1 0x60 00004893: DUP3 00004894: ADD 00004895: CALLDATALOAD 00004896: PUSH2 0x489e 00004899: DUP2 0000489a: PUSH2 0x4824 0000489d: JUMP 0000489e: JUMPDEST 0000489f: PUSH1 0x60 000048a1: DUP3 000048a2: ADD 000048a3: MSTORE 000048a4: PUSH1 0x80 000048a6: DUP3 000048a7: ADD 000048a8: CALLDATALOAD 000048a9: PUSH2 0x48b1 000048ac: DUP2 000048ad: PUSH2 0x4838 000048b0: JUMP 000048b1: JUMPDEST 000048b2: PUSH1 0x80 000048b4: DUP3 000048b5: ADD 000048b6: MSTORE 000048b7: SWAP3 000048b8: SWAP2 000048b9: POP 000048ba: POP 000048bb: JUMP 000048bc: JUMPDEST 000048bd: PUSH0 000048be: DUP3 000048bf: PUSH1 0x1f 000048c1: DUP4 000048c2: ADD 000048c3: SLT 000048c4: PUSH2 0x48cb 000048c7: JUMPI 000048c8: PUSH0 000048c9: DUP1 000048ca: REVERT 000048cb: JUMPDEST 000048cc: DUP2 000048cd: CALLDATALOAD 000048ce: PUSH1 0x20 000048d0: PUSH2 0x48e0 000048d3: PUSH2 0x48db 000048d6: DUP4 000048d7: PUSH2 0x4802 000048da: JUMP 000048db: JUMPDEST 000048dc: PUSH2 0x472f 000048df: JUMP 000048e0: JUMPDEST 000048e1: DUP1 000048e2: DUP4 000048e3: DUP3 000048e4: MSTORE 000048e5: PUSH1 0x20 000048e7: DUP3 000048e8: ADD 000048e9: SWAP2 000048ea: POP 000048eb: PUSH1 0xa0 000048ed: PUSH1 0x20 000048ef: PUSH1 0xa0 000048f1: DUP7 000048f2: MUL 000048f3: DUP9 000048f4: ADD 000048f5: ADD 000048f6: SWAP5 000048f7: POP 000048f8: DUP8 000048f9: DUP6 000048fa: GT 000048fb: ISZERO 000048fc: PUSH2 0x4903 000048ff: JUMPI 00004900: PUSH0 00004901: DUP1 00004902: REVERT 00004903: JUMPDEST 00004904: PUSH1 0x20 00004906: DUP8 00004907: ADD 00004908: JUMPDEST 00004909: DUP6 0000490a: DUP2 0000490b: LT 0000490c: ISZERO 0000490d: PUSH2 0x4927 00004910: JUMPI 00004911: PUSH2 0x491a 00004914: DUP10 00004915: DUP3 00004916: PUSH2 0x4845 00004919: JUMP 0000491a: JUMPDEST 0000491b: DUP5 0000491c: MSTORE 0000491d: SWAP3 0000491e: DUP5 0000491f: ADD 00004920: SWAP3 00004921: DUP2 00004922: ADD 00004923: PUSH2 0x4908 00004926: JUMP 00004927: JUMPDEST 00004928: POP 00004929: SWAP1 0000492a: SWAP8 0000492b: SWAP7 0000492c: POP 0000492d: POP 0000492e: POP 0000492f: POP 00004930: POP 00004931: POP 00004932: POP 00004933: JUMP 00004934: JUMPDEST 00004935: DUP1 00004936: CALLDATALOAD 00004937: PUSH2 0xffff 0000493a: DUP2 0000493b: AND 0000493c: DUP2 0000493d: EQ 0000493e: PUSH2 0x477e 00004941: JUMPI 00004942: PUSH0 00004943: DUP1 00004944: REVERT 00004945: JUMPDEST 00004946: PUSH0 00004947: PUSH1 0x60 00004949: DUP3 0000494a: DUP5 0000494b: SUB 0000494c: SLT 0000494d: ISZERO 0000494e: PUSH2 0x4955 00004951: JUMPI 00004952: PUSH0 00004953: DUP1 00004954: REVERT 00004955: JUMPDEST 00004956: PUSH2 0x495d 00004959: PUSH2 0x46c2 0000495c: JUMP 0000495d: JUMPDEST 0000495e: SWAP1 0000495f: POP 00004960: PUSH2 0x4968 00004963: DUP3 00004964: PUSH2 0x4783 00004967: JUMP 00004968: JUMPDEST 00004969: DUP2 0000496a: MSTORE 0000496b: PUSH1 0x20 0000496d: DUP3 0000496e: ADD 0000496f: CALLDATALOAD 00004970: PUSH2 0x4978 00004973: DUP2 00004974: PUSH2 0x475f 00004977: JUMP 00004978: JUMPDEST 00004979: PUSH1 0x20 0000497b: DUP3 0000497c: ADD 0000497d: MSTORE 0000497e: PUSH2 0x47f7 00004981: PUSH1 0x40 00004983: DUP4 00004984: ADD 00004985: PUSH2 0x4934 00004988: JUMP 00004989: JUMPDEST 0000498a: PUSH0 0000498b: DUP3 0000498c: PUSH1 0x1f 0000498e: DUP4 0000498f: ADD 00004990: SLT 00004991: PUSH2 0x4998 00004994: JUMPI 00004995: PUSH0 00004996: DUP1 00004997: REVERT 00004998: JUMPDEST 00004999: DUP2 0000499a: CALLDATALOAD 0000499b: PUSH1 0x20 0000499d: PUSH2 0x49a8 000049a0: PUSH2 0x48db 000049a3: DUP4 000049a4: PUSH2 0x4802 000049a7: JUMP 000049a8: JUMPDEST 000049a9: DUP1 000049aa: DUP4 000049ab: DUP3 000049ac: MSTORE 000049ad: PUSH1 0x20 000049af: DUP3 000049b0: ADD 000049b1: SWAP2 000049b2: POP 000049b3: PUSH1 0x60 000049b5: PUSH1 0x20 000049b7: PUSH1 0x60 000049b9: DUP7 000049ba: MUL 000049bb: DUP9 000049bc: ADD 000049bd: ADD 000049be: SWAP5 000049bf: POP 000049c0: DUP8 000049c1: DUP6 000049c2: GT 000049c3: ISZERO 000049c4: PUSH2 0x49cb 000049c7: JUMPI 000049c8: PUSH0 000049c9: DUP1 000049ca: REVERT 000049cb: JUMPDEST 000049cc: PUSH1 0x20 000049ce: DUP8 000049cf: ADD 000049d0: JUMPDEST 000049d1: DUP6 000049d2: DUP2 000049d3: LT 000049d4: ISZERO 000049d5: PUSH2 0x4927 000049d8: JUMPI 000049d9: PUSH2 0x49e2 000049dc: DUP10 000049dd: DUP3 000049de: PUSH2 0x4945 000049e1: JUMP 000049e2: JUMPDEST 000049e3: DUP5 000049e4: MSTORE 000049e5: SWAP3 000049e6: DUP5 000049e7: ADD 000049e8: SWAP3 000049e9: DUP2 000049ea: ADD 000049eb: PUSH2 0x49d0 000049ee: JUMP 000049ef: JUMPDEST 000049f0: PUSH0 000049f1: PUSH1 0x20 000049f3: DUP3 000049f4: DUP5 000049f5: SUB 000049f6: SLT 000049f7: ISZERO 000049f8: PUSH2 0x49ff 000049fb: JUMPI 000049fc: PUSH0 000049fd: DUP1 000049fe: REVERT 000049ff: JUMPDEST 00004a00: DUP2 00004a01: CALLDATALOAD 00004a02: PUSH1 0x01 00004a04: PUSH1 0x01 00004a06: PUSH1 0x40 00004a08: SHL 00004a09: SUB 00004a0a: DUP1 00004a0b: DUP3 00004a0c: GT 00004a0d: ISZERO 00004a0e: PUSH2 0x4a15 00004a11: JUMPI 00004a12: PUSH0 00004a13: DUP1 00004a14: REVERT 00004a15: JUMPDEST 00004a16: SWAP1 00004a17: DUP4 00004a18: ADD 00004a19: SWAP1 00004a1a: PUSH2 0x0200 00004a1d: DUP3 00004a1e: DUP7 00004a1f: SUB 00004a20: SLT 00004a21: ISZERO 00004a22: PUSH2 0x4a29 00004a25: JUMPI 00004a26: PUSH0 00004a27: DUP1 00004a28: REVERT 00004a29: JUMPDEST 00004a2a: PUSH2 0x4a31 00004a2d: PUSH2 0x470c 00004a30: JUMP 00004a31: JUMPDEST 00004a32: PUSH2 0x4a3a 00004a35: DUP4 00004a36: PUSH2 0x4773 00004a39: JUMP 00004a3a: JUMPDEST 00004a3b: DUP2 00004a3c: MSTORE 00004a3d: PUSH2 0x4a48 00004a40: PUSH1 0x20 00004a42: DUP5 00004a43: ADD 00004a44: PUSH2 0x4783 00004a47: JUMP 00004a48: JUMPDEST 00004a49: PUSH1 0x20 00004a4b: DUP3 00004a4c: ADD 00004a4d: MSTORE 00004a4e: PUSH2 0x4a5a 00004a51: DUP7 00004a52: PUSH1 0x40 00004a54: DUP6 00004a55: ADD 00004a56: PUSH2 0x47af 00004a59: JUMP 00004a5a: JUMPDEST 00004a5b: PUSH1 0x40 00004a5d: DUP3 00004a5e: ADD 00004a5f: MSTORE 00004a60: PUSH2 0x4a6b 00004a63: PUSH1 0xa0 00004a65: DUP5 00004a66: ADD 00004a67: PUSH2 0x4773 00004a6a: JUMP 00004a6b: JUMPDEST 00004a6c: PUSH1 0x60 00004a6e: DUP3 00004a6f: ADD 00004a70: MSTORE 00004a71: PUSH1 0xc0 00004a73: DUP4 00004a74: ADD 00004a75: CALLDATALOAD 00004a76: DUP3 00004a77: DUP2 00004a78: GT 00004a79: ISZERO 00004a7a: PUSH2 0x4a81 00004a7d: JUMPI 00004a7e: PUSH0 00004a7f: DUP1 00004a80: REVERT 00004a81: JUMPDEST 00004a82: PUSH2 0x4a8d 00004a85: DUP8 00004a86: DUP3 00004a87: DUP7 00004a88: ADD 00004a89: PUSH2 0x48bc 00004a8c: JUMP 00004a8d: JUMPDEST 00004a8e: PUSH1 0x80 00004a90: DUP4 00004a91: ADD 00004a92: MSTORE 00004a93: POP 00004a94: PUSH1 0xe0 00004a96: DUP4 00004a97: ADD 00004a98: CALLDATALOAD 00004a99: DUP3 00004a9a: DUP2 00004a9b: GT 00004a9c: ISZERO 00004a9d: PUSH2 0x4aa4 00004aa0: JUMPI 00004aa1: PUSH0 00004aa2: DUP1 00004aa3: REVERT 00004aa4: JUMPDEST 00004aa5: PUSH2 0x4ab0 00004aa8: DUP8 00004aa9: DUP3 00004aaa: DUP7 00004aab: ADD 00004aac: PUSH2 0x4989 00004aaf: JUMP 00004ab0: JUMPDEST 00004ab1: PUSH1 0xa0 00004ab3: DUP4 00004ab4: ADD 00004ab5: MSTORE 00004ab6: POP 00004ab7: PUSH2 0x0100 00004aba: SWAP2 00004abb: POP 00004abc: PUSH2 0x4ac6 00004abf: DUP3 00004ac0: DUP5 00004ac1: ADD 00004ac2: PUSH2 0x4773 00004ac5: JUMP 00004ac6: JUMPDEST 00004ac7: PUSH1 0xc0 00004ac9: DUP3 00004aca: ADD 00004acb: MSTORE 00004acc: PUSH2 0x0120 00004acf: PUSH2 0x4ad9 00004ad2: DUP2 00004ad3: DUP6 00004ad4: ADD 00004ad5: PUSH2 0x4773 00004ad8: JUMP 00004ad9: JUMPDEST 00004ada: PUSH1 0xe0 00004adc: DUP4 00004add: ADD 00004ade: MSTORE 00004adf: PUSH2 0x0140 00004ae2: PUSH2 0x4aec 00004ae5: DUP2 00004ae6: DUP7 00004ae7: ADD 00004ae8: PUSH2 0x4773 00004aeb: JUMP 00004aec: JUMPDEST 00004aed: DUP5 00004aee: DUP5 00004aef: ADD 00004af0: MSTORE 00004af1: PUSH2 0x0160 00004af4: SWAP4 00004af5: POP 00004af6: PUSH2 0x4b00 00004af9: DUP5 00004afa: DUP7 00004afb: ADD 00004afc: PUSH2 0x4773 00004aff: JUMP 00004b00: JUMPDEST 00004b01: DUP3 00004b02: DUP5 00004b03: ADD 00004b04: MSTORE 00004b05: PUSH2 0x0180 00004b08: SWAP2 00004b09: POP 00004b0a: PUSH2 0x4b14 00004b0d: DUP3 00004b0e: DUP7 00004b0f: ADD 00004b10: PUSH2 0x4773 00004b13: JUMP 00004b14: JUMPDEST 00004b15: SWAP1 00004b16: DUP4 00004b17: ADD 00004b18: MSTORE 00004b19: PUSH2 0x01a0 00004b1c: PUSH2 0x4b26 00004b1f: DUP6 00004b20: DUP3 00004b21: ADD 00004b22: PUSH2 0x4773 00004b25: JUMP 00004b26: JUMPDEST 00004b27: DUP5 00004b28: DUP5 00004b29: ADD 00004b2a: MSTORE 00004b2b: PUSH2 0x01c0 00004b2e: DUP6 00004b2f: ADD 00004b30: CALLDATALOAD 00004b31: DUP3 00004b32: DUP5 00004b33: ADD 00004b34: MSTORE 00004b35: PUSH2 0x4b41 00004b38: PUSH2 0x01e0 00004b3b: DUP7 00004b3c: ADD 00004b3d: PUSH2 0x4934 00004b40: JUMP 00004b41: JUMPDEST 00004b42: SWAP1 00004b43: DUP4 00004b44: ADD 00004b45: MSTORE 00004b46: POP 00004b47: SWAP6 00004b48: SWAP5 00004b49: POP 00004b4a: POP 00004b4b: POP 00004b4c: POP 00004b4d: POP 00004b4e: JUMP 00004b4f: JUMPDEST 00004b50: PUSH0 00004b51: PUSH1 0x20 00004b53: DUP3 00004b54: DUP5 00004b55: SUB 00004b56: SLT 00004b57: ISZERO 00004b58: PUSH2 0x4b5f 00004b5b: JUMPI 00004b5c: PUSH0 00004b5d: DUP1 00004b5e: REVERT 00004b5f: JUMPDEST 00004b60: POP 00004b61: CALLDATALOAD 00004b62: SWAP2 00004b63: SWAP1 00004b64: POP 00004b65: JUMP 00004b66: JUMPDEST 00004b67: PUSH0 00004b68: DUP1 00004b69: DUP4 00004b6a: PUSH1 0x1f 00004b6c: DUP5 00004b6d: ADD 00004b6e: SLT 00004b6f: PUSH2 0x4b76 00004b72: JUMPI 00004b73: PUSH0 00004b74: DUP1 00004b75: REVERT 00004b76: JUMPDEST 00004b77: POP 00004b78: DUP2 00004b79: CALLDATALOAD 00004b7a: PUSH1 0x01 00004b7c: PUSH1 0x01 00004b7e: PUSH1 0x40 00004b80: SHL 00004b81: SUB 00004b82: DUP2 00004b83: GT 00004b84: ISZERO 00004b85: PUSH2 0x4b8c 00004b88: JUMPI 00004b89: PUSH0 00004b8a: DUP1 00004b8b: REVERT 00004b8c: JUMPDEST 00004b8d: PUSH1 0x20 00004b8f: DUP4 00004b90: ADD 00004b91: SWAP2 00004b92: POP 00004b93: DUP4 00004b94: PUSH1 0x20 00004b96: DUP3 00004b97: PUSH1 0x05 00004b99: SHL 00004b9a: DUP6 00004b9b: ADD 00004b9c: ADD 00004b9d: GT 00004b9e: ISZERO 00004b9f: PUSH2 0x4ba6 00004ba2: JUMPI 00004ba3: PUSH0 00004ba4: DUP1 00004ba5: REVERT 00004ba6: JUMPDEST 00004ba7: SWAP3 00004ba8: POP 00004ba9: SWAP3 00004baa: SWAP1 00004bab: POP 00004bac: JUMP 00004bad: JUMPDEST 00004bae: PUSH0 00004baf: DUP1 00004bb0: PUSH1 0x20 00004bb2: DUP4 00004bb3: DUP6 00004bb4: SUB 00004bb5: SLT 00004bb6: ISZERO 00004bb7: PUSH2 0x4bbe 00004bba: JUMPI 00004bbb: PUSH0 00004bbc: DUP1 00004bbd: REVERT 00004bbe: JUMPDEST 00004bbf: DUP3 00004bc0: CALLDATALOAD 00004bc1: PUSH1 0x01 00004bc3: PUSH1 0x01 00004bc5: PUSH1 0x40 00004bc7: SHL 00004bc8: SUB 00004bc9: DUP2 00004bca: GT 00004bcb: ISZERO 00004bcc: PUSH2 0x4bd3 00004bcf: JUMPI 00004bd0: PUSH0 00004bd1: DUP1 00004bd2: REVERT 00004bd3: JUMPDEST 00004bd4: PUSH2 0x4bdf 00004bd7: DUP6 00004bd8: DUP3 00004bd9: DUP7 00004bda: ADD 00004bdb: PUSH2 0x4b66 00004bde: JUMP 00004bdf: JUMPDEST 00004be0: SWAP1 00004be1: SWAP7 00004be2: SWAP1 00004be3: SWAP6 00004be4: POP 00004be5: SWAP4 00004be6: POP 00004be7: POP 00004be8: POP 00004be9: POP 00004bea: JUMP 00004beb: JUMPDEST 00004bec: PUSH0 00004bed: DUP2 00004bee: MLOAD 00004bef: DUP1 00004bf0: DUP5 00004bf1: MSTORE 00004bf2: PUSH1 0x20 00004bf4: DUP1 00004bf5: DUP6 00004bf6: ADD 00004bf7: SWAP5 00004bf8: POP 00004bf9: PUSH1 0x20 00004bfb: DUP5 00004bfc: ADD 00004bfd: PUSH0 00004bfe: JUMPDEST 00004bff: DUP4 00004c00: DUP2 00004c01: LT 00004c02: ISZERO 00004c03: PUSH2 0x4c1a 00004c06: JUMPI 00004c07: DUP2 00004c08: MLOAD 00004c09: DUP8 00004c0a: MSTORE 00004c0b: SWAP6 00004c0c: DUP3 00004c0d: ADD 00004c0e: SWAP6 00004c0f: SWAP1 00004c10: DUP3 00004c11: ADD 00004c12: SWAP1 00004c13: PUSH1 0x01 00004c15: ADD 00004c16: PUSH2 0x4bfe 00004c19: JUMP 00004c1a: JUMPDEST 00004c1b: POP 00004c1c: SWAP5 00004c1d: SWAP6 00004c1e: SWAP5 00004c1f: POP 00004c20: POP 00004c21: POP 00004c22: POP 00004c23: POP 00004c24: JUMP 00004c25: JUMPDEST 00004c26: PUSH1 0x20 00004c28: DUP2 00004c29: MSTORE 00004c2a: PUSH0 00004c2b: PUSH2 0x1cb2 00004c2e: PUSH1 0x20 00004c30: DUP4 00004c31: ADD 00004c32: DUP5 00004c33: PUSH2 0x4beb 00004c36: JUMP 00004c37: JUMPDEST 00004c38: PUSH0 00004c39: DUP1 00004c3a: PUSH1 0x40 00004c3c: DUP4 00004c3d: DUP6 00004c3e: SUB 00004c3f: SLT 00004c40: ISZERO 00004c41: PUSH2 0x4c48 00004c44: JUMPI 00004c45: PUSH0 00004c46: DUP1 00004c47: REVERT 00004c48: JUMPDEST 00004c49: DUP3 00004c4a: CALLDATALOAD 00004c4b: SWAP2 00004c4c: POP 00004c4d: PUSH1 0x20 00004c4f: DUP4 00004c50: ADD 00004c51: CALLDATALOAD 00004c52: PUSH2 0x4c5a 00004c55: DUP2 00004c56: PUSH2 0x475f 00004c59: JUMP 00004c5a: JUMPDEST 00004c5b: DUP1 00004c5c: SWAP2 00004c5d: POP 00004c5e: POP 00004c5f: SWAP3 00004c60: POP 00004c61: SWAP3 00004c62: SWAP1 00004c63: POP 00004c64: JUMP 00004c65: JUMPDEST 00004c66: PUSH0 00004c67: DUP1 00004c68: PUSH0 00004c69: PUSH1 0x40 00004c6b: DUP5 00004c6c: DUP7 00004c6d: SUB 00004c6e: SLT 00004c6f: ISZERO 00004c70: PUSH2 0x4c77 00004c73: JUMPI 00004c74: PUSH0 00004c75: DUP1 00004c76: REVERT 00004c77: JUMPDEST 00004c78: DUP4 00004c79: CALLDATALOAD 00004c7a: PUSH1 0x01 00004c7c: PUSH1 0x01 00004c7e: PUSH1 0x40 00004c80: SHL 00004c81: SUB 00004c82: DUP1 00004c83: DUP3 00004c84: GT 00004c85: ISZERO 00004c86: PUSH2 0x4c8d 00004c89: JUMPI 00004c8a: PUSH0 00004c8b: DUP1 00004c8c: REVERT 00004c8d: JUMPDEST 00004c8e: DUP2 00004c8f: DUP7 00004c90: ADD 00004c91: SWAP2 00004c92: POP 00004c93: DUP7 00004c94: PUSH1 0x1f 00004c96: DUP4 00004c97: ADD 00004c98: SLT 00004c99: PUSH2 0x4ca0 00004c9c: JUMPI 00004c9d: PUSH0 00004c9e: DUP1 00004c9f: REVERT 00004ca0: JUMPDEST 00004ca1: DUP2 00004ca2: CALLDATALOAD 00004ca3: DUP2 00004ca4: DUP2 00004ca5: GT 00004ca6: ISZERO 00004ca7: PUSH2 0x4cae 00004caa: JUMPI 00004cab: PUSH0 00004cac: DUP1 00004cad: REVERT 00004cae: JUMPDEST 00004caf: DUP8 00004cb0: PUSH1 0x20 00004cb2: PUSH1 0xa0 00004cb4: DUP4 00004cb5: MUL 00004cb6: DUP6 00004cb7: ADD 00004cb8: ADD 00004cb9: GT 00004cba: ISZERO 00004cbb: PUSH2 0x4cc2 00004cbe: JUMPI 00004cbf: PUSH0 00004cc0: DUP1 00004cc1: REVERT 00004cc2: JUMPDEST 00004cc3: PUSH1 0x20 00004cc5: SWAP3 00004cc6: DUP4 00004cc7: ADD 00004cc8: SWAP9 00004cc9: SWAP1 00004cca: SWAP8 00004ccb: POP 00004ccc: SWAP6 00004ccd: SWAP1 00004cce: SWAP2 00004ccf: ADD 00004cd0: CALLDATALOAD 00004cd1: SWAP5 00004cd2: SWAP4 00004cd3: POP 00004cd4: POP 00004cd5: POP 00004cd6: POP 00004cd7: JUMP 00004cd8: JUMPDEST 00004cd9: PUSH0 00004cda: PUSH1 0x20 00004cdc: DUP3 00004cdd: DUP5 00004cde: SUB 00004cdf: SLT 00004ce0: ISZERO 00004ce1: PUSH2 0x4ce8 00004ce4: JUMPI 00004ce5: PUSH0 00004ce6: DUP1 00004ce7: REVERT 00004ce8: JUMPDEST 00004ce9: DUP2 00004cea: CALLDATALOAD 00004ceb: PUSH2 0x1cb2 00004cee: DUP2 00004cef: PUSH2 0x4838 00004cf2: JUMP 00004cf3: JUMPDEST 00004cf4: PUSH0 00004cf5: DUP1 00004cf6: PUSH0 00004cf7: DUP1 00004cf8: PUSH0 00004cf9: PUSH1 0x60 00004cfb: DUP7 00004cfc: DUP9 00004cfd: SUB 00004cfe: SLT 00004cff: ISZERO 00004d00: PUSH2 0x4d07 00004d03: JUMPI 00004d04: PUSH0 00004d05: DUP1 00004d06: REVERT 00004d07: JUMPDEST 00004d08: DUP6 00004d09: CALLDATALOAD 00004d0a: PUSH1 0x01 00004d0c: PUSH1 0x01 00004d0e: PUSH1 0x40 00004d10: SHL 00004d11: SUB 00004d12: DUP1 00004d13: DUP3 00004d14: GT 00004d15: ISZERO 00004d16: PUSH2 0x4d1d 00004d19: JUMPI 00004d1a: PUSH0 00004d1b: DUP1 00004d1c: REVERT 00004d1d: JUMPDEST 00004d1e: PUSH2 0x4d29 00004d21: DUP10 00004d22: DUP4 00004d23: DUP11 00004d24: ADD 00004d25: PUSH2 0x4b66 00004d28: JUMP 00004d29: JUMPDEST 00004d2a: SWAP1 00004d2b: SWAP8 00004d2c: POP 00004d2d: SWAP6 00004d2e: POP 00004d2f: PUSH1 0x20 00004d31: DUP9 00004d32: ADD 00004d33: CALLDATALOAD 00004d34: SWAP2 00004d35: POP 00004d36: DUP1 00004d37: DUP3 00004d38: GT 00004d39: ISZERO 00004d3a: PUSH2 0x4d41 00004d3d: JUMPI 00004d3e: PUSH0 00004d3f: DUP1 00004d40: REVERT 00004d41: JUMPDEST 00004d42: POP 00004d43: PUSH2 0x4d4e 00004d46: DUP9 00004d47: DUP3 00004d48: DUP10 00004d49: ADD 00004d4a: PUSH2 0x4b66 00004d4d: JUMP 00004d4e: JUMPDEST 00004d4f: SWAP1 00004d50: SWAP5 00004d51: POP 00004d52: SWAP3 00004d53: POP 00004d54: POP 00004d55: PUSH1 0x40 00004d57: DUP7 00004d58: ADD 00004d59: CALLDATALOAD 00004d5a: PUSH2 0x4d62 00004d5d: DUP2 00004d5e: PUSH2 0x4838 00004d61: JUMP 00004d62: JUMPDEST 00004d63: DUP1 00004d64: SWAP2 00004d65: POP 00004d66: POP 00004d67: SWAP3 00004d68: SWAP6 00004d69: POP 00004d6a: SWAP3 00004d6b: SWAP6 00004d6c: SWAP1 00004d6d: SWAP4 00004d6e: POP 00004d6f: JUMP 00004d70: JUMPDEST 00004d71: PUSH0 00004d72: DUP1 00004d73: DUP4 00004d74: PUSH1 0x1f 00004d76: DUP5 00004d77: ADD 00004d78: SLT 00004d79: PUSH2 0x4d80 00004d7c: JUMPI 00004d7d: PUSH0 00004d7e: DUP1 00004d7f: REVERT 00004d80: JUMPDEST 00004d81: POP 00004d82: DUP2 00004d83: CALLDATALOAD 00004d84: PUSH1 0x01 00004d86: PUSH1 0x01 00004d88: PUSH1 0x40 00004d8a: SHL 00004d8b: SUB 00004d8c: DUP2 00004d8d: GT 00004d8e: ISZERO 00004d8f: PUSH2 0x4d96 00004d92: JUMPI 00004d93: PUSH0 00004d94: DUP1 00004d95: REVERT 00004d96: JUMPDEST 00004d97: PUSH1 0x20 00004d99: DUP4 00004d9a: ADD 00004d9b: SWAP2 00004d9c: POP 00004d9d: DUP4 00004d9e: PUSH1 0x20 00004da0: PUSH1 0x60 00004da2: DUP4 00004da3: MUL 00004da4: DUP6 00004da5: ADD 00004da6: ADD 00004da7: GT 00004da8: ISZERO 00004da9: PUSH2 0x4ba6 00004dac: JUMPI 00004dad: PUSH0 00004dae: DUP1 00004daf: REVERT 00004db0: JUMPDEST 00004db1: PUSH0 00004db2: DUP1 00004db3: PUSH1 0x20 00004db5: DUP4 00004db6: DUP6 00004db7: SUB 00004db8: SLT 00004db9: ISZERO 00004dba: PUSH2 0x4dc1 00004dbd: JUMPI 00004dbe: PUSH0 00004dbf: DUP1 00004dc0: REVERT 00004dc1: JUMPDEST 00004dc2: DUP3 00004dc3: CALLDATALOAD 00004dc4: PUSH1 0x01 00004dc6: PUSH1 0x01 00004dc8: PUSH1 0x40 00004dca: SHL 00004dcb: SUB 00004dcc: DUP2 00004dcd: GT 00004dce: ISZERO 00004dcf: PUSH2 0x4dd6 00004dd2: JUMPI 00004dd3: PUSH0 00004dd4: DUP1 00004dd5: REVERT 00004dd6: JUMPDEST 00004dd7: PUSH2 0x4bdf 00004dda: DUP6 00004ddb: DUP3 00004ddc: DUP7 00004ddd: ADD 00004dde: PUSH2 0x4d70 00004de1: JUMP 00004de2: JUMPDEST 00004de3: PUSH1 0x20 00004de5: DUP1 00004de6: DUP3 00004de7: MSTORE 00004de8: DUP3 00004de9: MLOAD 00004dea: DUP3 00004deb: DUP3 00004dec: ADD 00004ded: DUP2 00004dee: SWAP1 00004def: MSTORE 00004df0: PUSH0 00004df1: SWAP2 00004df2: SWAP1 00004df3: PUSH1 0x40 00004df5: SWAP1 00004df6: DUP2 00004df7: DUP6 00004df8: ADD 00004df9: SWAP1 00004dfa: DUP7 00004dfb: DUP5 00004dfc: ADD 00004dfd: DUP6 00004dfe: JUMPDEST 00004dff: DUP3 00004e00: DUP2 00004e01: LT 00004e02: ISZERO 00004e03: PUSH2 0x4e2c 00004e06: JUMPI 00004e07: DUP2 00004e08: MLOAD 00004e09: DUP1 00004e0a: MLOAD 00004e0b: DUP6 00004e0c: MSTORE 00004e0d: DUP7 00004e0e: ADD 00004e0f: MLOAD 00004e10: PUSH1 0x01 00004e12: PUSH1 0x01 00004e14: PUSH1 0x40 00004e16: SHL 00004e17: SUB 00004e18: AND 00004e19: DUP7 00004e1a: DUP6 00004e1b: ADD 00004e1c: MSTORE 00004e1d: SWAP3 00004e1e: DUP5 00004e1f: ADD 00004e20: SWAP3 00004e21: SWAP1 00004e22: DUP6 00004e23: ADD 00004e24: SWAP1 00004e25: PUSH1 0x01 00004e27: ADD 00004e28: PUSH2 0x4dfe 00004e2b: JUMP 00004e2c: JUMPDEST 00004e2d: POP 00004e2e: SWAP2 00004e2f: SWAP8 00004e30: SWAP7 00004e31: POP 00004e32: POP 00004e33: POP 00004e34: POP 00004e35: POP 00004e36: POP 00004e37: POP 00004e38: JUMP 00004e39: JUMPDEST 00004e3a: PUSH0 00004e3b: PUSH1 0x20 00004e3d: DUP3 00004e3e: DUP5 00004e3f: SUB 00004e40: SLT 00004e41: ISZERO 00004e42: PUSH2 0x4e49 00004e45: JUMPI 00004e46: PUSH0 00004e47: DUP1 00004e48: REVERT 00004e49: JUMPDEST 00004e4a: DUP2 00004e4b: CALLDATALOAD 00004e4c: PUSH2 0x1cb2 00004e4f: DUP2 00004e50: PUSH2 0x475f 00004e53: JUMP 00004e54: JUMPDEST 00004e55: PUSH0 00004e56: DUP1 00004e57: PUSH0 00004e58: PUSH1 0x60 00004e5a: DUP5 00004e5b: DUP7 00004e5c: SUB 00004e5d: SLT 00004e5e: ISZERO 00004e5f: PUSH2 0x4e66 00004e62: JUMPI 00004e63: PUSH0 00004e64: DUP1 00004e65: REVERT 00004e66: JUMPDEST 00004e67: DUP4 00004e68: CALLDATALOAD 00004e69: PUSH2 0x4e71 00004e6c: DUP2 00004e6d: PUSH2 0x475f 00004e70: JUMP 00004e71: JUMPDEST 00004e72: SWAP3 00004e73: POP 00004e74: PUSH1 0x20 00004e76: DUP5 00004e77: ADD 00004e78: CALLDATALOAD 00004e79: PUSH2 0x4e81 00004e7c: DUP2 00004e7d: PUSH2 0x475f 00004e80: JUMP 00004e81: JUMPDEST 00004e82: SWAP3 00004e83: SWAP6 00004e84: SWAP3 00004e85: SWAP5 00004e86: POP 00004e87: POP 00004e88: POP 00004e89: PUSH1 0x40 00004e8b: SWAP2 00004e8c: SWAP1 00004e8d: SWAP2 00004e8e: ADD 00004e8f: CALLDATALOAD 00004e90: SWAP1 00004e91: JUMP 00004e92: JUMPDEST 00004e93: PUSH0 00004e94: PUSH1 0x60 00004e96: DUP3 00004e97: DUP5 00004e98: SUB 00004e99: SLT 00004e9a: ISZERO 00004e9b: PUSH2 0x4ea2 00004e9e: JUMPI 00004e9f: PUSH0 00004ea0: DUP1 00004ea1: REVERT 00004ea2: JUMPDEST 00004ea3: POP 00004ea4: SWAP2 00004ea5: SWAP1 00004ea6: POP 00004ea7: JUMP 00004ea8: JUMPDEST 00004ea9: PUSH1 0x20 00004eab: DUP1 00004eac: DUP3 00004ead: MSTORE 00004eae: DUP3 00004eaf: MLOAD 00004eb0: DUP3 00004eb1: DUP3 00004eb2: ADD 00004eb3: DUP2 00004eb4: SWAP1 00004eb5: MSTORE 00004eb6: PUSH0 00004eb7: SWAP2 00004eb8: SWAP1 00004eb9: PUSH1 0x40 00004ebb: SWAP1 00004ebc: DUP2 00004ebd: DUP6 00004ebe: ADD 00004ebf: SWAP1 00004ec0: DUP7 00004ec1: DUP5 00004ec2: ADD 00004ec3: DUP6 00004ec4: JUMPDEST 00004ec5: DUP3 00004ec6: DUP2 00004ec7: LT 00004ec8: ISZERO 00004ec9: PUSH2 0x4e2c 00004ecc: JUMPI 00004ecd: DUP2 00004ece: MLOAD 00004ecf: DUP1 00004ed0: MLOAD 00004ed1: PUSH1 0x01 00004ed3: PUSH1 0x01 00004ed5: PUSH1 0xa0 00004ed7: SHL 00004ed8: SUB 00004ed9: AND 00004eda: DUP6 00004edb: MSTORE 00004edc: DUP7 00004edd: ADD 00004ede: MLOAD 00004edf: PUSH2 0xffff 00004ee2: AND 00004ee3: DUP7 00004ee4: DUP6 00004ee5: ADD 00004ee6: MSTORE 00004ee7: SWAP3 00004ee8: DUP5 00004ee9: ADD 00004eea: SWAP3 00004eeb: SWAP1 00004eec: DUP6 00004eed: ADD 00004eee: SWAP1 00004eef: PUSH1 0x01 00004ef1: ADD 00004ef2: PUSH2 0x4ec4 00004ef5: JUMP 00004ef6: JUMPDEST 00004ef7: PUSH0 00004ef8: JUMPDEST 00004ef9: DUP4 00004efa: DUP2 00004efb: LT 00004efc: ISZERO 00004efd: PUSH2 0x4f10 00004f00: JUMPI 00004f01: DUP2 00004f02: DUP2 00004f03: ADD 00004f04: MLOAD 00004f05: DUP4 00004f06: DUP3 00004f07: ADD 00004f08: MSTORE 00004f09: PUSH1 0x20 00004f0b: ADD 00004f0c: PUSH2 0x4ef8 00004f0f: JUMP 00004f10: JUMPDEST 00004f11: POP 00004f12: POP 00004f13: PUSH0 00004f14: SWAP2 00004f15: ADD 00004f16: MSTORE 00004f17: JUMP 00004f18: JUMPDEST 00004f19: PUSH0 00004f1a: DUP2 00004f1b: MLOAD 00004f1c: DUP1 00004f1d: DUP5 00004f1e: MSTORE 00004f1f: PUSH2 0x4f2f 00004f22: DUP2 00004f23: PUSH1 0x20 00004f25: DUP7 00004f26: ADD 00004f27: PUSH1 0x20 00004f29: DUP7 00004f2a: ADD 00004f2b: PUSH2 0x4ef6 00004f2e: JUMP 00004f2f: JUMPDEST 00004f30: PUSH1 0x1f 00004f32: ADD 00004f33: PUSH1 0x1f 00004f35: NOT 00004f36: AND 00004f37: SWAP3 00004f38: SWAP1 00004f39: SWAP3 00004f3a: ADD 00004f3b: PUSH1 0x20 00004f3d: ADD 00004f3e: SWAP3 00004f3f: SWAP2 00004f40: POP 00004f41: POP 00004f42: JUMP 00004f43: JUMPDEST 00004f44: PUSH1 0xff 00004f46: PUSH1 0xf8 00004f48: SHL 00004f49: DUP9 00004f4a: AND 00004f4b: DUP2 00004f4c: MSTORE 00004f4d: PUSH1 0xe0 00004f4f: PUSH1 0x20 00004f51: DUP3 00004f52: ADD 00004f53: MSTORE 00004f54: PUSH0 00004f55: PUSH2 0x4f61 00004f58: PUSH1 0xe0 00004f5a: DUP4 00004f5b: ADD 00004f5c: DUP10 00004f5d: PUSH2 0x4f18 00004f60: JUMP 00004f61: JUMPDEST 00004f62: DUP3 00004f63: DUP2 00004f64: SUB 00004f65: PUSH1 0x40 00004f67: DUP5 00004f68: ADD 00004f69: MSTORE 00004f6a: PUSH2 0x4f73 00004f6d: DUP2 00004f6e: DUP10 00004f6f: PUSH2 0x4f18 00004f72: JUMP 00004f73: JUMPDEST 00004f74: PUSH1 0x60 00004f76: DUP5 00004f77: ADD 00004f78: DUP9 00004f79: SWAP1 00004f7a: MSTORE 00004f7b: PUSH1 0x01 00004f7d: PUSH1 0x01 00004f7f: PUSH1 0xa0 00004f81: SHL 00004f82: SUB 00004f83: DUP8 00004f84: AND 00004f85: PUSH1 0x80 00004f87: DUP6 00004f88: ADD 00004f89: MSTORE 00004f8a: PUSH1 0xa0 00004f8c: DUP5 00004f8d: ADD 00004f8e: DUP7 00004f8f: SWAP1 00004f90: MSTORE 00004f91: DUP4 00004f92: DUP2 00004f93: SUB 00004f94: PUSH1 0xc0 00004f96: DUP6 00004f97: ADD 00004f98: MSTORE 00004f99: SWAP1 00004f9a: POP 00004f9b: PUSH2 0x4fa4 00004f9e: DUP2 00004f9f: DUP6 00004fa0: PUSH2 0x4beb 00004fa3: JUMP 00004fa4: JUMPDEST 00004fa5: SWAP11 00004fa6: SWAP10 00004fa7: POP 00004fa8: POP 00004fa9: POP 00004faa: POP 00004fab: POP 00004fac: POP 00004fad: POP 00004fae: POP 00004faf: POP 00004fb0: POP 00004fb1: JUMP 00004fb2: JUMPDEST 00004fb3: PUSH0 00004fb4: DUP1 00004fb5: PUSH1 0x40 00004fb7: DUP4 00004fb8: DUP6 00004fb9: SUB 00004fba: SLT 00004fbb: ISZERO 00004fbc: PUSH2 0x4fc3 00004fbf: JUMPI 00004fc0: PUSH0 00004fc1: DUP1 00004fc2: REVERT 00004fc3: JUMPDEST 00004fc4: POP 00004fc5: POP 00004fc6: DUP1 00004fc7: CALLDATALOAD 00004fc8: SWAP3 00004fc9: PUSH1 0x20 00004fcb: SWAP1 00004fcc: SWAP2 00004fcd: ADD 00004fce: CALLDATALOAD 00004fcf: SWAP2 00004fd0: POP 00004fd1: JUMP 00004fd2: JUMPDEST 00004fd3: PUSH1 0x20 00004fd5: DUP1 00004fd6: DUP3 00004fd7: MSTORE 00004fd8: DUP3 00004fd9: MLOAD 00004fda: DUP3 00004fdb: DUP3 00004fdc: ADD 00004fdd: DUP2 00004fde: SWAP1 00004fdf: MSTORE 00004fe0: PUSH0 00004fe1: SWAP2 00004fe2: SWAP1 00004fe3: DUP5 00004fe4: DUP3 00004fe5: ADD 00004fe6: SWAP1 00004fe7: PUSH1 0x40 00004fe9: DUP6 00004fea: ADD 00004feb: SWAP1 00004fec: DUP5 00004fed: JUMPDEST 00004fee: DUP2 00004fef: DUP2 00004ff0: LT 00004ff1: ISZERO 00004ff2: PUSH2 0x5013 00004ff5: JUMPI 00004ff6: DUP4 00004ff7: MLOAD 00004ff8: PUSH1 0x01 00004ffa: PUSH1 0x01 00004ffc: PUSH1 0x80 00004ffe: SHL 00004fff: SUB 00005000: NOT 00005001: AND 00005002: DUP4 00005003: MSTORE 00005004: SWAP3 00005005: DUP5 00005006: ADD 00005007: SWAP3 00005008: SWAP2 00005009: DUP5 0000500a: ADD 0000500b: SWAP2 0000500c: PUSH1 0x01 0000500e: ADD 0000500f: PUSH2 0x4fed 00005012: JUMP 00005013: JUMPDEST 00005014: POP 00005015: SWAP1 00005016: SWAP7 00005017: SWAP6 00005018: POP 00005019: POP 0000501a: POP 0000501b: POP 0000501c: POP 0000501d: POP 0000501e: JUMP 0000501f: JUMPDEST 00005020: PUSH0 00005021: DUP1 00005022: PUSH0 00005023: PUSH1 0x60 00005025: DUP5 00005026: DUP7 00005027: SUB 00005028: SLT 00005029: ISZERO 0000502a: PUSH2 0x5031 0000502d: JUMPI 0000502e: PUSH0 0000502f: DUP1 00005030: REVERT 00005031: JUMPDEST 00005032: POP 00005033: POP 00005034: DUP2 00005035: CALLDATALOAD 00005036: SWAP4 00005037: PUSH1 0x20 00005039: DUP4 0000503a: ADD 0000503b: CALLDATALOAD 0000503c: SWAP4 0000503d: POP 0000503e: PUSH1 0x40 00005040: SWAP1 00005041: SWAP3 00005042: ADD 00005043: CALLDATALOAD 00005044: SWAP2 00005045: SWAP1 00005046: POP 00005047: JUMP 00005048: JUMPDEST 00005049: PUSH0 0000504a: DUP1 0000504b: PUSH0 0000504c: DUP4 0000504d: DUP6 0000504e: SUB 0000504f: PUSH1 0x60 00005051: DUP2 00005052: SLT 00005053: ISZERO 00005054: PUSH2 0x505b 00005057: JUMPI 00005058: PUSH0 00005059: DUP1 0000505a: REVERT 0000505b: JUMPDEST 0000505c: DUP5 0000505d: CALLDATALOAD 0000505e: PUSH1 0x01 00005060: PUSH1 0x01 00005062: PUSH1 0x40 00005064: SHL 00005065: SUB 00005066: DUP1 00005067: DUP3 00005068: GT 00005069: ISZERO 0000506a: PUSH2 0x5071 0000506d: JUMPI 0000506e: PUSH0 0000506f: DUP1 00005070: REVERT 00005071: JUMPDEST 00005072: DUP2 00005073: DUP8 00005074: ADD 00005075: SWAP2 00005076: POP 00005077: DUP8 00005078: PUSH1 0x1f 0000507a: DUP4 0000507b: ADD 0000507c: SLT 0000507d: PUSH2 0x5084 00005080: JUMPI 00005081: PUSH0 00005082: DUP1 00005083: REVERT 00005084: JUMPDEST 00005085: DUP2 00005086: CALLDATALOAD 00005087: DUP2 00005088: DUP2 00005089: GT 0000508a: ISZERO 0000508b: PUSH2 0x5092 0000508e: JUMPI 0000508f: PUSH0 00005090: DUP1 00005091: REVERT 00005092: JUMPDEST 00005093: DUP9 00005094: PUSH1 0x20 00005096: DUP3 00005097: PUSH1 0x07 00005099: SHL 0000509a: DUP6 0000509b: ADD 0000509c: ADD 0000509d: GT 0000509e: ISZERO 0000509f: PUSH2 0x50a6 000050a2: JUMPI 000050a3: PUSH0 000050a4: DUP1 000050a5: REVERT 000050a6: JUMPDEST 000050a7: PUSH1 0x20 000050a9: SWAP3 000050aa: SWAP1 000050ab: SWAP3 000050ac: ADD 000050ad: SWAP6 000050ae: POP 000050af: SWAP1 000050b0: SWAP4 000050b1: POP 000050b2: POP 000050b3: PUSH1 0x40 000050b5: PUSH1 0x1f 000050b7: NOT 000050b8: DUP3 000050b9: ADD 000050ba: SLT 000050bb: ISZERO 000050bc: PUSH2 0x50c3 000050bf: JUMPI 000050c0: PUSH0 000050c1: DUP1 000050c2: REVERT 000050c3: JUMPDEST 000050c4: POP 000050c5: PUSH1 0x20 000050c7: DUP5 000050c8: ADD 000050c9: SWAP1 000050ca: POP 000050cb: SWAP3 000050cc: POP 000050cd: SWAP3 000050ce: POP 000050cf: SWAP3 000050d0: JUMP 000050d1: JUMPDEST 000050d2: PUSH0 000050d3: PUSH1 0x20 000050d5: DUP3 000050d6: DUP5 000050d7: SUB 000050d8: SLT 000050d9: ISZERO 000050da: PUSH2 0x50e1 000050dd: JUMPI 000050de: PUSH0 000050df: DUP1 000050e0: REVERT 000050e1: JUMPDEST 000050e2: PUSH2 0x1cb2 000050e5: DUP3 000050e6: PUSH2 0x4934 000050e9: JUMP 000050ea: JUMPDEST 000050eb: PUSH0 000050ec: DUP1 000050ed: PUSH1 0x20 000050ef: DUP4 000050f0: DUP6 000050f1: SUB 000050f2: SLT 000050f3: ISZERO 000050f4: PUSH2 0x50fb 000050f7: JUMPI 000050f8: PUSH0 000050f9: DUP1 000050fa: REVERT 000050fb: JUMPDEST 000050fc: DUP3 000050fd: CALLDATALOAD 000050fe: PUSH1 0x01 00005100: PUSH1 0x01 00005102: PUSH1 0x40 00005104: SHL 00005105: SUB 00005106: DUP1 00005107: DUP3 00005108: GT 00005109: ISZERO 0000510a: PUSH2 0x5111 0000510d: JUMPI 0000510e: PUSH0 0000510f: DUP1 00005110: REVERT 00005111: JUMPDEST 00005112: DUP2 00005113: DUP6 00005114: ADD 00005115: SWAP2 00005116: POP 00005117: DUP6 00005118: PUSH1 0x1f 0000511a: DUP4 0000511b: ADD 0000511c: SLT 0000511d: PUSH2 0x5124 00005120: JUMPI 00005121: PUSH0 00005122: DUP1 00005123: REVERT 00005124: JUMPDEST 00005125: DUP2 00005126: CALLDATALOAD 00005127: DUP2 00005128: DUP2 00005129: GT 0000512a: ISZERO 0000512b: PUSH2 0x5132 0000512e: JUMPI 0000512f: PUSH0 00005130: DUP1 00005131: REVERT 00005132: JUMPDEST 00005133: DUP7 00005134: PUSH1 0x20 00005136: DUP3 00005137: PUSH1 0x06 00005139: SHL 0000513a: DUP6 0000513b: ADD 0000513c: ADD 0000513d: GT 0000513e: ISZERO 0000513f: PUSH2 0x5146 00005142: JUMPI 00005143: PUSH0 00005144: DUP1 00005145: REVERT 00005146: JUMPDEST 00005147: PUSH1 0x20 00005149: SWAP3 0000514a: SWAP1 0000514b: SWAP3 0000514c: ADD 0000514d: SWAP7 0000514e: SWAP2 0000514f: SWAP6 00005150: POP 00005151: SWAP1 00005152: SWAP4 00005153: POP 00005154: POP 00005155: POP 00005156: POP 00005157: JUMP 00005158: JUMPDEST 00005159: PUSH0 0000515a: PUSH1 0xa0 0000515c: DUP3 0000515d: DUP5 0000515e: SUB 0000515f: SLT 00005160: ISZERO 00005161: PUSH2 0x4ea2 00005164: JUMPI 00005165: PUSH0 00005166: DUP1 00005167: REVERT 00005168: JUMPDEST 00005169: PUSH0 0000516a: DUP1 0000516b: DUP4 0000516c: PUSH1 0x1f 0000516e: DUP5 0000516f: ADD 00005170: SLT 00005171: PUSH2 0x5178 00005174: JUMPI 00005175: PUSH0 00005176: DUP1 00005177: REVERT 00005178: JUMPDEST 00005179: POP 0000517a: DUP2 0000517b: CALLDATALOAD 0000517c: PUSH1 0x01 0000517e: PUSH1 0x01 00005180: PUSH1 0x40 00005182: SHL 00005183: SUB 00005184: DUP2 00005185: GT 00005186: ISZERO 00005187: PUSH2 0x518e 0000518a: JUMPI 0000518b: PUSH0 0000518c: DUP1 0000518d: REVERT 0000518e: JUMPDEST 0000518f: PUSH1 0x20 00005191: DUP4 00005192: ADD 00005193: SWAP2 00005194: POP 00005195: DUP4 00005196: PUSH1 0x20 00005198: DUP3 00005199: DUP6 0000519a: ADD 0000519b: ADD 0000519c: GT 0000519d: ISZERO 0000519e: PUSH2 0x4ba6 000051a1: JUMPI 000051a2: PUSH0 000051a3: DUP1 000051a4: REVERT 000051a5: JUMPDEST 000051a6: PUSH0 000051a7: DUP1 000051a8: PUSH0 000051a9: DUP1 000051aa: PUSH0 000051ab: PUSH1 0xe0 000051ad: DUP7 000051ae: DUP9 000051af: SUB 000051b0: SLT 000051b1: ISZERO 000051b2: PUSH2 0x51b9 000051b5: JUMPI 000051b6: PUSH0 000051b7: DUP1 000051b8: REVERT 000051b9: JUMPDEST 000051ba: PUSH2 0x51c3 000051bd: DUP8 000051be: DUP8 000051bf: PUSH2 0x5158 000051c2: JUMP 000051c3: JUMPDEST 000051c4: SWAP5 000051c5: POP 000051c6: PUSH1 0xa0 000051c8: DUP7 000051c9: ADD 000051ca: CALLDATALOAD 000051cb: PUSH1 0x01 000051cd: PUSH1 0x01 000051cf: PUSH1 0x40 000051d1: SHL 000051d2: SUB 000051d3: DUP1 000051d4: DUP3 000051d5: GT 000051d6: ISZERO 000051d7: PUSH2 0x51de 000051da: JUMPI 000051db: PUSH0 000051dc: DUP1 000051dd: REVERT 000051de: JUMPDEST 000051df: PUSH2 0x51ea 000051e2: DUP10 000051e3: DUP4 000051e4: DUP11 000051e5: ADD 000051e6: PUSH2 0x5168 000051e9: JUMP 000051ea: JUMPDEST 000051eb: SWAP1 000051ec: SWAP7 000051ed: POP 000051ee: SWAP5 000051ef: POP 000051f0: PUSH1 0xc0 000051f2: DUP9 000051f3: ADD 000051f4: CALLDATALOAD 000051f5: SWAP2 000051f6: POP 000051f7: DUP1 000051f8: DUP3 000051f9: GT 000051fa: ISZERO 000051fb: PUSH2 0x5202 000051fe: JUMPI 000051ff: PUSH0 00005200: DUP1 00005201: REVERT 00005202: JUMPDEST 00005203: POP 00005204: PUSH2 0x520f 00005207: DUP9 00005208: DUP3 00005209: DUP10 0000520a: ADD 0000520b: PUSH2 0x5168 0000520e: JUMP 0000520f: JUMPDEST 00005210: SWAP7 00005211: SWAP10 00005212: SWAP6 00005213: SWAP9 00005214: POP 00005215: SWAP4 00005216: SWAP7 00005217: POP 00005218: SWAP3 00005219: SWAP5 0000521a: SWAP4 0000521b: SWAP3 0000521c: POP 0000521d: POP 0000521e: POP 0000521f: JUMP 00005220: JUMPDEST 00005221: PUSH0 00005222: DUP1 00005223: PUSH0 00005224: DUP1 00005225: PUSH0 00005226: DUP1 00005227: PUSH0 00005228: DUP1 00005229: PUSH0 0000522a: DUP10 0000522b: DUP12 0000522c: SUB 0000522d: PUSH2 0x0200 00005230: DUP2 00005231: SLT 00005232: ISZERO 00005233: PUSH2 0x523a 00005236: JUMPI 00005237: PUSH0 00005238: DUP1 00005239: REVERT 0000523a: JUMPDEST 0000523b: PUSH1 0xe0 0000523d: DUP2 0000523e: SLT 0000523f: ISZERO 00005240: PUSH2 0x5247 00005243: JUMPI 00005244: PUSH0 00005245: DUP1 00005246: REVERT 00005247: JUMPDEST 00005248: POP 00005249: DUP10 0000524a: SWAP9 0000524b: POP 0000524c: PUSH1 0xe0 0000524e: DUP11 0000524f: ADD 00005250: CALLDATALOAD 00005251: PUSH1 0x01 00005253: PUSH1 0x01 00005255: PUSH1 0x40 00005257: SHL 00005258: SUB 00005259: DUP1 0000525a: DUP3 0000525b: GT 0000525c: ISZERO 0000525d: PUSH2 0x5264 00005260: JUMPI 00005261: PUSH0 00005262: DUP1 00005263: REVERT 00005264: JUMPDEST 00005265: PUSH2 0x5270 00005268: DUP14 00005269: DUP4 0000526a: DUP15 0000526b: ADD 0000526c: PUSH2 0x5168 0000526f: JUMP 00005270: JUMPDEST 00005271: SWAP1 00005272: SWAP11 00005273: POP 00005274: SWAP9 00005275: POP 00005276: PUSH2 0x0100 00005279: DUP13 0000527a: ADD 0000527b: CALLDATALOAD 0000527c: SWAP2 0000527d: POP 0000527e: DUP1 0000527f: DUP3 00005280: GT 00005281: ISZERO 00005282: PUSH2 0x5289 00005285: JUMPI 00005286: PUSH0 00005287: DUP1 00005288: REVERT 00005289: JUMPDEST 0000528a: PUSH2 0x5295 0000528d: DUP14 0000528e: DUP4 0000528f: DUP15 00005290: ADD 00005291: PUSH2 0x5168 00005294: JUMP 00005295: JUMPDEST 00005296: SWAP1 00005297: SWAP9 00005298: POP 00005299: SWAP7 0000529a: POP 0000529b: DUP7 0000529c: SWAP2 0000529d: POP 0000529e: PUSH2 0x52ab 000052a1: DUP14 000052a2: PUSH2 0x0120 000052a5: DUP15 000052a6: ADD 000052a7: PUSH2 0x5158 000052aa: JUMP 000052ab: JUMPDEST 000052ac: SWAP6 000052ad: POP 000052ae: PUSH2 0x01c0 000052b1: DUP13 000052b2: ADD 000052b3: CALLDATALOAD 000052b4: SWAP2 000052b5: POP 000052b6: DUP1 000052b7: DUP3 000052b8: GT 000052b9: ISZERO 000052ba: PUSH2 0x52c1 000052bd: JUMPI 000052be: PUSH0 000052bf: DUP1 000052c0: REVERT 000052c1: JUMPDEST 000052c2: POP 000052c3: PUSH2 0x52ce 000052c6: DUP13 000052c7: DUP3 000052c8: DUP14 000052c9: ADD 000052ca: PUSH2 0x4b66 000052cd: JUMP 000052ce: JUMPDEST 000052cf: SWAP1 000052d0: SWAP5 000052d1: POP 000052d2: SWAP3 000052d3: POP 000052d4: POP 000052d5: PUSH2 0x01e0 000052d8: DUP11 000052d9: ADD 000052da: CALLDATALOAD 000052db: PUSH2 0x52e3 000052de: DUP2 000052df: PUSH2 0x4838 000052e2: JUMP 000052e3: JUMPDEST 000052e4: DUP1 000052e5: SWAP2 000052e6: POP 000052e7: POP 000052e8: SWAP3 000052e9: SWAP6 000052ea: SWAP9 000052eb: POP 000052ec: SWAP3 000052ed: SWAP6 000052ee: SWAP9 000052ef: POP 000052f0: SWAP3 000052f1: SWAP6 000052f2: SWAP9 000052f3: JUMP 000052f4: JUMPDEST 000052f5: PUSH4 0x4e487b71 000052fa: PUSH1 0xe0 000052fc: SHL 000052fd: PUSH0 000052fe: MSTORE 000052ff: PUSH1 0x32 00005301: PUSH1 0x04 00005303: MSTORE 00005304: PUSH1 0x24 00005306: PUSH0 00005307: REVERT 00005308: JUMPDEST 00005309: PUSH0 0000530a: PUSH1 0x20 0000530c: DUP3 0000530d: DUP5 0000530e: SUB 0000530f: SLT 00005310: ISZERO 00005311: PUSH2 0x5318 00005314: JUMPI 00005315: PUSH0 00005316: DUP1 00005317: REVERT 00005318: JUMPDEST 00005319: PUSH2 0x1cb2 0000531c: DUP3 0000531d: PUSH2 0x4783 00005320: JUMP 00005321: JUMPDEST 00005322: PUSH0 00005323: PUSH1 0xa0 00005325: DUP3 00005326: DUP5 00005327: SUB 00005328: SLT 00005329: ISZERO 0000532a: PUSH2 0x5331 0000532d: JUMPI 0000532e: PUSH0 0000532f: DUP1 00005330: REVERT 00005331: JUMPDEST 00005332: PUSH2 0x1cb2 00005335: DUP4 00005336: DUP4 00005337: PUSH2 0x4845 0000533a: JUMP 0000533b: JUMPDEST 0000533c: PUSH0 0000533d: PUSH1 0x20 0000533f: DUP3 00005340: DUP5 00005341: SUB 00005342: SLT 00005343: ISZERO 00005344: PUSH2 0x534b 00005347: JUMPI 00005348: PUSH0 00005349: DUP1 0000534a: REVERT 0000534b: JUMPDEST 0000534c: DUP2 0000534d: CALLDATALOAD 0000534e: PUSH2 0x1cb2 00005351: DUP2 00005352: PUSH2 0x4824 00005355: JUMP 00005356: JUMPDEST 00005357: PUSH0 00005358: PUSH1 0x60 0000535a: DUP3 0000535b: DUP5 0000535c: SUB 0000535d: SLT 0000535e: ISZERO 0000535f: PUSH2 0x5366 00005362: JUMPI 00005363: PUSH0 00005364: DUP1 00005365: REVERT 00005366: JUMPDEST 00005367: PUSH2 0x1cb2 0000536a: DUP4 0000536b: DUP4 0000536c: PUSH2 0x4945 0000536f: JUMP 00005370: JUMPDEST 00005371: PUSH0 00005372: PUSH1 0x60 00005374: DUP3 00005375: DUP5 00005376: SUB 00005377: SLT 00005378: ISZERO 00005379: PUSH2 0x5380 0000537c: JUMPI 0000537d: PUSH0 0000537e: DUP1 0000537f: REVERT 00005380: JUMPDEST 00005381: PUSH2 0x1cb2 00005384: DUP4 00005385: DUP4 00005386: PUSH2 0x47af 00005389: JUMP 0000538a: JUMPDEST 0000538b: DUP2 0000538c: CALLDATALOAD 0000538d: PUSH2 0x5395 00005390: DUP2 00005391: PUSH2 0x475f 00005394: JUMP 00005395: JUMPDEST 00005396: DUP2 00005397: SLOAD 00005398: PUSH1 0x01 0000539a: PUSH1 0x01 0000539c: PUSH1 0xa0 0000539e: SHL 0000539f: SUB 000053a0: NOT 000053a1: DUP2 000053a2: AND 000053a3: PUSH1 0x01 000053a5: PUSH1 0x01 000053a7: PUSH1 0xa0 000053a9: SHL 000053aa: SUB 000053ab: SWAP3 000053ac: SWAP1 000053ad: SWAP3 000053ae: AND 000053af: SWAP2 000053b0: DUP3 000053b1: OR 000053b2: DUP4 000053b3: SSTORE 000053b4: PUSH1 0x20 000053b6: DUP5 000053b7: ADD 000053b8: CALLDATALOAD 000053b9: PUSH2 0x53c1 000053bc: DUP2 000053bd: PUSH2 0x479a 000053c0: JUMP 000053c1: JUMPDEST 000053c2: PUSH6 0xffffffffffff 000053c9: PUSH1 0xa0 000053cb: SHL 000053cc: PUSH1 0x30 000053ce: SWAP2 000053cf: SWAP1 000053d0: SWAP2 000053d1: SHR 000053d2: AND 000053d3: PUSH1 0x01 000053d5: PUSH1 0x01 000053d7: PUSH1 0xd0 000053d9: SHL 000053da: SUB 000053db: NOT 000053dc: SWAP2 000053dd: DUP3 000053de: AND 000053df: DUP4 000053e0: OR 000053e1: DUP2 000053e2: OR 000053e3: DUP5 000053e4: SSTORE 000053e5: PUSH1 0x40 000053e7: DUP6 000053e8: ADD 000053e9: CALLDATALOAD 000053ea: SWAP2 000053eb: PUSH2 0x53f3 000053ee: DUP4 000053ef: PUSH2 0x479a 000053f2: JUMP 000053f3: JUMPDEST 000053f4: SWAP3 000053f5: OR 000053f6: SWAP2 000053f7: AND 000053f8: OR 000053f9: SWAP1 000053fa: SSTORE 000053fb: POP 000053fc: JUMP 000053fd: JUMPDEST 000053fe: PUSH1 0x60 00005400: DUP2 00005401: ADD 00005402: DUP3 00005403: CALLDATALOAD 00005404: PUSH2 0x540c 00005407: DUP2 00005408: PUSH2 0x475f 0000540b: JUMP 0000540c: JUMPDEST 0000540d: PUSH1 0x01 0000540f: PUSH1 0x01 00005411: PUSH1 0xa0 00005413: SHL 00005414: SUB 00005415: AND 00005416: DUP3 00005417: MSTORE 00005418: PUSH1 0x20 0000541a: DUP4 0000541b: ADD 0000541c: CALLDATALOAD 0000541d: PUSH2 0x5425 00005420: DUP2 00005421: PUSH2 0x479a 00005424: JUMP 00005425: JUMPDEST 00005426: PUSH1 0x01 00005428: PUSH1 0x01 0000542a: PUSH1 0xd0 0000542c: SHL 0000542d: SUB 0000542e: NOT 0000542f: SWAP1 00005430: DUP2 00005431: AND 00005432: PUSH1 0x20 00005434: DUP5 00005435: ADD 00005436: MSTORE 00005437: PUSH1 0x40 00005439: DUP5 0000543a: ADD 0000543b: CALLDATALOAD 0000543c: SWAP1 0000543d: PUSH2 0x5445 00005440: DUP3 00005441: PUSH2 0x479a 00005444: JUMP 00005445: JUMPDEST 00005446: DUP1 00005447: DUP3 00005448: AND 00005449: PUSH1 0x40 0000544b: DUP6 0000544c: ADD 0000544d: MSTORE 0000544e: POP 0000544f: POP 00005450: SWAP3 00005451: SWAP2 00005452: POP 00005453: POP 00005454: JUMP 00005455: JUMPDEST 00005456: PUSH1 0x40 00005458: DUP2 00005459: MSTORE 0000545a: PUSH1 0x24 0000545c: PUSH1 0x40 0000545e: DUP3 0000545f: ADD 00005460: MSTORE 00005461: PUSH32 0x736574556e6c6f636b65722828616464726573732c6279746573362c62797465 00005482: PUSH1 0x60 00005484: DUP3 00005485: ADD 00005486: MSTORE 00005487: PUSH4 0x73362929 0000548c: PUSH1 0xe0 0000548e: SHL 0000548f: PUSH1 0x80 00005491: DUP3 00005492: ADD 00005493: MSTORE 00005494: PUSH1 0xa0 00005496: PUSH1 0x20 00005498: DUP3 00005499: ADD 0000549a: MSTORE 0000549b: PUSH0 0000549c: PUSH2 0x1cb2 0000549f: PUSH1 0xa0 000054a1: DUP4 000054a2: ADD 000054a3: DUP5 000054a4: PUSH2 0x4f18 000054a7: JUMP 000054a8: JUMPDEST 000054a9: PUSH0 000054aa: PUSH1 0x20 000054ac: DUP3 000054ad: DUP5 000054ae: SUB 000054af: SLT 000054b0: ISZERO 000054b1: PUSH2 0x54b8 000054b4: JUMPI 000054b5: PUSH0 000054b6: DUP1 000054b7: REVERT 000054b8: JUMPDEST 000054b9: DUP2 000054ba: MLOAD 000054bb: PUSH2 0x1cb2 000054be: DUP2 000054bf: PUSH2 0x475f 000054c2: JUMP 000054c3: JUMPDEST 000054c4: PUSH4 0x4e487b71 000054c9: PUSH1 0xe0 000054cb: SHL 000054cc: PUSH0 000054cd: MSTORE 000054ce: PUSH1 0x11 000054d0: PUSH1 0x04 000054d2: MSTORE 000054d3: PUSH1 0x24 000054d5: PUSH0 000054d6: REVERT 000054d7: JUMPDEST 000054d8: DUP1 000054d9: DUP3 000054da: ADD 000054db: DUP1 000054dc: DUP3 000054dd: GT 000054de: ISZERO 000054df: PUSH2 0x0998 000054e2: JUMPI 000054e3: PUSH2 0x0998 000054e6: PUSH2 0x54c3 000054e9: JUMP 000054ea: JUMPDEST 000054eb: DUP2 000054ec: CALLDATALOAD 000054ed: DUP2 000054ee: SSTORE 000054ef: PUSH1 0x01 000054f1: DUP2 000054f2: ADD 000054f3: PUSH1 0x20 000054f5: DUP4 000054f6: ADD 000054f7: CALLDATALOAD 000054f8: PUSH2 0x5500 000054fb: DUP2 000054fc: PUSH2 0x4824 000054ff: JUMP 00005500: JUMPDEST 00005501: DUP2 00005502: SLOAD 00005503: PUSH8 0xffffffffffffffff 0000550c: NOT 0000550d: AND 0000550e: PUSH1 0x01 00005510: PUSH1 0x01 00005512: PUSH1 0x40 00005514: SHL 00005515: SUB 00005516: SWAP2 00005517: SWAP1 00005518: SWAP2 00005519: AND 0000551a: OR 0000551b: SWAP1 0000551c: SSTORE 0000551d: POP 0000551e: POP 0000551f: JUMP 00005520: JUMPDEST 00005521: PUSH2 0xffff 00005524: DUP3 00005525: DUP2 00005526: AND 00005527: DUP3 00005528: DUP3 00005529: AND 0000552a: SUB 0000552b: SWAP1 0000552c: DUP1 0000552d: DUP3 0000552e: GT 0000552f: ISZERO 00005530: PUSH2 0x391f 00005533: JUMPI 00005534: PUSH2 0x391f 00005537: PUSH2 0x54c3 0000553a: JUMP 0000553b: JUMPDEST 0000553c: PUSH2 0xffff 0000553f: DUP2 00005540: DUP2 00005541: AND 00005542: DUP4 00005543: DUP3 00005544: AND 00005545: ADD 00005546: SWAP1 00005547: DUP1 00005548: DUP3 00005549: GT 0000554a: ISZERO 0000554b: PUSH2 0x391f 0000554e: JUMPI 0000554f: PUSH2 0x391f 00005552: PUSH2 0x54c3 00005555: JUMP 00005556: JUMPDEST 00005557: PUSH0 00005558: PUSH1 0xa0 0000555a: DUP3 0000555b: DUP5 0000555c: SUB 0000555d: SLT 0000555e: ISZERO 0000555f: PUSH2 0x5566 00005562: JUMPI 00005563: PUSH0 00005564: DUP1 00005565: REVERT 00005566: JUMPDEST 00005567: PUSH2 0x556e 0000556a: PUSH2 0x46ea 0000556d: JUMP 0000556e: JUMPDEST 0000556f: PUSH2 0x5577 00005572: DUP4 00005573: PUSH2 0x4783 00005576: JUMP 00005577: JUMPDEST 00005578: DUP2 00005579: MSTORE 0000557a: PUSH2 0x5585 0000557d: PUSH1 0x20 0000557f: DUP5 00005580: ADD 00005581: PUSH2 0x4783 00005584: JUMP 00005585: JUMPDEST 00005586: PUSH1 0x20 00005588: DUP3 00005589: ADD 0000558a: MSTORE 0000558b: PUSH1 0x40 0000558d: DUP4 0000558e: ADD 0000558f: CALLDATALOAD 00005590: PUSH2 0x5598 00005593: DUP2 00005594: PUSH2 0x475f 00005597: JUMP 00005598: JUMPDEST 00005599: PUSH1 0x40 0000559b: DUP3 0000559c: ADD 0000559d: MSTORE 0000559e: PUSH1 0x60 000055a0: DUP4 000055a1: DUP2 000055a2: ADD 000055a3: CALLDATALOAD 000055a4: SWAP1 000055a5: DUP3 000055a6: ADD 000055a7: MSTORE 000055a8: PUSH1 0x80 000055aa: SWAP3 000055ab: DUP4 000055ac: ADD 000055ad: CALLDATALOAD 000055ae: SWAP3 000055af: DUP2 000055b0: ADD 000055b1: SWAP3 000055b2: SWAP1 000055b3: SWAP3 000055b4: MSTORE 000055b5: POP 000055b6: SWAP2 000055b7: SWAP1 000055b8: POP 000055b9: JUMP 000055ba: JUMPDEST 000055bb: PUSH1 0x20 000055bd: DUP1 000055be: DUP3 000055bf: MSTORE 000055c0: PUSH1 0x2c 000055c2: SWAP1 000055c3: DUP3 000055c4: ADD 000055c5: MSTORE 000055c6: PUSH32 0x656e74697479555549442063616e6e6f742062652074686520706c6174666f72 000055e7: PUSH1 0x40 000055e9: DUP3 000055ea: ADD 000055eb: MSTORE 000055ec: PUSH12 0x1b48195b9d1a5d1e55555251 000055f9: PUSH1 0xa2 000055fb: SHL 000055fc: PUSH1 0x60 000055fe: DUP3 000055ff: ADD 00005600: MSTORE 00005601: PUSH1 0x80 00005603: ADD 00005604: SWAP1 00005605: JUMP 00005606: JUMPDEST 00005607: PUSH1 0x01 00005609: PUSH1 0x01 0000560b: PUSH1 0x40 0000560d: SHL 0000560e: SUB 0000560f: DUP2 00005610: DUP2 00005611: AND 00005612: DUP4 00005613: DUP3 00005614: AND 00005615: ADD 00005616: SWAP1 00005617: DUP1 00005618: DUP3 00005619: GT 0000561a: ISZERO 0000561b: PUSH2 0x391f 0000561e: JUMPI 0000561f: PUSH2 0x391f 00005622: PUSH2 0x54c3 00005625: JUMP 00005626: JUMPDEST 00005627: PUSH1 0x60 00005629: DUP1 0000562a: DUP3 0000562b: MSTORE 0000562c: DUP5 0000562d: MLOAD 0000562e: SWAP1 0000562f: DUP3 00005630: ADD 00005631: DUP2 00005632: SWAP1 00005633: MSTORE 00005634: PUSH0 00005635: SWAP1 00005636: PUSH1 0x20 00005638: SWAP1 00005639: PUSH1 0x80 0000563b: DUP5 0000563c: ADD 0000563d: SWAP1 0000563e: DUP3 0000563f: DUP9 00005640: ADD 00005641: DUP5 00005642: JUMPDEST 00005643: DUP3 00005644: DUP2 00005645: LT 00005646: ISZERO 00005647: PUSH2 0x565e 0000564a: JUMPI 0000564b: DUP2 0000564c: MLOAD 0000564d: DUP5 0000564e: MSTORE 0000564f: SWAP3 00005650: DUP5 00005651: ADD 00005652: SWAP3 00005653: SWAP1 00005654: DUP5 00005655: ADD 00005656: SWAP1 00005657: PUSH1 0x01 00005659: ADD 0000565a: PUSH2 0x5642 0000565d: JUMP 0000565e: JUMPDEST 0000565f: POP 00005660: POP 00005661: POP 00005662: PUSH1 0x20 00005664: DUP5 00005665: ADD 00005666: SWAP6 00005667: SWAP1 00005668: SWAP6 00005669: MSTORE 0000566a: POP 0000566b: POP 0000566c: PUSH1 0x40 0000566e: ADD 0000566f: MSTORE 00005670: SWAP2 00005671: SWAP1 00005672: POP 00005673: JUMP 00005674: JUMPDEST 00005675: PUSH1 0x40 00005677: DUP2 00005678: MSTORE 00005679: PUSH1 0x10 0000567b: PUSH1 0x40 0000567d: DUP3 0000567e: ADD 0000567f: MSTORE 00005680: PUSH16 0x736574456e61626c656428626f6f6c29 00005691: PUSH1 0x80 00005693: SHL 00005694: PUSH1 0x60 00005696: DUP3 00005697: ADD 00005698: MSTORE 00005699: PUSH1 0x80 0000569b: PUSH1 0x20 0000569d: DUP3 0000569e: ADD 0000569f: MSTORE 000056a0: PUSH0 000056a1: PUSH2 0x1cb2 000056a4: PUSH1 0x80 000056a6: DUP4 000056a7: ADD 000056a8: DUP5 000056a9: PUSH2 0x4f18 000056ac: JUMP 000056ad: JUMPDEST 000056ae: DUP2 000056af: DUP2 000056b0: SUB 000056b1: DUP2 000056b2: DUP2 000056b3: GT 000056b4: ISZERO 000056b5: PUSH2 0x0998 000056b8: JUMPI 000056b9: PUSH2 0x0998 000056bc: PUSH2 0x54c3 000056bf: JUMP 000056c0: JUMPDEST 000056c1: PUSH0 000056c2: PUSH1 0x20 000056c4: DUP3 000056c5: DUP5 000056c6: SUB 000056c7: SLT 000056c8: ISZERO 000056c9: PUSH2 0x56d0 000056cc: JUMPI 000056cd: PUSH0 000056ce: DUP1 000056cf: REVERT 000056d0: JUMPDEST 000056d1: POP 000056d2: MLOAD 000056d3: SWAP2 000056d4: SWAP1 000056d5: POP 000056d6: JUMP 000056d7: JUMPDEST 000056d8: PUSH1 0x20 000056da: DUP2 000056db: MSTORE 000056dc: PUSH0 000056dd: PUSH2 0x1cb2 000056e0: PUSH1 0x20 000056e2: DUP4 000056e3: ADD 000056e4: DUP5 000056e5: PUSH2 0x4f18 000056e8: JUMP 000056e9: JUMPDEST 000056ea: PUSH1 0x01 000056ec: DUP2 000056ed: DUP2 000056ee: SHR 000056ef: SWAP1 000056f0: DUP3 000056f1: AND 000056f2: DUP1 000056f3: PUSH2 0x56fd 000056f6: JUMPI 000056f7: PUSH1 0x7f 000056f9: DUP3 000056fa: AND 000056fb: SWAP2 000056fc: POP 000056fd: JUMPDEST 000056fe: PUSH1 0x20 00005700: DUP3 00005701: LT 00005702: DUP2 00005703: SUB 00005704: PUSH2 0x4ea2 00005707: JUMPI 00005708: PUSH4 0x4e487b71 0000570d: PUSH1 0xe0 0000570f: SHL 00005710: PUSH0 00005711: MSTORE 00005712: PUSH1 0x22 00005714: PUSH1 0x04 00005716: MSTORE 00005717: PUSH1 0x24 00005719: PUSH0 0000571a: REVERT 0000571b: JUMPDEST 0000571c: PUSH0 0000571d: PUSH1 0x40 0000571f: DUP3 00005720: DUP5 00005721: SUB 00005722: SLT 00005723: ISZERO 00005724: PUSH2 0x572b 00005727: JUMPI 00005728: PUSH0 00005729: DUP1 0000572a: REVERT 0000572b: JUMPDEST 0000572c: PUSH1 0x40 0000572e: MLOAD 0000572f: PUSH1 0x40 00005731: DUP2 00005732: ADD 00005733: DUP2 00005734: DUP2 00005735: LT 00005736: PUSH1 0x01 00005738: PUSH1 0x01 0000573a: PUSH1 0x40 0000573c: SHL 0000573d: SUB 0000573e: DUP3 0000573f: GT 00005740: OR 00005741: ISZERO 00005742: PUSH2 0x574d 00005745: JUMPI 00005746: PUSH2 0x574d 00005749: PUSH2 0x46ae 0000574c: JUMP 0000574d: JUMPDEST 0000574e: PUSH1 0x40 00005750: MSTORE 00005751: DUP3 00005752: CALLDATALOAD 00005753: DUP2 00005754: MSTORE 00005755: PUSH1 0x20 00005757: SWAP3 00005758: DUP4 00005759: ADD 0000575a: CALLDATALOAD 0000575b: SWAP3 0000575c: DUP2 0000575d: ADD 0000575e: SWAP3 0000575f: SWAP1 00005760: SWAP3 00005761: MSTORE 00005762: POP 00005763: SWAP2 00005764: SWAP1 00005765: POP 00005766: JUMP 00005767: JUMPDEST 00005768: PUSH0 00005769: PUSH1 0x40 0000576b: DUP3 0000576c: DUP5 0000576d: SUB 0000576e: SLT 0000576f: ISZERO 00005770: PUSH2 0x5777 00005773: JUMPI 00005774: PUSH0 00005775: DUP1 00005776: REVERT 00005777: JUMPDEST 00005778: PUSH2 0x1cb2 0000577b: DUP4 0000577c: DUP4 0000577d: PUSH2 0x571b 00005780: JUMP 00005781: JUMPDEST 00005782: PUSH4 0x4e487b71 00005787: PUSH1 0xe0 00005789: SHL 0000578a: PUSH0 0000578b: MSTORE 0000578c: PUSH1 0x21 0000578e: PUSH1 0x04 00005790: MSTORE 00005791: PUSH1 0x24 00005793: PUSH0 00005794: REVERT 00005795: JUMPDEST 00005796: PUSH1 0xa0 00005798: DUP2 00005799: ADD 0000579a: PUSH1 0x01 0000579c: PUSH1 0x01 0000579e: PUSH1 0x80 000057a0: SHL 000057a1: SUB 000057a2: NOT 000057a3: PUSH2 0x57ab 000057a6: DUP5 000057a7: PUSH2 0x4783 000057aa: JUMP 000057ab: JUMPDEST 000057ac: AND 000057ad: DUP3 000057ae: MSTORE 000057af: PUSH1 0x20 000057b1: DUP4 000057b2: ADD 000057b3: CALLDATALOAD 000057b4: PUSH2 0x57bc 000057b7: DUP2 000057b8: PUSH2 0x475f 000057bb: JUMP 000057bc: JUMPDEST 000057bd: PUSH1 0x01 000057bf: PUSH1 0x01 000057c1: PUSH1 0xa0 000057c3: SHL 000057c4: SUB 000057c5: AND 000057c6: PUSH1 0x20 000057c8: DUP4 000057c9: ADD 000057ca: MSTORE 000057cb: PUSH1 0x40 000057cd: DUP4 000057ce: ADD 000057cf: CALLDATALOAD 000057d0: PUSH2 0x57d8 000057d3: DUP2 000057d4: PUSH2 0x4824 000057d7: JUMP 000057d8: JUMPDEST 000057d9: PUSH1 0x01 000057db: PUSH1 0x01 000057dd: PUSH1 0x40 000057df: SHL 000057e0: SUB 000057e1: SWAP1 000057e2: DUP2 000057e3: AND 000057e4: PUSH1 0x40 000057e6: DUP5 000057e7: ADD 000057e8: MSTORE 000057e9: PUSH1 0x60 000057eb: DUP5 000057ec: ADD 000057ed: CALLDATALOAD 000057ee: SWAP1 000057ef: PUSH2 0x57f7 000057f2: DUP3 000057f3: PUSH2 0x4824 000057f6: JUMP 000057f7: JUMPDEST 000057f8: AND 000057f9: PUSH1 0x60 000057fb: DUP4 000057fc: ADD 000057fd: MSTORE 000057fe: PUSH1 0x80 00005800: DUP4 00005801: ADD 00005802: CALLDATALOAD 00005803: PUSH2 0x580b 00005806: DUP2 00005807: PUSH2 0x4838 0000580a: JUMP 0000580b: JUMPDEST 0000580c: DUP1 0000580d: ISZERO 0000580e: ISZERO 0000580f: PUSH1 0x80 00005811: DUP5 00005812: ADD 00005813: MSTORE 00005814: POP 00005815: SWAP3 00005816: SWAP2 00005817: POP 00005818: POP 00005819: JUMP 0000581a: JUMPDEST 0000581b: PUSH0 0000581c: PUSH1 0xe0 0000581e: DUP3 0000581f: DUP5 00005820: SUB 00005821: SLT 00005822: ISZERO 00005823: PUSH2 0x582a 00005826: JUMPI 00005827: PUSH0 00005828: DUP1 00005829: REVERT 0000582a: JUMPDEST 0000582b: PUSH1 0x40 0000582d: MLOAD 0000582e: PUSH1 0xc0 00005830: DUP2 00005831: ADD 00005832: DUP2 00005833: DUP2 00005834: LT 00005835: PUSH1 0x01 00005837: PUSH1 0x01 00005839: PUSH1 0x40 0000583b: SHL 0000583c: SUB 0000583d: DUP3 0000583e: GT 0000583f: OR 00005840: ISZERO 00005841: PUSH2 0x584c 00005844: JUMPI 00005845: PUSH2 0x584c 00005848: PUSH2 0x46ae 0000584b: JUMP 0000584c: JUMPDEST 0000584d: PUSH1 0x40 0000584f: MSTORE 00005850: PUSH2 0x5858 00005853: DUP4 00005854: PUSH2 0x4783 00005857: JUMP 00005858: JUMPDEST 00005859: DUP2 0000585a: MSTORE 0000585b: PUSH2 0x5866 0000585e: PUSH1 0x20 00005860: DUP5 00005861: ADD 00005862: PUSH2 0x4783 00005865: JUMP 00005866: JUMPDEST 00005867: PUSH1 0x20 00005869: DUP3 0000586a: ADD 0000586b: MSTORE 0000586c: PUSH1 0x40 0000586e: DUP4 0000586f: ADD 00005870: CALLDATALOAD 00005871: PUSH2 0x5879 00005874: DUP2 00005875: PUSH2 0x475f 00005878: JUMP 00005879: JUMPDEST 0000587a: PUSH1 0x40 0000587c: DUP3 0000587d: ADD 0000587e: MSTORE 0000587f: PUSH1 0x60 00005881: DUP4 00005882: DUP2 00005883: ADD 00005884: CALLDATALOAD 00005885: SWAP1 00005886: DUP3 00005887: ADD 00005888: MSTORE 00005889: PUSH2 0x5895 0000588c: DUP5 0000588d: PUSH1 0x80 0000588f: DUP6 00005890: ADD 00005891: PUSH2 0x571b 00005894: JUMP 00005895: JUMPDEST 00005896: PUSH1 0x80 00005898: DUP3 00005899: ADD 0000589a: MSTORE 0000589b: PUSH1 0xc0 0000589d: SWAP3 0000589e: SWAP1 0000589f: SWAP3 000058a0: ADD 000058a1: CALLDATALOAD 000058a2: PUSH1 0xa0 000058a4: DUP4 000058a5: ADD 000058a6: MSTORE 000058a7: POP 000058a8: SWAP2 000058a9: SWAP1 000058aa: POP 000058ab: JUMP 000058ac: JUMPDEST 000058ad: PUSH1 0x1f 000058af: DUP3 000058b0: GT 000058b1: ISZERO 000058b2: PUSH2 0x102b 000058b5: JUMPI 000058b6: DUP1 000058b7: PUSH0 000058b8: MSTORE 000058b9: PUSH1 0x20 000058bb: PUSH0 000058bc: KECCAK256 000058bd: PUSH1 0x1f 000058bf: DUP5 000058c0: ADD 000058c1: PUSH1 0x05 000058c3: SHR 000058c4: DUP2 000058c5: ADD 000058c6: PUSH1 0x20 000058c8: DUP6 000058c9: LT 000058ca: ISZERO 000058cb: PUSH2 0x58d1 000058ce: JUMPI 000058cf: POP 000058d0: DUP1 000058d1: JUMPDEST 000058d2: PUSH1 0x1f 000058d4: DUP5 000058d5: ADD 000058d6: PUSH1 0x05 000058d8: SHR 000058d9: DUP3 000058da: ADD 000058db: SWAP2 000058dc: POP 000058dd: JUMPDEST 000058de: DUP2 000058df: DUP2 000058e0: LT 000058e1: ISZERO 000058e2: PUSH2 0x58f0 000058e5: JUMPI 000058e6: PUSH0 000058e7: DUP2 000058e8: SSTORE 000058e9: PUSH1 0x01 000058eb: ADD 000058ec: PUSH2 0x58dd 000058ef: JUMP 000058f0: JUMPDEST 000058f1: POP 000058f2: POP 000058f3: POP 000058f4: POP 000058f5: POP 000058f6: JUMP 000058f7: JUMPDEST 000058f8: DUP2 000058f9: MLOAD 000058fa: PUSH1 0x01 000058fc: PUSH1 0x01 000058fe: PUSH1 0x40 00005900: SHL 00005901: SUB 00005902: DUP2 00005903: GT 00005904: ISZERO 00005905: PUSH2 0x5910 00005908: JUMPI 00005909: PUSH2 0x5910 0000590c: PUSH2 0x46ae 0000590f: JUMP 00005910: JUMPDEST 00005911: PUSH2 0x5924 00005914: DUP2 00005915: PUSH2 0x591e 00005918: DUP5 00005919: SLOAD 0000591a: PUSH2 0x56e9 0000591d: JUMP 0000591e: JUMPDEST 0000591f: DUP5 00005920: PUSH2 0x58ac 00005923: JUMP 00005924: JUMPDEST 00005925: PUSH1 0x20 00005927: DUP1 00005928: PUSH1 0x1f 0000592a: DUP4 0000592b: GT 0000592c: PUSH1 0x01 0000592e: DUP2 0000592f: EQ 00005930: PUSH2 0x5957 00005933: JUMPI 00005934: PUSH0 00005935: DUP5 00005936: ISZERO 00005937: PUSH2 0x5940 0000593a: JUMPI 0000593b: POP 0000593c: DUP6 0000593d: DUP4 0000593e: ADD 0000593f: MLOAD 00005940: JUMPDEST 00005941: PUSH0 00005942: NOT 00005943: PUSH1 0x03 00005945: DUP7 00005946: SWAP1 00005947: SHL 00005948: SHR 00005949: NOT 0000594a: AND 0000594b: PUSH1 0x01 0000594d: DUP6 0000594e: SWAP1 0000594f: SHL 00005950: OR 00005951: DUP6 00005952: SSTORE 00005953: PUSH2 0x0d74 00005956: JUMP 00005957: JUMPDEST 00005958: PUSH0 00005959: DUP6 0000595a: DUP2 0000595b: MSTORE 0000595c: PUSH1 0x20 0000595e: DUP2 0000595f: KECCAK256 00005960: PUSH1 0x1f 00005962: NOT 00005963: DUP7 00005964: AND 00005965: SWAP2 00005966: JUMPDEST 00005967: DUP3 00005968: DUP2 00005969: LT 0000596a: ISZERO 0000596b: PUSH2 0x5985 0000596e: JUMPI 0000596f: DUP9 00005970: DUP7 00005971: ADD 00005972: MLOAD 00005973: DUP3 00005974: SSTORE 00005975: SWAP5 00005976: DUP5 00005977: ADD 00005978: SWAP5 00005979: PUSH1 0x01 0000597b: SWAP1 0000597c: SWAP2 0000597d: ADD 0000597e: SWAP1 0000597f: DUP5 00005980: ADD 00005981: PUSH2 0x5966 00005984: JUMP 00005985: JUMPDEST 00005986: POP 00005987: DUP6 00005988: DUP3 00005989: LT 0000598a: ISZERO 0000598b: PUSH2 0x59a2 0000598e: JUMPI 0000598f: DUP8 00005990: DUP6 00005991: ADD 00005992: MLOAD 00005993: PUSH0 00005994: NOT 00005995: PUSH1 0x03 00005997: DUP9 00005998: SWAP1 00005999: SHL 0000599a: PUSH1 0xf8 0000599c: AND 0000599d: SHR 0000599e: NOT 0000599f: AND 000059a0: DUP2 000059a1: SSTORE 000059a2: JUMPDEST 000059a3: POP 000059a4: POP 000059a5: POP 000059a6: POP 000059a7: POP 000059a8: PUSH1 0x01 000059aa: SWAP1 000059ab: DUP2 000059ac: SHL 000059ad: ADD 000059ae: SWAP1 000059af: SSTORE 000059b0: POP 000059b1: JUMP 000059b2: JUMPDEST 000059b3: PUSH4 0x4e487b71 000059b8: PUSH1 0xe0 000059ba: SHL 000059bb: PUSH0 000059bc: MSTORE 000059bd: PUSH1 0x12 000059bf: PUSH1 0x04 000059c1: MSTORE 000059c2: PUSH1 0x24 000059c4: PUSH0 000059c5: REVERT 000059c6: JUMPDEST 000059c7: PUSH0 000059c8: PUSH1 0x20 000059ca: DUP3 000059cb: DUP5 000059cc: SUB 000059cd: SLT 000059ce: ISZERO 000059cf: PUSH2 0x59d6 000059d2: JUMPI 000059d3: PUSH0 000059d4: DUP1 000059d5: REVERT 000059d6: JUMPDEST 000059d7: DUP2 000059d8: MLOAD 000059d9: PUSH2 0x1cb2 000059dc: DUP2 000059dd: PUSH2 0x4838 000059e0: JUMP 000059e1: JUMPDEST 000059e2: DUP3 000059e3: DUP2 000059e4: MSTORE 000059e5: PUSH1 0x40 000059e7: PUSH1 0x20 000059e9: DUP3 000059ea: ADD 000059eb: MSTORE 000059ec: PUSH0 000059ed: PUSH2 0x1919 000059f0: PUSH1 0x40 000059f2: DUP4 000059f3: ADD 000059f4: DUP5 000059f5: PUSH2 0x4f18 000059f8: JUMP 000059f9: JUMPDEST 000059fa: PUSH0 000059fb: DUP3 000059fc: MLOAD 000059fd: PUSH2 0x5a0a 00005a00: DUP2 00005a01: DUP5 00005a02: PUSH1 0x20 00005a04: DUP8 00005a05: ADD 00005a06: PUSH2 0x4ef6 00005a09: JUMP 00005a0a: JUMPDEST 00005a0b: SWAP2 00005a0c: SWAP1 00005a0d: SWAP2 00005a0e: ADD 00005a0f: SWAP3 00005a10: SWAP2 00005a11: POP 00005a12: POP 00005a13: JUMP 00005a14: JUMPDEST 00005a15: PUSH0 00005a16: DUP3 00005a17: PUSH2 0x5a22 00005a1a: JUMPI 00005a1b: PUSH2 0x5a22 00005a1e: PUSH2 0x59b2 00005a21: JUMP 00005a22: JUMPDEST 00005a23: POP 00005a24: DIV 00005a25: SWAP1 00005a26: JUMP 00005a27: JUMPDEST 00005a28: PUSH0 00005a29: DUP3 00005a2a: PUSH2 0x5a35 00005a2d: JUMPI 00005a2e: PUSH2 0x5a35 00005a31: PUSH2 0x59b2 00005a34: JUMP 00005a35: JUMPDEST 00005a36: POP 00005a37: MOD 00005a38: SWAP1 00005a39: JUMP 00005a3a: JUMPDEST 00005a3b: PUSH0 00005a3c: PUSH1 0x01 00005a3e: DUP3 00005a3f: ADD 00005a40: PUSH2 0x5a4b 00005a43: JUMPI 00005a44: PUSH2 0x5a4b 00005a47: PUSH2 0x54c3 00005a4a: JUMP 00005a4b: JUMPDEST 00005a4c: POP 00005a4d: PUSH1 0x01 00005a4f: ADD 00005a50: SWAP1 00005a51: JUMP 00005a52: JUMPDEST 00005a53: DUP1 00005a54: DUP3 00005a55: MUL 00005a56: DUP2 00005a57: ISZERO 00005a58: DUP3 00005a59: DUP3 00005a5a: DIV 00005a5b: DUP5 00005a5c: EQ 00005a5d: OR 00005a5e: PUSH2 0x0998 00005a61: JUMPI 00005a62: PUSH2 0x0998 00005a65: PUSH2 0x54c3 00005a68: JUMP 00005a69: JUMPDEST 00005a6a: PUSH4 0x4e487b71 00005a6f: PUSH1 0xe0 00005a71: SHL 00005a72: PUSH0 00005a73: MSTORE 00005a74: PUSH1 0x31 00005a76: PUSH1 0x04 00005a78: MSTORE 00005a79: PUSH1 0x24 00005a7b: PUSH0 00005a7c: REVERT 00005a7d: INVALID 00005a7e: UNKNOWN(0xC1) 00005a7f: UNKNOWN(0xF6) 00005a80: INVALID 00005a81: UNKNOWN(0x24) 00005a82: PUSH3 0x1ce81e 00005a86: UNKNOWN(0xC5) 00005a87: DUP3 00005a88: PUSH29 0xaf0253cadb74709b061630e6b55e82371705932000a16a46d94261c751 00005aa6: PUSH29 0xc8ff89f61c0ce93598e3c849801011dee649a6a557d100241ecf16d79d 00005ac4: UNKNOWN(0x0F) 00005ac5: DUP14 00005ac6: UNKNOWN(0xBF) 00005ac7: UNKNOWN(0xB9) 00005ac8: UNKNOWN(0x2C) 00005ac9: UNKNOWN(0xBC) 00005aca: SMOD 00005acb: INVALID 00005acc: OR 00005acd: DUP5 00005ace: DIV 00005acf: UNKNOWN(0x25) 00005ad0: SWAP8 00005ad1: PUSH13 0xf0667f022fe9877caa831b08eb 00005adf: DUP1 00005ae0: UNKNOWN(0xEE) 00005ae1: PUSH13 0xcad1a05bacb615631c5c657518 00005aef: UNKNOWN(0xA9) 00005af0: EXTCODESIZE 00005af1: UNKNOWN(0xAB) 00005af2: UNKNOWN(0xEF) 00005af3: RETURNDATASIZE 00005af4: SMOD 00005af5: SIGNEXTEND 00005af6: SHR 00005af7: UNKNOWN(0x2A) 00005af8: UNKNOWN(0xA8) 00005af9: UNKNOWN(0xD8) 00005afa: CALLCODE 00005afb: UNKNOWN(0xD0) 00005afc: UNKNOWN(0x0C) 00005afd: UNKNOWN(0xBF) 00005afe: UNKNOWN(0xE2) 00005aff: DELEGATECALL 00005b00: UNKNOWN(0xEA) 00005b01: UNKNOWN(0xAE) 00005b02: BLOBBASEFEE 00005b03: SWAP8 00005b04: MLOAD 00005b05: UNKNOWN(0xE8) 00005b06: GAS 00005b07: RETURNDATACOPY 00005b08: BLOBBASEFEE 00005b09: PUSH28 0x9587827a877f29914755229b07a7b2da98285f7002dd7bc7dec4dcee 00005b26: UNKNOWN(0xDD) 00005b27: UNKNOWN(0xA7) 00005b28: PUSH22 0xe58dd541e08a116c6c53815c0bd028192f7b62680063 00005b3f: UNKNOWN(0xD8) 00005b40: UNKNOWN(0xE5) 00005b41: PUSH16 0x0160910d57b83f54cac0b3871607c252 00005b52: SWAP10 00005b53: DUP6 00005b54: UNKNOWN(0xAA) 00005b55: POP 00005b56: UNKNOWN(0xE3) 00005b57: MSTORE8 00005b58: UNKNOWN(0x23) 00005b59: PUSH4 0x89f5acca 00005b5e: CREATE 00005b5f: UNKNOWN(0xD6) 00005b60: UNKNOWN(0xC3) 00005b61: UNKNOWN(0xC8) 00005b62: UNKNOWN(0xCA) 00005b63: ADDMOD 00005b64: SWAP12 00005b65: SWAP15 00005b66: PUSH8 0xe712dd7b15ff9439 00005b6f: MSTORE8 00005b70: UNKNOWN(0x28) 00005b71: UNKNOWN(0xB6) 00005b72: POP 00005b73: SMOD 00005b74: DUP10 00005b75: BASEFEE 00005b76: UNKNOWN(0xC3) 00005b77: UNKNOWN(0xEB) 00005b78: UNKNOWN(0xDD) 00005b79: UNKNOWN(0xE2) 00005b7a: DUP5 00005b7b: UNKNOWN(0xF9) 00005b7c: UNKNOWN(0x4F) 00005b7d: PUSH15 0xa2646970667358221220fc04dead98 00005b8d: UNKNOWN(0xCB) 00005b8e: CALLER 00005b8f: PUSH11 0x1645e8b42e60d41ced52ed 00005b9b: UNKNOWN(0xDE) 00005b9c: UNKNOWN(0xDC) 00005b9d: MOD 00005b9e: SUB 00005b9f: TSTORE 00005ba0: SDIV 00005ba1: UNKNOWN(0x27) 00005ba2: UNKNOWN(0x21) 00005ba3: SHR 00005ba4: PUSH30
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0xa48936dbf80b3cc75326ec179eca50a849b4c75898d789a22035e3ffc99a5b2e
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0xa48936dbf80b3cc75326ec179eca50a849b4c75898d789a22035e3ffc99a5b2e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf83f55a9",
"selector": "0xf83f55a9",
"calldata_variants": [
"0xf83f55a9",
"0xf83f55a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfdf25f33",
"selector": "0xfdf25f33",
"calldata_variants": [
"0xfdf25f33",
"0xfdf25f330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff3c2f89",
"selector": "0xff3c2f89",
"calldata_variants": [
"0xff3c2f89",
"0xff3c2f890000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2ca5974",
"selector": "0xe2ca5974",
"calldata_variants": [
"0xe2ca5974",
"0xe2ca59740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe63ab1e9",
"selector": "0xe63ab1e9",
"calldata_variants": [
"0xe63ab1e9",
"0xe63ab1e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec87621c",
"selector": "0xec87621c",
"calldata_variants": [
"0xec87621c",
"0xec87621c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf698da25",
"selector": "0xf698da25",
"calldata_variants": [
"0xf698da25",
"0xf698da250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 23295,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xd636256d8fa545b7f8dc8ec0002146e3f9dd1f2156518a51aa4ba5936113a0c1
call_targets:
0x7d3e713f1160a21d8251749e30e62ff12d27d6f2
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd636256d8fa545b7f8dc8ec0002146e3f9dd1f2156518a51aa4ba5936113a0c1",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7d3e713f1160a21d8251749e30e62ff12d27d6f2"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf83f55a9",
"selector": "0xf83f55a9",
"calldata_variants": [
"0xf83f55a9",
"0xf83f55a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfdf25f33",
"selector": "0xfdf25f33",
"calldata_variants": [
"0xfdf25f33",
"0xfdf25f330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff3c2f89",
"selector": "0xff3c2f89",
"calldata_variants": [
"0xff3c2f89",
"0xff3c2f890000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2ca5974",
"selector": "0xe2ca5974",
"calldata_variants": [
"0xe2ca5974",
"0xe2ca59740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe63ab1e9",
"selector": "0xe63ab1e9",
"calldata_variants": [
"0xe63ab1e9",
"0xe63ab1e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec87621c",
"selector": "0xec87621c",
"calldata_variants": [
"0xec87621c",
"0xec87621c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf698da25",
"selector": "0xf698da25",
"calldata_variants": [
"0xf698da25",
"0xf698da250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 11795,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17807,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 23290,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xd636256d8fa545b7f8dc8ec0002146e3f9dd1f2156518a51aa4ba5936113a0c1
call_targets:
0x7d3e713f1160a21d8251749e30e62ff12d27d6f2
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xd636256d8fa545b7f8dc8ec0002146e3f9dd1f2156518a51aa4ba5936113a0c1",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7d3e713f1160a21d8251749e30e62ff12d27d6f2"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf83f55a9",
"selector": "0xf83f55a9",
"calldata_variants": [
"0xf83f55a9",
"0xf83f55a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfdf25f33",
"selector": "0xfdf25f33",
"calldata_variants": [
"0xfdf25f33",
"0xfdf25f330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff3c2f89",
"selector": "0xff3c2f89",
"calldata_variants": [
"0xff3c2f89",
"0xff3c2f890000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2ca5974",
"selector": "0xe2ca5974",
"calldata_variants": [
"0xe2ca5974",
"0xe2ca59740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe63ab1e9",
"selector": "0xe63ab1e9",
"calldata_variants": [
"0xe63ab1e9",
"0xe63ab1e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec87621c",
"selector": "0xec87621c",
"calldata_variants": [
"0xec87621c",
"0xec87621c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf698da25",
"selector": "0xf698da25",
"calldata_variants": [
"0xf698da25",
"0xf698da250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 11795,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17807,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 23290,
"opcode": "CALLCODE",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|
| medium | other | codex | Claim data not bound to merkle-leaf entityUUID | 75 | no | — |
viewevidence_json{
"evidence": "The merkle proof validates `user`, but `_release` uses `claimData.entityUUID` for state and calculations without checking equality to `user.entityUUID`.",
"locations": [
"src/unlock/v1/Distributor.sol:300",
"src/unlock/v1/Distributor.sol:321",
"src/unlock/v1/Distributor.sol:325"
],
"recommendation": "Enforce `claimData.entityUUID == user.entityUUID` in `_release`, or derive the merkle leaf directly from the signed claim data (including entityUUID) so the signature and merkle proof are bound to the same entity. Reject any mismatch before accounting updates.",
"exploit_scenario": "A signer whose entry exists in the merkle tree can sign ClaimData with a different entityUUID than the merkle-leaf `user.entityUUID`. If the platform signer co-signs (or the backend mistakenly signs), the contract will verify the leaf for one entity but apply state/accounting to another entityUUID. By cycling through entityUUIDs with zero claimed state, a signer could claim their entitlement multiple times, draining the pool beyond their allocation."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x19fa8b33ff4530416aba757779996eba2cebe4629190971b3a9138995948fdbe
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x19fa8b33ff4530416aba757779996eba2cebe4629190971b3a9138995948fdbe",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf83f55a9",
"selector": "0xf83f55a9",
"calldata_variants": [
"0xf83f55a9",
"0xf83f55a90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfdf25f33",
"selector": "0xfdf25f33",
"calldata_variants": [
"0xfdf25f33",
"0xfdf25f330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff3c2f89",
"selector": "0xff3c2f89",
"calldata_variants": [
"0xff3c2f89",
"0xff3c2f890000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2ca5974",
"selector": "0xe2ca5974",
"calldata_variants": [
"0xe2ca5974",
"0xe2ca59740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe63ab1e9",
"selector": "0xe63ab1e9",
"calldata_variants": [
"0xe63ab1e9",
"0xe63ab1e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec87621c",
"selector": "0xec87621c",
"calldata_variants": [
"0xec87621c",
"0xec87621c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf698da25",
"selector": "0xf698da25",
"calldata_variants": [
"0xf698da25",
"0xf698da250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 0
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| low | auth | codex | Replayable claim and carry withdrawal signatures (no nonce/used tracking) | 65 | no | — |
viewevidence_json{
"evidence": "The signed structs contain no nonce/unique salt and the contract does not track used signatures or per-entity nonces.",
"locations": [
"src/unlock/v1/Types.sol:29",
"src/unlock/v1/Types.sol:84",
"src/unlock/v1/Distributor.sol:254",
"src/unlock/v1/Distributor.sol:393"
],
"recommendation": "Add a per-entity nonce (or used-digest mapping) to both ClaimData and CarryWithdrawalData, include it in the EIP-712 struct, and increment/store it on success. Alternatively, sign cumulative claimed/withdrawn totals to make signatures single-use.",
"exploit_scenario": "Anyone who obtains a valid EIP-712 signature for `ClaimData` or `CarryWithdrawalData` can replay it multiple times before expiry. Each replay succeeds as long as the remaining claimable/withdrawable amount covers the signed `amount`, allowing repeated withdrawals to the signed receiver and bypassing intended one-time authorization semantics."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 5
}
|