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

Analysis Run

f5e42a86-2af2-44b4-88c7-d11e26872a6a

failed
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 2:13 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30502 report.consolidate complete 1 / 1 3 months ago
103871 artifact.fetch failed 1 / 3 1 week ago
103872 tool.cast_disasm complete 1 / 3 1 week ago
103873 analysis.bundle complete 1 / 3 1 week ago
103874 capability.graph complete 1 / 3 1 week ago
103875 detector.run complete 1 / 3 1 week ago
103876 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
3
No findings?
no
Summary
Found three issues: unprotected escrow initialization can allow takeover if deployment isn’t atomic, oracle inputs rely on caller-supplied data without local validation, and ERC20 transfers make external router calls that can be abused for DoS if router misbehaves.
View stderr
[codex:1471500] OpenAI Codex v0.77.0 (research preview)
[codex:1471500] --------
[codex:1471500] workdir: /tmp/codex-multi-h4fb5ory
[codex:1471500] model: gpt-5.2-codex
[codex:1471500] provider: openai
[codex:1471500] approval: never
[codex:1471500] sandbox: read-only
[codex:1471500] reasoning effort: xhigh
[codex:1471500] reasoning summaries: auto
[codex:1471500] session id: 019b6a6d-7ccd-76f0-93ff-71daa71eaacb
[codex:1471500] --------
[codex:1471500] user
[codex:1471500] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1471500] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1471500] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1471500] 
[codex:1471500] Scope rules:
[codex:1471500] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1471500] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1471500] 
[codex:1471500] Output MUST be valid JSON matching the provided schema.
[codex:1471500] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1471500] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1471500] 
[codex:1471500] Output constraints (IMPORTANT):
[codex:1471500] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1471500] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1471500] mcp startup: no servers
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Checking skill list and audit bundle**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc ls in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500] AUDIT_BUNDLE.txt
[codex:1471500] codex-output-schema.json
[codex:1471500] contracts
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Reading AUDIT_BUNDLE.txt file**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-h4fb5ory succeeded in 6ms:
[codex:1471500] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1471500] 
[codex:1471500] ================================================================================
[codex:1471500] FILE: contracts/@openzeppelin/contracts/governance/utils/IVotes.sol
[codex:1471500] ================================================================================
[codex:1471500] // SPDX-License-Identifier: MIT
[codex:1471500] // OpenZeppelin Contracts (last updated v5.0.0) (governance/utils/IVotes.sol)
[codex:1471500] pragma solidity ^0.8.20;
[codex:1471500] 
[codex:1471500] /**
[codex:1471500]  * @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.
[codex:1471500]  */
[codex:1471500] interface IVotes {
[codex:1471500]     /**
[codex:1471500]      * @dev The signature used has expired.
[codex:1471500]      */
[codex:1471500]     error VotesExpiredSignature(uint256 expiry);
[codex:1471500] 
[codex:1471500]     /**
[codex:1471500]      * @dev Emitted when an account changes their delegate.
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Planning comprehensive audit analysis**
[codex:1471500] 
[codex:1471500] I’m figuring out how to fully read and analyze the huge AUDIT_BUNDLE file despite output truncation, aiming to identify first-party contracts separately from third-party ones like OpenZeppelin. I’ll likely use a script to parse file sections and ensure I’ve captured all content before diving into detailed vulnerability checks.
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "python - <<'PY'
[codex:1471500] import re
[codex:1471500] files=[]
[codex:1471500] with open('AUDIT_BUNDLE.txt','r') as f:
[codex:1471500]     for line in f:
[codex:1471500]         if line.startswith('FILE:'):
[codex:1471500]             files.append(line.strip().split('FILE:')[1].strip())
[codex:1471500] print('\\n'.join(files))
[codex:1471500] print('TOTAL',len(files))
[codex:1471500] PY" in /tmp/codex-multi-h4fb5ory succeeded in 26ms:
[codex:1471500] contracts/@openzeppelin/contracts/governance/utils/IVotes.sol
[codex:1471500] contracts/@openzeppelin/contracts/governance/utils/Votes.sol
[codex:1471500] contracts/@openzeppelin/contracts/interfaces/IERC5267.sol
[codex:1471500] contracts/@openzeppelin/contracts/interfaces/IERC5805.sol
[codex:1471500] contracts/@openzeppelin/contracts/interfaces/IERC6372.sol
[codex:1471500] contracts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol
[codex:1471500] contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol
[codex:1471500] contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol
[codex:1471500] contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1471500] contracts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol
[codex:1471500] contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1471500] contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol
[codex:1471500] contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1471500] contracts/@openzeppelin/contracts/utils/Address.sol
[codex:1471500] contracts/@openzeppelin/contracts/utils/Context.sol
[codex:1471500] contracts/@openzeppelin/contracts/utils/Nonces.sol
[codex:1471500] contracts/@openzeppelin/contracts/utils/ShortStrings.sol
[codex:1471500] contracts/@openzeppelin/contracts/utils/StorageSlot.sol
[codex:1471500] contracts/@openzeppelin/contracts/utils/Strings.sol
[codex:1471500] contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Extracting first-party contract code**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '1,200p' contracts/contracts/DataTypes.sol" in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500] // SPDX-License-Identifier: MIT
[codex:1471500] pragma solidity 0.8.24;
[codex:1471500] 
[codex:1471500] library DataTypes {
[codex:1471500]     struct OptionInfo {
[codex:1471500]         address underlyingToken;
[codex:1471500]         uint48 expiry;
[codex:1471500]         address settlementToken;
[codex:1471500]         uint48 earliestExercise;
[codex:1471500]         uint128 notional;
[codex:1471500]         uint128 strike;
[codex:1471500]         AdvancedSettings advancedSettings;
[codex:1471500]     }
[codex:1471500] 
[codex:1471500]     struct AdvancedSettings {
[codex:1471500]         uint64 borrowCap;
[codex:1471500]         address oracle;
[codex:1471500]         bool premiumTokenIsUnderlying;
[codex:1471500]         bool votingDelegationAllowed;
[codex:1471500]         address allowedDelegateRegistry;
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Inspecting Escrow.sol main contract**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '1,240p' contracts/contracts/Escrow.sol" in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500] // SPDX-License-Identifier: MIT
[codex:1471500] pragma solidity 0.8.24;
[codex:1471500] 
[codex:1471500] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1471500] import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1471500] import {ERC20Votes} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol";
[codex:1471500] import {SafeCast} from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1471500] import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
[codex:1471500] import {InitializableERC20} from "./utils/InitializableERC20.sol";
[codex:1471500] import {DataTypes} from "./DataTypes.sol";
[codex:1471500] import {Errors} from "./errors/Errors.sol";
[codex:1471500] import {IOracleAdapter} from "./interfaces/IOracleAdapter.sol";
[codex:1471500] import {IDelegation} from "./interfaces/IDelegation.sol";
[codex:1471500] import {IEscrow} from "./interfaces/IEscrow.sol";
[codex:1471500] import {IRouter} from "./interfaces/IRouter.sol";
[codex:1471500] 
[codex:1471500] contract Escrow is InitializableERC20, IEscrow {
[codex:1471500]     using SafeERC20 for IERC20Metadata;
[codex:1471500] 
[codex:1471500]     uint256 internal constant BASE = 1 ether;
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Continuing process**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '240,480p' contracts/contracts/Escrow.sol" in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500]             exerciseCostInUnderlying =
[codex:1471500]                 ((strike * underlyingExerciseAmount) *
[codex:1471500]                     IOracleAdapter(optionInfo.advancedSettings.oracle).getPrice(
[codex:1471500]                         settlementToken,
[codex:1471500]                         underlyingToken,
[codex:1471500]                         oracleData
[codex:1471500]                     )) /
[codex:1471500]                 ((10 ** underlyingTokenDecimals) *
[codex:1471500]                     (10 ** settlementTokenDecimals));
[codex:1471500]             if (
[codex:1471500]                 exerciseCostInUnderlying > underlyingExerciseAmount ||
[codex:1471500]                 exerciseCostInUnderlying == 0
[codex:1471500]             ) {
[codex:1471500]                 // @dev: revert if OTM or exercise cost is null
[codex:1471500]                 revert Errors.InvalidExercise();
[codex:1471500]             }
[codex:1471500]             IERC20Metadata(underlyingToken).safeTransfer(
[codex:1471500]                 owner,
[codex:1471500]                 exerciseCostInUnderlying
[codex:1471500]             );
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Continuing task**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '480,720p' contracts/contracts/Escrow.sol" in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500]         bytes[] memory _oracleData
[codex:1471500]     )
[codex:1471500]         public
[codex:1471500]         view
[codex:1471500]         returns (DataTypes.BidPreview memory preview, address __distPartner)
[codex:1471500]     {
[codex:1471500]         uint64 _currAsk = currAsk();
[codex:1471500]         __distPartner = _distPartner;
[codex:1471500]         if (optionMinted) {
[codex:1471500]             return (
[codex:1471500]                 _createBidPreview(DataTypes.BidStatus.OptionAlreadyMinted),
[codex:1471500]                 __distPartner
[codex:1471500]             );
[codex:1471500]         }
[codex:1471500]         if (relBid < _currAsk) {
[codex:1471500]             return (
[codex:1471500]                 _createBidPreview(DataTypes.BidStatus.PremiumTooLow),
[codex:1471500]                 __distPartner
[codex:1471500]             );
[codex:1471500]         }
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Inspecting Errors.sol and Escrow contract**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '1,200p' contracts/contracts/errors/Errors.sol" in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500] // SPDX-License-Identifier: MIT
[codex:1471500] pragma solidity 0.8.24;
[codex:1471500] 
[codex:1471500] library Errors {
[codex:1471500]     error AlreadyInitialized();
[codex:1471500]     error DistPartnerFeeUnchanged();
[codex:1471500]     error FeeHandlerAlreadySet();
[codex:1471500]     error InvalidAddress();
[codex:1471500]     error InvalidArrayLength();
[codex:1471500]     error InvalidBid();
[codex:1471500]     error InvalidBorrowAmount();
[codex:1471500]     error InvalidBorrowCap();
[codex:1471500]     error InvalidBorrowTime();
[codex:1471500]     error InvalidDistPartnerFeeShare();
[codex:1471500]     error InvalidEarliestExercise();
[codex:1471500]     error InvalidEarliestExerciseTenor();
[codex:1471500]     error InvalidEIP1271Signature();
[codex:1471500]     error InvalidExpiry();
[codex:1471500]     error InvalidExercise();
[codex:1471500]     error InvalidExerciseAmount();
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Reviewing interface usage**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '1,200p' contracts/contracts/interfaces/IDelegation.sol" in /tmp/codex-multi-h4fb5ory succeeded in 6ms:
[codex:1471500] // SPDX-License-Identifier: MIT
[codex:1471500] pragma solidity 0.8.24;
[codex:1471500] 
[codex:1471500] interface IDelegation {
[codex:1471500]     /// @dev Sets a delegate for the msg.sender and a specific id.
[codex:1471500]     ///      The combination of msg.sender and the id can be seen as a unique key.
[codex:1471500]     /// @param id Id for which the delegate should be set
[codex:1471500]     /// @param delegate Address of the delegate
[codex:1471500]     function setDelegate(bytes32 id, address delegate) external;
[codex:1471500] }
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Moving to next IEscrow**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '1,200p' contracts/contracts/interfaces/IEscrow.sol" in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500] // SPDX-License-Identifier: MIT
[codex:1471500] pragma solidity 0.8.24;
[codex:1471500] 
[codex:1471500] import {DataTypes} from "../DataTypes.sol";
[codex:1471500] 
[codex:1471500] /**
[codex:1471500]  * @title IEscrow
[codex:1471500]  * @dev Interface for the Escrow contract.
[codex:1471500]  * Provides functionality for initializing auctions, bids, options, and managing underlying tokens.
[codex:1471500]  */
[codex:1471500] interface IEscrow {
[codex:1471500]     /// @notice Emitted when on-chain voting rights are delegated.
[codex:1471500]     /// @param delegate The address delegated for on-chain voting.
[codex:1471500]     event OnChainVotingDelegation(address delegate);
[codex:1471500] 
[codex:1471500]     /// @notice Emitted when off-chain voting rights are delegated.
[codex:1471500]     /// @param allowedDelegateRegistry Address of the allowed delegate registry.
[codex:1471500]     /// @param spaceId ID of the delegation space (e.g., for Snapshot).
[codex:1471500]     /// @param delegate The address delegated for off-chain voting.
[codex:1471500]     event OffChainVotingDelegation(
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Checking IOracleAdapter interface**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "sed -n '1,200p' contracts/contracts/interfaces/IOracleAdapter.sol" in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500] // SPDX-License-Identifier: MIT
[codex:1471500] pragma solidity 0.8.24;
[codex:1471500] 
[codex:1471500] /// @title IOracleAdapter
[codex:1471500] /// @dev Interface for OracleAdapter contract to provide a standard way of interacting with oracles.
[codex:1471500] interface IOracleAdapter {
[codex:1471500]     /// @notice Event emitted when a new oracle mapping is added.
[codex:1471500]     /// @param tokenAddress The address of the token for which the oracle is being added.
[codex:1471500]     /// @param oracleAddress The address of the oracle to be used for given token.
[codex:1471500]     event AddOracleMapping(address indexed tokenAddress, address oracleAddress);
[codex:1471500] 
[codex:1471500]     /// @notice Retrieves the price of a specified token quoted in another token.
[codex:1471500]     /// @param token The address of the token for which the price is to be retrieved.
[codex:1471500]     /// @param quoteToken The address of the token in which the price is to be quoted.
[codex:1471500]     /// @param oracleData Additional data to pass to the oracle (if needed).
[codex:1471500]     /// @return tokenPriceInQuoteToken The price of 1 unit of token quoted in the quoteToken.
[codex:1471500]     function getPrice(
[codex:1471500]         address token,
[codex:1471500]         address quoteToken,
[codex:1471500]         bytes[] memory oracleData
[codex:1471500] 
[codex:1471500] 
[codex:1471500] 
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Examining Escrow contract risks and logic**
[codex:1471500] 
[codex:1471500] I'm analyzing the Escrow contract deeper, focusing on reentrancy, access control, oracle use, and initialization security. There are some nuanced spots where malicious tokens or improper oracle data could pose risks, especially around token transfers, state updates, and initialization gaps. I'm also scrutinizing how certain fees and strike prices are unchecked inside Escrow and may rely heavily on Router or oracle correctness. Let's keep tracking potential vulnerabilities rooted in external calls, permissioning, and parameter validation.
[codex:1471500] thinking
[codex:1471500] **Identifying nuanced token and oracle permission risks**
[codex:1471500] 
[codex:1471500] I'm exploring subtle issues around token approvals, reentrancy chances via router callbacks, oracle price manipulation risks affecting strike and premiums, and access control gaps in initialization. The allowance from option receivers to router and external router calls inside token transfers stand out as possible attack vectors if router is compromised. Oracle data manipulation could let options be minted or exercised at unfair prices, but the system seems to rely heavily on router and oracle integrity. This interplay of trust boundaries is interesting and worth careful review.
[codex:1471500] thinking
[codex:1471500] **Analyzing arithmetic edge cases and initialization gaps**
[codex:1471500] 
[codex:1471500] I'm examining possible integer overflows, underflows, and arithmetic rounding impacts in option lifecycle functions, plus checks (or missing checks) on auction parameter values like tenor and decayDuration. I see how oracle-based strike zero or large tenor might cause reverts or DOS scenarios. Initialization inconsistencies and allowance of certain flows before expiry or option minting also stand out as potential weak points worth noting.
[codex:1471500] thinking
[codex:1471500] **Identifying initialization and access control concerns**
[codex:1471500] 
[codex:1471500] I’ve found that unprotected initialization functions could let anyone initialize new Escrow instances if not handled atomically, leading to ownership and router control risks. External calls to router during transfers raise reentrancy and denial risks if the router misbehaves. Also, oracle reliance with user-supplied data poses possible price manipulation problems affecting bids and exercises, tied to missing on-chain sanity checks.
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "nl -ba contracts/contracts/Escrow.sol | sed -n '20,160p'" in /tmp/codex-multi-h4fb5ory succeeded in 8ms:
[codex:1471500]     20	    uint256 internal constant BASE = 1 ether;
[codex:1471500]     21	
[codex:1471500]     22	    uint128 public premiumPaid;
[codex:1471500]     23	    uint128 public totalBorrowed;
[codex:1471500]     24	
[codex:1471500]     25	    address public router;
[codex:1471500]     26	    address public owner;
[codex:1471500]     27	    address internal _distPartner;
[codex:1471500]     28	
[codex:1471500]     29	    uint96 public exerciseFee;
[codex:1471500]     30	    bool public isAuction;
[codex:1471500]     31	    bool public optionMinted;
[codex:1471500]     32	    bool internal _auctionCancelled;
[codex:1471500]     33	
[codex:1471500]     34	    mapping(address => uint256) public borrowedUnderlyingAmounts;
[codex:1471500]     35	
[codex:1471500]     36	    DataTypes.OptionInfo public optionInfo;
[codex:1471500]     37	    DataTypes.AuctionParams public auctionParams;
[codex:1471500]     38	
[codex:1471500]     39	    function initializeAuction(
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Preparing for transfer function analysis**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "nl -ba contracts/contracts/Escrow.sol | sed -n '300,420p'" in /tmp/codex-multi-h4fb5ory succeeded in 6ms:
[codex:1471500]    300	        }
[codex:1471500]    301	        settlementToken = optionInfo.settlementToken;
[codex:1471500]    302	
[codex:1471500]    303	        // @dev: round collateral amount up
[codex:1471500]    304	        collateralAmount = _getConversionAmount(
[codex:1471500]    305	            optionInfo.strike,
[codex:1471500]    306	            underlyingBorrowAmount,
[codex:1471500]    307	            IERC20Metadata(optionInfo.underlyingToken).decimals(),
[codex:1471500]    308	            true
[codex:1471500]    309	        );
[codex:1471500]    310	
[codex:1471500]    311	        // @dev: apply exercise fee to ensure equivalence between
[codex:1471500]    312	        // "borrowing and not repaying" and "regular exercise"
[codex:1471500]    313	        collateralFeeAmount = (collateralAmount * exerciseFee) / BASE;
[codex:1471500]    314	        totalBorrowed += underlyingBorrowAmount;
[codex:1471500]    315	        borrowedUnderlyingAmounts[borrower] += underlyingBorrowAmount;
[codex:1471500]    316	        _burn(borrower, underlyingBorrowAmount);
[codex:1471500]    317	        IERC20Metadata(optionInfo.underlyingToken).safeTransfer(
[codex:1471500]    318	            underlyingReceiver,
[codex:1471500]    319	            underlyingBorrowAmount
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Continuing to review transfer functions around line 440**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "nl -ba contracts/contracts/Escrow.sol | sed -n '420,540p'" in /tmp/codex-multi-h4fb5ory succeeded in 6ms:
[codex:1471500]    420	
[codex:1471500]    421	    function redeem(address to) external {
[codex:1471500]    422	        address _owner = owner;
[codex:1471500]    423	        if (msg.sender != _owner) {
[codex:1471500]    424	            revert Errors.InvalidSender();
[codex:1471500]    425	        }
[codex:1471500]    426	        uint256 bal = balanceOf(msg.sender);
[codex:1471500]    427	        if (bal == 0) {
[codex:1471500]    428	            revert Errors.NothingToRedeem();
[codex:1471500]    429	        }
[codex:1471500]    430	        address underlyingToken = optionInfo.underlyingToken;
[codex:1471500]    431	        _burn(msg.sender, bal);
[codex:1471500]    432	        IERC20Metadata(underlyingToken).safeTransfer(to, bal);
[codex:1471500]    433	        emit Redeem(msg.sender, to, underlyingToken, bal);
[codex:1471500]    434	    }
[codex:1471500]    435	
[codex:1471500]    436	    function transferOwnership(address newOwner) external {
[codex:1471500]    437	        address _owner = owner;
[codex:1471500]    438	        if (msg.sender != _owner) {
[codex:1471500]    439	            revert Errors.InvalidSender();
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Tracking oracle usage in previewBid and handleExercise**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc "nl -ba contracts/contracts/Escrow.sol | sed -n '160,300p'" in /tmp/codex-multi-h4fb5ory succeeded in 6ms:
[codex:1471500]    160	        uint256 relBid,
[codex:1471500]    161	        address optionReceiver,
[codex:1471500]    162	        uint256 _refSpot,
[codex:1471500]    163	        bytes[] memory _oracleData
[codex:1471500]    164	    )
[codex:1471500]    165	        external
[codex:1471500]    166	        returns (DataTypes.BidPreview memory preview, address __distPartner)
[codex:1471500]    167	    {
[codex:1471500]    168	        address _router = router;
[codex:1471500]    169	        if (msg.sender != _router) {
[codex:1471500]    170	            revert Errors.InvalidSender();
[codex:1471500]    171	        }
[codex:1471500]    172	        (preview, __distPartner) = previewBid(relBid, _refSpot, _oracleData);
[codex:1471500]    173	
[codex:1471500]    174	        if (preview.status != DataTypes.BidStatus.Success) {
[codex:1471500]    175	            revert Errors.InvalidBid();
[codex:1471500]    176	        }
[codex:1471500]    177	
[codex:1471500]    178	        optionInfo.strike = preview.strike;
[codex:1471500]    179	        optionInfo.expiry = preview.expiry;
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Searching for delegatecall usage**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc 'rg "delegatecall" -n contracts/contracts' in /tmp/codex-multi-h4fb5ory exited 1 in 11ms:
[codex:1471500] 
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Checking for delegatecall and upgradeability patterns**
[codex:1471500] exec
[codex:1471500] /bin/bash -lc 'nl -ba contracts/contracts/utils/InitializableERC20.sol' in /tmp/codex-multi-h4fb5ory succeeded in 5ms:
[codex:1471500]      1	// SPDX-License-Identifier: UNLICENSED
[codex:1471500]      2	pragma solidity 0.8.24;
[codex:1471500]      3	
[codex:1471500]      4	import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1471500]      5	import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1471500]      6	import {Errors} from "../errors/Errors.sol";
[codex:1471500]      7	
[codex:1471500]      8	contract InitializableERC20 is ERC20, Initializable {
[codex:1471500]      9	    bool private _initialized;
[codex:1471500]     10	    uint8 private _decimals;
[codex:1471500]     11	    string private _name;
[codex:1471500]     12	    string private _symbol;
[codex:1471500]     13	
[codex:1471500]     14	    constructor() ERC20("", "") {
[codex:1471500]     15	        _disableInitializers();
[codex:1471500]     16	    }
[codex:1471500]     17	
[codex:1471500]     18	    function _initializeERC20(
[codex:1471500]     19	        string memory __name,
[codex:1471500]     20	        string memory __symbol,
[codex:1471500] 
[codex:1471500] 
[codex:1471500] thinking
[codex:1471500] **Summarizing security findings**
[codex:1471500] 
[codex:1471500] I’m gathering key security issues: unprotected initializer functions risks if deployed improperly, oracle manipulation potential due to unchecked user-supplied price data, and low-severity risk from external calls in token transfers that might cause DoS or reentrancy if router is malicious or upgradeable. I’ll organize these into a clear JSON output for the user.
[codex:1471500] thinking
[codex:1471500] **Preparing detailed vulnerability report**
[codex:1471500] 
[codex:1471500] I’m finalizing the structured vulnerability findings, carefully weighing the reentrancy concerns and confirming the oracle manipulation risk is relevant based on user-supplied data without internal checks. I’ll compile a precise JSON summary with high, medium, and low severity issues referencing specific contract lines and evidence for the user’s security audit.
[codex:1471500] codex
[codex:1471500] {"no_findings":false,"summary":"Found three issues: unprotected escrow initialization can allow takeover if deployment isn’t atomic, oracle inputs rely on caller-supplied data without local validation, and ERC20 transfers make external router calls that can be abused for DoS if router misbehaves.","findings":[{"severity":"high","category":"access_control","title":"Escrow initialization is externally callable without access control","exploit_scenario":"If an escrow instance is deployed without being initialized in the same transaction, any attacker can front‑run by calling `initializeAuction`, `initializeRFQMatch`, or `initializeMintOption` to set `router` and `owner` to themselves. They can then withdraw escrow assets or mint/transfer options under their control.","recommendation":"Restrict initialization to a trusted factory/router (e.g., `onlyRouter`), or ensure deployments always initialize atomically in the factory’s constructor/creation call path.","evidence":"`initializeAuction`, `initializeRFQMatch`, and `initializeMintOption` are `external initializer` and directly set `router`/`owner` with no `msg.sender` checks.","locations":["contracts/contracts/Escrow.sol:39","contracts/contracts/Escrow.sol:112","contracts/contracts/Escrow.sol:136"]},{"severity":"medium","category":"oracle","title":"User-supplied oracle data can skew strike/premium and exercise costs if adapter is permissive","exploit_scenario":"A bidder or exerciser can pass `oracleData` that causes the oracle adapter to return a stale or manipulated price (if the adapter does not strictly validate). This can underprice premiums/strike in auctions or reduce exercise costs when paying in underlying, resulting in economic loss to the escrow owner.","recommendation":"Enforce staleness and bounds in the adapter and/or add local sanity checks (e.g., require minimum freshness, reject zero/absurd prices). Consider restricting acceptable oracle data sources or caching validated prices in the escrow/router.","evidence":"`previewBid` and `handleExercise` accept caller-provided `oracleData` and use it to derive pricing without additional on-chain validation beyond min/max spot checks.","locations":["contracts/contracts/Escrow.sol:240","contracts/contracts/Escrow.sol:506"]},{"severity":"low","category":"other","title":"ERC20 transfers make external router calls, enabling DoS/reentrancy if router misbehaves","exploit_scenario":"If the router is upgradeable or compromised, it can revert or consume excessive gas in `emitTransferEvent`, causing all option token transfers to fail. It could also reenter during transfer flows, increasing attack surface.","recommendation":"Avoid external calls in `transfer`/`transferFrom`, or wrap the router call in `try/catch` and ignore failures. If event forwarding is required, consider emitting events directly in the escrow without external calls.","evidence":"`transfer` and `transferFrom` call `IRouter(router).emitTransferEvent(...)` after state changes.","locations":["contracts/contracts/Escrow.sol:458","contracts/contracts/Escrow.sol:467"]}]}
[codex:1471500] tokens used
[codex:1471500] 91,872
[codex:1471500] {"no_findings":false,"summary":"Found three issues: unprotected escrow initialization can allow takeover if deployment isn’t atomic, oracle inputs rely on caller-supplied data without local validation, and ERC20 transfers make external router calls that can be abused for DoS if router misbehaves.","findings":[{"severity":"high","category":"access_control","title":"Escrow initialization is externally callable without access control","exploit_scenario":"If an escrow instance is deployed without being initialized in the same transaction, any attacker can front‑run by calling `initializeAuction`, `initializeRFQMatch`, or `initializeMintOption` to set `router` and `owner` to themselves. They can then withdraw escrow assets or mint/transfer options under their control.","recommendation":"Restrict initialization to a trusted factory/router (e.g., `onlyRouter`), or ensure deployments always initialize atomically in the factory’s constructor/creation call path.","evidence":"`initializeAuction`, `initializeRFQMatch`, and `initializeMintOption` are `external initializer` and directly set `router`/`owner` with no `msg.sender` checks.","locations":["contracts/contracts/Escrow.sol:39","contracts/contracts/Escrow.sol:112","contracts/contracts/Escrow.sol:136"]},{"severity":"medium","category":"oracle","title":"User-supplied oracle data can skew strike/premium and exercise costs if adapter is permissive","exploit_scenario":"A bidder or exerciser can pass `oracleData` that causes the oracle adapter to return a stale or manipulated price (if the adapter does not strictly validate). This can underprice premiums/strike in auctions or reduce exercise costs when paying in underlying, resulting in economic loss to the escrow owner.","recommendation":"Enforce staleness and bounds in the adapter and/or add local sanity checks (e.g., require minimum freshness, reject zero/absurd prices). Consider restricting acceptable oracle data sources or caching validated prices in the escrow/router.","evidence":"`previewBid` and `handleExercise` accept caller-provided `oracleData` and use it to derive pricing without additional on-chain validation beyond min/max spot checks.","locations":["contracts/contracts/Escrow.sol:240","contracts/contracts/Escrow.sol:506"]},{"severity":"low","category":"other","title":"ERC20 transfers make external router calls, enabling DoS/reentrancy if router misbehaves","exploit_scenario":"If the router is upgradeable or compromised, it can revert or consume excessive gas in `emitTransferEvent`, causing all option token transfers to fail. It could also reenter during transfer flows, increasing attack surface.","recommendation":"Avoid external calls in `transfer`/`transferFrom`, or wrap the router call in `try/catch` and ignore failures. If event forwarding is required, consider emitting events directly in the escrow without external calls.","evidence":"`transfer` and `transferFrom` call `IRouter(router).emitTransferEvent(...)` after state changes.","locations":["contracts/contracts/Escrow.sol:458","contracts/contracts/Escrow.sol:467"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T14:13:01.980984+00:00",
        "returncode": 0
    },
    "summary": "Found three issues: unprotected escrow initialization can allow takeover if deployment isn\u2019t atomic, oracle inputs rely on caller-supplied data without local validation, and ERC20 transfers make external router calls that can be abused for DoS if router misbehaves.",
    "raw_final": {
        "summary": "Found three issues: unprotected escrow initialization can allow takeover if deployment isn\u2019t atomic, oracle inputs rely on caller-supplied data without local validation, and ERC20 transfers make external router calls that can be abused for DoS if router misbehaves.",
        "findings": [
            {
                "title": "Escrow initialization is externally callable without access control",
                "category": "access_control",
                "evidence": "`initializeAuction`, `initializeRFQMatch`, and `initializeMintOption` are `external initializer` and directly set `router`/`owner` with no `msg.sender` checks.",
                "severity": "high",
                "locations": [
                    "contracts/contracts/Escrow.sol:39",
                    "contracts/contracts/Escrow.sol:112",
                    "contracts/contracts/Escrow.sol:136"
                ],
                "recommendation": "Restrict initialization to a trusted factory/router (e.g., `onlyRouter`), or ensure deployments always initialize atomically in the factory\u2019s constructor/creation call path.",
                "exploit_scenario": "If an escrow instance is deployed without being initialized in the same transaction, any attacker can front\u2011run by calling `initializeAuction`, `initializeRFQMatch`, or `initializeMintOption` to set `router` and `owner` to themselves. They can then withdraw escrow assets or mint/transfer options under their control."
            },
            {
                "title": "User-supplied oracle data can skew strike/premium and exercise costs if adapter is permissive",
                "category": "oracle",
                "evidence": "`previewBid` and `handleExercise` accept caller-provided `oracleData` and use it to derive pricing without additional on-chain validation beyond min/max spot checks.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/Escrow.sol:240",
                    "contracts/contracts/Escrow.sol:506"
                ],
                "recommendation": "Enforce staleness and bounds in the adapter and/or add local sanity checks (e.g., require minimum freshness, reject zero/absurd prices). Consider restricting acceptable oracle data sources or caching validated prices in the escrow/router.",
                "exploit_scenario": "A bidder or exerciser can pass `oracleData` that causes the oracle adapter to return a stale or manipulated price (if the adapter does not strictly validate). This can underprice premiums/strike in auctions or reduce exercise costs when paying in underlying, resulting in economic loss to the escrow owner."
            },
            {
                "title": "ERC20 transfers make external router calls, enabling DoS/reentrancy if router misbehaves",
                "category": "other",
                "evidence": "`transfer` and `transferFrom` call `IRouter(router).emitTransferEvent(...)` after state changes.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/Escrow.sol:458",
                    "contracts/contracts/Escrow.sol:467"
                ],
                "recommendation": "Avoid external calls in `transfer`/`transferFrom`, or wrap the router call in `try/catch` and ignore failures. If event forwarding is required, consider emitting events directly in the escrow without external calls.",
                "exploit_scenario": "If the router is upgradeable or compromised, it can revert or consume excessive gas in `emitTransferEvent`, causing all option token transfers to fail. It could also reenter during transfer flows, increasing attack surface."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
18
EXT*/BALANCE
9
Total opcodes
11502
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0226
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x70a08231
00000026: GT
00000027: PUSH2 0x012a
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc17723f9
00000031: GT
00000032: PUSH2 0x00bd
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xdd62ed3e
0000003c: GT
0000003d: PUSH2 0x008c
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xf0aa49d2
00000047: GT
00000048: PUSH2 0x0071
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xf0aa49d2
00000052: EQ
00000053: PUSH2 0x0796
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf2fde38b
0000005d: EQ
0000005e: PUSH2 0x07a8
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf887ea40
00000068: EQ
00000069: PUSH2 0x07bb
0000006c: JUMPI
0000006d: PUSH1 0x00
0000006f: DUP1
00000070: REVERT
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0xdd62ed3e
00000078: EQ
00000079: PUSH2 0x073c
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xdf1d444e
00000083: EQ
00000084: PUSH2 0x0775
00000087: JUMPI
00000088: PUSH1 0x00
0000008a: DUP1
0000008b: REVERT
0000008c: JUMPDEST
0000008d: DUP1
0000008e: PUSH4 0xc17723f9
00000093: EQ
00000094: PUSH2 0x06cd
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xd0e8dcff
0000009e: EQ
0000009f: PUSH2 0x06da
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xd1c699aa
000000a9: EQ
000000aa: PUSH2 0x06ed
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xd951124d
000000b4: EQ
000000b5: PUSH2 0x0729
000000b8: JUMPI
000000b9: PUSH1 0x00
000000bb: DUP1
000000bc: REVERT
000000bd: JUMPDEST
000000be: DUP1
000000bf: PUSH4 0x95d89b41
000000c4: GT
000000c5: PUSH2 0x00f9
000000c8: JUMPI
000000c9: DUP1
000000ca: PUSH4 0x95d89b41
000000cf: EQ
000000d0: PUSH2 0x067f
000000d3: JUMPI
000000d4: DUP1
000000d5: PUSH4 0xa3620ec4
000000da: EQ
000000db: PUSH2 0x0687
000000de: JUMPI
000000df: DUP1
000000e0: PUSH4 0xa9059cbb
000000e5: EQ
000000e6: PUSH2 0x069a
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0xb53512f2
000000f0: EQ
000000f1: PUSH2 0x06ad
000000f4: JUMPI
000000f5: PUSH1 0x00
000000f7: DUP1
000000f8: REVERT
000000f9: JUMPDEST
000000fa: DUP1
000000fb: PUSH4 0x70a08231
00000100: EQ
00000101: PUSH2 0x05fe
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x8da5cb5b
0000010b: EQ
0000010c: PUSH2 0x0627
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x9076e904
00000116: EQ
00000117: PUSH2 0x063a
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x95a2251f
00000121: EQ
00000122: PUSH2 0x066c
00000125: JUMPI
00000126: PUSH1 0x00
00000128: DUP1
00000129: REVERT
0000012a: JUMPDEST
0000012b: DUP1
0000012c: PUSH4 0x31cd4e62
00000131: GT
00000132: PUSH2 0x01bd
00000135: JUMPI
00000136: DUP1
00000137: PUSH4 0x53795208
0000013c: GT
0000013d: PUSH2 0x018c
00000140: JUMPI
00000141: DUP1
00000142: PUSH4 0x5b6a251b
00000147: GT
00000148: PUSH2 0x0171
0000014b: JUMPI
0000014c: DUP1
0000014d: PUSH4 0x5b6a251b
00000152: EQ
00000153: PUSH2 0x05c5
00000156: JUMPI
00000157: DUP1
00000158: PUSH4 0x5c8ad611
0000015d: EQ
0000015e: PUSH2 0x05d8
00000161: JUMPI
00000162: DUP1
00000163: PUSH4 0x67ff93a6
00000168: EQ
00000169: PUSH2 0x05eb
0000016c: JUMPI
0000016d: PUSH1 0x00
0000016f: DUP1
00000170: REVERT
00000171: JUMPDEST
00000172: DUP1
00000173: PUSH4 0x53795208
00000178: EQ
00000179: PUSH2 0x04c5
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0x568f02f8
00000183: EQ
00000184: PUSH2 0x04d8
00000187: JUMPI
00000188: PUSH1 0x00
0000018a: DUP1
0000018b: REVERT
0000018c: JUMPDEST
0000018d: DUP1
0000018e: PUSH4 0x31cd4e62
00000193: EQ
00000194: PUSH2 0x0428
00000197: JUMPI
00000198: DUP1
00000199: PUSH4 0x43814e1e
0000019e: EQ
0000019f: PUSH2 0x0460
000001a2: JUMPI
000001a3: DUP1
000001a4: PUSH4 0x4c19386c
000001a9: EQ
000001aa: PUSH2 0x0480
000001ad: JUMPI
000001ae: DUP1
000001af: PUSH4 0x51b10f13
000001b4: EQ
000001b5: PUSH2 0x04b2
000001b8: JUMPI
000001b9: PUSH1 0x00
000001bb: DUP1
000001bc: REVERT
000001bd: JUMPDEST
000001be: DUP1
000001bf: PUSH4 0x23b872dd
000001c4: GT
000001c5: PUSH2 0x01f9
000001c8: JUMPI
000001c9: DUP1
000001ca: PUSH4 0x23b872dd
000001cf: EQ
000001d0: PUSH2 0x029f
000001d3: JUMPI
000001d4: DUP1
000001d5: PUSH4 0x23c8affa
000001da: EQ
000001db: PUSH2 0x02b2
000001de: JUMPI
000001df: DUP1
000001e0: PUSH4 0x2844e1e0
000001e5: EQ
000001e6: PUSH2 0x02c7
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0x313ce567
000001f0: EQ
000001f1: PUSH2 0x040b
000001f4: JUMPI
000001f5: PUSH1 0x00
000001f7: DUP1
000001f8: REVERT
000001f9: JUMPDEST
000001fa: DUP1
000001fb: PUSH4 0x06fdde03
00000200: EQ
00000201: PUSH2 0x022b
00000204: JUMPI
00000205: DUP1
00000206: PUSH4 0x095ea7b3
0000020b: EQ
0000020c: PUSH2 0x0249
0000020f: JUMPI
00000210: DUP1
00000211: PUSH4 0x18160ddd
00000216: EQ
00000217: PUSH2 0x026c
0000021a: JUMPI
0000021b: DUP1
0000021c: PUSH4 0x18f9f30f
00000221: EQ
00000222: PUSH2 0x027e
00000225: JUMPI
00000226: JUMPDEST
00000227: PUSH1 0x00
00000229: DUP1
0000022a: REVERT
0000022b: JUMPDEST
0000022c: PUSH2 0x0233
0000022f: PUSH2 0x07ce
00000232: JUMP
00000233: JUMPDEST
00000234: PUSH1 0x40
00000236: MLOAD
00000237: PUSH2 0x0240
0000023a: SWAP2
0000023b: SWAP1
0000023c: PUSH2 0x356d
0000023f: JUMP
00000240: JUMPDEST
00000241: PUSH1 0x40
00000243: MLOAD
00000244: DUP1
00000245: SWAP2
00000246: SUB
00000247: SWAP1
00000248: RETURN
00000249: JUMPDEST
0000024a: PUSH2 0x025c
0000024d: PUSH2 0x0257
00000250: CALLDATASIZE
00000251: PUSH1 0x04
00000253: PUSH2 0x3595
00000256: JUMP
00000257: JUMPDEST
00000258: PUSH2 0x0860
0000025b: JUMP
0000025c: JUMPDEST
0000025d: PUSH1 0x40
0000025f: MLOAD
00000260: SWAP1
00000261: ISZERO
00000262: ISZERO
00000263: DUP2
00000264: MSTORE
00000265: PUSH1 0x20
00000267: ADD
00000268: PUSH2 0x0240
0000026b: JUMP
0000026c: JUMPDEST
0000026d: PUSH1 0x02
0000026f: SLOAD
00000270: JUMPDEST
00000271: PUSH1 0x40
00000273: MLOAD
00000274: SWAP1
00000275: DUP2
00000276: MSTORE
00000277: PUSH1 0x20
00000279: ADD
0000027a: PUSH2 0x0240
0000027d: JUMP
0000027e: JUMPDEST
0000027f: PUSH2 0x0291
00000282: PUSH2 0x028c
00000285: CALLDATASIZE
00000286: PUSH1 0x04
00000288: PUSH2 0x3713
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH2 0x087a
00000290: JUMP
00000291: JUMPDEST
00000292: PUSH1 0x40
00000294: MLOAD
00000295: PUSH2 0x0240
00000298: SWAP3
00000299: SWAP2
0000029a: SWAP1
0000029b: PUSH2 0x379b
0000029e: JUMP
0000029f: JUMPDEST
000002a0: PUSH2 0x025c
000002a3: PUSH2 0x02ad
000002a6: CALLDATASIZE
000002a7: PUSH1 0x04
000002a9: PUSH2 0x38c6
000002ac: JUMP
000002ad: JUMPDEST
000002ae: PUSH2 0x0d0e
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH2 0x02c5
000002b6: PUSH2 0x02c0
000002b9: CALLDATASIZE
000002ba: PUSH1 0x04
000002bc: PUSH2 0x3928
000002bf: JUMP
000002c0: JUMPDEST
000002c1: PUSH2 0x0d92
000002c4: JUMP
000002c5: JUMPDEST
000002c6: STOP
000002c7: JUMPDEST
000002c8: PUSH1 0x0e
000002ca: SLOAD
000002cb: PUSH1 0x0f
000002cd: SLOAD
000002ce: PUSH1 0x10
000002d0: SLOAD
000002d1: PUSH1 0x40
000002d3: DUP1
000002d4: MLOAD
000002d5: PUSH1 0xa0
000002d7: DUP2
000002d8: ADD
000002d9: DUP3
000002da: MSTORE
000002db: PUSH1 0x11
000002dd: SLOAD
000002de: PUSH8 0xffffffffffffffff
000002e7: DUP2
000002e8: AND
000002e9: DUP3
000002ea: MSTORE
000002eb: PUSH1 0x01
000002ed: PUSH1 0x40
000002ef: SHL
000002f0: DUP2
000002f1: DIV
000002f2: PUSH1 0x01
000002f4: PUSH1 0x01
000002f6: PUSH1 0xa0
000002f8: SHL
000002f9: SUB
000002fa: SWAP1
000002fb: DUP2
000002fc: AND
000002fd: PUSH1 0x20
000002ff: DUP5
00000300: ADD
00000301: MSTORE
00000302: PUSH1 0xff
00000304: PUSH1 0x01
00000306: PUSH1 0xe0
00000308: SHL
00000309: DUP4
0000030a: DIV
0000030b: DUP2
0000030c: AND
0000030d: ISZERO
0000030e: ISZERO
0000030f: SWAP5
00000310: DUP5
00000311: ADD
00000312: SWAP5
00000313: SWAP1
00000314: SWAP5
00000315: MSTORE
00000316: PUSH1 0x01
00000318: PUSH1 0xe8
0000031a: SHL
0000031b: SWAP1
0000031c: SWAP2
0000031d: DIV
0000031e: SWAP1
0000031f: SWAP3
00000320: AND
00000321: ISZERO
00000322: ISZERO
00000323: PUSH1 0x60
00000325: DUP3
00000326: ADD
00000327: MSTORE
00000328: PUSH1 0x12
0000032a: SLOAD
0000032b: DUP3
0000032c: AND
0000032d: PUSH1 0x80
0000032f: DUP3
00000330: ADD
00000331: MSTORE
00000332: PUSH2 0x036e
00000335: SWAP5
00000336: DUP3
00000337: DUP2
00000338: AND
00000339: SWAP5
0000033a: PUSH6 0xffffffffffff
00000341: PUSH1 0x01
00000343: PUSH1 0xa0
00000345: SHL
00000346: SWAP3
00000347: DUP4
00000348: SWAP1
00000349: DIV
0000034a: DUP2
0000034b: AND
0000034c: SWAP6
0000034d: SWAP5
0000034e: DUP3
0000034f: AND
00000350: SWAP5
00000351: SWAP3
00000352: SWAP1
00000353: SWAP2
00000354: DIV
00000355: AND
00000356: SWAP2
00000357: PUSH1 0x01
00000359: PUSH1 0x01
0000035b: PUSH1 0x80
0000035d: SHL
0000035e: SUB
0000035f: DUP1
00000360: DUP4
00000361: AND
00000362: SWAP3
00000363: PUSH1 0x01
00000365: PUSH1 0x80
00000367: SHL
00000368: SWAP1
00000369: DIV
0000036a: AND
0000036b: SWAP1
0000036c: DUP8
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH1 0x40
00000371: DUP1
00000372: MLOAD
00000373: PUSH1 0x01
00000375: PUSH1 0x01
00000377: PUSH1 0xa0
00000379: SHL
0000037a: SUB
0000037b: SWAP9
0000037c: DUP10
0000037d: AND
0000037e: DUP2
0000037f: MSTORE
00000380: PUSH6 0xffffffffffff
00000387: SWAP8
00000388: DUP9
00000389: AND
0000038a: PUSH1 0x20
0000038c: DUP1
0000038d: DUP4
0000038e: ADD
0000038f: SWAP2
00000390: SWAP1
00000391: SWAP2
00000392: MSTORE
00000393: SWAP7
00000394: DUP10
00000395: AND
00000396: DUP2
00000397: DUP4
00000398: ADD
00000399: MSTORE
0000039a: SWAP7
0000039b: SWAP1
0000039c: SWAP5
0000039d: AND
0000039e: PUSH1 0x60
000003a0: DUP1
000003a1: DUP9
000003a2: ADD
000003a3: SWAP2
000003a4: SWAP1
000003a5: SWAP2
000003a6: MSTORE
000003a7: PUSH1 0x01
000003a9: PUSH1 0x01
000003ab: PUSH1 0x80
000003ad: SHL
000003ae: SUB
000003af: SWAP4
000003b0: DUP5
000003b1: AND
000003b2: PUSH1 0x80
000003b4: DUP1
000003b5: DUP10
000003b6: ADD
000003b7: SWAP2
000003b8: SWAP1
000003b9: SWAP2
000003ba: MSTORE
000003bb: SWAP4
000003bc: SWAP1
000003bd: SWAP3
000003be: AND
000003bf: PUSH1 0xa0
000003c1: DUP8
000003c2: ADD
000003c3: MSTORE
000003c4: DUP1
000003c5: MLOAD
000003c6: PUSH8 0xffffffffffffffff
000003cf: AND
000003d0: PUSH1 0xc0
000003d2: DUP8
000003d3: ADD
000003d4: MSTORE
000003d5: SWAP4
000003d6: DUP5
000003d7: ADD
000003d8: MLOAD
000003d9: DUP7
000003da: AND
000003db: PUSH1 0xe0
000003dd: DUP7
000003de: ADD
000003df: MSTORE
000003e0: SWAP2
000003e1: DUP4
000003e2: ADD
000003e3: MLOAD
000003e4: ISZERO
000003e5: ISZERO
000003e6: PUSH2 0x0100
000003e9: DUP6
000003ea: ADD
000003eb: MSTORE
000003ec: SWAP1
000003ed: DUP3
000003ee: ADD
000003ef: MLOAD
000003f0: ISZERO
000003f1: ISZERO
000003f2: PUSH2 0x0120
000003f5: DUP5
000003f6: ADD
000003f7: MSTORE
000003f8: ADD
000003f9: MLOAD
000003fa: SWAP1
000003fb: SWAP2
000003fc: AND
000003fd: PUSH2 0x0140
00000400: DUP3
00000401: ADD
00000402: MSTORE
00000403: PUSH2 0x0160
00000406: ADD
00000407: PUSH2 0x0240
0000040a: JUMP
0000040b: JUMPDEST
0000040c: PUSH1 0x05
0000040e: SLOAD
0000040f: PUSH2 0x0100
00000412: SWAP1
00000413: DIV
00000414: PUSH1 0xff
00000416: AND
00000417: PUSH1 0x40
00000419: MLOAD
0000041a: PUSH1 0xff
0000041c: SWAP1
0000041d: SWAP2
0000041e: AND
0000041f: DUP2
00000420: MSTORE
00000421: PUSH1 0x20
00000423: ADD
00000424: PUSH2 0x0240
00000427: JUMP
00000428: JUMPDEST
00000429: PUSH2 0x043b
0000042c: PUSH2 0x0436
0000042f: CALLDATASIZE
00000430: PUSH1 0x04
00000432: PUSH2 0x39bb
00000435: JUMP
00000436: JUMPDEST
00000437: PUSH2 0x1367
0000043a: JUMP
0000043b: JUMPDEST
0000043c: PUSH1 0x40
0000043e: DUP1
0000043f: MLOAD
00000440: PUSH1 0x01
00000442: PUSH1 0x01
00000444: PUSH1 0xa0
00000446: SHL
00000447: SUB
00000448: SWAP1
00000449: SWAP5
0000044a: AND
0000044b: DUP5
0000044c: MSTORE
0000044d: PUSH1 0x20
0000044f: DUP5
00000450: ADD
00000451: SWAP3
00000452: SWAP1
00000453: SWAP3
00000454: MSTORE
00000455: SWAP1
00000456: DUP3
00000457: ADD
00000458: MSTORE
00000459: PUSH1 0x60
0000045b: ADD
0000045c: PUSH2 0x0240
0000045f: JUMP
00000460: JUMPDEST
00000461: PUSH2 0x0468
00000464: PUSH2 0x1726
00000467: JUMP
00000468: JUMPDEST
00000469: PUSH1 0x40
0000046b: MLOAD
0000046c: PUSH1 0x01
0000046e: PUSH1 0x01
00000470: PUSH1 0xa0
00000472: SHL
00000473: SUB
00000474: SWAP1
00000475: SWAP2
00000476: AND
00000477: DUP2
00000478: MSTORE
00000479: PUSH1 0x20
0000047b: ADD
0000047c: PUSH2 0x0240
0000047f: JUMP
00000480: JUMPDEST
00000481: PUSH1 0x08
00000483: SLOAD
00000484: PUSH2 0x049a
00000487: SWAP1
00000488: PUSH1 0x01
0000048a: PUSH1 0x80
0000048c: SHL
0000048d: SWAP1
0000048e: DIV
0000048f: PUSH1 0x01
00000491: PUSH1 0x01
00000493: PUSH1 0x80
00000495: SHL
00000496: SUB
00000497: AND
00000498: DUP2
00000499: JUMP
0000049a: JUMPDEST
0000049b: PUSH1 0x40
0000049d: MLOAD
0000049e: PUSH1 0x01
000004a0: PUSH1 0x01
000004a2: PUSH1 0x80
000004a4: SHL
000004a5: SUB
000004a6: SWAP1
000004a7: SWAP2
000004a8: AND
000004a9: DUP2
000004aa: MSTORE
000004ab: PUSH1 0x20
000004ad: ADD
000004ae: PUSH2 0x0240
000004b1: JUMP
000004b2: JUMPDEST
000004b3: PUSH2 0x02c5
000004b6: PUSH2 0x04c0
000004b9: CALLDATASIZE
000004ba: PUSH1 0x04
000004bc: PUSH2 0x3a3a
000004bf: JUMP
000004c0: JUMPDEST
000004c1: PUSH2 0x1776
000004c4: JUMP
000004c5: JUMPDEST
000004c6: PUSH2 0x02c5
000004c9: PUSH2 0x04d3
000004cc: CALLDATASIZE
000004cd: PUSH1 0x04
000004cf: PUSH2 0x3a6a
000004d2: JUMP
000004d3: JUMPDEST
000004d4: PUSH2 0x18af
000004d7: JUMP
000004d8: JUMPDEST
000004d9: PUSH1 0x13
000004db: SLOAD
000004dc: PUSH1 0x14
000004de: SLOAD
000004df: PUSH1 0x15
000004e1: SLOAD
000004e2: PUSH2 0x0553
000004e5: SWAP3
000004e6: PUSH1 0x01
000004e8: PUSH1 0x01
000004ea: PUSH1 0x80
000004ec: SHL
000004ed: SUB
000004ee: DUP1
000004ef: DUP3
000004f0: AND
000004f1: SWAP4
000004f2: PUSH6 0xffffffffffff
000004f9: PUSH1 0x01
000004fb: PUSH1 0x80
000004fd: SHL
000004fe: DUP1
000004ff: DUP6
00000500: DIV
00000501: DUP3
00000502: AND
00000503: SWAP6
00000504: PUSH1 0x01
00000506: PUSH1 0xb0
00000508: SHL
00000509: DUP7
0000050a: DIV
0000050b: SWAP1
0000050c: SWAP3
0000050d: AND
0000050e: SWAP5
0000050f: PUSH4 0xffffffff
00000514: PUSH1 0x01
00000516: PUSH1 0xe0
00000518: SHL
00000519: SWAP1
0000051a: SWAP2
0000051b: DIV
0000051c: DUP2
0000051d: AND
0000051e: SWAP5
0000051f: SWAP1
00000520: DUP5
00000521: AND
00000522: SWAP4
00000523: PUSH8 0xffffffffffffffff
0000052c: PUSH5 0x0100000000
00000532: DUP3
00000533: DIV
00000534: DUP2
00000535: AND
00000536: SWAP5
00000537: PUSH13 0x01000000000000000000000000
00000545: SWAP1
00000546: SWAP3
00000547: DIV
00000548: AND
00000549: SWAP3
0000054a: DUP2
0000054b: DUP4
0000054c: AND
0000054d: SWAP3
0000054e: SWAP2
0000054f: DIV
00000550: AND
00000551: DUP10
00000552: JUMP
00000553: JUMPDEST
00000554: PUSH1 0x40
00000556: DUP1
00000557: MLOAD
00000558: PUSH1 0x01
0000055a: PUSH1 0x01
0000055c: PUSH1 0x80
0000055e: SHL
0000055f: SUB
00000560: SWAP11
00000561: DUP12
00000562: AND
00000563: DUP2
00000564: MSTORE
00000565: PUSH6 0xffffffffffff
0000056c: SWAP10
0000056d: DUP11
0000056e: AND
0000056f: PUSH1 0x20
00000571: DUP3
00000572: ADD
00000573: MSTORE
00000574: SWAP9
00000575: SWAP1
00000576: SWAP8
00000577: AND
00000578: SWAP7
00000579: DUP9
0000057a: ADD
0000057b: SWAP7
0000057c: SWAP1
0000057d: SWAP7
0000057e: MSTORE
0000057f: PUSH4 0xffffffff
00000584: SWAP5
00000585: DUP6
00000586: AND
00000587: PUSH1 0x60
00000589: DUP9
0000058a: ADD
0000058b: MSTORE
0000058c: SWAP4
0000058d: SWAP1
0000058e: SWAP3
0000058f: AND
00000590: PUSH1 0x80
00000592: DUP7
00000593: ADD
00000594: MSTORE
00000595: PUSH8 0xffffffffffffffff
0000059e: SWAP1
0000059f: DUP2
000005a0: AND
000005a1: PUSH1 0xa0
000005a3: DUP7
000005a4: ADD
000005a5: MSTORE
000005a6: AND
000005a7: PUSH1 0xc0
000005a9: DUP5
000005aa: ADD
000005ab: MSTORE
000005ac: DUP4
000005ad: AND
000005ae: PUSH1 0xe0
000005b0: DUP4
000005b1: ADD
000005b2: MSTORE
000005b3: SWAP2
000005b4: SWAP1
000005b5: SWAP2
000005b6: AND
000005b7: PUSH2 0x0100
000005ba: DUP3
000005bb: ADD
000005bc: MSTORE
000005bd: PUSH2 0x0120
000005c0: ADD
000005c1: PUSH2 0x0240
000005c4: JUMP
000005c5: JUMPDEST
000005c6: PUSH1 0x08
000005c8: SLOAD
000005c9: PUSH2 0x049a
000005cc: SWAP1
000005cd: PUSH1 0x01
000005cf: PUSH1 0x01
000005d1: PUSH1 0x80
000005d3: SHL
000005d4: SUB
000005d5: AND
000005d6: DUP2
000005d7: JUMP
000005d8: JUMPDEST
000005d9: PUSH2 0x02c5
000005dc: PUSH2 0x05e6
000005df: CALLDATASIZE
000005e0: PUSH1 0x04
000005e2: PUSH2 0x3b00
000005e5: JUMP
000005e6: JUMPDEST
000005e7: PUSH2 0x19f5
000005ea: JUMP
000005eb: JUMPDEST
000005ec: PUSH2 0x043b
000005ef: PUSH2 0x05f9
000005f2: CALLDATASIZE
000005f3: PUSH1 0x04
000005f5: PUSH2 0x3b32
000005f8: JUMP
000005f9: JUMPDEST
000005fa: PUSH2 0x1b1b
000005fd: JUMP
000005fe: JUMPDEST
000005ff: PUSH2 0x0270
00000602: PUSH2 0x060c
00000605: CALLDATASIZE
00000606: PUSH1 0x04
00000608: PUSH2 0x3b00
0000060b: JUMP
0000060c: JUMPDEST
0000060d: PUSH1 0x01
0000060f: PUSH1 0x01
00000611: PUSH1 0xa0
00000613: SHL
00000614: SUB
00000615: AND
00000616: PUSH1 0x00
00000618: SWAP1
00000619: DUP2
0000061a: MSTORE
0000061b: PUSH1 0x20
0000061d: DUP2
0000061e: SWAP1
0000061f: MSTORE
00000620: PUSH1 0x40
00000622: SWAP1
00000623: KECCAK256
00000624: SLOAD
00000625: SWAP1
00000626: JUMP
00000627: JUMPDEST
00000628: PUSH1 0x0a
0000062a: SLOAD
0000062b: PUSH2 0x0468
0000062e: SWAP1
0000062f: PUSH1 0x01
00000631: PUSH1 0x01
00000633: PUSH1 0xa0
00000635: SHL
00000636: SUB
00000637: AND
00000638: DUP2
00000639: JUMP
0000063a: JUMPDEST
0000063b: PUSH2 0x064d
0000063e: PUSH2 0x0648
00000641: CALLDATASIZE
00000642: PUSH1 0x04
00000644: PUSH2 0x3b32
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH2 0x1e20
0000064c: JUMP
0000064d: JUMPDEST
0000064e: PUSH1 0x40
00000650: DUP1
00000651: MLOAD
00000652: PUSH1 0x01
00000654: PUSH1 0x01
00000656: PUSH1 0xa0
00000658: SHL
00000659: SUB
0000065a: SWAP1
0000065b: SWAP4
0000065c: AND
0000065d: DUP4
0000065e: MSTORE
0000065f: PUSH1 0x20
00000661: DUP4
00000662: ADD
00000663: SWAP2
00000664: SWAP1
00000665: SWAP2
00000666: MSTORE
00000667: ADD
00000668: PUSH2 0x0240
0000066b: JUMP
0000066c: JUMPDEST
0000066d: PUSH2 0x02c5
00000670: PUSH2 0x067a
00000673: CALLDATASIZE
00000674: PUSH1 0x04
00000676: PUSH2 0x3b00
00000679: JUMP
0000067a: JUMPDEST
0000067b: PUSH2 0x2082
0000067e: JUMP
0000067f: JUMPDEST
00000680: PUSH2 0x0233
00000683: PUSH2 0x2175
00000686: JUMP
00000687: JUMPDEST
00000688: PUSH2 0x0291
0000068b: PUSH2 0x0695
0000068e: CALLDATASIZE
0000068f: PUSH1 0x04
00000691: PUSH2 0x3b7d
00000694: JUMP
00000695: JUMPDEST
00000696: PUSH2 0x2184
00000699: JUMP
0000069a: JUMPDEST
0000069b: PUSH2 0x025c
0000069e: PUSH2 0x06a8
000006a1: CALLDATASIZE
000006a2: PUSH1 0x04
000006a4: PUSH2 0x3595
000006a7: JUMP
000006a8: JUMPDEST
000006a9: PUSH2 0x230d
000006ac: JUMP
000006ad: JUMPDEST
000006ae: PUSH2 0x0270
000006b1: PUSH2 0x06bb
000006b4: CALLDATASIZE
000006b5: PUSH1 0x04
000006b7: PUSH2 0x3b00
000006ba: JUMP
000006bb: JUMPDEST
000006bc: PUSH1 0x0d
000006be: PUSH1 0x20
000006c0: MSTORE
000006c1: PUSH1 0x00
000006c3: SWAP1
000006c4: DUP2
000006c5: MSTORE
000006c6: PUSH1 0x40
000006c8: SWAP1
000006c9: KECCAK256
000006ca: SLOAD
000006cb: DUP2
000006cc: JUMP
000006cd: JUMPDEST
000006ce: PUSH1 0x0c
000006d0: SLOAD
000006d1: PUSH2 0x025c
000006d4: SWAP1
000006d5: PUSH1 0xff
000006d7: AND
000006d8: DUP2
000006d9: JUMP
000006da: JUMPDEST
000006db: PUSH2 0x02c5
000006de: PUSH2 0x06e8
000006e1: CALLDATASIZE
000006e2: PUSH1 0x04
000006e4: PUSH2 0x38c6
000006e7: JUMP
000006e8: JUMPDEST
000006e9: PUSH2 0x238d
000006ec: JUMP
000006ed: JUMPDEST
000006ee: PUSH1 0x0b
000006f0: SLOAD
000006f1: PUSH2 0x070c
000006f4: SWAP1
000006f5: PUSH1 0x01
000006f7: PUSH1 0xa0
000006f9: SHL
000006fa: SWAP1
000006fb: DIV
000006fc: PUSH12 0xffffffffffffffffffffffff
00000709: AND
0000070a: DUP2
0000070b: JUMP
0000070c: JUMPDEST
0000070d: PUSH1 0x40
0000070f: MLOAD
00000710: PUSH12 0xffffffffffffffffffffffff
0000071d: SWAP1
0000071e: SWAP2
0000071f: AND
00000720: DUP2
00000721: MSTORE
00000722: PUSH1 0x20
00000724: ADD
00000725: PUSH2 0x0240
00000728: JUMP
00000729: JUMPDEST
0000072a: PUSH2 0x02c5
0000072d: PUSH2 0x0737
00000730: CALLDATASIZE
00000731: PUSH1 0x04
00000733: PUSH2 0x3be0
00000736: JUMP
00000737: JUMPDEST
00000738: PUSH2 0x24c1
0000073b: JUMP
0000073c: JUMPDEST
0000073d: PUSH2 0x0270
00000740: PUSH2 0x074a
00000743: CALLDATASIZE
00000744: PUSH1 0x04
00000746: PUSH2 0x3c7d
00000749: JUMP
0000074a: JUMPDEST
0000074b: PUSH1 0x01
0000074d: PUSH1 0x01
0000074f: PUSH1 0xa0
00000751: SHL
00000752: SUB
00000753: SWAP2
00000754: DUP3
00000755: AND
00000756: PUSH1 0x00
00000758: SWAP1
00000759: DUP2
0000075a: MSTORE
0000075b: PUSH1 0x01
0000075d: PUSH1 0x20
0000075f: SWAP1
00000760: DUP2
00000761: MSTORE
00000762: PUSH1 0x40
00000764: DUP1
00000765: DUP4
00000766: KECCAK256
00000767: SWAP4
00000768: SWAP1
00000769: SWAP5
0000076a: AND
0000076b: DUP3
0000076c: MSTORE
0000076d: SWAP2
0000076e: SWAP1
0000076f: SWAP2
00000770: MSTORE
00000771: KECCAK256
00000772: SLOAD
00000773: SWAP1
00000774: JUMP
00000775: JUMPDEST
00000776: PUSH2 0x077d
00000779: PUSH2 0x26e7
0000077c: JUMP
0000077d: JUMPDEST
0000077e: PUSH1 0x40
00000780: MLOAD
00000781: PUSH8 0xffffffffffffffff
0000078a: SWAP1
0000078b: SWAP2
0000078c: AND
0000078d: DUP2
0000078e: MSTORE
0000078f: PUSH1 0x20
00000791: ADD
00000792: PUSH2 0x0240
00000795: JUMP
00000796: JUMPDEST
00000797: PUSH1 0x0c
00000799: SLOAD
0000079a: PUSH2 0x025c
0000079d: SWAP1
0000079e: PUSH2 0x0100
000007a1: SWAP1
000007a2: DIV
000007a3: PUSH1 0xff
000007a5: AND
000007a6: DUP2
000007a7: JUMP
000007a8: JUMPDEST
000007a9: PUSH2 0x02c5
000007ac: PUSH2 0x07b6
000007af: CALLDATASIZE
000007b0: PUSH1 0x04
000007b2: PUSH2 0x3b00
000007b5: JUMP
000007b6: JUMPDEST
000007b7: PUSH2 0x27bc
000007ba: JUMP
000007bb: JUMPDEST
000007bc: PUSH1 0x09
000007be: SLOAD
000007bf: PUSH2 0x0468
000007c2: SWAP1
000007c3: PUSH1 0x01
000007c5: PUSH1 0x01
000007c7: PUSH1 0xa0
000007c9: SHL
000007ca: SUB
000007cb: AND
000007cc: DUP2
000007cd: JUMP
000007ce: JUMPDEST
000007cf: PUSH1 0x60
000007d1: PUSH1 0x06
000007d3: DUP1
000007d4: SLOAD
000007d5: PUSH2 0x07dd
000007d8: SWAP1
000007d9: PUSH2 0x3cab
000007dc: JUMP
000007dd: JUMPDEST
000007de: DUP1
000007df: PUSH1 0x1f
000007e1: ADD
000007e2: PUSH1 0x20
000007e4: DUP1
000007e5: SWAP2
000007e6: DIV
000007e7: MUL
000007e8: PUSH1 0x20
000007ea: ADD
000007eb: PUSH1 0x40
000007ed: MLOAD
000007ee: SWAP1
000007ef: DUP2
000007f0: ADD
000007f1: PUSH1 0x40
000007f3: MSTORE
000007f4: DUP1
000007f5: SWAP3
000007f6: SWAP2
000007f7: SWAP1
000007f8: DUP2
000007f9: DUP2
000007fa: MSTORE
000007fb: PUSH1 0x20
000007fd: ADD
000007fe: DUP3
000007ff: DUP1
00000800: SLOAD
00000801: PUSH2 0x0809
00000804: SWAP1
00000805: PUSH2 0x3cab
00000808: JUMP
00000809: JUMPDEST
0000080a: DUP1
0000080b: ISZERO
0000080c: PUSH2 0x0856
0000080f: JUMPI
00000810: DUP1
00000811: PUSH1 0x1f
00000813: LT
00000814: PUSH2 0x082b
00000817: JUMPI
00000818: PUSH2 0x0100
0000081b: DUP1
0000081c: DUP4
0000081d: SLOAD
0000081e: DIV
0000081f: MUL
00000820: DUP4
00000821: MSTORE
00000822: SWAP2
00000823: PUSH1 0x20
00000825: ADD
00000826: SWAP2
00000827: PUSH2 0x0856
0000082a: JUMP
0000082b: JUMPDEST
0000082c: DUP3
0000082d: ADD
0000082e: SWAP2
0000082f: SWAP1
00000830: PUSH1 0x00
00000832: MSTORE
00000833: PUSH1 0x20
00000835: PUSH1 0x00
00000837: KECCAK256
00000838: SWAP1
00000839: JUMPDEST
0000083a: DUP2
0000083b: SLOAD
0000083c: DUP2
0000083d: MSTORE
0000083e: SWAP1
0000083f: PUSH1 0x01
00000841: ADD
00000842: SWAP1
00000843: PUSH1 0x20
00000845: ADD
00000846: DUP1
00000847: DUP4
00000848: GT
00000849: PUSH2 0x0839
0000084c: JUMPI
0000084d: DUP3
0000084e: SWAP1
0000084f: SUB
00000850: PUSH1 0x1f
00000852: AND
00000853: DUP3
00000854: ADD
00000855: SWAP2
00000856: JUMPDEST
00000857: POP
00000858: POP
00000859: POP
0000085a: POP
0000085b: POP
0000085c: SWAP1
0000085d: POP
0000085e: SWAP1
0000085f: JUMP
00000860: JUMPDEST
00000861: PUSH1 0x00
00000863: CALLER
00000864: PUSH2 0x086e
00000867: DUP2
00000868: DUP6
00000869: DUP6
0000086a: PUSH2 0x2913
0000086d: JUMP
0000086e: JUMPDEST
0000086f: PUSH1 0x01
00000871: SWAP2
00000872: POP
00000873: POP
00000874: JUMPDEST
00000875: SWAP3
00000876: SWAP2
00000877: POP
00000878: POP
00000879: JUMP
0000087a: JUMPDEST
0000087b: PUSH1 0x40
0000087d: DUP1
0000087e: MLOAD
0000087f: PUSH2 0x0180
00000882: DUP2
00000883: ADD
00000884: DUP3
00000885: MSTORE
00000886: PUSH1 0x00
00000888: DUP1
00000889: DUP3
0000088a: MSTORE
0000088b: PUSH1 0x20
0000088d: DUP3
0000088e: ADD
0000088f: DUP2
00000890: SWAP1
00000891: MSTORE
00000892: SWAP2
00000893: DUP2
00000894: ADD
00000895: DUP3
00000896: SWAP1
00000897: MSTORE
00000898: PUSH1 0x60
0000089a: DUP2
0000089b: ADD
0000089c: DUP3
0000089d: SWAP1
0000089e: MSTORE
0000089f: PUSH1 0x80
000008a1: DUP2
000008a2: ADD
000008a3: DUP3
000008a4: SWAP1
000008a5: MSTORE
000008a6: PUSH1 0xa0
000008a8: DUP2
000008a9: ADD
000008aa: DUP3
000008ab: SWAP1
000008ac: MSTORE
000008ad: PUSH1 0xc0
000008af: DUP2
000008b0: ADD
000008b1: DUP3
000008b2: SWAP1
000008b3: MSTORE
000008b4: PUSH1 0xe0
000008b6: DUP2
000008b7: ADD
000008b8: DUP3
000008b9: SWAP1
000008ba: MSTORE
000008bb: PUSH2 0x0100
000008be: DUP2
000008bf: ADD
000008c0: DUP3
000008c1: SWAP1
000008c2: MSTORE
000008c3: PUSH2 0x0120
000008c6: DUP2
000008c7: ADD
000008c8: DUP3
000008c9: SWAP1
000008ca: MSTORE
000008cb: PUSH2 0x0140
000008ce: DUP2
000008cf: ADD
000008d0: DUP3
000008d1: SWAP1
000008d2: MSTORE
000008d3: PUSH2 0x0160
000008d6: DUP2
000008d7: ADD
000008d8: DUP3
000008d9: SWAP1
000008da: MSTORE
000008db: SWAP1
000008dc: DUP1
000008dd: PUSH2 0x08e4
000008e0: PUSH2 0x26e7
000008e3: JUMP
000008e4: JUMPDEST
000008e5: PUSH1 0x0b
000008e7: SLOAD
000008e8: PUSH1 0x0c
000008ea: SLOAD
000008eb: PUSH1 0x01
000008ed: PUSH1 0x01
000008ef: PUSH1 0xa0
000008f1: SHL
000008f2: SUB
000008f3: SWAP1
000008f4: SWAP2
000008f5: AND
000008f6: SWAP4
000008f7: POP
000008f8: SWAP1
000008f9: SWAP2
000008fa: POP
000008fb: PUSH2 0x0100
000008fe: SWAP1
000008ff: DIV
00000900: PUSH1 0xff
00000902: AND
00000903: ISZERO
00000904: PUSH2 0x0919
00000907: JUMPI
00000908: PUSH2 0x0911
0000090b: PUSH1 0x03
0000090d: PUSH2 0x2925
00000910: JUMP
00000911: JUMPDEST
00000912: SWAP3
00000913: POP
00000914: POP
00000915: PUSH2 0x0d06
00000918: JUMP
00000919: JUMPDEST
0000091a: DUP1
0000091b: PUSH8 0xffffffffffffffff
00000924: AND
00000925: DUP7
00000926: LT
00000927: ISZERO
00000928: PUSH2 0x0935
0000092b: JUMPI
0000092c: PUSH2 0x0911
0000092f: PUSH1 0x04
00000931: PUSH2 0x2925
00000934: JUMP
00000935: JUMPDEST
00000936: PUSH1 0x0e
00000938: SLOAD
00000939: PUSH1 0x0f
0000093b: SLOAD
0000093c: PUSH1 0x11
0000093e: SLOAD
0000093f: PUSH1 0x40
00000941: MLOAD
00000942: PUSH4 0x517382cf
00000947: PUSH1 0xe1
00000949: SHL
0000094a: DUP2
0000094b: MSTORE
0000094c: PUSH1 0x01
0000094e: PUSH1 0x01
00000950: PUSH1 0xa0
00000952: SHL
00000953: SUB
00000954: SWAP4
00000955: DUP5
00000956: AND
00000957: SWAP4
00000958: SWAP3
00000959: DUP4
0000095a: AND
0000095b: SWAP3
0000095c: PUSH1 0x00
0000095e: SWAP3
0000095f: PUSH1 0x01
00000961: PUSH1 0x40
00000963: SHL
00000964: SWAP1
00000965: DIV
00000966: AND
00000967: SWAP1
00000968: PUSH4 0xa2e7059e
0000096d: SWAP1
0000096e: PUSH2 0x097f
00000971: SWAP1
00000972: DUP7
00000973: SWAP1
00000974: DUP7
00000975: SWAP1
00000976: DUP13
00000977: SWAP1
00000978: PUSH1 0x04
0000097a: ADD
0000097b: PUSH2 0x3ce5
0000097e: JUMP
0000097f: JUMPDEST
00000980: PUSH1 0x20
00000982: PUSH1 0x40
00000984: MLOAD
00000985: DUP1
00000986: DUP4
00000987: SUB
00000988: DUP2
00000989: DUP7
0000098a: GAS
0000098b: STATICCALL
0000098c: ISZERO
0000098d: DUP1
0000098e: ISZERO
0000098f: PUSH2 0x099c
00000992: JUMPI
00000993: RETURNDATASIZE
00000994: PUSH1 0x00
00000996: DUP1
00000997: RETURNDATACOPY
00000998: RETURNDATASIZE
00000999: PUSH1 0x00
0000099b: REVERT
0000099c: JUMPDEST
0000099d: POP
0000099e: POP
0000099f: POP
000009a0: POP
000009a1: PUSH1 0x40
000009a3: MLOAD
000009a4: RETURNDATASIZE
000009a5: PUSH1 0x1f
000009a7: NOT
000009a8: PUSH1 0x1f
000009aa: DUP3
000009ab: ADD
000009ac: AND
000009ad: DUP3
000009ae: ADD
000009af: DUP1
000009b0: PUSH1 0x40
000009b2: MSTORE
000009b3: POP
000009b4: DUP2
000009b5: ADD
000009b6: SWAP1
000009b7: PUSH2 0x09c0
000009ba: SWAP2
000009bb: SWAP1
000009bc: PUSH2 0x3d66
000009bf: JUMP
000009c0: JUMPDEST
000009c1: SWAP1
000009c2: POP
000009c3: DUP1
000009c4: DUP9
000009c5: LT
000009c6: ISZERO
000009c7: PUSH2 0x09df
000009ca: JUMPI
000009cb: PUSH2 0x09d4
000009ce: PUSH1 0x01
000009d0: PUSH2 0x2925
000009d3: JUMP
000009d4: JUMPDEST
000009d5: SWAP6
000009d6: POP
000009d7: POP
000009d8: POP
000009d9: POP
000009da: POP
000009db: PUSH2 0x0d06
000009de: JUMP
000009df: JUMPDEST
000009e0: PUSH1 0x15
000009e2: SLOAD
000009e3: PUSH1 0x01
000009e5: PUSH1 0x01
000009e7: PUSH1 0x80
000009e9: SHL
000009ea: SUB
000009eb: AND
000009ec: DUP2
000009ed: LT
000009ee: DUP1
000009ef: PUSH2 0x0a09
000009f2: JUMPI
000009f3: POP
000009f4: PUSH1 0x15
000009f6: SLOAD
000009f7: PUSH1 0x01
000009f9: PUSH1 0x80
000009fb: SHL
000009fc: SWAP1
000009fd: DIV
000009fe: PUSH1 0x01
00000a00: PUSH1 0x01
00000a02: PUSH1 0x80
00000a04: SHL
00000a05: SUB
00000a06: AND
00000a07: DUP2
00000a08: GT
00000a09: JUMPDEST
00000a0a: ISZERO
00000a0b: PUSH2 0x0a18
00000a0e: JUMPI
00000a0f: PUSH2 0x09d4
00000a12: PUSH1 0x02
00000a14: PUSH2 0x2925
00000a17: JUMP
00000a18: JUMPDEST
00000a19: PUSH1 0x0c
00000a1b: SLOAD
00000a1c: PUSH3 0x010000
00000a20: SWAP1
00000a21: DIV
00000a22: PUSH1 0xff
00000a24: AND
00000a25: ISZERO
00000a26: PUSH2 0x0a33
00000a29: JUMPI
00000a2a: PUSH2 0x09d4
00000a2d: PUSH1 0x05
00000a2f: PUSH2 0x2925
00000a32: JUMP
00000a33: JUMPDEST
00000a34: PUSH1 0x11
00000a36: SLOAD
00000a37: PUSH1 0x10
00000a39: SLOAD
00000a3a: PUSH1 0x01
00000a3c: PUSH1 0xe0
00000a3e: SHL
00000a3f: SWAP1
00000a40: SWAP2
00000a41: DIV
00000a42: PUSH1 0xff
00000a44: AND
00000a45: SWAP1
00000a46: PUSH1 0x01
00000a48: PUSH1 0x01
00000a4a: PUSH1 0x80
00000a4c: SHL
00000a4d: SUB
00000a4e: AND
00000a4f: PUSH1 0x00
00000a51: PUSH2 0x0b23
00000a54: DUP4
00000a55: PUSH2 0x0b06
00000a58: JUMPI
00000a59: DUP7
00000a5a: PUSH1 0x01
00000a5c: PUSH1 0x01
00000a5e: PUSH1 0xa0
00000a60: SHL
00000a61: SUB
00000a62: AND
00000a63: PUSH4 0x313ce567
00000a68: PUSH1 0x40
00000a6a: MLOAD
00000a6b: DUP2
00000a6c: PUSH4 0xffffffff
00000a71: AND
00000a72: PUSH1 0xe0
00000a74: SHL
00000a75: DUP2
00000a76: MSTORE
00000a77: PUSH1 0x04
00000a79: ADD
00000a7a: PUSH1 0x20
00000a7c: PUSH1 0x40
00000a7e: MLOAD
00000a7f: DUP1
00000a80: DUP4
00000a81: SUB
00000a82: DUP2
00000a83: DUP7
00000a84: GAS
00000a85: STATICCALL
00000a86: ISZERO
00000a87: DUP1
00000a88: ISZERO
00000a89: PUSH2 0x0a96
00000a8c: JUMPI
00000a8d: RETURNDATASIZE
00000a8e: PUSH1 0x00
00000a90: DUP1
00000a91: RETURNDATACOPY
00000a92: RETURNDATASIZE
00000a93: PUSH1 0x00
00000a95: REVERT
00000a96: JUMPDEST
00000a97: POP
00000a98: POP
00000a99: POP
00000a9a: POP
00000a9b: PUSH1 0x40
00000a9d: MLOAD
00000a9e: RETURNDATASIZE
00000a9f: PUSH1 0x1f
00000aa1: NOT
00000aa2: PUSH1 0x1f
00000aa4: DUP3
00000aa5: ADD
00000aa6: AND
00000aa7: DUP3
00000aa8: ADD
00000aa9: DUP1
00000aaa: PUSH1 0x40
00000aac: MSTORE
00000aad: POP
00000aae: DUP2
00000aaf: ADD
00000ab0: SWAP1
00000ab1: PUSH2 0x0aba
00000ab4: SWAP2
00000ab5: SWAP1
00000ab6: PUSH2 0x3d7f
00000ab9: JUMP
00000aba: JUMPDEST
00000abb: PUSH2 0x0ac5
00000abe: SWAP1
00000abf: PUSH1 0x0a
00000ac1: PUSH2 0x3e9c
00000ac4: JUMP
00000ac5: JUMPDEST
00000ac6: PUSH8 0x0de0b6b3a7640000
00000acf: DUP7
00000ad0: PUSH2 0x0ae3
00000ad3: DUP7
00000ad4: PUSH8 0xffffffffffffffff
00000add: DUP14
00000ade: AND
00000adf: PUSH2 0x3eab
00000ae2: JUMP
00000ae3: JUMPDEST
00000ae4: PUSH2 0x0aed
00000ae7: SWAP2
00000ae8: SWAP1
00000ae9: PUSH2 0x3eab
00000aec: JUMP
00000aed: JUMPDEST
00000aee: PUSH2 0x0af7
00000af1: SWAP2
00000af2: SWAP1
00000af3: PUSH2 0x3ec2
00000af6: JUMP
00000af7: JUMPDEST
00000af8: PUSH2 0x0b01
00000afb: SWAP2
00000afc: SWAP1
00000afd: PUSH2 0x3ec2
00000b00: JUMP
00000b01: JUMPDEST
00000b02: PUSH2 0x29fe
00000b05: JUMP
00000b06: JUMPDEST
00000b07: PUSH8 0x0de0b6b3a7640000
00000b10: PUSH2 0x0af7
00000b13: DUP5
00000b14: PUSH8 0xffffffffffffffff
00000b1d: DUP12
00000b1e: AND
00000b1f: PUSH2 0x3eab
00000b22: JUMP
00000b23: JUMPDEST
00000b24: PUSH1 0x13
00000b26: SLOAD
00000b27: SWAP1
00000b28: SWAP2
00000b29: POP
00000b2a: PUSH1 0x00
00000b2c: SWAP1
00000b2d: PUSH2 0x0b4d
00000b30: SWAP1
00000b31: PUSH8 0x0de0b6b3a7640000
00000b3a: SWAP1
00000b3b: PUSH2 0x0af7
00000b3e: SWAP1
00000b3f: PUSH1 0x01
00000b41: PUSH1 0x01
00000b43: PUSH1 0x80
00000b45: SHL
00000b46: SUB
00000b47: AND
00000b48: DUP9
00000b49: PUSH2 0x3eab
00000b4c: JUMP
00000b4d: JUMPDEST
00000b4e: PUSH1 0x13
00000b50: SLOAD
00000b51: SWAP1
00000b52: SWAP2
00000b53: POP
00000b54: PUSH1 0x00
00000b56: SWAP1
00000b57: PUSH2 0x0b78
00000b5a: SWAP1
00000b5b: PUSH2 0x0b73
00000b5e: SWAP1
00000b5f: PUSH1 0x01
00000b61: PUSH1 0x80
00000b63: SHL
00000b64: SWAP1
00000b65: DIV
00000b66: PUSH6 0xffffffffffff
00000b6d: AND
00000b6e: TIMESTAMP
00000b6f: PUSH2 0x3ee4
00000b72: JUMP
00000b73: JUMPDEST
00000b74: PUSH2 0x2a3b
00000b77: JUMP
00000b78: JUMPDEST
00000b79: PUSH1 0x13
00000b7b: SLOAD
00000b7c: SWAP1
00000b7d: SWAP2
00000b7e: POP
00000b7f: PUSH1 0x00
00000b81: SWAP1
00000b82: PUSH2 0x0b9e
00000b85: SWAP1
00000b86: PUSH2 0x0b73
00000b89: SWAP1
00000b8a: PUSH1 0x01
00000b8c: PUSH1 0xb0
00000b8e: SHL
00000b8f: SWAP1
00000b90: DIV
00000b91: PUSH6 0xffffffffffff
00000b98: AND
00000b99: TIMESTAMP
00000b9a: PUSH2 0x3ee4
00000b9d: JUMP
00000b9e: JUMPDEST
00000b9f: PUSH1 0x09
00000ba1: SLOAD
00000ba2: PUSH1 0x0b
00000ba4: SLOAD
00000ba5: PUSH1 0x40
00000ba7: MLOAD
00000ba8: PUSH32 0x3849153b00000000000000000000000000000000000000000000000000000000
00000bc9: DUP2
00000bca: MSTORE
00000bcb: SWAP3
00000bcc: SWAP4
00000bcd: POP
00000bce: PUSH1 0x00
00000bd0: SWAP3
00000bd1: DUP4
00000bd2: SWAP3
00000bd3: PUSH1 0x01
00000bd5: PUSH1 0x01
00000bd7: PUSH1 0xa0
00000bd9: SHL
00000bda: SUB
00000bdb: SWAP1
00000bdc: DUP2
00000bdd: AND
00000bde: SWAP3
00000bdf: PUSH4 0x3849153b
00000be4: SWAP3
00000be5: PUSH2 0x0bf9
00000be8: SWAP3
00000be9: SWAP1
00000bea: SWAP2
00000beb: AND
00000bec: SWAP1
00000bed: DUP11
00000bee: SWAP1
00000bef: PUSH1 0x0e
00000bf1: SWAP1
00000bf2: PUSH1 0x04
00000bf4: ADD
00000bf5: PUSH2 0x3ef7
00000bf8: JUMP
00000bf9: JUMPDEST
00000bfa: PUSH1 0x40
00000bfc: DUP1
00000bfd: MLOAD
00000bfe: DUP1
00000bff: DUP4
00000c00: SUB
00000c01: DUP2
00000c02: DUP7
00000c03: GAS
00000c04: STATICCALL
00000c05: ISZERO
00000c06: DUP1
00000c07: ISZERO
00000c08: PUSH2 0x0c15
00000c0b: JUMPI
00000c0c: RETURNDATASIZE
00000c0d: PUSH1 0x00
00000c0f: DUP1
00000c10: RETURNDATACOPY
00000c11: RETURNDATASIZE
00000c12: PUSH1 0x00
00000c14: REVERT
00000c15: JUMPDEST
00000c16: POP
00000c17: POP
00000c18: POP
00000c19: POP
00000c1a: PUSH1 0x40
00000c1c: MLOAD
00000c1d: RETURNDATASIZE
00000c1e: PUSH1 0x1f
00000c20: NOT
00000c21: PUSH1 0x1f
00000c23: DUP3
00000c24: ADD
00000c25: AND
00000c26: DUP3
00000c27: ADD
00000c28: DUP1
00000c29: PUSH1 0x40
00000c2b: MSTORE
00000c2c: POP
00000c2d: DUP2
00000c2e: ADD
00000c2f: SWAP1
00000c30: PUSH2 0x0c39
00000c33: SWAP2
00000c34: SWAP1
00000c35: PUSH2 0x3fe0
00000c38: JUMP
00000c39: JUMPDEST
00000c3a: PUSH1 0x40
00000c3c: DUP1
00000c3d: MLOAD
00000c3e: PUSH2 0x0180
00000c41: DUP2
00000c42: ADD
00000c43: SWAP1
00000c44: SWAP2
00000c45: MSTORE
00000c46: SWAP2
00000c47: SWAP4
00000c48: POP
00000c49: SWAP2
00000c4a: POP
00000c4b: DUP1
00000c4c: PUSH1 0x00
00000c4e: DUP2
00000c4f: MSTORE
00000c50: PUSH1 0x20
00000c52: ADD
00000c53: DUP12
00000c54: PUSH1 0x01
00000c56: PUSH1 0x01
00000c58: PUSH1 0xa0
00000c5a: SHL
00000c5b: SUB
00000c5c: AND
00000c5d: DUP2
00000c5e: MSTORE
00000c5f: PUSH1 0x20
00000c61: ADD
00000c62: DUP13
00000c63: PUSH1 0x01
00000c65: PUSH1 0x01
00000c67: PUSH1 0xa0
00000c69: SHL
00000c6a: SUB
00000c6b: AND
00000c6c: DUP2
00000c6d: MSTORE
00000c6e: PUSH1 0x20
00000c70: ADD
00000c71: DUP7
00000c72: PUSH1 0x01
00000c74: PUSH1 0x01
00000c76: PUSH1 0x80
00000c78: SHL
00000c79: SUB
00000c7a: AND
00000c7b: DUP2
00000c7c: MSTORE
00000c7d: PUSH1 0x20
00000c7f: ADD
00000c80: DUP6
00000c81: PUSH6 0xffffffffffff
00000c88: AND
00000c89: DUP2
00000c8a: MSTORE
00000c8b: PUSH1 0x20
00000c8d: ADD
00000c8e: DUP5
00000c8f: PUSH6 0xffffffffffff
00000c96: AND
00000c97: DUP2
00000c98: MSTORE
00000c99: PUSH1 0x20
00000c9b: ADD
00000c9c: DUP8
00000c9d: PUSH1 0x01
00000c9f: PUSH1 0x01
00000ca1: PUSH1 0x80
00000ca3: SHL
00000ca4: SUB
00000ca5: AND
00000ca6: DUP2
00000ca7: MSTORE
00000ca8: PUSH1 0x20
00000caa: ADD
00000cab: DUP10
00000cac: PUSH2 0x0cb5
00000caf: JUMPI
00000cb0: DUP12
00000cb1: PUSH2 0x0cb7
00000cb4: JUMP
00000cb5: JUMPDEST
00000cb6: DUP13
00000cb7: JUMPDEST
00000cb8: PUSH1 0x01
00000cba: PUSH1 0x01
00000cbc: PUSH1 0xa0
00000cbe: SHL
00000cbf: SUB
00000cc0: AND
00000cc1: DUP2
00000cc2: MSTORE
00000cc3: PUSH1 0x20
00000cc5: ADD
00000cc6: DUP11
00000cc7: DUP2
00000cc8: MSTORE
00000cc9: PUSH1 0x20
00000ccb: ADD
00000ccc: DUP14
00000ccd: PUSH8 0xffffffffffffffff
00000cd6: AND
00000cd7: DUP2
00000cd8: MSTORE
00000cd9: PUSH1 0x20
00000cdb: ADD
00000cdc: DUP4
00000cdd: PUSH1 0x01
00000cdf: PUSH1 0x01
00000ce1: PUSH1 0x80
00000ce3: SHL
00000ce4: SUB
00000ce5: AND
00000ce6: DUP2
00000ce7: MSTORE
00000ce8: PUSH1 0x20
00000cea: ADD
00000ceb: DUP3
00000cec: PUSH1 0x01
00000cee: PUSH1 0x01
00000cf0: PUSH1 0x80
00000cf2: SHL
00000cf3: SUB
00000cf4: AND
00000cf5: DUP2
00000cf6: MSTORE
00000cf7: POP
00000cf8: SWAP14
00000cf9: POP
00000cfa: POP
00000cfb: POP
00000cfc: POP
00000cfd: POP
00000cfe: POP
00000cff: POP
00000d00: POP
00000d01: POP
00000d02: POP
00000d03: POP
00000d04: POP
00000d05: POP
00000d06: JUMPDEST
00000d07: SWAP4
00000d08: POP
00000d09: SWAP4
00000d0a: SWAP2
00000d0b: POP
00000d0c: POP
00000d0d: JUMP
00000d0e: JUMPDEST
00000d0f: PUSH1 0x00
00000d11: PUSH2 0x0d1b
00000d14: DUP5
00000d15: DUP5
00000d16: DUP5
00000d17: PUSH2 0x2a6e
00000d1a: JUMP
00000d1b: JUMPDEST
00000d1c: PUSH1 0x09
00000d1e: SLOAD
00000d1f: PUSH1 0x40
00000d21: MLOAD
00000d22: PUSH4 0x536a4ee5
00000d27: PUSH1 0xe1
00000d29: SHL
00000d2a: DUP2
00000d2b: MSTORE
00000d2c: PUSH1 0x01
00000d2e: PUSH1 0x01
00000d30: PUSH1 0xa0
00000d32: SHL
00000d33: SUB
00000d34: DUP8
00000d35: DUP2
00000d36: AND
00000d37: PUSH1 0x04
00000d39: DUP4
00000d3a: ADD
00000d3b: MSTORE
00000d3c: DUP7
00000d3d: DUP2
00000d3e: AND
00000d3f: PUSH1 0x24
00000d41: DUP4
00000d42: ADD
00000d43: MSTORE
00000d44: PUSH1 0x44
00000d46: DUP3
00000d47: ADD
00000d48: DUP7
00000d49: SWAP1
00000d4a: MSTORE
00000d4b: SWAP3
00000d4c: SWAP4
00000d4d: POP
00000d4e: SWAP2
00000d4f: AND
00000d50: SWAP1
00000d51: PUSH4 0xa6d49dca
00000d56: SWAP1
00000d57: PUSH1 0x64
00000d59: ADD
00000d5a: PUSH1 0x00
00000d5c: PUSH1 0x40
00000d5e: MLOAD
00000d5f: DUP1
00000d60: DUP4
00000d61: SUB
00000d62: DUP2
00000d63: PUSH1 0x00
00000d65: DUP8
00000d66: DUP1
00000d67: EXTCODESIZE
00000d68: ISZERO
00000d69: DUP1
00000d6a: ISZERO
00000d6b: PUSH2 0x0d73
00000d6e: JUMPI
00000d6f: PUSH1 0x00
00000d71: DUP1
00000d72: REVERT
00000d73: JUMPDEST
00000d74: POP
00000d75: GAS
00000d76: CALL
00000d77: ISZERO
00000d78: DUP1
00000d79: ISZERO
00000d7a: PUSH2 0x0d87
00000d7d: JUMPI
00000d7e: RETURNDATASIZE
00000d7f: PUSH1 0x00
00000d81: DUP1
00000d82: RETURNDATACOPY
00000d83: RETURNDATASIZE
00000d84: PUSH1 0x00
00000d86: REVERT
00000d87: JUMPDEST
00000d88: POP
00000d89: POP
00000d8a: POP
00000d8b: POP
00000d8c: SWAP4
00000d8d: SWAP3
00000d8e: POP
00000d8f: POP
00000d90: POP
00000d91: JUMP
00000d92: JUMPDEST
00000d93: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000db4: DUP1
00000db5: SLOAD
00000db6: PUSH1 0x01
00000db8: PUSH1 0x40
00000dba: SHL
00000dbb: DUP2
00000dbc: DIV
00000dbd: PUSH1 0xff
00000dbf: AND
00000dc0: ISZERO
00000dc1: SWAP1
00000dc2: PUSH8 0xffffffffffffffff
00000dcb: AND
00000dcc: PUSH1 0x00
00000dce: DUP2
00000dcf: ISZERO
00000dd0: DUP1
00000dd1: ISZERO
00000dd2: PUSH2 0x0dd8
00000dd5: JUMPI
00000dd6: POP
00000dd7: DUP3
00000dd8: JUMPDEST
00000dd9: SWAP1
00000dda: POP
00000ddb: PUSH1 0x00
00000ddd: DUP3
00000dde: PUSH8 0xffffffffffffffff
00000de7: AND
00000de8: PUSH1 0x01
00000dea: EQ
00000deb: DUP1
00000dec: ISZERO
00000ded: PUSH2 0x0df5
00000df0: JUMPI
00000df1: POP
00000df2: ADDRESS
00000df3: EXTCODESIZE
00000df4: ISZERO
00000df5: JUMPDEST
00000df6: SWAP1
00000df7: POP
00000df8: DUP2
00000df9: ISZERO
00000dfa: DUP1
00000dfb: ISZERO
00000dfc: PUSH2 0x0e03
00000dff: JUMPI
00000e00: POP
00000e01: DUP1
00000e02: ISZERO
00000e03: JUMPDEST
00000e04: ISZERO
00000e05: PUSH2 0x0e21
00000e08: JUMPI
00000e09: PUSH1 0x40
00000e0b: MLOAD
00000e0c: PUSH4 0xf92ee8a9
00000e11: PUSH1 0xe0
00000e13: SHL
00000e14: DUP2
00000e15: MSTORE
00000e16: PUSH1 0x04
00000e18: ADD
00000e19: PUSH1 0x40
00000e1b: MLOAD
00000e1c: DUP1
00000e1d: SWAP2
00000e1e: SUB
00000e1f: SWAP1
00000e20: REVERT
00000e21: JUMPDEST
00000e22: DUP5
00000e23: SLOAD
00000e24: PUSH8 0xffffffffffffffff
00000e2d: NOT
00000e2e: AND
00000e2f: PUSH1 0x01
00000e31: OR
00000e32: DUP6
00000e33: SSTORE
00000e34: DUP4
00000e35: ISZERO
00000e36: PUSH2 0x0e50
00000e39: JUMPI
00000e3a: DUP5
00000e3b: SLOAD
00000e3c: PUSH9 0xff0000000000000000
00000e46: NOT
00000e47: AND
00000e48: PUSH1 0x01
00000e4a: PUSH1 0x40
00000e4c: SHL
00000e4d: OR
00000e4e: DUP6
00000e4f: SSTORE
00000e50: JUMPDEST
00000e51: PUSH2 0x0e60
00000e54: PUSH1 0x40
00000e56: DUP10
00000e57: ADD
00000e58: PUSH1 0x20
00000e5a: DUP11
00000e5b: ADD
00000e5c: PUSH2 0x3b00
00000e5f: JUMP
00000e60: JUMPDEST
00000e61: PUSH1 0x01
00000e63: PUSH1 0x01
00000e65: PUSH1 0xa0
00000e67: SHL
00000e68: SUB
00000e69: AND
00000e6a: PUSH2 0x0e76
00000e6d: PUSH1 0x20
00000e6f: DUP11
00000e70: ADD
00000e71: DUP11
00000e72: PUSH2 0x3b00
00000e75: JUMP
00000e76: JUMPDEST
00000e77: PUSH1 0x01
00000e79: PUSH1 0x01
00000e7b: PUSH1 0xa0
00000e7d: SHL
00000e7e: SUB
00000e7f: AND
00000e80: SUB
00000e81: PUSH2 0x0eb6
00000e84: JUMPI
00000e85: PUSH1 0x40
00000e87: MLOAD
00000e88: PUSH32 0x8686656d00000000000000000000000000000000000000000000000000000000
00000ea9: DUP2
00000eaa: MSTORE
00000eab: PUSH1 0x04
00000ead: ADD
00000eae: PUSH1 0x40
00000eb0: MLOAD
00000eb1: DUP1
00000eb2: SWAP2
00000eb3: SUB
00000eb4: SWAP1
00000eb5: REVERT
00000eb6: JUMPDEST
00000eb7: PUSH2 0x0ec6
00000eba: PUSH1 0x60
00000ebc: DUP10
00000ebd: ADD
00000ebe: PUSH1 0x40
00000ec0: DUP11
00000ec1: ADD
00000ec2: PUSH2 0x400f
00000ec5: JUMP
00000ec6: JUMPDEST
00000ec7: PUSH1 0x01
00000ec9: PUSH1 0x01
00000ecb: PUSH1 0x80
00000ecd: SHL
00000ece: SUB
00000ecf: AND
00000ed0: PUSH1 0x00
00000ed2: SUB
00000ed3: PUSH2 0x0f08
00000ed6: JUMPI
00000ed7: PUSH1 0x40
00000ed9: MLOAD
00000eda: PUSH32 0x950466ea00000000000000000000000000000000000000000000000000000000
00000efb: DUP2
00000efc: MSTORE
00000efd: PUSH1 0x04
00000eff: ADD
00000f00: PUSH1 0x40
00000f02: MLOAD
00000f03: DUP1
00000f04: SWAP2
00000f05: SUB
00000f06: SWAP1
00000f07: REVERT
00000f08: JUMPDEST
00000f09: PUSH2 0x0f18
00000f0c: PUSH1 0x80
00000f0e: DUP10
00000f0f: ADD
00000f10: PUSH1 0x60
00000f12: DUP11
00000f13: ADD
00000f14: PUSH2 0x400f
00000f17: JUMP
00000f18: JUMPDEST
00000f19: PUSH1 0x01
00000f1b: PUSH1 0x01
00000f1d: PUSH1 0x80
00000f1f: SHL
00000f20: SUB
00000f21: AND
00000f22: PUSH1 0x00
00000f24: SUB
00000f25: PUSH2 0x0f5a
00000f28: JUMPI
00000f29: PUSH1 0x40
00000f2b: MLOAD
00000f2c: PUSH32 0x9a5818d800000000000000000000000000000000000000000000000000000000
00000f4d: DUP2
00000f4e: MSTORE
00000f4f: PUSH1 0x04
00000f51: ADD
00000f52: PUSH1 0x40
00000f54: MLOAD
00000f55: DUP1
00000f56: SWAP2
00000f57: SUB
00000f58: SWAP1
00000f59: REVERT
00000f5a: JUMPDEST
00000f5b: PUSH2 0x0f6a
00000f5e: PUSH1 0xa0
00000f60: DUP10
00000f61: ADD
00000f62: PUSH1 0x80
00000f64: DUP11
00000f65: ADD
00000f66: PUSH2 0x4040
00000f69: JUMP
00000f6a: JUMPDEST
00000f6b: PUSH6 0xffffffffffff
00000f72: AND
00000f73: PUSH1 0x00
00000f75: SUB
00000f76: PUSH2 0x0fab
00000f79: JUMPI
00000f7a: PUSH1 0x40
00000f7c: MLOAD
00000f7d: PUSH32 0x82d4642500000000000000000000000000000000000000000000000000000000
00000f9e: DUP2
00000f9f: MSTORE
00000fa0: PUSH1 0x04
00000fa2: ADD
00000fa3: PUSH1 0x40
00000fa5: MLOAD
00000fa6: DUP1
00000fa7: SWAP2
00000fa8: SUB
00000fa9: SWAP1
00000faa: REVERT
00000fab: JUMPDEST
00000fac: PUSH2 0x0fbb
00000faf: PUSH1 0xc0
00000fb1: DUP10
00000fb2: ADD
00000fb3: PUSH1 0xa0
00000fb5: DUP11
00000fb6: ADD
00000fb7: PUSH2 0x4040
00000fba: JUMP
00000fbb: JUMPDEST
00000fbc: PUSH2 0x0fc8
00000fbf: SWAP1
00000fc0: PUSH3 0x015180
00000fc4: PUSH2 0x405d
00000fc7: JUMP
00000fc8: JUMPDEST
00000fc9: PUSH6 0xffffffffffff
00000fd0: AND
00000fd1: PUSH2 0x0fe0
00000fd4: PUSH1 0xa0
00000fd6: DUP11
00000fd7: ADD
00000fd8: PUSH1 0x80
00000fda: DUP12
00000fdb: ADD
00000fdc: PUSH2 0x4040
00000fdf: JUMP
00000fe0: JUMPDEST
00000fe1: PUSH6 0xffffffffffff
00000fe8: AND
00000fe9: LT
00000fea: ISZERO
00000feb: PUSH2 0x1020
00000fee: JUMPI
00000fef: PUSH1 0x40
00000ff1: MLOAD
00000ff2: PUSH32 0x7a098ab600000000000000000000000000000000000000000000000000000000
00001013: DUP2
00001014: MSTORE
00001015: PUSH1 0x04
00001017: ADD
00001018: PUSH1 0x40
0000101a: MLOAD
0000101b: DUP1
0000101c: SWAP2
0000101d: SUB
0000101e: SWAP1
0000101f: REVERT
00001020: JUMPDEST
00001021: PUSH2 0x1032
00001024: PUSH2 0x0120
00001027: DUP10
00001028: ADD
00001029: PUSH2 0x0100
0000102c: DUP11
0000102d: ADD
0000102e: PUSH2 0x4099
00001031: JUMP
00001032: JUMPDEST
00001033: PUSH8 0xffffffffffffffff
0000103c: AND
0000103d: ISZERO
0000103e: DUP1
0000103f: PUSH2 0x1061
00001042: JUMPI
00001043: POP
00001044: PUSH2 0x1055
00001047: PUSH2 0x0140
0000104a: DUP10
0000104b: ADD
0000104c: PUSH2 0x0120
0000104f: DUP11
00001050: ADD
00001051: PUSH2 0x4099
00001054: JUMP
00001055: JUMPDEST
00001056: PUSH8 0xffffffffffffffff
0000105f: AND
00001060: ISZERO
00001061: JUMPDEST
00001062: DUP1
00001063: PUSH2 0x10a1
00001066: JUMPI
00001067: POP
00001068: PUSH2 0x1079
0000106b: PUSH2 0x0140
0000106e: DUP10
0000106f: ADD
00001070: PUSH2 0x0120
00001073: DUP11
00001074: ADD
00001075: PUSH2 0x4099
00001078: JUMP
00001079: JUMPDEST
0000107a: PUSH8 0xffffffffffffffff
00001083: AND
00001084: PUSH2 0x1095
00001087: PUSH2 0x0120
0000108a: DUP11
0000108b: ADD
0000108c: PUSH2 0x0100
0000108f: DUP12
00001090: ADD
00001091: PUSH2 0x4099
00001094: JUMP
00001095: JUMPDEST
00001096: PUSH8 0xffffffffffffffff
0000109f: AND
000010a0: LT
000010a1: JUMPDEST
000010a2: ISZERO
000010a3: PUSH2 0x10d8
000010a6: JUMPI
000010a7: PUSH1 0x40
000010a9: MLOAD
000010aa: PUSH32 0x563184a000000000000000000000000000000000000000000000000000000000
000010cb: DUP2
000010cc: MSTORE
000010cd: PUSH1 0x04
000010cf: ADD
000010d0: PUSH1 0x40
000010d2: MLOAD
000010d3: DUP1
000010d4: SWAP2
000010d5: SUB
000010d6: SWAP1
000010d7: REVERT
000010d8: JUMPDEST
000010d9: PUSH2 0x10ea
000010dc: PUSH2 0x0180
000010df: DUP10
000010e0: ADD
000010e1: PUSH2 0x0160
000010e4: DUP11
000010e5: ADD
000010e6: PUSH2 0x400f
000010e9: JUMP
000010ea: JUMPDEST
000010eb: PUSH1 0x01
000010ed: PUSH1 0x01
000010ef: PUSH1 0x80
000010f1: SHL
000010f2: SUB
000010f3: AND
000010f4: ISZERO
000010f5: DUP1
000010f6: PUSH2 0x1132
000010f9: JUMPI
000010fa: POP
000010fb: PUSH2 0x110c
000010fe: PUSH2 0x0160
00001101: DUP10
00001102: ADD
00001103: PUSH2 0x0140
00001106: DUP11
00001107: ADD
00001108: PUSH2 0x400f
0000110b: JUMP
0000110c: JUMPDEST
0000110d: PUSH1 0x01
0000110f: PUSH1 0x01
00001111: PUSH1 0x80
00001113: SHL
00001114: SUB
00001115: AND
00001116: PUSH2 0x1127
00001119: PUSH2 0x0180
0000111c: DUP11
0000111d: ADD
0000111e: PUSH2 0x0160
00001121: DUP12
00001122: ADD
00001123: PUSH2 0x400f
00001126: JUMP
00001127: JUMPDEST
00001128: PUSH1 0x01
0000112a: PUSH1 0x01
0000112c: PUSH1 0x80
0000112e: SHL
0000112f: SUB
00001130: AND
00001131: LT
00001132: JUMPDEST
00001133: ISZERO
00001134: PUSH2 0x1169
00001137: JUMPI
00001138: PUSH1 0x40
0000113a: MLOAD
0000113b: PUSH32 0xc9ad7cfb00000000000000000000000000000000000000000000000000000000
0000115c: DUP2
0000115d: MSTORE
0000115e: PUSH1 0x04
00001160: ADD
00001161: PUSH1 0x40
00001163: MLOAD
00001164: DUP1
00001165: SWAP2
00001166: SUB
00001167: SWAP1
00001168: REVERT
00001169: JUMPDEST
0000116a: PUSH1 0x00
0000116c: PUSH2 0x117d
0000116f: PUSH2 0x01c0
00001172: DUP11
00001173: ADD
00001174: PUSH2 0x01a0
00001177: DUP12
00001178: ADD
00001179: PUSH2 0x3b00
0000117c: JUMP
0000117d: JUMPDEST
0000117e: PUSH1 0x01
00001180: PUSH1 0x01
00001182: PUSH1 0xa0
00001184: SHL
00001185: SUB
00001186: AND
00001187: SUB
00001188: PUSH2 0x11bd
0000118b: JUMPI
0000118c: PUSH1 0x40
0000118e: MLOAD
0000118f: PUSH32 0x9589a27d00000000000000000000000000000000000000000000000000000000
000011b0: DUP2
000011b1: MSTORE
000011b2: PUSH1 0x04
000011b4: ADD
000011b5: PUSH1 0x40
000011b7: MLOAD
000011b8: DUP1
000011b9: SWAP2
000011ba: SUB
000011bb: SWAP1
000011bc: REVERT
000011bd: JUMPDEST
000011be: PUSH8 0x0de0b6b3a7640000
000011c7: PUSH2 0x11d8
000011ca: PUSH2 0x01a0
000011cd: DUP11
000011ce: ADD
000011cf: PUSH2 0x0180
000011d2: DUP12
000011d3: ADD
000011d4: PUSH2 0x4099
000011d7: JUMP
000011d8: JUMPDEST
000011d9: PUSH8 0xffffffffffffffff
000011e2: AND
000011e3: GT
000011e4: ISZERO
000011e5: PUSH2 0x121a
000011e8: JUMPI
000011e9: PUSH1 0x40
000011eb: MLOAD
000011ec: PUSH32 0xa7e9b5b600000000000000000000000000000000000000000000000000000000
0000120d: DUP2
0000120e: MSTORE
0000120f: PUSH1 0x04
00001211: ADD
00001212: PUSH1 0x40
00001214: MLOAD
00001215: DUP1
00001216: SWAP2
00001217: SUB
00001218: SWAP1
00001219: REVERT
0000121a: JUMPDEST
0000121b: PUSH2 0x1227
0000121e: PUSH1 0x20
00001220: DUP10
00001221: ADD
00001222: DUP10
00001223: PUSH2 0x3b00
00001226: JUMP
00001227: JUMPDEST
00001228: PUSH1 0x0e
0000122a: DUP1
0000122b: SLOAD
0000122c: PUSH1 0x01
0000122e: PUSH1 0x01
00001230: PUSH1 0xa0
00001232: SHL
00001233: SUB
00001234: NOT
00001235: AND
00001236: PUSH1 0x01
00001238: PUSH1 0x01
0000123a: PUSH1 0xa0
0000123c: SHL
0000123d: SUB
0000123e: SWAP3
0000123f: SWAP1
00001240: SWAP3
00001241: AND
00001242: SWAP2
00001243: SWAP1
00001244: SWAP2
00001245: OR
00001246: SWAP1
00001247: SSTORE
00001248: PUSH2 0x1257
0000124b: PUSH1 0x40
0000124d: DUP10
0000124e: ADD
0000124f: PUSH1 0x20
00001251: DUP11
00001252: ADD
00001253: PUSH2 0x3b00
00001256: JUMP
00001257: JUMPDEST
00001258: PUSH1 0x0f
0000125a: DUP1
0000125b: SLOAD
0000125c: PUSH1 0x01
0000125e: PUSH1 0x01
00001260: PUSH1 0xa0
00001262: SHL
00001263: SUB
00001264: NOT
00001265: AND
00001266: PUSH1 0x01
00001268: PUSH1 0x01
0000126a: PUSH1 0xa0
0000126c: SHL
0000126d: SUB
0000126e: SWAP3
0000126f: SWAP1
00001270: SWAP3
00001271: AND
00001272: SWAP2
00001273: SWAP1
00001274: SWAP2
00001275: OR
00001276: SWAP1
00001277: SSTORE
00001278: PUSH2 0x1287
0000127b: PUSH1 0x60
0000127d: DUP10
0000127e: ADD
0000127f: PUSH1 0x40
00001281: DUP11
00001282: ADD
00001283: PUSH2 0x400f
00001286: JUMP
00001287: JUMPDEST
00001288: PUSH1 0x10
0000128a: DUP1
0000128b: SLOAD
0000128c: PUSH1 0x01
0000128e: PUSH1 0x01
00001290: PUSH1 0x80
00001292: SHL
00001293: SUB
00001294: NOT
00001295: AND
00001296: PUSH1 0x01
00001298: PUSH1 0x01
0000129a: PUSH1 0x80
0000129c: SHL
0000129d: SUB
0000129e: SWAP3
0000129f: SWAP1
000012a0: SWAP3
000012a1: AND
000012a2: SWAP2
000012a3: SWAP1
000012a4: SWAP2
000012a5: OR
000012a6: SWAP1
000012a7: SSTORE
000012a8: PUSH2 0x0180
000012ab: DUP9
000012ac: ADD
000012ad: PUSH1 0x11
000012af: PUSH2 0x12b8
000012b2: DUP3
000012b3: DUP3
000012b4: PUSH2 0x40dd
000012b7: JUMP
000012b8: JUMPDEST
000012b9: POP
000012ba: POP
000012bb: PUSH1 0x60
000012bd: DUP9
000012be: ADD
000012bf: PUSH1 0x13
000012c1: PUSH2 0x12ca
000012c4: DUP3
000012c5: DUP3
000012c6: PUSH2 0x4210
000012c9: JUMP
000012ca: JUMPDEST
000012cb: POP
000012cc: POP
000012cd: PUSH1 0x0c
000012cf: DUP1
000012d0: SLOAD
000012d1: PUSH1 0xff
000012d3: NOT
000012d4: AND
000012d5: PUSH1 0x01
000012d7: OR
000012d8: SWAP1
000012d9: SSTORE
000012da: PUSH1 0x0b
000012dc: DUP1
000012dd: SLOAD
000012de: PUSH1 0x01
000012e0: PUSH1 0x01
000012e2: PUSH1 0xa0
000012e4: SHL
000012e5: SUB
000012e6: DUP9
000012e7: AND
000012e8: PUSH1 0x01
000012ea: PUSH1 0x01
000012ec: PUSH1 0xa0
000012ee: SHL
000012ef: SUB
000012f0: NOT
000012f1: SWAP1
000012f2: SWAP2
000012f3: AND
000012f4: OR
000012f5: SWAP1
000012f6: SSTORE
000012f7: PUSH2 0x130f
000012fa: DUP12
000012fb: DUP12
000012fc: DUP12
000012fd: PUSH2 0x1309
00001300: PUSH1 0x20
00001302: DUP14
00001303: ADD
00001304: DUP14
00001305: PUSH2 0x3b00
00001308: JUMP
00001309: JUMPDEST
0000130a: DUP12
0000130b: PUSH2 0x2a94
0000130e: JUMP
0000130f: JUMPDEST
00001310: DUP4
00001311: ISZERO
00001312: PUSH2 0x135a
00001315: JUMPI
00001316: DUP5
00001317: SLOAD
00001318: PUSH9 0xff0000000000000000
00001322: NOT
00001323: AND
00001324: DUP6
00001325: SSTORE
00001326: PUSH1 0x40
00001328: MLOAD
00001329: PUSH1 0x01
0000132b: DUP2
0000132c: MSTORE
0000132d: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
0000134e: SWAP1
0000134f: PUSH1 0x20
00001351: ADD
00001352: PUSH1 0x40
00001354: MLOAD
00001355: DUP1
00001356: SWAP2
00001357: SUB
00001358: SWAP1
00001359: LOG1
0000135a: JUMPDEST
0000135b: POP
0000135c: POP
0000135d: POP
0000135e: POP
0000135f: POP
00001360: POP
00001361: POP
00001362: POP
00001363: POP
00001364: POP
00001365: POP
00001366: JUMP
00001367: JUMPDEST
00001368: PUSH1 0x09
0000136a: SLOAD
0000136b: PUSH1 0x00
0000136d: SWAP1
0000136e: DUP2
0000136f: SWAP1
00001370: DUP2
00001371: SWAP1
00001372: PUSH1 0x01
00001374: PUSH1 0x01
00001376: PUSH1 0xa0
00001378: SHL
00001379: SUB
0000137a: AND
0000137b: CALLER
0000137c: EQ
0000137d: PUSH2 0x1399
00001380: JUMPI
00001381: PUSH1 0x40
00001383: MLOAD
00001384: PUSH4 0x6edaef2f
00001389: PUSH1 0xe1
0000138b: SHL
0000138c: DUP2
0000138d: MSTORE
0000138e: PUSH1 0x04
00001390: ADD
00001391: PUSH1 0x40
00001393: MLOAD
00001394: DUP1
00001395: SWAP2
00001396: SUB
00001397: SWAP1
00001398: REVERT
00001399: JUMPDEST
0000139a: PUSH1 0x0c
0000139c: SLOAD
0000139d: PUSH2 0x0100
000013a0: SWAP1
000013a1: DIV
000013a2: PUSH1 0xff
000013a4: AND
000013a5: PUSH2 0x13c1
000013a8: JUMPI
000013a9: PUSH1 0x40
000013ab: MLOAD
000013ac: PUSH4 0x2f8268ed
000013b1: PUSH1 0xe0
000013b3: SHL
000013b4: DUP2
000013b5: MSTORE
000013b6: PUSH1 0x04
000013b8: ADD
000013b9: PUSH1 0x40
000013bb: MLOAD
000013bc: DUP1
000013bd: SWAP2
000013be: SUB
000013bf: SWAP1
000013c0: REVERT
000013c1: JUMPDEST
000013c2: PUSH1 0x0e
000013c4: SLOAD
000013c5: PUSH1 0x01
000013c7: PUSH1 0xa0
000013c9: SHL
000013ca: SWAP1
000013cb: DIV
000013cc: PUSH6 0xffffffffffff
000013d3: AND
000013d4: TIMESTAMP
000013d5: GT
000013d6: DUP1
000013d7: PUSH2 0x13f0
000013da: JUMPI
000013db: POP
000013dc: PUSH1 0x0f
000013de: SLOAD
000013df: PUSH1 0x01
000013e1: PUSH1 0xa0
000013e3: SHL
000013e4: SWAP1
000013e5: DIV
000013e6: PUSH6 0xffffffffffff
000013ed: AND
000013ee: TIMESTAMP
000013ef: LT
000013f0: JUMPDEST
000013f1: ISZERO
000013f2: PUSH2 0x1427
000013f5: JUMPI
000013f6: PUSH1 0x40
000013f8: MLOAD
000013f9: PUSH32 0x9bafde7400000000000000000000000000000000000000000000000000000000
0000141a: DUP2
0000141b: MSTORE
0000141c: PUSH1 0x04
0000141e: ADD
0000141f: PUSH1 0x40
00001421: MLOAD
00001422: DUP1
00001423: SWAP2
00001424: SUB
00001425: SWAP1
00001426: REVERT
00001427: JUMPDEST
00001428: DUP6
00001429: ISZERO
0000142a: DUP1
0000142b: PUSH2 0x143e
0000142e: JUMPI
0000142f: POP
00001430: PUSH1 0x10
00001432: SLOAD
00001433: PUSH1 0x01
00001435: PUSH1 0x01
00001437: PUSH1 0x80
00001439: SHL
0000143a: SUB
0000143b: AND
0000143c: DUP7
0000143d: GT
0000143e: JUMPDEST
0000143f: ISZERO
00001440: PUSH2 0x1475
00001443: JUMPI
00001444: PUSH1 0x40
00001446: MLOAD
00001447: PUSH32 0x3bd8dc6600000000000000000000000000000000000000000000000000000000
00001468: DUP2
00001469: MSTORE
0000146a: PUSH1 0x04
0000146c: ADD
0000146d: PUSH1 0x40
0000146f: MLOAD
00001470: DUP1
00001471: SWAP2
00001472: SUB
00001473: SWAP1
00001474: REVERT
00001475: JUMPDEST
00001476: PUSH1 0x0e
00001478: SLOAD
00001479: PUSH1 0x10
0000147b: SLOAD
0000147c: PUSH1 0x40
0000147e: DUP1
0000147f: MLOAD
00001480: PUSH4 0x313ce567
00001485: PUSH1 0xe0
00001487: SHL
00001488: DUP2
00001489: MSTORE
0000148a: SWAP1
0000148b: MLOAD
0000148c: PUSH1 0x01
0000148e: PUSH1 0x01
00001490: PUSH1 0xa0
00001492: SHL
00001493: SUB
00001494: SWAP1
00001495: SWAP4
00001496: AND
00001497: SWAP3
00001498: PUSH1 0x01
0000149a: PUSH1 0x80
0000149c: SHL
0000149d: SWAP1
0000149e: SWAP3
0000149f: DIV
000014a0: PUSH1 0x01
000014a2: PUSH1 0x01
000014a4: PUSH1 0x80
000014a6: SHL
000014a7: SUB
000014a8: AND
000014a9: SWAP2
000014aa: PUSH1 0x00
000014ac: SWAP2
000014ad: DUP5
000014ae: SWAP2
000014af: PUSH4 0x313ce567
000014b4: SWAP2
000014b5: PUSH1 0x04
000014b7: DUP1
000014b8: DUP3
000014b9: ADD
000014ba: SWAP3
000014bb: PUSH1 0x20
000014bd: SWAP3
000014be: SWAP1
000014bf: SWAP2
000014c0: SWAP1
000014c1: DUP3
000014c2: SWAP1
000014c3: SUB
000014c4: ADD
000014c5: DUP2
000014c6: DUP7
000014c7: GAS
000014c8: STATICCALL
000014c9: ISZERO
000014ca: DUP1
000014cb: ISZERO
000014cc: PUSH2 0x14d9
000014cf: JUMPI
000014d0: RETURNDATASIZE
000014d1: PUSH1 0x00
000014d3: DUP1
000014d4: RETURNDATACOPY
000014d5: RETURNDATASIZE
000014d6: PUSH1 0x00
000014d8: REVERT
000014d9: JUMPDEST
000014da: POP
000014db: POP
000014dc: POP
000014dd: POP
000014de: PUSH1 0x40
000014e0: MLOAD
000014e1: RETURNDATASIZE
000014e2: PUSH1 0x1f
000014e4: NOT
000014e5: PUSH1 0x1f
000014e7: DUP3
000014e8: ADD
000014e9: AND
000014ea: DUP3
000014eb: ADD
000014ec: DUP1
000014ed: PUSH1 0x40
000014ef: MSTORE
000014f0: POP
000014f1: DUP2
000014f2: ADD
000014f3: SWAP1
000014f4: PUSH2 0x14fd
000014f7: SWAP2
000014f8: SWAP1
000014f9: PUSH2 0x3d7f
000014fc: JUMP
000014fd: JUMPDEST
000014fe: PUSH1 0xff
00001500: AND
00001501: SWAP1
00001502: POP
00001503: PUSH1 0x0e
00001505: PUSH1 0x01
00001507: ADD
00001508: PUSH1 0x00
0000150a: SWAP1
0000150b: SLOAD
0000150c: SWAP1
0000150d: PUSH2 0x0100
00001510: EXP
00001511: SWAP1
00001512: DIV
00001513: PUSH1 0x01
00001515: PUSH1 0x01
00001517: PUSH1 0xa0
00001519: SHL
0000151a: SUB
0000151b: AND
0000151c: SWAP6
0000151d: POP
0000151e: PUSH1 0x00
00001520: DUP7
00001521: PUSH1 0x01
00001523: PUSH1 0x01
00001525: PUSH1 0xa0
00001527: SHL
00001528: SUB
00001529: AND
0000152a: PUSH4 0x313ce567
0000152f: PUSH1 0x40
00001531: MLOAD
00001532: DUP2
00001533: PUSH4 0xffffffff
00001538: AND
00001539: PUSH1 0xe0
0000153b: SHL
0000153c: DUP2
0000153d: MSTORE
0000153e: PUSH1 0x04
00001540: ADD
00001541: PUSH1 0x20
00001543: PUSH1 0x40
00001545: MLOAD
00001546: DUP1
00001547: DUP4
00001548: SUB
00001549: DUP2
0000154a: DUP7
0000154b: GAS
0000154c: STATICCALL
0000154d: ISZERO
0000154e: DUP1
0000154f: ISZERO
00001550: PUSH2 0x155d
00001553: JUMPI
00001554: RETURNDATASIZE
00001555: PUSH1 0x00
00001557: DUP1
00001558: RETURNDATACOPY
00001559: RETURNDATASIZE
0000155a: PUSH1 0x00
0000155c: REVERT
0000155d: JUMPDEST
0000155e: POP
0000155f: POP
00001560: POP
00001561: POP
00001562: PUSH1 0x40
00001564: MLOAD
00001565: RETURNDATASIZE
00001566: PUSH1 0x1f
00001568: NOT
00001569: PUSH1 0x1f
0000156b: DUP3
0000156c: ADD
0000156d: AND
0000156e: DUP3
0000156f: ADD
00001570: DUP1
00001571: PUSH1 0x40
00001573: MSTORE
00001574: POP
00001575: DUP2
00001576: ADD
00001577: SWAP1
00001578: PUSH2 0x1581
0000157b: SWAP2
0000157c: SWAP1
0000157d: PUSH2 0x3d7f
00001580: JUMP
00001581: JUMPDEST
00001582: PUSH1 0xff
00001584: AND
00001585: SWAP1
00001586: POP
00001587: PUSH2 0x1593
0000158a: DUP4
0000158b: DUP12
0000158c: DUP5
0000158d: PUSH1 0x01
0000158f: PUSH2 0x2c6b
00001592: JUMP
00001593: JUMPDEST
00001594: PUSH1 0x0b
00001596: SLOAD
00001597: SWAP1
00001598: SWAP7
00001599: POP
0000159a: PUSH8 0x0de0b6b3a7640000
000015a3: SWAP1
000015a4: PUSH2 0x15c2
000015a7: SWAP1
000015a8: PUSH1 0x01
000015aa: PUSH1 0xa0
000015ac: SHL
000015ad: SWAP1
000015ae: DIV
000015af: PUSH12 0xffffffffffffffffffffffff
000015bc: AND
000015bd: DUP9
000015be: PUSH2 0x3eab
000015c1: JUMP
000015c2: JUMPDEST
000015c3: PUSH2 0x15cc
000015c6: SWAP2
000015c7: SWAP1
000015c8: PUSH2 0x3ec2
000015cb: JUMP
000015cc: JUMPDEST
000015cd: SWAP5
000015ce: POP
000015cf: PUSH1 0x00
000015d1: DUP10
000015d2: PUSH2 0x16ed
000015d5: JUMPI
000015d6: PUSH2 0x15e0
000015d9: DUP3
000015da: PUSH1 0x0a
000015dc: PUSH2 0x4458
000015df: JUMP
000015e0: JUMPDEST
000015e1: PUSH2 0x15eb
000015e4: DUP5
000015e5: PUSH1 0x0a
000015e7: PUSH2 0x4458
000015ea: JUMP
000015eb: JUMPDEST
000015ec: PUSH2 0x15f5
000015ef: SWAP2
000015f0: SWAP1
000015f1: PUSH2 0x3eab
000015f4: JUMP
000015f5: JUMPDEST
000015f6: PUSH1 0x11
000015f8: SLOAD
000015f9: PUSH1 0x40
000015fb: MLOAD
000015fc: PUSH4 0x517382cf
00001601: PUSH1 0xe1
00001603: SHL
00001604: DUP2
00001605: MSTORE
00001606: PUSH1 0x01
00001608: PUSH1 0x40
0000160a: SHL
0000160b: SWAP1
0000160c: SWAP2
0000160d: DIV
0000160e: PUSH1 0x01
00001610: PUSH1 0x01
00001612: PUSH1 0xa0
00001614: SHL
00001615: SUB
00001616: AND
00001617: SWAP1
00001618: PUSH4 0xa2e7059e
0000161d: SWAP1
0000161e: PUSH2 0x162f
00001621: SWAP1
00001622: DUP13
00001623: SWAP1
00001624: DUP11
00001625: SWAP1
00001626: DUP16
00001627: SWAP1
00001628: PUSH1 0x04
0000162a: ADD
0000162b: PUSH2 0x3ce5
0000162e: JUMP
0000162f: JUMPDEST
00001630: PUSH1 0x20
00001632: PUSH1 0x40
00001634: MLOAD
00001635: DUP1
00001636: DUP4
00001637: SUB
00001638: DUP2
00001639: DUP7
0000163a: GAS
0000163b: STATICCALL
0000163c: ISZERO
0000163d: DUP1
0000163e: ISZERO
0000163f: PUSH2 0x164c
00001642: JUMPI
00001643: RETURNDATASIZE
00001644: PUSH1 0x00
00001646: DUP1
00001647: RETURNDATACOPY
00001648: RETURNDATASIZE
00001649: PUSH1 0x00
0000164b: REVERT
0000164c: JUMPDEST
0000164d: POP
0000164e: POP
0000164f: POP
00001650: POP
00001651: PUSH1 0x40
00001653: MLOAD
00001654: RETURNDATASIZE
00001655: PUSH1 0x1f
00001657: NOT
00001658: PUSH1 0x1f
0000165a: DUP3
0000165b: ADD
0000165c: AND
0000165d: DUP3
0000165e: ADD
0000165f: DUP1
00001660: PUSH1 0x40
00001662: MSTORE
00001663: POP
00001664: DUP2
00001665: ADD
00001666: SWAP1
00001667: PUSH2 0x1670
0000166a: SWAP2
0000166b: SWAP1
0000166c: PUSH2 0x3d66
0000166f: JUMP
00001670: JUMPDEST
00001671: PUSH2 0x167a
00001674: DUP14
00001675: DUP8
00001676: PUSH2 0x3eab
00001679: JUMP
0000167a: JUMPDEST
0000167b: PUSH2 0x1684
0000167e: SWAP2
0000167f: SWAP1
00001680: PUSH2 0x3eab
00001683: JUMP
00001684: JUMPDEST
00001685: PUSH2 0x168e
00001688: SWAP2
00001689: SWAP1
0000168a: PUSH2 0x3ec2
0000168d: JUMP
0000168e: JUMPDEST
0000168f: SWAP1
00001690: POP
00001691: DUP11
00001692: DUP2
00001693: GT
00001694: DUP1
00001695: PUSH2 0x169c
00001698: JUMPI
00001699: POP
0000169a: DUP1
0000169b: ISZERO
0000169c: JUMPDEST
0000169d: ISZERO
0000169e: PUSH2 0x16d3
000016a1: JUMPI
000016a2: PUSH1 0x40
000016a4: MLOAD
000016a5: PUSH32 0xe7668eec00000000000000000000000000000000000000000000000000000000
000016c6: DUP2
000016c7: MSTORE
000016c8: PUSH1 0x04
000016ca: ADD
000016cb: PUSH1 0x40
000016cd: MLOAD
000016ce: DUP1
000016cf: SWAP2
000016d0: SUB
000016d1: SWAP1
000016d2: REVERT
000016d3: JUMPDEST
000016d4: PUSH1 0x0a
000016d6: SLOAD
000016d7: PUSH2 0x16ed
000016da: SWAP1
000016db: PUSH1 0x01
000016dd: PUSH1 0x01
000016df: PUSH1 0xa0
000016e1: SHL
000016e2: SUB
000016e3: DUP8
000016e4: DUP2
000016e5: AND
000016e6: SWAP2
000016e7: AND
000016e8: DUP4
000016e9: PUSH2 0x2ccb
000016ec: JUMP
000016ed: JUMPDEST
000016ee: PUSH2 0x170c
000016f1: DUP13
000016f2: PUSH2 0x16fb
000016f5: DUP4
000016f6: DUP15
000016f7: PUSH2 0x4464
000016fa: JUMP
000016fb: JUMPDEST
000016fc: PUSH1 0x01
000016fe: PUSH1 0x01
00001700: PUSH1 0xa0
00001702: SHL
00001703: SUB
00001704: DUP9
00001705: AND
00001706: SWAP2
00001707: SWAP1
00001708: PUSH2 0x2ccb
0000170b: JUMP
0000170c: JUMPDEST
0000170d: PUSH2 0x1716
00001710: DUP14
00001711: DUP13
00001712: PUSH2 0x2d4b
00001715: JUMP
00001716: JUMPDEST
00001717: POP
00001718: POP
00001719: POP
0000171a: POP
0000171b: POP
0000171c: SWAP6
0000171d: POP
0000171e: SWAP6
0000171f: POP
00001720: SWAP6
00001721: SWAP3
00001722: POP
00001723: POP
00001724: POP
00001725: JUMP
00001726: JUMPDEST
00001727: PUSH1 0x0c
00001729: SLOAD
0000172a: PUSH1 0x00
0000172c: SWAP1
0000172d: PUSH1 0xff
0000172f: AND
00001730: ISZERO
00001731: PUSH2 0x1744
00001734: JUMPI
00001735: POP
00001736: PUSH1 0x0b
00001738: SLOAD
00001739: PUSH1 0x01
0000173b: PUSH1 0x01
0000173d: PUSH1 0xa0
0000173f: SHL
00001740: SUB
00001741: AND
00001742: SWAP1
00001743: JUMP
00001744: JUMPDEST
00001745: PUSH1 0x40
00001747: MLOAD
00001748: PUSH32 0xa9d552b500000000000000000000000000000000000000000000000000000000
00001769: DUP2
0000176a: MSTORE
0000176b: PUSH1 0x04
0000176d: ADD
0000176e: PUSH1 0x40
00001770: MLOAD
00001771: DUP1
00001772: SWAP2
00001773: SUB
00001774: SWAP1
00001775: REVERT
00001776: JUMPDEST
00001777: PUSH1 0x0a
00001779: SLOAD
0000177a: PUSH1 0x01
0000177c: PUSH1 0x01
0000177e: PUSH1 0xa0
00001780: SHL
00001781: SUB
00001782: AND
00001783: CALLER
00001784: EQ
00001785: PUSH2 0x17a1
00001788: JUMPI
00001789: PUSH1 0x40
0000178b: MLOAD
0000178c: PUSH4 0x6edaef2f
00001791: PUSH1 0xe1
00001793: SHL
00001794: DUP2
00001795: MSTORE
00001796: PUSH1 0x04
00001798: ADD
00001799: PUSH1 0x40
0000179b: MLOAD
0000179c: DUP1
0000179d: SWAP2
0000179e: SUB
0000179f: SWAP1
000017a0: REVERT
000017a1: JUMPDEST
000017a2: PUSH1 0x12
000017a4: SLOAD
000017a5: PUSH1 0x01
000017a7: PUSH1 0x01
000017a9: PUSH1 0xa0
000017ab: SHL
000017ac: SUB
000017ad: AND
000017ae: DUP1
000017af: PUSH2 0x17e4
000017b2: JUMPI
000017b3: PUSH1 0x40
000017b5: MLOAD
000017b6: PUSH32 0xd741db9000000000000000000000000000000000000000000000000000000000
000017d7: DUP2
000017d8: MSTORE
000017d9: PUSH1 0x04
000017db: ADD
000017dc: PUSH1 0x40
000017de: MLOAD
000017df: DUP1
000017e0: SWAP2
000017e1: SUB
000017e2: SWAP1
000017e3: REVERT
000017e4: JUMPDEST
000017e5: PUSH1 0x40
000017e7: MLOAD
000017e8: PUSH32 0xbd86e50800000000000000000000000000000000000000000000000000000000
00001809: DUP2
0000180a: MSTORE
0000180b: PUSH1 0x04
0000180d: DUP2
0000180e: ADD
0000180f: DUP5
00001810: SWAP1
00001811: MSTORE
00001812: PUSH1 0x01
00001814: PUSH1 0x01
00001816: PUSH1 0xa0
00001818: SHL
00001819: SUB
0000181a: DUP4
0000181b: DUP2
0000181c: AND
0000181d: PUSH1 0x24
0000181f: DUP4
00001820: ADD
00001821: MSTORE
00001822: DUP3
00001823: AND
00001824: SWAP1
00001825: PUSH4 0xbd86e508
0000182a: SWAP1
0000182b: PUSH1 0x44
0000182d: ADD
0000182e: PUSH1 0x00
00001830: PUSH1 0x40
00001832: MLOAD
00001833: DUP1
00001834: DUP4
00001835: SUB
00001836: DUP2
00001837: PUSH1 0x00
00001839: DUP8
0000183a: DUP1
0000183b: EXTCODESIZE
0000183c: ISZERO
0000183d: DUP1
0000183e: ISZERO
0000183f: PUSH2 0x1847
00001842: JUMPI
00001843: PUSH1 0x00
00001845: DUP1
00001846: REVERT
00001847: JUMPDEST
00001848: POP
00001849: GAS
0000184a: CALL
0000184b: ISZERO
0000184c: DUP1
0000184d: ISZERO
0000184e: PUSH2 0x185b
00001851: JUMPI
00001852: RETURNDATASIZE
00001853: PUSH1 0x00
00001855: DUP1
00001856: RETURNDATACOPY
00001857: RETURNDATASIZE
00001858: PUSH1 0x00
0000185a: REVERT
0000185b: JUMPDEST
0000185c: POP
0000185d: POP
0000185e: PUSH1 0x40
00001860: DUP1
00001861: MLOAD
00001862: PUSH1 0x01
00001864: PUSH1 0x01
00001866: PUSH1 0xa0
00001868: SHL
00001869: SUB
0000186a: DUP6
0000186b: DUP2
0000186c: AND
0000186d: DUP3
0000186e: MSTORE
0000186f: PUSH1 0x20
00001871: DUP3
00001872: ADD
00001873: DUP9
00001874: SWAP1
00001875: MSTORE
00001876: DUP7
00001877: AND
00001878: DUP2
00001879: DUP4
0000187a: ADD
0000187b: MSTORE
0000187c: SWAP1
0000187d: MLOAD
0000187e: PUSH32 0xa8e9ed9d5a3dbe1d9fe6d227405bddc7076d509b3d1a7149862baa1d10ece892
0000189f: SWAP4
000018a0: POP
000018a1: SWAP1
000018a2: DUP2
000018a3: SWAP1
000018a4: SUB
000018a5: PUSH1 0x60
000018a7: ADD
000018a8: SWAP2
000018a9: POP
000018aa: LOG1
000018ab: POP
000018ac: POP
000018ad: POP
000018ae: JUMP
000018af: JUMPDEST
000018b0: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000018d1: DUP1
000018d2: SLOAD
000018d3: PUSH1 0x01
000018d5: PUSH1 0x40
000018d7: SHL
000018d8: DUP2
000018d9: DIV
000018da: PUSH1 0xff
000018dc: AND
000018dd: ISZERO
000018de: SWAP1
000018df: PUSH8 0xffffffffffffffff
000018e8: AND
000018e9: PUSH1 0x00
000018eb: DUP2
000018ec: ISZERO
000018ed: DUP1
000018ee: ISZERO
000018ef: PUSH2 0x18f5
000018f2: JUMPI
000018f3: POP
000018f4: DUP3
000018f5: JUMPDEST
000018f6: SWAP1
000018f7: POP
000018f8: PUSH1 0x00
000018fa: DUP3
000018fb: PUSH8 0xffffffffffffffff
00001904: AND
00001905: PUSH1 0x01
00001907: EQ
00001908: DUP1
00001909: ISZERO
0000190a: PUSH2 0x1912
0000190d: JUMPI
0000190e: POP
0000190f: ADDRESS
00001910: EXTCODESIZE
00001911: ISZERO
00001912: JUMPDEST
00001913: SWAP1
00001914: POP
00001915: DUP2
00001916: ISZERO
00001917: DUP1
00001918: ISZERO
00001919: PUSH2 0x1920
0000191c: JUMPI
0000191d: POP
0000191e: DUP1
0000191f: ISZERO
00001920: JUMPDEST
00001921: ISZERO
00001922: PUSH2 0x193e
00001925: JUMPI
00001926: PUSH1 0x40
00001928: MLOAD
00001929: PUSH4 0xf92ee8a9
0000192e: PUSH1 0xe0
00001930: SHL
00001931: DUP2
00001932: MSTORE
00001933: PUSH1 0x04
00001935: ADD
00001936: PUSH1 0x40
00001938: MLOAD
00001939: DUP1
0000193a: SWAP2
0000193b: SUB
0000193c: SWAP1
0000193d: REVERT
0000193e: JUMPDEST
0000193f: DUP5
00001940: SLOAD
00001941: PUSH8 0xffffffffffffffff
0000194a: NOT
0000194b: AND
0000194c: PUSH1 0x01
0000194e: OR
0000194f: DUP6
00001950: SSTORE
00001951: DUP4
00001952: ISZERO
00001953: PUSH2 0x196d
00001956: JUMPI
00001957: DUP5
00001958: SLOAD
00001959: PUSH9 0xff0000000000000000
00001963: NOT
00001964: AND
00001965: PUSH1 0x01
00001967: PUSH1 0x40
00001969: SHL
0000196a: OR
0000196b: DUP6
0000196c: SSTORE
0000196d: JUMPDEST
0000196e: DUP7
0000196f: PUSH1 0x0e
00001971: PUSH2 0x197a
00001974: DUP3
00001975: DUP3
00001976: PUSH2 0x4477
00001979: JUMP
0000197a: JUMPDEST
0000197b: POP
0000197c: PUSH2 0x198b
0000197f: SWAP1
00001980: POP
00001981: PUSH2 0x0160
00001984: DUP9
00001985: ADD
00001986: DUP9
00001987: PUSH2 0x4689
0000198a: JUMP
0000198b: JUMPDEST
0000198c: PUSH2 0x1999
0000198f: SWAP1
00001990: PUSH1 0x20
00001992: DUP2
00001993: ADD
00001994: SWAP1
00001995: PUSH2 0x400f
00001998: JUMP
00001999: JUMPDEST
0000199a: PUSH1 0x08
0000199c: DUP1
0000199d: SLOAD
0000199e: PUSH1 0x01
000019a0: PUSH1 0x01
000019a2: PUSH1 0x80
000019a4: SHL
000019a5: SUB
000019a6: NOT
000019a7: AND
000019a8: PUSH1 0x01
000019aa: PUSH1 0x01
000019ac: PUSH1 0x80
000019ae: SHL
000019af: SUB
000019b0: SWAP3
000019b1: SWAP1
000019b2: SWAP3
000019b3: AND
000019b4: SWAP2
000019b5: SWAP1
000019b6: SWAP2
000019b7: OR
000019b8: SWAP1
000019b9: SSTORE
000019ba: PUSH2 0x19d2
000019bd: DUP12
000019be: DUP12
000019bf: DUP11
000019c0: PUSH2 0x19cc
000019c3: PUSH1 0x20
000019c5: DUP13
000019c6: ADD
000019c7: DUP13
000019c8: PUSH2 0x3b00
000019cb: JUMP
000019cc: JUMPDEST
000019cd: DUP11
000019ce: PUSH2 0x2a94
000019d1: JUMP
000019d2: JUMPDEST
000019d3: PUSH2 0x130f
000019d6: DUP10
000019d7: PUSH2 0x19e6
000019da: PUSH1 0xa0
000019dc: DUP11
000019dd: ADD
000019de: PUSH1 0x80
000019e0: DUP12
000019e1: ADD
000019e2: PUSH2 0x400f
000019e5: JUMP
000019e6: JUMPDEST
000019e7: PUSH1 0x01
000019e9: PUSH1 0x01
000019eb: PUSH1 0x80
000019ed: SHL
000019ee: SUB
000019ef: AND
000019f0: DUP14
000019f1: PUSH2 0x2d85
000019f4: JUMP
000019f5: JUMPDEST
000019f6: PUSH1 0x0a
000019f8: SLOAD
000019f9: PUSH1 0x01
000019fb: PUSH1 0x01
000019fd: PUSH1 0xa0
000019ff: SHL
00001a00: SUB
00001a01: AND
00001a02: CALLER
00001a03: EQ
00001a04: PUSH2 0x1a20
00001a07: JUMPI
00001a08: PUSH1 0x40
00001a0a: MLOAD
00001a0b: PUSH4 0x6edaef2f
00001a10: PUSH1 0xe1
00001a12: SHL
00001a13: DUP2
00001a14: MSTORE
00001a15: PUSH1 0x04
00001a17: ADD
00001a18: PUSH1 0x40
00001a1a: MLOAD
00001a1b: DUP1
00001a1c: SWAP2
00001a1d: SUB
00001a1e: SWAP1
00001a1f: REVERT
00001a20: JUMPDEST
00001a21: PUSH1 0x11
00001a23: SLOAD
00001a24: PUSH1 0x01
00001a26: PUSH1 0xe8
00001a28: SHL
00001a29: SWAP1
00001a2a: DIV
00001a2b: PUSH1 0xff
00001a2d: AND
00001a2e: PUSH2 0x1a63
00001a31: JUMPI
00001a32: PUSH1 0x40
00001a34: MLOAD
00001a35: PUSH32 0xb703ee6200000000000000000000000000000000000000000000000000000000
00001a56: DUP2
00001a57: MSTORE
00001a58: PUSH1 0x04
00001a5a: ADD
00001a5b: PUSH1 0x40
00001a5d: MLOAD
00001a5e: DUP1
00001a5f: SWAP2
00001a60: SUB
00001a61: SWAP1
00001a62: REVERT
00001a63: JUMPDEST
00001a64: PUSH1 0x0e
00001a66: SLOAD
00001a67: PUSH1 0x40
00001a69: MLOAD
00001a6a: PUSH32 0x5c19a95c00000000000000000000000000000000000000000000000000000000
00001a8b: DUP2
00001a8c: MSTORE
00001a8d: PUSH1 0x01
00001a8f: PUSH1 0x01
00001a91: PUSH1 0xa0
00001a93: SHL
00001a94: SUB
00001a95: DUP4
00001a96: DUP2
00001a97: AND
00001a98: PUSH1 0x04
00001a9a: DUP4
00001a9b: ADD
00001a9c: MSTORE
00001a9d: SWAP1
00001a9e: SWAP2
00001a9f: AND
00001aa0: SWAP1
00001aa1: PUSH4 0x5c19a95c
00001aa6: SWAP1
00001aa7: PUSH1 0x24
00001aa9: ADD
00001aaa: PUSH1 0x00
00001aac: PUSH1 0x40
00001aae: MLOAD
00001aaf: DUP1
00001ab0: DUP4
00001ab1: SUB
00001ab2: DUP2
00001ab3: PUSH1 0x00
00001ab5: DUP8
00001ab6: DUP1
00001ab7: EXTCODESIZE
00001ab8: ISZERO
00001ab9: DUP1
00001aba: ISZERO
00001abb: PUSH2 0x1ac3
00001abe: JUMPI
00001abf: PUSH1 0x00
00001ac1: DUP1
00001ac2: REVERT
00001ac3: JUMPDEST
00001ac4: POP
00001ac5: GAS
00001ac6: CALL
00001ac7: ISZERO
00001ac8: DUP1
00001ac9: ISZERO
00001aca: PUSH2 0x1ad7
00001acd: JUMPI
00001ace: RETURNDATASIZE
00001acf: PUSH1 0x00
00001ad1: DUP1
00001ad2: RETURNDATACOPY
00001ad3: RETURNDATASIZE
00001ad4: PUSH1 0x00
00001ad6: REVERT
00001ad7: JUMPDEST
00001ad8: POP
00001ad9: POP
00001ada: PUSH1 0x40
00001adc: MLOAD
00001add: PUSH1 0x01
00001adf: PUSH1 0x01
00001ae1: PUSH1 0xa0
00001ae3: SHL
00001ae4: SUB
00001ae5: DUP5
00001ae6: AND
00001ae7: DUP2
00001ae8: MSTORE
00001ae9: PUSH32 0x97272ae3625415c9e42454bb806ca07e49c86e720ecae7d9f22c54479e6a2e24
00001b0a: SWAP3
00001b0b: POP
00001b0c: PUSH1 0x20
00001b0e: ADD
00001b0f: SWAP1
00001b10: POP
00001b11: PUSH1 0x40
00001b13: MLOAD
00001b14: DUP1
00001b15: SWAP2
00001b16: SUB
00001b17: SWAP1
00001b18: LOG1
00001b19: POP
00001b1a: JUMP
00001b1b: JUMPDEST
00001b1c: PUSH1 0x09
00001b1e: SLOAD
00001b1f: PUSH1 0x00
00001b21: SWAP1
00001b22: DUP2
00001b23: SWAP1
00001b24: DUP2
00001b25: SWAP1
00001b26: PUSH1 0x01
00001b28: PUSH1 0x01
00001b2a: PUSH1 0xa0
00001b2c: SHL
00001b2d: SUB
00001b2e: AND
00001b2f: CALLER
00001b30: EQ
00001b31: PUSH2 0x1b4d
00001b34: JUMPI
00001b35: PUSH1 0x40
00001b37: MLOAD
00001b38: PUSH4 0x6edaef2f
00001b3d: PUSH1 0xe1
00001b3f: SHL
00001b40: DUP2
00001b41: MSTORE
00001b42: PUSH1 0x04
00001b44: ADD
00001b45: PUSH1 0x40
00001b47: MLOAD
00001b48: DUP1
00001b49: SWAP2
00001b4a: SUB
00001b4b: SWAP1
00001b4c: REVERT
00001b4d: JUMPDEST
00001b4e: PUSH1 0x0c
00001b50: SLOAD
00001b51: PUSH2 0x0100
00001b54: SWAP1
00001b55: DIV
00001b56: PUSH1 0xff
00001b58: AND
00001b59: PUSH2 0x1b75
00001b5c: JUMPI
00001b5d: PUSH1 0x40
00001b5f: MLOAD
00001b60: PUSH4 0x2f8268ed
00001b65: PUSH1 0xe0
00001b67: SHL
00001b68: DUP2
00001b69: MSTORE
00001b6a: PUSH1 0x04
00001b6c: ADD
00001b6d: PUSH1 0x40
00001b6f: MLOAD
00001b70: DUP1
00001b71: SWAP2
00001b72: SUB
00001b73: SWAP1
00001b74: REVERT
00001b75: JUMPDEST
00001b76: PUSH1 0x0e
00001b78: SLOAD
00001b79: PUSH1 0x01
00001b7b: PUSH1 0xa0
00001b7d: SHL
00001b7e: SWAP1
00001b7f: DIV
00001b80: PUSH6 0xffffffffffff
00001b87: AND
00001b88: TIMESTAMP
00001b89: GT
00001b8a: DUP1
00001b8b: PUSH2 0x1ba4
00001b8e: JUMPI
00001b8f: POP
00001b90: PUSH1 0x0f
00001b92: SLOAD
00001b93: PUSH1 0x01
00001b95: PUSH1 0xa0
00001b97: SHL
00001b98: SWAP1
00001b99: DIV
00001b9a: PUSH6 0xffffffffffff
00001ba1: AND
00001ba2: TIMESTAMP
00001ba3: LT
00001ba4: JUMPDEST
00001ba5: ISZERO
00001ba6: PUSH2 0x1bdb
00001ba9: JUMPI
00001baa: PUSH1 0x40
00001bac: MLOAD
00001bad: PUSH32 0x37a5533500000000000000000000000000000000000000000000000000000000
00001bce: DUP2
00001bcf: MSTORE
00001bd0: PUSH1 0x04
00001bd2: ADD
00001bd3: PUSH1 0x40
00001bd5: MLOAD
00001bd6: DUP1
00001bd7: SWAP2
00001bd8: SUB
00001bd9: SWAP1
00001bda: REVERT
00001bdb: JUMPDEST
00001bdc: PUSH1 0x01
00001bde: PUSH1 0x01
00001be0: PUSH1 0x80
00001be2: SHL
00001be3: SUB
00001be4: DUP5
00001be5: AND
00001be6: ISZERO
00001be7: DUP1
00001be8: PUSH2 0x1c4c
00001beb: JUMPI
00001bec: POP
00001bed: PUSH1 0x11
00001bef: SLOAD
00001bf0: PUSH1 0x10
00001bf2: SLOAD
00001bf3: PUSH2 0x1c0f
00001bf6: SWAP2
00001bf7: PUSH8 0xffffffffffffffff
00001c00: AND
00001c01: SWAP1
00001c02: PUSH1 0x01
00001c04: PUSH1 0x01
00001c06: PUSH1 0x80
00001c08: SHL
00001c09: SUB
00001c0a: AND
00001c0b: PUSH2 0x3eab
00001c0e: JUMP
00001c0f: JUMPDEST
00001c10: PUSH1 0x08
00001c12: SLOAD
00001c13: PUSH8 0x0de0b6b3a7640000
00001c1c: SWAP1
00001c1d: PUSH2 0x1c37
00001c20: SWAP1
00001c21: DUP8
00001c22: SWAP1
00001c23: PUSH1 0x01
00001c25: PUSH1 0x80
00001c27: SHL
00001c28: SWAP1
00001c29: DIV
00001c2a: PUSH1 0x01
00001c2c: PUSH1 0x01
00001c2e: PUSH1 0x80
00001c30: SHL
00001c31: SUB
00001c32: AND
00001c33: PUSH2 0x46a9
00001c36: JUMP
00001c37: JUMPDEST
00001c38: PUSH1 0x01
00001c3a: PUSH1 0x01
00001c3c: PUSH1 0x80
00001c3e: SHL
00001c3f: SUB
00001c40: AND
00001c41: PUSH2 0x1c4a
00001c44: SWAP2
00001c45: SWAP1
00001c46: PUSH2 0x3eab
00001c49: JUMP
00001c4a: JUMPDEST
00001c4b: GT
00001c4c: JUMPDEST
00001c4d: ISZERO
00001c4e: PUSH2 0x1c83
00001c51: JUMPI
00001c52: PUSH1 0x40
00001c54: MLOAD
00001c55: PUSH32 0x3894de6400000000000000000000000000000000000000000000000000000000
00001c76: DUP2
00001c77: MSTORE
00001c78: PUSH1 0x04
00001c7a: ADD
00001c7b: PUSH1 0x40
00001c7d: MLOAD
00001c7e: DUP1
00001c7f: SWAP2
00001c80: SUB
00001c81: SWAP1
00001c82: REVERT
00001c83: JUMPDEST
00001c84: PUSH1 0x0f
00001c86: SLOAD
00001c87: PUSH1 0x10
00001c89: SLOAD
00001c8a: PUSH1 0x0e
00001c8c: SLOAD
00001c8d: PUSH1 0x40
00001c8f: DUP1
00001c90: MLOAD
00001c91: PUSH4 0x313ce567
00001c96: PUSH1 0xe0
00001c98: SHL
00001c99: DUP2
00001c9a: MSTORE
00001c9b: SWAP1
00001c9c: MLOAD
00001c9d: PUSH1 0x01
00001c9f: PUSH1 0x01
00001ca1: PUSH1 0xa0
00001ca3: SHL
00001ca4: SUB
00001ca5: SWAP5
00001ca6: DUP6
00001ca7: AND
00001ca8: SWAP8
00001ca9: POP
00001caa: PUSH2 0x1d1d
00001cad: SWAP5
00001cae: PUSH1 0x01
00001cb0: PUSH1 0x01
00001cb2: PUSH1 0x80
00001cb4: SHL
00001cb5: SUB
00001cb6: PUSH1 0x01
00001cb8: PUSH1 0x80
00001cba: SHL
00001cbb: SWAP1
00001cbc: SWAP6
00001cbd: DIV
00001cbe: DUP6
00001cbf: AND
00001cc0: SWAP5
00001cc1: DUP11
00001cc2: AND
00001cc3: SWAP4
00001cc4: AND
00001cc5: SWAP2
00001cc6: PUSH4 0x313ce567
00001ccb: SWAP2
00001ccc: PUSH1 0x04
00001cce: DUP1
00001ccf: DUP4
00001cd0: ADD
00001cd1: SWAP3
00001cd2: PUSH1 0x20
00001cd4: SWAP3
00001cd5: SWAP2
00001cd6: SWAP1
00001cd7: DUP3
00001cd8: SWAP1
00001cd9: SUB
00001cda: ADD
00001cdb: DUP2
00001cdc: DUP7
00001cdd: GAS
00001cde: STATICCALL
00001cdf: ISZERO
00001ce0: DUP1
00001ce1: ISZERO
00001ce2: PUSH2 0x1cef
00001ce5: JUMPI
00001ce6: RETURNDATASIZE
00001ce7: PUSH1 0x00
00001ce9: DUP1
00001cea: RETURNDATACOPY
00001ceb: RETURNDATASIZE
00001cec: PUSH1 0x00
00001cee: REVERT
00001cef: JUMPDEST
00001cf0: POP
00001cf1: POP
00001cf2: POP
00001cf3: POP
00001cf4: PUSH1 0x40
00001cf6: MLOAD
00001cf7: RETURNDATASIZE
00001cf8: PUSH1 0x1f
00001cfa: NOT
00001cfb: PUSH1 0x1f
00001cfd: DUP3
00001cfe: ADD
00001cff: AND
00001d00: DUP3
00001d01: ADD
00001d02: DUP1
00001d03: PUSH1 0x40
00001d05: MSTORE
00001d06: POP
00001d07: DUP2
00001d08: ADD
00001d09: SWAP1
00001d0a: PUSH2 0x1d13
00001d0d: SWAP2
00001d0e: SWAP1
00001d0f: PUSH2 0x3d7f
00001d12: JUMP
00001d13: JUMPDEST
00001d14: PUSH1 0xff
00001d16: AND
00001d17: PUSH1 0x01
00001d19: PUSH2 0x2c6b
00001d1c: JUMP
00001d1d: JUMPDEST
00001d1e: PUSH1 0x0b
00001d20: SLOAD
00001d21: SWAP1
00001d22: SWAP3
00001d23: POP
00001d24: PUSH8 0x0de0b6b3a7640000
00001d2d: SWAP1
00001d2e: PUSH2 0x1d4c
00001d31: SWAP1
00001d32: PUSH1 0x01
00001d34: PUSH1 0xa0
00001d36: SHL
00001d37: SWAP1
00001d38: DIV
00001d39: PUSH12 0xffffffffffffffffffffffff
00001d46: AND
00001d47: DUP5
00001d48: PUSH2 0x3eab
00001d4b: JUMP
00001d4c: JUMPDEST
00001d4d: PUSH2 0x1d56
00001d50: SWAP2
00001d51: SWAP1
00001d52: PUSH2 0x3ec2
00001d55: JUMP
00001d56: JUMPDEST
00001d57: SWAP1
00001d58: POP
00001d59: DUP4
00001d5a: PUSH1 0x08
00001d5c: PUSH1 0x10
00001d5e: DUP3
00001d5f: DUP3
00001d60: DUP3
00001d61: SWAP1
00001d62: SLOAD
00001d63: SWAP1
00001d64: PUSH2 0x0100
00001d67: EXP
00001d68: SWAP1
00001d69: DIV
00001d6a: PUSH1 0x01
00001d6c: PUSH1 0x01
00001d6e: PUSH1 0x80
00001d70: SHL
00001d71: SUB
00001d72: AND
00001d73: PUSH2 0x1d7c
00001d76: SWAP2
00001d77: SWAP1
00001d78: PUSH2 0x46a9
00001d7b: JUMP
00001d7c: JUMPDEST
00001d7d: SWAP3
00001d7e: POP
00001d7f: PUSH2 0x0100
00001d82: EXP
00001d83: DUP2
00001d84: SLOAD
00001d85: DUP2
00001d86: PUSH1 0x01
00001d88: PUSH1 0x01
00001d8a: PUSH1 0x80
00001d8c: SHL
00001d8d: SUB
00001d8e: MUL
00001d8f: NOT
00001d90: AND
00001d91: SWAP1
00001d92: DUP4
00001d93: PUSH1 0x01
00001d95: PUSH1 0x01
00001d97: PUSH1 0x80
00001d99: SHL
00001d9a: SUB
00001d9b: AND
00001d9c: MUL
00001d9d: OR
00001d9e: SWAP1
00001d9f: SSTORE
00001da0: POP
00001da1: DUP4
00001da2: PUSH1 0x01
00001da4: PUSH1 0x01
00001da6: PUSH1 0x80
00001da8: SHL
00001da9: SUB
00001daa: AND
00001dab: PUSH1 0x0d
00001dad: PUSH1 0x00
00001daf: DUP9
00001db0: PUSH1 0x01
00001db2: PUSH1 0x01
00001db4: PUSH1 0xa0
00001db6: SHL
00001db7: SUB
00001db8: AND
00001db9: PUSH1 0x01
00001dbb: PUSH1 0x01
00001dbd: PUSH1 0xa0
00001dbf: SHL
00001dc0: SUB
00001dc1: AND
00001dc2: DUP2
00001dc3: MSTORE
00001dc4: PUSH1 0x20
00001dc6: ADD
00001dc7: SWAP1
00001dc8: DUP2
00001dc9: MSTORE
00001dca: PUSH1 0x20
00001dcc: ADD
00001dcd: PUSH1 0x00
00001dcf: KECCAK256
00001dd0: PUSH1 0x00
00001dd2: DUP3
00001dd3: DUP3
00001dd4: SLOAD
00001dd5: PUSH2 0x1dde
00001dd8: SWAP2
00001dd9: SWAP1
00001dda: PUSH2 0x3ee4
00001ddd: JUMP
00001dde: JUMPDEST
00001ddf: SWAP1
00001de0: SWAP2
00001de1: SSTORE
00001de2: POP
00001de3: PUSH2 0x1df7
00001de6: SWAP1
00001de7: POP
00001de8: DUP7
00001de9: PUSH1 0x01
00001deb: PUSH1 0x01
00001ded: PUSH1 0x80
00001def: SHL
00001df0: SUB
00001df1: DUP7
00001df2: AND
00001df3: PUSH2 0x2d4b
00001df6: JUMP
00001df7: JUMPDEST
00001df8: PUSH1 0x0e
00001dfa: SLOAD
00001dfb: PUSH2 0x1e17
00001dfe: SWAP1
00001dff: PUSH1 0x01
00001e01: PUSH1 0x01
00001e03: PUSH1 0xa0
00001e05: SHL
00001e06: SUB
00001e07: AND
00001e08: DUP7
00001e09: PUSH1 0x01
00001e0b: PUSH1 0x01
00001e0d: PUSH1 0x80
00001e0f: SHL
00001e10: SUB
00001e11: DUP8
00001e12: AND
00001e13: PUSH2 0x2ccb
00001e16: JUMP
00001e17: JUMPDEST
00001e18: SWAP4
00001e19: POP
00001e1a: SWAP4
00001e1b: POP
00001e1c: SWAP4
00001e1d: SWAP1
00001e1e: POP
00001e1f: JUMP
00001e20: JUMPDEST
00001e21: PUSH1 0x09
00001e23: SLOAD
00001e24: PUSH1 0x00
00001e26: SWAP1
00001e27: DUP2
00001e28: SWAP1
00001e29: PUSH1 0x01
00001e2b: PUSH1 0x01
00001e2d: PUSH1 0xa0
00001e2f: SHL
00001e30: SUB
00001e31: AND
00001e32: CALLER
00001e33: EQ
00001e34: PUSH2 0x1e50
00001e37: JUMPI
00001e38: PUSH1 0x40
00001e3a: MLOAD
00001e3b: PUSH4 0x6edaef2f
00001e40: PUSH1 0xe1
00001e42: SHL
00001e43: DUP2
00001e44: MSTORE
00001e45: PUSH1 0x04
00001e47: ADD
00001e48: PUSH1 0x40
00001e4a: MLOAD
00001e4b: DUP1
00001e4c: SWAP2
00001e4d: SUB
00001e4e: SWAP1
00001e4f: REVERT
00001e50: JUMPDEST
00001e51: PUSH1 0x0c
00001e53: SLOAD
00001e54: PUSH2 0x0100
00001e57: SWAP1
00001e58: DIV
00001e59: PUSH1 0xff
00001e5b: AND
00001e5c: PUSH2 0x1e78
00001e5f: JUMPI
00001e60: PUSH1 0x40
00001e62: MLOAD
00001e63: PUSH4 0x2f8268ed
00001e68: PUSH1 0xe0
00001e6a: SHL
00001e6b: DUP2
00001e6c: MSTORE
00001e6d: PUSH1 0x04
00001e6f: ADD
00001e70: PUSH1 0x40
00001e72: MLOAD
00001e73: DUP1
00001e74: SWAP2
00001e75: SUB
00001e76: SWAP1
00001e77: REVERT
00001e78: JUMPDEST
00001e79: PUSH1 0x0e
00001e7b: SLOAD
00001e7c: PUSH1 0x01
00001e7e: PUSH1 0xa0
00001e80: SHL
00001e81: SWAP1
00001e82: DIV
00001e83: PUSH6 0xffffffffffff
00001e8a: AND
00001e8b: TIMESTAMP
00001e8c: GT
00001e8d: ISZERO
00001e8e: PUSH2 0x1ec3
00001e91: JUMPI
00001e92: PUSH1 0x40
00001e94: MLOAD
00001e95: PUSH32 0x4aa1f71500000000000000000000000000000000000000000000000000000000
00001eb6: DUP2
00001eb7: MSTORE
00001eb8: PUSH1 0x04
00001eba: ADD
00001ebb: PUSH1 0x40
00001ebd: MLOAD
00001ebe: DUP1
00001ebf: SWAP2
00001ec0: SUB
00001ec1: SWAP1
00001ec2: REVERT
00001ec3: JUMPDEST
00001ec4: PUSH1 0x08
00001ec6: SLOAD
00001ec7: PUSH1 0x01
00001ec9: PUSH1 0x80
00001ecb: SHL
00001ecc: SWAP1
00001ecd: DIV
00001ece: PUSH1 0x01
00001ed0: PUSH1 0x01
00001ed2: PUSH1 0x80
00001ed4: SHL
00001ed5: SUB
00001ed6: AND
00001ed7: PUSH1 0x00
00001ed9: SUB
00001eda: PUSH2 0x1f0f
00001edd: JUMPI
00001ede: PUSH1 0x40
00001ee0: MLOAD
00001ee1: PUSH32 0xd32e7fc600000000000000000000000000000000000000000000000000000000
00001f02: DUP2
00001f03: MSTORE
00001f04: PUSH1 0x04
00001f06: ADD
00001f07: PUSH1 0x40
00001f09: MLOAD
00001f0a: DUP1
00001f0b: SWAP2
00001f0c: SUB
00001f0d: SWAP1
00001f0e: REVERT
00001f0f: JUMPDEST
00001f10: PUSH1 0x01
00001f12: PUSH1 0x01
00001f14: PUSH1 0x80
00001f16: SHL
00001f17: SUB
00001f18: DUP4
00001f19: AND
00001f1a: ISZERO
00001f1b: DUP1
00001f1c: PUSH2 0x1f45
00001f1f: JUMPI
00001f20: POP
00001f21: PUSH1 0x01
00001f23: PUSH1 0x01
00001f25: PUSH1 0xa0
00001f27: SHL
00001f28: SUB
00001f29: DUP6
00001f2a: AND
00001f2b: PUSH1 0x00
00001f2d: SWAP1
00001f2e: DUP2
00001f2f: MSTORE
00001f30: PUSH1 0x0d
00001f32: PUSH1 0x20
00001f34: MSTORE
00001f35: PUSH1 0x40
00001f37: SWAP1
00001f38: KECCAK256
00001f39: SLOAD
00001f3a: PUSH1 0x01
00001f3c: PUSH1 0x01
00001f3e: PUSH1 0x80
00001f40: SHL
00001f41: SUB
00001f42: DUP5
00001f43: AND
00001f44: GT
00001f45: JUMPDEST
00001f46: ISZERO
00001f47: PUSH2 0x1f7c
00001f4a: JUMPI
00001f4b: PUSH1 0x40
00001f4d: MLOAD
00001f4e: PUSH32 0x3d56fe3400000000000000000000000000000000000000000000000000000000
00001f6f: DUP2
00001f70: MSTORE
00001f71: PUSH1 0x04
00001f73: ADD
00001f74: PUSH1 0x40
00001f76: MLOAD
00001f77: DUP1
00001f78: SWAP2
00001f79: SUB
00001f7a: SWAP1
00001f7b: REVERT
00001f7c: JUMPDEST
00001f7d: PUSH1 0x0e
00001f7f: SLOAD
00001f80: PUSH1 0x10
00001f82: SLOAD
00001f83: PUSH1 0x40
00001f85: DUP1
00001f86: MLOAD
00001f87: PUSH4 0x313ce567
00001f8c: PUSH1 0xe0
00001f8e: SHL
00001f8f: DUP2
00001f90: MSTORE
00001f91: SWAP1
00001f92: MLOAD
00001f93: PUSH1 0x01
00001f95: PUSH1 0x01
00001f97: PUSH1 0xa0
00001f99: SHL
00001f9a: SUB
00001f9b: SWAP1
00001f9c: SWAP4
00001f9d: AND
00001f9e: SWAP5
00001f9f: POP
00001fa0: PUSH2 0x2014
00001fa3: SWAP3
00001fa4: PUSH1 0x01
00001fa6: PUSH1 0x01
00001fa8: PUSH1 0x80
00001faa: SHL
00001fab: SUB
00001fac: PUSH1 0x01
00001fae: PUSH1 0x80
00001fb0: SHL
00001fb1: SWAP1
00001fb2: SWAP4
00001fb3: DIV
00001fb4: DUP4
00001fb5: AND
00001fb6: SWAP3
00001fb7: DUP8
00001fb8: AND
00001fb9: SWAP2
00001fba: DUP7
00001fbb: SWAP2
00001fbc: PUSH4 0x313ce567
00001fc1: SWAP2
00001fc2: PUSH1 0x04
00001fc4: DUP1
00001fc5: DUP3
00001fc6: ADD
00001fc7: SWAP3
00001fc8: PUSH1 0x20
00001fca: SWAP3
00001fcb: SWAP1
00001fcc: SWAP2
00001fcd: SWAP1
00001fce: DUP3
00001fcf: SWAP1
00001fd0: SUB
00001fd1: ADD
00001fd2: DUP2
00001fd3: DUP7
00001fd4: GAS
00001fd5: STATICCALL
00001fd6: ISZERO
00001fd7: DUP1
00001fd8: ISZERO
00001fd9: PUSH2 0x1fe6
00001fdc: JUMPI
00001fdd: RETURNDATASIZE
00001fde: PUSH1 0x00
00001fe0: DUP1
00001fe1: RETURNDATACOPY
00001fe2: RETURNDATASIZE
00001fe3: PUSH1 0x00
00001fe5: REVERT
00001fe6: JUMPDEST
00001fe7: POP
00001fe8: POP
00001fe9: POP
00001fea: POP
00001feb: PUSH1 0x40
00001fed: MLOAD
00001fee: RETURNDATASIZE
00001fef: PUSH1 0x1f
00001ff1: NOT
00001ff2: PUSH1 0x1f
00001ff4: DUP3
00001ff5: ADD
00001ff6: AND
00001ff7: DUP3
00001ff8: ADD
00001ff9: DUP1
00001ffa: PUSH1 0x40
00001ffc: MSTORE
00001ffd: POP
00001ffe: DUP2
00001fff: ADD
00002000: SWAP1
00002001: PUSH2 0x200a
00002004: SWAP2
00002005: SWAP1
00002006: PUSH2 0x3d7f
00002009: JUMP
0000200a: JUMPDEST
0000200b: PUSH1 0xff
0000200d: AND
0000200e: PUSH1 0x00
00002010: PUSH2 0x2c6b
00002013: JUMP
00002014: JUMPDEST
00002015: PUSH1 0x08
00002017: DUP1
00002018: SLOAD
00002019: PUSH1 0x01
0000201b: PUSH1 0x01
0000201d: PUSH1 0x80
0000201f: SHL
00002020: SUB
00002021: PUSH1 0x01
00002023: PUSH1 0x80
00002025: SHL
00002026: DUP1
00002027: DUP4
00002028: DIV
00002029: DUP3
0000202a: AND
0000202b: DUP9
0000202c: SWAP1
0000202d: SUB
0000202e: DUP3
0000202f: AND
00002030: MUL
00002031: SWAP2
00002032: DUP2
00002033: AND
00002034: SWAP2
00002035: SWAP1
00002036: SWAP2
00002037: OR
00002038: SWAP1
00002039: SWAP2
0000203a: SSTORE
0000203b: PUSH1 0x01
0000203d: PUSH1 0x01
0000203f: PUSH1 0xa0
00002041: SHL
00002042: SUB
00002043: DUP8
00002044: AND
00002045: PUSH1 0x00
00002047: SWAP1
00002048: DUP2
00002049: MSTORE
0000204a: PUSH1 0x0d
0000204c: PUSH1 0x20
0000204e: MSTORE
0000204f: PUSH1 0x40
00002051: SWAP1
00002052: KECCAK256
00002053: DUP1
00002054: SLOAD
00002055: SWAP2
00002056: DUP7
00002057: AND
00002058: SWAP2
00002059: DUP3
0000205a: SWAP1
0000205b: SUB
0000205c: SWAP1
0000205d: SSTORE
0000205e: SWAP1
0000205f: SWAP2
00002060: POP
00002061: PUSH2 0x206b
00002064: SWAP1
00002065: DUP7
00002066: SWAP1
00002067: PUSH2 0x2dab
0000206a: JUMP
0000206b: JUMPDEST
0000206c: PUSH1 0x0f
0000206e: SLOAD
0000206f: PUSH2 0x0d06
00002072: SWAP1
00002073: PUSH1 0x01
00002075: PUSH1 0x01
00002077: PUSH1 0xa0
00002079: SHL
0000207a: SUB
0000207b: AND
0000207c: DUP6
0000207d: DUP4
0000207e: PUSH2 0x2ccb
00002081: JUMP
00002082: JUMPDEST
00002083: PUSH1 0x0a
00002085: SLOAD
00002086: PUSH1 0x01
00002088: PUSH1 0x01
0000208a: PUSH1 0xa0
0000208c: SHL
0000208d: SUB
0000208e: AND
0000208f: CALLER
00002090: DUP2
00002091: EQ
00002092: PUSH2 0x20ae
00002095: JUMPI
00002096: PUSH1 0x40
00002098: MLOAD
00002099: PUSH4 0x6edaef2f
0000209e: PUSH1 0xe1
000020a0: SHL
000020a1: DUP2
000020a2: MSTORE
000020a3: PUSH1 0x04
000020a5: ADD
000020a6: PUSH1 0x40
000020a8: MLOAD
000020a9: DUP1
000020aa: SWAP2
000020ab: SUB
000020ac: SWAP1
000020ad: REVERT
000020ae: JUMPDEST
000020af: CALLER
000020b0: PUSH1 0x00
000020b2: SWAP1
000020b3: DUP2
000020b4: MSTORE
000020b5: PUSH1 0x20
000020b7: DUP2
000020b8: SWAP1
000020b9: MSTORE
000020ba: PUSH1 0x40
000020bc: DUP2
000020bd: KECCAK256
000020be: SLOAD
000020bf: SWAP1
000020c0: DUP2
000020c1: SWAP1
000020c2: SUB
000020c3: PUSH2 0x20f8
000020c6: JUMPI
000020c7: PUSH1 0x40
000020c9: MLOAD
000020ca: PUSH32 0x9890af6000000000000000000000000000000000000000000000000000000000
000020eb: DUP2
000020ec: MSTORE
000020ed: PUSH1 0x04
000020ef: ADD
000020f0: PUSH1 0x40
000020f2: MLOAD
000020f3: DUP1
000020f4: SWAP2
000020f5: SUB
000020f6: SWAP1
000020f7: REVERT
000020f8: JUMPDEST
000020f9: PUSH1 0x0e
000020fb: SLOAD
000020fc: PUSH1 0x01
000020fe: PUSH1 0x01
00002100: PUSH1 0xa0
00002102: SHL
00002103: SUB
00002104: AND
00002105: PUSH2 0x210e
00002108: CALLER
00002109: DUP4
0000210a: PUSH2 0x2d4b
0000210d: JUMP
0000210e: JUMPDEST
0000210f: PUSH2 0x2122
00002112: PUSH1 0x01
00002114: PUSH1 0x01
00002116: PUSH1 0xa0
00002118: SHL
00002119: SUB
0000211a: DUP3
0000211b: AND
0000211c: DUP6
0000211d: DUP5
0000211e: PUSH2 0x2ccb
00002121: JUMP
00002122: JUMPDEST
00002123: PUSH1 0x40
00002125: DUP1
00002126: MLOAD
00002127: PUSH1 0x01
00002129: PUSH1 0x01
0000212b: PUSH1 0xa0
0000212d: SHL
0000212e: SUB
0000212f: DUP7
00002130: DUP2
00002131: AND
00002132: DUP3
00002133: MSTORE
00002134: DUP4
00002135: AND
00002136: PUSH1 0x20
00002138: DUP3
00002139: ADD
0000213a: MSTORE
0000213b: SWAP1
0000213c: DUP2
0000213d: ADD
0000213e: DUP4
0000213f: SWAP1
00002140: MSTORE
00002141: CALLER
00002142: SWAP1
00002143: PUSH32 0xee02732fab40ece8284c756220846dff4b8d32058b86b35b4f0459bf172fcef0
00002164: SWAP1
00002165: PUSH1 0x60
00002167: ADD
00002168: PUSH1 0x40
0000216a: MLOAD
0000216b: DUP1
0000216c: SWAP2
0000216d: SUB
0000216e: SWAP1
0000216f: LOG2
00002170: POP
00002171: POP
00002172: POP
00002173: POP
00002174: JUMP
00002175: JUMPDEST
00002176: PUSH1 0x60
00002178: PUSH1 0x07
0000217a: DUP1
0000217b: SLOAD
0000217c: PUSH2 0x07dd
0000217f: SWAP1
00002180: PUSH2 0x3cab
00002183: JUMP
00002184: JUMPDEST
00002185: PUSH1 0x40
00002187: DUP1
00002188: MLOAD
00002189: PUSH2 0x0180
0000218c: DUP2
0000218d: ADD
0000218e: DUP3
0000218f: MSTORE
00002190: PUSH1 0x00
00002192: DUP1
00002193: DUP3
00002194: MSTORE
00002195: PUSH1 0x20
00002197: DUP3
00002198: ADD
00002199: DUP2
0000219a: SWAP1
0000219b: MSTORE
0000219c: SWAP2
0000219d: DUP2
0000219e: ADD
0000219f: DUP3
000021a0: SWAP1
000021a1: MSTORE
000021a2: PUSH1 0x60
000021a4: DUP2
000021a5: ADD
000021a6: DUP3
000021a7: SWAP1
000021a8: MSTORE
000021a9: PUSH1 0x80
000021ab: DUP2
000021ac: ADD
000021ad: DUP3
000021ae: SWAP1
000021af: MSTORE
000021b0: PUSH1 0xa0
000021b2: DUP2
000021b3: ADD
000021b4: DUP3
000021b5: SWAP1
000021b6: MSTORE
000021b7: PUSH1 0xc0
000021b9: DUP2
000021ba: ADD
000021bb: DUP3
000021bc: SWAP1
000021bd: MSTORE
000021be: PUSH1 0xe0
000021c0: DUP2
000021c1: ADD
000021c2: DUP3
000021c3: SWAP1
000021c4: MSTORE
000021c5: PUSH2 0x0100
000021c8: DUP2
000021c9: ADD
000021ca: DUP3
000021cb: SWAP1
000021cc: MSTORE
000021cd: PUSH2 0x0120
000021d0: DUP2
000021d1: ADD
000021d2: DUP3
000021d3: SWAP1
000021d4: MSTORE
000021d5: PUSH2 0x0140
000021d8: DUP2
000021d9: ADD
000021da: DUP3
000021db: SWAP1
000021dc: MSTORE
000021dd: PUSH2 0x0160
000021e0: DUP2
000021e1: ADD
000021e2: SWAP2
000021e3: SWAP1
000021e4: SWAP2
000021e5: MSTORE
000021e6: PUSH1 0x09
000021e8: SLOAD
000021e9: PUSH1 0x00
000021eb: SWAP1
000021ec: PUSH1 0x01
000021ee: PUSH1 0x01
000021f0: PUSH1 0xa0
000021f2: SHL
000021f3: SUB
000021f4: AND
000021f5: CALLER
000021f6: DUP2
000021f7: EQ
000021f8: PUSH2 0x2214
000021fb: JUMPI
000021fc: PUSH1 0x40
000021fe: MLOAD
000021ff: PUSH4 0x6edaef2f
00002204: PUSH1 0xe1
00002206: SHL
00002207: DUP2
00002208: MSTORE
00002209: PUSH1 0x04
0000220b: ADD
0000220c: PUSH1 0x40
0000220e: MLOAD
0000220f: DUP1
00002210: SWAP2
00002211: SUB
00002212: SWAP1
00002213: REVERT
00002214: JUMPDEST
00002215: PUSH2 0x221f
00002218: DUP8
00002219: DUP7
0000221a: DUP7
0000221b: PUSH2 0x087a
0000221e: JUMP
0000221f: JUMPDEST
00002220: SWAP1
00002221: SWAP4
00002222: POP
00002223: SWAP2
00002224: POP
00002225: PUSH1 0x00
00002227: DUP4
00002228: MLOAD
00002229: PUSH1 0x05
0000222b: DUP2
0000222c: GT
0000222d: ISZERO
0000222e: PUSH2 0x2239
00002231: JUMPI
00002232: PUSH2 0x2239
00002235: PUSH2 0x3763
00002238: JUMP
00002239: JUMPDEST
0000223a: EQ
0000223b: PUSH2 0x2270
0000223e: JUMPI
0000223f: PUSH1 0x40
00002241: MLOAD
00002242: PUSH32 0xc6388ef700000000000000000000000000000000000000000000000000000000
00002263: DUP2
00002264: MSTORE
00002265: PUSH1 0x04
00002267: ADD
00002268: PUSH1 0x40
0000226a: MLOAD
0000226b: DUP1
0000226c: SWAP2
0000226d: SUB
0000226e: SWAP1
0000226f: REVERT
00002270: JUMPDEST
00002271: PUSH1 0x60
00002273: DUP4
00002274: ADD
00002275: MLOAD
00002276: PUSH1 0x10
00002278: DUP1
00002279: SLOAD
0000227a: PUSH1 0x01
0000227c: PUSH1 0x01
0000227e: PUSH1 0x80
00002280: SHL
00002281: SUB
00002282: SWAP3
00002283: DUP4
00002284: AND
00002285: PUSH1 0x01
00002287: PUSH1 0x80
00002289: SHL
0000228a: MUL
0000228b: SWAP1
0000228c: DUP4
0000228d: AND
0000228e: DUP2
0000228f: DUP2
00002290: OR
00002291: SWAP1
00002292: SWAP3
00002293: SSTORE
00002294: PUSH1 0x80
00002296: DUP7
00002297: ADD
00002298: MLOAD
00002299: PUSH1 0x0e
0000229b: DUP1
0000229c: SLOAD
0000229d: PUSH6 0xffffffffffff
000022a4: SWAP3
000022a5: DUP4
000022a6: AND
000022a7: PUSH1 0x01
000022a9: PUSH1 0xa0
000022ab: SHL
000022ac: SWAP1
000022ad: DUP2
000022ae: MUL
000022af: PUSH6 0xffffffffffff
000022b6: PUSH1 0xa0
000022b8: SHL
000022b9: NOT
000022ba: SWAP3
000022bb: DUP4
000022bc: AND
000022bd: OR
000022be: SWAP1
000022bf: SWAP3
000022c0: SSTORE
000022c1: PUSH1 0xa0
000022c3: DUP10
000022c4: ADD
000022c5: MLOAD
000022c6: PUSH1 0x0f
000022c8: DUP1
000022c9: SLOAD
000022ca: SWAP2
000022cb: SWAP1
000022cc: SWAP5
000022cd: AND
000022ce: SWAP1
000022cf: SWAP3
000022d0: MUL
000022d1: SWAP2
000022d2: AND
000022d3: OR
000022d4: SWAP1
000022d5: SSTORE
000022d6: PUSH1 0xc0
000022d8: DUP7
000022d9: ADD
000022da: MLOAD
000022db: PUSH1 0x08
000022dd: DUP1
000022de: SLOAD
000022df: SWAP2
000022e0: DUP6
000022e1: AND
000022e2: PUSH1 0x01
000022e4: PUSH1 0x01
000022e6: PUSH1 0x80
000022e8: SHL
000022e9: SUB
000022ea: NOT
000022eb: SWAP3
000022ec: SWAP1
000022ed: SWAP3
000022ee: AND
000022ef: SWAP2
000022f0: SWAP1
000022f1: SWAP2
000022f2: OR
000022f3: SWAP1
000022f4: SSTORE
000022f5: PUSH2 0x2303
000022f8: SWAP3
000022f9: DUP10
000022fa: SWAP3
000022fb: SWAP2
000022fc: AND
000022fd: OR
000022fe: DUP4
000022ff: PUSH2 0x2d85
00002302: JUMP
00002303: JUMPDEST
00002304: POP
00002305: SWAP5
00002306: POP
00002307: SWAP5
00002308: SWAP3
00002309: POP
0000230a: POP
0000230b: POP
0000230c: JUMP
0000230d: JUMPDEST
0000230e: PUSH1 0x00
00002310: PUSH2 0x2319
00002313: DUP4
00002314: DUP4
00002315: PUSH2 0x2de1
00002318: JUMP
00002319: JUMPDEST
0000231a: PUSH1 0x09
0000231c: SLOAD
0000231d: PUSH1 0x40
0000231f: MLOAD
00002320: PUSH4 0x536a4ee5
00002325: PUSH1 0xe1
00002327: SHL
00002328: DUP2
00002329: MSTORE
0000232a: CALLER
0000232b: PUSH1 0x04
0000232d: DUP3
0000232e: ADD
0000232f: MSTORE
00002330: PUSH1 0x01
00002332: PUSH1 0x01
00002334: PUSH1 0xa0
00002336: SHL
00002337: SUB
00002338: DUP7
00002339: DUP2
0000233a: AND
0000233b: PUSH1 0x24
0000233d: DUP4
0000233e: ADD
0000233f: MSTORE
00002340: PUSH1 0x44
00002342: DUP3
00002343: ADD
00002344: DUP7
00002345: SWAP1
00002346: MSTORE
00002347: SWAP3
00002348: SWAP4
00002349: POP
0000234a: SWAP2
0000234b: AND
0000234c: SWAP1
0000234d: PUSH4 0xa6d49dca
00002352: SWAP1
00002353: PUSH1 0x64
00002355: ADD
00002356: PUSH1 0x00
00002358: PUSH1 0x40
0000235a: MLOAD
0000235b: DUP1
0000235c: DUP4
0000235d: SUB
0000235e: DUP2
0000235f: PUSH1 0x00
00002361: DUP8
00002362: DUP1
00002363: EXTCODESIZE
00002364: ISZERO
00002365: DUP1
00002366: ISZERO
00002367: PUSH2 0x236f
0000236a: JUMPI
0000236b: PUSH1 0x00
0000236d: DUP1
0000236e: REVERT
0000236f: JUMPDEST
00002370: POP
00002371: GAS
00002372: CALL
00002373: ISZERO
00002374: DUP1
00002375: ISZERO
00002376: PUSH2 0x2383
00002379: JUMPI
0000237a: RETURNDATASIZE
0000237b: PUSH1 0x00
0000237d: DUP1
0000237e: RETURNDATACOPY
0000237f: RETURNDATASIZE
00002380: PUSH1 0x00
00002382: REVERT
00002383: JUMPDEST
00002384: POP
00002385: POP
00002386: POP
00002387: POP
00002388: SWAP3
00002389: SWAP2
0000238a: POP
0000238b: POP
0000238c: JUMP
0000238d: JUMPDEST
0000238e: PUSH1 0x09
00002390: SLOAD
00002391: PUSH1 0x01
00002393: PUSH1 0x01
00002395: PUSH1 0xa0
00002397: SHL
00002398: SUB
00002399: AND
0000239a: CALLER
0000239b: EQ
0000239c: DUP1
0000239d: ISZERO
0000239e: SWAP1
0000239f: PUSH2 0x23b3
000023a2: JUMPI
000023a3: POP
000023a4: PUSH1 0x0a
000023a6: SLOAD
000023a7: PUSH1 0x01
000023a9: PUSH1 0x01
000023ab: PUSH1 0xa0
000023ad: SHL
000023ae: SUB
000023af: AND
000023b0: CALLER
000023b1: EQ
000023b2: ISZERO
000023b3: JUMPDEST
000023b4: ISZERO
000023b5: PUSH2 0x23d1
000023b8: JUMPI
000023b9: PUSH1 0x40
000023bb: MLOAD
000023bc: PUSH4 0x6edaef2f
000023c1: PUSH1 0xe1
000023c3: SHL
000023c4: DUP2
000023c5: MSTORE
000023c6: PUSH1 0x04
000023c8: ADD
000023c9: PUSH1 0x40
000023cb: MLOAD
000023cc: DUP1
000023cd: SWAP2
000023ce: SUB
000023cf: SWAP1
000023d0: REVERT
000023d1: JUMPDEST
000023d2: PUSH1 0x0c
000023d4: SLOAD
000023d5: PUSH2 0x0100
000023d8: SWAP1
000023d9: DIV
000023da: PUSH1 0xff
000023dc: AND
000023dd: DUP1
000023de: ISZERO
000023df: PUSH2 0x23f9
000023e2: JUMPI
000023e3: POP
000023e4: PUSH1 0x0e
000023e6: SLOAD
000023e7: PUSH1 0x01
000023e9: PUSH1 0xa0
000023eb: SHL
000023ec: SWAP1
000023ed: DIV
000023ee: PUSH6 0xffffffffffff
000023f5: AND
000023f6: TIMESTAMP
000023f7: GT
000023f8: ISZERO
000023f9: JUMPDEST
000023fa: ISZERO
000023fb: PUSH2 0x2430
000023fe: JUMPI
000023ff: PUSH1 0x40
00002401: MLOAD
00002402: PUSH32 0x35411d8b00000000000000000000000000000000000000000000000000000000
00002423: DUP2
00002424: MSTORE
00002425: PUSH1 0x04
00002427: ADD
00002428: PUSH1 0x40
0000242a: MLOAD
0000242b: DUP1
0000242c: SWAP2
0000242d: SUB
0000242e: SWAP1
0000242f: REVERT
00002430: JUMPDEST
00002431: PUSH1 0x0c
00002433: SLOAD
00002434: PUSH2 0x0100
00002437: SWAP1
00002438: DIV
00002439: PUSH1 0xff
0000243b: AND
0000243c: PUSH2 0x2451
0000243f: JUMPI
00002440: PUSH1 0x0c
00002442: DUP1
00002443: SLOAD
00002444: PUSH3 0xff0000
00002448: NOT
00002449: AND
0000244a: PUSH3 0x010000
0000244e: OR
0000244f: SWAP1
00002450: SSTORE
00002451: JUMPDEST
00002452: PUSH2 0x2465
00002455: PUSH1 0x01
00002457: PUSH1 0x01
00002459: PUSH1 0xa0
0000245b: SHL
0000245c: SUB
0000245d: DUP4
0000245e: AND
0000245f: DUP5
00002460: DUP4
00002461: PUSH2 0x2ccb
00002464: JUMP
00002465: JUMPDEST
00002466: DUP2
00002467: PUSH1 0x01
00002469: PUSH1 0x01
0000246b: PUSH1 0xa0
0000246d: SHL
0000246e: SUB
0000246f: AND
00002470: DUP4
00002471: PUSH1 0x01
00002473: PUSH1 0x01
00002475: PUSH1 0xa0
00002477: SHL
00002478: SUB
00002479: AND
0000247a: CALLER
0000247b: PUSH1 0x01
0000247d: PUSH1 0x01
0000247f: PUSH1 0xa0
00002481: SHL
00002482: SUB
00002483: AND
00002484: PUSH32 0x3115d1449a7b732c986cba18244e897a450f61e1bb8d589cd2e69e6c8924f9f7
000024a5: DUP5
000024a6: PUSH1 0x40
000024a8: MLOAD
000024a9: PUSH2 0x24b4
000024ac: SWAP2
000024ad: DUP2
000024ae: MSTORE
000024af: PUSH1 0x20
000024b1: ADD
000024b2: SWAP1
000024b3: JUMP
000024b4: JUMPDEST
000024b5: PUSH1 0x40
000024b7: MLOAD
000024b8: DUP1
000024b9: SWAP2
000024ba: SUB
000024bb: SWAP1
000024bc: LOG4
000024bd: POP
000024be: POP
000024bf: POP
000024c0: JUMP
000024c1: JUMPDEST
000024c2: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000024e3: DUP1
000024e4: SLOAD
000024e5: PUSH1 0x01
000024e7: PUSH1 0x40
000024e9: SHL
000024ea: DUP2
000024eb: DIV
000024ec: PUSH1 0xff
000024ee: AND
000024ef: ISZERO
000024f0: SWAP1
000024f1: PUSH8 0xffffffffffffffff
000024fa: AND
000024fb: PUSH1 0x00
000024fd: DUP2
000024fe: ISZERO
000024ff: DUP1
00002500: ISZERO
00002501: PUSH2 0x2507
00002504: JUMPI
00002505: POP
00002506: DUP3
00002507: JUMPDEST
00002508: SWAP1
00002509: POP
0000250a: PUSH1 0x00
0000250c: DUP3
0000250d: PUSH8 0xffffffffffffffff
00002516: AND
00002517: PUSH1 0x01
00002519: EQ
0000251a: DUP1
0000251b: ISZERO
0000251c: PUSH2 0x2524
0000251f: JUMPI
00002520: POP
00002521: ADDRESS
00002522: EXTCODESIZE
00002523: ISZERO
00002524: JUMPDEST
00002525: SWAP1
00002526: POP
00002527: DUP2
00002528: ISZERO
00002529: DUP1
0000252a: ISZERO
0000252b: PUSH2 0x2532
0000252e: JUMPI
0000252f: POP
00002530: DUP1
00002531: ISZERO
00002532: JUMPDEST
00002533: ISZERO
00002534: PUSH2 0x2550
00002537: JUMPI
00002538: PUSH1 0x40
0000253a: MLOAD
0000253b: PUSH4 0xf92ee8a9
00002540: PUSH1 0xe0
00002542: SHL
00002543: DUP2
00002544: MSTORE
00002545: PUSH1 0x04
00002547: ADD
00002548: PUSH1 0x40
0000254a: MLOAD
0000254b: DUP1
0000254c: SWAP2
0000254d: SUB
0000254e: SWAP1
0000254f: REVERT
00002550: JUMPDEST
00002551: DUP5
00002552: SLOAD
00002553: PUSH8 0xffffffffffffffff
0000255c: NOT
0000255d: AND
0000255e: PUSH1 0x01
00002560: OR
00002561: DUP6
00002562: SSTORE
00002563: DUP4
00002564: ISZERO
00002565: PUSH2 0x257f
00002568: JUMPI
00002569: DUP5
0000256a: SLOAD
0000256b: PUSH9 0xff0000000000000000
00002575: NOT
00002576: AND
00002577: PUSH1 0x01
00002579: PUSH1 0x40
0000257b: SHL
0000257c: OR
0000257d: DUP6
0000257e: SSTORE
0000257f: JUMPDEST
00002580: DUP7
00002581: PUSH1 0x0e
00002583: PUSH2 0x258c
00002586: DUP3
00002587: DUP3
00002588: PUSH2 0x4477
0000258b: JUMP
0000258c: JUMPDEST
0000258d: POP
0000258e: POP
0000258f: PUSH1 0x09
00002591: DUP1
00002592: SLOAD
00002593: PUSH1 0x01
00002595: PUSH1 0x01
00002597: PUSH1 0xa0
00002599: SHL
0000259a: SUB
0000259b: NOT
0000259c: SWAP1
0000259d: DUP2
0000259e: AND
0000259f: PUSH1 0x01
000025a1: PUSH1 0x01
000025a3: PUSH1 0xa0
000025a5: SHL
000025a6: SUB
000025a7: DUP15
000025a8: DUP2
000025a9: AND
000025aa: SWAP2
000025ab: SWAP1
000025ac: SWAP2
000025ad: OR
000025ae: SWAP1
000025af: SWAP3
000025b0: SSTORE
000025b1: PUSH1 0x0a
000025b3: DUP1
000025b4: SLOAD
000025b5: SWAP1
000025b6: SWAP2
000025b7: AND
000025b8: DUP13
000025b9: DUP4
000025ba: AND
000025bb: OR
000025bc: SWAP1
000025bd: SSTORE
000025be: PUSH1 0x0b
000025c0: DUP1
000025c1: SLOAD
000025c2: SWAP1
000025c3: SWAP2
000025c4: AND
000025c5: PUSH1 0x01
000025c7: PUSH1 0xa0
000025c9: SHL
000025ca: PUSH12 0xffffffffffffffffffffffff
000025d7: DUP12
000025d8: AND
000025d9: MUL
000025da: OR
000025db: SWAP1
000025dc: SSTORE
000025dd: PUSH2 0x25f0
000025e0: DUP10
000025e1: PUSH2 0x19e6
000025e4: PUSH1 0xa0
000025e6: DUP11
000025e7: ADD
000025e8: PUSH1 0x80
000025ea: DUP12
000025eb: ADD
000025ec: PUSH2 0x400f
000025ef: JUMP
000025f0: JUMPDEST
000025f1: PUSH2 0x130f
000025f4: PUSH2 0x25fd
000025f7: DUP8
000025f8: DUP1
000025f9: PUSH2 0x46c9
000025fc: JUMP
000025fd: JUMPDEST
000025fe: DUP1
000025ff: DUP1
00002600: PUSH1 0x1f
00002602: ADD
00002603: PUSH1 0x20
00002605: DUP1
00002606: SWAP2
00002607: DIV
00002608: MUL
00002609: PUSH1 0x20
0000260b: ADD
0000260c: PUSH1 0x40
0000260e: MLOAD
0000260f: SWAP1
00002610: DUP2
00002611: ADD
00002612: PUSH1 0x40
00002614: MSTORE
00002615: DUP1
00002616: SWAP4
00002617: SWAP3
00002618: SWAP2
00002619: SWAP1
0000261a: DUP2
0000261b: DUP2
0000261c: MSTORE
0000261d: PUSH1 0x20
0000261f: ADD
00002620: DUP4
00002621: DUP4
00002622: DUP1
00002623: DUP3
00002624: DUP5
00002625: CALLDATACOPY
00002626: PUSH1 0x00
00002628: SWAP3
00002629: ADD
0000262a: SWAP2
0000262b: SWAP1
0000262c: SWAP2
0000262d: MSTORE
0000262e: POP
0000262f: PUSH2 0x263f
00002632: SWAP3
00002633: POP
00002634: POP
00002635: POP
00002636: PUSH1 0x20
00002638: DUP10
00002639: ADD
0000263a: DUP10
0000263b: PUSH2 0x46c9
0000263e: JUMP
0000263f: JUMPDEST
00002640: DUP1
00002641: DUP1
00002642: PUSH1 0x1f
00002644: ADD
00002645: PUSH1 0x20
00002647: DUP1
00002648: SWAP2
00002649: DIV
0000264a: MUL
0000264b: PUSH1 0x20
0000264d: ADD
0000264e: PUSH1 0x40
00002650: MLOAD
00002651: SWAP1
00002652: DUP2
00002653: ADD
00002654: PUSH1 0x40
00002656: MSTORE
00002657: DUP1
00002658: SWAP4
00002659: SWAP3
0000265a: SWAP2
0000265b: SWAP1
0000265c: DUP2
0000265d: DUP2
0000265e: MSTORE
0000265f: PUSH1 0x20
00002661: ADD
00002662: DUP4
00002663: DUP4
00002664: DUP1
00002665: DUP3
00002666: DUP5
00002667: CALLDATACOPY
00002668: PUSH1 0x00
0000266a: SWAP3
0000266b: ADD
0000266c: SWAP2
0000266d: SWAP1
0000266e: SWAP2
0000266f: MSTORE
00002670: POP
00002671: PUSH2 0x2681
00002674: SWAP3
00002675: POP
00002676: POP
00002677: POP
00002678: PUSH1 0x20
0000267a: DUP12
0000267b: ADD
0000267c: DUP12
0000267d: PUSH2 0x3b00
00002680: JUMP
00002681: JUMPDEST
00002682: PUSH1 0x01
00002684: PUSH1 0x01
00002686: PUSH1 0xa0
00002688: SHL
00002689: SUB
0000268a: AND
0000268b: PUSH4 0x313ce567
00002690: PUSH1 0x40
00002692: MLOAD
00002693: DUP2
00002694: PUSH4 0xffffffff
00002699: AND
0000269a: PUSH1 0xe0
0000269c: SHL
0000269d: DUP2
0000269e: MSTORE
0000269f: PUSH1 0x04
000026a1: ADD
000026a2: PUSH1 0x20
000026a4: PUSH1 0x40
000026a6: MLOAD
000026a7: DUP1
000026a8: DUP4
000026a9: SUB
000026aa: DUP2
000026ab: DUP7
000026ac: GAS
000026ad: STATICCALL
000026ae: ISZERO
000026af: DUP1
000026b0: ISZERO
000026b1: PUSH2 0x26be
000026b4: JUMPI
000026b5: RETURNDATASIZE
000026b6: PUSH1 0x00
000026b8: DUP1
000026b9: RETURNDATACOPY
000026ba: RETURNDATASIZE
000026bb: PUSH1 0x00
000026bd: REVERT
000026be: JUMPDEST
000026bf: POP
000026c0: POP
000026c1: POP
000026c2: POP
000026c3: PUSH1 0x40
000026c5: MLOAD
000026c6: RETURNDATASIZE
000026c7: PUSH1 0x1f
000026c9: NOT
000026ca: PUSH1 0x1f
000026cc: DUP3
000026cd: ADD
000026ce: AND
000026cf: DUP3
000026d0: ADD
000026d1: DUP1
000026d2: PUSH1 0x40
000026d4: MSTORE
000026d5: POP
000026d6: DUP2
000026d7: ADD
000026d8: SWAP1
000026d9: PUSH2 0x26e2
000026dc: SWAP2
000026dd: SWAP1
000026de: PUSH2 0x3d7f
000026e1: JUMP
000026e2: JUMPDEST
000026e3: PUSH2 0x2def
000026e6: JUMP
000026e7: JUMPDEST
000026e8: PUSH1 0x13
000026ea: SLOAD
000026eb: PUSH1 0x14
000026ed: SLOAD
000026ee: PUSH1 0x00
000026f0: SWAP2
000026f1: PUSH4 0xffffffff
000026f6: PUSH1 0x01
000026f8: PUSH1 0xe0
000026fa: SHL
000026fb: SWAP1
000026fc: SWAP2
000026fd: DIV
000026fe: DUP2
000026ff: AND
00002700: SWAP2
00002701: AND
00002702: DUP3
00002703: TIMESTAMP
00002704: DUP4
00002705: GT
00002706: ISZERO
00002707: PUSH2 0x2725
0000270a: JUMPI
0000270b: POP
0000270c: PUSH1 0x14
0000270e: SLOAD
0000270f: PUSH5 0x0100000000
00002715: SWAP1
00002716: DIV
00002717: PUSH8 0xffffffffffffffff
00002720: AND
00002721: PUSH2 0x27ab
00002724: JUMP
00002725: JUMPDEST
00002726: PUSH2 0x272f
00002729: DUP3
0000272a: DUP5
0000272b: PUSH2 0x3ee4
0000272e: JUMP
0000272f: JUMPDEST
00002730: TIMESTAMP
00002731: LT
00002732: ISZERO
00002733: PUSH2 0x278c
00002736: JUMPI
00002737: PUSH1 0x14
00002739: SLOAD
0000273a: TIMESTAMP
0000273b: DUP5
0000273c: SWAP1
0000273d: SUB
0000273e: SWAP1
0000273f: PUSH8 0xffffffffffffffff
00002748: PUSH13 0x01000000000000000000000000
00002756: DUP3
00002757: DIV
00002758: DUP2
00002759: AND
0000275a: PUSH5 0x0100000000
00002760: SWAP1
00002761: SWAP3
00002762: DIV
00002763: AND
00002764: SWAP1
00002765: DUP2
00002766: SUB
00002767: SWAP1
00002768: PUSH1 0x00
0000276a: DUP6
0000276b: PUSH2 0x2774
0000276e: DUP6
0000276f: DUP6
00002770: PUSH2 0x3eab
00002773: JUMP
00002774: JUMPDEST
00002775: PUSH2 0x277e
00002778: SWAP2
00002779: SWAP1
0000277a: PUSH2 0x3ec2
0000277d: JUMP
0000277e: JUMPDEST
0000277f: SWAP1
00002780: SWAP2
00002781: SUB
00002782: SWAP4
00002783: POP
00002784: PUSH2 0x27ab
00002787: SWAP3
00002788: POP
00002789: POP
0000278a: POP
0000278b: JUMP
0000278c: JUMPDEST
0000278d: POP
0000278e: PUSH1 0x14
00002790: SLOAD
00002791: PUSH13 0x01000000000000000000000000
0000279f: SWAP1
000027a0: DIV
000027a1: PUSH8 0xffffffffffffffff
000027aa: AND
000027ab: JUMPDEST
000027ac: PUSH2 0x27b4
000027af: DUP2
000027b0: PUSH2 0x2e71
000027b3: JUMP
000027b4: JUMPDEST
000027b5: SWAP4
000027b6: POP
000027b7: POP
000027b8: POP
000027b9: POP
000027ba: SWAP1
000027bb: JUMP
000027bc: JUMPDEST
000027bd: PUSH1 0x0a
000027bf: SLOAD
000027c0: PUSH1 0x01
000027c2: PUSH1 0x01
000027c4: PUSH1 0xa0
000027c6: SHL
000027c7: SUB
000027c8: AND
000027c9: CALLER
000027ca: DUP2
000027cb: EQ
000027cc: PUSH2 0x27e8
000027cf: JUMPI
000027d0: PUSH1 0x40
000027d2: MLOAD
000027d3: PUSH4 0x6edaef2f
000027d8: PUSH1 0xe1
000027da: SHL
000027db: DUP2
000027dc: MSTORE
000027dd: PUSH1 0x04
000027df: ADD
000027e0: PUSH1 0x40
000027e2: MLOAD
000027e3: DUP1
000027e4: SWAP2
000027e5: SUB
000027e6: SWAP1
000027e7: REVERT
000027e8: JUMPDEST
000027e9: DUP2
000027ea: PUSH1 0x01
000027ec: PUSH1 0x01
000027ee: PUSH1 0xa0
000027f0: SHL
000027f1: SUB
000027f2: AND
000027f3: DUP2
000027f4: PUSH1 0x01
000027f6: PUSH1 0x01
000027f8: PUSH1 0xa0
000027fa: SHL
000027fb: SUB
000027fc: AND
000027fd: SUB
000027fe: PUSH2 0x2833
00002801: JUMPI
00002802: PUSH1 0x40
00002804: MLOAD
00002805: PUSH32 0xcf04b1bb00000000000000000000000000000000000000000000000000000000
00002826: DUP2
00002827: MSTORE
00002828: PUSH1 0x04
0000282a: ADD
0000282b: PUSH1 0x40
0000282d: MLOAD
0000282e: DUP1
0000282f: SWAP2
00002830: SUB
00002831: SWAP1
00002832: REVERT
00002833: JUMPDEST
00002834: PUSH1 0x0a
00002836: DUP1
00002837: SLOAD
00002838: PUSH1 0x01
0000283a: PUSH1 0x01
0000283c: PUSH1 0xa0
0000283e: SHL
0000283f: SUB
00002840: NOT
00002841: AND
00002842: PUSH1 0x01
00002844: PUSH1 0x01
00002846: PUSH1 0xa0
00002848: SHL
00002849: SUB
0000284a: DUP5
0000284b: DUP2
0000284c: AND
0000284d: SWAP2
0000284e: DUP3
0000284f: OR
00002850: SWAP1
00002851: SWAP3
00002852: SSTORE
00002853: PUSH1 0x09
00002855: SLOAD
00002856: PUSH1 0x40
00002858: MLOAD
00002859: PUSH32 0xc18abe0d00000000000000000000000000000000000000000000000000000000
0000287a: DUP2
0000287b: MSTORE
0000287c: DUP5
0000287d: DUP5
0000287e: AND
0000287f: PUSH1 0x04
00002881: DUP3
00002882: ADD
00002883: MSTORE
00002884: PUSH1 0x24
00002886: DUP2
00002887: ADD
00002888: SWAP3
00002889: SWAP1
0000288a: SWAP3
0000288b: MSTORE
0000288c: SWAP1
0000288d: SWAP2
0000288e: AND
0000288f: SWAP1
00002890: PUSH4 0xc18abe0d
00002895: SWAP1
00002896: PUSH1 0x44
00002898: ADD
00002899: PUSH1 0x00
0000289b: PUSH1 0x40
0000289d: MLOAD
0000289e: DUP1
0000289f: DUP4
000028a0: SUB
000028a1: DUP2
000028a2: PUSH1 0x00
000028a4: DUP8
000028a5: DUP1
000028a6: EXTCODESIZE
000028a7: ISZERO
000028a8: DUP1
000028a9: ISZERO
000028aa: PUSH2 0x28b2
000028ad: JUMPI
000028ae: PUSH1 0x00
000028b0: DUP1
000028b1: REVERT
000028b2: JUMPDEST
000028b3: POP
000028b4: GAS
000028b5: CALL
000028b6: ISZERO
000028b7: DUP1
000028b8: ISZERO
000028b9: PUSH2 0x28c6
000028bc: JUMPI
000028bd: RETURNDATASIZE
000028be: PUSH1 0x00
000028c0: DUP1
000028c1: RETURNDATACOPY
000028c2: RETURNDATASIZE
000028c3: PUSH1 0x00
000028c5: REVERT
000028c6: JUMPDEST
000028c7: POP
000028c8: POP
000028c9: PUSH1 0x40
000028cb: DUP1
000028cc: MLOAD
000028cd: PUSH1 0x01
000028cf: PUSH1 0x01
000028d1: PUSH1 0xa0
000028d3: SHL
000028d4: SUB
000028d5: DUP6
000028d6: DUP2
000028d7: AND
000028d8: DUP3
000028d9: MSTORE
000028da: DUP7
000028db: AND
000028dc: PUSH1 0x20
000028de: DUP3
000028df: ADD
000028e0: MSTORE
000028e1: CALLER
000028e2: SWAP4
000028e3: POP
000028e4: PUSH32 0x6954f1cdad46901994f29d9b1f78744c873c527bad04d294b4954cc8caf367da
00002905: SWAP3
00002906: POP
00002907: ADD
00002908: PUSH1 0x40
0000290a: MLOAD
0000290b: DUP1
0000290c: SWAP2
0000290d: SUB
0000290e: SWAP1
0000290f: LOG2
00002910: POP
00002911: POP
00002912: JUMP
00002913: JUMPDEST
00002914: PUSH2 0x2920
00002917: DUP4
00002918: DUP4
00002919: DUP4
0000291a: PUSH1 0x01
0000291c: PUSH2 0x2ea8
0000291f: JUMP
00002920: JUMPDEST
00002921: POP
00002922: POP
00002923: POP
00002924: JUMP
00002925: JUMPDEST
00002926: PUSH1 0x40
00002928: DUP1
00002929: MLOAD
0000292a: PUSH2 0x0180
0000292d: DUP2
0000292e: ADD
0000292f: DUP3
00002930: MSTORE
00002931: PUSH1 0x00
00002933: DUP1
00002934: DUP3
00002935: MSTORE
00002936: PUSH1 0x20
00002938: DUP3
00002939: ADD
0000293a: DUP2
0000293b: SWAP1
0000293c: MSTORE
0000293d: SWAP2
0000293e: DUP2
0000293f: ADD
00002940: DUP3
00002941: SWAP1
00002942: MSTORE
00002943: PUSH1 0x60
00002945: DUP2
00002946: ADD
00002947: DUP3
00002948: SWAP1
00002949: MSTORE
0000294a: PUSH1 0x80
0000294c: DUP2
0000294d: ADD
0000294e: DUP3
0000294f: SWAP1
00002950: MSTORE
00002951: PUSH1 0xa0
00002953: DUP2
00002954: ADD
00002955: DUP3
00002956: SWAP1
00002957: MSTORE
00002958: PUSH1 0xc0
0000295a: DUP2
0000295b: ADD
0000295c: DUP3
0000295d: SWAP1
0000295e: MSTORE
0000295f: PUSH1 0xe0
00002961: DUP2
00002962: ADD
00002963: DUP3
00002964: SWAP1
00002965: MSTORE
00002966: PUSH2 0x0100
00002969: DUP2
0000296a: ADD
0000296b: DUP3
0000296c: SWAP1
0000296d: MSTORE
0000296e: PUSH2 0x0120
00002971: DUP2
00002972: ADD
00002973: DUP3
00002974: SWAP1
00002975: MSTORE
00002976: PUSH2 0x0140
00002979: DUP2
0000297a: ADD
0000297b: DUP3
0000297c: SWAP1
0000297d: MSTORE
0000297e: PUSH2 0x0160
00002981: DUP2
00002982: ADD
00002983: SWAP2
00002984: SWAP1
00002985: SWAP2
00002986: MSTORE
00002987: PUSH1 0x40
00002989: MLOAD
0000298a: DUP1
0000298b: PUSH2 0x0180
0000298e: ADD
0000298f: PUSH1 0x40
00002991: MSTORE
00002992: DUP1
00002993: DUP4
00002994: PUSH1 0x05
00002996: DUP2
00002997: GT
00002998: ISZERO
00002999: PUSH2 0x29a4
0000299c: JUMPI
0000299d: PUSH2 0x29a4
000029a0: PUSH2 0x3763
000029a3: JUMP
000029a4: JUMPDEST
000029a5: DUP2
000029a6: MSTORE
000029a7: PUSH1 0x00
000029a9: PUSH1 0x20
000029ab: DUP3
000029ac: ADD
000029ad: DUP2
000029ae: SWAP1
000029af: MSTORE
000029b0: PUSH1 0x40
000029b2: DUP3
000029b3: ADD
000029b4: DUP2
000029b5: SWAP1
000029b6: MSTORE
000029b7: PUSH1 0x60
000029b9: DUP3
000029ba: ADD
000029bb: DUP2
000029bc: SWAP1
000029bd: MSTORE
000029be: PUSH1 0x80
000029c0: DUP3
000029c1: ADD
000029c2: DUP2
000029c3: SWAP1
000029c4: MSTORE
000029c5: PUSH1 0xa0
000029c7: DUP3
000029c8: ADD
000029c9: DUP2
000029ca: SWAP1
000029cb: MSTORE
000029cc: PUSH1 0xc0
000029ce: DUP3
000029cf: ADD
000029d0: DUP2
000029d1: SWAP1
000029d2: MSTORE
000029d3: PUSH1 0xe0
000029d5: DUP3
000029d6: ADD
000029d7: DUP2
000029d8: SWAP1
000029d9: MSTORE
000029da: PUSH2 0x0100
000029dd: DUP3
000029de: ADD
000029df: DUP2
000029e0: SWAP1
000029e1: MSTORE
000029e2: PUSH2 0x0120
000029e5: DUP3
000029e6: ADD
000029e7: DUP2
000029e8: SWAP1
000029e9: MSTORE
000029ea: PUSH2 0x0140
000029ed: DUP3
000029ee: ADD
000029ef: DUP2
000029f0: SWAP1
000029f1: MSTORE
000029f2: PUSH2 0x0160
000029f5: SWAP1
000029f6: SWAP2
000029f7: ADD
000029f8: MSTORE
000029f9: SWAP3
000029fa: SWAP2
000029fb: POP
000029fc: POP
000029fd: JUMP
000029fe: JUMPDEST
000029ff: PUSH1 0x00
00002a01: PUSH1 0x01
00002a03: PUSH1 0x01
00002a05: PUSH1 0x80
00002a07: SHL
00002a08: SUB
00002a09: DUP3
00002a0a: GT
00002a0b: ISZERO
00002a0c: PUSH2 0x2a37
00002a0f: JUMPI
00002a10: PUSH1 0x40
00002a12: MLOAD
00002a13: PUSH4 0x06dfcc65
00002a18: PUSH1 0xe4
00002a1a: SHL
00002a1b: DUP2
00002a1c: MSTORE
00002a1d: PUSH1 0x80
00002a1f: PUSH1 0x04
00002a21: DUP3
00002a22: ADD
00002a23: MSTORE
00002a24: PUSH1 0x24
00002a26: DUP2
00002a27: ADD
00002a28: DUP4
00002a29: SWAP1
00002a2a: MSTORE
00002a2b: PUSH1 0x44
00002a2d: ADD
00002a2e: JUMPDEST
00002a2f: PUSH1 0x40
00002a31: MLOAD
00002a32: DUP1
00002a33: SWAP2
00002a34: SUB
00002a35: SWAP1
00002a36: REVERT
00002a37: JUMPDEST
00002a38: POP
00002a39: SWAP1
00002a3a: JUMP
00002a3b: JUMPDEST
00002a3c: PUSH1 0x00
00002a3e: PUSH6 0xffffffffffff
00002a45: DUP3
00002a46: GT
00002a47: ISZERO
00002a48: PUSH2 0x2a37
00002a4b: JUMPI
00002a4c: PUSH1 0x40
00002a4e: MLOAD
00002a4f: PUSH4 0x06dfcc65
00002a54: PUSH1 0xe4
00002a56: SHL
00002a57: DUP2
00002a58: MSTORE
00002a59: PUSH1 0x30
00002a5b: PUSH1 0x04
00002a5d: DUP3
00002a5e: ADD
00002a5f: MSTORE
00002a60: PUSH1 0x24
00002a62: DUP2
00002a63: ADD
00002a64: DUP4
00002a65: SWAP1
00002a66: MSTORE
00002a67: PUSH1 0x44
00002a69: ADD
00002a6a: PUSH2 0x2a2e
00002a6d: JUMP
00002a6e: JUMPDEST
00002a6f: PUSH1 0x00
00002a71: CALLER
00002a72: PUSH2 0x2a7c
00002a75: DUP6
00002a76: DUP3
00002a77: DUP6
00002a78: PUSH2 0x2fb0
00002a7b: JUMP
00002a7c: JUMPDEST
00002a7d: PUSH2 0x2a87
00002a80: DUP6
00002a81: DUP6
00002a82: DUP6
00002a83: PUSH2 0x3041
00002a86: JUMP
00002a87: JUMPDEST
00002a88: PUSH1 0x01
00002a8a: SWAP2
00002a8b: POP
00002a8c: POP
00002a8d: JUMPDEST
00002a8e: SWAP4
00002a8f: SWAP3
00002a90: POP
00002a91: POP
00002a92: POP
00002a93: JUMP
00002a94: JUMPDEST
00002a95: PUSH1 0x09
00002a97: DUP1
00002a98: SLOAD
00002a99: PUSH1 0x01
00002a9b: PUSH1 0x01
00002a9d: PUSH1 0xa0
00002a9f: SHL
00002aa0: SUB
00002aa1: DUP1
00002aa2: DUP9
00002aa3: AND
00002aa4: PUSH1 0x01
00002aa6: PUSH1 0x01
00002aa8: PUSH1 0xa0
00002aaa: SHL
00002aab: SUB
00002aac: NOT
00002aad: SWAP3
00002aae: DUP4
00002aaf: AND
00002ab0: OR
00002ab1: SWAP1
00002ab2: SWAP3
00002ab3: SSTORE
00002ab4: PUSH1 0x0a
00002ab6: DUP1
00002ab7: SLOAD
00002ab8: DUP8
00002ab9: DUP5
00002aba: AND
00002abb: SWAP3
00002abc: AND
00002abd: SWAP2
00002abe: SWAP1
00002abf: SWAP2
00002ac0: OR
00002ac1: SWAP1
00002ac2: SSTORE
00002ac3: PUSH1 0x0b
00002ac5: DUP1
00002ac6: SLOAD
00002ac7: PUSH12 0xffffffffffffffffffffffff
00002ad4: DUP7
00002ad5: AND
00002ad6: PUSH1 0x01
00002ad8: PUSH1 0xa0
00002ada: SHL
00002adb: MUL
00002adc: SWAP1
00002add: DUP4
00002ade: AND
00002adf: OR
00002ae0: SWAP1
00002ae1: SSTORE
00002ae2: PUSH1 0x40
00002ae4: DUP1
00002ae5: MLOAD
00002ae6: PUSH32 0x06fdde0300000000000000000000000000000000000000000000000000000000
00002b07: DUP2
00002b08: MSTORE
00002b09: SWAP1
00002b0a: MLOAD
00002b0b: PUSH1 0x00
00002b0d: SWAP3
00002b0e: DUP6
00002b0f: AND
00002b10: SWAP2
00002b11: PUSH4 0x06fdde03
00002b16: SWAP2
00002b17: PUSH1 0x04
00002b19: DUP1
00002b1a: DUP4
00002b1b: ADD
00002b1c: SWAP3
00002b1d: DUP7
00002b1e: SWAP3
00002b1f: SWAP2
00002b20: SWAP1
00002b21: DUP3
00002b22: SWAP1
00002b23: SUB
00002b24: ADD
00002b25: DUP2
00002b26: DUP7
00002b27: GAS
00002b28: STATICCALL
00002b29: ISZERO
00002b2a: DUP1
00002b2b: ISZERO
00002b2c: PUSH2 0x2b39
00002b2f: JUMPI
00002b30: RETURNDATASIZE
00002b31: PUSH1 0x00
00002b33: DUP1
00002b34: RETURNDATACOPY
00002b35: RETURNDATASIZE
00002b36: PUSH1 0x00
00002b38: REVERT
00002b39: JUMPDEST
00002b3a: POP
00002b3b: POP
00002b3c: POP
00002b3d: POP
00002b3e: PUSH1 0x40
00002b40: MLOAD
00002b41: RETURNDATASIZE
00002b42: PUSH1 0x00
00002b44: DUP3
00002b45: RETURNDATACOPY
00002b46: PUSH1 0x1f
00002b48: RETURNDATASIZE
00002b49: SWAP1
00002b4a: DUP2
00002b4b: ADD
00002b4c: PUSH1 0x1f
00002b4e: NOT
00002b4f: AND
00002b50: DUP3
00002b51: ADD
00002b52: PUSH1 0x40
00002b54: MSTORE
00002b55: PUSH2 0x2b61
00002b58: SWAP2
00002b59: SWAP1
00002b5a: DUP2
00002b5b: ADD
00002b5c: SWAP1
00002b5d: PUSH2 0x4717
00002b60: JUMP
00002b61: JUMPDEST
00002b62: SWAP1
00002b63: POP
00002b64: PUSH1 0x00
00002b66: DUP4
00002b67: PUSH1 0x01
00002b69: PUSH1 0x01
00002b6b: PUSH1 0xa0
00002b6d: SHL
00002b6e: SUB
00002b6f: AND
00002b70: PUSH4 0x95d89b41
00002b75: PUSH1 0x40
00002b77: MLOAD
00002b78: DUP2
00002b79: PUSH4 0xffffffff
00002b7e: AND
00002b7f: PUSH1 0xe0
00002b81: SHL
00002b82: DUP2
00002b83: MSTORE
00002b84: PUSH1 0x04
00002b86: ADD
00002b87: PUSH1 0x00
00002b89: PUSH1 0x40
00002b8b: MLOAD
00002b8c: DUP1
00002b8d: DUP4
00002b8e: SUB
00002b8f: DUP2
00002b90: DUP7
00002b91: GAS
00002b92: STATICCALL
00002b93: ISZERO
00002b94: DUP1
00002b95: ISZERO
00002b96: PUSH2 0x2ba3
00002b99: JUMPI
00002b9a: RETURNDATASIZE
00002b9b: PUSH1 0x00
00002b9d: DUP1
00002b9e: RETURNDATACOPY
00002b9f: RETURNDATASIZE
00002ba0: PUSH1 0x00
00002ba2: REVERT
00002ba3: JUMPDEST
00002ba4: POP
00002ba5: POP
00002ba6: POP
00002ba7: POP
00002ba8: PUSH1 0x40
00002baa: MLOAD
00002bab: RETURNDATASIZE
00002bac: PUSH1 0x00
00002bae: DUP3
00002baf: RETURNDATACOPY
00002bb0: PUSH1 0x1f
00002bb2: RETURNDATASIZE
00002bb3: SWAP1
00002bb4: DUP2
00002bb5: ADD
00002bb6: PUSH1 0x1f
00002bb8: NOT
00002bb9: AND
00002bba: DUP3
00002bbb: ADD
00002bbc: PUSH1 0x40
00002bbe: MSTORE
00002bbf: PUSH2 0x2bcb
00002bc2: SWAP2
00002bc3: SWAP1
00002bc4: DUP2
00002bc5: ADD
00002bc6: SWAP1
00002bc7: PUSH2 0x4717
00002bca: JUMP
00002bcb: JUMPDEST
00002bcc: SWAP1
00002bcd: POP
00002bce: PUSH2 0x2c62
00002bd1: DUP3
00002bd2: PUSH2 0x2bda
00002bd5: DUP6
00002bd6: PUSH2 0x30a0
00002bd9: JUMP
00002bda: JUMPDEST
00002bdb: PUSH1 0x40
00002bdd: MLOAD
00002bde: PUSH1 0x20
00002be0: ADD
00002be1: PUSH2 0x2beb
00002be4: SWAP3
00002be5: SWAP2
00002be6: SWAP1
00002be7: PUSH2 0x478e
00002bea: JUMP
00002beb: JUMPDEST
00002bec: PUSH1 0x40
00002bee: MLOAD
00002bef: PUSH1 0x20
00002bf1: DUP2
00002bf2: DUP4
00002bf3: SUB
00002bf4: SUB
00002bf5: DUP2
00002bf6: MSTORE
00002bf7: SWAP1
00002bf8: PUSH1 0x40
00002bfa: MSTORE
00002bfb: DUP3
00002bfc: PUSH2 0x2c04
00002bff: DUP7
00002c00: PUSH2 0x30a0
00002c03: JUMP
00002c04: JUMPDEST
00002c05: PUSH1 0x40
00002c07: MLOAD
00002c08: PUSH1 0x20
00002c0a: ADD
00002c0b: PUSH2 0x2c15
00002c0e: SWAP3
00002c0f: SWAP2
00002c10: SWAP1
00002c11: PUSH2 0x478e
00002c14: JUMP
00002c15: JUMPDEST
00002c16: PUSH1 0x40
00002c18: MLOAD
00002c19: PUSH1 0x20
00002c1b: DUP2
00002c1c: DUP4
00002c1d: SUB
00002c1e: SUB
00002c1f: DUP2
00002c20: MSTORE
00002c21: SWAP1
00002c22: PUSH1 0x40
00002c24: MSTORE
00002c25: DUP7
00002c26: PUSH1 0x01
00002c28: PUSH1 0x01
00002c2a: PUSH1 0xa0
00002c2c: SHL
00002c2d: SUB
00002c2e: AND
00002c2f: PUSH4 0x313ce567
00002c34: PUSH1 0x40
00002c36: MLOAD
00002c37: DUP2
00002c38: PUSH4 0xffffffff
00002c3d: AND
00002c3e: PUSH1 0xe0
00002c40: SHL
00002c41: DUP2
00002c42: MSTORE
00002c43: PUSH1 0x04
00002c45: ADD
00002c46: PUSH1 0x20
00002c48: PUSH1 0x40
00002c4a: MLOAD
00002c4b: DUP1
00002c4c: DUP4
00002c4d: SUB
00002c4e: DUP2
00002c4f: DUP7
00002c50: GAS
00002c51: STATICCALL
00002c52: ISZERO
00002c53: DUP1
00002c54: ISZERO
00002c55: PUSH2 0x26be
00002c58: JUMPI
00002c59: RETURNDATASIZE
00002c5a: PUSH1 0x00
00002c5c: DUP1
00002c5d: RETURNDATACOPY
00002c5e: RETURNDATASIZE
00002c5f: PUSH1 0x00
00002c61: REVERT
00002c62: JUMPDEST
00002c63: POP
00002c64: POP
00002c65: POP
00002c66: POP
00002c67: POP
00002c68: POP
00002c69: POP
00002c6a: JUMP
00002c6b: JUMPDEST
00002c6c: PUSH1 0x00
00002c6e: DUP1
00002c6f: PUSH2 0x2c78
00002c72: DUP6
00002c73: DUP8
00002c74: PUSH2 0x3eab
00002c77: JUMP
00002c78: JUMPDEST
00002c79: SWAP1
00002c7a: POP
00002c7b: PUSH1 0x00
00002c7d: PUSH2 0x2c87
00002c80: DUP6
00002c81: PUSH1 0x0a
00002c83: PUSH2 0x4458
00002c86: JUMP
00002c87: JUMPDEST
00002c88: SWAP1
00002c89: POP
00002c8a: DUP4
00002c8b: ISZERO
00002c8c: PUSH2 0x2cb9
00002c8f: JUMPI
00002c90: DUP1
00002c91: PUSH2 0x2c9b
00002c94: PUSH1 0x01
00002c96: DUP5
00002c97: PUSH2 0x4464
00002c9a: JUMP
00002c9b: JUMPDEST
00002c9c: PUSH2 0x2ca5
00002c9f: SWAP2
00002ca0: SWAP1
00002ca1: PUSH2 0x3ec2
00002ca4: JUMP
00002ca5: JUMPDEST
00002ca6: PUSH2 0x2cb0
00002ca9: SWAP1
00002caa: PUSH1 0x01
00002cac: PUSH2 0x3ee4
00002caf: JUMP
00002cb0: JUMPDEST
00002cb1: SWAP3
00002cb2: POP
00002cb3: POP
00002cb4: POP
00002cb5: PUSH2 0x2cc3
00002cb8: JUMP
00002cb9: JUMPDEST
00002cba: PUSH2 0x2cb0
00002cbd: DUP2
00002cbe: DUP4
00002cbf: PUSH2 0x3ec2
00002cc2: JUMP
00002cc3: JUMPDEST
00002cc4: SWAP5
00002cc5: SWAP4
00002cc6: POP
00002cc7: POP
00002cc8: POP
00002cc9: POP
00002cca: JUMP
00002ccb: JUMPDEST
00002ccc: PUSH1 0x40
00002cce: DUP1
00002ccf: MLOAD
00002cd0: PUSH1 0x01
00002cd2: PUSH1 0x01
00002cd4: PUSH1 0xa0
00002cd6: SHL
00002cd7: SUB
00002cd8: DUP5
00002cd9: AND
00002cda: PUSH1 0x24
00002cdc: DUP3
00002cdd: ADD
00002cde: MSTORE
00002cdf: PUSH1 0x44
00002ce1: DUP1
00002ce2: DUP3
00002ce3: ADD
00002ce4: DUP5
00002ce5: SWAP1
00002ce6: MSTORE
00002ce7: DUP3
00002ce8: MLOAD
00002ce9: DUP1
00002cea: DUP4
00002ceb: SUB
00002cec: SWAP1
00002ced: SWAP2
00002cee: ADD
00002cef: DUP2
00002cf0: MSTORE
00002cf1: PUSH1 0x64
00002cf3: SWAP1
00002cf4: SWAP2
00002cf5: ADD
00002cf6: SWAP1
00002cf7: SWAP2
00002cf8: MSTORE
00002cf9: PUSH1 0x20
00002cfb: DUP2
00002cfc: ADD
00002cfd: DUP1
00002cfe: MLOAD
00002cff: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002d1c: AND
00002d1d: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00002d3e: OR
00002d3f: SWAP1
00002d40: MSTORE
00002d41: PUSH2 0x2920
00002d44: SWAP1
00002d45: DUP5
00002d46: SWAP1
00002d47: PUSH2 0x3140
00002d4a: JUMP
00002d4b: JUMPDEST
00002d4c: PUSH1 0x01
00002d4e: PUSH1 0x01
00002d50: PUSH1 0xa0
00002d52: SHL
00002d53: SUB
00002d54: DUP3
00002d55: AND
00002d56: PUSH2 0x2d75
00002d59: JUMPI
00002d5a: PUSH1 0x40
00002d5c: MLOAD
00002d5d: PUSH4 0x4b637e8f
00002d62: PUSH1 0xe1
00002d64: SHL
00002d65: DUP2
00002d66: MSTORE
00002d67: PUSH1 0x00
00002d69: PUSH1 0x04
00002d6b: DUP3
00002d6c: ADD
00002d6d: MSTORE
00002d6e: PUSH1 0x24
00002d70: ADD
00002d71: PUSH2 0x2a2e
00002d74: JUMP
00002d75: JUMPDEST
00002d76: PUSH2 0x2d81
00002d79: DUP3
00002d7a: PUSH1 0x00
00002d7c: DUP4
00002d7d: PUSH2 0x31bc
00002d80: JUMP
00002d81: JUMPDEST
00002d82: POP
00002d83: POP
00002d84: JUMP
00002d85: JUMPDEST
00002d86: PUSH1 0x0c
00002d88: DUP1
00002d89: SLOAD
00002d8a: PUSH2 0xff00
00002d8d: NOT
00002d8e: AND
00002d8f: PUSH2 0x0100
00002d92: OR
00002d93: SWAP1
00002d94: SSTORE
00002d95: PUSH2 0x2d9e
00002d98: DUP4
00002d99: DUP4
00002d9a: PUSH2 0x2dab
00002d9d: JUMP
00002d9e: JUMPDEST
00002d9f: PUSH2 0x2920
00002da2: DUP4
00002da3: DUP3
00002da4: PUSH1 0x00
00002da6: NOT
00002da7: PUSH2 0x2913
00002daa: JUMP
00002dab: JUMPDEST
00002dac: PUSH1 0x01
00002dae: PUSH1 0x01
00002db0: PUSH1 0xa0
00002db2: SHL
00002db3: SUB
00002db4: DUP3
00002db5: AND
00002db6: PUSH2 0x2dd5
00002db9: JUMPI
00002dba: PUSH1 0x40
00002dbc: MLOAD
00002dbd: PUSH4 0xec442f05
00002dc2: PUSH1 0xe0
00002dc4: SHL
00002dc5: DUP2
00002dc6: MSTORE
00002dc7: PUSH1 0x00
00002dc9: PUSH1 0x04
00002dcb: DUP3
00002dcc: ADD
00002dcd: MSTORE
00002dce: PUSH1 0x24
00002dd0: ADD
00002dd1: PUSH2 0x2a2e
00002dd4: JUMP
00002dd5: JUMPDEST
00002dd6: PUSH2 0x2d81
00002dd9: PUSH1 0x00
00002ddb: DUP4
00002ddc: DUP4
00002ddd: PUSH2 0x31bc
00002de0: JUMP
00002de1: JUMPDEST
00002de2: PUSH1 0x00
00002de4: CALLER
00002de5: PUSH2 0x086e
00002de8: DUP2
00002de9: DUP6
00002dea: DUP6
00002deb: PUSH2 0x3041
00002dee: JUMP
00002def: JUMPDEST
00002df0: PUSH1 0x05
00002df2: SLOAD
00002df3: PUSH1 0xff
00002df5: AND
00002df6: ISZERO
00002df7: PUSH2 0x2e2c
00002dfa: JUMPI
00002dfb: PUSH1 0x40
00002dfd: MLOAD
00002dfe: PUSH32 0x0dc149f000000000000000000000000000000000000000000000000000000000
00002e1f: DUP2
00002e20: MSTORE
00002e21: PUSH1 0x04
00002e23: ADD
00002e24: PUSH1 0x40
00002e26: MLOAD
00002e27: DUP1
00002e28: SWAP2
00002e29: SUB
00002e2a: SWAP1
00002e2b: REVERT
00002e2c: JUMPDEST
00002e2d: PUSH1 0x05
00002e2f: DUP1
00002e30: SLOAD
00002e31: PUSH1 0xff
00002e33: NOT
00002e34: AND
00002e35: PUSH1 0x01
00002e37: OR
00002e38: SWAP1
00002e39: SSTORE
00002e3a: PUSH1 0x06
00002e3c: PUSH2 0x2e45
00002e3f: DUP5
00002e40: DUP3
00002e41: PUSH2 0x4836
00002e44: JUMP
00002e45: JUMPDEST
00002e46: POP
00002e47: PUSH1 0x07
00002e49: PUSH2 0x2e52
00002e4c: DUP4
00002e4d: DUP3
00002e4e: PUSH2 0x4836
00002e51: JUMP
00002e52: JUMPDEST
00002e53: POP
00002e54: PUSH1 0x05
00002e56: DUP1
00002e57: SLOAD
00002e58: PUSH1 0xff
00002e5a: SWAP1
00002e5b: SWAP3
00002e5c: AND
00002e5d: PUSH2 0x0100
00002e60: MUL
00002e61: PUSH2 0xff00
00002e64: NOT
00002e65: SWAP1
00002e66: SWAP3
00002e67: AND
00002e68: SWAP2
00002e69: SWAP1
00002e6a: SWAP2
00002e6b: OR
00002e6c: SWAP1
00002e6d: SSTORE
00002e6e: POP
00002e6f: POP
00002e70: JUMP
00002e71: JUMPDEST
00002e72: PUSH1 0x00
00002e74: PUSH8 0xffffffffffffffff
00002e7d: DUP3
00002e7e: GT
00002e7f: ISZERO
00002e80: PUSH2 0x2a37
00002e83: JUMPI
00002e84: PUSH1 0x40
00002e86: DUP1
00002e87: MLOAD
00002e88: PUSH4 0x06dfcc65
00002e8d: PUSH1 0xe4
00002e8f: SHL
00002e90: DUP2
00002e91: MSTORE
00002e92: PUSH1 0x04
00002e94: DUP2
00002e95: ADD
00002e96: SWAP2
00002e97: SWAP1
00002e98: SWAP2
00002e99: MSTORE
00002e9a: PUSH1 0x24
00002e9c: DUP2
00002e9d: ADD
00002e9e: DUP4
00002e9f: SWAP1
00002ea0: MSTORE
00002ea1: PUSH1 0x44
00002ea3: ADD
00002ea4: PUSH2 0x2a2e
00002ea7: JUMP
00002ea8: JUMPDEST
00002ea9: PUSH1 0x01
00002eab: PUSH1 0x01
00002ead: PUSH1 0xa0
00002eaf: SHL
00002eb0: SUB
00002eb1: DUP5
00002eb2: AND
00002eb3: PUSH2 0x2eeb
00002eb6: JUMPI
00002eb7: PUSH1 0x40
00002eb9: MLOAD
00002eba: PUSH32 0xe602df0500000000000000000000000000000000000000000000000000000000
00002edb: DUP2
00002edc: MSTORE
00002edd: PUSH1 0x00
00002edf: PUSH1 0x04
00002ee1: DUP3
00002ee2: ADD
00002ee3: MSTORE
00002ee4: PUSH1 0x24
00002ee6: ADD
00002ee7: PUSH2 0x2a2e
00002eea: JUMP
00002eeb: JUMPDEST
00002eec: PUSH1 0x01
00002eee: PUSH1 0x01
00002ef0: PUSH1 0xa0
00002ef2: SHL
00002ef3: SUB
00002ef4: DUP4
00002ef5: AND
00002ef6: PUSH2 0x2f2e
00002ef9: JUMPI
00002efa: PUSH1 0x40
00002efc: MLOAD
00002efd: PUSH32 0x94280d6200000000000000000000000000000000000000000000000000000000
00002f1e: DUP2
00002f1f: MSTORE
00002f20: PUSH1 0x00
00002f22: PUSH1 0x04
00002f24: DUP3
00002f25: ADD
00002f26: MSTORE
00002f27: PUSH1 0x24
00002f29: ADD
00002f2a: PUSH2 0x2a2e
00002f2d: JUMP
00002f2e: JUMPDEST
00002f2f: PUSH1 0x01
00002f31: PUSH1 0x01
00002f33: PUSH1 0xa0
00002f35: SHL
00002f36: SUB
00002f37: DUP1
00002f38: DUP6
00002f39: AND
00002f3a: PUSH1 0x00
00002f3c: SWAP1
00002f3d: DUP2
00002f3e: MSTORE
00002f3f: PUSH1 0x01
00002f41: PUSH1 0x20
00002f43: SWAP1
00002f44: DUP2
00002f45: MSTORE
00002f46: PUSH1 0x40
00002f48: DUP1
00002f49: DUP4
00002f4a: KECCAK256
00002f4b: SWAP4
00002f4c: DUP8
00002f4d: AND
00002f4e: DUP4
00002f4f: MSTORE
00002f50: SWAP3
00002f51: SWAP1
00002f52: MSTORE
00002f53: KECCAK256
00002f54: DUP3
00002f55: SWAP1
00002f56: SSTORE
00002f57: DUP1
00002f58: ISZERO
00002f59: PUSH2 0x2faa
00002f5c: JUMPI
00002f5d: DUP3
00002f5e: PUSH1 0x01
00002f60: PUSH1 0x01
00002f62: PUSH1 0xa0
00002f64: SHL
00002f65: SUB
00002f66: AND
00002f67: DUP5
00002f68: PUSH1 0x01
00002f6a: PUSH1 0x01
00002f6c: PUSH1 0xa0
00002f6e: SHL
00002f6f: SUB
00002f70: AND
00002f71: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002f92: DUP5
00002f93: PUSH1 0x40
00002f95: MLOAD
00002f96: PUSH2 0x2fa1
00002f99: SWAP2
00002f9a: DUP2
00002f9b: MSTORE
00002f9c: PUSH1 0x20
00002f9e: ADD
00002f9f: SWAP1
00002fa0: JUMP
00002fa1: JUMPDEST
00002fa2: PUSH1 0x40
00002fa4: MLOAD
00002fa5: DUP1
00002fa6: SWAP2
00002fa7: SUB
00002fa8: SWAP1
00002fa9: LOG3
00002faa: JUMPDEST
00002fab: POP
00002fac: POP
00002fad: POP
00002fae: POP
00002faf: JUMP
00002fb0: JUMPDEST
00002fb1: PUSH1 0x01
00002fb3: PUSH1 0x01
00002fb5: PUSH1 0xa0
00002fb7: SHL
00002fb8: SUB
00002fb9: DUP4
00002fba: DUP2
00002fbb: AND
00002fbc: PUSH1 0x00
00002fbe: SWAP1
00002fbf: DUP2
00002fc0: MSTORE
00002fc1: PUSH1 0x01
00002fc3: PUSH1 0x20
00002fc5: SWAP1
00002fc6: DUP2
00002fc7: MSTORE
00002fc8: PUSH1 0x40
00002fca: DUP1
00002fcb: DUP4
00002fcc: KECCAK256
00002fcd: SWAP4
00002fce: DUP7
00002fcf: AND
00002fd0: DUP4
00002fd1: MSTORE
00002fd2: SWAP3
00002fd3: SWAP1
00002fd4: MSTORE
00002fd5: KECCAK256
00002fd6: SLOAD
00002fd7: PUSH1 0x00
00002fd9: NOT
00002fda: DUP2
00002fdb: EQ
00002fdc: PUSH2 0x2faa
00002fdf: JUMPI
00002fe0: DUP2
00002fe1: DUP2
00002fe2: LT
00002fe3: ISZERO
00002fe4: PUSH2 0x3032
00002fe7: JUMPI
00002fe8: PUSH1 0x40
00002fea: MLOAD
00002feb: PUSH32 0xfb8f41b200000000000000000000000000000000000000000000000000000000
0000300c: DUP2
0000300d: MSTORE
0000300e: PUSH1 0x01
00003010: PUSH1 0x01
00003012: PUSH1 0xa0
00003014: SHL
00003015: SUB
00003016: DUP5
00003017: AND
00003018: PUSH1 0x04
0000301a: DUP3
0000301b: ADD
0000301c: MSTORE
0000301d: PUSH1 0x24
0000301f: DUP2
00003020: ADD
00003021: DUP3
00003022: SWAP1
00003023: MSTORE
00003024: PUSH1 0x44
00003026: DUP2
00003027: ADD
00003028: DUP4
00003029: SWAP1
0000302a: MSTORE
0000302b: PUSH1 0x64
0000302d: ADD
0000302e: PUSH2 0x2a2e
00003031: JUMP
00003032: JUMPDEST
00003033: PUSH2 0x2faa
00003036: DUP5
00003037: DUP5
00003038: DUP5
00003039: DUP5
0000303a: SUB
0000303b: PUSH1 0x00
0000303d: PUSH2 0x2ea8
00003040: JUMP
00003041: JUMPDEST
00003042: PUSH1 0x01
00003044: PUSH1 0x01
00003046: PUSH1 0xa0
00003048: SHL
00003049: SUB
0000304a: DUP4
0000304b: AND
0000304c: PUSH2 0x306b
0000304f: JUMPI
00003050: PUSH1 0x40
00003052: MLOAD
00003053: PUSH4 0x4b637e8f
00003058: PUSH1 0xe1
0000305a: SHL
0000305b: DUP2
0000305c: MSTORE
0000305d: PUSH1 0x00
0000305f: PUSH1 0x04
00003061: DUP3
00003062: ADD
00003063: MSTORE
00003064: PUSH1 0x24
00003066: ADD
00003067: PUSH2 0x2a2e
0000306a: JUMP
0000306b: JUMPDEST
0000306c: PUSH1 0x01
0000306e: PUSH1 0x01
00003070: PUSH1 0xa0
00003072: SHL
00003073: SUB
00003074: DUP3
00003075: AND
00003076: PUSH2 0x3095
00003079: JUMPI
0000307a: PUSH1 0x40
0000307c: MLOAD
0000307d: PUSH4 0xec442f05
00003082: PUSH1 0xe0
00003084: SHL
00003085: DUP2
00003086: MSTORE
00003087: PUSH1 0x00
00003089: PUSH1 0x04
0000308b: DUP3
0000308c: ADD
0000308d: MSTORE
0000308e: PUSH1 0x24
00003090: ADD
00003091: PUSH2 0x2a2e
00003094: JUMP
00003095: JUMPDEST
00003096: PUSH2 0x2920
00003099: DUP4
0000309a: DUP4
0000309b: DUP4
0000309c: PUSH2 0x31bc
0000309f: JUMP
000030a0: JUMPDEST
000030a1: PUSH1 0x60
000030a3: PUSH1 0x00
000030a5: PUSH2 0x30ad
000030a8: DUP4
000030a9: PUSH2 0x32ff
000030ac: JUMP
000030ad: JUMPDEST
000030ae: PUSH1 0x01
000030b0: ADD
000030b1: SWAP1
000030b2: POP
000030b3: PUSH1 0x00
000030b5: DUP2
000030b6: PUSH8 0xffffffffffffffff
000030bf: DUP2
000030c0: GT
000030c1: ISZERO
000030c2: PUSH2 0x30cd
000030c5: JUMPI
000030c6: PUSH2 0x30cd
000030c9: PUSH2 0x35c1
000030cc: JUMP
000030cd: JUMPDEST
000030ce: PUSH1 0x40
000030d0: MLOAD
000030d1: SWAP1
000030d2: DUP1
000030d3: DUP3
000030d4: MSTORE
000030d5: DUP1
000030d6: PUSH1 0x1f
000030d8: ADD
000030d9: PUSH1 0x1f
000030db: NOT
000030dc: AND
000030dd: PUSH1 0x20
000030df: ADD
000030e0: DUP3
000030e1: ADD
000030e2: PUSH1 0x40
000030e4: MSTORE
000030e5: DUP1
000030e6: ISZERO
000030e7: PUSH2 0x30f7
000030ea: JUMPI
000030eb: PUSH1 0x20
000030ed: DUP3
000030ee: ADD
000030ef: DUP2
000030f0: DUP1
000030f1: CALLDATASIZE
000030f2: DUP4
000030f3: CALLDATACOPY
000030f4: ADD
000030f5: SWAP1
000030f6: POP
000030f7: JUMPDEST
000030f8: POP
000030f9: SWAP1
000030fa: POP
000030fb: DUP2
000030fc: DUP2
000030fd: ADD
000030fe: PUSH1 0x20
00003100: ADD
00003101: JUMPDEST
00003102: PUSH1 0x00
00003104: NOT
00003105: ADD
00003106: PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000
00003127: PUSH1 0x0a
00003129: DUP7
0000312a: MOD
0000312b: BYTE
0000312c: DUP2
0000312d: MSTORE8
0000312e: PUSH1 0x0a
00003130: DUP6
00003131: DIV
00003132: SWAP5
00003133: POP
00003134: DUP5
00003135: PUSH2 0x3101
00003138: JUMPI
00003139: POP
0000313a: SWAP4
0000313b: SWAP3
0000313c: POP
0000313d: POP
0000313e: POP
0000313f: JUMP
00003140: JUMPDEST
00003141: PUSH1 0x00
00003143: PUSH2 0x3155
00003146: PUSH1 0x01
00003148: PUSH1 0x01
0000314a: PUSH1 0xa0
0000314c: SHL
0000314d: SUB
0000314e: DUP5
0000314f: AND
00003150: DUP4
00003151: PUSH2 0x33e1
00003154: JUMP
00003155: JUMPDEST
00003156: SWAP1
00003157: POP
00003158: DUP1
00003159: MLOAD
0000315a: PUSH1 0x00
0000315c: EQ
0000315d: ISZERO
0000315e: DUP1
0000315f: ISZERO
00003160: PUSH2 0x317a
00003163: JUMPI
00003164: POP
00003165: DUP1
00003166: DUP1
00003167: PUSH1 0x20
00003169: ADD
0000316a: SWAP1
0000316b: MLOAD
0000316c: DUP2
0000316d: ADD
0000316e: SWAP1
0000316f: PUSH2 0x3178
00003172: SWAP2
00003173: SWAP1
00003174: PUSH2 0x48f6
00003177: JUMP
00003178: JUMPDEST
00003179: ISZERO
0000317a: JUMPDEST
0000317b: ISZERO
0000317c: PUSH2 0x2920
0000317f: JUMPI
00003180: PUSH1 0x40
00003182: MLOAD
00003183: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
000031a4: DUP2
000031a5: MSTORE
000031a6: PUSH1 0x01
000031a8: PUSH1 0x01
000031aa: PUSH1 0xa0
000031ac: SHL
000031ad: SUB
000031ae: DUP5
000031af: AND
000031b0: PUSH1 0x04
000031b2: DUP3
000031b3: ADD
000031b4: MSTORE
000031b5: PUSH1 0x24
000031b7: ADD
000031b8: PUSH2 0x2a2e
000031bb: JUMP
000031bc: JUMPDEST
000031bd: PUSH1 0x01
000031bf: PUSH1 0x01
000031c1: PUSH1 0xa0
000031c3: SHL
000031c4: SUB
000031c5: DUP4
000031c6: AND
000031c7: PUSH2 0x31e7
000031ca: JUMPI
000031cb: DUP1
000031cc: PUSH1 0x02
000031ce: PUSH1 0x00
000031d0: DUP3
000031d1: DUP3
000031d2: SLOAD
000031d3: PUSH2 0x31dc
000031d6: SWAP2
000031d7: SWAP1
000031d8: PUSH2 0x3ee4
000031db: JUMP
000031dc: JUMPDEST
000031dd: SWAP1
000031de: SWAP2
000031df: SSTORE
000031e0: POP
000031e1: PUSH2 0x3272
000031e4: SWAP1
000031e5: POP
000031e6: JUMP
000031e7: JUMPDEST
000031e8: PUSH1 0x01
000031ea: PUSH1 0x01
000031ec: PUSH1 0xa0
000031ee: SHL
000031ef: SUB
000031f0: DUP4
000031f1: AND
000031f2: PUSH1 0x00
000031f4: SWAP1
000031f5: DUP2
000031f6: MSTORE
000031f7: PUSH1 0x20
000031f9: DUP2
000031fa: SWAP1
000031fb: MSTORE
000031fc: PUSH1 0x40
000031fe: SWAP1
000031ff: KECCAK256
00003200: SLOAD
00003201: DUP2
00003202: DUP2
00003203: LT
00003204: ISZERO
00003205: PUSH2 0x3253
00003208: JUMPI
00003209: PUSH1 0x40
0000320b: MLOAD
0000320c: PUSH32 0xe450d38c00000000000000000000000000000000000000000000000000000000
0000322d: DUP2
0000322e: MSTORE
0000322f: PUSH1 0x01
00003231: PUSH1 0x01
00003233: PUSH1 0xa0
00003235: SHL
00003236: SUB
00003237: DUP6
00003238: AND
00003239: PUSH1 0x04
0000323b: DUP3
0000323c: ADD
0000323d: MSTORE
0000323e: PUSH1 0x24
00003240: DUP2
00003241: ADD
00003242: DUP3
00003243: SWAP1
00003244: MSTORE
00003245: PUSH1 0x44
00003247: DUP2
00003248: ADD
00003249: DUP4
0000324a: SWAP1
0000324b: MSTORE
0000324c: PUSH1 0x64
0000324e: ADD
0000324f: PUSH2 0x2a2e
00003252: JUMP
00003253: JUMPDEST
00003254: PUSH1 0x01
00003256: PUSH1 0x01
00003258: PUSH1 0xa0
0000325a: SHL
0000325b: SUB
0000325c: DUP5
0000325d: AND
0000325e: PUSH1 0x00
00003260: SWAP1
00003261: DUP2
00003262: MSTORE
00003263: PUSH1 0x20
00003265: DUP2
00003266: SWAP1
00003267: MSTORE
00003268: PUSH1 0x40
0000326a: SWAP1
0000326b: KECCAK256
0000326c: SWAP1
0000326d: DUP3
0000326e: SWAP1
0000326f: SUB
00003270: SWAP1
00003271: SSTORE
00003272: JUMPDEST
00003273: PUSH1 0x01
00003275: PUSH1 0x01
00003277: PUSH1 0xa0
00003279: SHL
0000327a: SUB
0000327b: DUP3
0000327c: AND
0000327d: PUSH2 0x328e
00003280: JUMPI
00003281: PUSH1 0x02
00003283: DUP1
00003284: SLOAD
00003285: DUP3
00003286: SWAP1
00003287: SUB
00003288: SWAP1
00003289: SSTORE
0000328a: PUSH2 0x32ad
0000328d: JUMP
0000328e: JUMPDEST
0000328f: PUSH1 0x01
00003291: PUSH1 0x01
00003293: PUSH1 0xa0
00003295: SHL
00003296: SUB
00003297: DUP3
00003298: AND
00003299: PUSH1 0x00
0000329b: SWAP1
0000329c: DUP2
0000329d: MSTORE
0000329e: PUSH1 0x20
000032a0: DUP2
000032a1: SWAP1
000032a2: MSTORE
000032a3: PUSH1 0x40
000032a5: SWAP1
000032a6: KECCAK256
000032a7: DUP1
000032a8: SLOAD
000032a9: DUP3
000032aa: ADD
000032ab: SWAP1
000032ac: SSTORE
000032ad: JUMPDEST
000032ae: DUP2
000032af: PUSH1 0x01
000032b1: PUSH1 0x01
000032b3: PUSH1 0xa0
000032b5: SHL
000032b6: SUB
000032b7: AND
000032b8: DUP4
000032b9: PUSH1 0x01
000032bb: PUSH1 0x01
000032bd: PUSH1 0xa0
000032bf: SHL
000032c0: SUB
000032c1: AND
000032c2: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000032e3: DUP4
000032e4: PUSH1 0x40
000032e6: MLOAD
000032e7: PUSH2 0x32f2
000032ea: SWAP2
000032eb: DUP2
000032ec: MSTORE
000032ed: PUSH1 0x20
000032ef: ADD
000032f0: SWAP1
000032f1: JUMP
000032f2: JUMPDEST
000032f3: PUSH1 0x40
000032f5: MLOAD
000032f6: DUP1
000032f7: SWAP2
000032f8: SUB
000032f9: SWAP1
000032fa: LOG3
000032fb: POP
000032fc: POP
000032fd: POP
000032fe: JUMP
000032ff: JUMPDEST
00003300: PUSH1 0x00
00003302: DUP1
00003303: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000
0000331f: DUP4
00003320: LT
00003321: PUSH2 0x3348
00003324: JUMPI
00003325: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000
00003341: DUP4
00003342: DIV
00003343: SWAP3
00003344: POP
00003345: PUSH1 0x40
00003347: ADD
00003348: JUMPDEST
00003349: PUSH14 0x04ee2d6d415b85acef8100000000
00003358: DUP4
00003359: LT
0000335a: PUSH2 0x3374
0000335d: JUMPI
0000335e: PUSH14 0x04ee2d6d415b85acef8100000000
0000336d: DUP4
0000336e: DIV
0000336f: SWAP3
00003370: POP
00003371: PUSH1 0x20
00003373: ADD
00003374: JUMPDEST
00003375: PUSH7 0x2386f26fc10000
0000337d: DUP4
0000337e: LT
0000337f: PUSH2 0x3392
00003382: JUMPI
00003383: PUSH7 0x2386f26fc10000
0000338b: DUP4
0000338c: DIV
0000338d: SWAP3
0000338e: POP
0000338f: PUSH1 0x10
00003391: ADD
00003392: JUMPDEST
00003393: PUSH4 0x05f5e100
00003398: DUP4
00003399: LT
0000339a: PUSH2 0x33aa
0000339d: JUMPI
0000339e: PUSH4 0x05f5e100
000033a3: DUP4
000033a4: DIV
000033a5: SWAP3
000033a6: POP
000033a7: PUSH1 0x08
000033a9: ADD
000033aa: JUMPDEST
000033ab: PUSH2 0x2710
000033ae: DUP4
000033af: LT
000033b0: PUSH2 0x33be
000033b3: JUMPI
000033b4: PUSH2 0x2710
000033b7: DUP4
000033b8: DIV
000033b9: SWAP3
000033ba: POP
000033bb: PUSH1 0x04
000033bd: ADD
000033be: JUMPDEST
000033bf: PUSH1 0x64
000033c1: DUP4
000033c2: LT
000033c3: PUSH2 0x33d0
000033c6: JUMPI
000033c7: PUSH1 0x64
000033c9: DUP4
000033ca: DIV
000033cb: SWAP3
000033cc: POP
000033cd: PUSH1 0x02
000033cf: ADD
000033d0: JUMPDEST
000033d1: PUSH1 0x0a
000033d3: DUP4
000033d4: LT
000033d5: PUSH2 0x0874
000033d8: JUMPI
000033d9: PUSH1 0x01
000033db: ADD
000033dc: SWAP3
000033dd: SWAP2
000033de: POP
000033df: POP
000033e0: JUMP
000033e1: JUMPDEST
000033e2: PUSH1 0x60
000033e4: PUSH2 0x2a8d
000033e7: DUP4
000033e8: DUP4
000033e9: PUSH1 0x00
000033eb: DUP5
000033ec: PUSH1 0x00
000033ee: DUP1
000033ef: DUP6
000033f0: PUSH1 0x01
000033f2: PUSH1 0x01
000033f4: PUSH1 0xa0
000033f6: SHL
000033f7: SUB
000033f8: AND
000033f9: DUP5
000033fa: DUP7
000033fb: PUSH1 0x40
000033fd: MLOAD
000033fe: PUSH2 0x3407
00003401: SWAP2
00003402: SWAP1
00003403: PUSH2 0x4913
00003406: JUMP
00003407: JUMPDEST
00003408: PUSH1 0x00
0000340a: PUSH1 0x40
0000340c: MLOAD
0000340d: DUP1
0000340e: DUP4
0000340f: SUB
00003410: DUP2
00003411: DUP6
00003412: DUP8
00003413: GAS
00003414: CALL
00003415: SWAP3
00003416: POP
00003417: POP
00003418: POP
00003419: RETURNDATASIZE
0000341a: DUP1
0000341b: PUSH1 0x00
0000341d: DUP2
0000341e: EQ
0000341f: PUSH2 0x3444
00003422: JUMPI
00003423: PUSH1 0x40
00003425: MLOAD
00003426: SWAP2
00003427: POP
00003428: PUSH1 0x1f
0000342a: NOT
0000342b: PUSH1 0x3f
0000342d: RETURNDATASIZE
0000342e: ADD
0000342f: AND
00003430: DUP3
00003431: ADD
00003432: PUSH1 0x40
00003434: MSTORE
00003435: RETURNDATASIZE
00003436: DUP3
00003437: MSTORE
00003438: RETURNDATASIZE
00003439: PUSH1 0x00
0000343b: PUSH1 0x20
0000343d: DUP5
0000343e: ADD
0000343f: RETURNDATACOPY
00003440: PUSH2 0x3449
00003443: JUMP
00003444: JUMPDEST
00003445: PUSH1 0x60
00003447: SWAP2
00003448: POP
00003449: JUMPDEST
0000344a: POP
0000344b: SWAP2
0000344c: POP
0000344d: SWAP2
0000344e: POP
0000344f: PUSH2 0x3459
00003452: DUP7
00003453: DUP4
00003454: DUP4
00003455: PUSH2 0x3463
00003458: JUMP
00003459: JUMPDEST
0000345a: SWAP7
0000345b: SWAP6
0000345c: POP
0000345d: POP
0000345e: POP
0000345f: POP
00003460: POP
00003461: POP
00003462: JUMP
00003463: JUMPDEST
00003464: PUSH1 0x60
00003466: DUP3
00003467: PUSH2 0x3478
0000346a: JUMPI
0000346b: PUSH2 0x3473
0000346e: DUP3
0000346f: PUSH2 0x34d8
00003472: JUMP
00003473: JUMPDEST
00003474: PUSH2 0x2a8d
00003477: JUMP
00003478: JUMPDEST
00003479: DUP2
0000347a: MLOAD
0000347b: ISZERO
0000347c: DUP1
0000347d: ISZERO
0000347e: PUSH2 0x348f
00003481: JUMPI
00003482: POP
00003483: PUSH1 0x01
00003485: PUSH1 0x01
00003487: PUSH1 0xa0
00003489: SHL
0000348a: SUB
0000348b: DUP5
0000348c: AND
0000348d: EXTCODESIZE
0000348e: ISZERO
0000348f: JUMPDEST
00003490: ISZERO
00003491: PUSH2 0x34d1
00003494: JUMPI
00003495: PUSH1 0x40
00003497: MLOAD
00003498: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000
000034b9: DUP2
000034ba: MSTORE
000034bb: PUSH1 0x01
000034bd: PUSH1 0x01
000034bf: PUSH1 0xa0
000034c1: SHL
000034c2: SUB
000034c3: DUP6
000034c4: AND
000034c5: PUSH1 0x04
000034c7: DUP3
000034c8: ADD
000034c9: MSTORE
000034ca: PUSH1 0x24
000034cc: ADD
000034cd: PUSH2 0x2a2e
000034d0: JUMP
000034d1: JUMPDEST
000034d2: POP
000034d3: DUP1
000034d4: PUSH2 0x2a8d
000034d7: JUMP
000034d8: JUMPDEST
000034d9: DUP1
000034da: MLOAD
000034db: ISZERO
000034dc: PUSH2 0x34e8
000034df: JUMPI
000034e0: DUP1
000034e1: MLOAD
000034e2: DUP1
000034e3: DUP3
000034e4: PUSH1 0x20
000034e6: ADD
000034e7: REVERT
000034e8: JUMPDEST
000034e9: PUSH1 0x40
000034eb: MLOAD
000034ec: PUSH32 0x1425ea4200000000000000000000000000000000000000000000000000000000
0000350d: DUP2
0000350e: MSTORE
0000350f: PUSH1 0x04
00003511: ADD
00003512: PUSH1 0x40
00003514: MLOAD
00003515: DUP1
00003516: SWAP2
00003517: SUB
00003518: SWAP1
00003519: REVERT
0000351a: JUMPDEST
0000351b: POP
0000351c: JUMP
0000351d: JUMPDEST
0000351e: PUSH1 0x00
00003520: JUMPDEST
00003521: DUP4
00003522: DUP2
00003523: LT
00003524: ISZERO
00003525: PUSH2 0x3538
00003528: JUMPI
00003529: DUP2
0000352a: DUP2
0000352b: ADD
0000352c: MLOAD
0000352d: DUP4
0000352e: DUP3
0000352f: ADD
00003530: MSTORE
00003531: PUSH1 0x20
00003533: ADD
00003534: PUSH2 0x3520
00003537: JUMP
00003538: JUMPDEST
00003539: POP
0000353a: POP
0000353b: PUSH1 0x00
0000353d: SWAP2
0000353e: ADD
0000353f: MSTORE
00003540: JUMP
00003541: JUMPDEST
00003542: PUSH1 0x00
00003544: DUP2
00003545: MLOAD
00003546: DUP1
00003547: DUP5
00003548: MSTORE
00003549: PUSH2 0x3559
0000354c: DUP2
0000354d: PUSH1 0x20
0000354f: DUP7
00003550: ADD
00003551: PUSH1 0x20
00003553: DUP7
00003554: ADD
00003555: PUSH2 0x351d
00003558: JUMP
00003559: JUMPDEST
0000355a: PUSH1 0x1f
0000355c: ADD
0000355d: PUSH1 0x1f
0000355f: NOT
00003560: AND
00003561: SWAP3
00003562: SWAP1
00003563: SWAP3
00003564: ADD
00003565: PUSH1 0x20
00003567: ADD
00003568: SWAP3
00003569: SWAP2
0000356a: POP
0000356b: POP
0000356c: JUMP
0000356d: JUMPDEST
0000356e: PUSH1 0x20
00003570: DUP2
00003571: MSTORE
00003572: PUSH1 0x00
00003574: PUSH2 0x2a8d
00003577: PUSH1 0x20
00003579: DUP4
0000357a: ADD
0000357b: DUP5
0000357c: PUSH2 0x3541
0000357f: JUMP
00003580: JUMPDEST
00003581: PUSH1 0x01
00003583: PUSH1 0x01
00003585: PUSH1 0xa0
00003587: SHL
00003588: SUB
00003589: DUP2
0000358a: AND
0000358b: DUP2
0000358c: EQ
0000358d: PUSH2 0x351a
00003590: JUMPI
00003591: PUSH1 0x00
00003593: DUP1
00003594: REVERT
00003595: JUMPDEST
00003596: PUSH1 0x00
00003598: DUP1
00003599: PUSH1 0x40
0000359b: DUP4
0000359c: DUP6
0000359d: SUB
0000359e: SLT
0000359f: ISZERO
000035a0: PUSH2 0x35a8
000035a3: JUMPI
000035a4: PUSH1 0x00
000035a6: DUP1
000035a7: REVERT
000035a8: JUMPDEST
000035a9: DUP3
000035aa: CALLDATALOAD
000035ab: PUSH2 0x35b3
000035ae: DUP2
000035af: PUSH2 0x3580
000035b2: JUMP
000035b3: JUMPDEST
000035b4: SWAP5
000035b5: PUSH1 0x20
000035b7: SWAP4
000035b8: SWAP1
000035b9: SWAP4
000035ba: ADD
000035bb: CALLDATALOAD
000035bc: SWAP4
000035bd: POP
000035be: POP
000035bf: POP
000035c0: JUMP
000035c1: JUMPDEST
000035c2: PUSH4 0x4e487b71
000035c7: PUSH1 0xe0
000035c9: SHL
000035ca: PUSH1 0x00
000035cc: MSTORE
000035cd: PUSH1 0x41
000035cf: PUSH1 0x04
000035d1: MSTORE
000035d2: PUSH1 0x24
000035d4: PUSH1 0x00
000035d6: REVERT
000035d7: JUMPDEST
000035d8: PUSH1 0x40
000035da: MLOAD
000035db: PUSH1 0x1f
000035dd: DUP3
000035de: ADD
000035df: PUSH1 0x1f
000035e1: NOT
000035e2: AND
000035e3: DUP2
000035e4: ADD
000035e5: PUSH8 0xffffffffffffffff
000035ee: DUP2
000035ef: GT
000035f0: DUP3
000035f1: DUP3
000035f2: LT
000035f3: OR
000035f4: ISZERO
000035f5: PUSH2 0x3600
000035f8: JUMPI
000035f9: PUSH2 0x3600
000035fc: PUSH2 0x35c1
000035ff: JUMP
00003600: JUMPDEST
00003601: PUSH1 0x40
00003603: MSTORE
00003604: SWAP2
00003605: SWAP1
00003606: POP
00003607: JUMP
00003608: JUMPDEST
00003609: PUSH1 0x00
0000360b: PUSH8 0xffffffffffffffff
00003614: DUP3
00003615: GT
00003616: ISZERO
00003617: PUSH2 0x3622
0000361a: JUMPI
0000361b: PUSH2 0x3622
0000361e: PUSH2 0x35c1
00003621: JUMP
00003622: JUMPDEST
00003623: POP
00003624: PUSH1 0x1f
00003626: ADD
00003627: PUSH1 0x1f
00003629: NOT
0000362a: AND
0000362b: PUSH1 0x20
0000362d: ADD
0000362e: SWAP1
0000362f: JUMP
00003630: JUMPDEST
00003631: PUSH1 0x00
00003633: DUP3
00003634: PUSH1 0x1f
00003636: DUP4
00003637: ADD
00003638: SLT
00003639: PUSH2 0x3641
0000363c: JUMPI
0000363d: PUSH1 0x00
0000363f: DUP1
00003640: REVERT
00003641: JUMPDEST
00003642: DUP2
00003643: CALLDATALOAD
00003644: PUSH1 0x20
00003646: PUSH8 0xffffffffffffffff
0000364f: DUP1
00003650: DUP4
00003651: GT
00003652: ISZERO
00003653: PUSH2 0x365e
00003656: JUMPI
00003657: PUSH2 0x365e
0000365a: PUSH2 0x35c1
0000365d: JUMP
0000365e: JUMPDEST
0000365f: DUP3
00003660: PUSH1 0x05
00003662: SHL
00003663: PUSH2 0x366d
00003666: DUP4
00003667: DUP3
00003668: ADD
00003669: PUSH2 0x35d7
0000366c: JUMP
0000366d: JUMPDEST
0000366e: SWAP4
0000366f: DUP5
00003670: MSTORE
00003671: DUP6
00003672: DUP2
00003673: ADD
00003674: DUP4
00003675: ADD
00003676: SWAP4
00003677: DUP4
00003678: DUP2
00003679: ADD
0000367a: SWAP1
0000367b: DUP9
0000367c: DUP7
0000367d: GT
0000367e: ISZERO
0000367f: PUSH2 0x3687
00003682: JUMPI
00003683: PUSH1 0x00
00003685: DUP1
00003686: REVERT
00003687: JUMPDEST
00003688: DUP5
00003689: DUP9
0000368a: ADD
0000368b: SWAP3
0000368c: POP
0000368d: JUMPDEST
0000368e: DUP6
0000368f: DUP4
00003690: LT
00003691: ISZERO
00003692: PUSH2 0x3707
00003695: JUMPI
00003696: DUP3
00003697: CALLDATALOAD
00003698: DUP5
00003699: DUP2
0000369a: GT
0000369b: ISZERO
0000369c: PUSH2 0x36a5
0000369f: JUMPI
000036a0: PUSH1 0x00
000036a2: DUP1
000036a3: DUP2
000036a4: REVERT
000036a5: JUMPDEST
000036a6: DUP9
000036a7: ADD
000036a8: PUSH1 0x3f
000036aa: DUP2
000036ab: ADD
000036ac: DUP11
000036ad: SGT
000036ae: PUSH2 0x36b7
000036b1: JUMPI
000036b2: PUSH1 0x00
000036b4: DUP1
000036b5: DUP2
000036b6: REVERT
000036b7: JUMPDEST
000036b8: DUP6
000036b9: DUP2
000036ba: ADD
000036bb: CALLDATALOAD
000036bc: PUSH1 0x40
000036be: PUSH2 0x36ce
000036c1: PUSH2 0x36c9
000036c4: DUP4
000036c5: PUSH2 0x3608
000036c8: JUMP
000036c9: JUMPDEST
000036ca: PUSH2 0x35d7
000036cd: JUMP
000036ce: JUMPDEST
000036cf: DUP3
000036d0: DUP2
000036d1: MSTORE
000036d2: DUP13
000036d3: DUP3
000036d4: DUP5
000036d5: DUP7
000036d6: ADD
000036d7: ADD
000036d8: GT
000036d9: ISZERO
000036da: PUSH2 0x36e3
000036dd: JUMPI
000036de: PUSH1 0x00
000036e0: DUP1
000036e1: DUP2
000036e2: REVERT
000036e3: JUMPDEST
000036e4: DUP3
000036e5: DUP3
000036e6: DUP6
000036e7: ADD
000036e8: DUP11
000036e9: DUP4
000036ea: ADD
000036eb: CALLDATACOPY
000036ec: PUSH1 0x00
000036ee: SWAP3
000036ef: DUP2
000036f0: ADD
000036f1: DUP10
000036f2: ADD
000036f3: SWAP3
000036f4: SWAP1
000036f5: SWAP3
000036f6: MSTORE
000036f7: POP
000036f8: DUP4
000036f9: MSTORE
000036fa: POP
000036fb: SWAP2
000036fc: DUP5
000036fd: ADD
000036fe: SWAP2
000036ff: SWAP1
00003700: DUP5
00003701: ADD
00003702: SWAP1
00003703: PUSH2 0x368d
00003706: JUMP
00003707: JUMPDEST
00003708: SWAP9
00003709: SWAP8
0000370a: POP
0000370b: POP
0000370c: POP
0000370d: POP
0000370e: POP
0000370f: POP
00003710: POP
00003711: POP
00003712: JUMP
00003713: JUMPDEST
00003714: PUSH1 0x00
00003716: DUP1
00003717: PUSH1 0x00
00003719: PUSH1 0x60
0000371b: DUP5
0000371c: DUP7
0000371d: SUB
0000371e: SLT
0000371f: ISZERO
00003720: PUSH2 0x3728
00003723: JUMPI
00003724: PUSH1 0x00
00003726: DUP1
00003727: REVERT
00003728: JUMPDEST
00003729: DUP4
0000372a: CALLDATALOAD
0000372b: SWAP3
0000372c: POP
0000372d: PUSH1 0x20
0000372f: DUP5
00003730: ADD
00003731: CALLDATALOAD
00003732: SWAP2
00003733: POP
00003734: PUSH1 0x40
00003736: DUP5
00003737: ADD
00003738: CALLDATALOAD
00003739: PUSH8 0xffffffffffffffff
00003742: DUP2
00003743: GT
00003744: ISZERO
00003745: PUSH2 0x374d
00003748: JUMPI
00003749: PUSH1 0x00
0000374b: DUP1
0000374c: REVERT
0000374d: JUMPDEST
0000374e: PUSH2 0x3759
00003751: DUP7
00003752: DUP3
00003753: DUP8
00003754: ADD
00003755: PUSH2 0x3630
00003758: JUMP
00003759: JUMPDEST
0000375a: SWAP2
0000375b: POP
0000375c: POP
0000375d: SWAP3
0000375e: POP
0000375f: SWAP3
00003760: POP
00003761: SWAP3
00003762: JUMP
00003763: JUMPDEST
00003764: PUSH4 0x4e487b71
00003769: PUSH1 0xe0
0000376b: SHL
0000376c: PUSH1 0x00
0000376e: MSTORE
0000376f: PUSH1 0x21
00003771: PUSH1 0x04
00003773: MSTORE
00003774: PUSH1 0x24
00003776: PUSH1 0x00
00003778: REVERT
00003779: JUMPDEST
0000377a: PUSH1 0x06
0000377c: DUP2
0000377d: LT
0000377e: PUSH2 0x3797
00003781: JUMPI
00003782: PUSH4 0x4e487b71
00003787: PUSH1 0xe0
00003789: SHL
0000378a: PUSH1 0x00
0000378c: MSTORE
0000378d: PUSH1 0x21
0000378f: PUSH1 0x04
00003791: MSTORE
00003792: PUSH1 0x24
00003794: PUSH1 0x00
00003796: REVERT
00003797: JUMPDEST
00003798: SWAP1
00003799: MSTORE
0000379a: JUMP
0000379b: JUMPDEST
0000379c: PUSH1 0x00
0000379e: PUSH2 0x01a0
000037a1: DUP3
000037a2: ADD
000037a3: SWAP1
000037a4: POP
000037a5: PUSH2 0x37af
000037a8: DUP3
000037a9: DUP6
000037aa: MLOAD
000037ab: PUSH2 0x3779
000037ae: JUMP
000037af: JUMPDEST
000037b0: PUSH1 0x20
000037b2: DUP5
000037b3: ADD
000037b4: MLOAD
000037b5: PUSH2 0x37c9
000037b8: PUSH1 0x20
000037ba: DUP5
000037bb: ADD
000037bc: DUP3
000037bd: PUSH1 0x01
000037bf: PUSH1 0x01
000037c1: PUSH1 0xa0
000037c3: SHL
000037c4: SUB
000037c5: AND
000037c6: SWAP1
000037c7: MSTORE
000037c8: JUMP
000037c9: JUMPDEST
000037ca: POP
000037cb: PUSH1 0x40
000037cd: DUP5
000037ce: ADD
000037cf: MLOAD
000037d0: PUSH2 0x37e4
000037d3: PUSH1 0x40
000037d5: DUP5
000037d6: ADD
000037d7: DUP3
000037d8: PUSH1 0x01
000037da: PUSH1 0x01
000037dc: PUSH1 0xa0
000037de: SHL
000037df: SUB
000037e0: AND
000037e1: SWAP1
000037e2: MSTORE
000037e3: JUMP
000037e4: JUMPDEST
000037e5: POP
000037e6: PUSH1 0x60
000037e8: DUP5
000037e9: ADD
000037ea: MLOAD
000037eb: PUSH2 0x37ff
000037ee: PUSH1 0x60
000037f0: DUP5
000037f1: ADD
000037f2: DUP3
000037f3: PUSH1 0x01
000037f5: PUSH1 0x01
000037f7: PUSH1 0x80
000037f9: SHL
000037fa: SUB
000037fb: AND
000037fc: SWAP1
000037fd: MSTORE
000037fe: JUMP
000037ff: JUMPDEST
00003800: POP
00003801: PUSH1 0x80
00003803: DUP5
00003804: ADD
00003805: MLOAD
00003806: PUSH2 0x3819
00003809: PUSH1 0x80
0000380b: DUP5
0000380c: ADD
0000380d: DUP3
0000380e: PUSH6 0xffffffffffff
00003815: AND
00003816: SWAP1
00003817: MSTORE
00003818: JUMP
00003819: JUMPDEST
0000381a: POP
0000381b: PUSH1 0xa0
0000381d: DUP5
0000381e: ADD
0000381f: MLOAD
00003820: PUSH2 0x3833
00003823: PUSH1 0xa0
00003825: DUP5
00003826: ADD
00003827: DUP3
00003828: PUSH6 0xffffffffffff
0000382f: AND
00003830: SWAP1
00003831: MSTORE
00003832: JUMP
00003833: JUMPDEST
00003834: POP
00003835: PUSH1 0xc0
00003837: DUP5
00003838: ADD
00003839: MLOAD
0000383a: PUSH2 0x384e
0000383d: PUSH1 0xc0
0000383f: DUP5
00003840: ADD
00003841: DUP3
00003842: PUSH1 0x01
00003844: PUSH1 0x01
00003846: PUSH1 0x80
00003848: SHL
00003849: SUB
0000384a: AND
0000384b: SWAP1
0000384c: MSTORE
0000384d: JUMP
0000384e: JUMPDEST
0000384f: POP
00003850: PUSH1 0xe0
00003852: DUP5
00003853: ADD
00003854: MLOAD
00003855: PUSH2 0x3869
00003858: PUSH1 0xe0
0000385a: DUP5
0000385b: ADD
0000385c: DUP3
0000385d: PUSH1 0x01
0000385f: PUSH1 0x01
00003861: PUSH1 0xa0
00003863: SHL
00003864: SUB
00003865: AND
00003866: SWAP1
00003867: MSTORE
00003868: JUMP
00003869: JUMPDEST
0000386a: POP
0000386b: PUSH2 0x0100
0000386e: DUP5
0000386f: DUP2
00003870: ADD
00003871: MLOAD
00003872: SWAP1
00003873: DUP4
00003874: ADD
00003875: MSTORE
00003876: PUSH2 0x0120
00003879: DUP1
0000387a: DUP6
0000387b: ADD
0000387c: MLOAD
0000387d: PUSH8 0xffffffffffffffff
00003886: AND
00003887: SWAP1
00003888: DUP4
00003889: ADD
0000388a: MSTORE
0000388b: PUSH2 0x0140
0000388e: DUP1
0000388f: DUP6
00003890: ADD
00003891: MLOAD
00003892: PUSH1 0x01
00003894: PUSH1 0x01
00003896: PUSH1 0x80
00003898: SHL
00003899: SUB
0000389a: SWAP1
0000389b: DUP2
0000389c: AND
0000389d: SWAP2
0000389e: DUP5
0000389f: ADD
000038a0: SWAP2
000038a1: SWAP1
000038a2: SWAP2
000038a3: MSTORE
000038a4: PUSH2 0x0160
000038a7: DUP1
000038a8: DUP7
000038a9: ADD
000038aa: MLOAD
000038ab: SWAP1
000038ac: SWAP2
000038ad: AND
000038ae: SWAP1
000038af: DUP4
000038b0: ADD
000038b1: MSTORE
000038b2: PUSH1 0x01
000038b4: PUSH1 0x01
000038b6: PUSH1 0xa0
000038b8: SHL
000038b9: SUB
000038ba: DUP4
000038bb: AND
000038bc: PUSH2 0x0180
000038bf: DUP4
000038c0: ADD
000038c1: MSTORE
000038c2: PUSH2 0x2a8d
000038c5: JUMP
000038c6: JUMPDEST
000038c7: PUSH1 0x00
000038c9: DUP1
000038ca: PUSH1 0x00
000038cc: PUSH1 0x60
000038ce: DUP5
000038cf: DUP7
000038d0: SUB
000038d1: SLT
000038d2: ISZERO
000038d3: PUSH2 0x38db
000038d6: JUMPI
000038d7: PUSH1 0x00
000038d9: DUP1
000038da: REVERT
000038db: JUMPDEST
000038dc: DUP4
000038dd: CALLDATALOAD
000038de: PUSH2 0x38e6
000038e1: DUP2
000038e2: PUSH2 0x3580
000038e5: JUMP
000038e6: JUMPDEST
000038e7: SWAP3
000038e8: POP
000038e9: PUSH1 0x20
000038eb: DUP5
000038ec: ADD
000038ed: CALLDATALOAD
000038ee: PUSH2 0x38f6
000038f1: DUP2
000038f2: PUSH2 0x3580
000038f5: JUMP
000038f6: JUMPDEST
000038f7: SWAP3
000038f8: SWAP6
000038f9: SWAP3
000038fa: SWAP5
000038fb: POP
000038fc: POP
000038fd: POP
000038fe: PUSH1 0x40
00003900: SWAP2
00003901: SWAP1
00003902: SWAP2
00003903: ADD
00003904: CALLDATALOAD
00003905: SWAP1
00003906: JUMP
00003907: JUMPDEST
00003908: DUP1
00003909: CALLDATALOAD
0000390a: PUSH12 0xffffffffffffffffffffffff
00003917: DUP2
00003918: AND
00003919: DUP2
0000391a: EQ
0000391b: PUSH2 0x3923
0000391e: JUMPI
0000391f: PUSH1 0x00
00003921: DUP1
00003922: REVERT
00003923: JUMPDEST
00003924: SWAP2
00003925: SWAP1
00003926: POP
00003927: JUMP
00003928: JUMPDEST
00003929: PUSH1 0x00
0000392b: DUP1
0000392c: PUSH1 0x00
0000392e: DUP1
0000392f: PUSH1 0x00
00003931: DUP1
00003932: DUP7
00003933: DUP9
00003934: SUB
00003935: PUSH2 0x02c0
00003938: DUP2
00003939: SLT
0000393a: ISZERO
0000393b: PUSH2 0x3943
0000393e: JUMPI
0000393f: PUSH1 0x00
00003941: DUP1
00003942: REVERT
00003943: JUMPDEST
00003944: DUP8
00003945: CALLDATALOAD
00003946: PUSH2 0x394e
00003949: DUP2
0000394a: PUSH2 0x3580
0000394d: JUMP
0000394e: JUMPDEST
0000394f: SWAP7
00003950: POP
00003951: PUSH1 0x20
00003953: DUP9
00003954: ADD
00003955: CALLDATALOAD
00003956: PUSH2 0x395e
00003959: DUP2
0000395a: PUSH2 0x3580
0000395d: JUMP
0000395e: JUMPDEST
0000395f: SWAP6
00003960: POP
00003961: PUSH2 0x396c
00003964: PUSH1 0x40
00003966: DUP10
00003967: ADD
00003968: PUSH2 0x3907
0000396b: JUMP
0000396c: JUMPDEST
0000396d: SWAP5
0000396e: POP
0000396f: PUSH2 0x0220
00003972: PUSH1 0x5f
00003974: NOT
00003975: DUP3
00003976: ADD
00003977: SLT
00003978: ISZERO
00003979: PUSH2 0x3981
0000397c: JUMPI
0000397d: PUSH1 0x00
0000397f: DUP1
00003980: REVERT
00003981: JUMPDEST
00003982: POP
00003983: PUSH1 0x60
00003985: DUP8
00003986: ADD
00003987: SWAP3
00003988: POP
00003989: PUSH2 0x0280
0000398c: DUP8
0000398d: ADD
0000398e: CALLDATALOAD
0000398f: SWAP2
00003990: POP
00003991: PUSH2 0x02a0
00003994: DUP8
00003995: ADD
00003996: CALLDATALOAD
00003997: PUSH2 0x399f
0000399a: DUP2
0000399b: PUSH2 0x3580
0000399e: JUMP
0000399f: JUMPDEST
000039a0: DUP1
000039a1: SWAP2
000039a2: POP
000039a3: POP
000039a4: SWAP3
000039a5: SWAP6
000039a6: POP
000039a7: SWAP3
000039a8: SWAP6
000039a9: POP
000039aa: SWAP3
000039ab: SWAP6
000039ac: JUMP
000039ad: JUMPDEST
000039ae: DUP1
000039af: ISZERO
000039b0: ISZERO
000039b1: DUP2
000039b2: EQ
000039b3: PUSH2 0x351a
000039b6: JUMPI
000039b7: PUSH1 0x00
000039b9: DUP1
000039ba: REVERT
000039bb: JUMPDEST
000039bc: PUSH1 0x00
000039be: DUP1
000039bf: PUSH1 0x00
000039c1: DUP1
000039c2: PUSH1 0x00
000039c4: PUSH1 0xa0
000039c6: DUP7
000039c7: DUP9
000039c8: SUB
000039c9: SLT
000039ca: ISZERO
000039cb: PUSH2 0x39d3
000039ce: JUMPI
000039cf: PUSH1 0x00
000039d1: DUP1
000039d2: REVERT
000039d3: JUMPDEST
000039d4: DUP6
000039d5: CALLDATALOAD
000039d6: PUSH2 0x39de
000039d9: DUP2
000039da: PUSH2 0x3580
000039dd: JUMP
000039de: JUMPDEST
000039df: SWAP5
000039e0: POP
000039e1: PUSH1 0x20
000039e3: DUP7
000039e4: ADD
000039e5: CALLDATALOAD
000039e6: PUSH2 0x39ee
000039e9: DUP2
000039ea: PUSH2 0x3580
000039ed: JUMP
000039ee: JUMPDEST
000039ef: SWAP4
000039f0: POP
000039f1: PUSH1 0x40
000039f3: DUP7
000039f4: ADD
000039f5: CALLDATALOAD
000039f6: SWAP3
000039f7: POP
000039f8: PUSH1 0x60
000039fa: DUP7
000039fb: ADD
000039fc: CALLDATALOAD
000039fd: PUSH2 0x3a05
00003a00: DUP2
00003a01: PUSH2 0x39ad
00003a04: JUMP
00003a05: JUMPDEST
00003a06: SWAP2
00003a07: POP
00003a08: PUSH1 0x80
00003a0a: DUP7
00003a0b: ADD
00003a0c: CALLDATALOAD
00003a0d: PUSH8 0xffffffffffffffff
00003a16: DUP2
00003a17: GT
00003a18: ISZERO
00003a19: PUSH2 0x3a21
00003a1c: JUMPI
00003a1d: PUSH1 0x00
00003a1f: DUP1
00003a20: REVERT
00003a21: JUMPDEST
00003a22: PUSH2 0x3a2d
00003a25: DUP9
00003a26: DUP3
00003a27: DUP10
00003a28: ADD
00003a29: PUSH2 0x3630
00003a2c: JUMP
00003a2d: JUMPDEST
00003a2e: SWAP2
00003a2f: POP
00003a30: POP
00003a31: SWAP3
00003a32: SWAP6
00003a33: POP
00003a34: SWAP3
00003a35: SWAP6
00003a36: SWAP1
00003a37: SWAP4
00003a38: POP
00003a39: JUMP
00003a3a: JUMPDEST
00003a3b: PUSH1 0x00
00003a3d: DUP1
00003a3e: PUSH1 0x40
00003a40: DUP4
00003a41: DUP6
00003a42: SUB
00003a43: SLT
00003a44: ISZERO
00003a45: PUSH2 0x3a4d
00003a48: JUMPI
00003a49: PUSH1 0x00
00003a4b: DUP1
00003a4c: REVERT
00003a4d: JUMPDEST
00003a4e: DUP3
00003a4f: CALLDATALOAD
00003a50: SWAP2
00003a51: POP
00003a52: PUSH1 0x20
00003a54: DUP4
00003a55: ADD
00003a56: CALLDATALOAD
00003a57: PUSH2 0x3a5f
00003a5a: DUP2
00003a5b: PUSH2 0x3580
00003a5e: JUMP
00003a5f: JUMPDEST
00003a60: DUP1
00003a61: SWAP2
00003a62: POP
00003a63: POP
00003a64: SWAP3
00003a65: POP
00003a66: SWAP3
00003a67: SWAP1
00003a68: POP
00003a69: JUMP
00003a6a: JUMPDEST
00003a6b: PUSH1 0x00
00003a6d: DUP1
00003a6e: PUSH1 0x00
00003a70: DUP1
00003a71: PUSH1 0x00
00003a73: DUP1
00003a74: PUSH1 0xc0
00003a76: DUP8
00003a77: DUP10
00003a78: SUB
00003a79: SLT
00003a7a: ISZERO
00003a7b: PUSH2 0x3a83
00003a7e: JUMPI
00003a7f: PUSH1 0x00
00003a81: DUP1
00003a82: REVERT
00003a83: JUMPDEST
00003a84: DUP7
00003a85: CALLDATALOAD
00003a86: PUSH2 0x3a8e
00003a89: DUP2
00003a8a: PUSH2 0x3580
00003a8d: JUMP
00003a8e: JUMPDEST
00003a8f: SWAP6
00003a90: POP
00003a91: PUSH1 0x20
00003a93: DUP8
00003a94: ADD
00003a95: CALLDATALOAD
00003a96: PUSH2 0x3a9e
00003a99: DUP2
00003a9a: PUSH2 0x3580
00003a9d: JUMP
00003a9e: JUMPDEST
00003a9f: SWAP5
00003aa0: POP
00003aa1: PUSH1 0x40
00003aa3: DUP8
00003aa4: ADD
00003aa5: CALLDATALOAD
00003aa6: PUSH2 0x3aae
00003aa9: DUP2
00003aaa: PUSH2 0x3580
00003aad: JUMP
00003aae: JUMPDEST
00003aaf: SWAP4
00003ab0: POP
00003ab1: PUSH2 0x3abc
00003ab4: PUSH1 0x60
00003ab6: DUP9
00003ab7: ADD
00003ab8: PUSH2 0x3907
00003abb: JUMP
00003abc: JUMPDEST
00003abd: SWAP3
00003abe: POP
00003abf: PUSH1 0x80
00003ac1: DUP8
00003ac2: ADD
00003ac3: CALLDATALOAD
00003ac4: PUSH8 0xffffffffffffffff
00003acd: DUP2
00003ace: GT
00003acf: ISZERO
00003ad0: PUSH2 0x3ad8
00003ad3: JUMPI
00003ad4: PUSH1 0x00
00003ad6: DUP1
00003ad7: REVERT
00003ad8: JUMPDEST
00003ad9: DUP8
00003ada: ADD
00003adb: PUSH2 0x0180
00003ade: DUP2
00003adf: DUP11
00003ae0: SUB
00003ae1: SLT
00003ae2: ISZERO
00003ae3: PUSH2 0x3aeb
00003ae6: JUMPI
00003ae7: PUSH1 0x00
00003ae9: DUP1
00003aea: REVERT
00003aeb: JUMPDEST
00003aec: DUP1
00003aed: SWAP3
00003aee: POP
00003aef: POP
00003af0: PUSH1 0xa0
00003af2: DUP8
00003af3: ADD
00003af4: CALLDATALOAD
00003af5: SWAP1
00003af6: POP
00003af7: SWAP3
00003af8: SWAP6
00003af9: POP
00003afa: SWAP3
00003afb: SWAP6
00003afc: POP
00003afd: SWAP3
00003afe: SWAP6
00003aff: JUMP
00003b00: JUMPDEST
00003b01: PUSH1 0x00
00003b03: PUSH1 0x20
00003b05: DUP3
00003b06: DUP5
00003b07: SUB
00003b08: SLT
00003b09: ISZERO
00003b0a: PUSH2 0x3b12
00003b0d: JUMPI
00003b0e: PUSH1 0x00
00003b10: DUP1
00003b11: REVERT
00003b12: JUMPDEST
00003b13: DUP2
00003b14: CALLDATALOAD
00003b15: PUSH2 0x2a8d
00003b18: DUP2
00003b19: PUSH2 0x3580
00003b1c: JUMP
00003b1d: JUMPDEST
00003b1e: PUSH1 0x01
00003b20: PUSH1 0x01
00003b22: PUSH1 0x80
00003b24: SHL
00003b25: SUB
00003b26: DUP2
00003b27: AND
00003b28: DUP2
00003b29: EQ
00003b2a: PUSH2 0x351a
00003b2d: JUMPI
00003b2e: PUSH1 0x00
00003b30: DUP1
00003b31: REVERT
00003b32: JUMPDEST
00003b33: PUSH1 0x00
00003b35: DUP1
00003b36: PUSH1 0x00
00003b38: PUSH1 0x60
00003b3a: DUP5
00003b3b: DUP7
00003b3c: SUB
00003b3d: SLT
00003b3e: ISZERO
00003b3f: PUSH2 0x3b47
00003b42: JUMPI
00003b43: PUSH1 0x00
00003b45: DUP1
00003b46: REVERT
00003b47: JUMPDEST
00003b48: DUP4
00003b49: CALLDATALOAD
00003b4a: PUSH2 0x3b52
00003b4d: DUP2
00003b4e: PUSH2 0x3580
00003b51: JUMP
00003b52: JUMPDEST
00003b53: SWAP3
00003b54: POP
00003b55: PUSH1 0x20
00003b57: DUP5
00003b58: ADD
00003b59: CALLDATALOAD
00003b5a: PUSH2 0x3b62
00003b5d: DUP2
00003b5e: PUSH2 0x3580
00003b61: JUMP
00003b62: JUMPDEST
00003b63: SWAP2
00003b64: POP
00003b65: PUSH1 0x40
00003b67: DUP5
00003b68: ADD
00003b69: CALLDATALOAD
00003b6a: PUSH2 0x3b72
00003b6d: DUP2
00003b6e: PUSH2 0x3b1d
00003b71: JUMP
00003b72: JUMPDEST
00003b73: DUP1
00003b74: SWAP2
00003b75: POP
00003b76: POP
00003b77: SWAP3
00003b78: POP
00003b79: SWAP3
00003b7a: POP
00003b7b: SWAP3
00003b7c: JUMP
00003b7d: JUMPDEST
00003b7e: PUSH1 0x00
00003b80: DUP1
00003b81: PUSH1 0x00
00003b83: DUP1
00003b84: PUSH1 0x80
00003b86: DUP6
00003b87: DUP8
00003b88: SUB
00003b89: SLT
00003b8a: ISZERO
00003b8b: PUSH2 0x3b93
00003b8e: JUMPI
00003b8f: PUSH1 0x00
00003b91: DUP1
00003b92: REVERT
00003b93: JUMPDEST
00003b94: DUP5
00003b95: CALLDATALOAD
00003b96: SWAP4
00003b97: POP
00003b98: PUSH1 0x20
00003b9a: DUP6
00003b9b: ADD
00003b9c: CALLDATALOAD
00003b9d: PUSH2 0x3ba5
00003ba0: DUP2
00003ba1: PUSH2 0x3580
00003ba4: JUMP
00003ba5: JUMPDEST
00003ba6: SWAP3
00003ba7: POP
00003ba8: PUSH1 0x40
00003baa: DUP6
00003bab: ADD
00003bac: CALLDATALOAD
00003bad: SWAP2
00003bae: POP
00003baf: PUSH1 0x60
00003bb1: DUP6
00003bb2: ADD
00003bb3: CALLDATALOAD
00003bb4: PUSH8 0xffffffffffffffff
00003bbd: DUP2
00003bbe: GT
00003bbf: ISZERO
00003bc0: PUSH2 0x3bc8
00003bc3: JUMPI
00003bc4: PUSH1 0x00
00003bc6: DUP1
00003bc7: REVERT
00003bc8: JUMPDEST
00003bc9: PUSH2 0x3bd4
00003bcc: DUP8
00003bcd: DUP3
00003bce: DUP9
00003bcf: ADD
00003bd0: PUSH2 0x3630
00003bd3: JUMP
00003bd4: JUMPDEST
00003bd5: SWAP2
00003bd6: POP
00003bd7: POP
00003bd8: SWAP3
00003bd9: SWAP6
00003bda: SWAP2
00003bdb: SWAP5
00003bdc: POP
00003bdd: SWAP3
00003bde: POP
00003bdf: JUMP
00003be0: JUMPDEST
00003be1: PUSH1 0x00
00003be3: DUP1
00003be4: PUSH1 0x00
00003be6: DUP1
00003be7: PUSH1 0x00
00003be9: DUP1
00003bea: DUP7
00003beb: DUP9
00003bec: SUB
00003bed: PUSH2 0x0200
00003bf0: DUP2
00003bf1: SLT
00003bf2: ISZERO
00003bf3: PUSH2 0x3bfb
00003bf6: JUMPI
00003bf7: PUSH1 0x00
00003bf9: DUP1
00003bfa: REVERT
00003bfb: JUMPDEST
00003bfc: DUP8
00003bfd: CALLDATALOAD
00003bfe: PUSH2 0x3c06
00003c01: DUP2
00003c02: PUSH2 0x3580
00003c05: JUMP
00003c06: JUMPDEST
00003c07: SWAP7
00003c08: POP
00003c09: PUSH1 0x20
00003c0b: DUP9
00003c0c: ADD
00003c0d: CALLDATALOAD
00003c0e: PUSH2 0x3c16
00003c11: DUP2
00003c12: PUSH2 0x3580
00003c15: JUMP
00003c16: JUMPDEST
00003c17: SWAP6
00003c18: POP
00003c19: PUSH1 0x40
00003c1b: DUP9
00003c1c: ADD
00003c1d: CALLDATALOAD
00003c1e: PUSH2 0x3c26
00003c21: DUP2
00003c22: PUSH2 0x3580
00003c25: JUMP
00003c26: JUMPDEST
00003c27: SWAP5
00003c28: POP
00003c29: PUSH2 0x3c34
00003c2c: PUSH1 0x60
00003c2e: DUP10
00003c2f: ADD
00003c30: PUSH2 0x3907
00003c33: JUMP
00003c34: JUMPDEST
00003c35: SWAP4
00003c36: POP
00003c37: PUSH2 0x0160
00003c3a: PUSH1 0x7f
00003c3c: NOT
00003c3d: DUP3
00003c3e: ADD
00003c3f: SLT
00003c40: ISZERO
00003c41: PUSH2 0x3c49
00003c44: JUMPI
00003c45: PUSH1 0x00
00003c47: DUP1
00003c48: REVERT
00003c49: JUMPDEST
00003c4a: POP
00003c4b: PUSH1 0x80
00003c4d: DUP8
00003c4e: ADD
00003c4f: SWAP2
00003c50: POP
00003c51: PUSH2 0x01e0
00003c54: DUP8
00003c55: ADD
00003c56: CALLDATALOAD
00003c57: PUSH8 0xffffffffffffffff
00003c60: DUP2
00003c61: GT
00003c62: ISZERO
00003c63: PUSH2 0x3c6b
00003c66: JUMPI
00003c67: PUSH1 0x00
00003c69: DUP1
00003c6a: REVERT
00003c6b: JUMPDEST
00003c6c: DUP8
00003c6d: ADD
00003c6e: PUSH1 0x40
00003c70: DUP2
00003c71: DUP11
00003c72: SUB
00003c73: SLT
00003c74: ISZERO
00003c75: PUSH2 0x399f
00003c78: JUMPI
00003c79: PUSH1 0x00
00003c7b: DUP1
00003c7c: REVERT
00003c7d: JUMPDEST
00003c7e: PUSH1 0x00
00003c80: DUP1
00003c81: PUSH1 0x40
00003c83: DUP4
00003c84: DUP6
00003c85: SUB
00003c86: SLT
00003c87: ISZERO
00003c88: PUSH2 0x3c90
00003c8b: JUMPI
00003c8c: PUSH1 0x00
00003c8e: DUP1
00003c8f: REVERT
00003c90: JUMPDEST
00003c91: DUP3
00003c92: CALLDATALOAD
00003c93: PUSH2 0x3c9b
00003c96: DUP2
00003c97: PUSH2 0x3580
00003c9a: JUMP
00003c9b: JUMPDEST
00003c9c: SWAP2
00003c9d: POP
00003c9e: PUSH1 0x20
00003ca0: DUP4
00003ca1: ADD
00003ca2: CALLDATALOAD
00003ca3: PUSH2 0x3a5f
00003ca6: DUP2
00003ca7: PUSH2 0x3580
00003caa: JUMP
00003cab: JUMPDEST
00003cac: PUSH1 0x01
00003cae: DUP2
00003caf: DUP2
00003cb0: SHR
00003cb1: SWAP1
00003cb2: DUP3
00003cb3: AND
00003cb4: DUP1
00003cb5: PUSH2 0x3cbf
00003cb8: JUMPI
00003cb9: PUSH1 0x7f
00003cbb: DUP3
00003cbc: AND
00003cbd: SWAP2
00003cbe: POP
00003cbf: JUMPDEST
00003cc0: PUSH1 0x20
00003cc2: DUP3
00003cc3: LT
00003cc4: DUP2
00003cc5: SUB
00003cc6: PUSH2 0x3cdf
00003cc9: JUMPI
00003cca: PUSH4 0x4e487b71
00003ccf: PUSH1 0xe0
00003cd1: SHL
00003cd2: PUSH1 0x00
00003cd4: MSTORE
00003cd5: PUSH1 0x22
00003cd7: PUSH1 0x04
00003cd9: MSTORE
00003cda: PUSH1 0x24
00003cdc: PUSH1 0x00
00003cde: REVERT
00003cdf: JUMPDEST
00003ce0: POP
00003ce1: SWAP2
00003ce2: SWAP1
00003ce3: POP
00003ce4: JUMP
00003ce5: JUMPDEST
00003ce6: PUSH1 0x00
00003ce8: PUSH1 0x60
00003cea: DUP3
00003ceb: ADD
00003cec: PUSH1 0x01
00003cee: PUSH1 0x01
00003cf0: PUSH1 0xa0
00003cf2: SHL
00003cf3: SUB
00003cf4: DUP1
00003cf5: DUP8
00003cf6: AND
00003cf7: DUP5
00003cf8: MSTORE
00003cf9: PUSH1 0x20
00003cfb: DUP2
00003cfc: DUP8
00003cfd: AND
00003cfe: PUSH1 0x20
00003d00: DUP7
00003d01: ADD
00003d02: MSTORE
00003d03: PUSH1 0x60
00003d05: PUSH1 0x40
00003d07: DUP7
00003d08: ADD
00003d09: MSTORE
00003d0a: DUP3
00003d0b: SWAP2
00003d0c: POP
00003d0d: DUP6
00003d0e: MLOAD
00003d0f: DUP1
00003d10: DUP5
00003d11: MSTORE
00003d12: PUSH1 0x80
00003d14: DUP7
00003d15: ADD
00003d16: SWAP3
00003d17: POP
00003d18: PUSH1 0x80
00003d1a: DUP2
00003d1b: PUSH1 0x05
00003d1d: SHL
00003d1e: DUP8
00003d1f: ADD
00003d20: ADD
00003d21: SWAP4
00003d22: POP
00003d23: PUSH1 0x20
00003d25: DUP8
00003d26: ADD
00003d27: PUSH1 0x00
00003d29: JUMPDEST
00003d2a: DUP3
00003d2b: DUP2
00003d2c: LT
00003d2d: ISZERO
00003d2e: PUSH2 0x3d57
00003d31: JUMPI
00003d32: PUSH1 0x7f
00003d34: NOT
00003d35: DUP9
00003d36: DUP8
00003d37: SUB
00003d38: ADD
00003d39: DUP6
00003d3a: MSTORE
00003d3b: PUSH2 0x3d45
00003d3e: DUP7
00003d3f: DUP4
00003d40: MLOAD
00003d41: PUSH2 0x3541
00003d44: JUMP
00003d45: JUMPDEST
00003d46: SWAP6
00003d47: POP
00003d48: SWAP4
00003d49: DUP4
00003d4a: ADD
00003d4b: SWAP4
00003d4c: SWAP1
00003d4d: DUP4
00003d4e: ADD
00003d4f: SWAP1
00003d50: PUSH1 0x01
00003d52: ADD
00003d53: PUSH2 0x3d29
00003d56: JUMP
00003d57: JUMPDEST
00003d58: POP
00003d59: SWAP4
00003d5a: SWAP10
00003d5b: SWAP9
00003d5c: POP
00003d5d: POP
00003d5e: POP
00003d5f: POP
00003d60: POP
00003d61: POP
00003d62: POP
00003d63: POP
00003d64: POP
00003d65: JUMP
00003d66: JUMPDEST
00003d67: PUSH1 0x00
00003d69: PUSH1 0x20
00003d6b: DUP3
00003d6c: DUP5
00003d6d: SUB
00003d6e: SLT
00003d6f: ISZERO
00003d70: PUSH2 0x3d78
00003d73: JUMPI
00003d74: PUSH1 0x00
00003d76: DUP1
00003d77: REVERT
00003d78: JUMPDEST
00003d79: POP
00003d7a: MLOAD
00003d7b: SWAP2
00003d7c: SWAP1
00003d7d: POP
00003d7e: JUMP
00003d7f: JUMPDEST
00003d80: PUSH1 0x00
00003d82: PUSH1 0x20
00003d84: DUP3
00003d85: DUP5
00003d86: SUB
00003d87: SLT
00003d88: ISZERO
00003d89: PUSH2 0x3d91
00003d8c: JUMPI
00003d8d: PUSH1 0x00
00003d8f: DUP1
00003d90: REVERT
00003d91: JUMPDEST
00003d92: DUP2
00003d93: MLOAD
00003d94: PUSH1 0xff
00003d96: DUP2
00003d97: AND
00003d98: DUP2
00003d99: EQ
00003d9a: PUSH2 0x2a8d
00003d9d: JUMPI
00003d9e: PUSH1 0x00
00003da0: DUP1
00003da1: REVERT
00003da2: JUMPDEST
00003da3: PUSH4 0x4e487b71
00003da8: PUSH1 0xe0
00003daa: SHL
00003dab: PUSH1 0x00
00003dad: MSTORE
00003dae: PUSH1 0x11
00003db0: PUSH1 0x04
00003db2: MSTORE
00003db3: PUSH1 0x24
00003db5: PUSH1 0x00
00003db7: REVERT
00003db8: JUMPDEST
00003db9: PUSH1 0x01
00003dbb: DUP2
00003dbc: DUP2
00003dbd: JUMPDEST
00003dbe: DUP1
00003dbf: DUP6
00003dc0: GT
00003dc1: ISZERO
00003dc2: PUSH2 0x3df3
00003dc5: JUMPI
00003dc6: DUP2
00003dc7: PUSH1 0x00
00003dc9: NOT
00003dca: DIV
00003dcb: DUP3
00003dcc: GT
00003dcd: ISZERO
00003dce: PUSH2 0x3dd9
00003dd1: JUMPI
00003dd2: PUSH2 0x3dd9
00003dd5: PUSH2 0x3da2
00003dd8: JUMP
00003dd9: JUMPDEST
00003dda: DUP1
00003ddb: DUP6
00003ddc: AND
00003ddd: ISZERO
00003dde: PUSH2 0x3de6
00003de1: JUMPI
00003de2: SWAP2
00003de3: DUP2
00003de4: MUL
00003de5: SWAP2
00003de6: JUMPDEST
00003de7: SWAP4
00003de8: DUP5
00003de9: SHR
00003dea: SWAP4
00003deb: SWAP1
00003dec: DUP1
00003ded: MUL
00003dee: SWAP1
00003def: PUSH2 0x3dbd
00003df2: JUMP
00003df3: JUMPDEST
00003df4: POP
00003df5: SWAP3
00003df6: POP
00003df7: SWAP3
00003df8: SWAP1
00003df9: POP
00003dfa: JUMP
00003dfb: JUMPDEST
00003dfc: PUSH1 0x00
00003dfe: DUP3
00003dff: PUSH2 0x3e0a
00003e02: JUMPI
00003e03: POP
00003e04: PUSH1 0x01
00003e06: PUSH2 0x0874
00003e09: JUMP
00003e0a: JUMPDEST
00003e0b: DUP2
00003e0c: PUSH2 0x3e17
00003e0f: JUMPI
00003e10: POP
00003e11: PUSH1 0x00
00003e13: PUSH2 0x0874
00003e16: JUMP
00003e17: JUMPDEST
00003e18: DUP2
00003e19: PUSH1 0x01
00003e1b: DUP2
00003e1c: EQ
00003e1d: PUSH2 0x3e2d
00003e20: JUMPI
00003e21: PUSH1 0x02
00003e23: DUP2
00003e24: EQ
00003e25: PUSH2 0x3e37
00003e28: JUMPI
00003e29: PUSH2 0x3e53
00003e2c: JUMP
00003e2d: JUMPDEST
00003e2e: PUSH1 0x01
00003e30: SWAP2
00003e31: POP
00003e32: POP
00003e33: PUSH2 0x0874
00003e36: JUMP
00003e37: JUMPDEST
00003e38: PUSH1 0xff
00003e3a: DUP5
00003e3b: GT
00003e3c: ISZERO
00003e3d: PUSH2 0x3e48
00003e40: JUMPI
00003e41: PUSH2 0x3e48
00003e44: PUSH2 0x3da2
00003e47: JUMP
00003e48: JUMPDEST
00003e49: POP
00003e4a: POP
00003e4b: PUSH1 0x01
00003e4d: DUP3
00003e4e: SHL
00003e4f: PUSH2 0x0874
00003e52: JUMP
00003e53: JUMPDEST
00003e54: POP
00003e55: PUSH1 0x20
00003e57: DUP4
00003e58: LT
00003e59: PUSH2 0x0133
00003e5c: DUP4
00003e5d: LT
00003e5e: AND
00003e5f: PUSH1 0x4e
00003e61: DUP5
00003e62: LT
00003e63: PUSH1 0x0b
00003e65: DUP5
00003e66: LT
00003e67: AND
00003e68: OR
00003e69: ISZERO
00003e6a: PUSH2 0x3e76
00003e6d: JUMPI
00003e6e: POP
00003e6f: DUP2
00003e70: DUP2
00003e71: EXP
00003e72: PUSH2 0x0874
00003e75: JUMP
00003e76: JUMPDEST
00003e77: PUSH2 0x3e80
00003e7a: DUP4
00003e7b: DUP4
00003e7c: PUSH2 0x3db8
00003e7f: JUMP
00003e80: JUMPDEST
00003e81: DUP1
00003e82: PUSH1 0x00
00003e84: NOT
00003e85: DIV
00003e86: DUP3
00003e87: GT
00003e88: ISZERO
00003e89: PUSH2 0x3e94
00003e8c: JUMPI
00003e8d: PUSH2 0x3e94
00003e90: PUSH2 0x3da2
00003e93: JUMP
00003e94: JUMPDEST
00003e95: MUL
00003e96: SWAP4
00003e97: SWAP3
00003e98: POP
00003e99: POP
00003e9a: POP
00003e9b: JUMP
00003e9c: JUMPDEST
00003e9d: PUSH1 0x00
00003e9f: PUSH2 0x2a8d
00003ea2: PUSH1 0xff
00003ea4: DUP5
00003ea5: AND
00003ea6: DUP4
00003ea7: PUSH2 0x3dfb
00003eaa: JUMP
00003eab: JUMPDEST
00003eac: DUP1
00003ead: DUP3
00003eae: MUL
00003eaf: DUP2
00003eb0: ISZERO
00003eb1: DUP3
00003eb2: DUP3
00003eb3: DIV
00003eb4: DUP5
00003eb5: EQ
00003eb6: OR
00003eb7: PUSH2 0x0874
00003eba: JUMPI
00003ebb: PUSH2 0x0874
00003ebe: PUSH2 0x3da2
00003ec1: JUMP
00003ec2: JUMPDEST
00003ec3: PUSH1 0x00
00003ec5: DUP3
00003ec6: PUSH2 0x3edf
00003ec9: JUMPI
00003eca: PUSH4 0x4e487b71
00003ecf: PUSH1 0xe0
00003ed1: SHL
00003ed2: PUSH1 0x00
00003ed4: MSTORE
00003ed5: PUSH1 0x12
00003ed7: PUSH1 0x04
00003ed9: MSTORE
00003eda: PUSH1 0x24
00003edc: PUSH1 0x00
00003ede: REVERT
00003edf: JUMPDEST
00003ee0: POP
00003ee1: DIV
00003ee2: SWAP1
00003ee3: JUMP
00003ee4: JUMPDEST
00003ee5: DUP1
00003ee6: DUP3
00003ee7: ADD
00003ee8: DUP1
00003ee9: DUP3
00003eea: GT
00003eeb: ISZERO
00003eec: PUSH2 0x0874
00003eef: JUMPI
00003ef0: PUSH2 0x0874
00003ef3: PUSH2 0x3da2
00003ef6: JUMP
00003ef7: JUMPDEST
00003ef8: PUSH1 0x01
00003efa: PUSH1 0x01
00003efc: PUSH1 0xa0
00003efe: SHL
00003eff: SUB
00003f00: DUP5
00003f01: DUP2
00003f02: AND
00003f03: DUP3
00003f04: MSTORE
00003f05: PUSH1 0x01
00003f07: PUSH1 0x01
00003f09: PUSH1 0x80
00003f0b: SHL
00003f0c: SUB
00003f0d: DUP5
00003f0e: DUP2
00003f0f: AND
00003f10: PUSH1 0x20
00003f12: DUP5
00003f13: ADD
00003f14: MSTORE
00003f15: DUP4
00003f16: SLOAD
00003f17: DUP1
00003f18: DUP4
00003f19: AND
00003f1a: PUSH1 0x40
00003f1c: DUP6
00003f1d: ADD
00003f1e: MSTORE
00003f1f: PUSH1 0xa0
00003f21: SHR
00003f22: PUSH6 0xffffffffffff
00003f29: SWAP1
00003f2a: DUP2
00003f2b: AND
00003f2c: PUSH1 0x60
00003f2e: DUP6
00003f2f: ADD
00003f30: MSTORE
00003f31: PUSH1 0x01
00003f33: DUP6
00003f34: ADD
00003f35: SLOAD
00003f36: DUP1
00003f37: DUP5
00003f38: AND
00003f39: PUSH1 0x80
00003f3b: DUP7
00003f3c: ADD
00003f3d: MSTORE
00003f3e: PUSH2 0x01a0
00003f41: DUP6
00003f42: ADD
00003f43: SWAP4
00003f44: SWAP3
00003f45: SWAP2
00003f46: PUSH2 0x3f5e
00003f49: PUSH1 0xa0
00003f4b: DUP8
00003f4c: ADD
00003f4d: DUP3
00003f4e: DUP5
00003f4f: PUSH1 0xa0
00003f51: SHR
00003f52: AND
00003f53: PUSH6 0xffffffffffff
00003f5a: AND
00003f5b: SWAP1
00003f5c: MSTORE
00003f5d: JUMP
00003f5e: JUMPDEST
00003f5f: POP
00003f60: POP
00003f61: PUSH1 0x02
00003f63: DUP6
00003f64: ADD
00003f65: SLOAD
00003f66: SWAP1
00003f67: DUP2
00003f68: AND
00003f69: PUSH1 0x01
00003f6b: PUSH1 0x01
00003f6d: PUSH1 0x80
00003f6f: SHL
00003f70: SUB
00003f71: AND
00003f72: PUSH1 0xc0
00003f74: DUP6
00003f75: ADD
00003f76: MSTORE
00003f77: PUSH1 0x80
00003f79: SHR
00003f7a: PUSH1 0xe0
00003f7c: DUP1
00003f7d: DUP6
00003f7e: ADD
00003f7f: SWAP2
00003f80: SWAP1
00003f81: SWAP2
00003f82: MSTORE
00003f83: PUSH1 0x03
00003f85: DUP6
00003f86: ADD
00003f87: SLOAD
00003f88: PUSH8 0xffffffffffffffff
00003f91: DUP2
00003f92: AND
00003f93: PUSH2 0x0100
00003f96: DUP7
00003f97: ADD
00003f98: MSTORE
00003f99: PUSH1 0x40
00003f9b: DUP2
00003f9c: SWAP1
00003f9d: SHR
00003f9e: PUSH1 0x01
00003fa0: PUSH1 0x01
00003fa2: PUSH1 0xa0
00003fa4: SHL
00003fa5: SUB
00003fa6: SWAP1
00003fa7: DUP2
00003fa8: AND
00003fa9: PUSH2 0x0120
00003fac: DUP8
00003fad: ADD
00003fae: MSTORE
00003faf: SWAP2
00003fb0: DUP2
00003fb1: SWAP1
00003fb2: SHR
00003fb3: PUSH1 0xff
00003fb5: SWAP1
00003fb6: DUP2
00003fb7: AND
00003fb8: ISZERO
00003fb9: ISZERO
00003fba: PUSH2 0x0140
00003fbd: DUP8
00003fbe: ADD
00003fbf: MSTORE
00003fc0: PUSH1 0xe8
00003fc2: SWAP2
00003fc3: SWAP1
00003fc4: SWAP2
00003fc5: SHR
00003fc6: AND
00003fc7: ISZERO
00003fc8: ISZERO
00003fc9: PUSH2 0x0160
00003fcc: DUP6
00003fcd: ADD
00003fce: MSTORE
00003fcf: PUSH1 0x04
00003fd1: DUP6
00003fd2: ADD
00003fd3: SLOAD
00003fd4: AND
00003fd5: PUSH2 0x0180
00003fd8: DUP5
00003fd9: ADD
00003fda: MSTORE
00003fdb: POP
00003fdc: PUSH2 0x2cc3
00003fdf: JUMP
00003fe0: JUMPDEST
00003fe1: PUSH1 0x00
00003fe3: DUP1
00003fe4: PUSH1 0x40
00003fe6: DUP4
00003fe7: DUP6
00003fe8: SUB
00003fe9: SLT
00003fea: ISZERO
00003feb: PUSH2 0x3ff3
00003fee: JUMPI
00003fef: PUSH1 0x00
00003ff1: DUP1
00003ff2: REVERT
00003ff3: JUMPDEST
00003ff4: DUP3
00003ff5: MLOAD
00003ff6: PUSH2 0x3ffe
00003ff9: DUP2
00003ffa: PUSH2 0x3b1d
00003ffd: JUMP
00003ffe: JUMPDEST
00003fff: PUSH1 0x20
00004001: DUP5
00004002: ADD
00004003: MLOAD
00004004: SWAP1
00004005: SWAP3
00004006: POP
00004007: PUSH2 0x3a5f
0000400a: DUP2
0000400b: PUSH2 0x3b1d
0000400e: JUMP
0000400f: JUMPDEST
00004010: PUSH1 0x00
00004012: PUSH1 0x20
00004014: DUP3
00004015: DUP5
00004016: SUB
00004017: SLT
00004018: ISZERO
00004019: PUSH2 0x4021
0000401c: JUMPI
0000401d: PUSH1 0x00
0000401f: DUP1
00004020: REVERT
00004021: JUMPDEST
00004022: DUP2
00004023: CALLDATALOAD
00004024: PUSH2 0x2a8d
00004027: DUP2
00004028: PUSH2 0x3b1d
0000402b: JUMP
0000402c: JUMPDEST
0000402d: PUSH6 0xffffffffffff
00004034: DUP2
00004035: AND
00004036: DUP2
00004037: EQ
00004038: PUSH2 0x351a
0000403b: JUMPI
0000403c: PUSH1 0x00
0000403e: DUP1
0000403f: REVERT
00004040: JUMPDEST
00004041: PUSH1 0x00
00004043: PUSH1 0x20
00004045: DUP3
00004046: DUP5
00004047: SUB
00004048: SLT
00004049: ISZERO
0000404a: PUSH2 0x4052
0000404d: JUMPI
0000404e: PUSH1 0x00
00004050: DUP1
00004051: REVERT
00004052: JUMPDEST
00004053: DUP2
00004054: CALLDATALOAD
00004055: PUSH2 0x2a8d
00004058: DUP2
00004059: PUSH2 0x402c
0000405c: JUMP
0000405d: JUMPDEST
0000405e: PUSH6 0xffffffffffff
00004065: DUP2
00004066: DUP2
00004067: AND
00004068: DUP4
00004069: DUP3
0000406a: AND
0000406b: ADD
0000406c: SWAP1
0000406d: DUP1
0000406e: DUP3
0000406f: GT
00004070: ISZERO
00004071: PUSH2 0x407c
00004074: JUMPI
00004075: PUSH2 0x407c
00004078: PUSH2 0x3da2
0000407b: JUMP
0000407c: JUMPDEST
0000407d: POP
0000407e: SWAP3
0000407f: SWAP2
00004080: POP
00004081: POP
00004082: JUMP
00004083: JUMPDEST
00004084: PUSH8 0xffffffffffffffff
0000408d: DUP2
0000408e: AND
0000408f: DUP2
00004090: EQ
00004091: PUSH2 0x351a
00004094: JUMPI
00004095: PUSH1 0x00
00004097: DUP1
00004098: REVERT
00004099: JUMPDEST
0000409a: PUSH1 0x00
0000409c: PUSH1 0x20
0000409e: DUP3
0000409f: DUP5
000040a0: SUB
000040a1: SLT
000040a2: ISZERO
000040a3: PUSH2 0x40ab
000040a6: JUMPI
000040a7: PUSH1 0x00
000040a9: DUP1
000040aa: REVERT
000040ab: JUMPDEST
000040ac: DUP2
000040ad: CALLDATALOAD
000040ae: PUSH2 0x2a8d
000040b1: DUP2
000040b2: PUSH2 0x4083
000040b5: JUMP
000040b6: JUMPDEST
000040b7: PUSH1 0x00
000040b9: DUP2
000040ba: CALLDATALOAD
000040bb: PUSH2 0x0874
000040be: DUP2
000040bf: PUSH2 0x4083
000040c2: JUMP
000040c3: JUMPDEST
000040c4: PUSH1 0x00
000040c6: DUP2
000040c7: CALLDATALOAD
000040c8: PUSH2 0x0874
000040cb: DUP2
000040cc: PUSH2 0x3580
000040cf: JUMP
000040d0: JUMPDEST
000040d1: PUSH1 0x00
000040d3: DUP2
000040d4: CALLDATALOAD
000040d5: PUSH2 0x0874
000040d8: DUP2
000040d9: PUSH2 0x39ad
000040dc: JUMP
000040dd: JUMPDEST
000040de: DUP2
000040df: CALLDATALOAD
000040e0: PUSH2 0x40e8
000040e3: DUP2
000040e4: PUSH2 0x4083
000040e7: JUMP
000040e8: JUMPDEST
000040e9: PUSH8 0xffffffffffffffff
000040f2: DUP2
000040f3: AND
000040f4: SWAP1
000040f5: POP
000040f6: DUP2
000040f7: SLOAD
000040f8: DUP2
000040f9: PUSH8 0xffffffffffffffff
00004102: NOT
00004103: DUP3
00004104: AND
00004105: OR
00004106: DUP4
00004107: SSTORE
00004108: PUSH1 0x20
0000410a: DUP5
0000410b: ADD
0000410c: CALLDATALOAD
0000410d: PUSH2 0x4115
00004110: DUP2
00004111: PUSH2 0x3580
00004114: JUMP
00004115: JUMPDEST
00004116: PUSH28 0xffffffffffffffffffffffffffffffffffffffff0000000000000000
00004133: DUP2
00004134: PUSH1 0x40
00004136: SHL
00004137: AND
00004138: DUP4
00004139: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000415a: DUP5
0000415b: AND
0000415c: OR
0000415d: OR
0000415e: DUP5
0000415f: SSTORE
00004160: POP
00004161: POP
00004162: POP
00004163: PUSH1 0x40
00004165: DUP3
00004166: ADD
00004167: CALLDATALOAD
00004168: PUSH2 0x4170
0000416b: DUP2
0000416c: PUSH2 0x39ad
0000416f: JUMP
00004170: JUMPDEST
00004171: DUP2
00004172: SLOAD
00004173: PUSH1 0xff
00004175: PUSH1 0xe0
00004177: SHL
00004178: NOT
00004179: AND
0000417a: DUP2
0000417b: ISZERO
0000417c: ISZERO
0000417d: PUSH1 0xe0
0000417f: SHL
00004180: PUSH1 0xff
00004182: PUSH1 0xe0
00004184: SHL
00004185: AND
00004186: OR
00004187: DUP3
00004188: SSTORE
00004189: POP
0000418a: PUSH1 0x60
0000418c: DUP3
0000418d: ADD
0000418e: CALLDATALOAD
0000418f: PUSH2 0x4197
00004192: DUP2
00004193: PUSH2 0x39ad
00004196: JUMP
00004197: JUMPDEST
00004198: DUP2
00004199: SLOAD
0000419a: PUSH1 0xff
0000419c: PUSH1 0xe8
0000419e: SHL
0000419f: NOT
000041a0: AND
000041a1: DUP2
000041a2: ISZERO
000041a3: ISZERO
000041a4: PUSH1 0xe8
000041a6: SHL
000041a7: PUSH1 0xff
000041a9: PUSH1 0xe8
000041ab: SHL
000041ac: AND
000041ad: OR
000041ae: DUP3
000041af: SSTORE
000041b0: POP
000041b1: PUSH1 0x80
000041b3: DUP3
000041b4: ADD
000041b5: CALLDATALOAD
000041b6: PUSH2 0x41be
000041b9: DUP2
000041ba: PUSH2 0x3580
000041bd: JUMP
000041be: JUMPDEST
000041bf: PUSH1 0x01
000041c1: DUP3
000041c2: ADD
000041c3: DUP1
000041c4: SLOAD
000041c5: PUSH1 0x01
000041c7: PUSH1 0x01
000041c9: PUSH1 0xa0
000041cb: SHL
000041cc: SUB
000041cd: NOT
000041ce: AND
000041cf: PUSH1 0x01
000041d1: PUSH1 0x01
000041d3: PUSH1 0xa0
000041d5: SHL
000041d6: SUB
000041d7: DUP4
000041d8: AND
000041d9: OR
000041da: SWAP1
000041db: SSTORE
000041dc: POP
000041dd: POP
000041de: POP
000041df: JUMP
000041e0: JUMPDEST
000041e1: PUSH1 0x00
000041e3: DUP2
000041e4: CALLDATALOAD
000041e5: PUSH2 0x0874
000041e8: DUP2
000041e9: PUSH2 0x3b1d
000041ec: JUMP
000041ed: JUMPDEST
000041ee: PUSH1 0x00
000041f0: DUP2
000041f1: CALLDATALOAD
000041f2: PUSH2 0x0874
000041f5: DUP2
000041f6: PUSH2 0x402c
000041f9: JUMP
000041fa: JUMPDEST
000041fb: PUSH1 0x00
000041fd: DUP2
000041fe: CALLDATALOAD
000041ff: PUSH4 0xffffffff
00004204: DUP2
00004205: AND
00004206: DUP2
00004207: EQ
00004208: PUSH2 0x0874
0000420b: JUMPI
0000420c: PUSH1 0x00
0000420e: DUP1
0000420f: REVERT
00004210: JUMPDEST
00004211: DUP2
00004212: CALLDATALOAD
00004213: PUSH2 0x421b
00004216: DUP2
00004217: PUSH2 0x3b1d
0000421a: JUMP
0000421b: JUMPDEST
0000421c: DUP2
0000421d: SLOAD
0000421e: PUSH1 0x01
00004220: PUSH1 0x01
00004222: PUSH1 0x80
00004224: SHL
00004225: SUB
00004226: NOT
00004227: AND
00004228: PUSH1 0x01
0000422a: PUSH1 0x01
0000422c: PUSH1 0x80
0000422e: SHL
0000422f: SUB
00004230: DUP3
00004231: AND
00004232: OR
00004233: DUP3
00004234: SSTORE
00004235: POP
00004236: PUSH1 0x20
00004238: DUP3
00004239: ADD
0000423a: CALLDATALOAD
0000423b: PUSH2 0x4243
0000423e: DUP2
0000423f: PUSH2 0x402c
00004242: JUMP
00004243: JUMPDEST
00004244: DUP2
00004245: SLOAD
00004246: PUSH32 0xffffffffffffffffffff000000000000ffffffffffffffffffffffffffffffff
00004267: AND
00004268: PUSH1 0x80
0000426a: SWAP2
0000426b: SWAP1
0000426c: SWAP2
0000426d: SHL
0000426e: PUSH22 0xffffffffffff00000000000000000000000000000000
00004285: AND
00004286: OR
00004287: DUP2
00004288: SSTORE
00004289: PUSH2 0x42e4
0000428c: PUSH2 0x4297
0000428f: PUSH1 0x40
00004291: DUP5
00004292: ADD
00004293: PUSH2 0x41ed
00004296: JUMP
00004297: JUMPDEST
00004298: DUP3
00004299: SLOAD
0000429a: PUSH32 0xffffffff000000000000ffffffffffffffffffffffffffffffffffffffffffff
000042bb: AND
000042bc: PUSH1 0xb0
000042be: SWAP2
000042bf: SWAP1
000042c0: SWAP2
000042c1: SHL
000042c2: PUSH28 0xffffffffffff00000000000000000000000000000000000000000000
000042df: AND
000042e0: OR
000042e1: DUP3
000042e2: SSTORE
000042e3: JUMP
000042e4: JUMPDEST
000042e5: PUSH2 0x4340
000042e8: PUSH2 0x42f3
000042eb: PUSH1 0x60
000042ed: DUP5
000042ee: ADD
000042ef: PUSH2 0x41fa
000042f2: JUMP
000042f3: JUMPDEST
000042f4: DUP3
000042f5: SLOAD
000042f6: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004313: AND
00004314: PUSH1 0xe0
00004316: SWAP2
00004317: SWAP1
00004318: SWAP2
00004319: SHL
0000431a: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000433b: AND
0000433c: OR
0000433d: DUP3
0000433e: SSTORE
0000433f: JUMP
00004340: JUMPDEST
00004341: PUSH1 0x01
00004343: DUP2
00004344: ADD
00004345: PUSH2 0x436a
00004348: PUSH2 0x4353
0000434b: PUSH1 0x80
0000434d: DUP6
0000434e: ADD
0000434f: PUSH2 0x41fa
00004352: JUMP
00004353: JUMPDEST
00004354: DUP3
00004355: SLOAD
00004356: PUSH4 0xffffffff
0000435b: NOT
0000435c: AND
0000435d: PUSH4 0xffffffff
00004362: SWAP2
00004363: SWAP1
00004364: SWAP2
00004365: AND
00004366: OR
00004367: DUP3
00004368: SSTORE
00004369: JUMP
0000436a: JUMPDEST
0000436b: PUSH2 0x43a3
0000436e: PUSH2 0x4379
00004371: PUSH1 0xa0
00004373: DUP6
00004374: ADD
00004375: PUSH2 0x40b6
00004378: JUMP
00004379: JUMPDEST
0000437a: DUP3
0000437b: SLOAD
0000437c: PUSH12 0xffffffffffffffff00000000
00004389: NOT
0000438a: AND
0000438b: PUSH1 0x20
0000438d: SWAP2
0000438e: SWAP1
0000438f: SWAP2
00004390: SHL
00004391: PUSH12 0xffffffffffffffff00000000
0000439e: AND
0000439f: OR
000043a0: DUP3
000043a1: SSTORE
000043a2: JUMP
000043a3: JUMPDEST
000043a4: PUSH2 0x43f7
000043a7: PUSH2 0x43b2
000043aa: PUSH1 0xc0
000043ac: DUP6
000043ad: ADD
000043ae: PUSH2 0x40b6
000043b1: JUMP
000043b2: JUMPDEST
000043b3: DUP3
000043b4: SLOAD
000043b5: PUSH32 0xffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff
000043d6: AND
000043d7: PUSH1 0x60
000043d9: SWAP2
000043da: SWAP1
000043db: SWAP2
000043dc: SHL
000043dd: PUSH20 0xffffffffffffffff000000000000000000000000
000043f2: AND
000043f3: OR
000043f4: DUP3
000043f5: SSTORE
000043f6: JUMP
000043f7: JUMPDEST
000043f8: POP
000043f9: PUSH1 0x02
000043fb: DUP2
000043fc: ADD
000043fd: PUSH2 0x4428
00004400: PUSH2 0x440b
00004403: PUSH1 0xe0
00004405: DUP6
00004406: ADD
00004407: PUSH2 0x41e0
0000440a: JUMP
0000440b: JUMPDEST
0000440c: DUP3
0000440d: SLOAD
0000440e: PUSH1 0x01
00004410: PUSH1 0x01
00004412: PUSH1 0x80
00004414: SHL
00004415: SUB
00004416: NOT
00004417: AND
00004418: PUSH1 0x01
0000441a: PUSH1 0x01
0000441c: PUSH1 0x80
0000441e: SHL
0000441f: SUB
00004420: SWAP2
00004421: SWAP1
00004422: SWAP2
00004423: AND
00004424: OR
00004425: DUP3
00004426: SSTORE
00004427: JUMP
00004428: JUMPDEST
00004429: PUSH2 0x2920
0000442c: PUSH2 0x4438
0000442f: PUSH2 0x0100
00004432: DUP6
00004433: ADD
00004434: PUSH2 0x41e0
00004437: JUMP
00004438: JUMPDEST
00004439: DUP3
0000443a: SLOAD
0000443b: PUSH1 0x01
0000443d: PUSH1 0x01
0000443f: PUSH1 0x80
00004441: SHL
00004442: SUB
00004443: AND
00004444: PUSH1 0x80
00004446: SWAP2
00004447: SWAP1
00004448: SWAP2
00004449: SHL
0000444a: PUSH1 0x01
0000444c: PUSH1 0x01
0000444e: PUSH1 0x80
00004450: SHL
00004451: SUB
00004452: NOT
00004453: AND
00004454: OR
00004455: DUP3
00004456: SSTORE
00004457: JUMP
00004458: JUMPDEST
00004459: PUSH1 0x00
0000445b: PUSH2 0x2a8d
0000445e: DUP4
0000445f: DUP4
00004460: PUSH2 0x3dfb
00004463: JUMP
00004464: JUMPDEST
00004465: DUP2
00004466: DUP2
00004467: SUB
00004468: DUP2
00004469: DUP2
0000446a: GT
0000446b: ISZERO
0000446c: PUSH2 0x0874
0000446f: JUMPI
00004470: PUSH2 0x0874
00004473: PUSH2 0x3da2
00004476: JUMP
00004477: JUMPDEST
00004478: DUP2
00004479: CALLDATALOAD
0000447a: PUSH2 0x4482
0000447d: DUP2
0000447e: PUSH2 0x3580
00004481: JUMP
00004482: JUMPDEST
00004483: DUP2
00004484: SLOAD
00004485: PUSH1 0x01
00004487: PUSH1 0x01
00004489: PUSH1 0xa0
0000448b: SHL
0000448c: SUB
0000448d: NOT
0000448e: AND
0000448f: PUSH1 0x01
00004491: PUSH1 0x01
00004493: PUSH1 0xa0
00004495: SHL
00004496: SUB
00004497: DUP3
00004498: AND
00004499: OR
0000449a: DUP3
0000449b: SSTORE
0000449c: POP
0000449d: PUSH1 0x20
0000449f: DUP3
000044a0: ADD
000044a1: CALLDATALOAD
000044a2: PUSH2 0x44aa
000044a5: DUP2
000044a6: PUSH2 0x402c
000044a9: JUMP
000044aa: JUMPDEST
000044ab: DUP2
000044ac: SLOAD
000044ad: PUSH6 0xffffffffffff
000044b4: PUSH1 0xa0
000044b6: SHL
000044b7: NOT
000044b8: AND
000044b9: PUSH1 0xa0
000044bb: DUP3
000044bc: SWAP1
000044bd: SHL
000044be: PUSH6 0xffffffffffff
000044c5: PUSH1 0xa0
000044c7: SHL
000044c8: AND
000044c9: OR
000044ca: DUP3
000044cb: SSTORE
000044cc: POP
000044cd: PUSH1 0x01
000044cf: DUP2
000044d0: ADD
000044d1: PUSH1 0x40
000044d3: DUP4
000044d4: ADD
000044d5: CALLDATALOAD
000044d6: PUSH2 0x44de
000044d9: DUP2
000044da: PUSH2 0x3580
000044dd: JUMP
000044de: JUMPDEST
000044df: DUP2
000044e0: SLOAD
000044e1: PUSH1 0x01
000044e3: PUSH1 0x01
000044e5: PUSH1 0xa0
000044e7: SHL
000044e8: SUB
000044e9: NOT
000044ea: AND
000044eb: PUSH1 0x01
000044ed: PUSH1 0x01
000044ef: PUSH1 0xa0
000044f1: SHL
000044f2: SUB
000044f3: DUP3
000044f4: AND
000044f5: OR
000044f6: DUP3
000044f7: SSTORE
000044f8: POP
000044f9: PUSH1 0x60
000044fb: DUP4
000044fc: ADD
000044fd: CALLDATALOAD
000044fe: PUSH2 0x4506
00004501: DUP2
00004502: PUSH2 0x402c
00004505: JUMP
00004506: JUMPDEST
00004507: DUP2
00004508: SLOAD
00004509: PUSH6 0xffffffffffff
00004510: PUSH1 0xa0
00004512: SHL
00004513: NOT
00004514: AND
00004515: PUSH1 0xa0
00004517: DUP3
00004518: SWAP1
00004519: SHL
0000451a: PUSH6 0xffffffffffff
00004521: PUSH1 0xa0
00004523: SHL
00004524: AND
00004525: OR
00004526: DUP3
00004527: SSTORE
00004528: POP
00004529: POP
0000452a: PUSH1 0x02
0000452c: DUP2
0000452d: ADD
0000452e: PUSH1 0x80
00004530: DUP4
00004531: ADD
00004532: CALLDATALOAD
00004533: PUSH2 0x453b
00004536: DUP2
00004537: PUSH2 0x3b1d
0000453a: JUMP
0000453b: JUMPDEST
0000453c: DUP2
0000453d: SLOAD
0000453e: PUSH1 0x01
00004540: PUSH1 0x01
00004542: PUSH1 0x80
00004544: SHL
00004545: SUB
00004546: NOT
00004547: AND
00004548: PUSH1 0x01
0000454a: PUSH1 0x01
0000454c: PUSH1 0x80
0000454e: SHL
0000454f: SUB
00004550: DUP3
00004551: AND
00004552: OR
00004553: DUP3
00004554: SSTORE
00004555: POP
00004556: PUSH1 0xa0
00004558: DUP4
00004559: ADD
0000455a: CALLDATALOAD
0000455b: PUSH2 0x4563
0000455e: DUP2
0000455f: PUSH2 0x3b1d
00004562: JUMP
00004563: JUMPDEST
00004564: DUP2
00004565: SLOAD
00004566: PUSH1 0x01
00004568: PUSH1 0x01
0000456a: PUSH1 0x80
0000456c: SHL
0000456d: SUB
0000456e: AND
0000456f: PUSH1 0x80
00004571: DUP3
00004572: SWAP1
00004573: SHL
00004574: PUSH1 0x01
00004576: PUSH1 0x01
00004578: PUSH1 0x80
0000457a: SHL
0000457b: SUB
0000457c: NOT
0000457d: AND
0000457e: OR
0000457f: DUP3
00004580: SSTORE
00004581: POP
00004582: POP
00004583: PUSH1 0x03
00004585: DUP2
00004586: ADD
00004587: PUSH1 0xc0
00004589: DUP4
0000458a: ADD
0000458b: CALLDATALOAD
0000458c: PUSH2 0x4594
0000458f: DUP2
00004590: PUSH2 0x4083
00004593: JUMP
00004594: JUMPDEST
00004595: DUP2
00004596: SLOAD
00004597: PUSH1 0xe0
00004599: DUP6
0000459a: ADD
0000459b: CALLDATALOAD
0000459c: PUSH2 0x45a4
0000459f: DUP2
000045a0: PUSH2 0x3580
000045a3: JUMP
000045a4: JUMPDEST
000045a5: PUSH28 0xffffffffffffffffffffffffffffffffffffffff0000000000000000
000045c2: DUP2
000045c3: PUSH1 0x40
000045c5: SHL
000045c6: AND
000045c7: PUSH8 0xffffffffffffffff
000045d0: DUP5
000045d1: AND
000045d2: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000045f3: DUP5
000045f4: AND
000045f5: OR
000045f6: OR
000045f7: DUP5
000045f8: SSTORE
000045f9: POP
000045fa: POP
000045fb: POP
000045fc: PUSH2 0x4629
000045ff: PUSH2 0x460b
00004602: PUSH2 0x0100
00004605: DUP6
00004606: ADD
00004607: PUSH2 0x40d0
0000460a: JUMP
0000460b: JUMPDEST
0000460c: DUP3
0000460d: DUP1
0000460e: SLOAD
0000460f: PUSH1 0xff
00004611: PUSH1 0xe0
00004613: SHL
00004614: NOT
00004615: AND
00004616: SWAP2
00004617: ISZERO
00004618: ISZERO
00004619: PUSH1 0xe0
0000461b: SHL
0000461c: PUSH1 0xff
0000461e: PUSH1 0xe0
00004620: SHL
00004621: AND
00004622: SWAP2
00004623: SWAP1
00004624: SWAP2
00004625: OR
00004626: SWAP1
00004627: SSTORE
00004628: JUMP
00004629: JUMPDEST
0000462a: PUSH2 0x4657
0000462d: PUSH2 0x4639
00004630: PUSH2 0x0120
00004633: DUP6
00004634: ADD
00004635: PUSH2 0x40d0
00004638: JUMP
00004639: JUMPDEST
0000463a: DUP3
0000463b: DUP1
0000463c: SLOAD
0000463d: PUSH1 0xff
0000463f: PUSH1 0xe8
00004641: SHL
00004642: NOT
00004643: AND
00004644: SWAP2
00004645: ISZERO
00004646: ISZERO
00004647: PUSH1 0xe8
00004649: SHL
0000464a: PUSH1 0xff
0000464c: PUSH1 0xe8
0000464e: SHL
0000464f: AND
00004650: SWAP2
00004651: SWAP1
00004652: SWAP2
00004653: OR
00004654: SWAP1
00004655: SSTORE
00004656: JUMP
00004657: JUMPDEST
00004658: POP
00004659: PUSH2 0x2d81
0000465c: PUSH2 0x4668
0000465f: PUSH2 0x0140
00004662: DUP5
00004663: ADD
00004664: PUSH2 0x40c3
00004667: JUMP
00004668: JUMPDEST
00004669: PUSH1 0x04
0000466b: DUP4
0000466c: ADD
0000466d: PUSH1 0x01
0000466f: PUSH1 0x01
00004671: PUSH1 0xa0
00004673: SHL
00004674: SUB
00004675: DUP3
00004676: AND
00004677: PUSH1 0x01
00004679: PUSH1 0x01
0000467b: PUSH1 0xa0
0000467d: SHL
0000467e: SUB
0000467f: NOT
00004680: DUP3
00004681: SLOAD
00004682: AND
00004683: OR
00004684: DUP2
00004685: SSTORE
00004686: POP
00004687: POP
00004688: JUMP
00004689: JUMPDEST
0000468a: PUSH1 0x00
0000468c: DUP3
0000468d: CALLDATALOAD
0000468e: PUSH1 0x7e
00004690: NOT
00004691: DUP4
00004692: CALLDATASIZE
00004693: SUB
00004694: ADD
00004695: DUP2
00004696: SLT
00004697: PUSH2 0x469f
0000469a: JUMPI
0000469b: PUSH1 0x00
0000469d: DUP1
0000469e: REVERT
0000469f: JUMPDEST
000046a0: SWAP2
000046a1: SWAP1
000046a2: SWAP2
000046a3: ADD
000046a4: SWAP3
000046a5: SWAP2
000046a6: POP
000046a7: POP
000046a8: JUMP
000046a9: JUMPDEST
000046aa: PUSH1 0x01
000046ac: PUSH1 0x01
000046ae: PUSH1 0x80
000046b0: SHL
000046b1: SUB
000046b2: DUP2
000046b3: DUP2
000046b4: AND
000046b5: DUP4
000046b6: DUP3
000046b7: AND
000046b8: ADD
000046b9: SWAP1
000046ba: DUP1
000046bb: DUP3
000046bc: GT
000046bd: ISZERO
000046be: PUSH2 0x407c
000046c1: JUMPI
000046c2: PUSH2 0x407c
000046c5: PUSH2 0x3da2
000046c8: JUMP
000046c9: JUMPDEST
000046ca: PUSH1 0x00
000046cc: DUP1
000046cd: DUP4
000046ce: CALLDATALOAD
000046cf: PUSH1 0x1e
000046d1: NOT
000046d2: DUP5
000046d3: CALLDATASIZE
000046d4: SUB
000046d5: ADD
000046d6: DUP2
000046d7: SLT
000046d8: PUSH2 0x46e0
000046db: JUMPI
000046dc: PUSH1 0x00
000046de: DUP1
000046df: REVERT
000046e0: JUMPDEST
000046e1: DUP4
000046e2: ADD
000046e3: DUP1
000046e4: CALLDATALOAD
000046e5: SWAP2
000046e6: POP
000046e7: PUSH8 0xffffffffffffffff
000046f0: DUP3
000046f1: GT
000046f2: ISZERO
000046f3: PUSH2 0x46fb
000046f6: JUMPI
000046f7: PUSH1 0x00
000046f9: DUP1
000046fa: REVERT
000046fb: JUMPDEST
000046fc: PUSH1 0x20
000046fe: ADD
000046ff: SWAP2
00004700: POP
00004701: CALLDATASIZE
00004702: DUP2
00004703: SWAP1
00004704: SUB
00004705: DUP3
00004706: SGT
00004707: ISZERO
00004708: PUSH2 0x4710
0000470b: JUMPI
0000470c: PUSH1 0x00
0000470e: DUP1
0000470f: REVERT
00004710: JUMPDEST
00004711: SWAP3
00004712: POP
00004713: SWAP3
00004714: SWAP1
00004715: POP
00004716: JUMP
00004717: JUMPDEST
00004718: PUSH1 0x00
0000471a: PUSH1 0x20
0000471c: DUP3
0000471d: DUP5
0000471e: SUB
0000471f: SLT
00004720: ISZERO
00004721: PUSH2 0x4729
00004724: JUMPI
00004725: PUSH1 0x00
00004727: DUP1
00004728: REVERT
00004729: JUMPDEST
0000472a: DUP2
0000472b: MLOAD
0000472c: PUSH8 0xffffffffffffffff
00004735: DUP2
00004736: GT
00004737: ISZERO
00004738: PUSH2 0x4740
0000473b: JUMPI
0000473c: PUSH1 0x00
0000473e: DUP1
0000473f: REVERT
00004740: JUMPDEST
00004741: DUP3
00004742: ADD
00004743: PUSH1 0x1f
00004745: DUP2
00004746: ADD
00004747: DUP5
00004748: SGT
00004749: PUSH2 0x4751
0000474c: JUMPI
0000474d: PUSH1 0x00
0000474f: DUP1
00004750: REVERT
00004751: JUMPDEST
00004752: DUP1
00004753: MLOAD
00004754: PUSH2 0x475f
00004757: PUSH2 0x36c9
0000475a: DUP3
0000475b: PUSH2 0x3608
0000475e: JUMP
0000475f: JUMPDEST
00004760: DUP2
00004761: DUP2
00004762: MSTORE
00004763: DUP6
00004764: PUSH1 0x20
00004766: DUP4
00004767: DUP6
00004768: ADD
00004769: ADD
0000476a: GT
0000476b: ISZERO
0000476c: PUSH2 0x4774
0000476f: JUMPI
00004770: PUSH1 0x00
00004772: DUP1
00004773: REVERT
00004774: JUMPDEST
00004775: PUSH2 0x4785
00004778: DUP3
00004779: PUSH1 0x20
0000477b: DUP4
0000477c: ADD
0000477d: PUSH1 0x20
0000477f: DUP7
00004780: ADD
00004781: PUSH2 0x351d
00004784: JUMP
00004785: JUMPDEST
00004786: SWAP6
00004787: SWAP5
00004788: POP
00004789: POP
0000478a: POP
0000478b: POP
0000478c: POP
0000478d: JUMP
0000478e: JUMPDEST
0000478f: PUSH1 0x00
00004791: DUP4
00004792: MLOAD
00004793: PUSH2 0x47a0
00004796: DUP2
00004797: DUP5
00004798: PUSH1 0x20
0000479a: DUP9
0000479b: ADD
0000479c: PUSH2 0x351d
0000479f: JUMP
000047a0: JUMPDEST
000047a1: PUSH32 0x204f000000000000000000000000000000000000000000000000000000000000
000047c2: SWAP1
000047c3: DUP4
000047c4: ADD
000047c5: SWAP1
000047c6: DUP2
000047c7: MSTORE
000047c8: DUP4
000047c9: MLOAD
000047ca: PUSH2 0x47da
000047cd: DUP2
000047ce: PUSH1 0x02
000047d0: DUP5
000047d1: ADD
000047d2: PUSH1 0x20
000047d4: DUP9
000047d5: ADD
000047d6: PUSH2 0x351d
000047d9: JUMP
000047da: JUMPDEST
000047db: ADD
000047dc: PUSH1 0x02
000047de: ADD
000047df: SWAP5
000047e0: SWAP4
000047e1: POP
000047e2: POP
000047e3: POP
000047e4: POP
000047e5: JUMP
000047e6: JUMPDEST
000047e7: PUSH1 0x1f
000047e9: DUP3
000047ea: GT
000047eb: ISZERO
000047ec: PUSH2 0x2920
000047ef: JUMPI
000047f0: PUSH1 0x00
000047f2: DUP2
000047f3: PUSH1 0x00
000047f5: MSTORE
000047f6: PUSH1 0x20
000047f8: PUSH1 0x00
000047fa: KECCAK256
000047fb: PUSH1 0x1f
000047fd: DUP6
000047fe: ADD
000047ff: PUSH1 0x05
00004801: SHR
00004802: DUP2
00004803: ADD
00004804: PUSH1 0x20
00004806: DUP7
00004807: LT
00004808: ISZERO
00004809: PUSH2 0x480f
0000480c: JUMPI
0000480d: POP
0000480e: DUP1
0000480f: JUMPDEST
00004810: PUSH1 0x1f
00004812: DUP6
00004813: ADD
00004814: PUSH1 0x05
00004816: SHR
00004817: DUP3
00004818: ADD
00004819: SWAP2
0000481a: POP
0000481b: JUMPDEST
0000481c: DUP2
0000481d: DUP2
0000481e: LT
0000481f: ISZERO
00004820: PUSH2 0x482e
00004823: JUMPI
00004824: DUP3
00004825: DUP2
00004826: SSTORE
00004827: PUSH1 0x01
00004829: ADD
0000482a: PUSH2 0x481b
0000482d: JUMP
0000482e: JUMPDEST
0000482f: POP
00004830: POP
00004831: POP
00004832: POP
00004833: POP
00004834: POP
00004835: JUMP
00004836: JUMPDEST
00004837: DUP2
00004838: MLOAD
00004839: PUSH8 0xffffffffffffffff
00004842: DUP2
00004843: GT
00004844: ISZERO
00004845: PUSH2 0x4850
00004848: JUMPI
00004849: PUSH2 0x4850
0000484c: PUSH2 0x35c1
0000484f: JUMP
00004850: JUMPDEST
00004851: PUSH2 0x4864
00004854: DUP2
00004855: PUSH2 0x485e
00004858: DUP5
00004859: SLOAD
0000485a: PUSH2 0x3cab
0000485d: JUMP
0000485e: JUMPDEST
0000485f: DUP5
00004860: PUSH2 0x47e6
00004863: JUMP
00004864: JUMPDEST
00004865: PUSH1 0x20
00004867: DUP1
00004868: PUSH1 0x1f
0000486a: DUP4
0000486b: GT
0000486c: PUSH1 0x01
0000486e: DUP2
0000486f: EQ
00004870: PUSH2 0x4899
00004873: JUMPI
00004874: PUSH1 0x00
00004876: DUP5
00004877: ISZERO
00004878: PUSH2 0x4881
0000487b: JUMPI
0000487c: POP
0000487d: DUP6
0000487e: DUP4
0000487f: ADD
00004880: MLOAD
00004881: JUMPDEST
00004882: PUSH1 0x00
00004884: NOT
00004885: PUSH1 0x03
00004887: DUP7
00004888: SWAP1
00004889: SHL
0000488a: SHR
0000488b: NOT
0000488c: AND
0000488d: PUSH1 0x01
0000488f: DUP6
00004890: SWAP1
00004891: SHL
00004892: OR
00004893: DUP6
00004894: SSTORE
00004895: PUSH2 0x482e
00004898: JUMP
00004899: JUMPDEST
0000489a: PUSH1 0x00
0000489c: DUP6
0000489d: DUP2
0000489e: MSTORE
0000489f: PUSH1 0x20
000048a1: DUP2
000048a2: KECCAK256
000048a3: PUSH1 0x1f
000048a5: NOT
000048a6: DUP7
000048a7: AND
000048a8: SWAP2
000048a9: JUMPDEST
000048aa: DUP3
000048ab: DUP2
000048ac: LT
000048ad: ISZERO
000048ae: PUSH2 0x48c8
000048b1: JUMPI
000048b2: DUP9
000048b3: DUP7
000048b4: ADD
000048b5: MLOAD
000048b6: DUP3
000048b7: SSTORE
000048b8: SWAP5
000048b9: DUP5
000048ba: ADD
000048bb: SWAP5
000048bc: PUSH1 0x01
000048be: SWAP1
000048bf: SWAP2
000048c0: ADD
000048c1: SWAP1
000048c2: DUP5
000048c3: ADD
000048c4: PUSH2 0x48a9
000048c7: JUMP
000048c8: JUMPDEST
000048c9: POP
000048ca: DUP6
000048cb: DUP3
000048cc: LT
000048cd: ISZERO
000048ce: PUSH2 0x48e6
000048d1: JUMPI
000048d2: DUP8
000048d3: DUP6
000048d4: ADD
000048d5: MLOAD
000048d6: PUSH1 0x00
000048d8: NOT
000048d9: PUSH1 0x03
000048db: DUP9
000048dc: SWAP1
000048dd: SHL
000048de: PUSH1 0xf8
000048e0: AND
000048e1: SHR
000048e2: NOT
000048e3: AND
000048e4: DUP2
000048e5: SSTORE
000048e6: JUMPDEST
000048e7: POP
000048e8: POP
000048e9: POP
000048ea: POP
000048eb: POP
000048ec: PUSH1 0x01
000048ee: SWAP1
000048ef: DUP2
000048f0: SHL
000048f1: ADD
000048f2: SWAP1
000048f3: SSTORE
000048f4: POP
000048f5: JUMP
000048f6: JUMPDEST
000048f7: PUSH1 0x00
000048f9: PUSH1 0x20
000048fb: DUP3
000048fc: DUP5
000048fd: SUB
000048fe: SLT
000048ff: ISZERO
00004900: PUSH2 0x4908
00004903: JUMPI
00004904: PUSH1 0x00
00004906: DUP1
00004907: REVERT
00004908: JUMPDEST
00004909: DUP2
0000490a: MLOAD
0000490b: PUSH2 0x2a8d
0000490e: DUP2
0000490f: PUSH2 0x39ad
00004912: JUMP
00004913: JUMPDEST
00004914: PUSH1 0x00
00004916: DUP3
00004917: MLOAD
00004918: PUSH2 0x469f
0000491b: DUP2
0000491c: DUP5
0000491d: PUSH1 0x20
0000491f: DUP8
00004920: ADD
00004921: PUSH2 0x351d
00004924: JUMP
00004925: INVALID
00004926: LOG2
00004927: PUSH5 0x6970667358
0000492d: UNKNOWN(0x22)
0000492e: SLT
0000492f: KECCAK256
00004930: UNKNOWN(0xCB)
00004931: UNKNOWN(0x26)
00004932: ISZERO
00004933: SWAP15
00004934: DUP6
00004935: UNKNOWN(0xEA)
00004936: UNKNOWN(0xC1)
00004937: ADDRESS
00004938: SHL
00004939: UNKNOWN(0xEC)
0000493a: MLOAD
0000493b: TIMESTAMP
0000493c: PUSH24 0xcde6c6c3fd92e6f1a4627c7fbc7f7e6f0ec4fa64736f6c63
00004955: NUMBER
00004956: STOP
00004957: ADDMOD
00004958: XOR
00004959: STOP
0000495a: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x886964a7e658d02a63a69001768fe66d582b4eeb3b6904497ee3844557c33fb4
call_targets: 0x8abf5358a88ca2586635d646aaaff172572fb0ed
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x886964a7e658d02a63a69001768fe66d582b4eeb3b6904497ee3844557c33fb4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x8abf5358a88ca2586635d646aaaff172572fb0ed"
    ],
    "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": "0xf0aa49d2",
            "selector": "0xf0aa49d2",
            "calldata_variants": [
                "0xf0aa49d2",
                "0xf0aa49d20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf887ea40",
            "selector": "0xf887ea40",
            "calldata_variants": [
                "0xf887ea40",
                "0xf887ea400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf1d444e",
            "selector": "0xdf1d444e",
            "calldata_variants": [
                "0xdf1d444e",
                "0xdf1d444e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc17723f9",
            "selector": "0xc17723f9",
            "calldata_variants": [
                "0xc17723f9",
                "0xc17723f90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0e8dcff",
            "selector": "0xd0e8dcff",
            "calldata_variants": [
                "0xd0e8dcff",
                "0xd0e8dcff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1c699aa",
            "selector": "0xd1c699aa",
            "calldata_variants": [
                "0xd1c699aa",
                "0xd1c699aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3446,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6218,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6854,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [],
    "untrusted_call_count": 6
}
high access_control codex Escrow initialization is externally callable without access control 85 no
view
evidence_json
{
    "evidence": "`initializeAuction`, `initializeRFQMatch`, and `initializeMintOption` are `external initializer` and directly set `router`/`owner` with no `msg.sender` checks.",
    "locations": [
        "contracts/contracts/Escrow.sol:39",
        "contracts/contracts/Escrow.sol:112",
        "contracts/contracts/Escrow.sol:136"
    ],
    "recommendation": "Restrict initialization to a trusted factory/router (e.g., `onlyRouter`), or ensure deployments always initialize atomically in the factory\u2019s constructor/creation call path.",
    "exploit_scenario": "If an escrow instance is deployed without being initialized in the same transaction, any attacker can front\u2011run by calling `initializeAuction`, `initializeRFQMatch`, or `initializeMintOption` to set `router` and `owner` to themselves. They can then withdraw escrow assets or mint/transfer options under their control."
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x886964a7e658d02a63a69001768fe66d582b4eeb3b6904497ee3844557c33fb4
call_targets: 0x8abf5358a88ca2586635d646aaaff172572fb0ed
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x886964a7e658d02a63a69001768fe66d582b4eeb3b6904497ee3844557c33fb4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x8abf5358a88ca2586635d646aaaff172572fb0ed"
    ],
    "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": "0xf0aa49d2",
            "selector": "0xf0aa49d2",
            "calldata_variants": [
                "0xf0aa49d2",
                "0xf0aa49d20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf887ea40",
            "selector": "0xf887ea40",
            "calldata_variants": [
                "0xf887ea40",
                "0xf887ea400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf1d444e",
            "selector": "0xdf1d444e",
            "calldata_variants": [
                "0xdf1d444e",
                "0xdf1d444e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc17723f9",
            "selector": "0xc17723f9",
            "calldata_variants": [
                "0xc17723f9",
                "0xc17723f90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0e8dcff",
            "selector": "0xd0e8dcff",
            "calldata_variants": [
                "0xd0e8dcff",
                "0xd0e8dcff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1c699aa",
            "selector": "0xd1c699aa",
            "calldata_variants": [
                "0xd1c699aa",
                "0xd1c699aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3446,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6218,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6854,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": []
}
medium oracle codex User-supplied oracle data can skew strike/premium and exercise costs if adapter is permissive 75 no
view
evidence_json
{
    "evidence": "`previewBid` and `handleExercise` accept caller-provided `oracleData` and use it to derive pricing without additional on-chain validation beyond min/max spot checks.",
    "locations": [
        "contracts/contracts/Escrow.sol:240",
        "contracts/contracts/Escrow.sol:506"
    ],
    "recommendation": "Enforce staleness and bounds in the adapter and/or add local sanity checks (e.g., require minimum freshness, reject zero/absurd prices). Consider restricting acceptable oracle data sources or caching validated prices in the escrow/router.",
    "exploit_scenario": "A bidder or exerciser can pass `oracleData` that causes the oracle adapter to return a stale or manipulated price (if the adapter does not strictly validate). This can underprice premiums/strike in auctions or reduce exercise costs when paying in underlying, resulting in economic loss to the escrow owner."
}
low other codex ERC20 transfers make external router calls, enabling DoS/reentrancy if router misbehaves 65 no
view
evidence_json
{
    "evidence": "`transfer` and `transferFrom` call `IRouter(router).emitTransferEvent(...)` after state changes.",
    "locations": [
        "contracts/contracts/Escrow.sol:458",
        "contracts/contracts/Escrow.sol:467"
    ],
    "recommendation": "Avoid external calls in `transfer`/`transferFrom`, or wrap the router call in `try/catch` and ignore failures. If event forwarding is required, consider emitting events directly in the escrow without external calls.",
    "exploit_scenario": "If the router is upgradeable or compromised, it can revert or consume excessive gas in `emitTransferEvent`, causing all option token transfers to fail. It could also reenter during transfer flows, increasing attack surface."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 9
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 18
}