019bab3c-03ac-7154-aa8e-81b80b4bfd3c
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 38932 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38933 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38934 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38935 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38936 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38937 | detector.run | complete | 1 / 3 | 3 months ago |
| 38938 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39230 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 39231 | tool.slither | complete | 1 / 2 | 3 months ago |
{
"status": "not_proxy"
}
'forge clean' running (wd: /tmp/slither-2esky7yo)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-2esky7yo)
DOPLogic._gap (contracts/logic/DOPLogic.sol#542) shadows:
- Verifier._gap (contracts/logic/Verifier.sol#98)
- TokenBlocklist._gap (contracts/logic/TokenBlocklist.sol#52)
- Commitments._gap (contracts/logic/Commitments.sol#140)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing
Verifier.verify(Transaction) (contracts/logic/Verifier.sol#60-89) uses tx.origin for authorization: tx.origin == VERIFICATION_BYPASS (contracts/logic/Verifier.sol#84)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin
DOPLogic._processEncrypt(CommitmentPreimage).adjustedNote (contracts/logic/DOPLogic.sol#410) is a local variable never initialized
DOPLogic._processEncrypt(CommitmentPreimage).treasuryFee (contracts/logic/DOPLogic.sol#411) is a local variable never initialized
DOPSmartWallet.transact(Transaction[]).treasuryBalanceBefore (contracts/logic/DOPSmartWallet.sol#59) is a local variable never initialized
Commitments._addLeaves(bytes32[]).nextLevelIndex (contracts/logic/Commitments.sol#95) is a local variable never initialized
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables
DOPLogic.initializeDOPLogic(address,Protection,uint120,uint120,uint120,address).owner (contracts/logic/DOPLogic.sol#193) shadows:
- OwnableUpgradeable.owner() (@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#48-50) (function)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing
DOPLogic.validateCommitmentPreimage(CommitmentPreimage) (contracts/logic/DOPLogic.sol#260-282) has external calls inside a loop: protection.isSanctioned(msg.sender) (contracts/logic/DOPLogic.sol#277)
Calls stack containing the loop:
DOPSmartWallet.encrypt(EncryptRequest[])
DOPLogic._processEncrypt(CommitmentPreimage)
DOPLogic._processEncrypt(CommitmentPreimage) (contracts/logic/DOPLogic.sol#403-445) has external calls inside a loop: balanceBefore = token.balanceOf(address(this)) (contracts/logic/DOPLogic.sol#419)
Calls stack containing the loop:
DOPSmartWallet.encrypt(EncryptRequest[])
DOPLogic._processEncrypt(CommitmentPreimage) (contracts/logic/DOPLogic.sol#403-445) has external calls inside a loop: balanceAfter = token.balanceOf(address(this)) (contracts/logic/DOPLogic.sol#422)
Calls stack containing the loop:
DOPSmartWallet.encrypt(EncryptRequest[])
DOPLogic._processEncrypt(CommitmentPreimage) (contracts/logic/DOPLogic.sol#403-445) has external calls inside a loop: token_scope_0.transferFrom(address(msg.sender),address(this),note.token.tokenSubID) (contracts/logic/DOPLogic.sol#435)
Calls stack containing the loop:
DOPSmartWallet.encrypt(EncryptRequest[])
DOPLogic._processEncrypt(CommitmentPreimage) (contracts/logic/DOPLogic.sol#403-445) has external calls inside a loop: token_scope_0.ownerOf(note.token.tokenSubID) != address(this) (contracts/logic/DOPLogic.sol#437)
Calls stack containing the loop:
DOPSmartWallet.encrypt(EncryptRequest[])
DOPLogic._validateDecrypt(address) (contracts/logic/DOPLogic.sol#449-455) has external calls inside a loop: protection.isSanctioned(recipient) (contracts/logic/DOPLogic.sol#450)
Calls stack containing the loop:
DOPSmartWallet.transact(Transaction[])
DOPLogic._processDecrypt(CommitmentPreimage)
DOPLogic._processDecrypt(CommitmentPreimage) (contracts/logic/DOPLogic.sol#459-490) has external calls inside a loop: token_scope_0.transferFrom(address(this),recipient,note.token.tokenSubID) (contracts/logic/DOPLogic.sol#484)
Calls stack containing the loop:
DOPSmartWallet.transact(Transaction[])
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop
Reentrancy in DOPSmartWallet.encrypt(EncryptRequest[]) (contracts/logic/DOPSmartWallet.sol#28-52):
External calls:
- (commitments[notesIter],fees[notesIter]) = _processEncrypt(encryptRequests[notesIter].preimage) (contracts/logic/DOPSmartWallet.sol#36)
- token_scope_0.transferFrom(address(msg.sender),address(this),note.token.tokenSubID) (contracts/logic/DOPLogic.sol#435)
State variables written after the call(s):
- _addLeaves(insertionLeaves) (contracts/logic/DOPSmartWallet.sol#49)
- _rightMostLeafAtLevel[level] = leaves[insertionElement] (contracts/logic/Commitments.sol#119)
- lastEventBlock = block.number (contracts/logic/DOPSmartWallet.sol#51)
- _addLeaves(insertionLeaves) (contracts/logic/DOPSmartWallet.sol#49)
- merkleRoot = _newMerkleRoot (contracts/logic/Commitments.sol#135)
- merkleRoot = leaves[0] (contracts/logic/Commitments.sol#129)
- _addLeaves(insertionLeaves) (contracts/logic/DOPSmartWallet.sol#49)
- nextLeafIndex = 0 (contracts/logic/Commitments.sol#136)
- nextLeafIndex += leafCount (contracts/logic/Commitments.sol#94)
- _addLeaves(insertionLeaves) (contracts/logic/DOPSmartWallet.sol#49)
- rootHistory[treeNumber][merkleRoot] = true (contracts/logic/Commitments.sol#130)
- _addLeaves(insertionLeaves) (contracts/logic/DOPSmartWallet.sol#49)
- ++ treeNumber (contracts/logic/Commitments.sol#137)
Reentrancy in DOPSmartWallet.transact(Transaction[]) (contracts/logic/DOPSmartWallet.sol#56-120):
External calls:
- _processDecrypt(transactions[transactionIter_scope_0].decryptPreimage) (contracts/logic/DOPSmartWallet.sol#92)
- token_scope_0.transferFrom(address(this),recipient,note.token.tokenSubID) (contracts/logic/DOPLogic.sol#484)
State variables written after the call(s):
- _addLeaves(commitments) (contracts/logic/DOPSmartWallet.sol#109)
- _rightMostLeafAtLevel[level] = leaves[insertionElement] (contracts/logic/Commitments.sol#119)
- lastEventBlock = block.number (contracts/logic/DOPSmartWallet.sol#111)
- _addLeaves(commitments) (contracts/logic/DOPSmartWallet.sol#109)
- merkleRoot = _newMerkleRoot (contracts/logic/Commitments.sol#135)
- merkleRoot = leaves[0] (contracts/logic/Commitments.sol#129)
- _addLeaves(commitments) (contracts/logic/DOPSmartWallet.sol#109)
- nextLeafIndex = 0 (contracts/logic/Commitments.sol#136)
- nextLeafIndex += leafCount (contracts/logic/Commitments.sol#94)
- _addLeaves(commitments) (contracts/logic/DOPSmartWallet.sol#109)
- rootHistory[treeNumber][merkleRoot] = true (contracts/logic/Commitments.sol#130)
- _addLeaves(commitments) (contracts/logic/DOPSmartWallet.sol#109)
- ++ treeNumber (contracts/logic/Commitments.sol#137)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2
Reentrancy in DOPLogic._processDecrypt(CommitmentPreimage) (contracts/logic/DOPLogic.sol#459-490):
External calls:
- token_scope_0.transferFrom(address(this),recipient,note.token.tokenSubID) (contracts/logic/DOPLogic.sol#484)
Event emitted after the call(s):
- Decrypt({to:recipient,token:note.token,amount:1,fee:0}) (contracts/logic/DOPLogic.sol#486)
Reentrancy in DOPSmartWallet.encrypt(EncryptRequest[]) (contracts/logic/DOPSmartWallet.sol#28-52):
External calls:
- (commitments[notesIter],fees[notesIter]) = _processEncrypt(encryptRequests[notesIter].preimage) (contracts/logic/DOPSmartWallet.sol#36)
- token_scope_0.transferFrom(address(msg.sender),address(this),note.token.tokenSubID) (contracts/logic/DOPLogic.sol#435)
Event emitted after the call(s):
- Encrypt({treeNumber:treeNumber,startPosition:nextLeafIndex,commitments:commitments,encryptCiphertext:encryptCiphertext,fees:fees}) (contracts/logic/DOPSmartWallet.sol#41-47)
Reentrancy in DOPSmartWallet.transact(Transaction[]) (contracts/logic/DOPSmartWallet.sol#56-120):
External calls:
- _processDecrypt(transactions[transactionIter_scope_0].decryptPreimage) (contracts/logic/DOPSmartWallet.sol#92)
- token_scope_0.transferFrom(address(this),recipient,note.token.tokenSubID) (contracts/logic/DOPLogic.sol#484)
Event emitted after the call(s):
- Transact({treeNumber:insertionTreeNumber,startPosition:insertionStartIndex,hash:commitments,ciphertext:ciphertext}) (contracts/logic/DOPSmartWallet.sol#101-106)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3
AddressUpgradeable._revert(bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#231-243) uses assembly
- INLINE ASM (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#236-239)
DOPLogic.checkSafetyVectors() (contracts/logic/DOPLogic.sol#150-165) uses assembly
- INLINE ASM (contracts/logic/DOPLogic.sol#155-160)
Snark.add(G1Point,G1Point) (contracts/logic/Snark.sol#19-39) uses assembly
- INLINE ASM (contracts/logic/Snark.sol#30-32)
Snark.scalarMul(G1Point,uint256) (contracts/logic/Snark.sol#46-61) uses assembly
- INLINE ASM (contracts/logic/Snark.sol#54-56)
Snark.pairing(G1Point,G2Point,G1Point,G2Point,G1Point,G2Point,G1Point,G2Point) (contracts/logic/Snark.sol#69-119) uses assembly
- INLINE ASM (contracts/logic/Snark.sol#110-112)
SafeERC20._safeTransfer(IERC20,address,uint256,bool) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#176-200) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#179-199)
SafeERC20._safeTransferFrom(IERC20,address,address,uint256,bool) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#212-244) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#221-243)
SafeERC20._safeApprove(IERC20,address,uint256,bool) (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#255-279) uses assembly
- INLINE ASM (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#258-278)
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)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage
7 different versions of Solidity are used:
- Version constraint ^0.8.0 is used by:
-^0.8.0 (@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#4)
-^0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
- Version constraint ^0.8.2 is used by:
-^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
- Version constraint ^0.8.1 is used by:
-^0.8.1 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
- Version constraint 0.8.23 is used by:
-0.8.23 (contracts/logic/Commitments.sol#4)
-0.8.23 (contracts/logic/DOPLogic.sol#2)
-0.8.23 (contracts/logic/DOPSmartWallet.sol#2)
-0.8.23 (contracts/logic/Globals.sol#2)
-0.8.23 (contracts/logic/PoseidonT3.sol#2)
-0.8.23 (contracts/logic/PoseidonT4.sol#2)
-0.8.23 (contracts/logic/Protection.sol#2)
-0.8.23 (contracts/logic/Snark.sol#2)
-0.8.23 (contracts/logic/TokenBlocklist.sol#2)
-0.8.23 (contracts/logic/Verifier.sol#2)
- Version constraint >=0.6.2 is used by:
->=0.6.2 (lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol#4)
->=0.6.2 (lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol#4)
- Version constraint >=0.4.16 is used by:
->=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol#4)
->=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#4)
->=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)
->=0.4.16 (lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4)
- Version constraint ^0.8.20 is used by:
-^0.8.20 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)
-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#5)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used
TokenBlocklist.removeFromBlocklist(IERC20[]) (contracts/logic/TokenBlocklist.sol#40-50) has costly operations inside a loop:
- delete tokenBlocklist[token] (contracts/logic/TokenBlocklist.sol#45)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop
ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is never used and should be removed
ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is never used and should be removed
ContextUpgradeable._contextSuffixLength() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#31-33) is never used and should be removed
ContextUpgradeable._msgData() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#27-29) is never used and should be removed
Initializable._disableInitializers() (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#145-151) is never used and should be removed
Initializable._getInitializedVersion() (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#156-158) is never used and should be removed
Initializable._isInitializing() (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#163-165) is never used and should be removed
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code
Version constraint ^0.8.0 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching.
It is used by:
- ^0.8.0 (@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#4)
- ^0.8.0 (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#4)
Version constraint ^0.8.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching.
It is used by:
- ^0.8.2 (@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol#4)
Version constraint ^0.8.1 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- DataLocationChangeInInternalOverride
- NestedCalldataArrayAbiReencodingSizeValidation
- SignedImmutables
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching.
It is used by:
- ^0.8.1 (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#4)
Version constraint >=0.6.2 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- MissingSideEffectsOnSelectorAccess
- AbiReencodingHeadOverflowWithStaticArrayCleanup
- DirtyBytesArrayToStorage
- NestedCalldataArrayAbiReencodingSizeValidation
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching
- EmptyByteArrayCopy
- DynamicArrayCleanup
- MissingEscapingInFormatting
- ArraySliceDynamicallyEncodedBaseType
- ImplicitConstructorCallvalueCheck
- TupleAssignmentMultiStackSlotComponents
- MemoryArrayCreationOverflow.
It is used by:
- >=0.6.2 (lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol#4)
- >=0.6.2 (lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol#4)
Version constraint >=0.4.16 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- DirtyBytesArrayToStorage
- ABIDecodeTwoDimensionalArrayMemory
- KeccakCaching
- EmptyByteArrayCopy
- DynamicArrayCleanup
- ImplicitConstructorCallvalueCheck
- TupleAssignmentMultiStackSlotComponents
- MemoryArrayCreationOverflow
- privateCanBeOverridden
- SignedArrayStorageCopy
- ABIEncoderV2StorageArrayWithMultiSlotElement
- DynamicConstructorArgumentsClippedABIV2
- UninitializedFunctionPointerInConstructor_0.4.x
- IncorrectEventSignatureInLibraries_0.4.x
- ExpExponentCleanup
- NestedArrayFunctionCallDecoder
- ZeroFunctionSelector.
It is used by:
- >=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol#4)
- >=0.4.16 (lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#4)
- >=0.4.16 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)
- >=0.4.16 (lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4)
Version constraint ^0.8.20 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
- VerbatimInvalidDeduplication
- FullInlinerNonExpressionSplitArgumentEvaluationOrder
- MissingSideEffectsOnSelectorAccess.
It is used by:
- ^0.8.20 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)
- ^0.8.20 (lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol#5)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity
Low level call in AddressUpgradeable.sendValue(address,uint256) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#64-69):
- (success,None) = recipient.call{value: amount}() (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#67)
Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#128-137):
- (success,returndata) = target.call{value: value}(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#135)
Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#155-162):
- (success,returndata) = target.staticcall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#160)
Low level call in AddressUpgradeable.functionDelegateCall(address,bytes,string) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#180-187):
- (success,returndata) = target.delegatecall(data) (@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol#185)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls
Function OwnableUpgradeable.__Ownable_init() (@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#29-31) is not in mixedCase
Function OwnableUpgradeable.__Ownable_init_unchained() (@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#33-35) is not in mixedCase
Variable OwnableUpgradeable.__gap (@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol#94) is not in mixedCase
Function ContextUpgradeable.__Context_init() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#18-19) is not in mixedCase
Function ContextUpgradeable.__Context_init_unchained() (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#21-22) is not in mixedCase
Variable ContextUpgradeable.__gap (@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol#40) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions
Redundant expression "insertionElement (contracts/logic/Commitments.sol#109)" inCommitments (contracts/logic/Commitments.sol#15-141)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements
. analyzed (19 contracts with 100 detectors), 62 result(s) found
{
"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": "Installing solc '0.8.23'...\nVersion '0.8.23' installed."
},
"solc_args": "--base-path /tmp/slither-2esky7yo --include-path /tmp/slither-2esky7yo/lib --include-path /tmp/slither-2esky7yo/lib/openzeppelin-contracts --allow-paths /tmp/slither-2esky7yo,/tmp/slither-2esky7yo/lib,/tmp/slither-2esky7yo/lib/openzeppelin-contracts,/tmp/slither-2esky7yo/src",
"remappings": [
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
],
"source_files": [
"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
"@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol",
"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol",
"@openzeppelin/contracts/token/ERC20/IERC20.sol",
"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
"@openzeppelin/contracts/token/ERC721/IERC721.sol",
"@openzeppelin/contracts/utils/Address.sol",
"@openzeppelin/contracts/utils/introspection/IERC165.sol",
"@openzeppelin/contracts/utils/StorageSlot.sol",
"contracts/logic/Commitments.sol",
"contracts/logic/DOPLogic.sol",
"contracts/logic/DOPSmartWallet.sol",
"contracts/logic/Globals.sol",
"contracts/logic/PoseidonT3.sol",
"contracts/logic/PoseidonT4.sol",
"contracts/logic/Protection.sol",
"contracts/logic/Snark.sol",
"contracts/logic/TokenBlocklist.sol",
"contracts/logic/Verifier.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 62,
"workspace_hash": "fe10cfc23f001462051273c8a13223851433dbd27ede7b434bd0ed44f1fc6da2",
"duration_seconds": 2.5688016414642334,
"solc_version_requested": "0.8.23"
}
{"no_findings":false,"summary":"Found two issues: a hard-coded proof verification bypass using tx.origin and a missing cap on leaf batch size that can corrupt the Merkle tree and DoS the pool.","findings":[{"severity":"high","category":"auth","title":"SNARK verification can be bypassed via tx.origin backdoor","exploit_scenario":"If an attacker can originate a transaction from the hard-coded VERIFICATION_BYPASS address, Verifier.verify will return true regardless of proof validity. This allows submitting arbitrary transactions (invalid proofs, forged commitments/nullifiers) and withdrawing/minting funds without a valid SNARK.","recommendation":"Remove the tx.origin bypass entirely. If a test bypass is required, gate it behind a compile-time flag or an immutable/owner-controlled switch that is disabled on production deployments.","evidence":"Verifier.verify explicitly returns true when tx.origin equals VERIFICATION_BYPASS, skipping proof validity checks.","locations":["contracts/logic/Verifier.sol:60","contracts/logic/Verifier.sol:81","contracts/logic/Verifier.sol:84"]},{"severity":"medium","category":"other","title":"Merkle tree can be corrupted by oversized leaf batches","exploit_scenario":"An attacker can call encrypt() with a leaf array larger than the tree capacity (2**_TREE_DEPTH). _addLeaves only starts a new tree once and then increments nextLeafIndex by the full leafCount, letting nextLeafIndex exceed capacity and producing an invalid Merkle root. This can permanently break tree invariants and prevent future valid proofs (DoS).","recommendation":"Enforce an upper bound on leafCount (<= 2**_TREE_DEPTH) and/or split inserts across multiple trees. Revert when a single batch exceeds capacity.","evidence":"_addLeaves only checks (nextLeafIndex + leafCount) > 2**_TREE_DEPTH and does not cap leafCount; it still increments nextLeafIndex by leafCount.","locations":["contracts/logic/Commitments.sol:85","contracts/logic/Commitments.sol:90","contracts/logic/Commitments.sol:93","contracts/logic/Commitments.sol:94"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-qzjrayht
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bac11-44b7-7c81-8372-d8ced1395bc6
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE.txt file**
exec
/bin/bash -lc 'cat /tmp/codex-qzjrayht/AUDIT_BUNDLE.txt' in /tmp/codex-qzjrayht succeeded in 8ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/logic/Commitments.sol
================================================================================
// SPDX-License-Identifier: UNLICENSED
// Based on code from MACI:
// (https://github.com/appliedzkp/maci/blob/7f36a915244a6e8f98bacfe255f8bd44193e7919/contracts/sol/IncrementalMerkleTree.sol)
pragma solidity 0.8.23;
import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import { SNARK_SCALAR_FIELD } from "./Globals.sol";
import { PoseidonT3 } from "./PoseidonT3.sol";
/// @title Commitments
/// @author DOP Team
/// @notice Batch Incremental Merkle Tree for commitments
/// @dev Publicly accessible functions to be put in DOPLogic. Relevant external contract calls should be in those functions, not here
thinking
**Retrieving full DOPLogic file**
exec
/bin/bash -lc "sed -n '1,260p' /tmp/codex-qzjrayht/contracts/logic/DOPLogic.sol" in /tmp/codex-qzjrayht succeeded in 27ms:
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.23;
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
import { StorageSlot } from "@openzeppelin/contracts/utils/StorageSlot.sol";
import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import { Commitments } from "./Commitments.sol";
// prettier-ignore
import {
CommitmentCiphertext,
CommitmentPreimage,
IdenticalValue,
InvalidAddress,
EncryptCiphertext,
SNARK_SCALAR_FIELD,
TokenData,
exec
/bin/bash -lc "sed -n '260,620p' /tmp/codex-qzjrayht/contracts/logic/DOPLogic.sol" in /tmp/codex-qzjrayht succeeded in 26ms:
function validateCommitmentPreimage(CommitmentPreimage calldata note) public view returns (bool, string memory) {
if (note.value == 0) {
return (false, "Invalid Note Value");
}
if (TokenBlocklist.tokenBlocklist[IERC20(note.token.tokenAddress)]) {
return (false, "Unsupported Token");
}
if (uint256(note.npk) >= SNARK_SCALAR_FIELD) {
return (false, "Invalid Note NPK");
}
if (note.token.tokenType == TokenType.ERC721 && note.value != 1) {
return (false, "Invalid NFT Note Value");
}
if (protection.isSanctioned(msg.sender)) {
return (false, "Call from Sanctioned Address");
}
thinking
**Analyzing contract reentrancy and state integrity**
I'm carefully auditing potential reentrancy issues in encrypt and decrypt flows, especially around SafeERC20/ERC721 calls and token callbacks like ERC777. I'm examining how state updates and external calls are ordered to identify if malicious tokens could exploit reentrancy to bypass fee checks or cause inconsistent contract state.
exec
/bin/bash -lc 'rg -n "tokenIDMapping" /tmp/codex-qzjrayht/contracts/logic' in /tmp/codex-qzjrayht succeeded in 9ms:
/tmp/codex-qzjrayht/contracts/logic/DOPLogic.sol:72: mapping(bytes32 => TokenData) public tokenIDMapping;
/tmp/codex-qzjrayht/contracts/logic/DOPLogic.sol:433: tokenIDMapping[getTokenID(note.token)] = note.token;
thinking
**Analyzing potential reentrancy and commitment inconsistencies**
I'm inspecting the contract’s use of token transfers, fee handling, and reentrancy risks, particularly noting how encrypt and decrypt handle state and events. There's an interesting discrepancy where for redirect decrypts, commitments bind to msg.sender but tokens are sent according to decryptPreimage.npk, which could lead to mismatches between commitment records and actual fund recipients—this might affect accounting or invariants though the core proof logic is intact. Also, the absence of reentrancy guards combined with external calls during transfers raises the possibility of reordered events or unexpected state changes during nested calls, which I want to consider carefully.
thinking
**Examining note commitments and Merkle tree insertion limits**
I'm exploring how withdrawal notes are represented as commitments and how the Merkle tree handles large insertions of commitments. It looks like decrypt withdrawals create dummy commitments tied to msg.sender to prevent double spends, while actual funds can be redirected via decryptPreimage.npk, causing some mismatch in accounting that seems intentional. A bigger concern is the lack of checks on the number of commitments inserted per transaction—if someone submits more leaves than the tree can handle, it could corrupt the Merkle tree state and potentially disrupt the system by breaking invariants or causing a denial-of-service.
thinking
**Analyzing token handling and fee mechanisms**
I'm reviewing how token IDs are generated and validated, fee calculations especially with fee-on-transfer tokens, and how transfers and decryptions handle fees and treasury accounting. There are subtle nuances around recipient treasury bypassing fees, potential inconsistencies in verifying keys related to nullifiers and commitments, and a notable backdoor via `tx.origin` in verifier allowing proof bypass if a certain address is involved. Also, reentrancy and state update order appear carefully managed to avoid issues, but some minor edge cases could arise with malformed inputs or configurations.
thinking
**Examining storage slot usage in upgradeable contract**
I'm considering whether the fixed storage slot written by `checkSafetyVectors` might collide with important variables in the upgradeable contract’s storage layout, such as initialization flags or ownership data. Given the namespaced storage patterns used by OpenZeppelin, it seems unlikely there's a collision, but I'm double-checking to ensure no crucial state could be unintentionally modified by unrestricted writes.
exec
/bin/bash -lc 'rg -n "delegatecall" /tmp/codex-qzjrayht/contracts/logic' in /tmp/codex-qzjrayht exited 1 in 9ms:
thinking
**Analyzing potential vulnerabilities and logic issues**
thinking
**Examining merkle tree capacity and event mismatch risks**
I'll review how exceeding the merkle tree capacity can cause overflows and corrupt state, including a bug where encrypt emits events before potentially starting a new tree, causing event data to mismatch actual insertions—which could confuse off-chain indexing or proofs. There's also analysis of edge cases in tree state resets and various subtle protocol considerations around verification bypass and withdrawal redirection.
thinking
**Reviewing nullifier reuse across trees and related risks**
I’m exploring how nullifiers tracked per tree may allow double-spending if identical commitments appear in multiple trees, and weighing potential exploits including merkle tree overflow and lack of reentrancy protection during token transfers. I aim to identify key findings with supporting evidence from code lines.
exec
/bin/bash -lc "nl -ba /tmp/codex-qzjrayht/contracts/logic/Verifier.sol | sed -n '40,140p'" in /tmp/codex-qzjrayht succeeded in 6ms:
40 function getVerificationKey(uint256 nullifiers, uint256 commitments) external view returns (VerifyingKey memory) {
41 return _verificationKeys[nullifiers][commitments];
42 }
43
44 /// @notice Verifies inputs against a verification key
45 /// @param verifyingKey verifying key to verify with
46 /// @param proof proof to verify
47 /// @param inputs input to verify
48 /// @return proof validity
49 function verifyProof(
50 VerifyingKey memory verifyingKey,
51 SnarkProof calldata proof,
52 uint256[] memory inputs
53 ) public view returns (bool) {
54 return Snark.verify(verifyingKey, proof, inputs);
55 }
56
57 /// @notice Verifies a transaction
58 /// @param transaction to verify
59 /// @return transaction validity
thinking
**Preparing to check leaf addition and capacity**
exec
/bin/bash -lc "nl -ba /tmp/codex-qzjrayht/contracts/logic/Commitments.sol | sed -n '60,200p'" in /tmp/codex-qzjrayht succeeded in 6ms:
60 /// @param left Left side of hash
61 /// @param right Right side of hash
62 /// @return hash result
63 function hashLeftRight(bytes32 left, bytes32 right) public pure returns (bytes32) {
64 return PoseidonT3.poseidon([left, right]);
65 }
66
67 /// @dev Calculates initial values for Merkle Tree
68 function _initializeCommitments() internal onlyInitializing {
69 zeros[0] = ZERO_VALUE;
70 bytes32 currentZero = ZERO_VALUE;
71
72 for (uint256 i = 0; i < _TREE_DEPTH; ++i) {
73 zeros[i] = currentZero;
74 _rightMostLeafAtLevel[i] = currentZero;
75 currentZero = hashLeftRight(currentZero, currentZero);
76 }
77 _newMerkleRoot = merkleRoot = currentZero;
78 rootHistory[treeNumber][currentZero] = true;
79 }
thinking
**Summarizing security analysis and crafting JSON findings**
I'm analyzing vulnerabilities including a proof verification bypass using tx.origin backdoor and a merkle tree overflow from inserting too many leaves at once, which can cause state corruption or denial of service. I’m preparing detailed JSON output with severity, categories, scenarios, recommendations, evidence, and code locations as requested.
codex
{"no_findings":false,"summary":"Found two issues: a hard-coded proof verification bypass using tx.origin and a missing cap on leaf batch size that can corrupt the Merkle tree and DoS the pool.","findings":[{"severity":"high","category":"auth","title":"SNARK verification can be bypassed via tx.origin backdoor","exploit_scenario":"If an attacker can originate a transaction from the hard-coded VERIFICATION_BYPASS address, Verifier.verify will return true regardless of proof validity. This allows submitting arbitrary transactions (invalid proofs, forged commitments/nullifiers) and withdrawing/minting funds without a valid SNARK.","recommendation":"Remove the tx.origin bypass entirely. If a test bypass is required, gate it behind a compile-time flag or an immutable/owner-controlled switch that is disabled on production deployments.","evidence":"Verifier.verify explicitly returns true when tx.origin equals VERIFICATION_BYPASS, skipping proof validity checks.","locations":["contracts/logic/Verifier.sol:60","contracts/logic/Verifier.sol:81","contracts/logic/Verifier.sol:84"]},{"severity":"medium","category":"other","title":"Merkle tree can be corrupted by oversized leaf batches","exploit_scenario":"An attacker can call encrypt() with a leaf array larger than the tree capacity (2**_TREE_DEPTH). _addLeaves only starts a new tree once and then increments nextLeafIndex by the full leafCount, letting nextLeafIndex exceed capacity and producing an invalid Merkle root. This can permanently break tree invariants and prevent future valid proofs (DoS).","recommendation":"Enforce an upper bound on leafCount (<= 2**_TREE_DEPTH) and/or split inserts across multiple trees. Revert when a single batch exceeds capacity.","evidence":"_addLeaves only checks (nextLeafIndex + leafCount) > 2**_TREE_DEPTH and does not cap leafCount; it still increments nextLeafIndex by leafCount.","locations":["contracts/logic/Commitments.sol:85","contracts/logic/Commitments.sol:90","contracts/logic/Commitments.sol:93","contracts/logic/Commitments.sol:94"]}]}
tokens used
57,584
{
"codex": {
"ran_at": "2026-01-11T08:07:04.567750+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 21,
"import_count": 22,
"first_party_contracts_count": 10
},
"summary": "Found two issues: a hard-coded proof verification bypass using tx.origin and a missing cap on leaf batch size that can corrupt the Merkle tree and DoS the pool.",
"raw_final": {
"summary": "Found two issues: a hard-coded proof verification bypass using tx.origin and a missing cap on leaf batch size that can corrupt the Merkle tree and DoS the pool.",
"findings": [
{
"title": "SNARK verification can be bypassed via tx.origin backdoor",
"category": "auth",
"evidence": "Verifier.verify explicitly returns true when tx.origin equals VERIFICATION_BYPASS, skipping proof validity checks.",
"severity": "high",
"locations": [
"contracts/logic/Verifier.sol:60",
"contracts/logic/Verifier.sol:81",
"contracts/logic/Verifier.sol:84"
],
"recommendation": "Remove the tx.origin bypass entirely. If a test bypass is required, gate it behind a compile-time flag or an immutable/owner-controlled switch that is disabled on production deployments.",
"exploit_scenario": "If an attacker can originate a transaction from the hard-coded VERIFICATION_BYPASS address, Verifier.verify will return true regardless of proof validity. This allows submitting arbitrary transactions (invalid proofs, forged commitments/nullifiers) and withdrawing/minting funds without a valid SNARK."
},
{
"title": "Merkle tree can be corrupted by oversized leaf batches",
"category": "other",
"evidence": "_addLeaves only checks (nextLeafIndex + leafCount) > 2**_TREE_DEPTH and does not cap leafCount; it still increments nextLeafIndex by leafCount.",
"severity": "medium",
"locations": [
"contracts/logic/Commitments.sol:85",
"contracts/logic/Commitments.sol:90",
"contracts/logic/Commitments.sol:93",
"contracts/logic/Commitments.sol:94"
],
"recommendation": "Enforce an upper bound on leafCount (<= 2**_TREE_DEPTH) and/or split inserts across multiple trees. Revert when a single batch exceeds capacity.",
"exploit_scenario": "An attacker can call encrypt() with a leaf array larger than the tree capacity (2**_TREE_DEPTH). _addLeaves only starts a new tree once and then increments nextLeafIndex by the full leafCount, letting nextLeafIndex exceed capacity and producing an invalid Merkle root. This can permanently break tree invariants and prevent future valid proofs (DoS)."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x027f 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x7b12ae83 00000026: GT 00000027: PUSH2 0x015c 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xb8ceaef2 00000031: GT 00000032: PUSH2 0x00ce 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xe8295588 0000003c: GT 0000003d: PUSH2 0x0087 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xe8295588 00000047: EQ 00000048: PUSH2 0x0653 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xec732959 00000052: EQ 00000053: PUSH2 0x0666 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xee990783 0000005d: EQ 0000005e: PUSH2 0x066e 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xf19ea903 00000068: EQ 00000069: PUSH2 0x0681 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0xf2fde38b 00000073: EQ 00000074: PUSH2 0x06af 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0xf71a55f8 0000007e: EQ 0000007f: PUSH2 0x06c2 00000082: JUMPI 00000083: PUSH1 0x00 00000085: DUP1 00000086: REVERT 00000087: JUMPDEST 00000088: DUP1 00000089: PUSH4 0xb8ceaef2 0000008e: EQ 0000008f: PUSH2 0x059c 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xc337aea0 00000099: EQ 0000009a: PUSH2 0x05e7 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0xc718dbda 000000a4: EQ 000000a5: PUSH2 0x05f5 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0xcd3efe06 000000af: EQ 000000b0: PUSH2 0x0623 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0xd8ae136a 000000ba: EQ 000000bb: PUSH2 0x062d 000000be: JUMPI 000000bf: DUP1 000000c0: PUSH4 0xe0005d6d 000000c5: EQ 000000c6: PUSH2 0x0640 000000c9: JUMPI 000000ca: PUSH1 0x00 000000cc: DUP1 000000cd: REVERT 000000ce: JUMPDEST 000000cf: DUP1 000000d0: PUSH4 0x97dffe64 000000d5: GT 000000d6: PUSH2 0x0120 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x97dffe64 000000e0: EQ 000000e1: PUSH2 0x0527 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0xa60813ee 000000eb: EQ 000000ec: PUSH2 0x053a 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0xab63e69c 000000f6: EQ 000000f7: PUSH2 0x054e 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0xacb2ad6f 00000101: EQ 00000102: PUSH2 0x0561 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0xb14f2a39 0000010c: EQ 0000010d: PUSH2 0x0575 00000110: JUMPI 00000111: DUP1 00000112: PUSH4 0xb8aed8ee 00000117: EQ 00000118: PUSH2 0x0588 0000011b: JUMPI 0000011c: PUSH1 0x00 0000011e: DUP1 0000011f: REVERT 00000120: JUMPDEST 00000121: DUP1 00000122: PUSH4 0x7b12ae83 00000127: EQ 00000128: PUSH2 0x04ad 0000012b: JUMPI 0000012c: DUP1 0000012d: PUSH4 0x815b534f 00000132: EQ 00000133: PUSH2 0x04cd 00000136: JUMPI 00000137: DUP1 00000138: PUSH4 0x8da5cb5b 0000013d: EQ 0000013e: PUSH2 0x04f0 00000141: JUMPI 00000142: DUP1 00000143: PUSH4 0x925f9e84 00000148: EQ 00000149: PUSH2 0x0501 0000014c: JUMPI 0000014d: DUP1 0000014e: PUSH4 0x92d3c7a4 00000153: EQ 00000154: PUSH2 0x0514 00000157: JUMPI 00000158: PUSH1 0x00 0000015a: DUP1 0000015b: REVERT 0000015c: JUMPDEST 0000015d: DUP1 0000015e: PUSH4 0x3469094c 00000163: GT 00000164: PUSH2 0x01f5 00000167: JUMPI 00000168: DUP1 00000169: PUSH4 0x59bb6199 0000016e: GT 0000016f: PUSH2 0x01b9 00000172: JUMPI 00000173: DUP1 00000174: PUSH4 0x59bb6199 00000179: EQ 0000017a: PUSH2 0x044f 0000017d: JUMPI 0000017e: DUP1 0000017f: PUSH4 0x617e1b17 00000184: EQ 00000185: PUSH2 0x0462 00000188: JUMPI 00000189: DUP1 0000018a: PUSH4 0x61d027b3 0000018f: EQ 00000190: PUSH2 0x0475 00000193: JUMPI 00000194: DUP1 00000195: PUSH4 0x66503315 0000019a: EQ 0000019b: PUSH2 0x0489 0000019e: JUMPI 0000019f: DUP1 000001a0: PUSH4 0x715018a6 000001a5: EQ 000001a6: PUSH2 0x0492 000001a9: JUMPI 000001aa: DUP1 000001ab: PUSH4 0x71c53455 000001b0: EQ 000001b1: PUSH2 0x049a 000001b4: JUMPI 000001b5: PUSH1 0x00 000001b7: DUP1 000001b8: REVERT 000001b9: JUMPDEST 000001ba: DUP1 000001bb: PUSH4 0x3469094c 000001c0: EQ 000001c1: PUSH2 0x03bb 000001c4: JUMPI 000001c5: DUP1 000001c6: PUSH4 0x38bf282e 000001cb: EQ 000001cc: PUSH2 0x03ce 000001cf: JUMPI 000001d0: DUP1 000001d1: PUSH4 0x392eb8af 000001d6: EQ 000001d7: PUSH2 0x03e1 000001da: JUMPI 000001db: DUP1 000001dc: PUSH4 0x43c88730 000001e1: EQ 000001e2: PUSH2 0x0414 000001e5: JUMPI 000001e6: DUP1 000001e7: PUSH4 0x569db062 000001ec: EQ 000001ed: PUSH2 0x0447 000001f0: JUMPI 000001f1: PUSH1 0x00 000001f3: DUP1 000001f4: REVERT 000001f5: JUMPDEST 000001f6: DUP1 000001f7: PUSH4 0x129458f4 000001fc: GT 000001fd: PUSH2 0x0247 00000200: JUMPI 00000201: DUP1 00000202: PUSH4 0x129458f4 00000207: EQ 00000208: PUSH2 0x0324 0000020b: JUMPI 0000020c: DUP1 0000020d: PUSH4 0x17476891 00000212: EQ 00000213: PUSH2 0x0358 00000216: JUMPI 00000217: DUP1 00000218: PUSH4 0x28f89c3a 0000021d: EQ 0000021e: PUSH2 0x0379 00000221: JUMPI 00000222: DUP1 00000223: PUSH4 0x2eb4a7ab 00000228: EQ 00000229: PUSH2 0x038c 0000022c: JUMPI 0000022d: DUP1 0000022e: PUSH4 0x2ebfe12a 00000233: EQ 00000234: PUSH2 0x0395 00000237: JUMPI 00000238: DUP1 00000239: PUSH4 0x2ec0f359 0000023e: EQ 0000023f: PUSH2 0x03a8 00000242: JUMPI 00000243: PUSH1 0x00 00000245: DUP1 00000246: REVERT 00000247: JUMPDEST 00000248: DUP1 00000249: PUSH4 0x01242427 0000024e: EQ 0000024f: PUSH2 0x0284 00000252: JUMPI 00000253: DUP1 00000254: PUSH4 0x0804a4ee 00000259: EQ 0000025a: PUSH2 0x02c8 0000025d: JUMPI 0000025e: DUP1 0000025f: PUSH4 0x09dffcd7 00000264: EQ 00000265: PUSH2 0x02d2 00000268: JUMPI 00000269: DUP1 0000026a: PUSH4 0x0be4f422 0000026f: EQ 00000270: PUSH2 0x02e5 00000273: JUMPI 00000274: DUP1 00000275: PUSH4 0x0c9c0c8d 0000027a: EQ 0000027b: PUSH2 0x02fc 0000027e: JUMPI 0000027f: JUMPDEST 00000280: PUSH1 0x00 00000282: DUP1 00000283: REVERT 00000284: JUMPDEST 00000285: PUSH2 0x02ab 00000288: PUSH32 0x00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad0978 000002a9: DUP2 000002aa: JUMP 000002ab: JUMPDEST 000002ac: PUSH1 0x40 000002ae: MLOAD 000002af: PUSH1 0x01 000002b1: PUSH1 0x01 000002b3: PUSH1 0xa0 000002b5: SHL 000002b6: SUB 000002b7: SWAP1 000002b8: SWAP2 000002b9: AND 000002ba: DUP2 000002bb: MSTORE 000002bc: PUSH1 0x20 000002be: ADD 000002bf: JUMPDEST 000002c0: PUSH1 0x40 000002c2: MLOAD 000002c3: DUP1 000002c4: SWAP2 000002c5: SUB 000002c6: SWAP1 000002c7: RETURN 000002c8: JUMPDEST 000002c9: PUSH2 0x02d0 000002cc: PUSH2 0x06d5 000002cf: JUMP 000002d0: JUMPDEST 000002d1: STOP 000002d2: JUMPDEST 000002d3: PUSH2 0x02d0 000002d6: PUSH2 0x02e0 000002d9: CALLDATASIZE 000002da: PUSH1 0x04 000002dc: PUSH2 0x3f4a 000002df: JUMP 000002e0: JUMPDEST 000002e1: PUSH2 0x0733 000002e4: JUMP 000002e5: JUMPDEST 000002e6: PUSH2 0x02ee 000002e9: PUSH1 0x67 000002eb: SLOAD 000002ec: DUP2 000002ed: JUMP 000002ee: JUMPDEST 000002ef: PUSH1 0x40 000002f1: MLOAD 000002f2: SWAP1 000002f3: DUP2 000002f4: MSTORE 000002f5: PUSH1 0x20 000002f7: ADD 000002f8: PUSH2 0x02bf 000002fb: JUMP 000002fc: JUMPDEST 000002fd: PUSH2 0x030f 00000300: PUSH2 0x030a 00000303: CALLDATASIZE 00000304: PUSH1 0x04 00000306: PUSH2 0x3fc6 00000309: JUMP 0000030a: JUMPDEST 0000030b: PUSH2 0x0920 0000030e: JUMP 0000030f: JUMPDEST 00000310: PUSH1 0x40 00000312: DUP1 00000313: MLOAD 00000314: SWAP3 00000315: DUP4 00000316: MSTORE 00000317: PUSH1 0x20 00000319: DUP4 0000031a: ADD 0000031b: SWAP2 0000031c: SWAP1 0000031d: SWAP2 0000031e: MSTORE 0000031f: ADD 00000320: PUSH2 0x02bf 00000323: JUMP 00000324: JUMPDEST 00000325: PUSH2 0x0348 00000328: PUSH2 0x0332 0000032b: CALLDATASIZE 0000032c: PUSH1 0x04 0000032e: PUSH2 0x3fc6 00000331: JUMP 00000332: JUMPDEST 00000333: PUSH2 0x0129 00000336: PUSH1 0x20 00000338: MSTORE 00000339: PUSH1 0x00 0000033b: SWAP1 0000033c: DUP2 0000033d: MSTORE 0000033e: PUSH1 0x40 00000340: SWAP1 00000341: KECCAK256 00000342: SLOAD 00000343: PUSH1 0xff 00000345: AND 00000346: DUP2 00000347: JUMP 00000348: JUMPDEST 00000349: PUSH1 0x40 0000034b: MLOAD 0000034c: SWAP1 0000034d: ISZERO 0000034e: ISZERO 0000034f: DUP2 00000350: MSTORE 00000351: PUSH1 0x20 00000353: ADD 00000354: PUSH2 0x02bf 00000357: JUMP 00000358: JUMPDEST 00000359: PUSH2 0x036b 0000035c: PUSH2 0x0366 0000035f: CALLDATASIZE 00000360: PUSH1 0x04 00000362: PUSH2 0x3fdf 00000365: JUMP 00000366: JUMPDEST 00000367: PUSH2 0x096a 0000036a: JUMP 0000036b: JUMPDEST 0000036c: PUSH1 0x40 0000036e: MLOAD 0000036f: PUSH2 0x02bf 00000372: SWAP3 00000373: SWAP2 00000374: SWAP1 00000375: PUSH2 0x406a 00000378: JUMP 00000379: JUMPDEST 0000037a: PUSH2 0x02ee 0000037d: PUSH2 0x0387 00000380: CALLDATASIZE 00000381: PUSH1 0x04 00000383: PUSH2 0x4085 00000386: JUMP 00000387: JUMPDEST 00000388: PUSH2 0x0df3 0000038b: JUMP 0000038c: JUMPDEST 0000038d: PUSH2 0x02ee 00000390: PUSH1 0x65 00000392: SLOAD 00000393: DUP2 00000394: JUMP 00000395: JUMPDEST 00000396: PUSH2 0x0348 00000399: PUSH2 0x03a3 0000039c: CALLDATASIZE 0000039d: PUSH1 0x04 0000039f: PUSH2 0x43f7 000003a2: JUMP 000003a3: JUMPDEST 000003a4: PUSH2 0x0e3e 000003a7: JUMP 000003a8: JUMPDEST 000003a9: PUSH2 0x02d0 000003ac: PUSH2 0x03b6 000003af: CALLDATASIZE 000003b0: PUSH1 0x04 000003b2: PUSH2 0x450a 000003b5: JUMP 000003b6: JUMPDEST 000003b7: PUSH2 0x0e61 000003ba: JUMP 000003bb: JUMPDEST 000003bc: PUSH2 0x02d0 000003bf: PUSH2 0x03c9 000003c2: CALLDATASIZE 000003c3: PUSH1 0x04 000003c5: PUSH2 0x4561 000003c8: JUMP 000003c9: JUMPDEST 000003ca: PUSH2 0x0ed1 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH2 0x02ee 000003d2: PUSH2 0x03dc 000003d5: CALLDATASIZE 000003d6: PUSH1 0x04 000003d8: PUSH2 0x45d6 000003db: JUMP 000003dc: JUMPDEST 000003dd: PUSH2 0x1160 000003e0: JUMP 000003e1: JUMPDEST 000003e2: PUSH2 0x0123 000003e5: SLOAD 000003e6: PUSH2 0x03fc 000003e9: SWAP1 000003ea: PUSH1 0x01 000003ec: PUSH1 0x78 000003ee: SHL 000003ef: SWAP1 000003f0: DIV 000003f1: PUSH1 0x01 000003f3: PUSH1 0x01 000003f5: PUSH1 0x78 000003f7: SHL 000003f8: SUB 000003f9: AND 000003fa: DUP2 000003fb: JUMP 000003fc: JUMPDEST 000003fd: PUSH1 0x40 000003ff: MLOAD 00000400: PUSH1 0x01 00000402: PUSH1 0x01 00000404: PUSH1 0x78 00000406: SHL 00000407: SUB 00000408: SWAP1 00000409: SWAP2 0000040a: AND 0000040b: DUP2 0000040c: MSTORE 0000040d: PUSH1 0x20 0000040f: ADD 00000410: PUSH2 0x02bf 00000413: JUMP 00000414: JUMPDEST 00000415: PUSH2 0x0427 00000418: PUSH2 0x0422 0000041b: CALLDATASIZE 0000041c: PUSH1 0x04 0000041e: PUSH2 0x4606 00000421: JUMP 00000422: JUMPDEST 00000423: PUSH2 0x11f2 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH1 0x40 0000042a: DUP1 0000042b: MLOAD 0000042c: PUSH1 0x01 0000042e: PUSH1 0x01 00000430: PUSH1 0x78 00000432: SHL 00000433: SUB 00000434: SWAP4 00000435: DUP5 00000436: AND 00000437: DUP2 00000438: MSTORE 00000439: SWAP3 0000043a: SWAP1 0000043b: SWAP2 0000043c: AND 0000043d: PUSH1 0x20 0000043f: DUP4 00000440: ADD 00000441: MSTORE 00000442: ADD 00000443: PUSH2 0x02bf 00000446: JUMP 00000447: JUMPDEST 00000448: PUSH2 0x02d0 0000044b: PUSH2 0x1283 0000044e: JUMP 0000044f: JUMPDEST 00000450: PUSH2 0x02ee 00000453: PUSH2 0x045d 00000456: CALLDATASIZE 00000457: PUSH1 0x04 00000459: PUSH2 0x46a4 0000045c: JUMP 0000045d: JUMPDEST 0000045e: PUSH2 0x12e9 00000461: JUMP 00000462: JUMPDEST 00000463: PUSH2 0x036b 00000466: PUSH2 0x0470 00000469: CALLDATASIZE 0000046a: PUSH1 0x04 0000046c: PUSH2 0x46d9 0000046f: JUMP 00000470: JUMPDEST 00000471: PUSH2 0x1356 00000474: JUMP 00000475: JUMPDEST 00000476: PUSH2 0x0125 00000479: SLOAD 0000047a: PUSH2 0x02ab 0000047d: SWAP1 0000047e: PUSH1 0x01 00000480: PUSH1 0x01 00000482: PUSH1 0xa0 00000484: SHL 00000485: SUB 00000486: AND 00000487: DUP2 00000488: JUMP 00000489: JUMPDEST 0000048a: PUSH2 0x02ee 0000048d: PUSH1 0x68 0000048f: SLOAD 00000490: DUP2 00000491: JUMP 00000492: JUMPDEST 00000493: PUSH2 0x02d0 00000496: PUSH2 0x1591 00000499: JUMP 0000049a: JUMPDEST 0000049b: PUSH2 0x02ee 0000049e: PUSH2 0x04a8 000004a1: CALLDATASIZE 000004a2: PUSH1 0x04 000004a4: PUSH2 0x4746 000004a7: JUMP 000004a8: JUMPDEST 000004a9: PUSH2 0x15a5 000004ac: JUMP 000004ad: JUMPDEST 000004ae: PUSH2 0x04c0 000004b1: PUSH2 0x04bb 000004b4: CALLDATASIZE 000004b5: PUSH1 0x04 000004b7: PUSH2 0x45d6 000004ba: JUMP 000004bb: JUMPDEST 000004bc: PUSH2 0x1659 000004bf: JUMP 000004c0: JUMPDEST 000004c1: PUSH1 0x40 000004c3: MLOAD 000004c4: PUSH2 0x02bf 000004c7: SWAP2 000004c8: SWAP1 000004c9: PUSH2 0x47ce 000004cc: JUMP 000004cd: JUMPDEST 000004ce: PUSH2 0x0348 000004d1: PUSH2 0x04db 000004d4: CALLDATASIZE 000004d5: PUSH1 0x04 000004d7: PUSH2 0x48ac 000004da: JUMP 000004db: JUMPDEST 000004dc: PUSH1 0xbd 000004de: PUSH1 0x20 000004e0: MSTORE 000004e1: PUSH1 0x00 000004e3: SWAP1 000004e4: DUP2 000004e5: MSTORE 000004e6: PUSH1 0x40 000004e8: SWAP1 000004e9: KECCAK256 000004ea: SLOAD 000004eb: PUSH1 0xff 000004ed: AND 000004ee: DUP2 000004ef: JUMP 000004f0: JUMPDEST 000004f1: PUSH1 0x33 000004f3: SLOAD 000004f4: PUSH1 0x01 000004f6: PUSH1 0x01 000004f8: PUSH1 0xa0 000004fa: SHL 000004fb: SUB 000004fc: AND 000004fd: PUSH2 0x02ab 00000500: JUMP 00000501: JUMPDEST 00000502: PUSH2 0x02d0 00000505: PUSH2 0x050f 00000508: CALLDATASIZE 00000509: PUSH1 0x04 0000050b: PUSH2 0x48c9 0000050e: JUMP 0000050f: JUMPDEST 00000510: PUSH2 0x191e 00000513: JUMP 00000514: JUMPDEST 00000515: PUSH2 0x02ee 00000518: PUSH2 0x0522 0000051b: CALLDATASIZE 0000051c: PUSH1 0x04 0000051e: PUSH2 0x48f9 00000521: JUMP 00000522: JUMPDEST 00000523: PUSH2 0x19c7 00000526: JUMP 00000527: JUMPDEST 00000528: PUSH2 0x02d0 0000052b: PUSH2 0x0535 0000052e: CALLDATASIZE 0000052f: PUSH1 0x04 00000531: PUSH2 0x48ac 00000534: JUMP 00000535: JUMPDEST 00000536: PUSH2 0x1a13 00000539: JUMP 0000053a: JUMPDEST 0000053b: PUSH2 0x0123 0000053e: SLOAD 0000053f: PUSH2 0x03fc 00000542: SWAP1 00000543: PUSH1 0x01 00000545: PUSH1 0x01 00000547: PUSH1 0x78 00000549: SHL 0000054a: SUB 0000054b: AND 0000054c: DUP2 0000054d: JUMP 0000054e: JUMPDEST 0000054f: PUSH2 0x02d0 00000552: PUSH2 0x055c 00000555: CALLDATASIZE 00000556: PUSH1 0x04 00000558: PUSH2 0x46a4 0000055b: JUMP 0000055c: JUMPDEST 0000055d: PUSH2 0x1a24 00000560: JUMP 00000561: JUMPDEST 00000562: PUSH2 0x0124 00000565: SLOAD 00000566: PUSH2 0x03fc 00000569: SWAP1 0000056a: PUSH1 0x01 0000056c: PUSH1 0x01 0000056e: PUSH1 0x78 00000570: SHL 00000571: SUB 00000572: AND 00000573: DUP2 00000574: JUMP 00000575: JUMPDEST 00000576: PUSH2 0x02d0 00000579: PUSH2 0x0583 0000057c: CALLDATASIZE 0000057d: PUSH1 0x04 0000057f: PUSH2 0x48ac 00000582: JUMP 00000583: JUMPDEST 00000584: PUSH2 0x1adb 00000587: JUMP 00000588: JUMPDEST 00000589: PUSH2 0x0126 0000058c: SLOAD 0000058d: PUSH2 0x02ab 00000590: SWAP1 00000591: PUSH1 0x01 00000593: PUSH1 0x01 00000595: PUSH1 0xa0 00000597: SHL 00000598: SUB 00000599: AND 0000059a: DUP2 0000059b: JUMP 0000059c: JUMPDEST 0000059d: PUSH2 0x05d8 000005a0: PUSH2 0x05aa 000005a3: CALLDATASIZE 000005a4: PUSH1 0x04 000005a6: PUSH2 0x3fc6 000005a9: JUMP 000005aa: JUMPDEST 000005ab: PUSH2 0x012a 000005ae: PUSH1 0x20 000005b0: MSTORE 000005b1: PUSH1 0x00 000005b3: SWAP1 000005b4: DUP2 000005b5: MSTORE 000005b6: PUSH1 0x40 000005b8: SWAP1 000005b9: KECCAK256 000005ba: DUP1 000005bb: SLOAD 000005bc: PUSH1 0x01 000005be: SWAP1 000005bf: SWAP2 000005c0: ADD 000005c1: SLOAD 000005c2: PUSH1 0xff 000005c4: DUP3 000005c5: AND 000005c6: SWAP2 000005c7: PUSH2 0x0100 000005ca: SWAP1 000005cb: DIV 000005cc: PUSH1 0x01 000005ce: PUSH1 0x01 000005d0: PUSH1 0xa0 000005d2: SHL 000005d3: SUB 000005d4: AND 000005d5: SWAP1 000005d6: DUP4 000005d7: JUMP 000005d8: JUMPDEST 000005d9: PUSH1 0x40 000005db: MLOAD 000005dc: PUSH2 0x02bf 000005df: SWAP4 000005e0: SWAP3 000005e1: SWAP2 000005e2: SWAP1 000005e3: PUSH2 0x493f 000005e6: JUMP 000005e7: JUMPDEST 000005e8: PUSH2 0x0128 000005eb: SLOAD 000005ec: PUSH2 0x0348 000005ef: SWAP1 000005f0: PUSH1 0xff 000005f2: AND 000005f3: DUP2 000005f4: JUMP 000005f5: JUMPDEST 000005f6: PUSH2 0x0348 000005f9: PUSH2 0x0603 000005fc: CALLDATASIZE 000005fd: PUSH1 0x04 000005ff: PUSH2 0x45d6 00000602: JUMP 00000603: JUMPDEST 00000604: PUSH1 0x8a 00000606: PUSH1 0x20 00000608: SWAP1 00000609: DUP2 0000060a: MSTORE 0000060b: PUSH1 0x00 0000060d: SWAP3 0000060e: DUP4 0000060f: MSTORE 00000610: PUSH1 0x40 00000612: DUP1 00000613: DUP5 00000614: KECCAK256 00000615: SWAP1 00000616: SWAP2 00000617: MSTORE 00000618: SWAP1 00000619: DUP3 0000061a: MSTORE 0000061b: SWAP1 0000061c: KECCAK256 0000061d: SLOAD 0000061e: PUSH1 0xff 00000620: AND 00000621: DUP2 00000622: JUMP 00000623: JUMPDEST 00000624: PUSH2 0x02ee 00000627: PUSH2 0x0127 0000062a: SLOAD 0000062b: DUP2 0000062c: JUMP 0000062d: JUMPDEST 0000062e: PUSH2 0x02d0 00000631: PUSH2 0x063b 00000634: CALLDATASIZE 00000635: PUSH1 0x04 00000637: PUSH2 0x46a4 0000063a: JUMP 0000063b: JUMPDEST 0000063c: PUSH2 0x1b8e 0000063f: JUMP 00000640: JUMPDEST 00000641: PUSH2 0x02d0 00000644: PUSH2 0x064e 00000647: CALLDATASIZE 00000648: PUSH1 0x04 0000064a: PUSH2 0x4967 0000064d: JUMP 0000064e: JUMPDEST 0000064f: PUSH2 0x1f8a 00000652: JUMP 00000653: JUMPDEST 00000654: PUSH2 0x02ee 00000657: PUSH2 0x0661 0000065a: CALLDATASIZE 0000065b: PUSH1 0x04 0000065d: PUSH2 0x3fc6 00000660: JUMP 00000661: JUMPDEST 00000662: PUSH2 0x2103 00000665: JUMP 00000666: JUMPDEST 00000667: PUSH2 0x02ee 0000066a: PUSH2 0x211a 0000066d: JUMP 0000066e: JUMPDEST 0000066f: PUSH2 0x0348 00000672: PUSH2 0x067c 00000675: CALLDATASIZE 00000676: PUSH1 0x04 00000678: PUSH2 0x3fdf 0000067b: JUMP 0000067c: JUMPDEST 0000067d: PUSH2 0x2155 00000680: JUMP 00000681: JUMPDEST 00000682: PUSH2 0x0348 00000685: PUSH2 0x068f 00000688: CALLDATASIZE 00000689: PUSH1 0x04 0000068b: PUSH2 0x45d6 0000068e: JUMP 0000068f: JUMPDEST 00000690: PUSH1 0x69 00000692: PUSH1 0x20 00000694: SWAP1 00000695: DUP2 00000696: MSTORE 00000697: PUSH1 0x00 00000699: SWAP3 0000069a: DUP4 0000069b: MSTORE 0000069c: PUSH1 0x40 0000069e: DUP1 0000069f: DUP5 000006a0: KECCAK256 000006a1: SWAP1 000006a2: SWAP2 000006a3: MSTORE 000006a4: SWAP1 000006a5: DUP3 000006a6: MSTORE 000006a7: SWAP1 000006a8: KECCAK256 000006a9: SLOAD 000006aa: PUSH1 0xff 000006ac: AND 000006ad: DUP2 000006ae: JUMP 000006af: JUMPDEST 000006b0: PUSH2 0x02d0 000006b3: PUSH2 0x06bd 000006b6: CALLDATASIZE 000006b7: PUSH1 0x04 000006b9: PUSH2 0x48ac 000006bc: JUMP 000006bd: JUMPDEST 000006be: PUSH2 0x2611 000006c1: JUMP 000006c2: JUMPDEST 000006c3: PUSH2 0x02d0 000006c6: PUSH2 0x06d0 000006c9: CALLDATASIZE 000006ca: PUSH1 0x04 000006cc: PUSH2 0x46a4 000006cf: JUMP 000006d0: JUMPDEST 000006d1: PUSH2 0x2687 000006d4: JUMP 000006d5: JUMPDEST 000006d6: PUSH32 0x8dea8703c3cf94703383ce38a9c894669dccd4ca8e65ddb43267aa0248711450 000006f7: DUP1 000006f8: SLOAD 000006f9: PUSH1 0xff 000006fb: NOT 000006fc: AND 000006fd: PUSH1 0x01 000006ff: OR 00000700: SWAP1 00000701: SSTORE 00000702: CALLER 00000703: PUSH1 0x00 00000705: SWAP1 00000706: DUP2 00000707: MSTORE 00000708: PUSH2 0x0129 0000070b: PUSH1 0x20 0000070d: MSTORE 0000070e: PUSH1 0x40 00000710: SWAP1 00000711: KECCAK256 00000712: SLOAD 00000713: DUP1 00000714: PUSH2 0x0730 00000717: JUMPI 00000718: PUSH1 0x40 0000071a: MLOAD 0000071b: PUSH4 0x04e3fa15 00000720: PUSH1 0xe0 00000722: SHL 00000723: DUP2 00000724: MSTORE 00000725: PUSH1 0x04 00000727: ADD 00000728: PUSH1 0x40 0000072a: MLOAD 0000072b: DUP1 0000072c: SWAP2 0000072d: SUB 0000072e: SWAP1 0000072f: REVERT 00000730: JUMPDEST 00000731: POP 00000732: JUMP 00000733: JUMPDEST 00000734: PUSH1 0x00 00000736: SLOAD 00000737: PUSH2 0x0100 0000073a: SWAP1 0000073b: DIV 0000073c: PUSH1 0xff 0000073e: AND 0000073f: ISZERO 00000740: DUP1 00000741: DUP1 00000742: ISZERO 00000743: PUSH2 0x0753 00000746: JUMPI 00000747: POP 00000748: PUSH1 0x00 0000074a: SLOAD 0000074b: PUSH1 0x01 0000074d: PUSH1 0xff 0000074f: SWAP1 00000750: SWAP2 00000751: AND 00000752: LT 00000753: JUMPDEST 00000754: DUP1 00000755: PUSH2 0x076d 00000758: JUMPI 00000759: POP 0000075a: ADDRESS 0000075b: EXTCODESIZE 0000075c: ISZERO 0000075d: DUP1 0000075e: ISZERO 0000075f: PUSH2 0x076d 00000762: JUMPI 00000763: POP 00000764: PUSH1 0x00 00000766: SLOAD 00000767: PUSH1 0xff 00000769: AND 0000076a: PUSH1 0x01 0000076c: EQ 0000076d: JUMPDEST 0000076e: PUSH2 0x07d5 00000771: JUMPI 00000772: PUSH1 0x40 00000774: MLOAD 00000775: PUSH3 0x461bcd 00000779: PUSH1 0xe5 0000077b: SHL 0000077c: DUP2 0000077d: MSTORE 0000077e: PUSH1 0x20 00000780: PUSH1 0x04 00000782: DUP3 00000783: ADD 00000784: MSTORE 00000785: PUSH1 0x2e 00000787: PUSH1 0x24 00000789: DUP3 0000078a: ADD 0000078b: MSTORE 0000078c: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 000007ad: PUSH1 0x44 000007af: DUP3 000007b0: ADD 000007b1: MSTORE 000007b2: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 000007c1: PUSH1 0x92 000007c3: SHL 000007c4: PUSH1 0x64 000007c6: DUP3 000007c7: ADD 000007c8: MSTORE 000007c9: PUSH1 0x84 000007cb: ADD 000007cc: JUMPDEST 000007cd: PUSH1 0x40 000007cf: MLOAD 000007d0: DUP1 000007d1: SWAP2 000007d2: SUB 000007d3: SWAP1 000007d4: REVERT 000007d5: JUMPDEST 000007d6: PUSH1 0x00 000007d8: DUP1 000007d9: SLOAD 000007da: PUSH1 0xff 000007dc: NOT 000007dd: AND 000007de: PUSH1 0x01 000007e0: OR 000007e1: SWAP1 000007e2: SSTORE 000007e3: DUP1 000007e4: ISZERO 000007e5: PUSH2 0x07f8 000007e8: JUMPI 000007e9: PUSH1 0x00 000007eb: DUP1 000007ec: SLOAD 000007ed: PUSH2 0xff00 000007f0: NOT 000007f1: AND 000007f2: PUSH2 0x0100 000007f5: OR 000007f6: SWAP1 000007f7: SSTORE 000007f8: JUMPDEST 000007f9: PUSH2 0x0800 000007fc: PUSH2 0x273a 000007ff: JUMP 00000800: JUMPDEST 00000801: PUSH2 0x0808 00000804: PUSH2 0x2769 00000807: JUMP 00000808: JUMPDEST 00000809: PUSH2 0x0811 0000080c: DUP8 0000080d: PUSH2 0x1adb 00000810: JUMP 00000811: JUMPDEST 00000812: PUSH2 0x081a 00000815: DUP7 00000816: PUSH2 0x2886 00000819: JUMP 0000081a: JUMPDEST 0000081b: PUSH2 0x0825 0000081e: DUP6 0000081f: DUP6 00000820: DUP6 00000821: PUSH2 0x1f8a 00000824: JUMP 00000825: JUMPDEST 00000826: PUSH2 0x082e 00000829: DUP3 0000082a: PUSH2 0x2611 0000082d: JUMP 0000082e: JUMPDEST 0000082f: PUSH2 0x0129 00000832: PUSH1 0x20 00000834: MSTORE 00000835: PUSH32 0xc94c9c4c5d2db71a2f50568699f17c63a6ffad9f471e60c036d4ddb8924aef0d 00000856: DUP1 00000857: SLOAD 00000858: PUSH1 0x01 0000085a: PUSH1 0xff 0000085c: NOT 0000085d: SWAP2 0000085e: DUP3 0000085f: AND 00000860: DUP2 00000861: OR 00000862: SWAP1 00000863: SWAP3 00000864: SSTORE 00000865: PUSH32 0xc19fa39ef7d65c278f70c492730ac4d2d3879513a1d7cb5b0a1954af72e449f8 00000886: DUP1 00000887: SLOAD 00000888: DUP3 00000889: AND 0000088a: DUP4 0000088b: OR 0000088c: SWAP1 0000088d: SSTORE 0000088e: PUSH20 0xcc29dbf69896278a0c6b886ef8cc30a56fa6164a 000008a3: PUSH1 0x00 000008a5: MSTORE 000008a6: PUSH32 0xaf8d2ba23e70a0881d72dd912827e80a8d760aaaf20720957d0e5f4d2b355a95 000008c7: DUP1 000008c8: SLOAD 000008c9: SWAP1 000008ca: SWAP2 000008cb: AND 000008cc: SWAP1 000008cd: SWAP2 000008ce: OR 000008cf: SWAP1 000008d0: SSTORE 000008d1: DUP1 000008d2: ISZERO 000008d3: PUSH2 0x0917 000008d6: JUMPI 000008d7: PUSH1 0x00 000008d9: DUP1 000008da: SLOAD 000008db: PUSH2 0xff00 000008de: NOT 000008df: AND 000008e0: SWAP1 000008e1: SSTORE 000008e2: PUSH1 0x40 000008e4: MLOAD 000008e5: PUSH1 0x01 000008e7: DUP2 000008e8: MSTORE 000008e9: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 0000090a: SWAP1 0000090b: PUSH1 0x20 0000090d: ADD 0000090e: JUMPDEST 0000090f: PUSH1 0x40 00000911: MLOAD 00000912: DUP1 00000913: SWAP2 00000914: SUB 00000915: SWAP1 00000916: LOG1 00000917: JUMPDEST 00000918: POP 00000919: POP 0000091a: POP 0000091b: POP 0000091c: POP 0000091d: POP 0000091e: POP 0000091f: JUMP 00000920: JUMPDEST 00000921: PUSH1 0x00 00000923: DUP1 00000924: PUSH2 0x092f 00000927: PUSH1 0x10 00000929: PUSH1 0x02 0000092b: PUSH2 0x4a8d 0000092e: JUMP 0000092f: JUMPDEST 00000930: DUP4 00000931: PUSH1 0x67 00000933: SLOAD 00000934: PUSH2 0x093d 00000937: SWAP2 00000938: SWAP1 00000939: PUSH2 0x4a99 0000093c: JUMP 0000093d: JUMPDEST 0000093e: GT 0000093f: ISZERO 00000940: PUSH2 0x095b 00000943: JUMPI 00000944: PUSH1 0x68 00000946: SLOAD 00000947: PUSH2 0x0951 0000094a: SWAP1 0000094b: PUSH1 0x01 0000094d: PUSH2 0x4a99 00000950: JUMP 00000951: JUMPDEST 00000952: SWAP4 00000953: PUSH1 0x00 00000955: SWAP4 00000956: POP 00000957: SWAP2 00000958: POP 00000959: POP 0000095a: JUMP 0000095b: JUMPDEST 0000095c: PUSH1 0x68 0000095e: SLOAD 0000095f: PUSH1 0x67 00000961: SLOAD 00000962: SWAP2 00000963: POP 00000964: SWAP2 00000965: POP 00000966: SWAP2 00000967: POP 00000968: SWAP2 00000969: JUMP 0000096a: JUMPDEST 0000096b: PUSH1 0x00 0000096d: PUSH1 0x60 0000096f: PUSH2 0x097c 00000972: PUSH2 0x0160 00000975: DUP5 00000976: ADD 00000977: DUP5 00000978: PUSH2 0x4aac 0000097b: JUMP 0000097c: JUMPDEST 0000097d: PUSH2 0x098d 00000980: SWAP1 00000981: PUSH1 0x40 00000983: DUP2 00000984: ADD 00000985: SWAP1 00000986: PUSH1 0x20 00000988: ADD 00000989: PUSH2 0x4ae5 0000098c: JUMP 0000098d: JUMPDEST 0000098e: PUSH9 0xffffffffffffffffff 00000998: AND 00000999: GASPRICE 0000099a: LT 0000099b: ISZERO 0000099c: PUSH2 0x09d1 0000099f: JUMPI 000009a0: POP 000009a1: POP 000009a2: PUSH1 0x40 000009a4: DUP1 000009a5: MLOAD 000009a6: DUP1 000009a7: DUP3 000009a8: ADD 000009a9: SWAP1 000009aa: SWAP2 000009ab: MSTORE 000009ac: PUSH1 0x11 000009ae: DUP2 000009af: MSTORE 000009b0: PUSH17 0x47617320707269636520746f6f206c6f77 000009c2: PUSH1 0x78 000009c4: SHL 000009c5: PUSH1 0x20 000009c7: DUP3 000009c8: ADD 000009c9: MSTORE 000009ca: PUSH1 0x00 000009cc: SWAP3 000009cd: SWAP1 000009ce: SWAP2 000009cf: POP 000009d0: JUMP 000009d1: JUMPDEST 000009d2: PUSH1 0x00 000009d4: PUSH2 0x09e1 000009d7: PUSH2 0x0160 000009da: DUP6 000009db: ADD 000009dc: DUP6 000009dd: PUSH2 0x4aac 000009e0: JUMP 000009e1: JUMPDEST 000009e2: PUSH2 0x09f2 000009e5: SWAP1 000009e6: PUSH1 0xa0 000009e8: DUP2 000009e9: ADD 000009ea: SWAP1 000009eb: PUSH1 0x80 000009ed: ADD 000009ee: PUSH2 0x48ac 000009f1: JUMP 000009f2: JUMPDEST 000009f3: PUSH1 0x01 000009f5: PUSH1 0x01 000009f7: PUSH1 0xa0 000009f9: SHL 000009fa: SUB 000009fb: AND 000009fc: EQ 000009fd: ISZERO 000009fe: DUP1 000009ff: ISZERO 00000a00: PUSH2 0x0a30 00000a03: JUMPI 00000a04: POP 00000a05: CALLER 00000a06: PUSH2 0x0a13 00000a09: PUSH2 0x0160 00000a0c: DUP6 00000a0d: ADD 00000a0e: DUP6 00000a0f: PUSH2 0x4aac 00000a12: JUMP 00000a13: JUMPDEST 00000a14: PUSH2 0x0a24 00000a17: SWAP1 00000a18: PUSH1 0xa0 00000a1a: DUP2 00000a1b: ADD 00000a1c: SWAP1 00000a1d: PUSH1 0x80 00000a1f: ADD 00000a20: PUSH2 0x48ac 00000a23: JUMP 00000a24: JUMPDEST 00000a25: PUSH1 0x01 00000a27: PUSH1 0x01 00000a29: PUSH1 0xa0 00000a2b: SHL 00000a2c: SUB 00000a2d: AND 00000a2e: EQ 00000a2f: ISZERO 00000a30: JUMPDEST 00000a31: ISZERO 00000a32: PUSH2 0x0a76 00000a35: JUMPI 00000a36: PUSH1 0x00 00000a38: PUSH1 0x40 00000a3a: MLOAD 00000a3b: DUP1 00000a3c: PUSH1 0x40 00000a3e: ADD 00000a3f: PUSH1 0x40 00000a41: MSTORE 00000a42: DUP1 00000a43: PUSH1 0x20 00000a45: DUP2 00000a46: MSTORE 00000a47: PUSH1 0x20 00000a49: ADD 00000a4a: PUSH32 0x496e76616c696420416461707420436f6e74726163742061732053656e646572 00000a6b: DUP2 00000a6c: MSTORE 00000a6d: POP 00000a6e: SWAP2 00000a6f: POP 00000a70: SWAP2 00000a71: POP 00000a72: SWAP2 00000a73: POP 00000a74: SWAP2 00000a75: JUMP 00000a76: JUMPDEST 00000a77: CHAINID 00000a78: PUSH2 0x0a85 00000a7b: PUSH2 0x0160 00000a7e: DUP6 00000a7f: ADD 00000a80: DUP6 00000a81: PUSH2 0x4aac 00000a84: JUMP 00000a85: JUMPDEST 00000a86: PUSH2 0x0a96 00000a89: SWAP1 00000a8a: PUSH1 0x80 00000a8c: DUP2 00000a8d: ADD 00000a8e: SWAP1 00000a8f: PUSH1 0x60 00000a91: ADD 00000a92: PUSH2 0x4b17 00000a95: JUMP 00000a96: JUMPDEST 00000a97: PUSH1 0x01 00000a99: PUSH1 0x01 00000a9b: PUSH1 0x40 00000a9d: SHL 00000a9e: SUB 00000a9f: AND 00000aa0: EQ 00000aa1: PUSH2 0x0ad5 00000aa4: JUMPI 00000aa5: POP 00000aa6: POP 00000aa7: PUSH1 0x40 00000aa9: DUP1 00000aaa: MLOAD 00000aab: DUP1 00000aac: DUP3 00000aad: ADD 00000aae: SWAP1 00000aaf: SWAP2 00000ab0: MSTORE 00000ab1: PUSH1 0x10 00000ab3: DUP2 00000ab4: MSTORE 00000ab5: PUSH16 0x086d0c2d2dc928840dad2e6dac2e8c6d 00000ac6: PUSH1 0x83 00000ac8: SHL 00000ac9: PUSH1 0x20 00000acb: DUP3 00000acc: ADD 00000acd: MSTORE 00000ace: PUSH1 0x00 00000ad0: SWAP3 00000ad1: SWAP1 00000ad2: SWAP2 00000ad3: POP 00000ad4: JUMP 00000ad5: JUMPDEST 00000ad6: PUSH1 0x8a 00000ad8: PUSH1 0x00 00000ada: PUSH2 0x0ae7 00000add: PUSH2 0x0160 00000ae0: DUP7 00000ae1: ADD 00000ae2: DUP7 00000ae3: PUSH2 0x4aac 00000ae6: JUMP 00000ae7: JUMPDEST 00000ae8: PUSH2 0x0af5 00000aeb: SWAP1 00000aec: PUSH1 0x20 00000aee: DUP2 00000aef: ADD 00000af0: SWAP1 00000af1: PUSH2 0x4b44 00000af4: JUMP 00000af5: JUMPDEST 00000af6: PUSH2 0xffff 00000af9: AND 00000afa: DUP2 00000afb: MSTORE 00000afc: PUSH1 0x20 00000afe: DUP1 00000aff: DUP3 00000b00: ADD 00000b01: SWAP3 00000b02: SWAP1 00000b03: SWAP3 00000b04: MSTORE 00000b05: PUSH1 0x40 00000b07: SWAP1 00000b08: DUP2 00000b09: ADD 00000b0a: PUSH1 0x00 00000b0c: SWAP1 00000b0d: DUP2 00000b0e: KECCAK256 00000b0f: PUSH2 0x0100 00000b12: DUP8 00000b13: ADD 00000b14: CALLDATALOAD 00000b15: DUP3 00000b16: MSTORE 00000b17: SWAP1 00000b18: SWAP3 00000b19: MSTORE 00000b1a: SWAP1 00000b1b: KECCAK256 00000b1c: SLOAD 00000b1d: PUSH1 0xff 00000b1f: AND 00000b20: PUSH2 0x0b57 00000b23: JUMPI 00000b24: POP 00000b25: POP 00000b26: PUSH1 0x40 00000b28: DUP1 00000b29: MLOAD 00000b2a: DUP1 00000b2b: DUP3 00000b2c: ADD 00000b2d: SWAP1 00000b2e: SWAP2 00000b2f: MSTORE 00000b30: PUSH1 0x13 00000b32: DUP2 00000b33: MSTORE 00000b34: PUSH19 0x125b9d985b1a590813595c9adb1948149bdbdd 00000b48: PUSH1 0x6a 00000b4a: SHL 00000b4b: PUSH1 0x20 00000b4d: DUP3 00000b4e: ADD 00000b4f: MSTORE 00000b50: PUSH1 0x00 00000b52: SWAP3 00000b53: SWAP1 00000b54: SWAP2 00000b55: POP 00000b56: JUMP 00000b57: JUMPDEST 00000b58: PUSH1 0x00 00000b5a: PUSH2 0x0b67 00000b5d: PUSH2 0x0160 00000b60: DUP6 00000b61: ADD 00000b62: DUP6 00000b63: PUSH2 0x4aac 00000b66: JUMP 00000b67: JUMPDEST 00000b68: PUSH2 0x0b78 00000b6b: SWAP1 00000b6c: PUSH1 0x60 00000b6e: DUP2 00000b6f: ADD 00000b70: SWAP1 00000b71: PUSH1 0x40 00000b73: ADD 00000b74: PUSH2 0x4b6e 00000b77: JUMP 00000b78: JUMPDEST 00000b79: PUSH1 0x02 00000b7b: DUP2 00000b7c: GT 00000b7d: ISZERO 00000b7e: PUSH2 0x0b89 00000b81: JUMPI 00000b82: PUSH2 0x0b89 00000b85: PUSH2 0x4915 00000b88: JUMP 00000b89: JUMPDEST 00000b8a: EQ 00000b8b: PUSH2 0x0d42 00000b8e: JUMPI 00000b8f: PUSH2 0x0128 00000b92: SLOAD 00000b93: PUSH1 0xff 00000b95: AND 00000b96: PUSH2 0x0bb2 00000b99: JUMPI 00000b9a: PUSH1 0x40 00000b9c: MLOAD 00000b9d: PUSH4 0x012b2441 00000ba2: PUSH1 0xe3 00000ba4: SHL 00000ba5: DUP2 00000ba6: MSTORE 00000ba7: PUSH1 0x04 00000ba9: ADD 00000baa: PUSH1 0x40 00000bac: MLOAD 00000bad: DUP1 00000bae: SWAP2 00000baf: SUB 00000bb0: SWAP1 00000bb1: REVERT 00000bb2: JUMPDEST 00000bb3: PUSH1 0x01 00000bb5: PUSH2 0x0bc2 00000bb8: PUSH2 0x0140 00000bbb: DUP6 00000bbc: ADD 00000bbd: DUP6 00000bbe: PUSH2 0x4b89 00000bc1: JUMP 00000bc2: JUMPDEST 00000bc3: PUSH2 0x0bcd 00000bc6: SWAP3 00000bc7: SWAP2 00000bc8: POP 00000bc9: PUSH2 0x4bd2 00000bcc: JUMP 00000bcd: JUMPDEST 00000bce: PUSH2 0x0bdb 00000bd1: PUSH2 0x0160 00000bd4: DUP6 00000bd5: ADD 00000bd6: DUP6 00000bd7: PUSH2 0x4aac 00000bda: JUMP 00000bdb: JUMPDEST 00000bdc: PUSH2 0x0be9 00000bdf: SWAP1 00000be0: PUSH1 0xc0 00000be2: DUP2 00000be3: ADD 00000be4: SWAP1 00000be5: PUSH2 0x4b89 00000be8: JUMP 00000be9: JUMPDEST 00000bea: SWAP1 00000beb: POP 00000bec: EQ 00000bed: PUSH2 0x0c14 00000bf0: JUMPI 00000bf1: PUSH1 0x00 00000bf3: PUSH1 0x40 00000bf5: MLOAD 00000bf6: DUP1 00000bf7: PUSH1 0x60 00000bf9: ADD 00000bfa: PUSH1 0x40 00000bfc: MSTORE 00000bfd: DUP1 00000bfe: PUSH1 0x24 00000c00: DUP2 00000c01: MSTORE 00000c02: PUSH1 0x20 00000c04: ADD 00000c05: PUSH2 0x5b23 00000c08: PUSH1 0x24 00000c0a: SWAP2 00000c0b: CODECOPY 00000c0c: SWAP2 00000c0d: POP 00000c0e: SWAP2 00000c0f: POP 00000c10: SWAP2 00000c11: POP 00000c12: SWAP2 00000c13: JUMP 00000c14: JUMPDEST 00000c15: PUSH1 0x00 00000c17: PUSH1 0x02 00000c19: PUSH2 0x0c26 00000c1c: PUSH2 0x0160 00000c1f: DUP7 00000c20: ADD 00000c21: DUP7 00000c22: PUSH2 0x4aac 00000c25: JUMP 00000c26: JUMPDEST 00000c27: PUSH2 0x0c37 00000c2a: SWAP1 00000c2b: PUSH1 0x60 00000c2d: DUP2 00000c2e: ADD 00000c2f: SWAP1 00000c30: PUSH1 0x40 00000c32: ADD 00000c33: PUSH2 0x4b6e 00000c36: JUMP 00000c37: JUMPDEST 00000c38: PUSH1 0x02 00000c3a: DUP2 00000c3b: GT 00000c3c: ISZERO 00000c3d: PUSH2 0x0c48 00000c40: JUMPI 00000c41: PUSH2 0x0c48 00000c44: PUSH2 0x4915 00000c47: JUMP 00000c48: JUMPDEST 00000c49: SUB 00000c4a: PUSH2 0x0ca4 00000c4d: JUMPI 00000c4e: PUSH1 0x40 00000c50: DUP1 00000c51: MLOAD 00000c52: PUSH1 0x60 00000c54: DUP2 00000c55: ADD 00000c56: SWAP1 00000c57: SWAP2 00000c58: MSTORE 00000c59: CALLER 00000c5a: DUP2 00000c5b: MSTORE 00000c5c: PUSH2 0x0c9d 00000c5f: SWAP1 00000c60: PUSH1 0x20 00000c62: DUP2 00000c63: ADD 00000c64: PUSH2 0x0c76 00000c67: CALLDATASIZE 00000c68: DUP9 00000c69: SWAP1 00000c6a: SUB 00000c6b: DUP9 00000c6c: ADD 00000c6d: PUSH2 0x01a0 00000c70: DUP10 00000c71: ADD 00000c72: PUSH2 0x48f9 00000c75: JUMP 00000c76: JUMPDEST 00000c77: DUP2 00000c78: MSTORE 00000c79: PUSH1 0x20 00000c7b: ADD 00000c7c: PUSH2 0x0c8d 00000c7f: PUSH2 0x0220 00000c82: DUP9 00000c83: ADD 00000c84: PUSH2 0x0200 00000c87: DUP10 00000c88: ADD 00000c89: PUSH2 0x4be5 00000c8c: JUMP 00000c8d: JUMPDEST 00000c8e: PUSH1 0x01 00000c90: PUSH1 0x01 00000c92: PUSH1 0x78 00000c94: SHL 00000c95: SUB 00000c96: AND 00000c97: SWAP1 00000c98: MSTORE 00000c99: PUSH2 0x15a5 00000c9c: JUMP 00000c9d: JUMPDEST 00000c9e: SWAP1 00000c9f: POP 00000ca0: PUSH2 0x0cbd 00000ca3: JUMP 00000ca4: JUMPDEST 00000ca5: PUSH2 0x0cba 00000ca8: PUSH2 0x04a8 00000cab: CALLDATASIZE 00000cac: DUP7 00000cad: SWAP1 00000cae: SUB 00000caf: DUP7 00000cb0: ADD 00000cb1: PUSH2 0x0180 00000cb4: DUP8 00000cb5: ADD 00000cb6: PUSH2 0x4746 00000cb9: JUMP 00000cba: JUMPDEST 00000cbb: SWAP1 00000cbc: POP 00000cbd: JUMPDEST 00000cbe: PUSH2 0x0ccb 00000cc1: PUSH2 0x0140 00000cc4: DUP6 00000cc5: ADD 00000cc6: DUP6 00000cc7: PUSH2 0x4b89 00000cca: JUMP 00000ccb: JUMPDEST 00000ccc: PUSH1 0x01 00000cce: PUSH2 0x0cdb 00000cd1: PUSH2 0x0140 00000cd4: DUP9 00000cd5: ADD 00000cd6: DUP9 00000cd7: PUSH2 0x4b89 00000cda: JUMP 00000cdb: JUMPDEST 00000cdc: PUSH2 0x0ce6 00000cdf: SWAP3 00000ce0: SWAP2 00000ce1: POP 00000ce2: PUSH2 0x4bd2 00000ce5: JUMP 00000ce6: JUMPDEST 00000ce7: DUP2 00000ce8: DUP2 00000ce9: LT 00000cea: PUSH2 0x0cf5 00000ced: JUMPI 00000cee: PUSH2 0x0cf5 00000cf1: PUSH2 0x4c00 00000cf4: JUMP 00000cf5: JUMPDEST 00000cf6: SWAP1 00000cf7: POP 00000cf8: PUSH1 0x20 00000cfa: MUL 00000cfb: ADD 00000cfc: CALLDATALOAD 00000cfd: DUP2 00000cfe: EQ 00000cff: PUSH2 0x0d3c 00000d02: JUMPI 00000d03: PUSH1 0x00 00000d05: PUSH1 0x40 00000d07: MLOAD 00000d08: DUP1 00000d09: PUSH1 0x40 00000d0b: ADD 00000d0c: PUSH1 0x40 00000d0e: MSTORE 00000d0f: DUP1 00000d10: PUSH1 0x15 00000d12: DUP2 00000d13: MSTORE 00000d14: PUSH1 0x20 00000d16: ADD 00000d17: PUSH21 0x496e76616c6964205769746864726177204e6f7465 00000d2d: PUSH1 0x58 00000d2f: SHL 00000d30: DUP2 00000d31: MSTORE 00000d32: POP 00000d33: SWAP3 00000d34: POP 00000d35: SWAP3 00000d36: POP 00000d37: POP 00000d38: SWAP2 00000d39: POP 00000d3a: SWAP2 00000d3b: JUMP 00000d3c: JUMPDEST 00000d3d: POP 00000d3e: PUSH2 0x0d99 00000d41: JUMP 00000d42: JUMPDEST 00000d43: PUSH2 0x0d50 00000d46: PUSH2 0x0140 00000d49: DUP5 00000d4a: ADD 00000d4b: DUP5 00000d4c: PUSH2 0x4b89 00000d4f: JUMP 00000d50: JUMPDEST 00000d51: SWAP1 00000d52: POP 00000d53: PUSH2 0x0d60 00000d56: PUSH2 0x0160 00000d59: DUP6 00000d5a: ADD 00000d5b: DUP6 00000d5c: PUSH2 0x4aac 00000d5f: JUMP 00000d60: JUMPDEST 00000d61: PUSH2 0x0d6e 00000d64: SWAP1 00000d65: PUSH1 0xc0 00000d67: DUP2 00000d68: ADD 00000d69: SWAP1 00000d6a: PUSH2 0x4b89 00000d6d: JUMP 00000d6e: JUMPDEST 00000d6f: SWAP1 00000d70: POP 00000d71: EQ 00000d72: PUSH2 0x0d99 00000d75: JUMPI 00000d76: PUSH1 0x00 00000d78: PUSH1 0x40 00000d7a: MLOAD 00000d7b: DUP1 00000d7c: PUSH1 0x60 00000d7e: ADD 00000d7f: PUSH1 0x40 00000d81: MSTORE 00000d82: DUP1 00000d83: PUSH1 0x24 00000d85: DUP2 00000d86: MSTORE 00000d87: PUSH1 0x20 00000d89: ADD 00000d8a: PUSH2 0x5b23 00000d8d: PUSH1 0x24 00000d8f: SWAP2 00000d90: CODECOPY 00000d91: SWAP2 00000d92: POP 00000d93: SWAP2 00000d94: POP 00000d95: SWAP2 00000d96: POP 00000d97: SWAP2 00000d98: JUMP 00000d99: JUMPDEST 00000d9a: PUSH2 0x0da2 00000d9d: DUP4 00000d9e: PUSH2 0x2155 00000da1: JUMP 00000da2: JUMPDEST 00000da3: PUSH2 0x0dda 00000da6: JUMPI 00000da7: POP 00000da8: POP 00000da9: PUSH1 0x40 00000dab: DUP1 00000dac: MLOAD 00000dad: DUP1 00000dae: DUP3 00000daf: ADD 00000db0: SWAP1 00000db1: SWAP2 00000db2: MSTORE 00000db3: PUSH1 0x13 00000db5: DUP2 00000db6: MSTORE 00000db7: PUSH19 0x24b73b30b634b21029b730b93590283937b7b3 00000dcb: PUSH1 0x69 00000dcd: SHL 00000dce: PUSH1 0x20 00000dd0: DUP3 00000dd1: ADD 00000dd2: MSTORE 00000dd3: PUSH1 0x00 00000dd5: SWAP3 00000dd6: SWAP1 00000dd7: SWAP2 00000dd8: POP 00000dd9: JUMP 00000dda: JUMPDEST 00000ddb: POP 00000ddc: POP 00000ddd: PUSH1 0x40 00000ddf: DUP1 00000de0: MLOAD 00000de1: PUSH1 0x20 00000de3: DUP2 00000de4: ADD 00000de5: SWAP1 00000de6: SWAP2 00000de7: MSTORE 00000de8: PUSH1 0x00 00000dea: DUP2 00000deb: MSTORE 00000dec: PUSH1 0x01 00000dee: SWAP3 00000def: SWAP1 00000df0: SWAP2 00000df1: POP 00000df2: JUMP 00000df3: JUMPDEST 00000df4: PUSH1 0x00 00000df6: PUSH1 0x00 00000df8: DUP1 00000df9: MLOAD 00000dfa: PUSH1 0x20 00000dfc: PUSH2 0x5b03 00000dff: DUP4 00000e00: CODECOPY 00000e01: DUP2 00000e02: MLOAD 00000e03: SWAP2 00000e04: MSTORE 00000e05: DUP3 00000e06: PUSH1 0x40 00000e08: MLOAD 00000e09: PUSH1 0x20 00000e0b: ADD 00000e0c: PUSH2 0x0e15 00000e0f: SWAP2 00000e10: SWAP1 00000e11: PUSH2 0x4d94 00000e14: JUMP 00000e15: JUMPDEST 00000e16: PUSH1 0x40 00000e18: MLOAD 00000e19: PUSH1 0x20 00000e1b: DUP2 00000e1c: DUP4 00000e1d: SUB 00000e1e: SUB 00000e1f: DUP2 00000e20: MSTORE 00000e21: SWAP1 00000e22: PUSH1 0x40 00000e24: MSTORE 00000e25: DUP1 00000e26: MLOAD 00000e27: SWAP1 00000e28: PUSH1 0x20 00000e2a: ADD 00000e2b: KECCAK256 00000e2c: PUSH1 0x00 00000e2e: SHR 00000e2f: PUSH2 0x0e38 00000e32: SWAP2 00000e33: SWAP1 00000e34: PUSH2 0x4e65 00000e37: JUMP 00000e38: JUMPDEST 00000e39: SWAP3 00000e3a: SWAP2 00000e3b: POP 00000e3c: POP 00000e3d: JUMP 00000e3e: JUMPDEST 00000e3f: PUSH1 0x00 00000e41: PUSH2 0x0e59 00000e44: DUP5 00000e45: PUSH2 0x0e53 00000e48: CALLDATASIZE 00000e49: DUP7 00000e4a: SWAP1 00000e4b: SUB 00000e4c: DUP7 00000e4d: ADD 00000e4e: DUP7 00000e4f: PUSH2 0x4e79 00000e52: JUMP 00000e53: JUMPDEST 00000e54: DUP5 00000e55: PUSH2 0x2927 00000e58: JUMP 00000e59: JUMPDEST 00000e5a: SWAP5 00000e5b: SWAP4 00000e5c: POP 00000e5d: POP 00000e5e: POP 00000e5f: POP 00000e60: JUMP 00000e61: JUMPDEST 00000e62: PUSH2 0x0e69 00000e65: PUSH2 0x2a51 00000e68: JUMP 00000e69: JUMPDEST 00000e6a: PUSH1 0x00 00000e6c: DUP4 00000e6d: DUP2 00000e6e: MSTORE 00000e6f: PUSH1 0xf0 00000e71: PUSH1 0x20 00000e73: SWAP1 00000e74: DUP2 00000e75: MSTORE 00000e76: PUSH1 0x40 00000e78: DUP1 00000e79: DUP4 00000e7a: KECCAK256 00000e7b: DUP6 00000e7c: DUP5 00000e7d: MSTORE 00000e7e: SWAP1 00000e7f: SWAP2 00000e80: MSTORE 00000e81: SWAP1 00000e82: KECCAK256 00000e83: DUP2 00000e84: SWAP1 00000e85: PUSH2 0x0e8e 00000e88: DUP3 00000e89: DUP3 00000e8a: PUSH2 0x5179 00000e8d: JUMP 00000e8e: JUMPDEST 00000e8f: SWAP1 00000e90: POP 00000e91: POP 00000e92: PUSH32 0x3d09e10d1c966d01c4a2c14d0ac9af253486aa5e99b6cffe9019c4d43eb1fb23 00000eb3: DUP4 00000eb4: DUP4 00000eb5: DUP4 00000eb6: PUSH1 0x40 00000eb8: MLOAD 00000eb9: PUSH2 0x0ec4 00000ebc: SWAP4 00000ebd: SWAP3 00000ebe: SWAP2 00000ebf: SWAP1 00000ec0: PUSH2 0x527c 00000ec3: JUMP 00000ec4: JUMPDEST 00000ec5: PUSH1 0x40 00000ec7: MLOAD 00000ec8: DUP1 00000ec9: SWAP2 00000eca: SUB 00000ecb: SWAP1 00000ecc: LOG1 00000ecd: POP 00000ece: POP 00000ecf: POP 00000ed0: JUMP 00000ed1: JUMPDEST 00000ed2: DUP1 00000ed3: PUSH1 0x00 00000ed5: DUP2 00000ed6: PUSH1 0x01 00000ed8: PUSH1 0x01 00000eda: PUSH1 0x40 00000edc: SHL 00000edd: SUB 00000ede: DUP2 00000edf: GT 00000ee0: ISZERO 00000ee1: PUSH2 0x0eec 00000ee4: JUMPI 00000ee5: PUSH2 0x0eec 00000ee8: PUSH2 0x40bf 00000eeb: JUMP 00000eec: JUMPDEST 00000eed: PUSH1 0x40 00000eef: MLOAD 00000ef0: SWAP1 00000ef1: DUP1 00000ef2: DUP3 00000ef3: MSTORE 00000ef4: DUP1 00000ef5: PUSH1 0x20 00000ef7: MUL 00000ef8: PUSH1 0x20 00000efa: ADD 00000efb: DUP3 00000efc: ADD 00000efd: PUSH1 0x40 00000eff: MSTORE 00000f00: DUP1 00000f01: ISZERO 00000f02: PUSH2 0x0f15 00000f05: JUMPI 00000f06: DUP2 00000f07: PUSH1 0x20 00000f09: ADD 00000f0a: PUSH1 0x20 00000f0c: DUP3 00000f0d: MUL 00000f0e: DUP1 00000f0f: CALLDATASIZE 00000f10: DUP4 00000f11: CALLDATACOPY 00000f12: ADD 00000f13: SWAP1 00000f14: POP 00000f15: JUMPDEST 00000f16: POP 00000f17: SWAP1 00000f18: POP 00000f19: PUSH1 0x00 00000f1b: DUP3 00000f1c: PUSH1 0x01 00000f1e: PUSH1 0x01 00000f20: PUSH1 0x40 00000f22: SHL 00000f23: SUB 00000f24: DUP2 00000f25: GT 00000f26: ISZERO 00000f27: PUSH2 0x0f32 00000f2a: JUMPI 00000f2b: PUSH2 0x0f32 00000f2e: PUSH2 0x40bf 00000f31: JUMP 00000f32: JUMPDEST 00000f33: PUSH1 0x40 00000f35: MLOAD 00000f36: SWAP1 00000f37: DUP1 00000f38: DUP3 00000f39: MSTORE 00000f3a: DUP1 00000f3b: PUSH1 0x20 00000f3d: MUL 00000f3e: PUSH1 0x20 00000f40: ADD 00000f41: DUP3 00000f42: ADD 00000f43: PUSH1 0x40 00000f45: MSTORE 00000f46: DUP1 00000f47: ISZERO 00000f48: PUSH2 0x0f6b 00000f4b: JUMPI 00000f4c: DUP2 00000f4d: PUSH1 0x20 00000f4f: ADD 00000f50: JUMPDEST 00000f51: PUSH2 0x0f58 00000f54: PUSH2 0x3d8e 00000f57: JUMP 00000f58: JUMPDEST 00000f59: DUP2 00000f5a: MSTORE 00000f5b: PUSH1 0x20 00000f5d: ADD 00000f5e: SWAP1 00000f5f: PUSH1 0x01 00000f61: SWAP1 00000f62: SUB 00000f63: SWAP1 00000f64: DUP2 00000f65: PUSH2 0x0f50 00000f68: JUMPI 00000f69: SWAP1 00000f6a: POP 00000f6b: JUMPDEST 00000f6c: POP 00000f6d: SWAP1 00000f6e: POP 00000f6f: PUSH1 0x00 00000f71: DUP4 00000f72: PUSH1 0x01 00000f74: PUSH1 0x01 00000f76: PUSH1 0x40 00000f78: SHL 00000f79: SUB 00000f7a: DUP2 00000f7b: GT 00000f7c: ISZERO 00000f7d: PUSH2 0x0f88 00000f80: JUMPI 00000f81: PUSH2 0x0f88 00000f84: PUSH2 0x40bf 00000f87: JUMP 00000f88: JUMPDEST 00000f89: PUSH1 0x40 00000f8b: MLOAD 00000f8c: SWAP1 00000f8d: DUP1 00000f8e: DUP3 00000f8f: MSTORE 00000f90: DUP1 00000f91: PUSH1 0x20 00000f93: MUL 00000f94: PUSH1 0x20 00000f96: ADD 00000f97: DUP3 00000f98: ADD 00000f99: PUSH1 0x40 00000f9b: MSTORE 00000f9c: DUP1 00000f9d: ISZERO 00000f9e: PUSH2 0x0fc1 00000fa1: JUMPI 00000fa2: DUP2 00000fa3: PUSH1 0x20 00000fa5: ADD 00000fa6: JUMPDEST 00000fa7: PUSH2 0x0fae 00000faa: PUSH2 0x3dc7 00000fad: JUMP 00000fae: JUMPDEST 00000faf: DUP2 00000fb0: MSTORE 00000fb1: PUSH1 0x20 00000fb3: ADD 00000fb4: SWAP1 00000fb5: PUSH1 0x01 00000fb7: SWAP1 00000fb8: SUB 00000fb9: SWAP1 00000fba: DUP2 00000fbb: PUSH2 0x0fa6 00000fbe: JUMPI 00000fbf: SWAP1 00000fc0: POP 00000fc1: JUMPDEST 00000fc2: POP 00000fc3: SWAP1 00000fc4: POP 00000fc5: PUSH1 0x00 00000fc7: DUP5 00000fc8: PUSH1 0x01 00000fca: PUSH1 0x01 00000fcc: PUSH1 0x40 00000fce: SHL 00000fcf: SUB 00000fd0: DUP2 00000fd1: GT 00000fd2: ISZERO 00000fd3: PUSH2 0x0fde 00000fd6: JUMPI 00000fd7: PUSH2 0x0fde 00000fda: PUSH2 0x40bf 00000fdd: JUMP 00000fde: JUMPDEST 00000fdf: PUSH1 0x40 00000fe1: MLOAD 00000fe2: SWAP1 00000fe3: DUP1 00000fe4: DUP3 00000fe5: MSTORE 00000fe6: DUP1 00000fe7: PUSH1 0x20 00000fe9: MUL 00000fea: PUSH1 0x20 00000fec: ADD 00000fed: DUP3 00000fee: ADD 00000fef: PUSH1 0x40 00000ff1: MSTORE 00000ff2: DUP1 00000ff3: ISZERO 00000ff4: PUSH2 0x1007 00000ff7: JUMPI 00000ff8: DUP2 00000ff9: PUSH1 0x20 00000ffb: ADD 00000ffc: PUSH1 0x20 00000ffe: DUP3 00000fff: MUL 00001000: DUP1 00001001: CALLDATASIZE 00001002: DUP4 00001003: CALLDATACOPY 00001004: ADD 00001005: SWAP1 00001006: POP 00001007: JUMPDEST 00001008: POP 00001009: SWAP1 0000100a: POP 0000100b: PUSH1 0x00 0000100d: JUMPDEST 0000100e: DUP6 0000100f: DUP2 00001010: LT 00001011: ISZERO 00001012: PUSH2 0x1105 00001015: JUMPI 00001016: PUSH2 0x1039 00001019: DUP9 0000101a: DUP9 0000101b: DUP4 0000101c: DUP2 0000101d: DUP2 0000101e: LT 0000101f: PUSH2 0x102a 00001022: JUMPI 00001023: PUSH2 0x102a 00001026: PUSH2 0x4c00 00001029: JUMP 0000102a: JUMPDEST 0000102b: SWAP1 0000102c: POP 0000102d: PUSH2 0x0120 00001030: MUL 00001031: ADD 00001032: PUSH1 0x00 00001034: ADD 00001035: PUSH2 0x2aab 00001038: JUMP 00001039: JUMPDEST 0000103a: DUP6 0000103b: DUP4 0000103c: DUP2 0000103d: MLOAD 0000103e: DUP2 0000103f: LT 00001040: PUSH2 0x104b 00001043: JUMPI 00001044: PUSH2 0x104b 00001047: PUSH2 0x4c00 0000104a: JUMP 0000104b: JUMPDEST 0000104c: PUSH1 0x20 0000104e: MUL 0000104f: PUSH1 0x20 00001051: ADD 00001052: ADD 00001053: DUP5 00001054: DUP5 00001055: DUP2 00001056: MLOAD 00001057: DUP2 00001058: LT 00001059: PUSH2 0x1064 0000105c: JUMPI 0000105d: PUSH2 0x1064 00001060: PUSH2 0x4c00 00001063: JUMP 00001064: JUMPDEST 00001065: PUSH1 0x20 00001067: MUL 00001068: PUSH1 0x20 0000106a: ADD 0000106b: ADD 0000106c: DUP3 0000106d: DUP2 0000106e: MSTORE 0000106f: POP 00001070: DUP3 00001071: SWAP1 00001072: MSTORE 00001073: POP 00001074: POP 00001075: PUSH2 0x1096 00001078: DUP5 00001079: DUP3 0000107a: DUP2 0000107b: MLOAD 0000107c: DUP2 0000107d: LT 0000107e: PUSH2 0x1089 00001081: JUMPI 00001082: PUSH2 0x1089 00001085: PUSH2 0x4c00 00001088: JUMP 00001089: JUMPDEST 0000108a: PUSH1 0x20 0000108c: MUL 0000108d: PUSH1 0x20 0000108f: ADD 00001090: ADD 00001091: MLOAD 00001092: PUSH2 0x15a5 00001095: JUMP 00001096: JUMPDEST 00001097: DUP6 00001098: DUP3 00001099: DUP2 0000109a: MLOAD 0000109b: DUP2 0000109c: LT 0000109d: PUSH2 0x10a8 000010a0: JUMPI 000010a1: PUSH2 0x10a8 000010a4: PUSH2 0x4c00 000010a7: JUMP 000010a8: JUMPDEST 000010a9: PUSH1 0x20 000010ab: MUL 000010ac: PUSH1 0x20 000010ae: ADD 000010af: ADD 000010b0: DUP2 000010b1: DUP2 000010b2: MSTORE 000010b3: POP 000010b4: POP 000010b5: DUP8 000010b6: DUP8 000010b7: DUP3 000010b8: DUP2 000010b9: DUP2 000010ba: LT 000010bb: PUSH2 0x10c6 000010be: JUMPI 000010bf: PUSH2 0x10c6 000010c2: PUSH2 0x4c00 000010c5: JUMP 000010c6: JUMPDEST 000010c7: SWAP1 000010c8: POP 000010c9: PUSH2 0x0120 000010cc: MUL 000010cd: ADD 000010ce: PUSH1 0xa0 000010d0: ADD 000010d1: DUP1 000010d2: CALLDATASIZE 000010d3: SUB 000010d4: DUP2 000010d5: ADD 000010d6: SWAP1 000010d7: PUSH2 0x10e0 000010da: SWAP2 000010db: SWAP1 000010dc: PUSH2 0x5369 000010df: JUMP 000010e0: JUMPDEST 000010e1: DUP4 000010e2: DUP3 000010e3: DUP2 000010e4: MLOAD 000010e5: DUP2 000010e6: LT 000010e7: PUSH2 0x10f2 000010ea: JUMPI 000010eb: PUSH2 0x10f2 000010ee: PUSH2 0x4c00 000010f1: JUMP 000010f2: JUMPDEST 000010f3: PUSH1 0x20 000010f5: SWAP1 000010f6: DUP2 000010f7: MUL 000010f8: SWAP2 000010f9: SWAP1 000010fa: SWAP2 000010fb: ADD 000010fc: ADD 000010fd: MSTORE 000010fe: PUSH1 0x01 00001100: ADD 00001101: PUSH2 0x100d 00001104: JUMP 00001105: JUMPDEST 00001106: POP 00001107: PUSH32 0x43ee425939c1a009b002ccea94371bae02e2b1ed3b3ae0e6d74b0990572d381e 00001128: PUSH1 0x68 0000112a: SLOAD 0000112b: PUSH1 0x67 0000112d: SLOAD 0000112e: DUP6 0000112f: DUP6 00001130: DUP6 00001131: PUSH1 0x40 00001133: MLOAD 00001134: PUSH2 0x1141 00001137: SWAP6 00001138: SWAP5 00001139: SWAP4 0000113a: SWAP3 0000113b: SWAP2 0000113c: SWAP1 0000113d: PUSH2 0x54a7 00001140: JUMP 00001141: JUMPDEST 00001142: PUSH1 0x40 00001144: MLOAD 00001145: DUP1 00001146: SWAP2 00001147: SUB 00001148: SWAP1 00001149: LOG1 0000114a: PUSH2 0x1152 0000114d: DUP5 0000114e: PUSH2 0x2ea6 00001151: JUMP 00001152: JUMPDEST 00001153: POP 00001154: POP 00001155: NUMBER 00001156: PUSH2 0x0127 00001159: SSTORE 0000115a: POP 0000115b: POP 0000115c: POP 0000115d: POP 0000115e: POP 0000115f: JUMP 00001160: JUMPDEST 00001161: PUSH1 0x40 00001163: DUP1 00001164: MLOAD 00001165: DUP1 00001166: DUP3 00001167: ADD 00001168: DUP3 00001169: MSTORE 0000116a: DUP4 0000116b: DUP2 0000116c: MSTORE 0000116d: PUSH1 0x20 0000116f: DUP2 00001170: ADD 00001171: DUP4 00001172: SWAP1 00001173: MSTORE 00001174: SWAP1 00001175: MLOAD 00001176: PUSH4 0x014cf2b3 0000117b: PUSH1 0xe5 0000117d: SHL 0000117e: DUP2 0000117f: MSTORE 00001180: PUSH1 0x00 00001182: SWAP2 00001183: PUSH20 0xa1a752b2c3dd65381211670574c50966315c10ad 00001198: SWAP2 00001199: PUSH4 0x299e5660 0000119e: SWAP2 0000119f: PUSH2 0x11aa 000011a2: SWAP2 000011a3: PUSH1 0x04 000011a5: ADD 000011a6: PUSH2 0x5543 000011a9: JUMP 000011aa: JUMPDEST 000011ab: PUSH1 0x20 000011ad: PUSH1 0x40 000011af: MLOAD 000011b0: DUP1 000011b1: DUP4 000011b2: SUB 000011b3: DUP2 000011b4: DUP7 000011b5: GAS 000011b6: DELEGATECALL 000011b7: ISZERO 000011b8: DUP1 000011b9: ISZERO 000011ba: PUSH2 0x11c7 000011bd: JUMPI 000011be: RETURNDATASIZE 000011bf: PUSH1 0x00 000011c1: DUP1 000011c2: RETURNDATACOPY 000011c3: RETURNDATASIZE 000011c4: PUSH1 0x00 000011c6: REVERT 000011c7: JUMPDEST 000011c8: POP 000011c9: POP 000011ca: POP 000011cb: POP 000011cc: PUSH1 0x40 000011ce: MLOAD 000011cf: RETURNDATASIZE 000011d0: PUSH1 0x1f 000011d2: NOT 000011d3: PUSH1 0x1f 000011d5: DUP3 000011d6: ADD 000011d7: AND 000011d8: DUP3 000011d9: ADD 000011da: DUP1 000011db: PUSH1 0x40 000011dd: MSTORE 000011de: POP 000011df: DUP2 000011e0: ADD 000011e1: SWAP1 000011e2: PUSH2 0x11eb 000011e5: SWAP2 000011e6: SWAP1 000011e7: PUSH2 0x5574 000011ea: JUMP 000011eb: JUMPDEST 000011ec: SWAP4 000011ed: SWAP3 000011ee: POP 000011ef: POP 000011f0: POP 000011f1: JUMP 000011f2: JUMPDEST 000011f3: PUSH1 0x00 000011f5: DUP1 000011f6: PUSH1 0x00 000011f8: DUP1 000011f9: DUP6 000011fa: ISZERO 000011fb: PUSH2 0x123b 000011fe: JUMPI 000011ff: PUSH2 0x2710 00001202: PUSH2 0x1214 00001205: PUSH1 0x01 00001207: PUSH1 0x01 00001209: PUSH1 0x78 0000120b: SHL 0000120c: SUB 0000120d: DUP8 0000120e: AND 0000120f: DUP10 00001210: PUSH2 0x558d 00001213: JUMP 00001214: JUMPDEST 00001215: PUSH2 0x121e 00001218: SWAP2 00001219: SWAP1 0000121a: PUSH2 0x55b6 0000121d: JUMP 0000121e: JUMPDEST 0000121f: PUSH2 0x1228 00001222: SWAP1 00001223: DUP9 00001224: PUSH2 0x55dc 00001227: JUMP 00001228: JUMPDEST 00001229: SWAP2 0000122a: POP 0000122b: PUSH2 0x1234 0000122e: DUP3 0000122f: DUP9 00001230: PUSH2 0x55dc 00001233: JUMP 00001234: JUMPDEST 00001235: SWAP1 00001236: POP 00001237: PUSH2 0x1277 0000123a: JUMP 0000123b: JUMPDEST 0000123c: DUP7 0000123d: SWAP2 0000123e: POP 0000123f: DUP2 00001240: PUSH2 0x124b 00001243: DUP7 00001244: PUSH2 0x2710 00001247: PUSH2 0x5603 0000124a: JUMP 0000124b: JUMPDEST 0000124c: PUSH1 0x01 0000124e: PUSH1 0x01 00001250: PUSH1 0x78 00001252: SHL 00001253: SUB 00001254: AND 00001255: PUSH2 0x1260 00001258: DUP5 00001259: PUSH2 0x2710 0000125c: PUSH2 0x558d 0000125f: JUMP 00001260: JUMPDEST 00001261: PUSH2 0x126a 00001264: SWAP2 00001265: SWAP1 00001266: PUSH2 0x55b6 00001269: JUMP 0000126a: JUMPDEST 0000126b: PUSH2 0x1274 0000126e: SWAP2 0000126f: SWAP1 00001270: PUSH2 0x55dc 00001273: JUMP 00001274: JUMPDEST 00001275: SWAP1 00001276: POP 00001277: JUMPDEST 00001278: SWAP1 00001279: SWAP7 0000127a: SWAP1 0000127b: SWAP6 0000127c: POP 0000127d: SWAP4 0000127e: POP 0000127f: POP 00001280: POP 00001281: POP 00001282: JUMP 00001283: JUMPDEST 00001284: PUSH2 0x128b 00001287: PUSH2 0x2a51 0000128a: JUMP 0000128b: JUMPDEST 0000128c: PUSH2 0x0128 0000128f: SLOAD 00001290: PUSH1 0xff 00001292: AND 00001293: ISZERO 00001294: PUSH2 0x12b0 00001297: JUMPI 00001298: PUSH1 0x40 0000129a: MLOAD 0000129b: PUSH4 0x83d1d6c9 000012a0: PUSH1 0xe0 000012a2: SHL 000012a3: DUP2 000012a4: MSTORE 000012a5: PUSH1 0x04 000012a7: ADD 000012a8: PUSH1 0x40 000012aa: MLOAD 000012ab: DUP1 000012ac: SWAP2 000012ad: SUB 000012ae: SWAP1 000012af: REVERT 000012b0: JUMPDEST 000012b1: PUSH2 0x0128 000012b4: DUP1 000012b5: SLOAD 000012b6: PUSH1 0xff 000012b8: NOT 000012b9: AND 000012ba: PUSH1 0x01 000012bc: OR 000012bd: SWAP1 000012be: SSTORE 000012bf: PUSH1 0x40 000012c1: MLOAD 000012c2: PUSH32 0x87ac4cb9acc421e73c1e97369e4866ae15c578f467067f77184c854745ae2fc6 000012e3: SWAP1 000012e4: PUSH1 0x00 000012e6: SWAP1 000012e7: LOG1 000012e8: JUMP 000012e9: JUMPDEST 000012ea: PUSH1 0x00 000012ec: DUP2 000012ed: DUP2 000012ee: DUP1 000012ef: JUMPDEST 000012f0: DUP3 000012f1: DUP2 000012f2: LT 000012f3: ISZERO 000012f4: PUSH2 0x134d 000012f7: JUMPI 000012f8: DUP6 000012f9: DUP6 000012fa: DUP3 000012fb: DUP2 000012fc: DUP2 000012fd: LT 000012fe: PUSH2 0x1309 00001301: JUMPI 00001302: PUSH2 0x1309 00001305: PUSH2 0x4c00 00001308: JUMP 00001309: JUMPDEST 0000130a: SWAP1 0000130b: POP 0000130c: PUSH1 0x20 0000130e: MUL 0000130f: DUP2 00001310: ADD 00001311: SWAP1 00001312: PUSH2 0x131b 00001315: SWAP2 00001316: SWAP1 00001317: PUSH2 0x5623 0000131a: JUMP 0000131b: JUMPDEST 0000131c: PUSH2 0x132a 0000131f: SWAP1 00001320: PUSH2 0x0160 00001323: DUP2 00001324: ADD 00001325: SWAP1 00001326: PUSH2 0x4aac 00001329: JUMP 0000132a: JUMPDEST 0000132b: PUSH2 0x1338 0000132e: SWAP1 0000132f: PUSH1 0xc0 00001331: DUP2 00001332: ADD 00001333: SWAP1 00001334: PUSH2 0x4b89 00001337: JUMP 00001338: JUMPDEST 00001339: PUSH2 0x1343 0000133c: SWAP2 0000133d: POP 0000133e: DUP4 0000133f: PUSH2 0x4a99 00001342: JUMP 00001343: JUMPDEST 00001344: SWAP2 00001345: POP 00001346: PUSH1 0x01 00001348: ADD 00001349: PUSH2 0x12ef 0000134c: JUMP 0000134d: JUMPDEST 0000134e: POP 0000134f: SWAP5 00001350: SWAP4 00001351: POP 00001352: POP 00001353: POP 00001354: POP 00001355: JUMP 00001356: JUMPDEST 00001357: PUSH1 0x00 00001359: PUSH1 0x60 0000135b: PUSH2 0x136a 0000135e: PUSH1 0xa0 00001360: DUP5 00001361: ADD 00001362: PUSH1 0x80 00001364: DUP6 00001365: ADD 00001366: PUSH2 0x4be5 00001369: JUMP 0000136a: JUMPDEST 0000136b: PUSH1 0x01 0000136d: PUSH1 0x01 0000136f: PUSH1 0x78 00001371: SHL 00001372: SUB 00001373: AND 00001374: PUSH1 0x00 00001376: SUB 00001377: PUSH2 0x13ad 0000137a: JUMPI 0000137b: POP 0000137c: POP 0000137d: PUSH1 0x40 0000137f: DUP1 00001380: MLOAD 00001381: DUP1 00001382: DUP3 00001383: ADD 00001384: SWAP1 00001385: SWAP2 00001386: MSTORE 00001387: PUSH1 0x12 00001389: DUP2 0000138a: MSTORE 0000138b: PUSH18 0x496e76616c6964204e6f74652056616c7565 0000139e: PUSH1 0x70 000013a0: SHL 000013a1: PUSH1 0x20 000013a3: DUP3 000013a4: ADD 000013a5: MSTORE 000013a6: PUSH1 0x00 000013a8: SWAP3 000013a9: SWAP1 000013aa: SWAP2 000013ab: POP 000013ac: JUMP 000013ad: JUMPDEST 000013ae: PUSH1 0xbd 000013b0: PUSH1 0x00 000013b2: PUSH2 0x13c1 000013b5: PUSH1 0x60 000013b7: DUP7 000013b8: ADD 000013b9: PUSH1 0x40 000013bb: DUP8 000013bc: ADD 000013bd: PUSH2 0x48ac 000013c0: JUMP 000013c1: JUMPDEST 000013c2: PUSH1 0x01 000013c4: PUSH1 0x01 000013c6: PUSH1 0xa0 000013c8: SHL 000013c9: SUB 000013ca: AND 000013cb: DUP2 000013cc: MSTORE 000013cd: PUSH1 0x20 000013cf: DUP2 000013d0: ADD 000013d1: SWAP2 000013d2: SWAP1 000013d3: SWAP2 000013d4: MSTORE 000013d5: PUSH1 0x40 000013d7: ADD 000013d8: PUSH1 0x00 000013da: KECCAK256 000013db: SLOAD 000013dc: PUSH1 0xff 000013de: AND 000013df: ISZERO 000013e0: PUSH2 0x1415 000013e3: JUMPI 000013e4: POP 000013e5: POP 000013e6: PUSH1 0x40 000013e8: DUP1 000013e9: MLOAD 000013ea: DUP1 000013eb: DUP3 000013ec: ADD 000013ed: SWAP1 000013ee: SWAP2 000013ef: MSTORE 000013f0: PUSH1 0x11 000013f2: DUP2 000013f3: MSTORE 000013f4: PUSH17 0x2ab739bab83837b93a32b2102a37b5b2b7 00001406: PUSH1 0x79 00001408: SHL 00001409: PUSH1 0x20 0000140b: DUP3 0000140c: ADD 0000140d: MSTORE 0000140e: PUSH1 0x00 00001410: SWAP3 00001411: SWAP1 00001412: SWAP2 00001413: POP 00001414: JUMP 00001415: JUMPDEST 00001416: PUSH1 0x00 00001418: DUP1 00001419: MLOAD 0000141a: PUSH1 0x20 0000141c: PUSH2 0x5b03 0000141f: DUP4 00001420: CODECOPY 00001421: DUP2 00001422: MLOAD 00001423: SWAP2 00001424: MSTORE 00001425: DUP4 00001426: CALLDATALOAD 00001427: LT 00001428: PUSH2 0x145c 0000142b: JUMPI 0000142c: POP 0000142d: POP 0000142e: PUSH1 0x40 00001430: DUP1 00001431: MLOAD 00001432: DUP1 00001433: DUP3 00001434: ADD 00001435: SWAP1 00001436: SWAP2 00001437: MSTORE 00001438: PUSH1 0x10 0000143a: DUP2 0000143b: MSTORE 0000143c: PUSH16 0x496e76616c6964204e6f7465204e504b 0000144d: PUSH1 0x80 0000144f: SHL 00001450: PUSH1 0x20 00001452: DUP3 00001453: ADD 00001454: MSTORE 00001455: PUSH1 0x00 00001457: SWAP3 00001458: SWAP1 00001459: SWAP2 0000145a: POP 0000145b: JUMP 0000145c: JUMPDEST 0000145d: PUSH1 0x01 0000145f: PUSH2 0x146e 00001462: PUSH1 0x40 00001464: DUP6 00001465: ADD 00001466: PUSH1 0x20 00001468: DUP7 00001469: ADD 0000146a: PUSH2 0x563a 0000146d: JUMP 0000146e: JUMPDEST 0000146f: PUSH1 0x01 00001471: DUP2 00001472: GT 00001473: ISZERO 00001474: PUSH2 0x147f 00001477: JUMPI 00001478: PUSH2 0x147f 0000147b: PUSH2 0x4915 0000147e: JUMP 0000147f: JUMPDEST 00001480: EQ 00001481: DUP1 00001482: ISZERO 00001483: PUSH2 0x14a5 00001486: JUMPI 00001487: POP 00001488: PUSH2 0x1497 0000148b: PUSH1 0xa0 0000148d: DUP5 0000148e: ADD 0000148f: PUSH1 0x80 00001491: DUP6 00001492: ADD 00001493: PUSH2 0x4be5 00001496: JUMP 00001497: JUMPDEST 00001498: PUSH1 0x01 0000149a: PUSH1 0x01 0000149c: PUSH1 0x78 0000149e: SHL 0000149f: SUB 000014a0: AND 000014a1: PUSH1 0x01 000014a3: EQ 000014a4: ISZERO 000014a5: JUMPDEST 000014a6: ISZERO 000014a7: PUSH2 0x14e1 000014aa: JUMPI 000014ab: POP 000014ac: POP 000014ad: PUSH1 0x40 000014af: DUP1 000014b0: MLOAD 000014b1: DUP1 000014b2: DUP3 000014b3: ADD 000014b4: SWAP1 000014b5: SWAP2 000014b6: MSTORE 000014b7: PUSH1 0x16 000014b9: DUP2 000014ba: MSTORE 000014bb: PUSH22 0x496e76616c6964204e4654204e6f74652056616c7565 000014d2: PUSH1 0x50 000014d4: SHL 000014d5: PUSH1 0x20 000014d7: DUP3 000014d8: ADD 000014d9: MSTORE 000014da: PUSH1 0x00 000014dc: SWAP3 000014dd: SWAP1 000014de: SWAP2 000014df: POP 000014e0: JUMP 000014e1: JUMPDEST 000014e2: PUSH2 0x0126 000014e5: SLOAD 000014e6: PUSH1 0x40 000014e8: MLOAD 000014e9: PUSH4 0xdf592f7d 000014ee: PUSH1 0xe0 000014f0: SHL 000014f1: DUP2 000014f2: MSTORE 000014f3: CALLER 000014f4: PUSH1 0x04 000014f6: DUP3 000014f7: ADD 000014f8: MSTORE 000014f9: PUSH1 0x01 000014fb: PUSH1 0x01 000014fd: PUSH1 0xa0 000014ff: SHL 00001500: SUB 00001501: SWAP1 00001502: SWAP2 00001503: AND 00001504: SWAP1 00001505: PUSH4 0xdf592f7d 0000150a: SWAP1 0000150b: PUSH1 0x24 0000150d: ADD 0000150e: PUSH1 0x20 00001510: PUSH1 0x40 00001512: MLOAD 00001513: DUP1 00001514: DUP4 00001515: SUB 00001516: DUP2 00001517: DUP7 00001518: GAS 00001519: STATICCALL 0000151a: ISZERO 0000151b: DUP1 0000151c: ISZERO 0000151d: PUSH2 0x152a 00001520: JUMPI 00001521: RETURNDATASIZE 00001522: PUSH1 0x00 00001524: DUP1 00001525: RETURNDATACOPY 00001526: RETURNDATASIZE 00001527: PUSH1 0x00 00001529: REVERT 0000152a: JUMPDEST 0000152b: POP 0000152c: POP 0000152d: POP 0000152e: POP 0000152f: PUSH1 0x40 00001531: MLOAD 00001532: RETURNDATASIZE 00001533: PUSH1 0x1f 00001535: NOT 00001536: PUSH1 0x1f 00001538: DUP3 00001539: ADD 0000153a: AND 0000153b: DUP3 0000153c: ADD 0000153d: DUP1 0000153e: PUSH1 0x40 00001540: MSTORE 00001541: POP 00001542: DUP2 00001543: ADD 00001544: SWAP1 00001545: PUSH2 0x154e 00001548: SWAP2 00001549: SWAP1 0000154a: PUSH2 0x5657 0000154d: JUMP 0000154e: JUMPDEST 0000154f: ISZERO 00001550: PUSH2 0x0dda 00001553: JUMPI 00001554: POP 00001555: POP 00001556: PUSH1 0x40 00001558: DUP1 00001559: MLOAD 0000155a: DUP1 0000155b: DUP3 0000155c: ADD 0000155d: SWAP1 0000155e: SWAP2 0000155f: MSTORE 00001560: PUSH1 0x1c 00001562: DUP2 00001563: MSTORE 00001564: PUSH32 0x43616c6c2066726f6d2053616e6374696f6e6564204164647265737300000000 00001585: PUSH1 0x20 00001587: DUP3 00001588: ADD 00001589: MSTORE 0000158a: PUSH1 0x00 0000158c: SWAP3 0000158d: SWAP1 0000158e: SWAP2 0000158f: POP 00001590: JUMP 00001591: JUMPDEST 00001592: PUSH2 0x1599 00001595: PUSH2 0x2a51 00001598: JUMP 00001599: JUMPDEST 0000159a: PUSH2 0x15a3 0000159d: PUSH1 0x00 0000159f: PUSH2 0x312c 000015a2: JUMP 000015a3: JUMPDEST 000015a4: JUMP 000015a5: JUMPDEST 000015a6: PUSH1 0x00 000015a8: PUSH20 0x7df7fad23c61b8b578362e7b4996dc192c87520d 000015bd: PUSH4 0x5a53025d 000015c2: PUSH1 0x40 000015c4: MLOAD 000015c5: DUP1 000015c6: PUSH1 0x60 000015c8: ADD 000015c9: PUSH1 0x40 000015cb: MSTORE 000015cc: DUP1 000015cd: DUP6 000015ce: PUSH1 0x00 000015d0: ADD 000015d1: MLOAD 000015d2: DUP2 000015d3: MSTORE 000015d4: PUSH1 0x20 000015d6: ADD 000015d7: PUSH2 0x15e3 000015da: DUP7 000015db: PUSH1 0x20 000015dd: ADD 000015de: MLOAD 000015df: PUSH2 0x19c7 000015e2: JUMP 000015e3: JUMPDEST 000015e4: DUP2 000015e5: MSTORE 000015e6: PUSH1 0x20 000015e8: ADD 000015e9: DUP6 000015ea: PUSH1 0x40 000015ec: ADD 000015ed: MLOAD 000015ee: PUSH1 0x01 000015f0: PUSH1 0x01 000015f2: PUSH1 0x78 000015f4: SHL 000015f5: SUB 000015f6: AND 000015f7: PUSH1 0x00 000015f9: SHL 000015fa: DUP2 000015fb: MSTORE 000015fc: POP 000015fd: PUSH1 0x40 000015ff: MLOAD 00001600: DUP3 00001601: PUSH4 0xffffffff 00001606: AND 00001607: PUSH1 0xe0 00001609: SHL 0000160a: DUP2 0000160b: MSTORE 0000160c: PUSH1 0x04 0000160e: ADD 0000160f: PUSH2 0x1618 00001612: SWAP2 00001613: SWAP1 00001614: PUSH2 0x5674 00001617: JUMP 00001618: JUMPDEST 00001619: PUSH1 0x20 0000161b: PUSH1 0x40 0000161d: MLOAD 0000161e: DUP1 0000161f: DUP4 00001620: SUB 00001621: DUP2 00001622: DUP7 00001623: GAS 00001624: DELEGATECALL 00001625: ISZERO 00001626: DUP1 00001627: ISZERO 00001628: PUSH2 0x1635 0000162b: JUMPI 0000162c: RETURNDATASIZE 0000162d: PUSH1 0x00 0000162f: DUP1 00001630: RETURNDATACOPY 00001631: RETURNDATASIZE 00001632: PUSH1 0x00 00001634: REVERT 00001635: JUMPDEST 00001636: POP 00001637: POP 00001638: POP 00001639: POP 0000163a: PUSH1 0x40 0000163c: MLOAD 0000163d: RETURNDATASIZE 0000163e: PUSH1 0x1f 00001640: NOT 00001641: PUSH1 0x1f 00001643: DUP3 00001644: ADD 00001645: AND 00001646: DUP3 00001647: ADD 00001648: DUP1 00001649: PUSH1 0x40 0000164b: MSTORE 0000164c: POP 0000164d: DUP2 0000164e: ADD 0000164f: SWAP1 00001650: PUSH2 0x0e38 00001653: SWAP2 00001654: SWAP1 00001655: PUSH2 0x5574 00001658: JUMP 00001659: JUMPDEST 0000165a: PUSH2 0x1661 0000165d: PUSH2 0x3dda 00001660: JUMP 00001661: JUMPDEST 00001662: PUSH1 0x00 00001664: DUP4 00001665: DUP2 00001666: MSTORE 00001667: PUSH1 0xf0 00001669: PUSH1 0x20 0000166b: SWAP1 0000166c: DUP2 0000166d: MSTORE 0000166e: PUSH1 0x40 00001670: DUP1 00001671: DUP4 00001672: KECCAK256 00001673: DUP6 00001674: DUP5 00001675: MSTORE 00001676: SWAP1 00001677: SWAP2 00001678: MSTORE 00001679: SWAP1 0000167a: DUP2 0000167b: SWAP1 0000167c: KECCAK256 0000167d: DUP2 0000167e: MLOAD 0000167f: PUSH1 0xc0 00001681: DUP2 00001682: ADD 00001683: SWAP1 00001684: SWAP3 00001685: MSTORE 00001686: DUP1 00001687: SLOAD 00001688: DUP3 00001689: SWAP1 0000168a: DUP3 0000168b: SWAP1 0000168c: PUSH2 0x1694 0000168f: SWAP1 00001690: PUSH2 0x4ebf 00001693: JUMP 00001694: JUMPDEST 00001695: DUP1 00001696: PUSH1 0x1f 00001698: ADD 00001699: PUSH1 0x20 0000169b: DUP1 0000169c: SWAP2 0000169d: DIV 0000169e: MUL 0000169f: PUSH1 0x20 000016a1: ADD 000016a2: PUSH1 0x40 000016a4: MLOAD 000016a5: SWAP1 000016a6: DUP2 000016a7: ADD 000016a8: PUSH1 0x40 000016aa: MSTORE 000016ab: DUP1 000016ac: SWAP3 000016ad: SWAP2 000016ae: SWAP1 000016af: DUP2 000016b0: DUP2 000016b1: MSTORE 000016b2: PUSH1 0x20 000016b4: ADD 000016b5: DUP3 000016b6: DUP1 000016b7: SLOAD 000016b8: PUSH2 0x16c0 000016bb: SWAP1 000016bc: PUSH2 0x4ebf 000016bf: JUMP 000016c0: JUMPDEST 000016c1: DUP1 000016c2: ISZERO 000016c3: PUSH2 0x170d 000016c6: JUMPI 000016c7: DUP1 000016c8: PUSH1 0x1f 000016ca: LT 000016cb: PUSH2 0x16e2 000016ce: JUMPI 000016cf: PUSH2 0x0100 000016d2: DUP1 000016d3: DUP4 000016d4: SLOAD 000016d5: DIV 000016d6: MUL 000016d7: DUP4 000016d8: MSTORE 000016d9: SWAP2 000016da: PUSH1 0x20 000016dc: ADD 000016dd: SWAP2 000016de: PUSH2 0x170d 000016e1: JUMP 000016e2: JUMPDEST 000016e3: DUP3 000016e4: ADD 000016e5: SWAP2 000016e6: SWAP1 000016e7: PUSH1 0x00 000016e9: MSTORE 000016ea: PUSH1 0x20 000016ec: PUSH1 0x00 000016ee: KECCAK256 000016ef: SWAP1 000016f0: JUMPDEST 000016f1: DUP2 000016f2: SLOAD 000016f3: DUP2 000016f4: MSTORE 000016f5: SWAP1 000016f6: PUSH1 0x01 000016f8: ADD 000016f9: SWAP1 000016fa: PUSH1 0x20 000016fc: ADD 000016fd: DUP1 000016fe: DUP4 000016ff: GT 00001700: PUSH2 0x16f0 00001703: JUMPI 00001704: DUP3 00001705: SWAP1 00001706: SUB 00001707: PUSH1 0x1f 00001709: AND 0000170a: DUP3 0000170b: ADD 0000170c: SWAP2 0000170d: JUMPDEST 0000170e: POP 0000170f: POP 00001710: POP 00001711: SWAP2 00001712: DUP4 00001713: MSTORE 00001714: POP 00001715: POP 00001716: PUSH1 0x40 00001718: DUP1 00001719: MLOAD 0000171a: DUP1 0000171b: DUP3 0000171c: ADD 0000171d: DUP3 0000171e: MSTORE 0000171f: PUSH1 0x01 00001721: DUP5 00001722: ADD 00001723: SLOAD 00001724: DUP2 00001725: MSTORE 00001726: PUSH1 0x02 00001728: DUP1 00001729: DUP6 0000172a: ADD 0000172b: SLOAD 0000172c: PUSH1 0x20 0000172e: DUP1 0000172f: DUP5 00001730: ADD 00001731: SWAP2 00001732: SWAP1 00001733: SWAP2 00001734: MSTORE 00001735: DUP5 00001736: ADD 00001737: SWAP2 00001738: SWAP1 00001739: SWAP2 0000173a: MSTORE 0000173b: DUP2 0000173c: MLOAD 0000173d: PUSH1 0x80 0000173f: DUP2 00001740: ADD 00001741: DUP1 00001742: DUP5 00001743: MSTORE 00001744: SWAP4 00001745: DUP4 00001746: ADD 00001747: SWAP4 00001748: SWAP1 00001749: SWAP3 0000174a: PUSH1 0x03 0000174c: DUP7 0000174d: ADD 0000174e: SWAP3 0000174f: DUP5 00001750: SWAP3 00001751: SWAP2 00001752: DUP4 00001753: ADD 00001754: SWAP2 00001755: DUP5 00001756: SWAP2 00001757: SWAP1 00001758: DUP3 00001759: DUP5 0000175a: JUMPDEST 0000175b: DUP2 0000175c: SLOAD 0000175d: DUP2 0000175e: MSTORE 0000175f: PUSH1 0x20 00001761: ADD 00001762: SWAP1 00001763: PUSH1 0x01 00001765: ADD 00001766: SWAP1 00001767: DUP1 00001768: DUP4 00001769: GT 0000176a: PUSH2 0x175a 0000176d: JUMPI 0000176e: POP 0000176f: POP 00001770: POP 00001771: SWAP2 00001772: DUP4 00001773: MSTORE 00001774: POP 00001775: POP 00001776: PUSH1 0x40 00001778: DUP1 00001779: MLOAD 0000177a: DUP1 0000177b: DUP3 0000177c: ADD 0000177d: SWAP2 0000177e: DUP3 0000177f: SWAP1 00001780: MSTORE 00001781: PUSH1 0x20 00001783: SWAP1 00001784: SWAP3 00001785: ADD 00001786: SWAP2 00001787: SWAP1 00001788: PUSH1 0x02 0000178a: DUP5 0000178b: DUP2 0000178c: ADD 0000178d: SWAP2 0000178e: DUP3 0000178f: DUP5 00001790: JUMPDEST 00001791: DUP2 00001792: SLOAD 00001793: DUP2 00001794: MSTORE 00001795: PUSH1 0x20 00001797: ADD 00001798: SWAP1 00001799: PUSH1 0x01 0000179b: ADD 0000179c: SWAP1 0000179d: DUP1 0000179e: DUP4 0000179f: GT 000017a0: PUSH2 0x1790 000017a3: JUMPI 000017a4: POP 000017a5: POP 000017a6: POP 000017a7: SWAP2 000017a8: SWAP1 000017a9: SWAP3 000017aa: MSTORE 000017ab: POP 000017ac: POP 000017ad: POP 000017ae: DUP2 000017af: MSTORE 000017b0: PUSH1 0x40 000017b2: DUP1 000017b3: MLOAD 000017b4: PUSH1 0x80 000017b6: DUP2 000017b7: ADD 000017b8: DUP1 000017b9: DUP4 000017ba: MSTORE 000017bb: PUSH1 0x20 000017bd: SWAP1 000017be: SWAP4 000017bf: ADD 000017c0: SWAP3 000017c1: SWAP1 000017c2: SWAP2 000017c3: PUSH1 0x07 000017c5: DUP6 000017c6: ADD 000017c7: SWAP2 000017c8: DUP4 000017c9: SWAP2 000017ca: DUP3 000017cb: ADD 000017cc: SWAP1 000017cd: DUP4 000017ce: SWAP1 000017cf: PUSH1 0x02 000017d1: SWAP1 000017d2: DUP3 000017d3: DUP5 000017d4: JUMPDEST 000017d5: DUP2 000017d6: SLOAD 000017d7: DUP2 000017d8: MSTORE 000017d9: PUSH1 0x20 000017db: ADD 000017dc: SWAP1 000017dd: PUSH1 0x01 000017df: ADD 000017e0: SWAP1 000017e1: DUP1 000017e2: DUP4 000017e3: GT 000017e4: PUSH2 0x17d4 000017e7: JUMPI 000017e8: POP 000017e9: POP 000017ea: POP 000017eb: SWAP2 000017ec: DUP4 000017ed: MSTORE 000017ee: POP 000017ef: POP 000017f0: PUSH1 0x40 000017f2: DUP1 000017f3: MLOAD 000017f4: DUP1 000017f5: DUP3 000017f6: ADD 000017f7: SWAP2 000017f8: DUP3 000017f9: SWAP1 000017fa: MSTORE 000017fb: PUSH1 0x20 000017fd: SWAP1 000017fe: SWAP3 000017ff: ADD 00001800: SWAP2 00001801: SWAP1 00001802: PUSH1 0x02 00001804: DUP5 00001805: DUP2 00001806: ADD 00001807: SWAP2 00001808: DUP3 00001809: DUP5 0000180a: JUMPDEST 0000180b: DUP2 0000180c: SLOAD 0000180d: DUP2 0000180e: MSTORE 0000180f: PUSH1 0x20 00001811: ADD 00001812: SWAP1 00001813: PUSH1 0x01 00001815: ADD 00001816: SWAP1 00001817: DUP1 00001818: DUP4 00001819: GT 0000181a: PUSH2 0x180a 0000181d: JUMPI 0000181e: POP 0000181f: POP 00001820: POP 00001821: SWAP2 00001822: SWAP1 00001823: SWAP3 00001824: MSTORE 00001825: POP 00001826: POP 00001827: POP 00001828: DUP2 00001829: MSTORE 0000182a: PUSH1 0x40 0000182c: DUP1 0000182d: MLOAD 0000182e: PUSH1 0x80 00001830: DUP2 00001831: ADD 00001832: DUP1 00001833: DUP4 00001834: MSTORE 00001835: PUSH1 0x20 00001837: SWAP1 00001838: SWAP4 00001839: ADD 0000183a: SWAP3 0000183b: SWAP1 0000183c: SWAP2 0000183d: PUSH1 0x0b 0000183f: DUP6 00001840: ADD 00001841: SWAP2 00001842: DUP4 00001843: SWAP2 00001844: DUP3 00001845: ADD 00001846: SWAP1 00001847: DUP4 00001848: SWAP1 00001849: PUSH1 0x02 0000184b: SWAP1 0000184c: DUP3 0000184d: DUP5 0000184e: JUMPDEST 0000184f: DUP2 00001850: SLOAD 00001851: DUP2 00001852: MSTORE 00001853: PUSH1 0x20 00001855: ADD 00001856: SWAP1 00001857: PUSH1 0x01 00001859: ADD 0000185a: SWAP1 0000185b: DUP1 0000185c: DUP4 0000185d: GT 0000185e: PUSH2 0x184e 00001861: JUMPI 00001862: POP 00001863: POP 00001864: POP 00001865: SWAP2 00001866: DUP4 00001867: MSTORE 00001868: POP 00001869: POP 0000186a: PUSH1 0x40 0000186c: DUP1 0000186d: MLOAD 0000186e: DUP1 0000186f: DUP3 00001870: ADD 00001871: SWAP2 00001872: DUP3 00001873: SWAP1 00001874: MSTORE 00001875: PUSH1 0x20 00001877: SWAP1 00001878: SWAP3 00001879: ADD 0000187a: SWAP2 0000187b: SWAP1 0000187c: PUSH1 0x02 0000187e: DUP5 0000187f: DUP2 00001880: ADD 00001881: SWAP2 00001882: DUP3 00001883: DUP5 00001884: JUMPDEST 00001885: DUP2 00001886: SLOAD 00001887: DUP2 00001888: MSTORE 00001889: PUSH1 0x20 0000188b: ADD 0000188c: SWAP1 0000188d: PUSH1 0x01 0000188f: ADD 00001890: SWAP1 00001891: DUP1 00001892: DUP4 00001893: GT 00001894: PUSH2 0x1884 00001897: JUMPI 00001898: POP 00001899: POP 0000189a: POP 0000189b: POP 0000189c: POP 0000189d: DUP2 0000189e: MSTORE 0000189f: POP 000018a0: POP 000018a1: DUP2 000018a2: MSTORE 000018a3: PUSH1 0x20 000018a5: ADD 000018a6: PUSH1 0x0f 000018a8: DUP3 000018a9: ADD 000018aa: DUP1 000018ab: SLOAD 000018ac: DUP1 000018ad: PUSH1 0x20 000018af: MUL 000018b0: PUSH1 0x20 000018b2: ADD 000018b3: PUSH1 0x40 000018b5: MLOAD 000018b6: SWAP1 000018b7: DUP2 000018b8: ADD 000018b9: PUSH1 0x40 000018bb: MSTORE 000018bc: DUP1 000018bd: SWAP3 000018be: SWAP2 000018bf: SWAP1 000018c0: DUP2 000018c1: DUP2 000018c2: MSTORE 000018c3: PUSH1 0x20 000018c5: ADD 000018c6: PUSH1 0x00 000018c8: SWAP1 000018c9: JUMPDEST 000018ca: DUP3 000018cb: DUP3 000018cc: LT 000018cd: ISZERO 000018ce: PUSH2 0x190f 000018d1: JUMPI 000018d2: DUP4 000018d3: DUP3 000018d4: SWAP1 000018d5: PUSH1 0x00 000018d7: MSTORE 000018d8: PUSH1 0x20 000018da: PUSH1 0x00 000018dc: KECCAK256 000018dd: SWAP1 000018de: PUSH1 0x02 000018e0: MUL 000018e1: ADD 000018e2: PUSH1 0x40 000018e4: MLOAD 000018e5: DUP1 000018e6: PUSH1 0x40 000018e8: ADD 000018e9: PUSH1 0x40 000018eb: MSTORE 000018ec: SWAP1 000018ed: DUP2 000018ee: PUSH1 0x00 000018f0: DUP3 000018f1: ADD 000018f2: SLOAD 000018f3: DUP2 000018f4: MSTORE 000018f5: PUSH1 0x20 000018f7: ADD 000018f8: PUSH1 0x01 000018fa: DUP3 000018fb: ADD 000018fc: SLOAD 000018fd: DUP2 000018fe: MSTORE 000018ff: POP 00001900: POP 00001901: DUP2 00001902: MSTORE 00001903: PUSH1 0x20 00001905: ADD 00001906: SWAP1 00001907: PUSH1 0x01 00001909: ADD 0000190a: SWAP1 0000190b: PUSH2 0x18c9 0000190e: JUMP 0000190f: JUMPDEST 00001910: POP 00001911: POP 00001912: POP 00001913: SWAP2 00001914: MSTORE 00001915: POP 00001916: SWAP1 00001917: SWAP5 00001918: SWAP4 00001919: POP 0000191a: POP 0000191b: POP 0000191c: POP 0000191d: JUMP 0000191e: JUMPDEST 0000191f: PUSH2 0x1926 00001922: PUSH2 0x2a51 00001925: JUMP 00001926: JUMPDEST 00001927: DUP1 00001928: ISZERO 00001929: PUSH2 0x196b 0000192c: JUMPI 0000192d: PUSH1 0x40 0000192f: DUP1 00001930: MLOAD 00001931: DUP4 00001932: DUP2 00001933: MSTORE 00001934: DUP3 00001935: ISZERO 00001936: ISZERO 00001937: PUSH1 0x20 00001939: DUP3 0000193a: ADD 0000193b: MSTORE 0000193c: PUSH32 0xb3c763e82a5af59c514ec367a2b6d3850dc8b3defac1c19a4b7fb25ef1cbd781 0000195d: SWAP2 0000195e: ADD 0000195f: PUSH1 0x40 00001961: MLOAD 00001962: DUP1 00001963: SWAP2 00001964: SUB 00001965: SWAP1 00001966: LOG1 00001967: PUSH2 0x19a6 0000196a: JUMP 0000196b: JUMPDEST 0000196c: PUSH1 0x40 0000196e: DUP1 0000196f: MLOAD 00001970: DUP4 00001971: DUP2 00001972: MSTORE 00001973: DUP3 00001974: ISZERO 00001975: ISZERO 00001976: PUSH1 0x20 00001978: DUP3 00001979: ADD 0000197a: MSTORE 0000197b: PUSH32 0xf99ee69f7cbcb8f04566c5aad13316d4989d9409c2e680f0074ee40f199d31b9 0000199c: SWAP2 0000199d: ADD 0000199e: PUSH1 0x40 000019a0: MLOAD 000019a1: DUP1 000019a2: SWAP2 000019a3: SUB 000019a4: SWAP1 000019a5: LOG1 000019a6: JUMPDEST 000019a7: PUSH1 0x00 000019a9: SWAP2 000019aa: DUP3 000019ab: MSTORE 000019ac: PUSH2 0x0129 000019af: PUSH1 0x20 000019b1: MSTORE 000019b2: PUSH1 0x40 000019b4: SWAP1 000019b5: SWAP2 000019b6: KECCAK256 000019b7: DUP1 000019b8: SLOAD 000019b9: PUSH1 0xff 000019bb: NOT 000019bc: AND 000019bd: SWAP2 000019be: ISZERO 000019bf: ISZERO 000019c0: SWAP2 000019c1: SWAP1 000019c2: SWAP2 000019c3: OR 000019c4: SWAP1 000019c5: SSTORE 000019c6: JUMP 000019c7: JUMPDEST 000019c8: PUSH1 0x00 000019ca: DUP1 000019cb: DUP3 000019cc: MLOAD 000019cd: PUSH1 0x01 000019cf: DUP2 000019d0: GT 000019d1: ISZERO 000019d2: PUSH2 0x19dd 000019d5: JUMPI 000019d6: PUSH2 0x19dd 000019d9: PUSH2 0x4915 000019dc: JUMP 000019dd: JUMPDEST 000019de: SUB 000019df: PUSH2 0x19f3 000019e2: JUMPI 000019e3: POP 000019e4: PUSH1 0x20 000019e6: ADD 000019e7: MLOAD 000019e8: PUSH1 0x01 000019ea: PUSH1 0x01 000019ec: PUSH1 0xa0 000019ee: SHL 000019ef: SUB 000019f0: AND 000019f1: SWAP1 000019f2: JUMP 000019f3: JUMPDEST 000019f4: PUSH1 0x00 000019f6: DUP1 000019f7: MLOAD 000019f8: PUSH1 0x20 000019fa: PUSH2 0x5b03 000019fd: DUP4 000019fe: CODECOPY 000019ff: DUP2 00001a00: MLOAD 00001a01: SWAP2 00001a02: MSTORE 00001a03: DUP3 00001a04: PUSH1 0x40 00001a06: MLOAD 00001a07: PUSH1 0x20 00001a09: ADD 00001a0a: PUSH2 0x0e15 00001a0d: SWAP2 00001a0e: SWAP1 00001a0f: PUSH2 0x569c 00001a12: JUMP 00001a13: JUMPDEST 00001a14: PUSH2 0x1a1b 00001a17: PUSH2 0x2a51 00001a1a: JUMP 00001a1b: JUMPDEST 00001a1c: PUSH2 0x0730 00001a1f: DUP2 00001a20: PUSH2 0x2886 00001a23: JUMP 00001a24: JUMPDEST 00001a25: PUSH2 0x1a2c 00001a28: PUSH2 0x2a51 00001a2b: JUMP 00001a2c: JUMPDEST 00001a2d: DUP1 00001a2e: PUSH1 0x00 00001a30: JUMPDEST 00001a31: DUP2 00001a32: DUP2 00001a33: LT 00001a34: ISZERO 00001a35: PUSH2 0x1ad5 00001a38: JUMPI 00001a39: PUSH1 0x00 00001a3b: DUP5 00001a3c: DUP5 00001a3d: DUP4 00001a3e: DUP2 00001a3f: DUP2 00001a40: LT 00001a41: PUSH2 0x1a4c 00001a44: JUMPI 00001a45: PUSH2 0x1a4c 00001a48: PUSH2 0x4c00 00001a4b: JUMP 00001a4c: JUMPDEST 00001a4d: SWAP1 00001a4e: POP 00001a4f: PUSH1 0x20 00001a51: MUL 00001a52: ADD 00001a53: PUSH1 0x20 00001a55: DUP2 00001a56: ADD 00001a57: SWAP1 00001a58: PUSH2 0x1a61 00001a5b: SWAP2 00001a5c: SWAP1 00001a5d: PUSH2 0x48ac 00001a60: JUMP 00001a61: JUMPDEST 00001a62: PUSH1 0x01 00001a64: PUSH1 0x01 00001a66: PUSH1 0xa0 00001a68: SHL 00001a69: SUB 00001a6a: DUP2 00001a6b: AND 00001a6c: PUSH1 0x00 00001a6e: SWAP1 00001a6f: DUP2 00001a70: MSTORE 00001a71: PUSH1 0xbd 00001a73: PUSH1 0x20 00001a75: MSTORE 00001a76: PUSH1 0x40 00001a78: SWAP1 00001a79: KECCAK256 00001a7a: SLOAD 00001a7b: SWAP1 00001a7c: SWAP2 00001a7d: POP 00001a7e: PUSH1 0xff 00001a80: AND 00001a81: ISZERO 00001a82: PUSH2 0x1acc 00001a85: JUMPI 00001a86: PUSH1 0x01 00001a88: PUSH1 0x01 00001a8a: PUSH1 0xa0 00001a8c: SHL 00001a8d: SUB 00001a8e: DUP2 00001a8f: AND 00001a90: PUSH1 0x00 00001a92: DUP2 00001a93: DUP2 00001a94: MSTORE 00001a95: PUSH1 0xbd 00001a97: PUSH1 0x20 00001a99: MSTORE 00001a9a: PUSH1 0x40 00001a9c: DUP1 00001a9d: DUP3 00001a9e: KECCAK256 00001a9f: DUP1 00001aa0: SLOAD 00001aa1: PUSH1 0xff 00001aa3: NOT 00001aa4: AND 00001aa5: SWAP1 00001aa6: SSTORE 00001aa7: MLOAD 00001aa8: PUSH32 0x2ef13bd1aff17b0f9c85afaf228e84266c8394d9d381735e83fe23f607113e2e 00001ac9: SWAP2 00001aca: SWAP1 00001acb: LOG2 00001acc: JUMPDEST 00001acd: POP 00001ace: PUSH1 0x01 00001ad0: ADD 00001ad1: PUSH2 0x1a30 00001ad4: JUMP 00001ad5: JUMPDEST 00001ad6: POP 00001ad7: POP 00001ad8: POP 00001ad9: POP 00001ada: JUMP 00001adb: JUMPDEST 00001adc: PUSH2 0x1ae3 00001adf: PUSH2 0x2a51 00001ae2: JUMP 00001ae3: JUMPDEST 00001ae4: PUSH1 0x01 00001ae6: PUSH1 0x01 00001ae8: PUSH1 0xa0 00001aea: SHL 00001aeb: SUB 00001aec: DUP2 00001aed: AND 00001aee: PUSH2 0x1b0a 00001af1: JUMPI 00001af2: PUSH1 0x40 00001af4: MLOAD 00001af5: PUSH4 0xe6c4247b 00001afa: PUSH1 0xe0 00001afc: SHL 00001afd: DUP2 00001afe: MSTORE 00001aff: PUSH1 0x04 00001b01: ADD 00001b02: PUSH1 0x40 00001b04: MLOAD 00001b05: DUP1 00001b06: SWAP2 00001b07: SUB 00001b08: SWAP1 00001b09: REVERT 00001b0a: JUMPDEST 00001b0b: PUSH2 0x0125 00001b0e: SLOAD 00001b0f: PUSH1 0x01 00001b11: PUSH1 0x01 00001b13: PUSH1 0xa0 00001b15: SHL 00001b16: SUB 00001b17: DUP1 00001b18: DUP4 00001b19: AND 00001b1a: SWAP2 00001b1b: AND 00001b1c: SUB 00001b1d: PUSH2 0x1b39 00001b20: JUMPI 00001b21: PUSH1 0x40 00001b23: MLOAD 00001b24: PUSH4 0x1310759d 00001b29: PUSH1 0xe1 00001b2b: SHL 00001b2c: DUP2 00001b2d: MSTORE 00001b2e: PUSH1 0x04 00001b30: ADD 00001b31: PUSH1 0x40 00001b33: MLOAD 00001b34: DUP1 00001b35: SWAP2 00001b36: SUB 00001b37: SWAP1 00001b38: REVERT 00001b39: JUMPDEST 00001b3a: PUSH2 0x0125 00001b3d: DUP1 00001b3e: SLOAD 00001b3f: PUSH1 0x01 00001b41: PUSH1 0x01 00001b43: PUSH1 0xa0 00001b45: SHL 00001b46: SUB 00001b47: NOT 00001b48: AND 00001b49: PUSH1 0x01 00001b4b: PUSH1 0x01 00001b4d: PUSH1 0xa0 00001b4f: SHL 00001b50: SUB 00001b51: DUP4 00001b52: AND 00001b53: SWAP1 00001b54: DUP2 00001b55: OR 00001b56: SWAP1 00001b57: SWAP2 00001b58: SSTORE 00001b59: PUSH1 0x40 00001b5b: MLOAD 00001b5c: SWAP1 00001b5d: DUP2 00001b5e: MSTORE 00001b5f: PUSH32 0x1ac54af2084ba0e4b86b7bc54b978ce7dd4ca046d3dec89d7c8963873820c0bb 00001b80: SWAP1 00001b81: PUSH1 0x20 00001b83: ADD 00001b84: PUSH1 0x40 00001b86: MLOAD 00001b87: DUP1 00001b88: SWAP2 00001b89: SUB 00001b8a: SWAP1 00001b8b: LOG1 00001b8c: POP 00001b8d: JUMP 00001b8e: JUMPDEST 00001b8f: PUSH2 0x0125 00001b92: SLOAD 00001b93: PUSH2 0x0124 00001b96: SLOAD 00001b97: PUSH1 0x01 00001b99: PUSH1 0x01 00001b9b: PUSH1 0xa0 00001b9d: SHL 00001b9e: SUB 00001b9f: SWAP1 00001ba0: SWAP2 00001ba1: AND 00001ba2: SWAP1 00001ba3: DUP3 00001ba4: SWAP1 00001ba5: PUSH1 0x00 00001ba7: SWAP1 00001ba8: PUSH1 0x01 00001baa: PUSH1 0x01 00001bac: PUSH1 0x78 00001bae: SHL 00001baf: SUB 00001bb0: AND 00001bb1: DUP3 00001bb2: DUP3 00001bb3: SUB 00001bb4: PUSH2 0x1bd0 00001bb7: JUMPI 00001bb8: PUSH1 0x40 00001bba: MLOAD 00001bbb: PUSH4 0x59177c05 00001bc0: PUSH1 0xe1 00001bc2: SHL 00001bc3: DUP2 00001bc4: MSTORE 00001bc5: PUSH1 0x04 00001bc7: ADD 00001bc8: PUSH1 0x40 00001bca: MLOAD 00001bcb: DUP1 00001bcc: SWAP2 00001bcd: SUB 00001bce: SWAP1 00001bcf: REVERT 00001bd0: JUMPDEST 00001bd1: DUP1 00001bd2: ISZERO 00001bd3: PUSH2 0x1c63 00001bd6: JUMPI 00001bd7: PUSH1 0x40 00001bd9: MLOAD 00001bda: PUSH4 0x70a08231 00001bdf: PUSH1 0xe0 00001be1: SHL 00001be2: DUP2 00001be3: MSTORE 00001be4: PUSH1 0x01 00001be6: PUSH1 0x01 00001be8: PUSH1 0xa0 00001bea: SHL 00001beb: SUB 00001bec: DUP6 00001bed: DUP2 00001bee: AND 00001bef: PUSH1 0x04 00001bf1: DUP4 00001bf2: ADD 00001bf3: MSTORE 00001bf4: PUSH32 0x00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad0978 00001c15: AND 00001c16: SWAP1 00001c17: PUSH4 0x70a08231 00001c1c: SWAP1 00001c1d: PUSH1 0x24 00001c1f: ADD 00001c20: PUSH1 0x20 00001c22: PUSH1 0x40 00001c24: MLOAD 00001c25: DUP1 00001c26: DUP4 00001c27: SUB 00001c28: DUP2 00001c29: DUP7 00001c2a: GAS 00001c2b: STATICCALL 00001c2c: ISZERO 00001c2d: DUP1 00001c2e: ISZERO 00001c2f: PUSH2 0x1c3c 00001c32: JUMPI 00001c33: RETURNDATASIZE 00001c34: PUSH1 0x00 00001c36: DUP1 00001c37: RETURNDATACOPY 00001c38: RETURNDATASIZE 00001c39: PUSH1 0x00 00001c3b: REVERT 00001c3c: JUMPDEST 00001c3d: POP 00001c3e: POP 00001c3f: POP 00001c40: POP 00001c41: PUSH1 0x40 00001c43: MLOAD 00001c44: RETURNDATASIZE 00001c45: PUSH1 0x1f 00001c47: NOT 00001c48: PUSH1 0x1f 00001c4a: DUP3 00001c4b: ADD 00001c4c: AND 00001c4d: DUP3 00001c4e: ADD 00001c4f: DUP1 00001c50: PUSH1 0x40 00001c52: MSTORE 00001c53: POP 00001c54: DUP2 00001c55: ADD 00001c56: SWAP1 00001c57: PUSH2 0x1c60 00001c5a: SWAP2 00001c5b: SWAP1 00001c5c: PUSH2 0x5574 00001c5f: JUMP 00001c60: JUMPDEST 00001c61: SWAP2 00001c62: POP 00001c63: JUMPDEST 00001c64: PUSH1 0x00 00001c66: PUSH2 0x1c6f 00001c69: DUP8 00001c6a: DUP8 00001c6b: PUSH2 0x12e9 00001c6e: JUMP 00001c6f: JUMPDEST 00001c70: SWAP1 00001c71: POP 00001c72: PUSH1 0x00 00001c74: DUP2 00001c75: PUSH1 0x01 00001c77: PUSH1 0x01 00001c79: PUSH1 0x40 00001c7b: SHL 00001c7c: SUB 00001c7d: DUP2 00001c7e: GT 00001c7f: ISZERO 00001c80: PUSH2 0x1c8b 00001c83: JUMPI 00001c84: PUSH2 0x1c8b 00001c87: PUSH2 0x40bf 00001c8a: JUMP 00001c8b: JUMPDEST 00001c8c: PUSH1 0x40 00001c8e: MLOAD 00001c8f: SWAP1 00001c90: DUP1 00001c91: DUP3 00001c92: MSTORE 00001c93: DUP1 00001c94: PUSH1 0x20 00001c96: MUL 00001c97: PUSH1 0x20 00001c99: ADD 00001c9a: DUP3 00001c9b: ADD 00001c9c: PUSH1 0x40 00001c9e: MSTORE 00001c9f: DUP1 00001ca0: ISZERO 00001ca1: PUSH2 0x1cb4 00001ca4: JUMPI 00001ca5: DUP2 00001ca6: PUSH1 0x20 00001ca8: ADD 00001ca9: PUSH1 0x20 00001cab: DUP3 00001cac: MUL 00001cad: DUP1 00001cae: CALLDATASIZE 00001caf: DUP4 00001cb0: CALLDATACOPY 00001cb1: ADD 00001cb2: SWAP1 00001cb3: POP 00001cb4: JUMPDEST 00001cb5: POP 00001cb6: SWAP1 00001cb7: POP 00001cb8: PUSH1 0x00 00001cba: DUP1 00001cbb: DUP4 00001cbc: PUSH1 0x01 00001cbe: PUSH1 0x01 00001cc0: PUSH1 0x40 00001cc2: SHL 00001cc3: SUB 00001cc4: DUP2 00001cc5: GT 00001cc6: ISZERO 00001cc7: PUSH2 0x1cd2 00001cca: JUMPI 00001ccb: PUSH2 0x1cd2 00001cce: PUSH2 0x40bf 00001cd1: JUMP 00001cd2: JUMPDEST 00001cd3: PUSH1 0x40 00001cd5: MLOAD 00001cd6: SWAP1 00001cd7: DUP1 00001cd8: DUP3 00001cd9: MSTORE 00001cda: DUP1 00001cdb: PUSH1 0x20 00001cdd: MUL 00001cde: PUSH1 0x20 00001ce0: ADD 00001ce1: DUP3 00001ce2: ADD 00001ce3: PUSH1 0x40 00001ce5: MSTORE 00001ce6: DUP1 00001ce7: ISZERO 00001ce8: PUSH2 0x1d0b 00001ceb: JUMPI 00001cec: DUP2 00001ced: PUSH1 0x20 00001cef: ADD 00001cf0: JUMPDEST 00001cf1: PUSH2 0x1cf8 00001cf4: PUSH2 0x3e3d 00001cf7: JUMP 00001cf8: JUMPDEST 00001cf9: DUP2 00001cfa: MSTORE 00001cfb: PUSH1 0x20 00001cfd: ADD 00001cfe: SWAP1 00001cff: PUSH1 0x01 00001d01: SWAP1 00001d02: SUB 00001d03: SWAP1 00001d04: DUP2 00001d05: PUSH2 0x1cf0 00001d08: JUMPI 00001d09: SWAP1 00001d0a: POP 00001d0b: JUMPDEST 00001d0c: POP 00001d0d: SWAP1 00001d0e: POP 00001d0f: PUSH1 0x00 00001d11: JUMPDEST 00001d12: DUP8 00001d13: DUP2 00001d14: LT 00001d15: ISZERO 00001d16: PUSH2 0x1da5 00001d19: JUMPI 00001d1a: PUSH1 0x00 00001d1c: DUP1 00001d1d: PUSH2 0x1d43 00001d20: DUP14 00001d21: DUP14 00001d22: DUP6 00001d23: DUP2 00001d24: DUP2 00001d25: LT 00001d26: PUSH2 0x1d31 00001d29: JUMPI 00001d2a: PUSH2 0x1d31 00001d2d: PUSH2 0x4c00 00001d30: JUMP 00001d31: JUMPDEST 00001d32: SWAP1 00001d33: POP 00001d34: PUSH1 0x20 00001d36: MUL 00001d37: DUP2 00001d38: ADD 00001d39: SWAP1 00001d3a: PUSH2 0x0366 00001d3d: SWAP2 00001d3e: SWAP1 00001d3f: PUSH2 0x5623 00001d42: JUMP 00001d43: JUMPDEST 00001d44: SWAP2 00001d45: POP 00001d46: SWAP2 00001d47: POP 00001d48: DUP2 00001d49: PUSH2 0x1d67 00001d4c: JUMPI 00001d4d: DUP1 00001d4e: PUSH1 0x40 00001d50: MLOAD 00001d51: PUSH4 0x0f6dd23b 00001d56: PUSH1 0xe0 00001d58: SHL 00001d59: DUP2 00001d5a: MSTORE 00001d5b: PUSH1 0x04 00001d5d: ADD 00001d5e: PUSH2 0x07cc 00001d61: SWAP2 00001d62: SWAP1 00001d63: PUSH2 0x56aa 00001d66: JUMP 00001d67: JUMPDEST 00001d68: PUSH2 0x1d96 00001d6b: DUP14 00001d6c: DUP14 00001d6d: DUP6 00001d6e: DUP2 00001d6f: DUP2 00001d70: LT 00001d71: PUSH2 0x1d7c 00001d74: JUMPI 00001d75: PUSH2 0x1d7c 00001d78: PUSH2 0x4c00 00001d7b: JUMP 00001d7c: JUMPDEST 00001d7d: SWAP1 00001d7e: POP 00001d7f: PUSH1 0x20 00001d81: MUL 00001d82: DUP2 00001d83: ADD 00001d84: SWAP1 00001d85: PUSH2 0x1d8e 00001d88: SWAP2 00001d89: SWAP1 00001d8a: PUSH2 0x5623 00001d8d: JUMP 00001d8e: JUMPDEST 00001d8f: DUP8 00001d90: DUP8 00001d91: DUP8 00001d92: PUSH2 0x317e 00001d95: JUMP 00001d96: JUMPDEST 00001d97: SWAP5 00001d98: POP 00001d99: POP 00001d9a: POP 00001d9b: DUP1 00001d9c: PUSH1 0x01 00001d9e: ADD 00001d9f: SWAP1 00001da0: POP 00001da1: PUSH2 0x1d11 00001da4: JUMP 00001da5: JUMPDEST 00001da6: POP 00001da7: PUSH1 0x00 00001da9: JUMPDEST 00001daa: DUP8 00001dab: DUP2 00001dac: LT 00001dad: ISZERO 00001dae: PUSH2 0x1e45 00001db1: JUMPI 00001db2: PUSH1 0x00 00001db4: DUP12 00001db5: DUP12 00001db6: DUP4 00001db7: DUP2 00001db8: DUP2 00001db9: LT 00001dba: PUSH2 0x1dc5 00001dbd: JUMPI 00001dbe: PUSH2 0x1dc5 00001dc1: PUSH2 0x4c00 00001dc4: JUMP 00001dc5: JUMPDEST 00001dc6: SWAP1 00001dc7: POP 00001dc8: PUSH1 0x20 00001dca: MUL 00001dcb: DUP2 00001dcc: ADD 00001dcd: SWAP1 00001dce: PUSH2 0x1dd7 00001dd1: SWAP2 00001dd2: SWAP1 00001dd3: PUSH2 0x5623 00001dd6: JUMP 00001dd7: JUMPDEST 00001dd8: PUSH2 0x1de6 00001ddb: SWAP1 00001ddc: PUSH2 0x0160 00001ddf: DUP2 00001de0: ADD 00001de1: SWAP1 00001de2: PUSH2 0x4aac 00001de5: JUMP 00001de6: JUMPDEST 00001de7: PUSH2 0x1df7 00001dea: SWAP1 00001deb: PUSH1 0x60 00001ded: DUP2 00001dee: ADD 00001def: SWAP1 00001df0: PUSH1 0x40 00001df2: ADD 00001df3: PUSH2 0x4b6e 00001df6: JUMP 00001df7: JUMPDEST 00001df8: PUSH1 0x02 00001dfa: DUP2 00001dfb: GT 00001dfc: ISZERO 00001dfd: PUSH2 0x1e08 00001e00: JUMPI 00001e01: PUSH2 0x1e08 00001e04: PUSH2 0x4915 00001e07: JUMP 00001e08: JUMPDEST 00001e09: EQ 00001e0a: PUSH2 0x1e3d 00001e0d: JUMPI 00001e0e: PUSH2 0x1e3d 00001e11: DUP12 00001e12: DUP12 00001e13: DUP4 00001e14: DUP2 00001e15: DUP2 00001e16: LT 00001e17: PUSH2 0x1e22 00001e1a: JUMPI 00001e1b: PUSH2 0x1e22 00001e1e: PUSH2 0x4c00 00001e21: JUMP 00001e22: JUMPDEST 00001e23: SWAP1 00001e24: POP 00001e25: PUSH1 0x20 00001e27: MUL 00001e28: DUP2 00001e29: ADD 00001e2a: SWAP1 00001e2b: PUSH2 0x1e34 00001e2e: SWAP2 00001e2f: SWAP1 00001e30: PUSH2 0x5623 00001e33: JUMP 00001e34: JUMPDEST 00001e35: PUSH2 0x0180 00001e38: ADD 00001e39: PUSH2 0x341d 00001e3c: JUMP 00001e3d: JUMPDEST 00001e3e: PUSH1 0x01 00001e40: ADD 00001e41: PUSH2 0x1da9 00001e44: JUMP 00001e45: JUMPDEST 00001e46: POP 00001e47: PUSH1 0x00 00001e49: DUP1 00001e4a: PUSH2 0x1e53 00001e4d: DUP6 00001e4e: MLOAD 00001e4f: PUSH2 0x0920 00001e52: JUMP 00001e53: JUMPDEST 00001e54: DUP7 00001e55: MLOAD 00001e56: SWAP2 00001e57: SWAP4 00001e58: POP 00001e59: SWAP2 00001e5a: POP 00001e5b: ISZERO 00001e5c: PUSH2 0x1e9d 00001e5f: JUMPI 00001e60: PUSH32 0x56a618cda1e34057b7f849a5792f6c8587a2dbe11c83d0254e72cb3daffda7d1 00001e81: DUP3 00001e82: DUP3 00001e83: DUP8 00001e84: DUP7 00001e85: PUSH1 0x40 00001e87: MLOAD 00001e88: PUSH2 0x1e94 00001e8b: SWAP5 00001e8c: SWAP4 00001e8d: SWAP3 00001e8e: SWAP2 00001e8f: SWAP1 00001e90: PUSH2 0x56bd 00001e93: JUMP 00001e94: JUMPDEST 00001e95: PUSH1 0x40 00001e97: MLOAD 00001e98: DUP1 00001e99: SWAP2 00001e9a: SUB 00001e9b: SWAP1 00001e9c: LOG1 00001e9d: JUMPDEST 00001e9e: PUSH2 0x1ea6 00001ea1: DUP6 00001ea2: PUSH2 0x2ea6 00001ea5: JUMP 00001ea6: JUMPDEST 00001ea7: NUMBER 00001ea8: PUSH2 0x0127 00001eab: SSTORE 00001eac: DUP7 00001ead: ISZERO 00001eae: PUSH2 0x1f7c 00001eb1: JUMPI 00001eb2: PUSH1 0x40 00001eb4: MLOAD 00001eb5: PUSH4 0x70a08231 00001eba: PUSH1 0xe0 00001ebc: SHL 00001ebd: DUP2 00001ebe: MSTORE 00001ebf: PUSH1 0x01 00001ec1: PUSH1 0x01 00001ec3: PUSH1 0xa0 00001ec5: SHL 00001ec6: SUB 00001ec7: DUP12 00001ec8: DUP2 00001ec9: AND 00001eca: PUSH1 0x04 00001ecc: DUP4 00001ecd: ADD 00001ece: MSTORE 00001ecf: PUSH1 0x00 00001ed1: SWAP2 00001ed2: PUSH32 0x00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad0978 00001ef3: SWAP1 00001ef4: SWAP2 00001ef5: AND 00001ef6: SWAP1 00001ef7: PUSH4 0x70a08231 00001efc: SWAP1 00001efd: PUSH1 0x24 00001eff: ADD 00001f00: PUSH1 0x20 00001f02: PUSH1 0x40 00001f04: MLOAD 00001f05: DUP1 00001f06: DUP4 00001f07: SUB 00001f08: DUP2 00001f09: DUP7 00001f0a: GAS 00001f0b: STATICCALL 00001f0c: ISZERO 00001f0d: DUP1 00001f0e: ISZERO 00001f0f: PUSH2 0x1f1c 00001f12: JUMPI 00001f13: RETURNDATASIZE 00001f14: PUSH1 0x00 00001f16: DUP1 00001f17: RETURNDATACOPY 00001f18: RETURNDATASIZE 00001f19: PUSH1 0x00 00001f1b: REVERT 00001f1c: JUMPDEST 00001f1d: POP 00001f1e: POP 00001f1f: POP 00001f20: POP 00001f21: PUSH1 0x40 00001f23: MLOAD 00001f24: RETURNDATASIZE 00001f25: PUSH1 0x1f 00001f27: NOT 00001f28: PUSH1 0x1f 00001f2a: DUP3 00001f2b: ADD 00001f2c: AND 00001f2d: DUP3 00001f2e: ADD 00001f2f: DUP1 00001f30: PUSH1 0x40 00001f32: MSTORE 00001f33: POP 00001f34: DUP2 00001f35: ADD 00001f36: SWAP1 00001f37: PUSH2 0x1f40 00001f3a: SWAP2 00001f3b: SWAP1 00001f3c: PUSH2 0x5574 00001f3f: JUMP 00001f40: JUMPDEST 00001f41: SWAP1 00001f42: POP 00001f43: PUSH1 0x00 00001f45: PUSH2 0x1f4e 00001f48: DUP12 00001f49: DUP11 00001f4a: PUSH2 0x5003 00001f4d: JUMP 00001f4e: JUMPDEST 00001f4f: SWAP1 00001f50: POP 00001f51: PUSH2 0x1f5a 00001f54: DUP2 00001f55: DUP12 00001f56: PUSH2 0x4a99 00001f59: JUMP 00001f5a: JUMPDEST 00001f5b: DUP3 00001f5c: LT 00001f5d: ISZERO 00001f5e: PUSH2 0x1f79 00001f61: JUMPI 00001f62: PUSH1 0x40 00001f64: MLOAD 00001f65: PUSH3 0xa46719 00001f69: PUSH1 0xe7 00001f6b: SHL 00001f6c: DUP2 00001f6d: MSTORE 00001f6e: PUSH1 0x04 00001f70: ADD 00001f71: PUSH1 0x40 00001f73: MLOAD 00001f74: DUP1 00001f75: SWAP2 00001f76: SUB 00001f77: SWAP1 00001f78: REVERT 00001f79: JUMPDEST 00001f7a: POP 00001f7b: POP 00001f7c: JUMPDEST 00001f7d: POP 00001f7e: POP 00001f7f: POP 00001f80: POP 00001f81: POP 00001f82: POP 00001f83: POP 00001f84: POP 00001f85: POP 00001f86: POP 00001f87: POP 00001f88: POP 00001f89: JUMP 00001f8a: JUMPDEST 00001f8b: PUSH2 0x1f92 00001f8e: PUSH2 0x2a51 00001f91: JUMP 00001f92: JUMPDEST 00001f93: PUSH2 0x0123 00001f96: SLOAD 00001f97: PUSH1 0x01 00001f99: PUSH1 0x01 00001f9b: PUSH1 0x78 00001f9d: SHL 00001f9e: SUB 00001f9f: DUP5 00001fa0: DUP2 00001fa1: AND 00001fa2: SWAP2 00001fa3: AND 00001fa4: EQ 00001fa5: ISZERO 00001fa6: DUP1 00001fa7: PUSH2 0x1fbf 00001faa: JUMPI 00001fab: POP 00001fac: PUSH2 0x0124 00001faf: SLOAD 00001fb0: PUSH1 0x01 00001fb2: PUSH1 0x01 00001fb4: PUSH1 0x78 00001fb6: SHL 00001fb7: SUB 00001fb8: DUP4 00001fb9: DUP2 00001fba: AND 00001fbb: SWAP2 00001fbc: AND 00001fbd: EQ 00001fbe: ISZERO 00001fbf: JUMPDEST 00001fc0: DUP1 00001fc1: PUSH2 0x1fe0 00001fc4: JUMPI 00001fc5: POP 00001fc6: PUSH2 0x0123 00001fc9: SLOAD 00001fca: PUSH1 0x01 00001fcc: PUSH1 0x01 00001fce: PUSH1 0x78 00001fd0: SHL 00001fd1: SUB 00001fd2: DUP3 00001fd3: DUP2 00001fd4: AND 00001fd5: PUSH1 0x01 00001fd7: PUSH1 0x78 00001fd9: SHL 00001fda: SWAP1 00001fdb: SWAP3 00001fdc: DIV 00001fdd: AND 00001fde: EQ 00001fdf: ISZERO 00001fe0: JUMPDEST 00001fe1: ISZERO 00001fe2: PUSH2 0x20fe 00001fe5: JUMPI 00001fe6: PUSH2 0x1388 00001fe9: PUSH1 0x01 00001feb: PUSH1 0x01 00001fed: PUSH1 0x78 00001fef: SHL 00001ff0: SUB 00001ff1: DUP5 00001ff2: AND 00001ff3: GT 00001ff4: ISZERO 00001ff5: PUSH2 0x2011 00001ff8: JUMPI 00001ff9: PUSH1 0x40 00001ffb: MLOAD 00001ffc: PUSH4 0x0ec82fdb 00002001: PUSH1 0xe2 00002003: SHL 00002004: DUP2 00002005: MSTORE 00002006: PUSH1 0x04 00002008: ADD 00002009: PUSH1 0x40 0000200b: MLOAD 0000200c: DUP1 0000200d: SWAP2 0000200e: SUB 0000200f: SWAP1 00002010: REVERT 00002011: JUMPDEST 00002012: PUSH2 0x1388 00002015: PUSH1 0x01 00002017: PUSH1 0x01 00002019: PUSH1 0x78 0000201b: SHL 0000201c: SUB 0000201d: DUP3 0000201e: AND 0000201f: GT 00002020: ISZERO 00002021: PUSH2 0x203d 00002024: JUMPI 00002025: PUSH1 0x40 00002027: MLOAD 00002028: PUSH4 0x119dbfc3 0000202d: PUSH1 0xe3 0000202f: SHL 00002030: DUP2 00002031: MSTORE 00002032: PUSH1 0x04 00002034: ADD 00002035: PUSH1 0x40 00002037: MLOAD 00002038: DUP1 00002039: SWAP2 0000203a: SUB 0000203b: SWAP1 0000203c: REVERT 0000203d: JUMPDEST 0000203e: PUSH10 0x152d02c7e14af6800000 00002049: PUSH1 0x01 0000204b: PUSH1 0x01 0000204d: PUSH1 0x78 0000204f: SHL 00002050: SUB 00002051: DUP4 00002052: AND 00002053: GT 00002054: ISZERO 00002055: PUSH2 0x2071 00002058: JUMPI 00002059: PUSH1 0x40 0000205b: MLOAD 0000205c: PUSH4 0x185d6a87 00002061: PUSH1 0xe2 00002063: SHL 00002064: DUP2 00002065: MSTORE 00002066: PUSH1 0x04 00002068: ADD 00002069: PUSH1 0x40 0000206b: MLOAD 0000206c: DUP1 0000206d: SWAP2 0000206e: SUB 0000206f: SWAP1 00002070: REVERT 00002071: JUMPDEST 00002072: PUSH2 0x0123 00002075: DUP1 00002076: SLOAD 00002077: PUSH2 0x0124 0000207a: DUP1 0000207b: SLOAD 0000207c: PUSH15 0xffffffffffffffffffffffffffffff 0000208c: NOT 0000208d: AND 0000208e: PUSH1 0x01 00002090: PUSH1 0x01 00002092: PUSH1 0x78 00002094: SHL 00002095: SUB 00002096: DUP7 00002097: DUP2 00002098: AND 00002099: SWAP2 0000209a: DUP3 0000209b: OR 0000209c: SWAP1 0000209d: SWAP3 0000209e: SSTORE 0000209f: DUP7 000020a0: DUP3 000020a1: AND 000020a2: PUSH1 0x01 000020a4: PUSH1 0x01 000020a6: PUSH1 0xf0 000020a8: SHL 000020a9: SUB 000020aa: NOT 000020ab: SWAP1 000020ac: SWAP4 000020ad: AND 000020ae: DUP4 000020af: OR 000020b0: PUSH1 0x01 000020b2: PUSH1 0x78 000020b4: SHL 000020b5: SWAP3 000020b6: DUP7 000020b7: AND 000020b8: SWAP3 000020b9: DUP4 000020ba: MUL 000020bb: OR 000020bc: SWAP1 000020bd: SWAP4 000020be: SSTORE 000020bf: PUSH1 0x40 000020c1: DUP1 000020c2: MLOAD 000020c3: SWAP3 000020c4: DUP4 000020c5: MSTORE 000020c6: PUSH1 0x20 000020c8: DUP4 000020c9: ADD 000020ca: SWAP4 000020cb: SWAP1 000020cc: SWAP4 000020cd: MSTORE 000020ce: SWAP2 000020cf: DUP2 000020d0: ADD 000020d1: SWAP2 000020d2: SWAP1 000020d3: SWAP2 000020d4: MSTORE 000020d5: PUSH32 0x472cfc031d19bcc54db01976ce486cc12dc3d489e6adced1eb5a782cd55cfdf2 000020f6: SWAP1 000020f7: PUSH1 0x60 000020f9: ADD 000020fa: PUSH2 0x0ec4 000020fd: JUMP 000020fe: JUMPDEST 000020ff: POP 00002100: POP 00002101: POP 00002102: JUMP 00002103: JUMPDEST 00002104: PUSH1 0x6a 00002106: DUP2 00002107: PUSH1 0x10 00002109: DUP2 0000210a: LT 0000210b: PUSH2 0x2113 0000210e: JUMPI 0000210f: PUSH1 0x00 00002111: DUP1 00002112: REVERT 00002113: JUMPDEST 00002114: ADD 00002115: SLOAD 00002116: SWAP1 00002117: POP 00002118: DUP2 00002119: JUMP 0000211a: JUMPDEST 0000211b: PUSH2 0x2152 0000211e: PUSH1 0x00 00002120: DUP1 00002121: MLOAD 00002122: PUSH1 0x20 00002124: PUSH2 0x5b03 00002127: DUP4 00002128: CODECOPY 00002129: DUP2 0000212a: MLOAD 0000212b: SWAP2 0000212c: MSTORE 0000212d: PUSH32 0x144837c570fc50b57f62843651aeb967b68f126ea75a7de09db13ddf6cd2f289 0000214e: PUSH2 0x4e65 00002151: JUMP 00002152: JUMPDEST 00002153: DUP2 00002154: JUMP 00002155: JUMPDEST 00002156: PUSH1 0x00 00002158: DUP1 00002159: PUSH2 0x2166 0000215c: PUSH2 0x0120 0000215f: DUP5 00002160: ADD 00002161: DUP5 00002162: PUSH2 0x4b89 00002165: JUMP 00002166: JUMPDEST 00002167: SWAP2 00002168: POP 00002169: PUSH1 0x00 0000216b: SWAP1 0000216c: POP 0000216d: PUSH2 0x217a 00002170: PUSH2 0x0140 00002173: DUP6 00002174: ADD 00002175: DUP6 00002176: PUSH2 0x4b89 00002179: JUMP 0000217a: JUMPDEST 0000217b: PUSH1 0x00 0000217d: DUP5 0000217e: DUP2 0000217f: MSTORE 00002180: PUSH1 0xf0 00002182: PUSH1 0x20 00002184: SWAP1 00002185: DUP2 00002186: MSTORE 00002187: PUSH1 0x40 00002189: DUP1 0000218a: DUP4 0000218b: KECCAK256 0000218c: DUP5 0000218d: DUP5 0000218e: MSTORE 0000218f: SWAP1 00002190: SWAP2 00002191: MSTORE 00002192: DUP1 00002193: DUP3 00002194: KECCAK256 00002195: DUP2 00002196: MLOAD 00002197: PUSH1 0xc0 00002199: DUP2 0000219a: ADD 0000219b: SWAP1 0000219c: SWAP3 0000219d: MSTORE 0000219e: DUP1 0000219f: SLOAD 000021a0: SWAP4 000021a1: SWAP6 000021a2: POP 000021a3: SWAP2 000021a4: SWAP4 000021a5: POP 000021a6: SWAP2 000021a7: DUP3 000021a8: SWAP1 000021a9: DUP3 000021aa: SWAP1 000021ab: PUSH2 0x21b3 000021ae: SWAP1 000021af: PUSH2 0x4ebf 000021b2: JUMP 000021b3: JUMPDEST 000021b4: DUP1 000021b5: PUSH1 0x1f 000021b7: ADD 000021b8: PUSH1 0x20 000021ba: DUP1 000021bb: SWAP2 000021bc: DIV 000021bd: MUL 000021be: PUSH1 0x20 000021c0: ADD 000021c1: PUSH1 0x40 000021c3: MLOAD 000021c4: SWAP1 000021c5: DUP2 000021c6: ADD 000021c7: PUSH1 0x40 000021c9: MSTORE 000021ca: DUP1 000021cb: SWAP3 000021cc: SWAP2 000021cd: SWAP1 000021ce: DUP2 000021cf: DUP2 000021d0: MSTORE 000021d1: PUSH1 0x20 000021d3: ADD 000021d4: DUP3 000021d5: DUP1 000021d6: SLOAD 000021d7: PUSH2 0x21df 000021da: SWAP1 000021db: PUSH2 0x4ebf 000021de: JUMP 000021df: JUMPDEST 000021e0: DUP1 000021e1: ISZERO 000021e2: PUSH2 0x222c 000021e5: JUMPI 000021e6: DUP1 000021e7: PUSH1 0x1f 000021e9: LT 000021ea: PUSH2 0x2201 000021ed: JUMPI 000021ee: PUSH2 0x0100 000021f1: DUP1 000021f2: DUP4 000021f3: SLOAD 000021f4: DIV 000021f5: MUL 000021f6: DUP4 000021f7: MSTORE 000021f8: SWAP2 000021f9: PUSH1 0x20 000021fb: ADD 000021fc: SWAP2 000021fd: PUSH2 0x222c 00002200: JUMP 00002201: JUMPDEST 00002202: DUP3 00002203: ADD 00002204: SWAP2 00002205: SWAP1 00002206: PUSH1 0x00 00002208: MSTORE 00002209: PUSH1 0x20 0000220b: PUSH1 0x00 0000220d: KECCAK256 0000220e: SWAP1 0000220f: JUMPDEST 00002210: DUP2 00002211: SLOAD 00002212: DUP2 00002213: MSTORE 00002214: SWAP1 00002215: PUSH1 0x01 00002217: ADD 00002218: SWAP1 00002219: PUSH1 0x20 0000221b: ADD 0000221c: DUP1 0000221d: DUP4 0000221e: GT 0000221f: PUSH2 0x220f 00002222: JUMPI 00002223: DUP3 00002224: SWAP1 00002225: SUB 00002226: PUSH1 0x1f 00002228: AND 00002229: DUP3 0000222a: ADD 0000222b: SWAP2 0000222c: JUMPDEST 0000222d: POP 0000222e: POP 0000222f: POP 00002230: SWAP2 00002231: DUP4 00002232: MSTORE 00002233: POP 00002234: POP 00002235: PUSH1 0x40 00002237: DUP1 00002238: MLOAD 00002239: DUP1 0000223a: DUP3 0000223b: ADD 0000223c: DUP3 0000223d: MSTORE 0000223e: PUSH1 0x01 00002240: DUP5 00002241: ADD 00002242: SLOAD 00002243: DUP2 00002244: MSTORE 00002245: PUSH1 0x02 00002247: DUP1 00002248: DUP6 00002249: ADD 0000224a: SLOAD 0000224b: PUSH1 0x20 0000224d: DUP1 0000224e: DUP5 0000224f: ADD 00002250: SWAP2 00002251: SWAP1 00002252: SWAP2 00002253: MSTORE 00002254: DUP5 00002255: ADD 00002256: SWAP2 00002257: SWAP1 00002258: SWAP2 00002259: MSTORE 0000225a: DUP2 0000225b: MLOAD 0000225c: PUSH1 0x80 0000225e: DUP2 0000225f: ADD 00002260: DUP1 00002261: DUP5 00002262: MSTORE 00002263: SWAP4 00002264: DUP4 00002265: ADD 00002266: SWAP4 00002267: SWAP1 00002268: SWAP3 00002269: PUSH1 0x03 0000226b: DUP7 0000226c: ADD 0000226d: SWAP3 0000226e: DUP5 0000226f: SWAP3 00002270: SWAP2 00002271: DUP4 00002272: ADD 00002273: SWAP2 00002274: DUP5 00002275: SWAP2 00002276: SWAP1 00002277: DUP3 00002278: DUP5 00002279: JUMPDEST 0000227a: DUP2 0000227b: SLOAD 0000227c: DUP2 0000227d: MSTORE 0000227e: PUSH1 0x20 00002280: ADD 00002281: SWAP1 00002282: PUSH1 0x01 00002284: ADD 00002285: SWAP1 00002286: DUP1 00002287: DUP4 00002288: GT 00002289: PUSH2 0x2279 0000228c: JUMPI 0000228d: POP 0000228e: POP 0000228f: POP 00002290: SWAP2 00002291: DUP4 00002292: MSTORE 00002293: POP 00002294: POP 00002295: PUSH1 0x40 00002297: DUP1 00002298: MLOAD 00002299: DUP1 0000229a: DUP3 0000229b: ADD 0000229c: SWAP2 0000229d: DUP3 0000229e: SWAP1 0000229f: MSTORE 000022a0: PUSH1 0x20 000022a2: SWAP1 000022a3: SWAP3 000022a4: ADD 000022a5: SWAP2 000022a6: SWAP1 000022a7: PUSH1 0x02 000022a9: DUP5 000022aa: DUP2 000022ab: ADD 000022ac: SWAP2 000022ad: DUP3 000022ae: DUP5 000022af: JUMPDEST 000022b0: DUP2 000022b1: SLOAD 000022b2: DUP2 000022b3: MSTORE 000022b4: PUSH1 0x20 000022b6: ADD 000022b7: SWAP1 000022b8: PUSH1 0x01 000022ba: ADD 000022bb: SWAP1 000022bc: DUP1 000022bd: DUP4 000022be: GT 000022bf: PUSH2 0x22af 000022c2: JUMPI 000022c3: POP 000022c4: POP 000022c5: POP 000022c6: SWAP2 000022c7: SWAP1 000022c8: SWAP3 000022c9: MSTORE 000022ca: POP 000022cb: POP 000022cc: POP 000022cd: DUP2 000022ce: MSTORE 000022cf: PUSH1 0x40 000022d1: DUP1 000022d2: MLOAD 000022d3: PUSH1 0x80 000022d5: DUP2 000022d6: ADD 000022d7: DUP1 000022d8: DUP4 000022d9: MSTORE 000022da: PUSH1 0x20 000022dc: SWAP1 000022dd: SWAP4 000022de: ADD 000022df: SWAP3 000022e0: SWAP1 000022e1: SWAP2 000022e2: PUSH1 0x07 000022e4: DUP6 000022e5: ADD 000022e6: SWAP2 000022e7: DUP4 000022e8: SWAP2 000022e9: DUP3 000022ea: ADD 000022eb: SWAP1 000022ec: DUP4 000022ed: SWAP1 000022ee: PUSH1 0x02 000022f0: SWAP1 000022f1: DUP3 000022f2: DUP5 000022f3: JUMPDEST 000022f4: DUP2 000022f5: SLOAD 000022f6: DUP2 000022f7: MSTORE 000022f8: PUSH1 0x20 000022fa: ADD 000022fb: SWAP1 000022fc: PUSH1 0x01 000022fe: ADD 000022ff: SWAP1 00002300: DUP1 00002301: DUP4 00002302: GT 00002303: PUSH2 0x22f3 00002306: JUMPI 00002307: POP 00002308: POP 00002309: POP 0000230a: SWAP2 0000230b: DUP4 0000230c: MSTORE 0000230d: POP 0000230e: POP 0000230f: PUSH1 0x40 00002311: DUP1 00002312: MLOAD 00002313: DUP1 00002314: DUP3 00002315: ADD 00002316: SWAP2 00002317: DUP3 00002318: SWAP1 00002319: MSTORE 0000231a: PUSH1 0x20 0000231c: SWAP1 0000231d: SWAP3 0000231e: ADD 0000231f: SWAP2 00002320: SWAP1 00002321: PUSH1 0x02 00002323: DUP5 00002324: DUP2 00002325: ADD 00002326: SWAP2 00002327: DUP3 00002328: DUP5 00002329: JUMPDEST 0000232a: DUP2 0000232b: SLOAD 0000232c: DUP2 0000232d: MSTORE 0000232e: PUSH1 0x20 00002330: ADD 00002331: SWAP1 00002332: PUSH1 0x01 00002334: ADD 00002335: SWAP1 00002336: DUP1 00002337: DUP4 00002338: GT 00002339: PUSH2 0x2329 0000233c: JUMPI 0000233d: POP 0000233e: POP 0000233f: POP 00002340: SWAP2 00002341: SWAP1 00002342: SWAP3 00002343: MSTORE 00002344: POP 00002345: POP 00002346: POP 00002347: DUP2 00002348: MSTORE 00002349: PUSH1 0x40 0000234b: DUP1 0000234c: MLOAD 0000234d: PUSH1 0x80 0000234f: DUP2 00002350: ADD 00002351: DUP1 00002352: DUP4 00002353: MSTORE 00002354: PUSH1 0x20 00002356: SWAP1 00002357: SWAP4 00002358: ADD 00002359: SWAP3 0000235a: SWAP1 0000235b: SWAP2 0000235c: PUSH1 0x0b 0000235e: DUP6 0000235f: ADD 00002360: SWAP2 00002361: DUP4 00002362: SWAP2 00002363: DUP3 00002364: ADD 00002365: SWAP1 00002366: DUP4 00002367: SWAP1 00002368: PUSH1 0x02 0000236a: SWAP1 0000236b: DUP3 0000236c: DUP5 0000236d: JUMPDEST 0000236e: DUP2 0000236f: SLOAD 00002370: DUP2 00002371: MSTORE 00002372: PUSH1 0x20 00002374: ADD 00002375: SWAP1 00002376: PUSH1 0x01 00002378: ADD 00002379: SWAP1 0000237a: DUP1 0000237b: DUP4 0000237c: GT 0000237d: PUSH2 0x236d 00002380: JUMPI 00002381: POP 00002382: POP 00002383: POP 00002384: SWAP2 00002385: DUP4 00002386: MSTORE 00002387: POP 00002388: POP 00002389: PUSH1 0x40 0000238b: DUP1 0000238c: MLOAD 0000238d: DUP1 0000238e: DUP3 0000238f: ADD 00002390: SWAP2 00002391: DUP3 00002392: SWAP1 00002393: MSTORE 00002394: PUSH1 0x20 00002396: SWAP1 00002397: SWAP3 00002398: ADD 00002399: SWAP2 0000239a: SWAP1 0000239b: PUSH1 0x02 0000239d: DUP5 0000239e: DUP2 0000239f: ADD 000023a0: SWAP2 000023a1: DUP3 000023a2: DUP5 000023a3: JUMPDEST 000023a4: DUP2 000023a5: SLOAD 000023a6: DUP2 000023a7: MSTORE 000023a8: PUSH1 0x20 000023aa: ADD 000023ab: SWAP1 000023ac: PUSH1 0x01 000023ae: ADD 000023af: SWAP1 000023b0: DUP1 000023b1: DUP4 000023b2: GT 000023b3: PUSH2 0x23a3 000023b6: JUMPI 000023b7: POP 000023b8: POP 000023b9: POP 000023ba: POP 000023bb: POP 000023bc: DUP2 000023bd: MSTORE 000023be: POP 000023bf: POP 000023c0: DUP2 000023c1: MSTORE 000023c2: PUSH1 0x20 000023c4: ADD 000023c5: PUSH1 0x0f 000023c7: DUP3 000023c8: ADD 000023c9: DUP1 000023ca: SLOAD 000023cb: DUP1 000023cc: PUSH1 0x20 000023ce: MUL 000023cf: PUSH1 0x20 000023d1: ADD 000023d2: PUSH1 0x40 000023d4: MLOAD 000023d5: SWAP1 000023d6: DUP2 000023d7: ADD 000023d8: PUSH1 0x40 000023da: MSTORE 000023db: DUP1 000023dc: SWAP3 000023dd: SWAP2 000023de: SWAP1 000023df: DUP2 000023e0: DUP2 000023e1: MSTORE 000023e2: PUSH1 0x20 000023e4: ADD 000023e5: PUSH1 0x00 000023e7: SWAP1 000023e8: JUMPDEST 000023e9: DUP3 000023ea: DUP3 000023eb: LT 000023ec: ISZERO 000023ed: PUSH2 0x242e 000023f0: JUMPI 000023f1: DUP4 000023f2: DUP3 000023f3: SWAP1 000023f4: PUSH1 0x00 000023f6: MSTORE 000023f7: PUSH1 0x20 000023f9: PUSH1 0x00 000023fb: KECCAK256 000023fc: SWAP1 000023fd: PUSH1 0x02 000023ff: MUL 00002400: ADD 00002401: PUSH1 0x40 00002403: MLOAD 00002404: DUP1 00002405: PUSH1 0x40 00002407: ADD 00002408: PUSH1 0x40 0000240a: MSTORE 0000240b: SWAP1 0000240c: DUP2 0000240d: PUSH1 0x00 0000240f: DUP3 00002410: ADD 00002411: SLOAD 00002412: DUP2 00002413: MSTORE 00002414: PUSH1 0x20 00002416: ADD 00002417: PUSH1 0x01 00002419: DUP3 0000241a: ADD 0000241b: SLOAD 0000241c: DUP2 0000241d: MSTORE 0000241e: POP 0000241f: POP 00002420: DUP2 00002421: MSTORE 00002422: PUSH1 0x20 00002424: ADD 00002425: SWAP1 00002426: PUSH1 0x01 00002428: ADD 00002429: SWAP1 0000242a: PUSH2 0x23e8 0000242d: JUMP 0000242e: JUMPDEST 0000242f: POP 00002430: POP 00002431: POP 00002432: SWAP2 00002433: MSTORE 00002434: POP 00002435: POP 00002436: PUSH1 0x20 00002438: DUP2 00002439: ADD 0000243a: MLOAD 0000243b: MLOAD 0000243c: SWAP1 0000243d: SWAP2 0000243e: POP 0000243f: PUSH1 0x00 00002441: SUB 00002442: PUSH2 0x245e 00002445: JUMPI 00002446: PUSH1 0x40 00002448: MLOAD 00002449: PUSH4 0x9096cccb 0000244e: PUSH1 0xe0 00002450: SHL 00002451: DUP2 00002452: MSTORE 00002453: PUSH1 0x04 00002455: ADD 00002456: PUSH1 0x40 00002458: MLOAD 00002459: DUP1 0000245a: SWAP2 0000245b: SUB 0000245c: SWAP1 0000245d: REVERT 0000245e: JUMPDEST 0000245f: PUSH1 0x00 00002461: DUP3 00002462: PUSH2 0x246c 00002465: DUP6 00002466: PUSH1 0x02 00002468: PUSH2 0x4a99 0000246b: JUMP 0000246c: JUMPDEST 0000246d: PUSH2 0x2476 00002470: SWAP2 00002471: SWAP1 00002472: PUSH2 0x4a99 00002475: JUMP 00002476: JUMPDEST 00002477: PUSH1 0x01 00002479: PUSH1 0x01 0000247b: PUSH1 0x40 0000247d: SHL 0000247e: SUB 0000247f: DUP2 00002480: GT 00002481: ISZERO 00002482: PUSH2 0x248d 00002485: JUMPI 00002486: PUSH2 0x248d 00002489: PUSH2 0x40bf 0000248c: JUMP 0000248d: JUMPDEST 0000248e: PUSH1 0x40 00002490: MLOAD 00002491: SWAP1 00002492: DUP1 00002493: DUP3 00002494: MSTORE 00002495: DUP1 00002496: PUSH1 0x20 00002498: MUL 00002499: PUSH1 0x20 0000249b: ADD 0000249c: DUP3 0000249d: ADD 0000249e: PUSH1 0x40 000024a0: MSTORE 000024a1: DUP1 000024a2: ISZERO 000024a3: PUSH2 0x24b6 000024a6: JUMPI 000024a7: DUP2 000024a8: PUSH1 0x20 000024aa: ADD 000024ab: PUSH1 0x20 000024ad: DUP3 000024ae: MUL 000024af: DUP1 000024b0: CALLDATASIZE 000024b1: DUP4 000024b2: CALLDATACOPY 000024b3: ADD 000024b4: SWAP1 000024b5: POP 000024b6: JUMPDEST 000024b7: POP 000024b8: SWAP1 000024b9: POP 000024ba: DUP6 000024bb: PUSH2 0x0100 000024be: ADD 000024bf: CALLDATALOAD 000024c0: PUSH1 0x00 000024c2: SHR 000024c3: DUP2 000024c4: PUSH1 0x00 000024c6: DUP2 000024c7: MLOAD 000024c8: DUP2 000024c9: LT 000024ca: PUSH2 0x24d5 000024cd: JUMPI 000024ce: PUSH2 0x24d5 000024d1: PUSH2 0x4c00 000024d4: JUMP 000024d5: JUMPDEST 000024d6: PUSH1 0x20 000024d8: SWAP1 000024d9: DUP2 000024da: MUL 000024db: SWAP2 000024dc: SWAP1 000024dd: SWAP2 000024de: ADD 000024df: ADD 000024e0: MSTORE 000024e1: PUSH2 0x24f1 000024e4: PUSH2 0x0387 000024e7: PUSH2 0x0160 000024ea: DUP9 000024eb: ADD 000024ec: DUP9 000024ed: PUSH2 0x4aac 000024f0: JUMP 000024f1: JUMPDEST 000024f2: DUP2 000024f3: PUSH1 0x01 000024f5: DUP2 000024f6: MLOAD 000024f7: DUP2 000024f8: LT 000024f9: PUSH2 0x2504 000024fc: JUMPI 000024fd: PUSH2 0x2504 00002500: PUSH2 0x4c00 00002503: JUMP 00002504: JUMPDEST 00002505: PUSH1 0x20 00002507: MUL 00002508: PUSH1 0x20 0000250a: ADD 0000250b: ADD 0000250c: DUP2 0000250d: DUP2 0000250e: MSTORE 0000250f: POP 00002510: POP 00002511: PUSH1 0x00 00002513: JUMPDEST 00002514: DUP5 00002515: DUP2 00002516: LT 00002517: ISZERO 00002518: PUSH2 0x2572 0000251b: JUMPI 0000251c: PUSH2 0x2529 0000251f: PUSH2 0x0120 00002522: DUP9 00002523: ADD 00002524: DUP9 00002525: PUSH2 0x4b89 00002528: JUMP 00002529: JUMPDEST 0000252a: DUP3 0000252b: DUP2 0000252c: DUP2 0000252d: LT 0000252e: PUSH2 0x2539 00002531: JUMPI 00002532: PUSH2 0x2539 00002535: PUSH2 0x4c00 00002538: JUMP 00002539: JUMPDEST 0000253a: PUSH1 0x20 0000253c: MUL 0000253d: SWAP2 0000253e: SWAP1 0000253f: SWAP2 00002540: ADD 00002541: CALLDATALOAD 00002542: SWAP1 00002543: POP 00002544: DUP3 00002545: PUSH2 0x254f 00002548: DUP4 00002549: PUSH1 0x02 0000254b: PUSH2 0x4a99 0000254e: JUMP 0000254f: JUMPDEST 00002550: DUP2 00002551: MLOAD 00002552: DUP2 00002553: LT 00002554: PUSH2 0x255f 00002557: JUMPI 00002558: PUSH2 0x255f 0000255b: PUSH2 0x4c00 0000255e: JUMP 0000255f: JUMPDEST 00002560: PUSH1 0x20 00002562: SWAP1 00002563: DUP2 00002564: MUL 00002565: SWAP2 00002566: SWAP1 00002567: SWAP2 00002568: ADD 00002569: ADD 0000256a: MSTORE 0000256b: PUSH1 0x01 0000256d: ADD 0000256e: PUSH2 0x2513 00002571: JUMP 00002572: JUMPDEST 00002573: POP 00002574: PUSH1 0x00 00002576: JUMPDEST 00002577: DUP4 00002578: DUP2 00002579: LT 0000257a: ISZERO 0000257b: PUSH2 0x25e0 0000257e: JUMPI 0000257f: PUSH2 0x258c 00002582: PUSH2 0x0140 00002585: DUP9 00002586: ADD 00002587: DUP9 00002588: PUSH2 0x4b89 0000258b: JUMP 0000258c: JUMPDEST 0000258d: DUP3 0000258e: DUP2 0000258f: DUP2 00002590: LT 00002591: PUSH2 0x259c 00002594: JUMPI 00002595: PUSH2 0x259c 00002598: PUSH2 0x4c00 0000259b: JUMP 0000259c: JUMPDEST 0000259d: PUSH1 0x20 0000259f: MUL 000025a0: SWAP2 000025a1: SWAP1 000025a2: SWAP2 000025a3: ADD 000025a4: CALLDATALOAD 000025a5: SWAP1 000025a6: POP 000025a7: DUP3 000025a8: DUP3 000025a9: PUSH2 0x25b3 000025ac: DUP9 000025ad: PUSH1 0x02 000025af: PUSH2 0x4a99 000025b2: JUMP 000025b3: JUMPDEST 000025b4: PUSH2 0x25bd 000025b7: SWAP2 000025b8: SWAP1 000025b9: PUSH2 0x4a99 000025bc: JUMP 000025bd: JUMPDEST 000025be: DUP2 000025bf: MLOAD 000025c0: DUP2 000025c1: LT 000025c2: PUSH2 0x25cd 000025c5: JUMPI 000025c6: PUSH2 0x25cd 000025c9: PUSH2 0x4c00 000025cc: JUMP 000025cd: JUMPDEST 000025ce: PUSH1 0x20 000025d0: SWAP1 000025d1: DUP2 000025d2: MUL 000025d3: SWAP2 000025d4: SWAP1 000025d5: SWAP2 000025d6: ADD 000025d7: ADD 000025d8: MSTORE 000025d9: PUSH1 0x01 000025db: ADD 000025dc: PUSH2 0x2576 000025df: JUMP 000025e0: JUMPDEST 000025e1: POP 000025e2: PUSH1 0x00 000025e4: PUSH2 0x25ee 000025e7: DUP4 000025e8: DUP9 000025e9: DUP5 000025ea: PUSH2 0x0e3e 000025ed: JUMP 000025ee: JUMPDEST 000025ef: SWAP1 000025f0: POP 000025f1: PUSH2 0xdeac 000025f4: NOT 000025f5: ORIGIN 000025f6: ADD 000025f7: PUSH2 0x2607 000025fa: JUMPI 000025fb: POP 000025fc: PUSH1 0x01 000025fe: SWAP7 000025ff: SWAP6 00002600: POP 00002601: POP 00002602: POP 00002603: POP 00002604: POP 00002605: POP 00002606: JUMP 00002607: JUMPDEST 00002608: SWAP7 00002609: SWAP6 0000260a: POP 0000260b: POP 0000260c: POP 0000260d: POP 0000260e: POP 0000260f: POP 00002610: JUMP 00002611: JUMPDEST 00002612: PUSH2 0x2619 00002615: PUSH2 0x2a51 00002618: JUMP 00002619: JUMPDEST 0000261a: PUSH1 0x01 0000261c: PUSH1 0x01 0000261e: PUSH1 0xa0 00002620: SHL 00002621: SUB 00002622: DUP2 00002623: AND 00002624: PUSH2 0x267e 00002627: JUMPI 00002628: PUSH1 0x40 0000262a: MLOAD 0000262b: PUSH3 0x461bcd 0000262f: PUSH1 0xe5 00002631: SHL 00002632: DUP2 00002633: MSTORE 00002634: PUSH1 0x20 00002636: PUSH1 0x04 00002638: DUP3 00002639: ADD 0000263a: MSTORE 0000263b: PUSH1 0x26 0000263d: PUSH1 0x24 0000263f: DUP3 00002640: ADD 00002641: MSTORE 00002642: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00002663: PUSH1 0x44 00002665: DUP3 00002666: ADD 00002667: MSTORE 00002668: PUSH6 0x646472657373 0000266f: PUSH1 0xd0 00002671: SHL 00002672: PUSH1 0x64 00002674: DUP3 00002675: ADD 00002676: MSTORE 00002677: PUSH1 0x84 00002679: ADD 0000267a: PUSH2 0x07cc 0000267d: JUMP 0000267e: JUMPDEST 0000267f: PUSH2 0x0730 00002682: DUP2 00002683: PUSH2 0x312c 00002686: JUMP 00002687: JUMPDEST 00002688: PUSH2 0x268f 0000268b: PUSH2 0x2a51 0000268e: JUMP 0000268f: JUMPDEST 00002690: DUP1 00002691: PUSH1 0x00 00002693: JUMPDEST 00002694: DUP2 00002695: DUP2 00002696: LT 00002697: ISZERO 00002698: PUSH2 0x1ad5 0000269b: JUMPI 0000269c: PUSH1 0x00 0000269e: DUP5 0000269f: DUP5 000026a0: DUP4 000026a1: DUP2 000026a2: DUP2 000026a3: LT 000026a4: PUSH2 0x26af 000026a7: JUMPI 000026a8: PUSH2 0x26af 000026ab: PUSH2 0x4c00 000026ae: JUMP 000026af: JUMPDEST 000026b0: SWAP1 000026b1: POP 000026b2: PUSH1 0x20 000026b4: MUL 000026b5: ADD 000026b6: PUSH1 0x20 000026b8: DUP2 000026b9: ADD 000026ba: SWAP1 000026bb: PUSH2 0x26c4 000026be: SWAP2 000026bf: SWAP1 000026c0: PUSH2 0x48ac 000026c3: JUMP 000026c4: JUMPDEST 000026c5: PUSH1 0x01 000026c7: PUSH1 0x01 000026c9: PUSH1 0xa0 000026cb: SHL 000026cc: SUB 000026cd: DUP2 000026ce: AND 000026cf: PUSH1 0x00 000026d1: SWAP1 000026d2: DUP2 000026d3: MSTORE 000026d4: PUSH1 0xbd 000026d6: PUSH1 0x20 000026d8: MSTORE 000026d9: PUSH1 0x40 000026db: SWAP1 000026dc: KECCAK256 000026dd: SLOAD 000026de: SWAP1 000026df: SWAP2 000026e0: POP 000026e1: PUSH1 0xff 000026e3: AND 000026e4: PUSH2 0x2731 000026e7: JUMPI 000026e8: PUSH1 0x01 000026ea: PUSH1 0x01 000026ec: PUSH1 0xa0 000026ee: SHL 000026ef: SUB 000026f0: DUP2 000026f1: AND 000026f2: PUSH1 0x00 000026f4: DUP2 000026f5: DUP2 000026f6: MSTORE 000026f7: PUSH1 0xbd 000026f9: PUSH1 0x20 000026fb: MSTORE 000026fc: PUSH1 0x40 000026fe: DUP1 000026ff: DUP3 00002700: KECCAK256 00002701: DUP1 00002702: SLOAD 00002703: PUSH1 0xff 00002705: NOT 00002706: AND 00002707: PUSH1 0x01 00002709: OR 0000270a: SWAP1 0000270b: SSTORE 0000270c: MLOAD 0000270d: PUSH32 0x46742f555939247f80b50a8ca895a561933c48bc9a06ccb0c812e97ac723d33f 0000272e: SWAP2 0000272f: SWAP1 00002730: LOG2 00002731: JUMPDEST 00002732: POP 00002733: PUSH1 0x01 00002735: ADD 00002736: PUSH2 0x2693 00002739: JUMP 0000273a: JUMPDEST 0000273b: PUSH1 0x00 0000273d: SLOAD 0000273e: PUSH2 0x0100 00002741: SWAP1 00002742: DIV 00002743: PUSH1 0xff 00002745: AND 00002746: PUSH2 0x2761 00002749: JUMPI 0000274a: PUSH1 0x40 0000274c: MLOAD 0000274d: PUSH3 0x461bcd 00002751: PUSH1 0xe5 00002753: SHL 00002754: DUP2 00002755: MSTORE 00002756: PUSH1 0x04 00002758: ADD 00002759: PUSH2 0x07cc 0000275c: SWAP1 0000275d: PUSH2 0x57d6 00002760: JUMP 00002761: JUMPDEST 00002762: PUSH2 0x15a3 00002765: PUSH2 0x36bd 00002768: JUMP 00002769: JUMPDEST 0000276a: PUSH1 0x00 0000276c: SLOAD 0000276d: PUSH2 0x0100 00002770: SWAP1 00002771: DIV 00002772: PUSH1 0xff 00002774: AND 00002775: PUSH2 0x2790 00002778: JUMPI 00002779: PUSH1 0x40 0000277b: MLOAD 0000277c: PUSH3 0x461bcd 00002780: PUSH1 0xe5 00002782: SHL 00002783: DUP2 00002784: MSTORE 00002785: PUSH1 0x04 00002787: ADD 00002788: PUSH2 0x07cc 0000278b: SWAP1 0000278c: PUSH2 0x57d6 0000278f: JUMP 00002790: JUMPDEST 00002791: PUSH2 0x27c8 00002794: PUSH1 0x00 00002796: DUP1 00002797: MLOAD 00002798: PUSH1 0x20 0000279a: PUSH2 0x5b03 0000279d: DUP4 0000279e: CODECOPY 0000279f: DUP2 000027a0: MLOAD 000027a1: SWAP2 000027a2: MSTORE 000027a3: PUSH32 0x144837c570fc50b57f62843651aeb967b68f126ea75a7de09db13ddf6cd2f289 000027c4: PUSH2 0x4e65 000027c7: JUMP 000027c8: JUMPDEST 000027c9: PUSH1 0x6a 000027cb: SSTORE 000027cc: PUSH1 0x00 000027ce: PUSH2 0x2805 000027d1: PUSH1 0x00 000027d3: DUP1 000027d4: MLOAD 000027d5: PUSH1 0x20 000027d7: PUSH2 0x5b03 000027da: DUP4 000027db: CODECOPY 000027dc: DUP2 000027dd: MLOAD 000027de: SWAP2 000027df: MSTORE 000027e0: PUSH32 0x144837c570fc50b57f62843651aeb967b68f126ea75a7de09db13ddf6cd2f289 00002801: PUSH2 0x4e65 00002804: JUMP 00002805: JUMPDEST 00002806: SWAP1 00002807: POP 00002808: PUSH1 0x00 0000280a: JUMPDEST 0000280b: PUSH1 0x10 0000280d: DUP2 0000280e: LT 0000280f: ISZERO 00002810: PUSH2 0x2853 00002813: JUMPI 00002814: DUP2 00002815: PUSH1 0x6a 00002817: DUP3 00002818: PUSH1 0x10 0000281a: DUP2 0000281b: LT 0000281c: PUSH2 0x2827 0000281f: JUMPI 00002820: PUSH2 0x2827 00002823: PUSH2 0x4c00 00002826: JUMP 00002827: JUMPDEST 00002828: ADD 00002829: SSTORE 0000282a: DUP2 0000282b: PUSH1 0x7a 0000282d: DUP3 0000282e: PUSH1 0x10 00002830: DUP2 00002831: LT 00002832: PUSH2 0x283d 00002835: JUMPI 00002836: PUSH2 0x283d 00002839: PUSH2 0x4c00 0000283c: JUMP 0000283d: JUMPDEST 0000283e: ADD 0000283f: SSTORE 00002840: PUSH2 0x2849 00002843: DUP3 00002844: DUP1 00002845: PUSH2 0x1160 00002848: JUMP 00002849: JUMPDEST 0000284a: SWAP2 0000284b: POP 0000284c: PUSH1 0x01 0000284e: ADD 0000284f: PUSH2 0x280a 00002852: JUMP 00002853: JUMPDEST 00002854: POP 00002855: PUSH1 0x65 00002857: DUP2 00002858: SWAP1 00002859: SSTORE 0000285a: PUSH1 0x66 0000285c: DUP2 0000285d: SWAP1 0000285e: SSTORE 0000285f: PUSH1 0x68 00002861: SLOAD 00002862: PUSH1 0x00 00002864: SWAP1 00002865: DUP2 00002866: MSTORE 00002867: PUSH1 0x8a 00002869: PUSH1 0x20 0000286b: SWAP1 0000286c: DUP2 0000286d: MSTORE 0000286e: PUSH1 0x40 00002870: DUP1 00002871: DUP4 00002872: KECCAK256 00002873: SWAP4 00002874: DUP4 00002875: MSTORE 00002876: SWAP3 00002877: SWAP1 00002878: MSTORE 00002879: KECCAK256 0000287a: DUP1 0000287b: SLOAD 0000287c: PUSH1 0xff 0000287e: NOT 0000287f: AND 00002880: PUSH1 0x01 00002882: OR 00002883: SWAP1 00002884: SSTORE 00002885: JUMP 00002886: JUMPDEST 00002887: PUSH1 0x01 00002889: PUSH1 0x01 0000288b: PUSH1 0xa0 0000288d: SHL 0000288e: SUB 0000288f: DUP2 00002890: AND 00002891: PUSH2 0x28ad 00002894: JUMPI 00002895: PUSH1 0x40 00002897: MLOAD 00002898: PUSH4 0xe6c4247b 0000289d: PUSH1 0xe0 0000289f: SHL 000028a0: DUP2 000028a1: MSTORE 000028a2: PUSH1 0x04 000028a4: ADD 000028a5: PUSH1 0x40 000028a7: MLOAD 000028a8: DUP1 000028a9: SWAP2 000028aa: SUB 000028ab: SWAP1 000028ac: REVERT 000028ad: JUMPDEST 000028ae: PUSH2 0x0126 000028b1: SLOAD 000028b2: PUSH1 0x01 000028b4: PUSH1 0x01 000028b6: PUSH1 0xa0 000028b8: SHL 000028b9: SUB 000028ba: DUP1 000028bb: DUP4 000028bc: AND 000028bd: SWAP2 000028be: AND 000028bf: SUB 000028c0: PUSH2 0x28dc 000028c3: JUMPI 000028c4: PUSH1 0x40 000028c6: MLOAD 000028c7: PUSH4 0x1310759d 000028cc: PUSH1 0xe1 000028ce: SHL 000028cf: DUP2 000028d0: MSTORE 000028d1: PUSH1 0x04 000028d3: ADD 000028d4: PUSH1 0x40 000028d6: MLOAD 000028d7: DUP1 000028d8: SWAP2 000028d9: SUB 000028da: SWAP1 000028db: REVERT 000028dc: JUMPDEST 000028dd: PUSH2 0x0126 000028e0: DUP1 000028e1: SLOAD 000028e2: PUSH1 0x01 000028e4: PUSH1 0x01 000028e6: PUSH1 0xa0 000028e8: SHL 000028e9: SUB 000028ea: NOT 000028eb: AND 000028ec: PUSH1 0x01 000028ee: PUSH1 0x01 000028f0: PUSH1 0xa0 000028f2: SHL 000028f3: SUB 000028f4: DUP4 000028f5: AND 000028f6: SWAP1 000028f7: DUP2 000028f8: OR 000028f9: SWAP1 000028fa: SWAP2 000028fb: SSTORE 000028fc: PUSH1 0x40 000028fe: MLOAD 000028ff: PUSH32 0xb9ef685021ccea3cf3bc1c2fcd7ebdbd519c3f39aae46616faa310af8f102f5a 00002920: SWAP1 00002921: PUSH1 0x00 00002923: SWAP1 00002924: LOG2 00002925: POP 00002926: JUMP 00002927: JUMPDEST 00002928: PUSH1 0x40 0000292a: DUP1 0000292b: MLOAD 0000292c: DUP1 0000292d: DUP3 0000292e: ADD 0000292f: SWAP1 00002930: SWAP2 00002931: MSTORE 00002932: PUSH1 0x00 00002934: DUP1 00002935: DUP3 00002936: MSTORE 00002937: PUSH1 0x20 00002939: DUP3 0000293a: ADD 0000293b: DUP2 0000293c: SWAP1 0000293d: MSTORE 0000293e: DUP3 0000293f: MLOAD 00002940: SWAP1 00002941: SWAP2 00002942: SWAP1 00002943: DUP3 00002944: JUMPDEST 00002945: DUP2 00002946: DUP2 00002947: LT 00002948: ISZERO 00002949: PUSH2 0x29f2 0000294c: JUMPI 0000294d: PUSH1 0x00 0000294f: DUP1 00002950: MLOAD 00002951: PUSH1 0x20 00002953: PUSH2 0x5b03 00002956: DUP4 00002957: CODECOPY 00002958: DUP2 00002959: MLOAD 0000295a: SWAP2 0000295b: MSTORE 0000295c: DUP6 0000295d: DUP3 0000295e: DUP2 0000295f: MLOAD 00002960: DUP2 00002961: LT 00002962: PUSH2 0x296d 00002965: JUMPI 00002966: PUSH2 0x296d 00002969: PUSH2 0x4c00 0000296c: JUMP 0000296d: JUMPDEST 0000296e: PUSH1 0x20 00002970: MUL 00002971: PUSH1 0x20 00002973: ADD 00002974: ADD 00002975: MLOAD 00002976: LT 00002977: PUSH2 0x2993 0000297a: JUMPI 0000297b: PUSH1 0x40 0000297d: MLOAD 0000297e: PUSH4 0xb4fa3fb3 00002983: PUSH1 0xe0 00002985: SHL 00002986: DUP2 00002987: MSTORE 00002988: PUSH1 0x04 0000298a: ADD 0000298b: PUSH1 0x40 0000298d: MLOAD 0000298e: DUP1 0000298f: SWAP2 00002990: SUB 00002991: SWAP1 00002992: REVERT 00002993: JUMPDEST 00002994: PUSH2 0x29e8 00002997: DUP4 00002998: PUSH2 0x29e3 0000299b: DUP10 0000299c: PUSH1 0xa0 0000299e: ADD 0000299f: MLOAD 000029a0: DUP5 000029a1: PUSH1 0x01 000029a3: PUSH2 0x29ac 000029a6: SWAP2 000029a7: SWAP1 000029a8: PUSH2 0x4a99 000029ab: JUMP 000029ac: JUMPDEST 000029ad: DUP2 000029ae: MLOAD 000029af: DUP2 000029b0: LT 000029b1: PUSH2 0x29bc 000029b4: JUMPI 000029b5: PUSH2 0x29bc 000029b8: PUSH2 0x4c00 000029bb: JUMP 000029bc: JUMPDEST 000029bd: PUSH1 0x20 000029bf: MUL 000029c0: PUSH1 0x20 000029c2: ADD 000029c3: ADD 000029c4: MLOAD 000029c5: DUP9 000029c6: DUP6 000029c7: DUP2 000029c8: MLOAD 000029c9: DUP2 000029ca: LT 000029cb: PUSH2 0x29d6 000029ce: JUMPI 000029cf: PUSH2 0x29d6 000029d2: PUSH2 0x4c00 000029d5: JUMP 000029d6: JUMPDEST 000029d7: PUSH1 0x20 000029d9: MUL 000029da: PUSH1 0x20 000029dc: ADD 000029dd: ADD 000029de: MLOAD 000029df: PUSH2 0x36ed 000029e2: JUMP 000029e3: JUMPDEST 000029e4: PUSH2 0x3756 000029e7: JUMP 000029e8: JUMPDEST 000029e9: SWAP3 000029ea: POP 000029eb: PUSH1 0x01 000029ed: ADD 000029ee: PUSH2 0x2944 000029f1: JUMP 000029f2: JUMPDEST 000029f3: POP 000029f4: PUSH2 0x2a1b 000029f7: DUP3 000029f8: DUP8 000029f9: PUSH1 0xa0 000029fb: ADD 000029fc: MLOAD 000029fd: PUSH1 0x00 000029ff: DUP2 00002a00: MLOAD 00002a01: DUP2 00002a02: LT 00002a03: PUSH2 0x2a0e 00002a06: JUMPI 00002a07: PUSH2 0x2a0e 00002a0a: PUSH2 0x4c00 00002a0d: JUMP 00002a0e: JUMPDEST 00002a0f: PUSH1 0x20 00002a11: MUL 00002a12: PUSH1 0x20 00002a14: ADD 00002a15: ADD 00002a16: MLOAD 00002a17: PUSH2 0x3756 00002a1a: JUMP 00002a1b: JUMPDEST 00002a1c: SWAP2 00002a1d: POP 00002a1e: PUSH2 0x2607 00002a21: PUSH2 0x2a2d 00002a24: DUP7 00002a25: PUSH1 0x00 00002a27: ADD 00002a28: MLOAD 00002a29: PUSH2 0x37dc 00002a2c: JUMP 00002a2d: JUMPDEST 00002a2e: DUP7 00002a2f: PUSH1 0x20 00002a31: ADD 00002a32: MLOAD 00002a33: DUP9 00002a34: PUSH1 0x20 00002a36: ADD 00002a37: MLOAD 00002a38: DUP10 00002a39: PUSH1 0x40 00002a3b: ADD 00002a3c: MLOAD 00002a3d: DUP7 00002a3e: DUP12 00002a3f: PUSH1 0x60 00002a41: ADD 00002a42: MLOAD 00002a43: DUP12 00002a44: PUSH1 0x40 00002a46: ADD 00002a47: MLOAD 00002a48: DUP14 00002a49: PUSH1 0x80 00002a4b: ADD 00002a4c: MLOAD 00002a4d: PUSH2 0x38ef 00002a50: JUMP 00002a51: JUMPDEST 00002a52: PUSH1 0x33 00002a54: SLOAD 00002a55: PUSH1 0x01 00002a57: PUSH1 0x01 00002a59: PUSH1 0xa0 00002a5b: SHL 00002a5c: SUB 00002a5d: AND 00002a5e: CALLER 00002a5f: EQ 00002a60: PUSH2 0x15a3 00002a63: JUMPI 00002a64: PUSH1 0x40 00002a66: MLOAD 00002a67: PUSH3 0x461bcd 00002a6b: PUSH1 0xe5 00002a6d: SHL 00002a6e: DUP2 00002a6f: MSTORE 00002a70: PUSH1 0x20 00002a72: PUSH1 0x04 00002a74: DUP3 00002a75: ADD 00002a76: DUP2 00002a77: SWAP1 00002a78: MSTORE 00002a79: PUSH1 0x24 00002a7b: DUP3 00002a7c: ADD 00002a7d: MSTORE 00002a7e: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00002a9f: PUSH1 0x44 00002aa1: DUP3 00002aa2: ADD 00002aa3: MSTORE 00002aa4: PUSH1 0x64 00002aa6: ADD 00002aa7: PUSH2 0x07cc 00002aaa: JUMP 00002aab: JUMPDEST 00002aac: PUSH2 0x2ab3 00002aaf: PUSH2 0x3d8e 00002ab2: JUMP 00002ab3: JUMPDEST 00002ab4: PUSH1 0x00 00002ab6: DUP1 00002ab7: PUSH1 0x00 00002ab9: PUSH2 0x2ac1 00002abc: DUP6 00002abd: PUSH2 0x1356 00002ac0: JUMP 00002ac1: JUMPDEST 00002ac2: SWAP2 00002ac3: POP 00002ac4: SWAP2 00002ac5: POP 00002ac6: DUP2 00002ac7: PUSH2 0x2ae5 00002aca: JUMPI 00002acb: DUP1 00002acc: PUSH1 0x40 00002ace: MLOAD 00002acf: PUSH4 0xa01ade41 00002ad4: PUSH1 0xe0 00002ad6: SHL 00002ad7: DUP2 00002ad8: MSTORE 00002ad9: PUSH1 0x04 00002adb: ADD 00002adc: PUSH2 0x07cc 00002adf: SWAP2 00002ae0: SWAP1 00002ae1: PUSH2 0x56aa 00002ae4: JUMP 00002ae5: JUMPDEST 00002ae6: PUSH2 0x2aed 00002ae9: PUSH2 0x3d8e 00002aec: JUMP 00002aed: JUMPDEST 00002aee: PUSH1 0x00 00002af0: DUP1 00002af1: PUSH2 0x2b00 00002af4: PUSH1 0x40 00002af6: DUP10 00002af7: ADD 00002af8: PUSH1 0x20 00002afa: DUP11 00002afb: ADD 00002afc: PUSH2 0x563a 00002aff: JUMP 00002b00: JUMPDEST 00002b01: PUSH1 0x01 00002b03: DUP2 00002b04: GT 00002b05: ISZERO 00002b06: PUSH2 0x2b11 00002b09: JUMPI 00002b0a: PUSH2 0x2b11 00002b0d: PUSH2 0x4915 00002b10: JUMP 00002b11: JUMPDEST 00002b12: SUB 00002b13: PUSH2 0x2d01 00002b16: JUMPI 00002b17: PUSH1 0x00 00002b19: PUSH2 0x2b28 00002b1c: PUSH1 0x60 00002b1e: DUP10 00002b1f: ADD 00002b20: PUSH1 0x40 00002b22: DUP11 00002b23: ADD 00002b24: PUSH2 0x48ac 00002b27: JUMP 00002b28: JUMPDEST 00002b29: SWAP1 00002b2a: POP 00002b2b: PUSH1 0x00 00002b2d: DUP1 00002b2e: PUSH2 0x2b59 00002b31: PUSH2 0x2b40 00002b34: PUSH1 0xa0 00002b36: DUP13 00002b37: ADD 00002b38: PUSH1 0x80 00002b3a: DUP14 00002b3b: ADD 00002b3c: PUSH2 0x4be5 00002b3f: JUMP 00002b40: JUMPDEST 00002b41: PUSH2 0x0123 00002b44: SLOAD 00002b45: PUSH1 0x01 00002b47: PUSH1 0x01 00002b49: PUSH1 0x78 00002b4b: SHL 00002b4c: SUB 00002b4d: SWAP2 00002b4e: DUP3 00002b4f: AND 00002b50: SWAP2 00002b51: PUSH1 0x01 00002b53: SWAP2 00002b54: AND 00002b55: PUSH2 0x11f2 00002b58: JUMP 00002b59: JUMPDEST 00002b5a: SWAP2 00002b5b: POP 00002b5c: SWAP2 00002b5d: POP 00002b5e: DUP1 00002b5f: PUSH1 0x01 00002b61: PUSH1 0x01 00002b63: PUSH1 0x78 00002b65: SHL 00002b66: SUB 00002b67: AND 00002b68: SWAP4 00002b69: POP 00002b6a: PUSH1 0x40 00002b6c: MLOAD 00002b6d: DUP1 00002b6e: PUSH1 0x60 00002b70: ADD 00002b71: PUSH1 0x40 00002b73: MSTORE 00002b74: DUP1 00002b75: DUP12 00002b76: PUSH1 0x00 00002b78: ADD 00002b79: CALLDATALOAD 00002b7a: DUP2 00002b7b: MSTORE 00002b7c: PUSH1 0x20 00002b7e: ADD 00002b7f: DUP12 00002b80: PUSH1 0x20 00002b82: ADD 00002b83: DUP1 00002b84: CALLDATASIZE 00002b85: SUB 00002b86: DUP2 00002b87: ADD 00002b88: SWAP1 00002b89: PUSH2 0x2b92 00002b8c: SWAP2 00002b8d: SWAP1 00002b8e: PUSH2 0x48f9 00002b91: JUMP 00002b92: JUMPDEST 00002b93: DUP2 00002b94: MSTORE 00002b95: PUSH1 0x01 00002b97: PUSH1 0x01 00002b99: PUSH1 0x78 00002b9b: SHL 00002b9c: SUB 00002b9d: DUP5 00002b9e: AND 00002b9f: PUSH1 0x20 00002ba1: SWAP1 00002ba2: SWAP2 00002ba3: ADD 00002ba4: MSTORE 00002ba5: PUSH1 0x40 00002ba7: MLOAD 00002ba8: PUSH4 0x70a08231 00002bad: PUSH1 0xe0 00002baf: SHL 00002bb0: DUP2 00002bb1: MSTORE 00002bb2: ADDRESS 00002bb3: PUSH1 0x04 00002bb5: DUP3 00002bb6: ADD 00002bb7: MSTORE 00002bb8: SWAP1 00002bb9: SWAP6 00002bba: POP 00002bbb: PUSH1 0x00 00002bbd: SWAP1 00002bbe: PUSH1 0x01 00002bc0: PUSH1 0x01 00002bc2: PUSH1 0xa0 00002bc4: SHL 00002bc5: SUB 00002bc6: DUP6 00002bc7: AND 00002bc8: SWAP1 00002bc9: PUSH4 0x70a08231 00002bce: SWAP1 00002bcf: PUSH1 0x24 00002bd1: ADD 00002bd2: PUSH1 0x20 00002bd4: PUSH1 0x40 00002bd6: MLOAD 00002bd7: DUP1 00002bd8: DUP4 00002bd9: SUB 00002bda: DUP2 00002bdb: DUP7 00002bdc: GAS 00002bdd: STATICCALL 00002bde: ISZERO 00002bdf: DUP1 00002be0: ISZERO 00002be1: PUSH2 0x2bee 00002be4: JUMPI 00002be5: RETURNDATASIZE 00002be6: PUSH1 0x00 00002be8: DUP1 00002be9: RETURNDATACOPY 00002bea: RETURNDATASIZE 00002beb: PUSH1 0x00 00002bed: REVERT 00002bee: JUMPDEST 00002bef: POP 00002bf0: POP 00002bf1: POP 00002bf2: POP 00002bf3: PUSH1 0x40 00002bf5: MLOAD 00002bf6: RETURNDATASIZE 00002bf7: PUSH1 0x1f 00002bf9: NOT 00002bfa: PUSH1 0x1f 00002bfc: DUP3 00002bfd: ADD 00002bfe: AND 00002bff: DUP3 00002c00: ADD 00002c01: DUP1 00002c02: PUSH1 0x40 00002c04: MSTORE 00002c05: POP 00002c06: DUP2 00002c07: ADD 00002c08: SWAP1 00002c09: PUSH2 0x2c12 00002c0c: SWAP2 00002c0d: SWAP1 00002c0e: PUSH2 0x5574 00002c11: JUMP 00002c12: JUMPDEST 00002c13: SWAP1 00002c14: POP 00002c15: PUSH2 0x2c32 00002c18: PUSH1 0x01 00002c1a: PUSH1 0x01 00002c1c: PUSH1 0xa0 00002c1e: SHL 00002c1f: SUB 00002c20: DUP6 00002c21: AND 00002c22: CALLER 00002c23: ADDRESS 00002c24: PUSH1 0x01 00002c26: PUSH1 0x01 00002c28: PUSH1 0x78 00002c2a: SHL 00002c2b: SUB 00002c2c: DUP8 00002c2d: AND 00002c2e: PUSH2 0x3a31 00002c31: JUMP 00002c32: JUMPDEST 00002c33: PUSH1 0x40 00002c35: MLOAD 00002c36: PUSH4 0x70a08231 00002c3b: PUSH1 0xe0 00002c3d: SHL 00002c3e: DUP2 00002c3f: MSTORE 00002c40: ADDRESS 00002c41: PUSH1 0x04 00002c43: DUP3 00002c44: ADD 00002c45: MSTORE 00002c46: PUSH1 0x00 00002c48: SWAP1 00002c49: PUSH1 0x01 00002c4b: PUSH1 0x01 00002c4d: PUSH1 0xa0 00002c4f: SHL 00002c50: SUB 00002c51: DUP7 00002c52: AND 00002c53: SWAP1 00002c54: PUSH4 0x70a08231 00002c59: SWAP1 00002c5a: PUSH1 0x24 00002c5c: ADD 00002c5d: PUSH1 0x20 00002c5f: PUSH1 0x40 00002c61: MLOAD 00002c62: DUP1 00002c63: DUP4 00002c64: SUB 00002c65: DUP2 00002c66: DUP7 00002c67: GAS 00002c68: STATICCALL 00002c69: ISZERO 00002c6a: DUP1 00002c6b: ISZERO 00002c6c: PUSH2 0x2c79 00002c6f: JUMPI 00002c70: RETURNDATASIZE 00002c71: PUSH1 0x00 00002c73: DUP1 00002c74: RETURNDATACOPY 00002c75: RETURNDATASIZE 00002c76: PUSH1 0x00 00002c78: REVERT 00002c79: JUMPDEST 00002c7a: POP 00002c7b: POP 00002c7c: POP 00002c7d: POP 00002c7e: PUSH1 0x40 00002c80: MLOAD 00002c81: RETURNDATASIZE 00002c82: PUSH1 0x1f 00002c84: NOT 00002c85: PUSH1 0x1f 00002c87: DUP3 00002c88: ADD 00002c89: AND 00002c8a: DUP3 00002c8b: ADD 00002c8c: DUP1 00002c8d: PUSH1 0x40 00002c8f: MSTORE 00002c90: POP 00002c91: DUP2 00002c92: ADD 00002c93: SWAP1 00002c94: PUSH2 0x2c9d 00002c97: SWAP2 00002c98: SWAP1 00002c99: PUSH2 0x5574 00002c9c: JUMP 00002c9d: JUMPDEST 00002c9e: SWAP1 00002c9f: POP 00002ca0: PUSH1 0x01 00002ca2: PUSH1 0x01 00002ca4: PUSH1 0x78 00002ca6: SHL 00002ca7: SUB 00002ca8: DUP5 00002ca9: AND 00002caa: PUSH2 0x2cb3 00002cad: DUP4 00002cae: DUP4 00002caf: PUSH2 0x4bd2 00002cb2: JUMP 00002cb3: JUMPDEST 00002cb4: EQ 00002cb5: PUSH2 0x2cd1 00002cb8: JUMPI 00002cb9: PUSH1 0x40 00002cbb: MLOAD 00002cbc: PUSH4 0x46148287 00002cc1: PUSH1 0xe1 00002cc3: SHL 00002cc4: DUP2 00002cc5: MSTORE 00002cc6: PUSH1 0x04 00002cc8: ADD 00002cc9: PUSH1 0x40 00002ccb: MLOAD 00002ccc: DUP1 00002ccd: SWAP2 00002cce: SUB 00002ccf: SWAP1 00002cd0: REVERT 00002cd1: JUMPDEST 00002cd2: PUSH2 0x0125 00002cd5: SLOAD 00002cd6: PUSH2 0x2cf7 00002cd9: SWAP1 00002cda: PUSH1 0x01 00002cdc: PUSH1 0x01 00002cde: PUSH1 0xa0 00002ce0: SHL 00002ce1: SUB 00002ce2: DUP8 00002ce3: DUP2 00002ce4: AND 00002ce5: SWAP2 00002ce6: CALLER 00002ce7: SWAP2 00002ce8: AND 00002ce9: PUSH1 0x01 00002ceb: PUSH1 0x01 00002ced: PUSH1 0x78 00002cef: SHL 00002cf0: SUB 00002cf1: DUP8 00002cf2: AND 00002cf3: PUSH2 0x3a31 00002cf6: JUMP 00002cf7: JUMPDEST 00002cf8: POP 00002cf9: POP 00002cfa: POP 00002cfb: POP 00002cfc: POP 00002cfd: PUSH2 0x1277 00002d00: JUMP 00002d01: JUMPDEST 00002d02: PUSH1 0x01 00002d04: PUSH2 0x2d13 00002d07: PUSH1 0x40 00002d09: DUP10 00002d0a: ADD 00002d0b: PUSH1 0x20 00002d0d: DUP11 00002d0e: ADD 00002d0f: PUSH2 0x563a 00002d12: JUMP 00002d13: JUMPDEST 00002d14: PUSH1 0x01 00002d16: DUP2 00002d17: GT 00002d18: ISZERO 00002d19: PUSH2 0x2d24 00002d1c: JUMPI 00002d1d: PUSH2 0x2d24 00002d20: PUSH2 0x4915 00002d23: JUMP 00002d24: JUMPDEST 00002d25: SUB 00002d26: PUSH2 0x2e8d 00002d29: JUMPI 00002d2a: PUSH1 0x00 00002d2c: PUSH2 0x2d3b 00002d2f: PUSH1 0x60 00002d31: DUP10 00002d32: ADD 00002d33: PUSH1 0x40 00002d35: DUP11 00002d36: ADD 00002d37: PUSH2 0x48ac 00002d3a: JUMP 00002d3b: JUMPDEST 00002d3c: PUSH1 0x00 00002d3e: SWAP3 00002d3f: POP 00002d40: SWAP1 00002d41: POP 00002d42: PUSH2 0x2d50 00002d45: CALLDATASIZE 00002d46: DUP10 00002d47: SWAP1 00002d48: SUB 00002d49: DUP10 00002d4a: ADD 00002d4b: DUP10 00002d4c: PUSH2 0x4746 00002d4f: JUMP 00002d50: JUMPDEST 00002d51: SWAP3 00002d52: POP 00002d53: PUSH1 0x20 00002d55: DUP9 00002d56: ADD 00002d57: PUSH2 0x012a 00002d5a: PUSH1 0x00 00002d5c: PUSH2 0x2d6d 00002d5f: PUSH2 0x0522 00002d62: CALLDATASIZE 00002d63: DUP14 00002d64: SWAP1 00002d65: SUB 00002d66: DUP14 00002d67: ADD 00002d68: DUP6 00002d69: PUSH2 0x48f9 00002d6c: JUMP 00002d6d: JUMPDEST 00002d6e: DUP2 00002d6f: MSTORE 00002d70: PUSH1 0x20 00002d72: ADD 00002d73: SWAP1 00002d74: DUP2 00002d75: MSTORE 00002d76: PUSH1 0x20 00002d78: ADD 00002d79: PUSH1 0x00 00002d7b: KECCAK256 00002d7c: DUP2 00002d7d: DUP2 00002d7e: PUSH2 0x2d87 00002d81: SWAP2 00002d82: SWAP1 00002d83: PUSH2 0x5821 00002d86: JUMP 00002d87: JUMPDEST 00002d88: POP 00002d89: POP 00002d8a: PUSH1 0x40 00002d8c: MLOAD 00002d8d: PUSH4 0x23b872dd 00002d92: PUSH1 0xe0 00002d94: SHL 00002d95: DUP2 00002d96: MSTORE 00002d97: CALLER 00002d98: PUSH1 0x04 00002d9a: DUP3 00002d9b: ADD 00002d9c: MSTORE 00002d9d: ADDRESS 00002d9e: PUSH1 0x24 00002da0: DUP3 00002da1: ADD 00002da2: MSTORE 00002da3: PUSH1 0x60 00002da5: DUP10 00002da6: ADD 00002da7: CALLDATALOAD 00002da8: PUSH1 0x44 00002daa: DUP3 00002dab: ADD 00002dac: MSTORE 00002dad: PUSH1 0x01 00002daf: PUSH1 0x01 00002db1: PUSH1 0xa0 00002db3: SHL 00002db4: SUB 00002db5: DUP3 00002db6: AND 00002db7: SWAP1 00002db8: PUSH4 0x23b872dd 00002dbd: SWAP1 00002dbe: PUSH1 0x64 00002dc0: ADD 00002dc1: PUSH1 0x00 00002dc3: PUSH1 0x40 00002dc5: MLOAD 00002dc6: DUP1 00002dc7: DUP4 00002dc8: SUB 00002dc9: DUP2 00002dca: PUSH1 0x00 00002dcc: DUP8 00002dcd: DUP1 00002dce: EXTCODESIZE 00002dcf: ISZERO 00002dd0: DUP1 00002dd1: ISZERO 00002dd2: PUSH2 0x2dda 00002dd5: JUMPI 00002dd6: PUSH1 0x00 00002dd8: DUP1 00002dd9: REVERT 00002dda: JUMPDEST 00002ddb: POP 00002ddc: GAS 00002ddd: CALL 00002dde: ISZERO 00002ddf: DUP1 00002de0: ISZERO 00002de1: PUSH2 0x2dee 00002de4: JUMPI 00002de5: RETURNDATASIZE 00002de6: PUSH1 0x00 00002de8: DUP1 00002de9: RETURNDATACOPY 00002dea: RETURNDATASIZE 00002deb: PUSH1 0x00 00002ded: REVERT 00002dee: JUMPDEST 00002def: POP 00002df0: POP 00002df1: PUSH1 0x40 00002df3: MLOAD 00002df4: PUSH4 0x31a9108f 00002df9: PUSH1 0xe1 00002dfb: SHL 00002dfc: DUP2 00002dfd: MSTORE 00002dfe: PUSH1 0x60 00002e00: DUP12 00002e01: ADD 00002e02: CALLDATALOAD 00002e03: PUSH1 0x04 00002e05: DUP3 00002e06: ADD 00002e07: MSTORE 00002e08: ADDRESS 00002e09: SWAP3 00002e0a: POP 00002e0b: PUSH1 0x01 00002e0d: PUSH1 0x01 00002e0f: PUSH1 0xa0 00002e11: SHL 00002e12: SUB 00002e13: DUP5 00002e14: AND 00002e15: SWAP2 00002e16: POP 00002e17: PUSH4 0x6352211e 00002e1c: SWAP1 00002e1d: PUSH1 0x24 00002e1f: ADD 00002e20: PUSH1 0x20 00002e22: PUSH1 0x40 00002e24: MLOAD 00002e25: DUP1 00002e26: DUP4 00002e27: SUB 00002e28: DUP2 00002e29: DUP7 00002e2a: GAS 00002e2b: STATICCALL 00002e2c: ISZERO 00002e2d: DUP1 00002e2e: ISZERO 00002e2f: PUSH2 0x2e3c 00002e32: JUMPI 00002e33: RETURNDATASIZE 00002e34: PUSH1 0x00 00002e36: DUP1 00002e37: RETURNDATACOPY 00002e38: RETURNDATASIZE 00002e39: PUSH1 0x00 00002e3b: REVERT 00002e3c: JUMPDEST 00002e3d: POP 00002e3e: POP 00002e3f: POP 00002e40: POP 00002e41: PUSH1 0x40 00002e43: MLOAD 00002e44: RETURNDATASIZE 00002e45: PUSH1 0x1f 00002e47: NOT 00002e48: PUSH1 0x1f 00002e4a: DUP3 00002e4b: ADD 00002e4c: AND 00002e4d: DUP3 00002e4e: ADD 00002e4f: DUP1 00002e50: PUSH1 0x40 00002e52: MSTORE 00002e53: POP 00002e54: DUP2 00002e55: ADD 00002e56: SWAP1 00002e57: PUSH2 0x2e60 00002e5a: SWAP2 00002e5b: SWAP1 00002e5c: PUSH2 0x588e 00002e5f: JUMP 00002e60: JUMPDEST 00002e61: PUSH1 0x01 00002e63: PUSH1 0x01 00002e65: PUSH1 0xa0 00002e67: SHL 00002e68: SUB 00002e69: AND 00002e6a: EQ 00002e6b: PUSH2 0x2e87 00002e6e: JUMPI 00002e6f: PUSH1 0x40 00002e71: MLOAD 00002e72: PUSH4 0xab1053ff 00002e77: PUSH1 0xe0 00002e79: SHL 00002e7a: DUP2 00002e7b: MSTORE 00002e7c: PUSH1 0x04 00002e7e: ADD 00002e7f: PUSH1 0x40 00002e81: MLOAD 00002e82: DUP1 00002e83: SWAP2 00002e84: SUB 00002e85: SWAP1 00002e86: REVERT 00002e87: JUMPDEST 00002e88: POP 00002e89: PUSH2 0x1277 00002e8c: JUMP 00002e8d: JUMPDEST 00002e8e: PUSH1 0x40 00002e90: MLOAD 00002e91: PUSH4 0x350b9441 00002e96: PUSH1 0xe1 00002e98: SHL 00002e99: DUP2 00002e9a: MSTORE 00002e9b: PUSH1 0x04 00002e9d: ADD 00002e9e: PUSH1 0x40 00002ea0: MLOAD 00002ea1: DUP1 00002ea2: SWAP2 00002ea3: SUB 00002ea4: SWAP1 00002ea5: REVERT 00002ea6: JUMPDEST 00002ea7: DUP1 00002ea8: MLOAD 00002ea9: PUSH1 0x00 00002eab: DUP2 00002eac: SWAP1 00002ead: SUB 00002eae: PUSH2 0x2eb5 00002eb1: JUMPI 00002eb2: POP 00002eb3: POP 00002eb4: JUMP 00002eb5: JUMPDEST 00002eb6: PUSH2 0x2ec1 00002eb9: PUSH1 0x10 00002ebb: PUSH1 0x02 00002ebd: PUSH2 0x4a8d 00002ec0: JUMP 00002ec1: JUMPDEST 00002ec2: DUP2 00002ec3: PUSH1 0x67 00002ec5: SLOAD 00002ec6: PUSH2 0x2ecf 00002ec9: SWAP2 00002eca: SWAP1 00002ecb: PUSH2 0x4a99 00002ece: JUMP 00002ecf: JUMPDEST 00002ed0: GT 00002ed1: ISZERO 00002ed2: PUSH2 0x2edd 00002ed5: JUMPI 00002ed6: PUSH2 0x2edd 00002ed9: PUSH2 0x3a9c 00002edc: JUMP 00002edd: JUMPDEST 00002ede: PUSH1 0x67 00002ee0: DUP1 00002ee1: SLOAD 00002ee2: SWAP1 00002ee3: DUP3 00002ee4: SWAP1 00002ee5: PUSH1 0x00 00002ee7: PUSH2 0x2ef0 00002eea: DUP4 00002eeb: DUP6 00002eec: PUSH2 0x4a99 00002eef: JUMP 00002ef0: JUMPDEST 00002ef1: SWAP1 00002ef2: SWAP2 00002ef3: SSTORE 00002ef4: POP 00002ef5: PUSH1 0x00 00002ef7: SWAP1 00002ef8: POP 00002ef9: DUP1 00002efa: DUP1 00002efb: JUMPDEST 00002efc: PUSH1 0x10 00002efe: DUP2 00002eff: LT 00002f00: ISZERO 00002f01: PUSH2 0x30db 00002f04: JUMPI 00002f05: PUSH1 0x01 00002f07: DUP5 00002f08: SWAP1 00002f09: SHR 00002f0a: SWAP2 00002f0b: POP 00002f0c: PUSH1 0x00 00002f0e: PUSH2 0x2f18 00002f11: PUSH1 0x02 00002f13: DUP7 00002f14: PUSH2 0x4e65 00002f17: JUMP 00002f18: JUMPDEST 00002f19: PUSH1 0x01 00002f1b: SUB 00002f1c: PUSH2 0x2f9a 00002f1f: JUMPI 00002f20: PUSH2 0x2f2d 00002f23: DUP4 00002f24: PUSH1 0x01 00002f26: DUP8 00002f27: SWAP1 00002f28: SHR 00002f29: PUSH2 0x4bd2 00002f2c: JUMP 00002f2d: JUMPDEST 00002f2e: SWAP4 00002f2f: POP 00002f30: PUSH2 0x2f66 00002f33: PUSH1 0x7a 00002f35: DUP4 00002f36: PUSH1 0x10 00002f38: DUP2 00002f39: LT 00002f3a: PUSH2 0x2f45 00002f3d: JUMPI 00002f3e: PUSH2 0x2f45 00002f41: PUSH2 0x4c00 00002f44: JUMP 00002f45: JUMPDEST 00002f46: ADD 00002f47: SLOAD 00002f48: DUP9 00002f49: DUP4 00002f4a: DUP2 00002f4b: MLOAD 00002f4c: DUP2 00002f4d: LT 00002f4e: PUSH2 0x2f59 00002f51: JUMPI 00002f52: PUSH2 0x2f59 00002f55: PUSH2 0x4c00 00002f58: JUMP 00002f59: JUMPDEST 00002f5a: PUSH1 0x20 00002f5c: MUL 00002f5d: PUSH1 0x20 00002f5f: ADD 00002f60: ADD 00002f61: MLOAD 00002f62: PUSH2 0x1160 00002f65: JUMP 00002f66: JUMPDEST 00002f67: DUP8 00002f68: DUP6 00002f69: DUP2 00002f6a: MLOAD 00002f6b: DUP2 00002f6c: LT 00002f6d: PUSH2 0x2f78 00002f70: JUMPI 00002f71: PUSH2 0x2f78 00002f74: PUSH2 0x4c00 00002f77: JUMP 00002f78: JUMPDEST 00002f79: PUSH1 0x20 00002f7b: SWAP1 00002f7c: DUP2 00002f7d: MUL 00002f7e: SWAP2 00002f7f: SWAP1 00002f80: SWAP2 00002f81: ADD 00002f82: ADD 00002f83: MSTORE 00002f84: PUSH2 0x2f8c 00002f87: DUP2 00002f88: PUSH2 0x58ab 00002f8b: JUMP 00002f8c: JUMPDEST 00002f8d: SWAP1 00002f8e: POP 00002f8f: PUSH2 0x2f97 00002f92: DUP6 00002f93: PUSH2 0x58ab 00002f96: JUMP 00002f97: JUMPDEST 00002f98: SWAP5 00002f99: POP 00002f9a: JUMPDEST 00002f9b: DUP6 00002f9c: DUP2 00002f9d: LT 00002f9e: ISZERO 00002f9f: PUSH2 0x30c0 00002fa2: JUMPI 00002fa3: PUSH1 0x00 00002fa5: PUSH2 0x2faf 00002fa8: PUSH1 0x01 00002faa: DUP9 00002fab: PUSH2 0x4bd2 00002fae: JUMP 00002faf: JUMPDEST 00002fb0: DUP3 00002fb1: LT 00002fb2: ISZERO 00002fb3: PUSH2 0x2fe1 00002fb6: JUMPI 00002fb7: DUP8 00002fb8: PUSH2 0x2fc2 00002fbb: DUP4 00002fbc: PUSH1 0x01 00002fbe: PUSH2 0x4a99 00002fc1: JUMP 00002fc2: JUMPDEST 00002fc3: DUP2 00002fc4: MLOAD 00002fc5: DUP2 00002fc6: LT 00002fc7: PUSH2 0x2fd2 00002fca: JUMPI 00002fcb: PUSH2 0x2fd2 00002fce: PUSH2 0x4c00 00002fd1: JUMP 00002fd2: JUMPDEST 00002fd3: PUSH1 0x20 00002fd5: MUL 00002fd6: PUSH1 0x20 00002fd8: ADD 00002fd9: ADD 00002fda: MLOAD 00002fdb: SWAP1 00002fdc: POP 00002fdd: PUSH2 0x2ff9 00002fe0: JUMP 00002fe1: JUMPDEST 00002fe2: PUSH1 0x6a 00002fe4: DUP4 00002fe5: PUSH1 0x10 00002fe7: DUP2 00002fe8: LT 00002fe9: PUSH2 0x2ff4 00002fec: JUMPI 00002fed: PUSH2 0x2ff4 00002ff0: PUSH2 0x4c00 00002ff3: JUMP 00002ff4: JUMPDEST 00002ff5: ADD 00002ff6: SLOAD 00002ff7: SWAP1 00002ff8: POP 00002ff9: JUMPDEST 00002ffa: PUSH2 0x3004 00002ffd: PUSH1 0x01 00002fff: DUP9 00003000: PUSH2 0x4bd2 00003003: JUMP 00003004: JUMPDEST 00003005: DUP3 00003006: EQ 00003007: DUP1 00003008: PUSH2 0x301a 0000300b: JUMPI 0000300c: POP 0000300d: PUSH2 0x3017 00003010: PUSH1 0x02 00003012: DUP9 00003013: PUSH2 0x4bd2 00003016: JUMP 00003017: JUMPDEST 00003018: DUP3 00003019: EQ 0000301a: JUMPDEST 0000301b: ISZERO 0000301c: PUSH2 0x304f 0000301f: JUMPI 00003020: DUP8 00003021: DUP3 00003022: DUP2 00003023: MLOAD 00003024: DUP2 00003025: LT 00003026: PUSH2 0x3031 00003029: JUMPI 0000302a: PUSH2 0x3031 0000302d: PUSH2 0x4c00 00003030: JUMP 00003031: JUMPDEST 00003032: PUSH1 0x20 00003034: MUL 00003035: PUSH1 0x20 00003037: ADD 00003038: ADD 00003039: MLOAD 0000303a: PUSH1 0x7a 0000303c: DUP5 0000303d: PUSH1 0x10 0000303f: DUP2 00003040: LT 00003041: PUSH2 0x304c 00003044: JUMPI 00003045: PUSH2 0x304c 00003048: PUSH2 0x4c00 0000304b: JUMP 0000304c: JUMPDEST 0000304d: ADD 0000304e: SSTORE 0000304f: JUMPDEST 00003050: PUSH2 0x305d 00003053: DUP5 00003054: PUSH1 0x01 00003056: DUP9 00003057: SWAP1 00003058: SHR 00003059: PUSH2 0x4bd2 0000305c: JUMP 0000305d: JUMPDEST 0000305e: SWAP5 0000305f: POP 00003060: PUSH2 0x3082 00003063: DUP9 00003064: DUP4 00003065: DUP2 00003066: MLOAD 00003067: DUP2 00003068: LT 00003069: PUSH2 0x3074 0000306c: JUMPI 0000306d: PUSH2 0x3074 00003070: PUSH2 0x4c00 00003073: JUMP 00003074: JUMPDEST 00003075: PUSH1 0x20 00003077: MUL 00003078: PUSH1 0x20 0000307a: ADD 0000307b: ADD 0000307c: MLOAD 0000307d: DUP3 0000307e: PUSH2 0x1160 00003081: JUMP 00003082: JUMPDEST 00003083: DUP9 00003084: DUP7 00003085: DUP2 00003086: MLOAD 00003087: DUP2 00003088: LT 00003089: PUSH2 0x3094 0000308c: JUMPI 0000308d: PUSH2 0x3094 00003090: PUSH2 0x4c00 00003093: JUMP 00003094: JUMPDEST 00003095: PUSH1 0x20 00003097: SWAP1 00003098: DUP2 00003099: MUL 0000309a: SWAP2 0000309b: SWAP1 0000309c: SWAP2 0000309d: ADD 0000309e: ADD 0000309f: MSTORE 000030a0: PUSH2 0x30aa 000030a3: PUSH1 0x02 000030a5: DUP8 000030a6: PUSH2 0x4a99 000030a9: JUMP 000030aa: JUMPDEST 000030ab: SWAP6 000030ac: POP 000030ad: PUSH2 0x30b9 000030b0: SWAP1 000030b1: POP 000030b2: PUSH1 0x02 000030b4: DUP3 000030b5: PUSH2 0x4a99 000030b8: JUMP 000030b9: JUMPDEST 000030ba: SWAP1 000030bb: POP 000030bc: PUSH2 0x2f9a 000030bf: JUMP 000030c0: JUMPDEST 000030c1: DUP3 000030c2: SWAP5 000030c3: POP 000030c4: DUP4 000030c5: PUSH1 0x01 000030c7: PUSH2 0x30d0 000030ca: SWAP2 000030cb: SWAP1 000030cc: PUSH2 0x4a99 000030cf: JUMP 000030d0: JUMPDEST 000030d1: SWAP6 000030d2: POP 000030d3: POP 000030d4: PUSH1 0x01 000030d6: ADD 000030d7: PUSH2 0x2efb 000030da: JUMP 000030db: JUMPDEST 000030dc: POP 000030dd: DUP5 000030de: PUSH1 0x00 000030e0: DUP2 000030e1: MLOAD 000030e2: DUP2 000030e3: LT 000030e4: PUSH2 0x30ef 000030e7: JUMPI 000030e8: PUSH2 0x30ef 000030eb: PUSH2 0x4c00 000030ee: JUMP 000030ef: JUMPDEST 000030f0: PUSH1 0x20 000030f2: SWAP1 000030f3: DUP2 000030f4: MUL 000030f5: SWAP2 000030f6: SWAP1 000030f7: SWAP2 000030f8: ADD 000030f9: DUP2 000030fa: ADD 000030fb: MLOAD 000030fc: PUSH1 0x65 000030fe: DUP2 000030ff: SWAP1 00003100: SSTORE 00003101: PUSH1 0x68 00003103: SLOAD 00003104: PUSH1 0x00 00003106: SWAP1 00003107: DUP2 00003108: MSTORE 00003109: PUSH1 0x8a 0000310b: DUP4 0000310c: MSTORE 0000310d: PUSH1 0x40 0000310f: DUP1 00003110: DUP3 00003111: KECCAK256 00003112: SWAP3 00003113: DUP3 00003114: MSTORE 00003115: SWAP2 00003116: SWAP1 00003117: SWAP3 00003118: MSTORE 00003119: SWAP1 0000311a: KECCAK256 0000311b: DUP1 0000311c: SLOAD 0000311d: PUSH1 0xff 0000311f: NOT 00003120: AND 00003121: PUSH1 0x01 00003123: OR 00003124: SWAP1 00003125: SSTORE 00003126: POP 00003127: POP 00003128: POP 00003129: POP 0000312a: POP 0000312b: JUMP 0000312c: JUMPDEST 0000312d: PUSH1 0x33 0000312f: DUP1 00003130: SLOAD 00003131: PUSH1 0x01 00003133: PUSH1 0x01 00003135: PUSH1 0xa0 00003137: SHL 00003138: SUB 00003139: DUP4 0000313a: DUP2 0000313b: AND 0000313c: PUSH1 0x01 0000313e: PUSH1 0x01 00003140: PUSH1 0xa0 00003142: SHL 00003143: SUB 00003144: NOT 00003145: DUP4 00003146: AND 00003147: DUP2 00003148: OR 00003149: SWAP1 0000314a: SWAP4 0000314b: SSTORE 0000314c: PUSH1 0x40 0000314e: MLOAD 0000314f: SWAP2 00003150: AND 00003151: SWAP2 00003152: SWAP1 00003153: DUP3 00003154: SWAP1 00003155: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00003176: SWAP1 00003177: PUSH1 0x00 00003179: SWAP1 0000317a: LOG3 0000317b: POP 0000317c: POP 0000317d: JUMP 0000317e: JUMPDEST 0000317f: PUSH1 0x00 00003181: DUP1 00003182: PUSH2 0x318f 00003185: PUSH2 0x0120 00003188: DUP8 00003189: ADD 0000318a: DUP8 0000318b: PUSH2 0x4b89 0000318e: JUMP 0000318f: JUMPDEST 00003190: SWAP1 00003191: POP 00003192: SWAP1 00003193: POP 00003194: PUSH1 0x00 00003196: JUMPDEST 00003197: DUP2 00003198: DUP2 00003199: LT 0000319a: ISZERO 0000319b: PUSH2 0x32b5 0000319e: JUMPI 0000319f: PUSH1 0x69 000031a1: PUSH1 0x00 000031a3: PUSH2 0x31b0 000031a6: PUSH2 0x0160 000031a9: DUP11 000031aa: ADD 000031ab: DUP11 000031ac: PUSH2 0x4aac 000031af: JUMP 000031b0: JUMPDEST 000031b1: PUSH2 0x31be 000031b4: SWAP1 000031b5: PUSH1 0x20 000031b7: DUP2 000031b8: ADD 000031b9: SWAP1 000031ba: PUSH2 0x4b44 000031bd: JUMP 000031be: JUMPDEST 000031bf: PUSH2 0xffff 000031c2: AND 000031c3: DUP2 000031c4: MSTORE 000031c5: PUSH1 0x20 000031c7: ADD 000031c8: SWAP1 000031c9: DUP2 000031ca: MSTORE 000031cb: PUSH1 0x20 000031cd: ADD 000031ce: PUSH1 0x00 000031d0: KECCAK256 000031d1: PUSH1 0x00 000031d3: DUP9 000031d4: DUP1 000031d5: PUSH2 0x0120 000031d8: ADD 000031d9: SWAP1 000031da: PUSH2 0x31e3 000031dd: SWAP2 000031de: SWAP1 000031df: PUSH2 0x4b89 000031e2: JUMP 000031e3: JUMPDEST 000031e4: DUP5 000031e5: DUP2 000031e6: DUP2 000031e7: LT 000031e8: PUSH2 0x31f3 000031eb: JUMPI 000031ec: PUSH2 0x31f3 000031ef: PUSH2 0x4c00 000031f2: JUMP 000031f3: JUMPDEST 000031f4: PUSH1 0x20 000031f6: SWAP1 000031f7: DUP2 000031f8: MUL 000031f9: SWAP3 000031fa: SWAP1 000031fb: SWAP3 000031fc: ADD 000031fd: CALLDATALOAD 000031fe: DUP4 000031ff: MSTORE 00003200: POP 00003201: DUP2 00003202: ADD 00003203: SWAP2 00003204: SWAP1 00003205: SWAP2 00003206: MSTORE 00003207: PUSH1 0x40 00003209: ADD 0000320a: PUSH1 0x00 0000320c: KECCAK256 0000320d: SLOAD 0000320e: PUSH1 0xff 00003210: AND 00003211: ISZERO 00003212: PUSH2 0x322e 00003215: JUMPI 00003216: PUSH1 0x40 00003218: MLOAD 00003219: PUSH4 0x26c9d20d 0000321e: PUSH1 0xe0 00003220: SHL 00003221: DUP2 00003222: MSTORE 00003223: PUSH1 0x04 00003225: ADD 00003226: PUSH1 0x40 00003228: MLOAD 00003229: DUP1 0000322a: SWAP2 0000322b: SUB 0000322c: SWAP1 0000322d: REVERT 0000322e: JUMPDEST 0000322f: PUSH1 0x01 00003231: PUSH1 0x69 00003233: PUSH1 0x00 00003235: PUSH2 0x3242 00003238: PUSH2 0x0160 0000323b: DUP12 0000323c: ADD 0000323d: DUP12 0000323e: PUSH2 0x4aac 00003241: JUMP 00003242: JUMPDEST 00003243: PUSH2 0x3250 00003246: SWAP1 00003247: PUSH1 0x20 00003249: DUP2 0000324a: ADD 0000324b: SWAP1 0000324c: PUSH2 0x4b44 0000324f: JUMP 00003250: JUMPDEST 00003251: PUSH2 0xffff 00003254: AND 00003255: DUP2 00003256: MSTORE 00003257: PUSH1 0x20 00003259: ADD 0000325a: SWAP1 0000325b: DUP2 0000325c: MSTORE 0000325d: PUSH1 0x20 0000325f: ADD 00003260: PUSH1 0x00 00003262: KECCAK256 00003263: PUSH1 0x00 00003265: DUP10 00003266: DUP1 00003267: PUSH2 0x0120 0000326a: ADD 0000326b: SWAP1 0000326c: PUSH2 0x3275 0000326f: SWAP2 00003270: SWAP1 00003271: PUSH2 0x4b89 00003274: JUMP 00003275: JUMPDEST 00003276: DUP6 00003277: DUP2 00003278: DUP2 00003279: LT 0000327a: PUSH2 0x3285 0000327d: JUMPI 0000327e: PUSH2 0x3285 00003281: PUSH2 0x4c00 00003284: JUMP 00003285: JUMPDEST 00003286: PUSH1 0x20 00003288: SWAP1 00003289: DUP2 0000328a: MUL 0000328b: SWAP3 0000328c: SWAP1 0000328d: SWAP3 0000328e: ADD 0000328f: CALLDATALOAD 00003290: DUP4 00003291: MSTORE 00003292: POP 00003293: DUP2 00003294: ADD 00003295: SWAP2 00003296: SWAP1 00003297: SWAP2 00003298: MSTORE 00003299: PUSH1 0x40 0000329b: ADD 0000329c: PUSH1 0x00 0000329e: KECCAK256 0000329f: DUP1 000032a0: SLOAD 000032a1: PUSH1 0xff 000032a3: NOT 000032a4: AND 000032a5: SWAP2 000032a6: ISZERO 000032a7: ISZERO 000032a8: SWAP2 000032a9: SWAP1 000032aa: SWAP2 000032ab: OR 000032ac: SWAP1 000032ad: SSTORE 000032ae: PUSH1 0x01 000032b0: ADD 000032b1: PUSH2 0x3196 000032b4: JUMP 000032b5: JUMPDEST 000032b6: POP 000032b7: PUSH32 0x781745c57906dc2f175fec80a9c691744c91c48a34a83672c41c2604774eb11f 000032d8: PUSH2 0x32e5 000032db: PUSH2 0x0160 000032de: DUP9 000032df: ADD 000032e0: DUP9 000032e1: PUSH2 0x4aac 000032e4: JUMP 000032e5: JUMPDEST 000032e6: PUSH2 0x32f3 000032e9: SWAP1 000032ea: PUSH1 0x20 000032ec: DUP2 000032ed: ADD 000032ee: SWAP1 000032ef: PUSH2 0x4b44 000032f2: JUMP 000032f3: JUMPDEST 000032f4: PUSH2 0x3301 000032f7: PUSH2 0x0120 000032fa: DUP10 000032fb: ADD 000032fc: DUP10 000032fd: PUSH2 0x4b89 00003300: JUMP 00003301: JUMPDEST 00003302: PUSH1 0x40 00003304: MLOAD 00003305: PUSH2 0x3310 00003308: SWAP4 00003309: SWAP3 0000330a: SWAP2 0000330b: SWAP1 0000330c: PUSH2 0x58c4 0000330f: JUMP 00003310: JUMPDEST 00003311: PUSH1 0x40 00003313: MLOAD 00003314: DUP1 00003315: SWAP2 00003316: SUB 00003317: SWAP1 00003318: LOG1 00003319: PUSH1 0x00 0000331b: PUSH2 0x3328 0000331e: PUSH2 0x0160 00003321: DUP9 00003322: ADD 00003323: DUP9 00003324: PUSH2 0x4aac 00003327: JUMP 00003328: JUMPDEST 00003329: PUSH2 0x3336 0000332c: SWAP1 0000332d: PUSH1 0xc0 0000332f: DUP2 00003330: ADD 00003331: SWAP1 00003332: PUSH2 0x4b89 00003335: JUMP 00003336: JUMPDEST 00003337: SWAP1 00003338: POP 00003339: SWAP1 0000333a: POP 0000333b: PUSH1 0x00 0000333d: JUMPDEST 0000333e: DUP2 0000333f: DUP2 00003340: LT 00003341: ISZERO 00003342: PUSH2 0x3407 00003345: JUMPI 00003346: PUSH2 0x3353 00003349: PUSH2 0x0140 0000334c: DUP10 0000334d: ADD 0000334e: DUP10 0000334f: PUSH2 0x4b89 00003352: JUMP 00003353: JUMPDEST 00003354: DUP3 00003355: DUP2 00003356: DUP2 00003357: LT 00003358: PUSH2 0x3363 0000335b: JUMPI 0000335c: PUSH2 0x3363 0000335f: PUSH2 0x4c00 00003362: JUMP 00003363: JUMPDEST 00003364: SWAP1 00003365: POP 00003366: PUSH1 0x20 00003368: MUL 00003369: ADD 0000336a: CALLDATALOAD 0000336b: DUP8 0000336c: DUP3 0000336d: DUP9 0000336e: PUSH2 0x3377 00003371: SWAP2 00003372: SWAP1 00003373: PUSH2 0x4a99 00003376: JUMP 00003377: JUMPDEST 00003378: DUP2 00003379: MLOAD 0000337a: DUP2 0000337b: LT 0000337c: PUSH2 0x3387 0000337f: JUMPI 00003380: PUSH2 0x3387 00003383: PUSH2 0x4c00 00003386: JUMP 00003387: JUMPDEST 00003388: PUSH1 0x20 0000338a: SWAP1 0000338b: DUP2 0000338c: MUL 0000338d: SWAP2 0000338e: SWAP1 0000338f: SWAP2 00003390: ADD 00003391: ADD 00003392: MSTORE 00003393: PUSH2 0x33a0 00003396: PUSH2 0x0160 00003399: DUP10 0000339a: ADD 0000339b: DUP10 0000339c: PUSH2 0x4aac 0000339f: JUMP 000033a0: JUMPDEST 000033a1: PUSH2 0x33ae 000033a4: SWAP1 000033a5: PUSH1 0xc0 000033a7: DUP2 000033a8: ADD 000033a9: SWAP1 000033aa: PUSH2 0x4b89 000033ad: JUMP 000033ae: JUMPDEST 000033af: DUP3 000033b0: DUP2 000033b1: DUP2 000033b2: LT 000033b3: PUSH2 0x33be 000033b6: JUMPI 000033b7: PUSH2 0x33be 000033ba: PUSH2 0x4c00 000033bd: JUMP 000033be: JUMPDEST 000033bf: SWAP1 000033c0: POP 000033c1: PUSH1 0x20 000033c3: MUL 000033c4: DUP2 000033c5: ADD 000033c6: SWAP1 000033c7: PUSH2 0x33d0 000033ca: SWAP2 000033cb: SWAP1 000033cc: PUSH2 0x5909 000033cf: JUMP 000033d0: JUMPDEST 000033d1: PUSH2 0x33d9 000033d4: SWAP1 000033d5: PUSH2 0x591f 000033d8: JUMP 000033d9: JUMPDEST 000033da: DUP6 000033db: PUSH2 0x33e4 000033de: DUP4 000033df: DUP10 000033e0: PUSH2 0x4a99 000033e3: JUMP 000033e4: JUMPDEST 000033e5: DUP2 000033e6: MLOAD 000033e7: DUP2 000033e8: LT 000033e9: PUSH2 0x33f4 000033ec: JUMPI 000033ed: PUSH2 0x33f4 000033f0: PUSH2 0x4c00 000033f3: JUMP 000033f4: JUMPDEST 000033f5: PUSH1 0x20 000033f7: SWAP1 000033f8: DUP2 000033f9: MUL 000033fa: SWAP2 000033fb: SWAP1 000033fc: SWAP2 000033fd: ADD 000033fe: ADD 000033ff: MSTORE 00003400: PUSH1 0x01 00003402: ADD 00003403: PUSH2 0x333d 00003406: JUMP 00003407: JUMPDEST 00003408: POP 00003409: PUSH2 0x3412 0000340c: DUP2 0000340d: DUP7 0000340e: PUSH2 0x4a99 00003411: JUMP 00003412: JUMPDEST 00003413: SWAP8 00003414: SWAP7 00003415: POP 00003416: POP 00003417: POP 00003418: POP 00003419: POP 0000341a: POP 0000341b: POP 0000341c: JUMP 0000341d: JUMPDEST 0000341e: DUP1 0000341f: CALLDATALOAD 00003420: PUSH1 0x00 00003422: DUP1 00003423: PUSH2 0x342b 00003426: DUP4 00003427: PUSH2 0x3abf 0000342a: JUMP 0000342b: JUMPDEST 0000342c: SWAP2 0000342d: POP 0000342e: SWAP2 0000342f: POP 00003430: DUP2 00003431: PUSH2 0x344f 00003434: JUMPI 00003435: DUP1 00003436: PUSH1 0x40 00003438: MLOAD 00003439: PUSH4 0x1c7562a9 0000343e: PUSH1 0xe1 00003440: SHL 00003441: DUP2 00003442: MSTORE 00003443: PUSH1 0x04 00003445: ADD 00003446: PUSH2 0x07cc 00003449: SWAP2 0000344a: SWAP1 0000344b: PUSH2 0x56aa 0000344e: JUMP 0000344f: JUMPDEST 00003450: PUSH1 0x00 00003452: PUSH2 0x3461 00003455: PUSH1 0x40 00003457: DUP7 00003458: ADD 00003459: PUSH1 0x20 0000345b: DUP8 0000345c: ADD 0000345d: PUSH2 0x563a 00003460: JUMP 00003461: JUMPDEST 00003462: PUSH1 0x01 00003464: DUP2 00003465: GT 00003466: ISZERO 00003467: PUSH2 0x3472 0000346a: JUMPI 0000346b: PUSH2 0x3472 0000346e: PUSH2 0x4915 00003471: JUMP 00003472: JUMPDEST 00003473: SUB 00003474: PUSH2 0x35da 00003477: JUMPI 00003478: PUSH1 0x00 0000347a: PUSH2 0x3489 0000347d: PUSH1 0x60 0000347f: DUP7 00003480: ADD 00003481: PUSH1 0x40 00003483: DUP8 00003484: ADD 00003485: PUSH2 0x48ac 00003488: JUMP 00003489: JUMPDEST 0000348a: PUSH2 0x0125 0000348d: SLOAD 0000348e: SWAP1 0000348f: SWAP2 00003490: POP 00003491: PUSH1 0x01 00003493: PUSH1 0x01 00003495: PUSH1 0xa0 00003497: SHL 00003498: SUB 00003499: DUP6 0000349a: DUP2 0000349b: AND 0000349c: SWAP2 0000349d: AND 0000349e: EQ 0000349f: PUSH2 0x3556 000034a2: JUMPI 000034a3: PUSH1 0x00 000034a5: DUP1 000034a6: PUSH2 0x34d8 000034a9: PUSH2 0x34b8 000034ac: PUSH1 0xa0 000034ae: DUP10 000034af: ADD 000034b0: PUSH1 0x80 000034b2: DUP11 000034b3: ADD 000034b4: PUSH2 0x4be5 000034b7: JUMP 000034b8: JUMPDEST 000034b9: PUSH2 0x0123 000034bc: SLOAD 000034bd: PUSH1 0x01 000034bf: PUSH1 0x01 000034c1: PUSH1 0x78 000034c3: SHL 000034c4: SUB 000034c5: SWAP2 000034c6: DUP3 000034c7: AND 000034c8: SWAP2 000034c9: PUSH1 0x01 000034cb: SWAP2 000034cc: PUSH1 0x01 000034ce: PUSH1 0x78 000034d0: SHL 000034d1: SWAP1 000034d2: DIV 000034d3: AND 000034d4: PUSH2 0x11f2 000034d7: JUMP 000034d8: JUMPDEST 000034d9: SWAP1 000034da: SWAP3 000034db: POP 000034dc: SWAP1 000034dd: POP 000034de: PUSH2 0x34fa 000034e1: PUSH1 0x01 000034e3: PUSH1 0x01 000034e5: PUSH1 0xa0 000034e7: SHL 000034e8: SUB 000034e9: DUP5 000034ea: AND 000034eb: DUP8 000034ec: PUSH1 0x01 000034ee: PUSH1 0x01 000034f0: PUSH1 0x78 000034f2: SHL 000034f3: SUB 000034f4: DUP6 000034f5: AND 000034f6: PUSH2 0x3b76 000034f9: JUMP 000034fa: JUMPDEST 000034fb: PUSH2 0x0125 000034fe: SLOAD 000034ff: PUSH2 0x351e 00003502: SWAP1 00003503: PUSH1 0x01 00003505: PUSH1 0x01 00003507: PUSH1 0xa0 00003509: SHL 0000350a: SUB 0000350b: DUP6 0000350c: DUP2 0000350d: AND 0000350e: SWAP2 0000350f: AND 00003510: PUSH1 0x01 00003512: PUSH1 0x01 00003514: PUSH1 0x78 00003516: SHL 00003517: SUB 00003518: DUP5 00003519: AND 0000351a: PUSH2 0x3b76 0000351d: JUMP 0000351e: JUMPDEST 0000351f: PUSH32 0xf39e964f9853357ecd19dca8450c54514b7f8a9639e5a5b13969470c8df39b84 00003540: DUP7 00003541: DUP9 00003542: PUSH1 0x20 00003544: ADD 00003545: DUP5 00003546: DUP5 00003547: PUSH1 0x40 00003549: MLOAD 0000354a: PUSH2 0x090e 0000354d: SWAP5 0000354e: SWAP4 0000354f: SWAP3 00003550: SWAP2 00003551: SWAP1 00003552: PUSH2 0x5a27 00003555: JUMP 00003556: JUMPDEST 00003557: PUSH2 0x3584 0000355a: DUP5 0000355b: PUSH2 0x356a 0000355e: PUSH1 0xa0 00003560: DUP9 00003561: ADD 00003562: PUSH1 0x80 00003564: DUP10 00003565: ADD 00003566: PUSH2 0x4be5 00003569: JUMP 0000356a: JUMPDEST 0000356b: PUSH1 0x01 0000356d: PUSH1 0x01 0000356f: PUSH1 0xa0 00003571: SHL 00003572: SUB 00003573: DUP5 00003574: AND 00003575: SWAP2 00003576: SWAP1 00003577: PUSH1 0x01 00003579: PUSH1 0x01 0000357b: PUSH1 0x78 0000357d: SHL 0000357e: SUB 0000357f: AND 00003580: PUSH2 0x3b76 00003583: JUMP 00003584: JUMPDEST 00003585: PUSH32 0xf39e964f9853357ecd19dca8450c54514b7f8a9639e5a5b13969470c8df39b84 000035a6: DUP5 000035a7: PUSH1 0x20 000035a9: DUP8 000035aa: ADD 000035ab: PUSH1 0x00 000035ad: PUSH2 0x35bc 000035b0: PUSH1 0xa0 000035b2: DUP11 000035b3: ADD 000035b4: PUSH1 0x80 000035b6: DUP12 000035b7: ADD 000035b8: PUSH2 0x4be5 000035bb: JUMP 000035bc: JUMPDEST 000035bd: PUSH1 0x40 000035bf: MLOAD 000035c0: PUSH2 0x35cc 000035c3: SWAP5 000035c4: SWAP4 000035c5: SWAP3 000035c6: SWAP2 000035c7: SWAP1 000035c8: PUSH2 0x5a66 000035cb: JUMP 000035cc: JUMPDEST 000035cd: PUSH1 0x40 000035cf: MLOAD 000035d0: DUP1 000035d1: SWAP2 000035d2: SUB 000035d3: SWAP1 000035d4: LOG1 000035d5: POP 000035d6: PUSH2 0x1ad5 000035d9: JUMP 000035da: JUMPDEST 000035db: PUSH1 0x01 000035dd: PUSH2 0x35ec 000035e0: PUSH1 0x40 000035e2: DUP7 000035e3: ADD 000035e4: PUSH1 0x20 000035e6: DUP8 000035e7: ADD 000035e8: PUSH2 0x563a 000035eb: JUMP 000035ec: JUMPDEST 000035ed: PUSH1 0x01 000035ef: DUP2 000035f0: GT 000035f1: ISZERO 000035f2: PUSH2 0x35fd 000035f5: JUMPI 000035f6: PUSH2 0x35fd 000035f9: PUSH2 0x4915 000035fc: JUMP 000035fd: JUMPDEST 000035fe: SUB 000035ff: PUSH2 0x2e8d 00003602: JUMPI 00003603: PUSH1 0x00 00003605: PUSH2 0x3614 00003608: PUSH1 0x60 0000360a: DUP7 0000360b: ADD 0000360c: PUSH1 0x40 0000360e: DUP8 0000360f: ADD 00003610: PUSH2 0x48ac 00003613: JUMP 00003614: JUMPDEST 00003615: PUSH1 0x40 00003617: MLOAD 00003618: PUSH4 0x23b872dd 0000361d: PUSH1 0xe0 0000361f: SHL 00003620: DUP2 00003621: MSTORE 00003622: ADDRESS 00003623: PUSH1 0x04 00003625: DUP3 00003626: ADD 00003627: MSTORE 00003628: PUSH1 0x01 0000362a: PUSH1 0x01 0000362c: PUSH1 0xa0 0000362e: SHL 0000362f: SUB 00003630: DUP7 00003631: DUP2 00003632: AND 00003633: PUSH1 0x24 00003635: DUP4 00003636: ADD 00003637: MSTORE 00003638: PUSH1 0x60 0000363a: DUP9 0000363b: ADD 0000363c: CALLDATALOAD 0000363d: PUSH1 0x44 0000363f: DUP4 00003640: ADD 00003641: MSTORE 00003642: SWAP2 00003643: SWAP3 00003644: POP 00003645: SWAP1 00003646: DUP3 00003647: AND 00003648: SWAP1 00003649: PUSH4 0x23b872dd 0000364e: SWAP1 0000364f: PUSH1 0x64 00003651: ADD 00003652: PUSH1 0x00 00003654: PUSH1 0x40 00003656: MLOAD 00003657: DUP1 00003658: DUP4 00003659: SUB 0000365a: DUP2 0000365b: PUSH1 0x00 0000365d: DUP8 0000365e: DUP1 0000365f: EXTCODESIZE 00003660: ISZERO 00003661: DUP1 00003662: ISZERO 00003663: PUSH2 0x366b 00003666: JUMPI 00003667: PUSH1 0x00 00003669: DUP1 0000366a: REVERT 0000366b: JUMPDEST 0000366c: POP 0000366d: GAS 0000366e: CALL 0000366f: ISZERO 00003670: DUP1 00003671: ISZERO 00003672: PUSH2 0x367f 00003675: JUMPI 00003676: RETURNDATASIZE 00003677: PUSH1 0x00 00003679: DUP1 0000367a: RETURNDATACOPY 0000367b: RETURNDATASIZE 0000367c: PUSH1 0x00 0000367e: REVERT 0000367f: JUMPDEST 00003680: POP 00003681: POP 00003682: POP 00003683: POP 00003684: PUSH32 0xf39e964f9853357ecd19dca8450c54514b7f8a9639e5a5b13969470c8df39b84 000036a5: DUP5 000036a6: DUP7 000036a7: PUSH1 0x20 000036a9: ADD 000036aa: PUSH1 0x01 000036ac: PUSH1 0x00 000036ae: PUSH1 0x40 000036b0: MLOAD 000036b1: PUSH2 0x35cc 000036b4: SWAP5 000036b5: SWAP4 000036b6: SWAP3 000036b7: SWAP2 000036b8: SWAP1 000036b9: PUSH2 0x5aa1 000036bc: JUMP 000036bd: JUMPDEST 000036be: PUSH1 0x00 000036c0: SLOAD 000036c1: PUSH2 0x0100 000036c4: SWAP1 000036c5: DIV 000036c6: PUSH1 0xff 000036c8: AND 000036c9: PUSH2 0x36e4 000036cc: JUMPI 000036cd: PUSH1 0x40 000036cf: MLOAD 000036d0: PUSH3 0x461bcd 000036d4: PUSH1 0xe5 000036d6: SHL 000036d7: DUP2 000036d8: MSTORE 000036d9: PUSH1 0x04 000036db: ADD 000036dc: PUSH2 0x07cc 000036df: SWAP1 000036e0: PUSH2 0x57d6 000036e3: JUMP 000036e4: JUMPDEST 000036e5: PUSH2 0x15a3 000036e8: CALLER 000036e9: PUSH2 0x312c 000036ec: JUMP 000036ed: JUMPDEST 000036ee: PUSH1 0x40 000036f0: DUP1 000036f1: MLOAD 000036f2: DUP1 000036f3: DUP3 000036f4: ADD 000036f5: SWAP1 000036f6: SWAP2 000036f7: MSTORE 000036f8: PUSH1 0x00 000036fa: DUP1 000036fb: DUP3 000036fc: MSTORE 000036fd: PUSH1 0x20 000036ff: DUP3 00003700: ADD 00003701: MSTORE 00003702: PUSH2 0x3709 00003705: PUSH2 0x3e71 00003708: JUMP 00003709: JUMPDEST 0000370a: DUP4 0000370b: MLOAD 0000370c: DUP2 0000370d: MSTORE 0000370e: PUSH1 0x20 00003710: DUP1 00003711: DUP6 00003712: ADD 00003713: MLOAD 00003714: SWAP1 00003715: DUP3 00003716: ADD 00003717: MSTORE 00003718: PUSH1 0x40 0000371a: DUP1 0000371b: DUP3 0000371c: ADD 0000371d: DUP5 0000371e: SWAP1 0000371f: MSTORE 00003720: PUSH1 0x00 00003722: SWAP1 00003723: DUP4 00003724: PUSH1 0x60 00003726: DUP5 00003727: PUSH1 0x07 00003729: PUSH2 0x07d0 0000372c: GAS 0000372d: SUB 0000372e: STATICCALL 0000372f: SWAP1 00003730: POP 00003731: DUP1 00003732: PUSH2 0x374e 00003735: JUMPI 00003736: PUSH1 0x40 00003738: MLOAD 00003739: PUSH4 0x4c13b445 0000373e: PUSH1 0xe1 00003740: SHL 00003741: DUP2 00003742: MSTORE 00003743: PUSH1 0x04 00003745: ADD 00003746: PUSH1 0x40 00003748: MLOAD 00003749: DUP1 0000374a: SWAP2 0000374b: SUB 0000374c: SWAP1 0000374d: REVERT 0000374e: JUMPDEST 0000374f: POP 00003750: POP 00003751: SWAP3 00003752: SWAP2 00003753: POP 00003754: POP 00003755: JUMP 00003756: JUMPDEST 00003757: PUSH1 0x40 00003759: DUP1 0000375a: MLOAD 0000375b: DUP1 0000375c: DUP3 0000375d: ADD 0000375e: SWAP1 0000375f: SWAP2 00003760: MSTORE 00003761: PUSH1 0x00 00003763: DUP1 00003764: DUP3 00003765: MSTORE 00003766: PUSH1 0x20 00003768: DUP3 00003769: ADD 0000376a: MSTORE 0000376b: PUSH2 0x3772 0000376e: PUSH2 0x3e8f 00003771: JUMP 00003772: JUMPDEST 00003773: DUP4 00003774: MLOAD 00003775: DUP2 00003776: MSTORE 00003777: PUSH1 0x20 00003779: DUP1 0000377a: DUP6 0000377b: ADD 0000377c: MLOAD 0000377d: DUP2 0000377e: DUP4 0000377f: ADD 00003780: MSTORE 00003781: DUP4 00003782: MLOAD 00003783: PUSH1 0x40 00003785: DUP1 00003786: DUP5 00003787: ADD 00003788: SWAP2 00003789: SWAP1 0000378a: SWAP2 0000378b: MSTORE 0000378c: DUP5 0000378d: DUP3 0000378e: ADD 0000378f: MLOAD 00003790: PUSH1 0x60 00003792: DUP5 00003793: ADD 00003794: MSTORE 00003795: DUP1 00003796: MLOAD 00003797: DUP1 00003798: DUP3 00003799: ADD 0000379a: DUP3 0000379b: MSTORE 0000379c: PUSH1 0x00 0000379e: DUP1 0000379f: DUP3 000037a0: MSTORE 000037a1: SWAP3 000037a2: DUP2 000037a3: ADD 000037a4: DUP4 000037a5: SWAP1 000037a6: MSTORE 000037a7: SWAP1 000037a8: DUP2 000037a9: PUSH1 0x80 000037ab: DUP6 000037ac: PUSH1 0x06 000037ae: PUSH2 0x07d0 000037b1: GAS 000037b2: SUB 000037b3: STATICCALL 000037b4: SWAP2 000037b5: POP 000037b6: DUP2 000037b7: PUSH2 0x37d3 000037ba: JUMPI 000037bb: PUSH1 0x40 000037bd: MLOAD 000037be: PUSH4 0x95c3fa57 000037c3: PUSH1 0xe0 000037c5: SHL 000037c6: DUP2 000037c7: MSTORE 000037c8: PUSH1 0x04 000037ca: ADD 000037cb: PUSH1 0x40 000037cd: MLOAD 000037ce: DUP1 000037cf: SWAP2 000037d0: SUB 000037d1: SWAP1 000037d2: REVERT 000037d3: JUMPDEST 000037d4: SWAP6 000037d5: SWAP5 000037d6: POP 000037d7: POP 000037d8: POP 000037d9: POP 000037da: POP 000037db: JUMP 000037dc: JUMPDEST 000037dd: PUSH1 0x40 000037df: DUP1 000037e0: MLOAD 000037e1: DUP1 000037e2: DUP3 000037e3: ADD 000037e4: SWAP1 000037e5: SWAP2 000037e6: MSTORE 000037e7: PUSH1 0x00 000037e9: DUP1 000037ea: DUP3 000037eb: MSTORE 000037ec: PUSH1 0x20 000037ee: DUP3 000037ef: ADD 000037f0: MSTORE 000037f1: DUP2 000037f2: MLOAD 000037f3: ISZERO 000037f4: DUP1 000037f5: ISZERO 000037f6: PUSH2 0x3801 000037f9: JUMPI 000037fa: POP 000037fb: PUSH1 0x20 000037fd: DUP3 000037fe: ADD 000037ff: MLOAD 00003800: ISZERO 00003801: JUMPDEST 00003802: ISZERO 00003803: PUSH2 0x381f 00003806: JUMPI 00003807: POP 00003808: POP 00003809: PUSH1 0x40 0000380b: DUP1 0000380c: MLOAD 0000380d: DUP1 0000380e: DUP3 0000380f: ADD 00003810: SWAP1 00003811: SWAP2 00003812: MSTORE 00003813: PUSH1 0x00 00003815: DUP1 00003816: DUP3 00003817: MSTORE 00003818: PUSH1 0x20 0000381a: DUP3 0000381b: ADD 0000381c: MSTORE 0000381d: SWAP1 0000381e: JUMP 0000381f: JUMPDEST 00003820: PUSH1 0x00 00003822: PUSH1 0x00 00003824: DUP1 00003825: MLOAD 00003826: PUSH1 0x20 00003828: PUSH2 0x5ae3 0000382b: DUP4 0000382c: CODECOPY 0000382d: DUP2 0000382e: MLOAD 0000382f: SWAP2 00003830: MSTORE 00003831: DUP4 00003832: MLOAD 00003833: DUP1 00003834: MULMOD 00003835: SWAP1 00003836: POP 00003837: PUSH1 0x00 00003839: DUP1 0000383a: MLOAD 0000383b: PUSH1 0x20 0000383d: PUSH2 0x5ae3 00003840: DUP4 00003841: CODECOPY 00003842: DUP2 00003843: MLOAD 00003844: SWAP2 00003845: MSTORE 00003846: DUP4 00003847: MLOAD 00003848: DUP3 00003849: MULMOD 0000384a: SWAP1 0000384b: POP 0000384c: PUSH1 0x00 0000384e: DUP1 0000384f: MLOAD 00003850: PUSH1 0x20 00003852: PUSH2 0x5ae3 00003855: DUP4 00003856: CODECOPY 00003857: DUP2 00003858: MLOAD 00003859: SWAP2 0000385a: MSTORE 0000385b: PUSH1 0x03 0000385d: DUP3 0000385e: ADDMOD 0000385f: SWAP1 00003860: POP 00003861: PUSH1 0x00 00003863: PUSH1 0x00 00003865: DUP1 00003866: MLOAD 00003867: PUSH1 0x20 00003869: PUSH2 0x5ae3 0000386c: DUP4 0000386d: CODECOPY 0000386e: DUP2 0000386f: MLOAD 00003870: SWAP2 00003871: MSTORE 00003872: PUSH1 0x20 00003874: DUP6 00003875: ADD 00003876: MLOAD 00003877: DUP1 00003878: MULMOD 00003879: SWAP1 0000387a: POP 0000387b: DUP2 0000387c: DUP2 0000387d: EQ 0000387e: PUSH2 0x389a 00003881: JUMPI 00003882: PUSH1 0x40 00003884: MLOAD 00003885: PUSH4 0x0eb66ab3 0000388a: PUSH1 0xe0 0000388c: SHL 0000388d: DUP2 0000388e: MSTORE 0000388f: PUSH1 0x04 00003891: ADD 00003892: PUSH1 0x40 00003894: MLOAD 00003895: DUP1 00003896: SWAP2 00003897: SUB 00003898: SWAP1 00003899: REVERT 0000389a: JUMPDEST 0000389b: PUSH1 0x40 0000389d: MLOAD 0000389e: DUP1 0000389f: PUSH1 0x40 000038a1: ADD 000038a2: PUSH1 0x40 000038a4: MSTORE 000038a5: DUP1 000038a6: DUP6 000038a7: PUSH1 0x00 000038a9: ADD 000038aa: MLOAD 000038ab: DUP2 000038ac: MSTORE 000038ad: PUSH1 0x20 000038af: ADD 000038b0: PUSH1 0x00 000038b2: DUP1 000038b3: MLOAD 000038b4: PUSH1 0x20 000038b6: PUSH2 0x5ae3 000038b9: DUP4 000038ba: CODECOPY 000038bb: DUP2 000038bc: MLOAD 000038bd: SWAP2 000038be: MSTORE 000038bf: DUP7 000038c0: PUSH1 0x20 000038c2: ADD 000038c3: MLOAD 000038c4: PUSH2 0x38cd 000038c7: SWAP2 000038c8: SWAP1 000038c9: PUSH2 0x4e65 000038cc: JUMP 000038cd: JUMPDEST 000038ce: PUSH2 0x38e5 000038d1: SWAP1 000038d2: PUSH1 0x00 000038d4: DUP1 000038d5: MLOAD 000038d6: PUSH1 0x20 000038d8: PUSH2 0x5ae3 000038db: DUP4 000038dc: CODECOPY 000038dd: DUP2 000038de: MLOAD 000038df: SWAP2 000038e0: MSTORE 000038e1: PUSH2 0x4bd2 000038e4: JUMP 000038e5: JUMPDEST 000038e6: SWAP1 000038e7: MSTORE 000038e8: SWAP5 000038e9: SWAP4 000038ea: POP 000038eb: POP 000038ec: POP 000038ed: POP 000038ee: JUMP 000038ef: JUMPDEST 000038f0: PUSH1 0x40 000038f2: DUP1 000038f3: MLOAD 000038f4: PUSH2 0x0300 000038f7: DUP2 000038f8: ADD 000038f9: DUP3 000038fa: MSTORE 000038fb: DUP10 000038fc: MLOAD 000038fd: DUP2 000038fe: MSTORE 000038ff: PUSH1 0x20 00003901: DUP1 00003902: DUP12 00003903: ADD 00003904: MLOAD 00003905: DUP2 00003906: DUP4 00003907: ADD 00003908: MSTORE 00003909: DUP10 0000390a: MLOAD 0000390b: MLOAD 0000390c: SWAP3 0000390d: DUP3 0000390e: ADD 0000390f: SWAP3 00003910: SWAP1 00003911: SWAP3 00003912: MSTORE 00003913: DUP9 00003914: MLOAD 00003915: DUP3 00003916: ADD 00003917: MLOAD 00003918: PUSH1 0x60 0000391a: DUP3 0000391b: ADD 0000391c: MSTORE 0000391d: DUP9 0000391e: DUP3 0000391f: ADD 00003920: DUP1 00003921: MLOAD 00003922: MLOAD 00003923: PUSH1 0x80 00003925: DUP4 00003926: ADD 00003927: MSTORE 00003928: MLOAD 00003929: DUP3 0000392a: ADD 0000392b: MLOAD 0000392c: PUSH1 0xa0 0000392e: DUP3 0000392f: ADD 00003930: MSTORE 00003931: DUP8 00003932: MLOAD 00003933: PUSH1 0xc0 00003935: DUP3 00003936: ADD 00003937: MSTORE 00003938: DUP8 00003939: DUP3 0000393a: ADD 0000393b: MLOAD 0000393c: PUSH1 0xe0 0000393e: DUP3 0000393f: ADD 00003940: MSTORE 00003941: DUP7 00003942: MLOAD 00003943: MLOAD 00003944: PUSH2 0x0100 00003947: DUP3 00003948: ADD 00003949: MSTORE 0000394a: DUP7 0000394b: MLOAD 0000394c: DUP3 0000394d: ADD 0000394e: MLOAD 0000394f: PUSH2 0x0120 00003952: DUP3 00003953: ADD 00003954: MSTORE 00003955: DUP7 00003956: DUP3 00003957: ADD 00003958: DUP1 00003959: MLOAD 0000395a: MLOAD 0000395b: PUSH2 0x0140 0000395e: DUP4 0000395f: ADD 00003960: MSTORE 00003961: MLOAD 00003962: DUP3 00003963: ADD 00003964: MLOAD 00003965: PUSH2 0x0160 00003968: DUP3 00003969: ADD 0000396a: MSTORE 0000396b: DUP6 0000396c: MLOAD 0000396d: PUSH2 0x0180 00003970: DUP3 00003971: ADD 00003972: MSTORE 00003973: DUP6 00003974: DUP3 00003975: ADD 00003976: MLOAD 00003977: PUSH2 0x01a0 0000397a: DUP3 0000397b: ADD 0000397c: MSTORE 0000397d: DUP5 0000397e: MLOAD 0000397f: MLOAD 00003980: PUSH2 0x01c0 00003983: DUP3 00003984: ADD 00003985: MSTORE 00003986: DUP5 00003987: MLOAD 00003988: DUP3 00003989: ADD 0000398a: MLOAD 0000398b: PUSH2 0x01e0 0000398e: DUP3 0000398f: ADD 00003990: MSTORE 00003991: DUP5 00003992: DUP3 00003993: ADD 00003994: DUP1 00003995: MLOAD 00003996: MLOAD 00003997: PUSH2 0x0200 0000399a: DUP4 0000399b: ADD 0000399c: MSTORE 0000399d: MLOAD 0000399e: DUP3 0000399f: ADD 000039a0: MLOAD 000039a1: PUSH2 0x0220 000039a4: DUP3 000039a5: ADD 000039a6: MSTORE 000039a7: DUP4 000039a8: MLOAD 000039a9: PUSH2 0x0240 000039ac: DUP3 000039ad: ADD 000039ae: MSTORE 000039af: DUP4 000039b0: DUP3 000039b1: ADD 000039b2: MLOAD 000039b3: PUSH2 0x0260 000039b6: DUP3 000039b7: ADD 000039b8: MSTORE 000039b9: DUP3 000039ba: MLOAD 000039bb: MLOAD 000039bc: PUSH2 0x0280 000039bf: DUP3 000039c0: ADD 000039c1: MSTORE 000039c2: DUP3 000039c3: MLOAD 000039c4: DUP3 000039c5: ADD 000039c6: MLOAD 000039c7: PUSH2 0x02a0 000039ca: DUP3 000039cb: ADD 000039cc: MSTORE 000039cd: DUP3 000039ce: DUP3 000039cf: ADD 000039d0: DUP1 000039d1: MLOAD 000039d2: MLOAD 000039d3: PUSH2 0x02c0 000039d6: DUP4 000039d7: ADD 000039d8: MSTORE 000039d9: MLOAD 000039da: SWAP1 000039db: SWAP2 000039dc: ADD 000039dd: MLOAD 000039de: PUSH2 0x02e0 000039e1: DUP3 000039e2: ADD 000039e3: MSTORE 000039e4: PUSH1 0x00 000039e6: SWAP1 000039e7: PUSH2 0x39ee 000039ea: PUSH2 0x3ead 000039ed: JUMP 000039ee: JUMPDEST 000039ef: PUSH1 0x00 000039f1: PUSH1 0x20 000039f3: DUP3 000039f4: PUSH2 0x0300 000039f7: DUP6 000039f8: PUSH1 0x08 000039fa: PUSH2 0x07d0 000039fd: GAS 000039fe: SUB 000039ff: STATICCALL 00003a00: SWAP1 00003a01: POP 00003a02: DUP1 00003a03: PUSH2 0x3a1f 00003a06: JUMPI 00003a07: PUSH1 0x40 00003a09: MLOAD 00003a0a: PUSH4 0x0184a3e7 00003a0f: PUSH1 0xe4 00003a11: SHL 00003a12: DUP2 00003a13: MSTORE 00003a14: PUSH1 0x04 00003a16: ADD 00003a17: PUSH1 0x40 00003a19: MLOAD 00003a1a: DUP1 00003a1b: SWAP2 00003a1c: SUB 00003a1d: SWAP1 00003a1e: REVERT 00003a1f: JUMPDEST 00003a20: POP 00003a21: MLOAD 00003a22: ISZERO 00003a23: ISZERO 00003a24: SWAP11 00003a25: SWAP10 00003a26: POP 00003a27: POP 00003a28: POP 00003a29: POP 00003a2a: POP 00003a2b: POP 00003a2c: POP 00003a2d: POP 00003a2e: POP 00003a2f: POP 00003a30: JUMP 00003a31: JUMPDEST 00003a32: PUSH1 0x40 00003a34: MLOAD 00003a35: PUSH1 0x01 00003a37: PUSH1 0x01 00003a39: PUSH1 0xa0 00003a3b: SHL 00003a3c: SUB 00003a3d: DUP1 00003a3e: DUP6 00003a3f: AND 00003a40: PUSH1 0x24 00003a42: DUP4 00003a43: ADD 00003a44: MSTORE 00003a45: DUP4 00003a46: AND 00003a47: PUSH1 0x44 00003a49: DUP3 00003a4a: ADD 00003a4b: MSTORE 00003a4c: PUSH1 0x64 00003a4e: DUP2 00003a4f: ADD 00003a50: DUP3 00003a51: SWAP1 00003a52: MSTORE 00003a53: PUSH2 0x1ad5 00003a56: SWAP1 00003a57: DUP6 00003a58: SWAP1 00003a59: PUSH4 0x23b872dd 00003a5e: PUSH1 0xe0 00003a60: SHL 00003a61: SWAP1 00003a62: PUSH1 0x84 00003a64: ADD 00003a65: JUMPDEST 00003a66: PUSH1 0x40 00003a68: DUP1 00003a69: MLOAD 00003a6a: PUSH1 0x1f 00003a6c: NOT 00003a6d: DUP2 00003a6e: DUP5 00003a6f: SUB 00003a70: ADD 00003a71: DUP2 00003a72: MSTORE 00003a73: SWAP2 00003a74: SWAP1 00003a75: MSTORE 00003a76: PUSH1 0x20 00003a78: DUP2 00003a79: ADD 00003a7a: DUP1 00003a7b: MLOAD 00003a7c: PUSH1 0x01 00003a7e: PUSH1 0x01 00003a80: PUSH1 0xe0 00003a82: SHL 00003a83: SUB 00003a84: AND 00003a85: PUSH1 0x01 00003a87: PUSH1 0x01 00003a89: PUSH1 0xe0 00003a8b: SHL 00003a8c: SUB 00003a8d: NOT 00003a8e: SWAP1 00003a8f: SWAP4 00003a90: AND 00003a91: SWAP3 00003a92: SWAP1 00003a93: SWAP3 00003a94: OR 00003a95: SWAP1 00003a96: SWAP2 00003a97: MSTORE 00003a98: PUSH2 0x3ba6 00003a9b: JUMP 00003a9c: JUMPDEST 00003a9d: PUSH1 0x66 00003a9f: SLOAD 00003aa0: PUSH1 0x65 00003aa2: SSTORE 00003aa3: PUSH1 0x00 00003aa5: PUSH1 0x67 00003aa7: DUP2 00003aa8: SWAP1 00003aa9: SSTORE 00003aaa: PUSH1 0x68 00003aac: DUP1 00003aad: SLOAD 00003aae: SWAP1 00003aaf: SWAP2 00003ab0: SWAP1 00003ab1: PUSH2 0x3ab9 00003ab4: SWAP1 00003ab5: PUSH2 0x58ab 00003ab8: JUMP 00003ab9: JUMPDEST 00003aba: SWAP1 00003abb: SWAP2 00003abc: SSTORE 00003abd: POP 00003abe: JUMP 00003abf: JUMPDEST 00003ac0: PUSH2 0x0126 00003ac3: SLOAD 00003ac4: PUSH1 0x40 00003ac6: MLOAD 00003ac7: PUSH4 0xdf592f7d 00003acc: PUSH1 0xe0 00003ace: SHL 00003acf: DUP2 00003ad0: MSTORE 00003ad1: PUSH1 0x01 00003ad3: PUSH1 0x01 00003ad5: PUSH1 0xa0 00003ad7: SHL 00003ad8: SUB 00003ad9: DUP4 00003ada: DUP2 00003adb: AND 00003adc: PUSH1 0x04 00003ade: DUP4 00003adf: ADD 00003ae0: MSTORE 00003ae1: PUSH1 0x00 00003ae3: SWAP3 00003ae4: PUSH1 0x60 00003ae6: SWAP3 00003ae7: SWAP2 00003ae8: AND 00003ae9: SWAP1 00003aea: PUSH4 0xdf592f7d 00003aef: SWAP1 00003af0: PUSH1 0x24 00003af2: ADD 00003af3: PUSH1 0x20 00003af5: PUSH1 0x40 00003af7: MLOAD 00003af8: DUP1 00003af9: DUP4 00003afa: SUB 00003afb: DUP2 00003afc: DUP7 00003afd: GAS 00003afe: STATICCALL 00003aff: ISZERO 00003b00: DUP1 00003b01: ISZERO 00003b02: PUSH2 0x3b0f 00003b05: JUMPI 00003b06: RETURNDATASIZE 00003b07: PUSH1 0x00 00003b09: DUP1 00003b0a: RETURNDATACOPY 00003b0b: RETURNDATASIZE 00003b0c: PUSH1 0x00 00003b0e: REVERT 00003b0f: JUMPDEST 00003b10: POP 00003b11: POP 00003b12: POP 00003b13: POP 00003b14: PUSH1 0x40 00003b16: MLOAD 00003b17: RETURNDATASIZE 00003b18: PUSH1 0x1f 00003b1a: NOT 00003b1b: PUSH1 0x1f 00003b1d: DUP3 00003b1e: ADD 00003b1f: AND 00003b20: DUP3 00003b21: ADD 00003b22: DUP1 00003b23: PUSH1 0x40 00003b25: MSTORE 00003b26: POP 00003b27: DUP2 00003b28: ADD 00003b29: SWAP1 00003b2a: PUSH2 0x3b33 00003b2d: SWAP2 00003b2e: SWAP1 00003b2f: PUSH2 0x5657 00003b32: JUMP 00003b33: JUMPDEST 00003b34: ISZERO 00003b35: PUSH2 0x0dda 00003b38: JUMPI 00003b39: POP 00003b3a: POP 00003b3b: PUSH1 0x40 00003b3d: DUP1 00003b3e: MLOAD 00003b3f: DUP1 00003b40: DUP3 00003b41: ADD 00003b42: SWAP1 00003b43: SWAP2 00003b44: MSTORE 00003b45: PUSH1 0x1e 00003b47: DUP2 00003b48: MSTORE 00003b49: PUSH32 0x5472616e7366657220746f2053616e6374696f6e656420416464726573730000 00003b6a: PUSH1 0x20 00003b6c: DUP3 00003b6d: ADD 00003b6e: MSTORE 00003b6f: PUSH1 0x00 00003b71: SWAP3 00003b72: SWAP1 00003b73: SWAP2 00003b74: POP 00003b75: JUMP 00003b76: JUMPDEST 00003b77: PUSH1 0x40 00003b79: MLOAD 00003b7a: PUSH1 0x01 00003b7c: PUSH1 0x01 00003b7e: PUSH1 0xa0 00003b80: SHL 00003b81: SUB 00003b82: DUP4 00003b83: AND 00003b84: PUSH1 0x24 00003b86: DUP3 00003b87: ADD 00003b88: MSTORE 00003b89: PUSH1 0x44 00003b8b: DUP2 00003b8c: ADD 00003b8d: DUP3 00003b8e: SWAP1 00003b8f: MSTORE 00003b90: PUSH2 0x20fe 00003b93: SWAP1 00003b94: DUP5 00003b95: SWAP1 00003b96: PUSH4 0xa9059cbb 00003b9b: PUSH1 0xe0 00003b9d: SHL 00003b9e: SWAP1 00003b9f: PUSH1 0x64 00003ba1: ADD 00003ba2: PUSH2 0x3a65 00003ba5: JUMP 00003ba6: JUMPDEST 00003ba7: PUSH1 0x00 00003ba9: PUSH2 0x3bfb 00003bac: DUP3 00003bad: PUSH1 0x40 00003baf: MLOAD 00003bb0: DUP1 00003bb1: PUSH1 0x40 00003bb3: ADD 00003bb4: PUSH1 0x40 00003bb6: MSTORE 00003bb7: DUP1 00003bb8: PUSH1 0x20 00003bba: DUP2 00003bbb: MSTORE 00003bbc: PUSH1 0x20 00003bbe: ADD 00003bbf: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00003be0: DUP2 00003be1: MSTORE 00003be2: POP 00003be3: DUP6 00003be4: PUSH1 0x01 00003be6: PUSH1 0x01 00003be8: PUSH1 0xa0 00003bea: SHL 00003beb: SUB 00003bec: AND 00003bed: PUSH2 0x3c7b 00003bf0: SWAP1 00003bf1: SWAP3 00003bf2: SWAP2 00003bf3: SWAP1 00003bf4: PUSH4 0xffffffff 00003bf9: AND 00003bfa: JUMP 00003bfb: JUMPDEST 00003bfc: SWAP1 00003bfd: POP 00003bfe: DUP1 00003bff: MLOAD 00003c00: PUSH1 0x00 00003c02: EQ 00003c03: DUP1 00003c04: PUSH2 0x3c1c 00003c07: JUMPI 00003c08: POP 00003c09: DUP1 00003c0a: DUP1 00003c0b: PUSH1 0x20 00003c0d: ADD 00003c0e: SWAP1 00003c0f: MLOAD 00003c10: DUP2 00003c11: ADD 00003c12: SWAP1 00003c13: PUSH2 0x3c1c 00003c16: SWAP2 00003c17: SWAP1 00003c18: PUSH2 0x5657 00003c1b: JUMP 00003c1c: JUMPDEST 00003c1d: PUSH2 0x20fe 00003c20: JUMPI 00003c21: PUSH1 0x40 00003c23: MLOAD 00003c24: PUSH3 0x461bcd 00003c28: PUSH1 0xe5 00003c2a: SHL 00003c2b: DUP2 00003c2c: MSTORE 00003c2d: PUSH1 0x20 00003c2f: PUSH1 0x04 00003c31: DUP3 00003c32: ADD 00003c33: MSTORE 00003c34: PUSH1 0x2a 00003c36: PUSH1 0x24 00003c38: DUP3 00003c39: ADD 00003c3a: MSTORE 00003c3b: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00003c5c: PUSH1 0x44 00003c5e: DUP3 00003c5f: ADD 00003c60: MSTORE 00003c61: PUSH10 0x1bdd081cdd58d8d95959 00003c6c: PUSH1 0xb2 00003c6e: SHL 00003c6f: PUSH1 0x64 00003c71: DUP3 00003c72: ADD 00003c73: MSTORE 00003c74: PUSH1 0x84 00003c76: ADD 00003c77: PUSH2 0x07cc 00003c7a: JUMP 00003c7b: JUMPDEST 00003c7c: PUSH1 0x60 00003c7e: PUSH2 0x0e59 00003c81: DUP5 00003c82: DUP5 00003c83: PUSH1 0x00 00003c85: DUP6 00003c86: DUP6 00003c87: PUSH1 0x00 00003c89: DUP1 00003c8a: DUP7 00003c8b: PUSH1 0x01 00003c8d: PUSH1 0x01 00003c8f: PUSH1 0xa0 00003c91: SHL 00003c92: SUB 00003c93: AND 00003c94: DUP6 00003c95: DUP8 00003c96: PUSH1 0x40 00003c98: MLOAD 00003c99: PUSH2 0x3ca2 00003c9c: SWAP2 00003c9d: SWAP1 00003c9e: PUSH2 0x5ad0 00003ca1: JUMP 00003ca2: JUMPDEST 00003ca3: PUSH1 0x00 00003ca5: PUSH1 0x40 00003ca7: MLOAD 00003ca8: DUP1 00003ca9: DUP4 00003caa: SUB 00003cab: DUP2 00003cac: DUP6 00003cad: DUP8 00003cae: GAS 00003caf: CALL 00003cb0: SWAP3 00003cb1: POP 00003cb2: POP 00003cb3: POP 00003cb4: RETURNDATASIZE 00003cb5: DUP1 00003cb6: PUSH1 0x00 00003cb8: DUP2 00003cb9: EQ 00003cba: PUSH2 0x3cdf 00003cbd: JUMPI 00003cbe: PUSH1 0x40 00003cc0: MLOAD 00003cc1: SWAP2 00003cc2: POP 00003cc3: PUSH1 0x1f 00003cc5: NOT 00003cc6: PUSH1 0x3f 00003cc8: RETURNDATASIZE 00003cc9: ADD 00003cca: AND 00003ccb: DUP3 00003ccc: ADD 00003ccd: PUSH1 0x40 00003ccf: MSTORE 00003cd0: RETURNDATASIZE 00003cd1: DUP3 00003cd2: MSTORE 00003cd3: RETURNDATASIZE 00003cd4: PUSH1 0x00 00003cd6: PUSH1 0x20 00003cd8: DUP5 00003cd9: ADD 00003cda: RETURNDATACOPY 00003cdb: PUSH2 0x3ce4 00003cde: JUMP 00003cdf: JUMPDEST 00003ce0: PUSH1 0x60 00003ce2: SWAP2 00003ce3: POP 00003ce4: JUMPDEST 00003ce5: POP 00003ce6: SWAP2 00003ce7: POP 00003ce8: SWAP2 00003ce9: POP 00003cea: PUSH2 0x3412 00003ced: DUP8 00003cee: DUP4 00003cef: DUP4 00003cf0: DUP8 00003cf1: PUSH1 0x60 00003cf3: DUP4 00003cf4: ISZERO 00003cf5: PUSH2 0x3d5f 00003cf8: JUMPI 00003cf9: DUP3 00003cfa: MLOAD 00003cfb: PUSH1 0x00 00003cfd: SUB 00003cfe: PUSH2 0x3d58 00003d01: JUMPI 00003d02: PUSH1 0x01 00003d04: PUSH1 0x01 00003d06: PUSH1 0xa0 00003d08: SHL 00003d09: SUB 00003d0a: DUP6 00003d0b: AND 00003d0c: EXTCODESIZE 00003d0d: PUSH2 0x3d58 00003d10: JUMPI 00003d11: PUSH1 0x40 00003d13: MLOAD 00003d14: PUSH3 0x461bcd 00003d18: PUSH1 0xe5 00003d1a: SHL 00003d1b: DUP2 00003d1c: MSTORE 00003d1d: PUSH1 0x20 00003d1f: PUSH1 0x04 00003d21: DUP3 00003d22: ADD 00003d23: MSTORE 00003d24: PUSH1 0x1d 00003d26: PUSH1 0x24 00003d28: DUP3 00003d29: ADD 00003d2a: MSTORE 00003d2b: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00003d4c: PUSH1 0x44 00003d4e: DUP3 00003d4f: ADD 00003d50: MSTORE 00003d51: PUSH1 0x64 00003d53: ADD 00003d54: PUSH2 0x07cc 00003d57: JUMP 00003d58: JUMPDEST 00003d59: POP 00003d5a: DUP2 00003d5b: PUSH2 0x0e59 00003d5e: JUMP 00003d5f: JUMPDEST 00003d60: PUSH2 0x0e59 00003d63: DUP4 00003d64: DUP4 00003d65: DUP2 00003d66: MLOAD 00003d67: ISZERO 00003d68: PUSH2 0x3d74 00003d6b: JUMPI 00003d6c: DUP2 00003d6d: MLOAD 00003d6e: DUP1 00003d6f: DUP4 00003d70: PUSH1 0x20 00003d72: ADD 00003d73: REVERT 00003d74: JUMPDEST 00003d75: DUP1 00003d76: PUSH1 0x40 00003d78: MLOAD 00003d79: PUSH3 0x461bcd 00003d7d: PUSH1 0xe5 00003d7f: SHL 00003d80: DUP2 00003d81: MSTORE 00003d82: PUSH1 0x04 00003d84: ADD 00003d85: PUSH2 0x07cc 00003d88: SWAP2 00003d89: SWAP1 00003d8a: PUSH2 0x56aa 00003d8d: JUMP 00003d8e: JUMPDEST 00003d8f: PUSH1 0x40 00003d91: DUP1 00003d92: MLOAD 00003d93: PUSH1 0x60 00003d95: DUP1 00003d96: DUP3 00003d97: ADD 00003d98: DUP4 00003d99: MSTORE 00003d9a: PUSH1 0x00 00003d9c: DUP1 00003d9d: DUP4 00003d9e: MSTORE 00003d9f: DUP4 00003da0: MLOAD 00003da1: SWAP2 00003da2: DUP3 00003da3: ADD 00003da4: DUP5 00003da5: MSTORE 00003da6: DUP1 00003da7: DUP3 00003da8: MSTORE 00003da9: PUSH1 0x20 00003dab: DUP3 00003dac: DUP2 00003dad: ADD 00003dae: DUP3 00003daf: SWAP1 00003db0: MSTORE 00003db1: SWAP4 00003db2: DUP3 00003db3: ADD 00003db4: MSTORE 00003db5: SWAP1 00003db6: SWAP2 00003db7: DUP3 00003db8: ADD 00003db9: SWAP1 00003dba: JUMPDEST 00003dbb: DUP2 00003dbc: MSTORE 00003dbd: PUSH1 0x00 00003dbf: PUSH1 0x20 00003dc1: SWAP1 00003dc2: SWAP2 00003dc3: ADD 00003dc4: MSTORE 00003dc5: SWAP1 00003dc6: JUMP 00003dc7: JUMPDEST 00003dc8: PUSH1 0x40 00003dca: MLOAD 00003dcb: DUP1 00003dcc: PUSH1 0x40 00003dce: ADD 00003dcf: PUSH1 0x40 00003dd1: MSTORE 00003dd2: DUP1 00003dd3: PUSH2 0x3dba 00003dd6: PUSH2 0x3e71 00003dd9: JUMP 00003dda: JUMPDEST 00003ddb: PUSH1 0x40 00003ddd: MLOAD 00003dde: DUP1 00003ddf: PUSH1 0xc0 00003de1: ADD 00003de2: PUSH1 0x40 00003de4: MSTORE 00003de5: DUP1 00003de6: PUSH1 0x60 00003de8: DUP2 00003de9: MSTORE 00003dea: PUSH1 0x20 00003dec: ADD 00003ded: PUSH2 0x3e09 00003df0: PUSH1 0x40 00003df2: MLOAD 00003df3: DUP1 00003df4: PUSH1 0x40 00003df6: ADD 00003df7: PUSH1 0x40 00003df9: MSTORE 00003dfa: DUP1 00003dfb: PUSH1 0x00 00003dfd: DUP2 00003dfe: MSTORE 00003dff: PUSH1 0x20 00003e01: ADD 00003e02: PUSH1 0x00 00003e04: DUP2 00003e05: MSTORE 00003e06: POP 00003e07: SWAP1 00003e08: JUMP 00003e09: JUMPDEST 00003e0a: DUP2 00003e0b: MSTORE 00003e0c: PUSH1 0x20 00003e0e: ADD 00003e0f: PUSH2 0x3e16 00003e12: PUSH2 0x3ecb 00003e15: JUMP 00003e16: JUMPDEST 00003e17: DUP2 00003e18: MSTORE 00003e19: PUSH1 0x20 00003e1b: ADD 00003e1c: PUSH2 0x3e23 00003e1f: PUSH2 0x3ecb 00003e22: JUMP 00003e23: JUMPDEST 00003e24: DUP2 00003e25: MSTORE 00003e26: PUSH1 0x20 00003e28: ADD 00003e29: PUSH2 0x3e30 00003e2c: PUSH2 0x3ecb 00003e2f: JUMP 00003e30: JUMPDEST 00003e31: DUP2 00003e32: MSTORE 00003e33: PUSH1 0x20 00003e35: ADD 00003e36: PUSH1 0x60 00003e38: DUP2 00003e39: MSTORE 00003e3a: POP 00003e3b: SWAP1 00003e3c: JUMP 00003e3d: JUMPDEST 00003e3e: PUSH1 0x40 00003e40: MLOAD 00003e41: DUP1 00003e42: PUSH1 0xa0 00003e44: ADD 00003e45: PUSH1 0x40 00003e47: MSTORE 00003e48: DUP1 00003e49: PUSH2 0x3e50 00003e4c: PUSH2 0x3e8f 00003e4f: JUMP 00003e50: JUMPDEST 00003e51: DUP2 00003e52: MSTORE 00003e53: PUSH1 0x00 00003e55: PUSH1 0x20 00003e57: DUP3 00003e58: ADD 00003e59: DUP2 00003e5a: SWAP1 00003e5b: MSTORE 00003e5c: PUSH1 0x40 00003e5e: DUP3 00003e5f: ADD 00003e60: MSTORE 00003e61: PUSH1 0x60 00003e63: DUP1 00003e64: DUP3 00003e65: ADD 00003e66: DUP2 00003e67: SWAP1 00003e68: MSTORE 00003e69: PUSH1 0x80 00003e6b: SWAP1 00003e6c: SWAP2 00003e6d: ADD 00003e6e: MSTORE 00003e6f: SWAP1 00003e70: JUMP 00003e71: JUMPDEST 00003e72: PUSH1 0x40 00003e74: MLOAD 00003e75: DUP1 00003e76: PUSH1 0x60 00003e78: ADD 00003e79: PUSH1 0x40 00003e7b: MSTORE 00003e7c: DUP1 00003e7d: PUSH1 0x03 00003e7f: SWAP1 00003e80: PUSH1 0x20 00003e82: DUP3 00003e83: MUL 00003e84: DUP1 00003e85: CALLDATASIZE 00003e86: DUP4 00003e87: CALLDATACOPY 00003e88: POP 00003e89: SWAP2 00003e8a: SWAP3 00003e8b: SWAP2 00003e8c: POP 00003e8d: POP 00003e8e: JUMP 00003e8f: JUMPDEST 00003e90: PUSH1 0x40 00003e92: MLOAD 00003e93: DUP1 00003e94: PUSH1 0x80 00003e96: ADD 00003e97: PUSH1 0x40 00003e99: MSTORE 00003e9a: DUP1 00003e9b: PUSH1 0x04 00003e9d: SWAP1 00003e9e: PUSH1 0x20 00003ea0: DUP3 00003ea1: MUL 00003ea2: DUP1 00003ea3: CALLDATASIZE 00003ea4: DUP4 00003ea5: CALLDATACOPY 00003ea6: POP 00003ea7: SWAP2 00003ea8: SWAP3 00003ea9: SWAP2 00003eaa: POP 00003eab: POP 00003eac: JUMP 00003ead: JUMPDEST 00003eae: PUSH1 0x40 00003eb0: MLOAD 00003eb1: DUP1 00003eb2: PUSH1 0x20 00003eb4: ADD 00003eb5: PUSH1 0x40 00003eb7: MSTORE 00003eb8: DUP1 00003eb9: PUSH1 0x01 00003ebb: SWAP1 00003ebc: PUSH1 0x20 00003ebe: DUP3 00003ebf: MUL 00003ec0: DUP1 00003ec1: CALLDATASIZE 00003ec2: DUP4 00003ec3: CALLDATACOPY 00003ec4: POP 00003ec5: SWAP2 00003ec6: SWAP3 00003ec7: SWAP2 00003ec8: POP 00003ec9: POP 00003eca: JUMP 00003ecb: JUMPDEST 00003ecc: PUSH1 0x40 00003ece: MLOAD 00003ecf: DUP1 00003ed0: PUSH1 0x40 00003ed2: ADD 00003ed3: PUSH1 0x40 00003ed5: MSTORE 00003ed6: DUP1 00003ed7: PUSH2 0x3ede 00003eda: PUSH2 0x3ef0 00003edd: JUMP 00003ede: JUMPDEST 00003edf: DUP2 00003ee0: MSTORE 00003ee1: PUSH1 0x20 00003ee3: ADD 00003ee4: PUSH2 0x3eeb 00003ee7: PUSH2 0x3ef0 00003eea: JUMP 00003eeb: JUMPDEST 00003eec: SWAP1 00003eed: MSTORE 00003eee: SWAP1 00003eef: JUMP 00003ef0: JUMPDEST 00003ef1: PUSH1 0x40 00003ef3: MLOAD 00003ef4: DUP1 00003ef5: PUSH1 0x40 00003ef7: ADD 00003ef8: PUSH1 0x40 00003efa: MSTORE 00003efb: DUP1 00003efc: PUSH1 0x02 00003efe: SWAP1 00003eff: PUSH1 0x20 00003f01: DUP3 00003f02: MUL 00003f03: DUP1 00003f04: CALLDATASIZE 00003f05: DUP4 00003f06: CALLDATACOPY 00003f07: POP 00003f08: SWAP2 00003f09: SWAP3 00003f0a: SWAP2 00003f0b: POP 00003f0c: POP 00003f0d: JUMP 00003f0e: JUMPDEST 00003f0f: PUSH1 0x01 00003f11: PUSH1 0x01 00003f13: PUSH1 0xa0 00003f15: SHL 00003f16: SUB 00003f17: DUP2 00003f18: AND 00003f19: DUP2 00003f1a: EQ 00003f1b: PUSH2 0x0730 00003f1e: JUMPI 00003f1f: PUSH1 0x00 00003f21: DUP1 00003f22: REVERT 00003f23: JUMPDEST 00003f24: DUP1 00003f25: CALLDATALOAD 00003f26: PUSH1 0x01 00003f28: PUSH1 0x01 00003f2a: PUSH1 0x78 00003f2c: SHL 00003f2d: SUB 00003f2e: DUP2 00003f2f: AND 00003f30: DUP2 00003f31: EQ 00003f32: PUSH2 0x3f3a 00003f35: JUMPI 00003f36: PUSH1 0x00 00003f38: DUP1 00003f39: REVERT 00003f3a: JUMPDEST 00003f3b: SWAP2 00003f3c: SWAP1 00003f3d: POP 00003f3e: JUMP 00003f3f: JUMPDEST 00003f40: DUP1 00003f41: CALLDATALOAD 00003f42: PUSH2 0x3f3a 00003f45: DUP2 00003f46: PUSH2 0x3f0e 00003f49: JUMP 00003f4a: JUMPDEST 00003f4b: PUSH1 0x00 00003f4d: DUP1 00003f4e: PUSH1 0x00 00003f50: DUP1 00003f51: PUSH1 0x00 00003f53: DUP1 00003f54: PUSH1 0xc0 00003f56: DUP8 00003f57: DUP10 00003f58: SUB 00003f59: SLT 00003f5a: ISZERO 00003f5b: PUSH2 0x3f63 00003f5e: JUMPI 00003f5f: PUSH1 0x00 00003f61: DUP1 00003f62: REVERT 00003f63: JUMPDEST 00003f64: DUP7 00003f65: CALLDATALOAD 00003f66: PUSH2 0x3f6e 00003f69: DUP2 00003f6a: PUSH2 0x3f0e 00003f6d: JUMP 00003f6e: JUMPDEST 00003f6f: SWAP6 00003f70: POP 00003f71: PUSH1 0x20 00003f73: DUP8 00003f74: ADD 00003f75: CALLDATALOAD 00003f76: PUSH2 0x3f7e 00003f79: DUP2 00003f7a: PUSH2 0x3f0e 00003f7d: JUMP 00003f7e: JUMPDEST 00003f7f: SWAP5 00003f80: POP 00003f81: PUSH2 0x3f8c 00003f84: PUSH1 0x40 00003f86: DUP9 00003f87: ADD 00003f88: PUSH2 0x3f23 00003f8b: JUMP 00003f8c: JUMPDEST 00003f8d: SWAP4 00003f8e: POP 00003f8f: PUSH2 0x3f9a 00003f92: PUSH1 0x60 00003f94: DUP9 00003f95: ADD 00003f96: PUSH2 0x3f23 00003f99: JUMP 00003f9a: JUMPDEST 00003f9b: SWAP3 00003f9c: POP 00003f9d: PUSH2 0x3fa8 00003fa0: PUSH1 0x80 00003fa2: DUP9 00003fa3: ADD 00003fa4: PUSH2 0x3f23 00003fa7: JUMP 00003fa8: JUMPDEST 00003fa9: SWAP2 00003faa: POP 00003fab: PUSH1 0xa0 00003fad: DUP8 00003fae: ADD 00003faf: CALLDATALOAD 00003fb0: PUSH2 0x3fb8 00003fb3: DUP2 00003fb4: PUSH2 0x3f0e 00003fb7: JUMP 00003fb8: JUMPDEST 00003fb9: DUP1 00003fba: SWAP2 00003fbb: POP 00003fbc: POP 00003fbd: SWAP3 00003fbe: SWAP6 00003fbf: POP 00003fc0: SWAP3 00003fc1: SWAP6 00003fc2: POP 00003fc3: SWAP3 00003fc4: SWAP6 00003fc5: JUMP 00003fc6: JUMPDEST 00003fc7: PUSH1 0x00 00003fc9: PUSH1 0x20 00003fcb: DUP3 00003fcc: DUP5 00003fcd: SUB 00003fce: SLT 00003fcf: ISZERO 00003fd0: PUSH2 0x3fd8 00003fd3: JUMPI 00003fd4: PUSH1 0x00 00003fd6: DUP1 00003fd7: REVERT 00003fd8: JUMPDEST 00003fd9: POP 00003fda: CALLDATALOAD 00003fdb: SWAP2 00003fdc: SWAP1 00003fdd: POP 00003fde: JUMP 00003fdf: JUMPDEST 00003fe0: PUSH1 0x00 00003fe2: PUSH1 0x20 00003fe4: DUP3 00003fe5: DUP5 00003fe6: SUB 00003fe7: SLT 00003fe8: ISZERO 00003fe9: PUSH2 0x3ff1 00003fec: JUMPI 00003fed: PUSH1 0x00 00003fef: DUP1 00003ff0: REVERT 00003ff1: JUMPDEST 00003ff2: DUP2 00003ff3: CALLDATALOAD 00003ff4: PUSH1 0x01 00003ff6: PUSH1 0x01 00003ff8: PUSH1 0x40 00003ffa: SHL 00003ffb: SUB 00003ffc: DUP2 00003ffd: GT 00003ffe: ISZERO 00003fff: PUSH2 0x4007 00004002: JUMPI 00004003: PUSH1 0x00 00004005: DUP1 00004006: REVERT 00004007: JUMPDEST 00004008: DUP3 00004009: ADD 0000400a: PUSH2 0x0220 0000400d: DUP2 0000400e: DUP6 0000400f: SUB 00004010: SLT 00004011: ISZERO 00004012: PUSH2 0x11eb 00004015: JUMPI 00004016: PUSH1 0x00 00004018: DUP1 00004019: REVERT 0000401a: JUMPDEST 0000401b: PUSH1 0x00 0000401d: JUMPDEST 0000401e: DUP4 0000401f: DUP2 00004020: LT 00004021: ISZERO 00004022: PUSH2 0x4035 00004025: JUMPI 00004026: DUP2 00004027: DUP2 00004028: ADD 00004029: MLOAD 0000402a: DUP4 0000402b: DUP3 0000402c: ADD 0000402d: MSTORE 0000402e: PUSH1 0x20 00004030: ADD 00004031: PUSH2 0x401d 00004034: JUMP 00004035: JUMPDEST 00004036: POP 00004037: POP 00004038: PUSH1 0x00 0000403a: SWAP2 0000403b: ADD 0000403c: MSTORE 0000403d: JUMP 0000403e: JUMPDEST 0000403f: PUSH1 0x00 00004041: DUP2 00004042: MLOAD 00004043: DUP1 00004044: DUP5 00004045: MSTORE 00004046: PUSH2 0x4056 00004049: DUP2 0000404a: PUSH1 0x20 0000404c: DUP7 0000404d: ADD 0000404e: PUSH1 0x20 00004050: DUP7 00004051: ADD 00004052: PUSH2 0x401a 00004055: JUMP 00004056: JUMPDEST 00004057: PUSH1 0x1f 00004059: ADD 0000405a: PUSH1 0x1f 0000405c: NOT 0000405d: AND 0000405e: SWAP3 0000405f: SWAP1 00004060: SWAP3 00004061: ADD 00004062: PUSH1 0x20 00004064: ADD 00004065: SWAP3 00004066: SWAP2 00004067: POP 00004068: POP 00004069: JUMP 0000406a: JUMPDEST 0000406b: DUP3 0000406c: ISZERO 0000406d: ISZERO 0000406e: DUP2 0000406f: MSTORE 00004070: PUSH1 0x40 00004072: PUSH1 0x20 00004074: DUP3 00004075: ADD 00004076: MSTORE 00004077: PUSH1 0x00 00004079: PUSH2 0x0e59 0000407c: PUSH1 0x40 0000407e: DUP4 0000407f: ADD 00004080: DUP5 00004081: PUSH2 0x403e 00004084: JUMP 00004085: JUMPDEST 00004086: PUSH1 0x00 00004088: PUSH1 0x20 0000408a: DUP3 0000408b: DUP5 0000408c: SUB 0000408d: SLT 0000408e: ISZERO 0000408f: PUSH2 0x4097 00004092: JUMPI 00004093: PUSH1 0x00 00004095: DUP1 00004096: REVERT 00004097: JUMPDEST 00004098: DUP2 00004099: CALLDATALOAD 0000409a: PUSH1 0x01 0000409c: PUSH1 0x01 0000409e: PUSH1 0x40 000040a0: SHL 000040a1: SUB 000040a2: DUP2 000040a3: GT 000040a4: ISZERO 000040a5: PUSH2 0x40ad 000040a8: JUMPI 000040a9: PUSH1 0x00 000040ab: DUP1 000040ac: REVERT 000040ad: JUMPDEST 000040ae: DUP3 000040af: ADD 000040b0: PUSH1 0xe0 000040b2: DUP2 000040b3: DUP6 000040b4: SUB 000040b5: SLT 000040b6: ISZERO 000040b7: PUSH2 0x11eb 000040ba: JUMPI 000040bb: PUSH1 0x00 000040bd: DUP1 000040be: REVERT 000040bf: JUMPDEST 000040c0: PUSH4 0x4e487b71 000040c5: PUSH1 0xe0 000040c7: SHL 000040c8: PUSH1 0x00 000040ca: MSTORE 000040cb: PUSH1 0x41 000040cd: PUSH1 0x04 000040cf: MSTORE 000040d0: PUSH1 0x24 000040d2: PUSH1 0x00 000040d4: REVERT 000040d5: JUMPDEST 000040d6: PUSH1 0x40 000040d8: DUP1 000040d9: MLOAD 000040da: SWAP1 000040db: DUP2 000040dc: ADD 000040dd: PUSH1 0x01 000040df: PUSH1 0x01 000040e1: PUSH1 0x40 000040e3: SHL 000040e4: SUB 000040e5: DUP2 000040e6: GT 000040e7: DUP3 000040e8: DUP3 000040e9: LT 000040ea: OR 000040eb: ISZERO 000040ec: PUSH2 0x40f7 000040ef: JUMPI 000040f0: PUSH2 0x40f7 000040f3: PUSH2 0x40bf 000040f6: JUMP 000040f7: JUMPDEST 000040f8: PUSH1 0x40 000040fa: MSTORE 000040fb: SWAP1 000040fc: JUMP 000040fd: JUMPDEST 000040fe: PUSH1 0x40 00004100: MLOAD 00004101: PUSH1 0xc0 00004103: DUP2 00004104: ADD 00004105: PUSH1 0x01 00004107: PUSH1 0x01 00004109: PUSH1 0x40 0000410b: SHL 0000410c: SUB 0000410d: DUP2 0000410e: GT 0000410f: DUP3 00004110: DUP3 00004111: LT 00004112: OR 00004113: ISZERO 00004114: PUSH2 0x40f7 00004117: JUMPI 00004118: PUSH2 0x40f7 0000411b: PUSH2 0x40bf 0000411e: JUMP 0000411f: JUMPDEST 00004120: PUSH1 0x40 00004122: MLOAD 00004123: PUSH1 0x60 00004125: DUP2 00004126: ADD 00004127: PUSH1 0x01 00004129: PUSH1 0x01 0000412b: PUSH1 0x40 0000412d: SHL 0000412e: SUB 0000412f: DUP2 00004130: GT 00004131: DUP3 00004132: DUP3 00004133: LT 00004134: OR 00004135: ISZERO 00004136: PUSH2 0x40f7 00004139: JUMPI 0000413a: PUSH2 0x40f7 0000413d: PUSH2 0x40bf 00004140: JUMP 00004141: JUMPDEST 00004142: PUSH1 0x40 00004144: MLOAD 00004145: PUSH1 0xa0 00004147: DUP2 00004148: ADD 00004149: PUSH1 0x01 0000414b: PUSH1 0x01 0000414d: PUSH1 0x40 0000414f: SHL 00004150: SUB 00004151: DUP2 00004152: GT 00004153: DUP3 00004154: DUP3 00004155: LT 00004156: OR 00004157: ISZERO 00004158: PUSH2 0x40f7 0000415b: JUMPI 0000415c: PUSH2 0x40f7 0000415f: PUSH2 0x40bf 00004162: JUMP 00004163: JUMPDEST 00004164: PUSH1 0x40 00004166: MLOAD 00004167: PUSH1 0x80 00004169: DUP2 0000416a: ADD 0000416b: PUSH1 0x01 0000416d: PUSH1 0x01 0000416f: PUSH1 0x40 00004171: SHL 00004172: SUB 00004173: DUP2 00004174: GT 00004175: DUP3 00004176: DUP3 00004177: LT 00004178: OR 00004179: ISZERO 0000417a: PUSH2 0x40f7 0000417d: JUMPI 0000417e: PUSH2 0x40f7 00004181: PUSH2 0x40bf 00004184: JUMP 00004185: JUMPDEST 00004186: PUSH1 0x40 00004188: MLOAD 00004189: PUSH1 0x1f 0000418b: DUP3 0000418c: ADD 0000418d: PUSH1 0x1f 0000418f: NOT 00004190: AND 00004191: DUP2 00004192: ADD 00004193: PUSH1 0x01 00004195: PUSH1 0x01 00004197: PUSH1 0x40 00004199: SHL 0000419a: SUB 0000419b: DUP2 0000419c: GT 0000419d: DUP3 0000419e: DUP3 0000419f: LT 000041a0: OR 000041a1: ISZERO 000041a2: PUSH2 0x41ad 000041a5: JUMPI 000041a6: PUSH2 0x41ad 000041a9: PUSH2 0x40bf 000041ac: JUMP 000041ad: JUMPDEST 000041ae: PUSH1 0x40 000041b0: MSTORE 000041b1: SWAP2 000041b2: SWAP1 000041b3: POP 000041b4: JUMP 000041b5: JUMPDEST 000041b6: PUSH1 0x00 000041b8: DUP3 000041b9: PUSH1 0x1f 000041bb: DUP4 000041bc: ADD 000041bd: SLT 000041be: PUSH2 0x41c6 000041c1: JUMPI 000041c2: PUSH1 0x00 000041c4: DUP1 000041c5: REVERT 000041c6: JUMPDEST 000041c7: DUP2 000041c8: CALLDATALOAD 000041c9: PUSH1 0x01 000041cb: PUSH1 0x01 000041cd: PUSH1 0x40 000041cf: SHL 000041d0: SUB 000041d1: DUP2 000041d2: GT 000041d3: ISZERO 000041d4: PUSH2 0x41df 000041d7: JUMPI 000041d8: PUSH2 0x41df 000041db: PUSH2 0x40bf 000041de: JUMP 000041df: JUMPDEST 000041e0: PUSH2 0x41f2 000041e3: PUSH1 0x1f 000041e5: DUP3 000041e6: ADD 000041e7: PUSH1 0x1f 000041e9: NOT 000041ea: AND 000041eb: PUSH1 0x20 000041ed: ADD 000041ee: PUSH2 0x4185 000041f1: JUMP 000041f2: JUMPDEST 000041f3: DUP2 000041f4: DUP2 000041f5: MSTORE 000041f6: DUP5 000041f7: PUSH1 0x20 000041f9: DUP4 000041fa: DUP7 000041fb: ADD 000041fc: ADD 000041fd: GT 000041fe: ISZERO 000041ff: PUSH2 0x4207 00004202: JUMPI 00004203: PUSH1 0x00 00004205: DUP1 00004206: REVERT 00004207: JUMPDEST 00004208: DUP2 00004209: PUSH1 0x20 0000420b: DUP6 0000420c: ADD 0000420d: PUSH1 0x20 0000420f: DUP4 00004210: ADD 00004211: CALLDATACOPY 00004212: PUSH1 0x00 00004214: SWAP2 00004215: DUP2 00004216: ADD 00004217: PUSH1 0x20 00004219: ADD 0000421a: SWAP2 0000421b: SWAP1 0000421c: SWAP2 0000421d: MSTORE 0000421e: SWAP4 0000421f: SWAP3 00004220: POP 00004221: POP 00004222: POP 00004223: JUMP 00004224: JUMPDEST 00004225: PUSH1 0x00 00004227: PUSH1 0x40 00004229: DUP3 0000422a: DUP5 0000422b: SUB 0000422c: SLT 0000422d: ISZERO 0000422e: PUSH2 0x4236 00004231: JUMPI 00004232: PUSH1 0x00 00004234: DUP1 00004235: REVERT 00004236: JUMPDEST 00004237: PUSH2 0x423e 0000423a: PUSH2 0x40d5 0000423d: JUMP 0000423e: JUMPDEST 0000423f: SWAP1 00004240: POP 00004241: DUP2 00004242: CALLDATALOAD 00004243: DUP2 00004244: MSTORE 00004245: PUSH1 0x20 00004247: DUP3 00004248: ADD 00004249: CALLDATALOAD 0000424a: PUSH1 0x20 0000424c: DUP3 0000424d: ADD 0000424e: MSTORE 0000424f: SWAP3 00004250: SWAP2 00004251: POP 00004252: POP 00004253: JUMP 00004254: JUMPDEST 00004255: PUSH1 0x00 00004257: DUP3 00004258: PUSH1 0x1f 0000425a: DUP4 0000425b: ADD 0000425c: SLT 0000425d: PUSH2 0x4265 00004260: JUMPI 00004261: PUSH1 0x00 00004263: DUP1 00004264: REVERT 00004265: JUMPDEST 00004266: PUSH2 0x426d 00004269: PUSH2 0x40d5 0000426c: JUMP 0000426d: JUMPDEST 0000426e: DUP1 0000426f: PUSH1 0x40 00004271: DUP5 00004272: ADD 00004273: DUP6 00004274: DUP2 00004275: GT 00004276: ISZERO 00004277: PUSH2 0x427f 0000427a: JUMPI 0000427b: PUSH1 0x00 0000427d: DUP1 0000427e: REVERT 0000427f: JUMPDEST 00004280: DUP5 00004281: JUMPDEST 00004282: DUP2 00004283: DUP2 00004284: LT 00004285: ISZERO 00004286: PUSH2 0x4299 00004289: JUMPI 0000428a: DUP1 0000428b: CALLDATALOAD 0000428c: DUP5 0000428d: MSTORE 0000428e: PUSH1 0x20 00004290: SWAP4 00004291: DUP5 00004292: ADD 00004293: SWAP4 00004294: ADD 00004295: PUSH2 0x4281 00004298: JUMP 00004299: JUMPDEST 0000429a: POP 0000429b: SWAP1 0000429c: SWAP6 0000429d: SWAP5 0000429e: POP 0000429f: POP 000042a0: POP 000042a1: POP 000042a2: POP 000042a3: JUMP 000042a4: JUMPDEST 000042a5: PUSH1 0x00 000042a7: PUSH1 0x80 000042a9: DUP3 000042aa: DUP5 000042ab: SUB 000042ac: SLT 000042ad: ISZERO 000042ae: PUSH2 0x42b6 000042b1: JUMPI 000042b2: PUSH1 0x00 000042b4: DUP1 000042b5: REVERT 000042b6: JUMPDEST 000042b7: PUSH2 0x42be 000042ba: PUSH2 0x40d5 000042bd: JUMP 000042be: JUMPDEST 000042bf: SWAP1 000042c0: POP 000042c1: PUSH2 0x42ca 000042c4: DUP4 000042c5: DUP4 000042c6: PUSH2 0x4254 000042c9: JUMP 000042ca: JUMPDEST 000042cb: DUP2 000042cc: MSTORE 000042cd: PUSH2 0x42d9 000042d0: DUP4 000042d1: PUSH1 0x40 000042d3: DUP5 000042d4: ADD 000042d5: PUSH2 0x4254 000042d8: JUMP 000042d9: JUMPDEST 000042da: PUSH1 0x20 000042dc: DUP3 000042dd: ADD 000042de: MSTORE 000042df: SWAP3 000042e0: SWAP2 000042e1: POP 000042e2: POP 000042e3: JUMP 000042e4: JUMPDEST 000042e5: PUSH1 0x00 000042e7: PUSH1 0x01 000042e9: PUSH1 0x01 000042eb: PUSH1 0x40 000042ed: SHL 000042ee: SUB 000042ef: DUP3 000042f0: GT 000042f1: ISZERO 000042f2: PUSH2 0x42fd 000042f5: JUMPI 000042f6: PUSH2 0x42fd 000042f9: PUSH2 0x40bf 000042fc: JUMP 000042fd: JUMPDEST 000042fe: POP 000042ff: PUSH1 0x05 00004301: SHL 00004302: PUSH1 0x20 00004304: ADD 00004305: SWAP1 00004306: JUMP 00004307: JUMPDEST 00004308: PUSH1 0x00 0000430a: DUP3 0000430b: PUSH1 0x1f 0000430d: DUP4 0000430e: ADD 0000430f: SLT 00004310: PUSH2 0x4318 00004313: JUMPI 00004314: PUSH1 0x00 00004316: DUP1 00004317: REVERT 00004318: JUMPDEST 00004319: DUP2 0000431a: CALLDATALOAD 0000431b: PUSH1 0x20 0000431d: PUSH2 0x432d 00004320: PUSH2 0x4328 00004323: DUP4 00004324: PUSH2 0x42e4 00004327: JUMP 00004328: JUMPDEST 00004329: PUSH2 0x4185 0000432c: JUMP 0000432d: JUMPDEST 0000432e: DUP1 0000432f: DUP4 00004330: DUP3 00004331: MSTORE 00004332: PUSH1 0x20 00004334: DUP3 00004335: ADD 00004336: SWAP2 00004337: POP 00004338: PUSH1 0x20 0000433a: DUP5 0000433b: PUSH1 0x06 0000433d: SHL 0000433e: DUP8 0000433f: ADD 00004340: ADD 00004341: SWAP4 00004342: POP 00004343: DUP7 00004344: DUP5 00004345: GT 00004346: ISZERO 00004347: PUSH2 0x434f 0000434a: JUMPI 0000434b: PUSH1 0x00 0000434d: DUP1 0000434e: REVERT 0000434f: JUMPDEST 00004350: PUSH1 0x20 00004352: DUP7 00004353: ADD 00004354: JUMPDEST 00004355: DUP5 00004356: DUP2 00004357: LT 00004358: ISZERO 00004359: PUSH2 0x4374 0000435c: JUMPI 0000435d: PUSH2 0x4366 00004360: DUP9 00004361: DUP3 00004362: PUSH2 0x4224 00004365: JUMP 00004366: JUMPDEST 00004367: DUP4 00004368: MSTORE 00004369: SWAP2 0000436a: DUP4 0000436b: ADD 0000436c: SWAP2 0000436d: PUSH1 0x40 0000436f: ADD 00004370: PUSH2 0x4354 00004373: JUMP 00004374: JUMPDEST 00004375: POP 00004376: SWAP7 00004377: SWAP6 00004378: POP 00004379: POP 0000437a: POP 0000437b: POP 0000437c: POP 0000437d: POP 0000437e: JUMP 0000437f: JUMPDEST 00004380: PUSH1 0x00 00004382: PUSH2 0x0100 00004385: DUP3 00004386: DUP5 00004387: SUB 00004388: SLT 00004389: ISZERO 0000438a: PUSH2 0x4392 0000438d: JUMPI 0000438e: PUSH1 0x00 00004390: DUP1 00004391: REVERT 00004392: JUMPDEST 00004393: POP 00004394: SWAP2 00004395: SWAP1 00004396: POP 00004397: JUMP 00004398: JUMPDEST 00004399: PUSH1 0x00 0000439b: DUP3 0000439c: PUSH1 0x1f 0000439e: DUP4 0000439f: ADD 000043a0: SLT 000043a1: PUSH2 0x43a9 000043a4: JUMPI 000043a5: PUSH1 0x00 000043a7: DUP1 000043a8: REVERT 000043a9: JUMPDEST 000043aa: DUP2 000043ab: CALLDATALOAD 000043ac: PUSH1 0x20 000043ae: PUSH2 0x43b9 000043b1: PUSH2 0x4328 000043b4: DUP4 000043b5: PUSH2 0x42e4 000043b8: JUMP 000043b9: JUMPDEST 000043ba: DUP1 000043bb: DUP4 000043bc: DUP3 000043bd: MSTORE 000043be: PUSH1 0x20 000043c0: DUP3 000043c1: ADD 000043c2: SWAP2 000043c3: POP 000043c4: PUSH1 0x20 000043c6: DUP5 000043c7: PUSH1 0x05 000043c9: SHL 000043ca: DUP8 000043cb: ADD 000043cc: ADD 000043cd: SWAP4 000043ce: POP 000043cf: DUP7 000043d0: DUP5 000043d1: GT 000043d2: ISZERO 000043d3: PUSH2 0x43db 000043d6: JUMPI 000043d7: PUSH1 0x00 000043d9: DUP1 000043da: REVERT 000043db: JUMPDEST 000043dc: PUSH1 0x20 000043de: DUP7 000043df: ADD 000043e0: JUMPDEST 000043e1: DUP5 000043e2: DUP2 000043e3: LT 000043e4: ISZERO 000043e5: PUSH2 0x4374 000043e8: JUMPI 000043e9: DUP1 000043ea: CALLDATALOAD 000043eb: DUP4 000043ec: MSTORE 000043ed: SWAP2 000043ee: DUP4 000043ef: ADD 000043f0: SWAP2 000043f1: DUP4 000043f2: ADD 000043f3: PUSH2 0x43e0 000043f6: JUMP 000043f7: JUMPDEST 000043f8: PUSH1 0x00 000043fa: DUP1 000043fb: PUSH1 0x00 000043fd: PUSH2 0x0140 00004400: DUP5 00004401: DUP7 00004402: SUB 00004403: SLT 00004404: ISZERO 00004405: PUSH2 0x440d 00004408: JUMPI 00004409: PUSH1 0x00 0000440b: DUP1 0000440c: REVERT 0000440d: JUMPDEST 0000440e: DUP4 0000440f: CALLDATALOAD 00004410: PUSH1 0x01 00004412: PUSH1 0x01 00004414: PUSH1 0x40 00004416: SHL 00004417: SUB 00004418: DUP1 00004419: DUP3 0000441a: GT 0000441b: ISZERO 0000441c: PUSH2 0x4424 0000441f: JUMPI 00004420: PUSH1 0x00 00004422: DUP1 00004423: REVERT 00004424: JUMPDEST 00004425: SWAP1 00004426: DUP6 00004427: ADD 00004428: SWAP1 00004429: PUSH2 0x0200 0000442c: DUP3 0000442d: DUP9 0000442e: SUB 0000442f: SLT 00004430: ISZERO 00004431: PUSH2 0x4439 00004434: JUMPI 00004435: PUSH1 0x00 00004437: DUP1 00004438: REVERT 00004439: JUMPDEST 0000443a: PUSH2 0x4441 0000443d: PUSH2 0x40fd 00004440: JUMP 00004441: JUMPDEST 00004442: DUP3 00004443: CALLDATALOAD 00004444: DUP3 00004445: DUP2 00004446: GT 00004447: ISZERO 00004448: PUSH2 0x4450 0000444b: JUMPI 0000444c: PUSH1 0x00 0000444e: DUP1 0000444f: REVERT 00004450: JUMPDEST 00004451: PUSH2 0x445c 00004454: DUP10 00004455: DUP3 00004456: DUP7 00004457: ADD 00004458: PUSH2 0x41b5 0000445b: JUMP 0000445c: JUMPDEST 0000445d: DUP3 0000445e: MSTORE 0000445f: POP 00004460: PUSH2 0x446c 00004463: DUP9 00004464: PUSH1 0x20 00004466: DUP6 00004467: ADD 00004468: PUSH2 0x4224 0000446b: JUMP 0000446c: JUMPDEST 0000446d: PUSH1 0x20 0000446f: DUP3 00004470: ADD 00004471: MSTORE 00004472: PUSH2 0x447e 00004475: DUP9 00004476: PUSH1 0x60 00004478: DUP6 00004479: ADD 0000447a: PUSH2 0x42a4 0000447d: JUMP 0000447e: JUMPDEST 0000447f: PUSH1 0x40 00004481: DUP3 00004482: ADD 00004483: MSTORE 00004484: PUSH2 0x4490 00004487: DUP9 00004488: PUSH1 0xe0 0000448a: DUP6 0000448b: ADD 0000448c: PUSH2 0x42a4 0000448f: JUMP 00004490: JUMPDEST 00004491: PUSH1 0x60 00004493: DUP3 00004494: ADD 00004495: MSTORE 00004496: PUSH2 0x44a3 00004499: DUP9 0000449a: PUSH2 0x0160 0000449d: DUP6 0000449e: ADD 0000449f: PUSH2 0x42a4 000044a2: JUMP 000044a3: JUMPDEST 000044a4: PUSH1 0x80 000044a6: DUP3 000044a7: ADD 000044a8: MSTORE 000044a9: PUSH2 0x01e0 000044ac: DUP4 000044ad: ADD 000044ae: CALLDATALOAD 000044af: DUP3 000044b0: DUP2 000044b1: GT 000044b2: ISZERO 000044b3: PUSH2 0x44bb 000044b6: JUMPI 000044b7: PUSH1 0x00 000044b9: DUP1 000044ba: REVERT 000044bb: JUMPDEST 000044bc: PUSH2 0x44c7 000044bf: DUP10 000044c0: DUP3 000044c1: DUP7 000044c2: ADD 000044c3: PUSH2 0x4307 000044c6: JUMP 000044c7: JUMPDEST 000044c8: PUSH1 0xa0 000044ca: DUP4 000044cb: ADD 000044cc: MSTORE 000044cd: POP 000044ce: SWAP5 000044cf: POP 000044d0: PUSH2 0x44dc 000044d3: DUP8 000044d4: PUSH1 0x20 000044d6: DUP9 000044d7: ADD 000044d8: PUSH2 0x437f 000044db: JUMP 000044dc: JUMPDEST 000044dd: SWAP4 000044de: POP 000044df: PUSH2 0x0120 000044e2: DUP7 000044e3: ADD 000044e4: CALLDATALOAD 000044e5: SWAP2 000044e6: POP 000044e7: DUP1 000044e8: DUP3 000044e9: GT 000044ea: ISZERO 000044eb: PUSH2 0x44f3 000044ee: JUMPI 000044ef: PUSH1 0x00 000044f1: DUP1 000044f2: REVERT 000044f3: JUMPDEST 000044f4: POP 000044f5: PUSH2 0x4500 000044f8: DUP7 000044f9: DUP3 000044fa: DUP8 000044fb: ADD 000044fc: PUSH2 0x4398 000044ff: JUMP 00004500: JUMPDEST 00004501: SWAP2 00004502: POP 00004503: POP 00004504: SWAP3 00004505: POP 00004506: SWAP3 00004507: POP 00004508: SWAP3 00004509: JUMP 0000450a: JUMPDEST 0000450b: PUSH1 0x00 0000450d: DUP1 0000450e: PUSH1 0x00 00004510: PUSH1 0x60 00004512: DUP5 00004513: DUP7 00004514: SUB 00004515: SLT 00004516: ISZERO 00004517: PUSH2 0x451f 0000451a: JUMPI 0000451b: PUSH1 0x00 0000451d: DUP1 0000451e: REVERT 0000451f: JUMPDEST 00004520: DUP4 00004521: CALLDATALOAD 00004522: SWAP3 00004523: POP 00004524: PUSH1 0x20 00004526: DUP5 00004527: ADD 00004528: CALLDATALOAD 00004529: SWAP2 0000452a: POP 0000452b: PUSH1 0x40 0000452d: DUP5 0000452e: ADD 0000452f: CALLDATALOAD 00004530: PUSH1 0x01 00004532: PUSH1 0x01 00004534: PUSH1 0x40 00004536: SHL 00004537: SUB 00004538: DUP2 00004539: GT 0000453a: ISZERO 0000453b: PUSH2 0x4543 0000453e: JUMPI 0000453f: PUSH1 0x00 00004541: DUP1 00004542: REVERT 00004543: JUMPDEST 00004544: DUP5 00004545: ADD 00004546: PUSH2 0x0200 00004549: DUP2 0000454a: DUP8 0000454b: SUB 0000454c: SLT 0000454d: ISZERO 0000454e: PUSH2 0x4556 00004551: JUMPI 00004552: PUSH1 0x00 00004554: DUP1 00004555: REVERT 00004556: JUMPDEST 00004557: DUP1 00004558: SWAP2 00004559: POP 0000455a: POP 0000455b: SWAP3 0000455c: POP 0000455d: SWAP3 0000455e: POP 0000455f: SWAP3 00004560: JUMP 00004561: JUMPDEST 00004562: PUSH1 0x00 00004564: DUP1 00004565: PUSH1 0x20 00004567: DUP4 00004568: DUP6 00004569: SUB 0000456a: SLT 0000456b: ISZERO 0000456c: PUSH2 0x4574 0000456f: JUMPI 00004570: PUSH1 0x00 00004572: DUP1 00004573: REVERT 00004574: JUMPDEST 00004575: DUP3 00004576: CALLDATALOAD 00004577: PUSH1 0x01 00004579: PUSH1 0x01 0000457b: PUSH1 0x40 0000457d: SHL 0000457e: SUB 0000457f: DUP1 00004580: DUP3 00004581: GT 00004582: ISZERO 00004583: PUSH2 0x458b 00004586: JUMPI 00004587: PUSH1 0x00 00004589: DUP1 0000458a: REVERT 0000458b: JUMPDEST 0000458c: DUP2 0000458d: DUP6 0000458e: ADD 0000458f: SWAP2 00004590: POP 00004591: DUP6 00004592: PUSH1 0x1f 00004594: DUP4 00004595: ADD 00004596: SLT 00004597: PUSH2 0x459f 0000459a: JUMPI 0000459b: PUSH1 0x00 0000459d: DUP1 0000459e: REVERT 0000459f: JUMPDEST 000045a0: DUP2 000045a1: CALLDATALOAD 000045a2: DUP2 000045a3: DUP2 000045a4: GT 000045a5: ISZERO 000045a6: PUSH2 0x45ae 000045a9: JUMPI 000045aa: PUSH1 0x00 000045ac: DUP1 000045ad: REVERT 000045ae: JUMPDEST 000045af: DUP7 000045b0: PUSH1 0x20 000045b2: PUSH2 0x0120 000045b5: DUP4 000045b6: MUL 000045b7: DUP6 000045b8: ADD 000045b9: ADD 000045ba: GT 000045bb: ISZERO 000045bc: PUSH2 0x45c4 000045bf: JUMPI 000045c0: PUSH1 0x00 000045c2: DUP1 000045c3: REVERT 000045c4: JUMPDEST 000045c5: PUSH1 0x20 000045c7: SWAP3 000045c8: SWAP1 000045c9: SWAP3 000045ca: ADD 000045cb: SWAP7 000045cc: SWAP2 000045cd: SWAP6 000045ce: POP 000045cf: SWAP1 000045d0: SWAP4 000045d1: POP 000045d2: POP 000045d3: POP 000045d4: POP 000045d5: JUMP 000045d6: JUMPDEST 000045d7: PUSH1 0x00 000045d9: DUP1 000045da: PUSH1 0x40 000045dc: DUP4 000045dd: DUP6 000045de: SUB 000045df: SLT 000045e0: ISZERO 000045e1: PUSH2 0x45e9 000045e4: JUMPI 000045e5: PUSH1 0x00 000045e7: DUP1 000045e8: REVERT 000045e9: JUMPDEST 000045ea: POP 000045eb: POP 000045ec: DUP1 000045ed: CALLDATALOAD 000045ee: SWAP3 000045ef: PUSH1 0x20 000045f1: SWAP1 000045f2: SWAP2 000045f3: ADD 000045f4: CALLDATALOAD 000045f5: SWAP2 000045f6: POP 000045f7: JUMP 000045f8: JUMPDEST 000045f9: DUP1 000045fa: ISZERO 000045fb: ISZERO 000045fc: DUP2 000045fd: EQ 000045fe: PUSH2 0x0730 00004601: JUMPI 00004602: PUSH1 0x00 00004604: DUP1 00004605: REVERT 00004606: JUMPDEST 00004607: PUSH1 0x00 00004609: DUP1 0000460a: PUSH1 0x00 0000460c: PUSH1 0x60 0000460e: DUP5 0000460f: DUP7 00004610: SUB 00004611: SLT 00004612: ISZERO 00004613: PUSH2 0x461b 00004616: JUMPI 00004617: PUSH1 0x00 00004619: DUP1 0000461a: REVERT 0000461b: JUMPDEST 0000461c: DUP4 0000461d: CALLDATALOAD 0000461e: PUSH1 0x01 00004620: PUSH1 0x01 00004622: PUSH1 0x88 00004624: SHL 00004625: SUB 00004626: DUP2 00004627: AND 00004628: DUP2 00004629: EQ 0000462a: PUSH2 0x4632 0000462d: JUMPI 0000462e: PUSH1 0x00 00004630: DUP1 00004631: REVERT 00004632: JUMPDEST 00004633: SWAP3 00004634: POP 00004635: PUSH1 0x20 00004637: DUP5 00004638: ADD 00004639: CALLDATALOAD 0000463a: PUSH2 0x4642 0000463d: DUP2 0000463e: PUSH2 0x45f8 00004641: JUMP 00004642: JUMPDEST 00004643: SWAP2 00004644: POP 00004645: PUSH2 0x4650 00004648: PUSH1 0x40 0000464a: DUP6 0000464b: ADD 0000464c: PUSH2 0x3f23 0000464f: JUMP 00004650: JUMPDEST 00004651: SWAP1 00004652: POP 00004653: SWAP3 00004654: POP 00004655: SWAP3 00004656: POP 00004657: SWAP3 00004658: JUMP 00004659: JUMPDEST 0000465a: PUSH1 0x00 0000465c: DUP1 0000465d: DUP4 0000465e: PUSH1 0x1f 00004660: DUP5 00004661: ADD 00004662: SLT 00004663: PUSH2 0x466b 00004666: JUMPI 00004667: PUSH1 0x00 00004669: DUP1 0000466a: REVERT 0000466b: JUMPDEST 0000466c: POP 0000466d: DUP2 0000466e: CALLDATALOAD 0000466f: PUSH1 0x01 00004671: PUSH1 0x01 00004673: PUSH1 0x40 00004675: SHL 00004676: SUB 00004677: DUP2 00004678: GT 00004679: ISZERO 0000467a: PUSH2 0x4682 0000467d: JUMPI 0000467e: PUSH1 0x00 00004680: DUP1 00004681: REVERT 00004682: JUMPDEST 00004683: PUSH1 0x20 00004685: DUP4 00004686: ADD 00004687: SWAP2 00004688: POP 00004689: DUP4 0000468a: PUSH1 0x20 0000468c: DUP3 0000468d: PUSH1 0x05 0000468f: SHL 00004690: DUP6 00004691: ADD 00004692: ADD 00004693: GT 00004694: ISZERO 00004695: PUSH2 0x469d 00004698: JUMPI 00004699: PUSH1 0x00 0000469b: DUP1 0000469c: REVERT 0000469d: JUMPDEST 0000469e: SWAP3 0000469f: POP 000046a0: SWAP3 000046a1: SWAP1 000046a2: POP 000046a3: JUMP 000046a4: JUMPDEST 000046a5: PUSH1 0x00 000046a7: DUP1 000046a8: PUSH1 0x20 000046aa: DUP4 000046ab: DUP6 000046ac: SUB 000046ad: SLT 000046ae: ISZERO 000046af: PUSH2 0x46b7 000046b2: JUMPI 000046b3: PUSH1 0x00 000046b5: DUP1 000046b6: REVERT 000046b7: JUMPDEST 000046b8: DUP3 000046b9: CALLDATALOAD 000046ba: PUSH1 0x01 000046bc: PUSH1 0x01 000046be: PUSH1 0x40 000046c0: SHL 000046c1: SUB 000046c2: DUP2 000046c3: GT 000046c4: ISZERO 000046c5: PUSH2 0x46cd 000046c8: JUMPI 000046c9: PUSH1 0x00 000046cb: DUP1 000046cc: REVERT 000046cd: JUMPDEST 000046ce: PUSH2 0x1277 000046d1: DUP6 000046d2: DUP3 000046d3: DUP7 000046d4: ADD 000046d5: PUSH2 0x4659 000046d8: JUMP 000046d9: JUMPDEST 000046da: PUSH1 0x00 000046dc: PUSH1 0xa0 000046de: DUP3 000046df: DUP5 000046e0: SUB 000046e1: SLT 000046e2: ISZERO 000046e3: PUSH2 0x4392 000046e6: JUMPI 000046e7: PUSH1 0x00 000046e9: DUP1 000046ea: REVERT 000046eb: JUMPDEST 000046ec: PUSH1 0x02 000046ee: DUP2 000046ef: LT 000046f0: PUSH2 0x0730 000046f3: JUMPI 000046f4: PUSH1 0x00 000046f6: DUP1 000046f7: REVERT 000046f8: JUMPDEST 000046f9: PUSH1 0x00 000046fb: PUSH1 0x60 000046fd: DUP3 000046fe: DUP5 000046ff: SUB 00004700: SLT 00004701: ISZERO 00004702: PUSH2 0x470a 00004705: JUMPI 00004706: PUSH1 0x00 00004708: DUP1 00004709: REVERT 0000470a: JUMPDEST 0000470b: PUSH2 0x4712 0000470e: PUSH2 0x411f 00004711: JUMP 00004712: JUMPDEST 00004713: SWAP1 00004714: POP 00004715: DUP2 00004716: CALLDATALOAD 00004717: PUSH2 0x471f 0000471a: DUP2 0000471b: PUSH2 0x46eb 0000471e: JUMP 0000471f: JUMPDEST 00004720: DUP2 00004721: MSTORE 00004722: PUSH1 0x20 00004724: DUP3 00004725: ADD 00004726: CALLDATALOAD 00004727: PUSH2 0x472f 0000472a: DUP2 0000472b: PUSH2 0x3f0e 0000472e: JUMP 0000472f: JUMPDEST 00004730: DUP1 00004731: PUSH1 0x20 00004733: DUP4 00004734: ADD 00004735: MSTORE 00004736: POP 00004737: PUSH1 0x40 00004739: DUP3 0000473a: ADD 0000473b: CALLDATALOAD 0000473c: PUSH1 0x40 0000473e: DUP3 0000473f: ADD 00004740: MSTORE 00004741: SWAP3 00004742: SWAP2 00004743: POP 00004744: POP 00004745: JUMP 00004746: JUMPDEST 00004747: PUSH1 0x00 00004749: PUSH1 0xa0 0000474b: DUP3 0000474c: DUP5 0000474d: SUB 0000474e: SLT 0000474f: ISZERO 00004750: PUSH2 0x4758 00004753: JUMPI 00004754: PUSH1 0x00 00004756: DUP1 00004757: REVERT 00004758: JUMPDEST 00004759: PUSH2 0x4760 0000475c: PUSH2 0x411f 0000475f: JUMP 00004760: JUMPDEST 00004761: DUP3 00004762: CALLDATALOAD 00004763: DUP2 00004764: MSTORE 00004765: PUSH2 0x4771 00004768: DUP5 00004769: PUSH1 0x20 0000476b: DUP6 0000476c: ADD 0000476d: PUSH2 0x46f8 00004770: JUMP 00004771: JUMPDEST 00004772: PUSH1 0x20 00004774: DUP3 00004775: ADD 00004776: MSTORE 00004777: PUSH2 0x4782 0000477a: PUSH1 0x80 0000477c: DUP5 0000477d: ADD 0000477e: PUSH2 0x3f23 00004781: JUMP 00004782: JUMPDEST 00004783: PUSH1 0x40 00004785: DUP3 00004786: ADD 00004787: MSTORE 00004788: SWAP4 00004789: SWAP3 0000478a: POP 0000478b: POP 0000478c: POP 0000478d: JUMP 0000478e: JUMPDEST 0000478f: DUP1 00004790: PUSH1 0x00 00004792: JUMPDEST 00004793: PUSH1 0x02 00004795: DUP2 00004796: LT 00004797: ISZERO 00004798: PUSH2 0x1ad5 0000479b: JUMPI 0000479c: DUP2 0000479d: MLOAD 0000479e: DUP5 0000479f: MSTORE 000047a0: PUSH1 0x20 000047a2: SWAP4 000047a3: DUP5 000047a4: ADD 000047a5: SWAP4 000047a6: SWAP1 000047a7: SWAP2 000047a8: ADD 000047a9: SWAP1 000047aa: PUSH1 0x01 000047ac: ADD 000047ad: PUSH2 0x4792 000047b0: JUMP 000047b1: JUMPDEST 000047b2: PUSH2 0x47bc 000047b5: DUP3 000047b6: DUP3 000047b7: MLOAD 000047b8: PUSH2 0x478e 000047bb: JUMP 000047bc: JUMPDEST 000047bd: PUSH1 0x20 000047bf: DUP2 000047c0: ADD 000047c1: MLOAD 000047c2: PUSH2 0x20fe 000047c5: PUSH1 0x40 000047c7: DUP5 000047c8: ADD 000047c9: DUP3 000047ca: PUSH2 0x478e 000047cd: JUMP 000047ce: JUMPDEST 000047cf: PUSH1 0x00 000047d1: PUSH1 0x20 000047d3: DUP1 000047d4: DUP4 000047d5: MSTORE 000047d6: DUP4 000047d7: MLOAD 000047d8: PUSH2 0x0200 000047db: DUP1 000047dc: DUP4 000047dd: DUP7 000047de: ADD 000047df: MSTORE 000047e0: PUSH2 0x47ed 000047e3: PUSH2 0x0220 000047e6: DUP7 000047e7: ADD 000047e8: DUP4 000047e9: PUSH2 0x403e 000047ec: JUMP 000047ed: JUMPDEST 000047ee: SWAP2 000047ef: POP 000047f0: DUP3 000047f1: DUP7 000047f2: ADD 000047f3: MLOAD 000047f4: PUSH1 0x40 000047f6: PUSH2 0x480c 000047f9: PUSH1 0x40 000047fb: DUP9 000047fc: ADD 000047fd: DUP4 000047fe: DUP1 000047ff: MLOAD 00004800: DUP3 00004801: MSTORE 00004802: PUSH1 0x20 00004804: SWAP1 00004805: DUP2 00004806: ADD 00004807: MLOAD 00004808: SWAP2 00004809: ADD 0000480a: MSTORE 0000480b: JUMP 0000480c: JUMPDEST 0000480d: PUSH1 0x40 0000480f: DUP9 00004810: ADD 00004811: MLOAD 00004812: SWAP2 00004813: POP 00004814: PUSH2 0x4820 00004817: PUSH1 0x80 00004819: DUP9 0000481a: ADD 0000481b: DUP4 0000481c: PUSH2 0x47b1 0000481f: JUMP 00004820: JUMPDEST 00004821: PUSH1 0x60 00004823: DUP9 00004824: ADD 00004825: MLOAD 00004826: SWAP2 00004827: POP 00004828: PUSH2 0x4835 0000482b: PUSH2 0x0100 0000482e: DUP9 0000482f: ADD 00004830: DUP4 00004831: PUSH2 0x47b1 00004834: JUMP 00004835: JUMPDEST 00004836: PUSH1 0x80 00004838: DUP9 00004839: ADD 0000483a: MLOAD 0000483b: SWAP2 0000483c: POP 0000483d: PUSH2 0x484a 00004840: PUSH2 0x0180 00004843: DUP9 00004844: ADD 00004845: DUP4 00004846: PUSH2 0x47b1 00004849: JUMP 0000484a: JUMPDEST 0000484b: PUSH1 0xa0 0000484d: DUP9 0000484e: ADD 0000484f: MLOAD 00004850: DUP8 00004851: DUP6 00004852: SUB 00004853: PUSH1 0x1f 00004855: NOT 00004856: ADD 00004857: SWAP4 00004858: DUP9 00004859: ADD 0000485a: SWAP4 0000485b: SWAP1 0000485c: SWAP4 0000485d: MSTORE 0000485e: DUP3 0000485f: MLOAD 00004860: DUP1 00004861: DUP6 00004862: MSTORE 00004863: SWAP3 00004864: DUP6 00004865: ADD 00004866: SWAP4 00004867: DUP6 00004868: ADD 00004869: SWAP3 0000486a: PUSH1 0x00 0000486c: SWAP3 0000486d: POP 0000486e: JUMPDEST 0000486f: DUP1 00004870: DUP4 00004871: LT 00004872: ISZERO 00004873: PUSH2 0x489f 00004876: JUMPI 00004877: PUSH2 0x488b 0000487a: DUP5 0000487b: DUP7 0000487c: MLOAD 0000487d: DUP1 0000487e: MLOAD 0000487f: DUP3 00004880: MSTORE 00004881: PUSH1 0x20 00004883: SWAP1 00004884: DUP2 00004885: ADD 00004886: MLOAD 00004887: SWAP2 00004888: ADD 00004889: MSTORE 0000488a: JUMP 0000488b: JUMPDEST 0000488c: SWAP4 0000488d: DUP6 0000488e: ADD 0000488f: SWAP4 00004890: SWAP3 00004891: DUP2 00004892: ADD 00004893: SWAP3 00004894: PUSH1 0x01 00004896: SWAP3 00004897: SWAP1 00004898: SWAP3 00004899: ADD 0000489a: SWAP2 0000489b: PUSH2 0x486e 0000489e: JUMP 0000489f: JUMPDEST 000048a0: POP 000048a1: SWAP2 000048a2: SWAP8 000048a3: SWAP7 000048a4: POP 000048a5: POP 000048a6: POP 000048a7: POP 000048a8: POP 000048a9: POP 000048aa: POP 000048ab: JUMP 000048ac: JUMPDEST 000048ad: PUSH1 0x00 000048af: PUSH1 0x20 000048b1: DUP3 000048b2: DUP5 000048b3: SUB 000048b4: SLT 000048b5: ISZERO 000048b6: PUSH2 0x48be 000048b9: JUMPI 000048ba: PUSH1 0x00 000048bc: DUP1 000048bd: REVERT 000048be: JUMPDEST 000048bf: DUP2 000048c0: CALLDATALOAD 000048c1: PUSH2 0x11eb 000048c4: DUP2 000048c5: PUSH2 0x3f0e 000048c8: JUMP 000048c9: JUMPDEST 000048ca: PUSH1 0x00 000048cc: DUP1 000048cd: PUSH1 0x40 000048cf: DUP4 000048d0: DUP6 000048d1: SUB 000048d2: SLT 000048d3: ISZERO 000048d4: PUSH2 0x48dc 000048d7: JUMPI 000048d8: PUSH1 0x00 000048da: DUP1 000048db: REVERT 000048dc: JUMPDEST 000048dd: DUP3 000048de: CALLDATALOAD 000048df: SWAP2 000048e0: POP 000048e1: PUSH1 0x20 000048e3: DUP4 000048e4: ADD 000048e5: CALLDATALOAD 000048e6: PUSH2 0x48ee 000048e9: DUP2 000048ea: PUSH2 0x45f8 000048ed: JUMP 000048ee: JUMPDEST 000048ef: DUP1 000048f0: SWAP2 000048f1: POP 000048f2: POP 000048f3: SWAP3 000048f4: POP 000048f5: SWAP3 000048f6: SWAP1 000048f7: POP 000048f8: JUMP 000048f9: JUMPDEST 000048fa: PUSH1 0x00 000048fc: PUSH1 0x60 000048fe: DUP3 000048ff: DUP5 00004900: SUB 00004901: SLT 00004902: ISZERO 00004903: PUSH2 0x490b 00004906: JUMPI 00004907: PUSH1 0x00 00004909: DUP1 0000490a: REVERT 0000490b: JUMPDEST 0000490c: PUSH2 0x11eb 0000490f: DUP4 00004910: DUP4 00004911: PUSH2 0x46f8 00004914: JUMP 00004915: JUMPDEST 00004916: PUSH4 0x4e487b71 0000491b: PUSH1 0xe0 0000491d: SHL 0000491e: PUSH1 0x00 00004920: MSTORE 00004921: PUSH1 0x21 00004923: PUSH1 0x04 00004925: MSTORE 00004926: PUSH1 0x24 00004928: PUSH1 0x00 0000492a: REVERT 0000492b: JUMPDEST 0000492c: PUSH1 0x02 0000492e: DUP2 0000492f: LT 00004930: PUSH2 0x493b 00004933: JUMPI 00004934: PUSH2 0x493b 00004937: PUSH2 0x4915 0000493a: JUMP 0000493b: JUMPDEST 0000493c: SWAP1 0000493d: MSTORE 0000493e: JUMP 0000493f: JUMPDEST 00004940: PUSH1 0x60 00004942: DUP2 00004943: ADD 00004944: PUSH2 0x494d 00004947: DUP3 00004948: DUP7 00004949: PUSH2 0x492b 0000494c: JUMP 0000494d: JUMPDEST 0000494e: PUSH1 0x01 00004950: PUSH1 0x01 00004952: PUSH1 0xa0 00004954: SHL 00004955: SUB 00004956: SWAP4 00004957: SWAP1 00004958: SWAP4 00004959: AND 0000495a: PUSH1 0x20 0000495c: DUP3 0000495d: ADD 0000495e: MSTORE 0000495f: PUSH1 0x40 00004961: ADD 00004962: MSTORE 00004963: SWAP2 00004964: SWAP1 00004965: POP 00004966: JUMP 00004967: JUMPDEST 00004968: PUSH1 0x00 0000496a: DUP1 0000496b: PUSH1 0x00 0000496d: PUSH1 0x60 0000496f: DUP5 00004970: DUP7 00004971: SUB 00004972: SLT 00004973: ISZERO 00004974: PUSH2 0x497c 00004977: JUMPI 00004978: PUSH1 0x00 0000497a: DUP1 0000497b: REVERT 0000497c: JUMPDEST 0000497d: PUSH2 0x4985 00004980: DUP5 00004981: PUSH2 0x3f23 00004984: JUMP 00004985: JUMPDEST 00004986: SWAP3 00004987: POP 00004988: PUSH2 0x4642 0000498b: PUSH1 0x20 0000498d: DUP6 0000498e: ADD 0000498f: PUSH2 0x3f23 00004992: JUMP 00004993: JUMPDEST 00004994: PUSH4 0x4e487b71 00004999: PUSH1 0xe0 0000499b: SHL 0000499c: PUSH1 0x00 0000499e: MSTORE 0000499f: PUSH1 0x11 000049a1: PUSH1 0x04 000049a3: MSTORE 000049a4: PUSH1 0x24 000049a6: PUSH1 0x00 000049a8: REVERT 000049a9: JUMPDEST 000049aa: PUSH1 0x01 000049ac: DUP2 000049ad: DUP2 000049ae: JUMPDEST 000049af: DUP1 000049b0: DUP6 000049b1: GT 000049b2: ISZERO 000049b3: PUSH2 0x49e4 000049b6: JUMPI 000049b7: DUP2 000049b8: PUSH1 0x00 000049ba: NOT 000049bb: DIV 000049bc: DUP3 000049bd: GT 000049be: ISZERO 000049bf: PUSH2 0x49ca 000049c2: JUMPI 000049c3: PUSH2 0x49ca 000049c6: PUSH2 0x4993 000049c9: JUMP 000049ca: JUMPDEST 000049cb: DUP1 000049cc: DUP6 000049cd: AND 000049ce: ISZERO 000049cf: PUSH2 0x49d7 000049d2: JUMPI 000049d3: SWAP2 000049d4: DUP2 000049d5: MUL 000049d6: SWAP2 000049d7: JUMPDEST 000049d8: SWAP4 000049d9: DUP5 000049da: SHR 000049db: SWAP4 000049dc: SWAP1 000049dd: DUP1 000049de: MUL 000049df: SWAP1 000049e0: PUSH2 0x49ae 000049e3: JUMP 000049e4: JUMPDEST 000049e5: POP 000049e6: SWAP3 000049e7: POP 000049e8: SWAP3 000049e9: SWAP1 000049ea: POP 000049eb: JUMP 000049ec: JUMPDEST 000049ed: PUSH1 0x00 000049ef: DUP3 000049f0: PUSH2 0x49fb 000049f3: JUMPI 000049f4: POP 000049f5: PUSH1 0x01 000049f7: PUSH2 0x0e38 000049fa: JUMP 000049fb: JUMPDEST 000049fc: DUP2 000049fd: PUSH2 0x4a08 00004a00: JUMPI 00004a01: POP 00004a02: PUSH1 0x00 00004a04: PUSH2 0x0e38 00004a07: JUMP 00004a08: JUMPDEST 00004a09: DUP2 00004a0a: PUSH1 0x01 00004a0c: DUP2 00004a0d: EQ 00004a0e: PUSH2 0x4a1e 00004a11: JUMPI 00004a12: PUSH1 0x02 00004a14: DUP2 00004a15: EQ 00004a16: PUSH2 0x4a28 00004a19: JUMPI 00004a1a: PUSH2 0x4a44 00004a1d: JUMP 00004a1e: JUMPDEST 00004a1f: PUSH1 0x01 00004a21: SWAP2 00004a22: POP 00004a23: POP 00004a24: PUSH2 0x0e38 00004a27: JUMP 00004a28: JUMPDEST 00004a29: PUSH1 0xff 00004a2b: DUP5 00004a2c: GT 00004a2d: ISZERO 00004a2e: PUSH2 0x4a39 00004a31: JUMPI 00004a32: PUSH2 0x4a39 00004a35: PUSH2 0x4993 00004a38: JUMP 00004a39: JUMPDEST 00004a3a: POP 00004a3b: POP 00004a3c: PUSH1 0x01 00004a3e: DUP3 00004a3f: SHL 00004a40: PUSH2 0x0e38 00004a43: JUMP 00004a44: JUMPDEST 00004a45: POP 00004a46: PUSH1 0x20 00004a48: DUP4 00004a49: LT 00004a4a: PUSH2 0x0133 00004a4d: DUP4 00004a4e: LT 00004a4f: AND 00004a50: PUSH1 0x4e 00004a52: DUP5 00004a53: LT 00004a54: PUSH1 0x0b 00004a56: DUP5 00004a57: LT 00004a58: AND 00004a59: OR 00004a5a: ISZERO 00004a5b: PUSH2 0x4a67 00004a5e: JUMPI 00004a5f: POP 00004a60: DUP2 00004a61: DUP2 00004a62: EXP 00004a63: PUSH2 0x0e38 00004a66: JUMP 00004a67: JUMPDEST 00004a68: PUSH2 0x4a71 00004a6b: DUP4 00004a6c: DUP4 00004a6d: PUSH2 0x49a9 00004a70: JUMP 00004a71: JUMPDEST 00004a72: DUP1 00004a73: PUSH1 0x00 00004a75: NOT 00004a76: DIV 00004a77: DUP3 00004a78: GT 00004a79: ISZERO 00004a7a: PUSH2 0x4a85 00004a7d: JUMPI 00004a7e: PUSH2 0x4a85 00004a81: PUSH2 0x4993 00004a84: JUMP 00004a85: JUMPDEST 00004a86: MUL 00004a87: SWAP4 00004a88: SWAP3 00004a89: POP 00004a8a: POP 00004a8b: POP 00004a8c: JUMP 00004a8d: JUMPDEST 00004a8e: PUSH1 0x00 00004a90: PUSH2 0x11eb 00004a93: DUP4 00004a94: DUP4 00004a95: PUSH2 0x49ec 00004a98: JUMP 00004a99: JUMPDEST 00004a9a: DUP1 00004a9b: DUP3 00004a9c: ADD 00004a9d: DUP1 00004a9e: DUP3 00004a9f: GT 00004aa0: ISZERO 00004aa1: PUSH2 0x0e38 00004aa4: JUMPI 00004aa5: PUSH2 0x0e38 00004aa8: PUSH2 0x4993 00004aab: JUMP 00004aac: JUMPDEST 00004aad: PUSH1 0x00 00004aaf: DUP3 00004ab0: CALLDATALOAD 00004ab1: PUSH1 0xde 00004ab3: NOT 00004ab4: DUP4 00004ab5: CALLDATASIZE 00004ab6: SUB 00004ab7: ADD 00004ab8: DUP2 00004ab9: SLT 00004aba: PUSH2 0x4ac2 00004abd: JUMPI 00004abe: PUSH1 0x00 00004ac0: DUP1 00004ac1: REVERT 00004ac2: JUMPDEST 00004ac3: SWAP2 00004ac4: SWAP1 00004ac5: SWAP2 00004ac6: ADD 00004ac7: SWAP3 00004ac8: SWAP2 00004ac9: POP 00004aca: POP 00004acb: JUMP 00004acc: JUMPDEST 00004acd: DUP1 00004ace: CALLDATALOAD 00004acf: PUSH9 0xffffffffffffffffff 00004ad9: DUP2 00004ada: AND 00004adb: DUP2 00004adc: EQ 00004add: PUSH2 0x3f3a 00004ae0: JUMPI 00004ae1: PUSH1 0x00 00004ae3: DUP1 00004ae4: REVERT 00004ae5: JUMPDEST 00004ae6: PUSH1 0x00 00004ae8: PUSH1 0x20 00004aea: DUP3 00004aeb: DUP5 00004aec: SUB 00004aed: SLT 00004aee: ISZERO 00004aef: PUSH2 0x4af7 00004af2: JUMPI 00004af3: PUSH1 0x00 00004af5: DUP1 00004af6: REVERT 00004af7: JUMPDEST 00004af8: PUSH2 0x11eb 00004afb: DUP3 00004afc: PUSH2 0x4acc 00004aff: JUMP 00004b00: JUMPDEST 00004b01: DUP1 00004b02: CALLDATALOAD 00004b03: PUSH1 0x01 00004b05: PUSH1 0x01 00004b07: PUSH1 0x40 00004b09: SHL 00004b0a: SUB 00004b0b: DUP2 00004b0c: AND 00004b0d: DUP2 00004b0e: EQ 00004b0f: PUSH2 0x3f3a 00004b12: JUMPI 00004b13: PUSH1 0x00 00004b15: DUP1 00004b16: REVERT 00004b17: JUMPDEST 00004b18: PUSH1 0x00 00004b1a: PUSH1 0x20 00004b1c: DUP3 00004b1d: DUP5 00004b1e: SUB 00004b1f: SLT 00004b20: ISZERO 00004b21: PUSH2 0x4b29 00004b24: JUMPI 00004b25: PUSH1 0x00 00004b27: DUP1 00004b28: REVERT 00004b29: JUMPDEST 00004b2a: PUSH2 0x11eb 00004b2d: DUP3 00004b2e: PUSH2 0x4b00 00004b31: JUMP 00004b32: JUMPDEST 00004b33: DUP1 00004b34: CALLDATALOAD 00004b35: PUSH2 0xffff 00004b38: DUP2 00004b39: AND 00004b3a: DUP2 00004b3b: EQ 00004b3c: PUSH2 0x3f3a 00004b3f: JUMPI 00004b40: PUSH1 0x00 00004b42: DUP1 00004b43: REVERT 00004b44: JUMPDEST 00004b45: PUSH1 0x00 00004b47: PUSH1 0x20 00004b49: DUP3 00004b4a: DUP5 00004b4b: SUB 00004b4c: SLT 00004b4d: ISZERO 00004b4e: PUSH2 0x4b56 00004b51: JUMPI 00004b52: PUSH1 0x00 00004b54: DUP1 00004b55: REVERT 00004b56: JUMPDEST 00004b57: PUSH2 0x11eb 00004b5a: DUP3 00004b5b: PUSH2 0x4b32 00004b5e: JUMP 00004b5f: JUMPDEST 00004b60: DUP1 00004b61: CALLDATALOAD 00004b62: PUSH1 0x03 00004b64: DUP2 00004b65: LT 00004b66: PUSH2 0x3f3a 00004b69: JUMPI 00004b6a: PUSH1 0x00 00004b6c: DUP1 00004b6d: REVERT 00004b6e: JUMPDEST 00004b6f: PUSH1 0x00 00004b71: PUSH1 0x20 00004b73: DUP3 00004b74: DUP5 00004b75: SUB 00004b76: SLT 00004b77: ISZERO 00004b78: PUSH2 0x4b80 00004b7b: JUMPI 00004b7c: PUSH1 0x00 00004b7e: DUP1 00004b7f: REVERT 00004b80: JUMPDEST 00004b81: PUSH2 0x11eb 00004b84: DUP3 00004b85: PUSH2 0x4b5f 00004b88: JUMP 00004b89: JUMPDEST 00004b8a: PUSH1 0x00 00004b8c: DUP1 00004b8d: DUP4 00004b8e: CALLDATALOAD 00004b8f: PUSH1 0x1e 00004b91: NOT 00004b92: DUP5 00004b93: CALLDATASIZE 00004b94: SUB 00004b95: ADD 00004b96: DUP2 00004b97: SLT 00004b98: PUSH2 0x4ba0 00004b9b: JUMPI 00004b9c: PUSH1 0x00 00004b9e: DUP1 00004b9f: REVERT 00004ba0: JUMPDEST 00004ba1: DUP4 00004ba2: ADD 00004ba3: DUP1 00004ba4: CALLDATALOAD 00004ba5: SWAP2 00004ba6: POP 00004ba7: PUSH1 0x01 00004ba9: PUSH1 0x01 00004bab: PUSH1 0x40 00004bad: SHL 00004bae: SUB 00004baf: DUP3 00004bb0: GT 00004bb1: ISZERO 00004bb2: PUSH2 0x4bba 00004bb5: JUMPI 00004bb6: PUSH1 0x00 00004bb8: DUP1 00004bb9: REVERT 00004bba: JUMPDEST 00004bbb: PUSH1 0x20 00004bbd: ADD 00004bbe: SWAP2 00004bbf: POP 00004bc0: PUSH1 0x05 00004bc2: DUP2 00004bc3: SWAP1 00004bc4: SHL 00004bc5: CALLDATASIZE 00004bc6: SUB 00004bc7: DUP3 00004bc8: SGT 00004bc9: ISZERO 00004bca: PUSH2 0x469d 00004bcd: JUMPI 00004bce: PUSH1 0x00 00004bd0: DUP1 00004bd1: REVERT 00004bd2: JUMPDEST 00004bd3: DUP2 00004bd4: DUP2 00004bd5: SUB 00004bd6: DUP2 00004bd7: DUP2 00004bd8: GT 00004bd9: ISZERO 00004bda: PUSH2 0x0e38 00004bdd: JUMPI 00004bde: PUSH2 0x0e38 00004be1: PUSH2 0x4993 00004be4: JUMP 00004be5: JUMPDEST 00004be6: PUSH1 0x00 00004be8: PUSH1 0x20 00004bea: DUP3 00004beb: DUP5 00004bec: SUB 00004bed: SLT 00004bee: ISZERO 00004bef: PUSH2 0x4bf7 00004bf2: JUMPI 00004bf3: PUSH1 0x00 00004bf5: DUP1 00004bf6: REVERT 00004bf7: JUMPDEST 00004bf8: PUSH2 0x11eb 00004bfb: DUP3 00004bfc: PUSH2 0x3f23 00004bff: JUMP 00004c00: JUMPDEST 00004c01: PUSH4 0x4e487b71 00004c06: PUSH1 0xe0 00004c08: SHL 00004c09: PUSH1 0x00 00004c0b: MSTORE 00004c0c: PUSH1 0x32 00004c0e: PUSH1 0x04 00004c10: MSTORE 00004c11: PUSH1 0x24 00004c13: PUSH1 0x00 00004c15: REVERT 00004c16: JUMPDEST 00004c17: PUSH1 0x00 00004c19: DUP1 00004c1a: DUP4 00004c1b: CALLDATALOAD 00004c1c: PUSH1 0x1e 00004c1e: NOT 00004c1f: DUP5 00004c20: CALLDATASIZE 00004c21: SUB 00004c22: ADD 00004c23: DUP2 00004c24: SLT 00004c25: PUSH2 0x4c2d 00004c28: JUMPI 00004c29: PUSH1 0x00 00004c2b: DUP1 00004c2c: REVERT 00004c2d: JUMPDEST 00004c2e: DUP4 00004c2f: ADD 00004c30: PUSH1 0x20 00004c32: DUP2 00004c33: ADD 00004c34: SWAP3 00004c35: POP 00004c36: CALLDATALOAD 00004c37: SWAP1 00004c38: POP 00004c39: PUSH1 0x01 00004c3b: PUSH1 0x01 00004c3d: PUSH1 0x40 00004c3f: SHL 00004c40: SUB 00004c41: DUP2 00004c42: GT 00004c43: ISZERO 00004c44: PUSH2 0x4c4c 00004c47: JUMPI 00004c48: PUSH1 0x00 00004c4a: DUP1 00004c4b: REVERT 00004c4c: JUMPDEST 00004c4d: DUP1 00004c4e: PUSH1 0x05 00004c50: SHL 00004c51: CALLDATASIZE 00004c52: SUB 00004c53: DUP3 00004c54: SGT 00004c55: ISZERO 00004c56: PUSH2 0x469d 00004c59: JUMPI 00004c5a: PUSH1 0x00 00004c5c: DUP1 00004c5d: REVERT 00004c5e: JUMPDEST 00004c5f: PUSH1 0x00 00004c61: DUP1 00004c62: DUP4 00004c63: CALLDATALOAD 00004c64: PUSH1 0x1e 00004c66: NOT 00004c67: DUP5 00004c68: CALLDATASIZE 00004c69: SUB 00004c6a: ADD 00004c6b: DUP2 00004c6c: SLT 00004c6d: PUSH2 0x4c75 00004c70: JUMPI 00004c71: PUSH1 0x00 00004c73: DUP1 00004c74: REVERT 00004c75: JUMPDEST 00004c76: DUP4 00004c77: ADD 00004c78: PUSH1 0x20 00004c7a: DUP2 00004c7b: ADD 00004c7c: SWAP3 00004c7d: POP 00004c7e: CALLDATALOAD 00004c7f: SWAP1 00004c80: POP 00004c81: PUSH1 0x01 00004c83: PUSH1 0x01 00004c85: PUSH1 0x40 00004c87: SHL 00004c88: SUB 00004c89: DUP2 00004c8a: GT 00004c8b: ISZERO 00004c8c: PUSH2 0x4c94 00004c8f: JUMPI 00004c90: PUSH1 0x00 00004c92: DUP1 00004c93: REVERT 00004c94: JUMPDEST 00004c95: DUP1 00004c96: CALLDATASIZE 00004c97: SUB 00004c98: DUP3 00004c99: SGT 00004c9a: ISZERO 00004c9b: PUSH2 0x469d 00004c9e: JUMPI 00004c9f: PUSH1 0x00 00004ca1: DUP1 00004ca2: REVERT 00004ca3: JUMPDEST 00004ca4: DUP2 00004ca5: DUP4 00004ca6: MSTORE 00004ca7: DUP2 00004ca8: DUP2 00004ca9: PUSH1 0x20 00004cab: DUP6 00004cac: ADD 00004cad: CALLDATACOPY 00004cae: POP 00004caf: PUSH1 0x00 00004cb1: DUP3 00004cb2: DUP3 00004cb3: ADD 00004cb4: PUSH1 0x20 00004cb6: SWAP1 00004cb7: DUP2 00004cb8: ADD 00004cb9: SWAP2 00004cba: SWAP1 00004cbb: SWAP2 00004cbc: MSTORE 00004cbd: PUSH1 0x1f 00004cbf: SWAP1 00004cc0: SWAP2 00004cc1: ADD 00004cc2: PUSH1 0x1f 00004cc4: NOT 00004cc5: AND 00004cc6: SWAP1 00004cc7: SWAP2 00004cc8: ADD 00004cc9: ADD 00004cca: SWAP1 00004ccb: JUMP 00004ccc: JUMPDEST 00004ccd: PUSH1 0x00 00004ccf: DUP4 00004cd0: DUP4 00004cd1: DUP6 00004cd2: MSTORE 00004cd3: PUSH1 0x20 00004cd5: DUP1 00004cd6: DUP7 00004cd7: ADD 00004cd8: SWAP6 00004cd9: POP 00004cda: PUSH1 0x20 00004cdc: DUP6 00004cdd: PUSH1 0x05 00004cdf: SHL 00004ce0: DUP4 00004ce1: ADD 00004ce2: ADD 00004ce3: DUP5 00004ce4: PUSH1 0x00 00004ce6: DUP1 00004ce7: JUMPDEST 00004ce8: DUP9 00004ce9: DUP2 00004cea: LT 00004ceb: ISZERO 00004cec: PUSH2 0x4d86 00004cef: JUMPI 00004cf0: DUP6 00004cf1: DUP5 00004cf2: SUB 00004cf3: PUSH1 0x1f 00004cf5: NOT 00004cf6: ADD 00004cf7: DUP11 00004cf8: MSTORE 00004cf9: DUP3 00004cfa: CALLDATALOAD 00004cfb: CALLDATASIZE 00004cfc: DUP10 00004cfd: SWAP1 00004cfe: SUB 00004cff: PUSH1 0xfe 00004d01: NOT 00004d02: ADD 00004d03: DUP2 00004d04: SLT 00004d05: PUSH2 0x4d0c 00004d08: JUMPI 00004d09: DUP3 00004d0a: DUP4 00004d0b: REVERT 00004d0c: JUMPDEST 00004d0d: DUP9 00004d0e: ADD 00004d0f: PUSH2 0x0100 00004d12: PUSH1 0x80 00004d14: DUP1 00004d15: DUP4 00004d16: DUP9 00004d17: CALLDATACOPY 00004d18: DUP3 00004d19: DUP2 00004d1a: ADD 00004d1b: CALLDATALOAD 00004d1c: SWAP1 00004d1d: DUP8 00004d1e: ADD 00004d1f: MSTORE 00004d20: PUSH1 0xa0 00004d22: DUP1 00004d23: DUP4 00004d24: ADD 00004d25: CALLDATALOAD 00004d26: SWAP1 00004d27: DUP8 00004d28: ADD 00004d29: MSTORE 00004d2a: PUSH1 0xc0 00004d2c: PUSH2 0x4d37 00004d2f: DUP2 00004d30: DUP5 00004d31: ADD 00004d32: DUP5 00004d33: PUSH2 0x4c5e 00004d36: JUMP 00004d37: JUMPDEST 00004d38: DUP4 00004d39: DUP4 00004d3a: DUP11 00004d3b: ADD 00004d3c: MSTORE 00004d3d: PUSH2 0x4d49 00004d40: DUP5 00004d41: DUP11 00004d42: ADD 00004d43: DUP3 00004d44: DUP5 00004d45: PUSH2 0x4ca3 00004d48: JUMP 00004d49: JUMPDEST 00004d4a: SWAP4 00004d4b: POP 00004d4c: POP 00004d4d: POP 00004d4e: POP 00004d4f: PUSH1 0xe0 00004d51: PUSH2 0x4d5c 00004d54: DUP2 00004d55: DUP5 00004d56: ADD 00004d57: DUP5 00004d58: PUSH2 0x4c5e 00004d5b: JUMP 00004d5c: JUMPDEST 00004d5d: SWAP4 00004d5e: POP 00004d5f: DUP8 00004d60: DUP4 00004d61: SUB 00004d62: DUP3 00004d63: DUP10 00004d64: ADD 00004d65: MSTORE 00004d66: PUSH2 0x4d70 00004d69: DUP4 00004d6a: DUP6 00004d6b: DUP4 00004d6c: PUSH2 0x4ca3 00004d6f: JUMP 00004d70: JUMPDEST 00004d71: SWAP14 00004d72: DUP10 00004d73: ADD 00004d74: SWAP14 00004d75: SWAP8 00004d76: POP 00004d77: POP 00004d78: POP 00004d79: SWAP4 00004d7a: DUP7 00004d7b: ADD 00004d7c: SWAP4 00004d7d: POP 00004d7e: POP 00004d7f: PUSH1 0x01 00004d81: ADD 00004d82: PUSH2 0x4ce7 00004d85: JUMP 00004d86: JUMPDEST 00004d87: POP 00004d88: SWAP2 00004d89: SWAP9 00004d8a: SWAP8 00004d8b: POP 00004d8c: POP 00004d8d: POP 00004d8e: POP 00004d8f: POP 00004d90: POP 00004d91: POP 00004d92: POP 00004d93: JUMP 00004d94: JUMPDEST 00004d95: PUSH1 0x20 00004d97: DUP2 00004d98: MSTORE 00004d99: PUSH2 0xffff 00004d9c: PUSH2 0x4da4 00004d9f: DUP4 00004da0: PUSH2 0x4b32 00004da3: JUMP 00004da4: JUMPDEST 00004da5: AND 00004da6: PUSH1 0x20 00004da8: DUP3 00004da9: ADD 00004daa: MSTORE 00004dab: PUSH9 0xffffffffffffffffff 00004db5: PUSH2 0x4dc0 00004db8: PUSH1 0x20 00004dba: DUP5 00004dbb: ADD 00004dbc: PUSH2 0x4acc 00004dbf: JUMP 00004dc0: JUMPDEST 00004dc1: AND 00004dc2: PUSH1 0x40 00004dc4: DUP3 00004dc5: ADD 00004dc6: MSTORE 00004dc7: PUSH1 0x00 00004dc9: PUSH2 0x4dd4 00004dcc: PUSH1 0x40 00004dce: DUP5 00004dcf: ADD 00004dd0: PUSH2 0x4b5f 00004dd3: JUMP 00004dd4: JUMPDEST 00004dd5: PUSH1 0x03 00004dd7: DUP2 00004dd8: LT 00004dd9: PUSH2 0x4de4 00004ddc: JUMPI 00004ddd: PUSH2 0x4de4 00004de0: PUSH2 0x4915 00004de3: JUMP 00004de4: JUMPDEST 00004de5: DUP1 00004de6: PUSH1 0x60 00004de8: DUP5 00004de9: ADD 00004dea: MSTORE 00004deb: POP 00004dec: PUSH2 0x4df7 00004def: PUSH1 0x60 00004df1: DUP5 00004df2: ADD 00004df3: PUSH2 0x4b00 00004df6: JUMP 00004df7: JUMPDEST 00004df8: PUSH1 0x01 00004dfa: PUSH1 0x01 00004dfc: PUSH1 0x40 00004dfe: SHL 00004dff: SUB 00004e00: DUP2 00004e01: AND 00004e02: PUSH1 0x80 00004e04: DUP5 00004e05: ADD 00004e06: MSTORE 00004e07: POP 00004e08: PUSH2 0x4e13 00004e0b: PUSH1 0x80 00004e0d: DUP5 00004e0e: ADD 00004e0f: PUSH2 0x3f3f 00004e12: JUMP 00004e13: JUMPDEST 00004e14: PUSH1 0x01 00004e16: PUSH1 0x01 00004e18: PUSH1 0xa0 00004e1a: SHL 00004e1b: SUB 00004e1c: DUP2 00004e1d: AND 00004e1e: PUSH1 0xa0 00004e20: DUP5 00004e21: ADD 00004e22: MSTORE 00004e23: POP 00004e24: PUSH1 0xa0 00004e26: DUP4 00004e27: ADD 00004e28: CALLDATALOAD 00004e29: PUSH1 0xc0 00004e2b: DUP4 00004e2c: ADD 00004e2d: MSTORE 00004e2e: PUSH2 0x4e3a 00004e31: PUSH1 0xc0 00004e33: DUP5 00004e34: ADD 00004e35: DUP5 00004e36: PUSH2 0x4c16 00004e39: JUMP 00004e3a: JUMPDEST 00004e3b: PUSH1 0xe0 00004e3d: DUP1 00004e3e: DUP6 00004e3f: ADD 00004e40: MSTORE 00004e41: PUSH2 0x37d3 00004e44: PUSH2 0x0100 00004e47: DUP6 00004e48: ADD 00004e49: DUP3 00004e4a: DUP5 00004e4b: PUSH2 0x4ccc 00004e4e: JUMP 00004e4f: JUMPDEST 00004e50: PUSH4 0x4e487b71 00004e55: PUSH1 0xe0 00004e57: SHL 00004e58: PUSH1 0x00 00004e5a: MSTORE 00004e5b: PUSH1 0x12 00004e5d: PUSH1 0x04 00004e5f: MSTORE 00004e60: PUSH1 0x24 00004e62: PUSH1 0x00 00004e64: REVERT 00004e65: JUMPDEST 00004e66: PUSH1 0x00 00004e68: DUP3 00004e69: PUSH2 0x4e74 00004e6c: JUMPI 00004e6d: PUSH2 0x4e74 00004e70: PUSH2 0x4e4f 00004e73: JUMP 00004e74: JUMPDEST 00004e75: POP 00004e76: MOD 00004e77: SWAP1 00004e78: JUMP 00004e79: JUMPDEST 00004e7a: PUSH1 0x00 00004e7c: PUSH2 0x0100 00004e7f: DUP3 00004e80: DUP5 00004e81: SUB 00004e82: SLT 00004e83: ISZERO 00004e84: PUSH2 0x4e8c 00004e87: JUMPI 00004e88: PUSH1 0x00 00004e8a: DUP1 00004e8b: REVERT 00004e8c: JUMPDEST 00004e8d: PUSH2 0x4e94 00004e90: PUSH2 0x411f 00004e93: JUMP 00004e94: JUMPDEST 00004e95: PUSH2 0x4e9e 00004e98: DUP5 00004e99: DUP5 00004e9a: PUSH2 0x4224 00004e9d: JUMP 00004e9e: JUMPDEST 00004e9f: DUP2 00004ea0: MSTORE 00004ea1: PUSH2 0x4ead 00004ea4: DUP5 00004ea5: PUSH1 0x40 00004ea7: DUP6 00004ea8: ADD 00004ea9: PUSH2 0x42a4 00004eac: JUMP 00004ead: JUMPDEST 00004eae: PUSH1 0x20 00004eb0: DUP3 00004eb1: ADD 00004eb2: MSTORE 00004eb3: PUSH2 0x4782 00004eb6: DUP5 00004eb7: PUSH1 0xc0 00004eb9: DUP6 00004eba: ADD 00004ebb: PUSH2 0x4224 00004ebe: JUMP 00004ebf: JUMPDEST 00004ec0: PUSH1 0x01 00004ec2: DUP2 00004ec3: DUP2 00004ec4: SHR 00004ec5: SWAP1 00004ec6: DUP3 00004ec7: AND 00004ec8: DUP1 00004ec9: PUSH2 0x4ed3 00004ecc: JUMPI 00004ecd: PUSH1 0x7f 00004ecf: DUP3 00004ed0: AND 00004ed1: SWAP2 00004ed2: POP 00004ed3: JUMPDEST 00004ed4: PUSH1 0x20 00004ed6: DUP3 00004ed7: LT 00004ed8: DUP2 00004ed9: SUB 00004eda: PUSH2 0x4392 00004edd: JUMPI 00004ede: PUSH4 0x4e487b71 00004ee3: PUSH1 0xe0 00004ee5: SHL 00004ee6: PUSH1 0x00 00004ee8: MSTORE 00004ee9: PUSH1 0x22 00004eeb: PUSH1 0x04 00004eed: MSTORE 00004eee: PUSH1 0x24 00004ef0: PUSH1 0x00 00004ef2: REVERT 00004ef3: JUMPDEST 00004ef4: PUSH1 0x1f 00004ef6: DUP3 00004ef7: GT 00004ef8: ISZERO 00004ef9: PUSH2 0x20fe 00004efc: JUMPI 00004efd: PUSH1 0x00 00004eff: DUP2 00004f00: PUSH1 0x00 00004f02: MSTORE 00004f03: PUSH1 0x20 00004f05: PUSH1 0x00 00004f07: KECCAK256 00004f08: PUSH1 0x1f 00004f0a: DUP6 00004f0b: ADD 00004f0c: PUSH1 0x05 00004f0e: SHR 00004f0f: DUP2 00004f10: ADD 00004f11: PUSH1 0x20 00004f13: DUP7 00004f14: LT 00004f15: ISZERO 00004f16: PUSH2 0x4f1c 00004f19: JUMPI 00004f1a: POP 00004f1b: DUP1 00004f1c: JUMPDEST 00004f1d: PUSH1 0x1f 00004f1f: DUP6 00004f20: ADD 00004f21: PUSH1 0x05 00004f23: SHR 00004f24: DUP3 00004f25: ADD 00004f26: SWAP2 00004f27: POP 00004f28: JUMPDEST 00004f29: DUP2 00004f2a: DUP2 00004f2b: LT 00004f2c: ISZERO 00004f2d: PUSH2 0x4f3b 00004f30: JUMPI 00004f31: DUP3 00004f32: DUP2 00004f33: SSTORE 00004f34: PUSH1 0x01 00004f36: ADD 00004f37: PUSH2 0x4f28 00004f3a: JUMP 00004f3b: JUMPDEST 00004f3c: POP 00004f3d: POP 00004f3e: POP 00004f3f: POP 00004f40: POP 00004f41: POP 00004f42: JUMP 00004f43: JUMPDEST 00004f44: PUSH1 0x01 00004f46: PUSH1 0x01 00004f48: PUSH1 0x40 00004f4a: SHL 00004f4b: SUB 00004f4c: DUP4 00004f4d: GT 00004f4e: ISZERO 00004f4f: PUSH2 0x4f5a 00004f52: JUMPI 00004f53: PUSH2 0x4f5a 00004f56: PUSH2 0x40bf 00004f59: JUMP 00004f5a: JUMPDEST 00004f5b: PUSH2 0x4f6e 00004f5e: DUP4 00004f5f: PUSH2 0x4f68 00004f62: DUP4 00004f63: SLOAD 00004f64: PUSH2 0x4ebf 00004f67: JUMP 00004f68: JUMPDEST 00004f69: DUP4 00004f6a: PUSH2 0x4ef3 00004f6d: JUMP 00004f6e: JUMPDEST 00004f6f: PUSH1 0x00 00004f71: PUSH1 0x1f 00004f73: DUP5 00004f74: GT 00004f75: PUSH1 0x01 00004f77: DUP2 00004f78: EQ 00004f79: PUSH2 0x4fa2 00004f7c: JUMPI 00004f7d: PUSH1 0x00 00004f7f: DUP6 00004f80: ISZERO 00004f81: PUSH2 0x4f8a 00004f84: JUMPI 00004f85: POP 00004f86: DUP4 00004f87: DUP3 00004f88: ADD 00004f89: CALLDATALOAD 00004f8a: JUMPDEST 00004f8b: PUSH1 0x00 00004f8d: NOT 00004f8e: PUSH1 0x03 00004f90: DUP8 00004f91: SWAP1 00004f92: SHL 00004f93: SHR 00004f94: NOT 00004f95: AND 00004f96: PUSH1 0x01 00004f98: DUP7 00004f99: SWAP1 00004f9a: SHL 00004f9b: OR 00004f9c: DUP4 00004f9d: SSTORE 00004f9e: PUSH2 0x4ffc 00004fa1: JUMP 00004fa2: JUMPDEST 00004fa3: PUSH1 0x00 00004fa5: DUP4 00004fa6: DUP2 00004fa7: MSTORE 00004fa8: PUSH1 0x20 00004faa: SWAP1 00004fab: KECCAK256 00004fac: PUSH1 0x1f 00004fae: NOT 00004faf: DUP7 00004fb0: AND 00004fb1: SWAP1 00004fb2: DUP4 00004fb3: JUMPDEST 00004fb4: DUP3 00004fb5: DUP2 00004fb6: LT 00004fb7: ISZERO 00004fb8: PUSH2 0x4fd3 00004fbb: JUMPI 00004fbc: DUP7 00004fbd: DUP6 00004fbe: ADD 00004fbf: CALLDATALOAD 00004fc0: DUP3 00004fc1: SSTORE 00004fc2: PUSH1 0x20 00004fc4: SWAP5 00004fc5: DUP6 00004fc6: ADD 00004fc7: SWAP5 00004fc8: PUSH1 0x01 00004fca: SWAP1 00004fcb: SWAP3 00004fcc: ADD 00004fcd: SWAP2 00004fce: ADD 00004fcf: PUSH2 0x4fb3 00004fd2: JUMP 00004fd3: JUMPDEST 00004fd4: POP 00004fd5: DUP7 00004fd6: DUP3 00004fd7: LT 00004fd8: ISZERO 00004fd9: PUSH2 0x4ff0 00004fdc: JUMPI 00004fdd: PUSH1 0x00 00004fdf: NOT 00004fe0: PUSH1 0xf8 00004fe2: DUP9 00004fe3: PUSH1 0x03 00004fe5: SHL 00004fe6: AND 00004fe7: SHR 00004fe8: NOT 00004fe9: DUP5 00004fea: DUP8 00004feb: ADD 00004fec: CALLDATALOAD 00004fed: AND 00004fee: DUP2 00004fef: SSTORE 00004ff0: JUMPDEST 00004ff1: POP 00004ff2: POP 00004ff3: PUSH1 0x01 00004ff5: DUP6 00004ff6: PUSH1 0x01 00004ff8: SHL 00004ff9: ADD 00004ffa: DUP4 00004ffb: SSTORE 00004ffc: JUMPDEST 00004ffd: POP 00004ffe: POP 00004fff: POP 00005000: POP 00005001: POP 00005002: JUMP 00005003: JUMPDEST 00005004: DUP1 00005005: DUP3 00005006: MUL 00005007: DUP2 00005008: ISZERO 00005009: DUP3 0000500a: DUP3 0000500b: DIV 0000500c: DUP5 0000500d: EQ 0000500e: OR 0000500f: PUSH2 0x0e38 00005012: JUMPI 00005013: PUSH2 0x0e38 00005016: PUSH2 0x4993 00005019: JUMP 0000501a: JUMPDEST 0000501b: DUP2 0000501c: PUSH1 0x00 0000501e: JUMPDEST 0000501f: PUSH1 0x02 00005021: DUP2 00005022: LT 00005023: ISZERO 00005024: PUSH2 0x503b 00005027: JUMPI 00005028: DUP2 00005029: CALLDATALOAD 0000502a: DUP4 0000502b: DUP3 0000502c: ADD 0000502d: SSTORE 0000502e: PUSH1 0x20 00005030: SWAP1 00005031: SWAP2 00005032: ADD 00005033: SWAP1 00005034: PUSH1 0x01 00005036: ADD 00005037: PUSH2 0x501e 0000503a: JUMP 0000503b: JUMPDEST 0000503c: POP 0000503d: POP 0000503e: PUSH1 0x40 00005040: DUP3 00005041: ADD 00005042: PUSH1 0x00 00005044: JUMPDEST 00005045: PUSH1 0x02 00005047: DUP1 00005048: DUP3 00005049: LT 0000504a: PUSH2 0x5053 0000504d: JUMPI 0000504e: POP 0000504f: PUSH2 0x1ad5 00005052: JUMP 00005053: JUMPDEST 00005054: DUP3 00005055: CALLDATALOAD 00005056: DUP5 00005057: DUP4 00005058: ADD 00005059: SWAP1 0000505a: SWAP2 0000505b: ADD 0000505c: SSTORE 0000505d: PUSH1 0x20 0000505f: SWAP1 00005060: SWAP2 00005061: ADD 00005062: SWAP1 00005063: PUSH1 0x01 00005065: ADD 00005066: PUSH2 0x5044 00005069: JUMP 0000506a: JUMPDEST 0000506b: PUSH1 0x00 0000506d: DUP1 0000506e: DUP4 0000506f: CALLDATALOAD 00005070: PUSH1 0x1e 00005072: NOT 00005073: DUP5 00005074: CALLDATASIZE 00005075: SUB 00005076: ADD 00005077: DUP2 00005078: SLT 00005079: PUSH2 0x5081 0000507c: JUMPI 0000507d: PUSH1 0x00 0000507f: DUP1 00005080: REVERT 00005081: JUMPDEST 00005082: DUP4 00005083: ADD 00005084: DUP1 00005085: CALLDATALOAD 00005086: SWAP2 00005087: POP 00005088: PUSH1 0x01 0000508a: PUSH1 0x01 0000508c: PUSH1 0x40 0000508e: SHL 0000508f: SUB 00005090: DUP3 00005091: GT 00005092: ISZERO 00005093: PUSH2 0x509b 00005096: JUMPI 00005097: PUSH1 0x00 00005099: DUP1 0000509a: REVERT 0000509b: JUMPDEST 0000509c: PUSH1 0x20 0000509e: ADD 0000509f: SWAP2 000050a0: POP 000050a1: PUSH1 0x06 000050a3: DUP2 000050a4: SWAP1 000050a5: SHL 000050a6: CALLDATASIZE 000050a7: SUB 000050a8: DUP3 000050a9: SGT 000050aa: ISZERO 000050ab: PUSH2 0x469d 000050ae: JUMPI 000050af: PUSH1 0x00 000050b1: DUP1 000050b2: REVERT 000050b3: JUMPDEST 000050b4: PUSH9 0x010000000000000000 000050be: DUP4 000050bf: GT 000050c0: ISZERO 000050c1: PUSH2 0x50cc 000050c4: JUMPI 000050c5: PUSH2 0x50cc 000050c8: PUSH2 0x40bf 000050cb: JUMP 000050cc: JUMPDEST 000050cd: DUP1 000050ce: SLOAD 000050cf: DUP4 000050d0: DUP3 000050d1: SSTORE 000050d2: DUP1 000050d3: DUP5 000050d4: LT 000050d5: ISZERO 000050d6: PUSH2 0x5140 000050d9: JUMPI 000050da: PUSH1 0x01 000050dc: PUSH1 0x01 000050de: PUSH1 0x01 000050e0: PUSH1 0xff 000050e2: SHL 000050e3: SUB 000050e4: DUP3 000050e5: DUP2 000050e6: AND 000050e7: DUP4 000050e8: EQ 000050e9: PUSH2 0x50f4 000050ec: JUMPI 000050ed: PUSH2 0x50f4 000050f0: PUSH2 0x4993 000050f3: JUMP 000050f4: JUMPDEST 000050f5: DUP1 000050f6: DUP7 000050f7: AND 000050f8: DUP7 000050f9: EQ 000050fa: PUSH2 0x5105 000050fd: JUMPI 000050fe: PUSH2 0x5105 00005101: PUSH2 0x4993 00005104: JUMP 00005105: JUMPDEST 00005106: POP 00005107: PUSH1 0x00 00005109: DUP4 0000510a: PUSH1 0x00 0000510c: MSTORE 0000510d: PUSH1 0x20 0000510f: PUSH1 0x00 00005111: KECCAK256 00005112: DUP4 00005113: PUSH1 0x01 00005115: SHL 00005116: DUP2 00005117: ADD 00005118: DUP8 00005119: PUSH1 0x01 0000511b: SHL 0000511c: DUP3 0000511d: ADD 0000511e: SWAP2 0000511f: POP 00005120: JUMPDEST 00005121: DUP1 00005122: DUP3 00005123: LT 00005124: ISZERO 00005125: PUSH2 0x513b 00005128: JUMPI 00005129: DUP3 0000512a: DUP3 0000512b: SSTORE 0000512c: DUP3 0000512d: DUP5 0000512e: DUP4 0000512f: ADD 00005130: SSTORE 00005131: PUSH1 0x02 00005133: DUP3 00005134: ADD 00005135: SWAP2 00005136: POP 00005137: PUSH2 0x5120 0000513a: JUMP 0000513b: JUMPDEST 0000513c: POP 0000513d: POP 0000513e: POP 0000513f: POP 00005140: JUMPDEST 00005141: POP 00005142: PUSH1 0x00 00005144: DUP2 00005145: DUP2 00005146: MSTORE 00005147: PUSH1 0x20 00005149: DUP2 0000514a: KECCAK256 0000514b: DUP4 0000514c: SWAP2 0000514d: JUMPDEST 0000514e: DUP6 0000514f: DUP2 00005150: LT 00005151: ISZERO 00005152: PUSH2 0x4f3b 00005155: JUMPI 00005156: DUP3 00005157: CALLDATALOAD 00005158: DUP3 00005159: SSTORE 0000515a: PUSH1 0x20 0000515c: DUP4 0000515d: ADD 0000515e: CALLDATALOAD 0000515f: PUSH1 0x01 00005161: DUP4 00005162: ADD 00005163: SSTORE 00005164: PUSH1 0x40 00005166: SWAP3 00005167: SWAP1 00005168: SWAP3 00005169: ADD 0000516a: SWAP2 0000516b: PUSH1 0x02 0000516d: SWAP2 0000516e: SWAP1 0000516f: SWAP2 00005170: ADD 00005171: SWAP1 00005172: PUSH1 0x01 00005174: ADD 00005175: PUSH2 0x514d 00005178: JUMP 00005179: JUMPDEST 0000517a: DUP2 0000517b: CALLDATALOAD 0000517c: PUSH1 0x1e 0000517e: NOT 0000517f: DUP4 00005180: CALLDATASIZE 00005181: SUB 00005182: ADD 00005183: DUP2 00005184: SLT 00005185: PUSH2 0x518d 00005188: JUMPI 00005189: PUSH1 0x00 0000518b: DUP1 0000518c: REVERT 0000518d: JUMPDEST 0000518e: DUP3 0000518f: ADD 00005190: DUP1 00005191: CALLDATALOAD 00005192: PUSH1 0x01 00005194: PUSH1 0x01 00005196: PUSH1 0x40 00005198: SHL 00005199: SUB 0000519a: DUP2 0000519b: GT 0000519c: ISZERO 0000519d: PUSH2 0x51a5 000051a0: JUMPI 000051a1: PUSH1 0x00 000051a3: DUP1 000051a4: REVERT 000051a5: JUMPDEST 000051a6: PUSH1 0x20 000051a8: DUP3 000051a9: ADD 000051aa: SWAP2 000051ab: POP 000051ac: DUP1 000051ad: CALLDATASIZE 000051ae: SUB 000051af: DUP3 000051b0: SGT 000051b1: ISZERO 000051b2: PUSH2 0x51ba 000051b5: JUMPI 000051b6: PUSH1 0x00 000051b8: DUP1 000051b9: REVERT 000051ba: JUMPDEST 000051bb: PUSH2 0x51c5 000051be: DUP2 000051bf: DUP4 000051c0: DUP6 000051c1: PUSH2 0x4f43 000051c4: JUMP 000051c5: JUMPDEST 000051c6: POP 000051c7: POP 000051c8: PUSH1 0x20 000051ca: DUP3 000051cb: ADD 000051cc: CALLDATALOAD 000051cd: PUSH1 0x01 000051cf: DUP3 000051d0: ADD 000051d1: SSTORE 000051d2: PUSH1 0x40 000051d4: DUP3 000051d5: ADD 000051d6: CALLDATALOAD 000051d7: PUSH1 0x02 000051d9: DUP3 000051da: ADD 000051db: SSTORE 000051dc: PUSH2 0x51eb 000051df: PUSH1 0x60 000051e1: DUP4 000051e2: ADD 000051e3: PUSH1 0x03 000051e5: DUP4 000051e6: ADD 000051e7: PUSH2 0x501a 000051ea: JUMP 000051eb: JUMPDEST 000051ec: PUSH2 0x51fb 000051ef: PUSH1 0xe0 000051f1: DUP4 000051f2: ADD 000051f3: PUSH1 0x07 000051f5: DUP4 000051f6: ADD 000051f7: PUSH2 0x501a 000051fa: JUMP 000051fb: JUMPDEST 000051fc: PUSH2 0x520c 000051ff: PUSH2 0x0160 00005202: DUP4 00005203: ADD 00005204: PUSH1 0x0b 00005206: DUP4 00005207: ADD 00005208: PUSH2 0x501a 0000520b: JUMP 0000520c: JUMPDEST 0000520d: PUSH2 0x521a 00005210: PUSH2 0x01e0 00005213: DUP4 00005214: ADD 00005215: DUP4 00005216: PUSH2 0x506a 00005219: JUMP 0000521a: JUMPDEST 0000521b: PUSH2 0x1ad5 0000521e: DUP2 0000521f: DUP4 00005220: PUSH1 0x0f 00005222: DUP7 00005223: ADD 00005224: PUSH2 0x50b3 00005227: JUMP 00005228: JUMPDEST 00005229: PUSH1 0x40 0000522b: DUP2 0000522c: DUP4 0000522d: CALLDATACOPY 0000522e: PUSH1 0x40 00005230: DUP1 00005231: DUP3 00005232: ADD 00005233: PUSH1 0x40 00005235: DUP5 00005236: ADD 00005237: CALLDATACOPY 00005238: POP 00005239: POP 0000523a: JUMP 0000523b: JUMPDEST 0000523c: DUP2 0000523d: DUP4 0000523e: MSTORE 0000523f: PUSH1 0x20 00005241: DUP4 00005242: ADD 00005243: SWAP3 00005244: POP 00005245: PUSH1 0x00 00005247: DUP2 00005248: PUSH1 0x00 0000524a: JUMPDEST 0000524b: DUP5 0000524c: DUP2 0000524d: LT 0000524e: ISZERO 0000524f: PUSH2 0x5272 00005252: JUMPI 00005253: DUP2 00005254: CALLDATALOAD 00005255: DUP7 00005256: MSTORE 00005257: PUSH1 0x20 00005259: DUP1 0000525a: DUP4 0000525b: ADD 0000525c: CALLDATALOAD 0000525d: SWAP1 0000525e: DUP8 0000525f: ADD 00005260: MSTORE 00005261: PUSH1 0x40 00005263: SWAP6 00005264: DUP7 00005265: ADD 00005266: SWAP6 00005267: SWAP1 00005268: SWAP2 00005269: ADD 0000526a: SWAP1 0000526b: PUSH1 0x01 0000526d: ADD 0000526e: PUSH2 0x524a 00005271: JUMP 00005272: JUMPDEST 00005273: POP 00005274: SWAP4 00005275: SWAP5 00005276: SWAP4 00005277: POP 00005278: POP 00005279: POP 0000527a: POP 0000527b: JUMP 0000527c: JUMPDEST 0000527d: DUP4 0000527e: DUP2 0000527f: MSTORE 00005280: DUP3 00005281: PUSH1 0x20 00005283: DUP3 00005284: ADD 00005285: MSTORE 00005286: PUSH1 0x60 00005288: PUSH1 0x40 0000528a: DUP3 0000528b: ADD 0000528c: MSTORE 0000528d: PUSH1 0x00 0000528f: PUSH2 0x5298 00005292: DUP4 00005293: DUP5 00005294: PUSH2 0x4c5e 00005297: JUMP 00005298: JUMPDEST 00005299: PUSH2 0x0200 0000529c: PUSH1 0x60 0000529e: DUP6 0000529f: ADD 000052a0: MSTORE 000052a1: PUSH2 0x52af 000052a4: PUSH2 0x0260 000052a7: DUP6 000052a8: ADD 000052a9: DUP3 000052aa: DUP5 000052ab: PUSH2 0x4ca3 000052ae: JUMP 000052af: JUMPDEST 000052b0: PUSH1 0x20 000052b2: DUP7 000052b3: ADD 000052b4: CALLDATALOAD 000052b5: PUSH1 0x80 000052b7: DUP7 000052b8: ADD 000052b9: MSTORE 000052ba: PUSH1 0x40 000052bc: DUP7 000052bd: ADD 000052be: CALLDATALOAD 000052bf: PUSH1 0xa0 000052c1: DUP7 000052c2: ADD 000052c3: MSTORE 000052c4: SWAP2 000052c5: POP 000052c6: PUSH2 0x52cc 000052c9: SWAP1 000052ca: POP 000052cb: JUMP 000052cc: JUMPDEST 000052cd: PUSH2 0x52dc 000052d0: PUSH1 0xc0 000052d2: DUP5 000052d3: ADD 000052d4: PUSH1 0x60 000052d6: DUP7 000052d7: ADD 000052d8: PUSH2 0x5228 000052db: JUMP 000052dc: JUMPDEST 000052dd: PUSH2 0x52ed 000052e0: PUSH2 0x0140 000052e3: DUP5 000052e4: ADD 000052e5: PUSH1 0xe0 000052e7: DUP7 000052e8: ADD 000052e9: PUSH2 0x5228 000052ec: JUMP 000052ed: JUMPDEST 000052ee: PUSH2 0x52ff 000052f1: PUSH2 0x01c0 000052f4: DUP5 000052f5: ADD 000052f6: PUSH2 0x0160 000052f9: DUP7 000052fa: ADD 000052fb: PUSH2 0x5228 000052fe: JUMP 000052ff: JUMPDEST 00005300: PUSH2 0x01e0 00005303: DUP5 00005304: ADD 00005305: CALLDATALOAD 00005306: PUSH1 0x1e 00005308: NOT 00005309: DUP6 0000530a: CALLDATASIZE 0000530b: SUB 0000530c: ADD 0000530d: DUP2 0000530e: SLT 0000530f: PUSH2 0x5317 00005312: JUMPI 00005313: PUSH1 0x00 00005315: DUP1 00005316: REVERT 00005317: JUMPDEST 00005318: DUP5 00005319: ADD 0000531a: PUSH1 0x20 0000531c: DUP2 0000531d: ADD 0000531e: SWAP1 0000531f: CALLDATALOAD 00005320: PUSH1 0x01 00005322: PUSH1 0x01 00005324: PUSH1 0x40 00005326: SHL 00005327: SUB 00005328: DUP2 00005329: GT 0000532a: ISZERO 0000532b: PUSH2 0x5333 0000532e: JUMPI 0000532f: PUSH1 0x00 00005331: DUP1 00005332: REVERT 00005333: JUMPDEST 00005334: DUP1 00005335: PUSH1 0x06 00005337: SHL 00005338: CALLDATASIZE 00005339: SUB 0000533a: DUP3 0000533b: SGT 0000533c: ISZERO 0000533d: PUSH2 0x5345 00005340: JUMPI 00005341: PUSH1 0x00 00005343: DUP1 00005344: REVERT 00005345: JUMPDEST 00005346: DUP5 00005347: DUP4 00005348: SUB 00005349: PUSH1 0x5f 0000534b: NOT 0000534c: ADD 0000534d: PUSH2 0x0240 00005350: DUP7 00005351: ADD 00005352: MSTORE 00005353: PUSH2 0x535d 00005356: DUP4 00005357: DUP3 00005358: DUP5 00005359: PUSH2 0x523b 0000535c: JUMP 0000535d: JUMPDEST 0000535e: SWAP9 0000535f: SWAP8 00005360: POP 00005361: POP 00005362: POP 00005363: POP 00005364: POP 00005365: POP 00005366: POP 00005367: POP 00005368: JUMP 00005369: JUMPDEST 0000536a: PUSH1 0x00 0000536c: PUSH1 0x80 0000536e: DUP3 0000536f: DUP5 00005370: SUB 00005371: SLT 00005372: ISZERO 00005373: PUSH2 0x537b 00005376: JUMPI 00005377: PUSH1 0x00 00005379: DUP1 0000537a: REVERT 0000537b: JUMPDEST 0000537c: PUSH2 0x5383 0000537f: PUSH2 0x40d5 00005382: JUMP 00005383: JUMPDEST 00005384: DUP4 00005385: PUSH1 0x1f 00005387: DUP5 00005388: ADD 00005389: SLT 0000538a: PUSH2 0x5392 0000538d: JUMPI 0000538e: PUSH1 0x00 00005390: DUP1 00005391: REVERT 00005392: JUMPDEST 00005393: PUSH2 0x539a 00005396: PUSH2 0x411f 00005399: JUMP 0000539a: JUMPDEST 0000539b: DUP1 0000539c: PUSH1 0x60 0000539e: DUP6 0000539f: ADD 000053a0: DUP7 000053a1: DUP2 000053a2: GT 000053a3: ISZERO 000053a4: PUSH2 0x53ac 000053a7: JUMPI 000053a8: PUSH1 0x00 000053aa: DUP1 000053ab: REVERT 000053ac: JUMPDEST 000053ad: DUP6 000053ae: JUMPDEST 000053af: DUP2 000053b0: DUP2 000053b1: LT 000053b2: ISZERO 000053b3: PUSH2 0x53c6 000053b6: JUMPI 000053b7: DUP1 000053b8: CALLDATALOAD 000053b9: DUP5 000053ba: MSTORE 000053bb: PUSH1 0x20 000053bd: SWAP4 000053be: DUP5 000053bf: ADD 000053c0: SWAP4 000053c1: ADD 000053c2: PUSH2 0x53ae 000053c5: JUMP 000053c6: JUMPDEST 000053c7: POP 000053c8: SWAP1 000053c9: DUP4 000053ca: MSTORE 000053cb: CALLDATALOAD 000053cc: PUSH1 0x20 000053ce: DUP4 000053cf: ADD 000053d0: MSTORE 000053d1: POP 000053d2: SWAP4 000053d3: SWAP3 000053d4: POP 000053d5: POP 000053d6: POP 000053d7: JUMP 000053d8: JUMPDEST 000053d9: PUSH2 0x53e3 000053dc: DUP3 000053dd: DUP3 000053de: MLOAD 000053df: PUSH2 0x492b 000053e2: JUMP 000053e3: JUMPDEST 000053e4: PUSH1 0x20 000053e6: DUP2 000053e7: DUP2 000053e8: ADD 000053e9: MLOAD 000053ea: PUSH1 0x01 000053ec: PUSH1 0x01 000053ee: PUSH1 0xa0 000053f0: SHL 000053f1: SUB 000053f2: AND 000053f3: SWAP1 000053f4: DUP4 000053f5: ADD 000053f6: MSTORE 000053f7: PUSH1 0x40 000053f9: SWAP1 000053fa: DUP2 000053fb: ADD 000053fc: MLOAD 000053fd: SWAP2 000053fe: ADD 000053ff: MSTORE 00005400: JUMP 00005401: JUMPDEST 00005402: PUSH1 0x00 00005404: DUP2 00005405: MLOAD 00005406: DUP1 00005407: DUP5 00005408: MSTORE 00005409: PUSH1 0x20 0000540b: DUP1 0000540c: DUP6 0000540d: ADD 0000540e: SWAP5 0000540f: POP 00005410: DUP1 00005411: DUP5 00005412: ADD 00005413: PUSH1 0x00 00005415: DUP1 00005416: JUMPDEST 00005417: DUP5 00005418: DUP2 00005419: LT 0000541a: ISZERO 0000541b: PUSH2 0x545f 0000541e: JUMPI 0000541f: DUP3 00005420: MLOAD 00005421: DUP1 00005422: MLOAD 00005423: DUP10 00005424: DUP5 00005425: JUMPDEST 00005426: PUSH1 0x03 00005428: DUP2 00005429: LT 0000542a: ISZERO 0000542b: PUSH2 0x5442 0000542e: JUMPI 0000542f: DUP3 00005430: MLOAD 00005431: DUP3 00005432: MSTORE 00005433: SWAP2 00005434: DUP8 00005435: ADD 00005436: SWAP2 00005437: SWAP1 00005438: DUP8 00005439: ADD 0000543a: SWAP1 0000543b: PUSH1 0x01 0000543d: ADD 0000543e: PUSH2 0x5425 00005441: JUMP 00005442: JUMPDEST 00005443: POP 00005444: POP 00005445: POP 00005446: DUP5 00005447: ADD 00005448: MLOAD 00005449: PUSH1 0x60 0000544b: DUP10 0000544c: ADD 0000544d: MSTORE 0000544e: PUSH1 0x80 00005450: SWAP1 00005451: SWAP8 00005452: ADD 00005453: SWAP7 00005454: SWAP2 00005455: DUP4 00005456: ADD 00005457: SWAP2 00005458: PUSH1 0x01 0000545a: ADD 0000545b: PUSH2 0x5416 0000545e: JUMP 0000545f: JUMPDEST 00005460: POP 00005461: SWAP6 00005462: SWAP7 00005463: SWAP6 00005464: POP 00005465: POP 00005466: POP 00005467: POP 00005468: POP 00005469: POP 0000546a: JUMP 0000546b: JUMPDEST 0000546c: PUSH1 0x00 0000546e: DUP2 0000546f: MLOAD 00005470: DUP1 00005471: DUP5 00005472: MSTORE 00005473: PUSH1 0x20 00005475: DUP1 00005476: DUP6 00005477: ADD 00005478: SWAP5 00005479: POP 0000547a: PUSH1 0x20 0000547c: DUP5 0000547d: ADD 0000547e: PUSH1 0x00 00005480: JUMPDEST 00005481: DUP4 00005482: DUP2 00005483: LT 00005484: ISZERO 00005485: PUSH2 0x549c 00005488: JUMPI 00005489: DUP2 0000548a: MLOAD 0000548b: DUP8 0000548c: MSTORE 0000548d: SWAP6 0000548e: DUP3 0000548f: ADD 00005490: SWAP6 00005491: SWAP1 00005492: DUP3 00005493: ADD 00005494: SWAP1 00005495: PUSH1 0x01 00005497: ADD 00005498: PUSH2 0x5480 0000549b: JUMP 0000549c: JUMPDEST 0000549d: POP 0000549e: SWAP5 0000549f: SWAP6 000054a0: SWAP5 000054a1: POP 000054a2: POP 000054a3: POP 000054a4: POP 000054a5: POP 000054a6: JUMP 000054a7: JUMPDEST 000054a8: PUSH1 0x00 000054aa: PUSH1 0xa0 000054ac: DUP1 000054ad: DUP4 000054ae: ADD 000054af: DUP9 000054b0: DUP5 000054b1: MSTORE 000054b2: PUSH1 0x20 000054b4: DUP9 000054b5: PUSH1 0x20 000054b7: DUP7 000054b8: ADD 000054b9: MSTORE 000054ba: PUSH1 0x40 000054bc: PUSH1 0xa0 000054be: PUSH1 0x40 000054c0: DUP8 000054c1: ADD 000054c2: MSTORE 000054c3: DUP3 000054c4: DUP10 000054c5: MLOAD 000054c6: DUP1 000054c7: DUP6 000054c8: MSTORE 000054c9: PUSH1 0xc0 000054cb: DUP9 000054cc: ADD 000054cd: SWAP2 000054ce: POP 000054cf: PUSH1 0x20 000054d1: DUP12 000054d2: ADD 000054d3: SWAP5 000054d4: POP 000054d5: PUSH1 0x00 000054d7: JUMPDEST 000054d8: DUP2 000054d9: DUP2 000054da: LT 000054db: ISZERO 000054dc: PUSH2 0x5517 000054df: JUMPI 000054e0: DUP6 000054e1: MLOAD 000054e2: DUP1 000054e3: MLOAD 000054e4: DUP5 000054e5: MSTORE 000054e6: DUP6 000054e7: DUP2 000054e8: ADD 000054e9: MLOAD 000054ea: PUSH2 0x54f5 000054ed: DUP8 000054ee: DUP7 000054ef: ADD 000054f0: DUP3 000054f1: PUSH2 0x53d8 000054f4: JUMP 000054f5: JUMPDEST 000054f6: POP 000054f7: DUP5 000054f8: ADD 000054f9: MLOAD 000054fa: PUSH1 0x01 000054fc: PUSH1 0x01 000054fe: PUSH1 0x78 00005500: SHL 00005501: SUB 00005502: AND 00005503: PUSH1 0x80 00005505: DUP5 00005506: ADD 00005507: MSTORE 00005508: SWAP5 00005509: DUP5 0000550a: ADD 0000550b: SWAP5 0000550c: SWAP2 0000550d: DUP7 0000550e: ADD 0000550f: SWAP2 00005510: PUSH1 0x01 00005512: ADD 00005513: PUSH2 0x54d7 00005516: JUMP 00005517: JUMPDEST 00005518: POP 00005519: POP 0000551a: DUP7 0000551b: DUP2 0000551c: SUB 0000551d: PUSH1 0x60 0000551f: DUP9 00005520: ADD 00005521: MSTORE 00005522: PUSH2 0x552b 00005525: DUP2 00005526: DUP11 00005527: PUSH2 0x5401 0000552a: JUMP 0000552b: JUMPDEST 0000552c: SWAP5 0000552d: POP 0000552e: POP 0000552f: POP 00005530: POP 00005531: POP 00005532: DUP3 00005533: DUP2 00005534: SUB 00005535: PUSH1 0x80 00005537: DUP5 00005538: ADD 00005539: MSTORE 0000553a: PUSH2 0x535d 0000553d: DUP2 0000553e: DUP6 0000553f: PUSH2 0x546b 00005542: JUMP 00005543: JUMPDEST 00005544: PUSH1 0x40 00005546: DUP2 00005547: ADD 00005548: DUP2 00005549: DUP4 0000554a: PUSH1 0x00 0000554c: JUMPDEST 0000554d: PUSH1 0x02 0000554f: DUP2 00005550: LT 00005551: ISZERO 00005552: PUSH2 0x556b 00005555: JUMPI 00005556: DUP2 00005557: MLOAD 00005558: DUP4 00005559: MSTORE 0000555a: PUSH1 0x20 0000555c: SWAP3 0000555d: DUP4 0000555e: ADD 0000555f: SWAP3 00005560: SWAP1 00005561: SWAP2 00005562: ADD 00005563: SWAP1 00005564: PUSH1 0x01 00005566: ADD 00005567: PUSH2 0x554c 0000556a: JUMP 0000556b: JUMPDEST 0000556c: POP 0000556d: POP 0000556e: POP 0000556f: SWAP3 00005570: SWAP2 00005571: POP 00005572: POP 00005573: JUMP 00005574: JUMPDEST 00005575: PUSH1 0x00 00005577: PUSH1 0x20 00005579: DUP3 0000557a: DUP5 0000557b: SUB 0000557c: SLT 0000557d: ISZERO 0000557e: PUSH2 0x5586 00005581: JUMPI 00005582: PUSH1 0x00 00005584: DUP1 00005585: REVERT 00005586: JUMPDEST 00005587: POP 00005588: MLOAD 00005589: SWAP2 0000558a: SWAP1 0000558b: POP 0000558c: JUMP 0000558d: JUMPDEST 0000558e: PUSH1 0x01 00005590: PUSH1 0x01 00005592: PUSH1 0x88 00005594: SHL 00005595: SUB 00005596: DUP3 00005597: DUP2 00005598: AND 00005599: DUP3 0000559a: DUP3 0000559b: AND 0000559c: DUP2 0000559d: DUP2 0000559e: MUL 0000559f: DUP4 000055a0: AND 000055a1: SWAP3 000055a2: SWAP2 000055a3: DUP2 000055a4: ISZERO 000055a5: DUP3 000055a6: DUP6 000055a7: DIV 000055a8: DUP3 000055a9: EQ 000055aa: OR 000055ab: PUSH2 0x556b 000055ae: JUMPI 000055af: PUSH2 0x556b 000055b2: PUSH2 0x4993 000055b5: JUMP 000055b6: JUMPDEST 000055b7: PUSH1 0x00 000055b9: PUSH1 0x01 000055bb: PUSH1 0x01 000055bd: PUSH1 0x88 000055bf: SHL 000055c0: SUB 000055c1: DUP1 000055c2: DUP5 000055c3: AND 000055c4: DUP1 000055c5: PUSH2 0x55d0 000055c8: JUMPI 000055c9: PUSH2 0x55d0 000055cc: PUSH2 0x4e4f 000055cf: JUMP 000055d0: JUMPDEST 000055d1: SWAP3 000055d2: AND 000055d3: SWAP2 000055d4: SWAP1 000055d5: SWAP2 000055d6: DIV 000055d7: SWAP3 000055d8: SWAP2 000055d9: POP 000055da: POP 000055db: JUMP 000055dc: JUMPDEST 000055dd: PUSH1 0x01 000055df: PUSH1 0x01 000055e1: PUSH1 0x88 000055e3: SHL 000055e4: SUB 000055e5: DUP3 000055e6: DUP2 000055e7: AND 000055e8: DUP3 000055e9: DUP3 000055ea: AND 000055eb: SUB 000055ec: SWAP1 000055ed: DUP1 000055ee: DUP3 000055ef: GT 000055f0: ISZERO 000055f1: PUSH2 0x55fc 000055f4: JUMPI 000055f5: PUSH2 0x55fc 000055f8: PUSH2 0x4993 000055fb: JUMP 000055fc: JUMPDEST 000055fd: POP 000055fe: SWAP3 000055ff: SWAP2 00005600: POP 00005601: POP 00005602: JUMP 00005603: JUMPDEST 00005604: PUSH1 0x01 00005606: PUSH1 0x01 00005608: PUSH1 0x78 0000560a: SHL 0000560b: SUB 0000560c: DUP3 0000560d: DUP2 0000560e: AND 0000560f: DUP3 00005610: DUP3 00005611: AND 00005612: SUB 00005613: SWAP1 00005614: DUP1 00005615: DUP3 00005616: GT 00005617: ISZERO 00005618: PUSH2 0x55fc 0000561b: JUMPI 0000561c: PUSH2 0x55fc 0000561f: PUSH2 0x4993 00005622: JUMP 00005623: JUMPDEST 00005624: PUSH1 0x00 00005626: DUP3 00005627: CALLDATALOAD 00005628: PUSH2 0x021e 0000562b: NOT 0000562c: DUP4 0000562d: CALLDATASIZE 0000562e: SUB 0000562f: ADD 00005630: DUP2 00005631: SLT 00005632: PUSH2 0x4ac2 00005635: JUMPI 00005636: PUSH1 0x00 00005638: DUP1 00005639: REVERT 0000563a: JUMPDEST 0000563b: PUSH1 0x00 0000563d: PUSH1 0x20 0000563f: DUP3 00005640: DUP5 00005641: SUB 00005642: SLT 00005643: ISZERO 00005644: PUSH2 0x564c 00005647: JUMPI 00005648: PUSH1 0x00 0000564a: DUP1 0000564b: REVERT 0000564c: JUMPDEST 0000564d: DUP2 0000564e: CALLDATALOAD 0000564f: PUSH2 0x11eb 00005652: DUP2 00005653: PUSH2 0x46eb 00005656: JUMP 00005657: JUMPDEST 00005658: PUSH1 0x00 0000565a: PUSH1 0x20 0000565c: DUP3 0000565d: DUP5 0000565e: SUB 0000565f: SLT 00005660: ISZERO 00005661: PUSH2 0x5669 00005664: JUMPI 00005665: PUSH1 0x00 00005667: DUP1 00005668: REVERT 00005669: JUMPDEST 0000566a: DUP2 0000566b: MLOAD 0000566c: PUSH2 0x11eb 0000566f: DUP2 00005670: PUSH2 0x45f8 00005673: JUMP 00005674: JUMPDEST 00005675: PUSH1 0x60 00005677: DUP2 00005678: ADD 00005679: DUP2 0000567a: DUP4 0000567b: PUSH1 0x00 0000567d: JUMPDEST 0000567e: PUSH1 0x03 00005680: DUP2 00005681: LT 00005682: ISZERO 00005683: PUSH2 0x556b 00005686: JUMPI 00005687: DUP2 00005688: MLOAD 00005689: DUP4 0000568a: MSTORE 0000568b: PUSH1 0x20 0000568d: SWAP3 0000568e: DUP4 0000568f: ADD 00005690: SWAP3 00005691: SWAP1 00005692: SWAP2 00005693: ADD 00005694: SWAP1 00005695: PUSH1 0x01 00005697: ADD 00005698: PUSH2 0x567d 0000569b: JUMP 0000569c: JUMPDEST 0000569d: PUSH1 0x60 0000569f: DUP2 000056a0: ADD 000056a1: PUSH2 0x0e38 000056a4: DUP3 000056a5: DUP5 000056a6: PUSH2 0x53d8 000056a9: JUMP 000056aa: JUMPDEST 000056ab: PUSH1 0x20 000056ad: DUP2 000056ae: MSTORE 000056af: PUSH1 0x00 000056b1: PUSH2 0x11eb 000056b4: PUSH1 0x20 000056b6: DUP4 000056b7: ADD 000056b8: DUP5 000056b9: PUSH2 0x403e 000056bc: JUMP 000056bd: JUMPDEST 000056be: PUSH1 0x00 000056c0: PUSH1 0x80 000056c2: DUP1 000056c3: DUP4 000056c4: ADD 000056c5: DUP8 000056c6: DUP5 000056c7: MSTORE 000056c8: PUSH1 0x20 000056ca: DUP8 000056cb: DUP2 000056cc: DUP7 000056cd: ADD 000056ce: MSTORE 000056cf: PUSH1 0x40 000056d1: PUSH1 0x80 000056d3: PUSH1 0x40 000056d5: DUP8 000056d6: ADD 000056d7: MSTORE 000056d8: DUP3 000056d9: DUP9 000056da: MLOAD 000056db: DUP1 000056dc: DUP6 000056dd: MSTORE 000056de: PUSH1 0xa0 000056e0: SWAP5 000056e1: POP 000056e2: PUSH1 0xa0 000056e4: DUP9 000056e5: ADD 000056e6: SWAP2 000056e7: POP 000056e8: DUP4 000056e9: DUP11 000056ea: ADD 000056eb: PUSH1 0x00 000056ed: JUMPDEST 000056ee: DUP3 000056ef: DUP2 000056f0: LT 000056f1: ISZERO 000056f2: PUSH2 0x5709 000056f5: JUMPI 000056f6: DUP2 000056f7: MLOAD 000056f8: DUP5 000056f9: MSTORE 000056fa: SWAP3 000056fb: DUP6 000056fc: ADD 000056fd: SWAP3 000056fe: SWAP1 000056ff: DUP6 00005700: ADD 00005701: SWAP1 00005702: PUSH1 0x01 00005704: ADD 00005705: PUSH2 0x56ed 00005708: JUMP 00005709: JUMPDEST 0000570a: POP 0000570b: POP 0000570c: POP 0000570d: PUSH1 0x60 0000570f: DUP8 00005710: DUP3 00005711: SUB 00005712: PUSH1 0x60 00005714: DUP10 00005715: ADD 00005716: MSTORE 00005717: DUP2 00005718: DUP10 00005719: MLOAD 0000571a: DUP1 0000571b: DUP5 0000571c: MSTORE 0000571d: DUP6 0000571e: DUP5 0000571f: ADD 00005720: SWAP2 00005721: POP 00005722: DUP6 00005723: DUP2 00005724: PUSH1 0x05 00005726: SHL 00005727: DUP6 00005728: ADD 00005729: ADD 0000572a: DUP7 0000572b: DUP13 0000572c: ADD 0000572d: PUSH1 0x00 0000572f: JUMPDEST 00005730: DUP4 00005731: DUP2 00005732: LT 00005733: ISZERO 00005734: PUSH2 0x57c1 00005737: JUMPI 00005738: DUP7 00005739: DUP4 0000573a: SUB 0000573b: PUSH1 0x1f 0000573d: NOT 0000573e: ADD 0000573f: DUP6 00005740: MSTORE 00005741: DUP2 00005742: MLOAD 00005743: DUP1 00005744: MLOAD 00005745: PUSH2 0x0100 00005748: SWAP1 00005749: DUP6 0000574a: PUSH1 0x00 0000574c: JUMPDEST 0000574d: PUSH1 0x04 0000574f: DUP2 00005750: LT 00005751: ISZERO 00005752: PUSH2 0x5769 00005755: JUMPI 00005756: DUP3 00005757: MLOAD 00005758: DUP3 00005759: MSTORE 0000575a: SWAP2 0000575b: DUP14 0000575c: ADD 0000575d: SWAP2 0000575e: SWAP1 0000575f: DUP14 00005760: ADD 00005761: SWAP1 00005762: PUSH1 0x01 00005764: ADD 00005765: PUSH2 0x574c 00005768: JUMP 00005769: JUMPDEST 0000576a: POP 0000576b: POP 0000576c: POP 0000576d: DUP11 0000576e: DUP3 0000576f: ADD 00005770: MLOAD 00005771: DUP14 00005772: DUP7 00005773: ADD 00005774: MSTORE 00005775: DUP10 00005776: DUP3 00005777: ADD 00005778: MLOAD 00005779: DUP13 0000577a: DUP7 0000577b: ADD 0000577c: MSTORE 0000577d: DUP8 0000577e: DUP3 0000577f: ADD 00005780: MLOAD 00005781: DUP2 00005782: PUSH1 0xc0 00005784: DUP8 00005785: ADD 00005786: MSTORE 00005787: PUSH2 0x5792 0000578a: DUP3 0000578b: DUP8 0000578c: ADD 0000578d: DUP3 0000578e: PUSH2 0x403e 00005791: JUMP 00005792: JUMPDEST 00005793: SWAP2 00005794: POP 00005795: POP 00005796: DUP13 00005797: DUP3 00005798: ADD 00005799: MLOAD 0000579a: SWAP2 0000579b: POP 0000579c: DUP5 0000579d: DUP2 0000579e: SUB 0000579f: PUSH1 0xe0 000057a1: DUP7 000057a2: ADD 000057a3: MSTORE 000057a4: PUSH2 0x57ad 000057a7: DUP2 000057a8: DUP4 000057a9: PUSH2 0x403e 000057ac: JUMP 000057ad: JUMPDEST 000057ae: SWAP7 000057af: DUP12 000057b0: ADD 000057b1: SWAP7 000057b2: SWAP5 000057b3: POP 000057b4: POP 000057b5: POP 000057b6: SWAP1 000057b7: DUP9 000057b8: ADD 000057b9: SWAP1 000057ba: PUSH1 0x01 000057bc: ADD 000057bd: PUSH2 0x572f 000057c0: JUMP 000057c1: JUMPDEST 000057c2: POP 000057c3: SWAP1 000057c4: SWAP16 000057c5: SWAP15 000057c6: POP 000057c7: POP 000057c8: POP 000057c9: POP 000057ca: POP 000057cb: POP 000057cc: POP 000057cd: POP 000057ce: POP 000057cf: POP 000057d0: POP 000057d1: POP 000057d2: POP 000057d3: POP 000057d4: POP 000057d5: JUMP 000057d6: JUMPDEST 000057d7: PUSH1 0x20 000057d9: DUP1 000057da: DUP3 000057db: MSTORE 000057dc: PUSH1 0x2b 000057de: SWAP1 000057df: DUP3 000057e0: ADD 000057e1: MSTORE 000057e2: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 00005803: PUSH1 0x40 00005805: DUP3 00005806: ADD 00005807: MSTORE 00005808: PUSH11 0x6e697469616c697a696e67 00005814: PUSH1 0xa8 00005816: SHL 00005817: PUSH1 0x60 00005819: DUP3 0000581a: ADD 0000581b: MSTORE 0000581c: PUSH1 0x80 0000581e: ADD 0000581f: SWAP1 00005820: JUMP 00005821: JUMPDEST 00005822: DUP2 00005823: CALLDATALOAD 00005824: PUSH2 0x582c 00005827: DUP2 00005828: PUSH2 0x46eb 0000582b: JUMP 0000582c: JUMPDEST 0000582d: PUSH1 0x02 0000582f: DUP2 00005830: LT 00005831: PUSH2 0x583c 00005834: JUMPI 00005835: PUSH2 0x583c 00005838: PUSH2 0x4915 0000583b: JUMP 0000583c: JUMPDEST 0000583d: DUP2 0000583e: SLOAD 0000583f: PUSH1 0xff 00005841: DUP3 00005842: AND 00005843: SWAP2 00005844: POP 00005845: DUP2 00005846: PUSH1 0xff 00005848: NOT 00005849: DUP3 0000584a: AND 0000584b: OR 0000584c: DUP4 0000584d: SSTORE 0000584e: PUSH1 0x20 00005850: DUP5 00005851: ADD 00005852: CALLDATALOAD 00005853: PUSH2 0x585b 00005856: DUP2 00005857: PUSH2 0x3f0e 0000585a: JUMP 0000585b: JUMPDEST 0000585c: PUSH1 0x01 0000585e: PUSH1 0x01 00005860: PUSH1 0xa8 00005862: SHL 00005863: SUB 00005864: NOT 00005865: SWAP2 00005866: SWAP1 00005867: SWAP2 00005868: AND 00005869: SWAP1 0000586a: SWAP2 0000586b: OR 0000586c: PUSH1 0x08 0000586e: SWAP2 0000586f: SWAP1 00005870: SWAP2 00005871: SHL 00005872: PUSH2 0x0100 00005875: PUSH1 0x01 00005877: PUSH1 0xa8 00005879: SHL 0000587a: SUB 0000587b: AND 0000587c: OR 0000587d: DUP2 0000587e: SSTORE 0000587f: PUSH1 0x40 00005881: SWAP2 00005882: SWAP1 00005883: SWAP2 00005884: ADD 00005885: CALLDATALOAD 00005886: PUSH1 0x01 00005888: SWAP2 00005889: SWAP1 0000588a: SWAP2 0000588b: ADD 0000588c: SSTORE 0000588d: JUMP 0000588e: JUMPDEST 0000588f: PUSH1 0x00 00005891: PUSH1 0x20 00005893: DUP3 00005894: DUP5 00005895: SUB 00005896: SLT 00005897: ISZERO 00005898: PUSH2 0x58a0 0000589b: JUMPI 0000589c: PUSH1 0x00 0000589e: DUP1 0000589f: REVERT 000058a0: JUMPDEST 000058a1: DUP2 000058a2: MLOAD 000058a3: PUSH2 0x11eb 000058a6: DUP2 000058a7: PUSH2 0x3f0e 000058aa: JUMP 000058ab: JUMPDEST 000058ac: PUSH1 0x00 000058ae: PUSH1 0x01 000058b0: DUP3 000058b1: ADD 000058b2: PUSH2 0x58bd 000058b5: JUMPI 000058b6: PUSH2 0x58bd 000058b9: PUSH2 0x4993 000058bc: JUMP 000058bd: JUMPDEST 000058be: POP 000058bf: PUSH1 0x01 000058c1: ADD 000058c2: SWAP1 000058c3: JUMP 000058c4: JUMPDEST 000058c5: PUSH2 0xffff 000058c8: DUP5 000058c9: AND 000058ca: DUP2 000058cb: MSTORE 000058cc: PUSH1 0x40 000058ce: PUSH1 0x20 000058d0: DUP3 000058d1: ADD 000058d2: DUP2 000058d3: SWAP1 000058d4: MSTORE 000058d5: DUP2 000058d6: ADD 000058d7: DUP3 000058d8: SWAP1 000058d9: MSTORE 000058da: PUSH1 0x00 000058dc: PUSH1 0x01 000058de: PUSH1 0x01 000058e0: PUSH1 0xfb 000058e2: SHL 000058e3: SUB 000058e4: DUP4 000058e5: GT 000058e6: ISZERO 000058e7: PUSH2 0x58ef 000058ea: JUMPI 000058eb: PUSH1 0x00 000058ed: DUP1 000058ee: REVERT 000058ef: JUMPDEST 000058f0: DUP3 000058f1: PUSH1 0x05 000058f3: SHL 000058f4: DUP1 000058f5: DUP6 000058f6: PUSH1 0x60 000058f8: DUP6 000058f9: ADD 000058fa: CALLDATACOPY 000058fb: SWAP2 000058fc: SWAP1 000058fd: SWAP2 000058fe: ADD 000058ff: PUSH1 0x60 00005901: ADD 00005902: SWAP5 00005903: SWAP4 00005904: POP 00005905: POP 00005906: POP 00005907: POP 00005908: JUMP 00005909: JUMPDEST 0000590a: PUSH1 0x00 0000590c: DUP3 0000590d: CALLDATALOAD 0000590e: PUSH1 0xfe 00005910: NOT 00005911: DUP4 00005912: CALLDATASIZE 00005913: SUB 00005914: ADD 00005915: DUP2 00005916: SLT 00005917: PUSH2 0x4ac2 0000591a: JUMPI 0000591b: PUSH1 0x00 0000591d: DUP1 0000591e: REVERT 0000591f: JUMPDEST 00005920: PUSH1 0x00 00005922: PUSH2 0x0100 00005925: DUP3 00005926: CALLDATASIZE 00005927: SUB 00005928: SLT 00005929: ISZERO 0000592a: PUSH2 0x5932 0000592d: JUMPI 0000592e: PUSH1 0x00 00005930: DUP1 00005931: REVERT 00005932: JUMPDEST 00005933: PUSH2 0x593a 00005936: PUSH2 0x4141 00005939: JUMP 0000593a: JUMPDEST 0000593b: CALLDATASIZE 0000593c: PUSH1 0x1f 0000593e: DUP5 0000593f: ADD 00005940: SLT 00005941: PUSH2 0x5949 00005944: JUMPI 00005945: PUSH1 0x00 00005947: DUP1 00005948: REVERT 00005949: JUMPDEST 0000594a: PUSH2 0x5951 0000594d: PUSH2 0x4163 00005950: JUMP 00005951: JUMPDEST 00005952: DUP1 00005953: PUSH1 0x80 00005955: DUP6 00005956: ADD 00005957: CALLDATASIZE 00005958: DUP2 00005959: GT 0000595a: ISZERO 0000595b: PUSH2 0x5963 0000595e: JUMPI 0000595f: PUSH1 0x00 00005961: DUP1 00005962: REVERT 00005963: JUMPDEST 00005964: DUP6 00005965: JUMPDEST 00005966: DUP2 00005967: DUP2 00005968: LT 00005969: ISZERO 0000596a: PUSH2 0x597d 0000596d: JUMPI 0000596e: DUP1 0000596f: CALLDATALOAD 00005970: DUP5 00005971: MSTORE 00005972: PUSH1 0x20 00005974: SWAP4 00005975: DUP5 00005976: ADD 00005977: SWAP4 00005978: ADD 00005979: PUSH2 0x5965 0000597c: JUMP 0000597d: JUMPDEST 0000597e: POP 0000597f: SWAP1 00005980: DUP4 00005981: MSTORE 00005982: CALLDATALOAD 00005983: PUSH1 0x20 00005985: DUP4 00005986: ADD 00005987: MSTORE 00005988: POP 00005989: PUSH1 0xa0 0000598b: DUP4 0000598c: ADD 0000598d: CALLDATALOAD 0000598e: PUSH1 0x40 00005990: DUP3 00005991: ADD 00005992: MSTORE 00005993: PUSH1 0xc0 00005995: DUP4 00005996: ADD 00005997: CALLDATALOAD 00005998: PUSH1 0x01 0000599a: PUSH1 0x01 0000599c: PUSH1 0x40 0000599e: SHL 0000599f: SUB 000059a0: DUP1 000059a1: DUP3 000059a2: GT 000059a3: ISZERO 000059a4: PUSH2 0x59ac 000059a7: JUMPI 000059a8: PUSH1 0x00 000059aa: DUP1 000059ab: REVERT 000059ac: JUMPDEST 000059ad: PUSH2 0x59b8 000059b0: CALLDATASIZE 000059b1: DUP4 000059b2: DUP8 000059b3: ADD 000059b4: PUSH2 0x41b5 000059b7: JUMP 000059b8: JUMPDEST 000059b9: PUSH1 0x60 000059bb: DUP5 000059bc: ADD 000059bd: MSTORE 000059be: PUSH1 0xe0 000059c0: DUP6 000059c1: ADD 000059c2: CALLDATALOAD 000059c3: SWAP2 000059c4: POP 000059c5: DUP1 000059c6: DUP3 000059c7: GT 000059c8: ISZERO 000059c9: PUSH2 0x59d1 000059cc: JUMPI 000059cd: PUSH1 0x00 000059cf: DUP1 000059d0: REVERT 000059d1: JUMPDEST 000059d2: POP 000059d3: PUSH2 0x59de 000059d6: CALLDATASIZE 000059d7: DUP3 000059d8: DUP7 000059d9: ADD 000059da: PUSH2 0x41b5 000059dd: JUMP 000059de: JUMPDEST 000059df: PUSH1 0x80 000059e1: DUP4 000059e2: ADD 000059e3: MSTORE 000059e4: POP 000059e5: SWAP3 000059e6: SWAP2 000059e7: POP 000059e8: POP 000059e9: JUMP 000059ea: JUMPDEST 000059eb: DUP1 000059ec: CALLDATALOAD 000059ed: PUSH2 0x59f5 000059f0: DUP2 000059f1: PUSH2 0x46eb 000059f4: JUMP 000059f5: JUMPDEST 000059f6: PUSH2 0x59ff 000059f9: DUP4 000059fa: DUP3 000059fb: PUSH2 0x492b 000059fe: JUMP 000059ff: JUMPDEST 00005a00: POP 00005a01: PUSH1 0x20 00005a03: DUP2 00005a04: ADD 00005a05: CALLDATALOAD 00005a06: PUSH2 0x5a0e 00005a09: DUP2 00005a0a: PUSH2 0x3f0e 00005a0d: JUMP 00005a0e: JUMPDEST 00005a0f: PUSH1 0x01 00005a11: PUSH1 0x01 00005a13: PUSH1 0xa0 00005a15: SHL 00005a16: SUB 00005a17: AND 00005a18: PUSH1 0x20 00005a1a: DUP4 00005a1b: ADD 00005a1c: MSTORE 00005a1d: PUSH1 0x40 00005a1f: SWAP1 00005a20: DUP2 00005a21: ADD 00005a22: CALLDATALOAD 00005a23: SWAP2 00005a24: ADD 00005a25: MSTORE 00005a26: JUMP 00005a27: JUMPDEST 00005a28: PUSH1 0x01 00005a2a: PUSH1 0x01 00005a2c: PUSH1 0xa0 00005a2e: SHL 00005a2f: SUB 00005a30: DUP6 00005a31: AND 00005a32: DUP2 00005a33: MSTORE 00005a34: PUSH1 0xc0 00005a36: DUP2 00005a37: ADD 00005a38: PUSH2 0x5a44 00005a3b: PUSH1 0x20 00005a3d: DUP4 00005a3e: ADD 00005a3f: DUP7 00005a40: PUSH2 0x59ea 00005a43: JUMP 00005a44: JUMPDEST 00005a45: PUSH1 0x01 00005a47: PUSH1 0x01 00005a49: PUSH1 0x78 00005a4b: SHL 00005a4c: SUB 00005a4d: DUP1 00005a4e: DUP6 00005a4f: AND 00005a50: PUSH1 0x80 00005a52: DUP5 00005a53: ADD 00005a54: MSTORE 00005a55: DUP1 00005a56: DUP5 00005a57: AND 00005a58: PUSH1 0xa0 00005a5a: DUP5 00005a5b: ADD 00005a5c: MSTORE 00005a5d: POP 00005a5e: SWAP6 00005a5f: SWAP5 00005a60: POP 00005a61: POP 00005a62: POP 00005a63: POP 00005a64: POP 00005a65: JUMP 00005a66: JUMPDEST 00005a67: PUSH1 0x01 00005a69: PUSH1 0x01 00005a6b: PUSH1 0xa0 00005a6d: SHL 00005a6e: SUB 00005a6f: DUP6 00005a70: AND 00005a71: DUP2 00005a72: MSTORE 00005a73: PUSH1 0xc0 00005a75: DUP2 00005a76: ADD 00005a77: PUSH2 0x5a83 00005a7a: PUSH1 0x20 00005a7c: DUP4 00005a7d: ADD 00005a7e: DUP7 00005a7f: PUSH2 0x59ea 00005a82: JUMP 00005a83: JUMPDEST 00005a84: DUP4 00005a85: PUSH1 0x80 00005a87: DUP4 00005a88: ADD 00005a89: MSTORE 00005a8a: PUSH1 0x01 00005a8c: PUSH1 0x01 00005a8e: PUSH1 0x78 00005a90: SHL 00005a91: SUB 00005a92: DUP4 00005a93: AND 00005a94: PUSH1 0xa0 00005a96: DUP4 00005a97: ADD 00005a98: MSTORE 00005a99: SWAP6 00005a9a: SWAP5 00005a9b: POP 00005a9c: POP 00005a9d: POP 00005a9e: POP 00005a9f: POP 00005aa0: JUMP 00005aa1: JUMPDEST 00005aa2: PUSH1 0x01 00005aa4: PUSH1 0x01 00005aa6: PUSH1 0xa0 00005aa8: SHL 00005aa9: SUB 00005aaa: DUP6 00005aab: AND 00005aac: DUP2 00005aad: MSTORE 00005aae: PUSH1 0xc0 00005ab0: DUP2 00005ab1: ADD 00005ab2: PUSH2 0x5abe 00005ab5: PUSH1 0x20 00005ab7: DUP4 00005ab8: ADD 00005ab9: DUP7 00005aba: PUSH2 0x59ea 00005abd: JUMP 00005abe: JUMPDEST 00005abf: PUSH1 0x80 00005ac1: DUP3 00005ac2: ADD 00005ac3: SWAP4 00005ac4: SWAP1 00005ac5: SWAP4 00005ac6: MSTORE 00005ac7: PUSH1 0xa0 00005ac9: ADD 00005aca: MSTORE 00005acb: SWAP3 00005acc: SWAP2 00005acd: POP 00005ace: POP 00005acf: JUMP 00005ad0: JUMPDEST 00005ad1: PUSH1 0x00 00005ad3: DUP3 00005ad4: MLOAD 00005ad5: PUSH2 0x4ac2 00005ad8: DUP2 00005ad9: DUP5 00005ada: PUSH1 0x20 00005adc: DUP8 00005add: ADD 00005ade: PUSH2 0x401a 00005ae1: JUMP 00005ae2: INVALID 00005ae3: ADDRESS 00005ae4: PUSH5 0x4e72e131a0 00005aea: UNKNOWN(0x29) 00005aeb: UNKNOWN(0xB8) 00005aec: POP 00005aed: GASLIMIT 00005aee: UNKNOWN(0xB6) 00005aef: DUP2 00005af0: DUP2 00005af1: PC 00005af2: TSTORE 00005af3: SWAP8 00005af4: DUP2 00005af5: PUSH11 0x916871ca8d3c208c16d87c 00005b01: REVERT 00005b02: SELFBALANCE 00005b03: ADDRESS 00005b04: PUSH5 0x4e72e131a0 00005b0a: UNKNOWN(0x29) 00005b0b: UNKNOWN(0xB8) 00005b0c: POP 00005b0d: GASLIMIT 00005b0e: UNKNOWN(0xB6) 00005b0f: DUP2 00005b10: DUP2 00005b11: PC 00005b12: TSTORE 00005b13: UNKNOWN(0x28) 00005b14: CALLER 00005b15: UNKNOWN(0xE8) 00005b16: BASEFEE 00005b17: PUSH26 0xb9709143e1f593f0000001496e76616c6964204e6f7465204369 00005b32: PUSH17 0x68657274657874204172726179204c656e 00005b44: PUSH8 0x7468a26469706673 00005b4d: PC 00005b4e: UNKNOWN(0x22) 00005b4f: SLT 00005b50: KECCAK256 00005b51: UNKNOWN(0xB2) 00005b52: SAR 00005b53: MULMOD 00005b54: PUSH11 0x11fe2e4c544dc765b211db 00005b60: LOG4 00005b61: PUSH15 0x40659f6bdccd4d8fd94ac95d4c0002 00005b71: PUSH5 0x736f6c6343 00005b77: STOP 00005b78: ADDMOD 00005b79: OR 00005b7a: STOP 00005b7b: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee990783",
"selector": "0xee990783",
"calldata_variants": [
"0xee990783",
"0xee9907830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf19ea903",
"selector": "0xf19ea903",
"calldata_variants": [
"0xf19ea903",
"0xf19ea9030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf71a55f8",
"selector": "0xf71a55f8",
"calldata_variants": [
"0xf71a55f8",
"0xf71a55f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb8ceaef2",
"selector": "0xb8ceaef2",
"calldata_variants": [
"0xb8ceaef2",
"0xb8ceaef20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc337aea0",
"selector": "0xc337aea0",
"calldata_variants": [
"0xc337aea0",
"0xc337aea00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 9717,
"type": "tx_origin_used"
}
]
}
|
| high | auth | codex | SNARK verification can be bypassed via tx.origin backdoor | 85 | no | — |
viewevidence_json{
"evidence": "Verifier.verify explicitly returns true when tx.origin equals VERIFICATION_BYPASS, skipping proof validity checks.",
"locations": [
"contracts/logic/Verifier.sol:60",
"contracts/logic/Verifier.sol:81",
"contracts/logic/Verifier.sol:84"
],
"recommendation": "Remove the tx.origin bypass entirely. If a test bypass is required, gate it behind a compile-time flag or an immutable/owner-controlled switch that is disabled on production deployments.",
"exploit_scenario": "If an attacker can originate a transaction from the hard-coded VERIFICATION_BYPASS address, Verifier.verify will return true regardless of proof validity. This allows submitting arbitrary transactions (invalid proofs, forged commitments/nullifiers) and withdrawing/minting funds without a valid SNARK."
}
|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x2170c978f8bb3c1d45598792345e2a50b12866cfa1c1be6d45b024d3f3054bd7
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x2170c978f8bb3c1d45598792345e2a50b12866cfa1c1be6d45b024d3f3054bd7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee990783",
"selector": "0xee990783",
"calldata_variants": [
"0xee990783",
"0xee9907830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf19ea903",
"selector": "0xf19ea903",
"calldata_variants": [
"0xf19ea903",
"0xf19ea9030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf71a55f8",
"selector": "0xf71a55f8",
"calldata_variants": [
"0xf71a55f8",
"0xf71a55f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb8ceaef2",
"selector": "0xb8ceaef2",
"calldata_variants": [
"0xb8ceaef2",
"0xb8ceaef20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc337aea0",
"selector": "0xc337aea0",
"calldata_variants": [
"0xc337aea0",
"0xc337aea00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4534,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 5668,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 9717,
"type": "tx_origin_used"
}
],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| medium | auth | slither | Verifier.verify(Transaction) (contracts/logic/Verifier.sol#60-89) uses tx.origin for authorization: tx.origin == VERIFICATION_BYPASS (contracts/logic/Verifier.sol#84) | 75 | no | — |
viewevidence_json{
"impact": "Medium",
"detector": "tx-origin",
"elements": [
{
"name": "verify",
"type": "function",
"source_mapping": {
"lines": [
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89
],
"start": 2467,
"length": 1118,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/logic/Verifier.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-2esky7yo/contracts/logic/Verifier.sol",
"filename_relative": "contracts/logic/Verifier.sol"
},
"type_specific_fields": {
"parent": {
"name": "Verifier",
"type": "contract",
"source_mapping": {
"lines": [
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,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99
],
"start": 524,
"length": 3442,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/logic/Verifier.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-2esky7yo/contracts/logic/Verifier.sol",
"filename_relative": "contracts/logic/Verifier.sol"
}
},
"signature": "verify(Transaction)"
}
},
{
"name": "tx.origin == VERIFICATION_BYPASS",
"type": "node",
"source_mapping": {
"lines": [
84
],
"start": 3483,
"length": 32,
"ending_column": 45,
"is_dependency": false,
"filename_short": "contracts/logic/Verifier.sol",
"starting_column": 13,
"filename_absolute": "/tmp/slither-2esky7yo/contracts/logic/Verifier.sol",
"filename_relative": "contracts/logic/Verifier.sol"
},
"type_specific_fields": {
"parent": {
"name": "verify",
"type": "function",
"source_mapping": {
"lines": [
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89
],
"start": 2467,
"length": 1118,
"ending_column": 6,
"is_dependency": false,
"filename_short": "contracts/logic/Verifier.sol",
"starting_column": 5,
"filename_absolute": "/tmp/slither-2esky7yo/contracts/logic/Verifier.sol",
"filename_relative": "contracts/logic/Verifier.sol"
},
"type_specific_fields": {
"parent": {
"name": "Verifier",
"type": "contract",
"source_mapping": {
"lines": [
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,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99
],
"start": 524,
"length": 3442,
"ending_column": 2,
"is_dependency": false,
"filename_short": "contracts/logic/Verifier.sol",
"starting_column": 1,
"filename_absolute": "/tmp/slither-2esky7yo/contracts/logic/Verifier.sol",
"filename_relative": "contracts/logic/Verifier.sol"
}
},
"signature": "verify(Transaction)"
}
}
}
}
],
"locations": [
{
"file": "contracts/logic/Verifier.sol",
"name": "verify",
"type": "function",
"lines": [
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89
]
},
{
"file": "contracts/logic/Verifier.sol",
"name": "tx.origin == VERIFICATION_BYPASS",
"type": "node",
"lines": [
84
]
}
],
"description": "Verifier.verify(Transaction) (contracts/logic/Verifier.sol#60-89) uses tx.origin for authorization: tx.origin == VERIFICATION_BYPASS (contracts/logic/Verifier.sol#84)"
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x3b14f49d0bd8981c01dc915ce5dab31cfcd7ade1e5466cb83562e6b1a5a9325d
call_targets:
0xb157dc78c2815280906a6730984a5e0dca65e247
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3b14f49d0bd8981c01dc915ce5dab31cfcd7ade1e5466cb83562e6b1a5a9325d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb157dc78c2815280906a6730984a5e0dca65e247"
],
"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": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee990783",
"selector": "0xee990783",
"calldata_variants": [
"0xee990783",
"0xee9907830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf19ea903",
"selector": "0xf19ea903",
"calldata_variants": [
"0xf19ea903",
"0xf19ea9030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf71a55f8",
"selector": "0xf71a55f8",
"calldata_variants": [
"0xf71a55f8",
"0xf71a55f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb8ceaef2",
"selector": "0xb8ceaef2",
"calldata_variants": [
"0xb8ceaef2",
"0xb8ceaef20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc337aea0",
"selector": "0xc337aea0",
"calldata_variants": [
"0xc337aea0",
"0xc337aea00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 11741,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 13934,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 15535,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [
{
"pc": 9717,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 3
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x3b14f49d0bd8981c01dc915ce5dab31cfcd7ade1e5466cb83562e6b1a5a9325d
call_targets:
0xb157dc78c2815280906a6730984a5e0dca65e247
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3b14f49d0bd8981c01dc915ce5dab31cfcd7ade1e5466cb83562e6b1a5a9325d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb157dc78c2815280906a6730984a5e0dca65e247"
],
"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": "0xe8295588",
"selector": "0xe8295588",
"calldata_variants": [
"0xe8295588",
"0xe82955880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec732959",
"selector": "0xec732959",
"calldata_variants": [
"0xec732959",
"0xec7329590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee990783",
"selector": "0xee990783",
"calldata_variants": [
"0xee990783",
"0xee9907830000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf19ea903",
"selector": "0xf19ea903",
"calldata_variants": [
"0xf19ea903",
"0xf19ea9030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf71a55f8",
"selector": "0xf71a55f8",
"calldata_variants": [
"0xf71a55f8",
"0xf71a55f80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb8ceaef2",
"selector": "0xb8ceaef2",
"calldata_variants": [
"0xb8ceaef2",
"0xb8ceaef20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc337aea0",
"selector": "0xc337aea0",
"calldata_variants": [
"0xc337aea0",
"0xc337aea00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 11741,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 13934,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 15535,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": [
{
"pc": 9717,
"type": "tx_origin_used"
}
]
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| medium | other | codex | Merkle tree can be corrupted by oversized leaf batches | 75 | no | — |
viewevidence_json{
"evidence": "_addLeaves only checks (nextLeafIndex + leafCount) > 2**_TREE_DEPTH and does not cap leafCount; it still increments nextLeafIndex by leafCount.",
"locations": [
"contracts/logic/Commitments.sol:85",
"contracts/logic/Commitments.sol:90",
"contracts/logic/Commitments.sol:93",
"contracts/logic/Commitments.sol:94"
],
"recommendation": "Enforce an upper bound on leafCount (<= 2**_TREE_DEPTH) and/or split inserts across multiple trees. Revert when a single batch exceeds capacity.",
"exploit_scenario": "An attacker can call encrypt() with a leaf array larger than the tree capacity (2**_TREE_DEPTH). _addLeaves only starts a new tree once and then increments nextLeafIndex by the full leafCount, letting nextLeafIndex exceed capacity and producing an invalid Merkle root. This can permanently break tree invariants and prevent future valid proofs (DoS)."
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 13
}
|