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

Analysis Run

d56f910c-3d71-409c-894a-2f145cc856af

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 1:42 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target 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
31177 report.consolidate complete 1 / 1 3 months ago
76876 artifact.fetch complete 1 / 3 1 week ago
76877 tool.cast_disasm complete 1 / 3 1 week ago
76878 analysis.bundle complete 1 / 3 1 week ago
76879 capability.graph complete 1 / 3 1 week ago
76880 detector.run complete 1 / 3 1 week ago
76881 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
1
No findings?
no
Summary
Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.
View stderr
[codex:1090936] OpenAI Codex v0.77.0 (research preview)
[codex:1090936] --------
[codex:1090936] workdir: /tmp/codex-multi-btpuhlj_
[codex:1090936] model: gpt-5.2-codex
[codex:1090936] provider: openai
[codex:1090936] approval: never
[codex:1090936] sandbox: read-only
[codex:1090936] reasoning effort: xhigh
[codex:1090936] reasoning summaries: auto
[codex:1090936] session id: 019b7c5a-5d71-75b0-8cd7-9e14606e32e7
[codex:1090936] --------
[codex:1090936] user
[codex:1090936] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1090936] 
[codex:1090936] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1090936] 
[codex:1090936] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1090936] - Gas inefficiency, code quality, naming, or best practices
[codex:1090936] - Theoretical vulnerabilities without a clear extraction path
[codex:1090936] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1090936] - Front-running unless it enables theft beyond MEV
[codex:1090936] - DoS, griefing, or issues that don't result in attacker profit
[codex:1090936] - Missing events, view function issues, or informational findings
[codex:1090936] 
[codex:1090936] HIGH-VALUE PATTERNS TO HUNT:
[codex:1090936] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1090936] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1090936] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1090936] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1090936] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1090936] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1090936] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1090936] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1090936] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1090936] 
[codex:1090936] For each finding, you MUST provide:
[codex:1090936] 1. Exact file and line numbers of vulnerable code
[codex:1090936] 2. Step-by-step exploit transaction sequence
[codex:1090936] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1090936] 
[codex:1090936] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1090936] 
[codex:1090936] Output MUST be valid JSON matching the provided schema.
[codex:1090936] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1090936] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1090936] mcp startup: no servers
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Preparing to read instructions**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc ls in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] AUDIT_BUNDLE.txt
[codex:1090936] codex-output-schema.json
[codex:1090936] contracts
[codex:1090936] exec
[codex:1090936] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-btpuhlj_ succeeded in 7ms:
[codex:1090936] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1090936] 
[codex:1090936] ================================================================================
[codex:1090936] FILE: contracts/contracts/base/Multicall.sol
[codex:1090936] ================================================================================
[codex:1090936] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1090936] 
[codex:1090936] pragma solidity =0.8.22;
[codex:1090936] 
[codex:1090936] import '../interfaces/IMulticall.sol';
[codex:1090936] 
[codex:1090936] /**
[codex:1090936]  * @title Multicall
[codex:1090936]  * @author Uniswap
[codex:1090936]  * @notice Adopted from https://github.com/Uniswap/v3-periphery/blob/1d69caf0d6c8cfeae9acd1f34ead30018d6e6400/contracts/base/Multicall.sol
[codex:1090936]  * @notice Enables calling multiple methods in a single call to the contract
[codex:1090936]  */
[codex:1090936] abstract contract Multicall is IMulticall {
[codex:1090936]   /// @inheritdoc IMulticall
[codex:1090936]   function multicall(bytes[] calldata data) external override returns (bytes[] memory results) {
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Planning full file inspection**
[codex:1090936] 
[codex:1090936] I see the file is huge and I need to read it fully before making any conclusions, but the output was truncated. To handle this, I'll read the file in smaller chunks using commands like `sed -n` to cover all lines systematically, ensuring I don't miss any potential vulnerabilities. I want to verify the entire AUDIT_BUNDLE.txt carefully.
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 5ms:
[codex:1090936] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1090936] 
[codex:1090936] ================================================================================
[codex:1090936] FILE: contracts/contracts/base/Multicall.sol
[codex:1090936] ================================================================================
[codex:1090936] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1090936] 
[codex:1090936] pragma solidity =0.8.22;
[codex:1090936] 
[codex:1090936] import '../interfaces/IMulticall.sol';
[codex:1090936] 
[codex:1090936] /**
[codex:1090936]  * @title Multicall
[codex:1090936]  * @author Uniswap
[codex:1090936]  * @notice Adopted from https://github.com/Uniswap/v3-periphery/blob/1d69caf0d6c8cfeae9acd1f34ead30018d6e6400/contracts/base/Multicall.sol
[codex:1090936]  * @notice Enables calling multiple methods in a single call to the contract
[codex:1090936]  */
[codex:1090936] abstract contract Multicall is IMulticall {
[codex:1090936]   /// @inheritdoc IMulticall
[codex:1090936]   function multicall(bytes[] calldata data) external override returns (bytes[] memory results) {
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Planning file reading in segments**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 5ms:
[codex:1090936]   /**
[codex:1090936]    * @notice Total Oracles
[codex:1090936]    * @return The total number of oracles registered
[codex:1090936]    */
[codex:1090936]   function totalOracles() external view returns (uint256);
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @notice Function for adding oracle to the set
[codex:1090936]    * @param oracle The address of the oracle to add
[codex:1090936]    */
[codex:1090936]   function addOracle(address oracle) external;
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @notice Function for removing oracle from the set
[codex:1090936]    * @param oracle The address of the oracle to remove
[codex:1090936]    */
[codex:1090936]   function removeOracle(address oracle) external;
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @notice Function for updating the config IPFS hash
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Waiting for more content**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]   /**
[codex:1090936]    * @notice Checks whether the Vault has registered validators
[codex:1090936]    * @param vault The address of the Vault
[codex:1090936]    * @return `true` if Vault is collateralized, `false` otherwise
[codex:1090936]    */
[codex:1090936]   function isCollateralized(address vault) external view returns (bool);
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @notice Update rewards data
[codex:1090936]    * @param params The struct containing rewards update parameters
[codex:1090936]    */
[codex:1090936]   function updateRewards(RewardsUpdateParams calldata params) external;
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @notice Harvest rewards. Can be called only by Vault.
[codex:1090936]    * @param params The struct containing rewards harvesting parameters
[codex:1090936]    * @return totalAssetsDelta The total reward/penalty accumulated by the Vault since the last sync
[codex:1090936]    * @return unlockedMevDelta The Vault execution reward that can be withdrawn from shared MEV escrow. Only used by shared MEV Vaults.
[codex:1090936]    * @return harvested `true` when the rewards were harvested, `false` otherwise
[codex:1090936]    */
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Continuing analysis**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]   /**
[codex:1090936]    * @notice Event emitted on claim of the exited assets
[codex:1090936]    * @param receiver The address that has received withdrawn assets
[codex:1090936]    * @param prevPositionTicket The exit queue ticket received after the `enterExitQueue` call
[codex:1090936]    * @param newPositionTicket The new exit queue ticket in case not all the shares were withdrawn. Otherwise 0.
[codex:1090936]    * @param withdrawnAssets The total number of assets withdrawn
[codex:1090936]    */
[codex:1090936]   event ExitedAssetsClaimed(
[codex:1090936]     address indexed receiver,
[codex:1090936]     uint256 prevPositionTicket,
[codex:1090936]     uint256 newPositionTicket,
[codex:1090936]     uint256 withdrawnAssets
[codex:1090936]   );
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @notice Locks shares to the exit queue. The shares continue earning rewards until they will be burned by the Vault.
[codex:1090936]    * @param shares The number of shares to lock
[codex:1090936]    * @param receiver The address that will receive assets upon withdrawal
[codex:1090936]    * @return positionTicket The position ticket of the exit queue
[codex:1090936]    */
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Continuing processing**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]   function isStateUpdateRequired() external view returns (bool);
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @notice Updates the total amount of assets in the Vault and its exit queue
[codex:1090936]    * @param harvestParams The parameters for harvesting Keeper rewards
[codex:1090936]    */
[codex:1090936]   function updateState(IKeeperRewards.HarvestParams calldata harvestParams) external;
[codex:1090936] }
[codex:1090936] 
[codex:1090936] ================================================================================
[codex:1090936] FILE: contracts/contracts/interfaces/IVaultValidators.sol
[codex:1090936] ================================================================================
[codex:1090936] // SPDX-License-Identifier: BUSL-1.1
[codex:1090936] 
[codex:1090936] pragma solidity =0.8.22;
[codex:1090936] 
[codex:1090936] import {IKeeperValidators} from './IKeeperValidators.sol';
[codex:1090936] import {IVaultAdmin} from './IVaultAdmin.sol';
[codex:1090936] import {IVaultState} from './IVaultState.sol';
[codex:1090936] 
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Continuing process**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 5ms:
[codex:1090936] 
[codex:1090936]     // current total tickets for calculating assets per burned share
[codex:1090936]     // can be used with _unsafeAccess as checkpointIdx < length
[codex:1090936]     Checkpoint memory checkpoint = _unsafeAccess(self.checkpoints, checkpointIdx);
[codex:1090936]     uint256 currTotalTickets = checkpoint.totalTickets;
[codex:1090936]     uint256 checkpointAssets = checkpoint.exitedAssets;
[codex:1090936]     // check whether position ticket is in [prevTotalTickets, currTotalTickets) range
[codex:1090936]     if (positionTicket < prevTotalTickets || currTotalTickets <= positionTicket) {
[codex:1090936]       revert Errors.InvalidCheckpointIndex();
[codex:1090936]     }
[codex:1090936] 
[codex:1090936]     // calculate amount of available shares that will be updated while iterating over checkpoints
[codex:1090936]     uint256 availableShares;
[codex:1090936]     unchecked {
[codex:1090936]       // cannot underflow as positionTicket < currTotalTickets
[codex:1090936]       availableShares = currTotalTickets - positionTicket;
[codex:1090936]     }
[codex:1090936] 
[codex:1090936]     // accumulate assets until the number of required shares is collected
[codex:1090936]     uint256 checkpointShares;
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Continuing process**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]   }
[codex:1090936] 
[codex:1090936]   /// @inheritdoc IVaultEnterExit
[codex:1090936]   function redeem(
[codex:1090936]     uint256 shares,
[codex:1090936]     address receiver
[codex:1090936]   ) public virtual override returns (uint256 assets) {
[codex:1090936]     return _redeem(msg.sender, shares, receiver);
[codex:1090936]   }
[codex:1090936] 
[codex:1090936]   /// @inheritdoc IVaultEnterExit
[codex:1090936]   function enterExitQueue(
[codex:1090936]     uint256 shares,
[codex:1090936]     address receiver
[codex:1090936]   ) public virtual override returns (uint256 positionTicket) {
[codex:1090936]     return _enterExitQueue(msg.sender, shares, receiver);
[codex:1090936]   }
[codex:1090936] 
[codex:1090936]   /// @inheritdoc IVaultEnterExit
[codex:1090936]   function calculateExitedAssets(
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Continuing exploration**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '2400,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]    */
[codex:1090936]   function _setFeeRecipient(address _feeRecipient) private {
[codex:1090936]     _checkHarvested();
[codex:1090936]     if (_feeRecipient == address(0)) revert Errors.InvalidFeeRecipient();
[codex:1090936] 
[codex:1090936]     // update fee recipient address
[codex:1090936]     feeRecipient = _feeRecipient;
[codex:1090936]     emit FeeRecipientUpdated(msg.sender, _feeRecipient);
[codex:1090936]   }
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @dev Initializes the VaultFee contract
[codex:1090936]    * @param _feeRecipient The address of the fee recipient
[codex:1090936]    * @param _feePercent The fee percent that is charged by the Vault
[codex:1090936]    */
[codex:1090936]   function __VaultFee_init(address _feeRecipient, uint16 _feePercent) internal onlyInitializing {
[codex:1090936]     if (_feePercent > _maxFeePercent) revert Errors.InvalidFeePercent();
[codex:1090936] 
[codex:1090936]     _setFeeRecipient(_feeRecipient);
[codex:1090936]     feePercent = _feePercent;
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Continuing to review file for duplication**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '2800,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]       // cannot underflow because the sum of all shares can't exceed the _totalShares
[codex:1090936]       _totalShares -= SafeCast.toUint128(shares);
[codex:1090936]     }
[codex:1090936]   }
[codex:1090936] 
[codex:1090936]   /**
[codex:1090936]    * @dev Internal conversion function (from assets to shares) with support for rounding direction.
[codex:1090936]    */
[codex:1090936]   function _convertToShares(
[codex:1090936]     uint256 assets,
[codex:1090936]     Math.Rounding rounding
[codex:1090936]   ) internal view returns (uint256 shares) {
[codex:1090936]     uint256 totalShares_ = _totalShares;
[codex:1090936]     // Will revert if assets > 0, totalShares > 0 and _totalAssets = 0.
[codex:1090936]     // That corresponds to a case where any asset would represent an infinite amount of shares.
[codex:1090936]     return
[codex:1090936]       (assets == 0 || totalShares_ == 0)
[codex:1090936]         ? assets
[codex:1090936]         : Math.mulDiv(assets, totalShares_, _totalAssets, rounding);
[codex:1090936]   }
[codex:1090936] 
[codex:1090936] 
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Analyzing share inflation vulnerability**
[codex:1090936] 
[codex:1090936] I'm examining EthFoxVault’s deposit and redeem mechanics, focusing on rounding behaviors that could let tiny deposits mint full shares, enabling share inflation attacks. This appears to allow a user to deposit minimal ETH (like 1 wei), receive an outsized share, and later claim more assets than deposited, effectively extracting value from other shareholders. I’m verifying constraints like withdrawal mechanics and vault collateralization to understand exploit feasibility.
[codex:1090936] thinking
[codex:1090936] **Evaluating exit queue profit scenario**
[codex:1090936] 
[codex:1090936] I'm digging into how deposits with rounding up interact with the exit queue, showing that an attacker can deposit tiny amounts to mint full shares, then eventually claim outsized assets after validators exit. The profit is delayed but still real, and repeated minimal deposits could gradually extract value by diluting existing holders while share price shifts toward 1. This clarifies the exploit’s step-by-step feasibility and estimated gain.
[codex:1090936] thinking
[codex:1090936] **Calculating maximum extractable rewards**
[codex:1090936] 
[codex:1090936] I'm confirming that repeated minimal deposits can drain nearly all accrued rewards by exploiting share price dilution, allowing extraction up to the total surplus assets. Now I’m preparing to locate vulnerable functions like _deposit and _convertToShares in the source files with exact line numbers to provide precise references.
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "nl -ba contracts/contracts/vaults/modules/VaultEnterExit.sol | sed -n '70,180p'" in /tmp/codex-multi-btpuhlj_ succeeded in 8ms:
[codex:1090936]     70	  {
[codex:1090936]     71	    uint256 requestedShares = _exitRequests[
[codex:1090936]     72	      keccak256(abi.encode(receiver, timestamp, positionTicket))
[codex:1090936]     73	    ];
[codex:1090936]     74	
[codex:1090936]     75	    // calculate exited shares and assets
[codex:1090936]     76	    (claimedShares, claimedAssets) = _exitQueue.calculateExitedAssets(
[codex:1090936]     77	      exitQueueIndex,
[codex:1090936]     78	      positionTicket,
[codex:1090936]     79	      requestedShares
[codex:1090936]     80	    );
[codex:1090936]     81	    leftShares = requestedShares - claimedShares;
[codex:1090936]     82	  }
[codex:1090936]     83	
[codex:1090936]     84	  /// @inheritdoc IVaultEnterExit
[codex:1090936]     85	  function claimExitedAssets(
[codex:1090936]     86	    uint256 positionTicket,
[codex:1090936]     87	    uint256 timestamp,
[codex:1090936]     88	    uint256 exitQueueIndex
[codex:1090936]     89	  )
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Locating _convertToShares lines**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "nl -ba contracts/contracts/vaults/modules/VaultState.sol | sed -n '120,220p'" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]    120	
[codex:1090936]    121	    // update state
[codex:1090936]    122	    _totalAssets = SafeCast.toUint128(newTotalAssets);
[codex:1090936]    123	
[codex:1090936]    124	    // calculate admin fee recipient assets
[codex:1090936]    125	    uint256 feeRecipientAssets = Math.mulDiv(profitAssets, feePercent, _maxFeePercent);
[codex:1090936]    126	    if (feeRecipientAssets == 0) return;
[codex:1090936]    127	
[codex:1090936]    128	    // SLOAD to memory
[codex:1090936]    129	    uint256 totalShares_ = _totalShares;
[codex:1090936]    130	
[codex:1090936]    131	    // calculate fee recipient's shares
[codex:1090936]    132	    uint256 feeRecipientShares;
[codex:1090936]    133	    if (totalShares_ == 0) {
[codex:1090936]    134	      feeRecipientShares = feeRecipientAssets;
[codex:1090936]    135	    } else {
[codex:1090936]    136	      unchecked {
[codex:1090936]    137	        feeRecipientShares = Math.mulDiv(
[codex:1090936]    138	          feeRecipientAssets,
[codex:1090936]    139	          totalShares_,
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Continuing conversion function review**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "nl -ba contracts/contracts/vaults/modules/VaultState.sol | sed -n '220,300p'" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936]    220	
[codex:1090936]    221	  /**
[codex:1090936]    222	   * @dev Internal conversion function (from assets to shares) with support for rounding direction.
[codex:1090936]    223	   */
[codex:1090936]    224	  function _convertToShares(
[codex:1090936]    225	    uint256 assets,
[codex:1090936]    226	    Math.Rounding rounding
[codex:1090936]    227	  ) internal view returns (uint256 shares) {
[codex:1090936]    228	    uint256 totalShares_ = _totalShares;
[codex:1090936]    229	    // Will revert if assets > 0, totalShares > 0 and _totalAssets = 0.
[codex:1090936]    230	    // That corresponds to a case where any asset would represent an infinite amount of shares.
[codex:1090936]    231	    return
[codex:1090936]    232	      (assets == 0 || totalShares_ == 0)
[codex:1090936]    233	        ? assets
[codex:1090936]    234	        : Math.mulDiv(assets, totalShares_, _totalAssets, rounding);
[codex:1090936]    235	  }
[codex:1090936]    236	
[codex:1090936]    237	  /**
[codex:1090936]    238	   * @dev Internal function for harvesting Vaults' new assets
[codex:1090936]    239	   * @return The total assets delta after harvest
[codex:1090936] 
[codex:1090936] 
[codex:1090936] thinking
[codex:1090936] **Analyzing deposit rounding vulnerability and exploit steps**
[codex:1090936] thinking
[codex:1090936] ```json
[codex:1090936] {
[codex:1090936]   "no_findings": false,
[codex:1090936]   "summary": "A high-severity math vulnerability arises from rounding-up during deposits, allowing an attacker to mint full shares for dust deposits and drain accrued vault rewards.",
[codex:1090936]   "category": "math",
[codex:1090936]   "severity": "high",
[codex:1090936]   "title": "Share inflation via rounding-up in deposits enables dust deposit to mint full shares and extract accrued rewards",
[codex:1090936]   "locations": [
[codex:1090936]     "contracts/contracts/vaults/modules/VaultEnterExit.sol:131-149",
[codex:1090936]     "contracts/contracts/vaults/modules/VaultState.sol:224-234"
[codex:1090936]   ],
[codex:1090936]   "evidence": "The _deposit function in VaultEnterExit.sol (lines 131-149) uses _convertToShares with Math.Rounding.Ceil rounding mode, causing any small deposit to mint at least one share. The _convertToShares method in VaultState.sol (lines 224-234) computes shares minted using Math.mulDiv with a rounding parameter, which when set to Ceil benefits the depositor for tiny deposits relative to share price.",
[codex:1090936]   "exploit_scenario": "1) Wait until vault accrues rewards so totalAssets > totalShares. 2) Deposit a minimal amount (e.g., 1 wei); rounding-up mints 1 full share despite deposit being smaller than share price. 3) Enter exit queue or redeem shares depending on vault collateralization. 4) After exit queue processing or redeem, claim assets and receive approximately totalAssets/totalShares ETH for 1 wei deposited. 5) Repeat steps to drain nearly all accrued rewards. Profit potential is roughly totalAssets - totalShares ETH representing accumulated yield.",
[codex:1090936]   "recommendation": "Change rounding mode to rounding down or add a check to revert if minted shares equal zero, and enforce a minimum deposit amount to prevent dust deposits from minting disproportionate shares."
[codex:1090936] }
[codex:1090936] ```
[codex:1090936] codex
[codex:1090936] {"no_findings":false,"summary":"Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.","findings":[{"severity":"high","category":"math","title":"Rounding-up in deposits lets dust mint full shares and drain accrued rewards","exploit_scenario":"1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders.","recommendation":"Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.","evidence":"Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).","locations":["contracts/contracts/vaults/modules/VaultEnterExit.sol:131","contracts/contracts/vaults/modules/VaultEnterExit.sol:147","contracts/contracts/vaults/modules/VaultState.sol:224","contracts/contracts/vaults/modules/VaultState.sol:231"]}]}
[codex:1090936] tokens used
[codex:1090936] 108,284
[codex:1090936] {"no_findings":false,"summary":"Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.","findings":[{"severity":"high","category":"math","title":"Rounding-up in deposits lets dust mint full shares and drain accrued rewards","exploit_scenario":"1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders.","recommendation":"Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.","evidence":"Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).","locations":["contracts/contracts/vaults/modules/VaultEnterExit.sol:131","contracts/contracts/vaults/modules/VaultEnterExit.sol:147","contracts/contracts/vaults/modules/VaultState.sol:224","contracts/contracts/vaults/modules/VaultState.sol:231"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T01:42:25.981183+00:00",
        "returncode": 0
    },
    "summary": "Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.",
    "raw_final": {
        "summary": "Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.",
        "findings": [
            {
                "title": "Rounding-up in deposits lets dust mint full shares and drain accrued rewards",
                "category": "math",
                "evidence": "Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).",
                "severity": "high",
                "locations": [
                    "contracts/contracts/vaults/modules/VaultEnterExit.sol:131",
                    "contracts/contracts/vaults/modules/VaultEnterExit.sol:147",
                    "contracts/contracts/vaults/modules/VaultState.sol:224",
                    "contracts/contracts/vaults/modules/VaultState.sol:231"
                ],
                "recommendation": "Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.",
                "exploit_scenario": "1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
16
EXT*/BALANCE
8
Total opcodes
9354
Flags
delegatecall_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0022
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: ISZERO
00000011: PUSH2 0x0018
00000014: JUMPI
00000015: PUSH0
00000016: DUP1
00000017: REVERT
00000018: JUMPDEST
00000019: PUSH2 0x0020
0000001c: PUSH2 0x1eec
0000001f: JUMP
00000020: JUMPDEST
00000021: STOP
00000022: JUMPDEST
00000023: PUSH0
00000024: CALLDATALOAD
00000025: PUSH1 0xe0
00000027: SHR
00000028: DUP1
00000029: PUSH4 0x01e1d114
0000002e: EQ
0000002f: PUSH2 0x02e1
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x07a2d13a
00000039: EQ
0000003a: PUSH2 0x02dc
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x14c4184b
00000044: EQ
00000045: PUSH2 0x02d7
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x18f72950
0000004f: EQ
00000050: PUSH2 0x02d2
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x1a7ff553
0000005a: EQ
0000005b: PUSH2 0x02cd
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x2cdf7401
00000065: EQ
00000066: PUSH2 0x02c8
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0x3229fa95
00000070: EQ
00000071: PUSH2 0x02c3
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0x33194c0a
0000007b: EQ
0000007c: PUSH2 0x02be
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0x3a98ef39
00000086: EQ
00000087: PUSH2 0x02b9
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x439fab91
00000091: EQ
00000092: PUSH2 0x02b4
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x46904840
0000009c: EQ
0000009d: PUSH2 0x02af
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x4f1ef286
000000a7: EQ
000000a8: PUSH2 0x02aa
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x514e2708
000000b2: EQ
000000b3: PUSH2 0x02a5
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x52d1902d
000000bd: EQ
000000be: PUSH2 0x02a0
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x53156f28
000000c8: EQ
000000c9: PUSH2 0x029b
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x54fd4d50
000000d3: EQ
000000d4: PUSH2 0x0296
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x5c60da1b
000000de: EQ
000000df: PUSH2 0x0291
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x5cfc1a51
000000e9: EQ
000000ea: PUSH2 0x028c
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x5dddf3a8
000000f4: EQ
000000f5: PUSH2 0x0287
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x60d60e6e
000000ff: EQ
00000100: PUSH2 0x0282
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0x72b410a8
0000010a: EQ
0000010b: PUSH2 0x027d
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0x76b58b90
00000115: EQ
00000116: PUSH2 0x0278
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0x7bde82f2
00000120: EQ
00000121: PUSH2 0x0273
00000124: JUMPI
00000125: DUP1
00000126: PUSH4 0x7fd6f15c
0000012b: EQ
0000012c: PUSH2 0x026e
0000012f: JUMPI
00000130: DUP1
00000131: PUSH4 0x8697d2c2
00000136: EQ
00000137: PUSH2 0x0269
0000013a: JUMPI
0000013b: DUP1
0000013c: PUSH4 0x8ceab9aa
00000141: EQ
00000142: PUSH2 0x0264
00000145: JUMPI
00000146: DUP1
00000147: PUSH4 0x9b401cde
0000014c: EQ
0000014d: PUSH2 0x025f
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0xa1bf49aa
00000157: EQ
00000158: PUSH2 0x025a
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0xa49a1e7d
00000162: EQ
00000163: PUSH2 0x0255
00000166: JUMPI
00000167: DUP1
00000168: PUSH4 0xaaa4e836
0000016d: EQ
0000016e: PUSH2 0x0250
00000171: JUMPI
00000172: DUP1
00000173: PUSH4 0xac9650d8
00000178: EQ
00000179: PUSH2 0x024b
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0xad3cb1cc
00000183: EQ
00000184: PUSH2 0x0246
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0xb45a1eb5
0000018e: EQ
0000018f: PUSH2 0x0241
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0xb5c26bfc
00000199: EQ
0000019a: PUSH2 0x023c
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0xc6e6f592
000001a4: EQ
000001a5: PUSH2 0x0237
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0xd0a64ddc
000001af: EQ
000001b0: PUSH2 0x0232
000001b3: JUMPI
000001b4: DUP1
000001b5: PUSH4 0xd83ad00c
000001ba: EQ
000001bb: PUSH2 0x022d
000001be: JUMPI
000001bf: DUP1
000001c0: PUSH4 0xe74b981b
000001c5: EQ
000001c6: PUSH2 0x0228
000001c9: JUMPI
000001ca: DUP1
000001cb: PUSH4 0xef2a2158
000001d0: EQ
000001d1: PUSH2 0x0223
000001d4: JUMPI
000001d5: DUP1
000001d6: PUSH4 0xf04da65b
000001db: EQ
000001dc: PUSH2 0x021e
000001df: JUMPI
000001e0: DUP1
000001e1: PUSH4 0xf45bf3d2
000001e6: EQ
000001e7: PUSH2 0x0219
000001ea: JUMPI
000001eb: DUP1
000001ec: PUSH4 0xf5e9de4d
000001f1: EQ
000001f2: PUSH2 0x0214
000001f5: JUMPI
000001f6: DUP1
000001f7: PUSH4 0xf851a440
000001fc: EQ
000001fd: PUSH2 0x020f
00000200: JUMPI
00000201: PUSH4 0xf9609f08
00000206: SUB
00000207: PUSH2 0x000e
0000020a: JUMPI
0000020b: PUSH2 0x1472
0000020e: JUMP
0000020f: JUMPDEST
00000210: PUSH2 0x144b
00000213: JUMP
00000214: JUMPDEST
00000215: PUSH2 0x12a7
00000218: JUMP
00000219: JUMPDEST
0000021a: PUSH2 0x1266
0000021d: JUMP
0000021e: JUMPDEST
0000021f: PUSH2 0x122b
00000222: JUMP
00000223: JUMPDEST
00000224: PUSH2 0x11a3
00000227: JUMP
00000228: JUMPDEST
00000229: PUSH2 0x1168
0000022c: JUMP
0000022d: JUMPDEST
0000022e: PUSH2 0x1142
00000231: JUMP
00000232: JUMPDEST
00000233: PUSH2 0x1115
00000236: JUMP
00000237: JUMPDEST
00000238: PUSH2 0x10f7
0000023b: JUMP
0000023c: JUMPDEST
0000023d: PUSH2 0x10d2
00000240: JUMP
00000241: JUMPDEST
00000242: PUSH2 0x10a0
00000245: JUMP
00000246: JUMPDEST
00000247: PUSH2 0x1051
0000024a: JUMP
0000024b: JUMPDEST
0000024c: PUSH2 0x0f59
0000024f: JUMP
00000250: JUMPDEST
00000251: PUSH2 0x0e01
00000254: JUMP
00000255: JUMPDEST
00000256: PUSH2 0x0daa
00000259: JUMP
0000025a: JUMPDEST
0000025b: PUSH2 0x0d8d
0000025e: JUMP
0000025f: JUMPDEST
00000260: PUSH2 0x0d70
00000263: JUMP
00000264: JUMPDEST
00000265: PUSH2 0x0d45
00000268: JUMP
00000269: JUMPDEST
0000026a: PUSH2 0x0d20
0000026d: JUMP
0000026e: JUMPDEST
0000026f: PUSH2 0x0cfc
00000272: JUMP
00000273: JUMPDEST
00000274: PUSH2 0x0cd1
00000277: JUMP
00000278: JUMPDEST
00000279: PUSH2 0x0c80
0000027c: JUMP
0000027d: JUMPDEST
0000027e: PUSH2 0x0bf3
00000281: JUMP
00000282: JUMPDEST
00000283: PUSH2 0x0b4a
00000286: JUMP
00000287: JUMPDEST
00000288: PUSH2 0x0b30
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH2 0x0b16
00000290: JUMP
00000291: JUMPDEST
00000292: PUSH2 0x0ae2
00000295: JUMP
00000296: JUMPDEST
00000297: PUSH2 0x0ac7
0000029a: JUMP
0000029b: JUMPDEST
0000029c: PUSH2 0x0aa3
0000029f: JUMP
000002a0: JUMPDEST
000002a1: PUSH2 0x0a3a
000002a4: JUMP
000002a5: JUMPDEST
000002a6: PUSH2 0x09ce
000002a9: JUMP
000002aa: JUMPDEST
000002ab: PUSH2 0x0733
000002ae: JUMP
000002af: JUMPDEST
000002b0: PUSH2 0x0628
000002b3: JUMP
000002b4: JUMPDEST
000002b5: PUSH2 0x050f
000002b8: JUMP
000002b9: JUMPDEST
000002ba: PUSH2 0x04a0
000002bd: JUMP
000002be: JUMPDEST
000002bf: PUSH2 0x0466
000002c2: JUMP
000002c3: JUMPDEST
000002c4: PUSH2 0x043a
000002c7: JUMP
000002c8: JUMPDEST
000002c9: PUSH2 0x0420
000002cc: JUMP
000002cd: JUMPDEST
000002ce: PUSH2 0x03ed
000002d1: JUMP
000002d2: JUMPDEST
000002d3: PUSH2 0x0382
000002d6: JUMP
000002d7: JUMPDEST
000002d8: PUSH2 0x033a
000002db: JUMP
000002dc: JUMPDEST
000002dd: PUSH2 0x0314
000002e0: JUMP
000002e1: JUMPDEST
000002e2: PUSH2 0x02f4
000002e5: JUMP
000002e6: JUMPDEST
000002e7: PUSH0
000002e8: SWAP2
000002e9: SUB
000002ea: SLT
000002eb: PUSH2 0x02f0
000002ee: JUMPI
000002ef: JUMP
000002f0: JUMPDEST
000002f1: PUSH0
000002f2: DUP1
000002f3: REVERT
000002f4: JUMPDEST
000002f5: CALLVALUE
000002f6: PUSH2 0x02f0
000002f9: JUMPI
000002fa: PUSH0
000002fb: CALLDATASIZE
000002fc: PUSH1 0x03
000002fe: NOT
000002ff: ADD
00000300: SLT
00000301: PUSH2 0x02f0
00000304: JUMPI
00000305: PUSH1 0x20
00000307: PUSH1 0x98
00000309: SLOAD
0000030a: PUSH1 0x80
0000030c: SHR
0000030d: PUSH1 0x40
0000030f: MLOAD
00000310: SWAP1
00000311: DUP2
00000312: MSTORE
00000313: RETURN
00000314: JUMPDEST
00000315: CALLVALUE
00000316: PUSH2 0x02f0
00000319: JUMPI
0000031a: PUSH1 0x20
0000031c: CALLDATASIZE
0000031d: PUSH1 0x03
0000031f: NOT
00000320: ADD
00000321: SLT
00000322: PUSH2 0x02f0
00000325: JUMPI
00000326: PUSH1 0x20
00000328: PUSH2 0x0332
0000032b: PUSH1 0x04
0000032d: CALLDATALOAD
0000032e: PUSH2 0x149c
00000331: JUMP
00000332: JUMPDEST
00000333: PUSH1 0x40
00000335: MLOAD
00000336: SWAP1
00000337: DUP2
00000338: MSTORE
00000339: RETURN
0000033a: JUMPDEST
0000033b: CALLVALUE
0000033c: PUSH2 0x02f0
0000033f: JUMPI
00000340: PUSH0
00000341: CALLDATASIZE
00000342: PUSH1 0x03
00000344: NOT
00000345: ADD
00000346: SLT
00000347: PUSH2 0x02f0
0000034a: JUMPI
0000034b: PUSH2 0x019c
0000034e: SLOAD
0000034f: PUSH1 0x40
00000351: MLOAD
00000352: PUSH1 0x01
00000354: PUSH1 0x01
00000356: PUSH1 0xa0
00000358: SHL
00000359: SUB
0000035a: SWAP1
0000035b: SWAP2
0000035c: AND
0000035d: DUP2
0000035e: MSTORE
0000035f: PUSH1 0x20
00000361: SWAP1
00000362: RETURN
00000363: JUMPDEST
00000364: PUSH1 0x01
00000366: PUSH1 0x01
00000368: PUSH1 0xa0
0000036a: SHL
0000036b: SUB
0000036c: DUP2
0000036d: AND
0000036e: SUB
0000036f: PUSH2 0x02f0
00000372: JUMPI
00000373: JUMP
00000374: JUMPDEST
00000375: SWAP1
00000376: DUP2
00000377: PUSH1 0x80
00000379: SWAP2
0000037a: SUB
0000037b: SLT
0000037c: PUSH2 0x02f0
0000037f: JUMPI
00000380: SWAP1
00000381: JUMP
00000382: JUMPDEST
00000383: PUSH1 0x60
00000385: CALLDATASIZE
00000386: PUSH1 0x03
00000388: NOT
00000389: ADD
0000038a: SLT
0000038b: PUSH2 0x02f0
0000038e: JUMPI
0000038f: PUSH1 0x04
00000391: CALLDATALOAD
00000392: PUSH2 0x039a
00000395: DUP2
00000396: PUSH2 0x0363
00000399: JUMP
0000039a: JUMPDEST
0000039b: PUSH1 0x24
0000039d: CALLDATALOAD
0000039e: PUSH2 0x03a6
000003a1: DUP2
000003a2: PUSH2 0x0363
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH1 0x44
000003a9: CALLDATALOAD
000003aa: SWAP1
000003ab: PUSH1 0x01
000003ad: PUSH1 0x01
000003af: PUSH1 0x40
000003b1: SHL
000003b2: SUB
000003b3: DUP3
000003b4: GT
000003b5: PUSH2 0x02f0
000003b8: JUMPI
000003b9: PUSH1 0x20
000003bb: SWAP3
000003bc: PUSH2 0x03d4
000003bf: PUSH2 0x03cf
000003c2: PUSH2 0x0332
000003c5: SWAP5
000003c6: CALLDATASIZE
000003c7: SWAP1
000003c8: PUSH1 0x04
000003ca: ADD
000003cb: PUSH2 0x0374
000003ce: JUMP
000003cf: JUMPDEST
000003d0: PUSH2 0x14c2
000003d3: JUMP
000003d4: JUMPDEST
000003d5: PUSH2 0x03dd
000003d8: CALLER
000003d9: PUSH2 0x30bb
000003dc: JUMP
000003dd: JUMPDEST
000003de: PUSH2 0x03e6
000003e1: DUP2
000003e2: PUSH2 0x30bb
000003e5: JUMP
000003e6: JUMPDEST
000003e7: CALLVALUE
000003e8: SWAP1
000003e9: PUSH2 0x3191
000003ec: JUMP
000003ed: JUMPDEST
000003ee: CALLVALUE
000003ef: PUSH2 0x02f0
000003f2: JUMPI
000003f3: PUSH1 0x20
000003f5: CALLDATASIZE
000003f6: PUSH1 0x03
000003f8: NOT
000003f9: ADD
000003fa: SLT
000003fb: PUSH2 0x02f0
000003fe: JUMPI
000003ff: PUSH1 0x04
00000401: CALLDATALOAD
00000402: PUSH1 0x01
00000404: PUSH1 0x01
00000406: PUSH1 0x40
00000408: SHL
00000409: SUB
0000040a: DUP2
0000040b: GT
0000040c: PUSH2 0x02f0
0000040f: JUMPI
00000410: PUSH2 0x03cf
00000413: PUSH2 0x0020
00000416: SWAP2
00000417: CALLDATASIZE
00000418: SWAP1
00000419: PUSH1 0x04
0000041b: ADD
0000041c: PUSH2 0x0374
0000041f: JUMP
00000420: JUMPDEST
00000421: CALLVALUE
00000422: PUSH2 0x02f0
00000425: JUMPI
00000426: PUSH0
00000427: CALLDATASIZE
00000428: PUSH1 0x03
0000042a: NOT
0000042b: ADD
0000042c: SLT
0000042d: PUSH2 0x02f0
00000430: JUMPI
00000431: PUSH1 0x20
00000433: PUSH2 0x0332
00000436: PUSH2 0x14f3
00000439: JUMP
0000043a: JUMPDEST
0000043b: CALLVALUE
0000043c: PUSH2 0x02f0
0000043f: JUMPI
00000440: PUSH0
00000441: CALLDATASIZE
00000442: PUSH1 0x03
00000444: NOT
00000445: ADD
00000446: SLT
00000447: PUSH2 0x02f0
0000044a: JUMPI
0000044b: PUSH1 0x20
0000044d: PUSH2 0x0454
00000450: PUSH2 0x1522
00000453: JUMP
00000454: JUMPDEST
00000455: PUSH1 0x40
00000457: MLOAD
00000458: PUSH1 0x01
0000045a: PUSH1 0x01
0000045c: PUSH1 0xa0
0000045e: SHL
0000045f: SUB
00000460: SWAP1
00000461: SWAP2
00000462: AND
00000463: DUP2
00000464: MSTORE
00000465: RETURN
00000466: JUMPDEST
00000467: CALLVALUE
00000468: PUSH2 0x02f0
0000046b: JUMPI
0000046c: PUSH0
0000046d: CALLDATASIZE
0000046e: PUSH1 0x03
00000470: NOT
00000471: ADD
00000472: SLT
00000473: PUSH2 0x02f0
00000476: JUMPI
00000477: PUSH1 0x20
00000479: PUSH1 0x40
0000047b: MLOAD
0000047c: PUSH32 0x2250bd18cc1a4ed1c5d180b9b913648e6054cdf2d614f9c25477c4ba18cc7ea0
0000049d: DUP2
0000049e: MSTORE
0000049f: RETURN
000004a0: JUMPDEST
000004a1: CALLVALUE
000004a2: PUSH2 0x02f0
000004a5: JUMPI
000004a6: PUSH0
000004a7: CALLDATASIZE
000004a8: PUSH1 0x03
000004aa: NOT
000004ab: ADD
000004ac: SLT
000004ad: PUSH2 0x02f0
000004b0: JUMPI
000004b1: PUSH1 0x20
000004b3: PUSH1 0x01
000004b5: PUSH1 0x01
000004b7: PUSH1 0x80
000004b9: SHL
000004ba: SUB
000004bb: PUSH1 0x98
000004bd: SLOAD
000004be: AND
000004bf: PUSH1 0x40
000004c1: MLOAD
000004c2: SWAP1
000004c3: DUP2
000004c4: MSTORE
000004c5: RETURN
000004c6: JUMPDEST
000004c7: SWAP1
000004c8: PUSH1 0x20
000004ca: PUSH1 0x03
000004cc: NOT
000004cd: DUP4
000004ce: ADD
000004cf: SLT
000004d0: PUSH2 0x02f0
000004d3: JUMPI
000004d4: PUSH1 0x04
000004d6: CALLDATALOAD
000004d7: PUSH1 0x01
000004d9: PUSH1 0x01
000004db: PUSH1 0x40
000004dd: SHL
000004de: SUB
000004df: SWAP3
000004e0: DUP4
000004e1: DUP3
000004e2: GT
000004e3: PUSH2 0x02f0
000004e6: JUMPI
000004e7: DUP1
000004e8: PUSH1 0x23
000004ea: DUP4
000004eb: ADD
000004ec: SLT
000004ed: ISZERO
000004ee: PUSH2 0x02f0
000004f1: JUMPI
000004f2: DUP2
000004f3: PUSH1 0x04
000004f5: ADD
000004f6: CALLDATALOAD
000004f7: SWAP4
000004f8: DUP5
000004f9: GT
000004fa: PUSH2 0x02f0
000004fd: JUMPI
000004fe: PUSH1 0x24
00000500: DUP5
00000501: DUP4
00000502: ADD
00000503: ADD
00000504: GT
00000505: PUSH2 0x02f0
00000508: JUMPI
00000509: PUSH1 0x24
0000050b: ADD
0000050c: SWAP2
0000050d: SWAP1
0000050e: JUMP
0000050f: JUMPDEST
00000510: PUSH2 0x0518
00000513: CALLDATASIZE
00000514: PUSH2 0x04c6
00000517: JUMP
00000518: JUMPDEST
00000519: SWAP1
0000051a: PUSH0
0000051b: DUP1
0000051c: MLOAD
0000051d: PUSH1 0x20
0000051f: PUSH2 0x39cf
00000522: DUP4
00000523: CODECOPY
00000524: DUP2
00000525: MLOAD
00000526: SWAP2
00000527: MSTORE
00000528: SLOAD
00000529: SWAP2
0000052a: PUSH1 0x01
0000052c: PUSH1 0x01
0000052e: PUSH1 0x40
00000530: SHL
00000531: SUB
00000532: PUSH1 0xff
00000534: DUP5
00000535: PUSH1 0x40
00000537: SHR
00000538: AND
00000539: ISZERO
0000053a: SWAP4
0000053b: AND
0000053c: DUP1
0000053d: ISZERO
0000053e: SWAP1
0000053f: DUP2
00000540: PUSH2 0x0620
00000543: JUMPI
00000544: JUMPDEST
00000545: PUSH1 0x01
00000547: EQ
00000548: SWAP1
00000549: DUP2
0000054a: PUSH2 0x0616
0000054d: JUMPI
0000054e: JUMPDEST
0000054f: ISZERO
00000550: SWAP1
00000551: DUP2
00000552: PUSH2 0x060d
00000555: JUMPI
00000556: JUMPDEST
00000557: POP
00000558: PUSH2 0x05fb
0000055b: JUMPI
0000055c: PUSH0
0000055d: DUP1
0000055e: MLOAD
0000055f: PUSH1 0x20
00000561: PUSH2 0x39cf
00000564: DUP4
00000565: CODECOPY
00000566: DUP2
00000567: MLOAD
00000568: SWAP2
00000569: MSTORE
0000056a: DUP1
0000056b: SLOAD
0000056c: PUSH8 0xffffffffffffffff
00000575: NOT
00000576: AND
00000577: PUSH1 0x01
00000579: OR
0000057a: SWAP1
0000057b: SSTORE
0000057c: PUSH2 0x0589
0000057f: SWAP2
00000580: DUP4
00000581: PUSH2 0x05d7
00000584: JUMPI
00000585: PUSH2 0x15b4
00000588: JUMP
00000589: JUMPDEST
0000058a: PUSH2 0x058f
0000058d: JUMPI
0000058e: STOP
0000058f: JUMPDEST
00000590: PUSH0
00000591: DUP1
00000592: MLOAD
00000593: PUSH1 0x20
00000595: PUSH2 0x39cf
00000598: DUP4
00000599: CODECOPY
0000059a: DUP2
0000059b: MLOAD
0000059c: SWAP2
0000059d: MSTORE
0000059e: DUP1
0000059f: SLOAD
000005a0: PUSH1 0xff
000005a2: PUSH1 0x40
000005a4: SHL
000005a5: NOT
000005a6: AND
000005a7: SWAP1
000005a8: SSTORE
000005a9: PUSH1 0x40
000005ab: MLOAD
000005ac: PUSH1 0x01
000005ae: DUP2
000005af: MSTORE
000005b0: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
000005d1: SWAP1
000005d2: PUSH1 0x20
000005d4: SWAP1
000005d5: LOG1
000005d6: STOP
000005d7: JUMPDEST
000005d8: PUSH0
000005d9: DUP1
000005da: MLOAD
000005db: PUSH1 0x20
000005dd: PUSH2 0x39cf
000005e0: DUP4
000005e1: CODECOPY
000005e2: DUP2
000005e3: MLOAD
000005e4: SWAP2
000005e5: MSTORE
000005e6: DUP1
000005e7: SLOAD
000005e8: PUSH1 0xff
000005ea: PUSH1 0x40
000005ec: SHL
000005ed: NOT
000005ee: AND
000005ef: PUSH1 0x01
000005f1: PUSH1 0x40
000005f3: SHL
000005f4: OR
000005f5: SWAP1
000005f6: SSTORE
000005f7: PUSH2 0x15b4
000005fa: JUMP
000005fb: JUMPDEST
000005fc: PUSH1 0x40
000005fe: MLOAD
000005ff: PUSH4 0xf92ee8a9
00000604: PUSH1 0xe0
00000606: SHL
00000607: DUP2
00000608: MSTORE
00000609: PUSH1 0x04
0000060b: SWAP1
0000060c: REVERT
0000060d: JUMPDEST
0000060e: SWAP1
0000060f: POP
00000610: ISZERO
00000611: PUSH0
00000612: PUSH2 0x0556
00000615: JUMP
00000616: JUMPDEST
00000617: ADDRESS
00000618: EXTCODESIZE
00000619: ISZERO
0000061a: SWAP2
0000061b: POP
0000061c: PUSH2 0x054e
0000061f: JUMP
00000620: JUMPDEST
00000621: DUP5
00000622: SWAP2
00000623: POP
00000624: PUSH2 0x0544
00000627: JUMP
00000628: JUMPDEST
00000629: CALLVALUE
0000062a: PUSH2 0x02f0
0000062d: JUMPI
0000062e: PUSH0
0000062f: CALLDATASIZE
00000630: PUSH1 0x03
00000632: NOT
00000633: ADD
00000634: SLT
00000635: PUSH2 0x02f0
00000638: JUMPI
00000639: PUSH1 0x65
0000063b: SLOAD
0000063c: PUSH1 0x40
0000063e: MLOAD
0000063f: PUSH1 0x01
00000641: PUSH1 0x01
00000643: PUSH1 0xa0
00000645: SHL
00000646: SUB
00000647: SWAP1
00000648: SWAP2
00000649: AND
0000064a: DUP2
0000064b: MSTORE
0000064c: PUSH1 0x20
0000064e: SWAP1
0000064f: RETURN
00000650: JUMPDEST
00000651: PUSH4 0x4e487b71
00000656: PUSH1 0xe0
00000658: SHL
00000659: PUSH0
0000065a: MSTORE
0000065b: PUSH1 0x41
0000065d: PUSH1 0x04
0000065f: MSTORE
00000660: PUSH1 0x24
00000662: PUSH0
00000663: REVERT
00000664: JUMPDEST
00000665: PUSH1 0x01
00000667: PUSH1 0x01
00000669: PUSH1 0x40
0000066b: SHL
0000066c: SUB
0000066d: DUP2
0000066e: GT
0000066f: PUSH2 0x0677
00000672: JUMPI
00000673: PUSH1 0x40
00000675: MSTORE
00000676: JUMP
00000677: JUMPDEST
00000678: PUSH2 0x0650
0000067b: JUMP
0000067c: JUMPDEST
0000067d: PUSH1 0xa0
0000067f: DUP2
00000680: ADD
00000681: SWAP1
00000682: DUP2
00000683: LT
00000684: PUSH1 0x01
00000686: PUSH1 0x01
00000688: PUSH1 0x40
0000068a: SHL
0000068b: SUB
0000068c: DUP3
0000068d: GT
0000068e: OR
0000068f: PUSH2 0x0677
00000692: JUMPI
00000693: PUSH1 0x40
00000695: MSTORE
00000696: JUMP
00000697: JUMPDEST
00000698: PUSH1 0x40
0000069a: DUP2
0000069b: ADD
0000069c: SWAP1
0000069d: DUP2
0000069e: LT
0000069f: PUSH1 0x01
000006a1: PUSH1 0x01
000006a3: PUSH1 0x40
000006a5: SHL
000006a6: SUB
000006a7: DUP3
000006a8: GT
000006a9: OR
000006aa: PUSH2 0x0677
000006ad: JUMPI
000006ae: PUSH1 0x40
000006b0: MSTORE
000006b1: JUMP
000006b2: JUMPDEST
000006b3: SWAP1
000006b4: PUSH1 0x1f
000006b6: DUP1
000006b7: NOT
000006b8: SWAP2
000006b9: ADD
000006ba: AND
000006bb: DUP2
000006bc: ADD
000006bd: SWAP1
000006be: DUP2
000006bf: LT
000006c0: PUSH1 0x01
000006c2: PUSH1 0x01
000006c4: PUSH1 0x40
000006c6: SHL
000006c7: SUB
000006c8: DUP3
000006c9: GT
000006ca: OR
000006cb: PUSH2 0x0677
000006ce: JUMPI
000006cf: PUSH1 0x40
000006d1: MSTORE
000006d2: JUMP
000006d3: JUMPDEST
000006d4: PUSH1 0x40
000006d6: MLOAD
000006d7: SWAP1
000006d8: PUSH2 0x06e0
000006db: DUP3
000006dc: PUSH2 0x0697
000006df: JUMP
000006e0: JUMPDEST
000006e1: JUMP
000006e2: JUMPDEST
000006e3: PUSH1 0x01
000006e5: PUSH1 0x01
000006e7: PUSH1 0x40
000006e9: SHL
000006ea: SUB
000006eb: DUP2
000006ec: GT
000006ed: PUSH2 0x0677
000006f0: JUMPI
000006f1: PUSH1 0x1f
000006f3: ADD
000006f4: PUSH1 0x1f
000006f6: NOT
000006f7: AND
000006f8: PUSH1 0x20
000006fa: ADD
000006fb: SWAP1
000006fc: JUMP
000006fd: JUMPDEST
000006fe: SWAP3
000006ff: SWAP2
00000700: SWAP3
00000701: PUSH2 0x0709
00000704: DUP3
00000705: PUSH2 0x06e2
00000708: JUMP
00000709: JUMPDEST
0000070a: SWAP2
0000070b: PUSH2 0x0717
0000070e: PUSH1 0x40
00000710: MLOAD
00000711: SWAP4
00000712: DUP5
00000713: PUSH2 0x06b2
00000716: JUMP
00000717: JUMPDEST
00000718: DUP3
00000719: SWAP5
0000071a: DUP2
0000071b: DUP5
0000071c: MSTORE
0000071d: DUP2
0000071e: DUP4
0000071f: ADD
00000720: GT
00000721: PUSH2 0x02f0
00000724: JUMPI
00000725: DUP3
00000726: DUP2
00000727: PUSH1 0x20
00000729: SWAP4
0000072a: DUP5
0000072b: PUSH0
0000072c: SWAP7
0000072d: ADD
0000072e: CALLDATACOPY
0000072f: ADD
00000730: ADD
00000731: MSTORE
00000732: JUMP
00000733: JUMPDEST
00000734: PUSH1 0x40
00000736: DUP1
00000737: PUSH1 0x03
00000739: NOT
0000073a: CALLDATASIZE
0000073b: ADD
0000073c: SLT
0000073d: PUSH2 0x02f0
00000740: JUMPI
00000741: PUSH1 0x04
00000743: SWAP1
00000744: DUP2
00000745: CALLDATALOAD
00000746: PUSH2 0x074e
00000749: DUP2
0000074a: PUSH2 0x0363
0000074d: JUMP
0000074e: JUMPDEST
0000074f: PUSH1 0x24
00000751: CALLDATALOAD
00000752: PUSH1 0x01
00000754: PUSH1 0x01
00000756: PUSH1 0x40
00000758: SHL
00000759: SUB
0000075a: DUP2
0000075b: GT
0000075c: PUSH2 0x02f0
0000075f: JUMPI
00000760: CALLDATASIZE
00000761: PUSH1 0x23
00000763: DUP3
00000764: ADD
00000765: SLT
00000766: ISZERO
00000767: PUSH2 0x02f0
0000076a: JUMPI
0000076b: PUSH2 0x077d
0000076e: SWAP1
0000076f: CALLDATASIZE
00000770: SWAP1
00000771: PUSH1 0x24
00000773: DUP2
00000774: DUP8
00000775: ADD
00000776: CALLDATALOAD
00000777: SWAP2
00000778: ADD
00000779: PUSH2 0x06fd
0000077c: JUMP
0000077d: JUMPDEST
0000077e: SWAP2
0000077f: PUSH2 0x0786
00000782: PUSH2 0x25f6
00000785: JUMP
00000786: JUMPDEST
00000787: DUP1
00000788: MLOAD
00000789: SWAP3
0000078a: PUSH2 0x07bd
0000078d: DUP5
0000078e: PUSH2 0x07af
00000791: PUSH1 0x20
00000793: SWAP4
00000794: PUSH4 0x439fab91
00000799: PUSH1 0xe0
0000079b: SHL
0000079c: DUP6
0000079d: DUP5
0000079e: ADD
0000079f: MSTORE
000007a0: DUP5
000007a1: PUSH1 0x24
000007a3: DUP5
000007a4: ADD
000007a5: MSTORE
000007a6: PUSH1 0x44
000007a8: DUP4
000007a9: ADD
000007aa: SWAP1
000007ab: PUSH2 0x0ed1
000007ae: JUMP
000007af: JUMPDEST
000007b0: SUB
000007b1: PUSH1 0x1f
000007b3: NOT
000007b4: DUP2
000007b5: ADD
000007b6: DUP7
000007b7: MSTORE
000007b8: DUP6
000007b9: PUSH2 0x06b2
000007bc: JUMP
000007bd: JUMPDEST
000007be: PUSH2 0x07c5
000007c1: PUSH2 0x25f6
000007c4: JUMP
000007c5: JUMPDEST
000007c6: PUSH2 0x07cd
000007c9: PUSH2 0x2a98
000007cc: JUMP
000007cd: JUMPDEST
000007ce: PUSH1 0x01
000007d0: PUSH1 0x01
000007d2: PUSH1 0xa0
000007d4: SHL
000007d5: SUB
000007d6: DUP4
000007d7: DUP2
000007d8: AND
000007d9: DUP1
000007da: ISZERO
000007db: SWAP3
000007dc: SWAP2
000007dd: SWAP1
000007de: DUP8
000007df: SWAP1
000007e0: DUP5
000007e1: ISZERO
000007e2: PUSH2 0x0999
000007e5: JUMPI
000007e6: JUMPDEST
000007e7: DUP5
000007e8: ISZERO
000007e9: PUSH2 0x091b
000007ec: JUMPI
000007ed: JUMPDEST
000007ee: DUP5
000007ef: ISZERO
000007f0: PUSH2 0x08b7
000007f3: JUMPI
000007f4: JUMPDEST
000007f5: POP
000007f6: POP
000007f7: DUP3
000007f8: ISZERO
000007f9: PUSH2 0x081c
000007fc: JUMPI
000007fd: JUMPDEST
000007fe: POP
000007ff: POP
00000800: PUSH2 0x080d
00000803: JUMPI
00000804: PUSH2 0x0020
00000807: DUP4
00000808: DUP4
00000809: PUSH2 0x350e
0000080c: JUMP
0000080d: JUMPDEST
0000080e: MLOAD
0000080f: PUSH4 0x55299b49
00000814: PUSH1 0xe0
00000816: SHL
00000817: DUP2
00000818: MSTORE
00000819: DUP4
0000081a: SWAP1
0000081b: REVERT
0000081c: JUMPDEST
0000081d: DUP4
0000081e: MLOAD
0000081f: PUSH4 0x45da87c5
00000824: PUSH1 0xe0
00000826: SHL
00000827: DUP2
00000828: MSTORE
00000829: PUSH1 0x01
0000082b: PUSH1 0x01
0000082d: PUSH1 0xa0
0000082f: SHL
00000830: SUB
00000831: DUP7
00000832: AND
00000833: DUP9
00000834: DUP3
00000835: ADD
00000836: SWAP1
00000837: DUP2
00000838: MSTORE
00000839: SWAP3
0000083a: SWAP4
0000083b: POP
0000083c: SWAP2
0000083d: DUP4
0000083e: SWAP2
0000083f: DUP4
00000840: SWAP2
00000841: DUP3
00000842: SWAP1
00000843: DUP2
00000844: SWAP1
00000845: PUSH1 0x20
00000847: ADD
00000848: SUB
00000849: SWAP2
0000084a: PUSH32 0x0000000000000000000000003a0008a588772446f6e656133c2d5029cc4fc20e
0000086b: AND
0000086c: GAS
0000086d: STATICCALL
0000086e: SWAP2
0000086f: DUP3
00000870: ISZERO
00000871: PUSH2 0x08b2
00000874: JUMPI
00000875: PUSH0
00000876: SWAP3
00000877: PUSH2 0x0885
0000087a: JUMPI
0000087b: JUMPDEST
0000087c: POP
0000087d: POP
0000087e: ISZERO
0000087f: PUSH0
00000880: DUP1
00000881: PUSH2 0x07fd
00000884: JUMP
00000885: JUMPDEST
00000886: PUSH2 0x08a4
00000889: SWAP3
0000088a: POP
0000088b: DUP1
0000088c: RETURNDATASIZE
0000088d: LT
0000088e: PUSH2 0x08ab
00000891: JUMPI
00000892: JUMPDEST
00000893: PUSH2 0x089c
00000896: DUP2
00000897: DUP4
00000898: PUSH2 0x06b2
0000089b: JUMP
0000089c: JUMPDEST
0000089d: DUP2
0000089e: ADD
0000089f: SWAP1
000008a0: PUSH2 0x16f0
000008a3: JUMP
000008a4: JUMPDEST
000008a5: PUSH0
000008a6: DUP1
000008a7: PUSH2 0x087b
000008aa: JUMP
000008ab: JUMPDEST
000008ac: POP
000008ad: RETURNDATASIZE
000008ae: PUSH2 0x0892
000008b1: JUMP
000008b2: JUMPDEST
000008b3: PUSH2 0x1705
000008b6: JUMP
000008b7: JUMPDEST
000008b8: DUP6
000008b9: MLOAD
000008ba: PUSH4 0x054fd4d5
000008bf: PUSH1 0xe4
000008c1: SHL
000008c2: DUP2
000008c3: MSTORE
000008c4: SWAP3
000008c5: SWAP5
000008c6: POP
000008c7: DUP4
000008c8: SWAP2
000008c9: DUP4
000008ca: SWAP2
000008cb: DUP3
000008cc: SWAP1
000008cd: GAS
000008ce: STATICCALL
000008cf: SWAP1
000008d0: DUP2
000008d1: ISZERO
000008d2: PUSH2 0x08b2
000008d5: JUMPI
000008d6: PUSH1 0x02
000008d8: SWAP2
000008d9: PUSH1 0xff
000008db: SWAP2
000008dc: PUSH0
000008dd: SWAP2
000008de: PUSH2 0x08ee
000008e1: JUMPI
000008e2: JUMPDEST
000008e3: POP
000008e4: AND
000008e5: EQ
000008e6: ISZERO
000008e7: SWAP2
000008e8: DUP7
000008e9: PUSH0
000008ea: PUSH2 0x07f4
000008ed: JUMP
000008ee: JUMPDEST
000008ef: PUSH2 0x090e
000008f2: SWAP2
000008f3: POP
000008f4: DUP5
000008f5: RETURNDATASIZE
000008f6: DUP7
000008f7: GT
000008f8: PUSH2 0x0914
000008fb: JUMPI
000008fc: JUMPDEST
000008fd: PUSH2 0x0906
00000900: DUP2
00000901: DUP4
00000902: PUSH2 0x06b2
00000905: JUMP
00000906: JUMPDEST
00000907: DUP2
00000908: ADD
00000909: SWAP1
0000090a: PUSH2 0x34f5
0000090d: JUMP
0000090e: JUMPDEST
0000090f: PUSH0
00000910: PUSH2 0x08e2
00000913: JUMP
00000914: JUMPDEST
00000915: POP
00000916: RETURNDATASIZE
00000917: PUSH2 0x08fc
0000091a: JUMP
0000091b: JUMPDEST
0000091c: SWAP4
0000091d: POP
0000091e: POP
0000091f: DUP4
00000920: MLOAD
00000921: PUSH4 0x198ca605
00000926: PUSH1 0xe1
00000928: SHL
00000929: DUP2
0000092a: MSTORE
0000092b: DUP3
0000092c: DUP2
0000092d: DUP10
0000092e: DUP2
0000092f: DUP8
00000930: GAS
00000931: STATICCALL
00000932: SWAP1
00000933: DUP2
00000934: ISZERO
00000935: PUSH2 0x08b2
00000938: JUMPI
00000939: DUP9
0000093a: SWAP2
0000093b: PUSH32 0x2250bd18cc1a4ed1c5d180b9b913648e6054cdf2d614f9c25477c4ba18cc7ea0
0000095c: SWAP2
0000095d: PUSH0
0000095e: SWAP2
0000095f: PUSH2 0x096c
00000962: JUMPI
00000963: JUMPDEST
00000964: POP
00000965: EQ
00000966: ISZERO
00000967: SWAP4
00000968: PUSH2 0x07ed
0000096b: JUMP
0000096c: JUMPDEST
0000096d: PUSH2 0x098c
00000970: SWAP2
00000971: POP
00000972: DUP6
00000973: RETURNDATASIZE
00000974: DUP8
00000975: GT
00000976: PUSH2 0x0992
00000979: JUMPI
0000097a: JUMPDEST
0000097b: PUSH2 0x0984
0000097e: DUP2
0000097f: DUP4
00000980: PUSH2 0x06b2
00000983: JUMP
00000984: JUMPDEST
00000985: DUP2
00000986: ADD
00000987: SWAP1
00000988: PUSH2 0x20e9
0000098b: JUMP
0000098c: JUMPDEST
0000098d: PUSH0
0000098e: PUSH2 0x0963
00000991: JUMP
00000992: JUMPDEST
00000993: POP
00000994: RETURNDATASIZE
00000995: PUSH2 0x097a
00000998: JUMP
00000999: JUMPDEST
0000099a: PUSH0
0000099b: DUP1
0000099c: MLOAD
0000099d: PUSH1 0x20
0000099f: PUSH2 0x39af
000009a2: DUP4
000009a3: CODECOPY
000009a4: DUP2
000009a5: MLOAD
000009a6: SWAP2
000009a7: MSTORE
000009a8: SLOAD
000009a9: SWAP1
000009aa: SWAP5
000009ab: POP
000009ac: DUP5
000009ad: SWAP1
000009ae: PUSH2 0x09c7
000009b1: SWAP1
000009b2: PUSH1 0x01
000009b4: PUSH1 0x01
000009b6: PUSH1 0xa0
000009b8: SHL
000009b9: SUB
000009ba: AND
000009bb: JUMPDEST
000009bc: PUSH1 0x01
000009be: PUSH1 0x01
000009c0: PUSH1 0xa0
000009c2: SHL
000009c3: SUB
000009c4: AND
000009c5: SWAP1
000009c6: JUMP
000009c7: JUMPDEST
000009c8: EQ
000009c9: SWAP4
000009ca: PUSH2 0x07e6
000009cd: JUMP
000009ce: JUMPDEST
000009cf: CALLVALUE
000009d0: PUSH2 0x02f0
000009d3: JUMPI
000009d4: PUSH1 0x20
000009d6: CALLDATASIZE
000009d7: PUSH1 0x03
000009d9: NOT
000009da: ADD
000009db: SLT
000009dc: PUSH2 0x02f0
000009df: JUMPI
000009e0: PUSH1 0x04
000009e2: CALLDATALOAD
000009e3: PUSH1 0x01
000009e5: PUSH1 0x01
000009e7: PUSH1 0xa0
000009e9: SHL
000009ea: SUB
000009eb: PUSH2 0x09f2
000009ee: PUSH2 0x16d1
000009f1: JUMP
000009f2: JUMPDEST
000009f3: AND
000009f4: CALLER
000009f5: SUB
000009f6: PUSH2 0x0a28
000009f9: JUMPI
000009fa: DUP1
000009fb: PUSH1 0xd0
000009fd: SSTORE
000009fe: PUSH0
000009ff: PUSH1 0xd1
00000a01: SSTORE
00000a02: CALLER
00000a03: PUSH32 0xbe9758e2d6800505eeb0292a08fe647c52762ccea131177456e7062dd77b4106
00000a24: PUSH0
00000a25: DUP1
00000a26: LOG3
00000a27: STOP
00000a28: JUMPDEST
00000a29: PUSH1 0x40
00000a2b: MLOAD
00000a2c: PUSH4 0x4ca88867
00000a31: PUSH1 0xe0
00000a33: SHL
00000a34: DUP2
00000a35: MSTORE
00000a36: PUSH1 0x04
00000a38: SWAP1
00000a39: REVERT
00000a3a: JUMPDEST
00000a3b: CALLVALUE
00000a3c: PUSH2 0x02f0
00000a3f: JUMPI
00000a40: PUSH0
00000a41: CALLDATASIZE
00000a42: PUSH1 0x03
00000a44: NOT
00000a45: ADD
00000a46: SLT
00000a47: PUSH2 0x02f0
00000a4a: JUMPI
00000a4b: PUSH32 0x000000000000000000000000aeae7d602b537b2065f3da05dcce754fb23a968d
00000a6c: PUSH1 0x01
00000a6e: PUSH1 0x01
00000a70: PUSH1 0xa0
00000a72: SHL
00000a73: SUB
00000a74: AND
00000a75: ADDRESS
00000a76: SUB
00000a77: PUSH2 0x0a91
00000a7a: JUMPI
00000a7b: PUSH1 0x20
00000a7d: PUSH1 0x40
00000a7f: MLOAD
00000a80: PUSH0
00000a81: DUP1
00000a82: MLOAD
00000a83: PUSH1 0x20
00000a85: PUSH2 0x39af
00000a88: DUP4
00000a89: CODECOPY
00000a8a: DUP2
00000a8b: MLOAD
00000a8c: SWAP2
00000a8d: MSTORE
00000a8e: DUP2
00000a8f: MSTORE
00000a90: RETURN
00000a91: JUMPDEST
00000a92: PUSH1 0x40
00000a94: MLOAD
00000a95: PUSH4 0x703e46dd
00000a9a: PUSH1 0xe1
00000a9c: SHL
00000a9d: DUP2
00000a9e: MSTORE
00000a9f: PUSH1 0x04
00000aa1: SWAP1
00000aa2: REVERT
00000aa3: JUMPDEST
00000aa4: PUSH0
00000aa5: CALLDATASIZE
00000aa6: PUSH1 0x03
00000aa8: NOT
00000aa9: ADD
00000aaa: SLT
00000aab: PUSH2 0x02f0
00000aae: JUMPI
00000aaf: PUSH1 0x01
00000ab1: PUSH1 0x01
00000ab3: PUSH1 0xa0
00000ab5: SHL
00000ab6: SUB
00000ab7: PUSH2 0x0abe
00000aba: PUSH2 0x1522
00000abd: JUMP
00000abe: JUMPDEST
00000abf: AND
00000ac0: CALLER
00000ac1: SUB
00000ac2: PUSH2 0x0a28
00000ac5: JUMPI
00000ac6: STOP
00000ac7: JUMPDEST
00000ac8: CALLVALUE
00000ac9: PUSH2 0x02f0
00000acc: JUMPI
00000acd: PUSH0
00000ace: CALLDATASIZE
00000acf: PUSH1 0x03
00000ad1: NOT
00000ad2: ADD
00000ad3: SLT
00000ad4: PUSH2 0x02f0
00000ad7: JUMPI
00000ad8: PUSH1 0x20
00000ada: PUSH1 0x40
00000adc: MLOAD
00000add: PUSH1 0x01
00000adf: DUP2
00000ae0: MSTORE
00000ae1: RETURN
00000ae2: JUMPDEST
00000ae3: CALLVALUE
00000ae4: PUSH2 0x02f0
00000ae7: JUMPI
00000ae8: PUSH0
00000ae9: CALLDATASIZE
00000aea: PUSH1 0x03
00000aec: NOT
00000aed: ADD
00000aee: SLT
00000aef: PUSH2 0x02f0
00000af2: JUMPI
00000af3: PUSH0
00000af4: DUP1
00000af5: MLOAD
00000af6: PUSH1 0x20
00000af8: PUSH2 0x39af
00000afb: DUP4
00000afc: CODECOPY
00000afd: DUP2
00000afe: MLOAD
00000aff: SWAP2
00000b00: MSTORE
00000b01: SLOAD
00000b02: PUSH1 0x40
00000b04: MLOAD
00000b05: PUSH1 0x01
00000b07: PUSH1 0x01
00000b09: PUSH1 0xa0
00000b0b: SHL
00000b0c: SUB
00000b0d: SWAP1
00000b0e: SWAP2
00000b0f: AND
00000b10: DUP2
00000b11: MSTORE
00000b12: PUSH1 0x20
00000b14: SWAP1
00000b15: RETURN
00000b16: JUMPDEST
00000b17: CALLVALUE
00000b18: PUSH2 0x02f0
00000b1b: JUMPI
00000b1c: PUSH0
00000b1d: CALLDATASIZE
00000b1e: PUSH1 0x03
00000b20: NOT
00000b21: ADD
00000b22: SLT
00000b23: PUSH2 0x02f0
00000b26: JUMPI
00000b27: PUSH1 0x20
00000b29: PUSH2 0x0332
00000b2c: PUSH2 0x16c3
00000b2f: JUMP
00000b30: JUMPDEST
00000b31: CALLVALUE
00000b32: PUSH2 0x02f0
00000b35: JUMPI
00000b36: PUSH0
00000b37: CALLDATASIZE
00000b38: PUSH1 0x03
00000b3a: NOT
00000b3b: ADD
00000b3c: SLT
00000b3d: PUSH2 0x02f0
00000b40: JUMPI
00000b41: PUSH1 0x20
00000b43: PUSH2 0x0454
00000b46: PUSH2 0x16d1
00000b49: JUMP
00000b4a: JUMPDEST
00000b4b: CALLVALUE
00000b4c: PUSH2 0x02f0
00000b4f: JUMPI
00000b50: PUSH1 0x20
00000b52: CALLDATASIZE
00000b53: PUSH1 0x03
00000b55: NOT
00000b56: ADD
00000b57: SLT
00000b58: PUSH2 0x02f0
00000b5b: JUMPI
00000b5c: PUSH1 0x9a
00000b5e: DUP1
00000b5f: SLOAD
00000b60: SWAP1
00000b61: DUP2
00000b62: SWAP1
00000b63: PUSH0
00000b64: PUSH1 0x04
00000b66: CALLDATALOAD
00000b67: JUMPDEST
00000b68: DUP5
00000b69: DUP3
00000b6a: LT
00000b6b: PUSH2 0x0b9c
00000b6e: JUMPI
00000b6f: POP
00000b70: POP
00000b71: POP
00000b72: DUP2
00000b73: LT
00000b74: ISZERO
00000b75: PUSH2 0x0b91
00000b78: JUMPI
00000b79: PUSH2 0x0b8d
00000b7c: SWAP1
00000b7d: JUMPDEST
00000b7e: PUSH1 0x40
00000b80: MLOAD
00000b81: SWAP1
00000b82: DUP2
00000b83: MSTORE
00000b84: SWAP1
00000b85: DUP2
00000b86: SWAP1
00000b87: PUSH1 0x20
00000b89: DUP3
00000b8a: ADD
00000b8b: SWAP1
00000b8c: JUMP
00000b8d: JUMPDEST
00000b8e: SUB
00000b8f: SWAP1
00000b90: RETURN
00000b91: JUMPDEST
00000b92: POP
00000b93: PUSH2 0x0b8d
00000b96: PUSH0
00000b97: NOT
00000b98: PUSH2 0x0b7d
00000b9b: JUMP
00000b9c: JUMPDEST
00000b9d: SWAP1
00000b9e: SWAP2
00000b9f: SWAP4
00000ba0: DUP1
00000ba1: DUP4
00000ba2: AND
00000ba3: SWAP1
00000ba4: PUSH1 0x01
00000ba6: DUP2
00000ba7: DUP6
00000ba8: XOR
00000ba9: DUP2
00000baa: SHR
00000bab: DUP4
00000bac: ADD
00000bad: DUP1
00000bae: SWAP4
00000baf: GT
00000bb0: PUSH2 0x0bee
00000bb3: JUMPI
00000bb4: PUSH0
00000bb5: DUP8
00000bb6: SWAP1
00000bb7: MSTORE
00000bb8: PUSH0
00000bb9: DUP1
00000bba: MLOAD
00000bbb: PUSH1 0x20
00000bbd: PUSH2 0x398f
00000bc0: DUP4
00000bc1: CODECOPY
00000bc2: DUP2
00000bc3: MLOAD
00000bc4: SWAP2
00000bc5: MSTORE
00000bc6: DUP4
00000bc7: ADD
00000bc8: SLOAD
00000bc9: PUSH1 0x01
00000bcb: PUSH1 0x01
00000bcd: PUSH1 0xa0
00000bcf: SHL
00000bd0: SUB
00000bd1: AND
00000bd2: DUP5
00000bd3: LT
00000bd4: ISZERO
00000bd5: PUSH2 0x0be3
00000bd8: JUMPI
00000bd9: POP
00000bda: POP
00000bdb: SWAP4
00000bdc: JUMPDEST
00000bdd: SWAP2
00000bde: SWAP1
00000bdf: PUSH2 0x0b67
00000be2: JUMP
00000be3: JUMPDEST
00000be4: SWAP1
00000be5: SWAP6
00000be6: SWAP2
00000be7: ADD
00000be8: SWAP3
00000be9: POP
00000bea: PUSH2 0x0bdc
00000bed: JUMP
00000bee: JUMPDEST
00000bef: PUSH2 0x1710
00000bf2: JUMP
00000bf3: JUMPDEST
00000bf4: CALLVALUE
00000bf5: PUSH2 0x02f0
00000bf8: JUMPI
00000bf9: PUSH0
00000bfa: CALLDATASIZE
00000bfb: PUSH1 0x03
00000bfd: NOT
00000bfe: ADD
00000bff: SLT
00000c00: PUSH2 0x02f0
00000c03: JUMPI
00000c04: PUSH1 0x40
00000c06: MLOAD
00000c07: PUSH4 0x3eb1acf7
00000c0c: PUSH1 0xe1
00000c0e: SHL
00000c0f: DUP2
00000c10: MSTORE
00000c11: ADDRESS
00000c12: PUSH1 0x04
00000c14: DUP3
00000c15: ADD
00000c16: MSTORE
00000c17: PUSH1 0x20
00000c19: DUP2
00000c1a: PUSH1 0x24
00000c1c: DUP2
00000c1d: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00000c3e: PUSH1 0x01
00000c40: PUSH1 0x01
00000c42: PUSH1 0xa0
00000c44: SHL
00000c45: SUB
00000c46: AND
00000c47: GAS
00000c48: STATICCALL
00000c49: DUP1
00000c4a: ISZERO
00000c4b: PUSH2 0x08b2
00000c4e: JUMPI
00000c4f: PUSH1 0x20
00000c51: SWAP2
00000c52: PUSH0
00000c53: SWAP2
00000c54: PUSH2 0x0c63
00000c57: JUMPI
00000c58: JUMPDEST
00000c59: POP
00000c5a: PUSH1 0x40
00000c5c: MLOAD
00000c5d: SWAP1
00000c5e: ISZERO
00000c5f: ISZERO
00000c60: DUP2
00000c61: MSTORE
00000c62: RETURN
00000c63: JUMPDEST
00000c64: PUSH2 0x0c7a
00000c67: SWAP2
00000c68: POP
00000c69: DUP3
00000c6a: RETURNDATASIZE
00000c6b: DUP5
00000c6c: GT
00000c6d: PUSH2 0x08ab
00000c70: JUMPI
00000c71: PUSH2 0x089c
00000c74: DUP2
00000c75: DUP4
00000c76: PUSH2 0x06b2
00000c79: JUMP
00000c7a: JUMPDEST
00000c7b: PUSH0
00000c7c: PUSH2 0x0c58
00000c7f: JUMP
00000c80: JUMPDEST
00000c81: CALLVALUE
00000c82: PUSH2 0x02f0
00000c85: JUMPI
00000c86: PUSH1 0x80
00000c88: CALLDATASIZE
00000c89: PUSH1 0x03
00000c8b: NOT
00000c8c: ADD
00000c8d: SLT
00000c8e: PUSH2 0x02f0
00000c91: JUMPI
00000c92: PUSH2 0x0b8d
00000c95: PUSH2 0x0cb4
00000c98: PUSH1 0x04
00000c9a: CALLDATALOAD
00000c9b: PUSH2 0x0ca3
00000c9e: DUP2
00000c9f: PUSH2 0x0363
00000ca2: JUMP
00000ca3: JUMPDEST
00000ca4: PUSH1 0x64
00000ca6: CALLDATALOAD
00000ca7: SWAP1
00000ca8: PUSH1 0x44
00000caa: CALLDATALOAD
00000cab: SWAP1
00000cac: PUSH1 0x24
00000cae: CALLDATALOAD
00000caf: SWAP1
00000cb0: PUSH2 0x1731
00000cb3: JUMP
00000cb4: JUMPDEST
00000cb5: PUSH1 0x40
00000cb7: DUP1
00000cb8: MLOAD
00000cb9: SWAP4
00000cba: DUP5
00000cbb: MSTORE
00000cbc: PUSH1 0x20
00000cbe: DUP5
00000cbf: ADD
00000cc0: SWAP3
00000cc1: SWAP1
00000cc2: SWAP3
00000cc3: MSTORE
00000cc4: SWAP1
00000cc5: DUP3
00000cc6: ADD
00000cc7: MSTORE
00000cc8: SWAP1
00000cc9: DUP2
00000cca: SWAP1
00000ccb: PUSH1 0x60
00000ccd: DUP3
00000cce: ADD
00000ccf: SWAP1
00000cd0: JUMP
00000cd1: JUMPDEST
00000cd2: CALLVALUE
00000cd3: PUSH2 0x02f0
00000cd6: JUMPI
00000cd7: PUSH1 0x40
00000cd9: CALLDATASIZE
00000cda: PUSH1 0x03
00000cdc: NOT
00000cdd: ADD
00000cde: SLT
00000cdf: PUSH2 0x02f0
00000ce2: JUMPI
00000ce3: PUSH1 0x20
00000ce5: PUSH2 0x0332
00000ce8: PUSH1 0x24
00000cea: CALLDATALOAD
00000ceb: PUSH2 0x0cf3
00000cee: DUP2
00000cef: PUSH2 0x0363
00000cf2: JUMP
00000cf3: JUMPDEST
00000cf4: PUSH1 0x04
00000cf6: CALLDATALOAD
00000cf7: CALLER
00000cf8: PUSH2 0x281f
00000cfb: JUMP
00000cfc: JUMPDEST
00000cfd: CALLVALUE
00000cfe: PUSH2 0x02f0
00000d01: JUMPI
00000d02: PUSH0
00000d03: CALLDATASIZE
00000d04: PUSH1 0x03
00000d06: NOT
00000d07: ADD
00000d08: SLT
00000d09: PUSH2 0x02f0
00000d0c: JUMPI
00000d0d: PUSH1 0x20
00000d0f: PUSH2 0xffff
00000d12: PUSH1 0x65
00000d14: SLOAD
00000d15: PUSH1 0xa0
00000d17: SHR
00000d18: AND
00000d19: PUSH1 0x40
00000d1b: MLOAD
00000d1c: SWAP1
00000d1d: DUP2
00000d1e: MSTORE
00000d1f: RETURN
00000d20: JUMPDEST
00000d21: CALLVALUE
00000d22: PUSH2 0x02f0
00000d25: JUMPI
00000d26: PUSH1 0x60
00000d28: CALLDATASIZE
00000d29: PUSH1 0x03
00000d2b: NOT
00000d2c: ADD
00000d2d: SLT
00000d2e: PUSH2 0x02f0
00000d31: JUMPI
00000d32: PUSH2 0x0b8d
00000d35: PUSH2 0x0cb4
00000d38: PUSH1 0x44
00000d3a: CALLDATALOAD
00000d3b: PUSH1 0x24
00000d3d: CALLDATALOAD
00000d3e: PUSH1 0x04
00000d40: CALLDATALOAD
00000d41: PUSH2 0x17c4
00000d44: JUMP
00000d45: JUMPDEST
00000d46: CALLVALUE
00000d47: PUSH2 0x02f0
00000d4a: JUMPI
00000d4b: PUSH1 0x40
00000d4d: CALLDATASIZE
00000d4e: PUSH1 0x03
00000d50: NOT
00000d51: ADD
00000d52: SLT
00000d53: PUSH2 0x02f0
00000d56: JUMPI
00000d57: PUSH1 0x20
00000d59: PUSH2 0x0332
00000d5c: PUSH1 0x24
00000d5e: CALLDATALOAD
00000d5f: PUSH2 0x0d67
00000d62: DUP2
00000d63: PUSH2 0x0363
00000d66: JUMP
00000d67: JUMPDEST
00000d68: PUSH1 0x04
00000d6a: CALLDATALOAD
00000d6b: CALLER
00000d6c: PUSH2 0x29c5
00000d6f: JUMP
00000d70: JUMPDEST
00000d71: CALLVALUE
00000d72: PUSH2 0x02f0
00000d75: JUMPI
00000d76: PUSH0
00000d77: CALLDATASIZE
00000d78: PUSH1 0x03
00000d7a: NOT
00000d7b: ADD
00000d7c: SLT
00000d7d: PUSH2 0x02f0
00000d80: JUMPI
00000d81: PUSH1 0x20
00000d83: PUSH1 0xd0
00000d85: SLOAD
00000d86: PUSH1 0x40
00000d88: MLOAD
00000d89: SWAP1
00000d8a: DUP2
00000d8b: MSTORE
00000d8c: RETURN
00000d8d: JUMPDEST
00000d8e: CALLVALUE
00000d8f: PUSH2 0x02f0
00000d92: JUMPI
00000d93: PUSH0
00000d94: CALLDATASIZE
00000d95: PUSH1 0x03
00000d97: NOT
00000d98: ADD
00000d99: SLT
00000d9a: PUSH2 0x02f0
00000d9d: JUMPI
00000d9e: PUSH1 0x20
00000da0: PUSH1 0xd1
00000da2: SLOAD
00000da3: PUSH1 0x40
00000da5: MLOAD
00000da6: SWAP1
00000da7: DUP2
00000da8: MSTORE
00000da9: RETURN
00000daa: JUMPDEST
00000dab: CALLVALUE
00000dac: PUSH2 0x02f0
00000daf: JUMPI
00000db0: PUSH2 0x0dfc
00000db3: PUSH32 0x2013570c343af8ab14a9778150e381a0fda34ed6368127a95fd5e7210cbec5bf
00000dd4: PUSH2 0x0ddc
00000dd7: CALLDATASIZE
00000dd8: PUSH2 0x04c6
00000ddb: JUMP
00000ddc: JUMPDEST
00000ddd: SWAP3
00000dde: SWAP1
00000ddf: PUSH2 0x0de6
00000de2: PUSH2 0x2a98
00000de5: JUMP
00000de6: JUMPDEST
00000de7: PUSH1 0x40
00000de9: MLOAD
00000dea: SWAP2
00000deb: DUP3
00000dec: SWAP2
00000ded: PUSH1 0x20
00000def: DUP4
00000df0: MSTORE
00000df1: CALLER
00000df2: SWAP6
00000df3: PUSH1 0x20
00000df5: DUP5
00000df6: ADD
00000df7: SWAP2
00000df8: PUSH2 0x196c
00000dfb: JUMP
00000dfc: JUMPDEST
00000dfd: SUB
00000dfe: SWAP1
00000dff: LOG2
00000e00: STOP
00000e01: JUMPDEST
00000e02: CALLVALUE
00000e03: PUSH2 0x02f0
00000e06: JUMPI
00000e07: PUSH1 0x20
00000e09: CALLDATASIZE
00000e0a: PUSH1 0x03
00000e0c: NOT
00000e0d: ADD
00000e0e: SLT
00000e0f: PUSH2 0x02f0
00000e12: JUMPI
00000e13: PUSH1 0x04
00000e15: CALLDATALOAD
00000e16: PUSH2 0x0e1e
00000e19: DUP2
00000e1a: PUSH2 0x0363
00000e1d: JUMP
00000e1e: JUMPDEST
00000e1f: PUSH2 0x0e26
00000e22: PUSH2 0x2a98
00000e25: JUMP
00000e26: JUMPDEST
00000e27: PUSH1 0x01
00000e29: PUSH1 0x01
00000e2b: PUSH1 0xa0
00000e2d: SHL
00000e2e: SUB
00000e2f: AND
00000e30: DUP1
00000e31: ISZERO
00000e32: PUSH2 0x0e6e
00000e35: JUMPI
00000e36: PUSH1 0xd2
00000e38: DUP1
00000e39: SLOAD
00000e3a: PUSH1 0x01
00000e3c: PUSH1 0x01
00000e3e: PUSH1 0xa0
00000e40: SHL
00000e41: SUB
00000e42: NOT
00000e43: AND
00000e44: DUP3
00000e45: OR
00000e46: SWAP1
00000e47: SSTORE
00000e48: CALLER
00000e49: PUSH32 0xb710e1d0ebf395f895942ac4e559a4a86d57f748a90cf05e9d70798c67e9c65b
00000e6a: PUSH0
00000e6b: DUP1
00000e6c: LOG3
00000e6d: STOP
00000e6e: JUMPDEST
00000e6f: PUSH1 0x40
00000e71: MLOAD
00000e72: PUSH4 0xd92e233d
00000e77: PUSH1 0xe0
00000e79: SHL
00000e7a: DUP2
00000e7b: MSTORE
00000e7c: PUSH1 0x04
00000e7e: SWAP1
00000e7f: REVERT
00000e80: JUMPDEST
00000e81: SWAP2
00000e82: DUP2
00000e83: PUSH1 0x1f
00000e85: DUP5
00000e86: ADD
00000e87: SLT
00000e88: ISZERO
00000e89: PUSH2 0x02f0
00000e8c: JUMPI
00000e8d: DUP3
00000e8e: CALLDATALOAD
00000e8f: SWAP2
00000e90: PUSH1 0x01
00000e92: PUSH1 0x01
00000e94: PUSH1 0x40
00000e96: SHL
00000e97: SUB
00000e98: DUP4
00000e99: GT
00000e9a: PUSH2 0x02f0
00000e9d: JUMPI
00000e9e: PUSH1 0x20
00000ea0: DUP1
00000ea1: DUP6
00000ea2: ADD
00000ea3: SWAP5
00000ea4: DUP5
00000ea5: PUSH1 0x05
00000ea7: SHL
00000ea8: ADD
00000ea9: ADD
00000eaa: GT
00000eab: PUSH2 0x02f0
00000eae: JUMPI
00000eaf: JUMP
00000eb0: JUMPDEST
00000eb1: PUSH0
00000eb2: JUMPDEST
00000eb3: DUP4
00000eb4: DUP2
00000eb5: LT
00000eb6: PUSH2 0x0ec1
00000eb9: JUMPI
00000eba: POP
00000ebb: POP
00000ebc: PUSH0
00000ebd: SWAP2
00000ebe: ADD
00000ebf: MSTORE
00000ec0: JUMP
00000ec1: JUMPDEST
00000ec2: DUP2
00000ec3: DUP2
00000ec4: ADD
00000ec5: MLOAD
00000ec6: DUP4
00000ec7: DUP3
00000ec8: ADD
00000ec9: MSTORE
00000eca: PUSH1 0x20
00000ecc: ADD
00000ecd: PUSH2 0x0eb2
00000ed0: JUMP
00000ed1: JUMPDEST
00000ed2: SWAP1
00000ed3: PUSH1 0x20
00000ed5: SWAP2
00000ed6: PUSH2 0x0eea
00000ed9: DUP2
00000eda: MLOAD
00000edb: DUP1
00000edc: SWAP3
00000edd: DUP2
00000ede: DUP6
00000edf: MSTORE
00000ee0: DUP6
00000ee1: DUP1
00000ee2: DUP7
00000ee3: ADD
00000ee4: SWAP2
00000ee5: ADD
00000ee6: PUSH2 0x0eb0
00000ee9: JUMP
00000eea: JUMPDEST
00000eeb: PUSH1 0x1f
00000eed: ADD
00000eee: PUSH1 0x1f
00000ef0: NOT
00000ef1: AND
00000ef2: ADD
00000ef3: ADD
00000ef4: SWAP1
00000ef5: JUMP
00000ef6: JUMPDEST
00000ef7: PUSH1 0x20
00000ef9: DUP1
00000efa: DUP3
00000efb: ADD
00000efc: SWAP1
00000efd: PUSH1 0x20
00000eff: DUP4
00000f00: MSTORE
00000f01: DUP4
00000f02: MLOAD
00000f03: DUP1
00000f04: SWAP3
00000f05: MSTORE
00000f06: PUSH1 0x40
00000f08: DUP4
00000f09: ADD
00000f0a: SWAP3
00000f0b: PUSH1 0x20
00000f0d: PUSH1 0x40
00000f0f: DUP5
00000f10: PUSH1 0x05
00000f12: SHL
00000f13: DUP4
00000f14: ADD
00000f15: ADD
00000f16: SWAP6
00000f17: ADD
00000f18: SWAP4
00000f19: PUSH0
00000f1a: SWAP2
00000f1b: JUMPDEST
00000f1c: DUP5
00000f1d: DUP4
00000f1e: LT
00000f1f: PUSH2 0x0f2b
00000f22: JUMPI
00000f23: POP
00000f24: POP
00000f25: POP
00000f26: POP
00000f27: POP
00000f28: POP
00000f29: SWAP1
00000f2a: JUMP
00000f2b: JUMPDEST
00000f2c: SWAP1
00000f2d: SWAP2
00000f2e: SWAP3
00000f2f: SWAP4
00000f30: SWAP5
00000f31: SWAP6
00000f32: DUP5
00000f33: DUP1
00000f34: PUSH2 0x0f49
00000f37: PUSH1 0x01
00000f39: SWAP4
00000f3a: PUSH1 0x3f
00000f3c: NOT
00000f3d: DUP7
00000f3e: DUP3
00000f3f: SUB
00000f40: ADD
00000f41: DUP8
00000f42: MSTORE
00000f43: DUP11
00000f44: MLOAD
00000f45: PUSH2 0x0ed1
00000f48: JUMP
00000f49: JUMPDEST
00000f4a: SWAP9
00000f4b: ADD
00000f4c: SWAP4
00000f4d: ADD
00000f4e: SWAP4
00000f4f: ADD
00000f50: SWAP2
00000f51: SWAP5
00000f52: SWAP4
00000f53: SWAP3
00000f54: SWAP1
00000f55: PUSH2 0x0f1b
00000f58: JUMP
00000f59: JUMPDEST
00000f5a: CALLVALUE
00000f5b: PUSH2 0x02f0
00000f5e: JUMPI
00000f5f: PUSH1 0x20
00000f61: CALLDATASIZE
00000f62: PUSH1 0x03
00000f64: NOT
00000f65: ADD
00000f66: SLT
00000f67: PUSH2 0x02f0
00000f6a: JUMPI
00000f6b: PUSH1 0x04
00000f6d: DUP1
00000f6e: CALLDATALOAD
00000f6f: PUSH1 0x01
00000f71: PUSH1 0x01
00000f73: PUSH1 0x40
00000f75: SHL
00000f76: SUB
00000f77: DUP2
00000f78: GT
00000f79: PUSH2 0x02f0
00000f7c: JUMPI
00000f7d: PUSH2 0x0f8a
00000f80: SWAP1
00000f81: CALLDATASIZE
00000f82: SWAP1
00000f83: PUSH1 0x04
00000f85: ADD
00000f86: PUSH2 0x0e80
00000f89: JUMP
00000f8a: JUMPDEST
00000f8b: SWAP2
00000f8c: PUSH2 0x0f94
00000f8f: DUP4
00000f90: PUSH2 0x19a3
00000f93: JUMP
00000f94: JUMPDEST
00000f95: SWAP3
00000f96: PUSH0
00000f97: JUMPDEST
00000f98: DUP2
00000f99: DUP2
00000f9a: LT
00000f9b: PUSH2 0x0fac
00000f9e: JUMPI
00000f9f: PUSH1 0x40
00000fa1: MLOAD
00000fa2: DUP1
00000fa3: PUSH2 0x0b8d
00000fa6: DUP8
00000fa7: DUP3
00000fa8: PUSH2 0x0ef6
00000fab: JUMP
00000fac: JUMPDEST
00000fad: PUSH0
00000fae: DUP1
00000faf: PUSH2 0x0fb9
00000fb2: DUP4
00000fb3: DUP6
00000fb4: DUP9
00000fb5: PUSH2 0x1a32
00000fb8: JUMP
00000fb9: JUMPDEST
00000fba: PUSH1 0x40
00000fbc: SWAP4
00000fbd: SWAP2
00000fbe: PUSH2 0x0fcb
00000fc1: DUP6
00000fc2: MLOAD
00000fc3: DUP1
00000fc4: SWAP4
00000fc5: DUP2
00000fc6: SWAP4
00000fc7: PUSH2 0x1a52
00000fca: JUMP
00000fcb: JUMPDEST
00000fcc: SUB
00000fcd: SWAP1
00000fce: ADDRESS
00000fcf: GAS
00000fd0: DELEGATECALL
00000fd1: SWAP1
00000fd2: PUSH2 0x0fd9
00000fd5: PUSH2 0x1a5f
00000fd8: JUMP
00000fd9: JUMPDEST
00000fda: SWAP2
00000fdb: ISZERO
00000fdc: PUSH2 0x1000
00000fdf: JUMPI
00000fe0: POP
00000fe1: SWAP1
00000fe2: PUSH1 0x01
00000fe4: SWAP2
00000fe5: PUSH2 0x0fee
00000fe8: DUP3
00000fe9: DUP9
00000fea: PUSH2 0x1af9
00000fed: JUMP
00000fee: JUMPDEST
00000fef: MSTORE
00000ff0: PUSH2 0x0ff9
00000ff3: DUP2
00000ff4: DUP8
00000ff5: PUSH2 0x1af9
00000ff8: JUMP
00000ff9: JUMPDEST
00000ffa: POP
00000ffb: ADD
00000ffc: PUSH2 0x0f97
00000fff: JUMP
00001000: JUMPDEST
00001001: DUP5
00001002: DUP3
00001003: PUSH1 0x44
00001005: DUP2
00001006: MLOAD
00001007: LT
00001008: PUSH2 0x02f0
0000100b: JUMPI
0000100c: PUSH2 0x1024
0000100f: DUP2
00001010: DUP4
00001011: PUSH2 0x1039
00001014: SWAP4
00001015: ADD
00001016: MLOAD
00001017: PUSH1 0x24
00001019: DUP1
0000101a: SWAP2
0000101b: DUP4
0000101c: ADD
0000101d: ADD
0000101e: SWAP2
0000101f: ADD
00001020: PUSH2 0x1a8e
00001023: JUMP
00001024: JUMPDEST
00001025: SWAP3
00001026: MLOAD
00001027: PUSH3 0x461bcd
0000102b: PUSH1 0xe5
0000102d: SHL
0000102e: DUP2
0000102f: MSTORE
00001030: SWAP3
00001031: DUP4
00001032: SWAP3
00001033: DUP4
00001034: ADD
00001035: PUSH2 0x103d
00001038: JUMP
00001039: JUMPDEST
0000103a: SUB
0000103b: SWAP1
0000103c: REVERT
0000103d: JUMPDEST
0000103e: SWAP1
0000103f: PUSH1 0x20
00001041: PUSH2 0x104e
00001044: SWAP3
00001045: DUP2
00001046: DUP2
00001047: MSTORE
00001048: ADD
00001049: SWAP1
0000104a: PUSH2 0x0ed1
0000104d: JUMP
0000104e: JUMPDEST
0000104f: SWAP1
00001050: JUMP
00001051: JUMPDEST
00001052: CALLVALUE
00001053: PUSH2 0x02f0
00001056: JUMPI
00001057: PUSH0
00001058: CALLDATASIZE
00001059: PUSH1 0x03
0000105b: NOT
0000105c: ADD
0000105d: SLT
0000105e: PUSH2 0x02f0
00001061: JUMPI
00001062: PUSH2 0x0b8d
00001065: PUSH1 0x40
00001067: MLOAD
00001068: PUSH2 0x1070
0000106b: DUP2
0000106c: PUSH2 0x0697
0000106f: JUMP
00001070: JUMPDEST
00001071: PUSH1 0x05
00001073: DUP2
00001074: MSTORE
00001075: PUSH5 0x0352e302e3
0000107b: PUSH1 0xdc
0000107d: SHL
0000107e: PUSH1 0x20
00001080: DUP3
00001081: ADD
00001082: MSTORE
00001083: PUSH1 0x40
00001085: MLOAD
00001086: SWAP2
00001087: DUP3
00001088: SWAP2
00001089: PUSH1 0x20
0000108b: DUP4
0000108c: MSTORE
0000108d: PUSH1 0x20
0000108f: DUP4
00001090: ADD
00001091: SWAP1
00001092: PUSH2 0x0ed1
00001095: JUMP
00001096: JUMPDEST
00001097: DUP1
00001098: ISZERO
00001099: ISZERO
0000109a: SUB
0000109b: PUSH2 0x02f0
0000109e: JUMPI
0000109f: JUMP
000010a0: JUMPDEST
000010a1: CALLVALUE
000010a2: PUSH2 0x02f0
000010a5: JUMPI
000010a6: PUSH1 0x40
000010a8: CALLDATASIZE
000010a9: PUSH1 0x03
000010ab: NOT
000010ac: ADD
000010ad: SLT
000010ae: PUSH2 0x02f0
000010b1: JUMPI
000010b2: PUSH2 0x0020
000010b5: PUSH1 0x04
000010b7: CALLDATALOAD
000010b8: PUSH2 0x10c0
000010bb: DUP2
000010bc: PUSH2 0x0363
000010bf: JUMP
000010c0: JUMPDEST
000010c1: PUSH1 0x24
000010c3: CALLDATALOAD
000010c4: SWAP1
000010c5: PUSH2 0x10cd
000010c8: DUP3
000010c9: PUSH2 0x1096
000010cc: JUMP
000010cd: JUMPDEST
000010ce: PUSH2 0x1ba0
000010d1: JUMP
000010d2: JUMPDEST
000010d3: CALLVALUE
000010d4: PUSH2 0x02f0
000010d7: JUMPI
000010d8: PUSH1 0x20
000010da: CALLDATASIZE
000010db: PUSH1 0x03
000010dd: NOT
000010de: ADD
000010df: SLT
000010e0: PUSH2 0x02f0
000010e3: JUMPI
000010e4: PUSH2 0x0020
000010e7: PUSH1 0x04
000010e9: CALLDATALOAD
000010ea: PUSH2 0x10f2
000010ed: DUP2
000010ee: PUSH2 0x0363
000010f1: JUMP
000010f2: JUMPDEST
000010f3: PUSH2 0x1c38
000010f6: JUMP
000010f7: JUMPDEST
000010f8: CALLVALUE
000010f9: PUSH2 0x02f0
000010fc: JUMPI
000010fd: PUSH1 0x20
000010ff: CALLDATASIZE
00001100: PUSH1 0x03
00001102: NOT
00001103: ADD
00001104: SLT
00001105: PUSH2 0x02f0
00001108: JUMPI
00001109: PUSH1 0x20
0000110b: PUSH2 0x0332
0000110e: PUSH1 0x04
00001110: CALLDATALOAD
00001111: PUSH2 0x2b1a
00001114: JUMP
00001115: JUMPDEST
00001116: CALLVALUE
00001117: PUSH2 0x02f0
0000111a: JUMPI
0000111b: PUSH1 0x20
0000111d: CALLDATASIZE
0000111e: PUSH1 0x03
00001120: NOT
00001121: ADD
00001122: SLT
00001123: PUSH2 0x02f0
00001126: JUMPI
00001127: PUSH2 0x0020
0000112a: PUSH1 0x04
0000112c: CALLDATALOAD
0000112d: PUSH2 0x1135
00001130: DUP2
00001131: PUSH2 0x0363
00001134: JUMP
00001135: JUMPDEST
00001136: PUSH2 0x113d
00001139: PUSH2 0x2a98
0000113c: JUMP
0000113d: JUMPDEST
0000113e: PUSH2 0x2ba9
00001141: JUMP
00001142: JUMPDEST
00001143: CALLVALUE
00001144: PUSH2 0x02f0
00001147: JUMPI
00001148: PUSH0
00001149: CALLDATASIZE
0000114a: PUSH1 0x03
0000114c: NOT
0000114d: ADD
0000114e: SLT
0000114f: PUSH2 0x02f0
00001152: JUMPI
00001153: PUSH1 0x20
00001155: PUSH1 0x01
00001157: PUSH1 0x01
00001159: PUSH1 0x80
0000115b: SHL
0000115c: SUB
0000115d: PUSH1 0x99
0000115f: SLOAD
00001160: AND
00001161: PUSH1 0x40
00001163: MLOAD
00001164: SWAP1
00001165: DUP2
00001166: MSTORE
00001167: RETURN
00001168: JUMPDEST
00001169: CALLVALUE
0000116a: PUSH2 0x02f0
0000116d: JUMPI
0000116e: PUSH1 0x20
00001170: CALLDATASIZE
00001171: PUSH1 0x03
00001173: NOT
00001174: ADD
00001175: SLT
00001176: PUSH2 0x02f0
00001179: JUMPI
0000117a: PUSH2 0x0020
0000117d: PUSH1 0x04
0000117f: CALLDATALOAD
00001180: PUSH2 0x1188
00001183: DUP2
00001184: PUSH2 0x0363
00001187: JUMP
00001188: JUMPDEST
00001189: PUSH2 0x1190
0000118c: PUSH2 0x2a98
0000118f: JUMP
00001190: JUMPDEST
00001191: PUSH2 0x2bf0
00001194: JUMP
00001195: JUMPDEST
00001196: SWAP1
00001197: DUP2
00001198: PUSH1 0xa0
0000119a: SWAP2
0000119b: SUB
0000119c: SLT
0000119d: PUSH2 0x02f0
000011a0: JUMPI
000011a1: SWAP1
000011a2: JUMP
000011a3: JUMPDEST
000011a4: CALLVALUE
000011a5: PUSH2 0x02f0
000011a8: JUMPI
000011a9: PUSH1 0x80
000011ab: CALLDATASIZE
000011ac: PUSH1 0x03
000011ae: NOT
000011af: ADD
000011b0: SLT
000011b1: PUSH2 0x02f0
000011b4: JUMPI
000011b5: PUSH1 0x01
000011b7: PUSH1 0x01
000011b9: PUSH1 0x40
000011bb: SHL
000011bc: SUB
000011bd: PUSH1 0x04
000011bf: CALLDATALOAD
000011c0: DUP2
000011c1: DUP2
000011c2: GT
000011c3: PUSH2 0x02f0
000011c6: JUMPI
000011c7: PUSH2 0x11d4
000011ca: SWAP1
000011cb: CALLDATASIZE
000011cc: SWAP1
000011cd: PUSH1 0x04
000011cf: ADD
000011d0: PUSH2 0x1195
000011d3: JUMP
000011d4: JUMPDEST
000011d5: PUSH1 0x24
000011d7: CALLDATALOAD
000011d8: DUP3
000011d9: DUP2
000011da: GT
000011db: PUSH2 0x02f0
000011de: JUMPI
000011df: PUSH2 0x11ec
000011e2: SWAP1
000011e3: CALLDATASIZE
000011e4: SWAP1
000011e5: PUSH1 0x04
000011e7: ADD
000011e8: PUSH2 0x0e80
000011eb: JUMP
000011ec: JUMPDEST
000011ed: PUSH1 0x44
000011ef: SWAP3
000011f0: SWAP2
000011f1: SWAP3
000011f2: CALLDATALOAD
000011f3: DUP5
000011f4: DUP2
000011f5: GT
000011f6: PUSH2 0x02f0
000011f9: JUMPI
000011fa: PUSH2 0x1207
000011fd: SWAP1
000011fe: CALLDATASIZE
000011ff: SWAP1
00001200: PUSH1 0x04
00001202: ADD
00001203: PUSH2 0x0e80
00001206: JUMP
00001207: JUMPDEST
00001208: SWAP2
00001209: PUSH1 0x64
0000120b: CALLDATALOAD
0000120c: SWAP6
0000120d: DUP7
0000120e: GT
0000120f: PUSH2 0x02f0
00001212: JUMPI
00001213: PUSH2 0x1223
00001216: PUSH2 0x0020
00001219: SWAP7
0000121a: CALLDATASIZE
0000121b: SWAP1
0000121c: PUSH1 0x04
0000121e: ADD
0000121f: PUSH2 0x0e80
00001222: JUMP
00001223: JUMPDEST
00001224: SWAP6
00001225: SWAP1
00001226: SWAP5
00001227: PUSH2 0x1d86
0000122a: JUMP
0000122b: JUMPDEST
0000122c: CALLVALUE
0000122d: PUSH2 0x02f0
00001230: JUMPI
00001231: PUSH1 0x20
00001233: CALLDATASIZE
00001234: PUSH1 0x03
00001236: NOT
00001237: ADD
00001238: SLT
00001239: PUSH2 0x02f0
0000123c: JUMPI
0000123d: PUSH1 0x04
0000123f: CALLDATALOAD
00001240: PUSH2 0x1248
00001243: DUP2
00001244: PUSH2 0x0363
00001247: JUMP
00001248: JUMPDEST
00001249: PUSH1 0x01
0000124b: DUP1
0000124c: PUSH1 0xa0
0000124e: SHL
0000124f: SUB
00001250: AND
00001251: PUSH0
00001252: MSTORE
00001253: PUSH1 0x9c
00001255: PUSH1 0x20
00001257: MSTORE
00001258: PUSH1 0x20
0000125a: PUSH1 0x40
0000125c: PUSH0
0000125d: KECCAK256
0000125e: SLOAD
0000125f: PUSH1 0x40
00001261: MLOAD
00001262: SWAP1
00001263: DUP2
00001264: MSTORE
00001265: RETURN
00001266: JUMPDEST
00001267: CALLVALUE
00001268: PUSH2 0x02f0
0000126b: JUMPI
0000126c: PUSH1 0x20
0000126e: CALLDATASIZE
0000126f: PUSH1 0x03
00001271: NOT
00001272: ADD
00001273: SLT
00001274: PUSH2 0x02f0
00001277: JUMPI
00001278: PUSH1 0x04
0000127a: CALLDATALOAD
0000127b: PUSH2 0x1283
0000127e: DUP2
0000127f: PUSH2 0x0363
00001282: JUMP
00001283: JUMPDEST
00001284: PUSH1 0x01
00001286: DUP1
00001287: PUSH1 0xa0
00001289: SHL
0000128a: SUB
0000128b: AND
0000128c: PUSH0
0000128d: MSTORE
0000128e: PUSH2 0x019d
00001291: PUSH1 0x20
00001293: MSTORE
00001294: PUSH1 0x20
00001296: PUSH1 0xff
00001298: PUSH1 0x40
0000129a: PUSH0
0000129b: KECCAK256
0000129c: SLOAD
0000129d: AND
0000129e: PUSH1 0x40
000012a0: MLOAD
000012a1: SWAP1
000012a2: ISZERO
000012a3: ISZERO
000012a4: DUP2
000012a5: MSTORE
000012a6: RETURN
000012a7: JUMPDEST
000012a8: CALLVALUE
000012a9: PUSH2 0x02f0
000012ac: JUMPI
000012ad: PUSH1 0x40
000012af: DUP1
000012b0: PUSH1 0x03
000012b2: NOT
000012b3: CALLDATASIZE
000012b4: ADD
000012b5: SLT
000012b6: PUSH2 0x02f0
000012b9: JUMPI
000012ba: PUSH1 0x04
000012bc: SWAP1
000012bd: PUSH1 0x01
000012bf: PUSH1 0x01
000012c1: PUSH1 0x40
000012c3: SHL
000012c4: SUB
000012c5: DUP3
000012c6: CALLDATALOAD
000012c7: DUP2
000012c8: DUP2
000012c9: GT
000012ca: PUSH2 0x02f0
000012cd: JUMPI
000012ce: PUSH2 0x12da
000012d1: SWAP1
000012d2: CALLDATASIZE
000012d3: SWAP1
000012d4: DUP6
000012d5: ADD
000012d6: PUSH2 0x1195
000012d9: JUMP
000012da: JUMPDEST
000012db: SWAP1
000012dc: PUSH1 0x24
000012de: CALLDATALOAD
000012df: SWAP1
000012e0: DUP2
000012e1: GT
000012e2: PUSH2 0x02f0
000012e5: JUMPI
000012e6: PUSH2 0x12f2
000012e9: SWAP1
000012ea: CALLDATASIZE
000012eb: SWAP1
000012ec: DUP6
000012ed: ADD
000012ee: PUSH2 0x0e80
000012f1: JUMP
000012f2: JUMPDEST
000012f3: SWAP4
000012f4: SWAP1
000012f5: SWAP3
000012f6: PUSH2 0x12fd
000012f9: PUSH2 0x2c52
000012fc: JUMP
000012fd: JUMPDEST
000012fe: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
0000131f: PUSH1 0x01
00001321: PUSH1 0x01
00001323: PUSH1 0xa0
00001325: SHL
00001326: SUB
00001327: AND
00001328: DUP1
00001329: EXTCODESIZE
0000132a: ISZERO
0000132b: PUSH2 0x02f0
0000132e: JUMPI
0000132f: PUSH0
00001330: DUP3
00001331: MLOAD
00001332: DUP1
00001333: SWAP3
00001334: PUSH4 0x837d4441
00001339: PUSH1 0xe0
0000133b: SHL
0000133c: DUP3
0000133d: MSTORE
0000133e: DUP2
0000133f: DUP4
00001340: DUP2
00001341: PUSH2 0x134c
00001344: DUP11
00001345: DUP11
00001346: DUP4
00001347: ADD
00001348: PUSH2 0x1cef
0000134b: JUMP
0000134c: JUMPDEST
0000134d: SUB
0000134e: SWAP3
0000134f: GAS
00001350: CALL
00001351: DUP1
00001352: ISZERO
00001353: PUSH2 0x08b2
00001356: JUMPI
00001357: PUSH2 0x1432
0000135a: JUMPI
0000135b: JUMPDEST
0000135c: POP
0000135d: PUSH9 0x01bc16d674ec800000
00001367: PUSH2 0x136e
0000136a: PUSH2 0x14f3
0000136d: JUMP
0000136e: JUMPDEST
0000136f: LT
00001370: PUSH2 0x1425
00001373: JUMPI
00001374: DUP1
00001375: DUP4
00001376: ADD
00001377: SWAP4
00001378: PUSH1 0xb0
0000137a: PUSH2 0x1383
0000137d: DUP7
0000137e: DUP7
0000137f: PUSH2 0x1a00
00001382: JUMP
00001383: JUMPDEST
00001384: SWAP1
00001385: POP
00001386: SUB
00001387: PUSH2 0x1417
0000138a: JUMPI
0000138b: PUSH2 0x13e3
0000138e: PUSH2 0x13e7
00001391: SWAP2
00001392: PUSH1 0xd1
00001394: SLOAD
00001395: SWAP8
00001396: PUSH1 0xd0
00001398: SLOAD
00001399: SWAP1
0000139a: PUSH2 0x13d6
0000139d: PUSH2 0x13ce
000013a0: DUP12
000013a1: PUSH2 0x13aa
000013a4: DUP13
000013a5: DUP13
000013a6: PUSH2 0x1a00
000013a9: JUMP
000013aa: JUMPDEST
000013ab: PUSH2 0x13c0
000013ae: DUP12
000013af: SWAP5
000013b0: SWAP3
000013b1: SWAP5
000013b2: MLOAD
000013b3: SWAP4
000013b4: DUP5
000013b5: SWAP3
000013b6: PUSH1 0x20
000013b8: DUP5
000013b9: ADD
000013ba: SWAP7
000013bb: DUP8
000013bc: PUSH2 0x1eb8
000013bf: JUMP
000013c0: JUMPDEST
000013c1: SUB
000013c2: PUSH1 0x1f
000013c4: NOT
000013c5: DUP2
000013c6: ADD
000013c7: DUP4
000013c8: MSTORE
000013c9: DUP3
000013ca: PUSH2 0x06b2
000013cd: JUMP
000013ce: JUMPDEST
000013cf: MLOAD
000013d0: SWAP1
000013d1: KECCAK256
000013d2: PUSH2 0x1ed5
000013d5: JUMP
000013d6: JUMPDEST
000013d7: PUSH1 0x20
000013d9: DUP2
000013da: MLOAD
000013db: SWAP2
000013dc: ADD
000013dd: KECCAK256
000013de: SWAP3
000013df: PUSH2 0x2f70
000013e2: JUMP
000013e3: JUMPDEST
000013e4: ISZERO
000013e5: SWAP1
000013e6: JUMP
000013e7: JUMPDEST
000013e8: PUSH2 0x140a
000013eb: JUMPI
000013ec: PUSH2 0x0020
000013ef: PUSH1 0x01
000013f1: DUP7
000013f2: PUSH2 0x1404
000013f5: PUSH2 0x13fe
000013f8: DUP9
000013f9: DUP9
000013fa: PUSH2 0x1a00
000013fd: JUMP
000013fe: JUMPDEST
000013ff: SWAP1
00001400: PUSH2 0x2fa8
00001403: JUMP
00001404: JUMPDEST
00001405: ADD
00001406: PUSH1 0xd1
00001408: SSTORE
00001409: JUMP
0000140a: JUMPDEST
0000140b: MLOAD
0000140c: PUSH4 0x09bde339
00001411: PUSH1 0xe0
00001413: SHL
00001414: DUP2
00001415: MSTORE
00001416: REVERT
00001417: JUMPDEST
00001418: POP
00001419: MLOAD
0000141a: PUSH4 0x1a0a9b9f
0000141f: PUSH1 0xe2
00001421: SHL
00001422: DUP2
00001423: MSTORE
00001424: REVERT
00001425: JUMPDEST
00001426: MLOAD
00001427: PUSH4 0x96d80433
0000142c: PUSH1 0xe0
0000142e: SHL
0000142f: DUP2
00001430: MSTORE
00001431: REVERT
00001432: JUMPDEST
00001433: DUP1
00001434: PUSH2 0x143f
00001437: PUSH2 0x1445
0000143a: SWAP3
0000143b: PUSH2 0x0664
0000143e: JUMP
0000143f: JUMPDEST
00001440: DUP1
00001441: PUSH2 0x02e6
00001444: JUMP
00001445: JUMPDEST
00001446: PUSH0
00001447: PUSH2 0x135b
0000144a: JUMP
0000144b: JUMPDEST
0000144c: CALLVALUE
0000144d: PUSH2 0x02f0
00001450: JUMPI
00001451: PUSH0
00001452: CALLDATASIZE
00001453: PUSH1 0x03
00001455: NOT
00001456: ADD
00001457: SLT
00001458: PUSH2 0x02f0
0000145b: JUMPI
0000145c: PUSH0
0000145d: SLOAD
0000145e: PUSH1 0x40
00001460: MLOAD
00001461: PUSH1 0x01
00001463: PUSH1 0x01
00001465: PUSH1 0xa0
00001467: SHL
00001468: SUB
00001469: SWAP1
0000146a: SWAP2
0000146b: AND
0000146c: DUP2
0000146d: MSTORE
0000146e: PUSH1 0x20
00001470: SWAP1
00001471: RETURN
00001472: JUMPDEST
00001473: PUSH1 0x40
00001475: CALLDATASIZE
00001476: PUSH1 0x03
00001478: NOT
00001479: ADD
0000147a: SLT
0000147b: PUSH2 0x02f0
0000147e: JUMPI
0000147f: PUSH1 0x20
00001481: PUSH2 0x0332
00001484: PUSH1 0x04
00001486: CALLDATALOAD
00001487: PUSH2 0x148f
0000148a: DUP2
0000148b: PUSH2 0x0363
0000148e: JUMP
0000148f: JUMPDEST
00001490: PUSH1 0x24
00001492: CALLDATALOAD
00001493: SWAP1
00001494: PUSH2 0x03d4
00001497: DUP3
00001498: PUSH2 0x0363
0000149b: JUMP
0000149c: JUMPDEST
0000149d: PUSH1 0x98
0000149f: SLOAD
000014a0: PUSH1 0x01
000014a2: PUSH1 0x01
000014a4: PUSH1 0x80
000014a6: SHL
000014a7: SUB
000014a8: DUP2
000014a9: AND
000014aa: SWAP1
000014ab: DUP2
000014ac: PUSH2 0x14b4
000014af: JUMPI
000014b0: POP
000014b1: POP
000014b2: SWAP1
000014b3: JUMP
000014b4: JUMPDEST
000014b5: SWAP2
000014b6: PUSH2 0x104e
000014b9: SWAP3
000014ba: PUSH1 0x80
000014bc: SHR
000014bd: SWAP1
000014be: PUSH2 0x1f9c
000014c1: JUMP
000014c2: JUMPDEST
000014c3: PUSH2 0x14cb
000014c6: SWAP1
000014c7: PUSH2 0x2113
000014ca: JUMP
000014cb: JUMPDEST
000014cc: SWAP1
000014cd: DUP1
000014ce: PUSH2 0x14e4
000014d1: JUMPI
000014d2: JUMPDEST
000014d3: POP
000014d4: PUSH2 0x14d9
000014d7: JUMPI
000014d8: JUMP
000014d9: JUMPDEST
000014da: PUSH2 0x14e1
000014dd: PUSH2 0x23ca
000014e0: JUMP
000014e1: JUMPDEST
000014e2: POP
000014e3: JUMP
000014e4: JUMPDEST
000014e5: PUSH2 0x14ed
000014e8: SWAP1
000014e9: PUSH2 0x22a9
000014ec: JUMP
000014ed: JUMPDEST
000014ee: PUSH0
000014ef: PUSH2 0x14d2
000014f2: JUMP
000014f3: JUMPDEST
000014f4: SELFBALANCE
000014f5: PUSH1 0x99
000014f7: SLOAD
000014f8: PUSH2 0x1509
000014fb: PUSH1 0x01
000014fd: PUSH1 0x01
000014ff: PUSH1 0x80
00001501: SHL
00001502: SUB
00001503: DUP3
00001504: AND
00001505: PUSH2 0x149c
00001508: JUMP
00001509: JUMPDEST
0000150a: SWAP1
0000150b: PUSH1 0x80
0000150d: SHR
0000150e: ADD
0000150f: SWAP1
00001510: DUP2
00001511: DUP2
00001512: GT
00001513: PUSH0
00001514: EQ
00001515: PUSH2 0x151c
00001518: JUMPI
00001519: SUB
0000151a: SWAP1
0000151b: JUMP
0000151c: JUMPDEST
0000151d: POP
0000151e: POP
0000151f: PUSH0
00001520: SWAP1
00001521: JUMP
00001522: JUMPDEST
00001523: PUSH2 0x0137
00001526: SLOAD
00001527: PUSH1 0x01
00001529: PUSH1 0x01
0000152b: PUSH1 0xa0
0000152d: SHL
0000152e: SUB
0000152f: AND
00001530: DUP1
00001531: ISZERO
00001532: PUSH2 0x1538
00001535: JUMPI
00001536: SWAP1
00001537: JUMP
00001538: JUMPDEST
00001539: POP
0000153a: PUSH32 0x00000000000000000000000048319f97e5da1233c21c48b80097c0fb7a20ff86
0000155b: SWAP1
0000155c: JUMP
0000155d: JUMPDEST
0000155e: SWAP1
0000155f: DUP1
00001560: PUSH1 0x1f
00001562: DUP4
00001563: ADD
00001564: SLT
00001565: ISZERO
00001566: PUSH2 0x02f0
00001569: JUMPI
0000156a: DUP2
0000156b: PUSH1 0x20
0000156d: PUSH2 0x104e
00001570: SWAP4
00001571: CALLDATALOAD
00001572: SWAP2
00001573: ADD
00001574: PUSH2 0x06fd
00001577: JUMP
00001578: JUMPDEST
00001579: PUSH1 0x01
0000157b: PUSH1 0x01
0000157d: PUSH1 0xa0
0000157f: SHL
00001580: SUB
00001581: SWAP2
00001582: DUP3
00001583: AND
00001584: DUP2
00001585: MSTORE
00001586: SWAP2
00001587: AND
00001588: PUSH1 0x20
0000158a: DUP3
0000158b: ADD
0000158c: MSTORE
0000158d: PUSH1 0x40
0000158f: DUP2
00001590: ADD
00001591: SWAP2
00001592: SWAP1
00001593: SWAP2
00001594: MSTORE
00001595: PUSH2 0xffff
00001598: SWAP1
00001599: SWAP2
0000159a: AND
0000159b: PUSH1 0x60
0000159d: DUP3
0000159e: ADD
0000159f: MSTORE
000015a0: PUSH1 0xa0
000015a2: PUSH1 0x80
000015a4: DUP3
000015a5: ADD
000015a6: DUP2
000015a7: SWAP1
000015a8: MSTORE
000015a9: PUSH2 0x104e
000015ac: SWAP3
000015ad: SWAP2
000015ae: ADD
000015af: SWAP1
000015b0: PUSH2 0x0ed1
000015b3: JUMP
000015b4: JUMPDEST
000015b5: SWAP1
000015b6: DUP2
000015b7: ADD
000015b8: SWAP1
000015b9: PUSH1 0x20
000015bb: DUP2
000015bc: DUP4
000015bd: SUB
000015be: SLT
000015bf: PUSH2 0x02f0
000015c2: JUMPI
000015c3: DUP1
000015c4: CALLDATALOAD
000015c5: PUSH1 0x01
000015c7: PUSH1 0x01
000015c9: PUSH1 0x40
000015cb: SHL
000015cc: SUB
000015cd: SWAP2
000015ce: DUP3
000015cf: DUP3
000015d0: GT
000015d1: PUSH2 0x02f0
000015d4: JUMPI
000015d5: ADD
000015d6: PUSH1 0xa0
000015d8: DUP2
000015d9: DUP5
000015da: SUB
000015db: SLT
000015dc: PUSH2 0x02f0
000015df: JUMPI
000015e0: PUSH1 0x40
000015e2: MLOAD
000015e3: SWAP2
000015e4: PUSH2 0x15ec
000015e7: DUP4
000015e8: PUSH2 0x067c
000015eb: JUMP
000015ec: JUMPDEST
000015ed: DUP2
000015ee: CALLDATALOAD
000015ef: PUSH2 0x15f7
000015f2: DUP2
000015f3: PUSH2 0x0363
000015f6: JUMP
000015f7: JUMPDEST
000015f8: DUP4
000015f9: MSTORE
000015fa: PUSH1 0x20
000015fc: DUP3
000015fd: ADD
000015fe: CALLDATALOAD
000015ff: SWAP2
00001600: PUSH2 0x1608
00001603: DUP4
00001604: PUSH2 0x0363
00001607: JUMP
00001608: JUMPDEST
00001609: PUSH1 0x20
0000160b: DUP5
0000160c: ADD
0000160d: SWAP3
0000160e: DUP4
0000160f: MSTORE
00001610: PUSH1 0x40
00001612: DUP5
00001613: ADD
00001614: SWAP4
00001615: PUSH1 0x40
00001617: DUP3
00001618: ADD
00001619: CALLDATALOAD
0000161a: DUP6
0000161b: MSTORE
0000161c: PUSH1 0x60
0000161e: DUP3
0000161f: ADD
00001620: CALLDATALOAD
00001621: SWAP2
00001622: PUSH2 0xffff
00001625: DUP4
00001626: AND
00001627: DUP4
00001628: SUB
00001629: PUSH2 0x02f0
0000162c: JUMPI
0000162d: PUSH1 0x60
0000162f: DUP3
00001630: ADD
00001631: SWAP3
00001632: DUP4
00001633: MSTORE
00001634: PUSH1 0x80
00001636: DUP2
00001637: ADD
00001638: CALLDATALOAD
00001639: SWAP4
0000163a: DUP5
0000163b: GT
0000163c: PUSH2 0x02f0
0000163f: JUMPI
00001640: PUSH2 0x16a4
00001643: PUSH2 0x1696
00001646: PUSH2 0x1678
00001649: PUSH32 0x46fbcffffd902075204aff5be82484275c25679504ba0439fd4257cd885e71fa
0000166a: SWAP10
0000166b: PUSH2 0x16be
0000166e: SWAP8
0000166f: PUSH2 0x16af
00001672: SWAP6
00001673: ADD
00001674: PUSH2 0x155d
00001677: JUMP
00001678: JUMPDEST
00001679: SWAP4
0000167a: PUSH1 0x80
0000167c: DUP2
0000167d: ADD
0000167e: SWAP5
0000167f: DUP6
00001680: MSTORE
00001681: PUSH2 0x1689
00001684: DUP2
00001685: PUSH2 0x24f3
00001688: JUMP
00001689: JUMPDEST
0000168a: MLOAD
0000168b: PUSH1 0x01
0000168d: PUSH1 0x01
0000168f: PUSH1 0xa0
00001691: SHL
00001692: SUB
00001693: AND
00001694: SWAP1
00001695: JUMP
00001696: JUMPDEST
00001697: SWAP6
00001698: MLOAD
00001699: PUSH1 0x01
0000169b: PUSH1 0x01
0000169d: PUSH1 0xa0
0000169f: SHL
000016a0: SUB
000016a1: AND
000016a2: SWAP1
000016a3: JUMP
000016a4: JUMPDEST
000016a5: SWAP6
000016a6: MLOAD
000016a7: SWAP3
000016a8: MLOAD
000016a9: PUSH2 0xffff
000016ac: AND
000016ad: SWAP1
000016ae: JUMP
000016af: JUMPDEST
000016b0: SWAP1
000016b1: MLOAD
000016b2: SWAP2
000016b3: PUSH1 0x40
000016b5: MLOAD
000016b6: SWAP6
000016b7: DUP7
000016b8: SWAP6
000016b9: DUP7
000016ba: PUSH2 0x1578
000016bd: JUMP
000016be: JUMPDEST
000016bf: SUB
000016c0: SWAP1
000016c1: LOG1
000016c2: JUMP
000016c3: JUMPDEST
000016c4: PUSH1 0x9d
000016c6: SLOAD
000016c7: DUP1
000016c8: PUSH2 0x104e
000016cb: JUMPI
000016cc: POP
000016cd: PUSH0
000016ce: NOT
000016cf: SWAP1
000016d0: JUMP
000016d1: JUMPDEST
000016d2: PUSH1 0xd2
000016d4: SLOAD
000016d5: PUSH1 0x01
000016d7: PUSH1 0x01
000016d9: PUSH1 0xa0
000016db: SHL
000016dc: SUB
000016dd: SWAP1
000016de: DUP2
000016df: AND
000016e0: DUP1
000016e1: PUSH2 0x16eb
000016e4: JUMPI
000016e5: POP
000016e6: PUSH0
000016e7: SLOAD
000016e8: AND
000016e9: SWAP1
000016ea: JUMP
000016eb: JUMPDEST
000016ec: SWAP1
000016ed: POP
000016ee: SWAP1
000016ef: JUMP
000016f0: JUMPDEST
000016f1: SWAP1
000016f2: DUP2
000016f3: PUSH1 0x20
000016f5: SWAP2
000016f6: SUB
000016f7: SLT
000016f8: PUSH2 0x02f0
000016fb: JUMPI
000016fc: MLOAD
000016fd: PUSH2 0x104e
00001700: DUP2
00001701: PUSH2 0x1096
00001704: JUMP
00001705: JUMPDEST
00001706: PUSH1 0x40
00001708: MLOAD
00001709: RETURNDATASIZE
0000170a: PUSH0
0000170b: DUP3
0000170c: RETURNDATACOPY
0000170d: RETURNDATASIZE
0000170e: SWAP1
0000170f: REVERT
00001710: JUMPDEST
00001711: PUSH4 0x4e487b71
00001716: PUSH1 0xe0
00001718: SHL
00001719: PUSH0
0000171a: MSTORE
0000171b: PUSH1 0x11
0000171d: PUSH1 0x04
0000171f: MSTORE
00001720: PUSH1 0x24
00001722: PUSH0
00001723: REVERT
00001724: JUMPDEST
00001725: SWAP2
00001726: SWAP1
00001727: DUP3
00001728: SUB
00001729: SWAP2
0000172a: DUP3
0000172b: GT
0000172c: PUSH2 0x0bee
0000172f: JUMPI
00001730: JUMP
00001731: JUMPDEST
00001732: PUSH1 0x40
00001734: DUP1
00001735: MLOAD
00001736: PUSH1 0x01
00001738: PUSH1 0x01
0000173a: PUSH1 0xa0
0000173c: SHL
0000173d: SUB
0000173e: SWAP1
0000173f: SWAP3
00001740: AND
00001741: PUSH1 0x20
00001743: DUP4
00001744: ADD
00001745: SWAP1
00001746: DUP2
00001747: MSTORE
00001748: SWAP1
00001749: DUP3
0000174a: ADD
0000174b: SWAP4
0000174c: SWAP1
0000174d: SWAP4
0000174e: MSTORE
0000174f: PUSH1 0x60
00001751: DUP2
00001752: ADD
00001753: DUP3
00001754: SWAP1
00001755: MSTORE
00001756: SWAP1
00001757: SWAP3
00001758: PUSH2 0x1781
0000175b: SWAP3
0000175c: SWAP1
0000175d: SWAP2
0000175e: PUSH2 0x176a
00001761: DUP2
00001762: PUSH1 0x80
00001764: DUP2
00001765: ADD
00001766: PUSH2 0x13c0
00001769: JUMP
0000176a: JUMPDEST
0000176b: MLOAD
0000176c: SWAP1
0000176d: KECCAK256
0000176e: PUSH0
0000176f: MSTORE
00001770: PUSH1 0x9b
00001772: PUSH1 0x20
00001774: MSTORE
00001775: PUSH1 0x40
00001777: PUSH0
00001778: KECCAK256
00001779: SLOAD
0000177a: SWAP3
0000177b: DUP4
0000177c: SWAP2
0000177d: PUSH2 0x2684
00001780: JUMP
00001781: JUMPDEST
00001782: SWAP1
00001783: SWAP2
00001784: DUP3
00001785: DUP2
00001786: SUB
00001787: SWAP1
00001788: DUP2
00001789: GT
0000178a: PUSH2 0x0bee
0000178d: JUMPI
0000178e: SWAP3
0000178f: JUMP
00001790: JUMPDEST
00001791: SWAP1
00001792: PUSH1 0x01
00001794: DUP3
00001795: ADD
00001796: DUP1
00001797: SWAP3
00001798: GT
00001799: PUSH2 0x0bee
0000179c: JUMPI
0000179d: JUMP
0000179e: JUMPDEST
0000179f: SWAP2
000017a0: SWAP1
000017a1: DUP3
000017a2: ADD
000017a3: DUP1
000017a4: SWAP3
000017a5: GT
000017a6: PUSH2 0x0bee
000017a9: JUMPI
000017aa: JUMP
000017ab: JUMPDEST
000017ac: PUSH1 0x01
000017ae: PUSH1 0x01
000017b0: PUSH1 0x80
000017b2: SHL
000017b3: SUB
000017b4: SWAP2
000017b5: DUP3
000017b6: AND
000017b7: SWAP1
000017b8: DUP3
000017b9: AND
000017ba: SUB
000017bb: SWAP2
000017bc: SWAP1
000017bd: DUP3
000017be: GT
000017bf: PUSH2 0x0bee
000017c2: JUMPI
000017c3: JUMP
000017c4: JUMPDEST
000017c5: SWAP3
000017c6: SWAP2
000017c7: SWAP1
000017c8: SWAP2
000017c9: PUSH0
000017ca: SWAP4
000017cb: PUSH2 0x17f4
000017ce: PUSH32 0x0000000000000000000000000000000000000000000000000000000000015180
000017ef: DUP6
000017f0: PUSH2 0x179e
000017f3: JUMP
000017f4: JUMPDEST
000017f5: TIMESTAMP
000017f6: LT
000017f7: PUSH2 0x1942
000017fa: JUMPI
000017fb: PUSH1 0x40
000017fd: DUP1
000017fe: MLOAD
000017ff: CALLER
00001800: PUSH1 0x20
00001802: DUP3
00001803: ADD
00001804: SWAP1
00001805: DUP2
00001806: MSTORE
00001807: SWAP2
00001808: DUP2
00001809: ADD
0000180a: DUP7
0000180b: SWAP1
0000180c: MSTORE
0000180d: PUSH1 0x60
0000180f: DUP1
00001810: DUP3
00001811: ADD
00001812: DUP5
00001813: SWAP1
00001814: MSTORE
00001815: DUP2
00001816: MSTORE
00001817: PUSH1 0x1f
00001819: NOT
0000181a: SWAP2
0000181b: PUSH2 0x1835
0000181e: SWAP2
0000181f: PUSH2 0x1829
00001822: PUSH1 0x80
00001824: DUP3
00001825: PUSH2 0x06b2
00001828: JUMP
00001829: JUMPDEST
0000182a: MLOAD
0000182b: SWAP1
0000182c: KECCAK256
0000182d: SWAP5
0000182e: DUP7
0000182f: DUP5
00001830: CALLER
00001831: PUSH2 0x1731
00001834: JUMP
00001835: JUMPDEST
00001836: SWAP1
00001837: SWAP7
00001838: SWAP1
00001839: SWAP6
0000183a: DUP8
0000183b: DUP8
0000183c: DUP2
0000183d: ISZERO
0000183e: PUSH2 0x1934
00001841: JUMPI
00001842: POP
00001843: POP
00001844: PUSH0
00001845: SWAP1
00001846: DUP2
00001847: MSTORE
00001848: PUSH1 0x9b
0000184a: PUSH1 0x20
0000184c: MSTORE
0000184d: PUSH1 0x40
0000184f: DUP2
00001850: KECCAK256
00001851: SSTORE
00001852: PUSH1 0x01
00001854: DUP3
00001855: GT
00001856: PUSH2 0x18d9
00001859: JUMPI
0000185a: JUMPDEST
0000185b: POP
0000185c: POP
0000185d: POP
0000185e: PUSH2 0x1892
00001861: PUSH2 0x1877
00001864: PUSH2 0x186c
00001867: DUP6
00001868: PUSH2 0x28f8
0000186b: JUMP
0000186c: JUMPDEST
0000186d: PUSH1 0x99
0000186f: SLOAD
00001870: PUSH1 0x80
00001872: SHR
00001873: PUSH2 0x17ab
00001876: JUMP
00001877: JUMPDEST
00001878: PUSH1 0x01
0000187a: PUSH1 0x01
0000187c: PUSH1 0x80
0000187e: SHL
0000187f: SUB
00001880: PUSH1 0x99
00001882: SLOAD
00001883: SWAP2
00001884: DUP2
00001885: NOT
00001886: SWAP1
00001887: PUSH1 0x80
00001889: SHL
0000188a: AND
0000188b: SWAP2
0000188c: AND
0000188d: OR
0000188e: PUSH1 0x99
00001890: SSTORE
00001891: JUMP
00001892: JUMPDEST
00001893: PUSH2 0x189c
00001896: DUP4
00001897: CALLER
00001898: PUSH2 0x292b
0000189b: JUMP
0000189c: JUMPDEST
0000189d: PUSH1 0x40
0000189f: DUP1
000018a0: MLOAD
000018a1: SWAP2
000018a2: DUP3
000018a3: MSTORE
000018a4: PUSH1 0x20
000018a6: DUP3
000018a7: ADD
000018a8: DUP7
000018a9: SWAP1
000018aa: MSTORE
000018ab: DUP2
000018ac: ADD
000018ad: DUP4
000018ae: SWAP1
000018af: MSTORE
000018b0: CALLER
000018b1: SWAP1
000018b2: PUSH32 0xeb3b05c070c24f667611fdb3ff75fe007d42401c573aed8d8faca95fd00ccb56
000018d3: SWAP1
000018d4: PUSH1 0x60
000018d6: SWAP1
000018d7: LOG2
000018d8: JUMP
000018d9: JUMPDEST
000018da: PUSH2 0x192b
000018dd: SWAP2
000018de: SWAP3
000018df: SWAP8
000018e0: POP
000018e1: PUSH2 0x18ea
000018e4: DUP8
000018e5: DUP6
000018e6: PUSH2 0x179e
000018e9: JUMP
000018ea: JUMPDEST
000018eb: PUSH1 0x40
000018ed: DUP1
000018ee: MLOAD
000018ef: CALLER
000018f0: PUSH1 0x20
000018f2: DUP3
000018f3: ADD
000018f4: SWAP1
000018f5: DUP2
000018f6: MSTORE
000018f7: SWAP2
000018f8: DUP2
000018f9: ADD
000018fa: SWAP4
000018fb: SWAP1
000018fc: SWAP4
000018fd: MSTORE
000018fe: PUSH1 0x60
00001900: DUP4
00001901: ADD
00001902: DUP3
00001903: SWAP1
00001904: MSTORE
00001905: PUSH1 0x80
00001907: SWAP10
00001908: DUP11
00001909: ADD
0000190a: DUP4
0000190b: MSTORE
0000190c: SWAP1
0000190d: SWAP9
0000190e: SWAP1
0000190f: SWAP2
00001910: SWAP1
00001911: PUSH2 0x191a
00001914: SWAP1
00001915: DUP3
00001916: PUSH2 0x06b2
00001919: JUMP
0000191a: JUMPDEST
0000191b: MLOAD
0000191c: SWAP1
0000191d: KECCAK256
0000191e: PUSH0
0000191f: MSTORE
00001920: PUSH1 0x9b
00001922: PUSH1 0x20
00001924: MSTORE
00001925: PUSH1 0x40
00001927: PUSH0
00001928: KECCAK256
00001929: SWAP1
0000192a: JUMP
0000192b: JUMPDEST
0000192c: SSTORE
0000192d: PUSH0
0000192e: DUP1
0000192f: DUP1
00001930: PUSH2 0x185a
00001933: JUMP
00001934: JUMPDEST
00001935: SWAP6
00001936: SWAP10
00001937: POP
00001938: SWAP8
00001939: POP
0000193a: SWAP4
0000193b: SWAP6
0000193c: POP
0000193d: POP
0000193e: POP
0000193f: POP
00001940: POP
00001941: JUMP
00001942: JUMPDEST
00001943: PUSH1 0x40
00001945: MLOAD
00001946: PUSH4 0x1613b7eb
0000194b: PUSH1 0xe0
0000194d: SHL
0000194e: DUP2
0000194f: MSTORE
00001950: PUSH1 0x04
00001952: SWAP1
00001953: REVERT
00001954: JUMPDEST
00001955: SWAP1
00001956: PUSH1 0x30
00001958: PUSH1 0x60
0000195a: SWAP3
0000195b: DUP2
0000195c: DUP4
0000195d: MSTORE
0000195e: PUSH1 0x20
00001960: DUP4
00001961: ADD
00001962: CALLDATACOPY
00001963: PUSH0
00001964: PUSH1 0x50
00001966: DUP3
00001967: ADD
00001968: MSTORE
00001969: ADD
0000196a: SWAP1
0000196b: JUMP
0000196c: JUMPDEST
0000196d: SWAP1
0000196e: DUP1
0000196f: PUSH1 0x20
00001971: SWAP4
00001972: SWAP3
00001973: DUP2
00001974: DUP5
00001975: MSTORE
00001976: DUP5
00001977: DUP5
00001978: ADD
00001979: CALLDATACOPY
0000197a: PUSH0
0000197b: DUP3
0000197c: DUP3
0000197d: ADD
0000197e: DUP5
0000197f: ADD
00001980: MSTORE
00001981: PUSH1 0x1f
00001983: ADD
00001984: PUSH1 0x1f
00001986: NOT
00001987: AND
00001988: ADD
00001989: ADD
0000198a: SWAP1
0000198b: JUMP
0000198c: JUMPDEST
0000198d: PUSH1 0x01
0000198f: PUSH1 0x01
00001991: PUSH1 0x40
00001993: SHL
00001994: SUB
00001995: DUP2
00001996: GT
00001997: PUSH2 0x0677
0000199a: JUMPI
0000199b: PUSH1 0x05
0000199d: SHL
0000199e: PUSH1 0x20
000019a0: ADD
000019a1: SWAP1
000019a2: JUMP
000019a3: JUMPDEST
000019a4: SWAP1
000019a5: PUSH2 0x19ad
000019a8: DUP3
000019a9: PUSH2 0x198c
000019ac: JUMP
000019ad: JUMPDEST
000019ae: PUSH2 0x19ba
000019b1: PUSH1 0x40
000019b3: MLOAD
000019b4: SWAP2
000019b5: DUP3
000019b6: PUSH2 0x06b2
000019b9: JUMP
000019ba: JUMPDEST
000019bb: DUP3
000019bc: DUP2
000019bd: MSTORE
000019be: DUP1
000019bf: SWAP3
000019c0: PUSH2 0x19cb
000019c3: PUSH1 0x1f
000019c5: NOT
000019c6: SWAP2
000019c7: PUSH2 0x198c
000019ca: JUMP
000019cb: JUMPDEST
000019cc: ADD
000019cd: SWAP1
000019ce: PUSH0
000019cf: JUMPDEST
000019d0: DUP3
000019d1: DUP2
000019d2: LT
000019d3: PUSH2 0x19db
000019d6: JUMPI
000019d7: POP
000019d8: POP
000019d9: POP
000019da: JUMP
000019db: JUMPDEST
000019dc: DUP1
000019dd: PUSH1 0x60
000019df: PUSH1 0x20
000019e1: DUP1
000019e2: SWAP4
000019e3: DUP6
000019e4: ADD
000019e5: ADD
000019e6: MSTORE
000019e7: ADD
000019e8: PUSH2 0x19cf
000019eb: JUMP
000019ec: JUMPDEST
000019ed: PUSH4 0x4e487b71
000019f2: PUSH1 0xe0
000019f4: SHL
000019f5: PUSH0
000019f6: MSTORE
000019f7: PUSH1 0x32
000019f9: PUSH1 0x04
000019fb: MSTORE
000019fc: PUSH1 0x24
000019fe: PUSH0
000019ff: REVERT
00001a00: JUMPDEST
00001a01: SWAP1
00001a02: CALLDATALOAD
00001a03: SWAP1
00001a04: PUSH1 0x1e
00001a06: NOT
00001a07: DUP2
00001a08: CALLDATASIZE
00001a09: SUB
00001a0a: ADD
00001a0b: DUP3
00001a0c: SLT
00001a0d: ISZERO
00001a0e: PUSH2 0x02f0
00001a11: JUMPI
00001a12: ADD
00001a13: DUP1
00001a14: CALLDATALOAD
00001a15: SWAP1
00001a16: PUSH1 0x01
00001a18: PUSH1 0x01
00001a1a: PUSH1 0x40
00001a1c: SHL
00001a1d: SUB
00001a1e: DUP3
00001a1f: GT
00001a20: PUSH2 0x02f0
00001a23: JUMPI
00001a24: PUSH1 0x20
00001a26: ADD
00001a27: SWAP2
00001a28: DUP2
00001a29: CALLDATASIZE
00001a2a: SUB
00001a2b: DUP4
00001a2c: SGT
00001a2d: PUSH2 0x02f0
00001a30: JUMPI
00001a31: JUMP
00001a32: JUMPDEST
00001a33: SWAP1
00001a34: DUP3
00001a35: LT
00001a36: ISZERO
00001a37: PUSH2 0x1a4d
00001a3a: JUMPI
00001a3b: PUSH2 0x1a49
00001a3e: SWAP2
00001a3f: PUSH1 0x05
00001a41: SHL
00001a42: DUP2
00001a43: ADD
00001a44: SWAP1
00001a45: PUSH2 0x1a00
00001a48: JUMP
00001a49: JUMPDEST
00001a4a: SWAP1
00001a4b: SWAP2
00001a4c: JUMP
00001a4d: JUMPDEST
00001a4e: PUSH2 0x19ec
00001a51: JUMP
00001a52: JUMPDEST
00001a53: SWAP1
00001a54: DUP1
00001a55: SWAP3
00001a56: SWAP2
00001a57: DUP3
00001a58: CALLDATACOPY
00001a59: ADD
00001a5a: PUSH0
00001a5b: DUP2
00001a5c: MSTORE
00001a5d: SWAP1
00001a5e: JUMP
00001a5f: JUMPDEST
00001a60: RETURNDATASIZE
00001a61: ISZERO
00001a62: PUSH2 0x1a89
00001a65: JUMPI
00001a66: RETURNDATASIZE
00001a67: SWAP1
00001a68: PUSH2 0x1a70
00001a6b: DUP3
00001a6c: PUSH2 0x06e2
00001a6f: JUMP
00001a70: JUMPDEST
00001a71: SWAP2
00001a72: PUSH2 0x1a7e
00001a75: PUSH1 0x40
00001a77: MLOAD
00001a78: SWAP4
00001a79: DUP5
00001a7a: PUSH2 0x06b2
00001a7d: JUMP
00001a7e: JUMPDEST
00001a7f: DUP3
00001a80: MSTORE
00001a81: RETURNDATASIZE
00001a82: PUSH0
00001a83: PUSH1 0x20
00001a85: DUP5
00001a86: ADD
00001a87: RETURNDATACOPY
00001a88: JUMP
00001a89: JUMPDEST
00001a8a: PUSH1 0x60
00001a8c: SWAP1
00001a8d: JUMP
00001a8e: JUMPDEST
00001a8f: PUSH1 0x20
00001a91: DUP2
00001a92: DUP4
00001a93: SUB
00001a94: SLT
00001a95: PUSH2 0x02f0
00001a98: JUMPI
00001a99: DUP1
00001a9a: MLOAD
00001a9b: SWAP1
00001a9c: PUSH1 0x01
00001a9e: PUSH1 0x01
00001aa0: PUSH1 0x40
00001aa2: SHL
00001aa3: SUB
00001aa4: DUP3
00001aa5: GT
00001aa6: PUSH2 0x02f0
00001aa9: JUMPI
00001aaa: ADD
00001aab: DUP2
00001aac: PUSH1 0x1f
00001aae: DUP3
00001aaf: ADD
00001ab0: SLT
00001ab1: ISZERO
00001ab2: PUSH2 0x02f0
00001ab5: JUMPI
00001ab6: DUP1
00001ab7: MLOAD
00001ab8: PUSH2 0x1ac0
00001abb: DUP2
00001abc: PUSH2 0x06e2
00001abf: JUMP
00001ac0: JUMPDEST
00001ac1: SWAP3
00001ac2: PUSH2 0x1ace
00001ac5: PUSH1 0x40
00001ac7: MLOAD
00001ac8: SWAP5
00001ac9: DUP6
00001aca: PUSH2 0x06b2
00001acd: JUMP
00001ace: JUMPDEST
00001acf: DUP2
00001ad0: DUP5
00001ad1: MSTORE
00001ad2: PUSH1 0x20
00001ad4: DUP3
00001ad5: DUP5
00001ad6: ADD
00001ad7: ADD
00001ad8: GT
00001ad9: PUSH2 0x02f0
00001adc: JUMPI
00001add: PUSH2 0x104e
00001ae0: SWAP2
00001ae1: PUSH1 0x20
00001ae3: DUP1
00001ae4: DUP6
00001ae5: ADD
00001ae6: SWAP2
00001ae7: ADD
00001ae8: PUSH2 0x0eb0
00001aeb: JUMP
00001aec: JUMPDEST
00001aed: DUP1
00001aee: MLOAD
00001aef: ISZERO
00001af0: PUSH2 0x1a4d
00001af3: JUMPI
00001af4: PUSH1 0x20
00001af6: ADD
00001af7: SWAP1
00001af8: JUMP
00001af9: JUMPDEST
00001afa: DUP1
00001afb: MLOAD
00001afc: DUP3
00001afd: LT
00001afe: ISZERO
00001aff: PUSH2 0x1a4d
00001b02: JUMPI
00001b03: PUSH1 0x20
00001b05: SWAP2
00001b06: PUSH1 0x05
00001b08: SHL
00001b09: ADD
00001b0a: ADD
00001b0b: SWAP1
00001b0c: JUMP
00001b0d: JUMPDEST
00001b0e: PUSH2 0x019c
00001b11: SLOAD
00001b12: PUSH1 0x01
00001b14: PUSH1 0x01
00001b16: PUSH1 0xa0
00001b18: SHL
00001b19: SUB
00001b1a: SWAP1
00001b1b: DUP2
00001b1c: AND
00001b1d: CALLER
00001b1e: SUB
00001b1f: PUSH2 0x0a28
00001b22: JUMPI
00001b23: PUSH1 0x01
00001b25: PUSH1 0x01
00001b27: PUSH1 0xa0
00001b29: SHL
00001b2a: SUB
00001b2b: DUP3
00001b2c: AND
00001b2d: PUSH0
00001b2e: SWAP1
00001b2f: DUP2
00001b30: MSTORE
00001b31: PUSH2 0x019d
00001b34: PUSH1 0x20
00001b36: MSTORE
00001b37: PUSH1 0x40
00001b39: SWAP1
00001b3a: KECCAK256
00001b3b: SLOAD
00001b3c: PUSH1 0xff
00001b3e: AND
00001b3f: ISZERO
00001b40: ISZERO
00001b41: PUSH1 0x01
00001b43: EQ
00001b44: PUSH2 0x1b9c
00001b47: JUMPI
00001b48: PUSH1 0x01
00001b4a: PUSH1 0x01
00001b4c: PUSH1 0xa0
00001b4e: SHL
00001b4f: SUB
00001b50: DUP3
00001b51: AND
00001b52: PUSH0
00001b53: SWAP1
00001b54: DUP2
00001b55: MSTORE
00001b56: PUSH2 0x019d
00001b59: PUSH1 0x20
00001b5b: MSTORE
00001b5c: PUSH1 0x40
00001b5e: SWAP1
00001b5f: KECCAK256
00001b60: PUSH1 0x01
00001b62: PUSH1 0xff
00001b64: NOT
00001b65: DUP3
00001b66: SLOAD
00001b67: AND
00001b68: OR
00001b69: SWAP1
00001b6a: SSTORE
00001b6b: PUSH1 0x40
00001b6d: MLOAD
00001b6e: SWAP2
00001b6f: PUSH1 0x01
00001b71: DUP4
00001b72: MSTORE
00001b73: AND
00001b74: SWAP1
00001b75: PUSH32 0xffe80d6d91bb72bd036e4be8badcf33d7c8e13b2a0aaab3dc3aef76f6b1f786a
00001b96: PUSH1 0x20
00001b98: CALLER
00001b99: SWAP3
00001b9a: LOG3
00001b9b: JUMP
00001b9c: JUMPDEST
00001b9d: POP
00001b9e: POP
00001b9f: JUMP
00001ba0: JUMPDEST
00001ba1: PUSH2 0x019c
00001ba4: SLOAD
00001ba5: PUSH1 0x01
00001ba7: PUSH1 0x01
00001ba9: PUSH1 0xa0
00001bab: SHL
00001bac: SUB
00001bad: SWAP2
00001bae: SWAP1
00001baf: DUP3
00001bb0: AND
00001bb1: CALLER
00001bb2: SUB
00001bb3: PUSH2 0x0a28
00001bb6: JUMPI
00001bb7: PUSH1 0x01
00001bb9: PUSH1 0x01
00001bbb: PUSH1 0xa0
00001bbd: SHL
00001bbe: SUB
00001bbf: DUP2
00001bc0: AND
00001bc1: PUSH0
00001bc2: SWAP1
00001bc3: DUP2
00001bc4: MSTORE
00001bc5: PUSH2 0x019d
00001bc8: PUSH1 0x20
00001bca: MSTORE
00001bcb: PUSH1 0x40
00001bcd: SWAP1
00001bce: KECCAK256
00001bcf: SLOAD
00001bd0: SWAP3
00001bd1: ISZERO
00001bd2: ISZERO
00001bd3: SWAP3
00001bd4: PUSH1 0xff
00001bd6: AND
00001bd7: ISZERO
00001bd8: ISZERO
00001bd9: DUP4
00001bda: EQ
00001bdb: PUSH2 0x1c33
00001bde: JUMPI
00001bdf: PUSH1 0x01
00001be1: PUSH1 0x01
00001be3: PUSH1 0xa0
00001be5: SHL
00001be6: SUB
00001be7: DUP2
00001be8: AND
00001be9: PUSH0
00001bea: SWAP1
00001beb: DUP2
00001bec: MSTORE
00001bed: PUSH2 0x019d
00001bf0: PUSH1 0x20
00001bf2: MSTORE
00001bf3: PUSH1 0x40
00001bf5: SWAP1
00001bf6: KECCAK256
00001bf7: PUSH1 0xff
00001bf9: NOT
00001bfa: DUP2
00001bfb: SLOAD
00001bfc: AND
00001bfd: PUSH1 0xff
00001bff: DUP6
00001c00: AND
00001c01: OR
00001c02: SWAP1
00001c03: SSTORE
00001c04: PUSH1 0x40
00001c06: MLOAD
00001c07: SWAP3
00001c08: DUP4
00001c09: MSTORE
00001c0a: AND
00001c0b: SWAP1
00001c0c: PUSH32 0xffe80d6d91bb72bd036e4be8badcf33d7c8e13b2a0aaab3dc3aef76f6b1f786a
00001c2d: PUSH1 0x20
00001c2f: CALLER
00001c30: SWAP3
00001c31: LOG3
00001c32: JUMP
00001c33: JUMPDEST
00001c34: POP
00001c35: POP
00001c36: POP
00001c37: JUMP
00001c38: JUMPDEST
00001c39: PUSH2 0x1c41
00001c3c: DUP2
00001c3d: PUSH2 0x1b0d
00001c40: JUMP
00001c41: JUMPDEST
00001c42: PUSH1 0x01
00001c44: PUSH1 0x01
00001c46: PUSH1 0xa0
00001c48: SHL
00001c49: SUB
00001c4a: DUP2
00001c4b: AND
00001c4c: PUSH0
00001c4d: DUP2
00001c4e: DUP2
00001c4f: MSTORE
00001c50: PUSH1 0x9c
00001c52: PUSH1 0x20
00001c54: MSTORE
00001c55: PUSH1 0x40
00001c57: SWAP1
00001c58: KECCAK256
00001c59: SLOAD
00001c5a: SWAP2
00001c5b: SWAP1
00001c5c: DUP3
00001c5d: ISZERO
00001c5e: PUSH2 0x1c33
00001c61: JUMPI
00001c62: PUSH32 0x4e12037a5281349ecf284f6b217c8da95e59c057a1faf07520085c1d2a5690cf
00001c83: SWAP3
00001c84: PUSH1 0x40
00001c86: SWAP3
00001c87: PUSH2 0x1c8e
00001c8a: PUSH2 0x2aab
00001c8d: JUMP
00001c8e: JUMPDEST
00001c8f: ISZERO
00001c90: PUSH2 0x1cad
00001c93: JUMPI
00001c94: DUP1
00001c95: DUP3
00001c96: PUSH2 0x1c9e
00001c99: SWAP3
00001c9a: PUSH2 0x29c5
00001c9d: JUMP
00001c9e: JUMPDEST
00001c9f: POP
00001ca0: JUMPDEST
00001ca1: DUP3
00001ca2: MLOAD
00001ca3: SWAP2
00001ca4: DUP3
00001ca5: MSTORE
00001ca6: PUSH1 0x20
00001ca8: DUP3
00001ca9: ADD
00001caa: MSTORE
00001cab: LOG1
00001cac: JUMP
00001cad: JUMPDEST
00001cae: DUP1
00001caf: DUP3
00001cb0: PUSH2 0x1cb8
00001cb3: SWAP3
00001cb4: PUSH2 0x281f
00001cb7: JUMP
00001cb8: JUMPDEST
00001cb9: POP
00001cba: PUSH2 0x1ca0
00001cbd: JUMP
00001cbe: JUMPDEST
00001cbf: SWAP1
00001cc0: CALLDATALOAD
00001cc1: PUSH1 0x1e
00001cc3: NOT
00001cc4: DUP3
00001cc5: CALLDATASIZE
00001cc6: SUB
00001cc7: ADD
00001cc8: DUP2
00001cc9: SLT
00001cca: ISZERO
00001ccb: PUSH2 0x02f0
00001cce: JUMPI
00001ccf: ADD
00001cd0: PUSH1 0x20
00001cd2: DUP2
00001cd3: CALLDATALOAD
00001cd4: SWAP2
00001cd5: ADD
00001cd6: SWAP2
00001cd7: PUSH1 0x01
00001cd9: PUSH1 0x01
00001cdb: PUSH1 0x40
00001cdd: SHL
00001cde: SUB
00001cdf: DUP3
00001ce0: GT
00001ce1: PUSH2 0x02f0
00001ce4: JUMPI
00001ce5: DUP2
00001ce6: CALLDATASIZE
00001ce7: SUB
00001ce8: DUP4
00001ce9: SGT
00001cea: PUSH2 0x02f0
00001ced: JUMPI
00001cee: JUMP
00001cef: JUMPDEST
00001cf0: SWAP1
00001cf1: PUSH1 0xa0
00001cf3: PUSH2 0x104e
00001cf6: SWAP3
00001cf7: PUSH1 0x20
00001cf9: DUP2
00001cfa: MSTORE
00001cfb: DUP3
00001cfc: CALLDATALOAD
00001cfd: PUSH1 0x20
00001cff: DUP3
00001d00: ADD
00001d01: MSTORE
00001d02: PUSH1 0x20
00001d04: DUP4
00001d05: ADD
00001d06: CALLDATALOAD
00001d07: PUSH1 0x40
00001d09: DUP3
00001d0a: ADD
00001d0b: MSTORE
00001d0c: PUSH2 0x1d2b
00001d0f: PUSH2 0x1d1b
00001d12: PUSH1 0x40
00001d14: DUP6
00001d15: ADD
00001d16: DUP6
00001d17: PUSH2 0x1cbe
00001d1a: JUMP
00001d1b: JUMPDEST
00001d1c: DUP5
00001d1d: PUSH1 0x60
00001d1f: DUP6
00001d20: ADD
00001d21: MSTORE
00001d22: PUSH1 0xc0
00001d24: DUP5
00001d25: ADD
00001d26: SWAP2
00001d27: PUSH2 0x196c
00001d2a: JUMP
00001d2b: JUMPDEST
00001d2c: SWAP1
00001d2d: PUSH2 0x1d5e
00001d30: PUSH2 0x1d53
00001d33: PUSH2 0x1d3f
00001d36: PUSH1 0x60
00001d38: DUP8
00001d39: ADD
00001d3a: DUP8
00001d3b: PUSH2 0x1cbe
00001d3e: JUMP
00001d3f: JUMPDEST
00001d40: PUSH1 0x1f
00001d42: NOT
00001d43: DUP6
00001d44: DUP8
00001d45: SUB
00001d46: DUP2
00001d47: ADD
00001d48: PUSH1 0x80
00001d4a: DUP8
00001d4b: ADD
00001d4c: MSTORE
00001d4d: SWAP6
00001d4e: SWAP2
00001d4f: PUSH2 0x196c
00001d52: JUMP
00001d53: JUMPDEST
00001d54: SWAP5
00001d55: PUSH1 0x80
00001d57: DUP2
00001d58: ADD
00001d59: SWAP1
00001d5a: PUSH2 0x1cbe
00001d5d: JUMP
00001d5e: JUMPDEST
00001d5f: SWAP4
00001d60: SWAP1
00001d61: SWAP3
00001d62: DUP3
00001d63: DUP7
00001d64: SUB
00001d65: ADD
00001d66: SWAP2
00001d67: ADD
00001d68: MSTORE
00001d69: PUSH2 0x196c
00001d6c: JUMP
00001d6d: JUMPDEST
00001d6e: SWAP1
00001d6f: PUSH9 0x01bc16d674ec800000
00001d79: SWAP2
00001d7a: DUP1
00001d7b: DUP4
00001d7c: MUL
00001d7d: SWAP3
00001d7e: DUP4
00001d7f: DIV
00001d80: SUB
00001d81: PUSH2 0x0bee
00001d84: JUMPI
00001d85: JUMP
00001d86: JUMPDEST
00001d87: SWAP3
00001d88: SWAP1
00001d89: SWAP5
00001d8a: SWAP4
00001d8b: SWAP2
00001d8c: SWAP6
00001d8d: PUSH2 0x1d94
00001d90: PUSH2 0x2c52
00001d93: JUMP
00001d94: JUMPDEST
00001d95: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00001db6: PUSH1 0x01
00001db8: PUSH1 0x01
00001dba: PUSH1 0xa0
00001dbc: SHL
00001dbd: SUB
00001dbe: AND
00001dbf: SWAP6
00001dc0: DUP7
00001dc1: EXTCODESIZE
00001dc2: ISZERO
00001dc3: PUSH2 0x02f0
00001dc6: JUMPI
00001dc7: PUSH1 0x40
00001dc9: SWAP7
00001dca: PUSH0
00001dcb: DUP9
00001dcc: MLOAD
00001dcd: DUP1
00001dce: SWAP3
00001dcf: PUSH4 0x837d4441
00001dd4: PUSH1 0xe0
00001dd6: SHL
00001dd7: DUP3
00001dd8: MSTORE
00001dd9: DUP2
00001dda: DUP4
00001ddb: DUP2
00001ddc: PUSH2 0x1de8
00001ddf: DUP13
00001de0: PUSH1 0x04
00001de2: DUP4
00001de3: ADD
00001de4: PUSH2 0x1cef
00001de7: JUMP
00001de8: JUMPDEST
00001de9: SUB
00001dea: SWAP3
00001deb: GAS
00001dec: CALL
00001ded: DUP1
00001dee: ISZERO
00001def: PUSH2 0x08b2
00001df2: JUMPI
00001df3: PUSH2 0x1ea5
00001df6: JUMPI
00001df7: JUMPDEST
00001df8: POP
00001df9: PUSH2 0x1e00
00001dfc: PUSH2 0x14f3
00001dff: JUMP
00001e00: JUMPDEST
00001e01: PUSH2 0x1e09
00001e04: DUP10
00001e05: PUSH2 0x1d6d
00001e08: JUMP
00001e09: JUMPDEST
00001e0a: GT
00001e0b: PUSH2 0x1e94
00001e0e: JUMPI
00001e0f: DUP8
00001e10: ISZERO
00001e11: DUP1
00001e12: ISZERO
00001e13: PUSH2 0x1e7a
00001e16: JUMPI
00001e17: JUMPDEST
00001e18: PUSH2 0x1e69
00001e1b: JUMPI
00001e1c: SWAP2
00001e1d: PUSH2 0x1e47
00001e20: SWAP6
00001e21: SWAP4
00001e22: SWAP2
00001e23: PUSH2 0x1e41
00001e26: DUP10
00001e27: PUSH2 0x13e3
00001e2a: SWAP8
00001e2b: SWAP6
00001e2c: PUSH2 0x1e3b
00001e2f: PUSH1 0xd0
00001e31: SLOAD
00001e32: SWAP8
00001e33: DUP13
00001e34: DUP2
00001e35: ADD
00001e36: SWAP1
00001e37: PUSH2 0x1a00
00001e3a: JUMP
00001e3b: JUMPDEST
00001e3c: SWAP1
00001e3d: PUSH2 0x2deb
00001e40: JUMP
00001e41: JUMPDEST
00001e42: SWAP5
00001e43: PUSH2 0x2f5e
00001e46: JUMP
00001e47: JUMPDEST
00001e48: PUSH2 0x1e59
00001e4b: JUMPI
00001e4c: POP
00001e4d: PUSH2 0x06e0
00001e50: SWAP1
00001e51: PUSH1 0xd1
00001e53: SLOAD
00001e54: ADD
00001e55: PUSH1 0xd1
00001e57: SSTORE
00001e58: JUMP
00001e59: JUMPDEST
00001e5a: MLOAD
00001e5b: PUSH4 0x09bde339
00001e60: PUSH1 0xe0
00001e62: SHL
00001e63: DUP2
00001e64: MSTORE
00001e65: PUSH1 0x04
00001e67: SWAP1
00001e68: REVERT
00001e69: JUMPDEST
00001e6a: DUP7
00001e6b: MLOAD
00001e6c: PUSH4 0x1c6c4cf3
00001e71: PUSH1 0xe3
00001e73: SHL
00001e74: DUP2
00001e75: MSTORE
00001e76: PUSH1 0x04
00001e78: SWAP1
00001e79: REVERT
00001e7a: JUMPDEST
00001e7b: POP
00001e7c: PUSH2 0x1e87
00001e7f: DUP8
00001e80: DUP7
00001e81: ADD
00001e82: DUP7
00001e83: PUSH2 0x1a00
00001e86: JUMP
00001e87: JUMPDEST
00001e88: SWAP1
00001e89: POP
00001e8a: PUSH1 0xb0
00001e8c: DUP10
00001e8d: MUL
00001e8e: EQ
00001e8f: ISZERO
00001e90: PUSH2 0x1e17
00001e93: JUMP
00001e94: JUMPDEST
00001e95: DUP7
00001e96: MLOAD
00001e97: PUSH4 0x96d80433
00001e9c: PUSH1 0xe0
00001e9e: SHL
00001e9f: DUP2
00001ea0: MSTORE
00001ea1: PUSH1 0x04
00001ea3: SWAP1
00001ea4: REVERT
00001ea5: JUMPDEST
00001ea6: DUP1
00001ea7: PUSH2 0x143f
00001eaa: PUSH2 0x1eb2
00001ead: SWAP3
00001eae: PUSH2 0x0664
00001eb1: JUMP
00001eb2: JUMPDEST
00001eb3: PUSH0
00001eb4: PUSH2 0x1df7
00001eb7: JUMP
00001eb8: JUMPDEST
00001eb9: SWAP4
00001eba: SWAP3
00001ebb: SWAP2
00001ebc: PUSH1 0x20
00001ebe: SWAP2
00001ebf: PUSH2 0x1ed0
00001ec2: SWAP2
00001ec3: PUSH1 0x40
00001ec5: DUP8
00001ec6: MSTORE
00001ec7: PUSH1 0x40
00001ec9: DUP8
00001eca: ADD
00001ecb: SWAP2
00001ecc: PUSH2 0x196c
00001ecf: JUMP
00001ed0: JUMPDEST
00001ed1: SWAP4
00001ed2: ADD
00001ed3: MSTORE
00001ed4: JUMP
00001ed5: JUMPDEST
00001ed6: SWAP1
00001ed7: PUSH1 0x40
00001ed9: MLOAD
00001eda: SWAP2
00001edb: PUSH1 0x20
00001edd: DUP4
00001ede: ADD
00001edf: MSTORE
00001ee0: PUSH1 0x20
00001ee2: DUP3
00001ee3: MSTORE
00001ee4: PUSH2 0x06e0
00001ee7: DUP3
00001ee8: PUSH2 0x0697
00001eeb: JUMP
00001eec: JUMPDEST
00001eed: PUSH2 0x1ef5
00001ef0: CALLER
00001ef1: PUSH2 0x30bb
00001ef4: JUMP
00001ef5: JUMPDEST
00001ef6: PUSH2 0x14e1
00001ef9: CALLVALUE
00001efa: CALLER
00001efb: PUSH2 0x30dc
00001efe: JUMP
00001eff: JUMPDEST
00001f00: PUSH4 0x4e487b71
00001f05: PUSH1 0xe0
00001f07: SHL
00001f08: PUSH0
00001f09: MSTORE
00001f0a: PUSH1 0x12
00001f0c: PUSH1 0x04
00001f0e: MSTORE
00001f0f: PUSH1 0x24
00001f11: PUSH0
00001f12: REVERT
00001f13: JUMPDEST
00001f14: DUP2
00001f15: ISZERO
00001f16: PUSH2 0x1f1d
00001f19: JUMPI
00001f1a: DIV
00001f1b: SWAP1
00001f1c: JUMP
00001f1d: JUMPDEST
00001f1e: PUSH2 0x1eff
00001f21: JUMP
00001f22: JUMPDEST
00001f23: SWAP1
00001f24: DUP1
00001f25: DUP3
00001f26: MUL
00001f27: SWAP1
00001f28: PUSH0
00001f29: NOT
00001f2a: DUP2
00001f2b: DUP5
00001f2c: MULMOD
00001f2d: SWAP1
00001f2e: DUP3
00001f2f: DUP1
00001f30: DUP4
00001f31: LT
00001f32: SWAP3
00001f33: SUB
00001f34: SWAP2
00001f35: DUP1
00001f36: DUP4
00001f37: SUB
00001f38: SWAP3
00001f39: EQ
00001f3a: PUSH2 0x1f91
00001f3d: JUMPI
00001f3e: PUSH2 0x2710
00001f41: SWAP1
00001f42: DUP3
00001f43: DUP3
00001f44: GT
00001f45: ISZERO
00001f46: PUSH2 0x1f7f
00001f49: JUMPI
00001f4a: PUSH32 0xbc01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e91
00001f6b: SWAP5
00001f6c: MULMOD
00001f6d: SWAP1
00001f6e: DUP3
00001f6f: DUP3
00001f70: GT
00001f71: SWAP1
00001f72: SUB
00001f73: PUSH1 0xfc
00001f75: SHL
00001f76: SWAP2
00001f77: SUB
00001f78: PUSH1 0x04
00001f7a: SHR
00001f7b: OR
00001f7c: MUL
00001f7d: SWAP1
00001f7e: JUMP
00001f7f: JUMPDEST
00001f80: PUSH1 0x40
00001f82: MLOAD
00001f83: PUSH4 0x227bc153
00001f88: PUSH1 0xe0
00001f8a: SHL
00001f8b: DUP2
00001f8c: MSTORE
00001f8d: PUSH1 0x04
00001f8f: SWAP1
00001f90: REVERT
00001f91: JUMPDEST
00001f92: POP
00001f93: POP
00001f94: PUSH2 0x2710
00001f97: SWAP2
00001f98: POP
00001f99: DIV
00001f9a: SWAP1
00001f9b: JUMP
00001f9c: JUMPDEST
00001f9d: SWAP1
00001f9e: SWAP2
00001f9f: DUP3
00001fa0: DUP3
00001fa1: MUL
00001fa2: SWAP2
00001fa3: PUSH0
00001fa4: NOT
00001fa5: DUP5
00001fa6: DUP3
00001fa7: MULMOD
00001fa8: SWAP4
00001fa9: DUP4
00001faa: DUP1
00001fab: DUP7
00001fac: LT
00001fad: SWAP6
00001fae: SUB
00001faf: SWAP5
00001fb0: DUP1
00001fb1: DUP7
00001fb2: SUB
00001fb3: SWAP6
00001fb4: EQ
00001fb5: PUSH2 0x200f
00001fb8: JUMPI
00001fb9: DUP5
00001fba: DUP4
00001fbb: GT
00001fbc: ISZERO
00001fbd: PUSH2 0x1f7f
00001fc0: JUMPI
00001fc1: DUP3
00001fc2: SWAP2
00001fc3: MULMOD
00001fc4: DUP2
00001fc5: PUSH0
00001fc6: SUB
00001fc7: DUP3
00001fc8: AND
00001fc9: DUP1
00001fca: SWAP3
00001fcb: DIV
00001fcc: PUSH1 0x02
00001fce: DUP1
00001fcf: DUP3
00001fd0: PUSH1 0x03
00001fd2: MUL
00001fd3: XOR
00001fd4: DUP1
00001fd5: DUP4
00001fd6: MUL
00001fd7: DUP3
00001fd8: SUB
00001fd9: MUL
00001fda: DUP1
00001fdb: DUP4
00001fdc: MUL
00001fdd: DUP3
00001fde: SUB
00001fdf: MUL
00001fe0: DUP1
00001fe1: DUP4
00001fe2: MUL
00001fe3: DUP3
00001fe4: SUB
00001fe5: MUL
00001fe6: DUP1
00001fe7: DUP4
00001fe8: MUL
00001fe9: DUP3
00001fea: SUB
00001feb: MUL
00001fec: DUP1
00001fed: DUP4
00001fee: MUL
00001fef: DUP3
00001ff0: SUB
00001ff1: MUL
00001ff2: DUP1
00001ff3: SWAP3
00001ff4: MUL
00001ff5: SWAP1
00001ff6: SUB
00001ff7: MUL
00001ff8: SWAP4
00001ff9: PUSH1 0x01
00001ffb: DUP4
00001ffc: DUP1
00001ffd: PUSH0
00001ffe: SUB
00001fff: DIV
00002000: ADD
00002001: SWAP1
00002002: DUP5
00002003: DUP4
00002004: GT
00002005: SWAP1
00002006: SUB
00002007: MUL
00002008: SWAP3
00002009: SUB
0000200a: DIV
0000200b: OR
0000200c: MUL
0000200d: SWAP1
0000200e: JUMP
0000200f: JUMPDEST
00002010: POP
00002011: POP
00002012: SWAP1
00002013: PUSH2 0x104e
00002016: SWAP3
00002017: POP
00002018: PUSH2 0x1f13
0000201b: JUMP
0000201c: JUMPDEST
0000201d: SWAP1
0000201e: DUP2
0000201f: PUSH1 0x60
00002021: SWAP2
00002022: SUB
00002023: SLT
00002024: PUSH2 0x02f0
00002027: JUMPI
00002028: DUP1
00002029: MLOAD
0000202a: SWAP2
0000202b: PUSH1 0x40
0000202d: PUSH1 0x20
0000202f: DUP4
00002030: ADD
00002031: MLOAD
00002032: SWAP3
00002033: ADD
00002034: MLOAD
00002035: PUSH2 0x104e
00002038: DUP2
00002039: PUSH2 0x1096
0000203c: JUMP
0000203d: JUMPDEST
0000203e: DUP2
0000203f: DUP4
00002040: MSTORE
00002041: SWAP1
00002042: SWAP2
00002043: PUSH1 0x01
00002045: PUSH1 0x01
00002047: PUSH1 0xfb
00002049: SHL
0000204a: SUB
0000204b: DUP4
0000204c: GT
0000204d: PUSH2 0x02f0
00002050: JUMPI
00002051: PUSH1 0x20
00002053: SWAP3
00002054: PUSH1 0x05
00002056: SHL
00002057: DUP1
00002058: SWAP3
00002059: DUP5
0000205a: DUP4
0000205b: ADD
0000205c: CALLDATACOPY
0000205d: ADD
0000205e: ADD
0000205f: SWAP1
00002060: JUMP
00002061: JUMPDEST
00002062: SWAP1
00002063: PUSH1 0x20
00002065: DUP3
00002066: MSTORE
00002067: DUP1
00002068: CALLDATALOAD
00002069: PUSH1 0x20
0000206b: DUP4
0000206c: ADD
0000206d: MSTORE
0000206e: PUSH1 0x20
00002070: DUP2
00002071: ADD
00002072: CALLDATALOAD
00002073: DUP1
00002074: PUSH1 0x13
00002076: SIGNEXTEND
00002077: DUP1
00002078: SWAP2
00002079: SUB
0000207a: PUSH2 0x02f0
0000207d: JUMPI
0000207e: PUSH1 0x40
00002080: DUP4
00002081: ADD
00002082: MSTORE
00002083: PUSH1 0x40
00002085: DUP2
00002086: ADD
00002087: CALLDATALOAD
00002088: PUSH2 0x2090
0000208b: DUP2
0000208c: PUSH2 0x0363
0000208f: JUMP
00002090: JUMPDEST
00002091: PUSH1 0x01
00002093: PUSH1 0x01
00002095: PUSH1 0xa0
00002097: SHL
00002098: SUB
00002099: AND
0000209a: PUSH1 0x60
0000209c: DUP4
0000209d: DUP2
0000209e: ADD
0000209f: SWAP2
000020a0: SWAP1
000020a1: SWAP2
000020a2: MSTORE
000020a3: DUP2
000020a4: ADD
000020a5: CALLDATALOAD
000020a6: CALLDATASIZE
000020a7: DUP3
000020a8: SWAP1
000020a9: SUB
000020aa: PUSH1 0x1e
000020ac: NOT
000020ad: ADD
000020ae: DUP2
000020af: SLT
000020b0: ISZERO
000020b1: PUSH2 0x02f0
000020b4: JUMPI
000020b5: ADD
000020b6: PUSH1 0x20
000020b8: DUP2
000020b9: CALLDATALOAD
000020ba: SWAP2
000020bb: ADD
000020bc: SWAP1
000020bd: PUSH1 0x01
000020bf: PUSH1 0x01
000020c1: PUSH1 0x40
000020c3: SHL
000020c4: SUB
000020c5: DUP2
000020c6: GT
000020c7: PUSH2 0x02f0
000020ca: JUMPI
000020cb: DUP1
000020cc: PUSH1 0x05
000020ce: SHL
000020cf: CALLDATASIZE
000020d0: SUB
000020d1: DUP3
000020d2: SGT
000020d3: PUSH2 0x02f0
000020d6: JUMPI
000020d7: PUSH1 0xa0
000020d9: DUP4
000020da: PUSH1 0x80
000020dc: DUP1
000020dd: PUSH2 0x104e
000020e0: SWAP7
000020e1: ADD
000020e2: MSTORE
000020e3: ADD
000020e4: SWAP2
000020e5: PUSH2 0x203d
000020e8: JUMP
000020e9: JUMPDEST
000020ea: SWAP1
000020eb: DUP2
000020ec: PUSH1 0x20
000020ee: SWAP2
000020ef: SUB
000020f0: SLT
000020f1: PUSH2 0x02f0
000020f4: JUMPI
000020f5: MLOAD
000020f6: SWAP1
000020f7: JUMP
000020f8: JUMPDEST
000020f9: SWAP2
000020fa: SWAP1
000020fb: SWAP2
000020fc: PUSH0
000020fd: DUP4
000020fe: DUP3
000020ff: ADD
00002100: SWAP4
00002101: DUP5
00002102: SLT
00002103: SWAP2
00002104: SLT
00002105: SWAP1
00002106: DUP1
00002107: ISZERO
00002108: DUP3
00002109: AND
0000210a: SWAP2
0000210b: ISZERO
0000210c: AND
0000210d: OR
0000210e: PUSH2 0x0bee
00002111: JUMPI
00002112: JUMP
00002113: JUMPDEST
00002114: PUSH1 0x40
00002116: MLOAD
00002117: PUSH4 0x25f56f11
0000211c: PUSH1 0xe0
0000211e: SHL
0000211f: DUP2
00002120: MSTORE
00002121: PUSH1 0x01
00002123: PUSH1 0x01
00002125: PUSH1 0xa0
00002127: SHL
00002128: SUB
00002129: SWAP3
0000212a: SWAP2
0000212b: PUSH1 0x60
0000212d: SWAP1
0000212e: DUP3
0000212f: SWAP1
00002130: DUP2
00002131: SWAP1
00002132: PUSH2 0x213e
00002135: SWAP1
00002136: PUSH1 0x04
00002138: DUP4
00002139: ADD
0000213a: PUSH2 0x2061
0000213d: JUMP
0000213e: JUMPDEST
0000213f: SUB
00002140: DUP2
00002141: PUSH0
00002142: DUP8
00002143: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00002164: AND
00002165: GAS
00002166: CALL
00002167: SWAP3
00002168: DUP4
00002169: ISZERO
0000216a: PUSH2 0x08b2
0000216d: JUMPI
0000216e: PUSH0
0000216f: SWAP2
00002170: PUSH0
00002171: SWAP1
00002172: PUSH0
00002173: SWAP6
00002174: PUSH2 0x2264
00002177: JUMPI
00002178: JUMPDEST
00002179: POP
0000217a: DUP5
0000217b: ISZERO
0000217c: PUSH2 0x2211
0000217f: JUMPI
00002180: DUP2
00002181: PUSH2 0x2188
00002184: PUSH2 0x1522
00002187: JUMP
00002188: JUMPDEST
00002189: AND
0000218a: SWAP2
0000218b: PUSH32 0x00000000000000000000000048319f97e5da1233c21c48b80097c0fb7a20ff86
000021ac: AND
000021ad: DUP3
000021ae: EQ
000021af: PUSH2 0x220a
000021b2: JUMPI
000021b3: POP
000021b4: SWAP1
000021b5: PUSH1 0x20
000021b7: PUSH0
000021b8: SWAP3
000021b9: PUSH1 0x04
000021bb: PUSH1 0x40
000021bd: MLOAD
000021be: DUP1
000021bf: SWAP6
000021c0: DUP2
000021c1: SWAP4
000021c2: PUSH4 0x4641257d
000021c7: PUSH1 0xe0
000021c9: SHL
000021ca: DUP4
000021cb: MSTORE
000021cc: GAS
000021cd: CALL
000021ce: SWAP1
000021cf: DUP2
000021d0: ISZERO
000021d1: PUSH2 0x08b2
000021d4: JUMPI
000021d5: PUSH2 0x21e5
000021d8: SWAP3
000021d9: PUSH0
000021da: SWAP3
000021db: PUSH2 0x21e9
000021de: JUMPI
000021df: JUMPDEST
000021e0: POP
000021e1: PUSH2 0x20f8
000021e4: JUMP
000021e5: JUMPDEST
000021e6: SWAP2
000021e7: SWAP1
000021e8: JUMP
000021e9: JUMPDEST
000021ea: PUSH2 0x2203
000021ed: SWAP2
000021ee: SWAP3
000021ef: POP
000021f0: PUSH1 0x20
000021f2: RETURNDATASIZE
000021f3: PUSH1 0x20
000021f5: GT
000021f6: PUSH2 0x0992
000021f9: JUMPI
000021fa: PUSH2 0x0984
000021fd: DUP2
000021fe: DUP4
000021ff: PUSH2 0x06b2
00002202: JUMP
00002203: JUMPDEST
00002204: SWAP1
00002205: PUSH0
00002206: PUSH2 0x21df
00002209: JUMP
0000220a: JUMPDEST
0000220b: SWAP1
0000220c: DUP2
0000220d: PUSH2 0x2217
00002210: JUMPI
00002211: JUMPDEST
00002212: POP
00002213: POP
00002214: SWAP2
00002215: SWAP1
00002216: JUMP
00002217: JUMPDEST
00002218: DUP1
00002219: EXTCODESIZE
0000221a: ISZERO
0000221b: PUSH2 0x02f0
0000221e: JUMPI
0000221f: PUSH1 0x40
00002221: MLOAD
00002222: PUSH4 0x6ee31931
00002227: PUSH1 0xe1
00002229: SHL
0000222a: DUP2
0000222b: MSTORE
0000222c: PUSH1 0x04
0000222e: DUP2
0000222f: ADD
00002230: SWAP3
00002231: SWAP1
00002232: SWAP3
00002233: MSTORE
00002234: PUSH0
00002235: SWAP1
00002236: DUP3
00002237: SWAP1
00002238: PUSH1 0x24
0000223a: SWAP1
0000223b: DUP3
0000223c: SWAP1
0000223d: DUP5
0000223e: SWAP1
0000223f: GAS
00002240: CALL
00002241: DUP1
00002242: ISZERO
00002243: PUSH2 0x08b2
00002246: JUMPI
00002247: PUSH2 0x2251
0000224a: JUMPI
0000224b: JUMPDEST
0000224c: DUP1
0000224d: PUSH2 0x2211
00002250: JUMP
00002251: JUMPDEST
00002252: DUP1
00002253: PUSH2 0x143f
00002256: PUSH2 0x225e
00002259: SWAP3
0000225a: PUSH2 0x0664
0000225d: JUMP
0000225e: JUMPDEST
0000225f: PUSH0
00002260: PUSH2 0x224b
00002263: JUMP
00002264: JUMPDEST
00002265: SWAP2
00002266: SWAP5
00002267: POP
00002268: POP
00002269: PUSH2 0x228a
0000226c: SWAP2
0000226d: POP
0000226e: PUSH1 0x60
00002270: RETURNDATASIZE
00002271: PUSH1 0x60
00002273: GT
00002274: PUSH2 0x2292
00002277: JUMPI
00002278: JUMPDEST
00002279: PUSH2 0x2282
0000227c: DUP2
0000227d: DUP4
0000227e: PUSH2 0x06b2
00002281: JUMP
00002282: JUMPDEST
00002283: DUP2
00002284: ADD
00002285: SWAP1
00002286: PUSH2 0x201c
00002289: JUMP
0000228a: JUMPDEST
0000228b: SWAP4
0000228c: SWAP1
0000228d: PUSH0
0000228e: PUSH2 0x2178
00002291: JUMP
00002292: JUMPDEST
00002293: POP
00002294: RETURNDATASIZE
00002295: PUSH2 0x2278
00002298: JUMP
00002299: JUMPDEST
0000229a: PUSH1 0x01
0000229c: PUSH1 0xff
0000229e: SHL
0000229f: DUP2
000022a0: EQ
000022a1: PUSH2 0x0bee
000022a4: JUMPI
000022a5: PUSH0
000022a6: SUB
000022a7: SWAP1
000022a8: JUMP
000022a9: JUMPDEST
000022aa: PUSH2 0x22c4
000022ad: PUSH2 0x22b8
000022b0: PUSH1 0x98
000022b2: SLOAD
000022b3: PUSH1 0x80
000022b5: SHR
000022b6: SWAP1
000022b7: JUMP
000022b8: JUMPDEST
000022b9: PUSH1 0x01
000022bb: PUSH1 0x01
000022bd: PUSH1 0x80
000022bf: SHL
000022c0: SUB
000022c1: AND
000022c2: SWAP1
000022c3: JUMP
000022c4: JUMPDEST
000022c5: PUSH0
000022c6: DUP3
000022c7: SLT
000022c8: PUSH2 0x23ac
000022cb: JUMPI
000022cc: DUP2
000022cd: PUSH2 0x22d5
000022d0: SWAP2
000022d1: PUSH2 0x179e
000022d4: JUMP
000022d5: JUMPDEST
000022d6: SWAP1
000022d7: PUSH2 0x22fd
000022da: PUSH2 0x22e2
000022dd: DUP4
000022de: PUSH2 0x28f8
000022e1: JUMP
000022e2: JUMPDEST
000022e3: PUSH1 0x01
000022e5: PUSH1 0x01
000022e7: PUSH1 0x80
000022e9: SHL
000022ea: SUB
000022eb: PUSH1 0x98
000022ed: SLOAD
000022ee: SWAP2
000022ef: DUP2
000022f0: NOT
000022f1: SWAP1
000022f2: PUSH1 0x80
000022f4: SHL
000022f5: AND
000022f6: SWAP2
000022f7: AND
000022f8: OR
000022f9: PUSH1 0x98
000022fb: SSTORE
000022fc: JUMP
000022fd: JUMPDEST
000022fe: PUSH2 0x2312
00002301: PUSH1 0x65
00002303: SLOAD
00002304: SWAP2
00002305: PUSH2 0xffff
00002308: DUP4
00002309: PUSH1 0xa0
0000230b: SHR
0000230c: AND
0000230d: SWAP1
0000230e: PUSH2 0x1f22
00002311: JUMP
00002312: JUMPDEST
00002313: DUP1
00002314: ISZERO
00002315: PUSH2 0x1c33
00002318: JUMPI
00002319: DUP1
0000231a: PUSH32 0x555ee6b2ef9506d870f386c067e47d3689435330b012ad263d8cc35318686547
0000233b: SWAP4
0000233c: PUSH2 0x2350
0000233f: PUSH2 0x22b8
00002342: PUSH1 0x98
00002344: SLOAD
00002345: PUSH1 0x01
00002347: PUSH1 0x01
00002349: PUSH1 0x80
0000234b: SHL
0000234c: SUB
0000234d: AND
0000234e: SWAP1
0000234f: JUMP
00002350: JUMPDEST
00002351: DUP1
00002352: PUSH2 0x2396
00002355: JUMPI
00002356: POP
00002357: POP
00002358: PUSH2 0x16be
0000235b: SWAP1
0000235c: SWAP3
0000235d: JUMPDEST
0000235e: PUSH1 0x01
00002360: PUSH1 0x01
00002362: PUSH1 0xa0
00002364: SHL
00002365: SUB
00002366: AND
00002367: SWAP2
00002368: PUSH2 0x2371
0000236b: DUP5
0000236c: DUP5
0000236d: PUSH2 0x323d
00002370: JUMP
00002371: JUMPDEST
00002372: PUSH1 0x40
00002374: MLOAD
00002375: SWAP4
00002376: DUP5
00002377: SWAP4
00002378: DUP5
00002379: PUSH1 0x40
0000237b: SWAP2
0000237c: SWAP5
0000237d: SWAP4
0000237e: SWAP3
0000237f: PUSH1 0x60
00002381: DUP3
00002382: ADD
00002383: SWAP6
00002384: PUSH1 0x01
00002386: DUP1
00002387: PUSH1 0xa0
00002389: SHL
0000238a: SUB
0000238b: AND
0000238c: DUP3
0000238d: MSTORE
0000238e: PUSH1 0x20
00002390: DUP3
00002391: ADD
00002392: MSTORE
00002393: ADD
00002394: MSTORE
00002395: JUMP
00002396: JUMPDEST
00002397: PUSH2 0x16be
0000239a: SWAP3
0000239b: PUSH2 0x23a6
0000239e: SWAP3
0000239f: SUB
000023a0: SWAP1
000023a1: DUP5
000023a2: PUSH2 0x1f9c
000023a5: JUMP
000023a6: JUMPDEST
000023a7: SWAP3
000023a8: PUSH2 0x235d
000023ab: JUMP
000023ac: JUMPDEST
000023ad: PUSH2 0x23c5
000023b0: PUSH2 0x22e2
000023b3: SWAP2
000023b4: PUSH2 0x23bf
000023b7: PUSH2 0x06e0
000023ba: SWAP5
000023bb: PUSH2 0x2299
000023be: JUMP
000023bf: JUMPDEST
000023c0: SWAP1
000023c1: PUSH2 0x1724
000023c4: JUMP
000023c5: JUMPDEST
000023c6: PUSH2 0x28f8
000023c9: JUMP
000023ca: JUMPDEST
000023cb: PUSH1 0x99
000023cd: SLOAD
000023ce: SWAP1
000023cf: PUSH1 0x01
000023d1: PUSH1 0x01
000023d3: PUSH1 0x80
000023d5: SHL
000023d6: SUB
000023d7: DUP3
000023d8: AND
000023d9: SWAP2
000023da: DUP3
000023db: ISZERO
000023dc: PUSH2 0x24ed
000023df: JUMPI
000023e0: PUSH1 0x80
000023e2: SHR
000023e3: PUSH2 0x23fe
000023e6: PUSH2 0x23ef
000023e9: DUP3
000023ea: SELFBALANCE
000023eb: PUSH2 0x1724
000023ee: JUMP
000023ef: JUMPDEST
000023f0: PUSH2 0x23f8
000023f3: DUP6
000023f4: PUSH2 0x149c
000023f7: JUMP
000023f8: JUMPDEST
000023f9: SWAP1
000023fa: PUSH2 0x328b
000023fd: JUMP
000023fe: JUMPDEST
000023ff: SWAP1
00002400: DUP2
00002401: ISZERO
00002402: PUSH2 0x24e6
00002405: JUMPI
00002406: PUSH2 0x240e
00002409: DUP3
0000240a: PUSH2 0x2b1a
0000240d: JUMP
0000240e: JUMPDEST
0000240f: SWAP4
00002410: DUP5
00002411: ISZERO
00002412: PUSH2 0x24de
00002415: JUMPI
00002416: DUP3
00002417: PUSH2 0x245b
0000241a: PUSH2 0x1877
0000241d: PUSH2 0x23c5
00002420: PUSH2 0x06e0
00002423: SWAP7
00002424: PUSH2 0x22e2
00002427: SWAP7
00002428: PUSH2 0x2456
0000242b: PUSH2 0x243a
0000242e: PUSH2 0x23c5
00002431: DUP14
00002432: PUSH2 0x24d3
00002435: SWAP11
00002436: PUSH2 0x1724
00002439: JUMP
0000243a: JUMPDEST
0000243b: PUSH1 0x01
0000243d: PUSH1 0x01
0000243f: PUSH1 0x80
00002441: SHL
00002442: SUB
00002443: AND
00002444: PUSH1 0x01
00002446: PUSH1 0x01
00002448: PUSH1 0x80
0000244a: SHL
0000244b: SUB
0000244c: NOT
0000244d: PUSH1 0x99
0000244f: SLOAD
00002450: AND
00002451: OR
00002452: PUSH1 0x99
00002454: SSTORE
00002455: JUMP
00002456: JUMPDEST
00002457: PUSH2 0x179e
0000245a: JUMP
0000245b: JUMPDEST
0000245c: PUSH2 0x2465
0000245f: DUP2
00002460: DUP8
00002461: PUSH2 0x32f1
00002464: JUMP
00002465: JUMPDEST
00002466: PUSH1 0x40
00002468: DUP1
00002469: MLOAD
0000246a: DUP8
0000246b: DUP2
0000246c: MSTORE
0000246d: PUSH1 0x20
0000246f: DUP2
00002470: ADD
00002471: DUP4
00002472: SWAP1
00002473: MSTORE
00002474: PUSH32 0x624ea167e477f9d39f7f4094b9dfe2e6346eb4a7aada54338db51abd554c4b9f
00002495: SWAP2
00002496: SWAP1
00002497: LOG1
00002498: PUSH2 0x23c5
0000249b: PUSH2 0x24b7
0000249e: PUSH2 0x24a6
000024a1: DUP9
000024a2: PUSH2 0x28f8
000024a5: JUMP
000024a6: JUMPDEST
000024a7: PUSH1 0x98
000024a9: SLOAD
000024aa: PUSH1 0x01
000024ac: PUSH1 0x01
000024ae: PUSH1 0x80
000024b0: SHL
000024b1: SUB
000024b2: AND
000024b3: PUSH2 0x17ab
000024b6: JUMP
000024b7: JUMPDEST
000024b8: PUSH1 0x01
000024ba: PUSH1 0x01
000024bc: PUSH1 0x80
000024be: SHL
000024bf: SUB
000024c0: AND
000024c1: PUSH1 0x01
000024c3: PUSH1 0x01
000024c5: PUSH1 0x80
000024c7: SHL
000024c8: SUB
000024c9: NOT
000024ca: PUSH1 0x98
000024cc: SLOAD
000024cd: AND
000024ce: OR
000024cf: PUSH1 0x98
000024d1: SSTORE
000024d2: JUMP
000024d3: JUMPDEST
000024d4: PUSH1 0x98
000024d6: SLOAD
000024d7: PUSH1 0x80
000024d9: SHR
000024da: PUSH2 0x17ab
000024dd: JUMP
000024de: JUMPDEST
000024df: POP
000024e0: PUSH0
000024e1: SWAP4
000024e2: POP
000024e3: POP
000024e4: POP
000024e5: JUMP
000024e6: JUMPDEST
000024e7: POP
000024e8: PUSH0
000024e9: SWAP3
000024ea: POP
000024eb: POP
000024ec: JUMP
000024ed: JUMPDEST
000024ee: POP
000024ef: PUSH0
000024f0: SWAP2
000024f1: POP
000024f2: JUMP
000024f3: JUMPDEST
000024f4: PUSH2 0x24fb
000024f7: PUSH2 0x33d8
000024fa: JUMP
000024fb: JUMPDEST
000024fc: DUP1
000024fd: MLOAD
000024fe: PUSH1 0x80
00002500: DUP3
00002501: ADD
00002502: MLOAD
00002503: PUSH1 0x01
00002505: PUSH1 0x01
00002507: PUSH1 0xa0
00002509: SHL
0000250a: SUB
0000250b: SWAP2
0000250c: DUP3
0000250d: AND
0000250e: PUSH2 0x2515
00002511: PUSH2 0x33d8
00002514: JUMP
00002515: JUMPDEST
00002516: PUSH1 0x01
00002518: PUSH1 0x01
0000251a: PUSH1 0x60
0000251c: SHL
0000251d: SUB
0000251e: PUSH1 0xa0
00002520: SHL
00002521: PUSH0
00002522: SLOAD
00002523: AND
00002524: OR
00002525: PUSH0
00002526: SSTORE
00002527: PUSH32 0x2013570c343af8ab14a9778150e381a0fda34ed6368127a95fd5e7210cbec5bf
00002548: PUSH1 0x40
0000254a: MLOAD
0000254b: PUSH1 0x20
0000254d: DUP2
0000254e: MSTORE
0000254f: DUP1
00002550: PUSH2 0x255e
00002553: CALLER
00002554: SWAP5
00002555: PUSH1 0x20
00002557: DUP4
00002558: ADD
00002559: SWAP1
0000255a: PUSH2 0x0ed1
0000255d: JUMP
0000255e: JUMPDEST
0000255f: SUB
00002560: SWAP1
00002561: LOG2
00002562: DUP2
00002563: MLOAD
00002564: AND
00002565: PUSH1 0x60
00002567: DUP3
00002568: ADD
00002569: MLOAD
0000256a: SWAP2
0000256b: PUSH2 0x2572
0000256e: PUSH2 0x33d8
00002571: JUMP
00002572: JUMPDEST
00002573: PUSH2 0x2710
00002576: PUSH2 0xffff
00002579: DUP5
0000257a: AND
0000257b: GT
0000257c: PUSH2 0x25e4
0000257f: JUMPI
00002580: PUSH2 0x25dc
00002583: SWAP3
00002584: PUSH2 0x258f
00002587: PUSH2 0x25d7
0000258a: SWAP4
0000258b: PUSH2 0x2bf0
0000258e: JUMP
0000258f: JUMPDEST
00002590: PUSH1 0x65
00002592: SLOAD
00002593: SWAP1
00002594: PUSH2 0xffff
00002597: PUSH1 0xa0
00002599: SHL
0000259a: SWAP1
0000259b: PUSH1 0xa0
0000259d: SHL
0000259e: AND
0000259f: SWAP1
000025a0: PUSH2 0xffff
000025a3: PUSH1 0xa0
000025a5: SHL
000025a6: NOT
000025a7: AND
000025a8: OR
000025a9: PUSH1 0x65
000025ab: SSTORE
000025ac: PUSH2 0x25b8
000025af: PUSH1 0x40
000025b1: DUP3
000025b2: ADD
000025b3: MLOAD
000025b4: PUSH2 0x3406
000025b7: JUMP
000025b8: JUMPDEST
000025b9: PUSH2 0x25c0
000025bc: PUSH2 0x3436
000025bf: JUMP
000025c0: JUMPDEST
000025c1: PUSH1 0x20
000025c3: DUP2
000025c4: ADD
000025c5: MLOAD
000025c6: PUSH2 0x1689
000025c9: SWAP1
000025ca: PUSH1 0x01
000025cc: PUSH1 0x01
000025ce: PUSH1 0xa0
000025d0: SHL
000025d1: SUB
000025d2: AND
000025d3: PUSH2 0x3457
000025d6: JUMP
000025d7: JUMPDEST
000025d8: PUSH2 0x3486
000025db: JUMP
000025dc: JUMPDEST
000025dd: PUSH2 0x06e0
000025e0: PUSH2 0x3492
000025e3: JUMP
000025e4: JUMPDEST
000025e5: PUSH1 0x40
000025e7: MLOAD
000025e8: PUSH4 0x8a81d3b3
000025ed: PUSH1 0xe0
000025ef: SHL
000025f0: DUP2
000025f1: MSTORE
000025f2: PUSH1 0x04
000025f4: SWAP1
000025f5: REVERT
000025f6: JUMPDEST
000025f7: PUSH1 0x01
000025f9: PUSH1 0x01
000025fb: PUSH1 0xa0
000025fd: SHL
000025fe: SUB
000025ff: PUSH32 0x000000000000000000000000aeae7d602b537b2065f3da05dcce754fb23a968d
00002620: DUP2
00002621: AND
00002622: ADDRESS
00002623: DUP2
00002624: EQ
00002625: SWAP2
00002626: DUP3
00002627: ISZERO
00002628: PUSH2 0x2634
0000262b: JUMPI
0000262c: JUMPDEST
0000262d: POP
0000262e: POP
0000262f: PUSH2 0x0a91
00002632: JUMPI
00002633: JUMP
00002634: JUMPDEST
00002635: PUSH0
00002636: DUP1
00002637: MLOAD
00002638: PUSH1 0x20
0000263a: PUSH2 0x39af
0000263d: DUP4
0000263e: CODECOPY
0000263f: DUP2
00002640: MLOAD
00002641: SWAP2
00002642: MSTORE
00002643: SLOAD
00002644: AND
00002645: EQ
00002646: ISZERO
00002647: SWAP1
00002648: POP
00002649: PUSH0
0000264a: DUP1
0000264b: PUSH2 0x262c
0000264e: JUMP
0000264f: JUMPDEST
00002650: SWAP1
00002651: PUSH1 0x40
00002653: MLOAD
00002654: PUSH1 0x40
00002656: DUP2
00002657: ADD
00002658: DUP2
00002659: DUP2
0000265a: LT
0000265b: PUSH1 0x01
0000265d: PUSH1 0x01
0000265f: PUSH1 0x40
00002661: SHL
00002662: SUB
00002663: DUP3
00002664: GT
00002665: OR
00002666: PUSH2 0x0677
00002669: JUMPI
0000266a: PUSH1 0x40
0000266c: MSTORE
0000266d: SWAP2
0000266e: SLOAD
0000266f: PUSH1 0x01
00002671: PUSH1 0x01
00002673: PUSH1 0xa0
00002675: SHL
00002676: SUB
00002677: DUP2
00002678: AND
00002679: DUP4
0000267a: MSTORE
0000267b: PUSH1 0xa0
0000267d: SHR
0000267e: PUSH1 0x20
00002680: DUP4
00002681: ADD
00002682: MSTORE
00002683: JUMP
00002684: JUMPDEST
00002685: PUSH1 0x9a
00002687: SLOAD
00002688: PUSH0
00002689: SWAP5
0000268a: DUP6
0000268b: SWAP5
0000268c: SWAP4
0000268d: SWAP1
0000268e: SWAP2
0000268f: DUP1
00002690: DUP5
00002691: LT
00002692: DUP1
00002693: ISZERO
00002694: SWAP1
00002695: PUSH2 0x2817
00002698: JUMPI
00002699: JUMPDEST
0000269a: PUSH2 0x280a
0000269d: JUMPI
0000269e: DUP4
0000269f: PUSH2 0x27d4
000026a2: JUMPI
000026a3: PUSH0
000026a4: JUMPDEST
000026a5: PUSH1 0x9a
000026a7: PUSH0
000026a8: MSTORE
000026a9: PUSH1 0x01
000026ab: PUSH1 0x01
000026ad: PUSH1 0xa0
000026af: SHL
000026b0: SUB
000026b1: AND
000026b2: PUSH2 0x26c9
000026b5: PUSH0
000026b6: DUP1
000026b7: MLOAD
000026b8: PUSH1 0x20
000026ba: PUSH2 0x398f
000026bd: DUP4
000026be: CODECOPY
000026bf: DUP2
000026c0: MLOAD
000026c1: SWAP2
000026c2: MSTORE
000026c3: DUP7
000026c4: ADD
000026c5: PUSH2 0x264f
000026c8: JUMP
000026c9: JUMPDEST
000026ca: DUP1
000026cb: MLOAD
000026cc: SWAP1
000026cd: SWAP8
000026ce: SWAP1
000026cf: PUSH2 0x26e0
000026d2: SWAP1
000026d3: PUSH1 0x01
000026d5: PUSH1 0x01
000026d7: PUSH1 0xa0
000026d9: SHL
000026da: SUB
000026db: AND
000026dc: PUSH2 0x09bb
000026df: JUMP
000026e0: JUMPDEST
000026e1: SWAP9
000026e2: PUSH2 0x2705
000026e5: PUSH2 0x26f9
000026e8: PUSH1 0x20
000026ea: DUP1
000026eb: SWAP12
000026ec: ADD
000026ed: MLOAD
000026ee: PUSH1 0x01
000026f0: PUSH1 0x01
000026f2: PUSH1 0x60
000026f4: SHL
000026f5: SUB
000026f6: AND
000026f7: SWAP1
000026f8: JUMP
000026f9: JUMPDEST
000026fa: PUSH1 0x01
000026fc: PUSH1 0x01
000026fe: PUSH1 0x60
00002700: SHL
00002701: SUB
00002702: AND
00002703: SWAP1
00002704: JUMP
00002705: JUMPDEST
00002706: SWAP5
00002707: DUP4
00002708: DUP2
00002709: LT
0000270a: DUP1
0000270b: ISZERO
0000270c: PUSH2 0x27ca
0000270f: JUMPI
00002710: JUMPDEST
00002711: PUSH2 0x27b8
00002714: JUMPI
00002715: SWAP2
00002716: PUSH1 0x01
00002718: SWAP4
00002719: SWAP8
0000271a: SWAP11
0000271b: SWAP6
0000271c: PUSH2 0x272f
0000271f: PUSH2 0x273b
00002722: SWAP4
00002723: SWAP5
00002724: DUP9
00002725: SUB
00002726: JUMPDEST
00002727: DUP4
00002728: DUP13
00002729: SUB
0000272a: SWAP1
0000272b: PUSH2 0x328b
0000272e: JUMP
0000272f: JUMPDEST
00002730: DUP1
00002731: SWAP3
00002732: ADD
00002733: SWAP9
00002734: DUP8
00002735: SUB
00002736: SWAP2
00002737: PUSH2 0x1f9c
0000273a: JUMP
0000273b: JUMPDEST
0000273c: ADD
0000273d: SWAP8
0000273e: ADD
0000273f: SWAP4
00002740: DUP1
00002741: DUP7
00002742: GT
00002743: DUP1
00002744: ISZERO
00002745: SWAP1
00002746: PUSH2 0x27ae
00002749: JUMPI
0000274a: JUMPDEST
0000274b: PUSH2 0x27a3
0000274e: JUMPI
0000274f: PUSH1 0x9a
00002751: PUSH0
00002752: MSTORE
00002753: DUP3
00002754: SWAP1
00002755: PUSH2 0x276c
00002758: PUSH0
00002759: DUP1
0000275a: MLOAD
0000275b: PUSH1 0x20
0000275d: PUSH2 0x398f
00002760: DUP4
00002761: CODECOPY
00002762: DUP2
00002763: MLOAD
00002764: SWAP2
00002765: MSTORE
00002766: DUP8
00002767: ADD
00002768: PUSH2 0x264f
0000276b: JUMP
0000276c: JUMPDEST
0000276d: DUP1
0000276e: MLOAD
0000276f: SWAP1
00002770: DUP10
00002771: ADD
00002772: MLOAD
00002773: SWAP7
00002774: SWAP10
00002775: SWAP3
00002776: SWAP7
00002777: PUSH1 0x01
00002779: PUSH1 0x01
0000277b: PUSH1 0xa0
0000277d: SHL
0000277e: SUB
0000277f: SWAP1
00002780: SWAP2
00002781: AND
00002782: SWAP5
00002783: PUSH1 0x01
00002785: SWAP4
00002786: SWAP3
00002787: PUSH2 0x273b
0000278a: SWAP3
0000278b: SWAP1
0000278c: SWAP2
0000278d: PUSH1 0x01
0000278f: PUSH1 0x01
00002791: PUSH1 0x60
00002793: SHL
00002794: SUB
00002795: SWAP1
00002796: SWAP2
00002797: AND
00002798: SWAP1
00002799: PUSH2 0x272f
0000279c: SWAP1
0000279d: DUP9
0000279e: SUB
0000279f: PUSH2 0x2726
000027a2: JUMP
000027a3: JUMPDEST
000027a4: SWAP5
000027a5: POP
000027a6: POP
000027a7: POP
000027a8: SWAP3
000027a9: POP
000027aa: POP
000027ab: SWAP2
000027ac: SWAP1
000027ad: JUMP
000027ae: JUMPDEST
000027af: POP
000027b0: DUP2
000027b1: DUP6
000027b2: LT
000027b3: ISZERO
000027b4: PUSH2 0x274a
000027b7: JUMP
000027b8: JUMPDEST
000027b9: PUSH1 0x40
000027bb: MLOAD
000027bc: PUSH4 0xe8722f8f
000027c1: PUSH1 0xe0
000027c3: SHL
000027c4: DUP2
000027c5: MSTORE
000027c6: PUSH1 0x04
000027c8: SWAP1
000027c9: REVERT
000027ca: JUMPDEST
000027cb: POP
000027cc: DUP1
000027cd: DUP12
000027ce: GT
000027cf: ISZERO
000027d0: PUSH2 0x2710
000027d3: JUMP
000027d4: JUMPDEST
000027d5: PUSH1 0x9a
000027d7: PUSH0
000027d8: MSTORE
000027d9: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3
000027fa: DUP5
000027fb: ADD
000027fc: SLOAD
000027fd: PUSH1 0x01
000027ff: PUSH1 0x01
00002801: PUSH1 0xa0
00002803: SHL
00002804: SUB
00002805: AND
00002806: PUSH2 0x26a4
00002809: JUMP
0000280a: JUMPDEST
0000280b: POP
0000280c: POP
0000280d: SWAP4
0000280e: POP
0000280f: POP
00002810: POP
00002811: POP
00002812: PUSH0
00002813: SWAP1
00002814: PUSH0
00002815: SWAP1
00002816: JUMP
00002817: JUMPDEST
00002818: POP
00002819: DUP5
0000281a: ISZERO
0000281b: PUSH2 0x2699
0000281e: JUMP
0000281f: JUMPDEST
00002820: SWAP3
00002821: SWAP2
00002822: SWAP1
00002823: PUSH2 0x282a
00002826: PUSH2 0x35b9
00002829: JUMP
0000282a: JUMPDEST
0000282b: DUP1
0000282c: ISZERO
0000282d: PUSH2 0x28e6
00002830: JUMPI
00002831: PUSH1 0x01
00002833: PUSH1 0x01
00002835: PUSH1 0xa0
00002837: SHL
00002838: SUB
00002839: DUP3
0000283a: DUP2
0000283b: AND
0000283c: SWAP3
0000283d: SWAP1
0000283e: DUP4
0000283f: ISZERO
00002840: PUSH2 0x0e6e
00002843: JUMPI
00002844: PUSH2 0x284c
00002847: DUP4
00002848: PUSH2 0x149c
0000284b: JUMP
0000284c: JUMPDEST
0000284d: SWAP6
0000284e: DUP7
0000284f: ISZERO
00002850: PUSH2 0x28d4
00002853: JUMPI
00002854: PUSH2 0x285b
00002857: PUSH2 0x14f3
0000285a: JUMP
0000285b: JUMPDEST
0000285c: DUP8
0000285d: GT
0000285e: PUSH2 0x28c2
00002861: JUMPI
00002862: PUSH2 0x28a5
00002865: DUP8
00002866: PUSH32 0x5cdf07ad0fc222442720b108e3ed4c4640f0fadc2ab2253e66f259a0fea83480
00002887: SWAP5
00002888: PUSH2 0x2896
0000288b: PUSH2 0x22e2
0000288e: PUSH2 0x24d3
00002891: DUP5
00002892: PUSH2 0x28f8
00002895: JUMP
00002896: JUMPDEST
00002897: PUSH2 0x28a0
0000289a: DUP8
0000289b: DUP6
0000289c: PUSH2 0x35d9
0000289f: JUMP
000028a0: JUMPDEST
000028a1: PUSH2 0x292b
000028a4: JUMP
000028a5: JUMPDEST
000028a6: PUSH1 0x40
000028a8: DUP1
000028a9: MLOAD
000028aa: DUP9
000028ab: DUP2
000028ac: MSTORE
000028ad: PUSH1 0x20
000028af: DUP2
000028b0: ADD
000028b1: SWAP6
000028b2: SWAP1
000028b3: SWAP6
000028b4: MSTORE
000028b5: SWAP2
000028b6: AND
000028b7: SWAP3
000028b8: SWAP1
000028b9: DUP2
000028ba: SWAP1
000028bb: DUP2
000028bc: ADD
000028bd: JUMPDEST
000028be: SUB
000028bf: SWAP1
000028c0: LOG3
000028c1: JUMP
000028c2: JUMPDEST
000028c3: PUSH1 0x40
000028c5: MLOAD
000028c6: PUSH4 0x96d80433
000028cb: PUSH1 0xe0
000028cd: SHL
000028ce: DUP2
000028cf: MSTORE
000028d0: PUSH1 0x04
000028d2: SWAP1
000028d3: REVERT
000028d4: JUMPDEST
000028d5: PUSH1 0x40
000028d7: MLOAD
000028d8: PUSH4 0x18374fd1
000028dd: PUSH1 0xe2
000028df: SHL
000028e0: DUP2
000028e1: MSTORE
000028e2: PUSH1 0x04
000028e4: SWAP1
000028e5: REVERT
000028e6: JUMPDEST
000028e7: PUSH1 0x40
000028e9: MLOAD
000028ea: PUSH4 0x6edcc523
000028ef: PUSH1 0xe0
000028f1: SHL
000028f2: DUP2
000028f3: MSTORE
000028f4: PUSH1 0x04
000028f6: SWAP1
000028f7: REVERT
000028f8: JUMPDEST
000028f9: PUSH1 0x01
000028fb: PUSH1 0x01
000028fd: PUSH1 0x80
000028ff: SHL
00002900: SUB
00002901: SWAP1
00002902: DUP2
00002903: DUP2
00002904: GT
00002905: PUSH2 0x290c
00002908: JUMPI
00002909: AND
0000290a: SWAP1
0000290b: JUMP
0000290c: JUMPDEST
0000290d: PUSH1 0x44
0000290f: SWAP1
00002910: PUSH1 0x40
00002912: MLOAD
00002913: SWAP1
00002914: PUSH4 0x06dfcc65
00002919: PUSH1 0xe4
0000291b: SHL
0000291c: DUP3
0000291d: MSTORE
0000291e: PUSH1 0x80
00002920: PUSH1 0x04
00002922: DUP4
00002923: ADD
00002924: MSTORE
00002925: PUSH1 0x24
00002927: DUP3
00002928: ADD
00002929: MSTORE
0000292a: REVERT
0000292b: JUMPDEST
0000292c: SWAP1
0000292d: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
0000294e: SWAP2
0000294f: PUSH1 0x02
00002951: DUP4
00002952: SLOAD
00002953: EQ
00002954: PUSH2 0x29b3
00002957: JUMPI
00002958: PUSH1 0x02
0000295a: DUP4
0000295b: SSTORE
0000295c: DUP2
0000295d: SELFBALANCE
0000295e: LT
0000295f: PUSH2 0x299b
00002962: JUMPI
00002963: PUSH0
00002964: SWAP2
00002965: DUP3
00002966: SWAP2
00002967: DUP3
00002968: SWAP2
00002969: DUP3
0000296a: SWAP2
0000296b: PUSH1 0x01
0000296d: PUSH1 0x01
0000296f: PUSH1 0xa0
00002971: SHL
00002972: SUB
00002973: AND
00002974: GAS
00002975: CALL
00002976: PUSH2 0x297d
00002979: PUSH2 0x1a5f
0000297c: JUMP
0000297d: JUMPDEST
0000297e: POP
0000297f: ISZERO
00002980: PUSH2 0x2989
00002983: JUMPI
00002984: PUSH1 0x01
00002986: SWAP1
00002987: SSTORE
00002988: JUMP
00002989: JUMPDEST
0000298a: PUSH1 0x40
0000298c: MLOAD
0000298d: PUSH4 0x0a12f521
00002992: PUSH1 0xe1
00002994: SHL
00002995: DUP2
00002996: MSTORE
00002997: PUSH1 0x04
00002999: SWAP1
0000299a: REVERT
0000299b: JUMPDEST
0000299c: PUSH1 0x40
0000299e: MLOAD
0000299f: PUSH4 0xcd786059
000029a4: PUSH1 0xe0
000029a6: SHL
000029a7: DUP2
000029a8: MSTORE
000029a9: ADDRESS
000029aa: PUSH1 0x04
000029ac: DUP3
000029ad: ADD
000029ae: MSTORE
000029af: PUSH1 0x24
000029b1: SWAP1
000029b2: REVERT
000029b3: JUMPDEST
000029b4: PUSH1 0x40
000029b6: MLOAD
000029b7: PUSH4 0x3ee5aeb5
000029bc: PUSH1 0xe0
000029be: SHL
000029bf: DUP2
000029c0: MSTORE
000029c1: PUSH1 0x04
000029c3: SWAP1
000029c4: REVERT
000029c5: JUMPDEST
000029c6: SWAP3
000029c7: SWAP2
000029c8: SWAP1
000029c9: PUSH2 0x29d0
000029cc: PUSH2 0x3626
000029cf: JUMP
000029d0: JUMPDEST
000029d1: DUP1
000029d2: ISZERO
000029d3: PUSH2 0x28e6
000029d6: JUMPI
000029d7: PUSH1 0x01
000029d9: PUSH1 0x01
000029db: PUSH1 0xa0
000029dd: SHL
000029de: SUB
000029df: DUP3
000029e0: DUP2
000029e1: AND
000029e2: SWAP3
000029e3: SWAP1
000029e4: DUP4
000029e5: ISZERO
000029e6: PUSH2 0x0e6e
000029e9: JUMPI
000029ea: PUSH2 0x191a
000029ed: SWAP6
000029ee: PUSH2 0x28a5
000029f1: PUSH2 0x243a
000029f4: DUP6
000029f5: PUSH32 0x211091c5bf013c1230f996c3bb2bc327e3de429a3d3c356dcea9a0c858bc407f
00002a16: SWAP6
00002a17: DUP2
00002a18: PUSH2 0x2a6d
00002a1b: PUSH2 0x2a2f
00002a1e: PUSH2 0x22b8
00002a21: PUSH1 0x99
00002a23: SLOAD
00002a24: PUSH1 0x01
00002a26: PUSH1 0x01
00002a28: PUSH1 0x80
00002a2a: SHL
00002a2b: SUB
00002a2c: AND
00002a2d: SWAP1
00002a2e: JUMP
00002a2f: JUMPDEST
00002a30: SWAP3
00002a31: PUSH2 0x13c0
00002a34: PUSH2 0x2a3f
00002a37: DUP6
00002a38: PUSH2 0x2456
00002a3b: PUSH2 0x3647
00002a3e: JUMP
00002a3f: JUMPDEST
00002a40: SWAP15
00002a41: DUP16
00002a42: PUSH1 0x40
00002a44: MLOAD
00002a45: SWAP3
00002a46: DUP4
00002a47: SWAP2
00002a48: PUSH1 0x20
00002a4a: DUP4
00002a4b: ADD
00002a4c: SWAP6
00002a4d: TIMESTAMP
00002a4e: SWAP1
00002a4f: DUP8
00002a50: PUSH1 0x40
00002a52: SWAP2
00002a53: SWAP5
00002a54: SWAP4
00002a55: SWAP3
00002a56: PUSH1 0x60
00002a58: DUP3
00002a59: ADD
00002a5a: SWAP6
00002a5b: PUSH1 0x01
00002a5d: DUP1
00002a5e: PUSH1 0xa0
00002a60: SHL
00002a61: SUB
00002a62: AND
00002a63: DUP3
00002a64: MSTORE
00002a65: PUSH1 0x20
00002a67: DUP3
00002a68: ADD
00002a69: MSTORE
00002a6a: ADD
00002a6b: MSTORE
00002a6c: JUMP
00002a6d: JUMPDEST
00002a6e: SSTORE
00002a6f: PUSH1 0x01
00002a71: PUSH1 0x01
00002a73: PUSH1 0xa0
00002a75: SHL
00002a76: SUB
00002a77: DUP6
00002a78: AND
00002a79: PUSH0
00002a7a: SWAP1
00002a7b: DUP2
00002a7c: MSTORE
00002a7d: PUSH1 0x9c
00002a7f: PUSH1 0x20
00002a81: MSTORE
00002a82: PUSH1 0x40
00002a84: SWAP1
00002a85: KECCAK256
00002a86: PUSH2 0x2a90
00002a89: DUP4
00002a8a: DUP3
00002a8b: SLOAD
00002a8c: PUSH2 0x1724
00002a8f: JUMP
00002a90: JUMPDEST
00002a91: SWAP1
00002a92: SSTORE
00002a93: ADD
00002a94: PUSH2 0x28f8
00002a97: JUMP
00002a98: JUMPDEST
00002a99: PUSH0
00002a9a: SLOAD
00002a9b: PUSH1 0x01
00002a9d: PUSH1 0x01
00002a9f: PUSH1 0xa0
00002aa1: SHL
00002aa2: SUB
00002aa3: AND
00002aa4: CALLER
00002aa5: SUB
00002aa6: PUSH2 0x0a28
00002aa9: JUMPI
00002aaa: JUMP
00002aab: JUMPDEST
00002aac: PUSH1 0x40
00002aae: MLOAD
00002aaf: PUSH4 0x0156a695
00002ab4: PUSH1 0xe1
00002ab6: SHL
00002ab7: DUP2
00002ab8: MSTORE
00002ab9: ADDRESS
00002aba: PUSH1 0x04
00002abc: DUP3
00002abd: ADD
00002abe: MSTORE
00002abf: PUSH1 0x20
00002ac1: DUP2
00002ac2: PUSH1 0x24
00002ac4: DUP2
00002ac5: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00002ae6: PUSH1 0x01
00002ae8: PUSH1 0x01
00002aea: PUSH1 0xa0
00002aec: SHL
00002aed: SUB
00002aee: AND
00002aef: GAS
00002af0: STATICCALL
00002af1: SWAP1
00002af2: DUP2
00002af3: ISZERO
00002af4: PUSH2 0x08b2
00002af7: JUMPI
00002af8: PUSH0
00002af9: SWAP2
00002afa: PUSH2 0x2b01
00002afd: JUMPI
00002afe: POP
00002aff: SWAP1
00002b00: JUMP
00002b01: JUMPDEST
00002b02: PUSH2 0x104e
00002b05: SWAP2
00002b06: POP
00002b07: PUSH1 0x20
00002b09: RETURNDATASIZE
00002b0a: PUSH1 0x20
00002b0c: GT
00002b0d: PUSH2 0x08ab
00002b10: JUMPI
00002b11: PUSH2 0x089c
00002b14: DUP2
00002b15: DUP4
00002b16: PUSH2 0x06b2
00002b19: JUMP
00002b1a: JUMPDEST
00002b1b: PUSH1 0x98
00002b1d: SLOAD
00002b1e: SWAP1
00002b1f: PUSH1 0x01
00002b21: PUSH1 0x01
00002b23: PUSH1 0x80
00002b25: SHL
00002b26: SUB
00002b27: DUP3
00002b28: AND
00002b29: DUP2
00002b2a: ISZERO
00002b2b: DUP1
00002b2c: ISZERO
00002b2d: PUSH2 0x2b49
00002b30: JUMPI
00002b31: JUMPDEST
00002b32: ISZERO
00002b33: PUSH2 0x2b3c
00002b36: JUMPI
00002b37: POP
00002b38: SWAP1
00002b39: POP
00002b3a: SWAP1
00002b3b: JUMP
00002b3c: JUMPDEST
00002b3d: PUSH2 0x104e
00002b40: SWAP3
00002b41: PUSH1 0x80
00002b43: SHR
00002b44: SWAP2
00002b45: PUSH2 0x1f9c
00002b48: JUMP
00002b49: JUMPDEST
00002b4a: POP
00002b4b: DUP1
00002b4c: ISZERO
00002b4d: PUSH2 0x2b31
00002b50: JUMP
00002b51: JUMPDEST
00002b52: PUSH1 0x98
00002b54: SLOAD
00002b55: PUSH1 0x01
00002b57: PUSH1 0x01
00002b59: PUSH1 0x80
00002b5b: SHL
00002b5c: SUB
00002b5d: DUP2
00002b5e: AND
00002b5f: SWAP1
00002b60: DUP3
00002b61: ISZERO
00002b62: DUP1
00002b63: ISZERO
00002b64: PUSH2 0x2ba1
00002b67: JUMPI
00002b68: JUMPDEST
00002b69: ISZERO
00002b6a: PUSH2 0x2b72
00002b6d: JUMPI
00002b6e: POP
00002b6f: POP
00002b70: SWAP1
00002b71: JUMP
00002b72: JUMPDEST
00002b73: PUSH1 0x80
00002b75: SHR
00002b76: SWAP1
00002b77: PUSH2 0x2b81
00002b7a: DUP3
00002b7b: DUP3
00002b7c: DUP6
00002b7d: PUSH2 0x1f9c
00002b80: JUMP
00002b81: JUMPDEST
00002b82: SWAP3
00002b83: DUP3
00002b84: ISZERO
00002b85: PUSH2 0x1f1d
00002b88: JUMPI
00002b89: MULMOD
00002b8a: PUSH2 0x2b90
00002b8d: JUMPI
00002b8e: SWAP1
00002b8f: JUMP
00002b90: JUMPDEST
00002b91: PUSH1 0x01
00002b93: DUP2
00002b94: ADD
00002b95: DUP1
00002b96: SWAP2
00002b97: GT
00002b98: ISZERO
00002b99: PUSH2 0x104e
00002b9c: JUMPI
00002b9d: PUSH2 0x1710
00002ba0: JUMP
00002ba1: JUMPDEST
00002ba2: POP
00002ba3: DUP2
00002ba4: ISZERO
00002ba5: PUSH2 0x2b68
00002ba8: JUMP
00002ba9: JUMPDEST
00002baa: PUSH2 0x019c
00002bad: DUP1
00002bae: SLOAD
00002baf: PUSH1 0x01
00002bb1: PUSH1 0x01
00002bb3: PUSH1 0xa0
00002bb5: SHL
00002bb6: SUB
00002bb7: NOT
00002bb8: AND
00002bb9: PUSH1 0x01
00002bbb: PUSH1 0x01
00002bbd: PUSH1 0xa0
00002bbf: SHL
00002bc0: SUB
00002bc1: SWAP3
00002bc2: SWAP1
00002bc3: SWAP3
00002bc4: AND
00002bc5: SWAP2
00002bc6: DUP3
00002bc7: OR
00002bc8: SWAP1
00002bc9: SSTORE
00002bca: CALLER
00002bcb: PUSH32 0xdd44becc667b27d303085374b2760e783af69bbc9db209947ab811a6f1bbc58b
00002bec: PUSH0
00002bed: DUP1
00002bee: LOG3
00002bef: JUMP
00002bf0: JUMPDEST
00002bf1: PUSH2 0x2bf8
00002bf4: PUSH2 0x2c52
00002bf7: JUMP
00002bf8: JUMPDEST
00002bf9: PUSH1 0x01
00002bfb: PUSH1 0x01
00002bfd: PUSH1 0xa0
00002bff: SHL
00002c00: SUB
00002c01: AND
00002c02: DUP1
00002c03: ISZERO
00002c04: PUSH2 0x2c40
00002c07: JUMPI
00002c08: PUSH1 0x65
00002c0a: DUP1
00002c0b: SLOAD
00002c0c: PUSH1 0x01
00002c0e: PUSH1 0x01
00002c10: PUSH1 0xa0
00002c12: SHL
00002c13: SUB
00002c14: NOT
00002c15: AND
00002c16: DUP3
00002c17: OR
00002c18: SWAP1
00002c19: SSTORE
00002c1a: CALLER
00002c1b: PUSH32 0xaaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3
00002c3c: PUSH0
00002c3d: DUP1
00002c3e: LOG3
00002c3f: JUMP
00002c40: JUMPDEST
00002c41: PUSH1 0x40
00002c43: MLOAD
00002c44: PUSH4 0x0ed1b8b3
00002c49: PUSH1 0xe3
00002c4b: SHL
00002c4c: DUP2
00002c4d: MSTORE
00002c4e: PUSH1 0x04
00002c50: SWAP1
00002c51: REVERT
00002c52: JUMPDEST
00002c53: PUSH1 0x40
00002c55: MLOAD
00002c56: PUSH4 0x3eb1acf7
00002c5b: PUSH1 0xe1
00002c5d: SHL
00002c5e: DUP2
00002c5f: MSTORE
00002c60: ADDRESS
00002c61: PUSH1 0x04
00002c63: DUP3
00002c64: ADD
00002c65: MSTORE
00002c66: PUSH1 0x20
00002c68: DUP2
00002c69: PUSH1 0x24
00002c6b: DUP2
00002c6c: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00002c8d: PUSH1 0x01
00002c8f: PUSH1 0x01
00002c91: PUSH1 0xa0
00002c93: SHL
00002c94: SUB
00002c95: AND
00002c96: GAS
00002c97: STATICCALL
00002c98: SWAP1
00002c99: DUP2
00002c9a: ISZERO
00002c9b: PUSH2 0x08b2
00002c9e: JUMPI
00002c9f: PUSH0
00002ca0: SWAP2
00002ca1: PUSH2 0x2cbe
00002ca4: JUMPI
00002ca5: JUMPDEST
00002ca6: POP
00002ca7: PUSH2 0x2cac
00002caa: JUMPI
00002cab: JUMP
00002cac: JUMPDEST
00002cad: PUSH1 0x40
00002caf: MLOAD
00002cb0: PUSH4 0xe7757151
00002cb5: PUSH1 0xe0
00002cb7: SHL
00002cb8: DUP2
00002cb9: MSTORE
00002cba: PUSH1 0x04
00002cbc: SWAP1
00002cbd: REVERT
00002cbe: JUMPDEST
00002cbf: PUSH2 0x2cd7
00002cc2: SWAP2
00002cc3: POP
00002cc4: PUSH1 0x20
00002cc6: RETURNDATASIZE
00002cc7: PUSH1 0x20
00002cc9: GT
00002cca: PUSH2 0x08ab
00002ccd: JUMPI
00002cce: PUSH2 0x089c
00002cd1: DUP2
00002cd2: DUP4
00002cd3: PUSH2 0x06b2
00002cd6: JUMP
00002cd7: JUMPDEST
00002cd8: PUSH0
00002cd9: PUSH2 0x2ca5
00002cdc: JUMP
00002cdd: JUMPDEST
00002cde: SWAP1
00002cdf: PUSH2 0x2ce7
00002ce2: DUP3
00002ce3: PUSH2 0x198c
00002ce6: JUMP
00002ce7: JUMPDEST
00002ce8: PUSH2 0x2cf4
00002ceb: PUSH1 0x40
00002ced: MLOAD
00002cee: SWAP2
00002cef: DUP3
00002cf0: PUSH2 0x06b2
00002cf3: JUMP
00002cf4: JUMPDEST
00002cf5: DUP3
00002cf6: DUP2
00002cf7: MSTORE
00002cf8: DUP1
00002cf9: SWAP3
00002cfa: PUSH2 0x2d05
00002cfd: PUSH1 0x1f
00002cff: NOT
00002d00: SWAP2
00002d01: PUSH2 0x198c
00002d04: JUMP
00002d05: JUMPDEST
00002d06: ADD
00002d07: SWAP1
00002d08: PUSH1 0x20
00002d0a: CALLDATASIZE
00002d0b: SWAP2
00002d0c: ADD
00002d0d: CALLDATACOPY
00002d0e: JUMP
00002d0f: JUMPDEST
00002d10: SWAP1
00002d11: PUSH1 0x30
00002d13: GT
00002d14: PUSH2 0x02f0
00002d17: JUMPI
00002d18: SWAP1
00002d19: PUSH1 0x30
00002d1b: SWAP1
00002d1c: JUMP
00002d1d: JUMPDEST
00002d1e: SWAP1
00002d1f: PUSH1 0x90
00002d21: GT
00002d22: PUSH2 0x02f0
00002d25: JUMPI
00002d26: PUSH1 0x30
00002d28: ADD
00002d29: SWAP1
00002d2a: PUSH1 0x60
00002d2c: SWAP1
00002d2d: JUMP
00002d2e: JUMPDEST
00002d2f: SWAP1
00002d30: PUSH1 0xb0
00002d32: GT
00002d33: PUSH2 0x02f0
00002d36: JUMPI
00002d37: PUSH1 0x90
00002d39: ADD
00002d3a: SWAP1
00002d3b: PUSH1 0x20
00002d3d: SWAP1
00002d3e: JUMP
00002d3f: JUMPDEST
00002d40: SWAP1
00002d41: SWAP4
00002d42: SWAP3
00002d43: SWAP4
00002d44: DUP5
00002d45: DUP4
00002d46: GT
00002d47: PUSH2 0x02f0
00002d4a: JUMPI
00002d4b: DUP5
00002d4c: GT
00002d4d: PUSH2 0x02f0
00002d50: JUMPI
00002d51: DUP2
00002d52: ADD
00002d53: SWAP3
00002d54: SUB
00002d55: SWAP1
00002d56: JUMP
00002d57: JUMPDEST
00002d58: SWAP1
00002d59: ISZERO
00002d5a: PUSH2 0x1a4d
00002d5d: JUMPI
00002d5e: SWAP1
00002d5f: JUMP
00002d60: JUMPDEST
00002d61: SWAP2
00002d62: SWAP1
00002d63: DUP2
00002d64: LT
00002d65: ISZERO
00002d66: PUSH2 0x1a4d
00002d69: JUMPI
00002d6a: PUSH1 0x05
00002d6c: SHL
00002d6d: ADD
00002d6e: SWAP1
00002d6f: JUMP
00002d70: JUMPDEST
00002d71: CALLDATALOAD
00002d72: SWAP1
00002d73: PUSH1 0x20
00002d75: DUP2
00002d76: LT
00002d77: PUSH2 0x2d7e
00002d7a: JUMPI
00002d7b: POP
00002d7c: SWAP1
00002d7d: JUMP
00002d7e: JUMPDEST
00002d7f: PUSH0
00002d80: NOT
00002d81: SWAP1
00002d82: PUSH1 0x20
00002d84: SUB
00002d85: PUSH1 0x03
00002d87: SHL
00002d88: SHL
00002d89: AND
00002d8a: SWAP1
00002d8b: JUMP
00002d8c: JUMPDEST
00002d8d: SWAP7
00002d8e: SWAP6
00002d8f: SWAP5
00002d90: SWAP1
00002d91: PUSH2 0x1ed0
00002d94: SWAP4
00002d95: PUSH2 0x2dad
00002d98: PUSH2 0x2dbb
00002d9b: SWAP3
00002d9c: PUSH1 0x60
00002d9e: SWAP8
00002d9f: SWAP6
00002da0: PUSH1 0x80
00002da2: DUP13
00002da3: MSTORE
00002da4: PUSH1 0x80
00002da6: DUP13
00002da7: ADD
00002da8: SWAP2
00002da9: PUSH2 0x196c
00002dac: JUMP
00002dad: JUMPDEST
00002dae: SWAP1
00002daf: DUP10
00002db0: DUP3
00002db1: SUB
00002db2: PUSH1 0x20
00002db4: DUP12
00002db5: ADD
00002db6: MSTORE
00002db7: PUSH2 0x0ed1
00002dba: JUMP
00002dbb: JUMPDEST
00002dbc: SWAP2
00002dbd: DUP8
00002dbe: DUP4
00002dbf: SUB
00002dc0: PUSH1 0x40
00002dc2: DUP10
00002dc3: ADD
00002dc4: MSTORE
00002dc5: PUSH2 0x196c
00002dc8: JUMP
00002dc9: JUMPDEST
00002dca: SWAP1
00002dcb: PUSH1 0x20
00002dcd: PUSH2 0x104e
00002dd0: SWAP3
00002dd1: DUP2
00002dd2: DUP2
00002dd3: MSTORE
00002dd4: ADD
00002dd5: SWAP1
00002dd6: PUSH2 0x1954
00002dd9: JUMP
00002dda: JUMPDEST
00002ddb: SWAP2
00002ddc: PUSH1 0x20
00002dde: PUSH2 0x104e
00002de1: SWAP4
00002de2: DUP2
00002de3: DUP2
00002de4: MSTORE
00002de5: ADD
00002de6: SWAP2
00002de7: PUSH2 0x196c
00002dea: JUMP
00002deb: JUMPDEST
00002dec: SWAP2
00002ded: SWAP4
00002dee: SWAP3
00002def: SWAP1
00002df0: PUSH1 0xd1
00002df2: SLOAD
00002df3: SWAP3
00002df4: PUSH0
00002df5: SWAP3
00002df6: PUSH0
00002df7: SWAP1
00002df8: PUSH2 0x2e00
00002dfb: DUP2
00002dfc: PUSH2 0x2cdd
00002dff: JUMP
00002e00: JUMPDEST
00002e01: SWAP8
00002e02: PUSH2 0x2e09
00002e05: PUSH2 0x3689
00002e08: JUMP
00002e09: JUMPDEST
00002e0a: SWAP4
00002e0b: PUSH0
00002e0c: SWAP8
00002e0d: PUSH1 0x01
00002e0f: DUP1
00002e10: PUSH1 0xa0
00002e12: SHL
00002e13: SUB
00002e14: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa
00002e35: AND
00002e36: SWAP5
00002e37: JUMPDEST
00002e38: DUP5
00002e39: DUP11
00002e3a: LT
00002e3b: PUSH2 0x2e4a
00002e3e: JUMPI
00002e3f: POP
00002e40: POP
00002e41: POP
00002e42: POP
00002e43: POP
00002e44: POP
00002e45: POP
00002e46: POP
00002e47: POP
00002e48: POP
00002e49: JUMP
00002e4a: JUMPDEST
00002e4b: PUSH1 0xb0
00002e4d: PUSH2 0x2e5a
00002e50: SWAP2
00002e51: ADD
00002e52: DUP1
00002e53: SWAP10
00002e54: DUP10
00002e55: DUP6
00002e56: PUSH2 0x2d3f
00002e59: JUMP
00002e5a: JUMPDEST
00002e5b: SWAP10
00002e5c: PUSH1 0x40
00002e5e: SWAP11
00002e5f: DUP14
00002e60: PUSH2 0x2e96
00002e63: DUP14
00002e64: MLOAD
00002e65: PUSH2 0x2e7e
00002e68: PUSH1 0x20
00002e6a: SWAP2
00002e6b: DUP3
00002e6c: DUP2
00002e6d: ADD
00002e6e: SWAP1
00002e6f: PUSH2 0x13ce
00002e72: DUP2
00002e73: PUSH2 0x13c0
00002e76: DUP13
00002e77: DUP11
00002e78: DUP14
00002e79: DUP8
00002e7a: PUSH2 0x1eb8
00002e7d: JUMP
00002e7e: JUMPDEST
00002e7f: DUP1
00002e80: MLOAD
00002e81: SWAP2
00002e82: ADD
00002e83: KECCAK256
00002e84: SWAP2
00002e85: PUSH2 0x2e8f
00002e88: DUP6
00002e89: DUP12
00002e8a: DUP12
00002e8b: PUSH2 0x2d60
00002e8e: JUMP
00002e8f: JUMPDEST
00002e90: CALLDATALOAD
00002e91: SWAP1
00002e92: PUSH2 0x1af9
00002e95: JUMP
00002e96: JUMPDEST
00002e97: MSTORE
00002e98: PUSH2 0x2ea1
00002e9b: DUP2
00002e9c: DUP5
00002e9d: PUSH2 0x2d0f
00002ea0: JUMP
00002ea1: JUMPDEST
00002ea2: SWAP1
00002ea3: SWAP4
00002ea4: PUSH2 0x2ec1
00002ea7: PUSH2 0x2ebb
00002eaa: PUSH2 0x2eb3
00002ead: DUP6
00002eae: DUP5
00002eaf: PUSH2 0x2d1d
00002eb2: JUMP
00002eb3: JUMPDEST
00002eb4: SWAP6
00002eb5: SWAP1
00002eb6: SWAP4
00002eb7: PUSH2 0x2d2e
00002eba: JUMP
00002ebb: JUMPDEST
00002ebc: SWAP1
00002ebd: PUSH2 0x2d70
00002ec0: JUMP
00002ec1: JUMPDEST
00002ec2: SWAP1
00002ec3: DUP11
00002ec4: EXTCODESIZE
00002ec5: ISZERO
00002ec6: PUSH2 0x02f0
00002ec9: JUMPI
00002eca: DUP12
00002ecb: DUP16
00002ecc: PUSH0
00002ecd: SWAP4
00002ece: PUSH2 0x2eec
00002ed1: SWAP2
00002ed2: MLOAD
00002ed3: SWAP7
00002ed4: DUP8
00002ed5: SWAP5
00002ed6: DUP6
00002ed7: SWAP5
00002ed8: PUSH4 0x04512a23
00002edd: PUSH1 0xe3
00002edf: SHL
00002ee0: DUP7
00002ee1: MSTORE
00002ee2: DUP9
00002ee3: DUP13
00002ee4: PUSH1 0x04
00002ee6: DUP9
00002ee7: ADD
00002ee8: PUSH2 0x2d8c
00002eeb: JUMP
00002eec: JUMPDEST
00002eed: SUB
00002eee: DUP2
00002eef: PUSH9 0x01bc16d674ec800000
00002ef9: DUP14
00002efa: GAS
00002efb: CALL
00002efc: SWAP4
00002efd: DUP5
00002efe: ISZERO
00002eff: PUSH2 0x08b2
00002f02: JUMPI
00002f03: PUSH2 0x2f3f
00002f06: PUSH1 0x01
00002f08: DUP15
00002f09: PUSH32 0x64b6e61d93b7a91e8cc4376183ede0997a27b44fd9dd2f30a866b2a5730efdb1
00002f2a: SWAP6
00002f2b: DUP3
00002f2c: SWAP9
00002f2d: PUSH2 0x2f4b
00002f30: JUMPI
00002f31: JUMPDEST
00002f32: POP
00002f33: SWAP8
00002f34: ADD
00002f35: SWAP15
00002f36: MLOAD
00002f37: SWAP3
00002f38: DUP4
00002f39: SWAP3
00002f3a: DUP4
00002f3b: PUSH2 0x2dda
00002f3e: JUMP
00002f3f: JUMPDEST
00002f40: SUB
00002f41: SWAP1
00002f42: LOG1
00002f43: ADD
00002f44: SWAP9
00002f45: SWAP1
00002f46: SWAP8
00002f47: PUSH2 0x2e37
00002f4a: JUMP
00002f4b: JUMPDEST
00002f4c: DUP1
00002f4d: PUSH2 0x143f
00002f50: PUSH2 0x2f58
00002f53: SWAP3
00002f54: PUSH2 0x0664
00002f57: JUMP
00002f58: JUMPDEST
00002f59: PUSH0
00002f5a: PUSH2 0x2f31
00002f5d: JUMP
00002f5e: JUMPDEST
00002f5f: SWAP1
00002f60: PUSH2 0x2f6c
00002f63: SWAP5
00002f64: SWAP6
00002f65: SWAP4
00002f66: SWAP3
00002f67: SWAP2
00002f68: PUSH2 0x36ca
00002f6b: JUMP
00002f6c: JUMPDEST
00002f6d: EQ
00002f6e: SWAP1
00002f6f: JUMP
00002f70: JUMPDEST
00002f71: SWAP2
00002f72: SWAP3
00002f73: SWAP2
00002f74: PUSH0
00002f75: SWAP2
00002f76: JUMPDEST
00002f77: DUP1
00002f78: DUP4
00002f79: LT
00002f7a: PUSH2 0x2f84
00002f7d: JUMPI
00002f7e: POP
00002f7f: POP
00002f80: POP
00002f81: EQ
00002f82: SWAP1
00002f83: JUMP
00002f84: JUMPDEST
00002f85: SWAP1
00002f86: SWAP2
00002f87: SWAP3
00002f88: PUSH2 0x2f9f
00002f8b: PUSH1 0x01
00002f8d: SWAP2
00002f8e: PUSH2 0x2f98
00002f91: DUP7
00002f92: DUP6
00002f93: DUP8
00002f94: PUSH2 0x2d60
00002f97: JUMP
00002f98: JUMPDEST
00002f99: CALLDATALOAD
00002f9a: SWAP1
00002f9b: PUSH2 0x3904
00002f9e: JUMP
00002f9f: JUMPDEST
00002fa0: SWAP4
00002fa1: ADD
00002fa2: SWAP2
00002fa3: SWAP1
00002fa4: PUSH2 0x2f76
00002fa7: JUMP
00002fa8: JUMPDEST
00002fa9: DUP2
00002faa: PUSH1 0x30
00002fac: GT
00002fad: PUSH2 0x02f0
00002fb0: JUMPI
00002fb1: PUSH2 0x2ebb
00002fb4: SWAP2
00002fb5: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa
00002fd6: PUSH1 0x01
00002fd8: PUSH1 0x01
00002fda: PUSH1 0xa0
00002fdc: SHL
00002fdd: SUB
00002fde: AND
00002fdf: PUSH2 0x2fe6
00002fe2: PUSH2 0x3689
00002fe5: JUMP
00002fe6: JUMPDEST
00002fe7: SWAP1
00002fe8: PUSH2 0x2ffd
00002feb: PUSH2 0x2ff4
00002fee: DUP5
00002fef: DUP7
00002ff0: PUSH2 0x2d1d
00002ff3: JUMP
00002ff4: JUMPDEST
00002ff5: SWAP7
00002ff6: SWAP1
00002ff7: SWAP5
00002ff8: DUP7
00002ff9: PUSH2 0x2d2e
00002ffc: JUMP
00002ffd: JUMPDEST
00002ffe: SWAP5
00002fff: DUP2
00003000: EXTCODESIZE
00003001: ISZERO
00003002: PUSH2 0x02f0
00003005: JUMPI
00003006: PUSH9 0x01bc16d674ec800000
00003010: PUSH0
00003011: SWAP5
00003012: PUSH2 0x3063
00003015: SWAP8
00003016: PUSH1 0x40
00003018: MLOAD
00003019: SWAP9
0000301a: DUP10
0000301b: SWAP7
0000301c: DUP8
0000301d: SWAP6
0000301e: DUP7
0000301f: SWAP5
00003020: PUSH4 0x04512a23
00003025: PUSH1 0xe3
00003027: SHL
00003028: DUP7
00003029: MSTORE
0000302a: PUSH1 0x80
0000302c: PUSH1 0x04
0000302e: DUP8
0000302f: ADD
00003030: MSTORE
00003031: PUSH2 0x3054
00003034: PUSH2 0x3041
00003037: DUP14
00003038: PUSH1 0x84
0000303a: DUP10
0000303b: ADD
0000303c: SWAP1
0000303d: PUSH2 0x1954
00003040: JUMP
00003041: JUMPDEST
00003042: PUSH1 0x03
00003044: NOT
00003045: SWAP5
00003046: DUP6
00003047: DUP10
00003048: DUP4
00003049: SUB
0000304a: ADD
0000304b: PUSH1 0x24
0000304d: DUP11
0000304e: ADD
0000304f: MSTORE
00003050: PUSH2 0x0ed1
00003053: JUMP
00003054: JUMPDEST
00003055: SWAP3
00003056: DUP7
00003057: DUP5
00003058: SUB
00003059: ADD
0000305a: PUSH1 0x44
0000305c: DUP8
0000305d: ADD
0000305e: MSTORE
0000305f: PUSH2 0x196c
00003062: JUMP
00003063: JUMPDEST
00003064: SWAP1
00003065: PUSH1 0x64
00003067: DUP4
00003068: ADD
00003069: MSTORE
0000306a: SUB
0000306b: SWAP3
0000306c: GAS
0000306d: CALL
0000306e: SWAP1
0000306f: DUP2
00003070: ISZERO
00003071: PUSH2 0x08b2
00003074: JUMPI
00003075: PUSH32 0x64b6e61d93b7a91e8cc4376183ede0997a27b44fd9dd2f30a866b2a5730efdb1
00003096: SWAP3
00003097: PUSH2 0x16be
0000309a: SWAP3
0000309b: PUSH2 0x30ac
0000309e: JUMPI
0000309f: JUMPDEST
000030a0: POP
000030a1: PUSH1 0x40
000030a3: MLOAD
000030a4: SWAP2
000030a5: DUP3
000030a6: SWAP2
000030a7: DUP3
000030a8: PUSH2 0x2dc9
000030ab: JUMP
000030ac: JUMPDEST
000030ad: PUSH2 0x30b5
000030b0: SWAP1
000030b1: PUSH2 0x0664
000030b4: JUMP
000030b5: JUMPDEST
000030b6: PUSH0
000030b7: PUSH2 0x309f
000030ba: JUMP
000030bb: JUMPDEST
000030bc: PUSH1 0x01
000030be: PUSH1 0x01
000030c0: PUSH1 0xa0
000030c2: SHL
000030c3: SUB
000030c4: AND
000030c5: PUSH0
000030c6: SWAP1
000030c7: DUP2
000030c8: MSTORE
000030c9: PUSH2 0x019d
000030cc: PUSH1 0x20
000030ce: MSTORE
000030cf: PUSH1 0x40
000030d1: SWAP1
000030d2: KECCAK256
000030d3: SLOAD
000030d4: PUSH1 0xff
000030d6: AND
000030d7: PUSH2 0x0a28
000030da: JUMPI
000030db: JUMP
000030dc: JUMPDEST
000030dd: SWAP2
000030de: SWAP1
000030df: PUSH2 0x30e6
000030e2: PUSH2 0x2c52
000030e5: JUMP
000030e6: JUMPDEST
000030e7: PUSH1 0x01
000030e9: PUSH1 0x01
000030eb: PUSH1 0xa0
000030ed: SHL
000030ee: SUB
000030ef: DUP4
000030f0: AND
000030f1: SWAP1
000030f2: DUP2
000030f3: ISZERO
000030f4: PUSH2 0x0e6e
000030f7: JUMPI
000030f8: DUP1
000030f9: ISZERO
000030fa: PUSH2 0x28d4
000030fd: JUMPI
000030fe: DUP1
000030ff: PUSH2 0x310d
00003102: PUSH2 0x22b8
00003105: PUSH1 0x98
00003107: SLOAD
00003108: PUSH1 0x80
0000310a: SHR
0000310b: SWAP1
0000310c: JUMP
0000310d: JUMPDEST
0000310e: ADD
0000310f: SWAP4
00003110: PUSH2 0x3117
00003113: PUSH2 0x16c3
00003116: JUMP
00003117: JUMPDEST
00003118: DUP6
00003119: GT
0000311a: PUSH2 0x317f
0000311d: JUMPI
0000311e: PUSH2 0x22e2
00003121: SWAP5
00003122: PUSH2 0x313e
00003125: SWAP2
00003126: PUSH2 0x3139
00003129: PUSH2 0x3131
0000312c: DUP6
0000312d: PUSH2 0x2b51
00003130: JUMP
00003131: JUMPDEST
00003132: SWAP8
00003133: DUP9
00003134: SWAP4
00003135: PUSH2 0x28f8
00003138: JUMP
00003139: JUMPDEST
0000313a: PUSH2 0x323d
0000313d: JUMP
0000313e: JUMPDEST
0000313f: PUSH1 0x40
00003141: DUP1
00003142: MLOAD
00003143: SWAP2
00003144: DUP3
00003145: MSTORE
00003146: PUSH1 0x20
00003148: DUP3
00003149: ADD
0000314a: DUP6
0000314b: SWAP1
0000314c: MSTORE
0000314d: PUSH0
0000314e: SWAP1
0000314f: DUP3
00003150: ADD
00003151: MSTORE
00003152: CALLER
00003153: SWAP1
00003154: PUSH32 0x861a4138e41fb21c121a7dbb1053df465c837fc77380cc7226189a662281be2c
00003175: SWAP1
00003176: DUP1
00003177: PUSH1 0x60
00003179: DUP2
0000317a: ADD
0000317b: PUSH2 0x28bd
0000317e: JUMP
0000317f: JUMPDEST
00003180: PUSH1 0x40
00003182: MLOAD
00003183: PUSH4 0x04ffa0ff
00003188: PUSH1 0xe5
0000318a: SHL
0000318b: DUP2
0000318c: MSTORE
0000318d: PUSH1 0x04
0000318f: SWAP1
00003190: REVERT
00003191: JUMPDEST
00003192: SWAP1
00003193: SWAP3
00003194: SWAP2
00003195: SWAP3
00003196: PUSH2 0x319d
00003199: PUSH2 0x2c52
0000319c: JUMP
0000319d: JUMPDEST
0000319e: PUSH1 0x01
000031a0: PUSH1 0x01
000031a2: PUSH1 0xa0
000031a4: SHL
000031a5: SUB
000031a6: DUP3
000031a7: AND
000031a8: SWAP2
000031a9: DUP3
000031aa: ISZERO
000031ab: PUSH2 0x0e6e
000031ae: JUMPI
000031af: DUP2
000031b0: ISZERO
000031b1: PUSH2 0x28d4
000031b4: JUMPI
000031b5: DUP2
000031b6: PUSH2 0x31c4
000031b9: PUSH2 0x22b8
000031bc: PUSH1 0x98
000031be: SLOAD
000031bf: PUSH1 0x80
000031c1: SHR
000031c2: SWAP1
000031c3: JUMP
000031c4: JUMPDEST
000031c5: ADD
000031c6: PUSH2 0x31cd
000031c9: PUSH2 0x16c3
000031cc: JUMP
000031cd: JUMPDEST
000031ce: DUP2
000031cf: GT
000031d0: PUSH2 0x317f
000031d3: JUMPI
000031d4: PUSH2 0x22e2
000031d7: SWAP6
000031d8: PUSH2 0x3214
000031db: PUSH2 0x28bd
000031de: SWAP3
000031df: PUSH32 0x861a4138e41fb21c121a7dbb1053df465c837fc77380cc7226189a662281be2c
00003200: SWAP5
00003201: PUSH2 0x3139
00003204: PUSH2 0x320c
00003207: DUP9
00003208: PUSH2 0x2b51
0000320b: JUMP
0000320c: JUMPDEST
0000320d: SWAP11
0000320e: DUP12
0000320f: SWAP4
00003210: PUSH2 0x28f8
00003213: JUMP
00003214: JUMPDEST
00003215: PUSH1 0x40
00003217: DUP1
00003218: MLOAD
00003219: SWAP5
0000321a: DUP6
0000321b: MSTORE
0000321c: PUSH1 0x20
0000321e: DUP6
0000321f: ADD
00003220: DUP9
00003221: SWAP1
00003222: MSTORE
00003223: PUSH1 0x01
00003225: PUSH1 0x01
00003227: PUSH1 0xa0
00003229: SHL
0000322a: SUB
0000322b: SWAP1
0000322c: SWAP2
0000322d: AND
0000322e: SWAP1
0000322f: DUP5
00003230: ADD
00003231: MSTORE
00003232: CALLER
00003233: SWAP3
00003234: SWAP1
00003235: DUP2
00003236: SWAP1
00003237: PUSH1 0x60
00003239: DUP3
0000323a: ADD
0000323b: SWAP1
0000323c: JUMP
0000323d: JUMPDEST
0000323e: PUSH2 0x3246
00003241: DUP3
00003242: PUSH2 0x28f8
00003245: JUMP
00003246: JUMPDEST
00003247: PUSH1 0x98
00003249: SLOAD
0000324a: SWAP1
0000324b: PUSH1 0x01
0000324d: PUSH1 0x01
0000324f: PUSH1 0x80
00003251: SHL
00003252: SUB
00003253: DUP1
00003254: SWAP2
00003255: AND
00003256: DUP2
00003257: DUP4
00003258: AND
00003259: ADD
0000325a: DUP2
0000325b: DUP2
0000325c: GT
0000325d: PUSH2 0x0bee
00003260: JUMPI
00003261: AND
00003262: SWAP1
00003263: PUSH1 0x01
00003265: PUSH1 0x01
00003267: PUSH1 0x80
00003269: SHL
0000326a: SUB
0000326b: NOT
0000326c: AND
0000326d: OR
0000326e: PUSH1 0x98
00003270: SSTORE
00003271: PUSH1 0x01
00003273: DUP1
00003274: PUSH1 0xa0
00003276: SHL
00003277: SUB
00003278: AND
00003279: PUSH0
0000327a: MSTORE
0000327b: PUSH1 0x9c
0000327d: PUSH1 0x20
0000327f: MSTORE
00003280: PUSH1 0x40
00003282: PUSH0
00003283: KECCAK256
00003284: SWAP1
00003285: DUP2
00003286: SLOAD
00003287: ADD
00003288: SWAP1
00003289: SSTORE
0000328a: JUMP
0000328b: JUMPDEST
0000328c: SWAP1
0000328d: DUP1
0000328e: DUP3
0000328f: LT
00003290: ISZERO
00003291: PUSH2 0x16eb
00003294: JUMPI
00003295: POP
00003296: SWAP1
00003297: JUMP
00003298: JUMPDEST
00003299: PUSH1 0x9a
0000329b: SLOAD
0000329c: SWAP1
0000329d: PUSH1 0x01
0000329f: PUSH1 0x40
000032a1: SHL
000032a2: DUP3
000032a3: LT
000032a4: ISZERO
000032a5: PUSH2 0x0677
000032a8: JUMPI
000032a9: PUSH1 0x01
000032ab: DUP3
000032ac: ADD
000032ad: DUP1
000032ae: PUSH1 0x9a
000032b0: SSTORE
000032b1: DUP3
000032b2: LT
000032b3: ISZERO
000032b4: PUSH2 0x1a4d
000032b7: JUMPI
000032b8: PUSH1 0x9a
000032ba: PUSH0
000032bb: MSTORE
000032bc: DUP1
000032bd: MLOAD
000032be: PUSH1 0x20
000032c0: SWAP1
000032c1: SWAP2
000032c2: ADD
000032c3: MLOAD
000032c4: PUSH1 0xa0
000032c6: SHL
000032c7: PUSH1 0x01
000032c9: PUSH1 0x01
000032cb: PUSH1 0xa0
000032cd: SHL
000032ce: SUB
000032cf: NOT
000032d0: AND
000032d1: PUSH1 0x01
000032d3: PUSH1 0x01
000032d5: PUSH1 0xa0
000032d7: SHL
000032d8: SUB
000032d9: SWAP2
000032da: SWAP1
000032db: SWAP2
000032dc: AND
000032dd: OR
000032de: PUSH0
000032df: DUP1
000032e0: MLOAD
000032e1: PUSH1 0x20
000032e3: PUSH2 0x398f
000032e6: DUP4
000032e7: CODECOPY
000032e8: DUP2
000032e9: MLOAD
000032ea: SWAP2
000032eb: MSTORE
000032ec: SWAP1
000032ed: SWAP2
000032ee: ADD
000032ef: SSTORE
000032f0: JUMP
000032f1: JUMPDEST
000032f2: SWAP1
000032f3: DUP2
000032f4: ISZERO
000032f5: DUP1
000032f6: ISZERO
000032f7: PUSH2 0x33d0
000032fa: JUMPI
000032fb: JUMPDEST
000032fc: PUSH2 0x33be
000032ff: JUMPI
00003300: PUSH1 0x9a
00003302: SLOAD
00003303: DUP1
00003304: PUSH2 0x3388
00003307: JUMPI
00003308: POP
00003309: PUSH0
0000330a: SWAP1
0000330b: JUMPDEST
0000330c: PUSH1 0x01
0000330e: PUSH1 0x01
00003310: PUSH1 0xa0
00003312: SHL
00003313: SUB
00003314: SWAP2
00003315: DUP3
00003316: AND
00003317: SWAP3
00003318: DUP4
00003319: ADD
0000331a: SWAP3
0000331b: DUP4
0000331c: LT
0000331d: PUSH2 0x0bee
00003320: JUMPI
00003321: DUP2
00003322: DUP4
00003323: GT
00003324: PUSH2 0x3368
00003327: JUMPI
00003328: PUSH2 0x06e0
0000332b: SWAP3
0000332c: SWAP2
0000332d: PUSH2 0x3353
00003330: PUSH2 0x333b
00003333: PUSH2 0x3363
00003336: SWAP4
00003337: PUSH2 0x382f
0000333a: JUMP
0000333b: JUMPDEST
0000333c: SWAP2
0000333d: PUSH2 0x3344
00003340: PUSH2 0x06d3
00003343: JUMP
00003344: JUMPDEST
00003345: SWAP5
00003346: AND
00003347: PUSH1 0x01
00003349: PUSH1 0x01
0000334b: PUSH1 0xa0
0000334d: SHL
0000334e: SUB
0000334f: AND
00003350: DUP5
00003351: MSTORE
00003352: JUMP
00003353: JUMPDEST
00003354: PUSH1 0x01
00003356: PUSH1 0x01
00003358: PUSH1 0x60
0000335a: SHL
0000335b: SUB
0000335c: AND
0000335d: PUSH1 0x20
0000335f: DUP4
00003360: ADD
00003361: MSTORE
00003362: JUMP
00003363: JUMPDEST
00003364: PUSH2 0x3298
00003367: JUMP
00003368: JUMPDEST
00003369: PUSH1 0x40
0000336b: MLOAD
0000336c: PUSH4 0x06dfcc65
00003371: PUSH1 0xe4
00003373: SHL
00003374: DUP2
00003375: MSTORE
00003376: PUSH1 0xa0
00003378: PUSH1 0x04
0000337a: DUP3
0000337b: ADD
0000337c: MSTORE
0000337d: PUSH1 0x24
0000337f: DUP2
00003380: ADD
00003381: DUP5
00003382: SWAP1
00003383: MSTORE
00003384: PUSH1 0x44
00003386: SWAP1
00003387: REVERT
00003388: JUMPDEST
00003389: PUSH1 0x9a
0000338b: PUSH0
0000338c: MSTORE
0000338d: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3
000033ae: ADD
000033af: SLOAD
000033b0: PUSH1 0x01
000033b2: PUSH1 0x01
000033b4: PUSH1 0xa0
000033b6: SHL
000033b7: SUB
000033b8: AND
000033b9: SWAP1
000033ba: PUSH2 0x330b
000033bd: JUMP
000033be: JUMPDEST
000033bf: PUSH1 0x40
000033c1: MLOAD
000033c2: PUSH4 0x2ec8835b
000033c7: PUSH1 0xe2
000033c9: SHL
000033ca: DUP2
000033cb: MSTORE
000033cc: PUSH1 0x04
000033ce: SWAP1
000033cf: REVERT
000033d0: JUMPDEST
000033d1: POP
000033d2: DUP1
000033d3: ISZERO
000033d4: PUSH2 0x32fb
000033d7: JUMP
000033d8: JUMPDEST
000033d9: PUSH1 0xff
000033db: PUSH0
000033dc: DUP1
000033dd: MLOAD
000033de: PUSH1 0x20
000033e0: PUSH2 0x39cf
000033e3: DUP4
000033e4: CODECOPY
000033e5: DUP2
000033e6: MLOAD
000033e7: SWAP2
000033e8: MSTORE
000033e9: SLOAD
000033ea: PUSH1 0x40
000033ec: SHR
000033ed: AND
000033ee: ISZERO
000033ef: PUSH2 0x33f4
000033f2: JUMPI
000033f3: JUMP
000033f4: JUMPDEST
000033f5: PUSH1 0x40
000033f7: MLOAD
000033f8: PUSH4 0x1afcd79f
000033fd: PUSH1 0xe3
000033ff: SHL
00003400: DUP2
00003401: MSTORE
00003402: PUSH1 0x04
00003404: SWAP1
00003405: REVERT
00003406: JUMPDEST
00003407: PUSH2 0x340e
0000340a: PUSH2 0x33d8
0000340d: JUMP
0000340e: JUMPDEST
0000340f: DUP1
00003410: ISZERO
00003411: PUSH2 0x3424
00003414: JUMPI
00003415: PUSH1 0x01
00003417: DUP2
00003418: ADD
00003419: PUSH2 0x341f
0000341c: JUMPI
0000341d: POP
0000341e: JUMP
0000341f: JUMPDEST
00003420: PUSH1 0x9d
00003422: SSTORE
00003423: JUMP
00003424: JUMPDEST
00003425: PUSH1 0x40
00003427: MLOAD
00003428: PUSH4 0x31278a87
0000342d: PUSH1 0xe0
0000342f: SHL
00003430: DUP2
00003431: MSTORE
00003432: PUSH1 0x04
00003434: SWAP1
00003435: REVERT
00003436: JUMPDEST
00003437: PUSH2 0x343e
0000343a: PUSH2 0x33d8
0000343d: JUMP
0000343e: JUMPDEST
0000343f: PUSH9 0x01bc16d674ec800000
00003449: PUSH2 0x3450
0000344c: PUSH2 0x16c3
0000344f: JUMP
00003450: JUMPDEST
00003451: LT
00003452: PUSH2 0x3424
00003455: JUMPI
00003456: JUMP
00003457: JUMPDEST
00003458: PUSH2 0x345f
0000345b: PUSH2 0x33d8
0000345e: JUMP
0000345f: JUMPDEST
00003460: PUSH1 0x01
00003462: PUSH1 0x01
00003464: PUSH1 0xa0
00003466: SHL
00003467: SUB
00003468: AND
00003469: DUP1
0000346a: PUSH2 0x3470
0000346d: JUMPI
0000346e: POP
0000346f: JUMP
00003470: JUMPDEST
00003471: PUSH2 0x0137
00003474: DUP1
00003475: SLOAD
00003476: PUSH1 0x01
00003478: PUSH1 0x01
0000347a: PUSH1 0xa0
0000347c: SHL
0000347d: SUB
0000347e: NOT
0000347f: AND
00003480: SWAP1
00003481: SWAP2
00003482: OR
00003483: SWAP1
00003484: SSTORE
00003485: JUMP
00003486: JUMPDEST
00003487: PUSH2 0x06e0
0000348a: SWAP1
0000348b: PUSH2 0x113d
0000348e: PUSH2 0x33d8
00003491: JUMP
00003492: JUMPDEST
00003493: PUSH2 0x349a
00003496: PUSH2 0x33d8
00003499: JUMP
0000349a: JUMPDEST
0000349b: PUSH2 0x34a2
0000349e: PUSH2 0x33d8
000034a1: JUMP
000034a2: JUMPDEST
000034a3: PUSH2 0x34aa
000034a6: PUSH2 0x33d8
000034a9: JUMP
000034aa: JUMPDEST
000034ab: PUSH1 0x01
000034ad: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
000034ce: SSTORE
000034cf: PUSH4 0x3b9aca00
000034d4: CALLVALUE
000034d5: LT
000034d6: PUSH2 0x34e3
000034d9: JUMPI
000034da: PUSH2 0x14e1
000034dd: CALLVALUE
000034de: ADDRESS
000034df: PUSH2 0x30dc
000034e2: JUMP
000034e3: JUMPDEST
000034e4: PUSH1 0x40
000034e6: MLOAD
000034e7: PUSH4 0xea2559bb
000034ec: PUSH1 0xe0
000034ee: SHL
000034ef: DUP2
000034f0: MSTORE
000034f1: PUSH1 0x04
000034f3: SWAP1
000034f4: REVERT
000034f5: JUMPDEST
000034f6: SWAP1
000034f7: DUP2
000034f8: PUSH1 0x20
000034fa: SWAP2
000034fb: SUB
000034fc: SLT
000034fd: PUSH2 0x02f0
00003500: JUMPI
00003501: MLOAD
00003502: PUSH1 0xff
00003504: DUP2
00003505: AND
00003506: DUP2
00003507: SUB
00003508: PUSH2 0x02f0
0000350b: JUMPI
0000350c: SWAP1
0000350d: JUMP
0000350e: JUMPDEST
0000350f: PUSH1 0x40
00003511: MLOAD
00003512: PUSH4 0x52d1902d
00003517: PUSH1 0xe0
00003519: SHL
0000351a: DUP2
0000351b: MSTORE
0000351c: SWAP3
0000351d: SWAP1
0000351e: SWAP2
0000351f: PUSH1 0x20
00003521: DUP5
00003522: PUSH1 0x04
00003524: DUP2
00003525: PUSH1 0x01
00003527: PUSH1 0x01
00003529: PUSH1 0xa0
0000352b: SHL
0000352c: SUB
0000352d: DUP8
0000352e: AND
0000352f: GAS
00003530: STATICCALL
00003531: PUSH0
00003532: SWAP5
00003533: DUP2
00003534: PUSH2 0x3598
00003537: JUMPI
00003538: JUMPDEST
00003539: POP
0000353a: PUSH2 0x355e
0000353d: JUMPI
0000353e: PUSH1 0x40
00003540: MLOAD
00003541: PUSH4 0x4c9c8ce3
00003546: PUSH1 0xe0
00003548: SHL
00003549: DUP2
0000354a: MSTORE
0000354b: PUSH1 0x01
0000354d: PUSH1 0x01
0000354f: PUSH1 0xa0
00003551: SHL
00003552: SUB
00003553: DUP5
00003554: AND
00003555: PUSH1 0x04
00003557: DUP3
00003558: ADD
00003559: MSTORE
0000355a: PUSH1 0x24
0000355c: SWAP1
0000355d: REVERT
0000355e: JUMPDEST
0000355f: SWAP1
00003560: SWAP2
00003561: PUSH0
00003562: DUP1
00003563: MLOAD
00003564: PUSH1 0x20
00003566: PUSH2 0x39af
00003569: DUP4
0000356a: CODECOPY
0000356b: DUP2
0000356c: MLOAD
0000356d: SWAP2
0000356e: MSTORE
0000356f: DUP5
00003570: SUB
00003571: PUSH2 0x357f
00003574: JUMPI
00003575: PUSH2 0x06e0
00003578: SWAP3
00003579: SWAP4
0000357a: POP
0000357b: PUSH2 0x3862
0000357e: JUMP
0000357f: JUMPDEST
00003580: PUSH1 0x40
00003582: MLOAD
00003583: PUSH4 0x2a875269
00003588: PUSH1 0xe2
0000358a: SHL
0000358b: DUP2
0000358c: MSTORE
0000358d: PUSH1 0x04
0000358f: DUP2
00003590: ADD
00003591: DUP6
00003592: SWAP1
00003593: MSTORE
00003594: PUSH1 0x24
00003596: SWAP1
00003597: REVERT
00003598: JUMPDEST
00003599: PUSH2 0x35b2
0000359c: SWAP2
0000359d: SWAP6
0000359e: POP
0000359f: PUSH1 0x20
000035a1: RETURNDATASIZE
000035a2: PUSH1 0x20
000035a4: GT
000035a5: PUSH2 0x0992
000035a8: JUMPI
000035a9: PUSH2 0x0984
000035ac: DUP2
000035ad: DUP4
000035ae: PUSH2 0x06b2
000035b1: JUMP
000035b2: JUMPDEST
000035b3: SWAP4
000035b4: PUSH0
000035b5: PUSH2 0x3538
000035b8: JUMP
000035b9: JUMPDEST
000035ba: PUSH2 0x35c1
000035bd: PUSH2 0x2aab
000035c0: JUMP
000035c1: JUMPDEST
000035c2: PUSH2 0x35c7
000035c5: JUMPI
000035c6: JUMP
000035c7: JUMPDEST
000035c8: PUSH1 0x40
000035ca: MLOAD
000035cb: PUSH4 0x89a1dc63
000035d0: PUSH1 0xe0
000035d2: SHL
000035d3: DUP2
000035d4: MSTORE
000035d5: PUSH1 0x04
000035d7: SWAP1
000035d8: REVERT
000035d9: JUMPDEST
000035da: PUSH1 0x01
000035dc: DUP1
000035dd: PUSH1 0xa0
000035df: SHL
000035e0: SUB
000035e1: AND
000035e2: PUSH0
000035e3: MSTORE
000035e4: PUSH1 0x9c
000035e6: PUSH1 0x20
000035e8: MSTORE
000035e9: PUSH1 0x40
000035eb: PUSH0
000035ec: KECCAK256
000035ed: SWAP1
000035ee: DUP2
000035ef: SLOAD
000035f0: DUP2
000035f1: DUP2
000035f2: SUB
000035f3: SWAP1
000035f4: DUP2
000035f5: GT
000035f6: PUSH2 0x0bee
000035f9: JUMPI
000035fa: PUSH2 0x3603
000035fd: SWAP3
000035fe: SSTORE
000035ff: PUSH2 0x28f8
00003602: JUMP
00003603: JUMPDEST
00003604: PUSH1 0x98
00003606: SLOAD
00003607: SWAP1
00003608: PUSH1 0x01
0000360a: PUSH1 0x01
0000360c: PUSH1 0x80
0000360e: SHL
0000360f: SUB
00003610: SWAP1
00003611: DUP2
00003612: DUP4
00003613: AND
00003614: SUB
00003615: AND
00003616: SWAP1
00003617: PUSH1 0x01
00003619: PUSH1 0x01
0000361b: PUSH1 0x80
0000361d: SHL
0000361e: SUB
0000361f: NOT
00003620: AND
00003621: OR
00003622: PUSH1 0x98
00003624: SSTORE
00003625: JUMP
00003626: JUMPDEST
00003627: PUSH2 0x362e
0000362a: PUSH2 0x2aab
0000362d: JUMP
0000362e: JUMPDEST
0000362f: ISZERO
00003630: PUSH2 0x3635
00003633: JUMPI
00003634: JUMP
00003635: JUMPDEST
00003636: PUSH1 0x40
00003638: MLOAD
00003639: PUSH4 0x0a62fbdb
0000363e: PUSH1 0xe1
00003640: SHL
00003641: DUP2
00003642: MSTORE
00003643: PUSH1 0x04
00003645: SWAP1
00003646: REVERT
00003647: JUMPDEST
00003648: PUSH1 0x9a
0000364a: SLOAD
0000364b: DUP1
0000364c: PUSH2 0x3654
0000364f: JUMPI
00003650: POP
00003651: PUSH0
00003652: SWAP1
00003653: JUMP
00003654: JUMPDEST
00003655: PUSH1 0x9a
00003657: PUSH0
00003658: MSTORE
00003659: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3
0000367a: ADD
0000367b: SLOAD
0000367c: PUSH1 0x01
0000367e: PUSH1 0x01
00003680: PUSH1 0xa0
00003682: SHL
00003683: SUB
00003684: AND
00003685: PUSH2 0x09bb
00003688: JUMP
00003689: JUMPDEST
0000368a: PUSH1 0x40
0000368c: MLOAD
0000368d: PUSH1 0x01
0000368f: PUSH1 0xf8
00003691: SHL
00003692: PUSH1 0x20
00003694: DUP3
00003695: ADD
00003696: MSTORE
00003697: PUSH0
00003698: PUSH1 0x21
0000369a: DUP3
0000369b: ADD
0000369c: MSTORE
0000369d: ADDRESS
0000369e: PUSH1 0x60
000036a0: SHL
000036a1: PUSH1 0x2c
000036a3: DUP3
000036a4: ADD
000036a5: MSTORE
000036a6: PUSH1 0x20
000036a8: DUP2
000036a9: MSTORE
000036aa: PUSH2 0x104e
000036ad: DUP2
000036ae: PUSH2 0x0697
000036b1: JUMP
000036b2: JUMPDEST
000036b3: PUSH0
000036b4: NOT
000036b5: DUP2
000036b6: EQ
000036b7: PUSH2 0x0bee
000036ba: JUMPI
000036bb: PUSH1 0x01
000036bd: ADD
000036be: SWAP1
000036bf: JUMP
000036c0: JUMPDEST
000036c1: CALLDATALOAD
000036c2: PUSH2 0x104e
000036c5: DUP2
000036c6: PUSH2 0x1096
000036c9: JUMP
000036ca: JUMPDEST
000036cb: SWAP3
000036cc: SWAP4
000036cd: SWAP2
000036ce: SWAP1
000036cf: SWAP2
000036d0: DUP1
000036d1: MLOAD
000036d2: SWAP4
000036d3: PUSH2 0x36dc
000036d6: DUP5
000036d7: DUP7
000036d8: PUSH2 0x179e
000036db: JUMP
000036dc: JUMPDEST
000036dd: PUSH2 0x36e5
000036e0: DUP8
000036e1: PUSH2 0x1790
000036e4: JUMP
000036e5: JUMPDEST
000036e6: SUB
000036e7: PUSH2 0x3727
000036ea: JUMPI
000036eb: PUSH2 0x36f3
000036ee: DUP7
000036ef: PUSH2 0x2cdd
000036f2: JUMP
000036f3: JUMPDEST
000036f4: SWAP5
000036f5: PUSH0
000036f6: DUP1
000036f7: SWAP5
000036f8: DUP9
000036f9: PUSH0
000036fa: SWAP7
000036fb: PUSH0
000036fc: JUMPDEST
000036fd: DUP3
000036fe: DUP2
000036ff: LT
00003700: PUSH2 0x375f
00003703: JUMPI
00003704: POP
00003705: POP
00003706: ISZERO
00003707: SWAP2
00003708: POP
00003709: PUSH2 0x3739
0000370c: SWAP1
0000370d: POP
0000370e: JUMPI
0000370f: POP
00003710: POP
00003711: POP
00003712: SUB
00003713: PUSH2 0x3727
00003716: JUMPI
00003717: PUSH2 0x3723
0000371a: SWAP2
0000371b: PUSH0
0000371c: NOT
0000371d: ADD
0000371e: SWAP1
0000371f: PUSH2 0x1af9
00003722: JUMP
00003723: JUMPDEST
00003724: MLOAD
00003725: SWAP1
00003726: JUMP
00003727: JUMPDEST
00003728: PUSH1 0x40
0000372a: MLOAD
0000372b: PUSH4 0x1a8a0249
00003730: PUSH1 0xe1
00003732: SHL
00003733: DUP2
00003734: MSTORE
00003735: PUSH1 0x04
00003737: SWAP1
00003738: REVERT
00003739: JUMPDEST
0000373a: SWAP2
0000373b: SWAP6
0000373c: POP
0000373d: SWAP3
0000373e: SWAP4
0000373f: POP
00003740: ISZERO
00003741: SWAP1
00003742: POP
00003743: PUSH2 0x3751
00003746: JUMPI
00003747: POP
00003748: POP
00003749: PUSH2 0x3723
0000374c: SWAP1
0000374d: PUSH2 0x1aec
00003750: JUMP
00003751: JUMPDEST
00003752: PUSH2 0x375b
00003755: SWAP3
00003756: POP
00003757: PUSH2 0x2d57
0000375a: JUMP
0000375b: JUMPDEST
0000375c: CALLDATALOAD
0000375d: SWAP1
0000375e: JUMP
0000375f: JUMPDEST
00003760: DUP11
00003761: DUP7
00003762: DUP7
00003763: LT
00003764: ISZERO
00003765: PUSH2 0x3812
00003768: JUMPI
00003769: POP
0000376a: PUSH2 0x3791
0000376d: PUSH2 0x378c
00003770: DUP3
00003771: PUSH2 0x3783
00003774: PUSH2 0x377c
00003777: DUP10
00003778: PUSH2 0x36b2
0000377b: JUMP
0000377c: JUMPDEST
0000377d: SWAP9
0000377e: DUP13
0000377f: PUSH2 0x1af9
00003782: JUMP
00003783: JUMPDEST
00003784: MLOAD
00003785: SWAP6
00003786: JUMPDEST
00003787: DUP8
00003788: PUSH2 0x2d60
0000378b: JUMP
0000378c: JUMPDEST
0000378d: PUSH2 0x36c0
00003790: JUMP
00003791: JUMPDEST
00003792: ISZERO
00003793: PUSH2 0x37f7
00003796: JUMPI
00003797: DUP11
00003798: DUP7
00003799: DUP7
0000379a: LT
0000379b: ISZERO
0000379c: PUSH2 0x37d6
0000379f: JUMPI
000037a0: POP
000037a1: PUSH2 0x37c2
000037a4: PUSH1 0x01
000037a6: SWAP3
000037a7: SWAP4
000037a8: PUSH2 0x37ba
000037ab: PUSH2 0x37b3
000037ae: DUP9
000037af: PUSH2 0x36b2
000037b2: JUMP
000037b3: JUMPDEST
000037b4: SWAP8
000037b5: DUP12
000037b6: PUSH2 0x1af9
000037b9: JUMP
000037ba: JUMPDEST
000037bb: MLOAD
000037bc: JUMPDEST
000037bd: SWAP1
000037be: PUSH2 0x3904
000037c1: JUMP
000037c2: JUMPDEST
000037c3: PUSH2 0x37cc
000037c6: DUP3
000037c7: DUP14
000037c8: PUSH2 0x1af9
000037cb: JUMP
000037cc: JUMPDEST
000037cd: MSTORE
000037ce: ADD
000037cf: SWAP1
000037d0: DUP11
000037d1: SWAP2
000037d2: PUSH2 0x36fc
000037d5: JUMP
000037d6: JUMPDEST
000037d7: SWAP3
000037d8: PUSH2 0x37c2
000037db: SWAP1
000037dc: PUSH2 0x37f1
000037df: DUP5
000037e0: PUSH2 0x37eb
000037e3: PUSH1 0x01
000037e5: SWAP7
000037e6: SWAP2
000037e7: PUSH2 0x36b2
000037ea: JUMP
000037eb: JUMPDEST
000037ec: SWAP7
000037ed: PUSH2 0x1af9
000037f0: JUMP
000037f1: JUMPDEST
000037f2: MLOAD
000037f3: PUSH2 0x37bc
000037f6: JUMP
000037f7: JUMPDEST
000037f8: PUSH2 0x37c2
000037fb: PUSH1 0x01
000037fd: SWAP3
000037fe: SWAP4
000037ff: PUSH2 0x2f98
00003802: PUSH2 0x380a
00003805: DUP13
00003806: PUSH2 0x36b2
00003809: JUMP
0000380a: JUMPDEST
0000380b: SWAP12
0000380c: DUP14
0000380d: DUP12
0000380e: PUSH2 0x2d60
00003811: JUMP
00003812: JUMPDEST
00003813: SWAP2
00003814: PUSH2 0x378c
00003817: DUP3
00003818: PUSH2 0x3828
0000381b: DUP4
0000381c: PUSH2 0x37eb
0000381f: PUSH2 0x3791
00003822: SWAP6
00003823: SWAP2
00003824: PUSH2 0x36b2
00003827: JUMP
00003828: JUMPDEST
00003829: MLOAD
0000382a: SWAP6
0000382b: PUSH2 0x3786
0000382e: JUMP
0000382f: JUMPDEST
00003830: PUSH1 0x01
00003832: PUSH1 0x01
00003834: PUSH1 0x60
00003836: SHL
00003837: SUB
00003838: SWAP1
00003839: DUP2
0000383a: DUP2
0000383b: GT
0000383c: PUSH2 0x3843
0000383f: JUMPI
00003840: AND
00003841: SWAP1
00003842: JUMP
00003843: JUMPDEST
00003844: PUSH1 0x44
00003846: SWAP1
00003847: PUSH1 0x40
00003849: MLOAD
0000384a: SWAP1
0000384b: PUSH4 0x06dfcc65
00003850: PUSH1 0xe4
00003852: SHL
00003853: DUP3
00003854: MSTORE
00003855: PUSH1 0x60
00003857: PUSH1 0x04
00003859: DUP4
0000385a: ADD
0000385b: MSTORE
0000385c: PUSH1 0x24
0000385e: DUP3
0000385f: ADD
00003860: MSTORE
00003861: REVERT
00003862: JUMPDEST
00003863: SWAP1
00003864: DUP2
00003865: EXTCODESIZE
00003866: ISZERO
00003867: PUSH2 0x38e3
0000386a: JUMPI
0000386b: PUSH0
0000386c: DUP1
0000386d: MLOAD
0000386e: PUSH1 0x20
00003870: PUSH2 0x39af
00003873: DUP4
00003874: CODECOPY
00003875: DUP2
00003876: MLOAD
00003877: SWAP2
00003878: MSTORE
00003879: DUP1
0000387a: SLOAD
0000387b: PUSH1 0x01
0000387d: PUSH1 0x01
0000387f: PUSH1 0xa0
00003881: SHL
00003882: SUB
00003883: NOT
00003884: AND
00003885: PUSH1 0x01
00003887: PUSH1 0x01
00003889: PUSH1 0xa0
0000388b: SHL
0000388c: SUB
0000388d: DUP5
0000388e: AND
0000388f: SWAP1
00003890: DUP2
00003891: OR
00003892: SWAP1
00003893: SWAP2
00003894: SSTORE
00003895: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
000038b6: PUSH0
000038b7: DUP1
000038b8: LOG2
000038b9: DUP1
000038ba: MLOAD
000038bb: ISZERO
000038bc: PUSH2 0x38c8
000038bf: JUMPI
000038c0: PUSH2 0x14e1
000038c3: SWAP2
000038c4: PUSH2 0x3925
000038c7: JUMP
000038c8: JUMPDEST
000038c9: POP
000038ca: POP
000038cb: CALLVALUE
000038cc: PUSH2 0x38d1
000038cf: JUMPI
000038d0: JUMP
000038d1: JUMPDEST
000038d2: PUSH1 0x40
000038d4: MLOAD
000038d5: PUSH4 0xb398979f
000038da: PUSH1 0xe0
000038dc: SHL
000038dd: DUP2
000038de: MSTORE
000038df: PUSH1 0x04
000038e1: SWAP1
000038e2: REVERT
000038e3: JUMPDEST
000038e4: PUSH1 0x40
000038e6: MLOAD
000038e7: PUSH4 0x4c9c8ce3
000038ec: PUSH1 0xe0
000038ee: SHL
000038ef: DUP2
000038f0: MSTORE
000038f1: PUSH1 0x01
000038f3: PUSH1 0x01
000038f5: PUSH1 0xa0
000038f7: SHL
000038f8: SUB
000038f9: DUP4
000038fa: AND
000038fb: PUSH1 0x04
000038fd: DUP3
000038fe: ADD
000038ff: MSTORE
00003900: PUSH1 0x24
00003902: SWAP1
00003903: REVERT
00003904: JUMPDEST
00003905: DUP2
00003906: DUP2
00003907: LT
00003908: ISZERO
00003909: PUSH2 0x3918
0000390c: JUMPI
0000390d: PUSH0
0000390e: MSTORE
0000390f: PUSH1 0x20
00003911: MSTORE
00003912: PUSH1 0x40
00003914: PUSH0
00003915: KECCAK256
00003916: SWAP1
00003917: JUMP
00003918: JUMPDEST
00003919: SWAP1
0000391a: PUSH0
0000391b: MSTORE
0000391c: PUSH1 0x20
0000391e: MSTORE
0000391f: PUSH1 0x40
00003921: PUSH0
00003922: KECCAK256
00003923: SWAP1
00003924: JUMP
00003925: JUMPDEST
00003926: PUSH0
00003927: DUP1
00003928: PUSH2 0x104e
0000392b: SWAP4
0000392c: PUSH1 0x20
0000392e: DUP2
0000392f: MLOAD
00003930: SWAP2
00003931: ADD
00003932: DUP5
00003933: GAS
00003934: DELEGATECALL
00003935: PUSH2 0x393c
00003938: PUSH2 0x1a5f
0000393b: JUMP
0000393c: JUMPDEST
0000393d: SWAP2
0000393e: SWAP1
0000393f: PUSH2 0x3952
00003942: JUMPI
00003943: POP
00003944: DUP1
00003945: MLOAD
00003946: ISZERO
00003947: PUSH2 0x2989
0000394a: JUMPI
0000394b: DUP1
0000394c: MLOAD
0000394d: SWAP1
0000394e: PUSH1 0x20
00003950: ADD
00003951: REVERT
00003952: JUMPDEST
00003953: DUP2
00003954: MLOAD
00003955: ISZERO
00003956: DUP1
00003957: PUSH2 0x3985
0000395a: JUMPI
0000395b: JUMPDEST
0000395c: PUSH2 0x3963
0000395f: JUMPI
00003960: POP
00003961: SWAP1
00003962: JUMP
00003963: JUMPDEST
00003964: PUSH1 0x40
00003966: MLOAD
00003967: PUSH4 0x9996b315
0000396c: PUSH1 0xe0
0000396e: SHL
0000396f: DUP2
00003970: MSTORE
00003971: PUSH1 0x01
00003973: PUSH1 0x01
00003975: PUSH1 0xa0
00003977: SHL
00003978: SUB
00003979: SWAP1
0000397a: SWAP2
0000397b: AND
0000397c: PUSH1 0x04
0000397e: DUP3
0000397f: ADD
00003980: MSTORE
00003981: PUSH1 0x24
00003983: SWAP1
00003984: REVERT
00003985: JUMPDEST
00003986: POP
00003987: DUP1
00003988: EXTCODESIZE
00003989: ISZERO
0000398a: PUSH2 0x395b
0000398d: JUMP
0000398e: INVALID
0000398f: DIFFICULTY
00003990: UNKNOWN(0xDA)
00003991: ISZERO
00003992: DUP12
00003993: LOG2
00003994: PUSH32 0x9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be4360894a13ba1
000039b5: LOG3
000039b6: UNKNOWN(0x21)
000039b7: MOD
000039b8: PUSH8 0xc828492db98dca3e
000039c1: KECCAK256
000039c2: PUSH23 0xcc3735a920a3ca505d382bbcf0c57e16840df040f15088
000039da: UNKNOWN(0xDC)
000039db: UNKNOWN(0x2F)
000039dc: DUP2
000039dd: INVALID
000039de: CODECOPY
000039df: SHR
000039e0: CODECOPY
000039e1: UNKNOWN(0x23)
000039e2: UNKNOWN(0xBE)
000039e3: UNKNOWN(0xC7)
000039e4: RETURNDATACOPY
000039e5: UNKNOWN(0x23)
000039e6: UNKNOWN(0xA9)
000039e7: PUSH7 0x2efc9c229c6a00
000039ef: LOG2
000039f0: PUSH5 0x6970667358
000039f6: UNKNOWN(0x22)
000039f7: SLT
000039f8: KECCAK256
000039f9: LOG3
000039fa: UNKNOWN(0x2E)
000039fb: SAR
000039fc: CALL
000039fd: UNKNOWN(0x1F)
000039fe: UNKNOWN(0xDF)
000039ff: SWAP15
00003a00: DUP1
00003a01: UNKNOWN(0xC5)
00003a02: PUSH27 0xdae3ac898c75649846beda2084d7c3415547e562724564736f6c63
00003a1e: NUMBER
00003a1f: STOP
00003a20: ADDMOD
00003a21: AND
00003a22: STOP
00003a23: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0xd151c6cba3f20718323ef7b19eab16a9706ac3af8f8d648f0aab21587ff53913
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0xd151c6cba3f20718323ef7b19eab16a9706ac3af8f8d648f0aab21587ff53913",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14c4184b",
            "selector": "0x14c4184b",
            "calldata_variants": [
                "0x14c4184b",
                "0x14c4184b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18f72950",
            "selector": "0x18f72950",
            "calldata_variants": [
                "0x18f72950",
                "0x18f729500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a7ff553",
            "selector": "0x1a7ff553",
            "calldata_variants": [
                "0x1a7ff553",
                "0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2cdf7401",
            "selector": "0x2cdf7401",
            "calldata_variants": [
                "0x2cdf7401",
                "0x2cdf74010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3229fa95",
            "selector": "0x3229fa95",
            "calldata_variants": [
                "0x3229fa95",
                "0x3229fa950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x33194c0a",
            "selector": "0x33194c0a",
            "calldata_variants": [
                "0x33194c0a",
                "0x33194c0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4048,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 14644,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
high math codex Rounding-up in deposits lets dust mint full shares and drain accrued rewards 85 no
view
evidence_json
{
    "evidence": "Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).",
    "locations": [
        "contracts/contracts/vaults/modules/VaultEnterExit.sol:131",
        "contracts/contracts/vaults/modules/VaultEnterExit.sol:147",
        "contracts/contracts/vaults/modules/VaultState.sol:224",
        "contracts/contracts/vaults/modules/VaultState.sol:231"
    ],
    "recommendation": "Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.",
    "exploit_scenario": "1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a
call_targets: 0xaeae7d602b537b2065f3da05dcce754fb23a968d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xaeae7d602b537b2065f3da05dcce754fb23a968d"
    ],
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14c4184b",
            "selector": "0x14c4184b",
            "calldata_variants": [
                "0x14c4184b",
                "0x14c4184b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18f72950",
            "selector": "0x18f72950",
            "calldata_variants": [
                "0x18f72950",
                "0x18f729500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a7ff553",
            "selector": "0x1a7ff553",
            "calldata_variants": [
                "0x1a7ff553",
                "0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2cdf7401",
            "selector": "0x2cdf7401",
            "calldata_variants": [
                "0x2cdf7401",
                "0x2cdf74010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3229fa95",
            "selector": "0x3229fa95",
            "calldata_variants": [
                "0x3229fa95",
                "0x3229fa950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x33194c0a",
            "selector": "0x33194c0a",
            "calldata_variants": [
                "0x33194c0a",
                "0x33194c0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4944,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7660,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8550,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 9,
    "guards_detected": [],
    "untrusted_call_count": 9
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a
call_targets: 0xaeae7d602b537b2065f3da05dcce754fb23a968d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xaeae7d602b537b2065f3da05dcce754fb23a968d"
    ],
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14c4184b",
            "selector": "0x14c4184b",
            "calldata_variants": [
                "0x14c4184b",
                "0x14c4184b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18f72950",
            "selector": "0x18f72950",
            "calldata_variants": [
                "0x18f72950",
                "0x18f729500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a7ff553",
            "selector": "0x1a7ff553",
            "calldata_variants": [
                "0x1a7ff553",
                "0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2cdf7401",
            "selector": "0x2cdf7401",
            "calldata_variants": [
                "0x2cdf7401",
                "0x2cdf74010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3229fa95",
            "selector": "0x3229fa95",
            "calldata_variants": [
                "0x3229fa95",
                "0x3229fa950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x33194c0a",
            "selector": "0x33194c0a",
            "calldata_variants": [
                "0x33194c0a",
                "0x33194c0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4944,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7660,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8550,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 9,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
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": 8
}
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": 16
}