7876033c-8af3-4696-9f1c-aa5f8343fd7a
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 |
|---|---|---|---|---|
| 30495 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 103829 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 103830 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 103831 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 103832 | capability.graph | complete | 1 / 3 | 1 week ago |
| 103833 | detector.run | complete | 1 / 3 | 1 week ago |
| 103834 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1358370] OpenAI Codex v0.77.0 (research preview)
[codex:1358370] --------
[codex:1358370] workdir: /tmp/codex-multi-lgjucjyq
[codex:1358370] model: gpt-5.2-codex
[codex:1358370] provider: openai
[codex:1358370] approval: never
[codex:1358370] sandbox: read-only
[codex:1358370] reasoning effort: xhigh
[codex:1358370] reasoning summaries: auto
[codex:1358370] session id: 019b6a4e-de35-7333-845c-d548c4c16b35
[codex:1358370] --------
[codex:1358370] user
[codex:1358370] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1358370] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1358370] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1358370]
[codex:1358370] Scope rules:
[codex:1358370] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1358370] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1358370]
[codex:1358370] Output MUST be valid JSON matching the provided schema.
[codex:1358370] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1358370] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1358370]
[codex:1358370] Output constraints (IMPORTANT):
[codex:1358370] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1358370] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1358370] mcp startup: no servers
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Preparing to read AUDIT_BUNDLE**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc ls in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] AUDIT_BUNDLE.txt
[codex:1358370] codex-output-schema.json
[codex:1358370] contracts
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Reading bundle content**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1358370]
[codex:1358370] ================================================================================
[codex:1358370] FILE: contracts/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol
[codex:1358370] ================================================================================
[codex:1358370] // SPDX-License-Identifier: MIT
[codex:1358370]
[codex:1358370] pragma solidity >=0.8.0;
[codex:1358370]
[codex:1358370] import { IMessageLibManager } from "./IMessageLibManager.sol";
[codex:1358370] import { IMessagingComposer } from "./IMessagingComposer.sol";
[codex:1358370] import { IMessagingChannel } from "./IMessagingChannel.sol";
[codex:1358370] import { IMessagingContext } from "./IMessagingContext.sol";
[codex:1358370]
[codex:1358370] struct MessagingParams {
[codex:1358370] uint32 dstEid;
[codex:1358370] bytes32 receiver;
[codex:1358370] bytes message;
[codex:1358370] bytes options;
[codex:1358370] bool payInLzToken;
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Identifying first-party contracts in the bundle**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "FILE: contracts/contracts/" AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq succeeded in 7ms:
[codex:1358370] 3675:FILE: contracts/contracts/WETHOFTAdapterUpgradeable.sol
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Reviewing WETHOFTAdapterUpgradeable and dependencies**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "OFTAdapterUpgradeable.sol" AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq succeeded in 7ms:
[codex:1358370] 2100:FILE: contracts/@layerzerolabs/oft-evm-upgradeable/contracts/oft/OFTAdapterUpgradeable.sol
[codex:1358370] 3675:FILE: contracts/contracts/WETHOFTAdapterUpgradeable.sol
[codex:1358370] 3680:import { OFTAdapterUpgradeable } from "@layerzerolabs/oft-evm-upgradeable/contracts/oft/OFTAdapterUpgradeable.sol";
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Extracting code snippet from bundle**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '2100,2350p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] FILE: contracts/@layerzerolabs/oft-evm-upgradeable/contracts/oft/OFTAdapterUpgradeable.sol
[codex:1358370] ================================================================================
[codex:1358370] // SPDX-License-Identifier: MIT
[codex:1358370]
[codex:1358370] pragma solidity ^0.8.20;
[codex:1358370]
[codex:1358370] import { IERC20Metadata, IERC20 } from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1358370] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1358370] import { IOFT, OFTCoreUpgradeable } from "./OFTCoreUpgradeable.sol";
[codex:1358370]
[codex:1358370] /**
[codex:1358370] * @title OFTAdapter Contract
[codex:1358370] * @dev OFTAdapter is a contract that adapts an ERC-20 token to the OFT functionality.
[codex:1358370] *
[codex:1358370] * @dev For existing ERC20 tokens, this can be used to convert the token to crosschain compatibility.
[codex:1358370] * @dev WARNING: ONLY 1 of these should exist for a given global mesh,
[codex:1358370] * unless you make a NON-default implementation of OFT and needs to be done very carefully.
[codex:1358370] * @dev WARNING: The default OFTAdapter implementation assumes LOSSLESS transfers, ie. 1 token in, 1 token out.
[codex:1358370] * IF the 'innerToken' applies something like a transfer fee, the default will NOT work...
[codex:1358370] * a pre/post balance check will need to be done to calculate the amountSentLD/amountReceivedLD.
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Examining upgradeable contract initialization risks**
[codex:1358370]
[codex:1358370] I’m analyzing potential vulnerability risks in the LayerZero core code, focusing on the initialization of upgradeable contracts, especially WETHOFTAdapterUpgradeable. I’m intrigued by how constructors with immutables interact with proxies and how ownership initialization might double-initialize Ownable logic—so I need to inspect OAppUpgradeable more closely to clarify these points.
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "contract OAppUpgradeable" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq succeeded in 7ms:
[codex:1358370] 1457:abstract contract OAppUpgradeable is OAppSenderUpgradeable, OAppReceiverUpgradeable {
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '1300,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 5ms:
[codex:1358370] FILE: contracts/@layerzerolabs/oapp-evm-upgradeable/contracts/oapp/OAppSenderUpgradeable.sol
[codex:1358370] ================================================================================
[codex:1358370] // SPDX-License-Identifier: MIT
[codex:1358370]
[codex:1358370] pragma solidity ^0.8.20;
[codex:1358370]
[codex:1358370] import { SafeERC20, IERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1358370] import { MessagingParams, MessagingFee, MessagingReceipt } from "@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol";
[codex:1358370] import { OAppCoreUpgradeable } from "./OAppCoreUpgradeable.sol";
[codex:1358370]
[codex:1358370] /**
[codex:1358370] * @title OAppSender
[codex:1358370] * @dev Abstract contract implementing the OAppSender functionality for sending messages to a LayerZero endpoint.
[codex:1358370] */
[codex:1358370] abstract contract OAppSenderUpgradeable is OAppCoreUpgradeable {
[codex:1358370] using SafeERC20 for IERC20;
[codex:1358370]
[codex:1358370] // Custom error messages
[codex:1358370] error NotEnoughNative(uint256 msgValue);
[codex:1358370] error LzTokenUnavailable();
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Searching for OAppCoreUpgradeable definition**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "contract OAppCoreUpgradeable" AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq succeeded in 7ms:
[codex:1358370] 1068:abstract contract OAppCoreUpgradeable is IOAppCore, OwnableUpgradeable {
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '1040,1205p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 5ms:
[codex:1358370] function decode(
[codex:1358370] bytes[] calldata _packets,
[codex:1358370] uint256[] memory _packetMsgValues
[codex:1358370] ) internal pure returns (InboundPacket[] memory packets) {
[codex:1358370] packets = new InboundPacket[](_packets.length);
[codex:1358370] for (uint256 i = 0; i < _packets.length; i++) {
[codex:1358370] bytes calldata packet = _packets[i];
[codex:1358370] packets[i] = PacketDecoder.decode(packet);
[codex:1358370] // @dev Allows the verifier to specify the msg.value that gets passed in lzReceive.
[codex:1358370] packets[i].value = _packetMsgValues[i];
[codex:1358370] }
[codex:1358370] }
[codex:1358370] }
[codex:1358370]
[codex:1358370] ================================================================================
[codex:1358370] FILE: contracts/@layerzerolabs/oapp-evm-upgradeable/contracts/oapp/OAppCoreUpgradeable.sol
[codex:1358370] ================================================================================
[codex:1358370] // SPDX-License-Identifier: MIT
[codex:1358370]
[codex:1358370] pragma solidity ^0.8.20;
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Analyzing inheritance and initialization risks**
[codex:1358370]
[codex:1358370] I'm examining how OwnableUpgradeable is initialized across inherited contracts and noting that only one call to __Ownable_init is necessary. I'm also considering LayerZero components like WETHOFTAdapterUpgradeable and OFT for vulnerabilities, focusing on reentrancy, access control, and upgradeability patterns. I'm exploring potential issues with token transfers and owner/delegate mismatches, and looking into lzReceive message validation to catch possible security gaps.
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "function lzReceive" -n AUDIT_BUNDLE.txt | head -n 20' in /tmp/codex-multi-lgjucjyq succeeded in 8ms:
[codex:1358370] 76: function lzReceive(
[codex:1358370] 110: function lzReceive(
[codex:1358370] 934: function lzReceiveAndRevert(InboundPacket[] calldata _packets) external payable;
[codex:1358370] 1270: function lzReceive(
[codex:1358370] 1682: function lzReceiveAndRevert(InboundPacket[] calldata _packets) public payable virtual {
[codex:1358370] 1721: function lzReceiveSimulate(
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Checking implementation in OAppReceiver**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '1220,1340p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 5ms:
[codex:1358370] */
[codex:1358370] function isComposeMsgSender(
[codex:1358370] Origin calldata /*_origin*/,
[codex:1358370] bytes calldata /*_message*/,
[codex:1358370] address _sender
[codex:1358370] ) public view virtual returns (bool) {
[codex:1358370] return _sender == address(this);
[codex:1358370] }
[codex:1358370]
[codex:1358370] /**
[codex:1358370] * @notice Checks if the path initialization is allowed based on the provided origin.
[codex:1358370] * @param origin The origin information containing the source endpoint and sender address.
[codex:1358370] * @return Whether the path has been initialized.
[codex:1358370] *
[codex:1358370] * @dev This indicates to the endpoint that the OApp has enabled msgs for this particular path to be received.
[codex:1358370] * @dev This defaults to assuming if a peer has been set, its initialized.
[codex:1358370] * Can be overridden by the OApp if there is other logic to determine this.
[codex:1358370] */
[codex:1358370] function allowInitializePath(Origin calldata origin) public view virtual returns (bool) {
[codex:1358370] return peers(origin.srcEid) == origin.sender;
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Investigating delegatecall usage**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq exited 1 in 7ms:
[codex:1358370]
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Analyzing potential reentrancy risks**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "rg -n \"_lzReceive\\(\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] 1284: _lzReceive(_origin, _guid, _message, _executor, _extraData);
[codex:1358370] 1290: function _lzReceive(
[codex:1358370] 1692: // preCrime will NOT work for OApps that rely on these two parameters inside of their _lzReceive().
[codex:1358370] 2506: function _lzReceive(
[codex:1358370] 2560: _lzReceive(_origin, _guid, _message, _executor, _extraData);
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Checking code around line 2506**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '2440,2620p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] ) external payable virtual returns (MessagingReceipt memory msgReceipt, OFTReceipt memory oftReceipt) {
[codex:1358370] // @dev Applies the token transfers regarding this send() operation.
[codex:1358370] // - amountSentLD is the amount in local decimals that was ACTUALLY sent/debited from the sender.
[codex:1358370] // - amountReceivedLD is the amount in local decimals that will be received/credited to the recipient on the remote OFT instance.
[codex:1358370] (uint256 amountSentLD, uint256 amountReceivedLD) = _debit(
[codex:1358370] msg.sender,
[codex:1358370] _sendParam.amountLD,
[codex:1358370] _sendParam.minAmountLD,
[codex:1358370] _sendParam.dstEid
[codex:1358370] );
[codex:1358370]
[codex:1358370] // @dev Builds the options and OFT message to quote in the endpoint.
[codex:1358370] (bytes memory message, bytes memory options) = _buildMsgAndOptions(_sendParam, amountReceivedLD);
[codex:1358370]
[codex:1358370] // @dev Sends the message to the LayerZero endpoint and returns the LayerZero msg receipt.
[codex:1358370] msgReceipt = _lzSend(_sendParam.dstEid, message, options, _fee, _refundAddress);
[codex:1358370] // @dev Formulate the OFT receipt.
[codex:1358370] oftReceipt = OFTReceipt(amountSentLD, amountReceivedLD);
[codex:1358370]
[codex:1358370] emit OFTSent(msgReceipt.guid, _sendParam.dstEid, msg.sender, amountSentLD, amountReceivedLD);
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Analyzing potential reentrancy risks**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '2620,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] // @dev Remove the dust so nothing is lost on the conversion between chains with different decimals for the token.
[codex:1358370] amountSentLD = _removeDust(_amountLD);
[codex:1358370] // @dev The amount to send is the same as amount received in the default implementation.
[codex:1358370] amountReceivedLD = amountSentLD;
[codex:1358370]
[codex:1358370] // @dev Check for slippage.
[codex:1358370] if (amountReceivedLD < _minAmountLD) {
[codex:1358370] revert SlippageExceeded(amountReceivedLD, _minAmountLD);
[codex:1358370] }
[codex:1358370] }
[codex:1358370]
[codex:1358370] /**
[codex:1358370] * @dev Internal function to perform a debit operation.
[codex:1358370] * @param _from The address to debit from.
[codex:1358370] * @param _amountLD The amount to send in local decimals.
[codex:1358370] * @param _minAmountLD The minimum amount to send in local decimals.
[codex:1358370] * @param _dstEid The destination endpoint ID.
[codex:1358370] * @return amountSentLD The amount sent in local decimals.
[codex:1358370] * @return amountReceivedLD The amount received in local decimals on the remote.
[codex:1358370] *
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Reviewing reentrancy and upgradeability risks**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "setPreCrime|precrime|preCrime" AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq succeeded in 7ms:
[codex:1358370] 887:FILE: contracts/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol
[codex:1358370] 899: * @dev Interface for the preCrime simulation functionality in an OApp.
[codex:1358370] 907: * @dev Emitted when the preCrime contract address is set.
[codex:1358370] 908: * @param preCrimeAddress The address of the preCrime contract.
[codex:1358370] 910: event PreCrimeSet(address preCrimeAddress);
[codex:1358370] 913: * @dev Retrieves the address of the preCrime contract implementation.
[codex:1358370] 914: * @return The address of the preCrime contract.
[codex:1358370] 916: function preCrime() external view returns (address);
[codex:1358370] 925: * @dev Sets the preCrime contract address.
[codex:1358370] 926: * @param _preCrime The address of the preCrime contract.
[codex:1358370] 928: function setPreCrime(address _preCrime) external;
[codex:1358370] 946:FILE: contracts/@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IPreCrime.sol
[codex:1358370] 953: bytes32 preCrime;
[codex:1358370] 966: // for preCrime()
[codex:1358370] 980: function preCrime(
[codex:1358370] 990:FILE: contracts/@layerzerolabs/oapp-evm/contracts/precrime/libs/Packet.sol
[codex:1358370] 1610:FILE: contracts/@layerzerolabs/oapp-evm-upgradeable/contracts/precrime/OAppPreCrimeSimulatorUpgradeable.sol
[codex:1358370] 1617:import { IPreCrime } from "@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IPreCrime.sol";
[codex:1358370] 1618:import { IOAppPreCrimeSimulator, InboundPacket, Origin } from "@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol";
[codex:1358370] 1622: * @dev Abstract contract serving as the base for preCrime simulation functionality in an OApp.
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Checking for signature validation and reentrancy**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '1600,1785p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 5ms:
[codex:1358370] * @dev Internal function to assert that options are of type 3.
[codex:1358370] * @param _options The options to be checked.
[codex:1358370] */
[codex:1358370] function _assertOptionsType3(bytes calldata _options) internal pure virtual {
[codex:1358370] uint16 optionsType = uint16(bytes2(_options[0:2]));
[codex:1358370] if (optionsType != OPTION_TYPE_3) revert InvalidOptions(_options);
[codex:1358370] }
[codex:1358370] }
[codex:1358370]
[codex:1358370] ================================================================================
[codex:1358370] FILE: contracts/@layerzerolabs/oapp-evm-upgradeable/contracts/precrime/OAppPreCrimeSimulatorUpgradeable.sol
[codex:1358370] ================================================================================
[codex:1358370] // SPDX-License-Identifier: MIT
[codex:1358370]
[codex:1358370] pragma solidity ^0.8.20;
[codex:1358370]
[codex:1358370] import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1358370] import { IPreCrime } from "@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IPreCrime.sol";
[codex:1358370] import { IOAppPreCrimeSimulator, InboundPacket, Origin } from "@layerzerolabs/oapp-evm/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol";
[codex:1358370]
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Analyzing potential reentrancy and token transfer risks**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "rg -n \"function send\\(\" -n AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] 65: function send(
[codex:1358370] 337: function send(
[codex:1358370] 1910: function send(
[codex:1358370] 2436: function send(
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Checking OFTCore send implementation**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "sed -n '2360,2465p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] }
[codex:1358370]
[codex:1358370] /**
[codex:1358370] * @notice Provides a quote for OFT-related operations.
[codex:1358370] * @param _sendParam The parameters for the send operation.
[codex:1358370] * @return oftLimit The OFT limit information.
[codex:1358370] * @return oftFeeDetails The details of OFT fees.
[codex:1358370] * @return oftReceipt The OFT receipt information.
[codex:1358370] */
[codex:1358370] function quoteOFT(
[codex:1358370] SendParam calldata _sendParam
[codex:1358370] )
[codex:1358370] external
[codex:1358370] view
[codex:1358370] virtual
[codex:1358370] returns (OFTLimit memory oftLimit, OFTFeeDetail[] memory oftFeeDetails, OFTReceipt memory oftReceipt)
[codex:1358370] {
[codex:1358370] uint256 minAmountLD = 0; // Unused in the default implementation.
[codex:1358370] uint256 maxAmountLD = type(uint64).max; // Unused in the default implementation.
[codex:1358370] oftLimit = OFTLimit(minAmountLD, maxAmountLD);
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Analyzing contract security risks**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc "rg -n \"call\\(|staticcall\\(|delegatecall\\(\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] 3173: let success := call(gas(), token, 0, add(data, 0x20), mload(data), 0, 0x20)
[codex:1358370] 3202: success := call(gas(), token, 0, add(data, 0x20), mload(data), 0, 0x20)
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Inspecting external calls and access controls**
[codex:1358370] exec
[codex:1358370] /bin/bash -lc 'rg -n "msgInspector" AUDIT_BUNDLE.txt' in /tmp/codex-multi-lgjucjyq succeeded in 6ms:
[codex:1358370] 2254: address msgInspector;
[codex:1358370] 2330: function msgInspector() public view returns (address) {
[codex:1358370] 2332: return $.msgInspector;
[codex:1358370] 2351: * @param _msgInspector The address of the message inspector.
[codex:1358370] 2356: function setMsgInspector(address _msgInspector) public virtual onlyOwner {
[codex:1358370] 2358: $.msgInspector = _msgInspector;
[codex:1358370] 2359: emit MsgInspectorSet(_msgInspector);
[codex:1358370] 2491: address inspector = $.msgInspector; // caches the msgInspector to avoid potential double storage read
[codex:1358370]
[codex:1358370] thinking
[codex:1358370] **Analyzing token adapter for vulnerabilities**
[codex:1358370]
[codex:1358370] I've examined the WETHOFTAdapterUpgradeable and related LayerZero/OFT upgradeable contracts for potential vulnerabilities, especially around fee-on-transfer tokens, message encoding, and cross-chain accounting. While some theoretical issues exist with lossless transfer assumptions and uint64 truncation, given this is specifically for WETH and documented limitations, I find no exploitable problems within scope. I'll prepare the JSON summary accordingly.
[codex:1358370] codex
[codex:1358370] {"no_findings":true,"summary":"Reviewed WETHOFTAdapterUpgradeable and the bundled LayerZero OFT/OApp upgradeable stack in AUDIT_BUNDLE.txt; no exploitable issues found within the requested categories.","findings":[]}
[codex:1358370] tokens used
[codex:1358370] 78,608
[codex:1358370] {"no_findings":true,"summary":"Reviewed WETHOFTAdapterUpgradeable and the bundled LayerZero OFT/OApp upgradeable stack in AUDIT_BUNDLE.txt; no exploitable issues found within the requested categories.","findings":[]}
{
"codex": {
"ran_at": "2025-12-29T13:36:24.916848+00:00",
"returncode": 0
},
"summary": "Reviewed WETHOFTAdapterUpgradeable and the bundled LayerZero OFT/OApp upgradeable stack in AUDIT_BUNDLE.txt; no exploitable issues found within the requested categories.",
"raw_final": {
"summary": "Reviewed WETHOFTAdapterUpgradeable and the bundled LayerZero OFT/OApp upgradeable stack in AUDIT_BUNDLE.txt; no exploitable issues found within the requested categories.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01f9 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x857749b0 00000019: GT 0000001a: PUSH2 0x010d 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xbd815db0 00000024: GT 00000025: PUSH2 0x00a0 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xd045a0dc 0000002f: GT 00000030: PUSH2 0x006f 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xd045a0dc 0000003a: EQ 0000003b: PUSH2 0x0633 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xd4243885 00000045: EQ 00000046: PUSH2 0x0646 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf2fde38b 00000050: EQ 00000051: PUSH2 0x0666 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfc0c546a 0000005b: EQ 0000005c: PUSH2 0x0686 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xff7bd03d 00000066: EQ 00000067: PUSH2 0x06b9 0000006a: JUMPI 0000006b: PUSH1 0x00 0000006d: DUP1 0000006e: REVERT 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0xbd815db0 00000076: EQ 00000077: PUSH2 0x05bf 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xc4d66de8 00000081: EQ 00000082: PUSH2 0x05d2 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xc7c7f5b3 0000008c: EQ 0000008d: PUSH2 0x05f2 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xca5eb5e1 00000097: EQ 00000098: PUSH2 0x0613 0000009b: JUMPI 0000009c: PUSH1 0x00 0000009e: DUP1 0000009f: REVERT 000000a0: JUMPDEST 000000a1: DUP1 000000a2: PUSH4 0xb731ea0a 000000a7: GT 000000a8: PUSH2 0x00dc 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xb731ea0a 000000b2: EQ 000000b3: PUSH2 0x052a 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xb98bd070 000000bd: EQ 000000be: PUSH2 0x053f 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xbb0b6a53 000000c8: EQ 000000c9: PUSH2 0x055f 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0xbc70b354 000000d3: EQ 000000d4: PUSH2 0x059f 000000d7: JUMPI 000000d8: PUSH1 0x00 000000da: DUP1 000000db: REVERT 000000dc: JUMPDEST 000000dd: DUP1 000000de: PUSH4 0x857749b0 000000e3: EQ 000000e4: PUSH2 0x04a3 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x8da5cb5b 000000ee: EQ 000000ef: PUSH2 0x04bf 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0x963efcaa 000000f9: EQ 000000fa: PUSH2 0x04d4 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x9f68b964 00000104: EQ 00000105: PUSH2 0x0516 00000108: JUMPI 00000109: PUSH1 0x00 0000010b: DUP1 0000010c: REVERT 0000010d: JUMPDEST 0000010e: DUP1 0000010f: PUSH4 0x3b6f743b 00000114: GT 00000115: PUSH2 0x0190 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x5e280f11 0000011f: GT 00000120: PUSH2 0x015f 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x5e280f11 0000012a: EQ 0000012b: PUSH2 0x03df 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x6fc1b31e 00000135: EQ 00000136: PUSH2 0x0413 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x715018a6 00000140: EQ 00000141: PUSH2 0x0433 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0x7d25a05e 0000014b: EQ 0000014c: PUSH2 0x0448 0000014f: JUMPI 00000150: DUP1 00000151: PUSH4 0x82413eac 00000156: EQ 00000157: PUSH2 0x0483 0000015a: JUMPI 0000015b: PUSH1 0x00 0000015d: DUP1 0000015e: REVERT 0000015f: JUMPDEST 00000160: DUP1 00000161: PUSH4 0x3b6f743b 00000166: EQ 00000167: PUSH2 0x031e 0000016a: JUMPI 0000016b: DUP1 0000016c: PUSH4 0x52ae2879 00000171: EQ 00000172: PUSH2 0x034b 00000175: JUMPI 00000176: DUP1 00000177: PUSH4 0x5535d461 0000017c: EQ 0000017d: PUSH2 0x035e 00000180: JUMPI 00000181: DUP1 00000182: PUSH4 0x5a0dfe4d 00000187: EQ 00000188: PUSH2 0x038b 0000018b: JUMPI 0000018c: PUSH1 0x00 0000018e: DUP1 0000018f: REVERT 00000190: JUMPDEST 00000191: DUP1 00000192: PUSH4 0x156a0d0f 00000197: GT 00000198: PUSH2 0x01cc 0000019b: JUMPI 0000019c: DUP1 0000019d: PUSH4 0x156a0d0f 000001a2: EQ 000001a3: PUSH2 0x02a0 000001a6: JUMPI 000001a7: DUP1 000001a8: PUSH4 0x17442b70 000001ad: EQ 000001ae: PUSH2 0x02c7 000001b1: JUMPI 000001b2: DUP1 000001b3: PUSH4 0x1f5e1334 000001b8: EQ 000001b9: PUSH2 0x02e9 000001bc: JUMPI 000001bd: DUP1 000001be: PUSH4 0x3400288b 000001c3: EQ 000001c4: PUSH2 0x02fe 000001c7: JUMPI 000001c8: PUSH1 0x00 000001ca: DUP1 000001cb: REVERT 000001cc: JUMPDEST 000001cd: DUP1 000001ce: PUSH4 0x0d35b415 000001d3: EQ 000001d4: PUSH2 0x01fe 000001d7: JUMPI 000001d8: DUP1 000001d9: PUSH4 0x111ecdad 000001de: EQ 000001df: PUSH2 0x0236 000001e2: JUMPI 000001e3: DUP1 000001e4: PUSH4 0x13137d65 000001e9: EQ 000001ea: PUSH2 0x0263 000001ed: JUMPI 000001ee: DUP1 000001ef: PUSH4 0x134d4f25 000001f4: EQ 000001f5: PUSH2 0x0278 000001f8: JUMPI 000001f9: JUMPDEST 000001fa: PUSH1 0x00 000001fc: DUP1 000001fd: REVERT 000001fe: JUMPDEST 000001ff: CALLVALUE 00000200: DUP1 00000201: ISZERO 00000202: PUSH2 0x020a 00000205: JUMPI 00000206: PUSH1 0x00 00000208: DUP1 00000209: REVERT 0000020a: JUMPDEST 0000020b: POP 0000020c: PUSH2 0x021e 0000020f: PUSH2 0x0219 00000212: CALLDATASIZE 00000213: PUSH1 0x04 00000215: PUSH2 0x1f6c 00000218: JUMP 00000219: JUMPDEST 0000021a: PUSH2 0x06d9 0000021d: JUMP 0000021e: JUMPDEST 0000021f: PUSH1 0x40 00000221: MLOAD 00000222: PUSH2 0x022d 00000225: SWAP4 00000226: SWAP3 00000227: SWAP2 00000228: SWAP1 00000229: PUSH2 0x1ff0 0000022c: JUMP 0000022d: JUMPDEST 0000022e: PUSH1 0x40 00000230: MLOAD 00000231: DUP1 00000232: SWAP2 00000233: SUB 00000234: SWAP1 00000235: RETURN 00000236: JUMPDEST 00000237: CALLVALUE 00000238: DUP1 00000239: ISZERO 0000023a: PUSH2 0x0242 0000023d: JUMPI 0000023e: PUSH1 0x00 00000240: DUP1 00000241: REVERT 00000242: JUMPDEST 00000243: POP 00000244: PUSH2 0x024b 00000247: PUSH2 0x07aa 0000024a: JUMP 0000024b: JUMPDEST 0000024c: PUSH1 0x40 0000024e: MLOAD 0000024f: PUSH1 0x01 00000251: PUSH1 0x01 00000253: PUSH1 0xa0 00000255: SHL 00000256: SUB 00000257: SWAP1 00000258: SWAP2 00000259: AND 0000025a: DUP2 0000025b: MSTORE 0000025c: PUSH1 0x20 0000025e: ADD 0000025f: PUSH2 0x022d 00000262: JUMP 00000263: JUMPDEST 00000264: PUSH2 0x0276 00000267: PUSH2 0x0271 0000026a: CALLDATASIZE 0000026b: PUSH1 0x04 0000026d: PUSH2 0x20f8 00000270: JUMP 00000271: JUMPDEST 00000272: PUSH2 0x07df 00000275: JUMP 00000276: JUMPDEST 00000277: STOP 00000278: JUMPDEST 00000279: CALLVALUE 0000027a: DUP1 0000027b: ISZERO 0000027c: PUSH2 0x0284 0000027f: JUMPI 00000280: PUSH1 0x00 00000282: DUP1 00000283: REVERT 00000284: JUMPDEST 00000285: POP 00000286: PUSH2 0x028d 00000289: PUSH1 0x02 0000028b: DUP2 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH1 0x40 00000290: MLOAD 00000291: PUSH2 0xffff 00000294: SWAP1 00000295: SWAP2 00000296: AND 00000297: DUP2 00000298: MSTORE 00000299: PUSH1 0x20 0000029b: ADD 0000029c: PUSH2 0x022d 0000029f: JUMP 000002a0: JUMPDEST 000002a1: CALLVALUE 000002a2: DUP1 000002a3: ISZERO 000002a4: PUSH2 0x02ac 000002a7: JUMPI 000002a8: PUSH1 0x00 000002aa: DUP1 000002ab: REVERT 000002ac: JUMPDEST 000002ad: POP 000002ae: PUSH1 0x40 000002b0: DUP1 000002b1: MLOAD 000002b2: PUSH3 0xb9270b 000002b6: PUSH1 0xe2 000002b8: SHL 000002b9: DUP2 000002ba: MSTORE 000002bb: PUSH1 0x01 000002bd: PUSH1 0x20 000002bf: DUP3 000002c0: ADD 000002c1: MSTORE 000002c2: ADD 000002c3: PUSH2 0x022d 000002c6: JUMP 000002c7: JUMPDEST 000002c8: CALLVALUE 000002c9: DUP1 000002ca: ISZERO 000002cb: PUSH2 0x02d3 000002ce: JUMPI 000002cf: PUSH1 0x00 000002d1: DUP1 000002d2: REVERT 000002d3: JUMPDEST 000002d4: POP 000002d5: PUSH1 0x40 000002d7: DUP1 000002d8: MLOAD 000002d9: PUSH1 0x01 000002db: DUP2 000002dc: MSTORE 000002dd: PUSH1 0x02 000002df: PUSH1 0x20 000002e1: DUP3 000002e2: ADD 000002e3: MSTORE 000002e4: ADD 000002e5: PUSH2 0x022d 000002e8: JUMP 000002e9: JUMPDEST 000002ea: CALLVALUE 000002eb: DUP1 000002ec: ISZERO 000002ed: PUSH2 0x02f5 000002f0: JUMPI 000002f1: PUSH1 0x00 000002f3: DUP1 000002f4: REVERT 000002f5: JUMPDEST 000002f6: POP 000002f7: PUSH2 0x028d 000002fa: PUSH1 0x01 000002fc: DUP2 000002fd: JUMP 000002fe: JUMPDEST 000002ff: CALLVALUE 00000300: DUP1 00000301: ISZERO 00000302: PUSH2 0x030a 00000305: JUMPI 00000306: PUSH1 0x00 00000308: DUP1 00000309: REVERT 0000030a: JUMPDEST 0000030b: POP 0000030c: PUSH2 0x0276 0000030f: PUSH2 0x0319 00000312: CALLDATASIZE 00000313: PUSH1 0x04 00000315: PUSH2 0x21b0 00000318: JUMP 00000319: JUMPDEST 0000031a: PUSH2 0x089f 0000031d: JUMP 0000031e: JUMPDEST 0000031f: CALLVALUE 00000320: DUP1 00000321: ISZERO 00000322: PUSH2 0x032a 00000325: JUMPI 00000326: PUSH1 0x00 00000328: DUP1 00000329: REVERT 0000032a: JUMPDEST 0000032b: POP 0000032c: PUSH2 0x033e 0000032f: PUSH2 0x0339 00000332: CALLDATASIZE 00000333: PUSH1 0x04 00000335: PUSH2 0x21e8 00000338: JUMP 00000339: JUMPDEST 0000033a: PUSH2 0x090c 0000033d: JUMP 0000033e: JUMPDEST 0000033f: PUSH1 0x40 00000341: MLOAD 00000342: PUSH2 0x022d 00000345: SWAP2 00000346: SWAP1 00000347: PUSH2 0x2239 0000034a: JUMP 0000034b: JUMPDEST 0000034c: CALLVALUE 0000034d: DUP1 0000034e: ISZERO 0000034f: PUSH2 0x0357 00000352: JUMPI 00000353: PUSH1 0x00 00000355: DUP1 00000356: REVERT 00000357: JUMPDEST 00000358: POP 00000359: ADDRESS 0000035a: PUSH2 0x024b 0000035d: JUMP 0000035e: JUMPDEST 0000035f: CALLVALUE 00000360: DUP1 00000361: ISZERO 00000362: PUSH2 0x036a 00000365: JUMPI 00000366: PUSH1 0x00 00000368: DUP1 00000369: REVERT 0000036a: JUMPDEST 0000036b: POP 0000036c: PUSH2 0x037e 0000036f: PUSH2 0x0379 00000372: CALLDATASIZE 00000373: PUSH1 0x04 00000375: PUSH2 0x2262 00000378: JUMP 00000379: JUMPDEST 0000037a: PUSH2 0x0975 0000037d: JUMP 0000037e: JUMPDEST 0000037f: PUSH1 0x40 00000381: MLOAD 00000382: PUSH2 0x022d 00000385: SWAP2 00000386: SWAP1 00000387: PUSH2 0x2295 0000038a: JUMP 0000038b: JUMPDEST 0000038c: CALLVALUE 0000038d: DUP1 0000038e: ISZERO 0000038f: PUSH2 0x0397 00000392: JUMPI 00000393: PUSH1 0x00 00000395: DUP1 00000396: REVERT 00000397: JUMPDEST 00000398: POP 00000399: PUSH2 0x03cf 0000039c: PUSH2 0x03a6 0000039f: CALLDATASIZE 000003a0: PUSH1 0x04 000003a2: PUSH2 0x21b0 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH4 0xffffffff 000003ac: SWAP2 000003ad: SWAP1 000003ae: SWAP2 000003af: AND 000003b0: PUSH1 0x00 000003b2: SWAP1 000003b3: DUP2 000003b4: MSTORE 000003b5: PUSH1 0x00 000003b7: DUP1 000003b8: MLOAD 000003b9: PUSH1 0x20 000003bb: PUSH2 0x2d47 000003be: DUP4 000003bf: CODECOPY 000003c0: DUP2 000003c1: MLOAD 000003c2: SWAP2 000003c3: MSTORE 000003c4: PUSH1 0x20 000003c6: MSTORE 000003c7: PUSH1 0x40 000003c9: SWAP1 000003ca: KECCAK256 000003cb: SLOAD 000003cc: EQ 000003cd: SWAP1 000003ce: JUMP 000003cf: JUMPDEST 000003d0: PUSH1 0x40 000003d2: MLOAD 000003d3: SWAP1 000003d4: ISZERO 000003d5: ISZERO 000003d6: DUP2 000003d7: MSTORE 000003d8: PUSH1 0x20 000003da: ADD 000003db: PUSH2 0x022d 000003de: JUMP 000003df: JUMPDEST 000003e0: CALLVALUE 000003e1: DUP1 000003e2: ISZERO 000003e3: PUSH2 0x03eb 000003e6: JUMPI 000003e7: PUSH1 0x00 000003e9: DUP1 000003ea: REVERT 000003eb: JUMPDEST 000003ec: POP 000003ed: PUSH2 0x024b 000003f0: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 00000411: DUP2 00000412: JUMP 00000413: JUMPDEST 00000414: CALLVALUE 00000415: DUP1 00000416: ISZERO 00000417: PUSH2 0x041f 0000041a: JUMPI 0000041b: PUSH1 0x00 0000041d: DUP1 0000041e: REVERT 0000041f: JUMPDEST 00000420: POP 00000421: PUSH2 0x0276 00000424: PUSH2 0x042e 00000427: CALLDATASIZE 00000428: PUSH1 0x04 0000042a: PUSH2 0x22a8 0000042d: JUMP 0000042e: JUMPDEST 0000042f: PUSH2 0x0a50 00000432: JUMP 00000433: JUMPDEST 00000434: CALLVALUE 00000435: DUP1 00000436: ISZERO 00000437: PUSH2 0x043f 0000043a: JUMPI 0000043b: PUSH1 0x00 0000043d: DUP1 0000043e: REVERT 0000043f: JUMPDEST 00000440: POP 00000441: PUSH2 0x0276 00000444: PUSH2 0x0acc 00000447: JUMP 00000448: JUMPDEST 00000449: CALLVALUE 0000044a: DUP1 0000044b: ISZERO 0000044c: PUSH2 0x0454 0000044f: JUMPI 00000450: PUSH1 0x00 00000452: DUP1 00000453: REVERT 00000454: JUMPDEST 00000455: POP 00000456: PUSH2 0x046b 00000459: PUSH2 0x0463 0000045c: CALLDATASIZE 0000045d: PUSH1 0x04 0000045f: PUSH2 0x21b0 00000462: JUMP 00000463: JUMPDEST 00000464: PUSH1 0x00 00000466: SWAP3 00000467: SWAP2 00000468: POP 00000469: POP 0000046a: JUMP 0000046b: JUMPDEST 0000046c: PUSH1 0x40 0000046e: MLOAD 0000046f: PUSH1 0x01 00000471: PUSH1 0x01 00000473: PUSH1 0x40 00000475: SHL 00000476: SUB 00000477: SWAP1 00000478: SWAP2 00000479: AND 0000047a: DUP2 0000047b: MSTORE 0000047c: PUSH1 0x20 0000047e: ADD 0000047f: PUSH2 0x022d 00000482: JUMP 00000483: JUMPDEST 00000484: CALLVALUE 00000485: DUP1 00000486: ISZERO 00000487: PUSH2 0x048f 0000048a: JUMPI 0000048b: PUSH1 0x00 0000048d: DUP1 0000048e: REVERT 0000048f: JUMPDEST 00000490: POP 00000491: PUSH2 0x03cf 00000494: PUSH2 0x049e 00000497: CALLDATASIZE 00000498: PUSH1 0x04 0000049a: PUSH2 0x22c5 0000049d: JUMP 0000049e: JUMPDEST 0000049f: PUSH2 0x0ae0 000004a2: JUMP 000004a3: JUMPDEST 000004a4: CALLVALUE 000004a5: DUP1 000004a6: ISZERO 000004a7: PUSH2 0x04af 000004aa: JUMPI 000004ab: PUSH1 0x00 000004ad: DUP1 000004ae: REVERT 000004af: JUMPDEST 000004b0: POP 000004b1: PUSH1 0x40 000004b3: MLOAD 000004b4: PUSH1 0x06 000004b6: DUP2 000004b7: MSTORE 000004b8: PUSH1 0x20 000004ba: ADD 000004bb: PUSH2 0x022d 000004be: JUMP 000004bf: JUMPDEST 000004c0: CALLVALUE 000004c1: DUP1 000004c2: ISZERO 000004c3: PUSH2 0x04cb 000004c6: JUMPI 000004c7: PUSH1 0x00 000004c9: DUP1 000004ca: REVERT 000004cb: JUMPDEST 000004cc: POP 000004cd: PUSH2 0x024b 000004d0: PUSH2 0x0af5 000004d3: JUMP 000004d4: JUMPDEST 000004d5: CALLVALUE 000004d6: DUP1 000004d7: ISZERO 000004d8: PUSH2 0x04e0 000004db: JUMPI 000004dc: PUSH1 0x00 000004de: DUP1 000004df: REVERT 000004e0: JUMPDEST 000004e1: POP 000004e2: PUSH2 0x0508 000004e5: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000 00000506: DUP2 00000507: JUMP 00000508: JUMPDEST 00000509: PUSH1 0x40 0000050b: MLOAD 0000050c: SWAP1 0000050d: DUP2 0000050e: MSTORE 0000050f: PUSH1 0x20 00000511: ADD 00000512: PUSH2 0x022d 00000515: JUMP 00000516: JUMPDEST 00000517: CALLVALUE 00000518: DUP1 00000519: ISZERO 0000051a: PUSH2 0x0522 0000051d: JUMPI 0000051e: PUSH1 0x00 00000520: DUP1 00000521: REVERT 00000522: JUMPDEST 00000523: POP 00000524: PUSH1 0x01 00000526: PUSH2 0x03cf 00000529: JUMP 0000052a: JUMPDEST 0000052b: CALLVALUE 0000052c: DUP1 0000052d: ISZERO 0000052e: PUSH2 0x0536 00000531: JUMPI 00000532: PUSH1 0x00 00000534: DUP1 00000535: REVERT 00000536: JUMPDEST 00000537: POP 00000538: PUSH2 0x024b 0000053b: PUSH2 0x0b1e 0000053e: JUMP 0000053f: JUMPDEST 00000540: CALLVALUE 00000541: DUP1 00000542: ISZERO 00000543: PUSH2 0x054b 00000546: JUMPI 00000547: PUSH1 0x00 00000549: DUP1 0000054a: REVERT 0000054b: JUMPDEST 0000054c: POP 0000054d: PUSH2 0x0276 00000550: PUSH2 0x055a 00000553: CALLDATASIZE 00000554: PUSH1 0x04 00000556: PUSH2 0x236f 00000559: JUMP 0000055a: JUMPDEST 0000055b: PUSH2 0x0b47 0000055e: JUMP 0000055f: JUMPDEST 00000560: CALLVALUE 00000561: DUP1 00000562: ISZERO 00000563: PUSH2 0x056b 00000566: JUMPI 00000567: PUSH1 0x00 00000569: DUP1 0000056a: REVERT 0000056b: JUMPDEST 0000056c: POP 0000056d: PUSH2 0x0508 00000570: PUSH2 0x057a 00000573: CALLDATASIZE 00000574: PUSH1 0x04 00000576: PUSH2 0x23b0 00000579: JUMP 0000057a: JUMPDEST 0000057b: PUSH4 0xffffffff 00000580: AND 00000581: PUSH1 0x00 00000583: SWAP1 00000584: DUP2 00000585: MSTORE 00000586: PUSH1 0x00 00000588: DUP1 00000589: MLOAD 0000058a: PUSH1 0x20 0000058c: PUSH2 0x2d47 0000058f: DUP4 00000590: CODECOPY 00000591: DUP2 00000592: MLOAD 00000593: SWAP2 00000594: MSTORE 00000595: PUSH1 0x20 00000597: MSTORE 00000598: PUSH1 0x40 0000059a: SWAP1 0000059b: KECCAK256 0000059c: SLOAD 0000059d: SWAP1 0000059e: JUMP 0000059f: JUMPDEST 000005a0: CALLVALUE 000005a1: DUP1 000005a2: ISZERO 000005a3: PUSH2 0x05ab 000005a6: JUMPI 000005a7: PUSH1 0x00 000005a9: DUP1 000005aa: REVERT 000005ab: JUMPDEST 000005ac: POP 000005ad: PUSH2 0x037e 000005b0: PUSH2 0x05ba 000005b3: CALLDATASIZE 000005b4: PUSH1 0x04 000005b6: PUSH2 0x23cb 000005b9: JUMP 000005ba: JUMPDEST 000005bb: PUSH2 0x0cc8 000005be: JUMP 000005bf: JUMPDEST 000005c0: PUSH2 0x0276 000005c3: PUSH2 0x05cd 000005c6: CALLDATASIZE 000005c7: PUSH1 0x04 000005c9: PUSH2 0x236f 000005cc: JUMP 000005cd: JUMPDEST 000005ce: PUSH2 0x0e5e 000005d1: JUMP 000005d2: JUMPDEST 000005d3: CALLVALUE 000005d4: DUP1 000005d5: ISZERO 000005d6: PUSH2 0x05de 000005d9: JUMPI 000005da: PUSH1 0x00 000005dc: DUP1 000005dd: REVERT 000005de: JUMPDEST 000005df: POP 000005e0: PUSH2 0x0276 000005e3: PUSH2 0x05ed 000005e6: CALLDATASIZE 000005e7: PUSH1 0x04 000005e9: PUSH2 0x22a8 000005ec: JUMP 000005ed: JUMPDEST 000005ee: PUSH2 0x0ff5 000005f1: JUMP 000005f2: JUMPDEST 000005f3: PUSH2 0x0605 000005f6: PUSH2 0x0600 000005f9: CALLDATASIZE 000005fa: PUSH1 0x04 000005fc: PUSH2 0x242b 000005ff: JUMP 00000600: JUMPDEST 00000601: PUSH2 0x10f8 00000604: JUMP 00000605: JUMPDEST 00000606: PUSH1 0x40 00000608: MLOAD 00000609: PUSH2 0x022d 0000060c: SWAP3 0000060d: SWAP2 0000060e: SWAP1 0000060f: PUSH2 0x2498 00000612: JUMP 00000613: JUMPDEST 00000614: CALLVALUE 00000615: DUP1 00000616: ISZERO 00000617: PUSH2 0x061f 0000061a: JUMPI 0000061b: PUSH1 0x00 0000061d: DUP1 0000061e: REVERT 0000061f: JUMPDEST 00000620: POP 00000621: PUSH2 0x0276 00000624: PUSH2 0x062e 00000627: CALLDATASIZE 00000628: PUSH1 0x04 0000062a: PUSH2 0x22a8 0000062d: JUMP 0000062e: JUMPDEST 0000062f: PUSH2 0x11f3 00000632: JUMP 00000633: JUMPDEST 00000634: PUSH2 0x0276 00000637: PUSH2 0x0641 0000063a: CALLDATASIZE 0000063b: PUSH1 0x04 0000063d: PUSH2 0x20f8 00000640: JUMP 00000641: JUMPDEST 00000642: PUSH2 0x1279 00000645: JUMP 00000646: JUMPDEST 00000647: CALLVALUE 00000648: DUP1 00000649: ISZERO 0000064a: PUSH2 0x0652 0000064d: JUMPI 0000064e: PUSH1 0x00 00000650: DUP1 00000651: REVERT 00000652: JUMPDEST 00000653: POP 00000654: PUSH2 0x0276 00000657: PUSH2 0x0661 0000065a: CALLDATASIZE 0000065b: PUSH1 0x04 0000065d: PUSH2 0x22a8 00000660: JUMP 00000661: JUMPDEST 00000662: PUSH2 0x12a8 00000665: JUMP 00000666: JUMPDEST 00000667: CALLVALUE 00000668: DUP1 00000669: ISZERO 0000066a: PUSH2 0x0672 0000066d: JUMPI 0000066e: PUSH1 0x00 00000670: DUP1 00000671: REVERT 00000672: JUMPDEST 00000673: POP 00000674: PUSH2 0x0276 00000677: PUSH2 0x0681 0000067a: CALLDATASIZE 0000067b: PUSH1 0x04 0000067d: PUSH2 0x22a8 00000680: JUMP 00000681: JUMPDEST 00000682: PUSH2 0x131c 00000685: JUMP 00000686: JUMPDEST 00000687: CALLVALUE 00000688: DUP1 00000689: ISZERO 0000068a: PUSH2 0x0692 0000068d: JUMPI 0000068e: PUSH1 0x00 00000690: DUP1 00000691: REVERT 00000692: JUMPDEST 00000693: POP 00000694: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000006b5: PUSH2 0x024b 000006b8: JUMP 000006b9: JUMPDEST 000006ba: CALLVALUE 000006bb: DUP1 000006bc: ISZERO 000006bd: PUSH2 0x06c5 000006c0: JUMPI 000006c1: PUSH1 0x00 000006c3: DUP1 000006c4: REVERT 000006c5: JUMPDEST 000006c6: POP 000006c7: PUSH2 0x03cf 000006ca: PUSH2 0x06d4 000006cd: CALLDATASIZE 000006ce: PUSH1 0x04 000006d0: PUSH2 0x24ea 000006d3: JUMP 000006d4: JUMPDEST 000006d5: PUSH2 0x135a 000006d8: JUMP 000006d9: JUMPDEST 000006da: PUSH1 0x40 000006dc: DUP1 000006dd: MLOAD 000006de: DUP1 000006df: DUP3 000006e0: ADD 000006e1: SWAP1 000006e2: SWAP2 000006e3: MSTORE 000006e4: PUSH1 0x00 000006e6: DUP1 000006e7: DUP3 000006e8: MSTORE 000006e9: PUSH1 0x20 000006eb: DUP3 000006ec: ADD 000006ed: MSTORE 000006ee: PUSH1 0x60 000006f0: PUSH2 0x070c 000006f3: PUSH1 0x40 000006f5: MLOAD 000006f6: DUP1 000006f7: PUSH1 0x40 000006f9: ADD 000006fa: PUSH1 0x40 000006fc: MSTORE 000006fd: DUP1 000006fe: PUSH1 0x00 00000700: DUP2 00000701: MSTORE 00000702: PUSH1 0x20 00000704: ADD 00000705: PUSH1 0x00 00000707: DUP2 00000708: MSTORE 00000709: POP 0000070a: SWAP1 0000070b: JUMP 0000070c: JUMPDEST 0000070d: PUSH1 0x40 0000070f: DUP1 00000710: MLOAD 00000711: DUP1 00000712: DUP3 00000713: ADD 00000714: DUP3 00000715: MSTORE 00000716: PUSH1 0x00 00000718: DUP1 00000719: DUP3 0000071a: MSTORE 0000071b: PUSH1 0x01 0000071d: PUSH1 0x01 0000071f: PUSH1 0x40 00000721: SHL 00000722: SUB 00000723: PUSH1 0x20 00000725: DUP1 00000726: DUP5 00000727: ADD 00000728: DUP3 00000729: SWAP1 0000072a: MSTORE 0000072b: DUP5 0000072c: MLOAD 0000072d: DUP4 0000072e: DUP2 0000072f: MSTORE 00000730: SWAP1 00000731: DUP2 00000732: ADD 00000733: SWAP1 00000734: SWAP5 00000735: MSTORE 00000736: SWAP2 00000737: SWAP6 00000738: POP 00000739: SWAP2 0000073a: DUP3 0000073b: PUSH2 0x0767 0000073e: JUMP 0000073f: JUMPDEST 00000740: PUSH1 0x40 00000742: DUP1 00000743: MLOAD 00000744: DUP1 00000745: DUP3 00000746: ADD 00000747: SWAP1 00000748: SWAP2 00000749: MSTORE 0000074a: PUSH1 0x00 0000074c: DUP2 0000074d: MSTORE 0000074e: PUSH1 0x60 00000750: PUSH1 0x20 00000752: DUP3 00000753: ADD 00000754: MSTORE 00000755: DUP2 00000756: MSTORE 00000757: PUSH1 0x20 00000759: ADD 0000075a: SWAP1 0000075b: PUSH1 0x01 0000075d: SWAP1 0000075e: SUB 0000075f: SWAP1 00000760: DUP2 00000761: PUSH2 0x073f 00000764: JUMPI 00000765: SWAP1 00000766: POP 00000767: JUMPDEST 00000768: POP 00000769: SWAP4 0000076a: POP 0000076b: PUSH1 0x00 0000076d: DUP1 0000076e: PUSH2 0x078c 00000771: PUSH1 0x40 00000773: DUP10 00000774: ADD 00000775: CALLDATALOAD 00000776: PUSH1 0x60 00000778: DUP11 00000779: ADD 0000077a: CALLDATALOAD 0000077b: PUSH2 0x0787 0000077e: PUSH1 0x20 00000780: DUP13 00000781: ADD 00000782: DUP13 00000783: PUSH2 0x23b0 00000786: JUMP 00000787: JUMPDEST 00000788: PUSH2 0x1378 0000078b: JUMP 0000078c: JUMPDEST 0000078d: PUSH1 0x40 0000078f: DUP1 00000790: MLOAD 00000791: DUP1 00000792: DUP3 00000793: ADD 00000794: SWAP1 00000795: SWAP2 00000796: MSTORE 00000797: SWAP2 00000798: DUP3 00000799: MSTORE 0000079a: PUSH1 0x20 0000079c: DUP3 0000079d: ADD 0000079e: MSTORE 0000079f: SWAP7 000007a0: SWAP9 000007a1: SWAP6 000007a2: SWAP8 000007a3: POP 000007a4: POP 000007a5: POP 000007a6: POP 000007a7: POP 000007a8: POP 000007a9: JUMP 000007aa: JUMPDEST 000007ab: PUSH1 0x00 000007ad: DUP1 000007ae: PUSH32 0x41db8a78b0206aba5c54bcbfc2bda0d84082a84eb88e680379a57b9e9f653c00 000007cf: JUMPDEST 000007d0: SLOAD 000007d1: PUSH1 0x01 000007d3: PUSH1 0x01 000007d5: PUSH1 0xa0 000007d7: SHL 000007d8: SUB 000007d9: AND 000007da: SWAP3 000007db: SWAP2 000007dc: POP 000007dd: POP 000007de: JUMP 000007df: JUMPDEST 000007e0: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 00000801: PUSH1 0x01 00000803: PUSH1 0x01 00000805: PUSH1 0xa0 00000807: SHL 00000808: SUB 00000809: AND 0000080a: CALLER 0000080b: EQ 0000080c: PUSH2 0x082f 0000080f: JUMPI 00000810: PUSH1 0x40 00000812: MLOAD 00000813: PUSH4 0x91ac5e4f 00000818: PUSH1 0xe0 0000081a: SHL 0000081b: DUP2 0000081c: MSTORE 0000081d: CALLER 0000081e: PUSH1 0x04 00000820: DUP3 00000821: ADD 00000822: MSTORE 00000823: PUSH1 0x24 00000825: ADD 00000826: JUMPDEST 00000827: PUSH1 0x40 00000829: MLOAD 0000082a: DUP1 0000082b: SWAP2 0000082c: SUB 0000082d: SWAP1 0000082e: REVERT 0000082f: JUMPDEST 00000830: PUSH1 0x20 00000832: DUP8 00000833: ADD 00000834: DUP1 00000835: CALLDATALOAD 00000836: SWAP1 00000837: PUSH2 0x0849 0000083a: SWAP1 0000083b: PUSH2 0x0844 0000083e: SWAP1 0000083f: DUP11 00000840: PUSH2 0x23b0 00000843: JUMP 00000844: JUMPDEST 00000845: PUSH2 0x13bc 00000848: JUMP 00000849: JUMPDEST 0000084a: EQ 0000084b: PUSH2 0x0887 0000084e: JUMPI 0000084f: PUSH2 0x085b 00000852: PUSH1 0x20 00000854: DUP9 00000855: ADD 00000856: DUP9 00000857: PUSH2 0x23b0 0000085a: JUMP 0000085b: JUMPDEST 0000085c: PUSH1 0x40 0000085e: MLOAD 0000085f: PUSH4 0x309afaf3 00000864: PUSH1 0xe2 00000866: SHL 00000867: DUP2 00000868: MSTORE 00000869: PUSH4 0xffffffff 0000086e: SWAP1 0000086f: SWAP2 00000870: AND 00000871: PUSH1 0x04 00000873: DUP3 00000874: ADD 00000875: MSTORE 00000876: PUSH1 0x20 00000878: DUP9 00000879: ADD 0000087a: CALLDATALOAD 0000087b: PUSH1 0x24 0000087d: DUP3 0000087e: ADD 0000087f: MSTORE 00000880: PUSH1 0x44 00000882: ADD 00000883: PUSH2 0x0826 00000886: JUMP 00000887: JUMPDEST 00000888: PUSH2 0x0896 0000088b: DUP8 0000088c: DUP8 0000088d: DUP8 0000088e: DUP8 0000088f: DUP8 00000890: DUP8 00000891: DUP8 00000892: PUSH2 0x140e 00000895: JUMP 00000896: JUMPDEST 00000897: POP 00000898: POP 00000899: POP 0000089a: POP 0000089b: POP 0000089c: POP 0000089d: POP 0000089e: JUMP 0000089f: JUMPDEST 000008a0: PUSH2 0x08a7 000008a3: PUSH2 0x1575 000008a6: JUMP 000008a7: JUMPDEST 000008a8: PUSH4 0xffffffff 000008ad: DUP3 000008ae: AND 000008af: PUSH1 0x00 000008b1: DUP2 000008b2: DUP2 000008b3: MSTORE 000008b4: PUSH1 0x00 000008b6: DUP1 000008b7: MLOAD 000008b8: PUSH1 0x20 000008ba: PUSH2 0x2d47 000008bd: DUP4 000008be: CODECOPY 000008bf: DUP2 000008c0: MLOAD 000008c1: SWAP2 000008c2: MSTORE 000008c3: PUSH1 0x20 000008c5: DUP2 000008c6: DUP2 000008c7: MSTORE 000008c8: PUSH1 0x40 000008ca: SWAP3 000008cb: DUP4 000008cc: SWAP1 000008cd: KECCAK256 000008ce: DUP6 000008cf: SWAP1 000008d0: SSTORE 000008d1: DUP3 000008d2: MLOAD 000008d3: SWAP4 000008d4: DUP5 000008d5: MSTORE 000008d6: DUP4 000008d7: ADD 000008d8: DUP5 000008d9: SWAP1 000008da: MSTORE 000008db: SWAP2 000008dc: PUSH32 0x238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b 000008fd: SWAP2 000008fe: ADD 000008ff: JUMPDEST 00000900: PUSH1 0x40 00000902: MLOAD 00000903: DUP1 00000904: SWAP2 00000905: SUB 00000906: SWAP1 00000907: LOG1 00000908: POP 00000909: POP 0000090a: POP 0000090b: JUMP 0000090c: JUMPDEST 0000090d: PUSH1 0x40 0000090f: DUP1 00000910: MLOAD 00000911: DUP1 00000912: DUP3 00000913: ADD 00000914: SWAP1 00000915: SWAP2 00000916: MSTORE 00000917: PUSH1 0x00 00000919: DUP1 0000091a: DUP3 0000091b: MSTORE 0000091c: PUSH1 0x20 0000091e: DUP3 0000091f: ADD 00000920: MSTORE 00000921: PUSH1 0x00 00000923: PUSH2 0x093c 00000926: PUSH1 0x40 00000928: DUP6 00000929: ADD 0000092a: CALLDATALOAD 0000092b: PUSH1 0x60 0000092d: DUP7 0000092e: ADD 0000092f: CALLDATALOAD 00000930: PUSH2 0x0787 00000933: PUSH1 0x20 00000935: DUP9 00000936: ADD 00000937: DUP9 00000938: PUSH2 0x23b0 0000093b: JUMP 0000093c: JUMPDEST 0000093d: SWAP2 0000093e: POP 0000093f: POP 00000940: PUSH1 0x00 00000942: DUP1 00000943: PUSH2 0x094c 00000946: DUP7 00000947: DUP5 00000948: PUSH2 0x15a7 0000094b: JUMP 0000094c: JUMPDEST 0000094d: SWAP1 0000094e: SWAP3 0000094f: POP 00000950: SWAP1 00000951: POP 00000952: PUSH2 0x0969 00000955: PUSH2 0x0961 00000958: PUSH1 0x20 0000095a: DUP9 0000095b: ADD 0000095c: DUP9 0000095d: PUSH2 0x23b0 00000960: JUMP 00000961: JUMPDEST 00000962: DUP4 00000963: DUP4 00000964: DUP9 00000965: PUSH2 0x16ec 00000968: JUMP 00000969: JUMPDEST 0000096a: SWAP4 0000096b: POP 0000096c: POP 0000096d: POP 0000096e: POP 0000096f: JUMPDEST 00000970: SWAP3 00000971: SWAP2 00000972: POP 00000973: POP 00000974: JUMP 00000975: JUMPDEST 00000976: PUSH4 0xffffffff 0000097b: DUP3 0000097c: AND 0000097d: PUSH1 0x00 0000097f: SWAP1 00000980: DUP2 00000981: MSTORE 00000982: PUSH32 0x8d2bda5d9f6ffb5796910376005392955773acee5548d0fcdb10e7c264ea0000 000009a3: PUSH1 0x20 000009a5: DUP2 000009a6: DUP2 000009a7: MSTORE 000009a8: PUSH1 0x40 000009aa: DUP1 000009ab: DUP5 000009ac: KECCAK256 000009ad: PUSH2 0xffff 000009b0: DUP7 000009b1: AND 000009b2: DUP6 000009b3: MSTORE 000009b4: SWAP1 000009b5: SWAP2 000009b6: MSTORE 000009b7: SWAP1 000009b8: SWAP2 000009b9: KECCAK256 000009ba: DUP1 000009bb: SLOAD 000009bc: PUSH1 0x60 000009be: SWAP3 000009bf: SWAP2 000009c0: SWAP1 000009c1: PUSH2 0x09c9 000009c4: SWAP1 000009c5: PUSH2 0x251c 000009c8: JUMP 000009c9: JUMPDEST 000009ca: DUP1 000009cb: PUSH1 0x1f 000009cd: ADD 000009ce: PUSH1 0x20 000009d0: DUP1 000009d1: SWAP2 000009d2: DIV 000009d3: MUL 000009d4: PUSH1 0x20 000009d6: ADD 000009d7: PUSH1 0x40 000009d9: MLOAD 000009da: SWAP1 000009db: DUP2 000009dc: ADD 000009dd: PUSH1 0x40 000009df: MSTORE 000009e0: DUP1 000009e1: SWAP3 000009e2: SWAP2 000009e3: SWAP1 000009e4: DUP2 000009e5: DUP2 000009e6: MSTORE 000009e7: PUSH1 0x20 000009e9: ADD 000009ea: DUP3 000009eb: DUP1 000009ec: SLOAD 000009ed: PUSH2 0x09f5 000009f0: SWAP1 000009f1: PUSH2 0x251c 000009f4: JUMP 000009f5: JUMPDEST 000009f6: DUP1 000009f7: ISZERO 000009f8: PUSH2 0x0a42 000009fb: JUMPI 000009fc: DUP1 000009fd: PUSH1 0x1f 000009ff: LT 00000a00: PUSH2 0x0a17 00000a03: JUMPI 00000a04: PUSH2 0x0100 00000a07: DUP1 00000a08: DUP4 00000a09: SLOAD 00000a0a: DIV 00000a0b: MUL 00000a0c: DUP4 00000a0d: MSTORE 00000a0e: SWAP2 00000a0f: PUSH1 0x20 00000a11: ADD 00000a12: SWAP2 00000a13: PUSH2 0x0a42 00000a16: JUMP 00000a17: JUMPDEST 00000a18: DUP3 00000a19: ADD 00000a1a: SWAP2 00000a1b: SWAP1 00000a1c: PUSH1 0x00 00000a1e: MSTORE 00000a1f: PUSH1 0x20 00000a21: PUSH1 0x00 00000a23: KECCAK256 00000a24: SWAP1 00000a25: JUMPDEST 00000a26: DUP2 00000a27: SLOAD 00000a28: DUP2 00000a29: MSTORE 00000a2a: SWAP1 00000a2b: PUSH1 0x01 00000a2d: ADD 00000a2e: SWAP1 00000a2f: PUSH1 0x20 00000a31: ADD 00000a32: DUP1 00000a33: DUP4 00000a34: GT 00000a35: PUSH2 0x0a25 00000a38: JUMPI 00000a39: DUP3 00000a3a: SWAP1 00000a3b: SUB 00000a3c: PUSH1 0x1f 00000a3e: AND 00000a3f: DUP3 00000a40: ADD 00000a41: SWAP2 00000a42: JUMPDEST 00000a43: POP 00000a44: POP 00000a45: POP 00000a46: POP 00000a47: POP 00000a48: SWAP2 00000a49: POP 00000a4a: POP 00000a4b: SWAP3 00000a4c: SWAP2 00000a4d: POP 00000a4e: POP 00000a4f: JUMP 00000a50: JUMPDEST 00000a51: PUSH2 0x0a58 00000a54: PUSH2 0x1575 00000a57: JUMP 00000a58: JUMPDEST 00000a59: PUSH32 0x41db8a78b0206aba5c54bcbfc2bda0d84082a84eb88e680379a57b9e9f653c00 00000a7a: DUP1 00000a7b: SLOAD 00000a7c: PUSH1 0x01 00000a7e: PUSH1 0x01 00000a80: PUSH1 0xa0 00000a82: SHL 00000a83: SUB 00000a84: NOT 00000a85: AND 00000a86: PUSH1 0x01 00000a88: PUSH1 0x01 00000a8a: PUSH1 0xa0 00000a8c: SHL 00000a8d: SUB 00000a8e: DUP4 00000a8f: AND 00000a90: SWAP1 00000a91: DUP2 00000a92: OR 00000a93: DUP3 00000a94: SSTORE 00000a95: PUSH1 0x40 00000a97: MLOAD 00000a98: SWAP1 00000a99: DUP2 00000a9a: MSTORE 00000a9b: PUSH32 0xf0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197 00000abc: SWAP1 00000abd: PUSH1 0x20 00000abf: ADD 00000ac0: JUMPDEST 00000ac1: PUSH1 0x40 00000ac3: MLOAD 00000ac4: DUP1 00000ac5: SWAP2 00000ac6: SUB 00000ac7: SWAP1 00000ac8: LOG1 00000ac9: POP 00000aca: POP 00000acb: JUMP 00000acc: JUMPDEST 00000acd: PUSH2 0x0ad4 00000ad0: PUSH2 0x1575 00000ad3: JUMP 00000ad4: JUMPDEST 00000ad5: PUSH2 0x0ade 00000ad8: PUSH1 0x00 00000ada: PUSH2 0x17cd 00000add: JUMP 00000ade: JUMPDEST 00000adf: JUMP 00000ae0: JUMPDEST 00000ae1: PUSH1 0x01 00000ae3: PUSH1 0x01 00000ae5: PUSH1 0xa0 00000ae7: SHL 00000ae8: SUB 00000ae9: DUP2 00000aea: AND 00000aeb: ADDRESS 00000aec: EQ 00000aed: JUMPDEST 00000aee: SWAP5 00000aef: SWAP4 00000af0: POP 00000af1: POP 00000af2: POP 00000af3: POP 00000af4: JUMP 00000af5: JUMPDEST 00000af6: PUSH1 0x00 00000af8: DUP1 00000af9: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00000b1a: PUSH2 0x07cf 00000b1d: JUMP 00000b1e: JUMPDEST 00000b1f: PUSH1 0x00 00000b21: DUP1 00000b22: PUSH32 0xefb041d771d6daaa55702fff6eb740d63ba559a75d2d1d3e151c78ff2480b600 00000b43: PUSH2 0x07cf 00000b46: JUMP 00000b47: JUMPDEST 00000b48: PUSH2 0x0b4f 00000b4b: PUSH2 0x1575 00000b4e: JUMP 00000b4f: JUMPDEST 00000b50: PUSH32 0x8d2bda5d9f6ffb5796910376005392955773acee5548d0fcdb10e7c264ea0000 00000b71: PUSH1 0x00 00000b73: JUMPDEST 00000b74: DUP3 00000b75: DUP2 00000b76: LT 00000b77: ISZERO 00000b78: PUSH2 0x0c96 00000b7b: JUMPI 00000b7c: PUSH2 0x0bb5 00000b7f: DUP5 00000b80: DUP5 00000b81: DUP4 00000b82: DUP2 00000b83: DUP2 00000b84: LT 00000b85: PUSH2 0x0b90 00000b88: JUMPI 00000b89: PUSH2 0x0b90 00000b8c: PUSH2 0x2550 00000b8f: JUMP 00000b90: JUMPDEST 00000b91: SWAP1 00000b92: POP 00000b93: PUSH1 0x20 00000b95: MUL 00000b96: DUP2 00000b97: ADD 00000b98: SWAP1 00000b99: PUSH2 0x0ba2 00000b9c: SWAP2 00000b9d: SWAP1 00000b9e: PUSH2 0x2566 00000ba1: JUMP 00000ba2: JUMPDEST 00000ba3: PUSH2 0x0bb0 00000ba6: SWAP1 00000ba7: PUSH1 0x40 00000ba9: DUP2 00000baa: ADD 00000bab: SWAP1 00000bac: PUSH2 0x2586 00000baf: JUMP 00000bb0: JUMPDEST 00000bb1: PUSH2 0x183e 00000bb4: JUMP 00000bb5: JUMPDEST 00000bb6: DUP4 00000bb7: DUP4 00000bb8: DUP3 00000bb9: DUP2 00000bba: DUP2 00000bbb: LT 00000bbc: PUSH2 0x0bc7 00000bbf: JUMPI 00000bc0: PUSH2 0x0bc7 00000bc3: PUSH2 0x2550 00000bc6: JUMP 00000bc7: JUMPDEST 00000bc8: SWAP1 00000bc9: POP 00000bca: PUSH1 0x20 00000bcc: MUL 00000bcd: DUP2 00000bce: ADD 00000bcf: SWAP1 00000bd0: PUSH2 0x0bd9 00000bd3: SWAP2 00000bd4: SWAP1 00000bd5: PUSH2 0x2566 00000bd8: JUMP 00000bd9: JUMPDEST 00000bda: PUSH2 0x0be7 00000bdd: SWAP1 00000bde: PUSH1 0x40 00000be0: DUP2 00000be1: ADD 00000be2: SWAP1 00000be3: PUSH2 0x2586 00000be6: JUMP 00000be7: JUMPDEST 00000be8: DUP4 00000be9: PUSH1 0x00 00000beb: DUP8 00000bec: DUP8 00000bed: DUP7 00000bee: DUP2 00000bef: DUP2 00000bf0: LT 00000bf1: PUSH2 0x0bfc 00000bf4: JUMPI 00000bf5: PUSH2 0x0bfc 00000bf8: PUSH2 0x2550 00000bfb: JUMP 00000bfc: JUMPDEST 00000bfd: SWAP1 00000bfe: POP 00000bff: PUSH1 0x20 00000c01: MUL 00000c02: DUP2 00000c03: ADD 00000c04: SWAP1 00000c05: PUSH2 0x0c0e 00000c08: SWAP2 00000c09: SWAP1 00000c0a: PUSH2 0x2566 00000c0d: JUMP 00000c0e: JUMPDEST 00000c0f: PUSH2 0x0c1c 00000c12: SWAP1 00000c13: PUSH1 0x20 00000c15: DUP2 00000c16: ADD 00000c17: SWAP1 00000c18: PUSH2 0x23b0 00000c1b: JUMP 00000c1c: JUMPDEST 00000c1d: PUSH4 0xffffffff 00000c22: AND 00000c23: PUSH4 0xffffffff 00000c28: AND 00000c29: DUP2 00000c2a: MSTORE 00000c2b: PUSH1 0x20 00000c2d: ADD 00000c2e: SWAP1 00000c2f: DUP2 00000c30: MSTORE 00000c31: PUSH1 0x20 00000c33: ADD 00000c34: PUSH1 0x00 00000c36: KECCAK256 00000c37: PUSH1 0x00 00000c39: DUP8 00000c3a: DUP8 00000c3b: DUP7 00000c3c: DUP2 00000c3d: DUP2 00000c3e: LT 00000c3f: PUSH2 0x0c4a 00000c42: JUMPI 00000c43: PUSH2 0x0c4a 00000c46: PUSH2 0x2550 00000c49: JUMP 00000c4a: JUMPDEST 00000c4b: SWAP1 00000c4c: POP 00000c4d: PUSH1 0x20 00000c4f: MUL 00000c50: DUP2 00000c51: ADD 00000c52: SWAP1 00000c53: PUSH2 0x0c5c 00000c56: SWAP2 00000c57: SWAP1 00000c58: PUSH2 0x2566 00000c5b: JUMP 00000c5c: JUMPDEST 00000c5d: PUSH2 0x0c6d 00000c60: SWAP1 00000c61: PUSH1 0x40 00000c63: DUP2 00000c64: ADD 00000c65: SWAP1 00000c66: PUSH1 0x20 00000c68: ADD 00000c69: PUSH2 0x25cc 00000c6c: JUMP 00000c6d: JUMPDEST 00000c6e: PUSH2 0xffff 00000c71: AND 00000c72: DUP2 00000c73: MSTORE 00000c74: PUSH1 0x20 00000c76: DUP2 00000c77: ADD 00000c78: SWAP2 00000c79: SWAP1 00000c7a: SWAP2 00000c7b: MSTORE 00000c7c: PUSH1 0x40 00000c7e: ADD 00000c7f: PUSH1 0x00 00000c81: KECCAK256 00000c82: SWAP2 00000c83: PUSH2 0x0c8d 00000c86: SWAP2 00000c87: SWAP1 00000c88: DUP4 00000c89: PUSH2 0x262f 00000c8c: JUMP 00000c8d: JUMPDEST 00000c8e: POP 00000c8f: PUSH1 0x01 00000c91: ADD 00000c92: PUSH2 0x0b73 00000c95: JUMP 00000c96: JUMPDEST 00000c97: POP 00000c98: PUSH32 0xbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674 00000cb9: DUP4 00000cba: DUP4 00000cbb: PUSH1 0x40 00000cbd: MLOAD 00000cbe: PUSH2 0x08ff 00000cc1: SWAP3 00000cc2: SWAP2 00000cc3: SWAP1 00000cc4: PUSH2 0x2717 00000cc7: JUMP 00000cc8: JUMPDEST 00000cc9: PUSH4 0xffffffff 00000cce: DUP5 00000ccf: AND 00000cd0: PUSH1 0x00 00000cd2: SWAP1 00000cd3: DUP2 00000cd4: MSTORE 00000cd5: PUSH32 0x8d2bda5d9f6ffb5796910376005392955773acee5548d0fcdb10e7c264ea0000 00000cf6: PUSH1 0x20 00000cf8: DUP2 00000cf9: DUP2 00000cfa: MSTORE 00000cfb: PUSH1 0x40 00000cfd: DUP1 00000cfe: DUP5 00000cff: KECCAK256 00000d00: PUSH2 0xffff 00000d03: DUP9 00000d04: AND 00000d05: DUP6 00000d06: MSTORE 00000d07: SWAP1 00000d08: SWAP2 00000d09: MSTORE 00000d0a: DUP3 00000d0b: KECCAK256 00000d0c: DUP1 00000d0d: SLOAD 00000d0e: PUSH1 0x60 00000d10: SWAP4 00000d11: SWAP2 00000d12: SWAP1 00000d13: PUSH2 0x0d1b 00000d16: SWAP1 00000d17: PUSH2 0x251c 00000d1a: JUMP 00000d1b: JUMPDEST 00000d1c: DUP1 00000d1d: PUSH1 0x1f 00000d1f: ADD 00000d20: PUSH1 0x20 00000d22: DUP1 00000d23: SWAP2 00000d24: DIV 00000d25: MUL 00000d26: PUSH1 0x20 00000d28: ADD 00000d29: PUSH1 0x40 00000d2b: MLOAD 00000d2c: SWAP1 00000d2d: DUP2 00000d2e: ADD 00000d2f: PUSH1 0x40 00000d31: MSTORE 00000d32: DUP1 00000d33: SWAP3 00000d34: SWAP2 00000d35: SWAP1 00000d36: DUP2 00000d37: DUP2 00000d38: MSTORE 00000d39: PUSH1 0x20 00000d3b: ADD 00000d3c: DUP3 00000d3d: DUP1 00000d3e: SLOAD 00000d3f: PUSH2 0x0d47 00000d42: SWAP1 00000d43: PUSH2 0x251c 00000d46: JUMP 00000d47: JUMPDEST 00000d48: DUP1 00000d49: ISZERO 00000d4a: PUSH2 0x0d94 00000d4d: JUMPI 00000d4e: DUP1 00000d4f: PUSH1 0x1f 00000d51: LT 00000d52: PUSH2 0x0d69 00000d55: JUMPI 00000d56: PUSH2 0x0100 00000d59: DUP1 00000d5a: DUP4 00000d5b: SLOAD 00000d5c: DIV 00000d5d: MUL 00000d5e: DUP4 00000d5f: MSTORE 00000d60: SWAP2 00000d61: PUSH1 0x20 00000d63: ADD 00000d64: SWAP2 00000d65: PUSH2 0x0d94 00000d68: JUMP 00000d69: JUMPDEST 00000d6a: DUP3 00000d6b: ADD 00000d6c: SWAP2 00000d6d: SWAP1 00000d6e: PUSH1 0x00 00000d70: MSTORE 00000d71: PUSH1 0x20 00000d73: PUSH1 0x00 00000d75: KECCAK256 00000d76: SWAP1 00000d77: JUMPDEST 00000d78: DUP2 00000d79: SLOAD 00000d7a: DUP2 00000d7b: MSTORE 00000d7c: SWAP1 00000d7d: PUSH1 0x01 00000d7f: ADD 00000d80: SWAP1 00000d81: PUSH1 0x20 00000d83: ADD 00000d84: DUP1 00000d85: DUP4 00000d86: GT 00000d87: PUSH2 0x0d77 00000d8a: JUMPI 00000d8b: DUP3 00000d8c: SWAP1 00000d8d: SUB 00000d8e: PUSH1 0x1f 00000d90: AND 00000d91: DUP3 00000d92: ADD 00000d93: SWAP2 00000d94: JUMPDEST 00000d95: POP 00000d96: POP 00000d97: POP 00000d98: POP 00000d99: POP 00000d9a: SWAP1 00000d9b: POP 00000d9c: DUP1 00000d9d: MLOAD 00000d9e: PUSH1 0x00 00000da0: SUB 00000da1: PUSH2 0x0de5 00000da4: JUMPI 00000da5: DUP5 00000da6: DUP5 00000da7: DUP1 00000da8: DUP1 00000da9: PUSH1 0x1f 00000dab: ADD 00000dac: PUSH1 0x20 00000dae: DUP1 00000daf: SWAP2 00000db0: DIV 00000db1: MUL 00000db2: PUSH1 0x20 00000db4: ADD 00000db5: PUSH1 0x40 00000db7: MLOAD 00000db8: SWAP1 00000db9: DUP2 00000dba: ADD 00000dbb: PUSH1 0x40 00000dbd: MSTORE 00000dbe: DUP1 00000dbf: SWAP4 00000dc0: SWAP3 00000dc1: SWAP2 00000dc2: SWAP1 00000dc3: DUP2 00000dc4: DUP2 00000dc5: MSTORE 00000dc6: PUSH1 0x20 00000dc8: ADD 00000dc9: DUP4 00000dca: DUP4 00000dcb: DUP1 00000dcc: DUP3 00000dcd: DUP5 00000dce: CALLDATACOPY 00000dcf: PUSH1 0x00 00000dd1: SWAP3 00000dd2: ADD 00000dd3: SWAP2 00000dd4: SWAP1 00000dd5: SWAP2 00000dd6: MSTORE 00000dd7: POP 00000dd8: SWAP3 00000dd9: SWAP6 00000dda: POP 00000ddb: PUSH2 0x0aed 00000dde: SWAP5 00000ddf: POP 00000de0: POP 00000de1: POP 00000de2: POP 00000de3: POP 00000de4: JUMP 00000de5: JUMPDEST 00000de6: PUSH1 0x00 00000de8: DUP5 00000de9: SWAP1 00000dea: SUB 00000deb: PUSH2 0x0df7 00000dee: JUMPI 00000def: SWAP2 00000df0: POP 00000df1: PUSH2 0x0aed 00000df4: SWAP1 00000df5: POP 00000df6: JUMP 00000df7: JUMPDEST 00000df8: PUSH1 0x02 00000dfa: DUP5 00000dfb: LT 00000dfc: PUSH2 0x0e41 00000dff: JUMPI 00000e00: PUSH2 0x0e09 00000e03: DUP6 00000e04: DUP6 00000e05: PUSH2 0x183e 00000e08: JUMP 00000e09: JUMPDEST 00000e0a: DUP1 00000e0b: PUSH2 0x0e17 00000e0e: DUP6 00000e0f: PUSH1 0x02 00000e11: DUP2 00000e12: DUP10 00000e13: PUSH2 0x27fb 00000e16: JUMP 00000e17: JUMPDEST 00000e18: PUSH1 0x40 00000e1a: MLOAD 00000e1b: PUSH1 0x20 00000e1d: ADD 00000e1e: PUSH2 0x0e29 00000e21: SWAP4 00000e22: SWAP3 00000e23: SWAP2 00000e24: SWAP1 00000e25: PUSH2 0x2825 00000e28: JUMP 00000e29: JUMPDEST 00000e2a: PUSH1 0x40 00000e2c: MLOAD 00000e2d: PUSH1 0x20 00000e2f: DUP2 00000e30: DUP4 00000e31: SUB 00000e32: SUB 00000e33: DUP2 00000e34: MSTORE 00000e35: SWAP1 00000e36: PUSH1 0x40 00000e38: MSTORE 00000e39: SWAP3 00000e3a: POP 00000e3b: POP 00000e3c: POP 00000e3d: PUSH2 0x0aed 00000e40: JUMP 00000e41: JUMPDEST 00000e42: DUP5 00000e43: DUP5 00000e44: PUSH1 0x40 00000e46: MLOAD 00000e47: PUSH4 0x9a6d49cd 00000e4c: PUSH1 0xe0 00000e4e: SHL 00000e4f: DUP2 00000e50: MSTORE 00000e51: PUSH1 0x04 00000e53: ADD 00000e54: PUSH2 0x0826 00000e57: SWAP3 00000e58: SWAP2 00000e59: SWAP1 00000e5a: PUSH2 0x284d 00000e5d: JUMP 00000e5e: JUMPDEST 00000e5f: PUSH1 0x00 00000e61: JUMPDEST 00000e62: DUP2 00000e63: DUP2 00000e64: LT 00000e65: ISZERO 00000e66: PUSH2 0x0f74 00000e69: JUMPI 00000e6a: CALLDATASIZE 00000e6b: DUP4 00000e6c: DUP4 00000e6d: DUP4 00000e6e: DUP2 00000e6f: DUP2 00000e70: LT 00000e71: PUSH2 0x0e7c 00000e74: JUMPI 00000e75: PUSH2 0x0e7c 00000e78: PUSH2 0x2550 00000e7b: JUMP 00000e7c: JUMPDEST 00000e7d: SWAP1 00000e7e: POP 00000e7f: PUSH1 0x20 00000e81: MUL 00000e82: DUP2 00000e83: ADD 00000e84: SWAP1 00000e85: PUSH2 0x0e8e 00000e88: SWAP2 00000e89: SWAP1 00000e8a: PUSH2 0x2861 00000e8d: JUMP 00000e8e: JUMPDEST 00000e8f: SWAP1 00000e90: POP 00000e91: PUSH2 0x0ece 00000e94: PUSH2 0x0ea0 00000e97: PUSH1 0x20 00000e99: DUP4 00000e9a: ADD 00000e9b: DUP4 00000e9c: PUSH2 0x23b0 00000e9f: JUMP 00000ea0: JUMPDEST 00000ea1: PUSH1 0x20 00000ea3: DUP4 00000ea4: ADD 00000ea5: CALLDATALOAD 00000ea6: PUSH4 0xffffffff 00000eab: SWAP2 00000eac: SWAP1 00000ead: SWAP2 00000eae: AND 00000eaf: PUSH1 0x00 00000eb1: SWAP1 00000eb2: DUP2 00000eb3: MSTORE 00000eb4: PUSH1 0x00 00000eb6: DUP1 00000eb7: MLOAD 00000eb8: PUSH1 0x20 00000eba: PUSH2 0x2d47 00000ebd: DUP4 00000ebe: CODECOPY 00000ebf: DUP2 00000ec0: MLOAD 00000ec1: SWAP2 00000ec2: MSTORE 00000ec3: PUSH1 0x20 00000ec5: MSTORE 00000ec6: PUSH1 0x40 00000ec8: SWAP1 00000ec9: KECCAK256 00000eca: SLOAD 00000ecb: EQ 00000ecc: SWAP1 00000ecd: JUMP 00000ece: JUMPDEST 00000ecf: PUSH2 0x0ed8 00000ed2: JUMPI 00000ed3: POP 00000ed4: PUSH2 0x0f6c 00000ed7: JUMP 00000ed8: JUMPDEST 00000ed9: ADDRESS 00000eda: PUSH4 0xd045a0dc 00000edf: PUSH1 0xc0 00000ee1: DUP4 00000ee2: ADD 00000ee3: CALLDATALOAD 00000ee4: DUP4 00000ee5: PUSH1 0xa0 00000ee7: DUP2 00000ee8: ADD 00000ee9: CALLDATALOAD 00000eea: PUSH2 0x0ef7 00000eed: PUSH2 0x0100 00000ef0: DUP4 00000ef1: ADD 00000ef2: DUP4 00000ef3: PUSH2 0x2586 00000ef6: JUMP 00000ef7: JUMPDEST 00000ef8: PUSH2 0x0f08 00000efb: PUSH2 0x0100 00000efe: DUP10 00000eff: ADD 00000f00: PUSH1 0xe0 00000f02: DUP11 00000f03: ADD 00000f04: PUSH2 0x22a8 00000f07: JUMP 00000f08: JUMPDEST 00000f09: PUSH2 0x0f16 00000f0c: PUSH2 0x0120 00000f0f: DUP11 00000f10: ADD 00000f11: DUP11 00000f12: PUSH2 0x2586 00000f15: JUMP 00000f16: JUMPDEST 00000f17: PUSH1 0x40 00000f19: MLOAD 00000f1a: DUP10 00000f1b: PUSH4 0xffffffff 00000f20: AND 00000f21: PUSH1 0xe0 00000f23: SHL 00000f24: DUP2 00000f25: MSTORE 00000f26: PUSH1 0x04 00000f28: ADD 00000f29: PUSH2 0x0f38 00000f2c: SWAP8 00000f2d: SWAP7 00000f2e: SWAP6 00000f2f: SWAP5 00000f30: SWAP4 00000f31: SWAP3 00000f32: SWAP2 00000f33: SWAP1 00000f34: PUSH2 0x288d 00000f37: JUMP 00000f38: JUMPDEST 00000f39: PUSH1 0x00 00000f3b: PUSH1 0x40 00000f3d: MLOAD 00000f3e: DUP1 00000f3f: DUP4 00000f40: SUB 00000f41: DUP2 00000f42: DUP6 00000f43: DUP9 00000f44: DUP1 00000f45: EXTCODESIZE 00000f46: ISZERO 00000f47: DUP1 00000f48: ISZERO 00000f49: PUSH2 0x0f51 00000f4c: JUMPI 00000f4d: PUSH1 0x00 00000f4f: DUP1 00000f50: REVERT 00000f51: JUMPDEST 00000f52: POP 00000f53: GAS 00000f54: CALL 00000f55: ISZERO 00000f56: DUP1 00000f57: ISZERO 00000f58: PUSH2 0x0f65 00000f5b: JUMPI 00000f5c: RETURNDATASIZE 00000f5d: PUSH1 0x00 00000f5f: DUP1 00000f60: RETURNDATACOPY 00000f61: RETURNDATASIZE 00000f62: PUSH1 0x00 00000f64: REVERT 00000f65: JUMPDEST 00000f66: POP 00000f67: POP 00000f68: POP 00000f69: POP 00000f6a: POP 00000f6b: POP 00000f6c: JUMPDEST 00000f6d: PUSH1 0x01 00000f6f: ADD 00000f70: PUSH2 0x0e61 00000f73: JUMP 00000f74: JUMPDEST 00000f75: POP 00000f76: CALLER 00000f77: PUSH1 0x01 00000f79: PUSH1 0x01 00000f7b: PUSH1 0xa0 00000f7d: SHL 00000f7e: SUB 00000f7f: AND 00000f80: PUSH4 0x8e9e7099 00000f85: PUSH1 0x40 00000f87: MLOAD 00000f88: DUP2 00000f89: PUSH4 0xffffffff 00000f8e: AND 00000f8f: PUSH1 0xe0 00000f91: SHL 00000f92: DUP2 00000f93: MSTORE 00000f94: PUSH1 0x04 00000f96: ADD 00000f97: PUSH1 0x00 00000f99: PUSH1 0x40 00000f9b: MLOAD 00000f9c: DUP1 00000f9d: DUP4 00000f9e: SUB 00000f9f: DUP2 00000fa0: DUP7 00000fa1: GAS 00000fa2: STATICCALL 00000fa3: ISZERO 00000fa4: DUP1 00000fa5: ISZERO 00000fa6: PUSH2 0x0fb3 00000fa9: JUMPI 00000faa: RETURNDATASIZE 00000fab: PUSH1 0x00 00000fad: DUP1 00000fae: RETURNDATACOPY 00000faf: RETURNDATASIZE 00000fb0: PUSH1 0x00 00000fb2: REVERT 00000fb3: JUMPDEST 00000fb4: POP 00000fb5: POP 00000fb6: POP 00000fb7: POP 00000fb8: PUSH1 0x40 00000fba: MLOAD 00000fbb: RETURNDATASIZE 00000fbc: PUSH1 0x00 00000fbe: DUP3 00000fbf: RETURNDATACOPY 00000fc0: PUSH1 0x1f 00000fc2: RETURNDATASIZE 00000fc3: SWAP1 00000fc4: DUP2 00000fc5: ADD 00000fc6: PUSH1 0x1f 00000fc8: NOT 00000fc9: AND 00000fca: DUP3 00000fcb: ADD 00000fcc: PUSH1 0x40 00000fce: MSTORE 00000fcf: PUSH2 0x0fdb 00000fd2: SWAP2 00000fd3: SWAP1 00000fd4: DUP2 00000fd5: ADD 00000fd6: SWAP1 00000fd7: PUSH2 0x293b 00000fda: JUMP 00000fdb: JUMPDEST 00000fdc: PUSH1 0x40 00000fde: MLOAD 00000fdf: PUSH4 0x8351eea7 00000fe4: PUSH1 0xe0 00000fe6: SHL 00000fe7: DUP2 00000fe8: MSTORE 00000fe9: PUSH1 0x04 00000feb: ADD 00000fec: PUSH2 0x0826 00000fef: SWAP2 00000ff0: SWAP1 00000ff1: PUSH2 0x2295 00000ff4: JUMP 00000ff5: JUMPDEST 00000ff6: PUSH1 0x00 00000ff8: PUSH2 0x0fff 00000ffb: PUSH2 0x1885 00000ffe: JUMP 00000fff: JUMPDEST 00001000: DUP1 00001001: SLOAD 00001002: SWAP1 00001003: SWAP2 00001004: POP 00001005: PUSH1 0xff 00001007: PUSH1 0x01 00001009: PUSH1 0x40 0000100b: SHL 0000100c: DUP3 0000100d: DIV 0000100e: AND 0000100f: ISZERO 00001010: SWAP1 00001011: PUSH1 0x01 00001013: PUSH1 0x01 00001015: PUSH1 0x40 00001017: SHL 00001018: SUB 00001019: AND 0000101a: PUSH1 0x00 0000101c: DUP2 0000101d: ISZERO 0000101e: DUP1 0000101f: ISZERO 00001020: PUSH2 0x1026 00001023: JUMPI 00001024: POP 00001025: DUP3 00001026: JUMPDEST 00001027: SWAP1 00001028: POP 00001029: PUSH1 0x00 0000102b: DUP3 0000102c: PUSH1 0x01 0000102e: PUSH1 0x01 00001030: PUSH1 0x40 00001032: SHL 00001033: SUB 00001034: AND 00001035: PUSH1 0x01 00001037: EQ 00001038: DUP1 00001039: ISZERO 0000103a: PUSH2 0x1042 0000103d: JUMPI 0000103e: POP 0000103f: ADDRESS 00001040: EXTCODESIZE 00001041: ISZERO 00001042: JUMPDEST 00001043: SWAP1 00001044: POP 00001045: DUP2 00001046: ISZERO 00001047: DUP1 00001048: ISZERO 00001049: PUSH2 0x1050 0000104c: JUMPI 0000104d: POP 0000104e: DUP1 0000104f: ISZERO 00001050: JUMPDEST 00001051: ISZERO 00001052: PUSH2 0x106e 00001055: JUMPI 00001056: PUSH1 0x40 00001058: MLOAD 00001059: PUSH4 0xf92ee8a9 0000105e: PUSH1 0xe0 00001060: SHL 00001061: DUP2 00001062: MSTORE 00001063: PUSH1 0x04 00001065: ADD 00001066: PUSH1 0x40 00001068: MLOAD 00001069: DUP1 0000106a: SWAP2 0000106b: SUB 0000106c: SWAP1 0000106d: REVERT 0000106e: JUMPDEST 0000106f: DUP5 00001070: SLOAD 00001071: PUSH8 0xffffffffffffffff 0000107a: NOT 0000107b: AND 0000107c: PUSH1 0x01 0000107e: OR 0000107f: DUP6 00001080: SSTORE 00001081: DUP4 00001082: ISZERO 00001083: PUSH2 0x1098 00001086: JUMPI 00001087: DUP5 00001088: SLOAD 00001089: PUSH1 0xff 0000108b: PUSH1 0x40 0000108d: SHL 0000108e: NOT 0000108f: AND 00001090: PUSH1 0x01 00001092: PUSH1 0x40 00001094: SHL 00001095: OR 00001096: DUP6 00001097: SSTORE 00001098: JUMPDEST 00001099: PUSH2 0x10a1 0000109c: DUP7 0000109d: PUSH2 0x18ae 000010a0: JUMP 000010a1: JUMPDEST 000010a2: PUSH2 0x10aa 000010a5: DUP7 000010a6: PUSH2 0x18bf 000010a9: JUMP 000010aa: JUMPDEST 000010ab: DUP4 000010ac: ISZERO 000010ad: PUSH2 0x10f0 000010b0: JUMPI 000010b1: DUP5 000010b2: SLOAD 000010b3: PUSH1 0xff 000010b5: PUSH1 0x40 000010b7: SHL 000010b8: NOT 000010b9: AND 000010ba: DUP6 000010bb: SSTORE 000010bc: PUSH1 0x40 000010be: MLOAD 000010bf: PUSH1 0x01 000010c1: DUP2 000010c2: MSTORE 000010c3: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 000010e4: SWAP1 000010e5: PUSH1 0x20 000010e7: ADD 000010e8: PUSH1 0x40 000010ea: MLOAD 000010eb: DUP1 000010ec: SWAP2 000010ed: SUB 000010ee: SWAP1 000010ef: LOG1 000010f0: JUMPDEST 000010f1: POP 000010f2: POP 000010f3: POP 000010f4: POP 000010f5: POP 000010f6: POP 000010f7: JUMP 000010f8: JUMPDEST 000010f9: PUSH2 0x1100 000010fc: PUSH2 0x1f0d 000010ff: JUMP 00001100: JUMPDEST 00001101: PUSH1 0x40 00001103: DUP1 00001104: MLOAD 00001105: DUP1 00001106: DUP3 00001107: ADD 00001108: SWAP1 00001109: SWAP2 0000110a: MSTORE 0000110b: PUSH1 0x00 0000110d: DUP1 0000110e: DUP3 0000110f: MSTORE 00001110: PUSH1 0x20 00001112: DUP3 00001113: ADD 00001114: MSTORE 00001115: PUSH1 0x00 00001117: DUP1 00001118: PUSH2 0x1137 0000111b: CALLER 0000111c: PUSH1 0x40 0000111e: DUP10 0000111f: ADD 00001120: CALLDATALOAD 00001121: PUSH1 0x60 00001123: DUP11 00001124: ADD 00001125: CALLDATALOAD 00001126: PUSH2 0x1132 00001129: PUSH1 0x20 0000112b: DUP13 0000112c: ADD 0000112d: DUP13 0000112e: PUSH2 0x23b0 00001131: JUMP 00001132: JUMPDEST 00001133: PUSH2 0x18d0 00001136: JUMP 00001137: JUMPDEST 00001138: SWAP2 00001139: POP 0000113a: SWAP2 0000113b: POP 0000113c: PUSH1 0x00 0000113e: DUP1 0000113f: PUSH2 0x1148 00001142: DUP10 00001143: DUP5 00001144: PUSH2 0x15a7 00001147: JUMP 00001148: JUMPDEST 00001149: SWAP1 0000114a: SWAP3 0000114b: POP 0000114c: SWAP1 0000114d: POP 0000114e: PUSH2 0x1174 00001151: PUSH2 0x115d 00001154: PUSH1 0x20 00001156: DUP12 00001157: ADD 00001158: DUP12 00001159: PUSH2 0x23b0 0000115c: JUMP 0000115d: JUMPDEST 0000115e: DUP4 0000115f: DUP4 00001160: PUSH2 0x116e 00001163: CALLDATASIZE 00001164: DUP14 00001165: SWAP1 00001166: SUB 00001167: DUP14 00001168: ADD 00001169: DUP14 0000116a: PUSH2 0x29dc 0000116d: JUMP 0000116e: JUMPDEST 0000116f: DUP12 00001170: PUSH2 0x1921 00001173: JUMP 00001174: JUMPDEST 00001175: PUSH1 0x40 00001177: DUP1 00001178: MLOAD 00001179: DUP1 0000117a: DUP3 0000117b: ADD 0000117c: SWAP1 0000117d: SWAP2 0000117e: MSTORE 0000117f: DUP6 00001180: DUP2 00001181: MSTORE 00001182: PUSH1 0x20 00001184: DUP1 00001185: DUP3 00001186: ADD 00001187: DUP7 00001188: SWAP1 00001189: MSTORE 0000118a: DUP3 0000118b: MLOAD 0000118c: SWAP3 0000118d: SWAP9 0000118e: POP 0000118f: SWAP1 00001190: SWAP7 00001191: POP 00001192: CALLER 00001193: SWAP2 00001194: SWAP1 00001195: PUSH32 0x85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a 000011b6: SWAP1 000011b7: PUSH2 0x11c2 000011ba: SWAP1 000011bb: DUP14 000011bc: ADD 000011bd: DUP14 000011be: PUSH2 0x23b0 000011c1: JUMP 000011c2: JUMPDEST 000011c3: PUSH1 0x40 000011c5: DUP1 000011c6: MLOAD 000011c7: PUSH4 0xffffffff 000011cc: SWAP1 000011cd: SWAP3 000011ce: AND 000011cf: DUP3 000011d0: MSTORE 000011d1: PUSH1 0x20 000011d3: DUP3 000011d4: ADD 000011d5: DUP10 000011d6: SWAP1 000011d7: MSTORE 000011d8: DUP2 000011d9: ADD 000011da: DUP8 000011db: SWAP1 000011dc: MSTORE 000011dd: PUSH1 0x60 000011df: ADD 000011e0: PUSH1 0x40 000011e2: MLOAD 000011e3: DUP1 000011e4: SWAP2 000011e5: SUB 000011e6: SWAP1 000011e7: LOG3 000011e8: POP 000011e9: POP 000011ea: POP 000011eb: POP 000011ec: SWAP4 000011ed: POP 000011ee: SWAP4 000011ef: SWAP2 000011f0: POP 000011f1: POP 000011f2: JUMP 000011f3: JUMPDEST 000011f4: PUSH2 0x11fb 000011f7: PUSH2 0x1575 000011fa: JUMP 000011fb: JUMPDEST 000011fc: PUSH1 0x40 000011fe: MLOAD 000011ff: PUSH4 0xca5eb5e1 00001204: PUSH1 0xe0 00001206: SHL 00001207: DUP2 00001208: MSTORE 00001209: PUSH1 0x01 0000120b: PUSH1 0x01 0000120d: PUSH1 0xa0 0000120f: SHL 00001210: SUB 00001211: DUP3 00001212: DUP2 00001213: AND 00001214: PUSH1 0x04 00001216: DUP4 00001217: ADD 00001218: MSTORE 00001219: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 0000123a: AND 0000123b: SWAP1 0000123c: PUSH4 0xca5eb5e1 00001241: SWAP1 00001242: PUSH1 0x24 00001244: ADD 00001245: PUSH1 0x00 00001247: PUSH1 0x40 00001249: MLOAD 0000124a: DUP1 0000124b: DUP4 0000124c: SUB 0000124d: DUP2 0000124e: PUSH1 0x00 00001250: DUP8 00001251: DUP1 00001252: EXTCODESIZE 00001253: ISZERO 00001254: DUP1 00001255: ISZERO 00001256: PUSH2 0x125e 00001259: JUMPI 0000125a: PUSH1 0x00 0000125c: DUP1 0000125d: REVERT 0000125e: JUMPDEST 0000125f: POP 00001260: GAS 00001261: CALL 00001262: ISZERO 00001263: DUP1 00001264: ISZERO 00001265: PUSH2 0x1272 00001268: JUMPI 00001269: RETURNDATASIZE 0000126a: PUSH1 0x00 0000126c: DUP1 0000126d: RETURNDATACOPY 0000126e: RETURNDATASIZE 0000126f: PUSH1 0x00 00001271: REVERT 00001272: JUMPDEST 00001273: POP 00001274: POP 00001275: POP 00001276: POP 00001277: POP 00001278: JUMP 00001279: JUMPDEST 0000127a: CALLER 0000127b: ADDRESS 0000127c: EQ 0000127d: PUSH2 0x1299 00001280: JUMPI 00001281: PUSH1 0x40 00001283: MLOAD 00001284: PUSH4 0x029a949d 00001289: PUSH1 0xe3 0000128b: SHL 0000128c: DUP2 0000128d: MSTORE 0000128e: PUSH1 0x04 00001290: ADD 00001291: PUSH1 0x40 00001293: MLOAD 00001294: DUP1 00001295: SWAP2 00001296: SUB 00001297: SWAP1 00001298: REVERT 00001299: JUMPDEST 0000129a: PUSH2 0x0896 0000129d: DUP8 0000129e: DUP8 0000129f: DUP8 000012a0: DUP8 000012a1: DUP8 000012a2: DUP8 000012a3: DUP8 000012a4: PUSH2 0x0887 000012a7: JUMP 000012a8: JUMPDEST 000012a9: PUSH2 0x12b0 000012ac: PUSH2 0x1575 000012af: JUMP 000012b0: JUMPDEST 000012b1: PUSH32 0xefb041d771d6daaa55702fff6eb740d63ba559a75d2d1d3e151c78ff2480b600 000012d2: DUP1 000012d3: SLOAD 000012d4: PUSH1 0x01 000012d6: PUSH1 0x01 000012d8: PUSH1 0xa0 000012da: SHL 000012db: SUB 000012dc: NOT 000012dd: AND 000012de: PUSH1 0x01 000012e0: PUSH1 0x01 000012e2: PUSH1 0xa0 000012e4: SHL 000012e5: SUB 000012e6: DUP4 000012e7: AND 000012e8: SWAP1 000012e9: DUP2 000012ea: OR 000012eb: DUP3 000012ec: SSTORE 000012ed: PUSH1 0x40 000012ef: MLOAD 000012f0: SWAP1 000012f1: DUP2 000012f2: MSTORE 000012f3: PUSH32 0xd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c2427760 00001314: SWAP1 00001315: PUSH1 0x20 00001317: ADD 00001318: PUSH2 0x0ac0 0000131b: JUMP 0000131c: JUMPDEST 0000131d: PUSH2 0x1324 00001320: PUSH2 0x1575 00001323: JUMP 00001324: JUMPDEST 00001325: PUSH1 0x01 00001327: PUSH1 0x01 00001329: PUSH1 0xa0 0000132b: SHL 0000132c: SUB 0000132d: DUP2 0000132e: AND 0000132f: PUSH2 0x134e 00001332: JUMPI 00001333: PUSH1 0x40 00001335: MLOAD 00001336: PUSH4 0x1e4fbdf7 0000133b: PUSH1 0xe0 0000133d: SHL 0000133e: DUP2 0000133f: MSTORE 00001340: PUSH1 0x00 00001342: PUSH1 0x04 00001344: DUP3 00001345: ADD 00001346: MSTORE 00001347: PUSH1 0x24 00001349: ADD 0000134a: PUSH2 0x0826 0000134d: JUMP 0000134e: JUMPDEST 0000134f: PUSH2 0x1357 00001352: DUP2 00001353: PUSH2 0x17cd 00001356: JUMP 00001357: JUMPDEST 00001358: POP 00001359: JUMP 0000135a: JUMPDEST 0000135b: PUSH1 0x00 0000135d: PUSH1 0x20 0000135f: DUP3 00001360: ADD 00001361: DUP1 00001362: CALLDATALOAD 00001363: SWAP1 00001364: PUSH2 0x1371 00001367: SWAP1 00001368: PUSH2 0x057a 0000136b: SWAP1 0000136c: DUP6 0000136d: PUSH2 0x23b0 00001370: JUMP 00001371: JUMPDEST 00001372: EQ 00001373: SWAP3 00001374: SWAP2 00001375: POP 00001376: POP 00001377: JUMP 00001378: JUMPDEST 00001379: PUSH1 0x00 0000137b: DUP1 0000137c: PUSH2 0x1384 0000137f: DUP6 00001380: PUSH2 0x1a2c 00001383: JUMP 00001384: JUMPDEST 00001385: SWAP2 00001386: POP 00001387: DUP2 00001388: SWAP1 00001389: POP 0000138a: DUP4 0000138b: DUP2 0000138c: LT 0000138d: ISZERO 0000138e: PUSH2 0x13b4 00001391: JUMPI 00001392: PUSH1 0x40 00001394: MLOAD 00001395: PUSH4 0x71c4efed 0000139a: PUSH1 0xe0 0000139c: SHL 0000139d: DUP2 0000139e: MSTORE 0000139f: PUSH1 0x04 000013a1: DUP2 000013a2: ADD 000013a3: DUP3 000013a4: SWAP1 000013a5: MSTORE 000013a6: PUSH1 0x24 000013a8: DUP2 000013a9: ADD 000013aa: DUP6 000013ab: SWAP1 000013ac: MSTORE 000013ad: PUSH1 0x44 000013af: ADD 000013b0: PUSH2 0x0826 000013b3: JUMP 000013b4: JUMPDEST 000013b5: SWAP4 000013b6: POP 000013b7: SWAP4 000013b8: SWAP2 000013b9: POP 000013ba: POP 000013bb: JUMP 000013bc: JUMPDEST 000013bd: PUSH4 0xffffffff 000013c2: DUP2 000013c3: AND 000013c4: PUSH1 0x00 000013c6: SWAP1 000013c7: DUP2 000013c8: MSTORE 000013c9: PUSH1 0x00 000013cb: DUP1 000013cc: MLOAD 000013cd: PUSH1 0x20 000013cf: PUSH2 0x2d47 000013d2: DUP4 000013d3: CODECOPY 000013d4: DUP2 000013d5: MLOAD 000013d6: SWAP2 000013d7: MSTORE 000013d8: PUSH1 0x20 000013da: DUP2 000013db: SWAP1 000013dc: MSTORE 000013dd: PUSH1 0x40 000013df: DUP3 000013e0: KECCAK256 000013e1: SLOAD 000013e2: DUP1 000013e3: PUSH2 0x1407 000013e6: JUMPI 000013e7: PUSH1 0x40 000013e9: MLOAD 000013ea: PUSH4 0xf6ff4fb7 000013ef: PUSH1 0xe0 000013f1: SHL 000013f2: DUP2 000013f3: MSTORE 000013f4: PUSH4 0xffffffff 000013f9: DUP6 000013fa: AND 000013fb: PUSH1 0x04 000013fd: DUP3 000013fe: ADD 000013ff: MSTORE 00001400: PUSH1 0x24 00001402: ADD 00001403: PUSH2 0x0826 00001406: JUMP 00001407: JUMPDEST 00001408: SWAP4 00001409: SWAP3 0000140a: POP 0000140b: POP 0000140c: POP 0000140d: JUMP 0000140e: JUMPDEST 0000140f: PUSH1 0x00 00001411: PUSH2 0x1420 00001414: PUSH2 0x141d 00001417: DUP8 00001418: DUP8 00001419: PUSH2 0x1a63 0000141c: JUMP 0000141d: JUMPDEST 0000141e: SWAP1 0000141f: JUMP 00001420: JUMPDEST 00001421: SWAP1 00001422: POP 00001423: PUSH1 0x00 00001425: PUSH2 0x144c 00001428: DUP3 00001429: PUSH2 0x143a 0000142c: PUSH2 0x1435 0000142f: DUP11 00001430: DUP11 00001431: PUSH2 0x1a7b 00001434: JUMP 00001435: JUMPDEST 00001436: PUSH2 0x1a9e 00001439: JUMP 0000143a: JUMPDEST 0000143b: PUSH2 0x1447 0000143e: PUSH1 0x20 00001440: DUP14 00001441: ADD 00001442: DUP14 00001443: PUSH2 0x23b0 00001446: JUMP 00001447: JUMPDEST 00001448: PUSH2 0x1ad3 0000144b: JUMP 0000144c: JUMPDEST 0000144d: SWAP1 0000144e: POP 0000144f: PUSH1 0x28 00001451: DUP7 00001452: GT 00001453: ISZERO 00001454: PUSH2 0x1513 00001457: JUMPI 00001458: PUSH1 0x00 0000145a: PUSH2 0x1489 0000145d: PUSH2 0x146c 00001460: PUSH1 0x60 00001462: DUP13 00001463: ADD 00001464: PUSH1 0x40 00001466: DUP14 00001467: ADD 00001468: PUSH2 0x2a0e 0000146b: JUMP 0000146c: JUMPDEST 0000146d: PUSH2 0x1479 00001470: PUSH1 0x20 00001472: DUP14 00001473: ADD 00001474: DUP14 00001475: PUSH2 0x23b0 00001478: JUMP 00001479: JUMPDEST 0000147a: DUP5 0000147b: PUSH2 0x1484 0000147e: DUP13 0000147f: DUP13 00001480: PUSH2 0x1b11 00001483: JUMP 00001484: JUMPDEST 00001485: PUSH2 0x1b5c 00001488: JUMP 00001489: JUMPDEST 0000148a: PUSH1 0x40 0000148c: MLOAD 0000148d: PUSH4 0x3e5ac809 00001492: PUSH1 0xe1 00001494: SHL 00001495: DUP2 00001496: MSTORE 00001497: SWAP1 00001498: SWAP2 00001499: POP 0000149a: PUSH1 0x01 0000149c: PUSH1 0x01 0000149e: PUSH1 0xa0 000014a0: SHL 000014a1: SUB 000014a2: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 000014c3: AND 000014c4: SWAP1 000014c5: PUSH4 0x7cb59012 000014ca: SWAP1 000014cb: PUSH2 0x14df 000014ce: SWAP1 000014cf: DUP7 000014d0: SWAP1 000014d1: DUP14 000014d2: SWAP1 000014d3: PUSH1 0x00 000014d5: SWAP1 000014d6: DUP8 000014d7: SWAP1 000014d8: PUSH1 0x04 000014da: ADD 000014db: PUSH2 0x2a2b 000014de: JUMP 000014df: JUMPDEST 000014e0: PUSH1 0x00 000014e2: PUSH1 0x40 000014e4: MLOAD 000014e5: DUP1 000014e6: DUP4 000014e7: SUB 000014e8: DUP2 000014e9: PUSH1 0x00 000014eb: DUP8 000014ec: DUP1 000014ed: EXTCODESIZE 000014ee: ISZERO 000014ef: DUP1 000014f0: ISZERO 000014f1: PUSH2 0x14f9 000014f4: JUMPI 000014f5: PUSH1 0x00 000014f7: DUP1 000014f8: REVERT 000014f9: JUMPDEST 000014fa: POP 000014fb: GAS 000014fc: CALL 000014fd: ISZERO 000014fe: DUP1 000014ff: ISZERO 00001500: PUSH2 0x150d 00001503: JUMPI 00001504: RETURNDATASIZE 00001505: PUSH1 0x00 00001507: DUP1 00001508: RETURNDATACOPY 00001509: RETURNDATASIZE 0000150a: PUSH1 0x00 0000150c: REVERT 0000150d: JUMPDEST 0000150e: POP 0000150f: POP 00001510: POP 00001511: POP 00001512: POP 00001513: JUMPDEST 00001514: PUSH1 0x01 00001516: PUSH1 0x01 00001518: PUSH1 0xa0 0000151a: SHL 0000151b: SUB 0000151c: DUP3 0000151d: AND 0000151e: DUP9 0000151f: PUSH32 0xefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c 00001540: PUSH2 0x154c 00001543: PUSH1 0x20 00001545: DUP14 00001546: ADD 00001547: DUP14 00001548: PUSH2 0x23b0 0000154b: JUMP 0000154c: JUMPDEST 0000154d: PUSH1 0x40 0000154f: DUP1 00001550: MLOAD 00001551: PUSH4 0xffffffff 00001556: SWAP1 00001557: SWAP3 00001558: AND 00001559: DUP3 0000155a: MSTORE 0000155b: PUSH1 0x20 0000155d: DUP3 0000155e: ADD 0000155f: DUP7 00001560: SWAP1 00001561: MSTORE 00001562: ADD 00001563: PUSH1 0x40 00001565: MLOAD 00001566: DUP1 00001567: SWAP2 00001568: SUB 00001569: SWAP1 0000156a: LOG3 0000156b: POP 0000156c: POP 0000156d: POP 0000156e: POP 0000156f: POP 00001570: POP 00001571: POP 00001572: POP 00001573: POP 00001574: JUMP 00001575: JUMPDEST 00001576: CALLER 00001577: PUSH2 0x157e 0000157a: PUSH2 0x0af5 0000157d: JUMP 0000157e: JUMPDEST 0000157f: PUSH1 0x01 00001581: PUSH1 0x01 00001583: PUSH1 0xa0 00001585: SHL 00001586: SUB 00001587: AND 00001588: EQ 00001589: PUSH2 0x0ade 0000158c: JUMPI 0000158d: PUSH1 0x40 0000158f: MLOAD 00001590: PUSH4 0x118cdaa7 00001595: PUSH1 0xe0 00001597: SHL 00001598: DUP2 00001599: MSTORE 0000159a: CALLER 0000159b: PUSH1 0x04 0000159d: DUP3 0000159e: ADD 0000159f: MSTORE 000015a0: PUSH1 0x24 000015a2: ADD 000015a3: PUSH2 0x0826 000015a6: JUMP 000015a7: JUMPDEST 000015a8: PUSH1 0x60 000015aa: DUP1 000015ab: PUSH1 0x00 000015ad: PUSH2 0x1604 000015b0: DUP6 000015b1: PUSH1 0x20 000015b3: ADD 000015b4: CALLDATALOAD 000015b5: PUSH2 0x15bd 000015b8: DUP7 000015b9: PUSH2 0x1b8e 000015bc: JUMP 000015bd: JUMPDEST 000015be: PUSH2 0x15ca 000015c1: PUSH1 0xa0 000015c3: DUP10 000015c4: ADD 000015c5: DUP10 000015c6: PUSH2 0x2586 000015c9: JUMP 000015ca: JUMPDEST 000015cb: DUP1 000015cc: DUP1 000015cd: PUSH1 0x1f 000015cf: ADD 000015d0: PUSH1 0x20 000015d2: DUP1 000015d3: SWAP2 000015d4: DIV 000015d5: MUL 000015d6: PUSH1 0x20 000015d8: ADD 000015d9: PUSH1 0x40 000015db: MLOAD 000015dc: SWAP1 000015dd: DUP2 000015de: ADD 000015df: PUSH1 0x40 000015e1: MSTORE 000015e2: DUP1 000015e3: SWAP4 000015e4: SWAP3 000015e5: SWAP2 000015e6: SWAP1 000015e7: DUP2 000015e8: DUP2 000015e9: MSTORE 000015ea: PUSH1 0x20 000015ec: ADD 000015ed: DUP4 000015ee: DUP4 000015ef: DUP1 000015f0: DUP3 000015f1: DUP5 000015f2: CALLDATACOPY 000015f3: PUSH1 0x00 000015f5: SWAP3 000015f6: ADD 000015f7: SWAP2 000015f8: SWAP1 000015f9: SWAP2 000015fa: MSTORE 000015fb: POP 000015fc: PUSH2 0x1bba 000015ff: SWAP3 00001600: POP 00001601: POP 00001602: POP 00001603: JUMP 00001604: JUMPDEST 00001605: SWAP1 00001606: SWAP4 00001607: POP 00001608: SWAP1 00001609: POP 0000160a: PUSH1 0x00 0000160c: DUP2 0000160d: PUSH2 0x1617 00001610: JUMPI 00001611: PUSH1 0x01 00001613: PUSH2 0x161a 00001616: JUMP 00001617: JUMPDEST 00001618: PUSH1 0x02 0000161a: JUMPDEST 0000161b: SWAP1 0000161c: POP 0000161d: PUSH2 0x163a 00001620: PUSH2 0x162c 00001623: PUSH1 0x20 00001625: DUP9 00001626: ADD 00001627: DUP9 00001628: PUSH2 0x23b0 0000162b: JUMP 0000162c: JUMPDEST 0000162d: DUP3 0000162e: PUSH2 0x05ba 00001631: PUSH1 0x80 00001633: DUP11 00001634: ADD 00001635: DUP11 00001636: PUSH2 0x2586 00001639: JUMP 0000163a: JUMPDEST 0000163b: PUSH32 0x41db8a78b0206aba5c54bcbfc2bda0d84082a84eb88e680379a57b9e9f653c00 0000165c: DUP1 0000165d: SLOAD 0000165e: SWAP2 0000165f: SWAP5 00001660: POP 00001661: SWAP1 00001662: PUSH1 0x01 00001664: PUSH1 0x01 00001666: PUSH1 0xa0 00001668: SHL 00001669: SUB 0000166a: AND 0000166b: DUP1 0000166c: ISZERO 0000166d: PUSH2 0x16e1 00001670: JUMPI 00001671: PUSH1 0x40 00001673: MLOAD 00001674: PUSH4 0x043a78eb 00001679: PUSH1 0xe0 0000167b: SHL 0000167c: DUP2 0000167d: MSTORE 0000167e: PUSH1 0x01 00001680: PUSH1 0x01 00001682: PUSH1 0xa0 00001684: SHL 00001685: SUB 00001686: DUP3 00001687: AND 00001688: SWAP1 00001689: PUSH4 0x043a78eb 0000168e: SWAP1 0000168f: PUSH2 0x169e 00001692: SWAP1 00001693: DUP10 00001694: SWAP1 00001695: DUP10 00001696: SWAP1 00001697: PUSH1 0x04 00001699: ADD 0000169a: PUSH2 0x2a66 0000169d: JUMP 0000169e: JUMPDEST 0000169f: PUSH1 0x20 000016a1: PUSH1 0x40 000016a3: MLOAD 000016a4: DUP1 000016a5: DUP4 000016a6: SUB 000016a7: DUP2 000016a8: DUP7 000016a9: GAS 000016aa: STATICCALL 000016ab: ISZERO 000016ac: DUP1 000016ad: ISZERO 000016ae: PUSH2 0x16bb 000016b1: JUMPI 000016b2: RETURNDATASIZE 000016b3: PUSH1 0x00 000016b5: DUP1 000016b6: RETURNDATACOPY 000016b7: RETURNDATASIZE 000016b8: PUSH1 0x00 000016ba: REVERT 000016bb: JUMPDEST 000016bc: POP 000016bd: POP 000016be: POP 000016bf: POP 000016c0: PUSH1 0x40 000016c2: MLOAD 000016c3: RETURNDATASIZE 000016c4: PUSH1 0x1f 000016c6: NOT 000016c7: PUSH1 0x1f 000016c9: DUP3 000016ca: ADD 000016cb: AND 000016cc: DUP3 000016cd: ADD 000016ce: DUP1 000016cf: PUSH1 0x40 000016d1: MSTORE 000016d2: POP 000016d3: DUP2 000016d4: ADD 000016d5: SWAP1 000016d6: PUSH2 0x16df 000016d9: SWAP2 000016da: SWAP1 000016db: PUSH2 0x2a8b 000016de: JUMP 000016df: JUMPDEST 000016e0: POP 000016e1: JUMPDEST 000016e2: POP 000016e3: POP 000016e4: POP 000016e5: POP 000016e6: SWAP3 000016e7: POP 000016e8: SWAP3 000016e9: SWAP1 000016ea: POP 000016eb: JUMP 000016ec: JUMPDEST 000016ed: PUSH1 0x40 000016ef: DUP1 000016f0: MLOAD 000016f1: DUP1 000016f2: DUP3 000016f3: ADD 000016f4: SWAP1 000016f5: SWAP2 000016f6: MSTORE 000016f7: PUSH1 0x00 000016f9: DUP1 000016fa: DUP3 000016fb: MSTORE 000016fc: PUSH1 0x20 000016fe: DUP3 000016ff: ADD 00001700: MSTORE 00001701: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 00001722: PUSH1 0x01 00001724: PUSH1 0x01 00001726: PUSH1 0xa0 00001728: SHL 00001729: SUB 0000172a: AND 0000172b: PUSH4 0xddc28c58 00001730: PUSH1 0x40 00001732: MLOAD 00001733: DUP1 00001734: PUSH1 0xa0 00001736: ADD 00001737: PUSH1 0x40 00001739: MSTORE 0000173a: DUP1 0000173b: DUP9 0000173c: PUSH4 0xffffffff 00001741: AND 00001742: DUP2 00001743: MSTORE 00001744: PUSH1 0x20 00001746: ADD 00001747: PUSH2 0x174f 0000174a: DUP10 0000174b: PUSH2 0x13bc 0000174e: JUMP 0000174f: JUMPDEST 00001750: DUP2 00001751: MSTORE 00001752: PUSH1 0x20 00001754: ADD 00001755: DUP8 00001756: DUP2 00001757: MSTORE 00001758: PUSH1 0x20 0000175a: ADD 0000175b: DUP7 0000175c: DUP2 0000175d: MSTORE 0000175e: PUSH1 0x20 00001760: ADD 00001761: DUP6 00001762: ISZERO 00001763: ISZERO 00001764: DUP2 00001765: MSTORE 00001766: POP 00001767: ADDRESS 00001768: PUSH1 0x40 0000176a: MLOAD 0000176b: DUP4 0000176c: PUSH4 0xffffffff 00001771: AND 00001772: PUSH1 0xe0 00001774: SHL 00001775: DUP2 00001776: MSTORE 00001777: PUSH1 0x04 00001779: ADD 0000177a: PUSH2 0x1784 0000177d: SWAP3 0000177e: SWAP2 0000177f: SWAP1 00001780: PUSH2 0x2aa8 00001783: JUMP 00001784: JUMPDEST 00001785: PUSH1 0x40 00001787: DUP1 00001788: MLOAD 00001789: DUP1 0000178a: DUP4 0000178b: SUB 0000178c: DUP2 0000178d: DUP7 0000178e: GAS 0000178f: STATICCALL 00001790: ISZERO 00001791: DUP1 00001792: ISZERO 00001793: PUSH2 0x17a0 00001796: JUMPI 00001797: RETURNDATASIZE 00001798: PUSH1 0x00 0000179a: DUP1 0000179b: RETURNDATACOPY 0000179c: RETURNDATASIZE 0000179d: PUSH1 0x00 0000179f: REVERT 000017a0: JUMPDEST 000017a1: POP 000017a2: POP 000017a3: POP 000017a4: POP 000017a5: PUSH1 0x40 000017a7: MLOAD 000017a8: RETURNDATASIZE 000017a9: PUSH1 0x1f 000017ab: NOT 000017ac: PUSH1 0x1f 000017ae: DUP3 000017af: ADD 000017b0: AND 000017b1: DUP3 000017b2: ADD 000017b3: DUP1 000017b4: PUSH1 0x40 000017b6: MSTORE 000017b7: POP 000017b8: DUP2 000017b9: ADD 000017ba: SWAP1 000017bb: PUSH2 0x17c4 000017be: SWAP2 000017bf: SWAP1 000017c0: PUSH2 0x2b51 000017c3: JUMP 000017c4: JUMPDEST 000017c5: SWAP6 000017c6: SWAP5 000017c7: POP 000017c8: POP 000017c9: POP 000017ca: POP 000017cb: POP 000017cc: JUMP 000017cd: JUMPDEST 000017ce: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 000017ef: DUP1 000017f0: SLOAD 000017f1: PUSH1 0x01 000017f3: PUSH1 0x01 000017f5: PUSH1 0xa0 000017f7: SHL 000017f8: SUB 000017f9: NOT 000017fa: DUP2 000017fb: AND 000017fc: PUSH1 0x01 000017fe: PUSH1 0x01 00001800: PUSH1 0xa0 00001802: SHL 00001803: SUB 00001804: DUP5 00001805: DUP2 00001806: AND 00001807: SWAP2 00001808: DUP3 00001809: OR 0000180a: DUP5 0000180b: SSTORE 0000180c: PUSH1 0x40 0000180e: MLOAD 0000180f: SWAP3 00001810: AND 00001811: SWAP2 00001812: DUP3 00001813: SWAP1 00001814: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001835: SWAP1 00001836: PUSH1 0x00 00001838: SWAP1 00001839: LOG3 0000183a: POP 0000183b: POP 0000183c: POP 0000183d: JUMP 0000183e: JUMPDEST 0000183f: PUSH1 0x00 00001841: PUSH2 0x184d 00001844: PUSH1 0x02 00001846: DUP3 00001847: DUP5 00001848: DUP7 00001849: PUSH2 0x27fb 0000184c: JUMP 0000184d: JUMPDEST 0000184e: PUSH2 0x1856 00001851: SWAP2 00001852: PUSH2 0x2b6d 00001855: JUMP 00001856: JUMPDEST 00001857: PUSH1 0xf0 00001859: SHR 0000185a: SWAP1 0000185b: POP 0000185c: PUSH1 0x03 0000185e: DUP2 0000185f: EQ 00001860: PUSH2 0x1880 00001863: JUMPI 00001864: DUP3 00001865: DUP3 00001866: PUSH1 0x40 00001868: MLOAD 00001869: PUSH4 0x9a6d49cd 0000186e: PUSH1 0xe0 00001870: SHL 00001871: DUP2 00001872: MSTORE 00001873: PUSH1 0x04 00001875: ADD 00001876: PUSH2 0x0826 00001879: SWAP3 0000187a: SWAP2 0000187b: SWAP1 0000187c: PUSH2 0x284d 0000187f: JUMP 00001880: JUMPDEST 00001881: POP 00001882: POP 00001883: POP 00001884: JUMP 00001885: JUMPDEST 00001886: PUSH1 0x00 00001888: DUP1 00001889: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 000018aa: PUSH2 0x096f 000018ad: JUMP 000018ae: JUMPDEST 000018af: PUSH2 0x18b6 000018b2: PUSH2 0x1c34 000018b5: JUMP 000018b6: JUMPDEST 000018b7: PUSH2 0x1357 000018ba: DUP2 000018bb: PUSH2 0x1c59 000018be: JUMP 000018bf: JUMPDEST 000018c0: PUSH2 0x18c7 000018c3: PUSH2 0x1c34 000018c6: JUMP 000018c7: JUMPDEST 000018c8: PUSH2 0x1357 000018cb: DUP2 000018cc: PUSH2 0x1c7a 000018cf: JUMP 000018d0: JUMPDEST 000018d1: PUSH1 0x00 000018d3: DUP1 000018d4: PUSH2 0x18de 000018d7: DUP6 000018d8: DUP6 000018d9: DUP6 000018da: PUSH2 0x1378 000018dd: JUMP 000018de: JUMPDEST 000018df: SWAP1 000018e0: SWAP3 000018e1: POP 000018e2: SWAP1 000018e3: POP 000018e4: PUSH2 0x1918 000018e7: PUSH1 0x01 000018e9: PUSH1 0x01 000018eb: PUSH1 0xa0 000018ed: SHL 000018ee: SUB 000018ef: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001910: AND 00001911: DUP8 00001912: ADDRESS 00001913: DUP6 00001914: PUSH2 0x1c82 00001917: JUMP 00001918: JUMPDEST 00001919: SWAP5 0000191a: POP 0000191b: SWAP5 0000191c: SWAP3 0000191d: POP 0000191e: POP 0000191f: POP 00001920: JUMP 00001921: JUMPDEST 00001922: PUSH2 0x1929 00001925: PUSH2 0x1f0d 00001928: JUMP 00001929: JUMPDEST 0000192a: PUSH1 0x00 0000192c: PUSH2 0x1938 0000192f: DUP5 00001930: PUSH1 0x00 00001932: ADD 00001933: MLOAD 00001934: PUSH2 0x1cef 00001937: JUMP 00001938: JUMPDEST 00001939: PUSH1 0x20 0000193b: DUP6 0000193c: ADD 0000193d: MLOAD 0000193e: SWAP1 0000193f: SWAP2 00001940: POP 00001941: ISZERO 00001942: PUSH2 0x1952 00001945: JUMPI 00001946: PUSH2 0x1952 00001949: DUP5 0000194a: PUSH1 0x20 0000194c: ADD 0000194d: MLOAD 0000194e: PUSH2 0x1d17 00001951: JUMP 00001952: JUMPDEST 00001953: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 00001974: PUSH1 0x01 00001976: PUSH1 0x01 00001978: PUSH1 0xa0 0000197a: SHL 0000197b: SUB 0000197c: AND 0000197d: PUSH4 0x2637a450 00001982: DUP3 00001983: PUSH1 0x40 00001985: MLOAD 00001986: DUP1 00001987: PUSH1 0xa0 00001989: ADD 0000198a: PUSH1 0x40 0000198c: MSTORE 0000198d: DUP1 0000198e: DUP12 0000198f: PUSH4 0xffffffff 00001994: AND 00001995: DUP2 00001996: MSTORE 00001997: PUSH1 0x20 00001999: ADD 0000199a: PUSH2 0x19a2 0000199d: DUP13 0000199e: PUSH2 0x13bc 000019a1: JUMP 000019a2: JUMPDEST 000019a3: DUP2 000019a4: MSTORE 000019a5: PUSH1 0x20 000019a7: ADD 000019a8: DUP11 000019a9: DUP2 000019aa: MSTORE 000019ab: PUSH1 0x20 000019ad: ADD 000019ae: DUP10 000019af: DUP2 000019b0: MSTORE 000019b1: PUSH1 0x20 000019b3: ADD 000019b4: PUSH1 0x00 000019b6: DUP10 000019b7: PUSH1 0x20 000019b9: ADD 000019ba: MLOAD 000019bb: GT 000019bc: ISZERO 000019bd: ISZERO 000019be: DUP2 000019bf: MSTORE 000019c0: POP 000019c1: DUP7 000019c2: PUSH1 0x40 000019c4: MLOAD 000019c5: DUP5 000019c6: PUSH4 0xffffffff 000019cb: AND 000019cc: PUSH1 0xe0 000019ce: SHL 000019cf: DUP2 000019d0: MSTORE 000019d1: PUSH1 0x04 000019d3: ADD 000019d4: PUSH2 0x19de 000019d7: SWAP3 000019d8: SWAP2 000019d9: SWAP1 000019da: PUSH2 0x2aa8 000019dd: JUMP 000019de: JUMPDEST 000019df: PUSH1 0x80 000019e1: PUSH1 0x40 000019e3: MLOAD 000019e4: DUP1 000019e5: DUP4 000019e6: SUB 000019e7: DUP2 000019e8: DUP6 000019e9: DUP9 000019ea: GAS 000019eb: CALL 000019ec: ISZERO 000019ed: DUP1 000019ee: ISZERO 000019ef: PUSH2 0x19fc 000019f2: JUMPI 000019f3: RETURNDATASIZE 000019f4: PUSH1 0x00 000019f6: DUP1 000019f7: RETURNDATACOPY 000019f8: RETURNDATASIZE 000019f9: PUSH1 0x00 000019fb: REVERT 000019fc: JUMPDEST 000019fd: POP 000019fe: POP 000019ff: POP 00001a00: POP 00001a01: POP 00001a02: PUSH1 0x40 00001a04: MLOAD 00001a05: RETURNDATASIZE 00001a06: PUSH1 0x1f 00001a08: NOT 00001a09: PUSH1 0x1f 00001a0b: DUP3 00001a0c: ADD 00001a0d: AND 00001a0e: DUP3 00001a0f: ADD 00001a10: DUP1 00001a11: PUSH1 0x40 00001a13: MSTORE 00001a14: POP 00001a15: DUP2 00001a16: ADD 00001a17: SWAP1 00001a18: PUSH2 0x1a21 00001a1b: SWAP2 00001a1c: SWAP1 00001a1d: PUSH2 0x2b9d 00001a20: JUMP 00001a21: JUMPDEST 00001a22: SWAP8 00001a23: SWAP7 00001a24: POP 00001a25: POP 00001a26: POP 00001a27: POP 00001a28: POP 00001a29: POP 00001a2a: POP 00001a2b: JUMP 00001a2c: JUMPDEST 00001a2d: PUSH1 0x00 00001a2f: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000 00001a50: PUSH2 0x1a59 00001a53: DUP2 00001a54: DUP5 00001a55: PUSH2 0x2c04 00001a58: JUMP 00001a59: JUMPDEST 00001a5a: PUSH2 0x096f 00001a5d: SWAP2 00001a5e: SWAP1 00001a5f: PUSH2 0x2c26 00001a62: JUMP 00001a63: JUMPDEST 00001a64: PUSH1 0x00 00001a66: PUSH2 0x1a72 00001a69: PUSH1 0x20 00001a6b: DUP3 00001a6c: DUP5 00001a6d: DUP7 00001a6e: PUSH2 0x27fb 00001a71: JUMP 00001a72: JUMPDEST 00001a73: PUSH2 0x1407 00001a76: SWAP2 00001a77: PUSH2 0x2c4b 00001a7a: JUMP 00001a7b: JUMPDEST 00001a7c: PUSH1 0x00 00001a7e: PUSH2 0x1a8b 00001a81: PUSH1 0x28 00001a83: PUSH1 0x20 00001a85: DUP5 00001a86: DUP7 00001a87: PUSH2 0x27fb 00001a8a: JUMP 00001a8b: JUMPDEST 00001a8c: PUSH2 0x1a94 00001a8f: SWAP2 00001a90: PUSH2 0x2c69 00001a93: JUMP 00001a94: JUMPDEST 00001a95: PUSH1 0xc0 00001a97: SHR 00001a98: SWAP4 00001a99: SWAP3 00001a9a: POP 00001a9b: POP 00001a9c: POP 00001a9d: JUMP 00001a9e: JUMPDEST 00001a9f: PUSH1 0x00 00001aa1: PUSH2 0x096f 00001aa4: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000 00001ac5: PUSH1 0x01 00001ac7: PUSH1 0x01 00001ac9: PUSH1 0x40 00001acb: SHL 00001acc: SUB 00001acd: DUP5 00001ace: AND 00001acf: PUSH2 0x2c26 00001ad2: JUMP 00001ad3: JUMPDEST 00001ad4: PUSH1 0x00 00001ad6: PUSH2 0x1b09 00001ad9: PUSH1 0x01 00001adb: PUSH1 0x01 00001add: PUSH1 0xa0 00001adf: SHL 00001ae0: SUB 00001ae1: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001b02: AND 00001b03: DUP6 00001b04: DUP6 00001b05: PUSH2 0x1dfd 00001b08: JUMP 00001b09: JUMPDEST 00001b0a: POP 00001b0b: SWAP1 00001b0c: SWAP3 00001b0d: SWAP2 00001b0e: POP 00001b0f: POP 00001b10: JUMP 00001b11: JUMPDEST 00001b12: PUSH1 0x60 00001b14: PUSH2 0x1b20 00001b17: DUP3 00001b18: PUSH1 0x28 00001b1a: DUP2 00001b1b: DUP7 00001b1c: PUSH2 0x27fb 00001b1f: JUMP 00001b20: JUMPDEST 00001b21: DUP1 00001b22: DUP1 00001b23: PUSH1 0x1f 00001b25: ADD 00001b26: PUSH1 0x20 00001b28: DUP1 00001b29: SWAP2 00001b2a: DIV 00001b2b: MUL 00001b2c: PUSH1 0x20 00001b2e: ADD 00001b2f: PUSH1 0x40 00001b31: MLOAD 00001b32: SWAP1 00001b33: DUP2 00001b34: ADD 00001b35: PUSH1 0x40 00001b37: MSTORE 00001b38: DUP1 00001b39: SWAP4 00001b3a: SWAP3 00001b3b: SWAP2 00001b3c: SWAP1 00001b3d: DUP2 00001b3e: DUP2 00001b3f: MSTORE 00001b40: PUSH1 0x20 00001b42: ADD 00001b43: DUP4 00001b44: DUP4 00001b45: DUP1 00001b46: DUP3 00001b47: DUP5 00001b48: CALLDATACOPY 00001b49: PUSH1 0x00 00001b4b: SWAP3 00001b4c: ADD 00001b4d: SWAP2 00001b4e: SWAP1 00001b4f: SWAP2 00001b50: MSTORE 00001b51: POP 00001b52: SWAP3 00001b53: SWAP7 00001b54: SWAP6 00001b55: POP 00001b56: POP 00001b57: POP 00001b58: POP 00001b59: POP 00001b5a: POP 00001b5b: JUMP 00001b5c: JUMPDEST 00001b5d: PUSH1 0x60 00001b5f: DUP5 00001b60: DUP5 00001b61: DUP5 00001b62: DUP5 00001b63: PUSH1 0x40 00001b65: MLOAD 00001b66: PUSH1 0x20 00001b68: ADD 00001b69: PUSH2 0x1b75 00001b6c: SWAP5 00001b6d: SWAP4 00001b6e: SWAP3 00001b6f: SWAP2 00001b70: SWAP1 00001b71: PUSH2 0x2c97 00001b74: JUMP 00001b75: JUMPDEST 00001b76: PUSH1 0x40 00001b78: MLOAD 00001b79: PUSH1 0x20 00001b7b: DUP2 00001b7c: DUP4 00001b7d: SUB 00001b7e: SUB 00001b7f: DUP2 00001b80: MSTORE 00001b81: SWAP1 00001b82: PUSH1 0x40 00001b84: MSTORE 00001b85: SWAP1 00001b86: POP 00001b87: SWAP5 00001b88: SWAP4 00001b89: POP 00001b8a: POP 00001b8b: POP 00001b8c: POP 00001b8d: JUMP 00001b8e: JUMPDEST 00001b8f: PUSH1 0x00 00001b91: PUSH2 0x096f 00001b94: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000 00001bb5: DUP4 00001bb6: PUSH2 0x2c04 00001bb9: JUMP 00001bba: JUMPDEST 00001bbb: DUP1 00001bbc: MLOAD 00001bbd: PUSH1 0x60 00001bbf: SWAP1 00001bc0: ISZERO 00001bc1: ISZERO 00001bc2: DUP1 00001bc3: PUSH2 0x1c03 00001bc6: JUMPI 00001bc7: DUP5 00001bc8: DUP5 00001bc9: PUSH1 0x40 00001bcb: MLOAD 00001bcc: PUSH1 0x20 00001bce: ADD 00001bcf: PUSH2 0x1bef 00001bd2: SWAP3 00001bd3: SWAP2 00001bd4: SWAP1 00001bd5: SWAP2 00001bd6: DUP3 00001bd7: MSTORE 00001bd8: PUSH1 0xc0 00001bda: SHL 00001bdb: PUSH1 0x01 00001bdd: PUSH1 0x01 00001bdf: PUSH1 0xc0 00001be1: SHL 00001be2: SUB 00001be3: NOT 00001be4: AND 00001be5: PUSH1 0x20 00001be7: DUP3 00001be8: ADD 00001be9: MSTORE 00001bea: PUSH1 0x28 00001bec: ADD 00001bed: SWAP1 00001bee: JUMP 00001bef: JUMPDEST 00001bf0: PUSH1 0x40 00001bf2: MLOAD 00001bf3: PUSH1 0x20 00001bf5: DUP2 00001bf6: DUP4 00001bf7: SUB 00001bf8: SUB 00001bf9: DUP2 00001bfa: MSTORE 00001bfb: SWAP1 00001bfc: PUSH1 0x40 00001bfe: MSTORE 00001bff: PUSH2 0x1c2a 00001c02: JUMP 00001c03: JUMPDEST 00001c04: DUP5 00001c05: DUP5 00001c06: CALLER 00001c07: DUP6 00001c08: PUSH1 0x40 00001c0a: MLOAD 00001c0b: PUSH1 0x20 00001c0d: ADD 00001c0e: PUSH2 0x1c1a 00001c11: SWAP5 00001c12: SWAP4 00001c13: SWAP3 00001c14: SWAP2 00001c15: SWAP1 00001c16: PUSH2 0x2ce6 00001c19: JUMP 00001c1a: JUMPDEST 00001c1b: PUSH1 0x40 00001c1d: MLOAD 00001c1e: PUSH1 0x20 00001c20: DUP2 00001c21: DUP4 00001c22: SUB 00001c23: SUB 00001c24: DUP2 00001c25: MSTORE 00001c26: SWAP1 00001c27: PUSH1 0x40 00001c29: MSTORE 00001c2a: JUMPDEST 00001c2b: SWAP2 00001c2c: POP 00001c2d: SWAP4 00001c2e: POP 00001c2f: SWAP4 00001c30: SWAP2 00001c31: POP 00001c32: POP 00001c33: JUMP 00001c34: JUMPDEST 00001c35: PUSH2 0x1c3c 00001c38: PUSH2 0x1e2e 00001c3b: JUMP 00001c3c: JUMPDEST 00001c3d: PUSH2 0x0ade 00001c40: JUMPI 00001c41: PUSH1 0x40 00001c43: MLOAD 00001c44: PUSH4 0x1afcd79f 00001c49: PUSH1 0xe3 00001c4b: SHL 00001c4c: DUP2 00001c4d: MSTORE 00001c4e: PUSH1 0x04 00001c50: ADD 00001c51: PUSH1 0x40 00001c53: MLOAD 00001c54: DUP1 00001c55: SWAP2 00001c56: SUB 00001c57: SWAP1 00001c58: REVERT 00001c59: JUMPDEST 00001c5a: PUSH2 0x1c61 00001c5d: PUSH2 0x1c34 00001c60: JUMP 00001c61: JUMPDEST 00001c62: PUSH2 0x1c6a 00001c65: DUP2 00001c66: PUSH2 0x1e48 00001c69: JUMP 00001c6a: JUMPDEST 00001c6b: PUSH2 0x1c72 00001c6e: PUSH2 0x1e59 00001c71: JUMP 00001c72: JUMPDEST 00001c73: PUSH2 0x1357 00001c76: PUSH2 0x1e59 00001c79: JUMP 00001c7a: JUMPDEST 00001c7b: PUSH2 0x1324 00001c7e: PUSH2 0x1c34 00001c81: JUMP 00001c82: JUMPDEST 00001c83: PUSH1 0x40 00001c85: MLOAD 00001c86: PUSH1 0x01 00001c88: PUSH1 0x01 00001c8a: PUSH1 0xa0 00001c8c: SHL 00001c8d: SUB 00001c8e: DUP5 00001c8f: DUP2 00001c90: AND 00001c91: PUSH1 0x24 00001c93: DUP4 00001c94: ADD 00001c95: MSTORE 00001c96: DUP4 00001c97: DUP2 00001c98: AND 00001c99: PUSH1 0x44 00001c9b: DUP4 00001c9c: ADD 00001c9d: MSTORE 00001c9e: PUSH1 0x64 00001ca0: DUP3 00001ca1: ADD 00001ca2: DUP4 00001ca3: SWAP1 00001ca4: MSTORE 00001ca5: PUSH2 0x1ce9 00001ca8: SWAP2 00001ca9: DUP7 00001caa: SWAP2 00001cab: DUP3 00001cac: AND 00001cad: SWAP1 00001cae: PUSH4 0x23b872dd 00001cb3: SWAP1 00001cb4: PUSH1 0x84 00001cb6: ADD 00001cb7: JUMPDEST 00001cb8: PUSH1 0x40 00001cba: MLOAD 00001cbb: PUSH1 0x20 00001cbd: DUP2 00001cbe: DUP4 00001cbf: SUB 00001cc0: SUB 00001cc1: DUP2 00001cc2: MSTORE 00001cc3: SWAP1 00001cc4: PUSH1 0x40 00001cc6: MSTORE 00001cc7: SWAP2 00001cc8: POP 00001cc9: PUSH1 0xe0 00001ccb: SHL 00001ccc: PUSH1 0x20 00001cce: DUP3 00001ccf: ADD 00001cd0: DUP1 00001cd1: MLOAD 00001cd2: PUSH1 0x01 00001cd4: PUSH1 0x01 00001cd6: PUSH1 0xe0 00001cd8: SHL 00001cd9: SUB 00001cda: DUP4 00001cdb: DUP2 00001cdc: DUP4 00001cdd: AND 00001cde: OR 00001cdf: DUP4 00001ce0: MSTORE 00001ce1: POP 00001ce2: POP 00001ce3: POP 00001ce4: POP 00001ce5: PUSH2 0x1e61 00001ce8: JUMP 00001ce9: JUMPDEST 00001cea: POP 00001ceb: POP 00001cec: POP 00001ced: POP 00001cee: JUMP 00001cef: JUMPDEST 00001cf0: PUSH1 0x00 00001cf2: DUP2 00001cf3: CALLVALUE 00001cf4: EQ 00001cf5: PUSH2 0x1d13 00001cf8: JUMPI 00001cf9: PUSH1 0x40 00001cfb: MLOAD 00001cfc: PUSH4 0x04fb8209 00001d01: PUSH1 0xe5 00001d03: SHL 00001d04: DUP2 00001d05: MSTORE 00001d06: CALLVALUE 00001d07: PUSH1 0x04 00001d09: DUP3 00001d0a: ADD 00001d0b: MSTORE 00001d0c: PUSH1 0x24 00001d0e: ADD 00001d0f: PUSH2 0x0826 00001d12: JUMP 00001d13: JUMPDEST 00001d14: POP 00001d15: SWAP1 00001d16: JUMP 00001d17: JUMPDEST 00001d18: PUSH1 0x00 00001d1a: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 00001d3b: PUSH1 0x01 00001d3d: PUSH1 0x01 00001d3f: PUSH1 0xa0 00001d41: SHL 00001d42: SUB 00001d43: AND 00001d44: PUSH4 0xe4fe1d94 00001d49: PUSH1 0x40 00001d4b: MLOAD 00001d4c: DUP2 00001d4d: PUSH4 0xffffffff 00001d52: AND 00001d53: PUSH1 0xe0 00001d55: SHL 00001d56: DUP2 00001d57: MSTORE 00001d58: PUSH1 0x04 00001d5a: ADD 00001d5b: PUSH1 0x20 00001d5d: PUSH1 0x40 00001d5f: MLOAD 00001d60: DUP1 00001d61: DUP4 00001d62: SUB 00001d63: DUP2 00001d64: DUP7 00001d65: GAS 00001d66: STATICCALL 00001d67: ISZERO 00001d68: DUP1 00001d69: ISZERO 00001d6a: PUSH2 0x1d77 00001d6d: JUMPI 00001d6e: RETURNDATASIZE 00001d6f: PUSH1 0x00 00001d71: DUP1 00001d72: RETURNDATACOPY 00001d73: RETURNDATASIZE 00001d74: PUSH1 0x00 00001d76: REVERT 00001d77: JUMPDEST 00001d78: POP 00001d79: POP 00001d7a: POP 00001d7b: POP 00001d7c: PUSH1 0x40 00001d7e: MLOAD 00001d7f: RETURNDATASIZE 00001d80: PUSH1 0x1f 00001d82: NOT 00001d83: PUSH1 0x1f 00001d85: DUP3 00001d86: ADD 00001d87: AND 00001d88: DUP3 00001d89: ADD 00001d8a: DUP1 00001d8b: PUSH1 0x40 00001d8d: MSTORE 00001d8e: POP 00001d8f: DUP2 00001d90: ADD 00001d91: SWAP1 00001d92: PUSH2 0x1d9b 00001d95: SWAP2 00001d96: SWAP1 00001d97: PUSH2 0x2d29 00001d9a: JUMP 00001d9b: JUMPDEST 00001d9c: SWAP1 00001d9d: POP 00001d9e: PUSH1 0x01 00001da0: PUSH1 0x01 00001da2: PUSH1 0xa0 00001da4: SHL 00001da5: SUB 00001da6: DUP2 00001da7: AND 00001da8: PUSH2 0x1dc4 00001dab: JUMPI 00001dac: PUSH1 0x40 00001dae: MLOAD 00001daf: PUSH4 0x29b99a95 00001db4: PUSH1 0xe1 00001db6: SHL 00001db7: DUP2 00001db8: MSTORE 00001db9: PUSH1 0x04 00001dbb: ADD 00001dbc: PUSH1 0x40 00001dbe: MLOAD 00001dbf: DUP1 00001dc0: SWAP2 00001dc1: SUB 00001dc2: SWAP1 00001dc3: REVERT 00001dc4: JUMPDEST 00001dc5: PUSH2 0x1df9 00001dc8: PUSH1 0x01 00001dca: PUSH1 0x01 00001dcc: PUSH1 0xa0 00001dce: SHL 00001dcf: SUB 00001dd0: DUP3 00001dd1: AND 00001dd2: CALLER 00001dd3: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c 00001df4: DUP6 00001df5: PUSH2 0x1c82 00001df8: JUMP 00001df9: JUMPDEST 00001dfa: POP 00001dfb: POP 00001dfc: JUMP 00001dfd: JUMPDEST 00001dfe: PUSH1 0x40 00001e00: MLOAD 00001e01: PUSH1 0x01 00001e03: PUSH1 0x01 00001e05: PUSH1 0xa0 00001e07: SHL 00001e08: SUB 00001e09: DUP4 00001e0a: DUP2 00001e0b: AND 00001e0c: PUSH1 0x24 00001e0e: DUP4 00001e0f: ADD 00001e10: MSTORE 00001e11: PUSH1 0x44 00001e13: DUP3 00001e14: ADD 00001e15: DUP4 00001e16: SWAP1 00001e17: MSTORE 00001e18: PUSH2 0x1880 00001e1b: SWAP2 00001e1c: DUP6 00001e1d: SWAP2 00001e1e: DUP3 00001e1f: AND 00001e20: SWAP1 00001e21: PUSH4 0xa9059cbb 00001e26: SWAP1 00001e27: PUSH1 0x64 00001e29: ADD 00001e2a: PUSH2 0x1cb7 00001e2d: JUMP 00001e2e: JUMPDEST 00001e2f: PUSH1 0x00 00001e31: PUSH2 0x1e38 00001e34: PUSH2 0x1885 00001e37: JUMP 00001e38: JUMPDEST 00001e39: SLOAD 00001e3a: PUSH1 0x01 00001e3c: PUSH1 0x40 00001e3e: SHL 00001e3f: SWAP1 00001e40: DIV 00001e41: PUSH1 0xff 00001e43: AND 00001e44: SWAP2 00001e45: SWAP1 00001e46: POP 00001e47: JUMP 00001e48: JUMPDEST 00001e49: PUSH2 0x1e50 00001e4c: PUSH2 0x1c34 00001e4f: JUMP 00001e50: JUMPDEST 00001e51: PUSH2 0x1c6a 00001e54: DUP2 00001e55: PUSH2 0x1ed2 00001e58: JUMP 00001e59: JUMPDEST 00001e5a: PUSH2 0x0ade 00001e5d: PUSH2 0x1c34 00001e60: JUMP 00001e61: JUMPDEST 00001e62: PUSH1 0x00 00001e64: DUP1 00001e65: PUSH1 0x20 00001e67: PUSH1 0x00 00001e69: DUP5 00001e6a: MLOAD 00001e6b: PUSH1 0x20 00001e6d: DUP7 00001e6e: ADD 00001e6f: PUSH1 0x00 00001e71: DUP9 00001e72: GAS 00001e73: CALL 00001e74: DUP1 00001e75: PUSH2 0x1e84 00001e78: JUMPI 00001e79: PUSH1 0x40 00001e7b: MLOAD 00001e7c: RETURNDATASIZE 00001e7d: PUSH1 0x00 00001e7f: DUP3 00001e80: RETURNDATACOPY 00001e81: RETURNDATASIZE 00001e82: DUP2 00001e83: REVERT 00001e84: JUMPDEST 00001e85: POP 00001e86: POP 00001e87: PUSH1 0x00 00001e89: MLOAD 00001e8a: RETURNDATASIZE 00001e8b: SWAP2 00001e8c: POP 00001e8d: DUP2 00001e8e: ISZERO 00001e8f: PUSH2 0x1e9c 00001e92: JUMPI 00001e93: DUP1 00001e94: PUSH1 0x01 00001e96: EQ 00001e97: ISZERO 00001e98: PUSH2 0x1ea9 00001e9b: JUMP 00001e9c: JUMPDEST 00001e9d: PUSH1 0x01 00001e9f: PUSH1 0x01 00001ea1: PUSH1 0xa0 00001ea3: SHL 00001ea4: SUB 00001ea5: DUP5 00001ea6: AND 00001ea7: EXTCODESIZE 00001ea8: ISZERO 00001ea9: JUMPDEST 00001eaa: ISZERO 00001eab: PUSH2 0x1ce9 00001eae: JUMPI 00001eaf: PUSH1 0x40 00001eb1: MLOAD 00001eb2: PUSH4 0x5274afe7 00001eb7: PUSH1 0xe0 00001eb9: SHL 00001eba: DUP2 00001ebb: MSTORE 00001ebc: PUSH1 0x01 00001ebe: PUSH1 0x01 00001ec0: PUSH1 0xa0 00001ec2: SHL 00001ec3: SUB 00001ec4: DUP6 00001ec5: AND 00001ec6: PUSH1 0x04 00001ec8: DUP3 00001ec9: ADD 00001eca: MSTORE 00001ecb: PUSH1 0x24 00001ecd: ADD 00001ece: PUSH2 0x0826 00001ed1: JUMP 00001ed2: JUMPDEST 00001ed3: PUSH2 0x1eda 00001ed6: PUSH2 0x1c34 00001ed9: JUMP 00001eda: JUMPDEST 00001edb: PUSH2 0x1357 00001ede: DUP2 00001edf: PUSH2 0x1ee6 00001ee2: PUSH2 0x1c34 00001ee5: JUMP 00001ee6: JUMPDEST 00001ee7: PUSH1 0x01 00001ee9: PUSH1 0x01 00001eeb: PUSH1 0xa0 00001eed: SHL 00001eee: SUB 00001eef: DUP2 00001ef0: AND 00001ef1: PUSH2 0x11fb 00001ef4: JUMPI 00001ef5: PUSH1 0x40 00001ef7: MLOAD 00001ef8: PUSH4 0x2d618d81 00001efd: PUSH1 0xe2 00001eff: SHL 00001f00: DUP2 00001f01: MSTORE 00001f02: PUSH1 0x04 00001f04: ADD 00001f05: PUSH1 0x40 00001f07: MLOAD 00001f08: DUP1 00001f09: SWAP2 00001f0a: SUB 00001f0b: SWAP1 00001f0c: REVERT 00001f0d: JUMPDEST 00001f0e: PUSH1 0x40 00001f10: MLOAD 00001f11: DUP1 00001f12: PUSH1 0x60 00001f14: ADD 00001f15: PUSH1 0x40 00001f17: MSTORE 00001f18: DUP1 00001f19: PUSH1 0x00 00001f1b: DUP1 00001f1c: NOT 00001f1d: AND 00001f1e: DUP2 00001f1f: MSTORE 00001f20: PUSH1 0x20 00001f22: ADD 00001f23: PUSH1 0x00 00001f25: PUSH1 0x01 00001f27: PUSH1 0x01 00001f29: PUSH1 0x40 00001f2b: SHL 00001f2c: SUB 00001f2d: AND 00001f2e: DUP2 00001f2f: MSTORE 00001f30: PUSH1 0x20 00001f32: ADD 00001f33: PUSH2 0x1f4f 00001f36: PUSH1 0x40 00001f38: MLOAD 00001f39: DUP1 00001f3a: PUSH1 0x40 00001f3c: ADD 00001f3d: PUSH1 0x40 00001f3f: MSTORE 00001f40: DUP1 00001f41: PUSH1 0x00 00001f43: DUP2 00001f44: MSTORE 00001f45: PUSH1 0x20 00001f47: ADD 00001f48: PUSH1 0x00 00001f4a: DUP2 00001f4b: MSTORE 00001f4c: POP 00001f4d: SWAP1 00001f4e: JUMP 00001f4f: JUMPDEST 00001f50: SWAP1 00001f51: MSTORE 00001f52: SWAP1 00001f53: JUMP 00001f54: JUMPDEST 00001f55: PUSH1 0x00 00001f57: PUSH1 0xe0 00001f59: DUP3 00001f5a: DUP5 00001f5b: SUB 00001f5c: SLT 00001f5d: ISZERO 00001f5e: PUSH2 0x1f66 00001f61: JUMPI 00001f62: PUSH1 0x00 00001f64: DUP1 00001f65: REVERT 00001f66: JUMPDEST 00001f67: POP 00001f68: SWAP2 00001f69: SWAP1 00001f6a: POP 00001f6b: JUMP 00001f6c: JUMPDEST 00001f6d: PUSH1 0x00 00001f6f: PUSH1 0x20 00001f71: DUP3 00001f72: DUP5 00001f73: SUB 00001f74: SLT 00001f75: ISZERO 00001f76: PUSH2 0x1f7e 00001f79: JUMPI 00001f7a: PUSH1 0x00 00001f7c: DUP1 00001f7d: REVERT 00001f7e: JUMPDEST 00001f7f: DUP2 00001f80: CALLDATALOAD 00001f81: PUSH1 0x01 00001f83: PUSH1 0x01 00001f85: PUSH1 0x40 00001f87: SHL 00001f88: SUB 00001f89: DUP2 00001f8a: GT 00001f8b: ISZERO 00001f8c: PUSH2 0x1f94 00001f8f: JUMPI 00001f90: PUSH1 0x00 00001f92: DUP1 00001f93: REVERT 00001f94: JUMPDEST 00001f95: PUSH2 0x0aed 00001f98: DUP5 00001f99: DUP3 00001f9a: DUP6 00001f9b: ADD 00001f9c: PUSH2 0x1f54 00001f9f: JUMP 00001fa0: JUMPDEST 00001fa1: PUSH1 0x00 00001fa3: JUMPDEST 00001fa4: DUP4 00001fa5: DUP2 00001fa6: LT 00001fa7: ISZERO 00001fa8: PUSH2 0x1fbb 00001fab: JUMPI 00001fac: DUP2 00001fad: DUP2 00001fae: ADD 00001faf: MLOAD 00001fb0: DUP4 00001fb1: DUP3 00001fb2: ADD 00001fb3: MSTORE 00001fb4: PUSH1 0x20 00001fb6: ADD 00001fb7: PUSH2 0x1fa3 00001fba: JUMP 00001fbb: JUMPDEST 00001fbc: POP 00001fbd: POP 00001fbe: PUSH1 0x00 00001fc0: SWAP2 00001fc1: ADD 00001fc2: MSTORE 00001fc3: JUMP 00001fc4: JUMPDEST 00001fc5: PUSH1 0x00 00001fc7: DUP2 00001fc8: MLOAD 00001fc9: DUP1 00001fca: DUP5 00001fcb: MSTORE 00001fcc: PUSH2 0x1fdc 00001fcf: DUP2 00001fd0: PUSH1 0x20 00001fd2: DUP7 00001fd3: ADD 00001fd4: PUSH1 0x20 00001fd6: DUP7 00001fd7: ADD 00001fd8: PUSH2 0x1fa0 00001fdb: JUMP 00001fdc: JUMPDEST 00001fdd: PUSH1 0x1f 00001fdf: ADD 00001fe0: PUSH1 0x1f 00001fe2: NOT 00001fe3: AND 00001fe4: SWAP3 00001fe5: SWAP1 00001fe6: SWAP3 00001fe7: ADD 00001fe8: PUSH1 0x20 00001fea: ADD 00001feb: SWAP3 00001fec: SWAP2 00001fed: POP 00001fee: POP 00001fef: JUMP 00001ff0: JUMPDEST 00001ff1: DUP4 00001ff2: MLOAD 00001ff3: DUP2 00001ff4: MSTORE 00001ff5: PUSH1 0x20 00001ff7: DUP1 00001ff8: DUP6 00001ff9: ADD 00001ffa: MLOAD 00001ffb: SWAP1 00001ffc: DUP3 00001ffd: ADD 00001ffe: MSTORE 00001fff: PUSH1 0x00 00002001: PUSH1 0xa0 00002003: DUP3 00002004: ADD 00002005: PUSH1 0x40 00002007: PUSH1 0xa0 00002009: PUSH1 0x40 0000200b: DUP6 0000200c: ADD 0000200d: MSTORE 0000200e: DUP2 0000200f: DUP7 00002010: MLOAD 00002011: DUP1 00002012: DUP5 00002013: MSTORE 00002014: PUSH1 0xc0 00002016: DUP7 00002017: ADD 00002018: SWAP2 00002019: POP 0000201a: PUSH1 0xc0 0000201c: DUP2 0000201d: PUSH1 0x05 0000201f: SHL 00002020: DUP8 00002021: ADD 00002022: ADD 00002023: SWAP4 00002024: POP 00002025: PUSH1 0x20 00002027: DUP1 00002028: DUP10 00002029: ADD 0000202a: PUSH1 0x00 0000202c: JUMPDEST 0000202d: DUP4 0000202e: DUP2 0000202f: LT 00002030: ISZERO 00002031: PUSH2 0x206b 00002034: JUMPI 00002035: DUP9 00002036: DUP8 00002037: SUB 00002038: PUSH1 0xbf 0000203a: NOT 0000203b: ADD 0000203c: DUP6 0000203d: MSTORE 0000203e: DUP2 0000203f: MLOAD 00002040: DUP1 00002041: MLOAD 00002042: DUP9 00002043: MSTORE 00002044: DUP4 00002045: ADD 00002046: MLOAD 00002047: DUP4 00002048: DUP9 00002049: ADD 0000204a: DUP8 0000204b: SWAP1 0000204c: MSTORE 0000204d: PUSH2 0x2058 00002050: DUP8 00002051: DUP10 00002052: ADD 00002053: DUP3 00002054: PUSH2 0x1fc4 00002057: JUMP 00002058: JUMPDEST 00002059: SWAP8 0000205a: POP 0000205b: POP 0000205c: SWAP4 0000205d: DUP3 0000205e: ADD 0000205f: SWAP4 00002060: SWAP1 00002061: DUP3 00002062: ADD 00002063: SWAP1 00002064: PUSH1 0x01 00002066: ADD 00002067: PUSH2 0x202c 0000206a: JUMP 0000206b: JUMPDEST 0000206c: POP 0000206d: POP 0000206e: DUP8 0000206f: MLOAD 00002070: PUSH1 0x60 00002072: DUP9 00002073: ADD 00002074: MSTORE 00002075: POP 00002076: POP 00002077: POP 00002078: PUSH1 0x20 0000207a: DUP6 0000207b: ADD 0000207c: MLOAD 0000207d: PUSH1 0x80 0000207f: DUP6 00002080: ADD 00002081: MSTORE 00002082: POP 00002083: SWAP1 00002084: POP 00002085: PUSH2 0x0aed 00002088: JUMP 00002089: JUMPDEST 0000208a: PUSH1 0x00 0000208c: PUSH1 0x60 0000208e: DUP3 0000208f: DUP5 00002090: SUB 00002091: SLT 00002092: ISZERO 00002093: PUSH2 0x1f66 00002096: JUMPI 00002097: PUSH1 0x00 00002099: DUP1 0000209a: REVERT 0000209b: JUMPDEST 0000209c: PUSH1 0x00 0000209e: DUP1 0000209f: DUP4 000020a0: PUSH1 0x1f 000020a2: DUP5 000020a3: ADD 000020a4: SLT 000020a5: PUSH2 0x20ad 000020a8: JUMPI 000020a9: PUSH1 0x00 000020ab: DUP1 000020ac: REVERT 000020ad: JUMPDEST 000020ae: POP 000020af: DUP2 000020b0: CALLDATALOAD 000020b1: PUSH1 0x01 000020b3: PUSH1 0x01 000020b5: PUSH1 0x40 000020b7: SHL 000020b8: SUB 000020b9: DUP2 000020ba: GT 000020bb: ISZERO 000020bc: PUSH2 0x20c4 000020bf: JUMPI 000020c0: PUSH1 0x00 000020c2: DUP1 000020c3: REVERT 000020c4: JUMPDEST 000020c5: PUSH1 0x20 000020c7: DUP4 000020c8: ADD 000020c9: SWAP2 000020ca: POP 000020cb: DUP4 000020cc: PUSH1 0x20 000020ce: DUP3 000020cf: DUP6 000020d0: ADD 000020d1: ADD 000020d2: GT 000020d3: ISZERO 000020d4: PUSH2 0x20dc 000020d7: JUMPI 000020d8: PUSH1 0x00 000020da: DUP1 000020db: REVERT 000020dc: JUMPDEST 000020dd: SWAP3 000020de: POP 000020df: SWAP3 000020e0: SWAP1 000020e1: POP 000020e2: JUMP 000020e3: JUMPDEST 000020e4: PUSH1 0x01 000020e6: PUSH1 0x01 000020e8: PUSH1 0xa0 000020ea: SHL 000020eb: SUB 000020ec: DUP2 000020ed: AND 000020ee: DUP2 000020ef: EQ 000020f0: PUSH2 0x1357 000020f3: JUMPI 000020f4: PUSH1 0x00 000020f6: DUP1 000020f7: REVERT 000020f8: JUMPDEST 000020f9: PUSH1 0x00 000020fb: DUP1 000020fc: PUSH1 0x00 000020fe: DUP1 000020ff: PUSH1 0x00 00002101: DUP1 00002102: PUSH1 0x00 00002104: PUSH1 0xe0 00002106: DUP9 00002107: DUP11 00002108: SUB 00002109: SLT 0000210a: ISZERO 0000210b: PUSH2 0x2113 0000210e: JUMPI 0000210f: PUSH1 0x00 00002111: DUP1 00002112: REVERT 00002113: JUMPDEST 00002114: PUSH2 0x211d 00002117: DUP10 00002118: DUP10 00002119: PUSH2 0x2089 0000211c: JUMP 0000211d: JUMPDEST 0000211e: SWAP7 0000211f: POP 00002120: PUSH1 0x60 00002122: DUP9 00002123: ADD 00002124: CALLDATALOAD 00002125: SWAP6 00002126: POP 00002127: PUSH1 0x80 00002129: DUP9 0000212a: ADD 0000212b: CALLDATALOAD 0000212c: PUSH1 0x01 0000212e: PUSH1 0x01 00002130: PUSH1 0x40 00002132: SHL 00002133: SUB 00002134: DUP1 00002135: DUP3 00002136: GT 00002137: ISZERO 00002138: PUSH2 0x2140 0000213b: JUMPI 0000213c: PUSH1 0x00 0000213e: DUP1 0000213f: REVERT 00002140: JUMPDEST 00002141: PUSH2 0x214c 00002144: DUP12 00002145: DUP4 00002146: DUP13 00002147: ADD 00002148: PUSH2 0x209b 0000214b: JUMP 0000214c: JUMPDEST 0000214d: SWAP1 0000214e: SWAP8 0000214f: POP 00002150: SWAP6 00002151: POP 00002152: PUSH1 0xa0 00002154: DUP11 00002155: ADD 00002156: CALLDATALOAD 00002157: SWAP2 00002158: POP 00002159: PUSH2 0x2161 0000215c: DUP3 0000215d: PUSH2 0x20e3 00002160: JUMP 00002161: JUMPDEST 00002162: SWAP1 00002163: SWAP4 00002164: POP 00002165: PUSH1 0xc0 00002167: DUP10 00002168: ADD 00002169: CALLDATALOAD 0000216a: SWAP1 0000216b: DUP1 0000216c: DUP3 0000216d: GT 0000216e: ISZERO 0000216f: PUSH2 0x2177 00002172: JUMPI 00002173: PUSH1 0x00 00002175: DUP1 00002176: REVERT 00002177: JUMPDEST 00002178: POP 00002179: PUSH2 0x2184 0000217c: DUP11 0000217d: DUP3 0000217e: DUP12 0000217f: ADD 00002180: PUSH2 0x209b 00002183: JUMP 00002184: JUMPDEST 00002185: SWAP9 00002186: SWAP12 00002187: SWAP8 00002188: SWAP11 00002189: POP 0000218a: SWAP6 0000218b: SWAP9 0000218c: POP 0000218d: SWAP4 0000218e: SWAP7 0000218f: SWAP3 00002190: SWAP6 00002191: SWAP3 00002192: SWAP4 00002193: POP 00002194: POP 00002195: POP 00002196: JUMP 00002197: JUMPDEST 00002198: DUP1 00002199: CALLDATALOAD 0000219a: PUSH4 0xffffffff 0000219f: DUP2 000021a0: AND 000021a1: DUP2 000021a2: EQ 000021a3: PUSH2 0x21ab 000021a6: JUMPI 000021a7: PUSH1 0x00 000021a9: DUP1 000021aa: REVERT 000021ab: JUMPDEST 000021ac: SWAP2 000021ad: SWAP1 000021ae: POP 000021af: JUMP 000021b0: JUMPDEST 000021b1: PUSH1 0x00 000021b3: DUP1 000021b4: PUSH1 0x40 000021b6: DUP4 000021b7: DUP6 000021b8: SUB 000021b9: SLT 000021ba: ISZERO 000021bb: PUSH2 0x21c3 000021be: JUMPI 000021bf: PUSH1 0x00 000021c1: DUP1 000021c2: REVERT 000021c3: JUMPDEST 000021c4: PUSH2 0x21cc 000021c7: DUP4 000021c8: PUSH2 0x2197 000021cb: JUMP 000021cc: JUMPDEST 000021cd: SWAP5 000021ce: PUSH1 0x20 000021d0: SWAP4 000021d1: SWAP1 000021d2: SWAP4 000021d3: ADD 000021d4: CALLDATALOAD 000021d5: SWAP4 000021d6: POP 000021d7: POP 000021d8: POP 000021d9: JUMP 000021da: JUMPDEST 000021db: DUP1 000021dc: ISZERO 000021dd: ISZERO 000021de: DUP2 000021df: EQ 000021e0: PUSH2 0x1357 000021e3: JUMPI 000021e4: PUSH1 0x00 000021e6: DUP1 000021e7: REVERT 000021e8: JUMPDEST 000021e9: PUSH1 0x00 000021eb: DUP1 000021ec: PUSH1 0x40 000021ee: DUP4 000021ef: DUP6 000021f0: SUB 000021f1: SLT 000021f2: ISZERO 000021f3: PUSH2 0x21fb 000021f6: JUMPI 000021f7: PUSH1 0x00 000021f9: DUP1 000021fa: REVERT 000021fb: JUMPDEST 000021fc: DUP3 000021fd: CALLDATALOAD 000021fe: PUSH1 0x01 00002200: PUSH1 0x01 00002202: PUSH1 0x40 00002204: SHL 00002205: SUB 00002206: DUP2 00002207: GT 00002208: ISZERO 00002209: PUSH2 0x2211 0000220c: JUMPI 0000220d: PUSH1 0x00 0000220f: DUP1 00002210: REVERT 00002211: JUMPDEST 00002212: PUSH2 0x221d 00002215: DUP6 00002216: DUP3 00002217: DUP7 00002218: ADD 00002219: PUSH2 0x1f54 0000221c: JUMP 0000221d: JUMPDEST 0000221e: SWAP3 0000221f: POP 00002220: POP 00002221: PUSH1 0x20 00002223: DUP4 00002224: ADD 00002225: CALLDATALOAD 00002226: PUSH2 0x222e 00002229: DUP2 0000222a: PUSH2 0x21da 0000222d: JUMP 0000222e: JUMPDEST 0000222f: DUP1 00002230: SWAP2 00002231: POP 00002232: POP 00002233: SWAP3 00002234: POP 00002235: SWAP3 00002236: SWAP1 00002237: POP 00002238: JUMP 00002239: JUMPDEST 0000223a: DUP2 0000223b: MLOAD 0000223c: DUP2 0000223d: MSTORE 0000223e: PUSH1 0x20 00002240: DUP1 00002241: DUP4 00002242: ADD 00002243: MLOAD 00002244: SWAP1 00002245: DUP3 00002246: ADD 00002247: MSTORE 00002248: PUSH1 0x40 0000224a: DUP2 0000224b: ADD 0000224c: PUSH2 0x096f 0000224f: JUMP 00002250: JUMPDEST 00002251: DUP1 00002252: CALLDATALOAD 00002253: PUSH2 0xffff 00002256: DUP2 00002257: AND 00002258: DUP2 00002259: EQ 0000225a: PUSH2 0x21ab 0000225d: JUMPI 0000225e: PUSH1 0x00 00002260: DUP1 00002261: REVERT 00002262: JUMPDEST 00002263: PUSH1 0x00 00002265: DUP1 00002266: PUSH1 0x40 00002268: DUP4 00002269: DUP6 0000226a: SUB 0000226b: SLT 0000226c: ISZERO 0000226d: PUSH2 0x2275 00002270: JUMPI 00002271: PUSH1 0x00 00002273: DUP1 00002274: REVERT 00002275: JUMPDEST 00002276: PUSH2 0x227e 00002279: DUP4 0000227a: PUSH2 0x2197 0000227d: JUMP 0000227e: JUMPDEST 0000227f: SWAP2 00002280: POP 00002281: PUSH2 0x228c 00002284: PUSH1 0x20 00002286: DUP5 00002287: ADD 00002288: PUSH2 0x2250 0000228b: JUMP 0000228c: JUMPDEST 0000228d: SWAP1 0000228e: POP 0000228f: SWAP3 00002290: POP 00002291: SWAP3 00002292: SWAP1 00002293: POP 00002294: JUMP 00002295: JUMPDEST 00002296: PUSH1 0x20 00002298: DUP2 00002299: MSTORE 0000229a: PUSH1 0x00 0000229c: PUSH2 0x1407 0000229f: PUSH1 0x20 000022a1: DUP4 000022a2: ADD 000022a3: DUP5 000022a4: PUSH2 0x1fc4 000022a7: JUMP 000022a8: JUMPDEST 000022a9: PUSH1 0x00 000022ab: PUSH1 0x20 000022ad: DUP3 000022ae: DUP5 000022af: SUB 000022b0: SLT 000022b1: ISZERO 000022b2: PUSH2 0x22ba 000022b5: JUMPI 000022b6: PUSH1 0x00 000022b8: DUP1 000022b9: REVERT 000022ba: JUMPDEST 000022bb: DUP2 000022bc: CALLDATALOAD 000022bd: PUSH2 0x1407 000022c0: DUP2 000022c1: PUSH2 0x20e3 000022c4: JUMP 000022c5: JUMPDEST 000022c6: PUSH1 0x00 000022c8: DUP1 000022c9: PUSH1 0x00 000022cb: DUP1 000022cc: PUSH1 0xa0 000022ce: DUP6 000022cf: DUP8 000022d0: SUB 000022d1: SLT 000022d2: ISZERO 000022d3: PUSH2 0x22db 000022d6: JUMPI 000022d7: PUSH1 0x00 000022d9: DUP1 000022da: REVERT 000022db: JUMPDEST 000022dc: PUSH2 0x22e5 000022df: DUP7 000022e0: DUP7 000022e1: PUSH2 0x2089 000022e4: JUMP 000022e5: JUMPDEST 000022e6: SWAP4 000022e7: POP 000022e8: PUSH1 0x60 000022ea: DUP6 000022eb: ADD 000022ec: CALLDATALOAD 000022ed: PUSH1 0x01 000022ef: PUSH1 0x01 000022f1: PUSH1 0x40 000022f3: SHL 000022f4: SUB 000022f5: DUP2 000022f6: GT 000022f7: ISZERO 000022f8: PUSH2 0x2300 000022fb: JUMPI 000022fc: PUSH1 0x00 000022fe: DUP1 000022ff: REVERT 00002300: JUMPDEST 00002301: PUSH2 0x230c 00002304: DUP8 00002305: DUP3 00002306: DUP9 00002307: ADD 00002308: PUSH2 0x209b 0000230b: JUMP 0000230c: JUMPDEST 0000230d: SWAP1 0000230e: SWAP5 0000230f: POP 00002310: SWAP3 00002311: POP 00002312: POP 00002313: PUSH1 0x80 00002315: DUP6 00002316: ADD 00002317: CALLDATALOAD 00002318: PUSH2 0x2320 0000231b: DUP2 0000231c: PUSH2 0x20e3 0000231f: JUMP 00002320: JUMPDEST 00002321: SWAP4 00002322: SWAP7 00002323: SWAP3 00002324: SWAP6 00002325: POP 00002326: SWAP1 00002327: SWAP4 00002328: POP 00002329: POP 0000232a: JUMP 0000232b: JUMPDEST 0000232c: PUSH1 0x00 0000232e: DUP1 0000232f: DUP4 00002330: PUSH1 0x1f 00002332: DUP5 00002333: ADD 00002334: SLT 00002335: PUSH2 0x233d 00002338: JUMPI 00002339: PUSH1 0x00 0000233b: DUP1 0000233c: REVERT 0000233d: JUMPDEST 0000233e: POP 0000233f: DUP2 00002340: CALLDATALOAD 00002341: PUSH1 0x01 00002343: PUSH1 0x01 00002345: PUSH1 0x40 00002347: SHL 00002348: SUB 00002349: DUP2 0000234a: GT 0000234b: ISZERO 0000234c: PUSH2 0x2354 0000234f: JUMPI 00002350: PUSH1 0x00 00002352: DUP1 00002353: REVERT 00002354: JUMPDEST 00002355: PUSH1 0x20 00002357: DUP4 00002358: ADD 00002359: SWAP2 0000235a: POP 0000235b: DUP4 0000235c: PUSH1 0x20 0000235e: DUP3 0000235f: PUSH1 0x05 00002361: SHL 00002362: DUP6 00002363: ADD 00002364: ADD 00002365: GT 00002366: ISZERO 00002367: PUSH2 0x20dc 0000236a: JUMPI 0000236b: PUSH1 0x00 0000236d: DUP1 0000236e: REVERT 0000236f: JUMPDEST 00002370: PUSH1 0x00 00002372: DUP1 00002373: PUSH1 0x20 00002375: DUP4 00002376: DUP6 00002377: SUB 00002378: SLT 00002379: ISZERO 0000237a: PUSH2 0x2382 0000237d: JUMPI 0000237e: PUSH1 0x00 00002380: DUP1 00002381: REVERT 00002382: JUMPDEST 00002383: DUP3 00002384: CALLDATALOAD 00002385: PUSH1 0x01 00002387: PUSH1 0x01 00002389: PUSH1 0x40 0000238b: SHL 0000238c: SUB 0000238d: DUP2 0000238e: GT 0000238f: ISZERO 00002390: PUSH2 0x2398 00002393: JUMPI 00002394: PUSH1 0x00 00002396: DUP1 00002397: REVERT 00002398: JUMPDEST 00002399: PUSH2 0x23a4 0000239c: DUP6 0000239d: DUP3 0000239e: DUP7 0000239f: ADD 000023a0: PUSH2 0x232b 000023a3: JUMP 000023a4: JUMPDEST 000023a5: SWAP1 000023a6: SWAP7 000023a7: SWAP1 000023a8: SWAP6 000023a9: POP 000023aa: SWAP4 000023ab: POP 000023ac: POP 000023ad: POP 000023ae: POP 000023af: JUMP 000023b0: JUMPDEST 000023b1: PUSH1 0x00 000023b3: PUSH1 0x20 000023b5: DUP3 000023b6: DUP5 000023b7: SUB 000023b8: SLT 000023b9: ISZERO 000023ba: PUSH2 0x23c2 000023bd: JUMPI 000023be: PUSH1 0x00 000023c0: DUP1 000023c1: REVERT 000023c2: JUMPDEST 000023c3: PUSH2 0x1407 000023c6: DUP3 000023c7: PUSH2 0x2197 000023ca: JUMP 000023cb: JUMPDEST 000023cc: PUSH1 0x00 000023ce: DUP1 000023cf: PUSH1 0x00 000023d1: DUP1 000023d2: PUSH1 0x60 000023d4: DUP6 000023d5: DUP8 000023d6: SUB 000023d7: SLT 000023d8: ISZERO 000023d9: PUSH2 0x23e1 000023dc: JUMPI 000023dd: PUSH1 0x00 000023df: DUP1 000023e0: REVERT 000023e1: JUMPDEST 000023e2: PUSH2 0x23ea 000023e5: DUP6 000023e6: PUSH2 0x2197 000023e9: JUMP 000023ea: JUMPDEST 000023eb: SWAP4 000023ec: POP 000023ed: PUSH2 0x23f8 000023f0: PUSH1 0x20 000023f2: DUP7 000023f3: ADD 000023f4: PUSH2 0x2250 000023f7: JUMP 000023f8: JUMPDEST 000023f9: SWAP3 000023fa: POP 000023fb: PUSH1 0x40 000023fd: DUP6 000023fe: ADD 000023ff: CALLDATALOAD 00002400: PUSH1 0x01 00002402: PUSH1 0x01 00002404: PUSH1 0x40 00002406: SHL 00002407: SUB 00002408: DUP2 00002409: GT 0000240a: ISZERO 0000240b: PUSH2 0x2413 0000240e: JUMPI 0000240f: PUSH1 0x00 00002411: DUP1 00002412: REVERT 00002413: JUMPDEST 00002414: PUSH2 0x241f 00002417: DUP8 00002418: DUP3 00002419: DUP9 0000241a: ADD 0000241b: PUSH2 0x209b 0000241e: JUMP 0000241f: JUMPDEST 00002420: SWAP6 00002421: SWAP9 00002422: SWAP5 00002423: SWAP8 00002424: POP 00002425: SWAP6 00002426: POP 00002427: POP 00002428: POP 00002429: POP 0000242a: JUMP 0000242b: JUMPDEST 0000242c: PUSH1 0x00 0000242e: DUP1 0000242f: PUSH1 0x00 00002431: DUP4 00002432: DUP6 00002433: SUB 00002434: PUSH1 0x80 00002436: DUP2 00002437: SLT 00002438: ISZERO 00002439: PUSH2 0x2441 0000243c: JUMPI 0000243d: PUSH1 0x00 0000243f: DUP1 00002440: REVERT 00002441: JUMPDEST 00002442: DUP5 00002443: CALLDATALOAD 00002444: PUSH1 0x01 00002446: PUSH1 0x01 00002448: PUSH1 0x40 0000244a: SHL 0000244b: SUB 0000244c: DUP2 0000244d: GT 0000244e: ISZERO 0000244f: PUSH2 0x2457 00002452: JUMPI 00002453: PUSH1 0x00 00002455: DUP1 00002456: REVERT 00002457: JUMPDEST 00002458: PUSH2 0x2463 0000245b: DUP8 0000245c: DUP3 0000245d: DUP9 0000245e: ADD 0000245f: PUSH2 0x1f54 00002462: JUMP 00002463: JUMPDEST 00002464: SWAP5 00002465: POP 00002466: POP 00002467: PUSH1 0x40 00002469: PUSH1 0x1f 0000246b: NOT 0000246c: DUP3 0000246d: ADD 0000246e: SLT 0000246f: ISZERO 00002470: PUSH2 0x2478 00002473: JUMPI 00002474: PUSH1 0x00 00002476: DUP1 00002477: REVERT 00002478: JUMPDEST 00002479: POP 0000247a: PUSH1 0x20 0000247c: DUP5 0000247d: ADD 0000247e: SWAP2 0000247f: POP 00002480: PUSH1 0x60 00002482: DUP5 00002483: ADD 00002484: CALLDATALOAD 00002485: PUSH2 0x248d 00002488: DUP2 00002489: PUSH2 0x20e3 0000248c: JUMP 0000248d: JUMPDEST 0000248e: DUP1 0000248f: SWAP2 00002490: POP 00002491: POP 00002492: SWAP3 00002493: POP 00002494: SWAP3 00002495: POP 00002496: SWAP3 00002497: JUMP 00002498: JUMPDEST 00002499: PUSH1 0x00 0000249b: PUSH1 0xc0 0000249d: DUP3 0000249e: ADD 0000249f: SWAP1 000024a0: POP 000024a1: DUP4 000024a2: MLOAD 000024a3: DUP3 000024a4: MSTORE 000024a5: PUSH1 0x01 000024a7: PUSH1 0x01 000024a9: PUSH1 0x40 000024ab: SHL 000024ac: SUB 000024ad: PUSH1 0x20 000024af: DUP6 000024b0: ADD 000024b1: MLOAD 000024b2: AND 000024b3: PUSH1 0x20 000024b5: DUP4 000024b6: ADD 000024b7: MSTORE 000024b8: PUSH1 0x40 000024ba: DUP5 000024bb: ADD 000024bc: MLOAD 000024bd: PUSH2 0x24d3 000024c0: PUSH1 0x40 000024c2: DUP5 000024c3: ADD 000024c4: DUP3 000024c5: DUP1 000024c6: MLOAD 000024c7: DUP3 000024c8: MSTORE 000024c9: PUSH1 0x20 000024cb: SWAP1 000024cc: DUP2 000024cd: ADD 000024ce: MLOAD 000024cf: SWAP2 000024d0: ADD 000024d1: MSTORE 000024d2: JUMP 000024d3: JUMPDEST 000024d4: POP 000024d5: DUP3 000024d6: MLOAD 000024d7: PUSH1 0x80 000024d9: DUP4 000024da: ADD 000024db: MSTORE 000024dc: PUSH1 0x20 000024de: DUP4 000024df: ADD 000024e0: MLOAD 000024e1: PUSH1 0xa0 000024e3: DUP4 000024e4: ADD 000024e5: MSTORE 000024e6: PUSH2 0x1407 000024e9: JUMP 000024ea: JUMPDEST 000024eb: PUSH1 0x00 000024ed: PUSH1 0x60 000024ef: DUP3 000024f0: DUP5 000024f1: SUB 000024f2: SLT 000024f3: ISZERO 000024f4: PUSH2 0x24fc 000024f7: JUMPI 000024f8: PUSH1 0x00 000024fa: DUP1 000024fb: REVERT 000024fc: JUMPDEST 000024fd: PUSH2 0x1407 00002500: DUP4 00002501: DUP4 00002502: PUSH2 0x2089 00002505: JUMP 00002506: JUMPDEST 00002507: PUSH4 0x4e487b71 0000250c: PUSH1 0xe0 0000250e: SHL 0000250f: PUSH1 0x00 00002511: MSTORE 00002512: PUSH1 0x41 00002514: PUSH1 0x04 00002516: MSTORE 00002517: PUSH1 0x24 00002519: PUSH1 0x00 0000251b: REVERT 0000251c: JUMPDEST 0000251d: PUSH1 0x01 0000251f: DUP2 00002520: DUP2 00002521: SHR 00002522: SWAP1 00002523: DUP3 00002524: AND 00002525: DUP1 00002526: PUSH2 0x2530 00002529: JUMPI 0000252a: PUSH1 0x7f 0000252c: DUP3 0000252d: AND 0000252e: SWAP2 0000252f: POP 00002530: JUMPDEST 00002531: PUSH1 0x20 00002533: DUP3 00002534: LT 00002535: DUP2 00002536: SUB 00002537: PUSH2 0x1f66 0000253a: JUMPI 0000253b: PUSH4 0x4e487b71 00002540: PUSH1 0xe0 00002542: SHL 00002543: PUSH1 0x00 00002545: MSTORE 00002546: PUSH1 0x22 00002548: PUSH1 0x04 0000254a: MSTORE 0000254b: PUSH1 0x24 0000254d: PUSH1 0x00 0000254f: REVERT 00002550: JUMPDEST 00002551: PUSH4 0x4e487b71 00002556: PUSH1 0xe0 00002558: SHL 00002559: PUSH1 0x00 0000255b: MSTORE 0000255c: PUSH1 0x32 0000255e: PUSH1 0x04 00002560: MSTORE 00002561: PUSH1 0x24 00002563: PUSH1 0x00 00002565: REVERT 00002566: JUMPDEST 00002567: PUSH1 0x00 00002569: DUP3 0000256a: CALLDATALOAD 0000256b: PUSH1 0x5e 0000256d: NOT 0000256e: DUP4 0000256f: CALLDATASIZE 00002570: SUB 00002571: ADD 00002572: DUP2 00002573: SLT 00002574: PUSH2 0x257c 00002577: JUMPI 00002578: PUSH1 0x00 0000257a: DUP1 0000257b: REVERT 0000257c: JUMPDEST 0000257d: SWAP2 0000257e: SWAP1 0000257f: SWAP2 00002580: ADD 00002581: SWAP3 00002582: SWAP2 00002583: POP 00002584: POP 00002585: JUMP 00002586: JUMPDEST 00002587: PUSH1 0x00 00002589: DUP1 0000258a: DUP4 0000258b: CALLDATALOAD 0000258c: PUSH1 0x1e 0000258e: NOT 0000258f: DUP5 00002590: CALLDATASIZE 00002591: SUB 00002592: ADD 00002593: DUP2 00002594: SLT 00002595: PUSH2 0x259d 00002598: JUMPI 00002599: PUSH1 0x00 0000259b: DUP1 0000259c: REVERT 0000259d: JUMPDEST 0000259e: DUP4 0000259f: ADD 000025a0: DUP1 000025a1: CALLDATALOAD 000025a2: SWAP2 000025a3: POP 000025a4: PUSH1 0x01 000025a6: PUSH1 0x01 000025a8: PUSH1 0x40 000025aa: SHL 000025ab: SUB 000025ac: DUP3 000025ad: GT 000025ae: ISZERO 000025af: PUSH2 0x25b7 000025b2: JUMPI 000025b3: PUSH1 0x00 000025b5: DUP1 000025b6: REVERT 000025b7: JUMPDEST 000025b8: PUSH1 0x20 000025ba: ADD 000025bb: SWAP2 000025bc: POP 000025bd: CALLDATASIZE 000025be: DUP2 000025bf: SWAP1 000025c0: SUB 000025c1: DUP3 000025c2: SGT 000025c3: ISZERO 000025c4: PUSH2 0x20dc 000025c7: JUMPI 000025c8: PUSH1 0x00 000025ca: DUP1 000025cb: REVERT 000025cc: JUMPDEST 000025cd: PUSH1 0x00 000025cf: PUSH1 0x20 000025d1: DUP3 000025d2: DUP5 000025d3: SUB 000025d4: SLT 000025d5: ISZERO 000025d6: PUSH2 0x25de 000025d9: JUMPI 000025da: PUSH1 0x00 000025dc: DUP1 000025dd: REVERT 000025de: JUMPDEST 000025df: PUSH2 0x1407 000025e2: DUP3 000025e3: PUSH2 0x2250 000025e6: JUMP 000025e7: JUMPDEST 000025e8: PUSH1 0x1f 000025ea: DUP3 000025eb: GT 000025ec: ISZERO 000025ed: PUSH2 0x1880 000025f0: JUMPI 000025f1: PUSH1 0x00 000025f3: DUP2 000025f4: PUSH1 0x00 000025f6: MSTORE 000025f7: PUSH1 0x20 000025f9: PUSH1 0x00 000025fb: KECCAK256 000025fc: PUSH1 0x1f 000025fe: DUP6 000025ff: ADD 00002600: PUSH1 0x05 00002602: SHR 00002603: DUP2 00002604: ADD 00002605: PUSH1 0x20 00002607: DUP7 00002608: LT 00002609: ISZERO 0000260a: PUSH2 0x2610 0000260d: JUMPI 0000260e: POP 0000260f: DUP1 00002610: JUMPDEST 00002611: PUSH1 0x1f 00002613: DUP6 00002614: ADD 00002615: PUSH1 0x05 00002617: SHR 00002618: DUP3 00002619: ADD 0000261a: SWAP2 0000261b: POP 0000261c: JUMPDEST 0000261d: DUP2 0000261e: DUP2 0000261f: LT 00002620: ISZERO 00002621: PUSH2 0x10f0 00002624: JUMPI 00002625: DUP3 00002626: DUP2 00002627: SSTORE 00002628: PUSH1 0x01 0000262a: ADD 0000262b: PUSH2 0x261c 0000262e: JUMP 0000262f: JUMPDEST 00002630: PUSH1 0x01 00002632: PUSH1 0x01 00002634: PUSH1 0x40 00002636: SHL 00002637: SUB 00002638: DUP4 00002639: GT 0000263a: ISZERO 0000263b: PUSH2 0x2646 0000263e: JUMPI 0000263f: PUSH2 0x2646 00002642: PUSH2 0x2506 00002645: JUMP 00002646: JUMPDEST 00002647: PUSH2 0x265a 0000264a: DUP4 0000264b: PUSH2 0x2654 0000264e: DUP4 0000264f: SLOAD 00002650: PUSH2 0x251c 00002653: JUMP 00002654: JUMPDEST 00002655: DUP4 00002656: PUSH2 0x25e7 00002659: JUMP 0000265a: JUMPDEST 0000265b: PUSH1 0x00 0000265d: PUSH1 0x1f 0000265f: DUP5 00002660: GT 00002661: PUSH1 0x01 00002663: DUP2 00002664: EQ 00002665: PUSH2 0x268e 00002668: JUMPI 00002669: PUSH1 0x00 0000266b: DUP6 0000266c: ISZERO 0000266d: PUSH2 0x2676 00002670: JUMPI 00002671: POP 00002672: DUP4 00002673: DUP3 00002674: ADD 00002675: CALLDATALOAD 00002676: JUMPDEST 00002677: PUSH1 0x00 00002679: NOT 0000267a: PUSH1 0x03 0000267c: DUP8 0000267d: SWAP1 0000267e: SHL 0000267f: SHR 00002680: NOT 00002681: AND 00002682: PUSH1 0x01 00002684: DUP7 00002685: SWAP1 00002686: SHL 00002687: OR 00002688: DUP4 00002689: SSTORE 0000268a: PUSH2 0x1272 0000268d: JUMP 0000268e: JUMPDEST 0000268f: PUSH1 0x00 00002691: DUP4 00002692: DUP2 00002693: MSTORE 00002694: PUSH1 0x20 00002696: SWAP1 00002697: KECCAK256 00002698: PUSH1 0x1f 0000269a: NOT 0000269b: DUP7 0000269c: AND 0000269d: SWAP1 0000269e: DUP4 0000269f: JUMPDEST 000026a0: DUP3 000026a1: DUP2 000026a2: LT 000026a3: ISZERO 000026a4: PUSH2 0x26bf 000026a7: JUMPI 000026a8: DUP7 000026a9: DUP6 000026aa: ADD 000026ab: CALLDATALOAD 000026ac: DUP3 000026ad: SSTORE 000026ae: PUSH1 0x20 000026b0: SWAP5 000026b1: DUP6 000026b2: ADD 000026b3: SWAP5 000026b4: PUSH1 0x01 000026b6: SWAP1 000026b7: SWAP3 000026b8: ADD 000026b9: SWAP2 000026ba: ADD 000026bb: PUSH2 0x269f 000026be: JUMP 000026bf: JUMPDEST 000026c0: POP 000026c1: DUP7 000026c2: DUP3 000026c3: LT 000026c4: ISZERO 000026c5: PUSH2 0x26dc 000026c8: JUMPI 000026c9: PUSH1 0x00 000026cb: NOT 000026cc: PUSH1 0xf8 000026ce: DUP9 000026cf: PUSH1 0x03 000026d1: SHL 000026d2: AND 000026d3: SHR 000026d4: NOT 000026d5: DUP5 000026d6: DUP8 000026d7: ADD 000026d8: CALLDATALOAD 000026d9: AND 000026da: DUP2 000026db: SSTORE 000026dc: JUMPDEST 000026dd: POP 000026de: POP 000026df: PUSH1 0x01 000026e1: DUP6 000026e2: PUSH1 0x01 000026e4: SHL 000026e5: ADD 000026e6: DUP4 000026e7: SSTORE 000026e8: POP 000026e9: POP 000026ea: POP 000026eb: POP 000026ec: POP 000026ed: JUMP 000026ee: JUMPDEST 000026ef: DUP2 000026f0: DUP4 000026f1: MSTORE 000026f2: DUP2 000026f3: DUP2 000026f4: PUSH1 0x20 000026f6: DUP6 000026f7: ADD 000026f8: CALLDATACOPY 000026f9: POP 000026fa: PUSH1 0x00 000026fc: DUP3 000026fd: DUP3 000026fe: ADD 000026ff: PUSH1 0x20 00002701: SWAP1 00002702: DUP2 00002703: ADD 00002704: SWAP2 00002705: SWAP1 00002706: SWAP2 00002707: MSTORE 00002708: PUSH1 0x1f 0000270a: SWAP1 0000270b: SWAP2 0000270c: ADD 0000270d: PUSH1 0x1f 0000270f: NOT 00002710: AND 00002711: SWAP1 00002712: SWAP2 00002713: ADD 00002714: ADD 00002715: SWAP1 00002716: JUMP 00002717: JUMPDEST 00002718: PUSH1 0x20 0000271a: DUP1 0000271b: DUP3 0000271c: MSTORE 0000271d: DUP2 0000271e: DUP2 0000271f: ADD 00002720: DUP4 00002721: SWAP1 00002722: MSTORE 00002723: PUSH1 0x00 00002725: SWAP1 00002726: PUSH1 0x40 00002728: DUP1 00002729: DUP5 0000272a: ADD 0000272b: PUSH1 0x05 0000272d: DUP7 0000272e: SWAP1 0000272f: SHL 00002730: DUP6 00002731: ADD 00002732: DUP3 00002733: ADD 00002734: DUP8 00002735: DUP6 00002736: JUMPDEST 00002737: DUP9 00002738: DUP2 00002739: LT 0000273a: ISZERO 0000273b: PUSH2 0x27ed 0000273e: JUMPI 0000273f: DUP8 00002740: DUP4 00002741: SUB 00002742: PUSH1 0x3f 00002744: NOT 00002745: ADD 00002746: DUP5 00002747: MSTORE 00002748: DUP2 00002749: CALLDATALOAD 0000274a: CALLDATASIZE 0000274b: DUP12 0000274c: SWAP1 0000274d: SUB 0000274e: PUSH1 0x5e 00002750: NOT 00002751: ADD 00002752: DUP2 00002753: SLT 00002754: PUSH2 0x275c 00002757: JUMPI 00002758: PUSH1 0x00 0000275a: DUP1 0000275b: REVERT 0000275c: JUMPDEST 0000275d: DUP11 0000275e: ADD 0000275f: PUSH1 0x60 00002761: PUSH4 0xffffffff 00002766: PUSH2 0x276e 00002769: DUP4 0000276a: PUSH2 0x2197 0000276d: JUMP 0000276e: JUMPDEST 0000276f: AND 00002770: DUP6 00002771: MSTORE 00002772: PUSH2 0xffff 00002775: PUSH2 0x277f 00002778: DUP10 00002779: DUP5 0000277a: ADD 0000277b: PUSH2 0x2250 0000277e: JUMP 0000277f: JUMPDEST 00002780: AND 00002781: DUP9 00002782: DUP7 00002783: ADD 00002784: MSTORE 00002785: DUP7 00002786: DUP3 00002787: ADD 00002788: CALLDATALOAD 00002789: PUSH1 0x1e 0000278b: NOT 0000278c: DUP4 0000278d: CALLDATASIZE 0000278e: SUB 0000278f: ADD 00002790: DUP2 00002791: SLT 00002792: PUSH2 0x279a 00002795: JUMPI 00002796: PUSH1 0x00 00002798: DUP1 00002799: REVERT 0000279a: JUMPDEST 0000279b: SWAP1 0000279c: SWAP2 0000279d: ADD 0000279e: DUP8 0000279f: DUP2 000027a0: ADD 000027a1: SWAP2 000027a2: SWAP1 000027a3: CALLDATALOAD 000027a4: PUSH1 0x01 000027a6: PUSH1 0x01 000027a8: PUSH1 0x40 000027aa: SHL 000027ab: SUB 000027ac: DUP2 000027ad: GT 000027ae: ISZERO 000027af: PUSH2 0x27b7 000027b2: JUMPI 000027b3: PUSH1 0x00 000027b5: DUP1 000027b6: REVERT 000027b7: JUMPDEST 000027b8: DUP1 000027b9: CALLDATASIZE 000027ba: SUB 000027bb: DUP4 000027bc: SGT 000027bd: ISZERO 000027be: PUSH2 0x27c6 000027c1: JUMPI 000027c2: PUSH1 0x00 000027c4: DUP1 000027c5: REVERT 000027c6: JUMPDEST 000027c7: DUP2 000027c8: DUP9 000027c9: DUP8 000027ca: ADD 000027cb: MSTORE 000027cc: PUSH2 0x27d8 000027cf: DUP3 000027d0: DUP8 000027d1: ADD 000027d2: DUP3 000027d3: DUP6 000027d4: PUSH2 0x26ee 000027d7: JUMP 000027d8: JUMPDEST 000027d9: SWAP7 000027da: DUP10 000027db: ADD 000027dc: SWAP7 000027dd: SWAP6 000027de: POP 000027df: POP 000027e0: POP 000027e1: SWAP2 000027e2: DUP7 000027e3: ADD 000027e4: SWAP2 000027e5: POP 000027e6: PUSH1 0x01 000027e8: ADD 000027e9: PUSH2 0x2736 000027ec: JUMP 000027ed: JUMPDEST 000027ee: POP 000027ef: SWAP1 000027f0: SWAP9 000027f1: SWAP8 000027f2: POP 000027f3: POP 000027f4: POP 000027f5: POP 000027f6: POP 000027f7: POP 000027f8: POP 000027f9: POP 000027fa: JUMP 000027fb: JUMPDEST 000027fc: PUSH1 0x00 000027fe: DUP1 000027ff: DUP6 00002800: DUP6 00002801: GT 00002802: ISZERO 00002803: PUSH2 0x280b 00002806: JUMPI 00002807: PUSH1 0x00 00002809: DUP1 0000280a: REVERT 0000280b: JUMPDEST 0000280c: DUP4 0000280d: DUP7 0000280e: GT 0000280f: ISZERO 00002810: PUSH2 0x2818 00002813: JUMPI 00002814: PUSH1 0x00 00002816: DUP1 00002817: REVERT 00002818: JUMPDEST 00002819: POP 0000281a: POP 0000281b: DUP3 0000281c: ADD 0000281d: SWAP4 0000281e: SWAP2 0000281f: SWAP1 00002820: SWAP3 00002821: SUB 00002822: SWAP2 00002823: POP 00002824: JUMP 00002825: JUMPDEST 00002826: PUSH1 0x00 00002828: DUP5 00002829: MLOAD 0000282a: PUSH2 0x2837 0000282d: DUP2 0000282e: DUP5 0000282f: PUSH1 0x20 00002831: DUP10 00002832: ADD 00002833: PUSH2 0x1fa0 00002836: JUMP 00002837: JUMPDEST 00002838: DUP3 00002839: ADD 0000283a: DUP4 0000283b: DUP6 0000283c: DUP3 0000283d: CALLDATACOPY 0000283e: PUSH1 0x00 00002840: SWAP4 00002841: ADD 00002842: SWAP3 00002843: DUP4 00002844: MSTORE 00002845: POP 00002846: SWAP1 00002847: SWAP4 00002848: SWAP3 00002849: POP 0000284a: POP 0000284b: POP 0000284c: JUMP 0000284d: JUMPDEST 0000284e: PUSH1 0x20 00002850: DUP2 00002851: MSTORE 00002852: PUSH1 0x00 00002854: PUSH2 0x0aed 00002857: PUSH1 0x20 00002859: DUP4 0000285a: ADD 0000285b: DUP5 0000285c: DUP7 0000285d: PUSH2 0x26ee 00002860: JUMP 00002861: JUMPDEST 00002862: PUSH1 0x00 00002864: DUP3 00002865: CALLDATALOAD 00002866: PUSH2 0x013e 00002869: NOT 0000286a: DUP4 0000286b: CALLDATASIZE 0000286c: SUB 0000286d: ADD 0000286e: DUP2 0000286f: SLT 00002870: PUSH2 0x257c 00002873: JUMPI 00002874: PUSH1 0x00 00002876: DUP1 00002877: REVERT 00002878: JUMPDEST 00002879: PUSH1 0x01 0000287b: PUSH1 0x01 0000287d: PUSH1 0x40 0000287f: SHL 00002880: SUB 00002881: DUP2 00002882: AND 00002883: DUP2 00002884: EQ 00002885: PUSH2 0x1357 00002888: JUMPI 00002889: PUSH1 0x00 0000288b: DUP1 0000288c: REVERT 0000288d: JUMPDEST 0000288e: PUSH4 0xffffffff 00002893: PUSH2 0x289b 00002896: DUP10 00002897: PUSH2 0x2197 0000289a: JUMP 0000289b: JUMPDEST 0000289c: AND 0000289d: DUP2 0000289e: MSTORE 0000289f: PUSH1 0x20 000028a1: DUP9 000028a2: ADD 000028a3: CALLDATALOAD 000028a4: PUSH1 0x20 000028a6: DUP3 000028a7: ADD 000028a8: MSTORE 000028a9: PUSH1 0x00 000028ab: PUSH1 0x40 000028ad: DUP10 000028ae: ADD 000028af: CALLDATALOAD 000028b0: PUSH2 0x28b8 000028b3: DUP2 000028b4: PUSH2 0x2878 000028b7: JUMP 000028b8: JUMPDEST 000028b9: PUSH1 0x01 000028bb: PUSH1 0x01 000028bd: PUSH1 0x40 000028bf: SHL 000028c0: SUB 000028c1: DUP2 000028c2: AND 000028c3: PUSH1 0x40 000028c5: DUP5 000028c6: ADD 000028c7: MSTORE 000028c8: POP 000028c9: DUP8 000028ca: PUSH1 0x60 000028cc: DUP4 000028cd: ADD 000028ce: MSTORE 000028cf: PUSH1 0xe0 000028d1: PUSH1 0x80 000028d3: DUP4 000028d4: ADD 000028d5: MSTORE 000028d6: PUSH2 0x28e3 000028d9: PUSH1 0xe0 000028db: DUP4 000028dc: ADD 000028dd: DUP8 000028de: DUP10 000028df: PUSH2 0x26ee 000028e2: JUMP 000028e3: JUMPDEST 000028e4: PUSH1 0x01 000028e6: PUSH1 0x01 000028e8: PUSH1 0xa0 000028ea: SHL 000028eb: SUB 000028ec: DUP7 000028ed: AND 000028ee: PUSH1 0xa0 000028f0: DUP5 000028f1: ADD 000028f2: MSTORE 000028f3: DUP3 000028f4: DUP2 000028f5: SUB 000028f6: PUSH1 0xc0 000028f8: DUP5 000028f9: ADD 000028fa: MSTORE 000028fb: PUSH2 0x2905 000028fe: DUP2 000028ff: DUP6 00002900: DUP8 00002901: PUSH2 0x26ee 00002904: JUMP 00002905: JUMPDEST 00002906: SWAP11 00002907: SWAP10 00002908: POP 00002909: POP 0000290a: POP 0000290b: POP 0000290c: POP 0000290d: POP 0000290e: POP 0000290f: POP 00002910: POP 00002911: POP 00002912: JUMP 00002913: JUMPDEST 00002914: PUSH1 0x40 00002916: DUP1 00002917: MLOAD 00002918: SWAP1 00002919: DUP2 0000291a: ADD 0000291b: PUSH1 0x01 0000291d: PUSH1 0x01 0000291f: PUSH1 0x40 00002921: SHL 00002922: SUB 00002923: DUP2 00002924: GT 00002925: DUP3 00002926: DUP3 00002927: LT 00002928: OR 00002929: ISZERO 0000292a: PUSH2 0x2935 0000292d: JUMPI 0000292e: PUSH2 0x2935 00002931: PUSH2 0x2506 00002934: JUMP 00002935: JUMPDEST 00002936: PUSH1 0x40 00002938: MSTORE 00002939: SWAP1 0000293a: JUMP 0000293b: JUMPDEST 0000293c: PUSH1 0x00 0000293e: PUSH1 0x20 00002940: DUP3 00002941: DUP5 00002942: SUB 00002943: SLT 00002944: ISZERO 00002945: PUSH2 0x294d 00002948: JUMPI 00002949: PUSH1 0x00 0000294b: DUP1 0000294c: REVERT 0000294d: JUMPDEST 0000294e: DUP2 0000294f: MLOAD 00002950: PUSH1 0x01 00002952: PUSH1 0x01 00002954: PUSH1 0x40 00002956: SHL 00002957: SUB 00002958: DUP1 00002959: DUP3 0000295a: GT 0000295b: ISZERO 0000295c: PUSH2 0x2964 0000295f: JUMPI 00002960: PUSH1 0x00 00002962: DUP1 00002963: REVERT 00002964: JUMPDEST 00002965: DUP2 00002966: DUP5 00002967: ADD 00002968: SWAP2 00002969: POP 0000296a: DUP5 0000296b: PUSH1 0x1f 0000296d: DUP4 0000296e: ADD 0000296f: SLT 00002970: PUSH2 0x2978 00002973: JUMPI 00002974: PUSH1 0x00 00002976: DUP1 00002977: REVERT 00002978: JUMPDEST 00002979: DUP2 0000297a: MLOAD 0000297b: DUP2 0000297c: DUP2 0000297d: GT 0000297e: ISZERO 0000297f: PUSH2 0x298a 00002982: JUMPI 00002983: PUSH2 0x298a 00002986: PUSH2 0x2506 00002989: JUMP 0000298a: JUMPDEST 0000298b: PUSH1 0x40 0000298d: MLOAD 0000298e: PUSH1 0x1f 00002990: DUP3 00002991: ADD 00002992: PUSH1 0x1f 00002994: NOT 00002995: SWAP1 00002996: DUP2 00002997: AND 00002998: PUSH1 0x3f 0000299a: ADD 0000299b: AND 0000299c: DUP2 0000299d: ADD 0000299e: SWAP1 0000299f: DUP4 000029a0: DUP3 000029a1: GT 000029a2: DUP2 000029a3: DUP4 000029a4: LT 000029a5: OR 000029a6: ISZERO 000029a7: PUSH2 0x29b2 000029aa: JUMPI 000029ab: PUSH2 0x29b2 000029ae: PUSH2 0x2506 000029b1: JUMP 000029b2: JUMPDEST 000029b3: DUP2 000029b4: PUSH1 0x40 000029b6: MSTORE 000029b7: DUP3 000029b8: DUP2 000029b9: MSTORE 000029ba: DUP8 000029bb: PUSH1 0x20 000029bd: DUP5 000029be: DUP8 000029bf: ADD 000029c0: ADD 000029c1: GT 000029c2: ISZERO 000029c3: PUSH2 0x29cb 000029c6: JUMPI 000029c7: PUSH1 0x00 000029c9: DUP1 000029ca: REVERT 000029cb: JUMPDEST 000029cc: PUSH2 0x1a21 000029cf: DUP4 000029d0: PUSH1 0x20 000029d2: DUP4 000029d3: ADD 000029d4: PUSH1 0x20 000029d6: DUP9 000029d7: ADD 000029d8: PUSH2 0x1fa0 000029db: JUMP 000029dc: JUMPDEST 000029dd: PUSH1 0x00 000029df: PUSH1 0x40 000029e1: DUP3 000029e2: DUP5 000029e3: SUB 000029e4: SLT 000029e5: ISZERO 000029e6: PUSH2 0x29ee 000029e9: JUMPI 000029ea: PUSH1 0x00 000029ec: DUP1 000029ed: REVERT 000029ee: JUMPDEST 000029ef: PUSH2 0x29f6 000029f2: PUSH2 0x2913 000029f5: JUMP 000029f6: JUMPDEST 000029f7: DUP3 000029f8: CALLDATALOAD 000029f9: DUP2 000029fa: MSTORE 000029fb: PUSH1 0x20 000029fd: DUP4 000029fe: ADD 000029ff: CALLDATALOAD 00002a00: PUSH1 0x20 00002a02: DUP3 00002a03: ADD 00002a04: MSTORE 00002a05: DUP1 00002a06: SWAP2 00002a07: POP 00002a08: POP 00002a09: SWAP3 00002a0a: SWAP2 00002a0b: POP 00002a0c: POP 00002a0d: JUMP 00002a0e: JUMPDEST 00002a0f: PUSH1 0x00 00002a11: PUSH1 0x20 00002a13: DUP3 00002a14: DUP5 00002a15: SUB 00002a16: SLT 00002a17: ISZERO 00002a18: PUSH2 0x2a20 00002a1b: JUMPI 00002a1c: PUSH1 0x00 00002a1e: DUP1 00002a1f: REVERT 00002a20: JUMPDEST 00002a21: DUP2 00002a22: CALLDATALOAD 00002a23: PUSH2 0x1407 00002a26: DUP2 00002a27: PUSH2 0x2878 00002a2a: JUMP 00002a2b: JUMPDEST 00002a2c: PUSH1 0x01 00002a2e: DUP1 00002a2f: PUSH1 0xa0 00002a31: SHL 00002a32: SUB 00002a33: DUP6 00002a34: AND 00002a35: DUP2 00002a36: MSTORE 00002a37: DUP4 00002a38: PUSH1 0x20 00002a3a: DUP3 00002a3b: ADD 00002a3c: MSTORE 00002a3d: PUSH2 0xffff 00002a40: DUP4 00002a41: AND 00002a42: PUSH1 0x40 00002a44: DUP3 00002a45: ADD 00002a46: MSTORE 00002a47: PUSH1 0x80 00002a49: PUSH1 0x60 00002a4b: DUP3 00002a4c: ADD 00002a4d: MSTORE 00002a4e: PUSH1 0x00 00002a50: PUSH2 0x2a5c 00002a53: PUSH1 0x80 00002a55: DUP4 00002a56: ADD 00002a57: DUP5 00002a58: PUSH2 0x1fc4 00002a5b: JUMP 00002a5c: JUMPDEST 00002a5d: SWAP7 00002a5e: SWAP6 00002a5f: POP 00002a60: POP 00002a61: POP 00002a62: POP 00002a63: POP 00002a64: POP 00002a65: JUMP 00002a66: JUMPDEST 00002a67: PUSH1 0x40 00002a69: DUP2 00002a6a: MSTORE 00002a6b: PUSH1 0x00 00002a6d: PUSH2 0x2a79 00002a70: PUSH1 0x40 00002a72: DUP4 00002a73: ADD 00002a74: DUP6 00002a75: PUSH2 0x1fc4 00002a78: JUMP 00002a79: JUMPDEST 00002a7a: DUP3 00002a7b: DUP2 00002a7c: SUB 00002a7d: PUSH1 0x20 00002a7f: DUP5 00002a80: ADD 00002a81: MSTORE 00002a82: PUSH2 0x17c4 00002a85: DUP2 00002a86: DUP6 00002a87: PUSH2 0x1fc4 00002a8a: JUMP 00002a8b: JUMPDEST 00002a8c: PUSH1 0x00 00002a8e: PUSH1 0x20 00002a90: DUP3 00002a91: DUP5 00002a92: SUB 00002a93: SLT 00002a94: ISZERO 00002a95: PUSH2 0x2a9d 00002a98: JUMPI 00002a99: PUSH1 0x00 00002a9b: DUP1 00002a9c: REVERT 00002a9d: JUMPDEST 00002a9e: DUP2 00002a9f: MLOAD 00002aa0: PUSH2 0x1407 00002aa3: DUP2 00002aa4: PUSH2 0x21da 00002aa7: JUMP 00002aa8: JUMPDEST 00002aa9: PUSH1 0x40 00002aab: DUP2 00002aac: MSTORE 00002aad: PUSH4 0xffffffff 00002ab2: DUP4 00002ab3: MLOAD 00002ab4: AND 00002ab5: PUSH1 0x40 00002ab7: DUP3 00002ab8: ADD 00002ab9: MSTORE 00002aba: PUSH1 0x20 00002abc: DUP4 00002abd: ADD 00002abe: MLOAD 00002abf: PUSH1 0x60 00002ac1: DUP3 00002ac2: ADD 00002ac3: MSTORE 00002ac4: PUSH1 0x00 00002ac6: PUSH1 0x40 00002ac8: DUP5 00002ac9: ADD 00002aca: MLOAD 00002acb: PUSH1 0xa0 00002acd: PUSH1 0x80 00002acf: DUP5 00002ad0: ADD 00002ad1: MSTORE 00002ad2: PUSH2 0x2ade 00002ad5: PUSH1 0xe0 00002ad7: DUP5 00002ad8: ADD 00002ad9: DUP3 00002ada: PUSH2 0x1fc4 00002add: JUMP 00002ade: JUMPDEST 00002adf: SWAP1 00002ae0: POP 00002ae1: PUSH1 0x60 00002ae3: DUP6 00002ae4: ADD 00002ae5: MLOAD 00002ae6: PUSH1 0x3f 00002ae8: NOT 00002ae9: DUP5 00002aea: DUP4 00002aeb: SUB 00002aec: ADD 00002aed: PUSH1 0xa0 00002aef: DUP6 00002af0: ADD 00002af1: MSTORE 00002af2: PUSH2 0x2afb 00002af5: DUP3 00002af6: DUP3 00002af7: PUSH2 0x1fc4 00002afa: JUMP 00002afb: JUMPDEST 00002afc: PUSH1 0x80 00002afe: SWAP7 00002aff: SWAP1 00002b00: SWAP7 00002b01: ADD 00002b02: MLOAD 00002b03: ISZERO 00002b04: ISZERO 00002b05: PUSH1 0xc0 00002b07: DUP6 00002b08: ADD 00002b09: MSTORE 00002b0a: POP 00002b0b: POP 00002b0c: POP 00002b0d: PUSH1 0x01 00002b0f: PUSH1 0x01 00002b11: PUSH1 0xa0 00002b13: SHL 00002b14: SUB 00002b15: SWAP2 00002b16: SWAP1 00002b17: SWAP2 00002b18: AND 00002b19: PUSH1 0x20 00002b1b: SWAP1 00002b1c: SWAP2 00002b1d: ADD 00002b1e: MSTORE 00002b1f: SWAP1 00002b20: JUMP 00002b21: JUMPDEST 00002b22: PUSH1 0x00 00002b24: PUSH1 0x40 00002b26: DUP3 00002b27: DUP5 00002b28: SUB 00002b29: SLT 00002b2a: ISZERO 00002b2b: PUSH2 0x2b33 00002b2e: JUMPI 00002b2f: PUSH1 0x00 00002b31: DUP1 00002b32: REVERT 00002b33: JUMPDEST 00002b34: PUSH2 0x2b3b 00002b37: PUSH2 0x2913 00002b3a: JUMP 00002b3b: JUMPDEST 00002b3c: SWAP1 00002b3d: POP 00002b3e: DUP2 00002b3f: MLOAD 00002b40: DUP2 00002b41: MSTORE 00002b42: PUSH1 0x20 00002b44: DUP3 00002b45: ADD 00002b46: MLOAD 00002b47: PUSH1 0x20 00002b49: DUP3 00002b4a: ADD 00002b4b: MSTORE 00002b4c: SWAP3 00002b4d: SWAP2 00002b4e: POP 00002b4f: POP 00002b50: JUMP 00002b51: JUMPDEST 00002b52: PUSH1 0x00 00002b54: PUSH1 0x40 00002b56: DUP3 00002b57: DUP5 00002b58: SUB 00002b59: SLT 00002b5a: ISZERO 00002b5b: PUSH2 0x2b63 00002b5e: JUMPI 00002b5f: PUSH1 0x00 00002b61: DUP1 00002b62: REVERT 00002b63: JUMPDEST 00002b64: PUSH2 0x1407 00002b67: DUP4 00002b68: DUP4 00002b69: PUSH2 0x2b21 00002b6c: JUMP 00002b6d: JUMPDEST 00002b6e: PUSH1 0x01 00002b70: PUSH1 0x01 00002b72: PUSH1 0xf0 00002b74: SHL 00002b75: SUB 00002b76: NOT 00002b77: DUP2 00002b78: CALLDATALOAD 00002b79: DUP2 00002b7a: DUP2 00002b7b: AND 00002b7c: SWAP2 00002b7d: PUSH1 0x02 00002b7f: DUP6 00002b80: LT 00002b81: ISZERO 00002b82: PUSH2 0x2b95 00002b85: JUMPI 00002b86: DUP1 00002b87: DUP2 00002b88: DUP7 00002b89: PUSH1 0x02 00002b8b: SUB 00002b8c: PUSH1 0x03 00002b8e: SHL 00002b8f: SHL 00002b90: DUP4 00002b91: AND 00002b92: AND 00002b93: SWAP3 00002b94: POP 00002b95: JUMPDEST 00002b96: POP 00002b97: POP 00002b98: SWAP3 00002b99: SWAP2 00002b9a: POP 00002b9b: POP 00002b9c: JUMP 00002b9d: JUMPDEST 00002b9e: PUSH1 0x00 00002ba0: PUSH1 0x80 00002ba2: DUP3 00002ba3: DUP5 00002ba4: SUB 00002ba5: SLT 00002ba6: ISZERO 00002ba7: PUSH2 0x2baf 00002baa: JUMPI 00002bab: PUSH1 0x00 00002bad: DUP1 00002bae: REVERT 00002baf: JUMPDEST 00002bb0: PUSH1 0x40 00002bb2: MLOAD 00002bb3: PUSH1 0x60 00002bb5: DUP2 00002bb6: ADD 00002bb7: DUP2 00002bb8: DUP2 00002bb9: LT 00002bba: PUSH1 0x01 00002bbc: PUSH1 0x01 00002bbe: PUSH1 0x40 00002bc0: SHL 00002bc1: SUB 00002bc2: DUP3 00002bc3: GT 00002bc4: OR 00002bc5: ISZERO 00002bc6: PUSH2 0x2bd1 00002bc9: JUMPI 00002bca: PUSH2 0x2bd1 00002bcd: PUSH2 0x2506 00002bd0: JUMP 00002bd1: JUMPDEST 00002bd2: PUSH1 0x40 00002bd4: MSTORE 00002bd5: DUP3 00002bd6: MLOAD 00002bd7: DUP2 00002bd8: MSTORE 00002bd9: PUSH1 0x20 00002bdb: DUP4 00002bdc: ADD 00002bdd: MLOAD 00002bde: PUSH2 0x2be6 00002be1: DUP2 00002be2: PUSH2 0x2878 00002be5: JUMP 00002be6: JUMPDEST 00002be7: PUSH1 0x20 00002be9: DUP3 00002bea: ADD 00002beb: MSTORE 00002bec: PUSH2 0x2bf8 00002bef: DUP5 00002bf0: PUSH1 0x40 00002bf2: DUP6 00002bf3: ADD 00002bf4: PUSH2 0x2b21 00002bf7: JUMP 00002bf8: JUMPDEST 00002bf9: PUSH1 0x40 00002bfb: DUP3 00002bfc: ADD 00002bfd: MSTORE 00002bfe: SWAP4 00002bff: SWAP3 00002c00: POP 00002c01: POP 00002c02: POP 00002c03: JUMP 00002c04: JUMPDEST 00002c05: PUSH1 0x00 00002c07: DUP3 00002c08: PUSH2 0x2c21 00002c0b: JUMPI 00002c0c: PUSH4 0x4e487b71 00002c11: PUSH1 0xe0 00002c13: SHL 00002c14: PUSH1 0x00 00002c16: MSTORE 00002c17: PUSH1 0x12 00002c19: PUSH1 0x04 00002c1b: MSTORE 00002c1c: PUSH1 0x24 00002c1e: PUSH1 0x00 00002c20: REVERT 00002c21: JUMPDEST 00002c22: POP 00002c23: DIV 00002c24: SWAP1 00002c25: JUMP 00002c26: JUMPDEST 00002c27: DUP1 00002c28: DUP3 00002c29: MUL 00002c2a: DUP2 00002c2b: ISZERO 00002c2c: DUP3 00002c2d: DUP3 00002c2e: DIV 00002c2f: DUP5 00002c30: EQ 00002c31: OR 00002c32: PUSH2 0x096f 00002c35: JUMPI 00002c36: PUSH4 0x4e487b71 00002c3b: PUSH1 0xe0 00002c3d: SHL 00002c3e: PUSH1 0x00 00002c40: MSTORE 00002c41: PUSH1 0x11 00002c43: PUSH1 0x04 00002c45: MSTORE 00002c46: PUSH1 0x24 00002c48: PUSH1 0x00 00002c4a: REVERT 00002c4b: JUMPDEST 00002c4c: DUP1 00002c4d: CALLDATALOAD 00002c4e: PUSH1 0x20 00002c50: DUP4 00002c51: LT 00002c52: ISZERO 00002c53: PUSH2 0x096f 00002c56: JUMPI 00002c57: PUSH1 0x00 00002c59: NOT 00002c5a: PUSH1 0x20 00002c5c: DUP5 00002c5d: SWAP1 00002c5e: SUB 00002c5f: PUSH1 0x03 00002c61: SHL 00002c62: SHL 00002c63: AND 00002c64: SWAP3 00002c65: SWAP2 00002c66: POP 00002c67: POP 00002c68: JUMP 00002c69: JUMPDEST 00002c6a: PUSH1 0x01 00002c6c: PUSH1 0x01 00002c6e: PUSH1 0xc0 00002c70: SHL 00002c71: SUB 00002c72: NOT 00002c73: DUP2 00002c74: CALLDATALOAD 00002c75: DUP2 00002c76: DUP2 00002c77: AND 00002c78: SWAP2 00002c79: PUSH1 0x08 00002c7b: DUP6 00002c7c: LT 00002c7d: ISZERO 00002c7e: PUSH2 0x2b95 00002c81: JUMPI 00002c82: PUSH1 0x08 00002c84: SWAP5 00002c85: SWAP1 00002c86: SWAP5 00002c87: SUB 00002c88: PUSH1 0x03 00002c8a: SHL 00002c8b: DUP5 00002c8c: SWAP1 00002c8d: SHL 00002c8e: AND 00002c8f: SWAP1 00002c90: SWAP3 00002c91: AND 00002c92: SWAP3 00002c93: SWAP2 00002c94: POP 00002c95: POP 00002c96: JUMP 00002c97: JUMPDEST 00002c98: PUSH1 0x01 00002c9a: PUSH1 0x01 00002c9c: PUSH1 0x40 00002c9e: SHL 00002c9f: SUB 00002ca0: PUSH1 0xc0 00002ca2: SHL 00002ca3: DUP6 00002ca4: PUSH1 0xc0 00002ca6: SHL 00002ca7: AND 00002ca8: DUP2 00002ca9: MSTORE 00002caa: PUSH4 0xffffffff 00002caf: PUSH1 0xe0 00002cb1: SHL 00002cb2: DUP5 00002cb3: PUSH1 0xe0 00002cb5: SHL 00002cb6: AND 00002cb7: PUSH1 0x08 00002cb9: DUP3 00002cba: ADD 00002cbb: MSTORE 00002cbc: DUP3 00002cbd: PUSH1 0x0c 00002cbf: DUP3 00002cc0: ADD 00002cc1: MSTORE 00002cc2: PUSH1 0x00 00002cc4: DUP3 00002cc5: MLOAD 00002cc6: PUSH2 0x2cd6 00002cc9: DUP2 00002cca: PUSH1 0x2c 00002ccc: DUP6 00002ccd: ADD 00002cce: PUSH1 0x20 00002cd0: DUP8 00002cd1: ADD 00002cd2: PUSH2 0x1fa0 00002cd5: JUMP 00002cd6: JUMPDEST 00002cd7: SWAP2 00002cd8: SWAP1 00002cd9: SWAP2 00002cda: ADD 00002cdb: PUSH1 0x2c 00002cdd: ADD 00002cde: SWAP6 00002cdf: SWAP5 00002ce0: POP 00002ce1: POP 00002ce2: POP 00002ce3: POP 00002ce4: POP 00002ce5: JUMP 00002ce6: JUMPDEST 00002ce7: DUP5 00002ce8: DUP2 00002ce9: MSTORE 00002cea: PUSH1 0x01 00002cec: PUSH1 0x01 00002cee: PUSH1 0x40 00002cf0: SHL 00002cf1: SUB 00002cf2: PUSH1 0xc0 00002cf4: SHL 00002cf5: DUP5 00002cf6: PUSH1 0xc0 00002cf8: SHL 00002cf9: AND 00002cfa: PUSH1 0x20 00002cfc: DUP3 00002cfd: ADD 00002cfe: MSTORE 00002cff: DUP3 00002d00: PUSH1 0x28 00002d02: DUP3 00002d03: ADD 00002d04: MSTORE 00002d05: PUSH1 0x00 00002d07: DUP3 00002d08: MLOAD 00002d09: PUSH2 0x2d19 00002d0c: DUP2 00002d0d: PUSH1 0x48 00002d0f: DUP6 00002d10: ADD 00002d11: PUSH1 0x20 00002d13: DUP8 00002d14: ADD 00002d15: PUSH2 0x1fa0 00002d18: JUMP 00002d19: JUMPDEST 00002d1a: SWAP2 00002d1b: SWAP1 00002d1c: SWAP2 00002d1d: ADD 00002d1e: PUSH1 0x48 00002d20: ADD 00002d21: SWAP6 00002d22: SWAP5 00002d23: POP 00002d24: POP 00002d25: POP 00002d26: POP 00002d27: POP 00002d28: JUMP 00002d29: JUMPDEST 00002d2a: PUSH1 0x00 00002d2c: PUSH1 0x20 00002d2e: DUP3 00002d2f: DUP5 00002d30: SUB 00002d31: SLT 00002d32: ISZERO 00002d33: PUSH2 0x2d3b 00002d36: JUMPI 00002d37: PUSH1 0x00 00002d39: DUP1 00002d3a: REVERT 00002d3b: JUMPDEST 00002d3c: DUP2 00002d3d: MLOAD 00002d3e: PUSH2 0x1407 00002d41: DUP2 00002d42: PUSH2 0x20e3 00002d45: JUMP 00002d46: INVALID 00002d47: PUSH19 0xab1bc1039b79dc4724ffca13de82c96834302d 00002d5b: EXTCODECOPY 00002d5c: PUSH31 0x0d4252232d4b2dd8f900a26469706673582212209ae563e07a370c91e89afc 00002d7c: SDIV 00002d7d: UNKNOWN(0xFC) 00002d7e: UNKNOWN(0xA5) 00002d7f: UNKNOWN(0xF7) 00002d80: UNKNOWN(0xC0) 00002d81: MOD 00002d82: DUP4 00002d83: UNKNOWN(0xCD) 00002d84: DIV 00002d85: UNKNOWN(0xE8) 00002d86: SWAP16 00002d87: UNKNOWN(0xD7) 00002d88: PUSH7 0x58c20796c56d68 00002d90: LOG3 00002d91: PUSH5 0x736f6c6343 00002d97: STOP 00002d98: ADDMOD 00002d99: AND 00002d9a: STOP 00002d9b: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x82336ab97049b67ea253fe945ee07606aadc9501e89504d9fe92155251f199c7
call_targets:
0x13b380b878eae3cdcf0b1bede31b5eceb253ec0b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x82336ab97049b67ea253fe945ee07606aadc9501e89504d9fe92155251f199c7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x13b380b878eae3cdcf0b1bede31b5eceb253ec0b"
],
"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": "0xd045a0dc",
"selector": "0xd045a0dc",
"calldata_variants": [
"0xd045a0dc",
"0xd045a0dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd4243885",
"selector": "0xd4243885",
"calldata_variants": [
"0xd4243885",
"0xd42438850000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff7bd03d",
"selector": "0xff7bd03d",
"calldata_variants": [
"0xff7bd03d",
"0xff7bd03d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbd815db0",
"selector": "0xbd815db0",
"calldata_variants": [
"0xbd815db0",
"0xbd815db00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc7c7f5b3",
"selector": "0xc7c7f5b3",
"calldata_variants": [
"0xc7c7f5b3",
"0xc7c7f5b30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3924,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4705,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5372,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x82336ab97049b67ea253fe945ee07606aadc9501e89504d9fe92155251f199c7
call_targets:
0x13b380b878eae3cdcf0b1bede31b5eceb253ec0b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x82336ab97049b67ea253fe945ee07606aadc9501e89504d9fe92155251f199c7",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x13b380b878eae3cdcf0b1bede31b5eceb253ec0b"
],
"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": "0xd045a0dc",
"selector": "0xd045a0dc",
"calldata_variants": [
"0xd045a0dc",
"0xd045a0dc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd4243885",
"selector": "0xd4243885",
"calldata_variants": [
"0xd4243885",
"0xd42438850000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xff7bd03d",
"selector": "0xff7bd03d",
"calldata_variants": [
"0xff7bd03d",
"0xff7bd03d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbd815db0",
"selector": "0xbd815db0",
"calldata_variants": [
"0xbd815db0",
"0xbd815db00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc7c7f5b3",
"selector": "0xc7c7f5b3",
"calldata_variants": [
"0xc7c7f5b3",
"0xc7c7f5b30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3924,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4705,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5372,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|