TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019be3d6-829b-7113-92ff-3299b47c7d80

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 AM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Reentrancy in Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32) (contracts/crate/Crate.sol#267-301):
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
40687 artifact.fetch complete 1 / 3 2 months ago
40688 proxy.resolve complete 1 / 3 2 months ago
40689 tool.cast_disasm complete 1 / 3 2 months ago
40690 analysis.bundle complete 1 / 3 2 months ago
40691 capability.graph complete 1 / 3 2 months ago
40692 detector.run complete 1 / 3 2 months ago
40693 validation.fork complete 1 / 3 2 months ago
41281 report.consolidate complete 1 / 6 2 months ago
41282 tool.slither complete 1 / 2 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
2
Solc
0.8.28 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-a5mp7fkj)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-a5mp7fkj)

Crate.recoverETH() (contracts/crate/Crate.sol#303-308) sends eth to arbitrary user
	Dangerous calls:
	- _msgSender().call{value: balance}() (contracts/crate/Crate.sol#305)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations

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

Reentrancy in Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32) (contracts/crate/Crate.sol#267-301):
	External calls:
	- (success,None) = user_.call{value: balance}() (contracts/crate/Crate.sol#293)
	State variables written after the call(s):
	- _partnerBalanceOf[partner_][token] = 0 (contracts/crate/Crate.sol#291)
	Crate._partnerBalanceOf (contracts/crate/Crate.sol#32) can be used in cross function reentrancies:
	- Crate.partnerBalanceOf(address,string) (contracts/crate/Crate.sol#344-346)
	- Crate.setData(address,address,uint256,uint256,string,uint256,uint256) (contracts/crate/Crate.sol#188-212)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities

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

Crate.recoverETH() (contracts/crate/Crate.sol#303-308) ignores return value by _msgSender().call{value: balance}() (contracts/crate/Crate.sol#305)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-low-level-calls

Crate.constructor(address,address).claimer_ (contracts/crate/Crate.sol#39) lacks a zero-check on :
		- _claimer = claimer_ (contracts/crate/Crate.sol#43)
Crate.setClaimer(address).claimer_ (contracts/crate/Crate.sol#182) lacks a zero-check on :
		- _claimer = claimer_ (contracts/crate/Crate.sol#183)
Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32).user_ (contracts/crate/Crate.sol#268) lacks a zero-check on :
		- (success,None) = user_.call{value: balance}() (contracts/crate/Crate.sol#293)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation

Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32) (contracts/crate/Crate.sol#267-301) has external calls inside a loop: (success,None) = user_.call{value: balance}() (contracts/crate/Crate.sol#293)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop

Reentrancy in Crate.recoverETH() (contracts/crate/Crate.sol#303-308):
	External calls:
	- _msgSender().call{value: balance}() (contracts/crate/Crate.sol#305)
	Event emitted after the call(s):
	- ETHRecovered(balance) (contracts/crate/Crate.sol#307)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3

Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32) (contracts/crate/Crate.sol#267-301) uses timestamp for comparisons
	Dangerous comparisons:
	- require(bool,error)(deadline_ > block.timestamp,revert DeadlineERR()()) (contracts/crate/Crate.sol#270)
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)
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)
ShortStrings.toString(ShortString) (lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol#63-72) uses assembly
	- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol#67-70)
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)
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)
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)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

7 different versions of Solidity are used:
	- Version constraint ^0.8.28 is used by:
		-^0.8.28 (contracts/crate/Constants.sol#2)
		-^0.8.28 (contracts/crate/ICrate.sol#2)
	- Version constraint 0.8.28 is used by:
		-0.8.28 (contracts/crate/Crate.sol#2)
	- Version constraint ^0.8.20 is used by:
		-^0.8.20 (lib/openzeppelin-contracts/contracts/access/AccessControl.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Panic.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol#4)
		-^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/introspection/ERC165.sol#4)
		-^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)
	- Version constraint >=0.8.4 is used by:
		->=0.8.4 (lib/openzeppelin-contracts/contracts/access/IAccessControl.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.24 is used by:
		-^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/EIP712.sol#4)
		-^0.8.24 (lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol#4)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

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/access/AccessControl.sol#4)
	- ^0.8.20 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)
	- ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)
	- ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Panic.sol#4)
	- ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol#4)
	- ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol#4)
	- ^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/introspection/ERC165.sol#4)
	- ^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)
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)
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)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Low level call in Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32) (contracts/crate/Crate.sol#267-301):
	- (success,None) = user_.call{value: balance}() (contracts/crate/Crate.sol#293)
Low level call in Crate.recoverETH() (contracts/crate/Crate.sol#303-308):
	- _msgSender().call{value: balance}() (contracts/crate/Crate.sol#305)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Function EIP712._EIP712Name() (lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol#146-148) is not in mixedCase
Function EIP712._EIP712Version() (lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol#157-159) 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)
ShortStrings.slitherConstructorConstantVariables() (lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol#40-122) uses literals with too many digits:
	- FALLBACK_SENTINEL = 0x00000000000000000000000000000000000000000000000000000000000000FF (lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol#42)
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

Loop condition idx < _bonus.length (contracts/crate/Crate.sol#401) should use cached array length instead of referencing `length` member of the storage array.
 Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length
. analyzed (24 contracts with 100 detectors), 80 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.28",
        "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.28",
        "install_stderr": null,
        "install_stdout": "Version '0.8.28' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-a5mp7fkj --include-path /tmp/slither-a5mp7fkj/lib --include-path /tmp/slither-a5mp7fkj/lib/openzeppelin-contracts --allow-paths /tmp/slither-a5mp7fkj,/tmp/slither-a5mp7fkj/lib,/tmp/slither-a5mp7fkj/lib/openzeppelin-contracts,/tmp/slither-a5mp7fkj/src",
    "remappings": [
        "openzeppelin-contracts/=lib/openzeppelin-contracts/",
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
    ],
    "source_files": [
        "@openzeppelin/contracts/access/AccessControl.sol",
        "@openzeppelin/contracts/access/IAccessControl.sol",
        "@openzeppelin/contracts/interfaces/IERC1363.sol",
        "@openzeppelin/contracts/interfaces/IERC165.sol",
        "@openzeppelin/contracts/interfaces/IERC20.sol",
        "@openzeppelin/contracts/interfaces/IERC5267.sol",
        "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "@openzeppelin/contracts/utils/Address.sol",
        "@openzeppelin/contracts/utils/Context.sol",
        "@openzeppelin/contracts/utils/cryptography/ECDSA.sol",
        "@openzeppelin/contracts/utils/cryptography/EIP712.sol",
        "@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol",
        "@openzeppelin/contracts/utils/Errors.sol",
        "@openzeppelin/contracts/utils/introspection/ERC165.sol",
        "@openzeppelin/contracts/utils/introspection/IERC165.sol",
        "@openzeppelin/contracts/utils/math/Math.sol",
        "@openzeppelin/contracts/utils/math/SafeCast.sol",
        "@openzeppelin/contracts/utils/math/SignedMath.sol",
        "@openzeppelin/contracts/utils/Panic.sol",
        "@openzeppelin/contracts/utils/ReentrancyGuard.sol",
        "@openzeppelin/contracts/utils/ShortStrings.sol",
        "@openzeppelin/contracts/utils/StorageSlot.sol",
        "@openzeppelin/contracts/utils/Strings.sol",
        "contracts/crate/Constants.sol",
        "contracts/crate/Crate.sol",
        "contracts/crate/ICrate.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 80,
    "workspace_hash": "a0a4c1e4b4d1ad62419adc15f8c9348ab7285d8d17a4815d8161a5d5948870fd",
    "duration_seconds": 2.865438222885132,
    "solc_version_requested": "0.8.28"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
Found 1 low-severity issue: recoverETH ignores the ETH transfer result, which can leave funds stuck and emit misleading events.
View stdout
{"no_findings":false,"summary":"Found 1 low-severity issue: recoverETH ignores the ETH transfer result, which can leave funds stuck and emit misleading events.","findings":[{"severity":"low","category":"other","title":"recoverETH ignores low-level call success","exploit_scenario":"If the DEFAULT_ADMIN_ROLE is a contract that rejects ETH (or runs out of gas), recoverETH will still emit ETHRecovered while the transfer fails, leaving ETH locked until another admin can receive.","recommendation":"Check the call return value and revert on failure (or use Address.sendValue / a payable recipient parameter).","evidence":"_msgSender().call{value: balance}(\"\"); without checking success.","locations":["contracts/crate/Crate.sol:303"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-h1_f4pll
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be419-4115-7503-9a69-bc805e76918c
--------
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
**Listing all files with ripgrep**
exec
/bin/bash -lc 'rg --files' in /tmp/codex-h1_f4pll succeeded in 16ms:
codex-output-schema.json
AUDIT_BUNDLE.txt
contracts/crate/ICrate.sol
contracts/crate/Constants.sol
contracts/crate/Crate.sol
@openzeppelin/contracts/interfaces/IERC1363.sol
@openzeppelin/contracts/interfaces/IERC20.sol
@openzeppelin/contracts/interfaces/IERC5267.sol
@openzeppelin/contracts/interfaces/IERC165.sol
@openzeppelin/contracts/access/AccessControl.sol
@openzeppelin/contracts/access/IAccessControl.sol
@openzeppelin/contracts/token/ERC20/IERC20.sol
@openzeppelin/contracts/utils/Panic.sol
@openzeppelin/contracts/utils/Address.sol
@openzeppelin/contracts/utils/Errors.sol
@openzeppelin/contracts/utils/Context.sol
@openzeppelin/contracts/utils/Strings.sol
@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
@openzeppelin/contracts/utils/math/SafeCast.sol
@openzeppelin/contracts/utils/math/SignedMath.sol

thinking
**Preparing to read audit bundle content**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-h1_f4pll succeeded in 8ms:
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: contracts/crate/Constants.sol
================================================================================
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.28;

contract Constants {
  bytes32 public constant CRATE_ROLE = keccak256("CRATE_ROLE");
  bytes32 public constant MANAGER_ROLE = keccak256("MANAGER_ROLE");
  bytes32 public constant SELLER_RAISER_ROLE = keccak256("SELLER_RAISER_ROLE");

  bytes32 internal constant CLAIM_HASH = keccak256("ClaimPartner(address[] tokens_,string partner_,address user_,uint256 deadline_)");
  address internal constant ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
  address internal constant TOKEN = 0xdEDEDEDEdEdEdEDedEDeDedEdEdeDedEdEDedEdE;
  uint256 internal constant MIN = 10**18;
  uint256 internal constant PRECISION = 18;
}


thinking
**Identifying potential contract issues**

I'm auditing key functions for reentrancy, access control, and logical checks, noting some missing validations on rate bounds and sale reopening. Also, privileged roles can update sale data without supply or status checks, which may be expected but worth confirming against security assumptions.
thinking
**Reviewing signature hashing and partner logic**

I've verified the custom array hashing in EIP712 signature is safe despite nonstandard encoding, and claimPartner correctly binds signatures to callers with reentrancy guarded. Noted a minor unchecked call return in ETH recovery and a potentially surprising partner lookup logic allowing unknown partners if not defined.
exec
/bin/bash -lc 'rg -n "getPartner|partner" contracts/crate/Crate.sol' in /tmp/codex-h1_f4pll succeeded in 10ms:
31:    mapping(address => string) private _partners;
32:    mapping(string => mapping(address => uint256)) private _partnerBalanceOf;
33:    mapping(string => Partner) private _partnersData;
99:        string[] calldata partner_,
104:        require(partner_.length == newRate1_.length && partner_.length == newRate2_.length, ParamsInvalidERR());
106:        for (uint256 index = 0; index < partner_.length; index++) {
107:            _partnersData[partner_[index]] = Partner({
114:            emit SetRatesForPartner(partner_[index], newRate1_[index], newRate2_[index]);
193:        string calldata partner_,
201:        if (!partner_.equal("")) {
202:            if (!_partnersData[partner_].defined) {
203:                _partnersData[partner_].defined = true;
204:                _partnersData[partner_].enabled = true;
206:                emit SetRatesForPartner(partner_, _rate1, _rate2);
208:            _partnerBalanceOf[partner_][token_] += reward1_;
209:            _partnerBalanceOf[partner_][TOKEN] += reward2_  ;
210:            _partners[user_] = partner_;
237:    function enablePartner(string calldata partner_) external onlyRole(MANAGER_ROLE) {
238:        require(_partnersData[partner_].defined, UndefinedERR());
239:        require(!_partnersData[partner_].enabled, EnabledERR());



thinking
**Assessing potential vulnerabilities**

The main issue found is array access out-of-bounds in openSale causing reverts but not a security flaw. Access control appears solid though misuse of CRATE_ROLE could bypass validation. Signature replay protection looks robust, but recoverETH lacks handling for failed calls.
thinking
**Identifying unchecked return in recoverETH and access control gaps**

The unchecked low-level call in recoverETH could silently fail if the admin is a contract rejecting ETH, causing stuck funds but no direct exploit. Also, setData lacks sale status checks, letting CRATE_ROLE manipulate sales regardless of open/closed state, which is a trust assumption rather than explicit vulnerability. Signature hashing deviates from standard EIP-712 array encoding but can be matched offchain, so no security flaw.
thinking
**Highlighting recoverETH unchecked call and setData partner accrual logic**

Reentrancy via recoverETH could allow repeated calls but only by admin, who already has privileges. The unchecked low-level call may silently fail if recipient contract rejects ETH. Also, setData accrues rewards to partners regardless of enable status, enabling disabled partners to accumulate rewards retroactively if re-enabled, which risks logic inconsistencies around partner management.
exec
/bin/bash -lc "nl -ba contracts/crate/Crate.sol | sed -n '300,340p'" in /tmp/codex-h1_f4pll succeeded in 6ms:
   300	      }
   301	    }
   302	
   303	    function recoverETH() external onlyRole(DEFAULT_ADMIN_ROLE) {
   304	        uint256 balance = address(this).balance;
   305	        _msgSender().call{value: balance}("");
   306	
   307	        emit ETHRecovered(balance);
   308	    }
   309	
   310	    function recoverERC20(address token_, uint256 amount_) external onlyRole(DEFAULT_ADMIN_ROLE) {
   311	        IERC20(token_).safeTransfer(_msgSender(), amount_);
   312	
   313	        emit Erc20Recovered(token_, amount_);
   314	    }
   315	
   316	    function getTreasury() external view returns (address) {
   317	        return _treasury;
   318	    }
   319	

thinking
**Checking line numbers for setData**
exec
/bin/bash -lc "nl -ba contracts/crate/Crate.sol | sed -n '170,230p'" in /tmp/codex-h1_f4pll succeeded in 8ms:
   170	
   171	        emit SetMin(_min);
   172	    }
   173	
   174	    function setTreasury(address treasury_) external onlyRole(DEFAULT_ADMIN_ROLE) {
   175	        require(treasury_ != address(0), ZeroAddressERR());
   176	
   177	        _treasury = treasury_;
   178	
   179	        emit SetTreasury(_treasury);
   180	    }
   181	
   182	    function setClaimer(address claimer_) external onlyRole(DEFAULT_ADMIN_ROLE) {
   183	        _claimer = claimer_;
   184	
   185	        emit SetClaimer(claimer_);
   186	    }
   187	
   188	    function setData(
   189	        address user_,


thinking
**Evaluating potential vulnerabilities**

I'm assessing whether to classify setData's lack of sale status validation as a medium-risk access control issue, but it hinges on how CRATE_ROLE is assigned; overall, these seem like trusted roles with some bounded privilege, so risks may be low to medium. The unchecked call in recoverETH looks like a valid low-severity finding due to unchecked return values, while token claiming's token array mismatch seems less clear as a vulnerability.
thinking
**Drafting detailed JSON output**

I'm preparing a final JSON output with one low-severity finding about recoverETH's unchecked call result and its potential to leave ETH stuck, including categories, evidence with line numbers, and a concise summary noting a single low issue while omitting the setData invariant concern due to ambiguous exploitability.
codex
{"no_findings":false,"summary":"Found 1 low-severity issue: recoverETH ignores the ETH transfer result, which can leave funds stuck and emit misleading events.","findings":[{"severity":"low","category":"other","title":"recoverETH ignores low-level call success","exploit_scenario":"If the DEFAULT_ADMIN_ROLE is a contract that rejects ETH (or runs out of gas), recoverETH will still emit ETHRecovered while the transfer fails, leaving ETH locked until another admin can receive.","recommendation":"Check the call return value and revert on failure (or use Address.sendValue / a payable recipient parameter).","evidence":"_msgSender().call{value: balance}(\"\"); without checking success.","locations":["contracts/crate/Crate.sol:303"]}]}
tokens used
20,715
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T05:10:06.846322+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 27,
        "import_count": 29,
        "first_party_contracts_count": 3
    },
    "summary": "Found 1 low-severity issue: recoverETH ignores the ETH transfer result, which can leave funds stuck and emit misleading events.",
    "raw_final": {
        "summary": "Found 1 low-severity issue: recoverETH ignores the ETH transfer result, which can leave funds stuck and emit misleading events.",
        "findings": [
            {
                "title": "recoverETH ignores low-level call success",
                "category": "other",
                "evidence": "_msgSender().call{value: balance}(\"\"); without checking success.",
                "severity": "low",
                "locations": [
                    "contracts/crate/Crate.sol:303"
                ],
                "recommendation": "Check the call return value and revert on failure (or use Address.sendValue / a payable recipient parameter).",
                "exploit_scenario": "If the DEFAULT_ADMIN_ROLE is a contract that rejects ETH (or runs out of gas), recoverETH will still emit ETHRecovered while the transfer fails, leaving ETH locked until another admin can receive."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
5
EXT*/BALANCE
1
Total opcodes
6753
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: DUP1
00000003: PUSH1 0x40
00000005: MSTORE
00000006: PUSH1 0x04
00000008: CALLDATASIZE
00000009: LT
0000000a: ISZERO
0000000b: PUSH2 0x001d
0000000e: JUMPI
0000000f: JUMPDEST
00000010: POP
00000011: CALLDATASIZE
00000012: ISZERO
00000013: PUSH2 0x001b
00000016: JUMPI
00000017: PUSH1 0x00
00000019: DUP1
0000001a: REVERT
0000001b: JUMPDEST
0000001c: STOP
0000001d: JUMPDEST
0000001e: PUSH1 0x00
00000020: CALLDATALOAD
00000021: PUSH1 0xe0
00000023: SHR
00000024: SWAP1
00000025: DUP2
00000026: PUSH4 0x01ffc9a7
0000002b: EQ
0000002c: PUSH2 0x1f9d
0000002f: JUMPI
00000030: POP
00000031: DUP1
00000032: PUSH4 0x0614117a
00000037: EQ
00000038: PUSH2 0x1f44
0000003b: JUMPI
0000003c: DUP1
0000003d: PUSH4 0x07da68f5
00000042: EQ
00000043: PUSH2 0x1eb5
00000046: JUMPI
00000047: DUP1
00000048: PUSH4 0x14afd04a
0000004d: EQ
0000004e: PUSH2 0x1e7a
00000051: JUMPI
00000052: DUP1
00000053: PUSH4 0x248a9ca3
00000058: EQ
00000059: PUSH2 0x1e4d
0000005c: JUMPI
0000005d: DUP1
0000005e: PUSH4 0x2f2ff15d
00000063: EQ
00000064: PUSH2 0x1e0d
00000067: JUMPI
00000068: DUP1
00000069: PUSH4 0x34ec740a
0000006e: EQ
0000006f: PUSH2 0x1d40
00000072: JUMPI
00000073: DUP1
00000074: PUSH4 0x36568abe
00000079: EQ
0000007a: PUSH2 0x1cfa
0000007d: JUMPI
0000007e: DUP1
0000007f: PUSH4 0x3656eec2
00000084: EQ
00000085: PUSH2 0x1cb2
00000088: JUMPI
00000089: DUP1
0000008a: PUSH4 0x366e6daa
0000008f: EQ
00000090: PUSH2 0x1be2
00000093: JUMPI
00000094: DUP1
00000095: PUSH4 0x3b19e84a
0000009a: EQ
0000009b: PUSH2 0x1bbb
0000009e: JUMPI
0000009f: DUP1
000000a0: PUSH4 0x45dc3dd8
000000a5: EQ
000000a6: PUSH2 0x1b4e
000000a9: JUMPI
000000aa: DUP1
000000ab: PUSH4 0x4896672e
000000b0: EQ
000000b1: PUSH2 0x1aad
000000b4: JUMPI
000000b5: DUP1
000000b6: PUSH4 0x4e69d560
000000bb: EQ
000000bc: PUSH2 0x1a82
000000bf: JUMPI
000000c0: DUP1
000000c1: PUSH4 0x54f89ed3
000000c6: EQ
000000c7: PUSH2 0x199e
000000ca: JUMPI
000000cb: DUP1
000000cc: PUSH4 0x5c64bb72
000000d1: EQ
000000d2: PUSH2 0x1980
000000d5: JUMPI
000000d6: DUP1
000000d7: PUSH4 0x5d6ff9e6
000000dc: EQ
000000dd: PUSH2 0x15b4
000000e0: JUMPI
000000e1: DUP1
000000e2: PUSH4 0x6183f16e
000000e7: EQ
000000e8: PUSH2 0x14df
000000eb: JUMPI
000000ec: DUP1
000000ed: PUSH4 0x6bb6ff15
000000f2: EQ
000000f3: PUSH2 0x1453
000000f6: JUMPI
000000f7: DUP1
000000f8: PUSH4 0x6f9fdd66
000000fd: EQ
000000fe: PUSH2 0x1430
00000101: JUMPI
00000102: DUP1
00000103: PUSH4 0x7319b518
00000108: EQ
00000109: PUSH2 0x13f5
0000010c: JUMPI
0000010d: DUP1
0000010e: PUSH4 0x7f8f166d
00000113: EQ
00000114: PUSH2 0x11b0
00000117: JUMPI
00000118: DUP1
00000119: PUSH4 0x84b0196e
0000011e: EQ
0000011f: PUSH2 0x10b3
00000122: JUMPI
00000123: DUP1
00000124: PUSH4 0x8980f11f
00000129: EQ
0000012a: PUSH2 0x1035
0000012d: JUMPI
0000012e: DUP1
0000012f: PUSH4 0x8bdff161
00000134: EQ
00000135: PUSH2 0x0f52
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0x91d14854
0000013f: EQ
00000140: PUSH2 0x0f04
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x98d5fdca
0000014a: EQ
0000014b: PUSH2 0x0ee9
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x9accab55
00000155: EQ
00000156: PUSH2 0x0ec4
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x9d7b8e68
00000160: EQ
00000161: PUSH2 0x0ea6
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x9ea21a6f
0000016b: EQ
0000016c: PUSH2 0x0e74
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0xa217fddf
00000176: EQ
00000177: PUSH2 0x0e58
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0xa4223d53
00000181: EQ
00000182: PUSH2 0x0dda
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0xb72e5182
0000018c: EQ
0000018d: PUSH2 0x0ca4
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0xbe9a6555
00000197: EQ
00000198: PUSH2 0x0c04
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0xc41a8a66
000001a2: EQ
000001a3: PUSH2 0x0a21
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0xc6b872ab
000001ad: EQ
000001ae: PUSH2 0x09db
000001b1: JUMPI
000001b2: DUP1
000001b3: PUSH4 0xc8e6dcb1
000001b8: EQ
000001b9: PUSH2 0x09ba
000001bc: JUMPI
000001bd: DUP1
000001be: PUSH4 0xcdfb5832
000001c3: EQ
000001c4: PUSH2 0x0945
000001c7: JUMPI
000001c8: DUP1
000001c9: PUSH4 0xd547741f
000001ce: EQ
000001cf: PUSH2 0x0900
000001d2: JUMPI
000001d3: DUP1
000001d4: PUSH4 0xd6362e97
000001d9: EQ
000001da: PUSH2 0x08e2
000001dd: JUMPI
000001de: DUP1
000001df: PUSH4 0xd8f6d596
000001e4: EQ
000001e5: PUSH2 0x0809
000001e8: JUMPI
000001e9: DUP1
000001ea: PUSH4 0xda1d12f3
000001ef: EQ
000001f0: PUSH2 0x07c1
000001f3: JUMPI
000001f4: DUP1
000001f5: PUSH4 0xdd8027db
000001fa: EQ
000001fb: PUSH2 0x07a3
000001fe: JUMPI
000001ff: DUP1
00000200: PUSH4 0xe2f05fca
00000205: EQ
00000206: PUSH2 0x076a
00000209: JUMPI
0000020a: DUP1
0000020b: PUSH4 0xec87621c
00000210: EQ
00000211: PUSH2 0x072f
00000214: JUMPI
00000215: DUP1
00000216: PUSH4 0xf0f44260
0000021b: EQ
0000021c: PUSH2 0x06a2
0000021f: JUMPI
00000220: PUSH4 0xf6c19852
00000225: EQ
00000226: PUSH2 0x022f
00000229: JUMPI
0000022a: CODESIZE
0000022b: PUSH2 0x000f
0000022e: JUMP
0000022f: JUMPDEST
00000230: CALLVALUE
00000231: PUSH2 0x067d
00000234: JUMPI
00000235: PUSH1 0xc0
00000237: CALLDATASIZE
00000238: PUSH1 0x03
0000023a: NOT
0000023b: ADD
0000023c: SLT
0000023d: PUSH2 0x067d
00000240: JUMPI
00000241: PUSH1 0x04
00000243: CALLDATALOAD
00000244: PUSH8 0xffffffffffffffff
0000024d: DUP2
0000024e: GT
0000024f: PUSH2 0x067d
00000252: JUMPI
00000253: CALLDATASIZE
00000254: PUSH1 0x23
00000256: DUP3
00000257: ADD
00000258: SLT
00000259: ISZERO
0000025a: PUSH2 0x067d
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH1 0x04
00000261: ADD
00000262: CALLDATALOAD
00000263: PUSH2 0x026b
00000266: DUP2
00000267: PUSH2 0x21a0
0000026a: JUMP
0000026b: JUMPDEST
0000026c: SWAP2
0000026d: PUSH2 0x0279
00000270: PUSH1 0x40
00000272: MLOAD
00000273: SWAP4
00000274: DUP5
00000275: PUSH2 0x217e
00000278: JUMP
00000279: JUMPDEST
0000027a: DUP2
0000027b: DUP4
0000027c: MSTORE
0000027d: PUSH1 0x20
0000027f: DUP4
00000280: ADD
00000281: SWAP1
00000282: PUSH1 0x24
00000284: DUP3
00000285: SWAP4
00000286: PUSH1 0x05
00000288: SHL
00000289: DUP3
0000028a: ADD
0000028b: ADD
0000028c: SWAP1
0000028d: CALLDATASIZE
0000028e: DUP3
0000028f: GT
00000290: PUSH2 0x067d
00000293: JUMPI
00000294: PUSH1 0x24
00000296: ADD
00000297: SWAP2
00000298: JUMPDEST
00000299: DUP2
0000029a: DUP4
0000029b: LT
0000029c: PUSH2 0x0682
0000029f: JUMPI
000002a0: POP
000002a1: POP
000002a2: POP
000002a3: PUSH1 0x24
000002a5: CALLDATALOAD
000002a6: PUSH8 0xffffffffffffffff
000002af: DUP2
000002b0: GT
000002b1: PUSH2 0x067d
000002b4: JUMPI
000002b5: CALLDATASIZE
000002b6: PUSH1 0x23
000002b8: DUP3
000002b9: ADD
000002ba: SLT
000002bb: ISZERO
000002bc: PUSH2 0x067d
000002bf: JUMPI
000002c0: PUSH2 0x02d3
000002c3: SWAP1
000002c4: CALLDATASIZE
000002c5: SWAP1
000002c6: PUSH1 0x24
000002c8: DUP2
000002c9: PUSH1 0x04
000002cb: ADD
000002cc: CALLDATALOAD
000002cd: SWAP2
000002ce: ADD
000002cf: PUSH2 0x21d4
000002d2: JUMP
000002d3: JUMPDEST
000002d4: SWAP2
000002d5: PUSH1 0x44
000002d7: CALLDATALOAD
000002d8: SWAP2
000002d9: PUSH1 0x64
000002db: CALLDATALOAD
000002dc: SWAP1
000002dd: PUSH1 0xff
000002df: DUP3
000002e0: AND
000002e1: DUP3
000002e2: SUB
000002e3: PUSH2 0x067d
000002e6: JUMPI
000002e7: PUSH1 0x02
000002e9: PUSH1 0x03
000002eb: SLOAD
000002ec: EQ
000002ed: PUSH2 0x066c
000002f0: JUMPI
000002f1: PUSH1 0x02
000002f3: PUSH1 0x03
000002f5: SSTORE
000002f6: PUSH1 0x01
000002f8: PUSH1 0x01
000002fa: PUSH1 0xa0
000002fc: SHL
000002fd: SUB
000002fe: PUSH1 0x0b
00000300: SLOAD
00000301: AND
00000302: SWAP1
00000303: DUP2
00000304: ISZERO
00000305: PUSH2 0x065b
00000308: JUMPI
00000309: TIMESTAMP
0000030a: DUP6
0000030b: GT
0000030c: ISZERO
0000030d: PUSH2 0x064a
00000310: JUMPI
00000311: PUSH1 0x40
00000313: MLOAD
00000314: DUP5
00000315: MLOAD
00000316: PUSH1 0x20
00000318: DUP3
00000319: ADD
0000031a: SWAP3
0000031b: DUP4
0000031c: SWAP2
0000031d: PUSH1 0x00
0000031f: JUMPDEST
00000320: DUP2
00000321: DUP2
00000322: LT
00000323: PUSH2 0x062b
00000326: JUMPI
00000327: POP
00000328: POP
00000329: POP
0000032a: PUSH1 0x42
0000032c: PUSH1 0x01
0000032e: PUSH1 0x01
00000330: PUSH1 0xa0
00000332: SHL
00000333: SUB
00000334: SWAP4
00000335: DUP4
00000336: PUSH2 0x034e
00000339: PUSH2 0x03e7
0000033c: SWAP6
0000033d: PUSH2 0x03de
00000340: SWAP6
00000341: SUB
00000342: PUSH1 0x1f
00000344: NOT
00000345: DUP2
00000346: ADD
00000347: DUP4
00000348: MSTORE
00000349: DUP3
0000034a: PUSH2 0x217e
0000034d: JUMP
0000034e: JUMPDEST
0000034f: MLOAD
00000350: SWAP1
00000351: KECCAK256
00000352: DUP10
00000353: MLOAD
00000354: SWAP9
00000355: PUSH1 0x20
00000357: DUP12
00000358: ADD
00000359: SWAP10
0000035a: DUP11
0000035b: KECCAK256
0000035c: SWAP1
0000035d: PUSH1 0x40
0000035f: MLOAD
00000360: SWAP2
00000361: PUSH1 0x20
00000363: DUP4
00000364: ADD
00000365: SWAP4
00000366: PUSH32 0xea718fd86e7d1161a7cc23db13014c3328fa4a2edd36f7f55c6ff4a1766187b4
00000387: DUP6
00000388: MSTORE
00000389: PUSH1 0x40
0000038b: DUP5
0000038c: ADD
0000038d: MSTORE
0000038e: PUSH1 0x60
00000390: DUP4
00000391: ADD
00000392: MSTORE
00000393: CALLER
00000394: PUSH1 0x80
00000396: DUP4
00000397: ADD
00000398: MSTORE
00000399: PUSH1 0xa0
0000039b: DUP3
0000039c: ADD
0000039d: MSTORE
0000039e: PUSH1 0xa0
000003a0: DUP2
000003a1: MSTORE
000003a2: PUSH2 0x03ac
000003a5: PUSH1 0xc0
000003a7: DUP3
000003a8: PUSH2 0x217e
000003ab: JUMP
000003ac: JUMPDEST
000003ad: MLOAD
000003ae: SWAP1
000003af: KECCAK256
000003b0: PUSH2 0x03b7
000003b3: PUSH2 0x2aaf
000003b6: JUMP
000003b7: JUMPDEST
000003b8: SWAP1
000003b9: PUSH1 0x40
000003bb: MLOAD
000003bc: SWAP2
000003bd: PUSH2 0x1901
000003c0: PUSH1 0xf0
000003c2: SHL
000003c3: DUP4
000003c4: MSTORE
000003c5: PUSH1 0x02
000003c7: DUP4
000003c8: ADD
000003c9: MSTORE
000003ca: PUSH1 0x22
000003cc: DUP3
000003cd: ADD
000003ce: MSTORE
000003cf: KECCAK256
000003d0: SWAP5
000003d1: PUSH1 0xa4
000003d3: CALLDATALOAD
000003d4: SWAP1
000003d5: PUSH1 0x84
000003d7: CALLDATALOAD
000003d8: SWAP1
000003d9: DUP8
000003da: PUSH2 0x2bcb
000003dd: JUMP
000003de: JUMPDEST
000003df: SWAP1
000003e0: SWAP3
000003e1: SWAP2
000003e2: SWAP3
000003e3: PUSH2 0x2c54
000003e6: JUMP
000003e7: JUMPDEST
000003e8: AND
000003e9: SUB
000003ea: PUSH2 0x061a
000003ed: JUMPI
000003ee: DUP1
000003ef: PUSH1 0x00
000003f1: MSTORE
000003f2: PUSH1 0x10
000003f4: PUSH1 0x20
000003f6: MSTORE
000003f7: PUSH1 0xff
000003f9: PUSH1 0x40
000003fb: PUSH1 0x00
000003fd: KECCAK256
000003fe: SLOAD
000003ff: AND
00000400: PUSH2 0x0609
00000403: JUMPI
00000404: PUSH1 0x00
00000406: MSTORE
00000407: PUSH1 0x10
00000409: PUSH1 0x20
0000040b: MSTORE
0000040c: PUSH1 0x40
0000040e: PUSH1 0x00
00000410: KECCAK256
00000411: PUSH1 0x01
00000413: PUSH1 0xff
00000415: NOT
00000416: DUP3
00000417: SLOAD
00000418: AND
00000419: OR
0000041a: SWAP1
0000041b: SSTORE
0000041c: DUP1
0000041d: MLOAD
0000041e: ISZERO
0000041f: PUSH2 0x05f8
00000422: JUMPI
00000423: PUSH1 0xff
00000425: PUSH1 0x40
00000427: MLOAD
00000428: PUSH1 0x20
0000042a: DUP2
0000042b: DUP7
0000042c: MLOAD
0000042d: PUSH2 0x0437
00000430: DUP2
00000431: DUP4
00000432: DUP10
00000433: PUSH2 0x209e
00000436: JUMP
00000437: JUMPDEST
00000438: DUP2
00000439: ADD
0000043a: PUSH1 0x0f
0000043c: DUP2
0000043d: MSTORE
0000043e: SUB
0000043f: ADD
00000440: SWAP1
00000441: KECCAK256
00000442: SLOAD
00000443: AND
00000444: ISZERO
00000445: PUSH2 0x05e8
00000448: JUMPI
00000449: PUSH1 0xff
0000044b: PUSH1 0x40
0000044d: MLOAD
0000044e: PUSH1 0x20
00000450: DUP2
00000451: DUP7
00000452: MLOAD
00000453: PUSH2 0x045d
00000456: DUP2
00000457: DUP4
00000458: DUP10
00000459: PUSH2 0x209e
0000045c: JUMP
0000045d: JUMPDEST
0000045e: DUP2
0000045f: ADD
00000460: PUSH1 0x0f
00000462: DUP2
00000463: MSTORE
00000464: SUB
00000465: ADD
00000466: SWAP1
00000467: KECCAK256
00000468: SLOAD
00000469: PUSH1 0x08
0000046b: SHR
0000046c: AND
0000046d: ISZERO
0000046e: PUSH2 0x05d7
00000471: JUMPI
00000472: PUSH1 0x00
00000474: JUMPDEST
00000475: DUP2
00000476: MLOAD
00000477: DUP2
00000478: LT
00000479: ISZERO
0000047a: PUSH2 0x05d0
0000047d: JUMPI
0000047e: PUSH1 0x00
00000480: PUSH1 0x01
00000482: PUSH1 0x01
00000484: PUSH1 0xa0
00000486: SHL
00000487: SUB
00000488: PUSH1 0x20
0000048a: DUP4
0000048b: PUSH1 0x05
0000048d: SHL
0000048e: DUP6
0000048f: ADD
00000490: ADD
00000491: MLOAD
00000492: AND
00000493: SWAP1
00000494: PUSH1 0x40
00000496: MLOAD
00000497: PUSH1 0x20
00000499: DUP2
0000049a: DUP9
0000049b: MLOAD
0000049c: PUSH2 0x04a6
0000049f: DUP2
000004a0: DUP4
000004a1: DUP12
000004a2: PUSH2 0x209e
000004a5: JUMP
000004a6: JUMPDEST
000004a7: DUP2
000004a8: ADD
000004a9: PUSH1 0x0e
000004ab: DUP2
000004ac: MSTORE
000004ad: SUB
000004ae: ADD
000004af: SWAP1
000004b0: KECCAK256
000004b1: PUSH1 0x01
000004b3: PUSH1 0x01
000004b5: PUSH1 0xa0
000004b7: SHL
000004b8: SUB
000004b9: DUP4
000004ba: AND
000004bb: DUP3
000004bc: MSTORE
000004bd: PUSH1 0x20
000004bf: MSTORE
000004c0: PUSH1 0x40
000004c2: DUP2
000004c3: KECCAK256
000004c4: SLOAD
000004c5: SWAP1
000004c6: DUP2
000004c7: ISZERO
000004c8: PUSH2 0x05c5
000004cb: JUMPI
000004cc: PUSH1 0x40
000004ce: MLOAD
000004cf: PUSH1 0x20
000004d1: DUP2
000004d2: DUP10
000004d3: MLOAD
000004d4: PUSH2 0x04de
000004d7: DUP2
000004d8: DUP4
000004d9: DUP13
000004da: PUSH2 0x209e
000004dd: JUMP
000004de: JUMPDEST
000004df: DUP2
000004e0: ADD
000004e1: PUSH1 0x0e
000004e3: DUP2
000004e4: MSTORE
000004e5: SUB
000004e6: ADD
000004e7: SWAP1
000004e8: KECCAK256
000004e9: PUSH1 0x01
000004eb: PUSH1 0x01
000004ed: PUSH1 0xa0
000004ef: SHL
000004f0: SUB
000004f1: DUP5
000004f2: AND
000004f3: DUP3
000004f4: MSTORE
000004f5: PUSH1 0x20
000004f7: MSTORE
000004f8: DUP1
000004f9: PUSH1 0x40
000004fb: DUP2
000004fc: KECCAK256
000004fd: SSTORE
000004fe: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00000513: DUP4
00000514: EQ
00000515: PUSH1 0x00
00000517: EQ
00000518: PUSH2 0x058e
0000051b: JUMPI
0000051c: DUP1
0000051d: DUP1
0000051e: DUP1
0000051f: DUP1
00000520: DUP6
00000521: CALLER
00000522: GAS
00000523: CALL
00000524: PUSH2 0x052b
00000527: PUSH2 0x220b
0000052a: JUMP
0000052b: JUMPDEST
0000052c: POP
0000052d: ISZERO
0000052e: PUSH2 0x057f
00000531: JUMPI
00000532: POP
00000533: SWAP1
00000534: PUSH32 0xd0bd8d4ccf927b8bdb7954418f673071608791fd667407899920ac1daae0df1a
00000555: PUSH1 0x01
00000557: SWAP4
00000558: SWAP3
00000559: JUMPDEST
0000055a: PUSH1 0x40
0000055c: MLOAD
0000055d: DUP1
0000055e: SWAP2
0000055f: PUSH1 0x40
00000561: DUP3
00000562: MSTORE
00000563: PUSH2 0x056f
00000566: PUSH1 0x40
00000568: DUP4
00000569: ADD
0000056a: DUP12
0000056b: PUSH2 0x20c1
0000056e: JUMP
0000056f: JUMPDEST
00000570: SWAP1
00000571: PUSH1 0x20
00000573: DUP4
00000574: ADD
00000575: MSTORE
00000576: SUB
00000577: SWAP1
00000578: LOG2
00000579: JUMPDEST
0000057a: ADD
0000057b: PUSH2 0x0474
0000057e: JUMP
0000057f: JUMPDEST
00000580: PUSH4 0x0fd208f5
00000585: PUSH1 0xe2
00000587: SHL
00000588: DUP2
00000589: MSTORE
0000058a: PUSH1 0x04
0000058c: SWAP1
0000058d: REVERT
0000058e: JUMPDEST
0000058f: POP
00000590: SWAP1
00000591: PUSH32 0xd0bd8d4ccf927b8bdb7954418f673071608791fd667407899920ac1daae0df1a
000005b2: DUP3
000005b3: PUSH2 0x05c0
000005b6: PUSH1 0x01
000005b8: SWAP6
000005b9: SWAP5
000005ba: CALLER
000005bb: DUP6
000005bc: PUSH2 0x2980
000005bf: JUMP
000005c0: JUMPDEST
000005c1: PUSH2 0x0559
000005c4: JUMP
000005c5: JUMPDEST
000005c6: POP
000005c7: POP
000005c8: POP
000005c9: PUSH1 0x01
000005cb: SWAP1
000005cc: PUSH2 0x0579
000005cf: JUMP
000005d0: JUMPDEST
000005d1: PUSH1 0x01
000005d3: PUSH1 0x03
000005d5: SSTORE
000005d6: STOP
000005d7: JUMPDEST
000005d8: PUSH4 0x243ba77d
000005dd: PUSH1 0xe1
000005df: SHL
000005e0: PUSH1 0x00
000005e2: MSTORE
000005e3: PUSH1 0x04
000005e5: PUSH1 0x00
000005e7: REVERT
000005e8: JUMPDEST
000005e9: PUSH3 0x25f2f9
000005ed: PUSH1 0xe3
000005ef: SHL
000005f0: PUSH1 0x00
000005f2: MSTORE
000005f3: PUSH1 0x04
000005f5: PUSH1 0x00
000005f7: REVERT
000005f8: JUMPDEST
000005f9: PUSH4 0x49712887
000005fe: PUSH1 0xe1
00000600: SHL
00000601: PUSH1 0x00
00000603: MSTORE
00000604: PUSH1 0x04
00000606: PUSH1 0x00
00000608: REVERT
00000609: JUMPDEST
0000060a: PUSH4 0xfaaa8729
0000060f: PUSH1 0xe0
00000611: SHL
00000612: PUSH1 0x00
00000614: MSTORE
00000615: PUSH1 0x04
00000617: PUSH1 0x00
00000619: REVERT
0000061a: JUMPDEST
0000061b: PUSH4 0x260de157
00000620: PUSH1 0xe0
00000622: SHL
00000623: PUSH1 0x00
00000625: MSTORE
00000626: PUSH1 0x04
00000628: PUSH1 0x00
0000062a: REVERT
0000062b: JUMPDEST
0000062c: DUP3
0000062d: MLOAD
0000062e: PUSH1 0x01
00000630: PUSH1 0x01
00000632: PUSH1 0xa0
00000634: SHL
00000635: SUB
00000636: AND
00000637: DUP5
00000638: MSTORE
00000639: PUSH1 0x20
0000063b: SWAP4
0000063c: DUP5
0000063d: ADD
0000063e: SWAP4
0000063f: SWAP1
00000640: SWAP3
00000641: ADD
00000642: SWAP2
00000643: PUSH1 0x01
00000645: ADD
00000646: PUSH2 0x031f
00000649: JUMP
0000064a: JUMPDEST
0000064b: PUSH4 0x1d921347
00000650: PUSH1 0xe2
00000652: SHL
00000653: PUSH1 0x00
00000655: MSTORE
00000656: PUSH1 0x04
00000658: PUSH1 0x00
0000065a: REVERT
0000065b: JUMPDEST
0000065c: PUSH4 0x28e48c3d
00000661: PUSH1 0xe2
00000663: SHL
00000664: PUSH1 0x00
00000666: MSTORE
00000667: PUSH1 0x04
00000669: PUSH1 0x00
0000066b: REVERT
0000066c: JUMPDEST
0000066d: PUSH4 0x3ee5aeb5
00000672: PUSH1 0xe0
00000674: SHL
00000675: PUSH1 0x00
00000677: MSTORE
00000678: PUSH1 0x04
0000067a: PUSH1 0x00
0000067c: REVERT
0000067d: JUMPDEST
0000067e: PUSH1 0x00
00000680: DUP1
00000681: REVERT
00000682: JUMPDEST
00000683: DUP3
00000684: CALLDATALOAD
00000685: PUSH1 0x01
00000687: PUSH1 0x01
00000689: PUSH1 0xa0
0000068b: SHL
0000068c: SUB
0000068d: DUP2
0000068e: AND
0000068f: DUP2
00000690: SUB
00000691: PUSH2 0x067d
00000694: JUMPI
00000695: DUP2
00000696: MSTORE
00000697: PUSH1 0x20
00000699: SWAP3
0000069a: DUP4
0000069b: ADD
0000069c: SWAP3
0000069d: ADD
0000069e: PUSH2 0x0298
000006a1: JUMP
000006a2: JUMPDEST
000006a3: CALLVALUE
000006a4: PUSH2 0x067d
000006a7: JUMPI
000006a8: PUSH1 0x20
000006aa: CALLDATASIZE
000006ab: PUSH1 0x03
000006ad: NOT
000006ae: ADD
000006af: SLT
000006b0: PUSH2 0x067d
000006b3: JUMPI
000006b4: PUSH1 0x01
000006b6: PUSH1 0x01
000006b8: PUSH1 0xa0
000006ba: SHL
000006bb: SUB
000006bc: PUSH2 0x06c3
000006bf: PUSH2 0x2006
000006c2: JUMP
000006c3: JUMPDEST
000006c4: PUSH2 0x06cb
000006c7: PUSH2 0x26e0
000006ca: JUMP
000006cb: JUMPDEST
000006cc: AND
000006cd: DUP1
000006ce: ISZERO
000006cf: PUSH2 0x071e
000006d2: JUMPI
000006d3: PUSH1 0x20
000006d5: DUP2
000006d6: PUSH32 0xcb7ef3e545f5cdb893f5c568ba710fe08f336375a2d9fd66e161033f8fc09ef3
000006f7: SWAP3
000006f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000070d: NOT
0000070e: PUSH1 0x04
00000710: SLOAD
00000711: AND
00000712: OR
00000713: PUSH1 0x04
00000715: SSTORE
00000716: PUSH1 0x40
00000718: MLOAD
00000719: SWAP1
0000071a: DUP2
0000071b: MSTORE
0000071c: LOG1
0000071d: STOP
0000071e: JUMPDEST
0000071f: PUSH4 0x0cfc3ee5
00000724: PUSH1 0xe3
00000726: SHL
00000727: PUSH1 0x00
00000729: MSTORE
0000072a: PUSH1 0x04
0000072c: PUSH1 0x00
0000072e: REVERT
0000072f: JUMPDEST
00000730: CALLVALUE
00000731: PUSH2 0x067d
00000734: JUMPI
00000735: PUSH1 0x00
00000737: CALLDATASIZE
00000738: PUSH1 0x03
0000073a: NOT
0000073b: ADD
0000073c: SLT
0000073d: PUSH2 0x067d
00000740: JUMPI
00000741: PUSH1 0x20
00000743: PUSH1 0x40
00000745: MLOAD
00000746: PUSH32 0x241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08
00000767: DUP2
00000768: MSTORE
00000769: RETURN
0000076a: JUMPDEST
0000076b: CALLVALUE
0000076c: PUSH2 0x067d
0000076f: JUMPI
00000770: PUSH1 0x20
00000772: CALLDATASIZE
00000773: PUSH1 0x03
00000775: NOT
00000776: ADD
00000777: SLT
00000778: PUSH2 0x067d
0000077b: JUMPI
0000077c: PUSH1 0x04
0000077e: CALLDATALOAD
0000077f: DUP1
00000780: ISZERO
00000781: ISZERO
00000782: DUP1
00000783: SWAP2
00000784: SUB
00000785: PUSH2 0x067d
00000788: JUMPI
00000789: PUSH2 0x0790
0000078c: PUSH2 0x27a5
0000078f: JUMP
00000790: JUMPDEST
00000791: PUSH1 0xff
00000793: DUP1
00000794: NOT
00000795: PUSH1 0x12
00000797: SLOAD
00000798: AND
00000799: SWAP2
0000079a: AND
0000079b: OR
0000079c: PUSH1 0x12
0000079e: SSTORE
0000079f: PUSH1 0x00
000007a1: DUP1
000007a2: RETURN
000007a3: JUMPDEST
000007a4: CALLVALUE
000007a5: PUSH2 0x067d
000007a8: JUMPI
000007a9: PUSH1 0x00
000007ab: CALLDATASIZE
000007ac: PUSH1 0x03
000007ae: NOT
000007af: ADD
000007b0: SLT
000007b1: PUSH2 0x067d
000007b4: JUMPI
000007b5: PUSH1 0x20
000007b7: PUSH1 0x11
000007b9: SLOAD
000007ba: PUSH1 0x40
000007bc: MLOAD
000007bd: SWAP1
000007be: DUP2
000007bf: MSTORE
000007c0: RETURN
000007c1: JUMPDEST
000007c2: CALLVALUE
000007c3: PUSH2 0x067d
000007c6: JUMPI
000007c7: PUSH1 0x20
000007c9: CALLDATASIZE
000007ca: PUSH1 0x03
000007cc: NOT
000007cd: ADD
000007ce: SLT
000007cf: PUSH2 0x067d
000007d2: JUMPI
000007d3: PUSH1 0x04
000007d5: CALLDATALOAD
000007d6: PUSH8 0xffffffffffffffff
000007df: DUP2
000007e0: GT
000007e1: PUSH2 0x067d
000007e4: JUMPI
000007e5: PUSH2 0x07fd
000007e8: PUSH2 0x07f7
000007eb: PUSH1 0x40
000007ed: SWAP3
000007ee: CALLDATASIZE
000007ef: SWAP1
000007f0: PUSH1 0x04
000007f2: ADD
000007f3: PUSH2 0x201c
000007f6: JUMP
000007f7: JUMPDEST
000007f8: SWAP1
000007f9: PUSH2 0x2660
000007fc: JUMP
000007fd: JUMPDEST
000007fe: DUP3
000007ff: MLOAD
00000800: SWAP2
00000801: DUP3
00000802: MSTORE
00000803: PUSH1 0x20
00000805: DUP3
00000806: ADD
00000807: MSTORE
00000808: RETURN
00000809: JUMPDEST
0000080a: CALLVALUE
0000080b: PUSH2 0x067d
0000080e: JUMPI
0000080f: PUSH1 0x20
00000811: CALLDATASIZE
00000812: PUSH1 0x03
00000814: NOT
00000815: ADD
00000816: SLT
00000817: PUSH2 0x067d
0000081a: JUMPI
0000081b: PUSH1 0x00
0000081d: PUSH1 0x80
0000081f: PUSH1 0x40
00000821: MLOAD
00000822: PUSH2 0x082a
00000825: DUP2
00000826: PUSH2 0x2146
00000829: JUMP
0000082a: JUMPDEST
0000082b: DUP3
0000082c: DUP2
0000082d: MSTORE
0000082e: DUP3
0000082f: PUSH1 0x20
00000831: DUP3
00000832: ADD
00000833: MSTORE
00000834: DUP3
00000835: PUSH1 0x40
00000837: DUP3
00000838: ADD
00000839: MSTORE
0000083a: DUP3
0000083b: PUSH1 0x60
0000083d: DUP3
0000083e: ADD
0000083f: MSTORE
00000840: ADD
00000841: MSTORE
00000842: PUSH2 0x084c
00000845: PUSH1 0x04
00000847: CALLDATALOAD
00000848: PUSH2 0x223b
0000084b: JUMP
0000084c: JUMPDEST
0000084d: POP
0000084e: PUSH1 0x40
00000850: MLOAD
00000851: PUSH2 0x0859
00000854: DUP2
00000855: PUSH2 0x2146
00000858: JUMP
00000859: JUMPDEST
0000085a: PUSH1 0xff
0000085c: DUP3
0000085d: SLOAD
0000085e: DUP2
0000085f: DUP2
00000860: AND
00000861: ISZERO
00000862: ISZERO
00000863: DUP4
00000864: MSTORE
00000865: PUSH1 0x08
00000867: SHR
00000868: AND
00000869: SWAP2
0000086a: PUSH1 0x20
0000086c: DUP3
0000086d: ADD
0000086e: SWAP1
0000086f: PUSH1 0x03
00000871: DUP5
00000872: LT
00000873: ISZERO
00000874: PUSH2 0x08cc
00000877: JUMPI
00000878: PUSH1 0xa0
0000087a: SWAP4
0000087b: DUP3
0000087c: MSTORE
0000087d: PUSH1 0x01
0000087f: DUP2
00000880: ADD
00000881: SLOAD
00000882: PUSH1 0x40
00000884: DUP5
00000885: ADD
00000886: SWAP1
00000887: DUP2
00000888: MSTORE
00000889: PUSH2 0x08b8
0000088c: PUSH1 0x03
0000088e: PUSH1 0x02
00000890: DUP5
00000891: ADD
00000892: SLOAD
00000893: SWAP4
00000894: PUSH1 0x60
00000896: DUP8
00000897: ADD
00000898: SWAP5
00000899: DUP6
0000089a: MSTORE
0000089b: ADD
0000089c: SLOAD
0000089d: SWAP4
0000089e: PUSH1 0x80
000008a0: DUP7
000008a1: ADD
000008a2: SWAP5
000008a3: DUP6
000008a4: MSTORE
000008a5: PUSH1 0x40
000008a7: MLOAD
000008a8: SWAP6
000008a9: MLOAD
000008aa: ISZERO
000008ab: ISZERO
000008ac: DUP7
000008ad: MSTORE
000008ae: MLOAD
000008af: PUSH1 0x20
000008b1: DUP7
000008b2: ADD
000008b3: SWAP1
000008b4: PUSH2 0x2060
000008b7: JUMP
000008b8: JUMPDEST
000008b9: MLOAD
000008ba: PUSH1 0x40
000008bc: DUP5
000008bd: ADD
000008be: MSTORE
000008bf: MLOAD
000008c0: PUSH1 0x60
000008c2: DUP4
000008c3: ADD
000008c4: MSTORE
000008c5: MLOAD
000008c6: PUSH1 0x80
000008c8: DUP3
000008c9: ADD
000008ca: MSTORE
000008cb: RETURN
000008cc: JUMPDEST
000008cd: PUSH4 0x4e487b71
000008d2: PUSH1 0xe0
000008d4: SHL
000008d5: PUSH1 0x00
000008d7: MSTORE
000008d8: PUSH1 0x21
000008da: PUSH1 0x04
000008dc: MSTORE
000008dd: PUSH1 0x24
000008df: PUSH1 0x00
000008e1: REVERT
000008e2: JUMPDEST
000008e3: CALLVALUE
000008e4: PUSH2 0x067d
000008e7: JUMPI
000008e8: PUSH1 0x00
000008ea: CALLDATASIZE
000008eb: PUSH1 0x03
000008ed: NOT
000008ee: ADD
000008ef: SLT
000008f0: PUSH2 0x067d
000008f3: JUMPI
000008f4: PUSH1 0x20
000008f6: PUSH1 0x07
000008f8: SLOAD
000008f9: PUSH1 0x40
000008fb: MLOAD
000008fc: SWAP1
000008fd: DUP2
000008fe: MSTORE
000008ff: RETURN
00000900: JUMPDEST
00000901: CALLVALUE
00000902: PUSH2 0x067d
00000905: JUMPI
00000906: PUSH1 0x40
00000908: CALLDATASIZE
00000909: PUSH1 0x03
0000090b: NOT
0000090c: ADD
0000090d: SLT
0000090e: PUSH2 0x067d
00000911: JUMPI
00000912: PUSH2 0x001b
00000915: PUSH1 0x04
00000917: CALLDATALOAD
00000918: PUSH2 0x091f
0000091b: PUSH2 0x1ff0
0000091e: JUMP
0000091f: JUMPDEST
00000920: SWAP1
00000921: PUSH2 0x0940
00000924: PUSH2 0x093b
00000927: DUP3
00000928: PUSH1 0x00
0000092a: MSTORE
0000092b: PUSH1 0x02
0000092d: PUSH1 0x20
0000092f: MSTORE
00000930: PUSH1 0x01
00000932: PUSH1 0x40
00000934: PUSH1 0x00
00000936: KECCAK256
00000937: ADD
00000938: SLOAD
00000939: SWAP1
0000093a: JUMP
0000093b: JUMPDEST
0000093c: PUSH2 0x2817
0000093f: JUMP
00000940: JUMPDEST
00000941: PUSH2 0x28f1
00000944: JUMP
00000945: JUMPDEST
00000946: CALLVALUE
00000947: PUSH2 0x067d
0000094a: JUMPI
0000094b: PUSH1 0x20
0000094d: CALLDATASIZE
0000094e: PUSH1 0x03
00000950: NOT
00000951: ADD
00000952: SLT
00000953: PUSH2 0x067d
00000956: JUMPI
00000957: PUSH32 0xdfe91dcad2adcb1ecd18d2e830b469081211d6743c1e2dfa893836431fb78794
00000978: PUSH1 0x20
0000097a: PUSH1 0x01
0000097c: PUSH1 0x01
0000097e: PUSH1 0xa0
00000980: SHL
00000981: SUB
00000982: PUSH2 0x0989
00000985: PUSH2 0x2006
00000988: JUMP
00000989: JUMPDEST
0000098a: PUSH2 0x0991
0000098d: PUSH2 0x26e0
00000990: JUMP
00000991: JUMPDEST
00000992: AND
00000993: DUP1
00000994: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a9: NOT
000009aa: PUSH1 0x0b
000009ac: SLOAD
000009ad: AND
000009ae: OR
000009af: PUSH1 0x0b
000009b1: SSTORE
000009b2: PUSH1 0x40
000009b4: MLOAD
000009b5: SWAP1
000009b6: DUP2
000009b7: MSTORE
000009b8: LOG1
000009b9: STOP
000009ba: JUMPDEST
000009bb: CALLVALUE
000009bc: PUSH2 0x067d
000009bf: JUMPI
000009c0: PUSH1 0x20
000009c2: PUSH2 0x09d3
000009c5: PUSH2 0x09cd
000009c8: CALLDATASIZE
000009c9: PUSH2 0x204a
000009cc: JUMP
000009cd: JUMPDEST
000009ce: SWAP1
000009cf: PUSH2 0x25d0
000009d2: JUMP
000009d3: JUMPDEST
000009d4: PUSH1 0x40
000009d6: MLOAD
000009d7: SWAP1
000009d8: DUP2
000009d9: MSTORE
000009da: RETURN
000009db: JUMPDEST
000009dc: CALLVALUE
000009dd: PUSH2 0x067d
000009e0: JUMPI
000009e1: PUSH1 0x20
000009e3: PUSH1 0x01
000009e5: PUSH1 0x01
000009e7: PUSH1 0xa0
000009e9: SHL
000009ea: SUB
000009eb: PUSH2 0x09f3
000009ee: CALLDATASIZE
000009ef: PUSH2 0x20e6
000009f2: JUMP
000009f3: JUMPDEST
000009f4: SWAP2
000009f5: SWAP4
000009f6: SWAP1
000009f7: DUP3
000009f8: PUSH1 0x40
000009fa: MLOAD
000009fb: SWAP4
000009fc: DUP5
000009fd: SWAP3
000009fe: DUP4
000009ff: CALLDATACOPY
00000a00: DUP2
00000a01: ADD
00000a02: PUSH1 0x0e
00000a04: DUP2
00000a05: MSTORE
00000a06: SUB
00000a07: ADD
00000a08: SWAP1
00000a09: KECCAK256
00000a0a: SWAP2
00000a0b: AND
00000a0c: PUSH1 0x00
00000a0e: MSTORE
00000a0f: PUSH1 0x20
00000a11: MSTORE
00000a12: PUSH1 0x20
00000a14: PUSH1 0x40
00000a16: PUSH1 0x00
00000a18: KECCAK256
00000a19: SLOAD
00000a1a: PUSH1 0x40
00000a1c: MLOAD
00000a1d: SWAP1
00000a1e: DUP2
00000a1f: MSTORE
00000a20: RETURN
00000a21: JUMPDEST
00000a22: CALLVALUE
00000a23: PUSH2 0x067d
00000a26: JUMPI
00000a27: PUSH1 0x60
00000a29: CALLDATASIZE
00000a2a: PUSH1 0x03
00000a2c: NOT
00000a2d: ADD
00000a2e: SLT
00000a2f: PUSH2 0x067d
00000a32: JUMPI
00000a33: PUSH1 0x04
00000a35: CALLDATALOAD
00000a36: PUSH8 0xffffffffffffffff
00000a3f: DUP2
00000a40: GT
00000a41: PUSH2 0x067d
00000a44: JUMPI
00000a45: PUSH2 0x0a52
00000a48: SWAP1
00000a49: CALLDATASIZE
00000a4a: SWAP1
00000a4b: PUSH1 0x04
00000a4d: ADD
00000a4e: PUSH2 0x206d
00000a51: JUMP
00000a52: JUMPDEST
00000a53: SWAP1
00000a54: PUSH1 0x24
00000a56: CALLDATALOAD
00000a57: PUSH8 0xffffffffffffffff
00000a60: DUP2
00000a61: GT
00000a62: PUSH2 0x067d
00000a65: JUMPI
00000a66: PUSH2 0x0a73
00000a69: SWAP1
00000a6a: CALLDATASIZE
00000a6b: SWAP1
00000a6c: PUSH1 0x04
00000a6e: ADD
00000a6f: PUSH2 0x206d
00000a72: JUMP
00000a73: JUMPDEST
00000a74: PUSH1 0x44
00000a76: SWAP3
00000a77: SWAP2
00000a78: SWAP3
00000a79: CALLDATALOAD
00000a7a: PUSH8 0xffffffffffffffff
00000a83: DUP2
00000a84: GT
00000a85: PUSH2 0x067d
00000a88: JUMPI
00000a89: PUSH2 0x0a96
00000a8c: SWAP1
00000a8d: CALLDATASIZE
00000a8e: SWAP1
00000a8f: PUSH1 0x04
00000a91: ADD
00000a92: PUSH2 0x206d
00000a95: JUMP
00000a96: JUMPDEST
00000a97: PUSH2 0x0aa1
00000a9a: SWAP5
00000a9b: SWAP2
00000a9c: SWAP5
00000a9d: PUSH2 0x2733
00000aa0: JUMP
00000aa1: JUMPDEST
00000aa2: PUSH1 0xff
00000aa4: PUSH1 0x0b
00000aa6: SLOAD
00000aa7: PUSH1 0xa0
00000aa9: SHR
00000aaa: AND
00000aab: PUSH1 0x03
00000aad: DUP2
00000aae: LT
00000aaf: ISZERO
00000ab0: PUSH2 0x08cc
00000ab3: JUMPI
00000ab4: PUSH1 0x02
00000ab6: EQ
00000ab7: PUSH2 0x0bf3
00000aba: JUMPI
00000abb: DUP3
00000abc: DUP7
00000abd: EQ
00000abe: DUP1
00000abf: PUSH2 0x0bea
00000ac2: JUMPI
00000ac3: JUMPDEST
00000ac4: ISZERO
00000ac5: PUSH2 0x0bd9
00000ac8: JUMPI
00000ac9: PUSH1 0x00
00000acb: JUMPDEST
00000acc: DUP7
00000acd: DUP2
00000ace: LT
00000acf: PUSH2 0x0ad4
00000ad2: JUMPI
00000ad3: STOP
00000ad4: JUMPDEST
00000ad5: DUP1
00000ad6: PUSH31 0xc6ee47ff3b385ec289bf5bbe0e21c12204141c9586eb2a480d955d6a9f9230
00000af6: DUP6
00000af7: DUP6
00000af8: PUSH2 0x0bd0
00000afb: DUP11
00000afc: PUSH2 0x0bc2
00000aff: DUP7
00000b00: DUP10
00000b01: DUP16
00000b02: DUP3
00000b03: DUP16
00000b04: DUP2
00000b05: PUSH2 0x0bbb
00000b08: SWAP4
00000b09: PUSH2 0x0bb3
00000b0c: SWAP3
00000b0d: PUSH1 0x01
00000b0f: SWAP16
00000b10: PUSH1 0x02
00000b12: PUSH2 0x0b2c
00000b15: DUP16
00000b16: SWAP3
00000b17: DUP16
00000b18: PUSH2 0x0b25
00000b1b: DUP16
00000b1c: SWAP6
00000b1d: DUP4
00000b1e: SWAP1
00000b1f: DUP15
00000b20: SWAP4
00000b21: PUSH2 0x22e6
00000b24: JUMP
00000b25: JUMPDEST
00000b26: CALLDATALOAD
00000b27: SWAP5
00000b28: PUSH2 0x22e6
00000b2b: JUMP
00000b2c: JUMPDEST
00000b2d: CALLDATALOAD
00000b2e: PUSH1 0x40
00000b30: MLOAD
00000b31: SWAP3
00000b32: PUSH2 0x0b3a
00000b35: DUP5
00000b36: PUSH2 0x2162
00000b39: JUMP
00000b3a: JUMPDEST
00000b3b: PUSH1 0x01
00000b3d: DUP5
00000b3e: MSTORE
00000b3f: PUSH1 0x20
00000b41: DUP5
00000b42: ADD
00000b43: PUSH1 0x01
00000b45: DUP2
00000b46: MSTORE
00000b47: PUSH1 0x40
00000b49: DUP6
00000b4a: ADD
00000b4b: SWAP2
00000b4c: DUP3
00000b4d: MSTORE
00000b4e: PUSH1 0x60
00000b50: DUP6
00000b51: ADD
00000b52: SWAP3
00000b53: DUP4
00000b54: MSTORE
00000b55: PUSH2 0x0b8f
00000b58: PUSH1 0x20
00000b5a: PUSH2 0x0b64
00000b5d: DUP11
00000b5e: DUP11
00000b5f: DUP11
00000b60: PUSH2 0x258e
00000b63: JUMP
00000b64: JUMPDEST
00000b65: SWAP2
00000b66: SWAP1
00000b67: DUP3
00000b68: PUSH1 0x40
00000b6a: MLOAD
00000b6b: SWAP4
00000b6c: DUP5
00000b6d: SWAP3
00000b6e: DUP4
00000b6f: CALLDATACOPY
00000b70: DUP2
00000b71: ADD
00000b72: PUSH1 0x0f
00000b74: DUP2
00000b75: MSTORE
00000b76: SUB
00000b77: ADD
00000b78: SWAP1
00000b79: KECCAK256
00000b7a: SWAP6
00000b7b: MLOAD
00000b7c: ISZERO
00000b7d: ISZERO
00000b7e: DUP7
00000b7f: SWAP1
00000b80: PUSH1 0xff
00000b82: DUP1
00000b83: NOT
00000b84: DUP4
00000b85: SLOAD
00000b86: AND
00000b87: SWAP2
00000b88: ISZERO
00000b89: ISZERO
00000b8a: AND
00000b8b: OR
00000b8c: SWAP1
00000b8d: SSTORE
00000b8e: JUMP
00000b8f: JUMPDEST
00000b90: MLOAD
00000b91: DUP5
00000b92: SLOAD
00000b93: PUSH2 0xff00
00000b96: NOT
00000b97: AND
00000b98: SWAP1
00000b99: ISZERO
00000b9a: ISZERO
00000b9b: PUSH1 0x08
00000b9d: SHL
00000b9e: PUSH2 0xff00
00000ba1: AND
00000ba2: OR
00000ba3: DUP5
00000ba4: SSTORE
00000ba5: MLOAD
00000ba6: PUSH1 0x01
00000ba8: DUP5
00000ba9: ADD
00000baa: SSTORE
00000bab: MLOAD
00000bac: SWAP2
00000bad: ADD
00000bae: SSTORE
00000baf: PUSH2 0x258e
00000bb2: JUMP
00000bb3: JUMPDEST
00000bb4: SWAP10
00000bb5: SWAP1
00000bb6: SWAP9
00000bb7: PUSH2 0x22e6
00000bba: JUMP
00000bbb: JUMPDEST
00000bbc: CALLDATALOAD
00000bbd: SWAP4
00000bbe: PUSH2 0x22e6
00000bc1: JUMP
00000bc2: JUMPDEST
00000bc3: CALLDATALOAD
00000bc4: SWAP1
00000bc5: PUSH1 0x40
00000bc7: MLOAD
00000bc8: SWAP5
00000bc9: DUP6
00000bca: SWAP5
00000bcb: DUP6
00000bcc: PUSH2 0x2288
00000bcf: JUMP
00000bd0: JUMPDEST
00000bd1: SUB
00000bd2: SWAP1
00000bd3: LOG1
00000bd4: ADD
00000bd5: PUSH2 0x0acb
00000bd8: JUMP
00000bd9: JUMPDEST
00000bda: PUSH4 0x0a91615f
00000bdf: PUSH1 0xe2
00000be1: SHL
00000be2: PUSH1 0x00
00000be4: MSTORE
00000be5: PUSH1 0x04
00000be7: PUSH1 0x00
00000be9: REVERT
00000bea: JUMPDEST
00000beb: POP
00000bec: DUP1
00000bed: DUP7
00000bee: EQ
00000bef: PUSH2 0x0ac3
00000bf2: JUMP
00000bf3: JUMPDEST
00000bf4: PUSH4 0x60f98625
00000bf9: PUSH1 0xe1
00000bfb: SHL
00000bfc: PUSH1 0x00
00000bfe: MSTORE
00000bff: PUSH1 0x04
00000c01: PUSH1 0x00
00000c03: REVERT
00000c04: JUMPDEST
00000c05: CALLVALUE
00000c06: PUSH2 0x067d
00000c09: JUMPI
00000c0a: PUSH1 0x00
00000c0c: CALLDATASIZE
00000c0d: PUSH1 0x03
00000c0f: NOT
00000c10: ADD
00000c11: SLT
00000c12: PUSH2 0x067d
00000c15: JUMPI
00000c16: PUSH2 0x0c1d
00000c19: PUSH2 0x26e0
00000c1c: JUMP
00000c1d: JUMPDEST
00000c1e: PUSH1 0xff
00000c20: PUSH1 0x0b
00000c22: SLOAD
00000c23: PUSH1 0xa0
00000c25: SHR
00000c26: AND
00000c27: PUSH1 0x03
00000c29: DUP2
00000c2a: LT
00000c2b: ISZERO
00000c2c: PUSH2 0x08cc
00000c2f: JUMPI
00000c30: PUSH2 0x0c93
00000c33: JUMPI
00000c34: PUSH21 0x010000000000000000000000000000000000000000
00000c4a: PUSH1 0xff
00000c4c: PUSH1 0xa0
00000c4e: SHL
00000c4f: NOT
00000c50: PUSH1 0x0b
00000c52: SLOAD
00000c53: AND
00000c54: OR
00000c55: PUSH1 0x0b
00000c57: SSTORE
00000c58: PUSH32 0x7101a660456a4e2f94e6b0ccd3d6a034724e26130a817471aaf5a3de8fba384a
00000c79: PUSH1 0x20
00000c7b: PUSH1 0xff
00000c7d: PUSH1 0x0b
00000c7f: SLOAD
00000c80: PUSH1 0xa0
00000c82: SHR
00000c83: AND
00000c84: PUSH2 0x0c90
00000c87: PUSH1 0x40
00000c89: MLOAD
00000c8a: DUP1
00000c8b: SWAP3
00000c8c: PUSH2 0x2060
00000c8f: JUMP
00000c90: JUMPDEST
00000c91: LOG1
00000c92: STOP
00000c93: JUMPDEST
00000c94: PUSH4 0x331bce45
00000c99: PUSH1 0xe2
00000c9b: SHL
00000c9c: PUSH1 0x00
00000c9e: MSTORE
00000c9f: PUSH1 0x04
00000ca1: PUSH1 0x00
00000ca3: REVERT
00000ca4: JUMPDEST
00000ca5: CALLVALUE
00000ca6: PUSH2 0x067d
00000ca9: JUMPI
00000caa: PUSH2 0x0cb2
00000cad: CALLDATASIZE
00000cae: PUSH2 0x204a
00000cb1: JUMP
00000cb2: JUMPDEST
00000cb3: SWAP1
00000cb4: PUSH2 0x0cbb
00000cb7: PUSH2 0x27a5
00000cba: JUMP
00000cbb: JUMPDEST
00000cbc: PUSH1 0xff
00000cbe: PUSH1 0x0b
00000cc0: SLOAD
00000cc1: PUSH1 0xa0
00000cc3: SHR
00000cc4: AND
00000cc5: PUSH1 0x03
00000cc7: DUP2
00000cc8: LT
00000cc9: ISZERO
00000cca: PUSH2 0x08cc
00000ccd: JUMPI
00000cce: PUSH1 0x02
00000cd0: EQ
00000cd1: PUSH2 0x0bf3
00000cd4: JUMPI
00000cd5: PUSH1 0x40
00000cd7: MLOAD
00000cd8: SWAP1
00000cd9: PUSH2 0x0ce1
00000cdc: DUP3
00000cdd: PUSH2 0x2146
00000ce0: JUMP
00000ce1: JUMPDEST
00000ce2: PUSH1 0x01
00000ce4: DUP3
00000ce5: MSTORE
00000ce6: PUSH1 0x20
00000ce8: DUP3
00000ce9: ADD
00000cea: SWAP3
00000ceb: PUSH1 0x00
00000ced: DUP5
00000cee: MSTORE
00000cef: PUSH1 0x40
00000cf1: DUP4
00000cf2: ADD
00000cf3: SWAP3
00000cf4: DUP3
00000cf5: DUP5
00000cf6: MSTORE
00000cf7: PUSH1 0x60
00000cf9: DUP2
00000cfa: ADD
00000cfb: SWAP5
00000cfc: PUSH1 0x00
00000cfe: DUP7
00000cff: MSTORE
00000d00: PUSH1 0x80
00000d02: DUP3
00000d03: ADD
00000d04: SWAP1
00000d05: DUP4
00000d06: DUP3
00000d07: MSTORE
00000d08: PUSH1 0x11
00000d0a: SLOAD
00000d0b: PUSH9 0x010000000000000000
00000d15: DUP2
00000d16: LT
00000d17: ISZERO
00000d18: PUSH2 0x0dc4
00000d1b: JUMPI
00000d1c: DUP1
00000d1d: PUSH1 0x01
00000d1f: PUSH2 0x0d2b
00000d22: SWAP3
00000d23: ADD
00000d24: PUSH1 0x11
00000d26: SSTORE
00000d27: PUSH2 0x223b
00000d2a: JUMP
00000d2b: JUMPDEST
00000d2c: SWAP4
00000d2d: SWAP1
00000d2e: SWAP4
00000d2f: PUSH2 0x0dae
00000d32: JUMPI
00000d33: PUSH2 0x0d4b
00000d36: SWAP1
00000d37: MLOAD
00000d38: ISZERO
00000d39: ISZERO
00000d3a: DUP5
00000d3b: SWAP1
00000d3c: PUSH1 0xff
00000d3e: DUP1
00000d3f: NOT
00000d40: DUP4
00000d41: SLOAD
00000d42: AND
00000d43: SWAP2
00000d44: ISZERO
00000d45: ISZERO
00000d46: AND
00000d47: OR
00000d48: SWAP1
00000d49: SSTORE
00000d4a: JUMP
00000d4b: JUMPDEST
00000d4c: MLOAD
00000d4d: SWAP1
00000d4e: PUSH1 0x03
00000d50: DUP3
00000d51: LT
00000d52: ISZERO
00000d53: PUSH2 0x08cc
00000d56: JUMPI
00000d57: PUSH32 0x23135a80f2463aa6bc9df8521af634b8aae450b0936efcbbc5f2a2f07d58132b
00000d78: SWAP7
00000d79: PUSH1 0x40
00000d7b: SWAP7
00000d7c: PUSH1 0x03
00000d7e: SWAP4
00000d7f: PUSH2 0xff00
00000d82: DUP7
00000d83: SLOAD
00000d84: SWAP2
00000d85: PUSH1 0x08
00000d87: SHL
00000d88: AND
00000d89: SWAP1
00000d8a: PUSH2 0xff00
00000d8d: NOT
00000d8e: AND
00000d8f: OR
00000d90: DUP6
00000d91: SSTORE
00000d92: MLOAD
00000d93: PUSH1 0x01
00000d95: DUP6
00000d96: ADD
00000d97: SSTORE
00000d98: MLOAD
00000d99: PUSH1 0x02
00000d9b: DUP5
00000d9c: ADD
00000d9d: SSTORE
00000d9e: MLOAD
00000d9f: SWAP2
00000da0: ADD
00000da1: SSTORE
00000da2: DUP3
00000da3: MLOAD
00000da4: SWAP2
00000da5: DUP3
00000da6: MSTORE
00000da7: PUSH1 0x20
00000da9: DUP3
00000daa: ADD
00000dab: MSTORE
00000dac: LOG1
00000dad: STOP
00000dae: JUMPDEST
00000daf: PUSH4 0x4e487b71
00000db4: PUSH1 0xe0
00000db6: SHL
00000db7: PUSH1 0x00
00000db9: MSTORE
00000dba: PUSH1 0x00
00000dbc: PUSH1 0x04
00000dbe: MSTORE
00000dbf: PUSH1 0x24
00000dc1: PUSH1 0x00
00000dc3: REVERT
00000dc4: JUMPDEST
00000dc5: PUSH4 0x4e487b71
00000dca: PUSH1 0xe0
00000dcc: SHL
00000dcd: PUSH1 0x00
00000dcf: MSTORE
00000dd0: PUSH1 0x41
00000dd2: PUSH1 0x04
00000dd4: MSTORE
00000dd5: PUSH1 0x24
00000dd7: PUSH1 0x00
00000dd9: REVERT
00000dda: JUMPDEST
00000ddb: CALLVALUE
00000ddc: PUSH2 0x067d
00000ddf: JUMPI
00000de0: PUSH1 0x20
00000de2: CALLDATASIZE
00000de3: PUSH1 0x03
00000de5: NOT
00000de6: ADD
00000de7: SLT
00000de8: PUSH2 0x067d
00000deb: JUMPI
00000dec: PUSH1 0x04
00000dee: CALLDATALOAD
00000def: PUSH2 0x0df6
00000df2: PUSH2 0x2733
00000df5: JUMP
00000df6: JUMPDEST
00000df7: PUSH1 0xff
00000df9: PUSH2 0x0e01
00000dfc: DUP3
00000dfd: PUSH2 0x223b
00000e00: JUMP
00000e01: JUMPDEST
00000e02: POP
00000e03: SLOAD
00000e04: AND
00000e05: ISZERO
00000e06: PUSH2 0x0e47
00000e09: JUMPI
00000e0a: PUSH2 0x0e12
00000e0d: DUP2
00000e0e: PUSH2 0x223b
00000e11: JUMP
00000e12: JUMPDEST
00000e13: POP
00000e14: DUP1
00000e15: SLOAD
00000e16: PUSH2 0xff00
00000e19: NOT
00000e1a: AND
00000e1b: PUSH2 0x0200
00000e1e: OR
00000e1f: SWAP1
00000e20: SSTORE
00000e21: PUSH32 0xcb67f20f64495b30f15524c55f90201dd6571d6b5c19dac183d2aeb25315b2dc
00000e42: PUSH1 0x00
00000e44: DUP1
00000e45: LOG2
00000e46: STOP
00000e47: JUMPDEST
00000e48: PUSH4 0x61f81d4d
00000e4d: PUSH1 0xe0
00000e4f: SHL
00000e50: PUSH1 0x00
00000e52: MSTORE
00000e53: PUSH1 0x04
00000e55: PUSH1 0x00
00000e57: REVERT
00000e58: JUMPDEST
00000e59: CALLVALUE
00000e5a: PUSH2 0x067d
00000e5d: JUMPI
00000e5e: PUSH1 0x00
00000e60: CALLDATASIZE
00000e61: PUSH1 0x03
00000e63: NOT
00000e64: ADD
00000e65: SLT
00000e66: PUSH2 0x067d
00000e69: JUMPI
00000e6a: PUSH1 0x20
00000e6c: PUSH1 0x40
00000e6e: MLOAD
00000e6f: PUSH1 0x00
00000e71: DUP2
00000e72: MSTORE
00000e73: RETURN
00000e74: JUMPDEST
00000e75: CALLVALUE
00000e76: PUSH2 0x067d
00000e79: JUMPI
00000e7a: PUSH2 0x0ea2
00000e7d: PUSH2 0x0e8e
00000e80: PUSH2 0x0e88
00000e83: CALLDATASIZE
00000e84: PUSH2 0x20e6
00000e87: JUMP
00000e88: JUMPDEST
00000e89: SWAP2
00000e8a: PUSH2 0x23d3
00000e8d: JUMP
00000e8e: JUMPDEST
00000e8f: PUSH1 0x40
00000e91: MLOAD
00000e92: SWAP2
00000e93: DUP3
00000e94: SWAP2
00000e95: PUSH1 0x20
00000e97: DUP4
00000e98: MSTORE
00000e99: PUSH1 0x20
00000e9b: DUP4
00000e9c: ADD
00000e9d: SWAP1
00000e9e: PUSH2 0x20c1
00000ea1: JUMP
00000ea2: JUMPDEST
00000ea3: SUB
00000ea4: SWAP1
00000ea5: RETURN
00000ea6: JUMPDEST
00000ea7: CALLVALUE
00000ea8: PUSH2 0x067d
00000eab: JUMPI
00000eac: PUSH1 0x00
00000eae: CALLDATASIZE
00000eaf: PUSH1 0x03
00000eb1: NOT
00000eb2: ADD
00000eb3: SLT
00000eb4: PUSH2 0x067d
00000eb7: JUMPI
00000eb8: PUSH1 0x20
00000eba: PUSH1 0x05
00000ebc: SLOAD
00000ebd: PUSH1 0x40
00000ebf: MLOAD
00000ec0: SWAP1
00000ec1: DUP2
00000ec2: MSTORE
00000ec3: RETURN
00000ec4: JUMPDEST
00000ec5: CALLVALUE
00000ec6: PUSH2 0x067d
00000ec9: JUMPI
00000eca: PUSH1 0x00
00000ecc: CALLDATASIZE
00000ecd: PUSH1 0x03
00000ecf: NOT
00000ed0: ADD
00000ed1: SLT
00000ed2: PUSH2 0x067d
00000ed5: JUMPI
00000ed6: PUSH1 0x40
00000ed8: PUSH1 0x08
00000eda: SLOAD
00000edb: PUSH1 0x09
00000edd: SLOAD
00000ede: DUP3
00000edf: MLOAD
00000ee0: SWAP2
00000ee1: DUP3
00000ee2: MSTORE
00000ee3: PUSH1 0x20
00000ee5: DUP3
00000ee6: ADD
00000ee7: MSTORE
00000ee8: RETURN
00000ee9: JUMPDEST
00000eea: CALLVALUE
00000eeb: PUSH2 0x067d
00000eee: JUMPI
00000eef: PUSH1 0x00
00000ef1: CALLDATASIZE
00000ef2: PUSH1 0x03
00000ef4: NOT
00000ef5: ADD
00000ef6: SLT
00000ef7: PUSH2 0x067d
00000efa: JUMPI
00000efb: PUSH1 0x20
00000efd: PUSH2 0x09d3
00000f00: PUSH2 0x2315
00000f03: JUMP
00000f04: JUMPDEST
00000f05: CALLVALUE
00000f06: PUSH2 0x067d
00000f09: JUMPI
00000f0a: PUSH1 0x40
00000f0c: CALLDATASIZE
00000f0d: PUSH1 0x03
00000f0f: NOT
00000f10: ADD
00000f11: SLT
00000f12: PUSH2 0x067d
00000f15: JUMPI
00000f16: PUSH2 0x0f1d
00000f19: PUSH2 0x1ff0
00000f1c: JUMP
00000f1d: JUMPDEST
00000f1e: PUSH1 0x04
00000f20: CALLDATALOAD
00000f21: PUSH1 0x00
00000f23: MSTORE
00000f24: PUSH1 0x02
00000f26: PUSH1 0x20
00000f28: MSTORE
00000f29: PUSH1 0x01
00000f2b: PUSH1 0x01
00000f2d: PUSH1 0xa0
00000f2f: SHL
00000f30: SUB
00000f31: PUSH1 0x40
00000f33: PUSH1 0x00
00000f35: KECCAK256
00000f36: SWAP2
00000f37: AND
00000f38: PUSH1 0x00
00000f3a: MSTORE
00000f3b: PUSH1 0x20
00000f3d: MSTORE
00000f3e: PUSH1 0x20
00000f40: PUSH1 0xff
00000f42: PUSH1 0x40
00000f44: PUSH1 0x00
00000f46: KECCAK256
00000f47: SLOAD
00000f48: AND
00000f49: PUSH1 0x40
00000f4b: MLOAD
00000f4c: SWAP1
00000f4d: ISZERO
00000f4e: ISZERO
00000f4f: DUP2
00000f50: MSTORE
00000f51: RETURN
00000f52: JUMPDEST
00000f53: CALLVALUE
00000f54: PUSH2 0x067d
00000f57: JUMPI
00000f58: PUSH1 0x00
00000f5a: CALLDATASIZE
00000f5b: PUSH1 0x03
00000f5d: NOT
00000f5e: ADD
00000f5f: SLT
00000f60: PUSH2 0x067d
00000f63: JUMPI
00000f64: PUSH1 0x0a
00000f66: SLOAD
00000f67: PUSH2 0x0f6f
00000f6a: DUP2
00000f6b: PUSH2 0x21a0
00000f6e: JUMP
00000f6f: JUMPDEST
00000f70: SWAP1
00000f71: PUSH2 0x0f7d
00000f74: PUSH1 0x40
00000f76: MLOAD
00000f77: SWAP3
00000f78: DUP4
00000f79: PUSH2 0x217e
00000f7c: JUMP
00000f7d: JUMPDEST
00000f7e: DUP1
00000f7f: DUP3
00000f80: MSTORE
00000f81: PUSH1 0x20
00000f83: DUP3
00000f84: ADD
00000f85: SWAP1
00000f86: DUP2
00000f87: PUSH1 0x0a
00000f89: PUSH1 0x00
00000f8b: MSTORE
00000f8c: PUSH32 0xc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8
00000fad: PUSH1 0x00
00000faf: SWAP2
00000fb0: JUMPDEST
00000fb1: DUP4
00000fb2: DUP4
00000fb3: LT
00000fb4: PUSH2 0x1008
00000fb7: JUMPI
00000fb8: DUP5
00000fb9: DUP7
00000fba: PUSH1 0x40
00000fbc: MLOAD
00000fbd: SWAP2
00000fbe: DUP3
00000fbf: SWAP2
00000fc0: PUSH1 0x20
00000fc2: DUP4
00000fc3: ADD
00000fc4: SWAP1
00000fc5: PUSH1 0x20
00000fc7: DUP5
00000fc8: MSTORE
00000fc9: MLOAD
00000fca: DUP1
00000fcb: SWAP2
00000fcc: MSTORE
00000fcd: PUSH1 0x40
00000fcf: DUP4
00000fd0: ADD
00000fd1: SWAP2
00000fd2: SWAP1
00000fd3: PUSH1 0x00
00000fd5: JUMPDEST
00000fd6: DUP2
00000fd7: DUP2
00000fd8: LT
00000fd9: PUSH2 0x0fe3
00000fdc: JUMPI
00000fdd: POP
00000fde: POP
00000fdf: POP
00000fe0: SUB
00000fe1: SWAP1
00000fe2: RETURN
00000fe3: JUMPDEST
00000fe4: DUP3
00000fe5: MLOAD
00000fe6: DUP1
00000fe7: MLOAD
00000fe8: DUP6
00000fe9: MSTORE
00000fea: PUSH1 0x20
00000fec: SWAP1
00000fed: DUP2
00000fee: ADD
00000fef: MLOAD
00000ff0: DUP2
00000ff1: DUP7
00000ff2: ADD
00000ff3: MSTORE
00000ff4: DUP7
00000ff5: SWAP6
00000ff6: POP
00000ff7: PUSH1 0x40
00000ff9: SWAP1
00000ffa: SWAP5
00000ffb: ADD
00000ffc: SWAP4
00000ffd: SWAP1
00000ffe: SWAP3
00000fff: ADD
00001000: SWAP2
00001001: PUSH1 0x01
00001003: ADD
00001004: PUSH2 0x0fd5
00001007: JUMP
00001008: JUMPDEST
00001009: PUSH1 0x02
0000100b: PUSH1 0x20
0000100d: PUSH1 0x01
0000100f: SWAP3
00001010: PUSH1 0x40
00001012: MLOAD
00001013: PUSH2 0x101b
00001016: DUP2
00001017: PUSH2 0x212a
0000101a: JUMP
0000101b: JUMPDEST
0000101c: DUP6
0000101d: SLOAD
0000101e: DUP2
0000101f: MSTORE
00001020: DUP5
00001021: DUP7
00001022: ADD
00001023: SLOAD
00001024: DUP4
00001025: DUP3
00001026: ADD
00001027: MSTORE
00001028: DUP2
00001029: MSTORE
0000102a: ADD
0000102b: SWAP3
0000102c: ADD
0000102d: SWAP3
0000102e: ADD
0000102f: SWAP2
00001030: SWAP1
00001031: PUSH2 0x0fb0
00001034: JUMP
00001035: JUMPDEST
00001036: CALLVALUE
00001037: PUSH2 0x067d
0000103a: JUMPI
0000103b: PUSH1 0x40
0000103d: CALLDATASIZE
0000103e: PUSH1 0x03
00001040: NOT
00001041: ADD
00001042: SLT
00001043: PUSH2 0x067d
00001046: JUMPI
00001047: PUSH32 0xa75ce34872c395a628c61aff7fee33ef71bed972e3a28c7f63fff0022f629aa9
00001068: PUSH2 0x106f
0000106b: PUSH2 0x2006
0000106e: JUMP
0000106f: JUMPDEST
00001070: PUSH1 0x24
00001072: CALLDATALOAD
00001073: SWAP1
00001074: PUSH2 0x107b
00001077: PUSH2 0x26e0
0000107a: JUMP
0000107b: JUMPDEST
0000107c: PUSH2 0x108f
0000107f: DUP3
00001080: CALLER
00001081: PUSH1 0x01
00001083: PUSH1 0x01
00001085: PUSH1 0xa0
00001087: SHL
00001088: SUB
00001089: DUP5
0000108a: AND
0000108b: PUSH2 0x2980
0000108e: JUMP
0000108f: JUMPDEST
00001090: PUSH1 0x40
00001092: DUP1
00001093: MLOAD
00001094: PUSH1 0x01
00001096: PUSH1 0x01
00001098: PUSH1 0xa0
0000109a: SHL
0000109b: SUB
0000109c: SWAP1
0000109d: SWAP3
0000109e: AND
0000109f: DUP3
000010a0: MSTORE
000010a1: PUSH1 0x20
000010a3: DUP3
000010a4: ADD
000010a5: SWAP3
000010a6: SWAP1
000010a7: SWAP3
000010a8: MSTORE
000010a9: SWAP1
000010aa: DUP2
000010ab: SWAP1
000010ac: DUP2
000010ad: ADD
000010ae: JUMPDEST
000010af: SUB
000010b0: SWAP1
000010b1: LOG1
000010b2: STOP
000010b3: JUMPDEST
000010b4: CALLVALUE
000010b5: PUSH2 0x067d
000010b8: JUMPI
000010b9: PUSH1 0x00
000010bb: CALLDATASIZE
000010bc: PUSH1 0x03
000010be: NOT
000010bf: ADD
000010c0: SLT
000010c1: PUSH2 0x067d
000010c4: JUMPI
000010c5: PUSH2 0x1152
000010c8: PUSH2 0x10f0
000010cb: PUSH32 0x4372617465000000000000000000000000000000000000000000000000000005
000010ec: PUSH2 0x2a1b
000010ef: JUMP
000010f0: JUMPDEST
000010f1: PUSH2 0x1119
000010f4: PUSH32 0x3100000000000000000000000000000000000000000000000000000000000001
00001115: PUSH2 0x2a78
00001118: JUMP
00001119: JUMPDEST
0000111a: PUSH1 0x20
0000111c: PUSH2 0x1160
0000111f: PUSH1 0x40
00001121: MLOAD
00001122: SWAP3
00001123: PUSH2 0x112c
00001126: DUP4
00001127: DUP6
00001128: PUSH2 0x217e
0000112b: JUMP
0000112c: JUMPDEST
0000112d: PUSH1 0x00
0000112f: DUP5
00001130: MSTORE
00001131: PUSH1 0x00
00001133: CALLDATASIZE
00001134: DUP2
00001135: CALLDATACOPY
00001136: PUSH1 0x40
00001138: MLOAD
00001139: SWAP6
0000113a: DUP7
0000113b: SWAP6
0000113c: PUSH1 0x0f
0000113e: PUSH1 0xf8
00001140: SHL
00001141: DUP8
00001142: MSTORE
00001143: PUSH1 0xe0
00001145: DUP6
00001146: DUP9
00001147: ADD
00001148: MSTORE
00001149: PUSH1 0xe0
0000114b: DUP8
0000114c: ADD
0000114d: SWAP1
0000114e: PUSH2 0x20c1
00001151: JUMP
00001152: JUMPDEST
00001153: SWAP1
00001154: DUP6
00001155: DUP3
00001156: SUB
00001157: PUSH1 0x40
00001159: DUP8
0000115a: ADD
0000115b: MSTORE
0000115c: PUSH2 0x20c1
0000115f: JUMP
00001160: JUMPDEST
00001161: CHAINID
00001162: PUSH1 0x60
00001164: DUP6
00001165: ADD
00001166: MSTORE
00001167: ADDRESS
00001168: PUSH1 0x80
0000116a: DUP6
0000116b: ADD
0000116c: MSTORE
0000116d: PUSH1 0x00
0000116f: PUSH1 0xa0
00001171: DUP6
00001172: ADD
00001173: MSTORE
00001174: DUP4
00001175: DUP2
00001176: SUB
00001177: PUSH1 0xc0
00001179: DUP6
0000117a: ADD
0000117b: MSTORE
0000117c: DUP2
0000117d: DUP1
0000117e: DUP5
0000117f: MLOAD
00001180: SWAP3
00001181: DUP4
00001182: DUP2
00001183: MSTORE
00001184: ADD
00001185: SWAP4
00001186: ADD
00001187: SWAP2
00001188: PUSH1 0x00
0000118a: JUMPDEST
0000118b: DUP3
0000118c: DUP2
0000118d: LT
0000118e: PUSH2 0x1199
00001191: JUMPI
00001192: POP
00001193: POP
00001194: POP
00001195: POP
00001196: SUB
00001197: SWAP1
00001198: RETURN
00001199: JUMPDEST
0000119a: DUP4
0000119b: MLOAD
0000119c: DUP6
0000119d: MSTORE
0000119e: DUP7
0000119f: SWAP6
000011a0: POP
000011a1: SWAP4
000011a2: DUP2
000011a3: ADD
000011a4: SWAP4
000011a5: SWAP3
000011a6: DUP2
000011a7: ADD
000011a8: SWAP3
000011a9: PUSH1 0x01
000011ab: ADD
000011ac: PUSH2 0x118a
000011af: JUMP
000011b0: JUMPDEST
000011b1: CALLVALUE
000011b2: PUSH2 0x067d
000011b5: JUMPI
000011b6: PUSH1 0x40
000011b8: CALLDATASIZE
000011b9: PUSH1 0x03
000011bb: NOT
000011bc: ADD
000011bd: SLT
000011be: PUSH2 0x067d
000011c1: JUMPI
000011c2: PUSH1 0x04
000011c4: CALLDATALOAD
000011c5: PUSH8 0xffffffffffffffff
000011ce: DUP2
000011cf: GT
000011d0: PUSH2 0x067d
000011d3: JUMPI
000011d4: PUSH2 0x11e1
000011d7: SWAP1
000011d8: CALLDATASIZE
000011d9: SWAP1
000011da: PUSH1 0x04
000011dc: ADD
000011dd: PUSH2 0x206d
000011e0: JUMP
000011e1: JUMPDEST
000011e2: PUSH1 0x24
000011e4: CALLDATALOAD
000011e5: PUSH8 0xffffffffffffffff
000011ee: DUP2
000011ef: GT
000011f0: PUSH2 0x067d
000011f3: JUMPI
000011f4: PUSH2 0x1201
000011f7: SWAP1
000011f8: CALLDATASIZE
000011f9: SWAP1
000011fa: PUSH1 0x04
000011fc: ADD
000011fd: PUSH2 0x206d
00001200: JUMP
00001201: JUMPDEST
00001202: SWAP1
00001203: PUSH2 0x120a
00001206: PUSH2 0x27a5
00001209: JUMP
0000120a: JUMPDEST
0000120b: DUP2
0000120c: DUP4
0000120d: SUB
0000120e: PUSH2 0x05f8
00001211: JUMPI
00001212: PUSH1 0x0a
00001214: SLOAD
00001215: PUSH1 0x00
00001217: PUSH1 0x0a
00001219: SSTORE
0000121a: DUP1
0000121b: PUSH2 0x1361
0000121e: JUMPI
0000121f: JUMPDEST
00001220: POP
00001221: PUSH1 0x00
00001223: JUMPDEST
00001224: DUP4
00001225: DUP2
00001226: LT
00001227: PUSH2 0x122c
0000122a: JUMPI
0000122b: STOP
0000122c: JUMPDEST
0000122d: DUP1
0000122e: PUSH2 0x12e9
00001231: JUMPI
00001232: DUP4
00001233: ISZERO
00001234: PUSH2 0x12d3
00001237: JUMPI
00001238: DUP5
00001239: CALLDATALOAD
0000123a: ISZERO
0000123b: ISZERO
0000123c: DUP1
0000123d: PUSH2 0x12c3
00001240: JUMPI
00001241: JUMPDEST
00001242: ISZERO
00001243: PUSH2 0x12b2
00001246: JUMPI
00001247: JUMPDEST
00001248: PUSH2 0x1252
0000124b: DUP2
0000124c: DUP5
0000124d: DUP5
0000124e: PUSH2 0x22e6
00001251: JUMP
00001252: JUMPDEST
00001253: CALLDATALOAD
00001254: SWAP1
00001255: PUSH2 0x125f
00001258: DUP2
00001259: DUP7
0000125a: DUP9
0000125b: PUSH2 0x22e6
0000125e: JUMP
0000125f: JUMPDEST
00001260: CALLDATALOAD
00001261: PUSH1 0x40
00001263: MLOAD
00001264: SWAP1
00001265: PUSH2 0x126d
00001268: DUP3
00001269: PUSH2 0x212a
0000126c: JUMP
0000126d: JUMPDEST
0000126e: DUP2
0000126f: MSTORE
00001270: PUSH1 0x20
00001272: DUP2
00001273: ADD
00001274: SWAP3
00001275: DUP4
00001276: MSTORE
00001277: PUSH1 0x0a
00001279: SLOAD
0000127a: PUSH9 0x010000000000000000
00001284: DUP2
00001285: LT
00001286: ISZERO
00001287: PUSH2 0x0dc4
0000128a: JUMPI
0000128b: DUP1
0000128c: PUSH1 0x01
0000128e: PUSH2 0x129a
00001291: SWAP3
00001292: ADD
00001293: PUSH1 0x0a
00001295: SSTORE
00001296: PUSH2 0x22f6
00001299: JUMP
0000129a: JUMPDEST
0000129b: SWAP2
0000129c: SWAP1
0000129d: SWAP2
0000129e: PUSH2 0x0dae
000012a1: JUMPI
000012a2: MLOAD
000012a3: DUP2
000012a4: SSTORE
000012a5: SWAP2
000012a6: MLOAD
000012a7: PUSH1 0x01
000012a9: SWAP3
000012aa: DUP4
000012ab: ADD
000012ac: SSTORE
000012ad: ADD
000012ae: PUSH2 0x1223
000012b1: JUMP
000012b2: JUMPDEST
000012b3: PUSH4 0x7253e4df
000012b8: PUSH1 0xe1
000012ba: SHL
000012bb: PUSH1 0x00
000012bd: MSTORE
000012be: PUSH1 0x04
000012c0: PUSH1 0x00
000012c2: REVERT
000012c3: JUMPDEST
000012c4: POP
000012c5: DUP3
000012c6: ISZERO
000012c7: PUSH2 0x12d3
000012ca: JUMPI
000012cb: DUP2
000012cc: CALLDATALOAD
000012cd: ISZERO
000012ce: ISZERO
000012cf: PUSH2 0x1241
000012d2: JUMP
000012d3: JUMPDEST
000012d4: PUSH4 0x4e487b71
000012d9: PUSH1 0xe0
000012db: SHL
000012dc: PUSH1 0x00
000012de: MSTORE
000012df: PUSH1 0x32
000012e1: PUSH1 0x04
000012e3: MSTORE
000012e4: PUSH1 0x24
000012e6: PUSH1 0x00
000012e8: REVERT
000012e9: JUMPDEST
000012ea: PUSH1 0x00
000012ec: NOT
000012ed: DUP2
000012ee: ADD
000012ef: DUP2
000012f0: DUP2
000012f1: GT
000012f2: PUSH2 0x134b
000012f5: JUMPI
000012f6: PUSH2 0x1300
000012f9: DUP2
000012fa: DUP7
000012fb: DUP9
000012fc: PUSH2 0x22e6
000012ff: JUMP
00001300: JUMPDEST
00001301: CALLDATALOAD
00001302: PUSH2 0x130c
00001305: DUP4
00001306: DUP8
00001307: DUP10
00001308: PUSH2 0x22e6
0000130b: JUMP
0000130c: JUMPDEST
0000130d: CALLDATALOAD
0000130e: GT
0000130f: SWAP1
00001310: DUP2
00001311: PUSH2 0x132b
00001314: JUMPI
00001315: JUMPDEST
00001316: POP
00001317: PUSH2 0x1247
0000131a: JUMPI
0000131b: PUSH4 0x7253e4df
00001320: PUSH1 0xe1
00001322: SHL
00001323: PUSH1 0x00
00001325: MSTORE
00001326: PUSH1 0x04
00001328: PUSH1 0x00
0000132a: REVERT
0000132b: JUMPDEST
0000132c: PUSH2 0x1337
0000132f: SWAP2
00001330: POP
00001331: DUP5
00001332: DUP5
00001333: PUSH2 0x22e6
00001336: JUMP
00001337: JUMPDEST
00001338: CALLDATALOAD
00001339: PUSH2 0x1343
0000133c: DUP3
0000133d: DUP6
0000133e: DUP6
0000133f: PUSH2 0x22e6
00001342: JUMP
00001343: JUMPDEST
00001344: CALLDATALOAD
00001345: GT
00001346: DUP7
00001347: PUSH2 0x1315
0000134a: JUMP
0000134b: JUMPDEST
0000134c: PUSH4 0x4e487b71
00001351: PUSH1 0xe0
00001353: SHL
00001354: PUSH1 0x00
00001356: MSTORE
00001357: PUSH1 0x11
00001359: PUSH1 0x04
0000135b: MSTORE
0000135c: PUSH1 0x24
0000135e: PUSH1 0x00
00001360: REVERT
00001361: JUMPDEST
00001362: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001383: DUP2
00001384: AND
00001385: DUP2
00001386: SUB
00001387: PUSH2 0x134b
0000138a: JUMPI
0000138b: PUSH1 0x0a
0000138d: PUSH1 0x00
0000138f: MSTORE
00001390: PUSH1 0x01
00001392: SHL
00001393: PUSH32 0xc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8
000013b4: ADD
000013b5: PUSH32 0xc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8
000013d6: JUMPDEST
000013d7: DUP2
000013d8: DUP2
000013d9: LT
000013da: PUSH2 0x13e3
000013dd: JUMPI
000013de: POP
000013df: PUSH2 0x121f
000013e2: JUMP
000013e3: JUMPDEST
000013e4: PUSH1 0x00
000013e6: DUP1
000013e7: DUP3
000013e8: SSTORE
000013e9: PUSH1 0x01
000013eb: DUP3
000013ec: ADD
000013ed: SSTORE
000013ee: PUSH1 0x02
000013f0: ADD
000013f1: PUSH2 0x13d6
000013f4: JUMP
000013f5: JUMPDEST
000013f6: CALLVALUE
000013f7: PUSH2 0x067d
000013fa: JUMPI
000013fb: PUSH1 0x00
000013fd: CALLDATASIZE
000013fe: PUSH1 0x03
00001400: NOT
00001401: ADD
00001402: SLT
00001403: PUSH2 0x067d
00001406: JUMPI
00001407: PUSH1 0x20
00001409: PUSH1 0x40
0000140b: MLOAD
0000140c: PUSH32 0x4537a8625b568d11dc31ae1d90b1ee7e52cbc0a45ac7bbe0d5b3dc7605dda3e7
0000142d: DUP2
0000142e: MSTORE
0000142f: RETURN
00001430: JUMPDEST
00001431: CALLVALUE
00001432: PUSH2 0x067d
00001435: JUMPI
00001436: PUSH1 0x00
00001438: CALLDATASIZE
00001439: PUSH1 0x03
0000143b: NOT
0000143c: ADD
0000143d: SLT
0000143e: PUSH2 0x067d
00001441: JUMPI
00001442: PUSH1 0x20
00001444: PUSH1 0xff
00001446: PUSH1 0x12
00001448: SLOAD
00001449: AND
0000144a: PUSH1 0x40
0000144c: MLOAD
0000144d: SWAP1
0000144e: ISZERO
0000144f: ISZERO
00001450: DUP2
00001451: MSTORE
00001452: RETURN
00001453: JUMPDEST
00001454: CALLVALUE
00001455: PUSH2 0x067d
00001458: JUMPI
00001459: PUSH2 0x1461
0000145c: CALLDATASIZE
0000145d: PUSH2 0x204a
00001460: JUMP
00001461: JUMPDEST
00001462: PUSH2 0x1469
00001465: PUSH2 0x27a5
00001468: JUMP
00001469: JUMPDEST
0000146a: PUSH1 0xff
0000146c: PUSH1 0x0b
0000146e: SLOAD
0000146f: PUSH1 0xa0
00001471: SHR
00001472: AND
00001473: PUSH1 0x03
00001475: DUP2
00001476: LT
00001477: ISZERO
00001478: PUSH2 0x08cc
0000147b: JUMPI
0000147c: PUSH1 0x02
0000147e: EQ
0000147f: PUSH2 0x0bf3
00001482: JUMPI
00001483: PUSH2 0x03e8
00001486: DUP3
00001487: GT
00001488: PUSH2 0x14ce
0000148b: JUMPI
0000148c: PUSH2 0x03e8
0000148f: DUP2
00001490: GT
00001491: PUSH2 0x14ce
00001494: JUMPI
00001495: DUP2
00001496: PUSH1 0x40
00001498: SWAP2
00001499: PUSH32 0xcdae37a21b83247d47e3b28fa5ad3ea45492b3fffded004435e702b8549f32f8
000014ba: SWAP4
000014bb: PUSH1 0x08
000014bd: SSTORE
000014be: DUP1
000014bf: PUSH1 0x09
000014c1: SSTORE
000014c2: DUP3
000014c3: MLOAD
000014c4: SWAP2
000014c5: DUP3
000014c6: MSTORE
000014c7: PUSH1 0x20
000014c9: DUP3
000014ca: ADD
000014cb: MSTORE
000014cc: LOG1
000014cd: STOP
000014ce: JUMPDEST
000014cf: PUSH4 0x3374af3d
000014d4: PUSH1 0xe2
000014d6: SHL
000014d7: PUSH1 0x00
000014d9: MSTORE
000014da: PUSH1 0x04
000014dc: PUSH1 0x00
000014de: REVERT
000014df: JUMPDEST
000014e0: CALLVALUE
000014e1: PUSH2 0x067d
000014e4: JUMPI
000014e5: PUSH2 0x14ed
000014e8: CALLDATASIZE
000014e9: PUSH2 0x204a
000014ec: JUMP
000014ed: JUMPDEST
000014ee: PUSH2 0x14f5
000014f1: PUSH2 0x27a5
000014f4: JUMP
000014f5: JUMPDEST
000014f6: PUSH1 0xff
000014f8: PUSH1 0x0b
000014fa: SLOAD
000014fb: PUSH1 0xa0
000014fd: SHR
000014fe: AND
000014ff: PUSH1 0x03
00001501: DUP2
00001502: LT
00001503: ISZERO
00001504: PUSH2 0x08cc
00001507: JUMPI
00001508: PUSH1 0x02
0000150a: EQ
0000150b: PUSH2 0x0bf3
0000150e: JUMPI
0000150f: PUSH1 0xff
00001511: PUSH2 0x1519
00001514: DUP4
00001515: PUSH2 0x223b
00001518: JUMP
00001519: JUMPDEST
0000151a: POP
0000151b: SLOAD
0000151c: AND
0000151d: ISZERO
0000151e: PUSH2 0x0e47
00001521: JUMPI
00001522: PUSH1 0xff
00001524: PUSH2 0x152c
00001527: DUP4
00001528: PUSH2 0x223b
0000152b: JUMP
0000152c: JUMPDEST
0000152d: POP
0000152e: SLOAD
0000152f: PUSH1 0x08
00001531: SHR
00001532: AND
00001533: PUSH1 0x03
00001535: DUP2
00001536: LT
00001537: ISZERO
00001538: PUSH2 0x08cc
0000153b: JUMPI
0000153c: PUSH1 0x02
0000153e: EQ
0000153f: PUSH2 0x15a3
00001542: JUMPI
00001543: DUP1
00001544: PUSH1 0x02
00001546: PUSH2 0x154e
00001549: DUP5
0000154a: PUSH2 0x223b
0000154d: JUMP
0000154e: JUMPDEST
0000154f: POP
00001550: ADD
00001551: SLOAD
00001552: GT
00001553: PUSH2 0x1592
00001556: JUMPI
00001557: PUSH1 0x20
00001559: DUP2
0000155a: PUSH32 0xafd694a7b0d2ebaf8fa8483392d4036a4ab5bd8debe0c15695d17982c9d6523c
0000157b: SWAP3
0000157c: PUSH1 0x03
0000157e: PUSH2 0x1586
00001581: DUP7
00001582: PUSH2 0x223b
00001585: JUMP
00001586: JUMPDEST
00001587: POP
00001588: ADD
00001589: SSTORE
0000158a: PUSH1 0x40
0000158c: MLOAD
0000158d: SWAP1
0000158e: DUP2
0000158f: MSTORE
00001590: LOG2
00001591: STOP
00001592: JUMPDEST
00001593: PUSH4 0x615154af
00001598: PUSH1 0xe0
0000159a: SHL
0000159b: PUSH1 0x00
0000159d: MSTORE
0000159e: PUSH1 0x04
000015a0: PUSH1 0x00
000015a2: REVERT
000015a3: JUMPDEST
000015a4: PUSH4 0x35469427
000015a9: PUSH1 0xe2
000015ab: SHL
000015ac: PUSH1 0x00
000015ae: MSTORE
000015af: PUSH1 0x04
000015b1: PUSH1 0x00
000015b3: REVERT
000015b4: JUMPDEST
000015b5: CALLVALUE
000015b6: PUSH2 0x067d
000015b9: JUMPI
000015ba: PUSH1 0xe0
000015bc: CALLDATASIZE
000015bd: PUSH1 0x03
000015bf: NOT
000015c0: ADD
000015c1: SLT
000015c2: PUSH2 0x067d
000015c5: JUMPI
000015c6: PUSH2 0x15cd
000015c9: PUSH2 0x2006
000015cc: JUMP
000015cd: JUMPDEST
000015ce: PUSH2 0x15d5
000015d1: PUSH2 0x1ff0
000015d4: JUMP
000015d5: JUMPDEST
000015d6: SWAP1
000015d7: PUSH1 0x64
000015d9: CALLDATALOAD
000015da: PUSH1 0x84
000015dc: CALLDATALOAD
000015dd: PUSH8 0xffffffffffffffff
000015e6: DUP2
000015e7: GT
000015e8: PUSH2 0x067d
000015eb: JUMPI
000015ec: PUSH2 0x15f9
000015ef: SWAP1
000015f0: CALLDATASIZE
000015f1: SWAP1
000015f2: PUSH1 0x04
000015f4: ADD
000015f5: PUSH2 0x201c
000015f8: JUMP
000015f9: JUMPDEST
000015fa: CALLER
000015fb: PUSH1 0x00
000015fd: SWAP1
000015fe: DUP2
000015ff: MSTORE
00001600: PUSH32 0x2b47e9a17e06300fb3ae8f151c0f02ac1a6674e8f3a0025b7af02fe70478ba14
00001621: PUSH1 0x20
00001623: MSTORE
00001624: PUSH1 0x40
00001626: SWAP1
00001627: KECCAK256
00001628: SLOAD
00001629: SWAP2
0000162a: SWAP4
0000162b: SWAP1
0000162c: SWAP3
0000162d: SWAP2
0000162e: PUSH1 0xff
00001630: AND
00001631: ISZERO
00001632: PUSH2 0x1947
00001635: JUMPI
00001636: PUSH1 0x01
00001638: PUSH1 0x01
0000163a: PUSH1 0xa0
0000163c: SHL
0000163d: SUB
0000163e: SWAP1
0000163f: PUSH2 0x164a
00001642: DUP4
00001643: PUSH1 0x05
00001645: SLOAD
00001646: PUSH2 0x227b
00001649: JUMP
0000164a: JUMPDEST
0000164b: PUSH1 0x05
0000164d: SSTORE
0000164e: PUSH1 0x06
00001650: SLOAD
00001651: PUSH1 0x02
00001653: PUSH2 0x1671
00001656: PUSH2 0x166b
00001659: DUP7
0000165a: DUP4
0000165b: PUSH2 0x1663
0000165e: DUP7
0000165f: PUSH2 0x223b
00001662: JUMP
00001663: JUMPDEST
00001664: POP
00001665: ADD
00001666: SLOAD
00001667: PUSH2 0x227b
0000166a: JUMP
0000166b: JUMPDEST
0000166c: SWAP3
0000166d: PUSH2 0x223b
00001670: JUMP
00001671: JUMPDEST
00001672: POP
00001673: ADD
00001674: SSTORE
00001675: AND
00001676: SWAP1
00001677: DUP2
00001678: PUSH1 0x00
0000167a: MSTORE
0000167b: PUSH1 0x0c
0000167d: PUSH1 0x20
0000167f: MSTORE
00001680: PUSH2 0x169e
00001683: PUSH1 0x40
00001685: PUSH1 0x00
00001687: KECCAK256
00001688: SWAP2
00001689: PUSH1 0x06
0000168b: SLOAD
0000168c: SWAP3
0000168d: DUP4
0000168e: PUSH1 0x00
00001690: MSTORE
00001691: PUSH1 0x20
00001693: MSTORE
00001694: PUSH1 0x40
00001696: PUSH1 0x00
00001698: KECCAK256
00001699: SLOAD
0000169a: PUSH2 0x227b
0000169d: JUMP
0000169e: JUMPDEST
0000169f: SWAP1
000016a0: DUP3
000016a1: PUSH1 0x00
000016a3: MSTORE
000016a4: PUSH1 0x0c
000016a6: PUSH1 0x20
000016a8: MSTORE
000016a9: PUSH1 0x40
000016ab: PUSH1 0x00
000016ad: KECCAK256
000016ae: SWAP1
000016af: PUSH1 0x00
000016b1: MSTORE
000016b2: PUSH1 0x20
000016b4: MSTORE
000016b5: PUSH1 0x40
000016b7: PUSH1 0x00
000016b9: KECCAK256
000016ba: SSTORE
000016bb: PUSH2 0x16c5
000016be: CALLDATASIZE
000016bf: DUP4
000016c0: DUP6
000016c1: PUSH2 0x21d4
000016c4: JUMP
000016c5: JUMPDEST
000016c6: SWAP4
000016c7: PUSH1 0x20
000016c9: SWAP5
000016ca: PUSH1 0x00
000016cc: PUSH1 0x40
000016ce: MLOAD
000016cf: PUSH2 0x16d8
000016d2: DUP9
000016d3: DUP3
000016d4: PUSH2 0x217e
000016d7: JUMP
000016d8: JUMPDEST
000016d9: MSTORE
000016da: DUP1
000016db: MLOAD
000016dc: DUP7
000016dd: DUP2
000016de: ISZERO
000016df: SWAP3
000016e0: DUP4
000016e1: PUSH2 0x1919
000016e4: JUMPI
000016e5: JUMPDEST
000016e6: POP
000016e7: POP
000016e8: POP
000016e9: ISZERO
000016ea: PUSH2 0x16ef
000016ed: JUMPI
000016ee: STOP
000016ef: JUMPDEST
000016f0: PUSH1 0xff
000016f2: PUSH1 0x40
000016f4: MLOAD
000016f5: DUP5
000016f6: DUP7
000016f7: DUP3
000016f8: CALLDATACOPY
000016f9: DUP7
000016fa: DUP2
000016fb: DUP7
000016fc: DUP2
000016fd: ADD
000016fe: PUSH1 0x0f
00001700: DUP2
00001701: MSTORE
00001702: SUB
00001703: ADD
00001704: SWAP1
00001705: KECCAK256
00001706: SLOAD
00001707: AND
00001708: ISZERO
00001709: PUSH2 0x1899
0000170c: JUMPI
0000170d: JUMPDEST
0000170e: PUSH1 0x01
00001710: PUSH1 0x01
00001712: PUSH1 0xa0
00001714: SHL
00001715: SUB
00001716: PUSH1 0x40
00001718: MLOAD
00001719: DUP5
0000171a: DUP7
0000171b: DUP3
0000171c: CALLDATACOPY
0000171d: DUP7
0000171e: DUP2
0000171f: DUP7
00001720: DUP2
00001721: ADD
00001722: PUSH1 0x0e
00001724: DUP2
00001725: MSTORE
00001726: SUB
00001727: ADD
00001728: SWAP1
00001729: KECCAK256
0000172a: SWAP2
0000172b: AND
0000172c: PUSH1 0x00
0000172e: MSTORE
0000172f: DUP5
00001730: MSTORE
00001731: PUSH1 0x40
00001733: PUSH1 0x00
00001735: KECCAK256
00001736: PUSH2 0x1742
00001739: PUSH1 0xa4
0000173b: CALLDATALOAD
0000173c: DUP3
0000173d: SLOAD
0000173e: PUSH2 0x227b
00001741: JUMP
00001742: JUMPDEST
00001743: SWAP1
00001744: SSTORE
00001745: PUSH1 0x40
00001747: MLOAD
00001748: DUP3
00001749: DUP5
0000174a: DUP3
0000174b: CALLDATACOPY
0000174c: DUP5
0000174d: DUP2
0000174e: DUP5
0000174f: DUP2
00001750: ADD
00001751: PUSH1 0x0e
00001753: DUP2
00001754: MSTORE
00001755: SUB
00001756: ADD
00001757: SWAP1
00001758: KECCAK256
00001759: PUSH20 0xdededededededededededededededededededede
0000176e: PUSH1 0x00
00001770: MSTORE
00001771: DUP5
00001772: MSTORE
00001773: PUSH1 0x40
00001775: PUSH1 0x00
00001777: KECCAK256
00001778: PUSH2 0x1784
0000177b: PUSH1 0xc4
0000177d: CALLDATALOAD
0000177e: DUP3
0000177f: SLOAD
00001780: PUSH2 0x227b
00001783: JUMP
00001784: JUMPDEST
00001785: SWAP1
00001786: SSTORE
00001787: PUSH1 0x00
00001789: MSTORE
0000178a: PUSH1 0x0d
0000178c: DUP4
0000178d: MSTORE
0000178e: PUSH1 0x40
00001790: PUSH1 0x00
00001792: KECCAK256
00001793: SWAP2
00001794: PUSH8 0xffffffffffffffff
0000179d: DUP3
0000179e: GT
0000179f: PUSH2 0x0dc4
000017a2: JUMPI
000017a3: PUSH2 0x17ac
000017a6: DUP4
000017a7: SLOAD
000017a8: PUSH2 0x22ac
000017ab: JUMP
000017ac: JUMPDEST
000017ad: PUSH1 0x1f
000017af: DUP2
000017b0: GT
000017b1: PUSH2 0x1853
000017b4: JUMPI
000017b5: JUMPDEST
000017b6: POP
000017b7: PUSH1 0x00
000017b9: SWAP4
000017ba: PUSH1 0x1f
000017bc: DUP4
000017bd: GT
000017be: PUSH1 0x01
000017c0: EQ
000017c1: PUSH2 0x17f2
000017c4: JUMPI
000017c5: POP
000017c6: SWAP3
000017c7: DUP2
000017c8: SWAP3
000017c9: SWAP4
000017ca: PUSH1 0x00
000017cc: SWAP3
000017cd: PUSH2 0x17e7
000017d0: JUMPI
000017d1: JUMPDEST
000017d2: POP
000017d3: POP
000017d4: DUP2
000017d5: PUSH1 0x01
000017d7: SHL
000017d8: SWAP2
000017d9: PUSH1 0x00
000017db: NOT
000017dc: SWAP1
000017dd: PUSH1 0x03
000017df: SHL
000017e0: SHR
000017e1: NOT
000017e2: AND
000017e3: OR
000017e4: SWAP1
000017e5: SSTORE
000017e6: STOP
000017e7: JUMPDEST
000017e8: ADD
000017e9: CALLDATALOAD
000017ea: SWAP1
000017eb: POP
000017ec: DUP4
000017ed: DUP1
000017ee: PUSH2 0x17d1
000017f1: JUMP
000017f2: JUMPDEST
000017f3: SWAP1
000017f4: PUSH1 0x1f
000017f6: NOT
000017f7: DUP4
000017f8: AND
000017f9: SWAP5
000017fa: DUP5
000017fb: DUP2
000017fc: MSTORE
000017fd: DUP3
000017fe: DUP2
000017ff: KECCAK256
00001800: SWAP3
00001801: DUP2
00001802: SWAP1
00001803: JUMPDEST
00001804: DUP8
00001805: DUP3
00001806: LT
00001807: PUSH2 0x183b
0000180a: JUMPI
0000180b: POP
0000180c: POP
0000180d: DUP4
0000180e: PUSH1 0x01
00001810: SWAP6
00001811: SWAP7
00001812: LT
00001813: PUSH2 0x1821
00001816: JUMPI
00001817: JUMPDEST
00001818: POP
00001819: POP
0000181a: POP
0000181b: DUP2
0000181c: SHL
0000181d: ADD
0000181e: SWAP1
0000181f: SSTORE
00001820: STOP
00001821: JUMPDEST
00001822: ADD
00001823: CALLDATALOAD
00001824: PUSH1 0x00
00001826: NOT
00001827: PUSH1 0x03
00001829: DUP5
0000182a: SWAP1
0000182b: SHL
0000182c: PUSH1 0xf8
0000182e: AND
0000182f: SHR
00001830: NOT
00001831: AND
00001832: SWAP1
00001833: SSTORE
00001834: DUP4
00001835: DUP1
00001836: DUP1
00001837: PUSH2 0x1817
0000183a: JUMP
0000183b: JUMPDEST
0000183c: DUP1
0000183d: PUSH1 0x01
0000183f: DUP5
00001840: SWAP7
00001841: DUP3
00001842: SWAP5
00001843: SWAP6
00001844: DUP8
00001845: ADD
00001846: CALLDATALOAD
00001847: DUP2
00001848: SSTORE
00001849: ADD
0000184a: SWAP6
0000184b: ADD
0000184c: SWAP3
0000184d: ADD
0000184e: SWAP1
0000184f: PUSH2 0x1803
00001852: JUMP
00001853: JUMPDEST
00001854: DUP4
00001855: PUSH1 0x00
00001857: MSTORE
00001858: DUP5
00001859: PUSH1 0x00
0000185b: KECCAK256
0000185c: PUSH1 0x1f
0000185e: DUP5
0000185f: ADD
00001860: PUSH1 0x05
00001862: SHR
00001863: DUP2
00001864: ADD
00001865: SWAP2
00001866: DUP7
00001867: DUP6
00001868: LT
00001869: PUSH2 0x188f
0000186c: JUMPI
0000186d: JUMPDEST
0000186e: PUSH1 0x1f
00001870: ADD
00001871: PUSH1 0x05
00001873: SHR
00001874: ADD
00001875: SWAP1
00001876: JUMPDEST
00001877: DUP2
00001878: DUP2
00001879: LT
0000187a: PUSH2 0x1883
0000187d: JUMPI
0000187e: POP
0000187f: PUSH2 0x17b5
00001882: JUMP
00001883: JUMPDEST
00001884: PUSH1 0x00
00001886: DUP2
00001887: SSTORE
00001888: PUSH1 0x01
0000188a: ADD
0000188b: PUSH2 0x1876
0000188e: JUMP
0000188f: JUMPDEST
00001890: SWAP1
00001891: SWAP2
00001892: POP
00001893: DUP2
00001894: SWAP1
00001895: PUSH2 0x186d
00001898: JUMP
00001899: JUMPDEST
0000189a: PUSH1 0x40
0000189c: MLOAD
0000189d: DUP4
0000189e: DUP6
0000189f: DUP3
000018a0: CALLDATACOPY
000018a1: DUP6
000018a2: DUP2
000018a3: DUP6
000018a4: DUP2
000018a5: ADD
000018a6: PUSH1 0x0f
000018a8: DUP2
000018a9: MSTORE
000018aa: SUB
000018ab: ADD
000018ac: SWAP1
000018ad: KECCAK256
000018ae: PUSH1 0x01
000018b0: PUSH1 0xff
000018b2: NOT
000018b3: DUP3
000018b4: SLOAD
000018b5: AND
000018b6: OR
000018b7: SWAP1
000018b8: SSTORE
000018b9: PUSH1 0x40
000018bb: MLOAD
000018bc: DUP4
000018bd: DUP6
000018be: DUP3
000018bf: CALLDATACOPY
000018c0: DUP6
000018c1: DUP2
000018c2: DUP6
000018c3: DUP2
000018c4: ADD
000018c5: PUSH1 0x0f
000018c7: DUP2
000018c8: MSTORE
000018c9: SUB
000018ca: ADD
000018cb: SWAP1
000018cc: KECCAK256
000018cd: PUSH2 0x0100
000018d0: PUSH2 0xff00
000018d3: NOT
000018d4: DUP3
000018d5: SLOAD
000018d6: AND
000018d7: OR
000018d8: SWAP1
000018d9: SSTORE
000018da: PUSH31 0xc6ee47ff3b385ec289bf5bbe0e21c12204141c9586eb2a480d955d6a9f9230
000018fa: PUSH1 0x08
000018fc: SLOAD
000018fd: PUSH1 0x09
000018ff: SLOAD
00001900: SWAP1
00001901: PUSH2 0x1911
00001904: PUSH1 0x40
00001906: MLOAD
00001907: SWAP3
00001908: DUP4
00001909: SWAP3
0000190a: DUP9
0000190b: DUP11
0000190c: DUP6
0000190d: PUSH2 0x2288
00001910: JUMP
00001911: JUMPDEST
00001912: SUB
00001913: SWAP1
00001914: LOG1
00001915: PUSH2 0x170d
00001918: JUMP
00001919: JUMPDEST
0000191a: ADD
0000191b: KECCAK256
0000191c: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
0000193d: EQ
0000193e: SWAP1
0000193f: POP
00001940: DUP7
00001941: DUP7
00001942: DUP2
00001943: PUSH2 0x16e5
00001946: JUMP
00001947: JUMPDEST
00001948: PUSH4 0xe2517d3f
0000194d: PUSH1 0xe0
0000194f: SHL
00001950: PUSH1 0x00
00001952: MSTORE
00001953: CALLER
00001954: PUSH1 0x04
00001956: MSTORE
00001957: PUSH32 0x5c42e1a2de17d35e78d4f783ddb8b0669fa78795107f1c2a41ef134e7505e3f8
00001978: PUSH1 0x24
0000197a: MSTORE
0000197b: PUSH1 0x44
0000197d: PUSH1 0x00
0000197f: REVERT
00001980: JUMPDEST
00001981: CALLVALUE
00001982: PUSH2 0x067d
00001985: JUMPI
00001986: PUSH1 0x00
00001988: CALLDATASIZE
00001989: PUSH1 0x03
0000198b: NOT
0000198c: ADD
0000198d: SLT
0000198e: PUSH2 0x067d
00001991: JUMPI
00001992: PUSH1 0x20
00001994: PUSH1 0x06
00001996: SLOAD
00001997: PUSH1 0x40
00001999: MLOAD
0000199a: SWAP1
0000199b: DUP2
0000199c: MSTORE
0000199d: RETURN
0000199e: JUMPDEST
0000199f: CALLVALUE
000019a0: PUSH2 0x067d
000019a3: JUMPI
000019a4: PUSH1 0x20
000019a6: CALLDATASIZE
000019a7: PUSH1 0x03
000019a9: NOT
000019aa: ADD
000019ab: SLT
000019ac: PUSH2 0x067d
000019af: JUMPI
000019b0: PUSH1 0x04
000019b2: CALLDATALOAD
000019b3: PUSH8 0xffffffffffffffff
000019bc: DUP2
000019bd: GT
000019be: PUSH2 0x067d
000019c1: JUMPI
000019c2: PUSH2 0x19cf
000019c5: SWAP1
000019c6: CALLDATASIZE
000019c7: SWAP1
000019c8: PUSH1 0x04
000019ca: ADD
000019cb: PUSH2 0x201c
000019ce: JUMP
000019cf: JUMPDEST
000019d0: SWAP1
000019d1: PUSH2 0x19d8
000019d4: PUSH2 0x27a5
000019d7: JUMP
000019d8: JUMPDEST
000019d9: PUSH1 0xff
000019db: PUSH1 0x40
000019dd: MLOAD
000019de: DUP4
000019df: DUP4
000019e0: DUP3
000019e1: CALLDATACOPY
000019e2: PUSH1 0x20
000019e4: DUP2
000019e5: DUP6
000019e6: DUP2
000019e7: ADD
000019e8: PUSH1 0x0f
000019ea: DUP2
000019eb: MSTORE
000019ec: SUB
000019ed: ADD
000019ee: SWAP1
000019ef: KECCAK256
000019f0: SLOAD
000019f1: AND
000019f2: ISZERO
000019f3: PUSH2 0x05e8
000019f6: JUMPI
000019f7: PUSH1 0xff
000019f9: PUSH1 0x40
000019fb: MLOAD
000019fc: DUP4
000019fd: DUP4
000019fe: DUP3
000019ff: CALLDATACOPY
00001a00: PUSH1 0x20
00001a02: DUP2
00001a03: DUP6
00001a04: DUP2
00001a05: ADD
00001a06: PUSH1 0x0f
00001a08: DUP2
00001a09: MSTORE
00001a0a: SUB
00001a0b: ADD
00001a0c: SWAP1
00001a0d: KECCAK256
00001a0e: SLOAD
00001a0f: PUSH1 0x08
00001a11: SHR
00001a12: AND
00001a13: PUSH2 0x1a71
00001a16: JUMPI
00001a17: PUSH32 0x8eb0a6745000d1ac28cc6e307a2046fa4cf5409af4cd0e49367c7daa3974d2cc
00001a38: SWAP2
00001a39: PUSH1 0x40
00001a3b: MLOAD
00001a3c: DUP2
00001a3d: DUP4
00001a3e: DUP3
00001a3f: CALLDATACOPY
00001a40: PUSH1 0x20
00001a42: DUP2
00001a43: DUP4
00001a44: DUP2
00001a45: ADD
00001a46: PUSH1 0x0f
00001a48: DUP2
00001a49: MSTORE
00001a4a: SUB
00001a4b: ADD
00001a4c: SWAP1
00001a4d: KECCAK256
00001a4e: PUSH2 0x0100
00001a51: PUSH2 0xff00
00001a54: NOT
00001a55: DUP3
00001a56: SLOAD
00001a57: AND
00001a58: OR
00001a59: SWAP1
00001a5a: SSTORE
00001a5b: PUSH2 0x10ae
00001a5e: PUSH1 0x40
00001a60: MLOAD
00001a61: SWAP3
00001a62: DUP4
00001a63: SWAP3
00001a64: PUSH1 0x20
00001a66: DUP5
00001a67: MSTORE
00001a68: PUSH1 0x20
00001a6a: DUP5
00001a6b: ADD
00001a6c: SWAP2
00001a6d: PUSH2 0x225a
00001a70: JUMP
00001a71: JUMPDEST
00001a72: PUSH4 0xd87aeaf1
00001a77: PUSH1 0xe0
00001a79: SHL
00001a7a: PUSH1 0x00
00001a7c: MSTORE
00001a7d: PUSH1 0x04
00001a7f: PUSH1 0x00
00001a81: REVERT
00001a82: JUMPDEST
00001a83: CALLVALUE
00001a84: PUSH2 0x067d
00001a87: JUMPI
00001a88: PUSH1 0x00
00001a8a: CALLDATASIZE
00001a8b: PUSH1 0x03
00001a8d: NOT
00001a8e: ADD
00001a8f: SLT
00001a90: PUSH2 0x067d
00001a93: JUMPI
00001a94: PUSH1 0x20
00001a96: PUSH1 0xff
00001a98: PUSH1 0x0b
00001a9a: SLOAD
00001a9b: PUSH1 0xa0
00001a9d: SHR
00001a9e: AND
00001a9f: PUSH2 0x1aab
00001aa2: PUSH1 0x40
00001aa4: MLOAD
00001aa5: DUP1
00001aa6: SWAP3
00001aa7: PUSH2 0x2060
00001aaa: JUMP
00001aab: JUMPDEST
00001aac: RETURN
00001aad: JUMPDEST
00001aae: CALLVALUE
00001aaf: PUSH2 0x067d
00001ab2: JUMPI
00001ab3: PUSH2 0x1abb
00001ab6: CALLDATASIZE
00001ab7: PUSH2 0x204a
00001aba: JUMP
00001abb: JUMPDEST
00001abc: PUSH2 0x1ac3
00001abf: PUSH2 0x27a5
00001ac2: JUMP
00001ac3: JUMPDEST
00001ac4: PUSH1 0xff
00001ac6: PUSH1 0x0b
00001ac8: SLOAD
00001ac9: PUSH1 0xa0
00001acb: SHR
00001acc: AND
00001acd: PUSH1 0x03
00001acf: DUP2
00001ad0: LT
00001ad1: ISZERO
00001ad2: PUSH2 0x08cc
00001ad5: JUMPI
00001ad6: PUSH1 0x01
00001ad8: SUB
00001ad9: PUSH2 0x0bf3
00001adc: JUMPI
00001add: PUSH1 0xff
00001adf: PUSH2 0x1ae7
00001ae2: DUP4
00001ae3: PUSH2 0x223b
00001ae6: JUMP
00001ae7: JUMPDEST
00001ae8: POP
00001ae9: SLOAD
00001aea: AND
00001aeb: ISZERO
00001aec: PUSH2 0x0e47
00001aef: JUMPI
00001af0: PUSH1 0xff
00001af2: PUSH2 0x1afa
00001af5: DUP4
00001af6: PUSH2 0x223b
00001af9: JUMP
00001afa: JUMPDEST
00001afb: POP
00001afc: SLOAD
00001afd: PUSH1 0x08
00001aff: SHR
00001b00: AND
00001b01: PUSH1 0x03
00001b03: DUP2
00001b04: LT
00001b05: ISZERO
00001b06: PUSH2 0x08cc
00001b09: JUMPI
00001b0a: PUSH2 0x1b3d
00001b0d: JUMPI
00001b0e: PUSH1 0x20
00001b10: DUP2
00001b11: PUSH32 0xd006c5031840180875671abf2f693e0e435af57e95db66c1edbab17d0e097732
00001b32: SWAP3
00001b33: PUSH1 0x01
00001b35: PUSH2 0x1586
00001b38: DUP7
00001b39: PUSH2 0x223b
00001b3c: JUMP
00001b3d: JUMPDEST
00001b3e: PUSH4 0x4691a201
00001b43: PUSH1 0xe0
00001b45: SHL
00001b46: PUSH1 0x00
00001b48: MSTORE
00001b49: PUSH1 0x04
00001b4b: PUSH1 0x00
00001b4d: REVERT
00001b4e: JUMPDEST
00001b4f: CALLVALUE
00001b50: PUSH2 0x067d
00001b53: JUMPI
00001b54: PUSH1 0x20
00001b56: CALLDATASIZE
00001b57: PUSH1 0x03
00001b59: NOT
00001b5a: ADD
00001b5b: SLT
00001b5c: PUSH2 0x067d
00001b5f: JUMPI
00001b60: PUSH1 0x04
00001b62: CALLDATALOAD
00001b63: PUSH2 0x1b6a
00001b66: PUSH2 0x27a5
00001b69: JUMP
00001b6a: JUMPDEST
00001b6b: PUSH8 0x0de0b6b3a7640000
00001b74: DUP2
00001b75: LT
00001b76: PUSH2 0x1baa
00001b79: JUMPI
00001b7a: PUSH1 0x20
00001b7c: DUP2
00001b7d: PUSH32 0x872625bb2664b4062b3ee73c41a6a37a6dfd40299dd84ea14fc29f4b3c995a1c
00001b9e: SWAP3
00001b9f: PUSH1 0x07
00001ba1: SSTORE
00001ba2: PUSH1 0x40
00001ba4: MLOAD
00001ba5: SWAP1
00001ba6: DUP2
00001ba7: MSTORE
00001ba8: LOG1
00001ba9: STOP
00001baa: JUMPDEST
00001bab: PUSH4 0x272a3151
00001bb0: PUSH1 0xe0
00001bb2: SHL
00001bb3: PUSH1 0x00
00001bb5: MSTORE
00001bb6: PUSH1 0x04
00001bb8: PUSH1 0x00
00001bba: REVERT
00001bbb: JUMPDEST
00001bbc: CALLVALUE
00001bbd: PUSH2 0x067d
00001bc0: JUMPI
00001bc1: PUSH1 0x00
00001bc3: CALLDATASIZE
00001bc4: PUSH1 0x03
00001bc6: NOT
00001bc7: ADD
00001bc8: SLT
00001bc9: PUSH2 0x067d
00001bcc: JUMPI
00001bcd: PUSH1 0x20
00001bcf: PUSH1 0x01
00001bd1: PUSH1 0x01
00001bd3: PUSH1 0xa0
00001bd5: SHL
00001bd6: SUB
00001bd7: PUSH1 0x04
00001bd9: SLOAD
00001bda: AND
00001bdb: PUSH1 0x40
00001bdd: MLOAD
00001bde: SWAP1
00001bdf: DUP2
00001be0: MSTORE
00001be1: RETURN
00001be2: JUMPDEST
00001be3: CALLVALUE
00001be4: PUSH2 0x067d
00001be7: JUMPI
00001be8: PUSH1 0x20
00001bea: CALLDATASIZE
00001beb: PUSH1 0x03
00001bed: NOT
00001bee: ADD
00001bef: SLT
00001bf0: PUSH2 0x067d
00001bf3: JUMPI
00001bf4: PUSH1 0x04
00001bf6: CALLDATALOAD
00001bf7: PUSH8 0xffffffffffffffff
00001c00: DUP2
00001c01: GT
00001c02: PUSH2 0x067d
00001c05: JUMPI
00001c06: PUSH2 0x1c13
00001c09: SWAP1
00001c0a: CALLDATASIZE
00001c0b: SWAP1
00001c0c: PUSH1 0x04
00001c0e: ADD
00001c0f: PUSH2 0x201c
00001c12: JUMP
00001c13: JUMPDEST
00001c14: SWAP1
00001c15: PUSH2 0x1c1c
00001c18: PUSH2 0x27a5
00001c1b: JUMP
00001c1c: JUMPDEST
00001c1d: PUSH1 0xff
00001c1f: PUSH1 0x40
00001c21: MLOAD
00001c22: DUP4
00001c23: DUP4
00001c24: DUP3
00001c25: CALLDATACOPY
00001c26: PUSH1 0x20
00001c28: DUP2
00001c29: DUP6
00001c2a: DUP2
00001c2b: ADD
00001c2c: PUSH1 0x0f
00001c2e: DUP2
00001c2f: MSTORE
00001c30: SUB
00001c31: ADD
00001c32: SWAP1
00001c33: KECCAK256
00001c34: SLOAD
00001c35: AND
00001c36: ISZERO
00001c37: PUSH2 0x05e8
00001c3a: JUMPI
00001c3b: PUSH1 0xff
00001c3d: PUSH1 0x40
00001c3f: MLOAD
00001c40: DUP4
00001c41: DUP4
00001c42: DUP3
00001c43: CALLDATACOPY
00001c44: PUSH1 0x20
00001c46: DUP2
00001c47: DUP6
00001c48: DUP2
00001c49: ADD
00001c4a: PUSH1 0x0f
00001c4c: DUP2
00001c4d: MSTORE
00001c4e: SUB
00001c4f: ADD
00001c50: SWAP1
00001c51: KECCAK256
00001c52: SLOAD
00001c53: PUSH1 0x08
00001c55: SHR
00001c56: AND
00001c57: ISZERO
00001c58: PUSH2 0x05d7
00001c5b: JUMPI
00001c5c: PUSH32 0x306d737eda7eb5cdb5ea9736a7893cfe34db76e3174bea5b6b3f371d49216c1d
00001c7d: SWAP2
00001c7e: PUSH1 0x40
00001c80: MLOAD
00001c81: DUP2
00001c82: DUP4
00001c83: DUP3
00001c84: CALLDATACOPY
00001c85: PUSH1 0x20
00001c87: DUP2
00001c88: DUP4
00001c89: DUP2
00001c8a: ADD
00001c8b: PUSH1 0x0f
00001c8d: DUP2
00001c8e: MSTORE
00001c8f: SUB
00001c90: ADD
00001c91: SWAP1
00001c92: KECCAK256
00001c93: PUSH2 0xff00
00001c96: NOT
00001c97: DUP2
00001c98: SLOAD
00001c99: AND
00001c9a: SWAP1
00001c9b: SSTORE
00001c9c: PUSH2 0x10ae
00001c9f: PUSH1 0x40
00001ca1: MLOAD
00001ca2: SWAP3
00001ca3: DUP4
00001ca4: SWAP3
00001ca5: PUSH1 0x20
00001ca7: DUP5
00001ca8: MSTORE
00001ca9: PUSH1 0x20
00001cab: DUP5
00001cac: ADD
00001cad: SWAP2
00001cae: PUSH2 0x225a
00001cb1: JUMP
00001cb2: JUMPDEST
00001cb3: CALLVALUE
00001cb4: PUSH2 0x067d
00001cb7: JUMPI
00001cb8: PUSH1 0x40
00001cba: CALLDATASIZE
00001cbb: PUSH1 0x03
00001cbd: NOT
00001cbe: ADD
00001cbf: SLT
00001cc0: PUSH2 0x067d
00001cc3: JUMPI
00001cc4: PUSH1 0x01
00001cc6: PUSH1 0x01
00001cc8: PUSH1 0xa0
00001cca: SHL
00001ccb: SUB
00001ccc: PUSH2 0x1cd3
00001ccf: PUSH2 0x1ff0
00001cd2: JUMP
00001cd3: JUMPDEST
00001cd4: AND
00001cd5: PUSH1 0x00
00001cd7: MSTORE
00001cd8: PUSH1 0x0c
00001cda: PUSH1 0x20
00001cdc: MSTORE
00001cdd: PUSH1 0x40
00001cdf: PUSH1 0x00
00001ce1: KECCAK256
00001ce2: PUSH1 0x04
00001ce4: CALLDATALOAD
00001ce5: PUSH1 0x00
00001ce7: MSTORE
00001ce8: PUSH1 0x20
00001cea: MSTORE
00001ceb: PUSH1 0x20
00001ced: PUSH1 0x40
00001cef: PUSH1 0x00
00001cf1: KECCAK256
00001cf2: SLOAD
00001cf3: PUSH1 0x40
00001cf5: MLOAD
00001cf6: SWAP1
00001cf7: DUP2
00001cf8: MSTORE
00001cf9: RETURN
00001cfa: JUMPDEST
00001cfb: CALLVALUE
00001cfc: PUSH2 0x067d
00001cff: JUMPI
00001d00: PUSH1 0x40
00001d02: CALLDATASIZE
00001d03: PUSH1 0x03
00001d05: NOT
00001d06: ADD
00001d07: SLT
00001d08: PUSH2 0x067d
00001d0b: JUMPI
00001d0c: PUSH2 0x1d13
00001d0f: PUSH2 0x1ff0
00001d12: JUMP
00001d13: JUMPDEST
00001d14: CALLER
00001d15: PUSH1 0x01
00001d17: PUSH1 0x01
00001d19: PUSH1 0xa0
00001d1b: SHL
00001d1c: SUB
00001d1d: DUP3
00001d1e: AND
00001d1f: SUB
00001d20: PUSH2 0x1d2f
00001d23: JUMPI
00001d24: PUSH2 0x001b
00001d27: SWAP1
00001d28: PUSH1 0x04
00001d2a: CALLDATALOAD
00001d2b: PUSH2 0x28f1
00001d2e: JUMP
00001d2f: JUMPDEST
00001d30: PUSH4 0x334bd919
00001d35: PUSH1 0xe1
00001d37: SHL
00001d38: PUSH1 0x00
00001d3a: MSTORE
00001d3b: PUSH1 0x04
00001d3d: PUSH1 0x00
00001d3f: REVERT
00001d40: JUMPDEST
00001d41: CALLVALUE
00001d42: PUSH2 0x067d
00001d45: JUMPI
00001d46: PUSH1 0x20
00001d48: CALLDATASIZE
00001d49: PUSH1 0x03
00001d4b: NOT
00001d4c: ADD
00001d4d: SLT
00001d4e: PUSH2 0x067d
00001d51: JUMPI
00001d52: PUSH1 0x04
00001d54: CALLDATALOAD
00001d55: PUSH2 0x1d5c
00001d58: PUSH2 0x2733
00001d5b: JUMP
00001d5c: JUMPDEST
00001d5d: PUSH1 0xff
00001d5f: PUSH1 0x0b
00001d61: SLOAD
00001d62: PUSH1 0xa0
00001d64: SHR
00001d65: AND
00001d66: PUSH1 0x03
00001d68: DUP2
00001d69: LT
00001d6a: ISZERO
00001d6b: PUSH2 0x08cc
00001d6e: JUMPI
00001d6f: PUSH1 0x01
00001d71: SUB
00001d72: PUSH2 0x0bf3
00001d75: JUMPI
00001d76: PUSH1 0xff
00001d78: PUSH2 0x1d80
00001d7b: DUP3
00001d7c: PUSH2 0x223b
00001d7f: JUMP
00001d80: JUMPDEST
00001d81: POP
00001d82: SLOAD
00001d83: AND
00001d84: ISZERO
00001d85: PUSH2 0x0e47
00001d88: JUMPI
00001d89: PUSH1 0x06
00001d8b: SLOAD
00001d8c: PUSH1 0xff
00001d8e: PUSH2 0x1d96
00001d91: DUP3
00001d92: PUSH2 0x223b
00001d95: JUMP
00001d96: JUMPDEST
00001d97: POP
00001d98: SLOAD
00001d99: PUSH1 0x08
00001d9b: SHR
00001d9c: AND
00001d9d: PUSH1 0x03
00001d9f: DUP2
00001da0: LT
00001da1: ISZERO
00001da2: PUSH2 0x08cc
00001da5: JUMPI
00001da6: PUSH1 0x01
00001da8: EQ
00001da9: PUSH2 0x1df0
00001dac: JUMPI
00001dad: JUMPDEST
00001dae: POP
00001daf: PUSH2 0x1db7
00001db2: DUP2
00001db3: PUSH2 0x223b
00001db6: JUMP
00001db7: JUMPDEST
00001db8: POP
00001db9: PUSH2 0x0100
00001dbc: PUSH2 0xff00
00001dbf: NOT
00001dc0: DUP3
00001dc1: SLOAD
00001dc2: AND
00001dc3: OR
00001dc4: SWAP1
00001dc5: SSTORE
00001dc6: DUP1
00001dc7: PUSH1 0x06
00001dc9: SSTORE
00001dca: PUSH32 0x1d43fb703e6eb9b1472bc95a5806edf8d7c700c4cb5c3ab570c7ac1eed12e72e
00001deb: PUSH1 0x00
00001ded: DUP1
00001dee: LOG2
00001def: STOP
00001df0: JUMPDEST
00001df1: PUSH2 0x1df9
00001df4: SWAP1
00001df5: PUSH2 0x223b
00001df8: JUMP
00001df9: JUMPDEST
00001dfa: POP
00001dfb: DUP1
00001dfc: SLOAD
00001dfd: PUSH2 0xff00
00001e00: NOT
00001e01: AND
00001e02: PUSH2 0x0200
00001e05: OR
00001e06: SWAP1
00001e07: SSTORE
00001e08: DUP2
00001e09: PUSH2 0x1dad
00001e0c: JUMP
00001e0d: JUMPDEST
00001e0e: CALLVALUE
00001e0f: PUSH2 0x067d
00001e12: JUMPI
00001e13: PUSH1 0x40
00001e15: CALLDATASIZE
00001e16: PUSH1 0x03
00001e18: NOT
00001e19: ADD
00001e1a: SLT
00001e1b: PUSH2 0x067d
00001e1e: JUMPI
00001e1f: PUSH2 0x001b
00001e22: PUSH1 0x04
00001e24: CALLDATALOAD
00001e25: PUSH2 0x1e2c
00001e28: PUSH2 0x1ff0
00001e2b: JUMP
00001e2c: JUMPDEST
00001e2d: SWAP1
00001e2e: PUSH2 0x1e48
00001e31: PUSH2 0x093b
00001e34: DUP3
00001e35: PUSH1 0x00
00001e37: MSTORE
00001e38: PUSH1 0x02
00001e3a: PUSH1 0x20
00001e3c: MSTORE
00001e3d: PUSH1 0x01
00001e3f: PUSH1 0x40
00001e41: PUSH1 0x00
00001e43: KECCAK256
00001e44: ADD
00001e45: SLOAD
00001e46: SWAP1
00001e47: JUMP
00001e48: JUMPDEST
00001e49: PUSH2 0x285e
00001e4c: JUMP
00001e4d: JUMPDEST
00001e4e: CALLVALUE
00001e4f: PUSH2 0x067d
00001e52: JUMPI
00001e53: PUSH1 0x20
00001e55: CALLDATASIZE
00001e56: PUSH1 0x03
00001e58: NOT
00001e59: ADD
00001e5a: SLT
00001e5b: PUSH2 0x067d
00001e5e: JUMPI
00001e5f: PUSH1 0x20
00001e61: PUSH2 0x09d3
00001e64: PUSH1 0x04
00001e66: CALLDATALOAD
00001e67: PUSH1 0x00
00001e69: MSTORE
00001e6a: PUSH1 0x02
00001e6c: PUSH1 0x20
00001e6e: MSTORE
00001e6f: PUSH1 0x01
00001e71: PUSH1 0x40
00001e73: PUSH1 0x00
00001e75: KECCAK256
00001e76: ADD
00001e77: SLOAD
00001e78: SWAP1
00001e79: JUMP
00001e7a: JUMPDEST
00001e7b: CALLVALUE
00001e7c: PUSH2 0x067d
00001e7f: JUMPI
00001e80: PUSH1 0x00
00001e82: CALLDATASIZE
00001e83: PUSH1 0x03
00001e85: NOT
00001e86: ADD
00001e87: SLT
00001e88: PUSH2 0x067d
00001e8b: JUMPI
00001e8c: PUSH1 0x20
00001e8e: PUSH1 0x40
00001e90: MLOAD
00001e91: PUSH32 0x5c42e1a2de17d35e78d4f783ddb8b0669fa78795107f1c2a41ef134e7505e3f8
00001eb2: DUP2
00001eb3: MSTORE
00001eb4: RETURN
00001eb5: JUMPDEST
00001eb6: CALLVALUE
00001eb7: PUSH2 0x067d
00001eba: JUMPI
00001ebb: PUSH1 0x00
00001ebd: CALLDATASIZE
00001ebe: PUSH1 0x03
00001ec0: NOT
00001ec1: ADD
00001ec2: SLT
00001ec3: PUSH2 0x067d
00001ec6: JUMPI
00001ec7: PUSH2 0x1ece
00001eca: PUSH2 0x26e0
00001ecd: JUMP
00001ece: JUMPDEST
00001ecf: PUSH1 0xff
00001ed1: PUSH1 0x0b
00001ed3: SLOAD
00001ed4: PUSH1 0xa0
00001ed6: SHR
00001ed7: AND
00001ed8: PUSH1 0x03
00001eda: DUP2
00001edb: LT
00001edc: ISZERO
00001edd: PUSH2 0x08cc
00001ee0: JUMPI
00001ee1: PUSH1 0x01
00001ee3: SUB
00001ee4: PUSH2 0x0bf3
00001ee7: JUMPI
00001ee8: PUSH21 0x020000000000000000000000000000000000000000
00001efe: PUSH1 0xff
00001f00: PUSH1 0xa0
00001f02: SHL
00001f03: NOT
00001f04: PUSH1 0x0b
00001f06: SLOAD
00001f07: AND
00001f08: OR
00001f09: PUSH1 0x0b
00001f0b: SSTORE
00001f0c: PUSH32 0x7101a660456a4e2f94e6b0ccd3d6a034724e26130a817471aaf5a3de8fba384a
00001f2d: PUSH1 0x20
00001f2f: PUSH1 0xff
00001f31: PUSH1 0x0b
00001f33: SLOAD
00001f34: PUSH1 0xa0
00001f36: SHR
00001f37: AND
00001f38: PUSH2 0x0c90
00001f3b: PUSH1 0x40
00001f3d: MLOAD
00001f3e: DUP1
00001f3f: SWAP3
00001f40: PUSH2 0x2060
00001f43: JUMP
00001f44: JUMPDEST
00001f45: CALLVALUE
00001f46: PUSH2 0x067d
00001f49: JUMPI
00001f4a: PUSH1 0x00
00001f4c: CALLDATASIZE
00001f4d: PUSH1 0x03
00001f4f: NOT
00001f50: ADD
00001f51: SLT
00001f52: PUSH2 0x067d
00001f55: JUMPI
00001f56: PUSH2 0x1f5d
00001f59: PUSH2 0x26e0
00001f5c: JUMP
00001f5d: JUMPDEST
00001f5e: PUSH32 0x0296f2c4dbc8c0e53c0ffab63f84aeebd5c28aa143475a37346bf15ac003f327
00001f7f: PUSH1 0x20
00001f81: SELFBALANCE
00001f82: PUSH1 0x00
00001f84: DUP1
00001f85: DUP1
00001f86: DUP1
00001f87: DUP5
00001f88: CALLER
00001f89: GAS
00001f8a: CALL
00001f8b: POP
00001f8c: PUSH2 0x1f93
00001f8f: PUSH2 0x220b
00001f92: JUMP
00001f93: JUMPDEST
00001f94: POP
00001f95: PUSH1 0x40
00001f97: MLOAD
00001f98: SWAP1
00001f99: DUP2
00001f9a: MSTORE
00001f9b: LOG1
00001f9c: STOP
00001f9d: JUMPDEST
00001f9e: CALLVALUE
00001f9f: PUSH2 0x067d
00001fa2: JUMPI
00001fa3: PUSH1 0x20
00001fa5: CALLDATASIZE
00001fa6: PUSH1 0x03
00001fa8: NOT
00001fa9: ADD
00001faa: SLT
00001fab: PUSH2 0x067d
00001fae: JUMPI
00001faf: PUSH1 0x04
00001fb1: CALLDATALOAD
00001fb2: SWAP1
00001fb3: PUSH4 0xffffffff
00001fb8: PUSH1 0xe0
00001fba: SHL
00001fbb: DUP3
00001fbc: AND
00001fbd: DUP1
00001fbe: SWAP3
00001fbf: SUB
00001fc0: PUSH2 0x067d
00001fc3: JUMPI
00001fc4: PUSH1 0x20
00001fc6: SWAP2
00001fc7: PUSH4 0x7965db0b
00001fcc: PUSH1 0xe0
00001fce: SHL
00001fcf: DUP2
00001fd0: EQ
00001fd1: SWAP1
00001fd2: DUP2
00001fd3: ISZERO
00001fd4: PUSH2 0x1fdf
00001fd7: JUMPI
00001fd8: JUMPDEST
00001fd9: POP
00001fda: ISZERO
00001fdb: ISZERO
00001fdc: DUP2
00001fdd: MSTORE
00001fde: RETURN
00001fdf: JUMPDEST
00001fe0: PUSH4 0x01ffc9a7
00001fe5: PUSH1 0xe0
00001fe7: SHL
00001fe8: EQ
00001fe9: SWAP1
00001fea: POP
00001feb: DUP4
00001fec: PUSH2 0x1fd8
00001fef: JUMP
00001ff0: JUMPDEST
00001ff1: PUSH1 0x24
00001ff3: CALLDATALOAD
00001ff4: SWAP1
00001ff5: PUSH1 0x01
00001ff7: PUSH1 0x01
00001ff9: PUSH1 0xa0
00001ffb: SHL
00001ffc: SUB
00001ffd: DUP3
00001ffe: AND
00001fff: DUP3
00002000: SUB
00002001: PUSH2 0x067d
00002004: JUMPI
00002005: JUMP
00002006: JUMPDEST
00002007: PUSH1 0x04
00002009: CALLDATALOAD
0000200a: SWAP1
0000200b: PUSH1 0x01
0000200d: PUSH1 0x01
0000200f: PUSH1 0xa0
00002011: SHL
00002012: SUB
00002013: DUP3
00002014: AND
00002015: DUP3
00002016: SUB
00002017: PUSH2 0x067d
0000201a: JUMPI
0000201b: JUMP
0000201c: JUMPDEST
0000201d: SWAP2
0000201e: DUP2
0000201f: PUSH1 0x1f
00002021: DUP5
00002022: ADD
00002023: SLT
00002024: ISZERO
00002025: PUSH2 0x067d
00002028: JUMPI
00002029: DUP3
0000202a: CALLDATALOAD
0000202b: SWAP2
0000202c: PUSH8 0xffffffffffffffff
00002035: DUP4
00002036: GT
00002037: PUSH2 0x067d
0000203a: JUMPI
0000203b: PUSH1 0x20
0000203d: DUP4
0000203e: DUP2
0000203f: DUP7
00002040: ADD
00002041: SWAP6
00002042: ADD
00002043: ADD
00002044: GT
00002045: PUSH2 0x067d
00002048: JUMPI
00002049: JUMP
0000204a: JUMPDEST
0000204b: PUSH1 0x40
0000204d: SWAP1
0000204e: PUSH1 0x03
00002050: NOT
00002051: ADD
00002052: SLT
00002053: PUSH2 0x067d
00002056: JUMPI
00002057: PUSH1 0x04
00002059: CALLDATALOAD
0000205a: SWAP1
0000205b: PUSH1 0x24
0000205d: CALLDATALOAD
0000205e: SWAP1
0000205f: JUMP
00002060: JUMPDEST
00002061: SWAP1
00002062: PUSH1 0x03
00002064: DUP3
00002065: LT
00002066: ISZERO
00002067: PUSH2 0x08cc
0000206a: JUMPI
0000206b: MSTORE
0000206c: JUMP
0000206d: JUMPDEST
0000206e: SWAP2
0000206f: DUP2
00002070: PUSH1 0x1f
00002072: DUP5
00002073: ADD
00002074: SLT
00002075: ISZERO
00002076: PUSH2 0x067d
00002079: JUMPI
0000207a: DUP3
0000207b: CALLDATALOAD
0000207c: SWAP2
0000207d: PUSH8 0xffffffffffffffff
00002086: DUP4
00002087: GT
00002088: PUSH2 0x067d
0000208b: JUMPI
0000208c: PUSH1 0x20
0000208e: DUP1
0000208f: DUP6
00002090: ADD
00002091: SWAP5
00002092: DUP5
00002093: PUSH1 0x05
00002095: SHL
00002096: ADD
00002097: ADD
00002098: GT
00002099: PUSH2 0x067d
0000209c: JUMPI
0000209d: JUMP
0000209e: JUMPDEST
0000209f: PUSH1 0x00
000020a1: JUMPDEST
000020a2: DUP4
000020a3: DUP2
000020a4: LT
000020a5: PUSH2 0x20b1
000020a8: JUMPI
000020a9: POP
000020aa: POP
000020ab: PUSH1 0x00
000020ad: SWAP2
000020ae: ADD
000020af: MSTORE
000020b0: JUMP
000020b1: JUMPDEST
000020b2: DUP2
000020b3: DUP2
000020b4: ADD
000020b5: MLOAD
000020b6: DUP4
000020b7: DUP3
000020b8: ADD
000020b9: MSTORE
000020ba: PUSH1 0x20
000020bc: ADD
000020bd: PUSH2 0x20a1
000020c0: JUMP
000020c1: JUMPDEST
000020c2: SWAP1
000020c3: PUSH1 0x20
000020c5: SWAP2
000020c6: PUSH2 0x20da
000020c9: DUP2
000020ca: MLOAD
000020cb: DUP1
000020cc: SWAP3
000020cd: DUP2
000020ce: DUP6
000020cf: MSTORE
000020d0: DUP6
000020d1: DUP1
000020d2: DUP7
000020d3: ADD
000020d4: SWAP2
000020d5: ADD
000020d6: PUSH2 0x209e
000020d9: JUMP
000020da: JUMPDEST
000020db: PUSH1 0x1f
000020dd: ADD
000020de: PUSH1 0x1f
000020e0: NOT
000020e1: AND
000020e2: ADD
000020e3: ADD
000020e4: SWAP1
000020e5: JUMP
000020e6: JUMPDEST
000020e7: SWAP1
000020e8: PUSH1 0x40
000020ea: PUSH1 0x03
000020ec: NOT
000020ed: DUP4
000020ee: ADD
000020ef: SLT
000020f0: PUSH2 0x067d
000020f3: JUMPI
000020f4: PUSH1 0x04
000020f6: CALLDATALOAD
000020f7: PUSH1 0x01
000020f9: PUSH1 0x01
000020fb: PUSH1 0xa0
000020fd: SHL
000020fe: SUB
000020ff: DUP2
00002100: AND
00002101: DUP2
00002102: SUB
00002103: PUSH2 0x067d
00002106: JUMPI
00002107: SWAP2
00002108: PUSH1 0x24
0000210a: CALLDATALOAD
0000210b: SWAP1
0000210c: PUSH8 0xffffffffffffffff
00002115: DUP3
00002116: GT
00002117: PUSH2 0x067d
0000211a: JUMPI
0000211b: PUSH2 0x2126
0000211e: SWAP2
0000211f: PUSH1 0x04
00002121: ADD
00002122: PUSH2 0x201c
00002125: JUMP
00002126: JUMPDEST
00002127: SWAP1
00002128: SWAP2
00002129: JUMP
0000212a: JUMPDEST
0000212b: PUSH1 0x40
0000212d: DUP2
0000212e: ADD
0000212f: SWAP1
00002130: DUP2
00002131: LT
00002132: PUSH8 0xffffffffffffffff
0000213b: DUP3
0000213c: GT
0000213d: OR
0000213e: PUSH2 0x0dc4
00002141: JUMPI
00002142: PUSH1 0x40
00002144: MSTORE
00002145: JUMP
00002146: JUMPDEST
00002147: PUSH1 0xa0
00002149: DUP2
0000214a: ADD
0000214b: SWAP1
0000214c: DUP2
0000214d: LT
0000214e: PUSH8 0xffffffffffffffff
00002157: DUP3
00002158: GT
00002159: OR
0000215a: PUSH2 0x0dc4
0000215d: JUMPI
0000215e: PUSH1 0x40
00002160: MSTORE
00002161: JUMP
00002162: JUMPDEST
00002163: PUSH1 0x80
00002165: DUP2
00002166: ADD
00002167: SWAP1
00002168: DUP2
00002169: LT
0000216a: PUSH8 0xffffffffffffffff
00002173: DUP3
00002174: GT
00002175: OR
00002176: PUSH2 0x0dc4
00002179: JUMPI
0000217a: PUSH1 0x40
0000217c: MSTORE
0000217d: JUMP
0000217e: JUMPDEST
0000217f: SWAP1
00002180: PUSH1 0x1f
00002182: DUP1
00002183: NOT
00002184: SWAP2
00002185: ADD
00002186: AND
00002187: DUP2
00002188: ADD
00002189: SWAP1
0000218a: DUP2
0000218b: LT
0000218c: PUSH8 0xffffffffffffffff
00002195: DUP3
00002196: GT
00002197: OR
00002198: PUSH2 0x0dc4
0000219b: JUMPI
0000219c: PUSH1 0x40
0000219e: MSTORE
0000219f: JUMP
000021a0: JUMPDEST
000021a1: PUSH8 0xffffffffffffffff
000021aa: DUP2
000021ab: GT
000021ac: PUSH2 0x0dc4
000021af: JUMPI
000021b0: PUSH1 0x05
000021b2: SHL
000021b3: PUSH1 0x20
000021b5: ADD
000021b6: SWAP1
000021b7: JUMP
000021b8: JUMPDEST
000021b9: PUSH8 0xffffffffffffffff
000021c2: DUP2
000021c3: GT
000021c4: PUSH2 0x0dc4
000021c7: JUMPI
000021c8: PUSH1 0x1f
000021ca: ADD
000021cb: PUSH1 0x1f
000021cd: NOT
000021ce: AND
000021cf: PUSH1 0x20
000021d1: ADD
000021d2: SWAP1
000021d3: JUMP
000021d4: JUMPDEST
000021d5: SWAP3
000021d6: SWAP2
000021d7: SWAP3
000021d8: PUSH2 0x21e0
000021db: DUP3
000021dc: PUSH2 0x21b8
000021df: JUMP
000021e0: JUMPDEST
000021e1: SWAP2
000021e2: PUSH2 0x21ee
000021e5: PUSH1 0x40
000021e7: MLOAD
000021e8: SWAP4
000021e9: DUP5
000021ea: PUSH2 0x217e
000021ed: JUMP
000021ee: JUMPDEST
000021ef: DUP3
000021f0: SWAP5
000021f1: DUP2
000021f2: DUP5
000021f3: MSTORE
000021f4: DUP2
000021f5: DUP4
000021f6: ADD
000021f7: GT
000021f8: PUSH2 0x067d
000021fb: JUMPI
000021fc: DUP3
000021fd: DUP2
000021fe: PUSH1 0x20
00002200: SWAP4
00002201: DUP5
00002202: PUSH1 0x00
00002204: SWAP7
00002205: ADD
00002206: CALLDATACOPY
00002207: ADD
00002208: ADD
00002209: MSTORE
0000220a: JUMP
0000220b: JUMPDEST
0000220c: RETURNDATASIZE
0000220d: ISZERO
0000220e: PUSH2 0x2236
00002211: JUMPI
00002212: RETURNDATASIZE
00002213: SWAP1
00002214: PUSH2 0x221c
00002217: DUP3
00002218: PUSH2 0x21b8
0000221b: JUMP
0000221c: JUMPDEST
0000221d: SWAP2
0000221e: PUSH2 0x222a
00002221: PUSH1 0x40
00002223: MLOAD
00002224: SWAP4
00002225: DUP5
00002226: PUSH2 0x217e
00002229: JUMP
0000222a: JUMPDEST
0000222b: DUP3
0000222c: MSTORE
0000222d: RETURNDATASIZE
0000222e: PUSH1 0x00
00002230: PUSH1 0x20
00002232: DUP5
00002233: ADD
00002234: RETURNDATACOPY
00002235: JUMP
00002236: JUMPDEST
00002237: PUSH1 0x60
00002239: SWAP1
0000223a: JUMP
0000223b: JUMPDEST
0000223c: PUSH1 0x11
0000223e: SLOAD
0000223f: DUP2
00002240: LT
00002241: ISZERO
00002242: PUSH2 0x12d3
00002245: JUMPI
00002246: PUSH1 0x11
00002248: PUSH1 0x00
0000224a: MSTORE
0000224b: PUSH1 0x20
0000224d: PUSH1 0x00
0000224f: KECCAK256
00002250: SWAP1
00002251: PUSH1 0x02
00002253: SHL
00002254: ADD
00002255: SWAP1
00002256: PUSH1 0x00
00002258: SWAP1
00002259: JUMP
0000225a: JUMPDEST
0000225b: SWAP1
0000225c: DUP1
0000225d: PUSH1 0x20
0000225f: SWAP4
00002260: SWAP3
00002261: DUP2
00002262: DUP5
00002263: MSTORE
00002264: DUP5
00002265: DUP5
00002266: ADD
00002267: CALLDATACOPY
00002268: PUSH1 0x00
0000226a: DUP3
0000226b: DUP3
0000226c: ADD
0000226d: DUP5
0000226e: ADD
0000226f: MSTORE
00002270: PUSH1 0x1f
00002272: ADD
00002273: PUSH1 0x1f
00002275: NOT
00002276: AND
00002277: ADD
00002278: ADD
00002279: SWAP1
0000227a: JUMP
0000227b: JUMPDEST
0000227c: SWAP2
0000227d: SWAP1
0000227e: DUP3
0000227f: ADD
00002280: DUP1
00002281: SWAP3
00002282: GT
00002283: PUSH2 0x134b
00002286: JUMPI
00002287: JUMP
00002288: JUMPDEST
00002289: SWAP1
0000228a: PUSH2 0x22a2
0000228d: SWAP1
0000228e: PUSH1 0x40
00002290: SWAP4
00002291: SWAP7
00002292: SWAP6
00002293: SWAP5
00002294: SWAP7
00002295: PUSH1 0x60
00002297: DUP5
00002298: MSTORE
00002299: PUSH1 0x60
0000229b: DUP5
0000229c: ADD
0000229d: SWAP2
0000229e: PUSH2 0x225a
000022a1: JUMP
000022a2: JUMPDEST
000022a3: SWAP5
000022a4: PUSH1 0x20
000022a6: DUP3
000022a7: ADD
000022a8: MSTORE
000022a9: ADD
000022aa: MSTORE
000022ab: JUMP
000022ac: JUMPDEST
000022ad: SWAP1
000022ae: PUSH1 0x01
000022b0: DUP3
000022b1: DUP2
000022b2: SHR
000022b3: SWAP3
000022b4: AND
000022b5: DUP1
000022b6: ISZERO
000022b7: PUSH2 0x22dc
000022ba: JUMPI
000022bb: JUMPDEST
000022bc: PUSH1 0x20
000022be: DUP4
000022bf: LT
000022c0: EQ
000022c1: PUSH2 0x22c6
000022c4: JUMPI
000022c5: JUMP
000022c6: JUMPDEST
000022c7: PUSH4 0x4e487b71
000022cc: PUSH1 0xe0
000022ce: SHL
000022cf: PUSH1 0x00
000022d1: MSTORE
000022d2: PUSH1 0x22
000022d4: PUSH1 0x04
000022d6: MSTORE
000022d7: PUSH1 0x24
000022d9: PUSH1 0x00
000022db: REVERT
000022dc: JUMPDEST
000022dd: SWAP2
000022de: PUSH1 0x7f
000022e0: AND
000022e1: SWAP2
000022e2: PUSH2 0x22bb
000022e5: JUMP
000022e6: JUMPDEST
000022e7: SWAP2
000022e8: SWAP1
000022e9: DUP2
000022ea: LT
000022eb: ISZERO
000022ec: PUSH2 0x12d3
000022ef: JUMPI
000022f0: PUSH1 0x05
000022f2: SHL
000022f3: ADD
000022f4: SWAP1
000022f5: JUMP
000022f6: JUMPDEST
000022f7: PUSH1 0x0a
000022f9: SLOAD
000022fa: DUP2
000022fb: LT
000022fc: ISZERO
000022fd: PUSH2 0x12d3
00002300: JUMPI
00002301: PUSH1 0x0a
00002303: PUSH1 0x00
00002305: MSTORE
00002306: PUSH1 0x20
00002308: PUSH1 0x00
0000230a: KECCAK256
0000230b: SWAP1
0000230c: PUSH1 0x01
0000230e: SHL
0000230f: ADD
00002310: SWAP1
00002311: PUSH1 0x00
00002313: SWAP1
00002314: JUMP
00002315: JUMPDEST
00002316: PUSH1 0x06
00002318: SLOAD
00002319: PUSH1 0xff
0000231b: PUSH2 0x2323
0000231e: DUP3
0000231f: PUSH2 0x223b
00002322: JUMP
00002323: JUMPDEST
00002324: POP
00002325: SLOAD
00002326: PUSH1 0x08
00002328: SHR
00002329: AND
0000232a: PUSH1 0x03
0000232c: DUP2
0000232d: LT
0000232e: ISZERO
0000232f: PUSH2 0x08cc
00002332: JUMPI
00002333: PUSH1 0x01
00002335: EQ
00002336: PUSH2 0x233f
00002339: JUMPI
0000233a: POP
0000233b: PUSH1 0x00
0000233d: SWAP1
0000233e: JUMP
0000233f: JUMPDEST
00002340: PUSH2 0x234a
00002343: PUSH1 0x01
00002345: SWAP2
00002346: PUSH2 0x223b
00002349: JUMP
0000234a: JUMPDEST
0000234b: POP
0000234c: ADD
0000234d: SLOAD
0000234e: SWAP1
0000234f: JUMP
00002350: JUMPDEST
00002351: PUSH1 0x00
00002353: SWAP3
00002354: SWAP2
00002355: DUP2
00002356: SLOAD
00002357: SWAP2
00002358: PUSH2 0x2360
0000235b: DUP4
0000235c: PUSH2 0x22ac
0000235f: JUMP
00002360: JUMPDEST
00002361: DUP1
00002362: DUP4
00002363: MSTORE
00002364: SWAP3
00002365: PUSH1 0x01
00002367: DUP2
00002368: AND
00002369: SWAP1
0000236a: DUP2
0000236b: ISZERO
0000236c: PUSH2 0x23b6
0000236f: JUMPI
00002370: POP
00002371: PUSH1 0x01
00002373: EQ
00002374: PUSH2 0x237c
00002377: JUMPI
00002378: POP
00002379: POP
0000237a: POP
0000237b: JUMP
0000237c: JUMPDEST
0000237d: PUSH1 0x00
0000237f: SWAP1
00002380: DUP2
00002381: MSTORE
00002382: PUSH1 0x20
00002384: DUP2
00002385: KECCAK256
00002386: SWAP4
00002387: SWAP5
00002388: POP
00002389: SWAP2
0000238a: SWAP3
0000238b: JUMPDEST
0000238c: DUP4
0000238d: DUP4
0000238e: LT
0000238f: PUSH2 0x239c
00002392: JUMPI
00002393: POP
00002394: PUSH1 0x20
00002396: SWAP3
00002397: POP
00002398: ADD
00002399: ADD
0000239a: SWAP1
0000239b: JUMP
0000239c: JUMPDEST
0000239d: PUSH1 0x01
0000239f: DUP2
000023a0: PUSH1 0x20
000023a2: SWAP3
000023a3: SWAP5
000023a4: SWAP4
000023a5: SWAP5
000023a6: SLOAD
000023a7: DUP4
000023a8: DUP6
000023a9: DUP8
000023aa: ADD
000023ab: ADD
000023ac: MSTORE
000023ad: ADD
000023ae: SWAP2
000023af: ADD
000023b0: SWAP2
000023b1: SWAP1
000023b2: PUSH2 0x238b
000023b5: JUMP
000023b6: JUMPDEST
000023b7: SWAP2
000023b8: POP
000023b9: POP
000023ba: PUSH1 0x20
000023bc: SWAP4
000023bd: SWAP5
000023be: POP
000023bf: PUSH1 0xff
000023c1: SWAP3
000023c2: SWAP2
000023c3: SWAP3
000023c4: NOT
000023c5: AND
000023c6: DUP4
000023c7: DUP4
000023c8: ADD
000023c9: MSTORE
000023ca: ISZERO
000023cb: ISZERO
000023cc: PUSH1 0x05
000023ce: SHL
000023cf: ADD
000023d0: ADD
000023d1: SWAP1
000023d2: JUMP
000023d3: JUMPDEST
000023d4: PUSH1 0xff
000023d6: PUSH1 0x12
000023d8: SLOAD
000023d9: AND
000023da: PUSH2 0x2582
000023dd: JUMPI
000023de: PUSH1 0x01
000023e0: PUSH1 0x01
000023e2: PUSH1 0xa0
000023e4: SHL
000023e5: SUB
000023e6: AND
000023e7: DUP1
000023e8: PUSH1 0x00
000023ea: MSTORE
000023eb: PUSH1 0x0d
000023ed: PUSH1 0x20
000023ef: MSTORE
000023f0: PUSH1 0x40
000023f2: PUSH1 0x00
000023f4: KECCAK256
000023f5: PUSH1 0x40
000023f7: MLOAD
000023f8: SWAP1
000023f9: DUP2
000023fa: PUSH1 0x00
000023fc: DUP3
000023fd: SLOAD
000023fe: SWAP3
000023ff: PUSH2 0x2407
00002402: DUP5
00002403: PUSH2 0x22ac
00002406: JUMP
00002407: JUMPDEST
00002408: SWAP4
00002409: PUSH1 0x01
0000240b: DUP2
0000240c: AND
0000240d: SWAP1
0000240e: DUP2
0000240f: ISZERO
00002410: PUSH2 0x2568
00002413: JUMPI
00002414: POP
00002415: PUSH1 0x01
00002417: EQ
00002418: PUSH2 0x252c
0000241b: JUMPI
0000241c: JUMPDEST
0000241d: POP
0000241e: PUSH1 0x20
00002420: SWAP3
00002421: POP
00002422: PUSH1 0x0f
00002424: DUP2
00002425: MSTORE
00002426: SUB
00002427: ADD
00002428: SWAP1
00002429: KECCAK256
0000242a: PUSH1 0x40
0000242c: MLOAD
0000242d: SWAP1
0000242e: PUSH2 0x2436
00002431: DUP3
00002432: PUSH2 0x2162
00002435: JUMP
00002436: JUMPDEST
00002437: DUP1
00002438: SLOAD
00002439: SWAP2
0000243a: PUSH1 0x60
0000243c: PUSH1 0x02
0000243e: PUSH1 0xff
00002440: DUP1
00002441: DUP7
00002442: AND
00002443: ISZERO
00002444: ISZERO
00002445: SWAP6
00002446: DUP7
00002447: DUP6
00002448: MSTORE
00002449: PUSH1 0x08
0000244b: SHR
0000244c: AND
0000244d: ISZERO
0000244e: ISZERO
0000244f: SWAP4
00002450: DUP5
00002451: PUSH1 0x20
00002453: DUP6
00002454: ADD
00002455: MSTORE
00002456: PUSH1 0x01
00002458: DUP2
00002459: ADD
0000245a: SLOAD
0000245b: PUSH1 0x40
0000245d: DUP6
0000245e: ADD
0000245f: MSTORE
00002460: ADD
00002461: SLOAD
00002462: SWAP2
00002463: ADD
00002464: MSTORE
00002465: DUP2
00002466: PUSH2 0x2524
00002469: JUMPI
0000246a: JUMPDEST
0000246b: POP
0000246c: PUSH2 0x24fb
0000246f: JUMPI
00002470: POP
00002471: PUSH1 0x40
00002473: MLOAD
00002474: DUP3
00002475: DUP3
00002476: DUP3
00002477: CALLDATACOPY
00002478: PUSH1 0x20
0000247a: DUP2
0000247b: DUP5
0000247c: DUP2
0000247d: ADD
0000247e: PUSH1 0x0f
00002480: DUP2
00002481: MSTORE
00002482: SUB
00002483: ADD
00002484: SWAP1
00002485: KECCAK256
00002486: PUSH1 0x40
00002488: MLOAD
00002489: SWAP1
0000248a: PUSH2 0x2492
0000248d: DUP3
0000248e: PUSH2 0x2162
00002491: JUMP
00002492: JUMPDEST
00002493: DUP1
00002494: SLOAD
00002495: SWAP2
00002496: PUSH1 0xff
00002498: DUP4
00002499: AND
0000249a: ISZERO
0000249b: SWAP1
0000249c: PUSH1 0x60
0000249e: PUSH1 0x02
000024a0: PUSH1 0xff
000024a2: DUP5
000024a3: ISZERO
000024a4: SWAP7
000024a5: DUP8
000024a6: DUP6
000024a7: MSTORE
000024a8: PUSH1 0x08
000024aa: SHR
000024ab: AND
000024ac: ISZERO
000024ad: ISZERO
000024ae: SWAP5
000024af: DUP6
000024b0: PUSH1 0x20
000024b2: DUP6
000024b3: ADD
000024b4: MSTORE
000024b5: PUSH1 0x01
000024b7: DUP2
000024b8: ADD
000024b9: SLOAD
000024ba: PUSH1 0x40
000024bc: DUP6
000024bd: ADD
000024be: MSTORE
000024bf: ADD
000024c0: SLOAD
000024c1: SWAP2
000024c2: ADD
000024c3: MSTORE
000024c4: SWAP2
000024c5: PUSH2 0x24f3
000024c8: JUMPI
000024c9: JUMPDEST
000024ca: POP
000024cb: PUSH2 0x24e5
000024ce: JUMPI
000024cf: POP
000024d0: POP
000024d1: PUSH1 0x40
000024d3: MLOAD
000024d4: PUSH2 0x24de
000024d7: PUSH1 0x20
000024d9: DUP3
000024da: PUSH2 0x217e
000024dd: JUMP
000024de: JUMPDEST
000024df: PUSH1 0x00
000024e1: DUP2
000024e2: MSTORE
000024e3: SWAP1
000024e4: JUMP
000024e5: JUMPDEST
000024e6: PUSH2 0x24f0
000024e9: SWAP2
000024ea: CALLDATASIZE
000024eb: SWAP2
000024ec: PUSH2 0x21d4
000024ef: JUMP
000024f0: JUMPDEST
000024f1: SWAP1
000024f2: JUMP
000024f3: JUMPDEST
000024f4: SWAP1
000024f5: POP
000024f6: CODESIZE
000024f7: PUSH2 0x24c9
000024fa: JUMP
000024fb: JUMPDEST
000024fc: SWAP2
000024fd: POP
000024fe: POP
000024ff: PUSH1 0x00
00002501: MSTORE
00002502: PUSH1 0x0d
00002504: PUSH1 0x20
00002506: MSTORE
00002507: PUSH2 0x251d
0000250a: PUSH2 0x24f0
0000250d: PUSH1 0x40
0000250f: PUSH1 0x00
00002511: KECCAK256
00002512: PUSH1 0x40
00002514: MLOAD
00002515: SWAP3
00002516: DUP4
00002517: DUP1
00002518: SWAP3
00002519: PUSH2 0x2350
0000251c: JUMP
0000251d: JUMPDEST
0000251e: SUB
0000251f: DUP3
00002520: PUSH2 0x217e
00002523: JUMP
00002524: JUMPDEST
00002525: SWAP1
00002526: POP
00002527: CODESIZE
00002528: PUSH2 0x246a
0000252b: JUMP
0000252c: JUMPDEST
0000252d: SWAP2
0000252e: POP
0000252f: POP
00002530: PUSH1 0x00
00002532: MSTORE
00002533: DUP2
00002534: PUSH1 0x20
00002536: PUSH1 0x00
00002538: KECCAK256
00002539: PUSH1 0x00
0000253b: SWAP1
0000253c: JUMPDEST
0000253d: DUP4
0000253e: DUP3
0000253f: LT
00002540: PUSH2 0x2550
00002543: JUMPI
00002544: POP
00002545: POP
00002546: PUSH1 0x20
00002548: SWAP2
00002549: DUP2
0000254a: ADD
0000254b: CODESIZE
0000254c: PUSH2 0x241c
0000254f: JUMP
00002550: JUMPDEST
00002551: PUSH1 0x20
00002553: SWAP2
00002554: SWAP3
00002555: POP
00002556: DUP1
00002557: PUSH1 0x01
00002559: SWAP2
0000255a: SLOAD
0000255b: DUP5
0000255c: DUP8
0000255d: ADD
0000255e: MSTORE
0000255f: ADD
00002560: SWAP2
00002561: ADD
00002562: DUP4
00002563: SWAP2
00002564: PUSH2 0x253c
00002567: JUMP
00002568: JUMPDEST
00002569: PUSH1 0xff
0000256b: NOT
0000256c: AND
0000256d: DUP5
0000256e: MSTORE
0000256f: POP
00002570: PUSH1 0x20
00002572: SWAP4
00002573: DUP1
00002574: ISZERO
00002575: ISZERO
00002576: MUL
00002577: DUP4
00002578: ADD
00002579: SWAP2
0000257a: POP
0000257b: CODESIZE
0000257c: SWAP1
0000257d: POP
0000257e: PUSH2 0x241c
00002581: JUMP
00002582: JUMPDEST
00002583: POP
00002584: PUSH2 0x24f0
00002587: SWAP2
00002588: CALLDATASIZE
00002589: SWAP2
0000258a: PUSH2 0x21d4
0000258d: JUMP
0000258e: JUMPDEST
0000258f: SWAP2
00002590: SWAP1
00002591: DUP2
00002592: LT
00002593: ISZERO
00002594: PUSH2 0x12d3
00002597: JUMPI
00002598: PUSH1 0x05
0000259a: SHL
0000259b: DUP2
0000259c: ADD
0000259d: CALLDATALOAD
0000259e: SWAP1
0000259f: PUSH1 0x1e
000025a1: NOT
000025a2: DUP2
000025a3: CALLDATASIZE
000025a4: SUB
000025a5: ADD
000025a6: DUP3
000025a7: SLT
000025a8: ISZERO
000025a9: PUSH2 0x067d
000025ac: JUMPI
000025ad: ADD
000025ae: SWAP1
000025af: DUP2
000025b0: CALLDATALOAD
000025b1: SWAP2
000025b2: PUSH8 0xffffffffffffffff
000025bb: DUP4
000025bc: GT
000025bd: PUSH2 0x067d
000025c0: JUMPI
000025c1: PUSH1 0x20
000025c3: ADD
000025c4: DUP3
000025c5: CALLDATASIZE
000025c6: SUB
000025c7: DUP2
000025c8: SGT
000025c9: PUSH2 0x067d
000025cc: JUMPI
000025cd: SWAP2
000025ce: SWAP1
000025cf: JUMP
000025d0: JUMPDEST
000025d1: SWAP1
000025d2: PUSH1 0x0a
000025d4: SLOAD
000025d5: SWAP2
000025d6: DUP3
000025d7: ISZERO
000025d8: PUSH2 0x2658
000025db: JUMPI
000025dc: SWAP1
000025dd: SWAP2
000025de: PUSH1 0x00
000025e0: NOT
000025e1: SWAP2
000025e2: PUSH1 0x00
000025e4: SWAP1
000025e5: JUMPDEST
000025e6: DUP3
000025e7: DUP3
000025e8: LT
000025e9: PUSH2 0x262a
000025ec: JUMPI
000025ed: JUMPDEST
000025ee: POP
000025ef: POP
000025f0: POP
000025f1: PUSH1 0x00
000025f3: NOT
000025f4: DUP2
000025f5: EQ
000025f6: PUSH2 0x2623
000025f9: JUMPI
000025fa: PUSH2 0x2602
000025fd: SWAP1
000025fe: PUSH2 0x22f6
00002601: JUMP
00002602: JUMPDEST
00002603: POP
00002604: SLOAD
00002605: SWAP1
00002606: DUP2
00002607: DUP2
00002608: MUL
00002609: SWAP2
0000260a: DUP2
0000260b: DUP4
0000260c: DIV
0000260d: EQ
0000260e: SWAP1
0000260f: ISZERO
00002610: OR
00002611: ISZERO
00002612: PUSH2 0x134b
00002615: JUMPI
00002616: PUSH8 0x0de0b6b3a7640000
0000261f: SWAP1
00002620: DIV
00002621: SWAP1
00002622: JUMP
00002623: JUMPDEST
00002624: POP
00002625: POP
00002626: PUSH1 0x00
00002628: SWAP1
00002629: JUMP
0000262a: JUMPDEST
0000262b: SWAP1
0000262c: SWAP2
0000262d: SWAP4
0000262e: SWAP3
0000262f: PUSH1 0x01
00002631: PUSH2 0x2639
00002634: DUP5
00002635: PUSH2 0x22f6
00002638: JUMP
00002639: JUMPDEST
0000263a: POP
0000263b: ADD
0000263c: SLOAD
0000263d: DUP3
0000263e: LT
0000263f: PUSH2 0x2651
00002642: JUMPI
00002643: POP
00002644: PUSH1 0x01
00002646: DUP3
00002647: ADD
00002648: SWAP1
00002649: SWAP4
0000264a: SWAP2
0000264b: SWAP3
0000264c: SWAP4
0000264d: PUSH2 0x25e5
00002650: JUMP
00002651: JUMPDEST
00002652: SWAP3
00002653: SWAP4
00002654: PUSH2 0x25ed
00002657: JUMP
00002658: JUMPDEST
00002659: POP
0000265a: POP
0000265b: POP
0000265c: PUSH1 0x00
0000265e: SWAP1
0000265f: JUMP
00002660: JUMPDEST
00002661: SWAP1
00002662: PUSH1 0x20
00002664: PUSH1 0x60
00002666: SWAP4
00002667: SWAP3
00002668: DUP3
00002669: PUSH1 0x40
0000266b: MLOAD
0000266c: SWAP4
0000266d: DUP5
0000266e: SWAP3
0000266f: DUP4
00002670: CALLDATACOPY
00002671: DUP2
00002672: ADD
00002673: PUSH1 0x0f
00002675: DUP2
00002676: MSTORE
00002677: SUB
00002678: ADD
00002679: SWAP1
0000267a: KECCAK256
0000267b: PUSH1 0x40
0000267d: MLOAD
0000267e: PUSH2 0x2686
00002681: DUP2
00002682: PUSH2 0x2162
00002685: JUMP
00002686: JUMPDEST
00002687: DUP2
00002688: SLOAD
00002689: SWAP1
0000268a: PUSH1 0xff
0000268c: DUP1
0000268d: DUP4
0000268e: AND
0000268f: ISZERO
00002690: ISZERO
00002691: SWAP3
00002692: DUP4
00002693: DUP4
00002694: MSTORE
00002695: PUSH1 0x08
00002697: SHR
00002698: AND
00002699: ISZERO
0000269a: ISZERO
0000269b: PUSH1 0x20
0000269d: DUP3
0000269e: ADD
0000269f: MSTORE
000026a0: PUSH1 0x02
000026a2: PUSH1 0x01
000026a4: DUP5
000026a5: ADD
000026a6: SLOAD
000026a7: SWAP4
000026a8: DUP5
000026a9: PUSH1 0x40
000026ab: DUP5
000026ac: ADD
000026ad: MSTORE
000026ae: ADD
000026af: SLOAD
000026b0: SWAP5
000026b1: DUP6
000026b2: SWAP2
000026b3: ADD
000026b4: MSTORE
000026b5: PUSH2 0x26c5
000026b8: JUMPI
000026b9: POP
000026ba: SWAP1
000026bb: POP
000026bc: PUSH1 0x08
000026be: SLOAD
000026bf: SWAP1
000026c0: PUSH1 0x09
000026c2: SLOAD
000026c3: SWAP1
000026c4: JUMP
000026c5: JUMPDEST
000026c6: PUSH1 0x08
000026c8: SLOAD
000026c9: PUSH1 0x09
000026cb: SLOAD
000026cc: SWAP2
000026cd: DUP2
000026ce: DUP1
000026cf: DUP3
000026d0: GT
000026d1: SWAP2
000026d2: XOR
000026d3: MUL
000026d4: XOR
000026d5: SWAP3
000026d6: DUP2
000026d7: DUP1
000026d8: DUP3
000026d9: GT
000026da: SWAP2
000026db: XOR
000026dc: MUL
000026dd: XOR
000026de: SWAP1
000026df: JUMP
000026e0: JUMPDEST
000026e1: CALLER
000026e2: PUSH1 0x00
000026e4: SWAP1
000026e5: DUP2
000026e6: MSTORE
000026e7: PUSH32 0xac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b
00002708: PUSH1 0x20
0000270a: MSTORE
0000270b: PUSH1 0x40
0000270d: SWAP1
0000270e: KECCAK256
0000270f: SLOAD
00002710: PUSH1 0xff
00002712: AND
00002713: ISZERO
00002714: PUSH2 0x2719
00002717: JUMPI
00002718: JUMP
00002719: JUMPDEST
0000271a: PUSH4 0xe2517d3f
0000271f: PUSH1 0xe0
00002721: SHL
00002722: PUSH1 0x00
00002724: MSTORE
00002725: CALLER
00002726: PUSH1 0x04
00002728: MSTORE
00002729: PUSH1 0x00
0000272b: PUSH1 0x24
0000272d: MSTORE
0000272e: PUSH1 0x44
00002730: PUSH1 0x00
00002732: REVERT
00002733: JUMPDEST
00002734: CALLER
00002735: PUSH1 0x00
00002737: SWAP1
00002738: DUP2
00002739: MSTORE
0000273a: PUSH32 0x8b46ef902e70025001b52fb3290191b131ee64a6e1f85751f0223439b0152d35
0000275b: PUSH1 0x20
0000275d: MSTORE
0000275e: PUSH1 0x40
00002760: SWAP1
00002761: KECCAK256
00002762: SLOAD
00002763: PUSH1 0xff
00002765: AND
00002766: ISZERO
00002767: PUSH2 0x276c
0000276a: JUMPI
0000276b: JUMP
0000276c: JUMPDEST
0000276d: PUSH4 0xe2517d3f
00002772: PUSH1 0xe0
00002774: SHL
00002775: PUSH1 0x00
00002777: MSTORE
00002778: CALLER
00002779: PUSH1 0x04
0000277b: MSTORE
0000277c: PUSH32 0x4537a8625b568d11dc31ae1d90b1ee7e52cbc0a45ac7bbe0d5b3dc7605dda3e7
0000279d: PUSH1 0x24
0000279f: MSTORE
000027a0: PUSH1 0x44
000027a2: PUSH1 0x00
000027a4: REVERT
000027a5: JUMPDEST
000027a6: CALLER
000027a7: PUSH1 0x00
000027a9: SWAP1
000027aa: DUP2
000027ab: MSTORE
000027ac: PUSH32 0x94996c563abb815835b318c981fa050298066bd55a6db8b3a8c1aff30a38e7ef
000027cd: PUSH1 0x20
000027cf: MSTORE
000027d0: PUSH1 0x40
000027d2: SWAP1
000027d3: KECCAK256
000027d4: SLOAD
000027d5: PUSH1 0xff
000027d7: AND
000027d8: ISZERO
000027d9: PUSH2 0x27de
000027dc: JUMPI
000027dd: JUMP
000027de: JUMPDEST
000027df: PUSH4 0xe2517d3f
000027e4: PUSH1 0xe0
000027e6: SHL
000027e7: PUSH1 0x00
000027e9: MSTORE
000027ea: CALLER
000027eb: PUSH1 0x04
000027ed: MSTORE
000027ee: PUSH32 0x241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08
0000280f: PUSH1 0x24
00002811: MSTORE
00002812: PUSH1 0x44
00002814: PUSH1 0x00
00002816: REVERT
00002817: JUMPDEST
00002818: DUP1
00002819: PUSH1 0x00
0000281b: MSTORE
0000281c: PUSH1 0x02
0000281e: PUSH1 0x20
00002820: MSTORE
00002821: PUSH1 0x40
00002823: PUSH1 0x00
00002825: KECCAK256
00002826: PUSH1 0x01
00002828: PUSH1 0x01
0000282a: PUSH1 0xa0
0000282c: SHL
0000282d: SUB
0000282e: CALLER
0000282f: AND
00002830: PUSH1 0x00
00002832: MSTORE
00002833: PUSH1 0x20
00002835: MSTORE
00002836: PUSH1 0xff
00002838: PUSH1 0x40
0000283a: PUSH1 0x00
0000283c: KECCAK256
0000283d: SLOAD
0000283e: AND
0000283f: ISZERO
00002840: PUSH2 0x2846
00002843: JUMPI
00002844: POP
00002845: JUMP
00002846: JUMPDEST
00002847: PUSH4 0xe2517d3f
0000284c: PUSH1 0xe0
0000284e: SHL
0000284f: PUSH1 0x00
00002851: MSTORE
00002852: CALLER
00002853: PUSH1 0x04
00002855: MSTORE
00002856: PUSH1 0x24
00002858: MSTORE
00002859: PUSH1 0x44
0000285b: PUSH1 0x00
0000285d: REVERT
0000285e: JUMPDEST
0000285f: DUP1
00002860: PUSH1 0x00
00002862: MSTORE
00002863: PUSH1 0x02
00002865: PUSH1 0x20
00002867: MSTORE
00002868: PUSH1 0x40
0000286a: PUSH1 0x00
0000286c: KECCAK256
0000286d: PUSH1 0x01
0000286f: PUSH1 0x01
00002871: PUSH1 0xa0
00002873: SHL
00002874: SUB
00002875: DUP4
00002876: AND
00002877: PUSH1 0x00
00002879: MSTORE
0000287a: PUSH1 0x20
0000287c: MSTORE
0000287d: PUSH1 0xff
0000287f: PUSH1 0x40
00002881: PUSH1 0x00
00002883: KECCAK256
00002884: SLOAD
00002885: AND
00002886: ISZERO
00002887: PUSH1 0x00
00002889: EQ
0000288a: PUSH2 0x2623
0000288d: JUMPI
0000288e: DUP1
0000288f: PUSH1 0x00
00002891: MSTORE
00002892: PUSH1 0x02
00002894: PUSH1 0x20
00002896: MSTORE
00002897: PUSH1 0x40
00002899: PUSH1 0x00
0000289b: KECCAK256
0000289c: PUSH1 0x01
0000289e: PUSH1 0x01
000028a0: PUSH1 0xa0
000028a2: SHL
000028a3: SUB
000028a4: DUP4
000028a5: AND
000028a6: PUSH1 0x00
000028a8: MSTORE
000028a9: PUSH1 0x20
000028ab: MSTORE
000028ac: PUSH1 0x40
000028ae: PUSH1 0x00
000028b0: KECCAK256
000028b1: PUSH1 0x01
000028b3: PUSH1 0xff
000028b5: NOT
000028b6: DUP3
000028b7: SLOAD
000028b8: AND
000028b9: OR
000028ba: SWAP1
000028bb: SSTORE
000028bc: PUSH1 0x01
000028be: PUSH1 0x01
000028c0: PUSH1 0xa0
000028c2: SHL
000028c3: SUB
000028c4: CALLER
000028c5: SWAP3
000028c6: AND
000028c7: SWAP1
000028c8: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000028e9: PUSH1 0x00
000028eb: DUP1
000028ec: LOG4
000028ed: PUSH1 0x01
000028ef: SWAP1
000028f0: JUMP
000028f1: JUMPDEST
000028f2: DUP1
000028f3: PUSH1 0x00
000028f5: MSTORE
000028f6: PUSH1 0x02
000028f8: PUSH1 0x20
000028fa: MSTORE
000028fb: PUSH1 0x40
000028fd: PUSH1 0x00
000028ff: KECCAK256
00002900: PUSH1 0x01
00002902: PUSH1 0x01
00002904: PUSH1 0xa0
00002906: SHL
00002907: SUB
00002908: DUP4
00002909: AND
0000290a: PUSH1 0x00
0000290c: MSTORE
0000290d: PUSH1 0x20
0000290f: MSTORE
00002910: PUSH1 0xff
00002912: PUSH1 0x40
00002914: PUSH1 0x00
00002916: KECCAK256
00002917: SLOAD
00002918: AND
00002919: PUSH1 0x00
0000291b: EQ
0000291c: PUSH2 0x2623
0000291f: JUMPI
00002920: DUP1
00002921: PUSH1 0x00
00002923: MSTORE
00002924: PUSH1 0x02
00002926: PUSH1 0x20
00002928: MSTORE
00002929: PUSH1 0x40
0000292b: PUSH1 0x00
0000292d: KECCAK256
0000292e: PUSH1 0x01
00002930: PUSH1 0x01
00002932: PUSH1 0xa0
00002934: SHL
00002935: SUB
00002936: DUP4
00002937: AND
00002938: PUSH1 0x00
0000293a: MSTORE
0000293b: PUSH1 0x20
0000293d: MSTORE
0000293e: PUSH1 0x40
00002940: PUSH1 0x00
00002942: KECCAK256
00002943: PUSH1 0xff
00002945: NOT
00002946: DUP2
00002947: SLOAD
00002948: AND
00002949: SWAP1
0000294a: SSTORE
0000294b: PUSH1 0x01
0000294d: PUSH1 0x01
0000294f: PUSH1 0xa0
00002951: SHL
00002952: SUB
00002953: CALLER
00002954: SWAP3
00002955: AND
00002956: SWAP1
00002957: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00002978: PUSH1 0x00
0000297a: DUP1
0000297b: LOG4
0000297c: PUSH1 0x01
0000297e: SWAP1
0000297f: JUMP
00002980: JUMPDEST
00002981: PUSH1 0x40
00002983: MLOAD
00002984: PUSH4 0xa9059cbb
00002989: PUSH1 0xe0
0000298b: SHL
0000298c: PUSH1 0x20
0000298e: DUP1
0000298f: DUP4
00002990: ADD
00002991: SWAP2
00002992: DUP3
00002993: MSTORE
00002994: PUSH1 0x01
00002996: PUSH1 0x01
00002998: PUSH1 0xa0
0000299a: SHL
0000299b: SUB
0000299c: SWAP5
0000299d: SWAP1
0000299e: SWAP5
0000299f: AND
000029a0: PUSH1 0x24
000029a2: DUP4
000029a3: ADD
000029a4: MSTORE
000029a5: PUSH1 0x44
000029a7: DUP1
000029a8: DUP4
000029a9: ADD
000029aa: SWAP6
000029ab: SWAP1
000029ac: SWAP6
000029ad: MSTORE
000029ae: SWAP4
000029af: DUP2
000029b0: MSTORE
000029b1: SWAP1
000029b2: SWAP3
000029b3: PUSH1 0x00
000029b5: SWAP2
000029b6: PUSH2 0x29c0
000029b9: PUSH1 0x64
000029bb: DUP3
000029bc: PUSH2 0x217e
000029bf: JUMP
000029c0: JUMPDEST
000029c1: MLOAD
000029c2: SWAP1
000029c3: DUP3
000029c4: DUP6
000029c5: GAS
000029c6: CALL
000029c7: ISZERO
000029c8: PUSH2 0x2a0f
000029cb: JUMPI
000029cc: PUSH1 0x00
000029ce: MLOAD
000029cf: RETURNDATASIZE
000029d0: PUSH2 0x2a06
000029d3: JUMPI
000029d4: POP
000029d5: PUSH1 0x01
000029d7: PUSH1 0x01
000029d9: PUSH1 0xa0
000029db: SHL
000029dc: SUB
000029dd: DUP2
000029de: AND
000029df: EXTCODESIZE
000029e0: ISZERO
000029e1: JUMPDEST
000029e2: PUSH2 0x29e8
000029e5: JUMPI
000029e6: POP
000029e7: JUMP
000029e8: JUMPDEST
000029e9: PUSH1 0x01
000029eb: PUSH1 0x01
000029ed: PUSH1 0xa0
000029ef: SHL
000029f0: SUB
000029f1: SWAP1
000029f2: PUSH4 0x5274afe7
000029f7: PUSH1 0xe0
000029f9: SHL
000029fa: PUSH1 0x00
000029fc: MSTORE
000029fd: AND
000029fe: PUSH1 0x04
00002a00: MSTORE
00002a01: PUSH1 0x24
00002a03: PUSH1 0x00
00002a05: REVERT
00002a06: JUMPDEST
00002a07: PUSH1 0x01
00002a09: EQ
00002a0a: ISZERO
00002a0b: PUSH2 0x29e1
00002a0e: JUMP
00002a0f: JUMPDEST
00002a10: PUSH1 0x40
00002a12: MLOAD
00002a13: RETURNDATASIZE
00002a14: PUSH1 0x00
00002a16: DUP3
00002a17: RETURNDATACOPY
00002a18: RETURNDATASIZE
00002a19: SWAP1
00002a1a: REVERT
00002a1b: JUMPDEST
00002a1c: PUSH1 0xff
00002a1e: DUP2
00002a1f: EQ
00002a20: PUSH2 0x2a65
00002a23: JUMPI
00002a24: PUSH1 0xff
00002a26: DUP2
00002a27: AND
00002a28: SWAP1
00002a29: PUSH1 0x1f
00002a2b: DUP3
00002a2c: GT
00002a2d: PUSH2 0x2a54
00002a30: JUMPI
00002a31: PUSH1 0x40
00002a33: DUP1
00002a34: MLOAD
00002a35: SWAP3
00002a36: PUSH2 0x2a3f
00002a39: DUP3
00002a3a: DUP6
00002a3b: PUSH2 0x217e
00002a3e: JUMP
00002a3f: JUMPDEST
00002a40: PUSH1 0x20
00002a42: DUP1
00002a43: DUP6
00002a44: MSTORE
00002a45: DUP5
00002a46: ADD
00002a47: SWAP2
00002a48: PUSH1 0x1f
00002a4a: NOT
00002a4b: ADD
00002a4c: CALLDATASIZE
00002a4d: DUP4
00002a4e: CALLDATACOPY
00002a4f: DUP4
00002a50: MSTORE
00002a51: MSTORE
00002a52: SWAP1
00002a53: JUMP
00002a54: JUMPDEST
00002a55: PUSH4 0x2cd44ac3
00002a5a: PUSH1 0xe2
00002a5c: SHL
00002a5d: PUSH1 0x00
00002a5f: MSTORE
00002a60: PUSH1 0x04
00002a62: PUSH1 0x00
00002a64: REVERT
00002a65: JUMPDEST
00002a66: POP
00002a67: PUSH1 0x40
00002a69: MLOAD
00002a6a: PUSH2 0x24f0
00002a6d: DUP2
00002a6e: PUSH2 0x251d
00002a71: DUP2
00002a72: PUSH1 0x00
00002a74: PUSH2 0x2350
00002a77: JUMP
00002a78: JUMPDEST
00002a79: PUSH1 0xff
00002a7b: DUP2
00002a7c: EQ
00002a7d: PUSH2 0x2a9c
00002a80: JUMPI
00002a81: PUSH1 0xff
00002a83: DUP2
00002a84: AND
00002a85: SWAP1
00002a86: PUSH1 0x1f
00002a88: DUP3
00002a89: GT
00002a8a: PUSH2 0x2a54
00002a8d: JUMPI
00002a8e: PUSH1 0x40
00002a90: DUP1
00002a91: MLOAD
00002a92: SWAP3
00002a93: PUSH2 0x2a3f
00002a96: DUP3
00002a97: DUP6
00002a98: PUSH2 0x217e
00002a9b: JUMP
00002a9c: JUMPDEST
00002a9d: POP
00002a9e: PUSH1 0x40
00002aa0: MLOAD
00002aa1: PUSH2 0x24f0
00002aa4: DUP2
00002aa5: PUSH2 0x251d
00002aa8: DUP2
00002aa9: PUSH1 0x01
00002aab: PUSH2 0x2350
00002aae: JUMP
00002aaf: JUMPDEST
00002ab0: PUSH1 0x01
00002ab2: PUSH1 0x01
00002ab4: PUSH1 0xa0
00002ab6: SHL
00002ab7: SUB
00002ab8: PUSH32 0x0000000000000000000000005c29376a264e9244b50076650cea0cf30172c466
00002ad9: AND
00002ada: ADDRESS
00002adb: EQ
00002adc: DUP1
00002add: PUSH2 0x2ba2
00002ae0: JUMPI
00002ae1: JUMPDEST
00002ae2: ISZERO
00002ae3: PUSH2 0x2b0a
00002ae6: JUMPI
00002ae7: PUSH32 0x8b0ff9b1388245f1c6794b5f6c5112ab8a026f18006d5dd53b6cc95304554452
00002b08: SWAP1
00002b09: JUMP
00002b0a: JUMPDEST
00002b0b: PUSH1 0x40
00002b0d: MLOAD
00002b0e: PUSH1 0x20
00002b10: DUP2
00002b11: ADD
00002b12: SWAP1
00002b13: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
00002b34: DUP3
00002b35: MSTORE
00002b36: PUSH32 0xd5410cae89f91259d821df9dfdf0033e0d09fa3fae623675d174cce19c2b45ee
00002b57: PUSH1 0x40
00002b59: DUP3
00002b5a: ADD
00002b5b: MSTORE
00002b5c: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
00002b7d: PUSH1 0x60
00002b7f: DUP3
00002b80: ADD
00002b81: MSTORE
00002b82: CHAINID
00002b83: PUSH1 0x80
00002b85: DUP3
00002b86: ADD
00002b87: MSTORE
00002b88: ADDRESS
00002b89: PUSH1 0xa0
00002b8b: DUP3
00002b8c: ADD
00002b8d: MSTORE
00002b8e: PUSH1 0xa0
00002b90: DUP2
00002b91: MSTORE
00002b92: PUSH2 0x2b9c
00002b95: PUSH1 0xc0
00002b97: DUP3
00002b98: PUSH2 0x217e
00002b9b: JUMP
00002b9c: JUMPDEST
00002b9d: MLOAD
00002b9e: SWAP1
00002b9f: KECCAK256
00002ba0: SWAP1
00002ba1: JUMP
00002ba2: JUMPDEST
00002ba3: POP
00002ba4: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00002bc5: CHAINID
00002bc6: EQ
00002bc7: PUSH2 0x2ae1
00002bca: JUMP
00002bcb: JUMPDEST
00002bcc: SWAP2
00002bcd: SWAP1
00002bce: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
00002bef: DUP5
00002bf0: GT
00002bf1: PUSH2 0x2c48
00002bf4: JUMPI
00002bf5: SWAP2
00002bf6: PUSH1 0x20
00002bf8: SWAP4
00002bf9: PUSH1 0x80
00002bfb: SWAP3
00002bfc: PUSH1 0xff
00002bfe: PUSH1 0x00
00002c00: SWAP6
00002c01: PUSH1 0x40
00002c03: MLOAD
00002c04: SWAP5
00002c05: DUP6
00002c06: MSTORE
00002c07: AND
00002c08: DUP7
00002c09: DUP5
00002c0a: ADD
00002c0b: MSTORE
00002c0c: PUSH1 0x40
00002c0e: DUP4
00002c0f: ADD
00002c10: MSTORE
00002c11: PUSH1 0x60
00002c13: DUP3
00002c14: ADD
00002c15: MSTORE
00002c16: DUP3
00002c17: DUP1
00002c18: MSTORE
00002c19: PUSH1 0x01
00002c1b: GAS
00002c1c: STATICCALL
00002c1d: ISZERO
00002c1e: PUSH2 0x2a0f
00002c21: JUMPI
00002c22: PUSH1 0x00
00002c24: MLOAD
00002c25: PUSH1 0x01
00002c27: PUSH1 0x01
00002c29: PUSH1 0xa0
00002c2b: SHL
00002c2c: SUB
00002c2d: DUP2
00002c2e: AND
00002c2f: ISZERO
00002c30: PUSH2 0x2c3c
00002c33: JUMPI
00002c34: SWAP1
00002c35: PUSH1 0x00
00002c37: SWAP1
00002c38: PUSH1 0x00
00002c3a: SWAP1
00002c3b: JUMP
00002c3c: JUMPDEST
00002c3d: POP
00002c3e: PUSH1 0x00
00002c40: SWAP1
00002c41: PUSH1 0x01
00002c43: SWAP1
00002c44: PUSH1 0x00
00002c46: SWAP1
00002c47: JUMP
00002c48: JUMPDEST
00002c49: POP
00002c4a: POP
00002c4b: POP
00002c4c: PUSH1 0x00
00002c4e: SWAP2
00002c4f: PUSH1 0x03
00002c51: SWAP2
00002c52: SWAP1
00002c53: JUMP
00002c54: JUMPDEST
00002c55: SWAP2
00002c56: SWAP1
00002c57: SWAP2
00002c58: PUSH1 0x04
00002c5a: DUP2
00002c5b: LT
00002c5c: ISZERO
00002c5d: PUSH2 0x08cc
00002c60: JUMPI
00002c61: DUP1
00002c62: PUSH2 0x2c6a
00002c65: JUMPI
00002c66: POP
00002c67: SWAP1
00002c68: POP
00002c69: JUMP
00002c6a: JUMPDEST
00002c6b: PUSH1 0x00
00002c6d: PUSH1 0x01
00002c6f: DUP3
00002c70: SUB
00002c71: PUSH2 0x2c85
00002c74: JUMPI
00002c75: PUSH4 0xf645eedf
00002c7a: PUSH1 0xe0
00002c7c: SHL
00002c7d: PUSH1 0x00
00002c7f: MSTORE
00002c80: PUSH1 0x04
00002c82: PUSH1 0x00
00002c84: REVERT
00002c85: JUMPDEST
00002c86: POP
00002c87: PUSH1 0x02
00002c89: DUP2
00002c8a: SUB
00002c8b: PUSH2 0x2ca3
00002c8e: JUMPI
00002c8f: DUP3
00002c90: PUSH4 0xfce698f7
00002c95: PUSH1 0xe0
00002c97: SHL
00002c98: PUSH1 0x00
00002c9a: MSTORE
00002c9b: PUSH1 0x04
00002c9d: MSTORE
00002c9e: PUSH1 0x24
00002ca0: PUSH1 0x00
00002ca2: REVERT
00002ca3: JUMPDEST
00002ca4: SWAP1
00002ca5: SWAP2
00002ca6: PUSH1 0x03
00002ca8: PUSH1 0x00
00002caa: SWAP3
00002cab: EQ
00002cac: PUSH2 0x2cb3
00002caf: JUMPI
00002cb0: POP
00002cb1: POP
00002cb2: JUMP
00002cb3: JUMPDEST
00002cb4: PUSH4 0x35e2f383
00002cb9: PUSH1 0xe2
00002cbb: SHL
00002cbc: DUP3
00002cbd: MSTORE
00002cbe: PUSH1 0x04
00002cc0: MSTORE
00002cc1: PUSH1 0x24
00002cc3: SWAP2
00002cc4: POP
00002cc5: REVERT
00002cc6: INVALID
00002cc7: LOG2
00002cc8: PUSH5 0x6970667358
00002cce: UNKNOWN(0x22)
00002ccf: SLT
00002cd0: KECCAK256
00002cd1: UNKNOWN(0xB9)
00002cd2: PUSH6 0x1664551d7f3d
00002cd9: SUB
00002cda: JUMPI
00002cdb: UNKNOWN(0xDC)
00002cdc: CREATE
00002cdd: UNKNOWN(0xCF)
00002cde: SMOD
00002cdf: UNKNOWN(0xCE)
00002ce0: DUP2
00002ce1: UNKNOWN(0x0D)
00002ce2: UNKNOWN(0xD6)
00002ce3: UNKNOWN(0xA8)
00002ce4: UNKNOWN(0xA9)
00002ce5: UNKNOWN(0x0D)
00002ce6: UNKNOWN(0xEC)
00002ce7: DUP6
00002ce8: SAR
00002ce9: CALLCODE
00002cea: CREATE2
00002ceb: UNKNOWN(0xE7)
00002cec: DUP10
00002ced: MOD
00002cee: UNKNOWN(0xE2)
00002cef: UNKNOWN(0xB1)
00002cf0: UNKNOWN(0x2F)
00002cf1: PUSH5 0x736f6c6343
00002cf7: STOP
00002cf8: ADDMOD
00002cf9: SHR
00002cfa: STOP
00002cfb: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high reentrancy slither Reentrancy in Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32) (contracts/crate/Crate.sol#267-301): 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "reentrancy-eth",
    "elements": [
        {
            "name": "claimPartner",
            "type": "function",
            "source_mapping": {
                "lines": [
                    267,
                    268,
                    269,
                    270,
                    271,
                    272,
                    273,
                    274,
                    275,
                    276,
                    277,
                    278,
                    279,
                    280,
                    281,
                    282,
                    283,
                    284,
                    285,
                    286,
                    287,
                    288,
                    289,
                    290,
                    291,
                    292,
                    293,
                    294,
                    295,
                    296,
                    297,
                    298,
                    299,
                    300,
                    301
                ],
                "start": 8444,
                "length": 1299,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "contracts/crate/Crate.sol",
                "starting_column": 3,
                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                "filename_relative": "contracts/crate/Crate.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Crate",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334,
                            335,
                            336,
                            337,
                            338,
                            339,
                            340,
                            341,
                            342,
                            343,
                            344,
                            345,
                            346,
                            347,
                            348,
                            349,
                            350,
                            351,
                            352,
                            353,
                            354,
                            355,
                            356,
                            357,
                            358,
                            359,
                            360,
                            361,
                            362,
                            363,
                            364,
                            365,
                            366,
                            367,
                            368,
                            369,
                            370,
                            371,
                            372,
                            373,
                            374,
                            375,
                            376,
                            377,
                            378,
                            379,
                            380,
                            381,
                            382,
                            383,
                            384,
                            385,
                            386,
                            387,
                            388,
                            389,
                            390,
                            391,
                            392,
                            393,
                            394,
                            395,
                            396,
                            397,
                            398,
                            399,
                            400,
                            401,
                            402,
                            403,
                            404,
                            405,
                            406,
                            407,
                            408,
                            409,
                            410,
                            411,
                            412,
                            413,
                            414,
                            415,
                            416,
                            417
                        ],
                        "start": 526,
                        "length": 12525,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "contracts/crate/Crate.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                        "filename_relative": "contracts/crate/Crate.sol"
                    }
                },
                "signature": "claimPartner(address[],string,uint256,uint8,bytes32,bytes32)"
            }
        },
        {
            "name": "(success,None) = user_.call{value: balance}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    293
                ],
                "start": 9493,
                "length": 49,
                "ending_column": 60,
                "is_dependency": false,
                "filename_short": "contracts/crate/Crate.sol",
                "starting_column": 11,
                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                "filename_relative": "contracts/crate/Crate.sol"
            },
            "additional_fields": {
                "underlying_type": "external_calls"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "claimPartner",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301
                        ],
                        "start": 8444,
                        "length": 1299,
                        "ending_column": 6,
                        "is_dependency": false,
                        "filename_short": "contracts/crate/Crate.sol",
                        "starting_column": 3,
                        "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                        "filename_relative": "contracts/crate/Crate.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Crate",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    15,
                                    16,
                                    17,
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417
                                ],
                                "start": 526,
                                "length": 12525,
                                "ending_column": 2,
                                "is_dependency": false,
                                "filename_short": "contracts/crate/Crate.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                                "filename_relative": "contracts/crate/Crate.sol"
                            }
                        },
                        "signature": "claimPartner(address[],string,uint256,uint8,bytes32,bytes32)"
                    }
                }
            }
        },
        {
            "name": "_partnerBalanceOf[partner_][token] = 0",
            "type": "node",
            "source_mapping": {
                "lines": [
                    291
                ],
                "start": 9407,
                "length": 38,
                "ending_column": 47,
                "is_dependency": false,
                "filename_short": "contracts/crate/Crate.sol",
                "starting_column": 9,
                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                "filename_relative": "contracts/crate/Crate.sol"
            },
            "additional_fields": {
                "variable_name": "_partnerBalanceOf",
                "underlying_type": "variables_written"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "claimPartner",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301
                        ],
                        "start": 8444,
                        "length": 1299,
                        "ending_column": 6,
                        "is_dependency": false,
                        "filename_short": "contracts/crate/Crate.sol",
                        "starting_column": 3,
                        "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                        "filename_relative": "contracts/crate/Crate.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Crate",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    15,
                                    16,
                                    17,
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417
                                ],
                                "start": 526,
                                "length": 12525,
                                "ending_column": 2,
                                "is_dependency": false,
                                "filename_short": "contracts/crate/Crate.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                                "filename_relative": "contracts/crate/Crate.sol"
                            }
                        },
                        "signature": "claimPartner(address[],string,uint256,uint8,bytes32,bytes32)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/crate/Crate.sol",
            "name": "claimPartner",
            "type": "function",
            "lines": [
                267,
                268,
                269,
                270,
                271,
                272,
                273,
                274,
                275,
                276,
                277,
                278,
                279,
                280,
                281,
                282,
                283,
                284,
                285,
                286,
                287,
                288,
                289,
                290,
                291,
                292,
                293,
                294,
                295,
                296,
                297,
                298,
                299,
                300,
                301
            ]
        },
        {
            "file": "contracts/crate/Crate.sol",
            "name": "(success,None) = user_.call{value: balance}()",
            "type": "node",
            "lines": [
                293
            ]
        },
        {
            "file": "contracts/crate/Crate.sol",
            "name": "_partnerBalanceOf[partner_][token] = 0",
            "type": "node",
            "lines": [
                291
            ]
        }
    ],
    "description": "Reentrancy in Crate.claimPartner(address[],string,uint256,uint8,bytes32,bytes32) (contracts/crate/Crate.sol#267-301):\n\tExternal calls:\n\t- (success,None) = user_.call{value: balance}() (contracts/crate/Crate.sol#293)\n\tState variables written after the call(s):\n\t- _partnerBalanceOf[partner_][token] = 0 (contracts/crate/Crate.sol#291)\n\tCrate._partnerBalanceOf (contracts/crate/Crate.sol#32) can be used in cross function reentrancies:\n\t- Crate.partnerBalanceOf(address,string) (contracts/crate/Crate.sol#344-346)\n\t- Crate.setData(address,address,uint256,uint256,string,uint256,uint256) (contracts/crate/Crate.sol#188-212)"
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x21643ec2a9277069ad042d4f234bc66c8f674e2288b0672f1f4bcc033142cbc3
call_targets: 0x5c29376a264e9244b50076650cea0cf30172c466
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x21643ec2a9277069ad042d4f234bc66c8f674e2288b0672f1f4bcc033142cbc3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5c29376a264e9244b50076650cea0cf30172c466"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0614117a",
            "selector": "0x0614117a",
            "calldata_variants": [
                "0x0614117a",
                "0x0614117a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07da68f5",
            "selector": "0x07da68f5",
            "calldata_variants": [
                "0x07da68f5",
                "0x07da68f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14afd04a",
            "selector": "0x14afd04a",
            "calldata_variants": [
                "0x14afd04a",
                "0x14afd04a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x34ec740a",
            "selector": "0x34ec740a",
            "calldata_variants": [
                "0x34ec740a",
                "0x34ec740a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1315,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8074,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 10694,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": []
}
high other slither Crate.recoverETH() (contracts/crate/Crate.sol#303-308) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "recoverETH",
            "type": "function",
            "source_mapping": {
                "lines": [
                    303,
                    304,
                    305,
                    306,
                    307,
                    308
                ],
                "start": 9749,
                "length": 200,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "contracts/crate/Crate.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                "filename_relative": "contracts/crate/Crate.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Crate",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            15,
                            16,
                            17,
                            18,
                            19,
                            20,
                            21,
                            22,
                            23,
                            24,
                            25,
                            26,
                            27,
                            28,
                            29,
                            30,
                            31,
                            32,
                            33,
                            34,
                            35,
                            36,
                            37,
                            38,
                            39,
                            40,
                            41,
                            42,
                            43,
                            44,
                            45,
                            46,
                            47,
                            48,
                            49,
                            50,
                            51,
                            52,
                            53,
                            54,
                            55,
                            56,
                            57,
                            58,
                            59,
                            60,
                            61,
                            62,
                            63,
                            64,
                            65,
                            66,
                            67,
                            68,
                            69,
                            70,
                            71,
                            72,
                            73,
                            74,
                            75,
                            76,
                            77,
                            78,
                            79,
                            80,
                            81,
                            82,
                            83,
                            84,
                            85,
                            86,
                            87,
                            88,
                            89,
                            90,
                            91,
                            92,
                            93,
                            94,
                            95,
                            96,
                            97,
                            98,
                            99,
                            100,
                            101,
                            102,
                            103,
                            104,
                            105,
                            106,
                            107,
                            108,
                            109,
                            110,
                            111,
                            112,
                            113,
                            114,
                            115,
                            116,
                            117,
                            118,
                            119,
                            120,
                            121,
                            122,
                            123,
                            124,
                            125,
                            126,
                            127,
                            128,
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334,
                            335,
                            336,
                            337,
                            338,
                            339,
                            340,
                            341,
                            342,
                            343,
                            344,
                            345,
                            346,
                            347,
                            348,
                            349,
                            350,
                            351,
                            352,
                            353,
                            354,
                            355,
                            356,
                            357,
                            358,
                            359,
                            360,
                            361,
                            362,
                            363,
                            364,
                            365,
                            366,
                            367,
                            368,
                            369,
                            370,
                            371,
                            372,
                            373,
                            374,
                            375,
                            376,
                            377,
                            378,
                            379,
                            380,
                            381,
                            382,
                            383,
                            384,
                            385,
                            386,
                            387,
                            388,
                            389,
                            390,
                            391,
                            392,
                            393,
                            394,
                            395,
                            396,
                            397,
                            398,
                            399,
                            400,
                            401,
                            402,
                            403,
                            404,
                            405,
                            406,
                            407,
                            408,
                            409,
                            410,
                            411,
                            412,
                            413,
                            414,
                            415,
                            416,
                            417
                        ],
                        "start": 526,
                        "length": 12525,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "contracts/crate/Crate.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                        "filename_relative": "contracts/crate/Crate.sol"
                    }
                },
                "signature": "recoverETH()"
            }
        },
        {
            "name": "_msgSender().call{value: balance}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    305
                ],
                "start": 9868,
                "length": 37,
                "ending_column": 46,
                "is_dependency": false,
                "filename_short": "contracts/crate/Crate.sol",
                "starting_column": 9,
                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                "filename_relative": "contracts/crate/Crate.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "recoverETH",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            303,
                            304,
                            305,
                            306,
                            307,
                            308
                        ],
                        "start": 9749,
                        "length": 200,
                        "ending_column": 6,
                        "is_dependency": false,
                        "filename_short": "contracts/crate/Crate.sol",
                        "starting_column": 5,
                        "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                        "filename_relative": "contracts/crate/Crate.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Crate",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    15,
                                    16,
                                    17,
                                    18,
                                    19,
                                    20,
                                    21,
                                    22,
                                    23,
                                    24,
                                    25,
                                    26,
                                    27,
                                    28,
                                    29,
                                    30,
                                    31,
                                    32,
                                    33,
                                    34,
                                    35,
                                    36,
                                    37,
                                    38,
                                    39,
                                    40,
                                    41,
                                    42,
                                    43,
                                    44,
                                    45,
                                    46,
                                    47,
                                    48,
                                    49,
                                    50,
                                    51,
                                    52,
                                    53,
                                    54,
                                    55,
                                    56,
                                    57,
                                    58,
                                    59,
                                    60,
                                    61,
                                    62,
                                    63,
                                    64,
                                    65,
                                    66,
                                    67,
                                    68,
                                    69,
                                    70,
                                    71,
                                    72,
                                    73,
                                    74,
                                    75,
                                    76,
                                    77,
                                    78,
                                    79,
                                    80,
                                    81,
                                    82,
                                    83,
                                    84,
                                    85,
                                    86,
                                    87,
                                    88,
                                    89,
                                    90,
                                    91,
                                    92,
                                    93,
                                    94,
                                    95,
                                    96,
                                    97,
                                    98,
                                    99,
                                    100,
                                    101,
                                    102,
                                    103,
                                    104,
                                    105,
                                    106,
                                    107,
                                    108,
                                    109,
                                    110,
                                    111,
                                    112,
                                    113,
                                    114,
                                    115,
                                    116,
                                    117,
                                    118,
                                    119,
                                    120,
                                    121,
                                    122,
                                    123,
                                    124,
                                    125,
                                    126,
                                    127,
                                    128,
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417
                                ],
                                "start": 526,
                                "length": 12525,
                                "ending_column": 2,
                                "is_dependency": false,
                                "filename_short": "contracts/crate/Crate.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-a5mp7fkj/contracts/crate/Crate.sol",
                                "filename_relative": "contracts/crate/Crate.sol"
                            }
                        },
                        "signature": "recoverETH()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/crate/Crate.sol",
            "name": "recoverETH",
            "type": "function",
            "lines": [
                303,
                304,
                305,
                306,
                307,
                308
            ]
        },
        {
            "file": "contracts/crate/Crate.sol",
            "name": "_msgSender().call{value: balance}()",
            "type": "node",
            "lines": [
                305
            ]
        }
    ],
    "description": "Crate.recoverETH() (contracts/crate/Crate.sol#303-308) sends eth to arbitrary user\n\tDangerous calls:\n\t- _msgSender().call{value: balance}() (contracts/crate/Crate.sol#305)"
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x21643ec2a9277069ad042d4f234bc66c8f674e2288b0672f1f4bcc033142cbc3
call_targets: 0x5c29376a264e9244b50076650cea0cf30172c466
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x21643ec2a9277069ad042d4f234bc66c8f674e2288b0672f1f4bcc033142cbc3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5c29376a264e9244b50076650cea0cf30172c466"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0614117a",
            "selector": "0x0614117a",
            "calldata_variants": [
                "0x0614117a",
                "0x0614117a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07da68f5",
            "selector": "0x07da68f5",
            "calldata_variants": [
                "0x07da68f5",
                "0x07da68f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14afd04a",
            "selector": "0x14afd04a",
            "calldata_variants": [
                "0x14afd04a",
                "0x14afd04a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x34ec740a",
            "selector": "0x34ec740a",
            "calldata_variants": [
                "0x34ec740a",
                "0x34ec740a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1315,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8074,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 10694,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [],
    "untrusted_call_count": 4
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x0b4435e866814da6f5f73c63854cb73011722d89f1784fc73b0606c6f024b7b9
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x0b4435e866814da6f5f73c63854cb73011722d89f1784fc73b0606c6f024b7b9",
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0614117a",
            "selector": "0x0614117a",
            "calldata_variants": [
                "0x0614117a",
                "0x0614117a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07da68f5",
            "selector": "0x07da68f5",
            "calldata_variants": [
                "0x07da68f5",
                "0x07da68f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14afd04a",
            "selector": "0x14afd04a",
            "calldata_variants": [
                "0x14afd04a",
                "0x14afd04a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x248a9ca3",
            "selector": "0x248a9ca3",
            "calldata_variants": [
                "0x248a9ca3",
                "0x248a9ca30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f2ff15d",
            "selector": "0x2f2ff15d",
            "calldata_variants": [
                "0x2f2ff15d",
                "0x2f2ff15d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x34ec740a",
            "selector": "0x34ec740a",
            "calldata_variants": [
                "0x34ec740a",
                "0x34ec740a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x36568abe",
            "selector": "0x36568abe",
            "calldata_variants": [
                "0x36568abe",
                "0x36568abe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 1
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 1
}
low other codex recoverETH ignores low-level call success 65 no
view
evidence_json
{
    "evidence": "_msgSender().call{value: balance}(\"\"); without checking success.",
    "locations": [
        "contracts/crate/Crate.sol:303"
    ],
    "recommendation": "Check the call return value and revert on failure (or use Address.sendValue / a payable recipient parameter).",
    "exploit_scenario": "If the DEFAULT_ADMIN_ROLE is a contract that rejects ETH (or runs out of gas), recoverETH will still emit ETHRecovered while the transfer fails, leaving ETH locked until another admin can receive."
}