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

Analysis Run

019c0ea9-078e-733e-a80c-08acc458ccbe

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 30, 2026 11:28 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
Untrusted CALL target/value reachable
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
41620 artifact.fetch complete 1 / 3 2 months ago
41621 proxy.resolve complete 1 / 3 2 months ago
41622 tool.cast_disasm complete 1 / 3 2 months ago
41623 analysis.bundle complete 1 / 3 2 months ago
41624 capability.graph complete 1 / 3 2 months ago
41625 detector.run complete 1 / 3 2 months ago
41626 validation.fork complete 1 / 3 2 months ago
42230 report.consolidate complete 1 / 6 2 months ago
42231 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
1
Solc
0.8.23 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-zxad7zl6)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-zxad7zl6)

SpokeGasToken._sendToken(address,uint256) (contracts/spoke/SpokeGasToken.sol#35-38) sends eth to arbitrary user
	Dangerous calls:
	- (sent,None) = recipient.call{value: amount}() (contracts/spoke/SpokeGasToken.sol#36)
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

BytesLib.concatStorage(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#91-226) performs a multiplication on the result of a division:
	- sstore(uint256,uint256)(sc_concatStorage_asm_0,mload(uint256)(mc_concatStorage_asm_0) / mask_concatStorage_asm_0 * mask_concatStorage_asm_0) (@solidity-bytes-utils/contracts/BytesLib.sol#223)
BytesLib.concatStorage(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#91-226) performs a multiplication on the result of a division:
	- sstore(uint256,uint256)(sc_concatStorage_asm_0,mload(uint256)(mc_concatStorage_asm_0) / mask_concatStorage_asm_0 * mask_concatStorage_asm_0) (@solidity-bytes-utils/contracts/BytesLib.sol#189)
BytesLib.concatStorage(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#91-226) performs a multiplication on the result of a division:
	- sstore(uint256,uint256)(_preBytes,fslot_concatStorage_asm_0 + mload(uint256)(_postBytes + 0x20) / 0x100 ** 32 - mlength_concatStorage_asm_0 * 0x100 ** 32 - newlength_concatStorage_asm_0 + mlength_concatStorage_asm_0 * 2) (@solidity-bytes-utils/contracts/BytesLib.sol#115-140)
BytesLib.equalStorage(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#505-575) performs a multiplication on the result of a division:
	- fslot_equalStorage_asm_0 = fslot_equalStorage_asm_0 / 0x100 * 0x100 (@solidity-bytes-utils/contracts/BytesLib.sol#532)
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

SpokeGasToken.constructor(address,IBridgeRouter,uint16,bytes32,IAddressOracle,RateLimited.BucketConfig,uint8).bridgeRouter (contracts/spoke/SpokeGasToken.sol#14) shadows:
	- BridgeMessenger.bridgeRouter (contracts/bridge/BridgeMessenger.sol#15) (state variable)
SpokeGasToken.constructor(address,IBridgeRouter,uint16,bytes32,IAddressOracle,RateLimited.BucketConfig,uint8).bucketConfig (contracts/spoke/SpokeGasToken.sol#18) shadows:
	- RateLimited.bucketConfig (contracts/spoke/RateLimited.sol#26) (state variable)
SpokeGasToken.constructor(address,IBridgeRouter,uint16,bytes32,IAddressOracle,RateLimited.BucketConfig,uint8).poolId (contracts/spoke/SpokeGasToken.sol#19) shadows:
	- SpokeToken.poolId (contracts/spoke/SpokeToken.sol#19) (state variable)
SpokeToken.constructor(address,IBridgeRouter,uint16,bytes32,IAddressOracle,RateLimited.BucketConfig,uint8).bridgeRouter (contracts/spoke/SpokeToken.sol#23) shadows:
	- BridgeMessenger.bridgeRouter (contracts/bridge/BridgeMessenger.sol#15) (state variable)
SpokeToken.constructor(address,IBridgeRouter,uint16,bytes32,IAddressOracle,RateLimited.BucketConfig,uint8).bucketConfig (contracts/spoke/SpokeToken.sol#27) shadows:
	- RateLimited.bucketConfig (contracts/spoke/RateLimited.sol#26) (state variable)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing

RateLimited._updatePeriod() (contracts/spoke/RateLimited.sol#61-71) uses timestamp for comparisons
	Dangerous comparisons:
	- periodNumber != currentPeriodNumber (contracts/spoke/RateLimited.sol#65)
AccessControlDefaultAdminRules.renounceRole(bytes32,address) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#111-120) uses timestamp for comparisons
	Dangerous comparisons:
	- role == DEFAULT_ADMIN_ROLE && account == defaultAdmin() (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#112)
	- newDefaultAdmin != address(0) || ! _isScheduleSet(schedule) || ! _hasSchedulePassed(schedule) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#114)
AccessControlDefaultAdminRules._grantRole(bytes32,address) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#131-139) uses timestamp for comparisons
	Dangerous comparisons:
	- defaultAdmin() != address(0) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#133)
AccessControlDefaultAdminRules._revokeRole(bytes32,address) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#142-147) uses timestamp for comparisons
	Dangerous comparisons:
	- role == DEFAULT_ADMIN_ROLE && account == defaultAdmin() (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#143)
AccessControlDefaultAdminRules.defaultAdminDelay() (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#174-177) uses timestamp for comparisons
	Dangerous comparisons:
	- (_isScheduleSet(schedule) && _hasSchedulePassed(schedule)) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#176)
AccessControlDefaultAdminRules.pendingDefaultAdminDelay() (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#180-183) uses timestamp for comparisons
	Dangerous comparisons:
	- (_isScheduleSet(schedule) && ! _hasSchedulePassed(schedule)) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#182)
AccessControlDefaultAdminRules.acceptDefaultAdminTransfer() (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#225-232) uses timestamp for comparisons
	Dangerous comparisons:
	- _msgSender() != newDefaultAdmin (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#227)
AccessControlDefaultAdminRules._acceptDefaultAdminTransfer() (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#239-248) uses timestamp for comparisons
	Dangerous comparisons:
	- ! _isScheduleSet(schedule) || ! _hasSchedulePassed(schedule) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#241)
AccessControlDefaultAdminRules._isScheduleSet(uint48) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#362-364) uses timestamp for comparisons
	Dangerous comparisons:
	- schedule != 0 (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#363)
AccessControlDefaultAdminRules._hasSchedulePassed(uint48) (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#369-371) uses timestamp for comparisons
	Dangerous comparisons:
	- schedule < block.timestamp (lib/openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol#370)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp

BytesLib.concat(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#13-89) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#23-86)
BytesLib.concatStorage(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#91-226) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#92-225)
BytesLib.slice(bytes,uint256,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#228-295) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#242-292)
BytesLib.toAddress(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#297-306) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#301-303)
BytesLib.toUint8(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#308-317) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#312-314)
BytesLib.toUint16(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#319-328) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#323-325)
BytesLib.toUint32(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#330-339) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#334-336)
BytesLib.toUint64(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#341-350) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#345-347)
BytesLib.toUint96(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#352-361) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#356-358)
BytesLib.toUint128(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#363-372) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#367-369)
BytesLib.toUint256(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#374-383) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#378-380)
BytesLib.toBytes32(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#385-394) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#389-391)
BytesLib.equal(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#396-437) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#399-434)
BytesLib.equal_nonAligned(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#439-503) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#442-500)
BytesLib.equalStorage(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#505-575) uses assembly
	- INLINE ASM (@solidity-bytes-utils/contracts/BytesLib.sol#515-572)
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)
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)
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

5 different versions of Solidity are used:
	- Version constraint >=0.8.0<0.9.0 is used by:
		->=0.8.0<0.9.0 (@solidity-bytes-utils/contracts/BytesLib.sol#9)
	- Version constraint 0.8.23 is used by:
		-0.8.23 (contracts/bridge/BridgeMessenger.sol#2)
		-0.8.23 (contracts/bridge/interfaces/IBridgeAdapter.sol#2)
		-0.8.23 (contracts/bridge/interfaces/IBridgeRouter.sol#2)
		-0.8.23 (contracts/bridge/libraries/Messages.sol#2)
		-0.8.23 (contracts/spoke/RateLimited.sol#2)
		-0.8.23 (contracts/spoke/SpokeGasToken.sol#2)
		-0.8.23 (contracts/spoke/SpokeState.sol#2)
		-0.8.23 (contracts/spoke/SpokeToken.sol#2)
		-0.8.23 (contracts/spoke/interfaces/IAddressOracle.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/access/extensions/AccessControlDefaultAdminRules.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/StorageSlot.sol#5)
		-^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)
	- Version constraint >=0.8.4 is used by:
		->=0.8.4 (lib/openzeppelin-contracts/contracts/access/IAccessControl.sol#4)
		->=0.8.4 (lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.sol#4)
	- Version constraint >=0.4.16 is used by:
		->=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol#4)
		->=0.4.16 (lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used

Version constraint >=0.8.0<0.9.0 is too complex.
It is used by:
	- >=0.8.0<0.9.0 (@solidity-bytes-utils/contracts/BytesLib.sol#9)
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/access/extensions/AccessControlDefaultAdminRules.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/StorageSlot.sol#5)
	- ^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)
Version constraint >=0.8.4 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- FullInlinerNonExpressionSplitArgumentEvaluationOrder
	- MissingSideEffectsOnSelectorAccess
	- AbiReencodingHeadOverflowWithStaticArrayCleanup
	- DirtyBytesArrayToStorage
	- DataLocationChangeInInternalOverride
	- NestedCalldataArrayAbiReencodingSizeValidation
	- SignedImmutables.
It is used by:
	- >=0.8.4 (lib/openzeppelin-contracts/contracts/access/IAccessControl.sol#4)
	- >=0.8.4 (lib/openzeppelin-contracts/contracts/access/extensions/IAccessControlDefaultAdminRules.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/IERC5313.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 SpokeGasToken._sendToken(address,uint256) (contracts/spoke/SpokeGasToken.sol#35-38):
	- (sent,None) = recipient.call{value: amount}() (contracts/spoke/SpokeGasToken.sol#36)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls

Parameter BytesLib.concat(bytes,bytes)._preBytes (@solidity-bytes-utils/contracts/BytesLib.sol#14) is not in mixedCase
Parameter BytesLib.concat(bytes,bytes)._postBytes (@solidity-bytes-utils/contracts/BytesLib.sol#15) is not in mixedCase
Parameter BytesLib.concatStorage(bytes,bytes)._preBytes (@solidity-bytes-utils/contracts/BytesLib.sol#91) is not in mixedCase
Parameter BytesLib.concatStorage(bytes,bytes)._postBytes (@solidity-bytes-utils/contracts/BytesLib.sol#91) is not in mixedCase
Parameter BytesLib.slice(bytes,uint256,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#229) is not in mixedCase
Parameter BytesLib.slice(bytes,uint256,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#230) is not in mixedCase
Parameter BytesLib.slice(bytes,uint256,uint256)._length (@solidity-bytes-utils/contracts/BytesLib.sol#231) is not in mixedCase
Parameter BytesLib.toAddress(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#297) is not in mixedCase
Parameter BytesLib.toAddress(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#297) is not in mixedCase
Parameter BytesLib.toUint8(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#308) is not in mixedCase
Parameter BytesLib.toUint8(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#308) is not in mixedCase
Parameter BytesLib.toUint16(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#319) is not in mixedCase
Parameter BytesLib.toUint16(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#319) is not in mixedCase
Parameter BytesLib.toUint32(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#330) is not in mixedCase
Parameter BytesLib.toUint32(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#330) is not in mixedCase
Parameter BytesLib.toUint64(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#341) is not in mixedCase
Parameter BytesLib.toUint64(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#341) is not in mixedCase
Parameter BytesLib.toUint96(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#352) is not in mixedCase
Parameter BytesLib.toUint96(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#352) is not in mixedCase
Parameter BytesLib.toUint128(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#363) is not in mixedCase
Parameter BytesLib.toUint128(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#363) is not in mixedCase
Parameter BytesLib.toUint256(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#374) is not in mixedCase
Parameter BytesLib.toUint256(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#374) is not in mixedCase
Parameter BytesLib.toBytes32(bytes,uint256)._bytes (@solidity-bytes-utils/contracts/BytesLib.sol#385) is not in mixedCase
Parameter BytesLib.toBytes32(bytes,uint256)._start (@solidity-bytes-utils/contracts/BytesLib.sol#385) is not in mixedCase
Parameter BytesLib.equal(bytes,bytes)._preBytes (@solidity-bytes-utils/contracts/BytesLib.sol#396) is not in mixedCase
Parameter BytesLib.equal(bytes,bytes)._postBytes (@solidity-bytes-utils/contracts/BytesLib.sol#396) is not in mixedCase
Function BytesLib.equal_nonAligned(bytes,bytes) (@solidity-bytes-utils/contracts/BytesLib.sol#439-503) is not in mixedCase
Parameter BytesLib.equal_nonAligned(bytes,bytes)._preBytes (@solidity-bytes-utils/contracts/BytesLib.sol#439) is not in mixedCase
Parameter BytesLib.equal_nonAligned(bytes,bytes)._postBytes (@solidity-bytes-utils/contracts/BytesLib.sol#439) is not in mixedCase
Parameter BytesLib.equalStorage(bytes,bytes)._preBytes (@solidity-bytes-utils/contracts/BytesLib.sol#506) is not in mixedCase
Parameter BytesLib.equalStorage(bytes,bytes)._postBytes (@solidity-bytes-utils/contracts/BytesLib.sol#507) is not in mixedCase
Function IBridgeAdapter.MANAGER_ROLE() (contracts/bridge/interfaces/IBridgeAdapter.sol#21) is not in mixedCase
Function IBridgeRouter.MANAGER_ROLE() (contracts/bridge/interfaces/IBridgeRouter.sol#8) is not in mixedCase
Function IBridgeRouter.MESSAGE_SENDER_ROLE() (contracts/bridge/interfaces/IBridgeRouter.sol#9) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

BytesLib.toAddress(bytes,uint256) (@solidity-bytes-utils/contracts/BytesLib.sol#297-306) uses literals with too many digits:
	- tempAddress = mload(uint256)(_bytes + 0x20 + _start) / 0x1000000000000000000000000 (@solidity-bytes-utils/contracts/BytesLib.sol#302)
Math.log2(uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#619-658) uses literals with too many digits:
	- r = r | byte(uint256,uint256)(x >> r,0x0000010102020202030303030303030300000000000000000000000000000000) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#656)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits
. analyzed (23 contracts with 100 detectors), 109 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.8.23",
        "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.23",
        "install_stderr": null,
        "install_stdout": "Version '0.8.23' is already installed, skipping..."
    },
    "solc_args": "--base-path /tmp/slither-zxad7zl6 --include-path /tmp/slither-zxad7zl6/lib --include-path /tmp/slither-zxad7zl6/lib/openzeppelin-contracts --allow-paths /tmp/slither-zxad7zl6,/tmp/slither-zxad7zl6/lib,/tmp/slither-zxad7zl6/lib/openzeppelin-contracts,/tmp/slither-zxad7zl6/src",
    "remappings": [
        "openzeppelin-contracts/=lib/openzeppelin-contracts/",
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
    ],
    "source_files": [
        "@openzeppelin/contracts/access/AccessControl.sol",
        "@openzeppelin/contracts/access/extensions/AccessControlDefaultAdminRules.sol",
        "@openzeppelin/contracts/access/extensions/IAccessControlDefaultAdminRules.sol",
        "@openzeppelin/contracts/access/IAccessControl.sol",
        "@openzeppelin/contracts/interfaces/IERC5313.sol",
        "@openzeppelin/contracts/utils/Context.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/ReentrancyGuard.sol",
        "@solidity-bytes-utils/contracts/BytesLib.sol",
        "contracts/bridge/BridgeMessenger.sol",
        "contracts/bridge/interfaces/IBridgeAdapter.sol",
        "contracts/bridge/interfaces/IBridgeRouter.sol",
        "contracts/bridge/libraries/Messages.sol",
        "contracts/spoke/interfaces/IAddressOracle.sol",
        "contracts/spoke/RateLimited.sol",
        "contracts/spoke/SpokeGasToken.sol",
        "contracts/spoke/SpokeState.sol",
        "contracts/spoke/SpokeToken.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 109,
    "workspace_hash": "9933ec923a19dd64707fda55803ea7725d9f0a00ed080953b06bdb4439ce32c1",
    "duration_seconds": 2.997915267944336,
    "solc_version_requested": "0.8.23"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities identified in the first-party bridge/spoke contracts provided; reentrancy guards, access controls, and external call patterns appear consistent within this scope.
View stdout
{"no_findings":true,"summary":"No exploitable vulnerabilities identified in the first-party bridge/spoke contracts provided; reentrancy guards, access controls, and external call patterns appear consistent within this scope.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-a3qyic2j
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0ede-1277-7043-999c-c29a462681a7
--------
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
exec
/bin/bash -lc 'cat /tmp/codex-a3qyic2j/AUDIT_BUNDLE.txt' in /tmp/codex-a3qyic2j succeeded in 7ms:
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: @solidity-bytes-utils/contracts/BytesLib.sol
================================================================================
// SPDX-License-Identifier: Unlicense
/*
 * @title Solidity Bytes Arrays Utils
 * @author Gonçalo Sá <goncalo.sa@consensys.net>
 *
 * @dev Bytes tightly packed arrays utility library for ethereum contracts written in Solidity.
 *      The library lets you concatenate, slice and type cast bytes arrays both in memory and storage.
 */
pragma solidity >=0.8.0 <0.9.0;


library BytesLib {
    function concat(
        bytes memory _preBytes,
exec
/bin/bash -lc 'tail -n 200 /tmp/codex-a3qyic2j/AUDIT_BUNDLE.txt' in /tmp/codex-a3qyic2j succeeded in 7ms:
pragma solidity 0.8.23;

import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import "@solidity-bytes-utils/contracts/BytesLib.sol";

import "../bridge/BridgeMessenger.sol";
import "../bridge/interfaces/IBridgeRouter.sol";
import "../bridge/libraries/Messages.sol";
import "./interfaces/IAddressOracle.sol";
import "./RateLimited.sol";
import "./SpokeState.sol";

abstract contract SpokeToken is BridgeMessenger, SpokeState, RateLimited {
    using BytesLib for bytes;

    error HubUnknown(uint16 chainId, bytes32 addr);

    uint8 public immutable poolId;

    constructor(
exec
/bin/bash -lc 'rg -n "''^FILE:" /tmp/codex-a3qyic2j/AUDIT_BUNDLE.txt' in /tmp/codex-a3qyic2j succeeded in 15ms:
5:FILE: @solidity-bytes-utils/contracts/BytesLib.sol
585:FILE: contracts/bridge/BridgeMessenger.sol
656:FILE: contracts/bridge/interfaces/IBridgeAdapter.sol
693:FILE: contracts/bridge/interfaces/IBridgeRouter.sol
715:FILE: contracts/bridge/libraries/Messages.sol
863:FILE: contracts/spoke/RateLimited.sol
963:FILE: contracts/spoke/SpokeGasToken.sol
1010:FILE: contracts/spoke/SpokeState.sol
1070:FILE: contracts/spoke/SpokeToken.sol
1262:FILE: contracts/spoke/interfaces/IAddressOracle.sol
exec
/bin/bash -lc "sed -n '585,1261p' /tmp/codex-a3qyic2j/AUDIT_BUNDLE.txt" in /tmp/codex-a3qyic2j succeeded in 7ms:
FILE: contracts/bridge/BridgeMessenger.sol
================================================================================
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.23;

import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";

import "./interfaces/IBridgeRouter.sol";
import "./libraries/Messages.sol";

abstract contract BridgeMessenger is ReentrancyGuard {
    error InvalidBridgeRouter(address router);
    error CannotReceiveMessage(bytes32 messageId);
    error CannotRetryMessage(bytes32 messageId);
    error CannotReverseMessage(bytes32 messageId);

    IBridgeRouter internal immutable bridgeRouter;

    modifier onlyRouter() {
        if (msg.sender != address(bridgeRouter)) revert InvalidBridgeRouter(msg.sender);
codex
{"no_findings":true,"summary":"No exploitable vulnerabilities identified in the first-party bridge/spoke contracts provided; reentrancy guards, access controls, and external call patterns appear consistent within this scope.","findings":[]}
tokens used
30,385
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T12:27:41.576627+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 21,
        "import_count": 25,
        "first_party_contracts_count": 10
    },
    "summary": "No exploitable vulnerabilities identified in the first-party bridge/spoke contracts provided; reentrancy guards, access controls, and external call patterns appear consistent within this scope.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities identified in the first-party bridge/spoke contracts provided; reentrancy guards, access controls, and external call patterns appear consistent within this scope.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
1
Total opcodes
5929
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0230
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x9292086d
00000019: GT
0000001a: PUSH2 0x012e
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc11bb7fe
00000024: GT
00000025: PUSH2 0x00ab
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd0e75dbe
0000002f: GT
00000030: PUSH2 0x006f
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xd0e75dbe
0000003a: EQ
0000003b: PUSH2 0x06e3
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd547741f
00000045: EQ
00000046: PUSH2 0x0734
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xd602b9fd
00000050: EQ
00000051: PUSH2 0x0754
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xe05a8f9f
0000005b: EQ
0000005c: PUSH2 0x0769
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xe8056bb8
00000066: EQ
00000067: PUSH2 0x079c
0000006a: JUMPI
0000006b: PUSH1 0x00
0000006d: DUP1
0000006e: REVERT
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xc11bb7fe
00000076: EQ
00000077: PUSH2 0x063b
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xc46f9dd8
00000081: EQ
00000082: PUSH2 0x065b
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xcc8463c8
0000008c: EQ
0000008d: PUSH2 0x067e
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xcefc1429
00000097: EQ
00000098: PUSH2 0x0693
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xcf6eefb7
000000a2: EQ
000000a3: PUSH2 0x06a8
000000a6: JUMPI
000000a7: PUSH1 0x00
000000a9: DUP1
000000aa: REVERT
000000ab: JUMPDEST
000000ac: DUP1
000000ad: PUSH4 0xa217fddf
000000b2: GT
000000b3: PUSH2 0x00f2
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xa217fddf
000000bd: EQ
000000be: PUSH2 0x058d
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xa45337a8
000000c8: EQ
000000c9: PUSH2 0x05a2
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0xaefcdcf7
000000d3: EQ
000000d4: PUSH2 0x05d6
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0xaf608131
000000de: EQ
000000df: PUSH2 0x060a
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0xb202a71b
000000e9: EQ
000000ea: PUSH2 0x061d
000000ed: JUMPI
000000ee: PUSH1 0x00
000000f0: DUP1
000000f1: REVERT
000000f2: JUMPDEST
000000f3: DUP1
000000f4: PUSH4 0x9292086d
000000f9: EQ
000000fa: PUSH2 0x04e3
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x98dbd4b9
00000104: EQ
00000105: PUSH2 0x0503
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x9b39b0da
0000010f: EQ
00000110: PUSH2 0x0523
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x9df10c66
0000011a: EQ
0000011b: PUSH2 0x0539
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0xa1eda53c
00000125: EQ
00000126: PUSH2 0x0559
00000129: JUMPI
0000012a: PUSH1 0x00
0000012c: DUP1
0000012d: REVERT
0000012e: JUMPDEST
0000012f: DUP1
00000130: PUSH4 0x40245206
00000135: GT
00000136: PUSH2 0x01bc
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x659e5136
00000140: GT
00000141: PUSH2 0x0180
00000144: JUMPI
00000145: DUP1
00000146: PUSH4 0x659e5136
0000014b: EQ
0000014c: PUSH2 0x0435
0000014f: JUMPI
00000150: DUP1
00000151: PUSH4 0x84ef8ffc
00000156: EQ
00000157: PUSH2 0x044a
0000015a: JUMPI
0000015b: DUP1
0000015c: PUSH4 0x8da5cb5b
00000161: EQ
00000162: PUSH2 0x047c
00000165: JUMPI
00000166: DUP1
00000167: PUSH4 0x8ec797bf
0000016c: EQ
0000016d: PUSH2 0x0491
00000170: JUMPI
00000171: DUP1
00000172: PUSH4 0x91d14854
00000177: EQ
00000178: PUSH2 0x04c3
0000017b: JUMPI
0000017c: PUSH1 0x00
0000017e: DUP1
0000017f: REVERT
00000180: JUMPDEST
00000181: DUP1
00000182: PUSH4 0x40245206
00000187: EQ
00000188: PUSH2 0x03af
0000018b: JUMPI
0000018c: DUP1
0000018d: PUSH4 0x5eabd9c7
00000192: EQ
00000193: PUSH2 0x03cf
00000196: JUMPI
00000197: DUP1
00000198: PUSH4 0x5fd60a5b
0000019d: EQ
0000019e: PUSH2 0x03e2
000001a1: JUMPI
000001a2: DUP1
000001a3: PUSH4 0x634e93da
000001a8: EQ
000001a9: PUSH2 0x03f5
000001ac: JUMPI
000001ad: DUP1
000001ae: PUSH4 0x649a5ec7
000001b3: EQ
000001b4: PUSH2 0x0415
000001b7: JUMPI
000001b8: PUSH1 0x00
000001ba: DUP1
000001bb: REVERT
000001bc: JUMPDEST
000001bd: DUP1
000001be: PUSH4 0x248a9ca3
000001c3: GT
000001c4: PUSH2 0x0203
000001c7: JUMPI
000001c8: DUP1
000001c9: PUSH4 0x248a9ca3
000001ce: EQ
000001cf: PUSH2 0x02ca
000001d2: JUMPI
000001d3: DUP1
000001d4: PUSH4 0x2f2ff15d
000001d9: EQ
000001da: PUSH2 0x0309
000001dd: JUMPI
000001de: DUP1
000001df: PUSH4 0x36568abe
000001e4: EQ
000001e5: PUSH2 0x0329
000001e8: JUMPI
000001e9: DUP1
000001ea: PUSH4 0x3e0dc34e
000001ef: EQ
000001f0: PUSH2 0x0349
000001f3: JUMPI
000001f4: DUP1
000001f5: PUSH4 0x3e3ac49f
000001fa: EQ
000001fb: PUSH2 0x038f
000001fe: JUMPI
000001ff: PUSH1 0x00
00000201: DUP1
00000202: REVERT
00000203: JUMPDEST
00000204: DUP1
00000205: PUSH4 0x01ffc9a7
0000020a: EQ
0000020b: PUSH2 0x0235
0000020e: JUMPI
0000020f: DUP1
00000210: PUSH4 0x022d63fb
00000215: EQ
00000216: PUSH2 0x026a
00000219: JUMPI
0000021a: DUP1
0000021b: PUSH4 0x0295fb75
00000220: EQ
00000221: PUSH2 0x0293
00000224: JUMPI
00000225: DUP1
00000226: PUSH4 0x0aa6220b
0000022b: EQ
0000022c: PUSH2 0x02b5
0000022f: JUMPI
00000230: JUMPDEST
00000231: PUSH1 0x00
00000233: DUP1
00000234: REVERT
00000235: JUMPDEST
00000236: CALLVALUE
00000237: DUP1
00000238: ISZERO
00000239: PUSH2 0x0241
0000023c: JUMPI
0000023d: PUSH1 0x00
0000023f: DUP1
00000240: REVERT
00000241: JUMPDEST
00000242: POP
00000243: PUSH2 0x0255
00000246: PUSH2 0x0250
00000249: CALLDATASIZE
0000024a: PUSH1 0x04
0000024c: PUSH2 0x1e85
0000024f: JUMP
00000250: JUMPDEST
00000251: PUSH2 0x07d0
00000254: JUMP
00000255: JUMPDEST
00000256: PUSH1 0x40
00000258: MLOAD
00000259: SWAP1
0000025a: ISZERO
0000025b: ISZERO
0000025c: DUP2
0000025d: MSTORE
0000025e: PUSH1 0x20
00000260: ADD
00000261: JUMPDEST
00000262: PUSH1 0x40
00000264: MLOAD
00000265: DUP1
00000266: SWAP2
00000267: SUB
00000268: SWAP1
00000269: RETURN
0000026a: JUMPDEST
0000026b: CALLVALUE
0000026c: DUP1
0000026d: ISZERO
0000026e: PUSH2 0x0276
00000271: JUMPI
00000272: PUSH1 0x00
00000274: DUP1
00000275: REVERT
00000276: JUMPDEST
00000277: POP
00000278: PUSH3 0x069780
0000027c: JUMPDEST
0000027d: PUSH1 0x40
0000027f: MLOAD
00000280: PUSH6 0xffffffffffff
00000287: SWAP1
00000288: SWAP2
00000289: AND
0000028a: DUP2
0000028b: MSTORE
0000028c: PUSH1 0x20
0000028e: ADD
0000028f: PUSH2 0x0261
00000292: JUMP
00000293: JUMPDEST
00000294: CALLVALUE
00000295: DUP1
00000296: ISZERO
00000297: PUSH2 0x029f
0000029a: JUMPI
0000029b: PUSH1 0x00
0000029d: DUP1
0000029e: REVERT
0000029f: JUMPDEST
000002a0: POP
000002a1: PUSH2 0x02b3
000002a4: PUSH2 0x02ae
000002a7: CALLDATASIZE
000002a8: PUSH1 0x04
000002aa: PUSH2 0x1ea0
000002ad: JUMP
000002ae: JUMPDEST
000002af: PUSH2 0x07fb
000002b2: JUMP
000002b3: JUMPDEST
000002b4: STOP
000002b5: JUMPDEST
000002b6: CALLVALUE
000002b7: DUP1
000002b8: ISZERO
000002b9: PUSH2 0x02c1
000002bc: JUMPI
000002bd: PUSH1 0x00
000002bf: DUP1
000002c0: REVERT
000002c1: JUMPDEST
000002c2: POP
000002c3: PUSH2 0x02b3
000002c6: PUSH2 0x0848
000002c9: JUMP
000002ca: JUMPDEST
000002cb: CALLVALUE
000002cc: DUP1
000002cd: ISZERO
000002ce: PUSH2 0x02d6
000002d1: JUMPI
000002d2: PUSH1 0x00
000002d4: DUP1
000002d5: REVERT
000002d6: JUMPDEST
000002d7: POP
000002d8: PUSH2 0x02fb
000002db: PUSH2 0x02e5
000002de: CALLDATASIZE
000002df: PUSH1 0x04
000002e1: PUSH2 0x1ea0
000002e4: JUMP
000002e5: JUMPDEST
000002e6: PUSH1 0x00
000002e8: SWAP1
000002e9: DUP2
000002ea: MSTORE
000002eb: PUSH1 0x01
000002ed: PUSH1 0x20
000002ef: DUP2
000002f0: SWAP1
000002f1: MSTORE
000002f2: PUSH1 0x40
000002f4: SWAP1
000002f5: SWAP2
000002f6: KECCAK256
000002f7: ADD
000002f8: SLOAD
000002f9: SWAP1
000002fa: JUMP
000002fb: JUMPDEST
000002fc: PUSH1 0x40
000002fe: MLOAD
000002ff: SWAP1
00000300: DUP2
00000301: MSTORE
00000302: PUSH1 0x20
00000304: ADD
00000305: PUSH2 0x0261
00000308: JUMP
00000309: JUMPDEST
0000030a: CALLVALUE
0000030b: DUP1
0000030c: ISZERO
0000030d: PUSH2 0x0315
00000310: JUMPI
00000311: PUSH1 0x00
00000313: DUP1
00000314: REVERT
00000315: JUMPDEST
00000316: POP
00000317: PUSH2 0x02b3
0000031a: PUSH2 0x0324
0000031d: CALLDATASIZE
0000031e: PUSH1 0x04
00000320: PUSH2 0x1ece
00000323: JUMP
00000324: JUMPDEST
00000325: PUSH2 0x085e
00000328: JUMP
00000329: JUMPDEST
0000032a: CALLVALUE
0000032b: DUP1
0000032c: ISZERO
0000032d: PUSH2 0x0335
00000330: JUMPI
00000331: PUSH1 0x00
00000333: DUP1
00000334: REVERT
00000335: JUMPDEST
00000336: POP
00000337: PUSH2 0x02b3
0000033a: PUSH2 0x0344
0000033d: CALLDATASIZE
0000033e: PUSH1 0x04
00000340: PUSH2 0x1ece
00000343: JUMP
00000344: JUMPDEST
00000345: PUSH2 0x088a
00000348: JUMP
00000349: JUMPDEST
0000034a: CALLVALUE
0000034b: DUP1
0000034c: ISZERO
0000034d: PUSH2 0x0355
00000350: JUMPI
00000351: PUSH1 0x00
00000353: DUP1
00000354: REVERT
00000355: JUMPDEST
00000356: POP
00000357: PUSH2 0x037d
0000035a: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000004
0000037b: DUP2
0000037c: JUMP
0000037d: JUMPDEST
0000037e: PUSH1 0x40
00000380: MLOAD
00000381: PUSH1 0xff
00000383: SWAP1
00000384: SWAP2
00000385: AND
00000386: DUP2
00000387: MSTORE
00000388: PUSH1 0x20
0000038a: ADD
0000038b: PUSH2 0x0261
0000038e: JUMP
0000038f: JUMPDEST
00000390: CALLVALUE
00000391: DUP1
00000392: ISZERO
00000393: PUSH2 0x039b
00000396: JUMPI
00000397: PUSH1 0x00
00000399: DUP1
0000039a: REVERT
0000039b: JUMPDEST
0000039c: POP
0000039d: PUSH2 0x02b3
000003a0: PUSH2 0x03aa
000003a3: CALLDATASIZE
000003a4: PUSH1 0x04
000003a6: PUSH2 0x1f10
000003a9: JUMP
000003aa: JUMPDEST
000003ab: PUSH2 0x0936
000003ae: JUMP
000003af: JUMPDEST
000003b0: CALLVALUE
000003b1: DUP1
000003b2: ISZERO
000003b3: PUSH2 0x03bb
000003b6: JUMPI
000003b7: PUSH1 0x00
000003b9: DUP1
000003ba: REVERT
000003bb: JUMPDEST
000003bc: POP
000003bd: PUSH2 0x02b3
000003c0: PUSH2 0x03ca
000003c3: CALLDATASIZE
000003c4: PUSH1 0x04
000003c6: PUSH2 0x2098
000003c9: JUMP
000003ca: JUMPDEST
000003cb: PUSH2 0x0996
000003ce: JUMP
000003cf: JUMPDEST
000003d0: PUSH2 0x02b3
000003d3: PUSH2 0x03dd
000003d6: CALLDATASIZE
000003d7: PUSH1 0x04
000003d9: PUSH2 0x218c
000003dc: JUMP
000003dd: JUMPDEST
000003de: PUSH2 0x09fe
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH2 0x02b3
000003e6: PUSH2 0x03f0
000003e9: CALLDATASIZE
000003ea: PUSH1 0x04
000003ec: PUSH2 0x21c7
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH2 0x0a85
000003f4: JUMP
000003f5: JUMPDEST
000003f6: CALLVALUE
000003f7: DUP1
000003f8: ISZERO
000003f9: PUSH2 0x0401
000003fc: JUMPI
000003fd: PUSH1 0x00
000003ff: DUP1
00000400: REVERT
00000401: JUMPDEST
00000402: POP
00000403: PUSH2 0x02b3
00000406: PUSH2 0x0410
00000409: CALLDATASIZE
0000040a: PUSH1 0x04
0000040c: PUSH2 0x222a
0000040f: JUMP
00000410: JUMPDEST
00000411: PUSH2 0x0b1c
00000414: JUMP
00000415: JUMPDEST
00000416: CALLVALUE
00000417: DUP1
00000418: ISZERO
00000419: PUSH2 0x0421
0000041c: JUMPI
0000041d: PUSH1 0x00
0000041f: DUP1
00000420: REVERT
00000421: JUMPDEST
00000422: POP
00000423: PUSH2 0x02b3
00000426: PUSH2 0x0430
00000429: CALLDATASIZE
0000042a: PUSH1 0x04
0000042c: PUSH2 0x2247
0000042f: JUMP
00000430: JUMPDEST
00000431: PUSH2 0x0b30
00000434: JUMP
00000435: JUMPDEST
00000436: CALLVALUE
00000437: DUP1
00000438: ISZERO
00000439: PUSH2 0x0441
0000043c: JUMPI
0000043d: PUSH1 0x00
0000043f: DUP1
00000440: REVERT
00000441: JUMPDEST
00000442: POP
00000443: PUSH1 0x05
00000445: SLOAD
00000446: PUSH2 0x02fb
00000449: JUMP
0000044a: JUMPDEST
0000044b: CALLVALUE
0000044c: DUP1
0000044d: ISZERO
0000044e: PUSH2 0x0456
00000451: JUMPI
00000452: PUSH1 0x00
00000454: DUP1
00000455: REVERT
00000456: JUMPDEST
00000457: POP
00000458: PUSH1 0x03
0000045a: SLOAD
0000045b: PUSH1 0x01
0000045d: PUSH1 0x01
0000045f: PUSH1 0xa0
00000461: SHL
00000462: SUB
00000463: AND
00000464: JUMPDEST
00000465: PUSH1 0x40
00000467: MLOAD
00000468: PUSH1 0x01
0000046a: PUSH1 0x01
0000046c: PUSH1 0xa0
0000046e: SHL
0000046f: SUB
00000470: SWAP1
00000471: SWAP2
00000472: AND
00000473: DUP2
00000474: MSTORE
00000475: PUSH1 0x20
00000477: ADD
00000478: PUSH2 0x0261
0000047b: JUMP
0000047c: JUMPDEST
0000047d: CALLVALUE
0000047e: DUP1
0000047f: ISZERO
00000480: PUSH2 0x0488
00000483: JUMPI
00000484: PUSH1 0x00
00000486: DUP1
00000487: REVERT
00000488: JUMPDEST
00000489: POP
0000048a: PUSH2 0x0464
0000048d: PUSH2 0x0b44
00000490: JUMP
00000491: JUMPDEST
00000492: CALLVALUE
00000493: DUP1
00000494: ISZERO
00000495: PUSH2 0x049d
00000498: JUMPI
00000499: PUSH1 0x00
0000049b: DUP1
0000049c: REVERT
0000049d: JUMPDEST
0000049e: POP
0000049f: PUSH1 0x09
000004a1: SLOAD
000004a2: PUSH2 0x04ae
000004a5: SWAP1
000004a6: PUSH4 0xffffffff
000004ab: AND
000004ac: DUP2
000004ad: JUMP
000004ae: JUMPDEST
000004af: PUSH1 0x40
000004b1: MLOAD
000004b2: PUSH4 0xffffffff
000004b7: SWAP1
000004b8: SWAP2
000004b9: AND
000004ba: DUP2
000004bb: MSTORE
000004bc: PUSH1 0x20
000004be: ADD
000004bf: PUSH2 0x0261
000004c2: JUMP
000004c3: JUMPDEST
000004c4: CALLVALUE
000004c5: DUP1
000004c6: ISZERO
000004c7: PUSH2 0x04cf
000004ca: JUMPI
000004cb: PUSH1 0x00
000004cd: DUP1
000004ce: REVERT
000004cf: JUMPDEST
000004d0: POP
000004d1: PUSH2 0x0255
000004d4: PUSH2 0x04de
000004d7: CALLDATASIZE
000004d8: PUSH1 0x04
000004da: PUSH2 0x1ece
000004dd: JUMP
000004de: JUMPDEST
000004df: PUSH2 0x0b5d
000004e2: JUMP
000004e3: JUMPDEST
000004e4: CALLVALUE
000004e5: DUP1
000004e6: ISZERO
000004e7: PUSH2 0x04ef
000004ea: JUMPI
000004eb: PUSH1 0x00
000004ed: DUP1
000004ee: REVERT
000004ef: JUMPDEST
000004f0: POP
000004f1: PUSH2 0x02b3
000004f4: PUSH2 0x04fe
000004f7: CALLDATASIZE
000004f8: PUSH1 0x04
000004fa: PUSH2 0x226f
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH2 0x0b88
00000502: JUMP
00000503: JUMPDEST
00000504: CALLVALUE
00000505: DUP1
00000506: ISZERO
00000507: PUSH2 0x050f
0000050a: JUMPI
0000050b: PUSH1 0x00
0000050d: DUP1
0000050e: REVERT
0000050f: JUMPDEST
00000510: POP
00000511: PUSH2 0x02b3
00000514: PUSH2 0x051e
00000517: CALLDATASIZE
00000518: PUSH1 0x04
0000051a: PUSH2 0x22c0
0000051d: JUMP
0000051e: JUMPDEST
0000051f: PUSH2 0x0bee
00000522: JUMP
00000523: JUMPDEST
00000524: CALLVALUE
00000525: DUP1
00000526: ISZERO
00000527: PUSH2 0x052f
0000052a: JUMPI
0000052b: PUSH1 0x00
0000052d: DUP1
0000052e: REVERT
0000052f: JUMPDEST
00000530: POP
00000531: PUSH2 0x02fb
00000534: PUSH1 0x0a
00000536: SLOAD
00000537: DUP2
00000538: JUMP
00000539: JUMPDEST
0000053a: CALLVALUE
0000053b: DUP1
0000053c: ISZERO
0000053d: PUSH2 0x0545
00000540: JUMPI
00000541: PUSH1 0x00
00000543: DUP1
00000544: REVERT
00000545: JUMPDEST
00000546: POP
00000547: PUSH2 0x02b3
0000054a: PUSH2 0x0554
0000054d: CALLDATASIZE
0000054e: PUSH1 0x04
00000550: PUSH2 0x2098
00000553: JUMP
00000554: JUMPDEST
00000555: PUSH2 0x0c21
00000558: JUMP
00000559: JUMPDEST
0000055a: CALLVALUE
0000055b: DUP1
0000055c: ISZERO
0000055d: PUSH2 0x0565
00000560: JUMPI
00000561: PUSH1 0x00
00000563: DUP1
00000564: REVERT
00000565: JUMPDEST
00000566: POP
00000567: PUSH2 0x056e
0000056a: PUSH2 0x0c7f
0000056d: JUMP
0000056e: JUMPDEST
0000056f: PUSH1 0x40
00000571: DUP1
00000572: MLOAD
00000573: PUSH6 0xffffffffffff
0000057a: SWAP4
0000057b: DUP5
0000057c: AND
0000057d: DUP2
0000057e: MSTORE
0000057f: SWAP3
00000580: SWAP1
00000581: SWAP2
00000582: AND
00000583: PUSH1 0x20
00000585: DUP4
00000586: ADD
00000587: MSTORE
00000588: ADD
00000589: PUSH2 0x0261
0000058c: JUMP
0000058d: JUMPDEST
0000058e: CALLVALUE
0000058f: DUP1
00000590: ISZERO
00000591: PUSH2 0x0599
00000594: JUMPI
00000595: PUSH1 0x00
00000597: DUP1
00000598: REVERT
00000599: JUMPDEST
0000059a: POP
0000059b: PUSH2 0x02fb
0000059e: PUSH1 0x00
000005a0: DUP2
000005a1: JUMP
000005a2: JUMPDEST
000005a3: CALLVALUE
000005a4: DUP1
000005a5: ISZERO
000005a6: PUSH2 0x05ae
000005a9: JUMPI
000005aa: PUSH1 0x00
000005ac: DUP1
000005ad: REVERT
000005ae: JUMPDEST
000005af: POP
000005b0: PUSH2 0x02fb
000005b3: PUSH32 0xf0f8fae4cf88160007cbffce1ffbb737eea78bb0f5198834c56f2e3b404de31a
000005d4: DUP2
000005d5: JUMP
000005d6: JUMPDEST
000005d7: CALLVALUE
000005d8: DUP1
000005d9: ISZERO
000005da: PUSH2 0x05e2
000005dd: JUMPI
000005de: PUSH1 0x00
000005e0: DUP1
000005e1: REVERT
000005e2: JUMPDEST
000005e3: POP
000005e4: PUSH2 0x02fb
000005e7: PUSH32 0x753b23703c06adb9d8399e218f031f2828313df2cc1f7723454bc6a09595c660
00000608: DUP2
00000609: JUMP
0000060a: JUMPDEST
0000060b: PUSH2 0x02b3
0000060e: PUSH2 0x0618
00000611: CALLDATASIZE
00000612: PUSH1 0x04
00000614: PUSH2 0x2328
00000617: JUMP
00000618: JUMPDEST
00000619: PUSH2 0x0cd3
0000061c: JUMP
0000061d: JUMPDEST
0000061e: CALLVALUE
0000061f: DUP1
00000620: ISZERO
00000621: PUSH2 0x0629
00000624: JUMPI
00000625: PUSH1 0x00
00000627: DUP1
00000628: REVERT
00000629: JUMPDEST
0000062a: POP
0000062b: PUSH1 0x06
0000062d: SLOAD
0000062e: PUSH1 0x01
00000630: PUSH1 0x01
00000632: PUSH1 0xa0
00000634: SHL
00000635: SUB
00000636: AND
00000637: PUSH2 0x0464
0000063a: JUMP
0000063b: JUMPDEST
0000063c: CALLVALUE
0000063d: DUP1
0000063e: ISZERO
0000063f: PUSH2 0x0647
00000642: JUMPI
00000643: PUSH1 0x00
00000645: DUP1
00000646: REVERT
00000647: JUMPDEST
00000648: POP
00000649: PUSH2 0x02b3
0000064c: PUSH2 0x0656
0000064f: CALLDATASIZE
00000650: PUSH1 0x04
00000652: PUSH2 0x222a
00000655: JUMP
00000656: JUMPDEST
00000657: PUSH2 0x0d4e
0000065a: JUMP
0000065b: JUMPDEST
0000065c: CALLVALUE
0000065d: DUP1
0000065e: ISZERO
0000065f: PUSH2 0x0667
00000662: JUMPI
00000663: PUSH1 0x00
00000665: DUP1
00000666: REVERT
00000667: JUMPDEST
00000668: POP
00000669: PUSH1 0x04
0000066b: SLOAD
0000066c: PUSH1 0x40
0000066e: MLOAD
0000066f: PUSH2 0xffff
00000672: SWAP1
00000673: SWAP2
00000674: AND
00000675: DUP2
00000676: MSTORE
00000677: PUSH1 0x20
00000679: ADD
0000067a: PUSH2 0x0261
0000067d: JUMP
0000067e: JUMPDEST
0000067f: CALLVALUE
00000680: DUP1
00000681: ISZERO
00000682: PUSH2 0x068a
00000685: JUMPI
00000686: PUSH1 0x00
00000688: DUP1
00000689: REVERT
0000068a: JUMPDEST
0000068b: POP
0000068c: PUSH2 0x027c
0000068f: PUSH2 0x0d97
00000692: JUMP
00000693: JUMPDEST
00000694: CALLVALUE
00000695: DUP1
00000696: ISZERO
00000697: PUSH2 0x069f
0000069a: JUMPI
0000069b: PUSH1 0x00
0000069d: DUP1
0000069e: REVERT
0000069f: JUMPDEST
000006a0: POP
000006a1: PUSH2 0x02b3
000006a4: PUSH2 0x0df6
000006a7: JUMP
000006a8: JUMPDEST
000006a9: CALLVALUE
000006aa: DUP1
000006ab: ISZERO
000006ac: PUSH2 0x06b4
000006af: JUMPI
000006b0: PUSH1 0x00
000006b2: DUP1
000006b3: REVERT
000006b4: JUMPDEST
000006b5: POP
000006b6: PUSH2 0x06bd
000006b9: PUSH2 0x0e36
000006bc: JUMP
000006bd: JUMPDEST
000006be: PUSH1 0x40
000006c0: DUP1
000006c1: MLOAD
000006c2: PUSH1 0x01
000006c4: PUSH1 0x01
000006c6: PUSH1 0xa0
000006c8: SHL
000006c9: SUB
000006ca: SWAP1
000006cb: SWAP4
000006cc: AND
000006cd: DUP4
000006ce: MSTORE
000006cf: PUSH6 0xffffffffffff
000006d6: SWAP1
000006d7: SWAP2
000006d8: AND
000006d9: PUSH1 0x20
000006db: DUP4
000006dc: ADD
000006dd: MSTORE
000006de: ADD
000006df: PUSH2 0x0261
000006e2: JUMP
000006e3: JUMPDEST
000006e4: CALLVALUE
000006e5: DUP1
000006e6: ISZERO
000006e7: PUSH2 0x06ef
000006ea: JUMPI
000006eb: PUSH1 0x00
000006ed: DUP1
000006ee: REVERT
000006ef: JUMPDEST
000006f0: POP
000006f1: PUSH1 0x07
000006f3: SLOAD
000006f4: PUSH1 0x08
000006f6: SLOAD
000006f7: PUSH2 0x0711
000006fa: SWAP2
000006fb: PUSH4 0xffffffff
00000700: DUP1
00000701: DUP3
00000702: AND
00000703: SWAP3
00000704: PUSH5 0x0100000000
0000070a: SWAP1
0000070b: SWAP3
0000070c: DIV
0000070d: AND
0000070e: SWAP1
0000070f: DUP4
00000710: JUMP
00000711: JUMPDEST
00000712: PUSH1 0x40
00000714: DUP1
00000715: MLOAD
00000716: PUSH4 0xffffffff
0000071b: SWAP5
0000071c: DUP6
0000071d: AND
0000071e: DUP2
0000071f: MSTORE
00000720: SWAP4
00000721: SWAP1
00000722: SWAP3
00000723: AND
00000724: PUSH1 0x20
00000726: DUP5
00000727: ADD
00000728: MSTORE
00000729: SWAP1
0000072a: DUP3
0000072b: ADD
0000072c: MSTORE
0000072d: PUSH1 0x60
0000072f: ADD
00000730: PUSH2 0x0261
00000733: JUMP
00000734: JUMPDEST
00000735: CALLVALUE
00000736: DUP1
00000737: ISZERO
00000738: PUSH2 0x0740
0000073b: JUMPI
0000073c: PUSH1 0x00
0000073e: DUP1
0000073f: REVERT
00000740: JUMPDEST
00000741: POP
00000742: PUSH2 0x02b3
00000745: PUSH2 0x074f
00000748: CALLDATASIZE
00000749: PUSH1 0x04
0000074b: PUSH2 0x1ece
0000074e: JUMP
0000074f: JUMPDEST
00000750: PUSH2 0x0e57
00000753: JUMP
00000754: JUMPDEST
00000755: CALLVALUE
00000756: DUP1
00000757: ISZERO
00000758: PUSH2 0x0760
0000075b: JUMPI
0000075c: PUSH1 0x00
0000075e: DUP1
0000075f: REVERT
00000760: JUMPDEST
00000761: POP
00000762: PUSH2 0x02b3
00000765: PUSH2 0x0e7f
00000768: JUMP
00000769: JUMPDEST
0000076a: CALLVALUE
0000076b: DUP1
0000076c: ISZERO
0000076d: PUSH2 0x0775
00000770: JUMPI
00000771: PUSH1 0x00
00000773: DUP1
00000774: REVERT
00000775: JUMPDEST
00000776: POP
00000777: PUSH32 0x000000000000000000000000fc828c500c90e63134b2b73537cc6cadff4ce695
00000798: PUSH2 0x0464
0000079b: JUMP
0000079c: JUMPDEST
0000079d: CALLVALUE
0000079e: DUP1
0000079f: ISZERO
000007a0: PUSH2 0x07a8
000007a3: JUMPI
000007a4: PUSH1 0x00
000007a6: DUP1
000007a7: REVERT
000007a8: JUMPDEST
000007a9: POP
000007aa: PUSH2 0x02fb
000007ad: PUSH32 0xc332c0f7e820704a45905d4f9f497561d1248970a3bc6b164b71dbf004562414
000007ce: DUP2
000007cf: JUMP
000007d0: JUMPDEST
000007d1: PUSH1 0x00
000007d3: PUSH1 0x01
000007d5: PUSH1 0x01
000007d7: PUSH1 0xe0
000007d9: SHL
000007da: SUB
000007db: NOT
000007dc: DUP3
000007dd: AND
000007de: PUSH4 0x18a4c3c3
000007e3: PUSH1 0xe1
000007e5: SHL
000007e6: EQ
000007e7: DUP1
000007e8: PUSH2 0x07f5
000007eb: JUMPI
000007ec: POP
000007ed: PUSH2 0x07f5
000007f0: DUP3
000007f1: PUSH2 0x0e92
000007f4: JUMP
000007f5: JUMPDEST
000007f6: SWAP3
000007f7: SWAP2
000007f8: POP
000007f9: POP
000007fa: JUMP
000007fb: JUMPDEST
000007fc: PUSH32 0xf0f8fae4cf88160007cbffce1ffbb737eea78bb0f5198834c56f2e3b404de31a
0000081d: PUSH2 0x0825
00000820: DUP2
00000821: PUSH2 0x0ec7
00000824: JUMP
00000825: JUMPDEST
00000826: PUSH2 0x082d
00000829: PUSH2 0x0ed1
0000082c: JUMP
0000082d: JUMPDEST
0000082e: DUP2
0000082f: PUSH1 0x0a
00000831: PUSH1 0x00
00000833: DUP3
00000834: DUP3
00000835: SLOAD
00000836: PUSH2 0x083f
00000839: SWAP2
0000083a: SWAP1
0000083b: PUSH2 0x2383
0000083e: JUMP
0000083f: JUMPDEST
00000840: SWAP1
00000841: SWAP2
00000842: SSTORE
00000843: POP
00000844: POP
00000845: POP
00000846: POP
00000847: JUMP
00000848: JUMPDEST
00000849: PUSH1 0x00
0000084b: PUSH2 0x0853
0000084e: DUP2
0000084f: PUSH2 0x0ec7
00000852: JUMP
00000853: JUMPDEST
00000854: PUSH2 0x085b
00000857: PUSH2 0x0f84
0000085a: JUMP
0000085b: JUMPDEST
0000085c: POP
0000085d: JUMP
0000085e: JUMPDEST
0000085f: DUP2
00000860: PUSH2 0x087c
00000863: JUMPI
00000864: PUSH1 0x40
00000866: MLOAD
00000867: PUSH4 0x1fe1e13d
0000086c: PUSH1 0xe1
0000086e: SHL
0000086f: DUP2
00000870: MSTORE
00000871: PUSH1 0x04
00000873: ADD
00000874: PUSH1 0x40
00000876: MLOAD
00000877: DUP1
00000878: SWAP2
00000879: SUB
0000087a: SWAP1
0000087b: REVERT
0000087c: JUMPDEST
0000087d: PUSH2 0x0886
00000880: DUP3
00000881: DUP3
00000882: PUSH2 0x0f91
00000885: JUMP
00000886: JUMPDEST
00000887: POP
00000888: POP
00000889: JUMP
0000088a: JUMPDEST
0000088b: DUP2
0000088c: ISZERO
0000088d: DUP1
0000088e: ISZERO
0000088f: PUSH2 0x08a5
00000892: JUMPI
00000893: POP
00000894: PUSH1 0x03
00000896: SLOAD
00000897: PUSH1 0x01
00000899: PUSH1 0x01
0000089b: PUSH1 0xa0
0000089d: SHL
0000089e: SUB
0000089f: DUP3
000008a0: DUP2
000008a1: AND
000008a2: SWAP2
000008a3: AND
000008a4: EQ
000008a5: JUMPDEST
000008a6: ISZERO
000008a7: PUSH2 0x092c
000008aa: JUMPI
000008ab: PUSH1 0x00
000008ad: DUP1
000008ae: PUSH2 0x08b5
000008b1: PUSH2 0x0e36
000008b4: JUMP
000008b5: JUMPDEST
000008b6: SWAP1
000008b7: SWAP3
000008b8: POP
000008b9: SWAP1
000008ba: POP
000008bb: PUSH1 0x01
000008bd: PUSH1 0x01
000008bf: PUSH1 0xa0
000008c1: SHL
000008c2: SUB
000008c3: DUP3
000008c4: AND
000008c5: ISZERO
000008c6: ISZERO
000008c7: DUP1
000008c8: PUSH2 0x08d7
000008cb: JUMPI
000008cc: POP
000008cd: PUSH6 0xffffffffffff
000008d4: DUP2
000008d5: AND
000008d6: ISZERO
000008d7: JUMPDEST
000008d8: DUP1
000008d9: PUSH2 0x08ea
000008dc: JUMPI
000008dd: POP
000008de: TIMESTAMP
000008df: PUSH6 0xffffffffffff
000008e6: DUP3
000008e7: AND
000008e8: LT
000008e9: ISZERO
000008ea: JUMPDEST
000008eb: ISZERO
000008ec: PUSH2 0x0917
000008ef: JUMPI
000008f0: PUSH1 0x40
000008f2: MLOAD
000008f3: PUSH4 0x19ca5ebb
000008f8: PUSH1 0xe0
000008fa: SHL
000008fb: DUP2
000008fc: MSTORE
000008fd: PUSH6 0xffffffffffff
00000904: DUP3
00000905: AND
00000906: PUSH1 0x04
00000908: DUP3
00000909: ADD
0000090a: MSTORE
0000090b: PUSH1 0x24
0000090d: ADD
0000090e: JUMPDEST
0000090f: PUSH1 0x40
00000911: MLOAD
00000912: DUP1
00000913: SWAP2
00000914: SUB
00000915: SWAP1
00000916: REVERT
00000917: JUMPDEST
00000918: POP
00000919: POP
0000091a: PUSH1 0x02
0000091c: DUP1
0000091d: SLOAD
0000091e: PUSH6 0xffffffffffff
00000925: PUSH1 0xa0
00000927: SHL
00000928: NOT
00000929: AND
0000092a: SWAP1
0000092b: SSTORE
0000092c: JUMPDEST
0000092d: PUSH2 0x0886
00000930: DUP3
00000931: DUP3
00000932: PUSH2 0x0fb7
00000935: JUMP
00000936: JUMPDEST
00000937: PUSH32 0xc332c0f7e820704a45905d4f9f497561d1248970a3bc6b164b71dbf004562414
00000958: PUSH2 0x0960
0000095b: DUP2
0000095c: PUSH2 0x0ec7
0000095f: JUMP
00000960: JUMPDEST
00000961: POP
00000962: PUSH1 0x40
00000964: DUP1
00000965: MLOAD
00000966: DUP1
00000967: DUP3
00000968: ADD
00000969: SWAP1
0000096a: SWAP2
0000096b: MSTORE
0000096c: PUSH2 0xffff
0000096f: SWAP3
00000970: SWAP1
00000971: SWAP3
00000972: AND
00000973: DUP1
00000974: DUP4
00000975: MSTORE
00000976: PUSH1 0x20
00000978: SWAP1
00000979: SWAP3
0000097a: ADD
0000097b: DUP2
0000097c: SWAP1
0000097d: MSTORE
0000097e: PUSH1 0x04
00000980: DUP1
00000981: SLOAD
00000982: PUSH2 0xffff
00000985: NOT
00000986: AND
00000987: SWAP1
00000988: SWAP3
00000989: OR
0000098a: SWAP1
0000098b: SWAP2
0000098c: SSTORE
0000098d: PUSH1 0x05
0000098f: SSTORE
00000990: JUMP
00000991: JUMPDEST
00000992: POP
00000993: POP
00000994: POP
00000995: JUMP
00000996: JUMPDEST
00000997: CALLER
00000998: PUSH1 0x01
0000099a: PUSH1 0x01
0000099c: PUSH1 0xa0
0000099e: SHL
0000099f: SUB
000009a0: PUSH32 0x000000000000000000000000fc828c500c90e63134b2b73537cc6cadff4ce695
000009c1: AND
000009c2: EQ
000009c3: PUSH2 0x09e1
000009c6: JUMPI
000009c7: PUSH1 0x40
000009c9: MLOAD
000009ca: PUSH4 0xa1887049
000009cf: PUSH1 0xe0
000009d1: SHL
000009d2: DUP2
000009d3: MSTORE
000009d4: CALLER
000009d5: PUSH1 0x04
000009d7: DUP3
000009d8: ADD
000009d9: MSTORE
000009da: PUSH1 0x24
000009dc: ADD
000009dd: PUSH2 0x090e
000009e0: JUMP
000009e1: JUMPDEST
000009e2: PUSH2 0x09e9
000009e5: PUSH2 0x0fea
000009e8: JUMP
000009e9: JUMPDEST
000009ea: PUSH2 0x09f4
000009ed: DUP4
000009ee: DUP4
000009ef: DUP4
000009f0: PUSH2 0x1014
000009f3: JUMP
000009f4: JUMPDEST
000009f5: PUSH2 0x0991
000009f8: PUSH1 0x01
000009fa: PUSH1 0x00
000009fc: SSTORE
000009fd: JUMP
000009fe: JUMPDEST
000009ff: PUSH2 0x0a06
00000a02: PUSH2 0x0fea
00000a05: JUMP
00000a06: JUMPDEST
00000a07: PUSH2 0x0a75
00000a0a: DUP5
00000a0b: PUSH1 0x09
00000a0d: DUP6
00000a0e: DUP5
00000a0f: DUP7
00000a10: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000004
00000a31: DUP8
00000a32: PUSH1 0x40
00000a34: MLOAD
00000a35: PUSH1 0x20
00000a37: ADD
00000a38: PUSH2 0x0a61
00000a3b: SWAP4
00000a3c: SWAP3
00000a3d: SWAP2
00000a3e: SWAP1
00000a3f: SWAP3
00000a40: DUP4
00000a41: MSTORE
00000a42: PUSH1 0xf8
00000a44: SWAP2
00000a45: SWAP1
00000a46: SWAP2
00000a47: SHL
00000a48: PUSH1 0x01
00000a4a: PUSH1 0x01
00000a4c: PUSH1 0xf8
00000a4e: SHL
00000a4f: SUB
00000a50: NOT
00000a51: AND
00000a52: PUSH1 0x20
00000a54: DUP4
00000a55: ADD
00000a56: MSTORE
00000a57: PUSH1 0x21
00000a59: DUP3
00000a5a: ADD
00000a5b: MSTORE
00000a5c: PUSH1 0x41
00000a5e: ADD
00000a5f: SWAP1
00000a60: JUMP
00000a61: JUMPDEST
00000a62: PUSH1 0x40
00000a64: MLOAD
00000a65: PUSH1 0x20
00000a67: DUP2
00000a68: DUP4
00000a69: SUB
00000a6a: SUB
00000a6b: DUP2
00000a6c: MSTORE
00000a6d: SWAP1
00000a6e: PUSH1 0x40
00000a70: MSTORE
00000a71: PUSH2 0x1033
00000a74: JUMP
00000a75: JUMPDEST
00000a76: PUSH2 0x0a7f
00000a79: PUSH1 0x01
00000a7b: PUSH1 0x00
00000a7d: SSTORE
00000a7e: JUMP
00000a7f: JUMPDEST
00000a80: POP
00000a81: POP
00000a82: POP
00000a83: POP
00000a84: JUMP
00000a85: JUMPDEST
00000a86: PUSH2 0x0a8d
00000a89: PUSH2 0x0fea
00000a8c: JUMP
00000a8d: JUMPDEST
00000a8e: PUSH1 0x40
00000a90: MLOAD
00000a91: PUSH1 0x01
00000a93: PUSH1 0x01
00000a95: PUSH1 0xe0
00000a97: SHL
00000a98: SUB
00000a99: NOT
00000a9a: DUP6
00000a9b: AND
00000a9c: PUSH1 0x20
00000a9e: DUP3
00000a9f: ADD
00000aa0: MSTORE
00000aa1: PUSH1 0x01
00000aa3: PUSH1 0x01
00000aa5: PUSH1 0xf8
00000aa7: SHL
00000aa8: SUB
00000aa9: NOT
00000aaa: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000004
00000acb: PUSH1 0xf8
00000acd: SHL
00000ace: AND
00000acf: PUSH1 0x24
00000ad1: DUP3
00000ad2: ADD
00000ad3: MSTORE
00000ad4: PUSH1 0x25
00000ad6: DUP2
00000ad7: ADD
00000ad8: DUP5
00000ad9: SWAP1
00000ada: MSTORE
00000adb: PUSH1 0x01
00000add: PUSH1 0x01
00000adf: PUSH1 0xf0
00000ae1: SHL
00000ae2: SUB
00000ae3: NOT
00000ae4: PUSH1 0xf0
00000ae6: DUP5
00000ae7: SWAP1
00000ae8: SHL
00000ae9: AND
00000aea: PUSH1 0x45
00000aec: DUP3
00000aed: ADD
00000aee: MSTORE
00000aef: PUSH1 0x47
00000af1: DUP2
00000af2: ADD
00000af3: DUP3
00000af4: SWAP1
00000af5: MSTORE
00000af6: PUSH2 0x0b0a
00000af9: SWAP1
00000afa: DUP8
00000afb: SWAP1
00000afc: PUSH1 0x08
00000afe: SWAP1
00000aff: DUP9
00000b00: SWAP1
00000b01: DUP8
00000b02: SWAP1
00000b03: PUSH1 0x67
00000b05: ADD
00000b06: PUSH2 0x0a61
00000b09: JUMP
00000b0a: JUMPDEST
00000b0b: PUSH2 0x0b14
00000b0e: PUSH1 0x01
00000b10: PUSH1 0x00
00000b12: SSTORE
00000b13: JUMP
00000b14: JUMPDEST
00000b15: POP
00000b16: POP
00000b17: POP
00000b18: POP
00000b19: POP
00000b1a: POP
00000b1b: JUMP
00000b1c: JUMPDEST
00000b1d: PUSH1 0x00
00000b1f: PUSH2 0x0b27
00000b22: DUP2
00000b23: PUSH2 0x0ec7
00000b26: JUMP
00000b27: JUMPDEST
00000b28: PUSH2 0x0886
00000b2b: DUP3
00000b2c: PUSH2 0x11c9
00000b2f: JUMP
00000b30: JUMPDEST
00000b31: PUSH1 0x00
00000b33: PUSH2 0x0b3b
00000b36: DUP2
00000b37: PUSH2 0x0ec7
00000b3a: JUMP
00000b3b: JUMPDEST
00000b3c: PUSH2 0x0886
00000b3f: DUP3
00000b40: PUSH2 0x123c
00000b43: JUMP
00000b44: JUMPDEST
00000b45: PUSH1 0x00
00000b47: PUSH2 0x0b58
00000b4a: PUSH1 0x03
00000b4c: SLOAD
00000b4d: PUSH1 0x01
00000b4f: PUSH1 0x01
00000b51: PUSH1 0xa0
00000b53: SHL
00000b54: SUB
00000b55: AND
00000b56: SWAP1
00000b57: JUMP
00000b58: JUMPDEST
00000b59: SWAP1
00000b5a: POP
00000b5b: SWAP1
00000b5c: JUMP
00000b5d: JUMPDEST
00000b5e: PUSH1 0x00
00000b60: SWAP2
00000b61: DUP3
00000b62: MSTORE
00000b63: PUSH1 0x01
00000b65: PUSH1 0x20
00000b67: SWAP1
00000b68: DUP2
00000b69: MSTORE
00000b6a: PUSH1 0x40
00000b6c: DUP1
00000b6d: DUP5
00000b6e: KECCAK256
00000b6f: PUSH1 0x01
00000b71: PUSH1 0x01
00000b73: PUSH1 0xa0
00000b75: SHL
00000b76: SUB
00000b77: SWAP4
00000b78: SWAP1
00000b79: SWAP4
00000b7a: AND
00000b7b: DUP5
00000b7c: MSTORE
00000b7d: SWAP2
00000b7e: SWAP1
00000b7f: MSTORE
00000b80: SWAP1
00000b81: KECCAK256
00000b82: SLOAD
00000b83: PUSH1 0xff
00000b85: AND
00000b86: SWAP1
00000b87: JUMP
00000b88: JUMPDEST
00000b89: CALLER
00000b8a: PUSH1 0x01
00000b8c: PUSH1 0x01
00000b8e: PUSH1 0xa0
00000b90: SHL
00000b91: SUB
00000b92: PUSH32 0x000000000000000000000000fc828c500c90e63134b2b73537cc6cadff4ce695
00000bb3: AND
00000bb4: EQ
00000bb5: PUSH2 0x0bd3
00000bb8: JUMPI
00000bb9: PUSH1 0x40
00000bbb: MLOAD
00000bbc: PUSH4 0xa1887049
00000bc1: PUSH1 0xe0
00000bc3: SHL
00000bc4: DUP2
00000bc5: MSTORE
00000bc6: CALLER
00000bc7: PUSH1 0x04
00000bc9: DUP3
00000bca: ADD
00000bcb: MSTORE
00000bcc: PUSH1 0x24
00000bce: ADD
00000bcf: PUSH2 0x090e
00000bd2: JUMP
00000bd3: JUMPDEST
00000bd4: PUSH2 0x0bdb
00000bd7: PUSH2 0x0fea
00000bda: JUMP
00000bdb: JUMPDEST
00000bdc: PUSH2 0x0be4
00000bdf: DUP2
00000be0: PUSH2 0x12ac
00000be3: JUMP
00000be4: JUMPDEST
00000be5: PUSH2 0x085b
00000be8: PUSH1 0x01
00000bea: PUSH1 0x00
00000bec: SSTORE
00000bed: JUMP
00000bee: JUMPDEST
00000bef: PUSH32 0x753b23703c06adb9d8399e218f031f2828313df2cc1f7723454bc6a09595c660
00000c10: PUSH2 0x0c18
00000c13: DUP2
00000c14: PUSH2 0x0ec7
00000c17: JUMP
00000c18: JUMPDEST
00000c19: PUSH2 0x0886
00000c1c: DUP3
00000c1d: PUSH2 0x1398
00000c20: JUMP
00000c21: JUMPDEST
00000c22: CALLER
00000c23: PUSH1 0x01
00000c25: PUSH1 0x01
00000c27: PUSH1 0xa0
00000c29: SHL
00000c2a: SUB
00000c2b: PUSH32 0x000000000000000000000000fc828c500c90e63134b2b73537cc6cadff4ce695
00000c4c: AND
00000c4d: EQ
00000c4e: PUSH2 0x0c6c
00000c51: JUMPI
00000c52: PUSH1 0x40
00000c54: MLOAD
00000c55: PUSH4 0xa1887049
00000c5a: PUSH1 0xe0
00000c5c: SHL
00000c5d: DUP2
00000c5e: MSTORE
00000c5f: CALLER
00000c60: PUSH1 0x04
00000c62: DUP3
00000c63: ADD
00000c64: MSTORE
00000c65: PUSH1 0x24
00000c67: ADD
00000c68: PUSH2 0x090e
00000c6b: JUMP
00000c6c: JUMPDEST
00000c6d: PUSH2 0x0c74
00000c70: PUSH2 0x0fea
00000c73: JUMP
00000c74: JUMPDEST
00000c75: PUSH2 0x09f4
00000c78: DUP4
00000c79: DUP4
00000c7a: DUP4
00000c7b: PUSH2 0x1462
00000c7e: JUMP
00000c7f: JUMPDEST
00000c80: PUSH1 0x03
00000c82: SLOAD
00000c83: PUSH1 0x00
00000c85: SWAP1
00000c86: PUSH1 0x01
00000c88: PUSH1 0xd0
00000c8a: SHL
00000c8b: SWAP1
00000c8c: DIV
00000c8d: PUSH6 0xffffffffffff
00000c94: AND
00000c95: DUP1
00000c96: ISZERO
00000c97: ISZERO
00000c98: DUP1
00000c99: ISZERO
00000c9a: PUSH2 0x0cab
00000c9d: JUMPI
00000c9e: POP
00000c9f: TIMESTAMP
00000ca0: PUSH6 0xffffffffffff
00000ca7: DUP3
00000ca8: AND
00000ca9: LT
00000caa: ISZERO
00000cab: JUMPDEST
00000cac: PUSH2 0x0cb7
00000caf: JUMPI
00000cb0: PUSH1 0x00
00000cb2: DUP1
00000cb3: PUSH2 0x0ccb
00000cb6: JUMP
00000cb7: JUMPDEST
00000cb8: PUSH1 0x03
00000cba: SLOAD
00000cbb: PUSH1 0x01
00000cbd: PUSH1 0xa0
00000cbf: SHL
00000cc0: SWAP1
00000cc1: DIV
00000cc2: PUSH6 0xffffffffffff
00000cc9: AND
00000cca: DUP2
00000ccb: JUMPDEST
00000ccc: SWAP2
00000ccd: POP
00000cce: SWAP2
00000ccf: POP
00000cd0: SWAP1
00000cd1: SWAP2
00000cd2: JUMP
00000cd3: JUMPDEST
00000cd4: PUSH2 0x0cdb
00000cd7: PUSH2 0x0fea
00000cda: JUMP
00000cdb: JUMPDEST
00000cdc: PUSH2 0x0d3d
00000cdf: DUP6
00000ce0: PUSH1 0x0e
00000ce2: DUP7
00000ce3: DUP6
00000ce4: DUP8
00000ce5: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000004
00000d06: DUP9
00000d07: DUP9
00000d08: PUSH1 0x40
00000d0a: MLOAD
00000d0b: PUSH1 0x20
00000d0d: ADD
00000d0e: PUSH2 0x0a61
00000d11: SWAP5
00000d12: SWAP4
00000d13: SWAP3
00000d14: SWAP2
00000d15: SWAP1
00000d16: SWAP4
00000d17: DUP5
00000d18: MSTORE
00000d19: PUSH1 0xf8
00000d1b: SWAP3
00000d1c: SWAP1
00000d1d: SWAP3
00000d1e: SHL
00000d1f: PUSH1 0x01
00000d21: PUSH1 0x01
00000d23: PUSH1 0xf8
00000d25: SHL
00000d26: SUB
00000d27: NOT
00000d28: AND
00000d29: PUSH1 0x20
00000d2b: DUP5
00000d2c: ADD
00000d2d: MSTORE
00000d2e: PUSH1 0x21
00000d30: DUP4
00000d31: ADD
00000d32: MSTORE
00000d33: PUSH1 0x41
00000d35: DUP3
00000d36: ADD
00000d37: MSTORE
00000d38: PUSH1 0x61
00000d3a: ADD
00000d3b: SWAP1
00000d3c: JUMP
00000d3d: JUMPDEST
00000d3e: PUSH2 0x0d47
00000d41: PUSH1 0x01
00000d43: PUSH1 0x00
00000d45: SSTORE
00000d46: JUMP
00000d47: JUMPDEST
00000d48: POP
00000d49: POP
00000d4a: POP
00000d4b: POP
00000d4c: POP
00000d4d: JUMP
00000d4e: JUMPDEST
00000d4f: PUSH32 0xc332c0f7e820704a45905d4f9f497561d1248970a3bc6b164b71dbf004562414
00000d70: PUSH2 0x0d78
00000d73: DUP2
00000d74: PUSH2 0x0ec7
00000d77: JUMP
00000d78: JUMPDEST
00000d79: PUSH1 0x06
00000d7b: DUP1
00000d7c: SLOAD
00000d7d: PUSH1 0x01
00000d7f: PUSH1 0x01
00000d81: PUSH1 0xa0
00000d83: SHL
00000d84: SUB
00000d85: NOT
00000d86: AND
00000d87: PUSH1 0x01
00000d89: PUSH1 0x01
00000d8b: PUSH1 0xa0
00000d8d: SHL
00000d8e: SUB
00000d8f: DUP5
00000d90: AND
00000d91: OR
00000d92: SWAP1
00000d93: SSTORE
00000d94: POP
00000d95: POP
00000d96: JUMP
00000d97: JUMPDEST
00000d98: PUSH1 0x03
00000d9a: SLOAD
00000d9b: PUSH1 0x00
00000d9d: SWAP1
00000d9e: PUSH1 0x01
00000da0: PUSH1 0xd0
00000da2: SHL
00000da3: SWAP1
00000da4: DIV
00000da5: PUSH6 0xffffffffffff
00000dac: AND
00000dad: DUP1
00000dae: ISZERO
00000daf: ISZERO
00000db0: DUP1
00000db1: ISZERO
00000db2: PUSH2 0x0dc2
00000db5: JUMPI
00000db6: POP
00000db7: TIMESTAMP
00000db8: PUSH6 0xffffffffffff
00000dbf: DUP3
00000dc0: AND
00000dc1: LT
00000dc2: JUMPDEST
00000dc3: PUSH2 0x0ddd
00000dc6: JUMPI
00000dc7: PUSH1 0x02
00000dc9: SLOAD
00000dca: PUSH1 0x01
00000dcc: PUSH1 0xd0
00000dce: SHL
00000dcf: SWAP1
00000dd0: DIV
00000dd1: PUSH6 0xffffffffffff
00000dd8: AND
00000dd9: PUSH2 0x0df0
00000ddc: JUMP
00000ddd: JUMPDEST
00000dde: PUSH1 0x03
00000de0: SLOAD
00000de1: PUSH1 0x01
00000de3: PUSH1 0xa0
00000de5: SHL
00000de6: SWAP1
00000de7: DIV
00000de8: PUSH6 0xffffffffffff
00000def: AND
00000df0: JUMPDEST
00000df1: SWAP2
00000df2: POP
00000df3: POP
00000df4: SWAP1
00000df5: JUMP
00000df6: JUMPDEST
00000df7: PUSH1 0x00
00000df9: PUSH2 0x0e00
00000dfc: PUSH2 0x0e36
00000dff: JUMP
00000e00: JUMPDEST
00000e01: POP
00000e02: SWAP1
00000e03: POP
00000e04: CALLER
00000e05: PUSH1 0x01
00000e07: PUSH1 0x01
00000e09: PUSH1 0xa0
00000e0b: SHL
00000e0c: SUB
00000e0d: DUP3
00000e0e: AND
00000e0f: EQ
00000e10: PUSH2 0x0e2e
00000e13: JUMPI
00000e14: PUSH1 0x40
00000e16: MLOAD
00000e17: PUSH4 0x61164011
00000e1c: PUSH1 0xe1
00000e1e: SHL
00000e1f: DUP2
00000e20: MSTORE
00000e21: CALLER
00000e22: PUSH1 0x04
00000e24: DUP3
00000e25: ADD
00000e26: MSTORE
00000e27: PUSH1 0x24
00000e29: ADD
00000e2a: PUSH2 0x090e
00000e2d: JUMP
00000e2e: JUMPDEST
00000e2f: PUSH2 0x085b
00000e32: PUSH2 0x146b
00000e35: JUMP
00000e36: JUMPDEST
00000e37: PUSH1 0x02
00000e39: SLOAD
00000e3a: PUSH1 0x01
00000e3c: PUSH1 0x01
00000e3e: PUSH1 0xa0
00000e40: SHL
00000e41: SUB
00000e42: DUP2
00000e43: AND
00000e44: SWAP2
00000e45: PUSH1 0x01
00000e47: PUSH1 0xa0
00000e49: SHL
00000e4a: SWAP1
00000e4b: SWAP2
00000e4c: DIV
00000e4d: PUSH6 0xffffffffffff
00000e54: AND
00000e55: SWAP1
00000e56: JUMP
00000e57: JUMPDEST
00000e58: DUP2
00000e59: PUSH2 0x0e75
00000e5c: JUMPI
00000e5d: PUSH1 0x40
00000e5f: MLOAD
00000e60: PUSH4 0x1fe1e13d
00000e65: PUSH1 0xe1
00000e67: SHL
00000e68: DUP2
00000e69: MSTORE
00000e6a: PUSH1 0x04
00000e6c: ADD
00000e6d: PUSH1 0x40
00000e6f: MLOAD
00000e70: DUP1
00000e71: SWAP2
00000e72: SUB
00000e73: SWAP1
00000e74: REVERT
00000e75: JUMPDEST
00000e76: PUSH2 0x0886
00000e79: DUP3
00000e7a: DUP3
00000e7b: PUSH2 0x1504
00000e7e: JUMP
00000e7f: JUMPDEST
00000e80: PUSH1 0x00
00000e82: PUSH2 0x0e8a
00000e85: DUP2
00000e86: PUSH2 0x0ec7
00000e89: JUMP
00000e8a: JUMPDEST
00000e8b: PUSH2 0x085b
00000e8e: PUSH2 0x152a
00000e91: JUMP
00000e92: JUMPDEST
00000e93: PUSH1 0x00
00000e95: PUSH1 0x01
00000e97: PUSH1 0x01
00000e99: PUSH1 0xe0
00000e9b: SHL
00000e9c: SUB
00000e9d: NOT
00000e9e: DUP3
00000e9f: AND
00000ea0: PUSH4 0x7965db0b
00000ea5: PUSH1 0xe0
00000ea7: SHL
00000ea8: EQ
00000ea9: DUP1
00000eaa: PUSH2 0x07f5
00000ead: JUMPI
00000eae: POP
00000eaf: PUSH4 0x01ffc9a7
00000eb4: PUSH1 0xe0
00000eb6: SHL
00000eb7: PUSH1 0x01
00000eb9: PUSH1 0x01
00000ebb: PUSH1 0xe0
00000ebd: SHL
00000ebe: SUB
00000ebf: NOT
00000ec0: DUP4
00000ec1: AND
00000ec2: EQ
00000ec3: PUSH2 0x07f5
00000ec6: JUMP
00000ec7: JUMPDEST
00000ec8: PUSH2 0x085b
00000ecb: DUP2
00000ecc: CALLER
00000ecd: PUSH2 0x1535
00000ed0: JUMP
00000ed1: JUMPDEST
00000ed2: PUSH1 0x07
00000ed4: SLOAD
00000ed5: PUSH1 0x00
00000ed7: SWAP1
00000ed8: PUSH4 0xffffffff
00000edd: DUP1
00000ede: DUP3
00000edf: AND
00000ee0: SWAP2
00000ee1: PUSH2 0x0ef4
00000ee4: SWAP2
00000ee5: PUSH5 0x0100000000
00000eeb: SWAP1
00000eec: SWAP2
00000eed: DIV
00000eee: AND
00000eef: TIMESTAMP
00000ef0: PUSH2 0x2396
00000ef3: JUMP
00000ef4: JUMPDEST
00000ef5: PUSH2 0x0efe
00000ef8: SWAP2
00000ef9: SWAP1
00000efa: PUSH2 0x23d0
00000efd: JUMP
00000efe: JUMPDEST
00000eff: PUSH1 0x09
00000f01: SLOAD
00000f02: SWAP1
00000f03: SWAP2
00000f04: POP
00000f05: PUSH4 0xffffffff
00000f0a: DUP1
00000f0b: DUP4
00000f0c: AND
00000f0d: SWAP2
00000f0e: AND
00000f0f: EQ
00000f10: PUSH2 0x085b
00000f13: JUMPI
00000f14: PUSH1 0x09
00000f16: DUP1
00000f17: SLOAD
00000f18: PUSH4 0xffffffff
00000f1d: NOT
00000f1e: AND
00000f1f: PUSH4 0xffffffff
00000f24: DUP4
00000f25: AND
00000f26: OR
00000f27: SWAP1
00000f28: SSTORE
00000f29: PUSH2 0x0f3b
00000f2c: PUSH2 0x0f33
00000f2f: PUSH2 0x156e
00000f32: JUMP
00000f33: JUMPDEST
00000f34: PUSH1 0x08
00000f36: SLOAD
00000f37: PUSH2 0x157b
00000f3a: JUMP
00000f3b: JUMPDEST
00000f3c: PUSH1 0x0a
00000f3e: DUP2
00000f3f: SWAP1
00000f40: SSTORE
00000f41: PUSH1 0x40
00000f43: DUP1
00000f44: MLOAD
00000f45: PUSH4 0xffffffff
00000f4a: DUP5
00000f4b: AND
00000f4c: DUP2
00000f4d: MSTORE
00000f4e: PUSH1 0x20
00000f50: DUP2
00000f51: ADD
00000f52: SWAP3
00000f53: SWAP1
00000f54: SWAP3
00000f55: MSTORE
00000f56: PUSH32 0x5b873fc01d45058fe77f3883a91020f46d5a7385baac6ceab19748d1d0ae464a
00000f77: SWAP2
00000f78: ADD
00000f79: JUMPDEST
00000f7a: PUSH1 0x40
00000f7c: MLOAD
00000f7d: DUP1
00000f7e: SWAP2
00000f7f: SUB
00000f80: SWAP1
00000f81: LOG1
00000f82: POP
00000f83: JUMP
00000f84: JUMPDEST
00000f85: PUSH2 0x0f8f
00000f88: PUSH1 0x00
00000f8a: DUP1
00000f8b: PUSH2 0x1593
00000f8e: JUMP
00000f8f: JUMPDEST
00000f90: JUMP
00000f91: JUMPDEST
00000f92: PUSH1 0x00
00000f94: DUP3
00000f95: DUP2
00000f96: MSTORE
00000f97: PUSH1 0x01
00000f99: PUSH1 0x20
00000f9b: DUP2
00000f9c: SWAP1
00000f9d: MSTORE
00000f9e: PUSH1 0x40
00000fa0: SWAP1
00000fa1: SWAP2
00000fa2: KECCAK256
00000fa3: ADD
00000fa4: SLOAD
00000fa5: PUSH2 0x0fad
00000fa8: DUP2
00000fa9: PUSH2 0x0ec7
00000fac: JUMP
00000fad: JUMPDEST
00000fae: PUSH2 0x0a7f
00000fb1: DUP4
00000fb2: DUP4
00000fb3: PUSH2 0x1653
00000fb6: JUMP
00000fb7: JUMPDEST
00000fb8: PUSH1 0x01
00000fba: PUSH1 0x01
00000fbc: PUSH1 0xa0
00000fbe: SHL
00000fbf: SUB
00000fc0: DUP2
00000fc1: AND
00000fc2: CALLER
00000fc3: EQ
00000fc4: PUSH2 0x0fe0
00000fc7: JUMPI
00000fc8: PUSH1 0x40
00000fca: MLOAD
00000fcb: PUSH4 0x334bd919
00000fd0: PUSH1 0xe1
00000fd2: SHL
00000fd3: DUP2
00000fd4: MSTORE
00000fd5: PUSH1 0x04
00000fd7: ADD
00000fd8: PUSH1 0x40
00000fda: MLOAD
00000fdb: DUP1
00000fdc: SWAP2
00000fdd: SUB
00000fde: SWAP1
00000fdf: REVERT
00000fe0: JUMPDEST
00000fe1: PUSH2 0x0991
00000fe4: DUP3
00000fe5: DUP3
00000fe6: PUSH2 0x16bb
00000fe9: JUMP
00000fea: JUMPDEST
00000feb: PUSH1 0x02
00000fed: PUSH1 0x00
00000fef: SLOAD
00000ff0: SUB
00000ff1: PUSH2 0x100d
00000ff4: JUMPI
00000ff5: PUSH1 0x40
00000ff7: MLOAD
00000ff8: PUSH4 0x3ee5aeb5
00000ffd: PUSH1 0xe0
00000fff: SHL
00001000: DUP2
00001001: MSTORE
00001002: PUSH1 0x04
00001004: ADD
00001005: PUSH1 0x40
00001007: MLOAD
00001008: DUP1
00001009: SWAP2
0000100a: SUB
0000100b: SWAP1
0000100c: REVERT
0000100d: JUMPDEST
0000100e: PUSH1 0x02
00001010: PUSH1 0x00
00001012: SSTORE
00001013: JUMP
00001014: JUMPDEST
00001015: DUP3
00001016: MLOAD
00001017: PUSH1 0x40
00001019: MLOAD
0000101a: PUSH4 0x0303b91f
0000101f: PUSH1 0xe5
00001021: SHL
00001022: DUP2
00001023: MSTORE
00001024: PUSH1 0x04
00001026: DUP2
00001027: ADD
00001028: SWAP2
00001029: SWAP1
0000102a: SWAP2
0000102b: MSTORE
0000102c: PUSH1 0x24
0000102e: ADD
0000102f: PUSH2 0x090e
00001032: JUMP
00001033: JUMPDEST
00001034: PUSH1 0x06
00001036: SLOAD
00001037: PUSH1 0x01
00001039: PUSH1 0x01
0000103b: PUSH1 0xa0
0000103d: SHL
0000103e: SUB
0000103f: AND
00001040: PUSH4 0xd0e34b23
00001045: CALLER
00001046: DUP7
00001047: PUSH1 0x12
00001049: DUP2
0000104a: GT
0000104b: ISZERO
0000104c: PUSH2 0x1057
0000104f: JUMPI
00001050: PUSH2 0x1057
00001053: PUSH2 0x23f3
00001056: JUMP
00001057: JUMPDEST
00001058: PUSH1 0x40
0000105a: MLOAD
0000105b: PUSH1 0x01
0000105d: PUSH1 0x01
0000105f: PUSH1 0xe0
00001061: SHL
00001062: SUB
00001063: NOT
00001064: PUSH1 0xe0
00001066: DUP6
00001067: SWAP1
00001068: SHL
00001069: AND
0000106a: DUP2
0000106b: MSTORE
0000106c: PUSH1 0x01
0000106e: PUSH1 0x01
00001070: PUSH1 0xa0
00001072: SHL
00001073: SUB
00001074: SWAP1
00001075: SWAP3
00001076: AND
00001077: PUSH1 0x04
00001079: DUP4
0000107a: ADD
0000107b: MSTORE
0000107c: PUSH2 0xffff
0000107f: AND
00001080: PUSH1 0x24
00001082: DUP3
00001083: ADD
00001084: MSTORE
00001085: PUSH1 0x44
00001087: ADD
00001088: PUSH1 0x20
0000108a: PUSH1 0x40
0000108c: MLOAD
0000108d: DUP1
0000108e: DUP4
0000108f: SUB
00001090: DUP2
00001091: DUP7
00001092: GAS
00001093: STATICCALL
00001094: ISZERO
00001095: DUP1
00001096: ISZERO
00001097: PUSH2 0x10a4
0000109a: JUMPI
0000109b: RETURNDATASIZE
0000109c: PUSH1 0x00
0000109e: DUP1
0000109f: RETURNDATACOPY
000010a0: RETURNDATASIZE
000010a1: PUSH1 0x00
000010a3: REVERT
000010a4: JUMPDEST
000010a5: POP
000010a6: POP
000010a7: POP
000010a8: POP
000010a9: PUSH1 0x40
000010ab: MLOAD
000010ac: RETURNDATASIZE
000010ad: PUSH1 0x1f
000010af: NOT
000010b0: PUSH1 0x1f
000010b2: DUP3
000010b3: ADD
000010b4: AND
000010b5: DUP3
000010b6: ADD
000010b7: DUP1
000010b8: PUSH1 0x40
000010ba: MSTORE
000010bb: POP
000010bc: DUP2
000010bd: ADD
000010be: SWAP1
000010bf: PUSH2 0x10c8
000010c2: SWAP2
000010c3: SWAP1
000010c4: PUSH2 0x2409
000010c7: JUMP
000010c8: JUMPDEST
000010c9: PUSH2 0x110d
000010cc: JUMPI
000010cd: CALLER
000010ce: DUP5
000010cf: PUSH1 0x12
000010d1: DUP2
000010d2: GT
000010d3: ISZERO
000010d4: PUSH2 0x10df
000010d7: JUMPI
000010d8: PUSH2 0x10df
000010db: PUSH2 0x23f3
000010de: JUMP
000010df: JUMPDEST
000010e0: PUSH1 0x40
000010e2: MLOAD
000010e3: PUSH4 0x1b2d4cf3
000010e8: PUSH1 0xe2
000010ea: SHL
000010eb: DUP2
000010ec: MSTORE
000010ed: PUSH1 0x01
000010ef: PUSH1 0x01
000010f1: PUSH1 0xa0
000010f3: SHL
000010f4: SUB
000010f5: SWAP1
000010f6: SWAP3
000010f7: AND
000010f8: PUSH1 0x04
000010fa: DUP4
000010fb: ADD
000010fc: MSTORE
000010fd: PUSH2 0xffff
00001100: AND
00001101: PUSH1 0x24
00001103: DUP3
00001104: ADD
00001105: MSTORE
00001106: PUSH1 0x44
00001108: ADD
00001109: PUSH2 0x090e
0000110c: JUMP
0000110d: JUMPDEST
0000110e: PUSH2 0x1116
00001111: DUP3
00001112: PUSH2 0x16f8
00001115: JUMP
00001116: JUMPDEST
00001117: PUSH1 0x00
00001119: DUP1
0000111a: PUSH2 0x1123
0000111d: DUP8
0000111e: DUP6
0000111f: PUSH2 0x1765
00001122: JUMP
00001123: JUMPDEST
00001124: SWAP2
00001125: POP
00001126: SWAP2
00001127: POP
00001128: PUSH1 0x00
0000112a: PUSH1 0x40
0000112c: MLOAD
0000112d: DUP1
0000112e: PUSH1 0xe0
00001130: ADD
00001131: PUSH1 0x40
00001133: MSTORE
00001134: DUP1
00001135: DUP10
00001136: DUP2
00001137: MSTORE
00001138: PUSH1 0x20
0000113a: ADD
0000113b: PUSH2 0x114a
0000113e: ADDRESS
0000113f: PUSH1 0x01
00001141: PUSH1 0x01
00001143: PUSH1 0xa0
00001145: SHL
00001146: SUB
00001147: AND
00001148: SWAP1
00001149: JUMP
0000114a: JUMPDEST
0000114b: DUP2
0000114c: MSTORE
0000114d: PUSH1 0x04
0000114f: SLOAD
00001150: PUSH2 0xffff
00001153: AND
00001154: PUSH1 0x20
00001156: DUP3
00001157: ADD
00001158: MSTORE
00001159: PUSH1 0x05
0000115b: SLOAD
0000115c: PUSH1 0x40
0000115e: DUP1
0000115f: DUP4
00001160: ADD
00001161: SWAP2
00001162: SWAP1
00001163: SWAP2
00001164: MSTORE
00001165: DUP1
00001166: MLOAD
00001167: PUSH1 0x80
00001169: DUP2
0000116a: ADD
0000116b: SWAP1
0000116c: SWAP2
0000116d: MSTORE
0000116e: PUSH1 0x60
00001170: SWAP1
00001171: SWAP2
00001172: ADD
00001173: SWAP1
00001174: PUSH2 0x11a4
00001177: SWAP1
00001178: DUP1
00001179: DUP12
0000117a: PUSH1 0x12
0000117c: DUP2
0000117d: GT
0000117e: ISZERO
0000117f: PUSH2 0x118a
00001182: JUMPI
00001183: PUSH2 0x118a
00001186: PUSH2 0x23f3
00001189: JUMP
0000118a: JUMPDEST
0000118b: DUP2
0000118c: MSTORE
0000118d: PUSH1 0x20
0000118f: DUP2
00001190: ADD
00001191: DUP12
00001192: SWAP1
00001193: MSTORE
00001194: PUSH1 0x40
00001196: ADD
00001197: CALLER
00001198: DUP2
00001199: MSTORE
0000119a: PUSH1 0x20
0000119c: ADD
0000119d: DUP9
0000119e: SWAP1
0000119f: MSTORE
000011a0: PUSH2 0x1788
000011a3: JUMP
000011a4: JUMPDEST
000011a5: DUP2
000011a6: MSTORE
000011a7: PUSH1 0x01
000011a9: PUSH1 0x20
000011ab: DUP3
000011ac: ADD
000011ad: MSTORE
000011ae: PUSH1 0x40
000011b0: ADD
000011b1: DUP5
000011b2: SWAP1
000011b3: MSTORE
000011b4: SWAP1
000011b5: POP
000011b6: PUSH2 0x11bf
000011b9: DUP2
000011ba: DUP4
000011bb: PUSH2 0x17d6
000011be: JUMP
000011bf: JUMPDEST
000011c0: POP
000011c1: POP
000011c2: POP
000011c3: POP
000011c4: POP
000011c5: POP
000011c6: POP
000011c7: POP
000011c8: JUMP
000011c9: JUMPDEST
000011ca: PUSH1 0x00
000011cc: PUSH2 0x11d3
000011cf: PUSH2 0x0d97
000011d2: JUMP
000011d3: JUMPDEST
000011d4: PUSH2 0x11dc
000011d7: TIMESTAMP
000011d8: PUSH2 0x185a
000011db: JUMP
000011dc: JUMPDEST
000011dd: PUSH2 0x11e6
000011e0: SWAP2
000011e1: SWAP1
000011e2: PUSH2 0x242b
000011e5: JUMP
000011e6: JUMPDEST
000011e7: SWAP1
000011e8: POP
000011e9: PUSH2 0x11f2
000011ec: DUP3
000011ed: DUP3
000011ee: PUSH2 0x1891
000011f1: JUMP
000011f2: JUMPDEST
000011f3: PUSH1 0x40
000011f5: MLOAD
000011f6: PUSH6 0xffffffffffff
000011fd: DUP3
000011fe: AND
000011ff: DUP2
00001200: MSTORE
00001201: PUSH1 0x01
00001203: PUSH1 0x01
00001205: PUSH1 0xa0
00001207: SHL
00001208: SUB
00001209: DUP4
0000120a: AND
0000120b: SWAP1
0000120c: PUSH32 0x3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed6
0000122d: SWAP1
0000122e: PUSH1 0x20
00001230: ADD
00001231: PUSH1 0x40
00001233: MLOAD
00001234: DUP1
00001235: SWAP2
00001236: SUB
00001237: SWAP1
00001238: LOG2
00001239: POP
0000123a: POP
0000123b: JUMP
0000123c: JUMPDEST
0000123d: PUSH1 0x00
0000123f: PUSH2 0x1247
00001242: DUP3
00001243: PUSH2 0x1910
00001246: JUMP
00001247: JUMPDEST
00001248: PUSH2 0x1250
0000124b: TIMESTAMP
0000124c: PUSH2 0x185a
0000124f: JUMP
00001250: JUMPDEST
00001251: PUSH2 0x125a
00001254: SWAP2
00001255: SWAP1
00001256: PUSH2 0x242b
00001259: JUMP
0000125a: JUMPDEST
0000125b: SWAP1
0000125c: POP
0000125d: PUSH2 0x1266
00001260: DUP3
00001261: DUP3
00001262: PUSH2 0x1593
00001265: JUMP
00001266: JUMPDEST
00001267: PUSH1 0x40
00001269: DUP1
0000126a: MLOAD
0000126b: PUSH6 0xffffffffffff
00001272: DUP1
00001273: DUP6
00001274: AND
00001275: DUP3
00001276: MSTORE
00001277: DUP4
00001278: AND
00001279: PUSH1 0x20
0000127b: DUP3
0000127c: ADD
0000127d: MSTORE
0000127e: PUSH32 0xf1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b
0000129f: SWAP2
000012a0: ADD
000012a1: PUSH1 0x40
000012a3: MLOAD
000012a4: DUP1
000012a5: SWAP2
000012a6: SUB
000012a7: SWAP1
000012a8: LOG1
000012a9: POP
000012aa: POP
000012ab: JUMP
000012ac: JUMPDEST
000012ad: PUSH1 0x00
000012af: PUSH2 0x12bb
000012b2: DUP3
000012b3: PUSH1 0x80
000012b5: ADD
000012b6: MLOAD
000012b7: PUSH2 0x1958
000012ba: JUMP
000012bb: JUMPDEST
000012bc: PUSH1 0x04
000012be: SLOAD
000012bf: PUSH1 0x20
000012c1: DUP5
000012c2: ADD
000012c3: MLOAD
000012c4: SWAP2
000012c5: SWAP3
000012c6: POP
000012c7: PUSH1 0x00
000012c9: SWAP2
000012ca: PUSH2 0xffff
000012cd: SWAP1
000012ce: DUP2
000012cf: AND
000012d0: SWAP2
000012d1: AND
000012d2: EQ
000012d3: DUP1
000012d4: ISZERO
000012d5: PUSH2 0x12e3
000012d8: JUMPI
000012d9: POP
000012da: PUSH1 0x05
000012dc: SLOAD
000012dd: PUSH1 0x40
000012df: DUP5
000012e0: ADD
000012e1: MLOAD
000012e2: EQ
000012e3: JUMPDEST
000012e4: SWAP1
000012e5: POP
000012e6: DUP1
000012e7: PUSH2 0x1319
000012ea: JUMPI
000012eb: PUSH1 0x20
000012ed: DUP4
000012ee: ADD
000012ef: MLOAD
000012f0: PUSH1 0x40
000012f2: DUP1
000012f3: DUP6
000012f4: ADD
000012f5: MLOAD
000012f6: SWAP1
000012f7: MLOAD
000012f8: PUSH4 0x199bebdf
000012fd: PUSH1 0xe3
000012ff: SHL
00001300: DUP2
00001301: MSTORE
00001302: PUSH2 0xffff
00001305: SWAP1
00001306: SWAP3
00001307: AND
00001308: PUSH1 0x04
0000130a: DUP4
0000130b: ADD
0000130c: MSTORE
0000130d: PUSH1 0x24
0000130f: DUP3
00001310: ADD
00001311: MSTORE
00001312: PUSH1 0x44
00001314: ADD
00001315: PUSH2 0x090e
00001318: JUMP
00001319: JUMPDEST
0000131a: PUSH1 0x00
0000131c: PUSH1 0x12
0000131e: DUP4
0000131f: MLOAD
00001320: PUSH1 0x12
00001322: DUP2
00001323: GT
00001324: ISZERO
00001325: PUSH2 0x1330
00001328: JUMPI
00001329: PUSH2 0x1330
0000132c: PUSH2 0x23f3
0000132f: JUMP
00001330: JUMPDEST
00001331: SUB
00001332: PUSH2 0x1379
00001335: JUMPI
00001336: PUSH1 0x00
00001338: PUSH2 0x1342
0000133b: DUP5
0000133c: PUSH1 0x40
0000133e: ADD
0000133f: MLOAD
00001340: SWAP1
00001341: JUMP
00001342: JUMPDEST
00001343: SWAP1
00001344: POP
00001345: PUSH1 0x00
00001347: PUSH2 0x135d
0000134a: DUP4
0000134b: DUP7
0000134c: PUSH1 0x60
0000134e: ADD
0000134f: MLOAD
00001350: PUSH2 0x1a38
00001353: SWAP1
00001354: SWAP2
00001355: SWAP1
00001356: PUSH4 0xffffffff
0000135b: AND
0000135c: JUMP
0000135d: JUMPDEST
0000135e: SWAP1
0000135f: POP
00001360: PUSH2 0x1368
00001363: DUP2
00001364: PUSH2 0x1a96
00001367: JUMP
00001368: JUMPDEST
00001369: PUSH2 0x1372
0000136c: DUP3
0000136d: DUP3
0000136e: PUSH2 0x1b2e
00001371: JUMP
00001372: JUMPDEST
00001373: POP
00001374: POP
00001375: PUSH2 0x0a7f
00001378: JUMP
00001379: JUMPDEST
0000137a: DUP4
0000137b: MLOAD
0000137c: PUSH1 0x40
0000137e: MLOAD
0000137f: PUSH4 0x012a26f7
00001384: PUSH1 0xe7
00001386: SHL
00001387: DUP2
00001388: MSTORE
00001389: PUSH1 0x04
0000138b: DUP2
0000138c: ADD
0000138d: SWAP2
0000138e: SWAP1
0000138f: SWAP2
00001390: MSTORE
00001391: PUSH1 0x24
00001393: ADD
00001394: PUSH2 0x090e
00001397: JUMP
00001398: JUMPDEST
00001399: PUSH2 0x0e10
0000139c: DUP2
0000139d: PUSH1 0x00
0000139f: ADD
000013a0: MLOAD
000013a1: PUSH4 0xffffffff
000013a6: AND
000013a7: LT
000013a8: ISZERO
000013a9: PUSH2 0x13c5
000013ac: JUMPI
000013ad: PUSH1 0x40
000013af: MLOAD
000013b0: PUSH4 0x7865267d
000013b5: PUSH1 0xe1
000013b7: SHL
000013b8: DUP2
000013b9: MSTORE
000013ba: PUSH1 0x04
000013bc: ADD
000013bd: PUSH1 0x40
000013bf: MLOAD
000013c0: DUP1
000013c1: SWAP2
000013c2: SUB
000013c3: SWAP1
000013c4: REVERT
000013c5: JUMPDEST
000013c6: PUSH3 0x093a80
000013ca: DUP2
000013cb: PUSH1 0x00
000013cd: ADD
000013ce: MLOAD
000013cf: PUSH4 0xffffffff
000013d4: AND
000013d5: GT
000013d6: ISZERO
000013d7: PUSH2 0x13f3
000013da: JUMPI
000013db: PUSH1 0x40
000013dd: MLOAD
000013de: PUSH4 0xc9ae24cf
000013e3: PUSH1 0xe0
000013e5: SHL
000013e6: DUP2
000013e7: MSTORE
000013e8: PUSH1 0x04
000013ea: ADD
000013eb: PUSH1 0x40
000013ed: MLOAD
000013ee: DUP1
000013ef: SWAP2
000013f0: SUB
000013f1: SWAP1
000013f2: REVERT
000013f3: JUMPDEST
000013f4: DUP1
000013f5: PUSH1 0x00
000013f7: ADD
000013f8: MLOAD
000013f9: PUSH4 0xffffffff
000013fe: AND
000013ff: DUP2
00001400: PUSH1 0x20
00001402: ADD
00001403: MLOAD
00001404: PUSH4 0xffffffff
00001409: AND
0000140a: LT
0000140b: PUSH2 0x1426
0000140e: JUMPI
0000140f: PUSH1 0x40
00001411: MLOAD
00001412: PUSH3 0xed0ab9
00001416: PUSH1 0xe1
00001418: SHL
00001419: DUP2
0000141a: MSTORE
0000141b: PUSH1 0x04
0000141d: ADD
0000141e: PUSH1 0x40
00001420: MLOAD
00001421: DUP1
00001422: SWAP2
00001423: SUB
00001424: SWAP1
00001425: REVERT
00001426: JUMPDEST
00001427: DUP1
00001428: MLOAD
00001429: PUSH1 0x07
0000142b: DUP1
0000142c: SLOAD
0000142d: PUSH1 0x20
0000142f: DUP5
00001430: ADD
00001431: MLOAD
00001432: PUSH4 0xffffffff
00001437: SWAP1
00001438: DUP2
00001439: AND
0000143a: PUSH5 0x0100000000
00001440: MUL
00001441: PUSH8 0xffffffffffffffff
0000144a: NOT
0000144b: SWAP1
0000144c: SWAP3
0000144d: AND
0000144e: SWAP4
0000144f: AND
00001450: SWAP3
00001451: SWAP1
00001452: SWAP3
00001453: OR
00001454: SWAP2
00001455: SWAP1
00001456: SWAP2
00001457: OR
00001458: SWAP1
00001459: SSTORE
0000145a: PUSH1 0x40
0000145c: ADD
0000145d: MLOAD
0000145e: PUSH1 0x08
00001460: SSTORE
00001461: JUMP
00001462: JUMPDEST
00001463: PUSH2 0x0991
00001466: DUP4
00001467: PUSH2 0x12ac
0000146a: JUMP
0000146b: JUMPDEST
0000146c: PUSH1 0x00
0000146e: DUP1
0000146f: PUSH2 0x1476
00001472: PUSH2 0x0e36
00001475: JUMP
00001476: JUMPDEST
00001477: SWAP2
00001478: POP
00001479: SWAP2
0000147a: POP
0000147b: PUSH2 0x148b
0000147e: DUP2
0000147f: PUSH6 0xffffffffffff
00001486: AND
00001487: ISZERO
00001488: ISZERO
00001489: SWAP1
0000148a: JUMP
0000148b: JUMPDEST
0000148c: ISZERO
0000148d: DUP1
0000148e: PUSH2 0x149f
00001491: JUMPI
00001492: POP
00001493: TIMESTAMP
00001494: PUSH6 0xffffffffffff
0000149b: DUP3
0000149c: AND
0000149d: LT
0000149e: ISZERO
0000149f: JUMPDEST
000014a0: ISZERO
000014a1: PUSH2 0x14c7
000014a4: JUMPI
000014a5: PUSH1 0x40
000014a7: MLOAD
000014a8: PUSH4 0x19ca5ebb
000014ad: PUSH1 0xe0
000014af: SHL
000014b0: DUP2
000014b1: MSTORE
000014b2: PUSH6 0xffffffffffff
000014b9: DUP3
000014ba: AND
000014bb: PUSH1 0x04
000014bd: DUP3
000014be: ADD
000014bf: MSTORE
000014c0: PUSH1 0x24
000014c2: ADD
000014c3: PUSH2 0x090e
000014c6: JUMP
000014c7: JUMPDEST
000014c8: PUSH2 0x14e3
000014cb: PUSH1 0x00
000014cd: PUSH2 0x14de
000014d0: PUSH1 0x03
000014d2: SLOAD
000014d3: PUSH1 0x01
000014d5: PUSH1 0x01
000014d7: PUSH1 0xa0
000014d9: SHL
000014da: SUB
000014db: AND
000014dc: SWAP1
000014dd: JUMP
000014de: JUMPDEST
000014df: PUSH2 0x16bb
000014e2: JUMP
000014e3: JUMPDEST
000014e4: POP
000014e5: PUSH2 0x14ef
000014e8: PUSH1 0x00
000014ea: DUP4
000014eb: PUSH2 0x1653
000014ee: JUMP
000014ef: JUMPDEST
000014f0: POP
000014f1: POP
000014f2: PUSH1 0x02
000014f4: DUP1
000014f5: SLOAD
000014f6: PUSH1 0x01
000014f8: PUSH1 0x01
000014fa: PUSH1 0xd0
000014fc: SHL
000014fd: SUB
000014fe: NOT
000014ff: AND
00001500: SWAP1
00001501: SSTORE
00001502: POP
00001503: JUMP
00001504: JUMPDEST
00001505: PUSH1 0x00
00001507: DUP3
00001508: DUP2
00001509: MSTORE
0000150a: PUSH1 0x01
0000150c: PUSH1 0x20
0000150e: DUP2
0000150f: SWAP1
00001510: MSTORE
00001511: PUSH1 0x40
00001513: SWAP1
00001514: SWAP2
00001515: KECCAK256
00001516: ADD
00001517: SLOAD
00001518: PUSH2 0x1520
0000151b: DUP2
0000151c: PUSH2 0x0ec7
0000151f: JUMP
00001520: JUMPDEST
00001521: PUSH2 0x0a7f
00001524: DUP4
00001525: DUP4
00001526: PUSH2 0x16bb
00001529: JUMP
0000152a: JUMPDEST
0000152b: PUSH2 0x0f8f
0000152e: PUSH1 0x00
00001530: DUP1
00001531: PUSH2 0x1891
00001534: JUMP
00001535: JUMPDEST
00001536: PUSH2 0x153f
00001539: DUP3
0000153a: DUP3
0000153b: PUSH2 0x0b5d
0000153e: JUMP
0000153f: JUMPDEST
00001540: PUSH2 0x0886
00001543: JUMPI
00001544: PUSH1 0x40
00001546: MLOAD
00001547: PUSH4 0xe2517d3f
0000154c: PUSH1 0xe0
0000154e: SHL
0000154f: DUP2
00001550: MSTORE
00001551: PUSH1 0x01
00001553: PUSH1 0x01
00001555: PUSH1 0xa0
00001557: SHL
00001558: SUB
00001559: DUP3
0000155a: AND
0000155b: PUSH1 0x04
0000155d: DUP3
0000155e: ADD
0000155f: MSTORE
00001560: PUSH1 0x24
00001562: DUP2
00001563: ADD
00001564: DUP4
00001565: SWAP1
00001566: MSTORE
00001567: PUSH1 0x44
00001569: ADD
0000156a: PUSH2 0x090e
0000156d: JUMP
0000156e: JUMPDEST
0000156f: PUSH1 0x00
00001571: PUSH2 0x0b58
00001574: PUSH1 0x64
00001576: SELFBALANCE
00001577: PUSH2 0x244a
0000157a: JUMP
0000157b: JUMPDEST
0000157c: PUSH1 0x00
0000157e: DUP2
0000157f: DUP4
00001580: GT
00001581: PUSH2 0x158a
00001584: JUMPI
00001585: DUP2
00001586: PUSH2 0x158c
00001589: JUMP
0000158a: JUMPDEST
0000158b: DUP3
0000158c: JUMPDEST
0000158d: SWAP4
0000158e: SWAP3
0000158f: POP
00001590: POP
00001591: POP
00001592: JUMP
00001593: JUMPDEST
00001594: PUSH1 0x03
00001596: SLOAD
00001597: PUSH1 0x01
00001599: PUSH1 0xd0
0000159b: SHL
0000159c: SWAP1
0000159d: DIV
0000159e: PUSH6 0xffffffffffff
000015a5: AND
000015a6: DUP1
000015a7: ISZERO
000015a8: PUSH2 0x1616
000015ab: JUMPI
000015ac: TIMESTAMP
000015ad: PUSH6 0xffffffffffff
000015b4: DUP3
000015b5: AND
000015b6: LT
000015b7: ISZERO
000015b8: PUSH2 0x15ec
000015bb: JUMPI
000015bc: PUSH1 0x03
000015be: SLOAD
000015bf: PUSH1 0x02
000015c1: DUP1
000015c2: SLOAD
000015c3: PUSH1 0x01
000015c5: PUSH1 0x01
000015c7: PUSH1 0xd0
000015c9: SHL
000015ca: SUB
000015cb: AND
000015cc: PUSH1 0x01
000015ce: PUSH1 0xa0
000015d0: SHL
000015d1: SWAP1
000015d2: SWAP3
000015d3: DIV
000015d4: PUSH6 0xffffffffffff
000015db: AND
000015dc: PUSH1 0x01
000015de: PUSH1 0xd0
000015e0: SHL
000015e1: MUL
000015e2: SWAP2
000015e3: SWAP1
000015e4: SWAP2
000015e5: OR
000015e6: SWAP1
000015e7: SSTORE
000015e8: PUSH2 0x1616
000015eb: JUMP
000015ec: JUMPDEST
000015ed: PUSH1 0x40
000015ef: MLOAD
000015f0: PUSH32 0x2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5
00001611: SWAP1
00001612: PUSH1 0x00
00001614: SWAP1
00001615: LOG1
00001616: JUMPDEST
00001617: POP
00001618: PUSH1 0x03
0000161a: DUP1
0000161b: SLOAD
0000161c: PUSH1 0x01
0000161e: PUSH1 0x01
00001620: PUSH1 0xa0
00001622: SHL
00001623: SUB
00001624: AND
00001625: PUSH1 0x01
00001627: PUSH1 0xa0
00001629: SHL
0000162a: PUSH6 0xffffffffffff
00001631: SWAP5
00001632: DUP6
00001633: AND
00001634: MUL
00001635: PUSH1 0x01
00001637: PUSH1 0x01
00001639: PUSH1 0xd0
0000163b: SHL
0000163c: SUB
0000163d: AND
0000163e: OR
0000163f: PUSH1 0x01
00001641: PUSH1 0xd0
00001643: SHL
00001644: SWAP3
00001645: SWAP1
00001646: SWAP4
00001647: AND
00001648: SWAP2
00001649: SWAP1
0000164a: SWAP2
0000164b: MUL
0000164c: SWAP2
0000164d: SWAP1
0000164e: SWAP2
0000164f: OR
00001650: SWAP1
00001651: SSTORE
00001652: JUMP
00001653: JUMPDEST
00001654: PUSH1 0x00
00001656: DUP3
00001657: PUSH2 0x16b1
0000165a: JUMPI
0000165b: PUSH1 0x00
0000165d: PUSH2 0x166e
00001660: PUSH1 0x03
00001662: SLOAD
00001663: PUSH1 0x01
00001665: PUSH1 0x01
00001667: PUSH1 0xa0
00001669: SHL
0000166a: SUB
0000166b: AND
0000166c: SWAP1
0000166d: JUMP
0000166e: JUMPDEST
0000166f: PUSH1 0x01
00001671: PUSH1 0x01
00001673: PUSH1 0xa0
00001675: SHL
00001676: SUB
00001677: AND
00001678: EQ
00001679: PUSH2 0x1695
0000167c: JUMPI
0000167d: PUSH1 0x40
0000167f: MLOAD
00001680: PUSH4 0x1fe1e13d
00001685: PUSH1 0xe1
00001687: SHL
00001688: DUP2
00001689: MSTORE
0000168a: PUSH1 0x04
0000168c: ADD
0000168d: PUSH1 0x40
0000168f: MLOAD
00001690: DUP1
00001691: SWAP2
00001692: SUB
00001693: SWAP1
00001694: REVERT
00001695: JUMPDEST
00001696: PUSH1 0x03
00001698: DUP1
00001699: SLOAD
0000169a: PUSH1 0x01
0000169c: PUSH1 0x01
0000169e: PUSH1 0xa0
000016a0: SHL
000016a1: SUB
000016a2: NOT
000016a3: AND
000016a4: PUSH1 0x01
000016a6: PUSH1 0x01
000016a8: PUSH1 0xa0
000016aa: SHL
000016ab: SUB
000016ac: DUP5
000016ad: AND
000016ae: OR
000016af: SWAP1
000016b0: SSTORE
000016b1: JUMPDEST
000016b2: PUSH2 0x158c
000016b5: DUP4
000016b6: DUP4
000016b7: PUSH2 0x1bb4
000016ba: JUMP
000016bb: JUMPDEST
000016bc: PUSH1 0x00
000016be: DUP3
000016bf: ISZERO
000016c0: DUP1
000016c1: ISZERO
000016c2: PUSH2 0x16d8
000016c5: JUMPI
000016c6: POP
000016c7: PUSH1 0x03
000016c9: SLOAD
000016ca: PUSH1 0x01
000016cc: PUSH1 0x01
000016ce: PUSH1 0xa0
000016d0: SHL
000016d1: SUB
000016d2: DUP4
000016d3: DUP2
000016d4: AND
000016d5: SWAP2
000016d6: AND
000016d7: EQ
000016d8: JUMPDEST
000016d9: ISZERO
000016da: PUSH2 0x16ee
000016dd: JUMPI
000016de: PUSH1 0x03
000016e0: DUP1
000016e1: SLOAD
000016e2: PUSH1 0x01
000016e4: PUSH1 0x01
000016e6: PUSH1 0xa0
000016e8: SHL
000016e9: SUB
000016ea: NOT
000016eb: AND
000016ec: SWAP1
000016ed: SSTORE
000016ee: JUMPDEST
000016ef: PUSH2 0x158c
000016f2: DUP4
000016f3: DUP4
000016f4: PUSH2 0x1c2d
000016f7: JUMP
000016f8: JUMPDEST
000016f9: PUSH2 0x1700
000016fc: PUSH2 0x0ed1
000016ff: JUMP
00001700: JUMPDEST
00001701: PUSH1 0x0a
00001703: SLOAD
00001704: DUP1
00001705: DUP3
00001706: ADD
00001707: SWAP1
00001708: DUP2
00001709: LT
0000170a: PUSH2 0x1713
0000170d: JUMPI
0000170e: DUP1
0000170f: PUSH2 0x1717
00001712: JUMP
00001713: JUMPDEST
00001714: PUSH1 0x00
00001716: NOT
00001717: JUMPDEST
00001718: PUSH1 0x0a
0000171a: DUP2
0000171b: SWAP1
0000171c: SSTORE
0000171d: PUSH1 0x09
0000171f: SLOAD
00001720: PUSH1 0x40
00001722: DUP1
00001723: MLOAD
00001724: PUSH4 0xffffffff
00001729: SWAP1
0000172a: SWAP3
0000172b: AND
0000172c: DUP3
0000172d: MSTORE
0000172e: PUSH1 0x20
00001730: DUP3
00001731: ADD
00001732: DUP6
00001733: SWAP1
00001734: MSTORE
00001735: DUP2
00001736: ADD
00001737: SWAP2
00001738: SWAP1
00001739: SWAP2
0000173a: MSTORE
0000173b: PUSH32 0xe366a1ee16083e6a61ed79723f956e02d9856d41fc0954b33f48f355aaf11d3b
0000175c: SWAP2
0000175d: POP
0000175e: PUSH1 0x60
00001760: ADD
00001761: PUSH2 0x0f79
00001764: JUMP
00001765: JUMPDEST
00001766: PUSH1 0x40
00001768: DUP1
00001769: MLOAD
0000176a: PUSH1 0x20
0000176c: DUP2
0000176d: ADD
0000176e: SWAP1
0000176f: SWAP2
00001770: MSTORE
00001771: PUSH1 0x00
00001773: DUP1
00001774: DUP3
00001775: MSTORE
00001776: PUSH2 0x177f
00001779: DUP4
0000177a: CALLVALUE
0000177b: PUSH2 0x245e
0000177e: JUMP
0000177f: JUMPDEST
00001780: SWAP1
00001781: POP
00001782: SWAP3
00001783: POP
00001784: SWAP3
00001785: SWAP1
00001786: POP
00001787: JUMP
00001788: JUMPDEST
00001789: DUP1
0000178a: MLOAD
0000178b: PUSH1 0x60
0000178d: SWAP1
0000178e: PUSH1 0x12
00001790: DUP2
00001791: GT
00001792: ISZERO
00001793: PUSH2 0x179e
00001796: JUMPI
00001797: PUSH2 0x179e
0000179a: PUSH2 0x23f3
0000179d: JUMP
0000179e: JUMPDEST
0000179f: DUP3
000017a0: PUSH1 0x20
000017a2: ADD
000017a3: MLOAD
000017a4: DUP4
000017a5: PUSH1 0x40
000017a7: ADD
000017a8: MLOAD
000017a9: DUP5
000017aa: PUSH1 0x60
000017ac: ADD
000017ad: MLOAD
000017ae: PUSH1 0x40
000017b0: MLOAD
000017b1: PUSH1 0x20
000017b3: ADD
000017b4: PUSH2 0x17c0
000017b7: SWAP5
000017b8: SWAP4
000017b9: SWAP3
000017ba: SWAP2
000017bb: SWAP1
000017bc: PUSH2 0x2495
000017bf: JUMP
000017c0: JUMPDEST
000017c1: PUSH1 0x40
000017c3: MLOAD
000017c4: PUSH1 0x20
000017c6: DUP2
000017c7: DUP4
000017c8: SUB
000017c9: SUB
000017ca: DUP2
000017cb: MSTORE
000017cc: SWAP1
000017cd: PUSH1 0x40
000017cf: MSTORE
000017d0: SWAP1
000017d1: POP
000017d2: SWAP2
000017d3: SWAP1
000017d4: POP
000017d5: JUMP
000017d6: JUMPDEST
000017d7: PUSH1 0x40
000017d9: MLOAD
000017da: PUSH4 0x0d2f11d9
000017df: PUSH1 0xe1
000017e1: SHL
000017e2: DUP2
000017e3: MSTORE
000017e4: PUSH1 0x01
000017e6: PUSH1 0x01
000017e8: PUSH1 0xa0
000017ea: SHL
000017eb: SUB
000017ec: PUSH32 0x000000000000000000000000fc828c500c90e63134b2b73537cc6cadff4ce695
0000180d: AND
0000180e: SWAP1
0000180f: PUSH4 0x1a5e23b2
00001814: SWAP1
00001815: DUP4
00001816: SWAP1
00001817: PUSH2 0x1824
0000181a: SWAP1
0000181b: DUP7
0000181c: SWAP1
0000181d: PUSH1 0x04
0000181f: ADD
00001820: PUSH2 0x24ff
00001823: JUMP
00001824: JUMPDEST
00001825: PUSH1 0x00
00001827: PUSH1 0x40
00001829: MLOAD
0000182a: DUP1
0000182b: DUP4
0000182c: SUB
0000182d: DUP2
0000182e: DUP6
0000182f: DUP9
00001830: DUP1
00001831: EXTCODESIZE
00001832: ISZERO
00001833: DUP1
00001834: ISZERO
00001835: PUSH2 0x183d
00001838: JUMPI
00001839: PUSH1 0x00
0000183b: DUP1
0000183c: REVERT
0000183d: JUMPDEST
0000183e: POP
0000183f: GAS
00001840: CALL
00001841: ISZERO
00001842: DUP1
00001843: ISZERO
00001844: PUSH2 0x1851
00001847: JUMPI
00001848: RETURNDATASIZE
00001849: PUSH1 0x00
0000184b: DUP1
0000184c: RETURNDATACOPY
0000184d: RETURNDATASIZE
0000184e: PUSH1 0x00
00001850: REVERT
00001851: JUMPDEST
00001852: POP
00001853: POP
00001854: POP
00001855: POP
00001856: POP
00001857: POP
00001858: POP
00001859: JUMP
0000185a: JUMPDEST
0000185b: PUSH1 0x00
0000185d: PUSH6 0xffffffffffff
00001864: DUP3
00001865: GT
00001866: ISZERO
00001867: PUSH2 0x188d
0000186a: JUMPI
0000186b: PUSH1 0x40
0000186d: MLOAD
0000186e: PUSH4 0x06dfcc65
00001873: PUSH1 0xe4
00001875: SHL
00001876: DUP2
00001877: MSTORE
00001878: PUSH1 0x30
0000187a: PUSH1 0x04
0000187c: DUP3
0000187d: ADD
0000187e: MSTORE
0000187f: PUSH1 0x24
00001881: DUP2
00001882: ADD
00001883: DUP4
00001884: SWAP1
00001885: MSTORE
00001886: PUSH1 0x44
00001888: ADD
00001889: PUSH2 0x090e
0000188c: JUMP
0000188d: JUMPDEST
0000188e: POP
0000188f: SWAP1
00001890: JUMP
00001891: JUMPDEST
00001892: PUSH1 0x00
00001894: PUSH2 0x189b
00001897: PUSH2 0x0e36
0000189a: JUMP
0000189b: JUMPDEST
0000189c: PUSH1 0x02
0000189e: DUP1
0000189f: SLOAD
000018a0: PUSH6 0xffffffffffff
000018a7: DUP7
000018a8: AND
000018a9: PUSH1 0x01
000018ab: PUSH1 0xa0
000018ad: SHL
000018ae: MUL
000018af: PUSH1 0x01
000018b1: PUSH1 0x01
000018b3: PUSH1 0xd0
000018b5: SHL
000018b6: SUB
000018b7: NOT
000018b8: SWAP1
000018b9: SWAP2
000018ba: AND
000018bb: PUSH1 0x01
000018bd: PUSH1 0x01
000018bf: PUSH1 0xa0
000018c1: SHL
000018c2: SUB
000018c3: DUP9
000018c4: AND
000018c5: OR
000018c6: OR
000018c7: SWAP1
000018c8: SSTORE
000018c9: SWAP2
000018ca: POP
000018cb: PUSH2 0x18dd
000018ce: SWAP1
000018cf: POP
000018d0: DUP2
000018d1: PUSH6 0xffffffffffff
000018d8: AND
000018d9: ISZERO
000018da: ISZERO
000018db: SWAP1
000018dc: JUMP
000018dd: JUMPDEST
000018de: ISZERO
000018df: PUSH2 0x0991
000018e2: JUMPI
000018e3: PUSH1 0x40
000018e5: MLOAD
000018e6: PUSH32 0x8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109
00001907: SWAP1
00001908: PUSH1 0x00
0000190a: SWAP1
0000190b: LOG1
0000190c: POP
0000190d: POP
0000190e: POP
0000190f: JUMP
00001910: JUMPDEST
00001911: PUSH1 0x00
00001913: DUP1
00001914: PUSH2 0x191b
00001917: PUSH2 0x0d97
0000191a: JUMP
0000191b: JUMPDEST
0000191c: SWAP1
0000191d: POP
0000191e: DUP1
0000191f: PUSH6 0xffffffffffff
00001926: AND
00001927: DUP4
00001928: PUSH6 0xffffffffffff
0000192f: AND
00001930: GT
00001931: PUSH2 0x1943
00001934: JUMPI
00001935: PUSH2 0x193e
00001938: DUP4
00001939: DUP3
0000193a: PUSH2 0x25ca
0000193d: JUMP
0000193e: JUMPDEST
0000193f: PUSH2 0x158c
00001942: JUMP
00001943: JUMPDEST
00001944: PUSH2 0x158c
00001947: PUSH6 0xffffffffffff
0000194e: DUP5
0000194f: AND
00001950: PUSH3 0x069780
00001954: PUSH2 0x1c9a
00001957: JUMP
00001958: JUMPDEST
00001959: PUSH2 0x1982
0000195c: PUSH1 0x40
0000195e: DUP1
0000195f: MLOAD
00001960: PUSH1 0x80
00001962: DUP2
00001963: ADD
00001964: SWAP1
00001965: SWAP2
00001966: MSTORE
00001967: DUP1
00001968: PUSH1 0x00
0000196a: DUP2
0000196b: MSTORE
0000196c: PUSH1 0x00
0000196e: PUSH1 0x20
00001970: DUP3
00001971: ADD
00001972: DUP2
00001973: SWAP1
00001974: MSTORE
00001975: PUSH1 0x40
00001977: DUP3
00001978: ADD
00001979: MSTORE
0000197a: PUSH1 0x60
0000197c: SWAP1
0000197d: DUP2
0000197e: ADD
0000197f: MSTORE
00001980: SWAP1
00001981: JUMP
00001982: JUMPDEST
00001983: PUSH1 0x00
00001985: PUSH2 0x198e
00001988: DUP4
00001989: DUP3
0000198a: PUSH2 0x1ca9
0000198d: JUMP
0000198e: JUMPDEST
0000198f: PUSH2 0xffff
00001992: AND
00001993: PUSH1 0x12
00001995: DUP2
00001996: GT
00001997: ISZERO
00001998: PUSH2 0x19a3
0000199b: JUMPI
0000199c: PUSH2 0x19a3
0000199f: PUSH2 0x23f3
000019a2: JUMP
000019a3: JUMPDEST
000019a4: DUP3
000019a5: SWAP1
000019a6: PUSH1 0x12
000019a8: DUP2
000019a9: GT
000019aa: ISZERO
000019ab: PUSH2 0x19b6
000019ae: JUMPI
000019af: PUSH2 0x19b6
000019b2: PUSH2 0x23f3
000019b5: JUMP
000019b6: JUMPDEST
000019b7: SWAP1
000019b8: DUP2
000019b9: PUSH1 0x12
000019bb: DUP2
000019bc: GT
000019bd: ISZERO
000019be: PUSH2 0x19c9
000019c1: JUMPI
000019c2: PUSH2 0x19c9
000019c5: PUSH2 0x23f3
000019c8: JUMP
000019c9: JUMPDEST
000019ca: SWAP1
000019cb: MSTORE
000019cc: POP
000019cd: PUSH2 0x19d7
000019d0: PUSH1 0x02
000019d2: DUP3
000019d3: PUSH2 0x2383
000019d6: JUMP
000019d7: JUMPDEST
000019d8: SWAP1
000019d9: POP
000019da: PUSH2 0x19e3
000019dd: DUP4
000019de: DUP3
000019df: PUSH2 0x1d06
000019e2: JUMP
000019e3: JUMPDEST
000019e4: PUSH1 0x20
000019e6: DUP1
000019e7: DUP5
000019e8: ADD
000019e9: SWAP2
000019ea: SWAP1
000019eb: SWAP2
000019ec: MSTORE
000019ed: PUSH2 0x19f6
000019f0: SWAP1
000019f1: DUP3
000019f2: PUSH2 0x2383
000019f5: JUMP
000019f6: JUMPDEST
000019f7: SWAP1
000019f8: POP
000019f9: PUSH2 0x1a02
000019fc: DUP4
000019fd: DUP3
000019fe: PUSH2 0x1d06
00001a01: JUMP
00001a02: JUMPDEST
00001a03: PUSH1 0x40
00001a05: DUP4
00001a06: ADD
00001a07: MSTORE
00001a08: PUSH2 0x1a12
00001a0b: PUSH1 0x20
00001a0d: DUP3
00001a0e: PUSH2 0x2383
00001a11: JUMP
00001a12: JUMPDEST
00001a13: SWAP1
00001a14: POP
00001a15: PUSH2 0x1a2d
00001a18: DUP2
00001a19: DUP3
00001a1a: DUP6
00001a1b: MLOAD
00001a1c: PUSH2 0x1a25
00001a1f: SWAP2
00001a20: SWAP1
00001a21: PUSH2 0x245e
00001a24: JUMP
00001a25: JUMPDEST
00001a26: DUP6
00001a27: SWAP2
00001a28: SWAP1
00001a29: PUSH2 0x1d5b
00001a2c: JUMP
00001a2d: JUMPDEST
00001a2e: PUSH1 0x60
00001a30: DUP4
00001a31: ADD
00001a32: MSTORE
00001a33: POP
00001a34: SWAP2
00001a35: SWAP1
00001a36: POP
00001a37: JUMP
00001a38: JUMPDEST
00001a39: PUSH1 0x00
00001a3b: PUSH2 0x1a45
00001a3e: DUP3
00001a3f: PUSH1 0x20
00001a41: PUSH2 0x2383
00001a44: JUMP
00001a45: JUMPDEST
00001a46: DUP4
00001a47: MLOAD
00001a48: LT
00001a49: ISZERO
00001a4a: PUSH2 0x1a8d
00001a4d: JUMPI
00001a4e: PUSH1 0x40
00001a50: MLOAD
00001a51: PUSH3 0x461bcd
00001a55: PUSH1 0xe5
00001a57: SHL
00001a58: DUP2
00001a59: MSTORE
00001a5a: PUSH1 0x20
00001a5c: PUSH1 0x04
00001a5e: DUP3
00001a5f: ADD
00001a60: MSTORE
00001a61: PUSH1 0x15
00001a63: PUSH1 0x24
00001a65: DUP3
00001a66: ADD
00001a67: MSTORE
00001a68: PUSH21 0x746f55696e743235365f6f75744f66426f756e6473
00001a7e: PUSH1 0x58
00001a80: SHL
00001a81: PUSH1 0x44
00001a83: DUP3
00001a84: ADD
00001a85: MSTORE
00001a86: PUSH1 0x64
00001a88: ADD
00001a89: PUSH2 0x090e
00001a8c: JUMP
00001a8d: JUMPDEST
00001a8e: POP
00001a8f: ADD
00001a90: PUSH1 0x20
00001a92: ADD
00001a93: MLOAD
00001a94: SWAP1
00001a95: JUMP
00001a96: JUMPDEST
00001a97: PUSH2 0x1a9e
00001a9a: PUSH2 0x0ed1
00001a9d: JUMP
00001a9e: JUMPDEST
00001a9f: DUP1
00001aa0: PUSH1 0x0a
00001aa2: SLOAD
00001aa3: LT
00001aa4: ISZERO
00001aa5: PUSH2 0x1acf
00001aa8: JUMPI
00001aa9: PUSH1 0x0a
00001aab: SLOAD
00001aac: PUSH1 0x40
00001aae: MLOAD
00001aaf: PUSH4 0x1040f089
00001ab4: PUSH1 0xe0
00001ab6: SHL
00001ab7: DUP2
00001ab8: MSTORE
00001ab9: PUSH1 0x04
00001abb: DUP2
00001abc: ADD
00001abd: SWAP2
00001abe: SWAP1
00001abf: SWAP2
00001ac0: MSTORE
00001ac1: PUSH1 0x24
00001ac3: DUP2
00001ac4: ADD
00001ac5: DUP3
00001ac6: SWAP1
00001ac7: MSTORE
00001ac8: PUSH1 0x44
00001aca: ADD
00001acb: PUSH2 0x090e
00001ace: JUMP
00001acf: JUMPDEST
00001ad0: DUP1
00001ad1: PUSH1 0x0a
00001ad3: PUSH1 0x00
00001ad5: DUP3
00001ad6: DUP3
00001ad7: SLOAD
00001ad8: PUSH2 0x1ae1
00001adb: SWAP2
00001adc: SWAP1
00001add: PUSH2 0x245e
00001ae0: JUMP
00001ae1: JUMPDEST
00001ae2: SWAP1
00001ae3: SWAP2
00001ae4: SSTORE
00001ae5: POP
00001ae6: POP
00001ae7: PUSH1 0x09
00001ae9: SLOAD
00001aea: PUSH1 0x0a
00001aec: SLOAD
00001aed: PUSH1 0x40
00001aef: DUP1
00001af0: MLOAD
00001af1: PUSH4 0xffffffff
00001af6: SWAP1
00001af7: SWAP4
00001af8: AND
00001af9: DUP4
00001afa: MSTORE
00001afb: PUSH1 0x20
00001afd: DUP4
00001afe: ADD
00001aff: DUP5
00001b00: SWAP1
00001b01: MSTORE
00001b02: DUP3
00001b03: ADD
00001b04: MSTORE
00001b05: PUSH32 0xe17196d13396f53163ae87be4dfd196385b05dcf701f5e14e1d03d374ae86e6a
00001b26: SWAP1
00001b27: PUSH1 0x60
00001b29: ADD
00001b2a: PUSH2 0x0f79
00001b2d: JUMP
00001b2e: JUMPDEST
00001b2f: PUSH1 0x00
00001b31: DUP3
00001b32: PUSH1 0x01
00001b34: PUSH1 0x01
00001b36: PUSH1 0xa0
00001b38: SHL
00001b39: SUB
00001b3a: AND
00001b3b: DUP3
00001b3c: PUSH1 0x40
00001b3e: MLOAD
00001b3f: PUSH1 0x00
00001b41: PUSH1 0x40
00001b43: MLOAD
00001b44: DUP1
00001b45: DUP4
00001b46: SUB
00001b47: DUP2
00001b48: DUP6
00001b49: DUP8
00001b4a: GAS
00001b4b: CALL
00001b4c: SWAP3
00001b4d: POP
00001b4e: POP
00001b4f: POP
00001b50: RETURNDATASIZE
00001b51: DUP1
00001b52: PUSH1 0x00
00001b54: DUP2
00001b55: EQ
00001b56: PUSH2 0x1b7b
00001b59: JUMPI
00001b5a: PUSH1 0x40
00001b5c: MLOAD
00001b5d: SWAP2
00001b5e: POP
00001b5f: PUSH1 0x1f
00001b61: NOT
00001b62: PUSH1 0x3f
00001b64: RETURNDATASIZE
00001b65: ADD
00001b66: AND
00001b67: DUP3
00001b68: ADD
00001b69: PUSH1 0x40
00001b6b: MSTORE
00001b6c: RETURNDATASIZE
00001b6d: DUP3
00001b6e: MSTORE
00001b6f: RETURNDATASIZE
00001b70: PUSH1 0x00
00001b72: PUSH1 0x20
00001b74: DUP5
00001b75: ADD
00001b76: RETURNDATACOPY
00001b77: PUSH2 0x1b80
00001b7a: JUMP
00001b7b: JUMPDEST
00001b7c: PUSH1 0x60
00001b7e: SWAP2
00001b7f: POP
00001b80: JUMPDEST
00001b81: POP
00001b82: POP
00001b83: SWAP1
00001b84: POP
00001b85: DUP1
00001b86: PUSH2 0x0991
00001b89: JUMPI
00001b8a: PUSH1 0x40
00001b8c: MLOAD
00001b8d: PUSH4 0x6b9b7761
00001b92: PUSH1 0xe1
00001b94: SHL
00001b95: DUP2
00001b96: MSTORE
00001b97: PUSH1 0x01
00001b99: PUSH1 0x01
00001b9b: PUSH1 0xa0
00001b9d: SHL
00001b9e: SUB
00001b9f: DUP5
00001ba0: AND
00001ba1: PUSH1 0x04
00001ba3: DUP3
00001ba4: ADD
00001ba5: MSTORE
00001ba6: PUSH1 0x24
00001ba8: DUP2
00001ba9: ADD
00001baa: DUP4
00001bab: SWAP1
00001bac: MSTORE
00001bad: PUSH1 0x44
00001baf: ADD
00001bb0: PUSH2 0x090e
00001bb3: JUMP
00001bb4: JUMPDEST
00001bb5: PUSH1 0x00
00001bb7: PUSH2 0x1bc0
00001bba: DUP4
00001bbb: DUP4
00001bbc: PUSH2 0x0b5d
00001bbf: JUMP
00001bc0: JUMPDEST
00001bc1: PUSH2 0x1c25
00001bc4: JUMPI
00001bc5: PUSH1 0x00
00001bc7: DUP4
00001bc8: DUP2
00001bc9: MSTORE
00001bca: PUSH1 0x01
00001bcc: PUSH1 0x20
00001bce: DUP2
00001bcf: DUP2
00001bd0: MSTORE
00001bd1: PUSH1 0x40
00001bd3: DUP1
00001bd4: DUP5
00001bd5: KECCAK256
00001bd6: PUSH1 0x01
00001bd8: PUSH1 0x01
00001bda: PUSH1 0xa0
00001bdc: SHL
00001bdd: SUB
00001bde: DUP8
00001bdf: AND
00001be0: DUP1
00001be1: DUP7
00001be2: MSTORE
00001be3: SWAP3
00001be4: MSTORE
00001be5: DUP1
00001be6: DUP5
00001be7: KECCAK256
00001be8: DUP1
00001be9: SLOAD
00001bea: PUSH1 0xff
00001bec: NOT
00001bed: AND
00001bee: SWAP1
00001bef: SWAP4
00001bf0: OR
00001bf1: SWAP1
00001bf2: SWAP3
00001bf3: SSTORE
00001bf4: SWAP1
00001bf5: MLOAD
00001bf6: CALLER
00001bf7: SWAP3
00001bf8: DUP7
00001bf9: SWAP2
00001bfa: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00001c1b: SWAP2
00001c1c: SWAP1
00001c1d: LOG4
00001c1e: POP
00001c1f: PUSH1 0x01
00001c21: PUSH2 0x07f5
00001c24: JUMP
00001c25: JUMPDEST
00001c26: POP
00001c27: PUSH1 0x00
00001c29: PUSH2 0x07f5
00001c2c: JUMP
00001c2d: JUMPDEST
00001c2e: PUSH1 0x00
00001c30: PUSH2 0x1c39
00001c33: DUP4
00001c34: DUP4
00001c35: PUSH2 0x0b5d
00001c38: JUMP
00001c39: JUMPDEST
00001c3a: ISZERO
00001c3b: PUSH2 0x1c25
00001c3e: JUMPI
00001c3f: PUSH1 0x00
00001c41: DUP4
00001c42: DUP2
00001c43: MSTORE
00001c44: PUSH1 0x01
00001c46: PUSH1 0x20
00001c48: SWAP1
00001c49: DUP2
00001c4a: MSTORE
00001c4b: PUSH1 0x40
00001c4d: DUP1
00001c4e: DUP4
00001c4f: KECCAK256
00001c50: PUSH1 0x01
00001c52: PUSH1 0x01
00001c54: PUSH1 0xa0
00001c56: SHL
00001c57: SUB
00001c58: DUP7
00001c59: AND
00001c5a: DUP1
00001c5b: DUP6
00001c5c: MSTORE
00001c5d: SWAP3
00001c5e: MSTORE
00001c5f: DUP1
00001c60: DUP4
00001c61: KECCAK256
00001c62: DUP1
00001c63: SLOAD
00001c64: PUSH1 0xff
00001c66: NOT
00001c67: AND
00001c68: SWAP1
00001c69: SSTORE
00001c6a: MLOAD
00001c6b: CALLER
00001c6c: SWAP3
00001c6d: DUP7
00001c6e: SWAP2
00001c6f: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00001c90: SWAP2
00001c91: SWAP1
00001c92: LOG4
00001c93: POP
00001c94: PUSH1 0x01
00001c96: PUSH2 0x07f5
00001c99: JUMP
00001c9a: JUMPDEST
00001c9b: PUSH1 0x00
00001c9d: DUP2
00001c9e: DUP4
00001c9f: LT
00001ca0: PUSH2 0x158a
00001ca3: JUMPI
00001ca4: DUP2
00001ca5: PUSH2 0x158c
00001ca8: JUMP
00001ca9: JUMPDEST
00001caa: PUSH1 0x00
00001cac: PUSH2 0x1cb6
00001caf: DUP3
00001cb0: PUSH1 0x02
00001cb2: PUSH2 0x2383
00001cb5: JUMP
00001cb6: JUMPDEST
00001cb7: DUP4
00001cb8: MLOAD
00001cb9: LT
00001cba: ISZERO
00001cbb: PUSH2 0x1cfd
00001cbe: JUMPI
00001cbf: PUSH1 0x40
00001cc1: MLOAD
00001cc2: PUSH3 0x461bcd
00001cc6: PUSH1 0xe5
00001cc8: SHL
00001cc9: DUP2
00001cca: MSTORE
00001ccb: PUSH1 0x20
00001ccd: PUSH1 0x04
00001ccf: DUP3
00001cd0: ADD
00001cd1: MSTORE
00001cd2: PUSH1 0x14
00001cd4: PUSH1 0x24
00001cd6: DUP3
00001cd7: ADD
00001cd8: MSTORE
00001cd9: PUSH20 0x746f55696e7431365f6f75744f66426f756e6473
00001cee: PUSH1 0x60
00001cf0: SHL
00001cf1: PUSH1 0x44
00001cf3: DUP3
00001cf4: ADD
00001cf5: MSTORE
00001cf6: PUSH1 0x64
00001cf8: ADD
00001cf9: PUSH2 0x090e
00001cfc: JUMP
00001cfd: JUMPDEST
00001cfe: POP
00001cff: ADD
00001d00: PUSH1 0x02
00001d02: ADD
00001d03: MLOAD
00001d04: SWAP1
00001d05: JUMP
00001d06: JUMPDEST
00001d07: PUSH1 0x00
00001d09: PUSH2 0x1d13
00001d0c: DUP3
00001d0d: PUSH1 0x20
00001d0f: PUSH2 0x2383
00001d12: JUMP
00001d13: JUMPDEST
00001d14: DUP4
00001d15: MLOAD
00001d16: LT
00001d17: ISZERO
00001d18: PUSH2 0x1a8d
00001d1b: JUMPI
00001d1c: PUSH1 0x40
00001d1e: MLOAD
00001d1f: PUSH3 0x461bcd
00001d23: PUSH1 0xe5
00001d25: SHL
00001d26: DUP2
00001d27: MSTORE
00001d28: PUSH1 0x20
00001d2a: PUSH1 0x04
00001d2c: DUP3
00001d2d: ADD
00001d2e: MSTORE
00001d2f: PUSH1 0x15
00001d31: PUSH1 0x24
00001d33: DUP3
00001d34: ADD
00001d35: MSTORE
00001d36: PUSH21 0x746f427974657333325f6f75744f66426f756e6473
00001d4c: PUSH1 0x58
00001d4e: SHL
00001d4f: PUSH1 0x44
00001d51: DUP3
00001d52: ADD
00001d53: MSTORE
00001d54: PUSH1 0x64
00001d56: ADD
00001d57: PUSH2 0x090e
00001d5a: JUMP
00001d5b: JUMPDEST
00001d5c: PUSH1 0x60
00001d5e: DUP2
00001d5f: PUSH2 0x1d69
00001d62: DUP2
00001d63: PUSH1 0x1f
00001d65: PUSH2 0x2383
00001d68: JUMP
00001d69: JUMPDEST
00001d6a: LT
00001d6b: ISZERO
00001d6c: PUSH2 0x1da8
00001d6f: JUMPI
00001d70: PUSH1 0x40
00001d72: MLOAD
00001d73: PUSH3 0x461bcd
00001d77: PUSH1 0xe5
00001d79: SHL
00001d7a: DUP2
00001d7b: MSTORE
00001d7c: PUSH1 0x20
00001d7e: PUSH1 0x04
00001d80: DUP3
00001d81: ADD
00001d82: MSTORE
00001d83: PUSH1 0x0e
00001d85: PUSH1 0x24
00001d87: DUP3
00001d88: ADD
00001d89: MSTORE
00001d8a: PUSH14 0x736c6963655f6f766572666c6f77
00001d99: PUSH1 0x90
00001d9b: SHL
00001d9c: PUSH1 0x44
00001d9e: DUP3
00001d9f: ADD
00001da0: MSTORE
00001da1: PUSH1 0x64
00001da3: ADD
00001da4: PUSH2 0x090e
00001da7: JUMP
00001da8: JUMPDEST
00001da9: PUSH2 0x1db2
00001dac: DUP3
00001dad: DUP5
00001dae: PUSH2 0x2383
00001db1: JUMP
00001db2: JUMPDEST
00001db3: DUP5
00001db4: MLOAD
00001db5: LT
00001db6: ISZERO
00001db7: PUSH2 0x1df6
00001dba: JUMPI
00001dbb: PUSH1 0x40
00001dbd: MLOAD
00001dbe: PUSH3 0x461bcd
00001dc2: PUSH1 0xe5
00001dc4: SHL
00001dc5: DUP2
00001dc6: MSTORE
00001dc7: PUSH1 0x20
00001dc9: PUSH1 0x04
00001dcb: DUP3
00001dcc: ADD
00001dcd: MSTORE
00001dce: PUSH1 0x11
00001dd0: PUSH1 0x24
00001dd2: DUP3
00001dd3: ADD
00001dd4: MSTORE
00001dd5: PUSH17 0x736c6963655f6f75744f66426f756e6473
00001de7: PUSH1 0x78
00001de9: SHL
00001dea: PUSH1 0x44
00001dec: DUP3
00001ded: ADD
00001dee: MSTORE
00001def: PUSH1 0x64
00001df1: ADD
00001df2: PUSH2 0x090e
00001df5: JUMP
00001df6: JUMPDEST
00001df7: PUSH1 0x60
00001df9: DUP3
00001dfa: ISZERO
00001dfb: DUP1
00001dfc: ISZERO
00001dfd: PUSH2 0x1e15
00001e00: JUMPI
00001e01: PUSH1 0x40
00001e03: MLOAD
00001e04: SWAP2
00001e05: POP
00001e06: PUSH1 0x00
00001e08: DUP3
00001e09: MSTORE
00001e0a: PUSH1 0x20
00001e0c: DUP3
00001e0d: ADD
00001e0e: PUSH1 0x40
00001e10: MSTORE
00001e11: PUSH2 0x1e5f
00001e14: JUMP
00001e15: JUMPDEST
00001e16: PUSH1 0x40
00001e18: MLOAD
00001e19: SWAP2
00001e1a: POP
00001e1b: PUSH1 0x1f
00001e1d: DUP5
00001e1e: AND
00001e1f: DUP1
00001e20: ISZERO
00001e21: PUSH1 0x20
00001e23: MUL
00001e24: DUP2
00001e25: DUP5
00001e26: ADD
00001e27: ADD
00001e28: DUP6
00001e29: DUP2
00001e2a: ADD
00001e2b: DUP8
00001e2c: DUP4
00001e2d: ISZERO
00001e2e: PUSH1 0x20
00001e30: MUL
00001e31: DUP5
00001e32: DUP12
00001e33: ADD
00001e34: ADD
00001e35: ADD
00001e36: JUMPDEST
00001e37: DUP2
00001e38: DUP4
00001e39: LT
00001e3a: ISZERO
00001e3b: PUSH2 0x1e4e
00001e3e: JUMPI
00001e3f: DUP1
00001e40: MLOAD
00001e41: DUP4
00001e42: MSTORE
00001e43: PUSH1 0x20
00001e45: SWAP3
00001e46: DUP4
00001e47: ADD
00001e48: SWAP3
00001e49: ADD
00001e4a: PUSH2 0x1e36
00001e4d: JUMP
00001e4e: JUMPDEST
00001e4f: POP
00001e50: POP
00001e51: DUP6
00001e52: DUP5
00001e53: MSTORE
00001e54: PUSH1 0x1f
00001e56: ADD
00001e57: PUSH1 0x1f
00001e59: NOT
00001e5a: AND
00001e5b: PUSH1 0x40
00001e5d: MSTORE
00001e5e: POP
00001e5f: JUMPDEST
00001e60: POP
00001e61: SWAP5
00001e62: SWAP4
00001e63: POP
00001e64: POP
00001e65: POP
00001e66: POP
00001e67: JUMP
00001e68: JUMPDEST
00001e69: DUP1
00001e6a: CALLDATALOAD
00001e6b: PUSH1 0x01
00001e6d: PUSH1 0x01
00001e6f: PUSH1 0xe0
00001e71: SHL
00001e72: SUB
00001e73: NOT
00001e74: DUP2
00001e75: AND
00001e76: DUP2
00001e77: EQ
00001e78: PUSH2 0x1e80
00001e7b: JUMPI
00001e7c: PUSH1 0x00
00001e7e: DUP1
00001e7f: REVERT
00001e80: JUMPDEST
00001e81: SWAP2
00001e82: SWAP1
00001e83: POP
00001e84: JUMP
00001e85: JUMPDEST
00001e86: PUSH1 0x00
00001e88: PUSH1 0x20
00001e8a: DUP3
00001e8b: DUP5
00001e8c: SUB
00001e8d: SLT
00001e8e: ISZERO
00001e8f: PUSH2 0x1e97
00001e92: JUMPI
00001e93: PUSH1 0x00
00001e95: DUP1
00001e96: REVERT
00001e97: JUMPDEST
00001e98: PUSH2 0x158c
00001e9b: DUP3
00001e9c: PUSH2 0x1e68
00001e9f: JUMP
00001ea0: JUMPDEST
00001ea1: PUSH1 0x00
00001ea3: PUSH1 0x20
00001ea5: DUP3
00001ea6: DUP5
00001ea7: SUB
00001ea8: SLT
00001ea9: ISZERO
00001eaa: PUSH2 0x1eb2
00001ead: JUMPI
00001eae: PUSH1 0x00
00001eb0: DUP1
00001eb1: REVERT
00001eb2: JUMPDEST
00001eb3: POP
00001eb4: CALLDATALOAD
00001eb5: SWAP2
00001eb6: SWAP1
00001eb7: POP
00001eb8: JUMP
00001eb9: JUMPDEST
00001eba: PUSH1 0x01
00001ebc: PUSH1 0x01
00001ebe: PUSH1 0xa0
00001ec0: SHL
00001ec1: SUB
00001ec2: DUP2
00001ec3: AND
00001ec4: DUP2
00001ec5: EQ
00001ec6: PUSH2 0x085b
00001ec9: JUMPI
00001eca: PUSH1 0x00
00001ecc: DUP1
00001ecd: REVERT
00001ece: JUMPDEST
00001ecf: PUSH1 0x00
00001ed1: DUP1
00001ed2: PUSH1 0x40
00001ed4: DUP4
00001ed5: DUP6
00001ed6: SUB
00001ed7: SLT
00001ed8: ISZERO
00001ed9: PUSH2 0x1ee1
00001edc: JUMPI
00001edd: PUSH1 0x00
00001edf: DUP1
00001ee0: REVERT
00001ee1: JUMPDEST
00001ee2: DUP3
00001ee3: CALLDATALOAD
00001ee4: SWAP2
00001ee5: POP
00001ee6: PUSH1 0x20
00001ee8: DUP4
00001ee9: ADD
00001eea: CALLDATALOAD
00001eeb: PUSH2 0x1ef3
00001eee: DUP2
00001eef: PUSH2 0x1eb9
00001ef2: JUMP
00001ef3: JUMPDEST
00001ef4: DUP1
00001ef5: SWAP2
00001ef6: POP
00001ef7: POP
00001ef8: SWAP3
00001ef9: POP
00001efa: SWAP3
00001efb: SWAP1
00001efc: POP
00001efd: JUMP
00001efe: JUMPDEST
00001eff: DUP1
00001f00: CALLDATALOAD
00001f01: PUSH2 0xffff
00001f04: DUP2
00001f05: AND
00001f06: DUP2
00001f07: EQ
00001f08: PUSH2 0x1e80
00001f0b: JUMPI
00001f0c: PUSH1 0x00
00001f0e: DUP1
00001f0f: REVERT
00001f10: JUMPDEST
00001f11: PUSH1 0x00
00001f13: DUP1
00001f14: PUSH1 0x40
00001f16: DUP4
00001f17: DUP6
00001f18: SUB
00001f19: SLT
00001f1a: ISZERO
00001f1b: PUSH2 0x1f23
00001f1e: JUMPI
00001f1f: PUSH1 0x00
00001f21: DUP1
00001f22: REVERT
00001f23: JUMPDEST
00001f24: PUSH2 0x1f2c
00001f27: DUP4
00001f28: PUSH2 0x1efe
00001f2b: JUMP
00001f2c: JUMPDEST
00001f2d: SWAP5
00001f2e: PUSH1 0x20
00001f30: SWAP4
00001f31: SWAP1
00001f32: SWAP4
00001f33: ADD
00001f34: CALLDATALOAD
00001f35: SWAP4
00001f36: POP
00001f37: POP
00001f38: POP
00001f39: JUMP
00001f3a: JUMPDEST
00001f3b: PUSH4 0x4e487b71
00001f40: PUSH1 0xe0
00001f42: SHL
00001f43: PUSH1 0x00
00001f45: MSTORE
00001f46: PUSH1 0x41
00001f48: PUSH1 0x04
00001f4a: MSTORE
00001f4b: PUSH1 0x24
00001f4d: PUSH1 0x00
00001f4f: REVERT
00001f50: JUMPDEST
00001f51: PUSH1 0x40
00001f53: MLOAD
00001f54: PUSH1 0xe0
00001f56: DUP2
00001f57: ADD
00001f58: PUSH8 0xffffffffffffffff
00001f61: DUP2
00001f62: GT
00001f63: DUP3
00001f64: DUP3
00001f65: LT
00001f66: OR
00001f67: ISZERO
00001f68: PUSH2 0x1f73
00001f6b: JUMPI
00001f6c: PUSH2 0x1f73
00001f6f: PUSH2 0x1f3a
00001f72: JUMP
00001f73: JUMPDEST
00001f74: PUSH1 0x40
00001f76: MSTORE
00001f77: SWAP1
00001f78: JUMP
00001f79: JUMPDEST
00001f7a: PUSH1 0x00
00001f7c: DUP3
00001f7d: PUSH1 0x1f
00001f7f: DUP4
00001f80: ADD
00001f81: SLT
00001f82: PUSH2 0x1f8a
00001f85: JUMPI
00001f86: PUSH1 0x00
00001f88: DUP1
00001f89: REVERT
00001f8a: JUMPDEST
00001f8b: DUP2
00001f8c: CALLDATALOAD
00001f8d: PUSH8 0xffffffffffffffff
00001f96: DUP1
00001f97: DUP3
00001f98: GT
00001f99: ISZERO
00001f9a: PUSH2 0x1fa5
00001f9d: JUMPI
00001f9e: PUSH2 0x1fa5
00001fa1: PUSH2 0x1f3a
00001fa4: JUMP
00001fa5: JUMPDEST
00001fa6: PUSH1 0x40
00001fa8: MLOAD
00001fa9: PUSH1 0x1f
00001fab: DUP4
00001fac: ADD
00001fad: PUSH1 0x1f
00001faf: NOT
00001fb0: SWAP1
00001fb1: DUP2
00001fb2: AND
00001fb3: PUSH1 0x3f
00001fb5: ADD
00001fb6: AND
00001fb7: DUP2
00001fb8: ADD
00001fb9: SWAP1
00001fba: DUP3
00001fbb: DUP3
00001fbc: GT
00001fbd: DUP2
00001fbe: DUP4
00001fbf: LT
00001fc0: OR
00001fc1: ISZERO
00001fc2: PUSH2 0x1fcd
00001fc5: JUMPI
00001fc6: PUSH2 0x1fcd
00001fc9: PUSH2 0x1f3a
00001fcc: JUMP
00001fcd: JUMPDEST
00001fce: DUP2
00001fcf: PUSH1 0x40
00001fd1: MSTORE
00001fd2: DUP4
00001fd3: DUP2
00001fd4: MSTORE
00001fd5: DUP7
00001fd6: PUSH1 0x20
00001fd8: DUP6
00001fd9: DUP9
00001fda: ADD
00001fdb: ADD
00001fdc: GT
00001fdd: ISZERO
00001fde: PUSH2 0x1fe6
00001fe1: JUMPI
00001fe2: PUSH1 0x00
00001fe4: DUP1
00001fe5: REVERT
00001fe6: JUMPDEST
00001fe7: DUP4
00001fe8: PUSH1 0x20
00001fea: DUP8
00001feb: ADD
00001fec: PUSH1 0x20
00001fee: DUP4
00001fef: ADD
00001ff0: CALLDATACOPY
00001ff1: PUSH1 0x00
00001ff3: PUSH1 0x20
00001ff5: DUP6
00001ff6: DUP4
00001ff7: ADD
00001ff8: ADD
00001ff9: MSTORE
00001ffa: DUP1
00001ffb: SWAP5
00001ffc: POP
00001ffd: POP
00001ffe: POP
00001fff: POP
00002000: POP
00002001: SWAP3
00002002: SWAP2
00002003: POP
00002004: POP
00002005: JUMP
00002006: JUMPDEST
00002007: PUSH1 0x00
00002009: PUSH1 0xe0
0000200b: DUP3
0000200c: DUP5
0000200d: SUB
0000200e: SLT
0000200f: ISZERO
00002010: PUSH2 0x2018
00002013: JUMPI
00002014: PUSH1 0x00
00002016: DUP1
00002017: REVERT
00002018: JUMPDEST
00002019: PUSH2 0x2020
0000201c: PUSH2 0x1f50
0000201f: JUMP
00002020: JUMPDEST
00002021: SWAP1
00002022: POP
00002023: DUP2
00002024: CALLDATALOAD
00002025: DUP2
00002026: MSTORE
00002027: PUSH2 0x2032
0000202a: PUSH1 0x20
0000202c: DUP4
0000202d: ADD
0000202e: PUSH2 0x1efe
00002031: JUMP
00002032: JUMPDEST
00002033: PUSH1 0x20
00002035: DUP3
00002036: ADD
00002037: MSTORE
00002038: PUSH1 0x40
0000203a: DUP3
0000203b: ADD
0000203c: CALLDATALOAD
0000203d: PUSH1 0x40
0000203f: DUP3
00002040: ADD
00002041: MSTORE
00002042: PUSH1 0x60
00002044: DUP3
00002045: ADD
00002046: CALLDATALOAD
00002047: PUSH1 0x60
00002049: DUP3
0000204a: ADD
0000204b: MSTORE
0000204c: PUSH1 0x80
0000204e: DUP3
0000204f: ADD
00002050: CALLDATALOAD
00002051: PUSH8 0xffffffffffffffff
0000205a: DUP2
0000205b: GT
0000205c: ISZERO
0000205d: PUSH2 0x2065
00002060: JUMPI
00002061: PUSH1 0x00
00002063: DUP1
00002064: REVERT
00002065: JUMPDEST
00002066: PUSH2 0x2071
00002069: DUP5
0000206a: DUP3
0000206b: DUP6
0000206c: ADD
0000206d: PUSH2 0x1f79
00002070: JUMP
00002071: JUMPDEST
00002072: PUSH1 0x80
00002074: DUP4
00002075: ADD
00002076: MSTORE
00002077: POP
00002078: PUSH2 0x2083
0000207b: PUSH1 0xa0
0000207d: DUP4
0000207e: ADD
0000207f: PUSH2 0x1efe
00002082: JUMP
00002083: JUMPDEST
00002084: PUSH1 0xa0
00002086: DUP3
00002087: ADD
00002088: MSTORE
00002089: PUSH1 0xc0
0000208b: DUP3
0000208c: ADD
0000208d: CALLDATALOAD
0000208e: PUSH1 0xc0
00002090: DUP3
00002091: ADD
00002092: MSTORE
00002093: SWAP3
00002094: SWAP2
00002095: POP
00002096: POP
00002097: JUMP
00002098: JUMPDEST
00002099: PUSH1 0x00
0000209b: DUP1
0000209c: PUSH1 0x00
0000209e: PUSH1 0x60
000020a0: DUP5
000020a1: DUP7
000020a2: SUB
000020a3: SLT
000020a4: ISZERO
000020a5: PUSH2 0x20ad
000020a8: JUMPI
000020a9: PUSH1 0x00
000020ab: DUP1
000020ac: REVERT
000020ad: JUMPDEST
000020ae: DUP4
000020af: CALLDATALOAD
000020b0: PUSH8 0xffffffffffffffff
000020b9: DUP1
000020ba: DUP3
000020bb: GT
000020bc: ISZERO
000020bd: PUSH2 0x20c5
000020c0: JUMPI
000020c1: PUSH1 0x00
000020c3: DUP1
000020c4: REVERT
000020c5: JUMPDEST
000020c6: PUSH2 0x20d1
000020c9: DUP8
000020ca: DUP4
000020cb: DUP9
000020cc: ADD
000020cd: PUSH2 0x2006
000020d0: JUMP
000020d1: JUMPDEST
000020d2: SWAP5
000020d3: POP
000020d4: PUSH1 0x20
000020d6: DUP7
000020d7: ADD
000020d8: CALLDATALOAD
000020d9: SWAP2
000020da: POP
000020db: PUSH2 0x20e3
000020de: DUP3
000020df: PUSH2 0x1eb9
000020e2: JUMP
000020e3: JUMPDEST
000020e4: SWAP1
000020e5: SWAP3
000020e6: POP
000020e7: PUSH1 0x40
000020e9: DUP6
000020ea: ADD
000020eb: CALLDATALOAD
000020ec: SWAP1
000020ed: DUP1
000020ee: DUP3
000020ef: GT
000020f0: ISZERO
000020f1: PUSH2 0x20f9
000020f4: JUMPI
000020f5: PUSH1 0x00
000020f7: DUP1
000020f8: REVERT
000020f9: JUMPDEST
000020fa: POP
000020fb: PUSH2 0x2106
000020fe: DUP7
000020ff: DUP3
00002100: DUP8
00002101: ADD
00002102: PUSH2 0x1f79
00002105: JUMP
00002106: JUMPDEST
00002107: SWAP2
00002108: POP
00002109: POP
0000210a: SWAP3
0000210b: POP
0000210c: SWAP3
0000210d: POP
0000210e: SWAP3
0000210f: JUMP
00002110: JUMPDEST
00002111: PUSH1 0x00
00002113: PUSH1 0xa0
00002115: DUP3
00002116: DUP5
00002117: SUB
00002118: SLT
00002119: ISZERO
0000211a: PUSH2 0x2122
0000211d: JUMPI
0000211e: PUSH1 0x00
00002120: DUP1
00002121: REVERT
00002122: JUMPDEST
00002123: PUSH1 0x40
00002125: MLOAD
00002126: PUSH1 0xa0
00002128: DUP2
00002129: ADD
0000212a: DUP2
0000212b: DUP2
0000212c: LT
0000212d: PUSH8 0xffffffffffffffff
00002136: DUP3
00002137: GT
00002138: OR
00002139: ISZERO
0000213a: PUSH2 0x2145
0000213d: JUMPI
0000213e: PUSH2 0x2145
00002141: PUSH2 0x1f3a
00002144: JUMP
00002145: JUMPDEST
00002146: PUSH1 0x40
00002148: MSTORE
00002149: SWAP1
0000214a: POP
0000214b: DUP1
0000214c: PUSH2 0x2154
0000214f: DUP4
00002150: PUSH2 0x1efe
00002153: JUMP
00002154: JUMPDEST
00002155: DUP2
00002156: MSTORE
00002157: PUSH2 0x2162
0000215a: PUSH1 0x20
0000215c: DUP5
0000215d: ADD
0000215e: PUSH2 0x1efe
00002161: JUMP
00002162: JUMPDEST
00002163: PUSH1 0x20
00002165: DUP3
00002166: ADD
00002167: MSTORE
00002168: PUSH1 0x40
0000216a: DUP4
0000216b: ADD
0000216c: CALLDATALOAD
0000216d: PUSH1 0x40
0000216f: DUP3
00002170: ADD
00002171: MSTORE
00002172: PUSH1 0x60
00002174: DUP4
00002175: ADD
00002176: CALLDATALOAD
00002177: PUSH1 0x60
00002179: DUP3
0000217a: ADD
0000217b: MSTORE
0000217c: PUSH1 0x80
0000217e: DUP4
0000217f: ADD
00002180: CALLDATALOAD
00002181: PUSH1 0x80
00002183: DUP3
00002184: ADD
00002185: MSTORE
00002186: POP
00002187: SWAP3
00002188: SWAP2
00002189: POP
0000218a: POP
0000218b: JUMP
0000218c: JUMPDEST
0000218d: PUSH1 0x00
0000218f: DUP1
00002190: PUSH1 0x00
00002192: DUP1
00002193: PUSH2 0x0100
00002196: DUP6
00002197: DUP8
00002198: SUB
00002199: SLT
0000219a: ISZERO
0000219b: PUSH2 0x21a3
0000219e: JUMPI
0000219f: PUSH1 0x00
000021a1: DUP1
000021a2: REVERT
000021a3: JUMPDEST
000021a4: PUSH2 0x21ad
000021a7: DUP7
000021a8: DUP7
000021a9: PUSH2 0x2110
000021ac: JUMP
000021ad: JUMPDEST
000021ae: SWAP7
000021af: PUSH1 0xa0
000021b1: DUP7
000021b2: ADD
000021b3: CALLDATALOAD
000021b4: SWAP7
000021b5: POP
000021b6: PUSH1 0xc0
000021b8: DUP7
000021b9: ADD
000021ba: CALLDATALOAD
000021bb: SWAP6
000021bc: PUSH1 0xe0
000021be: ADD
000021bf: CALLDATALOAD
000021c0: SWAP5
000021c1: POP
000021c2: SWAP3
000021c3: POP
000021c4: POP
000021c5: POP
000021c6: JUMP
000021c7: JUMPDEST
000021c8: PUSH1 0x00
000021ca: DUP1
000021cb: PUSH1 0x00
000021cd: DUP1
000021ce: PUSH1 0x00
000021d0: DUP1
000021d1: PUSH2 0x0140
000021d4: DUP8
000021d5: DUP10
000021d6: SUB
000021d7: SLT
000021d8: ISZERO
000021d9: PUSH2 0x21e1
000021dc: JUMPI
000021dd: PUSH1 0x00
000021df: DUP1
000021e0: REVERT
000021e1: JUMPDEST
000021e2: PUSH2 0x21eb
000021e5: DUP9
000021e6: DUP9
000021e7: PUSH2 0x2110
000021ea: JUMP
000021eb: JUMPDEST
000021ec: SWAP6
000021ed: POP
000021ee: PUSH1 0xa0
000021f0: DUP8
000021f1: ADD
000021f2: CALLDATALOAD
000021f3: SWAP5
000021f4: POP
000021f5: PUSH2 0x2200
000021f8: PUSH1 0xc0
000021fa: DUP9
000021fb: ADD
000021fc: PUSH2 0x1e68
000021ff: JUMP
00002200: JUMPDEST
00002201: SWAP4
00002202: POP
00002203: PUSH1 0xe0
00002205: DUP8
00002206: ADD
00002207: CALLDATALOAD
00002208: SWAP3
00002209: POP
0000220a: PUSH2 0x2216
0000220d: PUSH2 0x0100
00002210: DUP9
00002211: ADD
00002212: PUSH2 0x1efe
00002215: JUMP
00002216: JUMPDEST
00002217: SWAP2
00002218: POP
00002219: PUSH2 0x0120
0000221c: DUP8
0000221d: ADD
0000221e: CALLDATALOAD
0000221f: SWAP1
00002220: POP
00002221: SWAP3
00002222: SWAP6
00002223: POP
00002224: SWAP3
00002225: SWAP6
00002226: POP
00002227: SWAP3
00002228: SWAP6
00002229: JUMP
0000222a: JUMPDEST
0000222b: PUSH1 0x00
0000222d: PUSH1 0x20
0000222f: DUP3
00002230: DUP5
00002231: SUB
00002232: SLT
00002233: ISZERO
00002234: PUSH2 0x223c
00002237: JUMPI
00002238: PUSH1 0x00
0000223a: DUP1
0000223b: REVERT
0000223c: JUMPDEST
0000223d: DUP2
0000223e: CALLDATALOAD
0000223f: PUSH2 0x158c
00002242: DUP2
00002243: PUSH2 0x1eb9
00002246: JUMP
00002247: JUMPDEST
00002248: PUSH1 0x00
0000224a: PUSH1 0x20
0000224c: DUP3
0000224d: DUP5
0000224e: SUB
0000224f: SLT
00002250: ISZERO
00002251: PUSH2 0x2259
00002254: JUMPI
00002255: PUSH1 0x00
00002257: DUP1
00002258: REVERT
00002259: JUMPDEST
0000225a: DUP2
0000225b: CALLDATALOAD
0000225c: PUSH6 0xffffffffffff
00002263: DUP2
00002264: AND
00002265: DUP2
00002266: EQ
00002267: PUSH2 0x158c
0000226a: JUMPI
0000226b: PUSH1 0x00
0000226d: DUP1
0000226e: REVERT
0000226f: JUMPDEST
00002270: PUSH1 0x00
00002272: PUSH1 0x20
00002274: DUP3
00002275: DUP5
00002276: SUB
00002277: SLT
00002278: ISZERO
00002279: PUSH2 0x2281
0000227c: JUMPI
0000227d: PUSH1 0x00
0000227f: DUP1
00002280: REVERT
00002281: JUMPDEST
00002282: DUP2
00002283: CALLDATALOAD
00002284: PUSH8 0xffffffffffffffff
0000228d: DUP2
0000228e: GT
0000228f: ISZERO
00002290: PUSH2 0x2298
00002293: JUMPI
00002294: PUSH1 0x00
00002296: DUP1
00002297: REVERT
00002298: JUMPDEST
00002299: PUSH2 0x22a4
0000229c: DUP5
0000229d: DUP3
0000229e: DUP6
0000229f: ADD
000022a0: PUSH2 0x2006
000022a3: JUMP
000022a4: JUMPDEST
000022a5: SWAP5
000022a6: SWAP4
000022a7: POP
000022a8: POP
000022a9: POP
000022aa: POP
000022ab: JUMP
000022ac: JUMPDEST
000022ad: DUP1
000022ae: CALLDATALOAD
000022af: PUSH4 0xffffffff
000022b4: DUP2
000022b5: AND
000022b6: DUP2
000022b7: EQ
000022b8: PUSH2 0x1e80
000022bb: JUMPI
000022bc: PUSH1 0x00
000022be: DUP1
000022bf: REVERT
000022c0: JUMPDEST
000022c1: PUSH1 0x00
000022c3: PUSH1 0x60
000022c5: DUP3
000022c6: DUP5
000022c7: SUB
000022c8: SLT
000022c9: ISZERO
000022ca: PUSH2 0x22d2
000022cd: JUMPI
000022ce: PUSH1 0x00
000022d0: DUP1
000022d1: REVERT
000022d2: JUMPDEST
000022d3: PUSH1 0x40
000022d5: MLOAD
000022d6: PUSH1 0x60
000022d8: DUP2
000022d9: ADD
000022da: DUP2
000022db: DUP2
000022dc: LT
000022dd: PUSH8 0xffffffffffffffff
000022e6: DUP3
000022e7: GT
000022e8: OR
000022e9: ISZERO
000022ea: PUSH2 0x22f5
000022ed: JUMPI
000022ee: PUSH2 0x22f5
000022f1: PUSH2 0x1f3a
000022f4: JUMP
000022f5: JUMPDEST
000022f6: PUSH1 0x40
000022f8: MSTORE
000022f9: PUSH2 0x2301
000022fc: DUP4
000022fd: PUSH2 0x22ac
00002300: JUMP
00002301: JUMPDEST
00002302: DUP2
00002303: MSTORE
00002304: PUSH2 0x230f
00002307: PUSH1 0x20
00002309: DUP5
0000230a: ADD
0000230b: PUSH2 0x22ac
0000230e: JUMP
0000230f: JUMPDEST
00002310: PUSH1 0x20
00002312: DUP3
00002313: ADD
00002314: MSTORE
00002315: PUSH1 0x40
00002317: DUP4
00002318: ADD
00002319: CALLDATALOAD
0000231a: PUSH1 0x40
0000231c: DUP3
0000231d: ADD
0000231e: MSTORE
0000231f: DUP1
00002320: SWAP2
00002321: POP
00002322: POP
00002323: SWAP3
00002324: SWAP2
00002325: POP
00002326: POP
00002327: JUMP
00002328: JUMPDEST
00002329: PUSH1 0x00
0000232b: DUP1
0000232c: PUSH1 0x00
0000232e: DUP1
0000232f: PUSH1 0x00
00002331: PUSH2 0x0120
00002334: DUP7
00002335: DUP9
00002336: SUB
00002337: SLT
00002338: ISZERO
00002339: PUSH2 0x2341
0000233c: JUMPI
0000233d: PUSH1 0x00
0000233f: DUP1
00002340: REVERT
00002341: JUMPDEST
00002342: PUSH2 0x234b
00002345: DUP8
00002346: DUP8
00002347: PUSH2 0x2110
0000234a: JUMP
0000234b: JUMPDEST
0000234c: SWAP8
0000234d: PUSH1 0xa0
0000234f: DUP8
00002350: ADD
00002351: CALLDATALOAD
00002352: SWAP8
00002353: POP
00002354: PUSH1 0xc0
00002356: DUP8
00002357: ADD
00002358: CALLDATALOAD
00002359: SWAP7
0000235a: PUSH1 0xe0
0000235c: DUP2
0000235d: ADD
0000235e: CALLDATALOAD
0000235f: SWAP7
00002360: POP
00002361: PUSH2 0x0100
00002364: ADD
00002365: CALLDATALOAD
00002366: SWAP5
00002367: POP
00002368: SWAP3
00002369: POP
0000236a: POP
0000236b: POP
0000236c: JUMP
0000236d: JUMPDEST
0000236e: PUSH4 0x4e487b71
00002373: PUSH1 0xe0
00002375: SHL
00002376: PUSH1 0x00
00002378: MSTORE
00002379: PUSH1 0x11
0000237b: PUSH1 0x04
0000237d: MSTORE
0000237e: PUSH1 0x24
00002380: PUSH1 0x00
00002382: REVERT
00002383: JUMPDEST
00002384: DUP1
00002385: DUP3
00002386: ADD
00002387: DUP1
00002388: DUP3
00002389: GT
0000238a: ISZERO
0000238b: PUSH2 0x07f5
0000238e: JUMPI
0000238f: PUSH2 0x07f5
00002392: PUSH2 0x236d
00002395: JUMP
00002396: JUMPDEST
00002397: PUSH4 0xffffffff
0000239c: DUP2
0000239d: DUP2
0000239e: AND
0000239f: DUP4
000023a0: DUP3
000023a1: AND
000023a2: ADD
000023a3: SWAP1
000023a4: DUP1
000023a5: DUP3
000023a6: GT
000023a7: ISZERO
000023a8: PUSH2 0x23b3
000023ab: JUMPI
000023ac: PUSH2 0x23b3
000023af: PUSH2 0x236d
000023b2: JUMP
000023b3: JUMPDEST
000023b4: POP
000023b5: SWAP3
000023b6: SWAP2
000023b7: POP
000023b8: POP
000023b9: JUMP
000023ba: JUMPDEST
000023bb: PUSH4 0x4e487b71
000023c0: PUSH1 0xe0
000023c2: SHL
000023c3: PUSH1 0x00
000023c5: MSTORE
000023c6: PUSH1 0x12
000023c8: PUSH1 0x04
000023ca: MSTORE
000023cb: PUSH1 0x24
000023cd: PUSH1 0x00
000023cf: REVERT
000023d0: JUMPDEST
000023d1: PUSH1 0x00
000023d3: PUSH4 0xffffffff
000023d8: DUP1
000023d9: DUP5
000023da: AND
000023db: DUP1
000023dc: PUSH2 0x23e7
000023df: JUMPI
000023e0: PUSH2 0x23e7
000023e3: PUSH2 0x23ba
000023e6: JUMP
000023e7: JUMPDEST
000023e8: SWAP3
000023e9: AND
000023ea: SWAP2
000023eb: SWAP1
000023ec: SWAP2
000023ed: DIV
000023ee: SWAP3
000023ef: SWAP2
000023f0: POP
000023f1: POP
000023f2: JUMP
000023f3: JUMPDEST
000023f4: PUSH4 0x4e487b71
000023f9: PUSH1 0xe0
000023fb: SHL
000023fc: PUSH1 0x00
000023fe: MSTORE
000023ff: PUSH1 0x21
00002401: PUSH1 0x04
00002403: MSTORE
00002404: PUSH1 0x24
00002406: PUSH1 0x00
00002408: REVERT
00002409: JUMPDEST
0000240a: PUSH1 0x00
0000240c: PUSH1 0x20
0000240e: DUP3
0000240f: DUP5
00002410: SUB
00002411: SLT
00002412: ISZERO
00002413: PUSH2 0x241b
00002416: JUMPI
00002417: PUSH1 0x00
00002419: DUP1
0000241a: REVERT
0000241b: JUMPDEST
0000241c: DUP2
0000241d: MLOAD
0000241e: DUP1
0000241f: ISZERO
00002420: ISZERO
00002421: DUP2
00002422: EQ
00002423: PUSH2 0x158c
00002426: JUMPI
00002427: PUSH1 0x00
00002429: DUP1
0000242a: REVERT
0000242b: JUMPDEST
0000242c: PUSH6 0xffffffffffff
00002433: DUP2
00002434: DUP2
00002435: AND
00002436: DUP4
00002437: DUP3
00002438: AND
00002439: ADD
0000243a: SWAP1
0000243b: DUP1
0000243c: DUP3
0000243d: GT
0000243e: ISZERO
0000243f: PUSH2 0x23b3
00002442: JUMPI
00002443: PUSH2 0x23b3
00002446: PUSH2 0x236d
00002449: JUMP
0000244a: JUMPDEST
0000244b: PUSH1 0x00
0000244d: DUP3
0000244e: PUSH2 0x2459
00002451: JUMPI
00002452: PUSH2 0x2459
00002455: PUSH2 0x23ba
00002458: JUMP
00002459: JUMPDEST
0000245a: POP
0000245b: DIV
0000245c: SWAP1
0000245d: JUMP
0000245e: JUMPDEST
0000245f: DUP2
00002460: DUP2
00002461: SUB
00002462: DUP2
00002463: DUP2
00002464: GT
00002465: ISZERO
00002466: PUSH2 0x07f5
00002469: JUMPI
0000246a: PUSH2 0x07f5
0000246d: PUSH2 0x236d
00002470: JUMP
00002471: JUMPDEST
00002472: PUSH1 0x00
00002474: JUMPDEST
00002475: DUP4
00002476: DUP2
00002477: LT
00002478: ISZERO
00002479: PUSH2 0x248c
0000247c: JUMPI
0000247d: DUP2
0000247e: DUP2
0000247f: ADD
00002480: MLOAD
00002481: DUP4
00002482: DUP3
00002483: ADD
00002484: MSTORE
00002485: PUSH1 0x20
00002487: ADD
00002488: PUSH2 0x2474
0000248b: JUMP
0000248c: JUMPDEST
0000248d: POP
0000248e: POP
0000248f: PUSH1 0x00
00002491: SWAP2
00002492: ADD
00002493: MSTORE
00002494: JUMP
00002495: JUMPDEST
00002496: PUSH2 0xffff
00002499: PUSH1 0xf0
0000249b: SHL
0000249c: DUP6
0000249d: PUSH1 0xf0
0000249f: SHL
000024a0: AND
000024a1: DUP2
000024a2: MSTORE
000024a3: DUP4
000024a4: PUSH1 0x02
000024a6: DUP3
000024a7: ADD
000024a8: MSTORE
000024a9: DUP3
000024aa: PUSH1 0x22
000024ac: DUP3
000024ad: ADD
000024ae: MSTORE
000024af: PUSH1 0x00
000024b1: DUP3
000024b2: MLOAD
000024b3: PUSH2 0x24c3
000024b6: DUP2
000024b7: PUSH1 0x42
000024b9: DUP6
000024ba: ADD
000024bb: PUSH1 0x20
000024bd: DUP8
000024be: ADD
000024bf: PUSH2 0x2471
000024c2: JUMP
000024c3: JUMPDEST
000024c4: SWAP2
000024c5: SWAP1
000024c6: SWAP2
000024c7: ADD
000024c8: PUSH1 0x42
000024ca: ADD
000024cb: SWAP6
000024cc: SWAP5
000024cd: POP
000024ce: POP
000024cf: POP
000024d0: POP
000024d1: POP
000024d2: JUMP
000024d3: JUMPDEST
000024d4: PUSH1 0x00
000024d6: DUP2
000024d7: MLOAD
000024d8: DUP1
000024d9: DUP5
000024da: MSTORE
000024db: PUSH2 0x24eb
000024de: DUP2
000024df: PUSH1 0x20
000024e1: DUP7
000024e2: ADD
000024e3: PUSH1 0x20
000024e5: DUP7
000024e6: ADD
000024e7: PUSH2 0x2471
000024ea: JUMP
000024eb: JUMPDEST
000024ec: PUSH1 0x1f
000024ee: ADD
000024ef: PUSH1 0x1f
000024f1: NOT
000024f2: AND
000024f3: SWAP3
000024f4: SWAP1
000024f5: SWAP3
000024f6: ADD
000024f7: PUSH1 0x20
000024f9: ADD
000024fa: SWAP3
000024fb: SWAP2
000024fc: POP
000024fd: POP
000024fe: JUMP
000024ff: JUMPDEST
00002500: PUSH1 0x20
00002502: DUP2
00002503: MSTORE
00002504: PUSH1 0x00
00002506: DUP3
00002507: MLOAD
00002508: PUSH2 0xffff
0000250b: DUP1
0000250c: DUP3
0000250d: MLOAD
0000250e: AND
0000250f: PUSH1 0x20
00002511: DUP6
00002512: ADD
00002513: MSTORE
00002514: DUP1
00002515: PUSH1 0x20
00002517: DUP4
00002518: ADD
00002519: MLOAD
0000251a: AND
0000251b: PUSH1 0x40
0000251d: DUP6
0000251e: ADD
0000251f: MSTORE
00002520: POP
00002521: PUSH1 0x40
00002523: DUP2
00002524: ADD
00002525: MLOAD
00002526: PUSH1 0x60
00002528: DUP5
00002529: ADD
0000252a: MSTORE
0000252b: PUSH1 0x60
0000252d: DUP2
0000252e: ADD
0000252f: MLOAD
00002530: PUSH1 0x80
00002532: DUP5
00002533: ADD
00002534: MSTORE
00002535: PUSH1 0x80
00002537: DUP2
00002538: ADD
00002539: MLOAD
0000253a: PUSH1 0xa0
0000253c: DUP5
0000253d: ADD
0000253e: MSTORE
0000253f: POP
00002540: PUSH1 0x20
00002542: DUP4
00002543: ADD
00002544: MLOAD
00002545: PUSH1 0xc0
00002547: DUP4
00002548: ADD
00002549: MSTORE
0000254a: PUSH1 0x40
0000254c: DUP4
0000254d: ADD
0000254e: MLOAD
0000254f: PUSH2 0x255e
00002552: PUSH1 0xe0
00002554: DUP5
00002555: ADD
00002556: DUP3
00002557: PUSH2 0xffff
0000255a: AND
0000255b: SWAP1
0000255c: MSTORE
0000255d: JUMP
0000255e: JUMPDEST
0000255f: POP
00002560: PUSH1 0x60
00002562: DUP4
00002563: ADD
00002564: MLOAD
00002565: PUSH2 0x0100
00002568: DUP4
00002569: ADD
0000256a: MSTORE
0000256b: PUSH1 0x80
0000256d: DUP4
0000256e: ADD
0000256f: MLOAD
00002570: PUSH2 0x0160
00002573: DUP1
00002574: PUSH2 0x0120
00002577: DUP6
00002578: ADD
00002579: MSTORE
0000257a: PUSH2 0x2587
0000257d: PUSH2 0x0180
00002580: DUP6
00002581: ADD
00002582: DUP4
00002583: PUSH2 0x24d3
00002586: JUMP
00002587: JUMPDEST
00002588: SWAP2
00002589: POP
0000258a: PUSH1 0xa0
0000258c: DUP6
0000258d: ADD
0000258e: MLOAD
0000258f: PUSH2 0x25a5
00002592: PUSH2 0x0140
00002595: DUP7
00002596: ADD
00002597: DUP3
00002598: PUSH8 0xffffffffffffffff
000025a1: AND
000025a2: SWAP1
000025a3: MSTORE
000025a4: JUMP
000025a5: JUMPDEST
000025a6: POP
000025a7: PUSH1 0xc0
000025a9: DUP6
000025aa: ADD
000025ab: MLOAD
000025ac: DUP5
000025ad: DUP4
000025ae: SUB
000025af: PUSH1 0x1f
000025b1: NOT
000025b2: ADD
000025b3: DUP3
000025b4: DUP7
000025b5: ADD
000025b6: MSTORE
000025b7: PUSH2 0x25c0
000025ba: DUP4
000025bb: DUP3
000025bc: PUSH2 0x24d3
000025bf: JUMP
000025c0: JUMPDEST
000025c1: SWAP7
000025c2: SWAP6
000025c3: POP
000025c4: POP
000025c5: POP
000025c6: POP
000025c7: POP
000025c8: POP
000025c9: JUMP
000025ca: JUMPDEST
000025cb: PUSH6 0xffffffffffff
000025d2: DUP3
000025d3: DUP2
000025d4: AND
000025d5: DUP3
000025d6: DUP3
000025d7: AND
000025d8: SUB
000025d9: SWAP1
000025da: DUP1
000025db: DUP3
000025dc: GT
000025dd: ISZERO
000025de: PUSH2 0x23b3
000025e1: JUMPI
000025e2: PUSH2 0x23b3
000025e5: PUSH2 0x236d
000025e8: JUMP
000025e9: INVALID
000025ea: LOG2
000025eb: PUSH5 0x6970667358
000025f1: UNKNOWN(0x22)
000025f2: SLT
000025f3: KECCAK256
000025f4: SWAP2
000025f5: SWAP4
000025f6: UNKNOWN(0x28)
000025f7: UNKNOWN(0x4E)
000025f8: GAS
000025f9: UNKNOWN(0xF8)
000025fa: DIFFICULTY
000025fb: UNKNOWN(0xCA)
000025fc: UNKNOWN(0xF6)
000025fd: PUSH2 0x3493
00002600: PUSH20 0xb3b4d319a8bcd6737bba8e2b6419dc6dd7bff764
00002615: PUSH20

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xf1526c4c9356535e5ffab908fbc638992723981a37a7a15214366f36296615c3
call_targets: 0xe3b0e4db870aa58a24f87d895c62d3dc5cd05883
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xf1526c4c9356535e5ffab908fbc638992723981a37a7a15214366f36296615c3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe3b0e4db870aa58a24f87d895c62d3dc5cd05883"
    ],
    "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": "0xd0e75dbe",
            "selector": "0xd0e75dbe",
            "calldata_variants": [
                "0xd0e75dbe",
                "0xd0e75dbe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd602b9fd",
            "selector": "0xd602b9fd",
            "calldata_variants": [
                "0xd602b9fd",
                "0xd602b9fd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe05a8f9f",
            "selector": "0xe05a8f9f",
            "calldata_variants": [
                "0xe05a8f9f",
                "0xe05a8f9f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8056bb8",
            "selector": "0xe8056bb8",
            "calldata_variants": [
                "0xe8056bb8",
                "0xe8056bb80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc11bb7fe",
            "selector": "0xc11bb7fe",
            "calldata_variants": [
                "0xc11bb7fe",
                "0xc11bb7fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc46f9dd8",
            "selector": "0xc46f9dd8",
            "calldata_variants": [
                "0xc46f9dd8",
                "0xc46f9dd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc8463c8",
            "selector": "0xcc8463c8",
            "calldata_variants": [
                "0xcc8463c8",
                "0xcc8463c80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6208,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6987,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xf1526c4c9356535e5ffab908fbc638992723981a37a7a15214366f36296615c3
call_targets: 0xe3b0e4db870aa58a24f87d895c62d3dc5cd05883
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xf1526c4c9356535e5ffab908fbc638992723981a37a7a15214366f36296615c3",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe3b0e4db870aa58a24f87d895c62d3dc5cd05883"
    ],
    "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": "0xd0e75dbe",
            "selector": "0xd0e75dbe",
            "calldata_variants": [
                "0xd0e75dbe",
                "0xd0e75dbe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd602b9fd",
            "selector": "0xd602b9fd",
            "calldata_variants": [
                "0xd602b9fd",
                "0xd602b9fd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe05a8f9f",
            "selector": "0xe05a8f9f",
            "calldata_variants": [
                "0xe05a8f9f",
                "0xe05a8f9f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe8056bb8",
            "selector": "0xe8056bb8",
            "calldata_variants": [
                "0xe8056bb8",
                "0xe8056bb80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc11bb7fe",
            "selector": "0xc11bb7fe",
            "calldata_variants": [
                "0xc11bb7fe",
                "0xc11bb7fe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc46f9dd8",
            "selector": "0xc46f9dd8",
            "calldata_variants": [
                "0xc46f9dd8",
                "0xc46f9dd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc8463c8",
            "selector": "0xcc8463c8",
            "calldata_variants": [
                "0xcc8463c8",
                "0xcc8463c80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6208,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6987,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
high other slither SpokeGasToken._sendToken(address,uint256) (contracts/spoke/SpokeGasToken.sol#35-38) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "_sendToken",
            "type": "function",
            "source_mapping": {
                "lines": [
                    35,
                    36,
                    37,
                    38
                ],
                "start": 1105,
                "length": 205,
                "ending_column": 6,
                "is_dependency": false,
                "filename_short": "contracts/spoke/SpokeGasToken.sol",
                "starting_column": 5,
                "filename_absolute": "/tmp/slither-zxad7zl6/contracts/spoke/SpokeGasToken.sol",
                "filename_relative": "contracts/spoke/SpokeGasToken.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "SpokeGasToken",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            9,
                            10,
                            11,
                            12,
                            13,
                            14,
                            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
                        ],
                        "start": 224,
                        "length": 1207,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "contracts/spoke/SpokeGasToken.sol",
                        "starting_column": 1,
                        "filename_absolute": "/tmp/slither-zxad7zl6/contracts/spoke/SpokeGasToken.sol",
                        "filename_relative": "contracts/spoke/SpokeGasToken.sol"
                    }
                },
                "signature": "_sendToken(address,uint256)"
            }
        },
        {
            "name": "(sent,None) = recipient.call{value: amount}()",
            "type": "node",
            "source_mapping": {
                "lines": [
                    36
                ],
                "start": 1188,
                "length": 51,
                "ending_column": 60,
                "is_dependency": false,
                "filename_short": "contracts/spoke/SpokeGasToken.sol",
                "starting_column": 9,
                "filename_absolute": "/tmp/slither-zxad7zl6/contracts/spoke/SpokeGasToken.sol",
                "filename_relative": "contracts/spoke/SpokeGasToken.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "_sendToken",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            35,
                            36,
                            37,
                            38
                        ],
                        "start": 1105,
                        "length": 205,
                        "ending_column": 6,
                        "is_dependency": false,
                        "filename_short": "contracts/spoke/SpokeGasToken.sol",
                        "starting_column": 5,
                        "filename_absolute": "/tmp/slither-zxad7zl6/contracts/spoke/SpokeGasToken.sol",
                        "filename_relative": "contracts/spoke/SpokeGasToken.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "SpokeGasToken",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    9,
                                    10,
                                    11,
                                    12,
                                    13,
                                    14,
                                    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
                                ],
                                "start": 224,
                                "length": 1207,
                                "ending_column": 2,
                                "is_dependency": false,
                                "filename_short": "contracts/spoke/SpokeGasToken.sol",
                                "starting_column": 1,
                                "filename_absolute": "/tmp/slither-zxad7zl6/contracts/spoke/SpokeGasToken.sol",
                                "filename_relative": "contracts/spoke/SpokeGasToken.sol"
                            }
                        },
                        "signature": "_sendToken(address,uint256)"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/spoke/SpokeGasToken.sol",
            "name": "_sendToken",
            "type": "function",
            "lines": [
                35,
                36,
                37,
                38
            ]
        },
        {
            "file": "contracts/spoke/SpokeGasToken.sol",
            "name": "(sent,None) = recipient.call{value: amount}()",
            "type": "node",
            "lines": [
                36
            ]
        }
    ],
    "description": "SpokeGasToken._sendToken(address,uint256) (contracts/spoke/SpokeGasToken.sol#35-38) sends eth to arbitrary user\n\tDangerous calls:\n\t- (sent,None) = recipient.call{value: amount}() (contracts/spoke/SpokeGasToken.sol#36)"
}