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

Analysis Run

42f21ca1-82d3-426a-a45a-788b3a4f9d5b

failed
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 10:04 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Authorization based on tx.origin
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
30207 report.consolidate complete 1 / 1 3 months ago
73426 artifact.fetch failed 1 / 3 1 week ago
73427 tool.cast_disasm complete 1 / 3 1 week ago
73428 analysis.bundle complete 1 / 3 1 week ago
73429 capability.graph complete 1 / 3 1 week ago
73430 detector.run complete 1 / 3 1 week ago
73431 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
2
No findings?
no
Summary
Identified two high-severity fee-accounting issues in initialization that can brick settlements or mint excessive fees, especially for assets with <18 decimals.
View stderr
[codex:1330830] OpenAI Codex v0.77.0 (research preview)
[codex:1330830] --------
[codex:1330830] workdir: /tmp/codex-multi-p6qrdd2n
[codex:1330830] model: gpt-5.2-codex
[codex:1330830] provider: openai
[codex:1330830] approval: never
[codex:1330830] sandbox: read-only
[codex:1330830] reasoning effort: xhigh
[codex:1330830] reasoning summaries: auto
[codex:1330830] session id: 019b61cc-c6d4-7ac3-9a84-0371db032e89
[codex:1330830] --------
[codex:1330830] user
[codex:1330830] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1330830] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1330830] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1330830] 
[codex:1330830] Scope rules:
[codex:1330830] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1330830] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1330830] 
[codex:1330830] Output MUST be valid JSON matching the provided schema.
[codex:1330830] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1330830] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1330830] 
[codex:1330830] Output constraints (IMPORTANT):
[codex:1330830] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1330830] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1330830] mcp startup: no servers
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc ls in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830] AUDIT_BUNDLE.txt
[codex:1330830] codex-output-schema.json
[codex:1330830] contracts
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Opening AUDIT_BUNDLE.txt for review**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-p6qrdd2n succeeded in 6ms:
[codex:1330830] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1330830] 
[codex:1330830] ================================================================================
[codex:1330830] FILE: contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol
[codex:1330830] ================================================================================
[codex:1330830] // SPDX-License-Identifier: MIT
[codex:1330830] // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC165.sol)
[codex:1330830] 
[codex:1330830] pragma solidity ^0.8.20;
[codex:1330830] 
[codex:1330830] import {IERC165} from "../utils/introspection/IERC165.sol";
[codex:1330830] 
[codex:1330830] ================================================================================
[codex:1330830] FILE: contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol
[codex:1330830] ================================================================================
[codex:1330830] // SPDX-License-Identifier: MIT
[codex:1330830] // OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC4626.sol)
[codex:1330830] 
[codex:1330830] pragma solidity ^0.8.20;
[codex:1330830] 
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Identifying first-party contracts**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc 'rg -n "FILE: contracts/src" AUDIT_BUNDLE.txt' in /tmp/codex-multi-p6qrdd2n succeeded in 7ms:
[codex:1330830] 2674:FILE: contracts/src/protocol/Events.sol
[codex:1330830] 2696:FILE: contracts/src/protocol/FeeRegistry.sol
[codex:1330830] 2824:FILE: contracts/src/v0.5.0/ERC7540.sol
[codex:1330830] 3574:FILE: contracts/src/v0.5.0/FeeManager.sol
[codex:1330830] 3830:FILE: contracts/src/v0.5.0/Roles.sol
[codex:1330830] 3953:FILE: contracts/src/v0.5.0/Silo.sol
[codex:1330830] 3980:FILE: contracts/src/v0.5.0/Vault.sol
[codex:1330830] 4526:FILE: contracts/src/v0.5.0/Whitelistable.sol
[codex:1330830] 4619:FILE: contracts/src/v0.5.0/interfaces/IERC7540.sol
[codex:1330830] 4639:FILE: contracts/src/v0.5.0/interfaces/IERC7540Deposit.sol
[codex:1330830] 4674:FILE: contracts/src/v0.5.0/interfaces/IERC7540Redeem.sol
[codex:1330830] 4694:FILE: contracts/src/v0.5.0/interfaces/IERC7575.sol
[codex:1330830] 4707:FILE: contracts/src/v0.5.0/interfaces/IWETH9.sol
[codex:1330830] 4726:FILE: contracts/src/v0.5.0/primitives/Enums.sol
[codex:1330830] 4741:FILE: contracts/src/v0.5.0/primitives/Errors.sol
[codex:1330830] 4832:FILE: contracts/src/v0.5.0/primitives/Events.sol
[codex:1330830] 4942:FILE: contracts/src/v0.5.0/primitives/Struct.sol
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Preparing to analyze protocol contracts**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '1,220p' contracts/src/protocol/Events.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830] // SPDX-License-Identifier: BUSL-1.1
[codex:1330830] pragma solidity "0.8.26";
[codex:1330830] 
[codex:1330830] /// @notice Emitted when the protocol fee receiver is updated.
[codex:1330830] /// @param oldReceiver The old protocol fee receiver address.
[codex:1330830] /// @param newReceiver The new protocol fee receiver address.
[codex:1330830] event ProtocolFeeReceiverUpdated(address oldReceiver, address newReceiver);
[codex:1330830] 
[codex:1330830] /// @notice Emitted when the default protocol fee rate is updated.
[codex:1330830] /// @param oldRate The old default protocol fee rate.
[codex:1330830] /// @param newRate The new default protocol fee rate.
[codex:1330830] event DefaultRateUpdated(uint256 oldRate, uint256 newRate);
[codex:1330830] 
[codex:1330830] /// @notice Emitted when a custom fee rate is updated for a specific vault.
[codex:1330830] /// @param vault The address of the vault.
[codex:1330830] /// @param rate The new custom fee rate for the vault.
[codex:1330830] /// @param isActivated A boolean indicating whether the custom rate is activated.
[codex:1330830] event CustomRateUpdated(address vault, uint16 rate, bool isActivated);
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Moving on to FeeRegistry**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '1,240p' contracts/src/protocol/FeeRegistry.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830] // SPDX-License-Identifier: BUSL-1.1
[codex:1330830] pragma solidity "0.8.26";
[codex:1330830] 
[codex:1330830] import {CustomRateUpdated, DefaultRateUpdated, ProtocolFeeReceiverUpdated} from "./Events.sol";
[codex:1330830] import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol";
[codex:1330830] 
[codex:1330830] /// @title FeeRegistry
[codex:1330830] /// @notice The FeeRegistry contract manages protocol fee rates for various vaults.
[codex:1330830] /// It allows the contract owner (the protocol) to set a default protocol fee rate, define custom fee rates
[codex:1330830] /// for specific vaults, and manage the address that receives these protocol fees.
[codex:1330830] /// Protocol fees represents a fraction (which is the rate) of the fees taken by the asset manager of the vault
[codex:1330830] contract FeeRegistry is Ownable2StepUpgradeable {
[codex:1330830]     struct CustomRate {
[codex:1330830]         bool isActivated;
[codex:1330830]         uint16 rate;
[codex:1330830]     }
[codex:1330830] 
[codex:1330830]     /// @custom:storage-location erc7201:hopper.storage.FeeRegistry
[codex:1330830]     struct FeeRegistryStorage {
[codex:1330830]         uint16 defaultRate;
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Inspecting main vault contract**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '1,260p' contracts/src/v0.5.0/ERC7540.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 6ms:
[codex:1330830] // SPDX-License-Identifier: BUSL-1.1
[codex:1330830] pragma solidity "0.8.26";
[codex:1330830] 
[codex:1330830] import {Silo} from "./Silo.sol";
[codex:1330830] import {IERC7540Deposit} from "./interfaces/IERC7540Deposit.sol";
[codex:1330830] import {IERC7540Redeem} from "./interfaces/IERC7540Redeem.sol";
[codex:1330830] import {IWETH9} from "./interfaces/IWETH9.sol";
[codex:1330830] import {
[codex:1330830]     CantDepositNativeToken,
[codex:1330830]     ERC7540InvalidOperator,
[codex:1330830]     ERC7540PreviewDepositDisabled,
[codex:1330830]     ERC7540PreviewMintDisabled,
[codex:1330830]     ERC7540PreviewRedeemDisabled,
[codex:1330830]     ERC7540PreviewWithdrawDisabled,
[codex:1330830]     NewTotalAssetsMissing,
[codex:1330830]     OnlyOneRequestAllowed,
[codex:1330830]     RequestIdNotClaimable,
[codex:1330830]     RequestNotCancelable,
[codex:1330830]     WrongNewTotalAssets
[codex:1330830] } from "./primitives/Errors.sol";
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '260,520p' contracts/src/v0.5.0/ERC7540.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830]     /// @param receiver The receiver of the shares.
[codex:1330830]     /// @return shares The corresponding shares.
[codex:1330830]     function deposit(
[codex:1330830]         uint256 assets,
[codex:1330830]         address receiver
[codex:1330830]     ) public virtual override(ERC4626Upgradeable, IERC4626) returns (uint256) {
[codex:1330830]         return _deposit(assets, receiver, msg.sender);
[codex:1330830]     }
[codex:1330830] 
[codex:1330830]     /// @dev Unusable when paused. Protected by ERC20PausableUpgradeable's _transfer function.
[codex:1330830]     /// @notice Claim the assets from the vault after a request has been settled.
[codex:1330830]     /// @param assets The assets to deposit.
[codex:1330830]     /// @param receiver The receiver of the shares.
[codex:1330830]     /// @param controller The controller, who owns the deposit request.
[codex:1330830]     /// @return shares The corresponding shares.
[codex:1330830]     function deposit(
[codex:1330830]         uint256 assets,
[codex:1330830]         address receiver,
[codex:1330830]         address controller
[codex:1330830]     ) external virtual onlyOperator(controller) returns (uint256) {
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '520,1040p' contracts/src/v0.5.0/ERC7540.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830]             lastRedeemEpochIdSettled, redeemSettleId, _totalAssets, _totalSupply, assetsToWithdraw, pendingShares
[codex:1330830]         );
[codex:1330830]     }
[codex:1330830] 
[codex:1330830]     ////////////////////////////////////////
[codex:1330830]     // ## TOTALASSETS UPDATE FUNCTIONS ## //
[codex:1330830]     ////////////////////////////////////////
[codex:1330830] 
[codex:1330830]     /// @notice Update newTotalAssets variable in order to update totalAssets.
[codex:1330830]     /// @param _newTotalAssets The new total assets of the vault.
[codex:1330830]     function _updateNewTotalAssets(
[codex:1330830]         uint256 _newTotalAssets
[codex:1330830]     ) internal whenNotPaused {
[codex:1330830]         ERC7540Storage storage $ = _getERC7540Storage();
[codex:1330830] 
[codex:1330830]         $.epochs[$.depositEpochId].settleId = $.depositSettleId;
[codex:1330830]         $.epochs[$.redeemEpochId].settleId = $.redeemSettleId;
[codex:1330830] 
[codex:1330830]         address _pendingSilo = address($.pendingSilo);
[codex:1330830]         uint256 pendingAssets = IERC20(asset()).balanceOf(_pendingSilo);
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Reviewing ERC7540 core**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '1,260p' contracts/src/v0.5.0/FeeManager.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830] // SPDX-License-Identifier: BUSL-1.1
[codex:1330830] pragma solidity "0.8.26";
[codex:1330830] 
[codex:1330830] import {ERC7540} from "./ERC7540.sol";
[codex:1330830] import {AboveMaxRate} from "./primitives/Errors.sol";
[codex:1330830] import {HighWaterMarkUpdated, RatesUpdated} from "./primitives/Events.sol";
[codex:1330830] import {Rates} from "./primitives/Struct.sol";
[codex:1330830] import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol";
[codex:1330830] import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
[codex:1330830] import {FeeRegistry} from "@src/protocol/FeeRegistry.sol";
[codex:1330830] 
[codex:1330830] uint256 constant ONE_YEAR = 365 days;
[codex:1330830] uint256 constant BPS_DIVIDER = 10_000; // 100 %
[codex:1330830] 
[codex:1330830] abstract contract FeeManager is Ownable2StepUpgradeable, ERC7540 {
[codex:1330830]     using Math for uint256;
[codex:1330830] 
[codex:1330830]     uint16 public constant MAX_MANAGEMENT_RATE = 1000; // 10 %
[codex:1330830]     uint16 public constant MAX_PERFORMANCE_RATE = 5000; // 50 %
[codex:1330830]     uint16 public constant MAX_PROTOCOL_RATE = 3000; // 30 %
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Reviewing Roles.sol next**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '1,240p' contracts/src/v0.5.0/Roles.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830] // SPDX-License-Identifier: BUSL-1.1
[codex:1330830] pragma solidity "0.8.26";
[codex:1330830] 
[codex:1330830] import {FeeRegistry} from "../protocol/FeeRegistry.sol";
[codex:1330830] import {OnlySafe, OnlyValuationManager, OnlyWhitelistManager} from "./primitives/Errors.sol";
[codex:1330830] import {FeeReceiverUpdated, ValuationManagerUpdated, WhitelistManagerUpdated} from "./primitives/Events.sol";
[codex:1330830] import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol";
[codex:1330830] 
[codex:1330830] /// @title RolesUpgradeable
[codex:1330830] /// @dev This contract is used to define the various roles needed for a vault to operate.
[codex:1330830] /// @dev It also defines the modifiers used to check functions' caller.
[codex:1330830] abstract contract Roles is Ownable2StepUpgradeable {
[codex:1330830]     /// @notice Stores the various roles responsible of managing the vault.
[codex:1330830]     /// @param whitelistManager The address responsible of managing the whitelist.
[codex:1330830]     /// @param feeReceiver The address that will receive the fees generated.
[codex:1330830]     /// @param safe Every lagoon vault is associated with a Safe smart contract. This address will receive the assets of
[codex:1330830]     /// the vault and can settle deposits and redeems.
[codex:1330830]     /// @param feeRegistry The address of the FeeRegistry contract.
[codex:1330830]     /// @param valuationManager. This address is responsible of updating the newTotalAssets value of the vault.
[codex:1330830]     /// @param owner The address of the owner of the contract. It considered as the admin. It is not visible in the
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Checking next Silo.sol file**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '1,260p' contracts/src/v0.5.0/Silo.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830] // SPDX-License-Identifier: BUSL-1.1
[codex:1330830] pragma solidity "0.8.26";
[codex:1330830] 
[codex:1330830] import {IWETH9} from "./interfaces/IWETH9.sol";
[codex:1330830] import {IERC20, SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1330830] 
[codex:1330830] using SafeERC20 for IERC20;
[codex:1330830] 
[codex:1330830] /// @title Silo
[codex:1330830] /// @dev This contract is used to hold the assets/shares of the users that
[codex:1330830] /// requested a deposit/redeem. It is used to simplify the logic of the vault.
[codex:1330830] contract Silo {
[codex:1330830]     IWETH9 public wrappedNativeToken;
[codex:1330830] 
[codex:1330830]     constructor(IERC20 underlying, address _wrappedNativeToken) {
[codex:1330830]         underlying.forceApprove(msg.sender, type(uint256).max);
[codex:1330830]         wrappedNativeToken = IWETH9(_wrappedNativeToken);
[codex:1330830]     }
[codex:1330830] 
[codex:1330830]     function depositEth() external payable {
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Opening Vault.sol file**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '1,360p' contracts/src/v0.5.0/Vault.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830] // SPDX-License-Identifier: BUSL-1.1
[codex:1330830] pragma solidity "0.8.26";
[codex:1330830] 
[codex:1330830] import {ERC7540} from "./ERC7540.sol";
[codex:1330830] import {FeeManager} from "./FeeManager.sol";
[codex:1330830] import {Roles} from "./Roles.sol";
[codex:1330830] import {Whitelistable} from "./Whitelistable.sol";
[codex:1330830] import {State} from "./primitives/Enums.sol";
[codex:1330830] import {
[codex:1330830]     CantDepositNativeToken,
[codex:1330830]     Closed,
[codex:1330830]     ERC7540InvalidOperator,
[codex:1330830]     NotClosing,
[codex:1330830]     NotOpen,
[codex:1330830]     NotWhitelisted,
[codex:1330830]     OnlyAsyncDepositAllowed,
[codex:1330830]     OnlySyncDepositAllowed,
[codex:1330830]     ValuationUpdateNotAllowed
[codex:1330830] } from "./primitives/Errors.sol";
[codex:1330830] 
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '360,720p' contracts/src/v0.5.0/Vault.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 6ms:
[codex:1330830]     /// @param _newTotalAssets The new total assets of the vault.
[codex:1330830]     function updateNewTotalAssets(
[codex:1330830]         uint256 _newTotalAssets
[codex:1330830]     ) public onlyValuationManager {
[codex:1330830]         if (_getVaultStorage().state == State.Closed) revert Closed();
[codex:1330830] 
[codex:1330830]         // if totalAssets is not expired yet it means syncDeposit are allowed
[codex:1330830]         // in this case we do not allow onlyValuationManager to propose a new nav
[codex:1330830]         // he must call unvalidateTotalAssets first.
[codex:1330830]         if (isTotalAssetsValid()) {
[codex:1330830]             revert ValuationUpdateNotAllowed();
[codex:1330830]         }
[codex:1330830]         _updateNewTotalAssets(_newTotalAssets);
[codex:1330830]     }
[codex:1330830] 
[codex:1330830]     /// @notice Settles deposit requests, integrates user funds into the vault strategy, and enables share claims.
[codex:1330830]     /// If possible, it also settles redeem requests.
[codex:1330830]     /// @dev Unusable when paused, protected by whenNotPaused in _updateTotalAssets.
[codex:1330830]     function settleDeposit(
[codex:1330830]         uint256 _newTotalAssets
[codex:1330830] 
[codex:1330830] 
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Analyzing contract security and reentrancy risks**
[codex:1330830] 
[codex:1330830] I'm reviewing the vault and silo deposit/redeem flows for vulnerabilities like reentrancy, unchecked external calls, and access control. I’m focused on external token transfers—especially with ERC777 hooks—and how state updates relate to those calls. I'm considering whitelist enforcement gaps where unwhitelisted controllers might receive shares, and looking at timing of totalAssets updates relative to share minting to check for pricing or accounting errors. There are potential design concerns but most external calls happen after state changes, lowering some risks. Still, unusual interactions—like reentrancy via safe contracts or misused allowances—need a close look. Overall, I’m piecing together complex flows with async settlement, whitelisting, and token transfer nuances to spot exploitable flaws or logic bugs.
[codex:1330830] thinking
[codex:1330830] **Examining deposit and redeem logic for access and accounting issues**
[codex:1330830] 
[codex:1330830] I'm exploring ERC7540’s deposit and redeem flows, focusing on operator restrictions, whitelist checks, and how share minting and asset accounting correspond throughout settlements. I’m considering edge cases like async vs sync deposits, closing states, and how totalAssets updates impact share pricing and redeem logic. Reentrancy possibilities during token transfers and allowance-based redeem requests also catch my attention, with an eye on whether multiple requests per epoch or improper approvals might bypass intended controls. It’s a detailed puzzle balancing internal state updates, external calls, and role-based permissions to detect vulnerabilities or design pitfalls.
[codex:1330830] thinking
[codex:1330830] **Analyzing fee calculations, upgradeable patterns, and reentrancy risks**
[codex:1330830] 
[codex:1330830] I’m digging into fee manager logic, especially scenarios where management fees over long periods can exceed total assets, leading to underflows and operation reverts. Also checking upgradeable contract inheritance for initializer calls to avoid conflicts, and examining external calls that might enable reentrancy—like token transfers interacting with vault functions. Some pure/view misannotations and state checks on deposit requests during closing phases catch my eye, too. Overall, I want to ensure fee math, access patterns, and upgradeable setup align safely without unexpected side effects.
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "rg -n \"delegatecall|call\\(|staticcall\" contracts/src/v0.5.0" in /tmp/codex-multi-p6qrdd2n exited 1 in 9ms:
[codex:1330830] 
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Analyzing reentrancy risk in vault initialization**
[codex:1330830] 
[codex:1330830] I’m working through a complex potential reentrancy issue where a malicious underlying token might reenter the vault during its initialization, specifically in the Silo constructor's external call to forceApprove. I’m carefully tracing the initialization order to see what state is set before the call, checking if access controls or paused states prevent exploits, and pondering if uninitialized storage or access controls could be bypassed. I’m also evaluating deposit accounting logic for possible inconsistencies in share conversion between epochs, considering nuances in totalAssets and totalSupply calculations. This is quite intricate, and I want to make sure I understand how all these pieces fit together!
[codex:1330830] exec
[codex:1330830] /bin/bash -lc 'rg -n "_convertToShares" contracts/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol' in /tmp/codex-multi-p6qrdd2n succeeded in 6ms:
[codex:1330830] 46: * `_convertToShares` and `_convertToAssets` functions.
[codex:1330830] 145:        return _convertToShares(assets, Math.Rounding.Floor);
[codex:1330830] 175:        return _convertToShares(assets, Math.Rounding.Floor);
[codex:1330830] 185:        return _convertToShares(assets, Math.Rounding.Ceil);
[codex:1330830] 252:    function _convertToShares(uint256 assets, Math.Rounding rounding) internal view virtual returns (uint256) {
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "sed -n '220,320p' contracts/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830]         return assets;
[codex:1330830]     }
[codex:1330830] 
[codex:1330830]     /** @dev See {IERC4626-withdraw}. */
[codex:1330830]     function withdraw(uint256 assets, address receiver, address owner) public virtual returns (uint256) {
[codex:1330830]         uint256 maxAssets = maxWithdraw(owner);
[codex:1330830]         if (assets > maxAssets) {
[codex:1330830]             revert ERC4626ExceededMaxWithdraw(owner, assets, maxAssets);
[codex:1330830]         }
[codex:1330830] 
[codex:1330830]         uint256 shares = previewWithdraw(assets);
[codex:1330830]         _withdraw(_msgSender(), receiver, owner, assets, shares);
[codex:1330830] 
[codex:1330830]         return shares;
[codex:1330830]     }
[codex:1330830] 
[codex:1330830]     /** @dev See {IERC4626-redeem}. */
[codex:1330830]     function redeem(uint256 shares, address receiver, address owner) public virtual returns (uint256) {
[codex:1330830]         uint256 maxShares = maxRedeem(owner);
[codex:1330830]         if (shares > maxShares) {
[codex:1330830] 
[codex:1330830] 
[codex:1330830] 
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Analyzing potential rounding and access control issues**
[codex:1330830] thinking
[codex:1330830] **Reviewing operator privileges and deposit claim mechanics**
[codex:1330830] 
[codex:1330830] I’m exploring how operator roles enable managing owners’ shares without allowances and looking into deposit claim logic to see if rounding or multiple claims could cause issues. I’m also checking state updates, rounding consistency, and interactions around fees and upgradeability to spot any surprising behaviors or edge cases.
[codex:1330830] thinking
[codex:1330830] **Analyzing asset donations, accounting, and reentrancy risks**
[codex:1330830] 
[codex:1330830] There is a lot here! I'm parsing how donated assets to the Silo affect total assets, share minting, and valuation, considering if that causes locked or diluted equity and how rounding might be influenced. I’m also digging into how external asset transfers to Silo affect epochs, settlements, and deposit requests, plus potential reentrancy during token transfers and minting sequences. I want to verify if any subtle misalignments in accounting, fee minting, or operator permissions could open unexpected issues.
[codex:1330830] thinking
[codex:1330830] **Examining whitelist, operator controls, and fee timing initialization**
[codex:1330830] 
[codex:1330830] I’m working through whether whitelist and operator permissions are enforced properly and if any unchecked external calls could cause trouble. I’m especially focused on a critical flaw: the fee manager’s lastFeeTime is never initialized, causing massive accumulated fees on first settlement that can break vault operations or drastically inflate fees. This timing bug seems like a major DoS and accounting problem needing a fix.
[codex:1330830] exec
[codex:1330830] /bin/bash -lc 'rg -n "lastFeeTime" contracts/src/v0.5.0' in /tmp/codex-multi-p6qrdd2n succeeded in 10ms:
[codex:1330830] contracts/src/v0.5.0/FeeManager.sol:24:    /// @param lastFeeTime the timestamp of the last fee calculation, it is used to compute management fees
[codex:1330830] contracts/src/v0.5.0/FeeManager.sol:34:        uint256 lastFeeTime;
[codex:1330830] contracts/src/v0.5.0/FeeManager.sol:106:        $.lastFeeTime = block.timestamp;
[codex:1330830] contracts/src/v0.5.0/FeeManager.sol:185:        uint256 timeElapsed = block.timestamp - $.lastFeeTime;
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Analyzing potential vulnerabilities in FeeManager and Vault**
[codex:1330830] 
[codex:1330830] I’m examining the uninitialized `lastFeeTime` as a major vulnerability and cross-checking other suspicious behaviors like underflows, state initialization, fee calculation, and potential reentrancy scenarios with safe and vault interactions to clarify exploitability and risk severity.
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "nl -ba contracts/src/v0.5.0/FeeManager.sol | sed -n '1,220p'" in /tmp/codex-multi-p6qrdd2n succeeded in 6ms:
[codex:1330830]      1	// SPDX-License-Identifier: BUSL-1.1
[codex:1330830]      2	pragma solidity "0.8.26";
[codex:1330830]      3	
[codex:1330830]      4	import {ERC7540} from "./ERC7540.sol";
[codex:1330830]      5	import {AboveMaxRate} from "./primitives/Errors.sol";
[codex:1330830]      6	import {HighWaterMarkUpdated, RatesUpdated} from "./primitives/Events.sol";
[codex:1330830]      7	import {Rates} from "./primitives/Struct.sol";
[codex:1330830]      8	import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol";
[codex:1330830]      9	import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
[codex:1330830]     10	import {FeeRegistry} from "@src/protocol/FeeRegistry.sol";
[codex:1330830]     11	
[codex:1330830]     12	uint256 constant ONE_YEAR = 365 days;
[codex:1330830]     13	uint256 constant BPS_DIVIDER = 10_000; // 100 %
[codex:1330830]     14	
[codex:1330830]     15	abstract contract FeeManager is Ownable2StepUpgradeable, ERC7540 {
[codex:1330830]     16	    using Math for uint256;
[codex:1330830]     17	
[codex:1330830]     18	    uint16 public constant MAX_MANAGEMENT_RATE = 1000; // 10 %
[codex:1330830]     19	    uint16 public constant MAX_PERFORMANCE_RATE = 5000; // 50 %
[codex:1330830]     20	    uint16 public constant MAX_PROTOCOL_RATE = 3000; // 30 %
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "nl -ba contracts/src/v0.5.0/FeeManager.sol | sed -n '220,360p'" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830]    220	        uint256 annualRate,
[codex:1330830]    221	        uint256 timeElapsed
[codex:1330830]    222	    ) internal pure returns (uint256 managementFee) {
[codex:1330830]    223	        uint256 annualFee = assets.mulDiv(annualRate, BPS_DIVIDER, Math.Rounding.Ceil);
[codex:1330830]    224	        managementFee = annualFee.mulDiv(timeElapsed, ONE_YEAR, Math.Rounding.Ceil);
[codex:1330830]    225	    }
[codex:1330830]    226	
[codex:1330830]    227	    /// @dev Calculate the performance fee
[codex:1330830]    228	    /// @dev The performance is calculated as the difference between the current price per share and the high water mark
[codex:1330830]    229	    /// @dev The performance fee is calculated as the product of the performance and the performance rate
[codex:1330830]    230	    /// @param _rate the performance rate, expressed in BPS
[codex:1330830]    231	    /// @param _totalSupply the total supply of shares
[codex:1330830]    232	    /// @param _pricePerShare the current price per share
[codex:1330830]    233	    /// @param _highWaterMark the highest price per share ever reached
[codex:1330830]    234	    /// @param _decimals the number of decimals of the shares
[codex:1330830]    235	    /// @return performanceFee the performance fee express in assets
[codex:1330830]    236	    function _calculatePerformanceFee(
[codex:1330830]    237	        uint256 _rate,
[codex:1330830]    238	        uint256 _totalSupply,
[codex:1330830]    239	        uint256 _pricePerShare,
[codex:1330830] 
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Analyzing critical initialization and calculation bugs**
[codex:1330830] thinking
[codex:1330830] **Preparing to confirm initialization lines**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "nl -ba contracts/src/v0.5.0/Vault.sol | sed -n '40,180p'" in /tmp/codex-multi-p6qrdd2n succeeded in 6ms:
[codex:1330830]     40	/// @param feeReceiver The address of the fee receiver.
[codex:1330830]     41	/// @param feeRegistry The address of the fee registry.
[codex:1330830]     42	/// @param wrappedNativeToken The address of the wrapped native token.
[codex:1330830]     43	/// @param managementRate The management fee rate.
[codex:1330830]     44	/// @param performanceRate The performance fee rate.
[codex:1330830]     45	/// @param rateUpdateCooldown The cooldown period for updating the fee rates.
[codex:1330830]     46	/// @param enableWhitelist A boolean indicating whether the whitelist is enabled.
[codex:1330830]     47	struct InitStruct {
[codex:1330830]     48	    IERC20 underlying;
[codex:1330830]     49	    string name;
[codex:1330830]     50	    string symbol;
[codex:1330830]     51	    address safe;
[codex:1330830]     52	    address whitelistManager;
[codex:1330830]     53	    address valuationManager;
[codex:1330830]     54	    address admin;
[codex:1330830]     55	    address feeReceiver;
[codex:1330830]     56	    uint16 managementRate;
[codex:1330830]     57	    uint16 performanceRate;
[codex:1330830]     58	    bool enableWhitelist;
[codex:1330830]     59	    uint256 rateUpdateCooldown;
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Identifying key initialization lines**
[codex:1330830] exec
[codex:1330830] /bin/bash -lc "nl -ba contracts/src/v0.5.0/ERC7540.sol | sed -n '60,140p'" in /tmp/codex-multi-p6qrdd2n succeeded in 5ms:
[codex:1330830]     60	    /// @param lastDepositRequestId A mapping of the last deposit request ID for each user.
[codex:1330830]     61	    /// @param lastRedeemRequestId A mapping of the last redeem request ID for each user.
[codex:1330830]     62	    /// @param isOperator A mapping of operators for each user.
[codex:1330830]     63	    /// @param pendingSilo The pending silo.
[codex:1330830]     64	    /// @param wrappedNativeToken The wrapped native token. WETH9 for ethereum.
[codex:1330830]     65	    struct ERC7540Storage {
[codex:1330830]     66	        uint256 totalAssets;
[codex:1330830]     67	        uint256 newTotalAssets;
[codex:1330830]     68	        uint40 depositEpochId;
[codex:1330830]     69	        uint40 depositSettleId;
[codex:1330830]     70	        uint40 lastDepositEpochIdSettled;
[codex:1330830]     71	        uint40 redeemEpochId;
[codex:1330830]     72	        uint40 redeemSettleId;
[codex:1330830]     73	        uint40 lastRedeemEpochIdSettled;
[codex:1330830]     74	        mapping(uint40 epochId => EpochData) epochs;
[codex:1330830]     75	        mapping(uint40 settleId => SettleData) settles;
[codex:1330830]     76	        mapping(address user => uint40 epochId) lastDepositRequestId;
[codex:1330830]     77	        mapping(address user => uint40 epochId) lastRedeemRequestId;
[codex:1330830]     78	        mapping(address controller => mapping(address operator => bool)) isOperator;
[codex:1330830]     79	        Silo pendingSilo;
[codex:1330830] 
[codex:1330830] thinking
[codex:1330830] **Summarizing fee accounting vulnerabilities**
[codex:1330830] 
[codex:1330830] I'll detail two high-severity bugs causing excessive or blocking fees due to decimal mismatches and uninitialized timestamps, including their exploit scenarios, recommendations, and evidence with precise code locations, formatted as valid JSON per the requested schema.
[codex:1330830] codex
[codex:1330830] {"no_findings":false,"summary":"Identified two high-severity fee-accounting issues in initialization that can brick settlements or mint excessive fees, especially for assets with <18 decimals.","findings":[{"severity":"high","category":"math","title":"Uninitialized lastFeeTime causes excessive management fees and can brick first settlement","exploit_scenario":"On a fresh deployment, lastFeeTime defaults to 0. The first settleDeposit/settleRedeem/close calls _takeFees, which computes timeElapsed = block.timestamp - 0 (decades). With common management rates (>~1.85%), managementFees exceed totalAssets, causing underflow in pricePerShare and totalShares calculations and reverting. This prevents any settlement/close. If the rate is lower, a huge multi-decade fee is still minted to feeReceiver/protocol, severely diluting depositors.","recommendation":"Initialize lastFeeTime to block.timestamp in __FeeManager_init (or skip fee accrual on the first update) and guard against managementFees > totalAssets before subtracting.","evidence":"__FeeManager_init does not set lastFeeTime, but _calculateFees uses block.timestamp - lastFeeTime and subtracts managementFees from _totalAssets when computing pricePerShare/totalShares.","locations":["contracts/src/v0.5.0/FeeManager.sol:62","contracts/src/v0.5.0/FeeManager.sol:185","contracts/src/v0.5.0/FeeManager.sol:190","contracts/src/v0.5.0/FeeManager.sol:206"]},{"severity":"high","category":"math","title":"HighWaterMark initialized with underlying decimals triggers performance fees immediately for <18-decimal assets","exploit_scenario":"For an underlying like USDC (6 decimals), ERC7540 sets share decimals to 18, but Vault.initialize passes the underlying decimals into __FeeManager_init, which sets highWaterMark = 10**6. On the first fee calculation, pricePerShare (~1e18) is far above highWaterMark, so performance fees are charged even with zero performance. This mints a large portion of shares to feeReceiver/protocol, diluting users.","recommendation":"Initialize highWaterMark using share decimals (decimals()) instead of underlying decimals, or scale by decimalsOffset so that the high-water mark matches the share price scale.","evidence":"Vault.initialize passes IERC20Metadata(underlying).decimals() into __FeeManager_init; __FeeManager_init sets highWaterMark = 10**_decimals; ERC7540 sets share decimals to 18 when underlying decimals < 18.","locations":["contracts/src/v0.5.0/Vault.sol:116","contracts/src/v0.5.0/Vault.sol:120","contracts/src/v0.5.0/FeeManager.sol:83","contracts/src/v0.5.0/ERC7540.sol:119"]}]}
[codex:1330830] tokens used
[codex:1330830] 112,309
[codex:1330830] {"no_findings":false,"summary":"Identified two high-severity fee-accounting issues in initialization that can brick settlements or mint excessive fees, especially for assets with <18 decimals.","findings":[{"severity":"high","category":"math","title":"Uninitialized lastFeeTime causes excessive management fees and can brick first settlement","exploit_scenario":"On a fresh deployment, lastFeeTime defaults to 0. The first settleDeposit/settleRedeem/close calls _takeFees, which computes timeElapsed = block.timestamp - 0 (decades). With common management rates (>~1.85%), managementFees exceed totalAssets, causing underflow in pricePerShare and totalShares calculations and reverting. This prevents any settlement/close. If the rate is lower, a huge multi-decade fee is still minted to feeReceiver/protocol, severely diluting depositors.","recommendation":"Initialize lastFeeTime to block.timestamp in __FeeManager_init (or skip fee accrual on the first update) and guard against managementFees > totalAssets before subtracting.","evidence":"__FeeManager_init does not set lastFeeTime, but _calculateFees uses block.timestamp - lastFeeTime and subtracts managementFees from _totalAssets when computing pricePerShare/totalShares.","locations":["contracts/src/v0.5.0/FeeManager.sol:62","contracts/src/v0.5.0/FeeManager.sol:185","contracts/src/v0.5.0/FeeManager.sol:190","contracts/src/v0.5.0/FeeManager.sol:206"]},{"severity":"high","category":"math","title":"HighWaterMark initialized with underlying decimals triggers performance fees immediately for <18-decimal assets","exploit_scenario":"For an underlying like USDC (6 decimals), ERC7540 sets share decimals to 18, but Vault.initialize passes the underlying decimals into __FeeManager_init, which sets highWaterMark = 10**6. On the first fee calculation, pricePerShare (~1e18) is far above highWaterMark, so performance fees are charged even with zero performance. This mints a large portion of shares to feeReceiver/protocol, diluting users.","recommendation":"Initialize highWaterMark using share decimals (decimals()) instead of underlying decimals, or scale by decimalsOffset so that the high-water mark matches the share price scale.","evidence":"Vault.initialize passes IERC20Metadata(underlying).decimals() into __FeeManager_init; __FeeManager_init sets highWaterMark = 10**_decimals; ERC7540 sets share decimals to 18 when underlying decimals < 18.","locations":["contracts/src/v0.5.0/Vault.sol:116","contracts/src/v0.5.0/Vault.sol:120","contracts/src/v0.5.0/FeeManager.sol:83","contracts/src/v0.5.0/ERC7540.sol:119"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T22:04:56.506150+00:00",
        "returncode": 0
    },
    "summary": "Identified two high-severity fee-accounting issues in initialization that can brick settlements or mint excessive fees, especially for assets with <18 decimals.",
    "raw_final": {
        "summary": "Identified two high-severity fee-accounting issues in initialization that can brick settlements or mint excessive fees, especially for assets with <18 decimals.",
        "findings": [
            {
                "title": "Uninitialized lastFeeTime causes excessive management fees and can brick first settlement",
                "category": "math",
                "evidence": "__FeeManager_init does not set lastFeeTime, but _calculateFees uses block.timestamp - lastFeeTime and subtracts managementFees from _totalAssets when computing pricePerShare/totalShares.",
                "severity": "high",
                "locations": [
                    "contracts/src/v0.5.0/FeeManager.sol:62",
                    "contracts/src/v0.5.0/FeeManager.sol:185",
                    "contracts/src/v0.5.0/FeeManager.sol:190",
                    "contracts/src/v0.5.0/FeeManager.sol:206"
                ],
                "recommendation": "Initialize lastFeeTime to block.timestamp in __FeeManager_init (or skip fee accrual on the first update) and guard against managementFees > totalAssets before subtracting.",
                "exploit_scenario": "On a fresh deployment, lastFeeTime defaults to 0. The first settleDeposit/settleRedeem/close calls _takeFees, which computes timeElapsed = block.timestamp - 0 (decades). With common management rates (>~1.85%), managementFees exceed totalAssets, causing underflow in pricePerShare and totalShares calculations and reverting. This prevents any settlement/close. If the rate is lower, a huge multi-decade fee is still minted to feeReceiver/protocol, severely diluting depositors."
            },
            {
                "title": "HighWaterMark initialized with underlying decimals triggers performance fees immediately for <18-decimal assets",
                "category": "math",
                "evidence": "Vault.initialize passes IERC20Metadata(underlying).decimals() into __FeeManager_init; __FeeManager_init sets highWaterMark = 10**_decimals; ERC7540 sets share decimals to 18 when underlying decimals < 18.",
                "severity": "high",
                "locations": [
                    "contracts/src/v0.5.0/Vault.sol:116",
                    "contracts/src/v0.5.0/Vault.sol:120",
                    "contracts/src/v0.5.0/FeeManager.sol:83",
                    "contracts/src/v0.5.0/ERC7540.sol:119"
                ],
                "recommendation": "Initialize highWaterMark using share decimals (decimals()) instead of underlying decimals, or scale by decimalsOffset so that the high-water mark matches the share price scale.",
                "exploit_scenario": "For an underlying like USDC (6 decimals), ERC7540 sets share decimals to 18, but Vault.initialize passes the underlying decimals into __FeeManager_init, which sets highWaterMark = 10**6. On the first fee calculation, pricePerShare (~1e18) is far above highWaterMark, so performance fees are charged even with zero performance. This mints a large portion of shares to feeReceiver/protocol, diluting users."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
15
EXT*/BALANCE
9
Total opcodes
16301
Flags
delegatecall_present create_opcodes_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: PUSH2 0x0356
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x01e1d114
00000018: EQ
00000019: PUSH2 0x035a
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0x01ffc9a7
00000023: EQ
00000024: PUSH2 0x0381
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0x06fdde03
0000002e: EQ
0000002f: PUSH2 0x03b0
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x07a2d13a
00000039: EQ
0000003a: PUSH2 0x03d1
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x095ea7b3
00000044: EQ
00000045: PUSH2 0x03f0
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x0a28a477
0000004f: EQ
00000050: PUSH2 0x040f
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x0aebeb4e
0000005a: EQ
0000005b: PUSH2 0x042e
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x0c2b5b91
00000065: EQ
00000066: PUSH2 0x044f
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0x18160ddd
00000070: EQ
00000071: PUSH2 0x0463
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0x181e7b3b
0000007b: EQ
0000007c: PUSH2 0x0477
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0x186f0354
00000086: EQ
00000087: PUSH2 0x0496
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x23b872dd
00000091: EQ
00000092: PUSH2 0x04b7
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x2542d4a6
0000009c: EQ
0000009d: PUSH2 0x04d6
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x26c6f96c
000000a7: EQ
000000a8: PUSH2 0x04f8
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x2e2d2984
000000b2: EQ
000000b3: PUSH2 0x0517
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x313ce567
000000bd: EQ
000000be: PUSH2 0x0536
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x38d52e0f
000000c8: EQ
000000c9: PUSH2 0x055c
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x3af32abf
000000d3: EQ
000000d4: PUSH2 0x0570
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x3e0a3c25
000000de: EQ
000000df: PUSH2 0x058f
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x3f4ba83a
000000e9: EQ
000000ea: PUSH2 0x05ae
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x402d267d
000000f4: EQ
000000f5: PUSH2 0x05c2
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x4cdad506
000000ff: EQ
00000100: PUSH2 0x05e1
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0x54fd4d50
0000010a: EQ
0000010b: PUSH2 0x0600
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0x558a7297
00000115: EQ
00000116: PUSH2 0x062e
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0x5c975abb
00000120: EQ
00000121: PUSH2 0x064d
00000124: JUMPI
00000125: DUP1
00000126: PUSH4 0x5cfe2fe4
0000012b: EQ
0000012c: PUSH2 0x0661
0000012f: JUMPI
00000130: DUP1
00000131: PUSH4 0x65ccfcef
00000136: EQ
00000137: PUSH2 0x0696
0000013a: JUMPI
0000013b: DUP1
0000013c: PUSH4 0x660b88ee
00000141: EQ
00000142: PUSH2 0x06b5
00000145: JUMPI
00000146: DUP1
00000147: PUSH4 0x6e553f65
0000014c: EQ
0000014d: PUSH2 0x06d4
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0x70a08231
00000157: EQ
00000158: PUSH2 0x06f3
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0x715018a6
00000162: EQ
00000163: PUSH2 0x0712
00000166: JUMPI
00000167: DUP1
00000168: PUSH4 0x7688c584
0000016d: EQ
0000016e: PUSH2 0x0726
00000171: JUMPI
00000172: DUP1
00000173: PUSH4 0x79ba5097
00000178: EQ
00000179: PUSH2 0x0747
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0x7d41c86e
00000183: EQ
00000184: PUSH2 0x075b
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x7f649783
0000018e: EQ
0000018f: PUSH2 0x077a
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x8456cb59
00000199: EQ
0000019a: PUSH2 0x0799
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x85b77f45
000001a4: EQ
000001a5: PUSH2 0x07ad
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0x86af6e68
000001af: EQ
000001b0: PUSH2 0x07c0
000001b3: JUMPI
000001b4: DUP1
000001b5: PUSH4 0x8da5cb5b
000001ba: EQ
000001bb: PUSH2 0x07df
000001be: JUMPI
000001bf: DUP1
000001c0: PUSH4 0x927b15df
000001c5: EQ
000001c6: PUSH2 0x07f3
000001c9: JUMPI
000001ca: DUP1
000001cb: PUSH4 0x937147e3
000001d0: EQ
000001d1: PUSH2 0x0807
000001d4: JUMPI
000001d5: DUP1
000001d6: PUSH4 0x94bf804d
000001db: EQ
000001dc: PUSH2 0x086a
000001df: JUMPI
000001e0: DUP1
000001e1: PUSH4 0x95d89b41
000001e6: EQ
000001e7: PUSH2 0x0889
000001ea: JUMPI
000001eb: DUP1
000001ec: PUSH4 0x995ea21a
000001f1: EQ
000001f2: PUSH2 0x089d
000001f5: JUMPI
000001f6: DUP1
000001f7: PUSH4 0x9c428921
000001fc: EQ
000001fd: PUSH2 0x08bc
00000200: JUMPI
00000201: DUP1
00000202: PUSH4 0xa1e59442
00000207: EQ
00000208: PUSH2 0x08d0
0000020b: JUMPI
0000020c: DUP1
0000020d: PUSH4 0xa4393915
00000212: EQ
00000213: PUSH2 0x08e5
00000216: JUMPI
00000217: DUP1
00000218: PUSH4 0xa5948c89
0000021d: EQ
0000021e: PUSH2 0x08f9
00000221: JUMPI
00000222: DUP1
00000223: PUSH4 0xa627df66
00000228: EQ
00000229: PUSH2 0x090c
0000022c: JUMPI
0000022d: DUP1
0000022e: PUSH4 0xa8d5fd65
00000233: EQ
00000234: PUSH2 0x092b
00000237: JUMPI
00000238: DUP1
00000239: PUSH4 0xa9059cbb
0000023e: EQ
0000023f: PUSH2 0x093d
00000242: JUMPI
00000243: DUP1
00000244: PUSH4 0xae16ea8c
00000249: EQ
0000024a: PUSH2 0x095c
0000024d: JUMPI
0000024e: DUP1
0000024f: PUSH4 0xb3d7f6b9
00000254: EQ
00000255: PUSH2 0x097b
00000258: JUMPI
00000259: DUP1
0000025a: PUSH4 0xb460af94
0000025f: EQ
00000260: PUSH2 0x099a
00000263: JUMPI
00000264: DUP1
00000265: PUSH4 0xb6363cf2
0000026a: EQ
0000026b: PUSH2 0x09b9
0000026e: JUMPI
0000026f: DUP1
00000270: PUSH4 0xba087652
00000275: EQ
00000276: PUSH2 0x09d8
00000279: JUMPI
0000027a: DUP1
0000027b: PUSH4 0xbcd1bf34
00000280: EQ
00000281: PUSH2 0x09f7
00000284: JUMPI
00000285: DUP1
00000286: PUSH4 0xc63d75b6
0000028b: EQ
0000028c: PUSH2 0x0a16
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0xc69bebe4
00000296: EQ
00000297: PUSH2 0x0a35
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0xc6e6f592
000002a1: EQ
000002a2: PUSH2 0x0a54
000002a5: JUMPI
000002a6: DUP1
000002a7: PUSH4 0xce96cb77
000002ac: EQ
000002ad: PUSH2 0x0a73
000002b0: JUMPI
000002b1: DUP1
000002b2: PUSH4 0xd01d073a
000002b7: EQ
000002b8: PUSH2 0x0a92
000002bb: JUMPI
000002bc: DUP1
000002bd: PUSH4 0xd24ca58a
000002c2: EQ
000002c3: PUSH2 0x0aa5
000002c6: JUMPI
000002c7: DUP1
000002c8: PUSH4 0xd6b0f484
000002cd: EQ
000002ce: PUSH2 0x0ac4
000002d1: JUMPI
000002d2: DUP1
000002d3: PUSH4 0xd905777e
000002d8: EQ
000002d9: PUSH2 0x0ad8
000002dc: JUMPI
000002dd: DUP1
000002de: PUSH4 0xda39b3e7
000002e3: EQ
000002e4: PUSH2 0x0af7
000002e7: JUMPI
000002e8: DUP1
000002e9: PUSH4 0xdb2088f4
000002ee: EQ
000002ef: PUSH2 0x0b16
000002f2: JUMPI
000002f3: DUP1
000002f4: PUSH4 0xdd62ed3e
000002f9: EQ
000002fa: PUSH2 0x0b35
000002fd: JUMPI
000002fe: DUP1
000002ff: PUSH4 0xe30c3978
00000304: EQ
00000305: PUSH2 0x0b54
00000308: JUMPI
00000309: DUP1
0000030a: PUSH4 0xeaed1d07
0000030f: EQ
00000310: PUSH2 0x0b68
00000313: JUMPI
00000314: DUP1
00000315: PUSH4 0xef8b30f7
0000031a: EQ
0000031b: PUSH2 0x0b87
0000031e: JUMPI
0000031f: DUP1
00000320: PUSH4 0xf15be6f9
00000325: EQ
00000326: PUSH2 0x0ba6
00000329: JUMPI
0000032a: DUP1
0000032b: PUSH4 0xf1a76fcc
00000330: EQ
00000331: PUSH2 0x0bc5
00000334: JUMPI
00000335: DUP1
00000336: PUSH4 0xf2fde38b
0000033b: EQ
0000033c: PUSH2 0x0be4
0000033f: JUMPI
00000340: DUP1
00000341: PUSH4 0xf5a23d8d
00000346: EQ
00000347: PUSH2 0x0c03
0000034a: JUMPI
0000034b: DUP1
0000034c: PUSH4 0xf886d4bd
00000351: EQ
00000352: PUSH2 0x0c22
00000355: JUMPI
00000356: JUMPDEST
00000357: PUSH0
00000358: DUP1
00000359: REVERT
0000035a: JUMPDEST
0000035b: CALLVALUE
0000035c: DUP1
0000035d: ISZERO
0000035e: PUSH2 0x0365
00000361: JUMPI
00000362: PUSH0
00000363: DUP1
00000364: REVERT
00000365: JUMPDEST
00000366: POP
00000367: PUSH2 0x036e
0000036a: PUSH2 0x0c37
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH1 0x40
00000371: MLOAD
00000372: SWAP1
00000373: DUP2
00000374: MSTORE
00000375: PUSH1 0x20
00000377: ADD
00000378: JUMPDEST
00000379: PUSH1 0x40
0000037b: MLOAD
0000037c: DUP1
0000037d: SWAP2
0000037e: SUB
0000037f: SWAP1
00000380: RETURN
00000381: JUMPDEST
00000382: CALLVALUE
00000383: DUP1
00000384: ISZERO
00000385: PUSH2 0x038c
00000388: JUMPI
00000389: PUSH0
0000038a: DUP1
0000038b: REVERT
0000038c: JUMPDEST
0000038d: POP
0000038e: PUSH2 0x03a0
00000391: PUSH2 0x039b
00000394: CALLDATASIZE
00000395: PUSH1 0x04
00000397: PUSH2 0x4ede
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH2 0x0c48
0000039f: JUMP
000003a0: JUMPDEST
000003a1: PUSH1 0x40
000003a3: MLOAD
000003a4: SWAP1
000003a5: ISZERO
000003a6: ISZERO
000003a7: DUP2
000003a8: MSTORE
000003a9: PUSH1 0x20
000003ab: ADD
000003ac: PUSH2 0x0378
000003af: JUMP
000003b0: JUMPDEST
000003b1: CALLVALUE
000003b2: DUP1
000003b3: ISZERO
000003b4: PUSH2 0x03bb
000003b7: JUMPI
000003b8: PUSH0
000003b9: DUP1
000003ba: REVERT
000003bb: JUMPDEST
000003bc: POP
000003bd: PUSH2 0x03c4
000003c0: PUSH2 0x0cea
000003c3: JUMP
000003c4: JUMPDEST
000003c5: PUSH1 0x40
000003c7: MLOAD
000003c8: PUSH2 0x0378
000003cb: SWAP2
000003cc: SWAP1
000003cd: PUSH2 0x4f05
000003d0: JUMP
000003d1: JUMPDEST
000003d2: CALLVALUE
000003d3: DUP1
000003d4: ISZERO
000003d5: PUSH2 0x03dc
000003d8: JUMPI
000003d9: PUSH0
000003da: DUP1
000003db: REVERT
000003dc: JUMPDEST
000003dd: POP
000003de: PUSH2 0x036e
000003e1: PUSH2 0x03eb
000003e4: CALLDATASIZE
000003e5: PUSH1 0x04
000003e7: PUSH2 0x4f3a
000003ea: JUMP
000003eb: JUMPDEST
000003ec: PUSH2 0x0d88
000003ef: JUMP
000003f0: JUMPDEST
000003f1: CALLVALUE
000003f2: DUP1
000003f3: ISZERO
000003f4: PUSH2 0x03fb
000003f7: JUMPI
000003f8: PUSH0
000003f9: DUP1
000003fa: REVERT
000003fb: JUMPDEST
000003fc: POP
000003fd: PUSH2 0x03a0
00000400: PUSH2 0x040a
00000403: CALLDATASIZE
00000404: PUSH1 0x04
00000406: PUSH2 0x4f65
00000409: JUMP
0000040a: JUMPDEST
0000040b: PUSH2 0x0d93
0000040e: JUMP
0000040f: JUMPDEST
00000410: CALLVALUE
00000411: DUP1
00000412: ISZERO
00000413: PUSH2 0x041a
00000416: JUMPI
00000417: PUSH0
00000418: DUP1
00000419: REVERT
0000041a: JUMPDEST
0000041b: POP
0000041c: PUSH2 0x036e
0000041f: PUSH2 0x0429
00000422: CALLDATASIZE
00000423: PUSH1 0x04
00000425: PUSH2 0x4f3a
00000428: JUMP
00000429: JUMPDEST
0000042a: PUSH2 0x0daa
0000042d: JUMP
0000042e: JUMPDEST
0000042f: CALLVALUE
00000430: DUP1
00000431: ISZERO
00000432: PUSH2 0x0439
00000435: JUMPI
00000436: PUSH0
00000437: DUP1
00000438: REVERT
00000439: JUMPDEST
0000043a: POP
0000043b: PUSH2 0x044d
0000043e: PUSH2 0x0448
00000441: CALLDATASIZE
00000442: PUSH1 0x04
00000444: PUSH2 0x4f3a
00000447: JUMP
00000448: JUMPDEST
00000449: PUSH2 0x0dc4
0000044c: JUMP
0000044d: JUMPDEST
0000044e: STOP
0000044f: JUMPDEST
00000450: CALLVALUE
00000451: DUP1
00000452: ISZERO
00000453: PUSH2 0x045a
00000456: JUMPI
00000457: PUSH0
00000458: DUP1
00000459: REVERT
0000045a: JUMPDEST
0000045b: POP
0000045c: PUSH2 0x03a0
0000045f: PUSH2 0x0f68
00000462: JUMP
00000463: JUMPDEST
00000464: CALLVALUE
00000465: DUP1
00000466: ISZERO
00000467: PUSH2 0x046e
0000046a: JUMPI
0000046b: PUSH0
0000046c: DUP1
0000046d: REVERT
0000046e: JUMPDEST
0000046f: POP
00000470: PUSH2 0x036e
00000473: PUSH2 0x0f85
00000476: JUMP
00000477: JUMPDEST
00000478: CALLVALUE
00000479: DUP1
0000047a: ISZERO
0000047b: PUSH2 0x0482
0000047e: JUMPI
0000047f: PUSH0
00000480: DUP1
00000481: REVERT
00000482: JUMPDEST
00000483: POP
00000484: PUSH2 0x036e
00000487: PUSH2 0x0491
0000048a: CALLDATASIZE
0000048b: PUSH1 0x04
0000048d: PUSH2 0x4f8f
00000490: JUMP
00000491: JUMPDEST
00000492: PUSH2 0x0f99
00000495: JUMP
00000496: JUMPDEST
00000497: CALLVALUE
00000498: DUP1
00000499: ISZERO
0000049a: PUSH2 0x04a1
0000049d: JUMPI
0000049e: PUSH0
0000049f: DUP1
000004a0: REVERT
000004a1: JUMPDEST
000004a2: POP
000004a3: PUSH2 0x04aa
000004a6: PUSH2 0x0fac
000004a9: JUMP
000004aa: JUMPDEST
000004ab: PUSH1 0x40
000004ad: MLOAD
000004ae: PUSH2 0x0378
000004b1: SWAP2
000004b2: SWAP1
000004b3: PUSH2 0x4faf
000004b6: JUMP
000004b7: JUMPDEST
000004b8: CALLVALUE
000004b9: DUP1
000004ba: ISZERO
000004bb: PUSH2 0x04c2
000004be: JUMPI
000004bf: PUSH0
000004c0: DUP1
000004c1: REVERT
000004c2: JUMPDEST
000004c3: POP
000004c4: PUSH2 0x03a0
000004c7: PUSH2 0x04d1
000004ca: CALLDATASIZE
000004cb: PUSH1 0x04
000004cd: PUSH2 0x4fc3
000004d0: JUMP
000004d1: JUMPDEST
000004d2: PUSH2 0x0fc7
000004d5: JUMP
000004d6: JUMPDEST
000004d7: CALLVALUE
000004d8: DUP1
000004d9: ISZERO
000004da: PUSH2 0x04e1
000004dd: JUMPI
000004de: PUSH0
000004df: DUP1
000004e0: REVERT
000004e1: JUMPDEST
000004e2: POP
000004e3: PUSH2 0x04eb
000004e6: PUSH2 0x0bb8
000004e9: DUP2
000004ea: JUMP
000004eb: JUMPDEST
000004ec: PUSH1 0x40
000004ee: MLOAD
000004ef: PUSH2 0x0378
000004f2: SWAP2
000004f3: SWAP1
000004f4: PUSH2 0x5001
000004f7: JUMP
000004f8: JUMPDEST
000004f9: CALLVALUE
000004fa: DUP1
000004fb: ISZERO
000004fc: PUSH2 0x0503
000004ff: JUMPI
00000500: PUSH0
00000501: DUP1
00000502: REVERT
00000503: JUMPDEST
00000504: POP
00000505: PUSH2 0x036e
00000508: PUSH2 0x0512
0000050b: CALLDATASIZE
0000050c: PUSH1 0x04
0000050e: PUSH2 0x5010
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH2 0x0fea
00000516: JUMP
00000517: JUMPDEST
00000518: CALLVALUE
00000519: DUP1
0000051a: ISZERO
0000051b: PUSH2 0x0522
0000051e: JUMPI
0000051f: PUSH0
00000520: DUP1
00000521: REVERT
00000522: JUMPDEST
00000523: POP
00000524: PUSH2 0x036e
00000527: PUSH2 0x0531
0000052a: CALLDATASIZE
0000052b: PUSH1 0x04
0000052d: PUSH2 0x503e
00000530: JUMP
00000531: JUMPDEST
00000532: PUSH2 0x1079
00000535: JUMP
00000536: JUMPDEST
00000537: CALLVALUE
00000538: DUP1
00000539: ISZERO
0000053a: PUSH2 0x0541
0000053d: JUMPI
0000053e: PUSH0
0000053f: DUP1
00000540: REVERT
00000541: JUMPDEST
00000542: POP
00000543: PUSH2 0x054a
00000546: PUSH2 0x10cf
00000549: JUMP
0000054a: JUMPDEST
0000054b: PUSH1 0x40
0000054d: MLOAD
0000054e: PUSH1 0xff
00000550: SWAP1
00000551: SWAP2
00000552: AND
00000553: DUP2
00000554: MSTORE
00000555: PUSH1 0x20
00000557: ADD
00000558: PUSH2 0x0378
0000055b: JUMP
0000055c: JUMPDEST
0000055d: CALLVALUE
0000055e: DUP1
0000055f: ISZERO
00000560: PUSH2 0x0567
00000563: JUMPI
00000564: PUSH0
00000565: DUP1
00000566: REVERT
00000567: JUMPDEST
00000568: POP
00000569: PUSH2 0x04aa
0000056c: PUSH2 0x10eb
0000056f: JUMP
00000570: JUMPDEST
00000571: CALLVALUE
00000572: DUP1
00000573: ISZERO
00000574: PUSH2 0x057b
00000577: JUMPI
00000578: PUSH0
00000579: DUP1
0000057a: REVERT
0000057b: JUMPDEST
0000057c: POP
0000057d: PUSH2 0x03a0
00000580: PUSH2 0x058a
00000583: CALLDATASIZE
00000584: PUSH1 0x04
00000586: PUSH2 0x507d
00000589: JUMP
0000058a: JUMPDEST
0000058b: PUSH2 0x1105
0000058e: JUMP
0000058f: JUMPDEST
00000590: CALLVALUE
00000591: DUP1
00000592: ISZERO
00000593: PUSH2 0x059a
00000596: JUMPI
00000597: PUSH0
00000598: DUP1
00000599: REVERT
0000059a: JUMPDEST
0000059b: POP
0000059c: PUSH2 0x044d
0000059f: PUSH2 0x05a9
000005a2: CALLDATASIZE
000005a3: PUSH1 0x04
000005a5: PUSH2 0x5114
000005a8: JUMP
000005a9: JUMPDEST
000005aa: PUSH2 0x11e4
000005ad: JUMP
000005ae: JUMPDEST
000005af: CALLVALUE
000005b0: DUP1
000005b1: ISZERO
000005b2: PUSH2 0x05b9
000005b5: JUMPI
000005b6: PUSH0
000005b7: DUP1
000005b8: REVERT
000005b9: JUMPDEST
000005ba: POP
000005bb: PUSH2 0x044d
000005be: PUSH2 0x1303
000005c1: JUMP
000005c2: JUMPDEST
000005c3: CALLVALUE
000005c4: DUP1
000005c5: ISZERO
000005c6: PUSH2 0x05cd
000005c9: JUMPI
000005ca: PUSH0
000005cb: DUP1
000005cc: REVERT
000005cd: JUMPDEST
000005ce: POP
000005cf: PUSH2 0x036e
000005d2: PUSH2 0x05dc
000005d5: CALLDATASIZE
000005d6: PUSH1 0x04
000005d8: PUSH2 0x507d
000005db: JUMP
000005dc: JUMPDEST
000005dd: PUSH2 0x1315
000005e0: JUMP
000005e1: JUMPDEST
000005e2: CALLVALUE
000005e3: DUP1
000005e4: ISZERO
000005e5: PUSH2 0x05ec
000005e8: JUMPI
000005e9: PUSH0
000005ea: DUP1
000005eb: REVERT
000005ec: JUMPDEST
000005ed: POP
000005ee: PUSH2 0x036e
000005f1: PUSH2 0x05fb
000005f4: CALLDATASIZE
000005f5: PUSH1 0x04
000005f7: PUSH2 0x4f3a
000005fa: JUMP
000005fb: JUMPDEST
000005fc: PUSH2 0x1334
000005ff: JUMP
00000600: JUMPDEST
00000601: CALLVALUE
00000602: DUP1
00000603: ISZERO
00000604: PUSH2 0x060b
00000607: JUMPI
00000608: PUSH0
00000609: DUP1
0000060a: REVERT
0000060b: JUMPDEST
0000060c: POP
0000060d: PUSH1 0x40
0000060f: DUP1
00000610: MLOAD
00000611: DUP1
00000612: DUP3
00000613: ADD
00000614: SWAP1
00000615: SWAP2
00000616: MSTORE
00000617: PUSH1 0x06
00000619: DUP2
0000061a: MSTORE
0000061b: PUSH6 0x076302e352e3
00000622: PUSH1 0xd4
00000624: SHL
00000625: PUSH1 0x20
00000627: DUP3
00000628: ADD
00000629: MSTORE
0000062a: PUSH2 0x03c4
0000062d: JUMP
0000062e: JUMPDEST
0000062f: CALLVALUE
00000630: DUP1
00000631: ISZERO
00000632: PUSH2 0x0639
00000635: JUMPI
00000636: PUSH0
00000637: DUP1
00000638: REVERT
00000639: JUMPDEST
0000063a: POP
0000063b: PUSH2 0x03a0
0000063e: PUSH2 0x0648
00000641: CALLDATASIZE
00000642: PUSH1 0x04
00000644: PUSH2 0x517f
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH2 0x134e
0000064c: JUMP
0000064d: JUMPDEST
0000064e: CALLVALUE
0000064f: DUP1
00000650: ISZERO
00000651: PUSH2 0x0658
00000654: JUMPI
00000655: PUSH0
00000656: DUP1
00000657: REVERT
00000658: JUMPDEST
00000659: POP
0000065a: PUSH2 0x03a0
0000065d: PUSH2 0x13de
00000660: JUMP
00000661: JUMPDEST
00000662: CALLVALUE
00000663: DUP1
00000664: ISZERO
00000665: PUSH2 0x066c
00000668: JUMPI
00000669: PUSH0
0000066a: DUP1
0000066b: REVERT
0000066c: JUMPDEST
0000066d: POP
0000066e: PUSH2 0x0680
00000671: PUSH2 0x067b
00000674: CALLDATASIZE
00000675: PUSH1 0x04
00000677: PUSH2 0x4f3a
0000067a: JUMP
0000067b: JUMPDEST
0000067c: PUSH2 0x13f2
0000067f: JUMP
00000680: JUMPDEST
00000681: PUSH1 0x40
00000683: MLOAD
00000684: PUSH5 0xffffffffff
0000068a: SWAP1
0000068b: SWAP2
0000068c: AND
0000068d: DUP2
0000068e: MSTORE
0000068f: PUSH1 0x20
00000691: ADD
00000692: PUSH2 0x0378
00000695: JUMP
00000696: JUMPDEST
00000697: CALLVALUE
00000698: DUP1
00000699: ISZERO
0000069a: PUSH2 0x06a1
0000069d: JUMPI
0000069e: PUSH0
0000069f: DUP1
000006a0: REVERT
000006a1: JUMPDEST
000006a2: POP
000006a3: PUSH2 0x044d
000006a6: PUSH2 0x06b0
000006a9: CALLDATASIZE
000006aa: PUSH1 0x04
000006ac: PUSH2 0x507d
000006af: JUMP
000006b0: JUMPDEST
000006b1: PUSH2 0x149a
000006b4: JUMP
000006b5: JUMPDEST
000006b6: CALLVALUE
000006b7: DUP1
000006b8: ISZERO
000006b9: PUSH2 0x06c0
000006bc: JUMPI
000006bd: PUSH0
000006be: DUP1
000006bf: REVERT
000006c0: JUMPDEST
000006c1: POP
000006c2: PUSH2 0x044d
000006c5: PUSH2 0x06cf
000006c8: CALLDATASIZE
000006c9: PUSH1 0x04
000006cb: PUSH2 0x51d1
000006ce: JUMP
000006cf: JUMPDEST
000006d0: PUSH2 0x151c
000006d3: JUMP
000006d4: JUMPDEST
000006d5: CALLVALUE
000006d6: DUP1
000006d7: ISZERO
000006d8: PUSH2 0x06df
000006db: JUMPI
000006dc: PUSH0
000006dd: DUP1
000006de: REVERT
000006df: JUMPDEST
000006e0: POP
000006e1: PUSH2 0x036e
000006e4: PUSH2 0x06ee
000006e7: CALLDATASIZE
000006e8: PUSH1 0x04
000006ea: PUSH2 0x5010
000006ed: JUMP
000006ee: JUMPDEST
000006ef: PUSH2 0x1780
000006f2: JUMP
000006f3: JUMPDEST
000006f4: CALLVALUE
000006f5: DUP1
000006f6: ISZERO
000006f7: PUSH2 0x06fe
000006fa: JUMPI
000006fb: PUSH0
000006fc: DUP1
000006fd: REVERT
000006fe: JUMPDEST
000006ff: POP
00000700: PUSH2 0x036e
00000703: PUSH2 0x070d
00000706: CALLDATASIZE
00000707: PUSH1 0x04
00000709: PUSH2 0x507d
0000070c: JUMP
0000070d: JUMPDEST
0000070e: PUSH2 0x178c
00000711: JUMP
00000712: JUMPDEST
00000713: CALLVALUE
00000714: DUP1
00000715: ISZERO
00000716: PUSH2 0x071d
00000719: JUMPI
0000071a: PUSH0
0000071b: DUP1
0000071c: REVERT
0000071d: JUMPDEST
0000071e: POP
0000071f: PUSH2 0x044d
00000722: PUSH2 0x17b5
00000725: JUMP
00000726: JUMPDEST
00000727: CALLVALUE
00000728: DUP1
00000729: ISZERO
0000072a: PUSH2 0x0731
0000072d: JUMPI
0000072e: PUSH0
0000072f: DUP1
00000730: REVERT
00000731: JUMPDEST
00000732: POP
00000733: PUSH2 0x073a
00000736: PUSH2 0x17c6
00000739: JUMP
0000073a: JUMPDEST
0000073b: PUSH1 0x40
0000073d: MLOAD
0000073e: PUSH2 0x0378
00000741: SWAP2
00000742: SWAP1
00000743: PUSH2 0x526b
00000746: JUMP
00000747: JUMPDEST
00000748: CALLVALUE
00000749: DUP1
0000074a: ISZERO
0000074b: PUSH2 0x0752
0000074e: JUMPI
0000074f: PUSH0
00000750: DUP1
00000751: REVERT
00000752: JUMPDEST
00000753: POP
00000754: PUSH2 0x044d
00000757: PUSH2 0x1843
0000075a: JUMP
0000075b: JUMPDEST
0000075c: CALLVALUE
0000075d: DUP1
0000075e: ISZERO
0000075f: PUSH2 0x0766
00000762: JUMPI
00000763: PUSH0
00000764: DUP1
00000765: REVERT
00000766: JUMPDEST
00000767: POP
00000768: PUSH2 0x036e
0000076b: PUSH2 0x0775
0000076e: CALLDATASIZE
0000076f: PUSH1 0x04
00000771: PUSH2 0x503e
00000774: JUMP
00000775: JUMPDEST
00000776: PUSH2 0x1882
00000779: JUMP
0000077a: JUMPDEST
0000077b: CALLVALUE
0000077c: DUP1
0000077d: ISZERO
0000077e: PUSH2 0x0785
00000781: JUMPI
00000782: PUSH0
00000783: DUP1
00000784: REVERT
00000785: JUMPDEST
00000786: POP
00000787: PUSH2 0x044d
0000078a: PUSH2 0x0794
0000078d: CALLDATASIZE
0000078e: PUSH1 0x04
00000790: PUSH2 0x5279
00000793: JUMP
00000794: JUMPDEST
00000795: PUSH2 0x18fe
00000798: JUMP
00000799: JUMPDEST
0000079a: CALLVALUE
0000079b: DUP1
0000079c: ISZERO
0000079d: PUSH2 0x07a4
000007a0: JUMPI
000007a1: PUSH0
000007a2: DUP1
000007a3: REVERT
000007a4: JUMPDEST
000007a5: POP
000007a6: PUSH2 0x044d
000007a9: PUSH2 0x19fa
000007ac: JUMP
000007ad: JUMPDEST
000007ae: PUSH2 0x036e
000007b1: PUSH2 0x07bb
000007b4: CALLDATASIZE
000007b5: PUSH1 0x04
000007b7: PUSH2 0x503e
000007ba: JUMP
000007bb: JUMPDEST
000007bc: PUSH2 0x1a0a
000007bf: JUMP
000007c0: JUMPDEST
000007c1: CALLVALUE
000007c2: DUP1
000007c3: ISZERO
000007c4: PUSH2 0x07cb
000007c7: JUMPI
000007c8: PUSH0
000007c9: DUP1
000007ca: REVERT
000007cb: JUMPDEST
000007cc: POP
000007cd: PUSH2 0x044d
000007d0: PUSH2 0x07da
000007d3: CALLDATASIZE
000007d4: PUSH1 0x04
000007d6: PUSH2 0x5279
000007d9: JUMP
000007da: JUMPDEST
000007db: PUSH2 0x1aa9
000007de: JUMP
000007df: JUMPDEST
000007e0: CALLVALUE
000007e1: DUP1
000007e2: ISZERO
000007e3: PUSH2 0x07ea
000007e6: JUMPI
000007e7: PUSH0
000007e8: DUP1
000007e9: REVERT
000007ea: JUMPDEST
000007eb: POP
000007ec: PUSH2 0x04aa
000007ef: PUSH2 0x1b9d
000007f2: JUMP
000007f3: JUMPDEST
000007f4: CALLVALUE
000007f5: DUP1
000007f6: ISZERO
000007f7: PUSH2 0x07fe
000007fa: JUMPI
000007fb: PUSH0
000007fc: DUP1
000007fd: REVERT
000007fe: JUMPDEST
000007ff: POP
00000800: PUSH2 0x044d
00000803: PUSH2 0x1ba7
00000806: JUMP
00000807: JUMPDEST
00000808: CALLVALUE
00000809: DUP1
0000080a: ISZERO
0000080b: PUSH2 0x0812
0000080e: JUMPI
0000080f: PUSH0
00000810: DUP1
00000811: REVERT
00000812: JUMPDEST
00000813: POP
00000814: PUSH2 0x081b
00000817: PUSH2 0x1c0e
0000081a: JUMP
0000081b: JUMPDEST
0000081c: PUSH1 0x40
0000081e: MLOAD
0000081f: PUSH2 0x0378
00000822: SWAP2
00000823: SWAP1
00000824: DUP2
00000825: MLOAD
00000826: PUSH1 0x01
00000828: PUSH1 0x01
0000082a: PUSH1 0xa0
0000082c: SHL
0000082d: SUB
0000082e: SWAP1
0000082f: DUP2
00000830: AND
00000831: DUP3
00000832: MSTORE
00000833: PUSH1 0x20
00000835: DUP1
00000836: DUP5
00000837: ADD
00000838: MLOAD
00000839: DUP3
0000083a: AND
0000083b: SWAP1
0000083c: DUP4
0000083d: ADD
0000083e: MSTORE
0000083f: PUSH1 0x40
00000841: DUP1
00000842: DUP5
00000843: ADD
00000844: MLOAD
00000845: DUP3
00000846: AND
00000847: SWAP1
00000848: DUP4
00000849: ADD
0000084a: MSTORE
0000084b: PUSH1 0x60
0000084d: DUP1
0000084e: DUP5
0000084f: ADD
00000850: MLOAD
00000851: DUP3
00000852: AND
00000853: SWAP1
00000854: DUP4
00000855: ADD
00000856: MSTORE
00000857: PUSH1 0x80
00000859: SWAP3
0000085a: DUP4
0000085b: ADD
0000085c: MLOAD
0000085d: AND
0000085e: SWAP2
0000085f: DUP2
00000860: ADD
00000861: SWAP2
00000862: SWAP1
00000863: SWAP2
00000864: MSTORE
00000865: PUSH1 0xa0
00000867: ADD
00000868: SWAP1
00000869: JUMP
0000086a: JUMPDEST
0000086b: CALLVALUE
0000086c: DUP1
0000086d: ISZERO
0000086e: PUSH2 0x0875
00000871: JUMPI
00000872: PUSH0
00000873: DUP1
00000874: REVERT
00000875: JUMPDEST
00000876: POP
00000877: PUSH2 0x036e
0000087a: PUSH2 0x0884
0000087d: CALLDATASIZE
0000087e: PUSH1 0x04
00000880: PUSH2 0x5010
00000883: JUMP
00000884: JUMPDEST
00000885: PUSH2 0x1c90
00000888: JUMP
00000889: JUMPDEST
0000088a: CALLVALUE
0000088b: DUP1
0000088c: ISZERO
0000088d: PUSH2 0x0894
00000890: JUMPI
00000891: PUSH0
00000892: DUP1
00000893: REVERT
00000894: JUMPDEST
00000895: POP
00000896: PUSH2 0x03c4
00000899: PUSH2 0x1c9c
0000089c: JUMP
0000089d: JUMPDEST
0000089e: CALLVALUE
0000089f: DUP1
000008a0: ISZERO
000008a1: PUSH2 0x08a8
000008a4: JUMPI
000008a5: PUSH0
000008a6: DUP1
000008a7: REVERT
000008a8: JUMPDEST
000008a9: POP
000008aa: PUSH2 0x036e
000008ad: PUSH2 0x08b7
000008b0: CALLDATASIZE
000008b1: PUSH1 0x04
000008b3: PUSH2 0x5010
000008b6: JUMP
000008b7: JUMPDEST
000008b8: PUSH2 0x1cb8
000008bb: JUMP
000008bc: JUMPDEST
000008bd: CALLVALUE
000008be: DUP1
000008bf: ISZERO
000008c0: PUSH2 0x08c7
000008c3: JUMPI
000008c4: PUSH0
000008c5: DUP1
000008c6: REVERT
000008c7: JUMPDEST
000008c8: POP
000008c9: PUSH2 0x044d
000008cc: PUSH2 0x1d3f
000008cf: JUMP
000008d0: JUMPDEST
000008d1: CALLVALUE
000008d2: DUP1
000008d3: ISZERO
000008d4: PUSH2 0x08db
000008d7: JUMPI
000008d8: PUSH0
000008d9: DUP1
000008da: REVERT
000008db: JUMPDEST
000008dc: POP
000008dd: PUSH2 0x04eb
000008e0: PUSH2 0x1388
000008e3: DUP2
000008e4: JUMP
000008e5: JUMPDEST
000008e6: CALLVALUE
000008e7: DUP1
000008e8: ISZERO
000008e9: PUSH2 0x08f0
000008ec: JUMPI
000008ed: PUSH0
000008ee: DUP1
000008ef: REVERT
000008f0: JUMPDEST
000008f1: POP
000008f2: PUSH2 0x044d
000008f5: PUSH2 0x1e1f
000008f8: JUMP
000008f9: JUMPDEST
000008fa: PUSH2 0x036e
000008fd: PUSH2 0x0907
00000900: CALLDATASIZE
00000901: PUSH1 0x04
00000903: PUSH2 0x532b
00000906: JUMP
00000907: JUMPDEST
00000908: PUSH2 0x1edf
0000090b: JUMP
0000090c: JUMPDEST
0000090d: CALLVALUE
0000090e: DUP1
0000090f: ISZERO
00000910: PUSH2 0x0917
00000913: JUMPI
00000914: PUSH0
00000915: DUP1
00000916: REVERT
00000917: JUMPDEST
00000918: POP
00000919: PUSH2 0x044d
0000091c: PUSH2 0x0926
0000091f: CALLDATASIZE
00000920: PUSH1 0x04
00000922: PUSH2 0x4f3a
00000925: JUMP
00000926: JUMPDEST
00000927: PUSH2 0x1fc4
0000092a: JUMP
0000092b: JUMPDEST
0000092c: CALLVALUE
0000092d: DUP1
0000092e: ISZERO
0000092f: PUSH2 0x0936
00000932: JUMPI
00000933: PUSH0
00000934: DUP1
00000935: REVERT
00000936: JUMPDEST
00000937: POP
00000938: ADDRESS
00000939: PUSH2 0x04aa
0000093c: JUMP
0000093d: JUMPDEST
0000093e: CALLVALUE
0000093f: DUP1
00000940: ISZERO
00000941: PUSH2 0x0948
00000944: JUMPI
00000945: PUSH0
00000946: DUP1
00000947: REVERT
00000948: JUMPDEST
00000949: POP
0000094a: PUSH2 0x03a0
0000094d: PUSH2 0x0957
00000950: CALLDATASIZE
00000951: PUSH1 0x04
00000953: PUSH2 0x4f65
00000956: JUMP
00000957: JUMPDEST
00000958: PUSH2 0x2057
0000095b: JUMP
0000095c: JUMPDEST
0000095d: CALLVALUE
0000095e: DUP1
0000095f: ISZERO
00000960: PUSH2 0x0967
00000963: JUMPI
00000964: PUSH0
00000965: DUP1
00000966: REVERT
00000967: JUMPDEST
00000968: POP
00000969: PUSH2 0x044d
0000096c: PUSH2 0x0976
0000096f: CALLDATASIZE
00000970: PUSH1 0x04
00000972: PUSH2 0x537b
00000975: JUMP
00000976: JUMPDEST
00000977: PUSH2 0x2064
0000097a: JUMP
0000097b: JUMPDEST
0000097c: CALLVALUE
0000097d: DUP1
0000097e: ISZERO
0000097f: PUSH2 0x0986
00000982: JUMPI
00000983: PUSH0
00000984: DUP1
00000985: REVERT
00000986: JUMPDEST
00000987: POP
00000988: PUSH2 0x036e
0000098b: PUSH2 0x0995
0000098e: CALLDATASIZE
0000098f: PUSH1 0x04
00000991: PUSH2 0x4f3a
00000994: JUMP
00000995: JUMPDEST
00000996: PUSH2 0x20ab
00000999: JUMP
0000099a: JUMPDEST
0000099b: CALLVALUE
0000099c: DUP1
0000099d: ISZERO
0000099e: PUSH2 0x09a5
000009a1: JUMPI
000009a2: PUSH0
000009a3: DUP1
000009a4: REVERT
000009a5: JUMPDEST
000009a6: POP
000009a7: PUSH2 0x036e
000009aa: PUSH2 0x09b4
000009ad: CALLDATASIZE
000009ae: PUSH1 0x04
000009b0: PUSH2 0x503e
000009b3: JUMP
000009b4: JUMPDEST
000009b5: PUSH2 0x20c5
000009b8: JUMP
000009b9: JUMPDEST
000009ba: CALLVALUE
000009bb: DUP1
000009bc: ISZERO
000009bd: PUSH2 0x09c4
000009c0: JUMPI
000009c1: PUSH0
000009c2: DUP1
000009c3: REVERT
000009c4: JUMPDEST
000009c5: POP
000009c6: PUSH2 0x03a0
000009c9: PUSH2 0x09d3
000009cc: CALLDATASIZE
000009cd: PUSH1 0x04
000009cf: PUSH2 0x53a1
000009d2: JUMP
000009d3: JUMPDEST
000009d4: PUSH2 0x217a
000009d7: JUMP
000009d8: JUMPDEST
000009d9: CALLVALUE
000009da: DUP1
000009db: ISZERO
000009dc: PUSH2 0x09e3
000009df: JUMPI
000009e0: PUSH0
000009e1: DUP1
000009e2: REVERT
000009e3: JUMPDEST
000009e4: POP
000009e5: PUSH2 0x036e
000009e8: PUSH2 0x09f2
000009eb: CALLDATASIZE
000009ec: PUSH1 0x04
000009ee: PUSH2 0x503e
000009f1: JUMP
000009f2: JUMPDEST
000009f3: PUSH2 0x21b5
000009f6: JUMP
000009f7: JUMPDEST
000009f8: CALLVALUE
000009f9: DUP1
000009fa: ISZERO
000009fb: PUSH2 0x0a02
000009fe: JUMPI
000009ff: PUSH0
00000a00: DUP1
00000a01: REVERT
00000a02: JUMPDEST
00000a03: POP
00000a04: PUSH2 0x044d
00000a07: PUSH2 0x0a11
00000a0a: CALLDATASIZE
00000a0b: PUSH1 0x04
00000a0d: PUSH2 0x4f3a
00000a10: JUMP
00000a11: JUMPDEST
00000a12: PUSH2 0x225c
00000a15: JUMP
00000a16: JUMPDEST
00000a17: CALLVALUE
00000a18: DUP1
00000a19: ISZERO
00000a1a: PUSH2 0x0a21
00000a1d: JUMPI
00000a1e: PUSH0
00000a1f: DUP1
00000a20: REVERT
00000a21: JUMPDEST
00000a22: POP
00000a23: PUSH2 0x036e
00000a26: PUSH2 0x0a30
00000a29: CALLDATASIZE
00000a2a: PUSH1 0x04
00000a2c: PUSH2 0x507d
00000a2f: JUMP
00000a30: JUMPDEST
00000a31: PUSH2 0x2302
00000a34: JUMP
00000a35: JUMPDEST
00000a36: CALLVALUE
00000a37: DUP1
00000a38: ISZERO
00000a39: PUSH2 0x0a40
00000a3c: JUMPI
00000a3d: PUSH0
00000a3e: DUP1
00000a3f: REVERT
00000a40: JUMPDEST
00000a41: POP
00000a42: PUSH2 0x044d
00000a45: PUSH2 0x0a4f
00000a48: CALLDATASIZE
00000a49: PUSH1 0x04
00000a4b: PUSH2 0x507d
00000a4e: JUMP
00000a4f: JUMPDEST
00000a50: PUSH2 0x2363
00000a53: JUMP
00000a54: JUMPDEST
00000a55: CALLVALUE
00000a56: DUP1
00000a57: ISZERO
00000a58: PUSH2 0x0a5f
00000a5b: JUMPI
00000a5c: PUSH0
00000a5d: DUP1
00000a5e: REVERT
00000a5f: JUMPDEST
00000a60: POP
00000a61: PUSH2 0x036e
00000a64: PUSH2 0x0a6e
00000a67: CALLDATASIZE
00000a68: PUSH1 0x04
00000a6a: PUSH2 0x4f3a
00000a6d: JUMP
00000a6e: JUMPDEST
00000a6f: PUSH2 0x23e5
00000a72: JUMP
00000a73: JUMPDEST
00000a74: CALLVALUE
00000a75: DUP1
00000a76: ISZERO
00000a77: PUSH2 0x0a7e
00000a7a: JUMPI
00000a7b: PUSH0
00000a7c: DUP1
00000a7d: REVERT
00000a7e: JUMPDEST
00000a7f: POP
00000a80: PUSH2 0x036e
00000a83: PUSH2 0x0a8d
00000a86: CALLDATASIZE
00000a87: PUSH1 0x04
00000a89: PUSH2 0x507d
00000a8c: JUMP
00000a8d: JUMPDEST
00000a8e: PUSH2 0x23f0
00000a91: JUMP
00000a92: JUMPDEST
00000a93: PUSH2 0x036e
00000a96: PUSH2 0x0aa0
00000a99: CALLDATASIZE
00000a9a: PUSH1 0x04
00000a9c: PUSH2 0x503e
00000a9f: JUMP
00000aa0: JUMPDEST
00000aa1: PUSH2 0x2485
00000aa4: JUMP
00000aa5: JUMPDEST
00000aa6: CALLVALUE
00000aa7: DUP1
00000aa8: ISZERO
00000aa9: PUSH2 0x0ab0
00000aac: JUMPI
00000aad: PUSH0
00000aae: DUP1
00000aaf: REVERT
00000ab0: JUMPDEST
00000ab1: POP
00000ab2: PUSH2 0x044d
00000ab5: PUSH2 0x0abf
00000ab8: CALLDATASIZE
00000ab9: PUSH1 0x04
00000abb: PUSH2 0x4f3a
00000abe: JUMP
00000abf: JUMPDEST
00000ac0: PUSH2 0x26bd
00000ac3: JUMP
00000ac4: JUMPDEST
00000ac5: CALLVALUE
00000ac6: DUP1
00000ac7: ISZERO
00000ac8: PUSH2 0x0acf
00000acb: JUMPI
00000acc: PUSH0
00000acd: DUP1
00000ace: REVERT
00000acf: JUMPDEST
00000ad0: POP
00000ad1: PUSH2 0x044d
00000ad4: PUSH2 0x274b
00000ad7: JUMP
00000ad8: JUMPDEST
00000ad9: CALLVALUE
00000ada: DUP1
00000adb: ISZERO
00000adc: PUSH2 0x0ae3
00000adf: JUMPI
00000ae0: PUSH0
00000ae1: DUP1
00000ae2: REVERT
00000ae3: JUMPDEST
00000ae4: POP
00000ae5: PUSH2 0x036e
00000ae8: PUSH2 0x0af2
00000aeb: CALLDATASIZE
00000aec: PUSH1 0x04
00000aee: PUSH2 0x507d
00000af1: JUMP
00000af2: JUMPDEST
00000af3: PUSH2 0x2798
00000af6: JUMP
00000af7: JUMPDEST
00000af8: CALLVALUE
00000af9: DUP1
00000afa: ISZERO
00000afb: PUSH2 0x0b02
00000afe: JUMPI
00000aff: PUSH0
00000b00: DUP1
00000b01: REVERT
00000b02: JUMPDEST
00000b03: POP
00000b04: PUSH2 0x036e
00000b07: PUSH2 0x0b11
00000b0a: CALLDATASIZE
00000b0b: PUSH1 0x04
00000b0d: PUSH2 0x503e
00000b10: JUMP
00000b11: JUMPDEST
00000b12: PUSH2 0x27f2
00000b15: JUMP
00000b16: JUMPDEST
00000b17: CALLVALUE
00000b18: DUP1
00000b19: ISZERO
00000b1a: PUSH2 0x0b21
00000b1d: JUMPI
00000b1e: PUSH0
00000b1f: DUP1
00000b20: REVERT
00000b21: JUMPDEST
00000b22: POP
00000b23: PUSH2 0x036e
00000b26: PUSH2 0x0b30
00000b29: CALLDATASIZE
00000b2a: PUSH1 0x04
00000b2c: PUSH2 0x4f8f
00000b2f: JUMP
00000b30: JUMPDEST
00000b31: PUSH2 0x283d
00000b34: JUMP
00000b35: JUMPDEST
00000b36: CALLVALUE
00000b37: DUP1
00000b38: ISZERO
00000b39: PUSH2 0x0b40
00000b3c: JUMPI
00000b3d: PUSH0
00000b3e: DUP1
00000b3f: REVERT
00000b40: JUMPDEST
00000b41: POP
00000b42: PUSH2 0x036e
00000b45: PUSH2 0x0b4f
00000b48: CALLDATASIZE
00000b49: PUSH1 0x04
00000b4b: PUSH2 0x53a1
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: PUSH2 0x2849
00000b53: JUMP
00000b54: JUMPDEST
00000b55: CALLVALUE
00000b56: DUP1
00000b57: ISZERO
00000b58: PUSH2 0x0b5f
00000b5b: JUMPI
00000b5c: PUSH0
00000b5d: DUP1
00000b5e: REVERT
00000b5f: JUMPDEST
00000b60: POP
00000b61: PUSH2 0x04aa
00000b64: PUSH2 0x2883
00000b67: JUMP
00000b68: JUMPDEST
00000b69: CALLVALUE
00000b6a: DUP1
00000b6b: ISZERO
00000b6c: PUSH2 0x0b73
00000b6f: JUMPI
00000b70: PUSH0
00000b71: DUP1
00000b72: REVERT
00000b73: JUMPDEST
00000b74: POP
00000b75: PUSH2 0x036e
00000b78: PUSH2 0x0b82
00000b7b: CALLDATASIZE
00000b7c: PUSH1 0x04
00000b7e: PUSH2 0x5010
00000b81: JUMP
00000b82: JUMPDEST
00000b83: PUSH2 0x288d
00000b86: JUMP
00000b87: JUMPDEST
00000b88: CALLVALUE
00000b89: DUP1
00000b8a: ISZERO
00000b8b: PUSH2 0x0b92
00000b8e: JUMPI
00000b8f: PUSH0
00000b90: DUP1
00000b91: REVERT
00000b92: JUMPDEST
00000b93: POP
00000b94: PUSH2 0x036e
00000b97: PUSH2 0x0ba1
00000b9a: CALLDATASIZE
00000b9b: PUSH1 0x04
00000b9d: PUSH2 0x4f3a
00000ba0: JUMP
00000ba1: JUMPDEST
00000ba2: PUSH2 0x2914
00000ba5: JUMP
00000ba6: JUMPDEST
00000ba7: CALLVALUE
00000ba8: DUP1
00000ba9: ISZERO
00000baa: PUSH2 0x0bb1
00000bad: JUMPI
00000bae: PUSH0
00000baf: DUP1
00000bb0: REVERT
00000bb1: JUMPDEST
00000bb2: POP
00000bb3: PUSH2 0x044d
00000bb6: PUSH2 0x0bc0
00000bb9: CALLDATASIZE
00000bba: PUSH1 0x04
00000bbc: PUSH2 0x5279
00000bbf: JUMP
00000bc0: JUMPDEST
00000bc1: PUSH2 0x292e
00000bc4: JUMP
00000bc5: JUMPDEST
00000bc6: CALLVALUE
00000bc7: DUP1
00000bc8: ISZERO
00000bc9: PUSH2 0x0bd0
00000bcc: JUMPI
00000bcd: PUSH0
00000bce: DUP1
00000bcf: REVERT
00000bd0: JUMPDEST
00000bd1: POP
00000bd2: PUSH2 0x044d
00000bd5: PUSH2 0x0bdf
00000bd8: CALLDATASIZE
00000bd9: PUSH1 0x04
00000bdb: PUSH2 0x507d
00000bde: JUMP
00000bdf: JUMPDEST
00000be0: PUSH2 0x29e7
00000be3: JUMP
00000be4: JUMPDEST
00000be5: CALLVALUE
00000be6: DUP1
00000be7: ISZERO
00000be8: PUSH2 0x0bef
00000beb: JUMPI
00000bec: PUSH0
00000bed: DUP1
00000bee: REVERT
00000bef: JUMPDEST
00000bf0: POP
00000bf1: PUSH2 0x044d
00000bf4: PUSH2 0x0bfe
00000bf7: CALLDATASIZE
00000bf8: PUSH1 0x04
00000bfa: PUSH2 0x507d
00000bfd: JUMP
00000bfe: JUMPDEST
00000bff: PUSH2 0x2a63
00000c02: JUMP
00000c03: JUMPDEST
00000c04: CALLVALUE
00000c05: DUP1
00000c06: ISZERO
00000c07: PUSH2 0x0c0e
00000c0a: JUMPI
00000c0b: PUSH0
00000c0c: DUP1
00000c0d: REVERT
00000c0e: JUMPDEST
00000c0f: POP
00000c10: PUSH2 0x036e
00000c13: PUSH2 0x0c1d
00000c16: CALLDATASIZE
00000c17: PUSH1 0x04
00000c19: PUSH2 0x5010
00000c1c: JUMP
00000c1d: JUMPDEST
00000c1e: PUSH2 0x2ad3
00000c21: JUMP
00000c22: JUMPDEST
00000c23: CALLVALUE
00000c24: DUP1
00000c25: ISZERO
00000c26: PUSH2 0x0c2d
00000c29: JUMPI
00000c2a: PUSH0
00000c2b: DUP1
00000c2c: REVERT
00000c2d: JUMPDEST
00000c2e: POP
00000c2f: PUSH2 0x04eb
00000c32: PUSH2 0x03e8
00000c35: DUP2
00000c36: JUMP
00000c37: JUMPDEST
00000c38: PUSH0
00000c39: DUP1
00000c3a: PUSH2 0x0c41
00000c3d: PUSH2 0x2b5b
00000c40: JUMP
00000c41: JUMPDEST
00000c42: SLOAD
00000c43: SWAP3
00000c44: SWAP2
00000c45: POP
00000c46: POP
00000c47: JUMP
00000c48: JUMPDEST
00000c49: PUSH0
00000c4a: PUSH4 0x2f0a18c5
00000c4f: PUSH1 0xe0
00000c51: SHL
00000c52: PUSH1 0x01
00000c54: PUSH1 0x01
00000c56: PUSH1 0xe0
00000c58: SHL
00000c59: SUB
00000c5a: NOT
00000c5b: DUP4
00000c5c: AND
00000c5d: EQ
00000c5e: DUP1
00000c5f: PUSH2 0x0c78
00000c62: JUMPI
00000c63: POP
00000c64: PUSH4 0xf815c03d
00000c69: PUSH1 0xe0
00000c6b: SHL
00000c6c: PUSH1 0x01
00000c6e: PUSH1 0x01
00000c70: PUSH1 0xe0
00000c72: SHL
00000c73: SUB
00000c74: NOT
00000c75: DUP4
00000c76: AND
00000c77: EQ
00000c78: JUMPDEST
00000c79: DUP1
00000c7a: PUSH2 0x0c93
00000c7d: JUMPI
00000c7e: POP
00000c7f: PUSH4 0x0ce3bbe5
00000c84: PUSH1 0xe4
00000c86: SHL
00000c87: PUSH1 0x01
00000c89: PUSH1 0x01
00000c8b: PUSH1 0xe0
00000c8d: SHL
00000c8e: SUB
00000c8f: NOT
00000c90: DUP4
00000c91: AND
00000c92: EQ
00000c93: JUMPDEST
00000c94: DUP1
00000c95: PUSH2 0x0cae
00000c98: JUMPI
00000c99: POP
00000c9a: PUSH4 0x1883ba39
00000c9f: PUSH1 0xe2
00000ca1: SHL
00000ca2: PUSH1 0x01
00000ca4: PUSH1 0x01
00000ca6: PUSH1 0xe0
00000ca8: SHL
00000ca9: SUB
00000caa: NOT
00000cab: DUP4
00000cac: AND
00000cad: EQ
00000cae: JUMPDEST
00000caf: DUP1
00000cb0: PUSH2 0x0cc9
00000cb3: JUMPI
00000cb4: POP
00000cb5: PUSH4 0xe3bc4e65
00000cba: PUSH1 0xe0
00000cbc: SHL
00000cbd: PUSH1 0x01
00000cbf: PUSH1 0x01
00000cc1: PUSH1 0xe0
00000cc3: SHL
00000cc4: SUB
00000cc5: NOT
00000cc6: DUP4
00000cc7: AND
00000cc8: EQ
00000cc9: JUMPDEST
00000cca: DUP1
00000ccb: PUSH2 0x0ce4
00000cce: JUMPI
00000ccf: POP
00000cd0: PUSH1 0x01
00000cd2: PUSH1 0x01
00000cd4: PUSH1 0xe0
00000cd6: SHL
00000cd7: SUB
00000cd8: NOT
00000cd9: DUP3
00000cda: AND
00000cdb: PUSH4 0x01ffc9a7
00000ce0: PUSH1 0xe0
00000ce2: SHL
00000ce3: EQ
00000ce4: JUMPDEST
00000ce5: SWAP3
00000ce6: SWAP2
00000ce7: POP
00000ce8: POP
00000ce9: JUMP
00000cea: JUMPDEST
00000ceb: PUSH1 0x60
00000ced: PUSH0
00000cee: PUSH2 0x0cf5
00000cf1: PUSH2 0x2b7f
00000cf4: JUMP
00000cf5: JUMPDEST
00000cf6: SWAP1
00000cf7: POP
00000cf8: DUP1
00000cf9: PUSH1 0x03
00000cfb: ADD
00000cfc: DUP1
00000cfd: SLOAD
00000cfe: PUSH2 0x0d06
00000d01: SWAP1
00000d02: PUSH2 0x53cd
00000d05: JUMP
00000d06: JUMPDEST
00000d07: DUP1
00000d08: PUSH1 0x1f
00000d0a: ADD
00000d0b: PUSH1 0x20
00000d0d: DUP1
00000d0e: SWAP2
00000d0f: DIV
00000d10: MUL
00000d11: PUSH1 0x20
00000d13: ADD
00000d14: PUSH1 0x40
00000d16: MLOAD
00000d17: SWAP1
00000d18: DUP2
00000d19: ADD
00000d1a: PUSH1 0x40
00000d1c: MSTORE
00000d1d: DUP1
00000d1e: SWAP3
00000d1f: SWAP2
00000d20: SWAP1
00000d21: DUP2
00000d22: DUP2
00000d23: MSTORE
00000d24: PUSH1 0x20
00000d26: ADD
00000d27: DUP3
00000d28: DUP1
00000d29: SLOAD
00000d2a: PUSH2 0x0d32
00000d2d: SWAP1
00000d2e: PUSH2 0x53cd
00000d31: JUMP
00000d32: JUMPDEST
00000d33: DUP1
00000d34: ISZERO
00000d35: PUSH2 0x0d7d
00000d38: JUMPI
00000d39: DUP1
00000d3a: PUSH1 0x1f
00000d3c: LT
00000d3d: PUSH2 0x0d54
00000d40: JUMPI
00000d41: PUSH2 0x0100
00000d44: DUP1
00000d45: DUP4
00000d46: SLOAD
00000d47: DIV
00000d48: MUL
00000d49: DUP4
00000d4a: MSTORE
00000d4b: SWAP2
00000d4c: PUSH1 0x20
00000d4e: ADD
00000d4f: SWAP2
00000d50: PUSH2 0x0d7d
00000d53: JUMP
00000d54: JUMPDEST
00000d55: DUP3
00000d56: ADD
00000d57: SWAP2
00000d58: SWAP1
00000d59: PUSH0
00000d5a: MSTORE
00000d5b: PUSH1 0x20
00000d5d: PUSH0
00000d5e: KECCAK256
00000d5f: SWAP1
00000d60: JUMPDEST
00000d61: DUP2
00000d62: SLOAD
00000d63: DUP2
00000d64: MSTORE
00000d65: SWAP1
00000d66: PUSH1 0x01
00000d68: ADD
00000d69: SWAP1
00000d6a: PUSH1 0x20
00000d6c: ADD
00000d6d: DUP1
00000d6e: DUP4
00000d6f: GT
00000d70: PUSH2 0x0d60
00000d73: JUMPI
00000d74: DUP3
00000d75: SWAP1
00000d76: SUB
00000d77: PUSH1 0x1f
00000d79: AND
00000d7a: DUP3
00000d7b: ADD
00000d7c: SWAP2
00000d7d: JUMPDEST
00000d7e: POP
00000d7f: POP
00000d80: POP
00000d81: POP
00000d82: POP
00000d83: SWAP2
00000d84: POP
00000d85: POP
00000d86: SWAP1
00000d87: JUMP
00000d88: JUMPDEST
00000d89: PUSH0
00000d8a: PUSH2 0x0ce4
00000d8d: DUP3
00000d8e: PUSH0
00000d8f: PUSH2 0x2ba3
00000d92: JUMP
00000d93: JUMPDEST
00000d94: PUSH0
00000d95: CALLER
00000d96: PUSH2 0x0da0
00000d99: DUP2
00000d9a: DUP6
00000d9b: DUP6
00000d9c: PUSH2 0x2be8
00000d9f: JUMP
00000da0: JUMPDEST
00000da1: POP
00000da2: PUSH1 0x01
00000da4: SWAP4
00000da5: SWAP3
00000da6: POP
00000da7: POP
00000da8: POP
00000da9: JUMP
00000daa: JUMPDEST
00000dab: PUSH0
00000dac: PUSH1 0x40
00000dae: MLOAD
00000daf: PUSH4 0x954bf3b1
00000db4: PUSH1 0xe0
00000db6: SHL
00000db7: DUP2
00000db8: MSTORE
00000db9: PUSH1 0x04
00000dbb: ADD
00000dbc: PUSH1 0x40
00000dbe: MLOAD
00000dbf: DUP1
00000dc0: SWAP2
00000dc1: SUB
00000dc2: SWAP1
00000dc3: REVERT
00000dc4: JUMPDEST
00000dc5: PUSH0
00000dc6: PUSH2 0x0dcd
00000dc9: PUSH2 0x2bf5
00000dcc: JUMP
00000dcd: JUMPDEST
00000dce: PUSH1 0x02
00000dd0: ADD
00000dd1: SLOAD
00000dd2: PUSH1 0x01
00000dd4: PUSH1 0x01
00000dd6: PUSH1 0xa0
00000dd8: SHL
00000dd9: SUB
00000dda: AND
00000ddb: SWAP1
00000ddc: POP
00000ddd: CALLER
00000dde: DUP2
00000ddf: EQ
00000de0: PUSH2 0x0e07
00000de3: JUMPI
00000de4: DUP1
00000de5: PUSH1 0x40
00000de7: MLOAD
00000de8: PUSH4 0xfde82f1f
00000ded: PUSH1 0xe0
00000def: SHL
00000df0: DUP2
00000df1: MSTORE
00000df2: PUSH1 0x04
00000df4: ADD
00000df5: PUSH2 0x0dfe
00000df8: SWAP2
00000df9: SWAP1
00000dfa: PUSH2 0x4faf
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: PUSH1 0x40
00000e01: MLOAD
00000e02: DUP1
00000e03: SWAP2
00000e04: SUB
00000e05: SWAP1
00000e06: REVERT
00000e07: JUMPDEST
00000e08: PUSH0
00000e09: PUSH2 0x0e10
00000e0c: PUSH2 0x2c19
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: SLOAD
00000e12: PUSH1 0xff
00000e14: AND
00000e15: SWAP1
00000e16: POP
00000e17: PUSH1 0x01
00000e19: DUP2
00000e1a: PUSH1 0x02
00000e1c: DUP2
00000e1d: GT
00000e1e: ISZERO
00000e1f: PUSH2 0x0e2a
00000e22: JUMPI
00000e23: PUSH2 0x0e2a
00000e26: PUSH2 0x53ff
00000e29: JUMP
00000e2a: JUMPDEST
00000e2b: EQ
00000e2c: PUSH2 0x0e4a
00000e2f: JUMPI
00000e30: DUP1
00000e31: PUSH1 0x40
00000e33: MLOAD
00000e34: PUSH4 0x73cc9d4d
00000e39: PUSH1 0xe0
00000e3b: SHL
00000e3c: DUP2
00000e3d: MSTORE
00000e3e: PUSH1 0x04
00000e40: ADD
00000e41: PUSH2 0x0dfe
00000e44: SWAP2
00000e45: SWAP1
00000e46: PUSH2 0x5413
00000e49: JUMP
00000e4a: JUMPDEST
00000e4b: PUSH0
00000e4c: PUSH2 0x0e53
00000e4f: PUSH2 0x2bf5
00000e52: JUMP
00000e53: JUMPDEST
00000e54: SWAP1
00000e55: POP
00000e56: PUSH2 0x0e5e
00000e59: DUP5
00000e5a: PUSH2 0x2c3d
00000e5d: JUMP
00000e5e: JUMPDEST
00000e5f: PUSH1 0x01
00000e61: DUP2
00000e62: ADD
00000e63: SLOAD
00000e64: PUSH1 0x03
00000e66: DUP3
00000e67: ADD
00000e68: SLOAD
00000e69: PUSH1 0x40
00000e6b: DUP1
00000e6c: MLOAD
00000e6d: PUSH4 0x39a51be5
00000e72: PUSH1 0xe0
00000e74: SHL
00000e75: DUP2
00000e76: MSTORE
00000e77: SWAP1
00000e78: MLOAD
00000e79: PUSH2 0x0edb
00000e7c: SWAP4
00000e7d: PUSH1 0x01
00000e7f: PUSH1 0x01
00000e81: PUSH1 0xa0
00000e83: SHL
00000e84: SUB
00000e85: SWAP1
00000e86: DUP2
00000e87: AND
00000e88: SWAP4
00000e89: AND
00000e8a: SWAP2
00000e8b: PUSH4 0x39a51be5
00000e90: SWAP2
00000e91: PUSH1 0x04
00000e93: DUP1
00000e94: DUP4
00000e95: ADD
00000e96: SWAP3
00000e97: PUSH1 0x20
00000e99: SWAP3
00000e9a: SWAP2
00000e9b: SWAP1
00000e9c: DUP3
00000e9d: SWAP1
00000e9e: SUB
00000e9f: ADD
00000ea0: DUP2
00000ea1: DUP7
00000ea2: GAS
00000ea3: STATICCALL
00000ea4: ISZERO
00000ea5: DUP1
00000ea6: ISZERO
00000ea7: PUSH2 0x0eb2
00000eaa: JUMPI
00000eab: RETURNDATASIZE
00000eac: PUSH0
00000ead: DUP1
00000eae: RETURNDATACOPY
00000eaf: RETURNDATASIZE
00000eb0: PUSH0
00000eb1: REVERT
00000eb2: JUMPDEST
00000eb3: POP
00000eb4: POP
00000eb5: POP
00000eb6: POP
00000eb7: PUSH1 0x40
00000eb9: MLOAD
00000eba: RETURNDATASIZE
00000ebb: PUSH1 0x1f
00000ebd: NOT
00000ebe: PUSH1 0x1f
00000ec0: DUP3
00000ec1: ADD
00000ec2: AND
00000ec3: DUP3
00000ec4: ADD
00000ec5: DUP1
00000ec6: PUSH1 0x40
00000ec8: MSTORE
00000ec9: POP
00000eca: DUP2
00000ecb: ADD
00000ecc: SWAP1
00000ecd: PUSH2 0x0ed6
00000ed0: SWAP2
00000ed1: SWAP1
00000ed2: PUSH2 0x5449
00000ed5: JUMP
00000ed6: JUMPDEST
00000ed7: PUSH2 0x2d1a
00000eda: JUMP
00000edb: JUMPDEST
00000edc: PUSH2 0x0ee4
00000edf: CALLER
00000ee0: PUSH2 0x2d8d
00000ee3: JUMP
00000ee4: JUMPDEST
00000ee5: PUSH2 0x0eed
00000ee8: CALLER
00000ee9: PUSH2 0x2f14
00000eec: JUMP
00000eed: JUMPDEST
00000eee: PUSH1 0x02
00000ef0: PUSH2 0x0ef7
00000ef3: PUSH2 0x2c19
00000ef6: JUMP
00000ef7: JUMPDEST
00000ef8: DUP1
00000ef9: SLOAD
00000efa: PUSH1 0xff
00000efc: NOT
00000efd: AND
00000efe: PUSH1 0x01
00000f00: DUP4
00000f01: PUSH1 0x02
00000f03: DUP2
00000f04: GT
00000f05: ISZERO
00000f06: PUSH2 0x0f11
00000f09: JUMPI
00000f0a: PUSH2 0x0f11
00000f0d: PUSH2 0x53ff
00000f10: JUMP
00000f11: JUMPDEST
00000f12: MUL
00000f13: OR
00000f14: SWAP1
00000f15: SSTORE
00000f16: POP
00000f17: PUSH2 0x0f3d
00000f1a: CALLER
00000f1b: ADDRESS
00000f1c: PUSH2 0x0f23
00000f1f: PUSH2 0x2b5b
00000f22: JUMP
00000f23: JUMPDEST
00000f24: SLOAD
00000f25: PUSH2 0x0f2c
00000f28: PUSH2 0x10eb
00000f2b: JUMP
00000f2c: JUMPDEST
00000f2d: PUSH1 0x01
00000f2f: PUSH1 0x01
00000f31: PUSH1 0xa0
00000f33: SHL
00000f34: SUB
00000f35: AND
00000f36: SWAP3
00000f37: SWAP2
00000f38: SWAP1
00000f39: PUSH2 0x3137
00000f3c: JUMP
00000f3d: JUMPDEST
00000f3e: PUSH0
00000f3f: DUP1
00000f40: MLOAD
00000f41: PUSH1 0x20
00000f43: PUSH2 0x5f5f
00000f46: DUP4
00000f47: CODECOPY
00000f48: DUP2
00000f49: MLOAD
00000f4a: SWAP2
00000f4b: MSTORE
00000f4c: PUSH1 0x02
00000f4e: PUSH1 0x40
00000f50: MLOAD
00000f51: PUSH2 0x0f5a
00000f54: SWAP2
00000f55: SWAP1
00000f56: PUSH2 0x5413
00000f59: JUMP
00000f5a: JUMPDEST
00000f5b: PUSH1 0x40
00000f5d: MLOAD
00000f5e: DUP1
00000f5f: SWAP2
00000f60: SUB
00000f61: SWAP1
00000f62: LOG1
00000f63: POP
00000f64: POP
00000f65: POP
00000f66: POP
00000f67: JUMP
00000f68: JUMPDEST
00000f69: PUSH0
00000f6a: PUSH2 0x0f71
00000f6d: PUSH2 0x2b5b
00000f70: JUMP
00000f71: JUMPDEST
00000f72: PUSH1 0x0a
00000f74: ADD
00000f75: SLOAD
00000f76: PUSH1 0x01
00000f78: PUSH1 0x01
00000f7a: PUSH1 0x80
00000f7c: SHL
00000f7d: SUB
00000f7e: AND
00000f7f: TIMESTAMP
00000f80: LT
00000f81: SWAP2
00000f82: SWAP1
00000f83: POP
00000f84: JUMP
00000f85: JUMPDEST
00000f86: PUSH0
00000f87: DUP1
00000f88: PUSH2 0x0f8f
00000f8b: PUSH2 0x2b7f
00000f8e: JUMP
00000f8f: JUMPDEST
00000f90: PUSH1 0x02
00000f92: ADD
00000f93: SLOAD
00000f94: SWAP3
00000f95: SWAP2
00000f96: POP
00000f97: POP
00000f98: JUMP
00000f99: JUMPDEST
00000f9a: PUSH0
00000f9b: PUSH2 0x0fa5
00000f9e: DUP4
00000f9f: DUP4
00000fa0: PUSH0
00000fa1: PUSH2 0x319e
00000fa4: JUMP
00000fa5: JUMPDEST
00000fa6: SWAP4
00000fa7: SWAP3
00000fa8: POP
00000fa9: POP
00000faa: POP
00000fab: JUMP
00000fac: JUMPDEST
00000fad: PUSH0
00000fae: PUSH2 0x0fb5
00000fb1: PUSH2 0x2bf5
00000fb4: JUMP
00000fb5: JUMPDEST
00000fb6: PUSH1 0x02
00000fb8: ADD
00000fb9: SLOAD
00000fba: PUSH1 0x01
00000fbc: PUSH1 0x01
00000fbe: PUSH1 0xa0
00000fc0: SHL
00000fc1: SUB
00000fc2: AND
00000fc3: SWAP2
00000fc4: SWAP1
00000fc5: POP
00000fc6: JUMP
00000fc7: JUMPDEST
00000fc8: PUSH0
00000fc9: CALLER
00000fca: PUSH2 0x0fd4
00000fcd: DUP6
00000fce: DUP3
00000fcf: DUP6
00000fd0: PUSH2 0x323d
00000fd3: JUMP
00000fd4: JUMPDEST
00000fd5: PUSH2 0x0fdf
00000fd8: DUP6
00000fd9: DUP6
00000fda: DUP6
00000fdb: PUSH2 0x3287
00000fde: JUMP
00000fdf: JUMPDEST
00000fe0: POP
00000fe1: PUSH1 0x01
00000fe3: SWAP5
00000fe4: SWAP4
00000fe5: POP
00000fe6: POP
00000fe7: POP
00000fe8: POP
00000fe9: JUMP
00000fea: JUMPDEST
00000feb: PUSH0
00000fec: DUP1
00000fed: PUSH2 0x0ff4
00000ff0: PUSH2 0x2b5b
00000ff3: JUMP
00000ff4: JUMPDEST
00000ff5: SWAP1
00000ff6: POP
00000ff7: DUP4
00000ff8: PUSH0
00000ff9: SUB
00000ffa: PUSH2 0x1021
00000ffd: JUMPI
00000ffe: PUSH1 0x01
00001000: PUSH1 0x01
00001002: PUSH1 0xa0
00001004: SHL
00001005: SUB
00001006: DUP4
00001007: AND
00001008: PUSH0
00001009: SWAP1
0000100a: DUP2
0000100b: MSTORE
0000100c: PUSH1 0x05
0000100e: DUP3
0000100f: ADD
00001010: PUSH1 0x20
00001012: MSTORE
00001013: PUSH1 0x40
00001015: SWAP1
00001016: KECCAK256
00001017: SLOAD
00001018: PUSH5 0xffffffffff
0000101e: AND
0000101f: SWAP4
00001020: POP
00001021: JUMPDEST
00001022: PUSH1 0x02
00001024: DUP2
00001025: ADD
00001026: SLOAD
00001027: PUSH1 0x01
00001029: PUSH1 0x50
0000102b: SHL
0000102c: SWAP1
0000102d: DIV
0000102e: PUSH5 0xffffffffff
00001034: AND
00001035: DUP5
00001036: GT
00001037: ISZERO
00001038: PUSH2 0x1072
0000103b: JUMPI
0000103c: PUSH5 0xffffffffff
00001042: DUP5
00001043: AND
00001044: PUSH0
00001045: SWAP1
00001046: DUP2
00001047: MSTORE
00001048: PUSH1 0x03
0000104a: SWAP1
0000104b: SWAP2
0000104c: ADD
0000104d: PUSH1 0x20
0000104f: SWAP1
00001050: DUP2
00001051: MSTORE
00001052: PUSH1 0x40
00001054: DUP1
00001055: DUP4
00001056: KECCAK256
00001057: PUSH1 0x01
00001059: PUSH1 0x01
0000105b: PUSH1 0xa0
0000105d: SHL
0000105e: SUB
0000105f: DUP7
00001060: AND
00001061: DUP5
00001062: MSTORE
00001063: PUSH1 0x01
00001065: ADD
00001066: SWAP1
00001067: SWAP2
00001068: MSTORE
00001069: SWAP1
0000106a: KECCAK256
0000106b: SLOAD
0000106c: SWAP1
0000106d: POP
0000106e: PUSH2 0x0ce4
00001071: JUMP
00001072: JUMPDEST
00001073: POP
00001074: SWAP3
00001075: SWAP2
00001076: POP
00001077: POP
00001078: JUMP
00001079: JUMPDEST
0000107a: PUSH0
0000107b: DUP2
0000107c: PUSH1 0x01
0000107e: PUSH1 0x01
00001080: PUSH1 0xa0
00001082: SHL
00001083: SUB
00001084: DUP2
00001085: AND
00001086: CALLER
00001087: EQ
00001088: DUP1
00001089: ISZERO
0000108a: SWAP1
0000108b: PUSH2 0x109b
0000108e: JUMPI
0000108f: POP
00001090: PUSH2 0x1099
00001093: DUP2
00001094: CALLER
00001095: PUSH2 0x217a
00001098: JUMP
00001099: JUMPDEST
0000109a: ISZERO
0000109b: JUMPDEST
0000109c: ISZERO
0000109d: PUSH2 0x10b9
000010a0: JUMPI
000010a1: PUSH1 0x40
000010a3: MLOAD
000010a4: PUSH4 0x31d00f81
000010a9: PUSH1 0xe1
000010ab: SHL
000010ac: DUP2
000010ad: MSTORE
000010ae: PUSH1 0x04
000010b0: ADD
000010b1: PUSH1 0x40
000010b3: MLOAD
000010b4: DUP1
000010b5: SWAP2
000010b6: SUB
000010b7: SWAP1
000010b8: REVERT
000010b9: JUMPDEST
000010ba: PUSH2 0x10c4
000010bd: DUP6
000010be: DUP6
000010bf: DUP6
000010c0: PUSH2 0x32e4
000010c3: JUMP
000010c4: JUMPDEST
000010c5: SWAP2
000010c6: POP
000010c7: JUMPDEST
000010c8: POP
000010c9: SWAP4
000010ca: SWAP3
000010cb: POP
000010cc: POP
000010cd: POP
000010ce: JUMP
000010cf: JUMPDEST
000010d0: PUSH0
000010d1: PUSH2 0x10d8
000010d4: PUSH2 0x2b5b
000010d7: JUMP
000010d8: JUMPDEST
000010d9: PUSH1 0x09
000010db: ADD
000010dc: SLOAD
000010dd: PUSH1 0x01
000010df: PUSH1 0xa0
000010e1: SHL
000010e2: SWAP1
000010e3: DIV
000010e4: PUSH1 0xff
000010e6: AND
000010e7: SWAP2
000010e8: SWAP1
000010e9: POP
000010ea: JUMP
000010eb: JUMPDEST
000010ec: PUSH0
000010ed: DUP1
000010ee: PUSH2 0x10f5
000010f1: PUSH2 0x33e7
000010f4: JUMP
000010f5: JUMPDEST
000010f6: SLOAD
000010f7: PUSH1 0x01
000010f9: PUSH1 0x01
000010fb: PUSH1 0xa0
000010fd: SHL
000010fe: SUB
000010ff: AND
00001100: SWAP3
00001101: SWAP2
00001102: POP
00001103: POP
00001104: JUMP
00001105: JUMPDEST
00001106: PUSH0
00001107: DUP1
00001108: PUSH2 0x110f
0000110b: PUSH2 0x340b
0000110e: JUMP
0000110f: JUMPDEST
00001110: SWAP1
00001111: POP
00001112: DUP3
00001113: PUSH1 0x01
00001115: PUSH1 0x01
00001117: PUSH1 0xa0
00001119: SHL
0000111a: SUB
0000111b: AND
0000111c: PUSH2 0x1123
0000111f: PUSH2 0x2bf5
00001122: JUMP
00001123: JUMPDEST
00001124: PUSH1 0x03
00001126: ADD
00001127: PUSH0
00001128: SWAP1
00001129: SLOAD
0000112a: SWAP1
0000112b: PUSH2 0x0100
0000112e: EXP
0000112f: SWAP1
00001130: DIV
00001131: PUSH1 0x01
00001133: PUSH1 0x01
00001135: PUSH1 0xa0
00001137: SHL
00001138: SUB
00001139: AND
0000113a: PUSH1 0x01
0000113c: PUSH1 0x01
0000113e: PUSH1 0xa0
00001140: SHL
00001141: SUB
00001142: AND
00001143: PUSH4 0x39a51be5
00001148: PUSH1 0x40
0000114a: MLOAD
0000114b: DUP2
0000114c: PUSH4 0xffffffff
00001151: AND
00001152: PUSH1 0xe0
00001154: SHL
00001155: DUP2
00001156: MSTORE
00001157: PUSH1 0x04
00001159: ADD
0000115a: PUSH1 0x20
0000115c: PUSH1 0x40
0000115e: MLOAD
0000115f: DUP1
00001160: DUP4
00001161: SUB
00001162: DUP2
00001163: DUP7
00001164: GAS
00001165: STATICCALL
00001166: ISZERO
00001167: DUP1
00001168: ISZERO
00001169: PUSH2 0x1174
0000116c: JUMPI
0000116d: RETURNDATASIZE
0000116e: PUSH0
0000116f: DUP1
00001170: RETURNDATACOPY
00001171: RETURNDATASIZE
00001172: PUSH0
00001173: REVERT
00001174: JUMPDEST
00001175: POP
00001176: POP
00001177: POP
00001178: POP
00001179: PUSH1 0x40
0000117b: MLOAD
0000117c: RETURNDATASIZE
0000117d: PUSH1 0x1f
0000117f: NOT
00001180: PUSH1 0x1f
00001182: DUP3
00001183: ADD
00001184: AND
00001185: DUP3
00001186: ADD
00001187: DUP1
00001188: PUSH1 0x40
0000118a: MSTORE
0000118b: POP
0000118c: DUP2
0000118d: ADD
0000118e: SWAP1
0000118f: PUSH2 0x1198
00001192: SWAP2
00001193: SWAP1
00001194: PUSH2 0x5449
00001197: JUMP
00001198: JUMPDEST
00001199: PUSH1 0x01
0000119b: PUSH1 0x01
0000119d: PUSH1 0xa0
0000119f: SHL
000011a0: SUB
000011a1: AND
000011a2: SUB
000011a3: PUSH2 0x11af
000011a6: JUMPI
000011a7: POP
000011a8: PUSH1 0x01
000011aa: SWAP3
000011ab: SWAP2
000011ac: POP
000011ad: POP
000011ae: JUMP
000011af: JUMPDEST
000011b0: PUSH1 0x01
000011b2: DUP2
000011b3: ADD
000011b4: SLOAD
000011b5: PUSH1 0xff
000011b7: AND
000011b8: PUSH2 0x11c2
000011bb: JUMPI
000011bc: PUSH1 0x01
000011be: PUSH2 0x0fa5
000011c1: JUMP
000011c2: JUMPDEST
000011c3: PUSH1 0x01
000011c5: PUSH1 0x01
000011c7: PUSH1 0xa0
000011c9: SHL
000011ca: SUB
000011cb: DUP4
000011cc: AND
000011cd: PUSH0
000011ce: SWAP1
000011cf: DUP2
000011d0: MSTORE
000011d1: PUSH1 0x20
000011d3: DUP3
000011d4: SWAP1
000011d5: MSTORE
000011d6: PUSH1 0x40
000011d8: SWAP1
000011d9: KECCAK256
000011da: SLOAD
000011db: PUSH1 0xff
000011dd: AND
000011de: SWAP4
000011df: SWAP3
000011e0: POP
000011e1: POP
000011e2: POP
000011e3: JUMP
000011e4: JUMPDEST
000011e5: PUSH2 0x11ec
000011e8: PUSH2 0x342f
000011eb: JUMP
000011ec: JUMPDEST
000011ed: PUSH0
000011ee: PUSH2 0x11f5
000011f1: PUSH2 0x3461
000011f4: JUMP
000011f5: JUMPDEST
000011f6: SWAP1
000011f7: POP
000011f8: PUSH2 0x03e8
000011fb: PUSH2 0xffff
000011fe: AND
000011ff: DUP3
00001200: PUSH0
00001201: ADD
00001202: MLOAD
00001203: PUSH2 0xffff
00001206: AND
00001207: GT
00001208: ISZERO
00001209: PUSH2 0x1229
0000120c: JUMPI
0000120d: PUSH2 0x03e8
00001210: PUSH1 0x40
00001212: MLOAD
00001213: PUSH4 0x03430969
00001218: PUSH1 0xe3
0000121a: SHL
0000121b: DUP2
0000121c: MSTORE
0000121d: PUSH1 0x04
0000121f: ADD
00001220: PUSH2 0x0dfe
00001223: SWAP2
00001224: SWAP1
00001225: PUSH2 0x5001
00001228: JUMP
00001229: JUMPDEST
0000122a: PUSH2 0x1388
0000122d: PUSH2 0xffff
00001230: AND
00001231: DUP3
00001232: PUSH1 0x20
00001234: ADD
00001235: MLOAD
00001236: PUSH2 0xffff
00001239: AND
0000123a: GT
0000123b: ISZERO
0000123c: PUSH2 0x125c
0000123f: JUMPI
00001240: PUSH2 0x1388
00001243: PUSH1 0x40
00001245: MLOAD
00001246: PUSH4 0x03430969
0000124b: PUSH1 0xe3
0000124d: SHL
0000124e: DUP2
0000124f: MSTORE
00001250: PUSH1 0x04
00001252: ADD
00001253: PUSH2 0x0dfe
00001256: SWAP2
00001257: SWAP1
00001258: PUSH2 0x5001
0000125b: JUMP
0000125c: JUMPDEST
0000125d: PUSH0
0000125e: DUP2
0000125f: PUSH1 0x04
00001261: ADD
00001262: SLOAD
00001263: TIMESTAMP
00001264: PUSH2 0x126d
00001267: SWAP2
00001268: SWAP1
00001269: PUSH2 0x5478
0000126c: JUMP
0000126d: JUMPDEST
0000126e: PUSH1 0x40
00001270: DUP1
00001271: MLOAD
00001272: DUP1
00001273: DUP3
00001274: ADD
00001275: DUP3
00001276: MSTORE
00001277: PUSH1 0x05
00001279: DUP6
0000127a: ADD
0000127b: DUP1
0000127c: SLOAD
0000127d: PUSH2 0xffff
00001280: DUP1
00001281: DUP3
00001282: AND
00001283: DUP1
00001284: DUP6
00001285: MSTORE
00001286: PUSH3 0x010000
0000128a: DUP1
0000128b: DUP5
0000128c: DIV
0000128d: DUP4
0000128e: AND
0000128f: PUSH1 0x20
00001291: DUP1
00001292: DUP9
00001293: ADD
00001294: DUP3
00001295: SWAP1
00001296: MSTORE
00001297: PUSH1 0x01
00001299: DUP13
0000129a: ADD
0000129b: DUP11
0000129c: SWAP1
0000129d: SSTORE
0000129e: PUSH1 0x06
000012a0: DUP13
000012a1: ADD
000012a2: DUP1
000012a3: SLOAD
000012a4: SWAP3
000012a5: DUP5
000012a6: MUL
000012a7: PUSH4 0xffffffff
000012ac: NOT
000012ad: SWAP4
000012ae: DUP5
000012af: AND
000012b0: SWAP1
000012b1: SWAP6
000012b2: OR
000012b3: SWAP5
000012b4: SWAP1
000012b5: SWAP5
000012b6: OR
000012b7: SWAP1
000012b8: SWAP4
000012b9: SSTORE
000012ba: DUP12
000012bb: MLOAD
000012bc: SWAP3
000012bd: DUP13
000012be: ADD
000012bf: MLOAD
000012c0: DUP5
000012c1: AND
000012c2: SWAP1
000012c3: SWAP2
000012c4: MUL
000012c5: SWAP4
000012c6: AND
000012c7: SWAP2
000012c8: AND
000012c9: OR
000012ca: OR
000012cb: SWAP1
000012cc: SSTORE
000012cd: SWAP1
000012ce: MLOAD
000012cf: SWAP2
000012d0: SWAP3
000012d1: POP
000012d2: SWAP1
000012d3: PUSH32 0x9eb7e8ec6516c29bbbd60a1c51902c46787a4ce63ef22701759b0b4e9dd34fe0
000012f4: SWAP1
000012f5: PUSH2 0x0f5a
000012f8: SWAP1
000012f9: DUP4
000012fa: SWAP1
000012fb: DUP8
000012fc: SWAP1
000012fd: DUP7
000012fe: SWAP1
000012ff: PUSH2 0x548b
00001302: JUMP
00001303: JUMPDEST
00001304: PUSH2 0x130b
00001307: PUSH2 0x342f
0000130a: JUMP
0000130b: JUMPDEST
0000130c: PUSH2 0x1313
0000130f: PUSH2 0x3485
00001312: JUMP
00001313: JUMPDEST
00001314: JUMP
00001315: JUMPDEST
00001316: PUSH0
00001317: PUSH2 0x131e
0000131a: PUSH2 0x13de
0000131d: JUMP
0000131e: JUMPDEST
0000131f: ISZERO
00001320: PUSH2 0x132a
00001323: JUMPI
00001324: POP
00001325: PUSH0
00001326: SWAP2
00001327: SWAP1
00001328: POP
00001329: JUMP
0000132a: JUMPDEST
0000132b: PUSH2 0x0ce4
0000132e: PUSH0
0000132f: DUP4
00001330: PUSH2 0x1cb8
00001333: JUMP
00001334: JUMPDEST
00001335: PUSH0
00001336: PUSH1 0x40
00001338: MLOAD
00001339: PUSH4 0x0aaf8c3d
0000133e: PUSH1 0xe3
00001340: SHL
00001341: DUP2
00001342: MSTORE
00001343: PUSH1 0x04
00001345: ADD
00001346: PUSH1 0x40
00001348: MLOAD
00001349: DUP1
0000134a: SWAP2
0000134b: SUB
0000134c: SWAP1
0000134d: REVERT
0000134e: JUMPDEST
0000134f: PUSH0
00001350: PUSH2 0x1357
00001353: PUSH2 0x34db
00001356: JUMP
00001357: JUMPDEST
00001358: DUP2
00001359: PUSH2 0x1360
0000135c: PUSH2 0x2b5b
0000135f: JUMP
00001360: JUMPDEST
00001361: CALLER
00001362: PUSH0
00001363: DUP2
00001364: DUP2
00001365: MSTORE
00001366: PUSH1 0x07
00001368: SWAP3
00001369: SWAP1
0000136a: SWAP3
0000136b: ADD
0000136c: PUSH1 0x20
0000136e: SWAP1
0000136f: DUP2
00001370: MSTORE
00001371: PUSH1 0x40
00001373: DUP1
00001374: DUP5
00001375: KECCAK256
00001376: PUSH1 0x01
00001378: PUSH1 0x01
0000137a: PUSH1 0xa0
0000137c: SHL
0000137d: SUB
0000137e: DUP10
0000137f: AND
00001380: DUP1
00001381: DUP7
00001382: MSTORE
00001383: SWAP3
00001384: MSTORE
00001385: SWAP3
00001386: DUP4
00001387: SWAP1
00001388: KECCAK256
00001389: DUP1
0000138a: SLOAD
0000138b: SWAP5
0000138c: ISZERO
0000138d: ISZERO
0000138e: PUSH1 0xff
00001390: NOT
00001391: SWAP1
00001392: SWAP6
00001393: AND
00001394: SWAP5
00001395: SWAP1
00001396: SWAP5
00001397: OR
00001398: SWAP1
00001399: SWAP4
0000139a: SSTORE
0000139b: SWAP1
0000139c: MLOAD
0000139d: PUSH32 0xceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa267
000013be: SWAP1
000013bf: PUSH2 0x13cd
000013c2: SWAP1
000013c3: DUP7
000013c4: ISZERO
000013c5: ISZERO
000013c6: DUP2
000013c7: MSTORE
000013c8: PUSH1 0x20
000013ca: ADD
000013cb: SWAP1
000013cc: JUMP
000013cd: JUMPDEST
000013ce: PUSH1 0x40
000013d0: MLOAD
000013d1: DUP1
000013d2: SWAP2
000013d3: SUB
000013d4: SWAP1
000013d5: LOG3
000013d6: POP
000013d7: PUSH1 0x01
000013d9: SWAP3
000013da: SWAP2
000013db: POP
000013dc: POP
000013dd: JUMP
000013de: JUMPDEST
000013df: PUSH0
000013e0: DUP1
000013e1: PUSH2 0x13e8
000013e4: PUSH2 0x3501
000013e7: JUMP
000013e8: JUMPDEST
000013e9: SLOAD
000013ea: PUSH1 0xff
000013ec: AND
000013ed: SWAP3
000013ee: SWAP2
000013ef: POP
000013f0: POP
000013f1: JUMP
000013f2: JUMPDEST
000013f3: PUSH0
000013f4: DUP1
000013f5: PUSH2 0x13fc
000013f8: PUSH2 0x2c19
000013fb: JUMP
000013fc: JUMPDEST
000013fd: SLOAD
000013fe: PUSH1 0xff
00001400: AND
00001401: SWAP1
00001402: POP
00001403: PUSH0
00001404: DUP2
00001405: PUSH1 0x02
00001407: DUP2
00001408: GT
00001409: ISZERO
0000140a: PUSH2 0x1415
0000140d: JUMPI
0000140e: PUSH2 0x1415
00001411: PUSH2 0x53ff
00001414: JUMP
00001415: JUMPDEST
00001416: EQ
00001417: PUSH2 0x1435
0000141a: JUMPI
0000141b: DUP1
0000141c: PUSH1 0x40
0000141e: MLOAD
0000141f: PUSH4 0x4b0145f3
00001424: PUSH1 0xe0
00001426: SHL
00001427: DUP2
00001428: MSTORE
00001429: PUSH1 0x04
0000142b: ADD
0000142c: PUSH2 0x0dfe
0000142f: SWAP2
00001430: SWAP1
00001431: PUSH2 0x5413
00001434: JUMP
00001435: JUMPDEST
00001436: PUSH2 0x143d
00001439: PUSH2 0x34db
0000143c: JUMP
0000143d: JUMPDEST
0000143e: PUSH2 0x1446
00001441: CALLER
00001442: PUSH2 0x1105
00001445: JUMP
00001446: JUMPDEST
00001447: PUSH2 0x1463
0000144a: JUMPI
0000144b: PUSH1 0x40
0000144d: MLOAD
0000144e: PUSH4 0x0b094f27
00001453: PUSH1 0xe3
00001455: SHL
00001456: DUP2
00001457: MSTORE
00001458: PUSH1 0x04
0000145a: ADD
0000145b: PUSH1 0x40
0000145d: MLOAD
0000145e: DUP1
0000145f: SWAP2
00001460: SUB
00001461: SWAP1
00001462: REVERT
00001463: JUMPDEST
00001464: PUSH0
00001465: PUSH2 0x146e
00001468: PUSH0
00001469: CALLER
0000146a: PUSH2 0x1cb8
0000146d: JUMP
0000146e: JUMPDEST
0000146f: SWAP1
00001470: POP
00001471: DUP1
00001472: ISZERO
00001473: PUSH2 0x1483
00001476: JUMPI
00001477: PUSH2 0x1481
0000147a: DUP2
0000147b: CALLER
0000147c: CALLER
0000147d: PUSH2 0x32e4
00001480: JUMP
00001481: JUMPDEST
00001482: POP
00001483: JUMPDEST
00001484: PUSH0
00001485: PUSH2 0x148f
00001488: DUP6
00001489: CALLER
0000148a: CALLER
0000148b: PUSH2 0x3525
0000148e: JUMP
0000148f: JUMPDEST
00001490: SWAP4
00001491: POP
00001492: POP
00001493: POP
00001494: JUMPDEST
00001495: POP
00001496: SWAP2
00001497: SWAP1
00001498: POP
00001499: JUMP
0000149a: JUMPDEST
0000149b: PUSH2 0x14a2
0000149e: PUSH2 0x342f
000014a1: JUMP
000014a2: JUMPDEST
000014a3: PUSH32 0x27e018912099274c84ffbb1a48209e91c5b25727666d86b88a9d27c5abf4aa67
000014c4: PUSH2 0x14cb
000014c7: PUSH2 0x2bf5
000014ca: JUMP
000014cb: JUMPDEST
000014cc: PUSH1 0x04
000014ce: ADD
000014cf: SLOAD
000014d0: PUSH1 0x40
000014d2: MLOAD
000014d3: PUSH2 0x14e7
000014d6: SWAP2
000014d7: PUSH1 0x01
000014d9: PUSH1 0x01
000014db: PUSH1 0xa0
000014dd: SHL
000014de: SUB
000014df: AND
000014e0: SWAP1
000014e1: DUP5
000014e2: SWAP1
000014e3: PUSH2 0x54b4
000014e6: JUMP
000014e7: JUMPDEST
000014e8: PUSH1 0x40
000014ea: MLOAD
000014eb: DUP1
000014ec: SWAP2
000014ed: SUB
000014ee: SWAP1
000014ef: LOG1
000014f0: DUP1
000014f1: PUSH2 0x14f8
000014f4: PUSH2 0x2bf5
000014f7: JUMP
000014f8: JUMPDEST
000014f9: PUSH1 0x04
000014fb: ADD
000014fc: DUP1
000014fd: SLOAD
000014fe: PUSH1 0x01
00001500: PUSH1 0x01
00001502: PUSH1 0xa0
00001504: SHL
00001505: SUB
00001506: NOT
00001507: AND
00001508: PUSH1 0x01
0000150a: PUSH1 0x01
0000150c: PUSH1 0xa0
0000150e: SHL
0000150f: SUB
00001510: SWAP3
00001511: SWAP1
00001512: SWAP3
00001513: AND
00001514: SWAP2
00001515: SWAP1
00001516: SWAP2
00001517: OR
00001518: SWAP1
00001519: SSTORE
0000151a: POP
0000151b: JUMP
0000151c: JUMPDEST
0000151d: PUSH0
0000151e: PUSH2 0x1525
00001521: PUSH2 0x36d4
00001524: JUMP
00001525: JUMPDEST
00001526: DUP1
00001527: SLOAD
00001528: SWAP1
00001529: SWAP2
0000152a: POP
0000152b: PUSH1 0xff
0000152d: PUSH1 0x01
0000152f: PUSH1 0x40
00001531: SHL
00001532: DUP3
00001533: DIV
00001534: AND
00001535: ISZERO
00001536: SWAP1
00001537: PUSH1 0x01
00001539: PUSH1 0x01
0000153b: PUSH1 0x40
0000153d: SHL
0000153e: SUB
0000153f: AND
00001540: PUSH0
00001541: DUP2
00001542: ISZERO
00001543: DUP1
00001544: ISZERO
00001545: PUSH2 0x154b
00001548: JUMPI
00001549: POP
0000154a: DUP3
0000154b: JUMPDEST
0000154c: SWAP1
0000154d: POP
0000154e: PUSH0
0000154f: DUP3
00001550: PUSH1 0x01
00001552: PUSH1 0x01
00001554: PUSH1 0x40
00001556: SHL
00001557: SUB
00001558: AND
00001559: PUSH1 0x01
0000155b: EQ
0000155c: DUP1
0000155d: ISZERO
0000155e: PUSH2 0x1566
00001561: JUMPI
00001562: POP
00001563: ADDRESS
00001564: EXTCODESIZE
00001565: ISZERO
00001566: JUMPDEST
00001567: SWAP1
00001568: POP
00001569: DUP2
0000156a: ISZERO
0000156b: DUP1
0000156c: ISZERO
0000156d: PUSH2 0x1574
00001570: JUMPI
00001571: POP
00001572: DUP1
00001573: ISZERO
00001574: JUMPDEST
00001575: ISZERO
00001576: PUSH2 0x1592
00001579: JUMPI
0000157a: PUSH1 0x40
0000157c: MLOAD
0000157d: PUSH4 0xf92ee8a9
00001582: PUSH1 0xe0
00001584: SHL
00001585: DUP2
00001586: MSTORE
00001587: PUSH1 0x04
00001589: ADD
0000158a: PUSH1 0x40
0000158c: MLOAD
0000158d: DUP1
0000158e: SWAP2
0000158f: SUB
00001590: SWAP1
00001591: REVERT
00001592: JUMPDEST
00001593: DUP5
00001594: SLOAD
00001595: PUSH1 0x01
00001597: PUSH1 0x01
00001599: PUSH1 0x40
0000159b: SHL
0000159c: SUB
0000159d: NOT
0000159e: AND
0000159f: PUSH1 0x01
000015a1: OR
000015a2: DUP6
000015a3: SSTORE
000015a4: DUP4
000015a5: ISZERO
000015a6: PUSH2 0x15bb
000015a9: JUMPI
000015aa: DUP5
000015ab: SLOAD
000015ac: PUSH1 0xff
000015ae: PUSH1 0x40
000015b0: SHL
000015b1: NOT
000015b2: AND
000015b3: PUSH1 0x01
000015b5: PUSH1 0x40
000015b7: SHL
000015b8: OR
000015b9: DUP6
000015ba: SSTORE
000015bb: JUMPDEST
000015bc: PUSH0
000015bd: DUP9
000015be: DUP1
000015bf: PUSH1 0x20
000015c1: ADD
000015c2: SWAP1
000015c3: MLOAD
000015c4: DUP2
000015c5: ADD
000015c6: SWAP1
000015c7: PUSH2 0x15d0
000015ca: SWAP2
000015cb: SWAP1
000015cc: PUSH2 0x5531
000015cf: JUMP
000015d0: JUMPDEST
000015d1: SWAP1
000015d2: POP
000015d3: PUSH2 0x15df
000015d6: DUP2
000015d7: PUSH1 0xc0
000015d9: ADD
000015da: MLOAD
000015db: PUSH2 0x36f8
000015de: JUMP
000015df: JUMPDEST
000015e0: PUSH2 0x164b
000015e3: PUSH1 0x40
000015e5: MLOAD
000015e6: DUP1
000015e7: PUSH1 0xa0
000015e9: ADD
000015ea: PUSH1 0x40
000015ec: MSTORE
000015ed: DUP1
000015ee: DUP4
000015ef: PUSH1 0x80
000015f1: ADD
000015f2: MLOAD
000015f3: PUSH1 0x01
000015f5: PUSH1 0x01
000015f7: PUSH1 0xa0
000015f9: SHL
000015fa: SUB
000015fb: AND
000015fc: DUP2
000015fd: MSTORE
000015fe: PUSH1 0x20
00001600: ADD
00001601: DUP4
00001602: PUSH1 0xe0
00001604: ADD
00001605: MLOAD
00001606: PUSH1 0x01
00001608: PUSH1 0x01
0000160a: PUSH1 0xa0
0000160c: SHL
0000160d: SUB
0000160e: AND
0000160f: DUP2
00001610: MSTORE
00001611: PUSH1 0x20
00001613: ADD
00001614: DUP4
00001615: PUSH1 0x60
00001617: ADD
00001618: MLOAD
00001619: PUSH1 0x01
0000161b: PUSH1 0x01
0000161d: PUSH1 0xa0
0000161f: SHL
00001620: SUB
00001621: AND
00001622: DUP2
00001623: MSTORE
00001624: PUSH1 0x20
00001626: ADD
00001627: DUP11
00001628: PUSH1 0x01
0000162a: PUSH1 0x01
0000162c: PUSH1 0xa0
0000162e: SHL
0000162f: SUB
00001630: AND
00001631: DUP2
00001632: MSTORE
00001633: PUSH1 0x20
00001635: ADD
00001636: DUP4
00001637: PUSH1 0xa0
00001639: ADD
0000163a: MLOAD
0000163b: PUSH1 0x01
0000163d: PUSH1 0x01
0000163f: PUSH1 0xa0
00001641: SHL
00001642: SUB
00001643: AND
00001644: DUP2
00001645: MSTORE
00001646: POP
00001647: PUSH2 0x3709
0000164a: JUMP
0000164b: JUMPDEST
0000164c: PUSH2 0x165d
0000164f: DUP2
00001650: PUSH1 0x20
00001652: ADD
00001653: MLOAD
00001654: DUP3
00001655: PUSH1 0x40
00001657: ADD
00001658: MLOAD
00001659: PUSH2 0x3793
0000165c: JUMP
0000165d: JUMPDEST
0000165e: PUSH2 0x1665
00001661: PUSH2 0x37a5
00001664: JUMP
00001665: JUMPDEST
00001666: DUP1
00001667: MLOAD
00001668: PUSH2 0x1670
0000166b: SWAP1
0000166c: PUSH2 0x37b5
0000166f: JUMP
00001670: JUMPDEST
00001671: DUP1
00001672: MLOAD
00001673: PUSH2 0x167c
00001676: SWAP1
00001677: DUP9
00001678: PUSH2 0x37c6
0000167b: JUMP
0000167c: JUMPDEST
0000167d: PUSH2 0x168a
00001680: DUP2
00001681: PUSH2 0x0140
00001684: ADD
00001685: MLOAD
00001686: PUSH2 0x3939
00001689: JUMP
0000168a: JUMPDEST
0000168b: PUSH2 0x170b
0000168e: DUP9
0000168f: DUP3
00001690: PUSH2 0x0100
00001693: ADD
00001694: MLOAD
00001695: DUP4
00001696: PUSH2 0x0120
00001699: ADD
0000169a: MLOAD
0000169b: DUP5
0000169c: PUSH0
0000169d: ADD
0000169e: MLOAD
0000169f: PUSH1 0x01
000016a1: PUSH1 0x01
000016a3: PUSH1 0xa0
000016a5: SHL
000016a6: SUB
000016a7: AND
000016a8: PUSH4 0x313ce567
000016ad: PUSH1 0x40
000016af: MLOAD
000016b0: DUP2
000016b1: PUSH4 0xffffffff
000016b6: AND
000016b7: PUSH1 0xe0
000016b9: SHL
000016ba: DUP2
000016bb: MSTORE
000016bc: PUSH1 0x04
000016be: ADD
000016bf: PUSH1 0x20
000016c1: PUSH1 0x40
000016c3: MLOAD
000016c4: DUP1
000016c5: DUP4
000016c6: SUB
000016c7: DUP2
000016c8: DUP7
000016c9: GAS
000016ca: STATICCALL
000016cb: ISZERO
000016cc: DUP1
000016cd: ISZERO
000016ce: PUSH2 0x16d9
000016d1: JUMPI
000016d2: RETURNDATASIZE
000016d3: PUSH0
000016d4: DUP1
000016d5: RETURNDATACOPY
000016d6: RETURNDATASIZE
000016d7: PUSH0
000016d8: REVERT
000016d9: JUMPDEST
000016da: POP
000016db: POP
000016dc: POP
000016dd: POP
000016de: PUSH1 0x40
000016e0: MLOAD
000016e1: RETURNDATASIZE
000016e2: PUSH1 0x1f
000016e4: NOT
000016e5: PUSH1 0x1f
000016e7: DUP3
000016e8: ADD
000016e9: AND
000016ea: DUP3
000016eb: ADD
000016ec: DUP1
000016ed: PUSH1 0x40
000016ef: MSTORE
000016f0: POP
000016f1: DUP2
000016f2: ADD
000016f3: SWAP1
000016f4: PUSH2 0x16fd
000016f7: SWAP2
000016f8: SWAP1
000016f9: PUSH2 0x5672
000016fc: JUMP
000016fd: JUMPDEST
000016fe: PUSH1 0xff
00001700: AND
00001701: DUP6
00001702: PUSH2 0x0160
00001705: ADD
00001706: MLOAD
00001707: PUSH2 0x3964
0000170a: JUMP
0000170b: JUMPDEST
0000170c: PUSH0
0000170d: DUP1
0000170e: MLOAD
0000170f: PUSH1 0x20
00001711: PUSH2 0x5f5f
00001714: DUP4
00001715: CODECOPY
00001716: DUP2
00001717: MLOAD
00001718: SWAP2
00001719: MSTORE
0000171a: PUSH0
0000171b: PUSH1 0x40
0000171d: MLOAD
0000171e: PUSH2 0x1727
00001721: SWAP2
00001722: SWAP1
00001723: PUSH2 0x5413
00001726: JUMP
00001727: JUMPDEST
00001728: PUSH1 0x40
0000172a: MLOAD
0000172b: DUP1
0000172c: SWAP2
0000172d: SUB
0000172e: SWAP1
0000172f: LOG1
00001730: POP
00001731: DUP4
00001732: ISZERO
00001733: PUSH2 0x1776
00001736: JUMPI
00001737: DUP5
00001738: SLOAD
00001739: PUSH1 0xff
0000173b: PUSH1 0x40
0000173d: SHL
0000173e: NOT
0000173f: AND
00001740: DUP6
00001741: SSTORE
00001742: PUSH1 0x40
00001744: MLOAD
00001745: PUSH1 0x01
00001747: DUP2
00001748: MSTORE
00001749: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
0000176a: SWAP1
0000176b: PUSH1 0x20
0000176d: ADD
0000176e: PUSH1 0x40
00001770: MLOAD
00001771: DUP1
00001772: SWAP2
00001773: SUB
00001774: SWAP1
00001775: LOG1
00001776: JUMPDEST
00001777: POP
00001778: POP
00001779: POP
0000177a: POP
0000177b: POP
0000177c: POP
0000177d: POP
0000177e: POP
0000177f: JUMP
00001780: JUMPDEST
00001781: PUSH0
00001782: PUSH2 0x0fa5
00001785: DUP4
00001786: DUP4
00001787: CALLER
00001788: PUSH2 0x32e4
0000178b: JUMP
0000178c: JUMPDEST
0000178d: PUSH0
0000178e: DUP1
0000178f: PUSH2 0x1796
00001792: PUSH2 0x2b7f
00001795: JUMP
00001796: JUMPDEST
00001797: PUSH1 0x01
00001799: PUSH1 0x01
0000179b: PUSH1 0xa0
0000179d: SHL
0000179e: SUB
0000179f: SWAP1
000017a0: SWAP4
000017a1: AND
000017a2: PUSH0
000017a3: SWAP1
000017a4: DUP2
000017a5: MSTORE
000017a6: PUSH1 0x20
000017a8: SWAP4
000017a9: SWAP1
000017aa: SWAP4
000017ab: MSTORE
000017ac: POP
000017ad: POP
000017ae: PUSH1 0x40
000017b0: SWAP1
000017b1: KECCAK256
000017b2: SLOAD
000017b3: SWAP1
000017b4: JUMP
000017b5: JUMPDEST
000017b6: PUSH2 0x17bd
000017b9: PUSH2 0x342f
000017bc: JUMP
000017bd: JUMPDEST
000017be: PUSH2 0x1313
000017c1: PUSH0
000017c2: PUSH2 0x3a30
000017c5: JUMP
000017c6: JUMPDEST
000017c7: PUSH1 0x40
000017c9: DUP1
000017ca: MLOAD
000017cb: DUP1
000017cc: DUP3
000017cd: ADD
000017ce: SWAP1
000017cf: SWAP2
000017d0: MSTORE
000017d1: PUSH0
000017d2: DUP1
000017d3: DUP3
000017d4: MSTORE
000017d5: PUSH1 0x20
000017d7: DUP3
000017d8: ADD
000017d9: MSTORE
000017da: PUSH0
000017db: PUSH2 0x17e2
000017de: PUSH2 0x3461
000017e1: JUMP
000017e2: JUMPDEST
000017e3: SWAP1
000017e4: POP
000017e5: TIMESTAMP
000017e6: DUP2
000017e7: PUSH1 0x01
000017e9: ADD
000017ea: SLOAD
000017eb: GT
000017ec: PUSH2 0x1819
000017ef: JUMPI
000017f0: PUSH1 0x40
000017f2: DUP1
000017f3: MLOAD
000017f4: DUP1
000017f5: DUP3
000017f6: ADD
000017f7: SWAP1
000017f8: SWAP2
000017f9: MSTORE
000017fa: PUSH1 0x05
000017fc: SWAP1
000017fd: SWAP2
000017fe: ADD
000017ff: SLOAD
00001800: PUSH2 0xffff
00001803: DUP1
00001804: DUP3
00001805: AND
00001806: DUP4
00001807: MSTORE
00001808: PUSH3 0x010000
0000180c: SWAP1
0000180d: SWAP2
0000180e: DIV
0000180f: AND
00001810: PUSH1 0x20
00001812: DUP3
00001813: ADD
00001814: MSTORE
00001815: SWAP2
00001816: SWAP1
00001817: POP
00001818: JUMP
00001819: JUMPDEST
0000181a: PUSH1 0x40
0000181c: DUP1
0000181d: MLOAD
0000181e: DUP1
0000181f: DUP3
00001820: ADD
00001821: SWAP1
00001822: SWAP2
00001823: MSTORE
00001824: PUSH1 0x06
00001826: SWAP1
00001827: SWAP2
00001828: ADD
00001829: SLOAD
0000182a: PUSH2 0xffff
0000182d: DUP1
0000182e: DUP3
0000182f: AND
00001830: DUP4
00001831: MSTORE
00001832: PUSH3 0x010000
00001836: SWAP1
00001837: SWAP2
00001838: DIV
00001839: AND
0000183a: PUSH1 0x20
0000183c: DUP3
0000183d: ADD
0000183e: MSTORE
0000183f: SWAP2
00001840: SWAP1
00001841: POP
00001842: JUMP
00001843: JUMPDEST
00001844: CALLER
00001845: DUP1
00001846: PUSH2 0x184d
00001849: PUSH2 0x2883
0000184c: JUMP
0000184d: JUMPDEST
0000184e: PUSH1 0x01
00001850: PUSH1 0x01
00001852: PUSH1 0xa0
00001854: SHL
00001855: SUB
00001856: AND
00001857: EQ
00001858: PUSH2 0x1876
0000185b: JUMPI
0000185c: DUP1
0000185d: PUSH1 0x40
0000185f: MLOAD
00001860: PUSH4 0x118cdaa7
00001865: PUSH1 0xe0
00001867: SHL
00001868: DUP2
00001869: MSTORE
0000186a: PUSH1 0x04
0000186c: ADD
0000186d: PUSH2 0x0dfe
00001870: SWAP2
00001871: SWAP1
00001872: PUSH2 0x4faf
00001875: JUMP
00001876: JUMPDEST
00001877: PUSH2 0x187f
0000187a: DUP2
0000187b: PUSH2 0x3a30
0000187e: JUMP
0000187f: JUMPDEST
00001880: POP
00001881: JUMP
00001882: JUMPDEST
00001883: PUSH0
00001884: DUP1
00001885: PUSH2 0x188c
00001888: PUSH2 0x2c19
0000188b: JUMP
0000188c: JUMPDEST
0000188d: SLOAD
0000188e: PUSH1 0xff
00001890: AND
00001891: SWAP1
00001892: POP
00001893: PUSH0
00001894: DUP2
00001895: PUSH1 0x02
00001897: DUP2
00001898: GT
00001899: ISZERO
0000189a: PUSH2 0x18a5
0000189d: JUMPI
0000189e: PUSH2 0x18a5
000018a1: PUSH2 0x53ff
000018a4: JUMP
000018a5: JUMPDEST
000018a6: EQ
000018a7: PUSH2 0x18c5
000018aa: JUMPI
000018ab: DUP1
000018ac: PUSH1 0x40
000018ae: MLOAD
000018af: PUSH4 0x4b0145f3
000018b4: PUSH1 0xe0
000018b6: SHL
000018b7: DUP2
000018b8: MSTORE
000018b9: PUSH1 0x04
000018bb: ADD
000018bc: PUSH2 0x0dfe
000018bf: SWAP2
000018c0: SWAP1
000018c1: PUSH2 0x5413
000018c4: JUMP
000018c5: JUMPDEST
000018c6: PUSH2 0x18cd
000018c9: PUSH2 0x34db
000018cc: JUMP
000018cd: JUMPDEST
000018ce: PUSH2 0x18d6
000018d1: DUP4
000018d2: PUSH2 0x1105
000018d5: JUMP
000018d6: JUMPDEST
000018d7: PUSH2 0x18f3
000018da: JUMPI
000018db: PUSH1 0x40
000018dd: MLOAD
000018de: PUSH4 0x0b094f27
000018e3: PUSH1 0xe3
000018e5: SHL
000018e6: DUP2
000018e7: MSTORE
000018e8: PUSH1 0x04
000018ea: ADD
000018eb: PUSH1 0x40
000018ed: MLOAD
000018ee: DUP1
000018ef: SWAP2
000018f0: SUB
000018f1: SWAP1
000018f2: REVERT
000018f3: JUMPDEST
000018f4: PUSH2 0x10c4
000018f7: DUP6
000018f8: DUP6
000018f9: DUP6
000018fa: PUSH2 0x3525
000018fd: JUMP
000018fe: JUMPDEST
000018ff: PUSH0
00001900: PUSH2 0x1907
00001903: PUSH2 0x2bf5
00001906: JUMP
00001907: JUMPDEST
00001908: SLOAD
00001909: PUSH1 0x01
0000190b: PUSH1 0x01
0000190d: PUSH1 0xa0
0000190f: SHL
00001910: SUB
00001911: AND
00001912: SWAP1
00001913: POP
00001914: CALLER
00001915: DUP2
00001916: EQ
00001917: PUSH2 0x1935
0000191a: JUMPI
0000191b: DUP1
0000191c: PUSH1 0x40
0000191e: MLOAD
0000191f: PUSH4 0x2c1d27eb
00001924: PUSH1 0xe1
00001926: SHL
00001927: DUP2
00001928: MSTORE
00001929: PUSH1 0x04
0000192b: ADD
0000192c: PUSH2 0x0dfe
0000192f: SWAP2
00001930: SWAP1
00001931: PUSH2 0x4faf
00001934: JUMP
00001935: JUMPDEST
00001936: PUSH0
00001937: PUSH2 0x193e
0000193a: PUSH2 0x340b
0000193d: JUMP
0000193e: JUMPDEST
0000193f: SWAP1
00001940: POP
00001941: PUSH0
00001942: JUMPDEST
00001943: DUP4
00001944: MLOAD
00001945: DUP2
00001946: LT
00001947: ISZERO
00001948: PUSH2 0x19f4
0000194b: JUMPI
0000194c: PUSH1 0x01
0000194e: DUP3
0000194f: PUSH0
00001950: ADD
00001951: PUSH0
00001952: DUP7
00001953: DUP5
00001954: DUP2
00001955: MLOAD
00001956: DUP2
00001957: LT
00001958: PUSH2 0x1963
0000195b: JUMPI
0000195c: PUSH2 0x1963
0000195f: PUSH2 0x5692
00001962: JUMP
00001963: JUMPDEST
00001964: PUSH1 0x20
00001966: MUL
00001967: PUSH1 0x20
00001969: ADD
0000196a: ADD
0000196b: MLOAD
0000196c: PUSH1 0x01
0000196e: PUSH1 0x01
00001970: PUSH1 0xa0
00001972: SHL
00001973: SUB
00001974: AND
00001975: PUSH1 0x01
00001977: PUSH1 0x01
00001979: PUSH1 0xa0
0000197b: SHL
0000197c: SUB
0000197d: AND
0000197e: DUP2
0000197f: MSTORE
00001980: PUSH1 0x20
00001982: ADD
00001983: SWAP1
00001984: DUP2
00001985: MSTORE
00001986: PUSH1 0x20
00001988: ADD
00001989: PUSH0
0000198a: KECCAK256
0000198b: PUSH0
0000198c: PUSH2 0x0100
0000198f: EXP
00001990: DUP2
00001991: SLOAD
00001992: DUP2
00001993: PUSH1 0xff
00001995: MUL
00001996: NOT
00001997: AND
00001998: SWAP1
00001999: DUP4
0000199a: ISZERO
0000199b: ISZERO
0000199c: MUL
0000199d: OR
0000199e: SWAP1
0000199f: SSTORE
000019a0: POP
000019a1: DUP4
000019a2: DUP2
000019a3: DUP2
000019a4: MLOAD
000019a5: DUP2
000019a6: LT
000019a7: PUSH2 0x19b2
000019aa: JUMPI
000019ab: PUSH2 0x19b2
000019ae: PUSH2 0x5692
000019b1: JUMP
000019b2: JUMPDEST
000019b3: PUSH1 0x20
000019b5: MUL
000019b6: PUSH1 0x20
000019b8: ADD
000019b9: ADD
000019ba: MLOAD
000019bb: PUSH1 0x01
000019bd: PUSH1 0x01
000019bf: PUSH1 0xa0
000019c1: SHL
000019c2: SUB
000019c3: AND
000019c4: PUSH0
000019c5: DUP1
000019c6: MLOAD
000019c7: PUSH1 0x20
000019c9: PUSH2 0x5f9f
000019cc: DUP4
000019cd: CODECOPY
000019ce: DUP2
000019cf: MLOAD
000019d0: SWAP2
000019d1: MSTORE
000019d2: PUSH1 0x01
000019d4: PUSH1 0x40
000019d6: MLOAD
000019d7: PUSH2 0x19e4
000019da: SWAP2
000019db: ISZERO
000019dc: ISZERO
000019dd: DUP2
000019de: MSTORE
000019df: PUSH1 0x20
000019e1: ADD
000019e2: SWAP1
000019e3: JUMP
000019e4: JUMPDEST
000019e5: PUSH1 0x40
000019e7: MLOAD
000019e8: DUP1
000019e9: SWAP2
000019ea: SUB
000019eb: SWAP1
000019ec: LOG2
000019ed: PUSH1 0x01
000019ef: ADD
000019f0: PUSH2 0x1942
000019f3: JUMP
000019f4: JUMPDEST
000019f5: POP
000019f6: POP
000019f7: POP
000019f8: POP
000019f9: JUMP
000019fa: JUMPDEST
000019fb: PUSH2 0x1a02
000019fe: PUSH2 0x342f
00001a01: JUMP
00001a02: JUMPDEST
00001a03: PUSH2 0x1313
00001a06: PUSH2 0x3a52
00001a09: JUMP
00001a0a: JUMPDEST
00001a0b: PUSH0
00001a0c: DUP2
00001a0d: PUSH1 0x01
00001a0f: PUSH1 0x01
00001a11: PUSH1 0xa0
00001a13: SHL
00001a14: SUB
00001a15: DUP2
00001a16: AND
00001a17: CALLER
00001a18: EQ
00001a19: DUP1
00001a1a: ISZERO
00001a1b: SWAP1
00001a1c: PUSH2 0x1a2c
00001a1f: JUMPI
00001a20: POP
00001a21: PUSH2 0x1a2a
00001a24: DUP2
00001a25: CALLER
00001a26: PUSH2 0x217a
00001a29: JUMP
00001a2a: JUMPDEST
00001a2b: ISZERO
00001a2c: JUMPDEST
00001a2d: ISZERO
00001a2e: PUSH2 0x1a4a
00001a31: JUMPI
00001a32: PUSH1 0x40
00001a34: MLOAD
00001a35: PUSH4 0x31d00f81
00001a3a: PUSH1 0xe1
00001a3c: SHL
00001a3d: DUP2
00001a3e: MSTORE
00001a3f: PUSH1 0x04
00001a41: ADD
00001a42: PUSH1 0x40
00001a44: MLOAD
00001a45: DUP1
00001a46: SWAP2
00001a47: SUB
00001a48: SWAP1
00001a49: REVERT
00001a4a: JUMPDEST
00001a4b: PUSH2 0x1a52
00001a4e: PUSH2 0x34db
00001a51: JUMP
00001a52: JUMPDEST
00001a53: PUSH2 0x1a5a
00001a56: PUSH2 0x0f68
00001a59: JUMP
00001a5a: JUMPDEST
00001a5b: ISZERO
00001a5c: PUSH2 0x1a78
00001a5f: JUMPI
00001a60: PUSH1 0x40
00001a62: MLOAD
00001a63: PUSH4 0xb097d841
00001a68: PUSH1 0xe0
00001a6a: SHL
00001a6b: DUP2
00001a6c: MSTORE
00001a6d: PUSH1 0x04
00001a6f: ADD
00001a70: PUSH1 0x40
00001a72: MLOAD
00001a73: DUP1
00001a74: SWAP2
00001a75: SUB
00001a76: SWAP1
00001a77: REVERT
00001a78: JUMPDEST
00001a79: PUSH2 0x1a81
00001a7c: DUP4
00001a7d: PUSH2 0x1105
00001a80: JUMP
00001a81: JUMPDEST
00001a82: PUSH2 0x1a9e
00001a85: JUMPI
00001a86: PUSH1 0x40
00001a88: MLOAD
00001a89: PUSH4 0x0b094f27
00001a8e: PUSH1 0xe3
00001a90: SHL
00001a91: DUP2
00001a92: MSTORE
00001a93: PUSH1 0x04
00001a95: ADD
00001a96: PUSH1 0x40
00001a98: MLOAD
00001a99: DUP1
00001a9a: SWAP2
00001a9b: SUB
00001a9c: SWAP1
00001a9d: REVERT
00001a9e: JUMPDEST
00001a9f: PUSH2 0x10c4
00001aa2: DUP6
00001aa3: DUP6
00001aa4: DUP6
00001aa5: PUSH2 0x3a98
00001aa8: JUMP
00001aa9: JUMPDEST
00001aaa: PUSH0
00001aab: PUSH2 0x1ab2
00001aae: PUSH2 0x2bf5
00001ab1: JUMP
00001ab2: JUMPDEST
00001ab3: SLOAD
00001ab4: PUSH1 0x01
00001ab6: PUSH1 0x01
00001ab8: PUSH1 0xa0
00001aba: SHL
00001abb: SUB
00001abc: AND
00001abd: SWAP1
00001abe: POP
00001abf: CALLER
00001ac0: DUP2
00001ac1: EQ
00001ac2: PUSH2 0x1ae0
00001ac5: JUMPI
00001ac6: DUP1
00001ac7: PUSH1 0x40
00001ac9: MLOAD
00001aca: PUSH4 0x2c1d27eb
00001acf: PUSH1 0xe1
00001ad1: SHL
00001ad2: DUP2
00001ad3: MSTORE
00001ad4: PUSH1 0x04
00001ad6: ADD
00001ad7: PUSH2 0x0dfe
00001ada: SWAP2
00001adb: SWAP1
00001adc: PUSH2 0x4faf
00001adf: JUMP
00001ae0: JUMPDEST
00001ae1: PUSH0
00001ae2: PUSH2 0x1ae9
00001ae5: PUSH2 0x340b
00001ae8: JUMP
00001ae9: JUMPDEST
00001aea: SWAP1
00001aeb: POP
00001aec: PUSH0
00001aed: JUMPDEST
00001aee: DUP4
00001aef: MLOAD
00001af0: DUP2
00001af1: LT
00001af2: ISZERO
00001af3: PUSH2 0x19f4
00001af6: JUMPI
00001af7: PUSH0
00001af8: DUP3
00001af9: PUSH0
00001afa: ADD
00001afb: PUSH0
00001afc: DUP7
00001afd: DUP5
00001afe: DUP2
00001aff: MLOAD
00001b00: DUP2
00001b01: LT
00001b02: PUSH2 0x1b0d
00001b05: JUMPI
00001b06: PUSH2 0x1b0d
00001b09: PUSH2 0x5692
00001b0c: JUMP
00001b0d: JUMPDEST
00001b0e: PUSH1 0x20
00001b10: MUL
00001b11: PUSH1 0x20
00001b13: ADD
00001b14: ADD
00001b15: MLOAD
00001b16: PUSH1 0x01
00001b18: PUSH1 0x01
00001b1a: PUSH1 0xa0
00001b1c: SHL
00001b1d: SUB
00001b1e: AND
00001b1f: PUSH1 0x01
00001b21: PUSH1 0x01
00001b23: PUSH1 0xa0
00001b25: SHL
00001b26: SUB
00001b27: AND
00001b28: DUP2
00001b29: MSTORE
00001b2a: PUSH1 0x20
00001b2c: ADD
00001b2d: SWAP1
00001b2e: DUP2
00001b2f: MSTORE
00001b30: PUSH1 0x20
00001b32: ADD
00001b33: PUSH0
00001b34: KECCAK256
00001b35: PUSH0
00001b36: PUSH2 0x0100
00001b39: EXP
00001b3a: DUP2
00001b3b: SLOAD
00001b3c: DUP2
00001b3d: PUSH1 0xff
00001b3f: MUL
00001b40: NOT
00001b41: AND
00001b42: SWAP1
00001b43: DUP4
00001b44: ISZERO
00001b45: ISZERO
00001b46: MUL
00001b47: OR
00001b48: SWAP1
00001b49: SSTORE
00001b4a: POP
00001b4b: DUP4
00001b4c: DUP2
00001b4d: DUP2
00001b4e: MLOAD
00001b4f: DUP2
00001b50: LT
00001b51: PUSH2 0x1b5c
00001b54: JUMPI
00001b55: PUSH2 0x1b5c
00001b58: PUSH2 0x5692
00001b5b: JUMP
00001b5c: JUMPDEST
00001b5d: PUSH1 0x20
00001b5f: MUL
00001b60: PUSH1 0x20
00001b62: ADD
00001b63: ADD
00001b64: MLOAD
00001b65: PUSH1 0x01
00001b67: PUSH1 0x01
00001b69: PUSH1 0xa0
00001b6b: SHL
00001b6c: SUB
00001b6d: AND
00001b6e: PUSH0
00001b6f: DUP1
00001b70: MLOAD
00001b71: PUSH1 0x20
00001b73: PUSH2 0x5f9f
00001b76: DUP4
00001b77: CODECOPY
00001b78: DUP2
00001b79: MLOAD
00001b7a: SWAP2
00001b7b: MSTORE
00001b7c: PUSH0
00001b7d: PUSH1 0x40
00001b7f: MLOAD
00001b80: PUSH2 0x1b8d
00001b83: SWAP2
00001b84: ISZERO
00001b85: ISZERO
00001b86: DUP2
00001b87: MSTORE
00001b88: PUSH1 0x20
00001b8a: ADD
00001b8b: SWAP1
00001b8c: JUMP
00001b8d: JUMPDEST
00001b8e: PUSH1 0x40
00001b90: MLOAD
00001b91: DUP1
00001b92: SWAP2
00001b93: SUB
00001b94: SWAP1
00001b95: LOG2
00001b96: PUSH1 0x01
00001b98: ADD
00001b99: PUSH2 0x1aed
00001b9c: JUMP
00001b9d: JUMPDEST
00001b9e: PUSH0
00001b9f: DUP1
00001ba0: PUSH2 0x10f5
00001ba3: PUSH2 0x3c95
00001ba6: JUMP
00001ba7: JUMPDEST
00001ba8: PUSH0
00001ba9: PUSH2 0x1bb0
00001bac: PUSH2 0x2bf5
00001baf: JUMP
00001bb0: JUMPDEST
00001bb1: PUSH1 0x02
00001bb3: ADD
00001bb4: SLOAD
00001bb5: PUSH1 0x01
00001bb7: PUSH1 0x01
00001bb9: PUSH1 0xa0
00001bbb: SHL
00001bbc: SUB
00001bbd: AND
00001bbe: SWAP1
00001bbf: POP
00001bc0: CALLER
00001bc1: DUP2
00001bc2: EQ
00001bc3: PUSH2 0x1be1
00001bc6: JUMPI
00001bc7: DUP1
00001bc8: PUSH1 0x40
00001bca: MLOAD
00001bcb: PUSH4 0xfde82f1f
00001bd0: PUSH1 0xe0
00001bd2: SHL
00001bd3: DUP2
00001bd4: MSTORE
00001bd5: PUSH1 0x04
00001bd7: ADD
00001bd8: PUSH2 0x0dfe
00001bdb: SWAP2
00001bdc: SWAP1
00001bdd: PUSH2 0x4faf
00001be0: JUMP
00001be1: JUMPDEST
00001be2: PUSH0
00001be3: PUSH2 0x1bea
00001be6: PUSH2 0x2b5b
00001be9: JUMP
00001bea: JUMPDEST
00001beb: PUSH1 0x0a
00001bed: ADD
00001bee: DUP1
00001bef: SLOAD
00001bf0: PUSH1 0x01
00001bf2: PUSH1 0x01
00001bf4: PUSH1 0x80
00001bf6: SHL
00001bf7: SUB
00001bf8: NOT
00001bf9: AND
00001bfa: PUSH1 0x01
00001bfc: PUSH1 0x01
00001bfe: PUSH1 0x80
00001c00: SHL
00001c01: SUB
00001c02: SWAP3
00001c03: SWAP1
00001c04: SWAP3
00001c05: AND
00001c06: SWAP2
00001c07: SWAP1
00001c08: SWAP2
00001c09: OR
00001c0a: SWAP1
00001c0b: SSTORE
00001c0c: POP
00001c0d: JUMP
00001c0e: JUMPDEST
00001c0f: PUSH1 0x40
00001c11: DUP1
00001c12: MLOAD
00001c13: PUSH1 0xa0
00001c15: DUP2
00001c16: ADD
00001c17: DUP3
00001c18: MSTORE
00001c19: PUSH0
00001c1a: DUP1
00001c1b: DUP3
00001c1c: MSTORE
00001c1d: PUSH1 0x20
00001c1f: DUP3
00001c20: ADD
00001c21: DUP2
00001c22: SWAP1
00001c23: MSTORE
00001c24: SWAP2
00001c25: DUP2
00001c26: ADD
00001c27: DUP3
00001c28: SWAP1
00001c29: MSTORE
00001c2a: PUSH1 0x60
00001c2c: DUP2
00001c2d: ADD
00001c2e: DUP3
00001c2f: SWAP1
00001c30: MSTORE
00001c31: PUSH1 0x80
00001c33: DUP2
00001c34: ADD
00001c35: SWAP2
00001c36: SWAP1
00001c37: SWAP2
00001c38: MSTORE
00001c39: PUSH2 0x1c40
00001c3c: PUSH2 0x2bf5
00001c3f: JUMP
00001c40: JUMPDEST
00001c41: PUSH1 0x40
00001c43: DUP1
00001c44: MLOAD
00001c45: PUSH1 0xa0
00001c47: DUP2
00001c48: ADD
00001c49: DUP3
00001c4a: MSTORE
00001c4b: DUP3
00001c4c: SLOAD
00001c4d: PUSH1 0x01
00001c4f: PUSH1 0x01
00001c51: PUSH1 0xa0
00001c53: SHL
00001c54: SUB
00001c55: SWAP1
00001c56: DUP2
00001c57: AND
00001c58: DUP3
00001c59: MSTORE
00001c5a: PUSH1 0x01
00001c5c: DUP5
00001c5d: ADD
00001c5e: SLOAD
00001c5f: DUP2
00001c60: AND
00001c61: PUSH1 0x20
00001c63: DUP4
00001c64: ADD
00001c65: MSTORE
00001c66: PUSH1 0x02
00001c68: DUP5
00001c69: ADD
00001c6a: SLOAD
00001c6b: DUP2
00001c6c: AND
00001c6d: SWAP3
00001c6e: DUP3
00001c6f: ADD
00001c70: SWAP3
00001c71: SWAP1
00001c72: SWAP3
00001c73: MSTORE
00001c74: PUSH1 0x03
00001c76: DUP4
00001c77: ADD
00001c78: SLOAD
00001c79: DUP3
00001c7a: AND
00001c7b: PUSH1 0x60
00001c7d: DUP3
00001c7e: ADD
00001c7f: MSTORE
00001c80: PUSH1 0x04
00001c82: SWAP1
00001c83: SWAP3
00001c84: ADD
00001c85: SLOAD
00001c86: AND
00001c87: PUSH1 0x80
00001c89: DUP3
00001c8a: ADD
00001c8b: MSTORE
00001c8c: SWAP2
00001c8d: SWAP1
00001c8e: POP
00001c8f: JUMP
00001c90: JUMPDEST
00001c91: PUSH0
00001c92: PUSH2 0x0fa5
00001c95: DUP4
00001c96: DUP4
00001c97: CALLER
00001c98: PUSH2 0x3cb9
00001c9b: JUMP
00001c9c: JUMPDEST
00001c9d: PUSH1 0x60
00001c9f: PUSH0
00001ca0: PUSH2 0x1ca7
00001ca3: PUSH2 0x2b7f
00001ca6: JUMP
00001ca7: JUMPDEST
00001ca8: SWAP1
00001ca9: POP
00001caa: DUP1
00001cab: PUSH1 0x04
00001cad: ADD
00001cae: DUP1
00001caf: SLOAD
00001cb0: PUSH2 0x0d06
00001cb3: SWAP1
00001cb4: PUSH2 0x53cd
00001cb7: JUMP
00001cb8: JUMPDEST
00001cb9: PUSH0
00001cba: DUP1
00001cbb: PUSH2 0x1cc2
00001cbe: PUSH2 0x2b5b
00001cc1: JUMP
00001cc2: JUMPDEST
00001cc3: SWAP1
00001cc4: POP
00001cc5: DUP4
00001cc6: PUSH0
00001cc7: SUB
00001cc8: PUSH2 0x1cef
00001ccb: JUMPI
00001ccc: PUSH1 0x01
00001cce: PUSH1 0x01
00001cd0: PUSH1 0xa0
00001cd2: SHL
00001cd3: SUB
00001cd4: DUP4
00001cd5: AND
00001cd6: PUSH0
00001cd7: SWAP1
00001cd8: DUP2
00001cd9: MSTORE
00001cda: PUSH1 0x05
00001cdc: DUP3
00001cdd: ADD
00001cde: PUSH1 0x20
00001ce0: MSTORE
00001ce1: PUSH1 0x40
00001ce3: SWAP1
00001ce4: KECCAK256
00001ce5: SLOAD
00001ce6: PUSH5 0xffffffffff
00001cec: AND
00001ced: SWAP4
00001cee: POP
00001cef: JUMPDEST
00001cf0: PUSH1 0x02
00001cf2: DUP2
00001cf3: ADD
00001cf4: SLOAD
00001cf5: PUSH1 0x01
00001cf7: PUSH1 0x50
00001cf9: SHL
00001cfa: SWAP1
00001cfb: DIV
00001cfc: PUSH5 0xffffffffff
00001d02: AND
00001d03: DUP5
00001d04: GT
00001d05: PUSH2 0x1072
00001d08: JUMPI
00001d09: PUSH5 0xffffffffff
00001d0f: DUP5
00001d10: AND
00001d11: PUSH0
00001d12: SWAP1
00001d13: DUP2
00001d14: MSTORE
00001d15: PUSH1 0x03
00001d17: SWAP1
00001d18: SWAP2
00001d19: ADD
00001d1a: PUSH1 0x20
00001d1c: SWAP1
00001d1d: DUP2
00001d1e: MSTORE
00001d1f: PUSH1 0x40
00001d21: DUP1
00001d22: DUP4
00001d23: KECCAK256
00001d24: PUSH1 0x01
00001d26: PUSH1 0x01
00001d28: PUSH1 0xa0
00001d2a: SHL
00001d2b: SUB
00001d2c: DUP7
00001d2d: AND
00001d2e: DUP5
00001d2f: MSTORE
00001d30: PUSH1 0x01
00001d32: ADD
00001d33: SWAP1
00001d34: SWAP2
00001d35: MSTORE
00001d36: SWAP1
00001d37: KECCAK256
00001d38: SLOAD
00001d39: SWAP1
00001d3a: POP
00001d3b: PUSH2 0x0ce4
00001d3e: JUMP
00001d3f: JUMPDEST
00001d40: PUSH2 0x1d47
00001d43: PUSH2 0x34db
00001d46: JUMP
00001d47: JUMPDEST
00001d48: PUSH0
00001d49: PUSH2 0x1d50
00001d4c: PUSH2 0x2b5b
00001d4f: JUMP
00001d50: JUMPDEST
00001d51: CALLER
00001d52: PUSH0
00001d53: SWAP1
00001d54: DUP2
00001d55: MSTORE
00001d56: PUSH1 0x05
00001d58: DUP3
00001d59: ADD
00001d5a: PUSH1 0x20
00001d5c: MSTORE
00001d5d: PUSH1 0x40
00001d5f: SWAP1
00001d60: KECCAK256
00001d61: SLOAD
00001d62: PUSH1 0x02
00001d64: DUP3
00001d65: ADD
00001d66: SLOAD
00001d67: SWAP2
00001d68: SWAP3
00001d69: POP
00001d6a: PUSH5 0xffffffffff
00001d70: SWAP1
00001d71: DUP2
00001d72: AND
00001d73: SWAP2
00001d74: AND
00001d75: DUP2
00001d76: EQ
00001d77: PUSH2 0x1d9c
00001d7a: JUMPI
00001d7b: PUSH1 0x40
00001d7d: MLOAD
00001d7e: PUSH4 0x0378803f
00001d83: PUSH1 0xe5
00001d85: SHL
00001d86: DUP2
00001d87: MSTORE
00001d88: PUSH5 0xffffffffff
00001d8e: DUP3
00001d8f: AND
00001d90: PUSH1 0x04
00001d92: DUP3
00001d93: ADD
00001d94: MSTORE
00001d95: PUSH1 0x24
00001d97: ADD
00001d98: PUSH2 0x0dfe
00001d9b: JUMP
00001d9c: JUMPDEST
00001d9d: PUSH5 0xffffffffff
00001da3: DUP2
00001da4: AND
00001da5: PUSH0
00001da6: SWAP1
00001da7: DUP2
00001da8: MSTORE
00001da9: PUSH1 0x03
00001dab: DUP4
00001dac: ADD
00001dad: PUSH1 0x20
00001daf: SWAP1
00001db0: DUP2
00001db1: MSTORE
00001db2: PUSH1 0x40
00001db4: DUP1
00001db5: DUP4
00001db6: KECCAK256
00001db7: CALLER
00001db8: DUP1
00001db9: DUP6
00001dba: MSTORE
00001dbb: PUSH1 0x01
00001dbd: SWAP1
00001dbe: SWAP2
00001dbf: ADD
00001dc0: SWAP1
00001dc1: SWAP3
00001dc2: MSTORE
00001dc3: DUP3
00001dc4: KECCAK256
00001dc5: DUP1
00001dc6: SLOAD
00001dc7: SWAP3
00001dc8: SWAP1
00001dc9: SSTORE
00001dca: PUSH1 0x08
00001dcc: DUP5
00001dcd: ADD
00001dce: SLOAD
00001dcf: PUSH2 0x1de7
00001dd2: SWAP2
00001dd3: PUSH1 0x01
00001dd5: PUSH1 0x01
00001dd7: PUSH1 0xa0
00001dd9: SHL
00001dda: SUB
00001ddb: SWAP1
00001ddc: SWAP2
00001ddd: AND
00001dde: SWAP1
00001ddf: DUP4
00001de0: PUSH2 0x0f2c
00001de3: PUSH2 0x10eb
00001de6: JUMP
00001de7: JUMPDEST
00001de8: PUSH1 0x40
00001dea: MLOAD
00001deb: CALLER
00001dec: SWAP1
00001ded: PUSH5 0xffffffffff
00001df3: DUP5
00001df4: AND
00001df5: SWAP1
00001df6: PUSH32 0xf3df774413906479e4aa6d20ad2ad938e10990d517dc9d29909f6eaa4981ad43
00001e17: SWAP1
00001e18: PUSH0
00001e19: SWAP1
00001e1a: LOG3
00001e1b: POP
00001e1c: POP
00001e1d: POP
00001e1e: JUMP
00001e1f: JUMPDEST
00001e20: PUSH2 0x1e27
00001e23: PUSH2 0x342f
00001e26: JUMP
00001e27: JUMPDEST
00001e28: PUSH0
00001e29: PUSH2 0x1e30
00001e2c: PUSH2 0x2c19
00001e2f: JUMP
00001e30: JUMPDEST
00001e31: SLOAD
00001e32: PUSH1 0xff
00001e34: AND
00001e35: SWAP1
00001e36: POP
00001e37: PUSH0
00001e38: DUP2
00001e39: PUSH1 0x02
00001e3b: DUP2
00001e3c: GT
00001e3d: ISZERO
00001e3e: PUSH2 0x1e49
00001e41: JUMPI
00001e42: PUSH2 0x1e49
00001e45: PUSH2 0x53ff
00001e48: JUMP
00001e49: JUMPDEST
00001e4a: EQ
00001e4b: PUSH2 0x1e69
00001e4e: JUMPI
00001e4f: DUP1
00001e50: PUSH1 0x40
00001e52: MLOAD
00001e53: PUSH4 0x4b0145f3
00001e58: PUSH1 0xe0
00001e5a: SHL
00001e5b: DUP2
00001e5c: MSTORE
00001e5d: PUSH1 0x04
00001e5f: ADD
00001e60: PUSH2 0x0dfe
00001e63: SWAP2
00001e64: SWAP1
00001e65: PUSH2 0x5413
00001e68: JUMP
00001e69: JUMPDEST
00001e6a: PUSH0
00001e6b: PUSH2 0x1e72
00001e6e: PUSH2 0x2b5b
00001e71: JUMP
00001e72: JUMPDEST
00001e73: SWAP1
00001e74: POP
00001e75: PUSH0
00001e76: NOT
00001e77: DUP2
00001e78: PUSH1 0x01
00001e7a: ADD
00001e7b: SLOAD
00001e7c: EQ
00001e7d: PUSH2 0x1e8d
00001e80: JUMPI
00001e81: PUSH2 0x1e8d
00001e84: DUP2
00001e85: PUSH1 0x01
00001e87: ADD
00001e88: SLOAD
00001e89: PUSH2 0x3da9
00001e8c: JUMP
00001e8d: JUMPDEST
00001e8e: PUSH1 0x01
00001e90: PUSH2 0x1e97
00001e93: PUSH2 0x2c19
00001e96: JUMP
00001e97: JUMPDEST
00001e98: DUP1
00001e99: SLOAD
00001e9a: PUSH1 0xff
00001e9c: NOT
00001e9d: AND
00001e9e: PUSH1 0x01
00001ea0: DUP4
00001ea1: PUSH1 0x02
00001ea3: DUP2
00001ea4: GT
00001ea5: ISZERO
00001ea6: PUSH2 0x1eb1
00001ea9: JUMPI
00001eaa: PUSH2 0x1eb1
00001ead: PUSH2 0x53ff
00001eb0: JUMP
00001eb1: JUMPDEST
00001eb2: MUL
00001eb3: OR
00001eb4: SWAP1
00001eb5: SSTORE
00001eb6: POP
00001eb7: PUSH0
00001eb8: DUP1
00001eb9: MLOAD
00001eba: PUSH1 0x20
00001ebc: PUSH2 0x5f5f
00001ebf: DUP4
00001ec0: CODECOPY
00001ec1: DUP2
00001ec2: MLOAD
00001ec3: SWAP2
00001ec4: MSTORE
00001ec5: PUSH1 0x01
00001ec7: PUSH1 0x40
00001ec9: MLOAD
00001eca: PUSH2 0x1ed3
00001ecd: SWAP2
00001ece: SWAP1
00001ecf: PUSH2 0x5413
00001ed2: JUMP
00001ed3: JUMPDEST
00001ed4: PUSH1 0x40
00001ed6: MLOAD
00001ed7: DUP1
00001ed8: SWAP2
00001ed9: SUB
00001eda: SWAP1
00001edb: LOG1
00001edc: POP
00001edd: POP
00001ede: JUMP
00001edf: JUMPDEST
00001ee0: PUSH0
00001ee1: DUP3
00001ee2: PUSH1 0x01
00001ee4: PUSH1 0x01
00001ee6: PUSH1 0xa0
00001ee8: SHL
00001ee9: SUB
00001eea: DUP2
00001eeb: AND
00001eec: CALLER
00001eed: EQ
00001eee: DUP1
00001eef: ISZERO
00001ef0: SWAP1
00001ef1: PUSH2 0x1f01
00001ef4: JUMPI
00001ef5: POP
00001ef6: PUSH2 0x1eff
00001ef9: DUP2
00001efa: CALLER
00001efb: PUSH2 0x217a
00001efe: JUMP
00001eff: JUMPDEST
00001f00: ISZERO
00001f01: JUMPDEST
00001f02: ISZERO
00001f03: PUSH2 0x1f1f
00001f06: JUMPI
00001f07: PUSH1 0x40
00001f09: MLOAD
00001f0a: PUSH4 0x31d00f81
00001f0f: PUSH1 0xe1
00001f11: SHL
00001f12: DUP2
00001f13: MSTORE
00001f14: PUSH1 0x04
00001f16: ADD
00001f17: PUSH1 0x40
00001f19: MLOAD
00001f1a: DUP1
00001f1b: SWAP2
00001f1c: SUB
00001f1d: SWAP1
00001f1e: REVERT
00001f1f: JUMPDEST
00001f20: PUSH2 0x1f27
00001f23: PUSH2 0x34db
00001f26: JUMP
00001f27: JUMPDEST
00001f28: PUSH2 0x1f2f
00001f2b: PUSH2 0x0f68
00001f2e: JUMP
00001f2f: JUMPDEST
00001f30: ISZERO
00001f31: PUSH2 0x1f4d
00001f34: JUMPI
00001f35: PUSH1 0x40
00001f37: MLOAD
00001f38: PUSH4 0xb097d841
00001f3d: PUSH1 0xe0
00001f3f: SHL
00001f40: DUP2
00001f41: MSTORE
00001f42: PUSH1 0x04
00001f44: ADD
00001f45: PUSH1 0x40
00001f47: MLOAD
00001f48: DUP1
00001f49: SWAP2
00001f4a: SUB
00001f4b: SWAP1
00001f4c: REVERT
00001f4d: JUMPDEST
00001f4e: PUSH2 0x1f56
00001f51: DUP5
00001f52: PUSH2 0x1105
00001f55: JUMP
00001f56: JUMPDEST
00001f57: PUSH2 0x1f73
00001f5a: JUMPI
00001f5b: PUSH1 0x40
00001f5d: MLOAD
00001f5e: PUSH4 0x0b094f27
00001f63: PUSH1 0xe3
00001f65: SHL
00001f66: DUP2
00001f67: MSTORE
00001f68: PUSH1 0x04
00001f6a: ADD
00001f6b: PUSH1 0x40
00001f6d: MLOAD
00001f6e: DUP1
00001f6f: SWAP2
00001f70: SUB
00001f71: SWAP1
00001f72: REVERT
00001f73: JUMPDEST
00001f74: PUSH2 0x1f7e
00001f77: DUP7
00001f78: DUP7
00001f79: DUP7
00001f7a: PUSH2 0x3a98
00001f7d: JUMP
00001f7e: JUMPDEST
00001f7f: SWAP2
00001f80: POP
00001f81: DUP2
00001f82: DUP5
00001f83: PUSH1 0x01
00001f85: PUSH1 0x01
00001f87: PUSH1 0xa0
00001f89: SHL
00001f8a: SUB
00001f8b: AND
00001f8c: DUP5
00001f8d: PUSH1 0x01
00001f8f: PUSH1 0x01
00001f91: PUSH1 0xa0
00001f93: SHL
00001f94: SUB
00001f95: AND
00001f96: PUSH0
00001f97: DUP1
00001f98: MLOAD
00001f99: PUSH1 0x20
00001f9b: PUSH2 0x5f1f
00001f9e: DUP4
00001f9f: CODECOPY
00001fa0: DUP2
00001fa1: MLOAD
00001fa2: SWAP2
00001fa3: MSTORE
00001fa4: DUP10
00001fa5: PUSH1 0x40
00001fa7: MLOAD
00001fa8: PUSH2 0x1fb3
00001fab: SWAP2
00001fac: DUP2
00001fad: MSTORE
00001fae: PUSH1 0x20
00001fb0: ADD
00001fb1: SWAP1
00001fb2: JUMP
00001fb3: JUMPDEST
00001fb4: PUSH1 0x40
00001fb6: MLOAD
00001fb7: DUP1
00001fb8: SWAP2
00001fb9: SUB
00001fba: SWAP1
00001fbb: LOG4
00001fbc: POP
00001fbd: SWAP5
00001fbe: SWAP4
00001fbf: POP
00001fc0: POP
00001fc1: POP
00001fc2: POP
00001fc3: JUMP
00001fc4: JUMPDEST
00001fc5: PUSH0
00001fc6: PUSH2 0x1fcd
00001fc9: PUSH2 0x2bf5
00001fcc: JUMP
00001fcd: JUMPDEST
00001fce: PUSH1 0x02
00001fd0: ADD
00001fd1: SLOAD
00001fd2: PUSH1 0x01
00001fd4: PUSH1 0x01
00001fd6: PUSH1 0xa0
00001fd8: SHL
00001fd9: SUB
00001fda: AND
00001fdb: SWAP1
00001fdc: POP
00001fdd: CALLER
00001fde: DUP2
00001fdf: EQ
00001fe0: PUSH2 0x1ffe
00001fe3: JUMPI
00001fe4: DUP1
00001fe5: PUSH1 0x40
00001fe7: MLOAD
00001fe8: PUSH4 0xfde82f1f
00001fed: PUSH1 0xe0
00001fef: SHL
00001ff0: DUP2
00001ff1: MSTORE
00001ff2: PUSH1 0x04
00001ff4: ADD
00001ff5: PUSH2 0x0dfe
00001ff8: SWAP2
00001ff9: SWAP1
00001ffa: PUSH2 0x4faf
00001ffd: JUMP
00001ffe: JUMPDEST
00001fff: PUSH0
00002000: PUSH2 0x2007
00002003: PUSH2 0x2c19
00002006: JUMP
00002007: JUMPDEST
00002008: SLOAD
00002009: PUSH1 0xff
0000200b: AND
0000200c: SWAP1
0000200d: POP
0000200e: PUSH0
0000200f: DUP2
00002010: PUSH1 0x02
00002012: DUP2
00002013: GT
00002014: ISZERO
00002015: PUSH2 0x2020
00002018: JUMPI
00002019: PUSH2 0x2020
0000201c: PUSH2 0x53ff
0000201f: JUMP
00002020: JUMPDEST
00002021: EQ
00002022: PUSH2 0x2040
00002025: JUMPI
00002026: DUP1
00002027: PUSH1 0x40
00002029: MLOAD
0000202a: PUSH4 0x4b0145f3
0000202f: PUSH1 0xe0
00002031: SHL
00002032: DUP2
00002033: MSTORE
00002034: PUSH1 0x04
00002036: ADD
00002037: PUSH2 0x0dfe
0000203a: SWAP2
0000203b: SWAP1
0000203c: PUSH2 0x5413
0000203f: JUMP
00002040: JUMPDEST
00002041: PUSH2 0x2049
00002044: DUP4
00002045: PUSH2 0x3fbe
00002048: JUMP
00002049: JUMPDEST
0000204a: PUSH2 0x2052
0000204d: CALLER
0000204e: PUSH2 0x2f14
00002051: JUMP
00002052: JUMPDEST
00002053: POP
00002054: POP
00002055: POP
00002056: JUMP
00002057: JUMPDEST
00002058: PUSH0
00002059: CALLER
0000205a: PUSH2 0x0da0
0000205d: DUP2
0000205e: DUP6
0000205f: DUP6
00002060: PUSH2 0x3287
00002063: JUMP
00002064: JUMPDEST
00002065: PUSH0
00002066: PUSH2 0x206d
00002069: PUSH2 0x2bf5
0000206c: JUMP
0000206d: JUMPDEST
0000206e: PUSH1 0x02
00002070: ADD
00002071: SLOAD
00002072: PUSH1 0x01
00002074: PUSH1 0x01
00002076: PUSH1 0xa0
00002078: SHL
00002079: SUB
0000207a: AND
0000207b: SWAP1
0000207c: POP
0000207d: CALLER
0000207e: DUP2
0000207f: EQ
00002080: PUSH2 0x209e
00002083: JUMPI
00002084: DUP1
00002085: PUSH1 0x40
00002087: MLOAD
00002088: PUSH4 0xfde82f1f
0000208d: PUSH1 0xe0
0000208f: SHL
00002090: DUP2
00002091: MSTORE
00002092: PUSH1 0x04
00002094: ADD
00002095: PUSH2 0x0dfe
00002098: SWAP2
00002099: SWAP1
0000209a: PUSH2 0x4faf
0000209d: JUMP
0000209e: JUMPDEST
0000209f: PUSH2 0x20a7
000020a2: DUP3
000020a3: PUSH2 0x4026
000020a6: JUMP
000020a7: JUMPDEST
000020a8: POP
000020a9: POP
000020aa: JUMP
000020ab: JUMPDEST
000020ac: PUSH0
000020ad: PUSH1 0x40
000020af: MLOAD
000020b0: PUSH4 0x66345fa1
000020b5: PUSH1 0xe0
000020b7: SHL
000020b8: DUP2
000020b9: MSTORE
000020ba: PUSH1 0x04
000020bc: ADD
000020bd: PUSH1 0x40
000020bf: MLOAD
000020c0: DUP1
000020c1: SWAP2
000020c2: SUB
000020c3: SWAP1
000020c4: REVERT
000020c5: JUMPDEST
000020c6: PUSH0
000020c7: PUSH2 0x20ce
000020ca: PUSH2 0x34db
000020cd: JUMP
000020ce: JUMPDEST
000020cf: PUSH0
000020d0: PUSH2 0x20d7
000020d3: PUSH2 0x2c19
000020d6: JUMP
000020d7: JUMPDEST
000020d8: SWAP1
000020d9: POP
000020da: PUSH1 0x02
000020dc: DUP2
000020dd: SLOAD
000020de: PUSH1 0xff
000020e0: AND
000020e1: PUSH1 0x02
000020e3: DUP2
000020e4: GT
000020e5: ISZERO
000020e6: PUSH2 0x20f1
000020e9: JUMPI
000020ea: PUSH2 0x20f1
000020ed: PUSH2 0x53ff
000020f0: JUMP
000020f1: JUMPDEST
000020f2: EQ
000020f3: DUP1
000020f4: ISZERO
000020f5: PUSH2 0x2105
000020f8: JUMPI
000020f9: POP
000020fa: PUSH2 0x2103
000020fd: PUSH0
000020fe: DUP5
000020ff: PUSH2 0x288d
00002102: JUMP
00002103: JUMPDEST
00002104: ISZERO
00002105: JUMPDEST
00002106: ISZERO
00002107: PUSH2 0x2129
0000210a: JUMPI
0000210b: PUSH2 0x2115
0000210e: DUP6
0000210f: PUSH1 0x01
00002111: PUSH2 0x4090
00002114: JUMP
00002115: JUMPDEST
00002116: SWAP2
00002117: POP
00002118: PUSH2 0x2124
0000211b: CALLER
0000211c: DUP6
0000211d: DUP6
0000211e: DUP9
0000211f: DUP7
00002120: PUSH2 0x40cc
00002123: JUMP
00002124: JUMPDEST
00002125: PUSH2 0x10c7
00002128: JUMP
00002129: JUMPDEST
0000212a: PUSH1 0x01
0000212c: PUSH1 0x01
0000212e: PUSH1 0xa0
00002130: SHL
00002131: SUB
00002132: DUP4
00002133: AND
00002134: CALLER
00002135: EQ
00002136: DUP1
00002137: ISZERO
00002138: SWAP1
00002139: PUSH2 0x2149
0000213c: JUMPI
0000213d: POP
0000213e: PUSH2 0x2147
00002141: DUP4
00002142: CALLER
00002143: PUSH2 0x217a
00002146: JUMP
00002147: JUMPDEST
00002148: ISZERO
00002149: JUMPDEST
0000214a: ISZERO
0000214b: PUSH2 0x2167
0000214e: JUMPI
0000214f: PUSH1 0x40
00002151: MLOAD
00002152: PUSH4 0x31d00f81
00002157: PUSH1 0xe1
00002159: SHL
0000215a: DUP2
0000215b: MSTORE
0000215c: PUSH1 0x04
0000215e: ADD
0000215f: PUSH1 0x40
00002161: MLOAD
00002162: DUP1
00002163: SWAP2
00002164: SUB
00002165: SWAP1
00002166: REVERT
00002167: JUMPDEST
00002168: PUSH2 0x2172
0000216b: DUP6
0000216c: DUP6
0000216d: DUP6
0000216e: PUSH2 0x4195
00002171: JUMP
00002172: JUMPDEST
00002173: SWAP2
00002174: POP
00002175: POP
00002176: PUSH2 0x0fa5
00002179: JUMP
0000217a: JUMPDEST
0000217b: PUSH0
0000217c: PUSH2 0x2183
0000217f: PUSH2 0x2b5b
00002182: JUMP
00002183: JUMPDEST
00002184: PUSH1 0x01
00002186: PUSH1 0x01
00002188: PUSH1 0xa0
0000218a: SHL
0000218b: SUB
0000218c: SWAP4
0000218d: DUP5
0000218e: AND
0000218f: PUSH0
00002190: SWAP1
00002191: DUP2
00002192: MSTORE
00002193: PUSH1 0x07
00002195: SWAP2
00002196: SWAP1
00002197: SWAP2
00002198: ADD
00002199: PUSH1 0x20
0000219b: SWAP1
0000219c: DUP2
0000219d: MSTORE
0000219e: PUSH1 0x40
000021a0: DUP1
000021a1: DUP4
000021a2: KECCAK256
000021a3: SWAP5
000021a4: SWAP1
000021a5: SWAP6
000021a6: AND
000021a7: DUP3
000021a8: MSTORE
000021a9: SWAP3
000021aa: SWAP1
000021ab: SWAP3
000021ac: MSTORE
000021ad: POP
000021ae: KECCAK256
000021af: SLOAD
000021b0: PUSH1 0xff
000021b2: AND
000021b3: SWAP1
000021b4: JUMP
000021b5: JUMPDEST
000021b6: PUSH0
000021b7: PUSH2 0x21be
000021ba: PUSH2 0x34db
000021bd: JUMP
000021be: JUMPDEST
000021bf: PUSH0
000021c0: PUSH2 0x21c7
000021c3: PUSH2 0x2c19
000021c6: JUMP
000021c7: JUMPDEST
000021c8: SWAP1
000021c9: POP
000021ca: PUSH1 0x02
000021cc: DUP2
000021cd: SLOAD
000021ce: PUSH1 0xff
000021d0: AND
000021d1: PUSH1 0x02
000021d3: DUP2
000021d4: GT
000021d5: ISZERO
000021d6: PUSH2 0x21e1
000021d9: JUMPI
000021da: PUSH2 0x21e1
000021dd: PUSH2 0x53ff
000021e0: JUMP
000021e1: JUMPDEST
000021e2: EQ
000021e3: DUP1
000021e4: ISZERO
000021e5: PUSH2 0x21f5
000021e8: JUMPI
000021e9: POP
000021ea: PUSH2 0x21f3
000021ed: PUSH0
000021ee: DUP5
000021ef: PUSH2 0x288d
000021f2: JUMP
000021f3: JUMPDEST
000021f4: ISZERO
000021f5: JUMPDEST
000021f6: ISZERO
000021f7: PUSH2 0x2213
000021fa: JUMPI
000021fb: PUSH2 0x2204
000021fe: DUP6
000021ff: PUSH0
00002200: PUSH2 0x2ba3
00002203: JUMP
00002204: JUMPDEST
00002205: SWAP2
00002206: POP
00002207: PUSH2 0x2124
0000220a: CALLER
0000220b: DUP6
0000220c: DUP6
0000220d: DUP6
0000220e: DUP10
0000220f: PUSH2 0x40cc
00002212: JUMP
00002213: JUMPDEST
00002214: PUSH1 0x01
00002216: PUSH1 0x01
00002218: PUSH1 0xa0
0000221a: SHL
0000221b: SUB
0000221c: DUP4
0000221d: AND
0000221e: CALLER
0000221f: EQ
00002220: DUP1
00002221: ISZERO
00002222: SWAP1
00002223: PUSH2 0x2233
00002226: JUMPI
00002227: POP
00002228: PUSH2 0x2231
0000222b: DUP4
0000222c: CALLER
0000222d: PUSH2 0x217a
00002230: JUMP
00002231: JUMPDEST
00002232: ISZERO
00002233: JUMPDEST
00002234: ISZERO
00002235: PUSH2 0x2251
00002238: JUMPI
00002239: PUSH1 0x40
0000223b: MLOAD
0000223c: PUSH4 0x31d00f81
00002241: PUSH1 0xe1
00002243: SHL
00002244: DUP2
00002245: MSTORE
00002246: PUSH1 0x04
00002248: ADD
00002249: PUSH1 0x40
0000224b: MLOAD
0000224c: DUP1
0000224d: SWAP2
0000224e: SUB
0000224f: SWAP1
00002250: REVERT
00002251: JUMPDEST
00002252: PUSH2 0x2172
00002255: DUP6
00002256: DUP6
00002257: DUP6
00002258: PUSH2 0x4291
0000225b: JUMP
0000225c: JUMPDEST
0000225d: PUSH0
0000225e: PUSH2 0x2265
00002261: PUSH2 0x2bf5
00002264: JUMP
00002265: JUMPDEST
00002266: PUSH1 0x04
00002268: ADD
00002269: SLOAD
0000226a: PUSH1 0x01
0000226c: PUSH1 0x01
0000226e: PUSH1 0xa0
00002270: SHL
00002271: SUB
00002272: AND
00002273: SWAP1
00002274: POP
00002275: CALLER
00002276: DUP2
00002277: EQ
00002278: PUSH2 0x2296
0000227b: JUMPI
0000227c: DUP1
0000227d: PUSH1 0x40
0000227f: MLOAD
00002280: PUSH4 0x14c9222d
00002285: PUSH1 0xe0
00002287: SHL
00002288: DUP2
00002289: MSTORE
0000228a: PUSH1 0x04
0000228c: ADD
0000228d: PUSH2 0x0dfe
00002290: SWAP2
00002291: SWAP1
00002292: PUSH2 0x4faf
00002295: JUMP
00002296: JUMPDEST
00002297: PUSH1 0x02
00002299: PUSH2 0x22a0
0000229c: PUSH2 0x2c19
0000229f: JUMP
000022a0: JUMPDEST
000022a1: SLOAD
000022a2: PUSH1 0xff
000022a4: AND
000022a5: PUSH1 0x02
000022a7: DUP2
000022a8: GT
000022a9: ISZERO
000022aa: PUSH2 0x22b5
000022ad: JUMPI
000022ae: PUSH2 0x22b5
000022b1: PUSH2 0x53ff
000022b4: JUMP
000022b5: JUMPDEST
000022b6: SUB
000022b7: PUSH2 0x22d3
000022ba: JUMPI
000022bb: PUSH1 0x40
000022bd: MLOAD
000022be: PUSH4 0x1cdde67b
000022c3: PUSH1 0xe0
000022c5: SHL
000022c6: DUP2
000022c7: MSTORE
000022c8: PUSH1 0x04
000022ca: ADD
000022cb: PUSH1 0x40
000022cd: MLOAD
000022ce: DUP1
000022cf: SWAP2
000022d0: SUB
000022d1: SWAP1
000022d2: REVERT
000022d3: JUMPDEST
000022d4: PUSH2 0x22db
000022d7: PUSH2 0x0f68
000022da: JUMP
000022db: JUMPDEST
000022dc: ISZERO
000022dd: PUSH2 0x22f9
000022e0: JUMPI
000022e1: PUSH1 0x40
000022e3: MLOAD
000022e4: PUSH4 0xebe435fd
000022e9: PUSH1 0xe0
000022eb: SHL
000022ec: DUP2
000022ed: MSTORE
000022ee: PUSH1 0x04
000022f0: ADD
000022f1: PUSH1 0x40
000022f3: MLOAD
000022f4: DUP1
000022f5: SWAP2
000022f6: SUB
000022f7: SWAP1
000022f8: REVERT
000022f9: JUMPDEST
000022fa: PUSH2 0x20a7
000022fd: DUP3
000022fe: PUSH2 0x3da9
00002301: JUMP
00002302: JUMPDEST
00002303: PUSH0
00002304: PUSH2 0x230b
00002307: PUSH2 0x13de
0000230a: JUMP
0000230b: JUMPDEST
0000230c: ISZERO
0000230d: PUSH2 0x2317
00002310: JUMPI
00002311: POP
00002312: PUSH0
00002313: SWAP2
00002314: SWAP1
00002315: POP
00002316: JUMP
00002317: JUMPDEST
00002318: PUSH0
00002319: PUSH2 0x2320
0000231c: PUSH2 0x2b5b
0000231f: JUMP
00002320: JUMPDEST
00002321: PUSH1 0x01
00002323: PUSH1 0x01
00002325: PUSH1 0xa0
00002327: SHL
00002328: SUB
00002329: DUP5
0000232a: AND
0000232b: PUSH0
0000232c: SWAP1
0000232d: DUP2
0000232e: MSTORE
0000232f: PUSH1 0x05
00002331: SWAP2
00002332: SWAP1
00002333: SWAP2
00002334: ADD
00002335: PUSH1 0x20
00002337: MSTORE
00002338: PUSH1 0x40
0000233a: DUP2
0000233b: KECCAK256
0000233c: SLOAD
0000233d: PUSH5 0xffffffffff
00002343: AND
00002344: SWAP2
00002345: POP
00002346: PUSH2 0x234f
00002349: DUP3
0000234a: DUP6
0000234b: PUSH2 0x1cb8
0000234e: JUMP
0000234f: JUMPDEST
00002350: SWAP1
00002351: POP
00002352: PUSH2 0x235b
00002355: DUP2
00002356: DUP4
00002357: PUSH2 0x283d
0000235a: JUMP
0000235b: JUMPDEST
0000235c: SWAP5
0000235d: SWAP4
0000235e: POP
0000235f: POP
00002360: POP
00002361: POP
00002362: JUMP
00002363: JUMPDEST
00002364: PUSH2 0x236b
00002367: PUSH2 0x342f
0000236a: JUMP
0000236b: JUMPDEST
0000236c: PUSH32 0xa92ff4390fe6943f0b30e8fe715dde86f85ab79b2b2c640a10fc094cc4036cc8
0000238d: PUSH2 0x2394
00002390: PUSH2 0x2bf5
00002393: JUMP
00002394: JUMPDEST
00002395: PUSH1 0x01
00002397: ADD
00002398: SLOAD
00002399: PUSH1 0x40
0000239b: MLOAD
0000239c: PUSH2 0x23b0
0000239f: SWAP2
000023a0: PUSH1 0x01
000023a2: PUSH1 0x01
000023a4: PUSH1 0xa0
000023a6: SHL
000023a7: SUB
000023a8: AND
000023a9: SWAP1
000023aa: DUP5
000023ab: SWAP1
000023ac: PUSH2 0x54b4
000023af: JUMP
000023b0: JUMPDEST
000023b1: PUSH1 0x40
000023b3: MLOAD
000023b4: DUP1
000023b5: SWAP2
000023b6: SUB
000023b7: SWAP1
000023b8: LOG1
000023b9: DUP1
000023ba: PUSH2 0x23c1
000023bd: PUSH2 0x2bf5
000023c0: JUMP
000023c1: JUMPDEST
000023c2: PUSH1 0x01
000023c4: ADD
000023c5: DUP1
000023c6: SLOAD
000023c7: PUSH1 0x01
000023c9: PUSH1 0x01
000023cb: PUSH1 0xa0
000023cd: SHL
000023ce: SUB
000023cf: NOT
000023d0: AND
000023d1: PUSH1 0x01
000023d3: PUSH1 0x01
000023d5: PUSH1 0xa0
000023d7: SHL
000023d8: SUB
000023d9: SWAP3
000023da: SWAP1
000023db: SWAP3
000023dc: AND
000023dd: SWAP2
000023de: SWAP1
000023df: SWAP2
000023e0: OR
000023e1: SWAP1
000023e2: SSTORE
000023e3: POP
000023e4: JUMP
000023e5: JUMPDEST
000023e6: PUSH0
000023e7: PUSH2 0x0ce4
000023ea: DUP3
000023eb: PUSH0
000023ec: PUSH2 0x4090
000023ef: JUMP
000023f0: JUMPDEST
000023f1: PUSH0
000023f2: PUSH2 0x23f9
000023f5: PUSH2 0x13de
000023f8: JUMP
000023f9: JUMPDEST
000023fa: ISZERO
000023fb: PUSH2 0x2405
000023fe: JUMPI
000023ff: POP
00002400: PUSH0
00002401: SWAP2
00002402: SWAP1
00002403: POP
00002404: JUMP
00002405: JUMPDEST
00002406: PUSH0
00002407: PUSH2 0x2410
0000240a: PUSH0
0000240b: DUP5
0000240c: PUSH2 0x288d
0000240f: JUMP
00002410: JUMPDEST
00002411: SWAP1
00002412: POP
00002413: DUP1
00002414: ISZERO
00002415: DUP1
00002416: ISZERO
00002417: PUSH2 0x243c
0000241a: JUMPI
0000241b: POP
0000241c: PUSH1 0x02
0000241e: PUSH2 0x2425
00002421: PUSH2 0x2c19
00002424: JUMP
00002425: JUMPDEST
00002426: SLOAD
00002427: PUSH1 0xff
00002429: AND
0000242a: PUSH1 0x02
0000242c: DUP2
0000242d: GT
0000242e: ISZERO
0000242f: PUSH2 0x243a
00002432: JUMPI
00002433: PUSH2 0x243a
00002436: PUSH2 0x53ff
00002439: JUMP
0000243a: JUMPDEST
0000243b: EQ
0000243c: JUMPDEST
0000243d: ISZERO
0000243e: PUSH2 0x244d
00002441: JUMPI
00002442: PUSH2 0x0fa5
00002445: PUSH2 0x03eb
00002448: DUP5
00002449: PUSH2 0x178c
0000244c: JUMP
0000244d: JUMPDEST
0000244e: PUSH0
0000244f: PUSH2 0x2456
00002452: PUSH2 0x2b5b
00002455: JUMP
00002456: JUMPDEST
00002457: PUSH1 0x01
00002459: PUSH1 0x01
0000245b: PUSH1 0xa0
0000245d: SHL
0000245e: SUB
0000245f: DUP6
00002460: AND
00002461: PUSH0
00002462: SWAP1
00002463: DUP2
00002464: MSTORE
00002465: PUSH1 0x06
00002467: SWAP2
00002468: SWAP1
00002469: SWAP2
0000246a: ADD
0000246b: PUSH1 0x20
0000246d: MSTORE
0000246e: PUSH1 0x40
00002470: SWAP1
00002471: KECCAK256
00002472: SLOAD
00002473: PUSH5 0xffffffffff
00002479: AND
0000247a: SWAP1
0000247b: POP
0000247c: PUSH2 0x235b
0000247f: DUP3
00002480: DUP3
00002481: PUSH2 0x0f99
00002484: JUMP
00002485: JUMPDEST
00002486: PUSH0
00002487: PUSH2 0x248e
0000248a: PUSH2 0x0f68
0000248d: JUMP
0000248e: JUMPDEST
0000248f: PUSH2 0x24ab
00002492: JUMPI
00002493: PUSH1 0x40
00002495: MLOAD
00002496: PUSH4 0x41e86ac1
0000249b: PUSH1 0xe1
0000249d: SHL
0000249e: DUP2
0000249f: MSTORE
000024a0: PUSH1 0x04
000024a2: ADD
000024a3: PUSH1 0x40
000024a5: MLOAD
000024a6: DUP1
000024a7: SWAP2
000024a8: SUB
000024a9: SWAP1
000024aa: REVERT
000024ab: JUMPDEST
000024ac: PUSH0
000024ad: PUSH2 0x24b4
000024b0: PUSH2 0x2c19
000024b3: JUMP
000024b4: JUMPDEST
000024b5: SLOAD
000024b6: PUSH1 0xff
000024b8: AND
000024b9: SWAP1
000024ba: POP
000024bb: PUSH0
000024bc: DUP2
000024bd: PUSH1 0x02
000024bf: DUP2
000024c0: GT
000024c1: ISZERO
000024c2: PUSH2 0x24cd
000024c5: JUMPI
000024c6: PUSH2 0x24cd
000024c9: PUSH2 0x53ff
000024cc: JUMP
000024cd: JUMPDEST
000024ce: EQ
000024cf: PUSH2 0x24ed
000024d2: JUMPI
000024d3: DUP1
000024d4: PUSH1 0x40
000024d6: MLOAD
000024d7: PUSH4 0x4b0145f3
000024dc: PUSH1 0xe0
000024de: SHL
000024df: DUP2
000024e0: MSTORE
000024e1: PUSH1 0x04
000024e3: ADD
000024e4: PUSH2 0x0dfe
000024e7: SWAP2
000024e8: SWAP1
000024e9: PUSH2 0x5413
000024ec: JUMP
000024ed: JUMPDEST
000024ee: PUSH0
000024ef: PUSH2 0x24f6
000024f2: PUSH2 0x2b5b
000024f5: JUMP
000024f6: JUMPDEST
000024f7: SWAP1
000024f8: POP
000024f9: PUSH2 0x2501
000024fc: CALLER
000024fd: PUSH2 0x1105
00002500: JUMP
00002501: JUMPDEST
00002502: PUSH2 0x251e
00002505: JUMPI
00002506: PUSH1 0x40
00002508: MLOAD
00002509: PUSH4 0x0b094f27
0000250e: PUSH1 0xe3
00002510: SHL
00002511: DUP2
00002512: MSTORE
00002513: PUSH1 0x04
00002515: ADD
00002516: PUSH1 0x40
00002518: MLOAD
00002519: DUP1
0000251a: SWAP2
0000251b: SUB
0000251c: SWAP1
0000251d: REVERT
0000251e: JUMPDEST
0000251f: CALLVALUE
00002520: ISZERO
00002521: PUSH2 0x25f2
00002524: JUMPI
00002525: PUSH1 0x09
00002527: DUP2
00002528: ADD
00002529: SLOAD
0000252a: PUSH1 0x01
0000252c: PUSH1 0x01
0000252e: PUSH1 0xa0
00002530: SHL
00002531: SUB
00002532: AND
00002533: PUSH2 0x253a
00002536: PUSH2 0x10eb
00002539: JUMP
0000253a: JUMPDEST
0000253b: PUSH1 0x01
0000253d: PUSH1 0x01
0000253f: PUSH1 0xa0
00002541: SHL
00002542: SUB
00002543: AND
00002544: SUB
00002545: PUSH2 0x25d9
00002548: JUMPI
00002549: CALLVALUE
0000254a: SWAP6
0000254b: POP
0000254c: DUP1
0000254d: PUSH1 0x08
0000254f: ADD
00002550: PUSH0
00002551: SWAP1
00002552: SLOAD
00002553: SWAP1
00002554: PUSH2 0x0100
00002557: EXP
00002558: SWAP1
00002559: DIV
0000255a: PUSH1 0x01
0000255c: PUSH1 0x01
0000255e: PUSH1 0xa0
00002560: SHL
00002561: SUB
00002562: AND
00002563: PUSH1 0x01
00002565: PUSH1 0x01
00002567: PUSH1 0xa0
00002569: SHL
0000256a: SUB
0000256b: AND
0000256c: PUSH4 0x439370b1
00002571: DUP8
00002572: PUSH1 0x40
00002574: MLOAD
00002575: DUP3
00002576: PUSH4 0xffffffff
0000257b: AND
0000257c: PUSH1 0xe0
0000257e: SHL
0000257f: DUP2
00002580: MSTORE
00002581: PUSH1 0x04
00002583: ADD
00002584: PUSH0
00002585: PUSH1 0x40
00002587: MLOAD
00002588: DUP1
00002589: DUP4
0000258a: SUB
0000258b: DUP2
0000258c: DUP6
0000258d: DUP9
0000258e: DUP1
0000258f: EXTCODESIZE
00002590: ISZERO
00002591: DUP1
00002592: ISZERO
00002593: PUSH2 0x259a
00002596: JUMPI
00002597: PUSH0
00002598: DUP1
00002599: REVERT
0000259a: JUMPDEST
0000259b: POP
0000259c: GAS
0000259d: CALL
0000259e: ISZERO
0000259f: DUP1
000025a0: ISZERO
000025a1: PUSH2 0x25ac
000025a4: JUMPI
000025a5: RETURNDATASIZE
000025a6: PUSH0
000025a7: DUP1
000025a8: RETURNDATACOPY
000025a9: RETURNDATASIZE
000025aa: PUSH0
000025ab: REVERT
000025ac: JUMPDEST
000025ad: POP
000025ae: POP
000025af: POP
000025b0: POP
000025b1: PUSH1 0x08
000025b3: DUP3
000025b4: ADD
000025b5: SLOAD
000025b6: PUSH2 0x25d4
000025b9: SWAP2
000025ba: POP
000025bb: PUSH1 0x01
000025bd: PUSH1 0x01
000025bf: PUSH1 0xa0
000025c1: SHL
000025c2: SUB
000025c3: AND
000025c4: PUSH2 0x25cb
000025c7: PUSH2 0x0fac
000025ca: JUMP
000025cb: JUMPDEST
000025cc: DUP9
000025cd: PUSH2 0x0f2c
000025d0: PUSH2 0x10eb
000025d3: JUMP
000025d4: JUMPDEST
000025d5: PUSH2 0x25fe
000025d8: JUMP
000025d9: JUMPDEST
000025da: PUSH1 0x40
000025dc: MLOAD
000025dd: PUSH4 0x65463703
000025e2: PUSH1 0xe0
000025e4: SHL
000025e5: DUP2
000025e6: MSTORE
000025e7: PUSH1 0x04
000025e9: ADD
000025ea: PUSH1 0x40
000025ec: MLOAD
000025ed: DUP1
000025ee: SWAP2
000025ef: SUB
000025f0: SWAP1
000025f1: REVERT
000025f2: JUMPDEST
000025f3: PUSH2 0x25fe
000025f6: CALLER
000025f7: PUSH2 0x25cb
000025fa: PUSH2 0x0fac
000025fd: JUMP
000025fe: JUMPDEST
000025ff: PUSH2 0x2608
00002602: DUP7
00002603: PUSH0
00002604: PUSH2 0x4090
00002607: JUMP
00002608: JUMPDEST
00002609: SWAP3
0000260a: POP
0000260b: DUP6
0000260c: DUP2
0000260d: PUSH0
0000260e: ADD
0000260f: PUSH0
00002610: DUP3
00002611: DUP3
00002612: SLOAD
00002613: PUSH2 0x261c
00002616: SWAP2
00002617: SWAP1
00002618: PUSH2 0x5478
0000261b: JUMP
0000261c: JUMPDEST
0000261d: SWAP1
0000261e: SWAP2
0000261f: SSTORE
00002620: POP
00002621: PUSH2 0x262c
00002624: SWAP1
00002625: POP
00002626: DUP6
00002627: DUP5
00002628: PUSH2 0x4389
0000262b: JUMP
0000262c: JUMPDEST
0000262d: DUP5
0000262e: PUSH1 0x01
00002630: PUSH1 0x01
00002632: PUSH1 0xa0
00002634: SHL
00002635: SUB
00002636: AND
00002637: CALLER
00002638: PUSH1 0x01
0000263a: PUSH1 0x01
0000263c: PUSH1 0xa0
0000263e: SHL
0000263f: SUB
00002640: AND
00002641: PUSH32 0xc7fa05bbaa7a6c46527c364d2da9fbafe81091552e9cfa35b7fd69c27878afbc
00002662: DUP9
00002663: DUP7
00002664: PUSH1 0x40
00002666: MLOAD
00002667: PUSH2 0x2671
0000266a: SWAP3
0000266b: SWAP2
0000266c: SWAP1
0000266d: PUSH2 0x56a6
00002670: JUMP
00002671: JUMPDEST
00002672: PUSH1 0x40
00002674: MLOAD
00002675: DUP1
00002676: SWAP2
00002677: SUB
00002678: SWAP1
00002679: LOG3
0000267a: PUSH0
0000267b: CALLER
0000267c: PUSH1 0x01
0000267e: PUSH1 0x01
00002680: PUSH1 0xa0
00002682: SHL
00002683: SUB
00002684: AND
00002685: DUP6
00002686: PUSH1 0x01
00002688: PUSH1 0x01
0000268a: PUSH1 0xa0
0000268c: SHL
0000268d: SUB
0000268e: AND
0000268f: PUSH0
00002690: DUP1
00002691: MLOAD
00002692: PUSH1 0x20
00002694: PUSH2 0x5f1f
00002697: DUP4
00002698: CODECOPY
00002699: DUP2
0000269a: MLOAD
0000269b: SWAP2
0000269c: MSTORE
0000269d: DUP10
0000269e: PUSH1 0x40
000026a0: MLOAD
000026a1: PUSH2 0x26ac
000026a4: SWAP2
000026a5: DUP2
000026a6: MSTORE
000026a7: PUSH1 0x20
000026a9: ADD
000026aa: SWAP1
000026ab: JUMP
000026ac: JUMPDEST
000026ad: PUSH1 0x40
000026af: MLOAD
000026b0: DUP1
000026b1: SWAP2
000026b2: SUB
000026b3: SWAP1
000026b4: LOG4
000026b5: POP
000026b6: POP
000026b7: SWAP4
000026b8: SWAP3
000026b9: POP
000026ba: POP
000026bb: POP
000026bc: JUMP
000026bd: JUMPDEST
000026be: PUSH0
000026bf: PUSH2 0x26c6
000026c2: PUSH2 0x2bf5
000026c5: JUMP
000026c6: JUMPDEST
000026c7: PUSH1 0x02
000026c9: ADD
000026ca: SLOAD
000026cb: PUSH1 0x01
000026cd: PUSH1 0x01
000026cf: PUSH1 0xa0
000026d1: SHL
000026d2: SUB
000026d3: AND
000026d4: SWAP1
000026d5: POP
000026d6: CALLER
000026d7: DUP2
000026d8: EQ
000026d9: PUSH2 0x26f7
000026dc: JUMPI
000026dd: DUP1
000026de: PUSH1 0x40
000026e0: MLOAD
000026e1: PUSH4 0xfde82f1f
000026e6: PUSH1 0xe0
000026e8: SHL
000026e9: DUP2
000026ea: MSTORE
000026eb: PUSH1 0x04
000026ed: ADD
000026ee: PUSH2 0x0dfe
000026f1: SWAP2
000026f2: SWAP1
000026f3: PUSH2 0x4faf
000026f6: JUMP
000026f7: JUMPDEST
000026f8: PUSH0
000026f9: PUSH2 0x2700
000026fc: PUSH2 0x2c19
000026ff: JUMP
00002700: JUMPDEST
00002701: SLOAD
00002702: PUSH1 0xff
00002704: AND
00002705: SWAP1
00002706: POP
00002707: PUSH0
00002708: DUP2
00002709: PUSH1 0x02
0000270b: DUP2
0000270c: GT
0000270d: ISZERO
0000270e: PUSH2 0x2719
00002711: JUMPI
00002712: PUSH2 0x2719
00002715: PUSH2 0x53ff
00002718: JUMP
00002719: JUMPDEST
0000271a: EQ
0000271b: PUSH2 0x2739
0000271e: JUMPI
0000271f: DUP1
00002720: PUSH1 0x40
00002722: MLOAD
00002723: PUSH4 0x4b0145f3
00002728: PUSH1 0xe0
0000272a: SHL
0000272b: DUP2
0000272c: MSTORE
0000272d: PUSH1 0x04
0000272f: ADD
00002730: PUSH2 0x0dfe
00002733: SWAP2
00002734: SWAP1
00002735: PUSH2 0x5413
00002738: JUMP
00002739: JUMPDEST
0000273a: PUSH2 0x2742
0000273d: DUP4
0000273e: PUSH2 0x3fbe
00002741: JUMP
00002742: JUMPDEST
00002743: PUSH2 0x2049
00002746: CALLER
00002747: PUSH2 0x2d8d
0000274a: JUMP
0000274b: JUMPDEST
0000274c: PUSH2 0x2753
0000274f: PUSH2 0x342f
00002752: JUMP
00002753: JUMPDEST
00002754: PUSH0
00002755: PUSH2 0x275c
00002758: PUSH2 0x340b
0000275b: JUMP
0000275c: JUMPDEST
0000275d: PUSH1 0x01
0000275f: ADD
00002760: DUP1
00002761: SLOAD
00002762: PUSH1 0xff
00002764: NOT
00002765: AND
00002766: SWAP2
00002767: ISZERO
00002768: ISZERO
00002769: SWAP2
0000276a: SWAP1
0000276b: SWAP2
0000276c: OR
0000276d: SWAP1
0000276e: SSTORE
0000276f: PUSH1 0x40
00002771: MLOAD
00002772: PUSH32 0x212c6e1d3045c9581ef0adf2504dbb1d137f52f38162ccf77a16c69d14eba5c3
00002793: SWAP1
00002794: PUSH0
00002795: SWAP1
00002796: LOG1
00002797: JUMP
00002798: JUMPDEST
00002799: PUSH0
0000279a: PUSH2 0x27a1
0000279d: PUSH2 0x13de
000027a0: JUMP
000027a1: JUMPDEST
000027a2: ISZERO
000027a3: PUSH2 0x27ad
000027a6: JUMPI
000027a7: POP
000027a8: PUSH0
000027a9: SWAP2
000027aa: SWAP1
000027ab: POP
000027ac: JUMP
000027ad: JUMPDEST
000027ae: PUSH0
000027af: PUSH2 0x27b8
000027b2: PUSH0
000027b3: DUP5
000027b4: PUSH2 0x288d
000027b7: JUMP
000027b8: JUMPDEST
000027b9: SWAP1
000027ba: POP
000027bb: DUP1
000027bc: ISZERO
000027bd: DUP1
000027be: ISZERO
000027bf: PUSH2 0x27e4
000027c2: JUMPI
000027c3: POP
000027c4: PUSH1 0x02
000027c6: PUSH2 0x27cd
000027c9: PUSH2 0x2c19
000027cc: JUMP
000027cd: JUMPDEST
000027ce: SLOAD
000027cf: PUSH1 0xff
000027d1: AND
000027d2: PUSH1 0x02
000027d4: DUP2
000027d5: GT
000027d6: ISZERO
000027d7: PUSH2 0x27e2
000027da: JUMPI
000027db: PUSH2 0x27e2
000027de: PUSH2 0x53ff
000027e1: JUMP
000027e2: JUMPDEST
000027e3: EQ
000027e4: JUMPDEST
000027e5: ISZERO
000027e6: PUSH2 0x0ce4
000027e9: JUMPI
000027ea: PUSH2 0x0fa5
000027ed: DUP4
000027ee: PUSH2 0x178c
000027f1: JUMP
000027f2: JUMPDEST
000027f3: PUSH0
000027f4: DUP2
000027f5: PUSH1 0x01
000027f7: PUSH1 0x01
000027f9: PUSH1 0xa0
000027fb: SHL
000027fc: SUB
000027fd: DUP2
000027fe: AND
000027ff: CALLER
00002800: EQ
00002801: DUP1
00002802: ISZERO
00002803: SWAP1
00002804: PUSH2 0x2814
00002807: JUMPI
00002808: POP
00002809: PUSH2 0x2812
0000280c: DUP2
0000280d: CALLER
0000280e: PUSH2 0x217a
00002811: JUMP
00002812: JUMPDEST
00002813: ISZERO
00002814: JUMPDEST
00002815: ISZERO
00002816: PUSH2 0x2832
00002819: JUMPI
0000281a: PUSH1 0x40
0000281c: MLOAD
0000281d: PUSH4 0x31d00f81
00002822: PUSH1 0xe1
00002824: SHL
00002825: DUP2
00002826: MSTORE
00002827: PUSH1 0x04
00002829: ADD
0000282a: PUSH1 0x40
0000282c: MLOAD
0000282d: DUP1
0000282e: SWAP2
0000282f: SUB
00002830: SWAP1
00002831: REVERT
00002832: JUMPDEST
00002833: PUSH2 0x10c4
00002836: DUP6
00002837: DUP6
00002838: DUP6
00002839: PUSH2 0x3cb9
0000283c: JUMP
0000283d: JUMPDEST
0000283e: PUSH0
0000283f: PUSH2 0x0fa5
00002842: DUP4
00002843: DUP4
00002844: PUSH0
00002845: PUSH2 0x43bd
00002848: JUMP
00002849: JUMPDEST
0000284a: PUSH0
0000284b: DUP1
0000284c: PUSH2 0x2853
0000284f: PUSH2 0x2b7f
00002852: JUMP
00002853: JUMPDEST
00002854: PUSH1 0x01
00002856: PUSH1 0x01
00002858: PUSH1 0xa0
0000285a: SHL
0000285b: SUB
0000285c: SWAP5
0000285d: DUP6
0000285e: AND
0000285f: PUSH0
00002860: SWAP1
00002861: DUP2
00002862: MSTORE
00002863: PUSH1 0x01
00002865: SWAP2
00002866: SWAP1
00002867: SWAP2
00002868: ADD
00002869: PUSH1 0x20
0000286b: SWAP1
0000286c: DUP2
0000286d: MSTORE
0000286e: PUSH1 0x40
00002870: DUP1
00002871: DUP4
00002872: KECCAK256
00002873: SWAP6
00002874: SWAP1
00002875: SWAP7
00002876: AND
00002877: DUP3
00002878: MSTORE
00002879: SWAP4
0000287a: SWAP1
0000287b: SWAP4
0000287c: MSTORE
0000287d: POP
0000287e: POP
0000287f: KECCAK256
00002880: SLOAD
00002881: SWAP1
00002882: JUMP
00002883: JUMPDEST
00002884: PUSH0
00002885: DUP1
00002886: PUSH2 0x10f5
00002889: PUSH2 0x4450
0000288c: JUMP
0000288d: JUMPDEST
0000288e: PUSH0
0000288f: DUP1
00002890: PUSH2 0x2897
00002893: PUSH2 0x2b5b
00002896: JUMP
00002897: JUMPDEST
00002898: SWAP1
00002899: POP
0000289a: DUP4
0000289b: PUSH0
0000289c: SUB
0000289d: PUSH2 0x28c4
000028a0: JUMPI
000028a1: PUSH1 0x01
000028a3: PUSH1 0x01
000028a5: PUSH1 0xa0
000028a7: SHL
000028a8: SUB
000028a9: DUP4
000028aa: AND
000028ab: PUSH0
000028ac: SWAP1
000028ad: DUP2
000028ae: MSTORE
000028af: PUSH1 0x06
000028b1: DUP3
000028b2: ADD
000028b3: PUSH1 0x20
000028b5: MSTORE
000028b6: PUSH1 0x40
000028b8: SWAP1
000028b9: KECCAK256
000028ba: SLOAD
000028bb: PUSH5 0xffffffffff
000028c1: AND
000028c2: SWAP4
000028c3: POP
000028c4: JUMPDEST
000028c5: PUSH1 0x02
000028c7: DUP2
000028c8: ADD
000028c9: SLOAD
000028ca: PUSH1 0x01
000028cc: PUSH1 0xc8
000028ce: SHL
000028cf: SWAP1
000028d0: DIV
000028d1: PUSH5 0xffffffffff
000028d7: AND
000028d8: DUP5
000028d9: GT
000028da: PUSH2 0x1072
000028dd: JUMPI
000028de: PUSH5 0xffffffffff
000028e4: DUP5
000028e5: AND
000028e6: PUSH0
000028e7: SWAP1
000028e8: DUP2
000028e9: MSTORE
000028ea: PUSH1 0x03
000028ec: SWAP1
000028ed: SWAP2
000028ee: ADD
000028ef: PUSH1 0x20
000028f1: SWAP1
000028f2: DUP2
000028f3: MSTORE
000028f4: PUSH1 0x40
000028f6: DUP1
000028f7: DUP4
000028f8: KECCAK256
000028f9: PUSH1 0x01
000028fb: PUSH1 0x01
000028fd: PUSH1 0xa0
000028ff: SHL
00002900: SUB
00002901: DUP7
00002902: AND
00002903: DUP5
00002904: MSTORE
00002905: PUSH1 0x02
00002907: ADD
00002908: SWAP1
00002909: SWAP2
0000290a: MSTORE
0000290b: SWAP1
0000290c: KECCAK256
0000290d: SLOAD
0000290e: SWAP1
0000290f: POP
00002910: PUSH2 0x0ce4
00002913: JUMP
00002914: JUMPDEST
00002915: PUSH0
00002916: PUSH1 0x40
00002918: MLOAD
00002919: PUSH4 0x3e26cc2f
0000291e: PUSH1 0xe1
00002920: SHL
00002921: DUP2
00002922: MSTORE
00002923: PUSH1 0x04
00002925: ADD
00002926: PUSH1 0x40
00002928: MLOAD
00002929: DUP1
0000292a: SWAP2
0000292b: SUB
0000292c: SWAP1
0000292d: REVERT
0000292e: JUMPDEST
0000292f: PUSH0
00002930: PUSH2 0x2937
00002933: PUSH2 0x2bf5
00002936: JUMP
00002937: JUMPDEST
00002938: PUSH1 0x02
0000293a: ADD
0000293b: SLOAD
0000293c: PUSH1 0x01
0000293e: PUSH1 0x01
00002940: PUSH1 0xa0
00002942: SHL
00002943: SUB
00002944: AND
00002945: SWAP1
00002946: POP
00002947: CALLER
00002948: DUP2
00002949: EQ
0000294a: PUSH2 0x2968
0000294d: JUMPI
0000294e: DUP1
0000294f: PUSH1 0x40
00002951: MLOAD
00002952: PUSH4 0xfde82f1f
00002957: PUSH1 0xe0
00002959: SHL
0000295a: DUP2
0000295b: MSTORE
0000295c: PUSH1 0x04
0000295e: ADD
0000295f: PUSH2 0x0dfe
00002962: SWAP2
00002963: SWAP1
00002964: PUSH2 0x4faf
00002967: JUMP
00002968: JUMPDEST
00002969: PUSH0
0000296a: JUMPDEST
0000296b: DUP3
0000296c: MLOAD
0000296d: DUP2
0000296e: LT
0000296f: ISZERO
00002970: PUSH2 0x2052
00002973: JUMPI
00002974: PUSH0
00002975: PUSH2 0x2997
00002978: PUSH0
00002979: DUP6
0000297a: DUP5
0000297b: DUP2
0000297c: MLOAD
0000297d: DUP2
0000297e: LT
0000297f: PUSH2 0x298a
00002982: JUMPI
00002983: PUSH2 0x298a
00002986: PUSH2 0x5692
00002989: JUMP
0000298a: JUMPDEST
0000298b: PUSH1 0x20
0000298d: MUL
0000298e: PUSH1 0x20
00002990: ADD
00002991: ADD
00002992: MLOAD
00002993: PUSH2 0x1cb8
00002996: JUMP
00002997: JUMPDEST
00002998: SWAP1
00002999: POP
0000299a: DUP1
0000299b: ISZERO
0000299c: PUSH2 0x29de
0000299f: JUMPI
000029a0: PUSH2 0x29dc
000029a3: DUP2
000029a4: DUP6
000029a5: DUP5
000029a6: DUP2
000029a7: MLOAD
000029a8: DUP2
000029a9: LT
000029aa: PUSH2 0x29b5
000029ad: JUMPI
000029ae: PUSH2 0x29b5
000029b1: PUSH2 0x5692
000029b4: JUMP
000029b5: JUMPDEST
000029b6: PUSH1 0x20
000029b8: MUL
000029b9: PUSH1 0x20
000029bb: ADD
000029bc: ADD
000029bd: MLOAD
000029be: DUP7
000029bf: DUP6
000029c0: DUP2
000029c1: MLOAD
000029c2: DUP2
000029c3: LT
000029c4: PUSH2 0x29cf
000029c7: JUMPI
000029c8: PUSH2 0x29cf
000029cb: PUSH2 0x5692
000029ce: JUMP
000029cf: JUMPDEST
000029d0: PUSH1 0x20
000029d2: MUL
000029d3: PUSH1 0x20
000029d5: ADD
000029d6: ADD
000029d7: MLOAD
000029d8: PUSH2 0x32e4
000029db: JUMP
000029dc: JUMPDEST
000029dd: POP
000029de: JUMPDEST
000029df: POP
000029e0: PUSH1 0x01
000029e2: ADD
000029e3: PUSH2 0x296a
000029e6: JUMP
000029e7: JUMPDEST
000029e8: PUSH2 0x29ef
000029eb: PUSH2 0x342f
000029ee: JUMP
000029ef: JUMPDEST
000029f0: PUSH32 0x1eee17fbeb6d1c008ca140cc7d787451b233547ba63af138cea3470a1faf33a5
00002a11: PUSH2 0x2a18
00002a14: PUSH2 0x2bf5
00002a17: JUMP
00002a18: JUMPDEST
00002a19: SLOAD
00002a1a: PUSH1 0x40
00002a1c: MLOAD
00002a1d: PUSH2 0x2a31
00002a20: SWAP2
00002a21: PUSH1 0x01
00002a23: PUSH1 0x01
00002a25: PUSH1 0xa0
00002a27: SHL
00002a28: SUB
00002a29: AND
00002a2a: SWAP1
00002a2b: DUP5
00002a2c: SWAP1
00002a2d: PUSH2 0x54b4
00002a30: JUMP
00002a31: JUMPDEST
00002a32: PUSH1 0x40
00002a34: MLOAD
00002a35: DUP1
00002a36: SWAP2
00002a37: SUB
00002a38: SWAP1
00002a39: LOG1
00002a3a: DUP1
00002a3b: PUSH2 0x2a42
00002a3e: PUSH2 0x2bf5
00002a41: JUMP
00002a42: JUMPDEST
00002a43: DUP1
00002a44: SLOAD
00002a45: PUSH1 0x01
00002a47: PUSH1 0x01
00002a49: PUSH1 0xa0
00002a4b: SHL
00002a4c: SUB
00002a4d: NOT
00002a4e: AND
00002a4f: PUSH1 0x01
00002a51: PUSH1 0x01
00002a53: PUSH1 0xa0
00002a55: SHL
00002a56: SUB
00002a57: SWAP3
00002a58: SWAP1
00002a59: SWAP3
00002a5a: AND
00002a5b: SWAP2
00002a5c: SWAP1
00002a5d: SWAP2
00002a5e: OR
00002a5f: SWAP1
00002a60: SSTORE
00002a61: POP
00002a62: JUMP
00002a63: JUMPDEST
00002a64: PUSH2 0x2a6b
00002a67: PUSH2 0x342f
00002a6a: JUMP
00002a6b: JUMPDEST
00002a6c: PUSH0
00002a6d: PUSH2 0x2a74
00002a70: PUSH2 0x4450
00002a73: JUMP
00002a74: JUMPDEST
00002a75: DUP1
00002a76: SLOAD
00002a77: PUSH1 0x01
00002a79: PUSH1 0x01
00002a7b: PUSH1 0xa0
00002a7d: SHL
00002a7e: SUB
00002a7f: NOT
00002a80: AND
00002a81: PUSH1 0x01
00002a83: PUSH1 0x01
00002a85: PUSH1 0xa0
00002a87: SHL
00002a88: SUB
00002a89: DUP5
00002a8a: AND
00002a8b: SWAP1
00002a8c: DUP2
00002a8d: OR
00002a8e: DUP3
00002a8f: SSTORE
00002a90: SWAP1
00002a91: SWAP2
00002a92: POP
00002a93: PUSH2 0x2a9a
00002a96: PUSH2 0x1b9d
00002a99: JUMP
00002a9a: JUMPDEST
00002a9b: PUSH1 0x01
00002a9d: PUSH1 0x01
00002a9f: PUSH1 0xa0
00002aa1: SHL
00002aa2: SUB
00002aa3: AND
00002aa4: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700
00002ac5: PUSH1 0x40
00002ac7: MLOAD
00002ac8: PUSH1 0x40
00002aca: MLOAD
00002acb: DUP1
00002acc: SWAP2
00002acd: SUB
00002ace: SWAP1
00002acf: LOG3
00002ad0: POP
00002ad1: POP
00002ad2: JUMP
00002ad3: JUMPDEST
00002ad4: PUSH0
00002ad5: DUP1
00002ad6: PUSH2 0x2add
00002ad9: PUSH2 0x2b5b
00002adc: JUMP
00002add: JUMPDEST
00002ade: SWAP1
00002adf: POP
00002ae0: DUP4
00002ae1: PUSH0
00002ae2: SUB
00002ae3: PUSH2 0x2b0a
00002ae6: JUMPI
00002ae7: PUSH1 0x01
00002ae9: PUSH1 0x01
00002aeb: PUSH1 0xa0
00002aed: SHL
00002aee: SUB
00002aef: DUP4
00002af0: AND
00002af1: PUSH0
00002af2: SWAP1
00002af3: DUP2
00002af4: MSTORE
00002af5: PUSH1 0x06
00002af7: DUP3
00002af8: ADD
00002af9: PUSH1 0x20
00002afb: MSTORE
00002afc: PUSH1 0x40
00002afe: SWAP1
00002aff: KECCAK256
00002b00: SLOAD
00002b01: PUSH5 0xffffffffff
00002b07: AND
00002b08: SWAP4
00002b09: POP
00002b0a: JUMPDEST
00002b0b: PUSH1 0x02
00002b0d: DUP2
00002b0e: ADD
00002b0f: SLOAD
00002b10: PUSH1 0x01
00002b12: PUSH1 0xc8
00002b14: SHL
00002b15: SWAP1
00002b16: DIV
00002b17: PUSH5 0xffffffffff
00002b1d: AND
00002b1e: DUP5
00002b1f: GT
00002b20: ISZERO
00002b21: PUSH2 0x1072
00002b24: JUMPI
00002b25: PUSH5 0xffffffffff
00002b2b: DUP5
00002b2c: AND
00002b2d: PUSH0
00002b2e: SWAP1
00002b2f: DUP2
00002b30: MSTORE
00002b31: PUSH1 0x03
00002b33: SWAP1
00002b34: SWAP2
00002b35: ADD
00002b36: PUSH1 0x20
00002b38: SWAP1
00002b39: DUP2
00002b3a: MSTORE
00002b3b: PUSH1 0x40
00002b3d: DUP1
00002b3e: DUP4
00002b3f: KECCAK256
00002b40: PUSH1 0x01
00002b42: PUSH1 0x01
00002b44: PUSH1 0xa0
00002b46: SHL
00002b47: SUB
00002b48: DUP7
00002b49: AND
00002b4a: DUP5
00002b4b: MSTORE
00002b4c: PUSH1 0x02
00002b4e: ADD
00002b4f: SWAP1
00002b50: SWAP2
00002b51: MSTORE
00002b52: SWAP1
00002b53: KECCAK256
00002b54: SLOAD
00002b55: SWAP1
00002b56: POP
00002b57: PUSH2 0x0ce4
00002b5a: JUMP
00002b5b: JUMPDEST
00002b5c: PUSH32 0x5c74d456014b1c0eb4368d944667a568313858a3029a650ff0cb7b56f8b57a00
00002b7d: SWAP1
00002b7e: JUMP
00002b7f: JUMPDEST
00002b80: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
00002ba1: SWAP1
00002ba2: JUMP
00002ba3: JUMPDEST
00002ba4: PUSH0
00002ba5: PUSH2 0x0fa5
00002ba8: PUSH2 0x2baf
00002bab: PUSH2 0x0c37
00002bae: JUMP
00002baf: JUMPDEST
00002bb0: PUSH2 0x2bba
00002bb3: SWAP1
00002bb4: PUSH1 0x01
00002bb6: PUSH2 0x5478
00002bb9: JUMP
00002bba: JUMPDEST
00002bbb: PUSH2 0x2bc2
00002bbe: PUSH2 0x4474
00002bc1: JUMP
00002bc2: JUMPDEST
00002bc3: PUSH2 0x2bcd
00002bc6: SWAP1
00002bc7: PUSH1 0x0a
00002bc9: PUSH2 0x5797
00002bcc: JUMP
00002bcd: JUMPDEST
00002bce: PUSH2 0x2bd5
00002bd1: PUSH2 0x0f85
00002bd4: JUMP
00002bd5: JUMPDEST
00002bd6: PUSH2 0x2bdf
00002bd9: SWAP2
00002bda: SWAP1
00002bdb: PUSH2 0x5478
00002bde: JUMP
00002bdf: JUMPDEST
00002be0: DUP6
00002be1: SWAP2
00002be2: SWAP1
00002be3: DUP6
00002be4: PUSH2 0x4490
00002be7: JUMP
00002be8: JUMPDEST
00002be9: PUSH2 0x2052
00002bec: DUP4
00002bed: DUP4
00002bee: DUP4
00002bef: PUSH1 0x01
00002bf1: PUSH2 0x44df
00002bf4: JUMP
00002bf5: JUMPDEST
00002bf6: PUSH32 0x7c302ed2c673c3d6b4551cf74a01ee649f887e14fd20d13dbca1b6099534d900
00002c17: SWAP1
00002c18: JUMP
00002c19: JUMPDEST
00002c1a: PUSH32 0x0e6b3200a60a991c539f47dddaca04a18eb4bcf2b53906fb44751d827f001400
00002c3b: SWAP1
00002c3c: JUMP
00002c3d: JUMPDEST
00002c3e: PUSH2 0x2c45
00002c41: PUSH2 0x34db
00002c44: JUMP
00002c45: JUMPDEST
00002c46: PUSH0
00002c47: PUSH2 0x2c4e
00002c4a: PUSH2 0x2b5b
00002c4d: JUMP
00002c4e: JUMPDEST
00002c4f: PUSH1 0x01
00002c51: DUP1
00002c52: DUP3
00002c53: ADD
00002c54: SLOAD
00002c55: SWAP2
00002c56: SWAP3
00002c57: POP
00002c58: DUP2
00002c59: ADD
00002c5a: PUSH2 0x2c76
00002c5d: JUMPI
00002c5e: PUSH1 0x40
00002c60: MLOAD
00002c61: PUSH4 0x43ec4aed
00002c66: PUSH1 0xe1
00002c68: SHL
00002c69: DUP2
00002c6a: MSTORE
00002c6b: PUSH1 0x04
00002c6d: ADD
00002c6e: PUSH1 0x40
00002c70: MLOAD
00002c71: DUP1
00002c72: SWAP2
00002c73: SUB
00002c74: SWAP1
00002c75: REVERT
00002c76: JUMPDEST
00002c77: DUP1
00002c78: DUP4
00002c79: EQ
00002c7a: PUSH2 0x2c96
00002c7d: JUMPI
00002c7e: PUSH1 0x40
00002c80: MLOAD
00002c81: PUSH4 0x389db72f
00002c86: PUSH1 0xe0
00002c88: SHL
00002c89: DUP2
00002c8a: MSTORE
00002c8b: PUSH1 0x04
00002c8d: ADD
00002c8e: PUSH1 0x40
00002c90: MLOAD
00002c91: DUP1
00002c92: SWAP2
00002c93: SUB
00002c94: SWAP1
00002c95: REVERT
00002c96: JUMPDEST
00002c97: DUP1
00002c98: DUP3
00002c99: SSTORE
00002c9a: PUSH0
00002c9b: NOT
00002c9c: PUSH1 0x01
00002c9e: DUP4
00002c9f: ADD
00002ca0: SSTORE
00002ca1: PUSH1 0x0a
00002ca3: DUP3
00002ca4: ADD
00002ca5: SLOAD
00002ca6: PUSH2 0x2cbf
00002ca9: SWAP1
00002caa: PUSH1 0x01
00002cac: PUSH1 0x80
00002cae: SHL
00002caf: SWAP1
00002cb0: DIV
00002cb1: PUSH1 0x01
00002cb3: PUSH1 0x01
00002cb5: PUSH1 0x80
00002cb7: SHL
00002cb8: SUB
00002cb9: AND
00002cba: TIMESTAMP
00002cbb: PUSH2 0x57a5
00002cbe: JUMP
00002cbf: JUMPDEST
00002cc0: PUSH1 0x0a
00002cc2: DUP4
00002cc3: ADD
00002cc4: DUP1
00002cc5: SLOAD
00002cc6: PUSH1 0x01
00002cc8: PUSH1 0x01
00002cca: PUSH1 0x80
00002ccc: SHL
00002ccd: SUB
00002cce: NOT
00002ccf: AND
00002cd0: PUSH1 0x01
00002cd2: PUSH1 0x01
00002cd4: PUSH1 0x80
00002cd6: SHL
00002cd7: SUB
00002cd8: SWAP3
00002cd9: SWAP1
00002cda: SWAP3
00002cdb: AND
00002cdc: SWAP2
00002cdd: SWAP1
00002cde: SWAP2
00002cdf: OR
00002ce0: SWAP1
00002ce1: SSTORE
00002ce2: PUSH1 0x40
00002ce4: MLOAD
00002ce5: DUP2
00002ce6: DUP2
00002ce7: MSTORE
00002ce8: PUSH32 0xf306601d1bd9ff6895ca817f568f68463b269e4b0cf4710e5f1003592ad29f5c
00002d09: SWAP1
00002d0a: PUSH1 0x20
00002d0c: ADD
00002d0d: JUMPDEST
00002d0e: PUSH1 0x40
00002d10: MLOAD
00002d11: DUP1
00002d12: SWAP2
00002d13: SUB
00002d14: SWAP1
00002d15: LOG1
00002d16: POP
00002d17: POP
00002d18: POP
00002d19: JUMP
00002d1a: JUMPDEST
00002d1b: PUSH0
00002d1c: PUSH2 0x2d23
00002d1f: PUSH2 0x3461
00002d22: JUMP
00002d23: JUMPDEST
00002d24: SWAP1
00002d25: POP
00002d26: PUSH0
00002d27: DUP1
00002d28: PUSH2 0x2d2f
00002d2b: PUSH2 0x45c0
00002d2e: JUMP
00002d2f: JUMPDEST
00002d30: SWAP1
00002d31: SWAP3
00002d32: POP
00002d33: SWAP1
00002d34: POP
00002d35: DUP2
00002d36: ISZERO
00002d37: PUSH2 0x2d54
00002d3a: JUMPI
00002d3b: PUSH2 0x2d44
00002d3e: DUP6
00002d3f: DUP4
00002d40: PUSH2 0x4389
00002d43: JUMP
00002d44: JUMPDEST
00002d45: DUP1
00002d46: ISZERO
00002d47: PUSH2 0x2d54
00002d4a: JUMPI
00002d4b: PUSH2 0x2d54
00002d4e: DUP5
00002d4f: DUP3
00002d50: PUSH2 0x4389
00002d53: JUMP
00002d54: JUMPDEST
00002d55: PUSH0
00002d56: PUSH2 0x2d71
00002d59: PUSH2 0x2d60
00002d5c: PUSH2 0x10cf
00002d5f: JUMP
00002d60: JUMPDEST
00002d61: PUSH2 0x2d6b
00002d64: SWAP1
00002d65: PUSH1 0x0a
00002d67: PUSH2 0x5797
00002d6a: JUMP
00002d6b: JUMPDEST
00002d6c: PUSH0
00002d6d: PUSH2 0x2ba3
00002d70: JUMP
00002d71: JUMPDEST
00002d72: SWAP1
00002d73: POP
00002d74: PUSH2 0x2d7c
00002d77: DUP2
00002d78: PUSH2 0x4719
00002d7b: JUMP
00002d7c: JUMPDEST
00002d7d: TIMESTAMP
00002d7e: DUP5
00002d7f: PUSH1 0x02
00002d81: ADD
00002d82: DUP2
00002d83: SWAP1
00002d84: SSTORE
00002d85: POP
00002d86: POP
00002d87: POP
00002d88: POP
00002d89: POP
00002d8a: POP
00002d8b: POP
00002d8c: JUMP
00002d8d: JUMPDEST
00002d8e: PUSH0
00002d8f: PUSH2 0x2d96
00002d92: PUSH2 0x2b5b
00002d95: JUMP
00002d96: JUMPDEST
00002d97: PUSH1 0x02
00002d99: DUP2
00002d9a: DUP2
00002d9b: ADD
00002d9c: SLOAD
00002d9d: PUSH1 0x01
00002d9f: PUSH1 0x28
00002da1: SHL
00002da2: SWAP1
00002da3: DIV
00002da4: PUSH5 0xffffffffff
00002daa: AND
00002dab: PUSH0
00002dac: DUP2
00002dad: DUP2
00002dae: MSTORE
00002daf: PUSH1 0x04
00002db1: DUP5
00002db2: ADD
00002db3: PUSH1 0x20
00002db5: MSTORE
00002db6: PUSH1 0x40
00002db8: DUP2
00002db9: KECCAK256
00002dba: SWAP1
00002dbb: SWAP3
00002dbc: ADD
00002dbd: SLOAD
00002dbe: SWAP3
00002dbf: SWAP4
00002dc0: POP
00002dc1: SWAP2
00002dc2: SWAP1
00002dc3: DUP2
00002dc4: SWAP1
00002dc5: SUB
00002dc6: PUSH2 0x2dcf
00002dc9: JUMPI
00002dca: POP
00002dcb: POP
00002dcc: POP
00002dcd: POP
00002dce: JUMP
00002dcf: JUMPDEST
00002dd0: PUSH0
00002dd1: PUSH2 0x2dda
00002dd4: DUP3
00002dd5: PUSH0
00002dd6: PUSH2 0x4090
00002dd9: JUMP
00002dda: JUMPDEST
00002ddb: SWAP1
00002ddc: POP
00002ddd: PUSH0
00002dde: PUSH2 0x2de5
00002de1: PUSH2 0x0c37
00002de4: JUMP
00002de5: JUMPDEST
00002de6: SWAP1
00002de7: POP
00002de8: PUSH0
00002de9: PUSH2 0x2df0
00002dec: PUSH2 0x0f85
00002def: JUMP
00002df0: JUMPDEST
00002df1: PUSH1 0x02
00002df3: DUP8
00002df4: DUP2
00002df5: ADD
00002df6: SLOAD
00002df7: SWAP2
00002df8: SWAP3
00002df9: POP
00002dfa: PUSH0
00002dfb: SWAP2
00002dfc: PUSH2 0x2e0c
00002dff: SWAP2
00002e00: SWAP1
00002e01: PUSH5 0xffffffffff
00002e07: AND
00002e08: PUSH2 0x57c4
00002e0b: JUMP
00002e0c: JUMPDEST
00002e0d: PUSH5 0xffffffffff
00002e13: DUP8
00002e14: AND
00002e15: PUSH0
00002e16: SWAP1
00002e17: DUP2
00002e18: MSTORE
00002e19: PUSH1 0x04
00002e1b: DUP10
00002e1c: ADD
00002e1d: PUSH1 0x20
00002e1f: MSTORE
00002e20: PUSH1 0x40
00002e22: SWAP1
00002e23: KECCAK256
00002e24: PUSH1 0x01
00002e26: DUP2
00002e27: ADD
00002e28: DUP6
00002e29: SWAP1
00002e2a: SSTORE
00002e2b: DUP4
00002e2c: DUP2
00002e2d: SSTORE
00002e2e: SWAP1
00002e2f: SWAP2
00002e30: POP
00002e31: PUSH2 0x2e3a
00002e34: ADDRESS
00002e35: DUP7
00002e36: PUSH2 0x4389
00002e39: JUMP
00002e3a: JUMPDEST
00002e3b: PUSH2 0x2e44
00002e3e: DUP7
00002e3f: DUP6
00002e40: PUSH2 0x5478
00002e43: JUMP
00002e44: JUMPDEST
00002e45: SWAP4
00002e46: POP
00002e47: PUSH2 0x2e50
00002e4a: DUP6
00002e4b: DUP5
00002e4c: PUSH2 0x5478
00002e4f: JUMP
00002e50: JUMPDEST
00002e51: DUP5
00002e52: DUP10
00002e53: SSTORE
00002e54: SWAP3
00002e55: POP
00002e56: PUSH2 0x2e60
00002e59: DUP8
00002e5a: PUSH1 0x02
00002e5c: PUSH2 0x57e1
00002e5f: JUMP
00002e60: JUMPDEST
00002e61: PUSH1 0x02
00002e63: DUP10
00002e64: ADD
00002e65: DUP1
00002e66: SLOAD
00002e67: PUSH1 0x01
00002e69: PUSH1 0x28
00002e6b: SHL
00002e6c: PUSH1 0x01
00002e6e: PUSH1 0x78
00002e70: SHL
00002e71: SUB
00002e72: NOT
00002e73: AND
00002e74: PUSH1 0x01
00002e76: PUSH1 0x28
00002e78: SHL
00002e79: PUSH5 0xffffffffff
00002e7f: SWAP4
00002e80: DUP5
00002e81: AND
00002e82: MUL
00002e83: PUSH5 0xffffffffff
00002e89: PUSH1 0x50
00002e8b: SHL
00002e8c: NOT
00002e8d: AND
00002e8e: OR
00002e8f: PUSH1 0x01
00002e91: PUSH1 0x50
00002e93: SHL
00002e94: SWAP3
00002e95: DUP6
00002e96: AND
00002e97: SWAP3
00002e98: SWAP1
00002e99: SWAP3
00002e9a: MUL
00002e9b: SWAP2
00002e9c: SWAP1
00002e9d: SWAP2
00002e9e: OR
00002e9f: SWAP1
00002ea0: SSTORE
00002ea1: PUSH1 0x08
00002ea3: DUP9
00002ea4: ADD
00002ea5: SLOAD
00002ea6: PUSH2 0x2ebc
00002ea9: SWAP1
00002eaa: PUSH1 0x01
00002eac: PUSH1 0x01
00002eae: PUSH1 0xa0
00002eb0: SHL
00002eb1: SUB
00002eb2: AND
00002eb3: DUP11
00002eb4: DUP9
00002eb5: PUSH2 0x0f2c
00002eb8: PUSH2 0x10eb
00002ebb: JUMP
00002ebc: JUMPDEST
00002ebd: DUP7
00002ebe: PUSH5 0xffffffffff
00002ec4: AND
00002ec5: DUP3
00002ec6: PUSH5 0xffffffffff
00002ecc: AND
00002ecd: PUSH32 0x26be8b1af887e484fec2868840869fd162e136268c24803bede886ab91aa29bc
00002eee: DUP7
00002eef: DUP7
00002ef0: DUP11
00002ef1: DUP11
00002ef2: PUSH1 0x40
00002ef4: MLOAD
00002ef5: PUSH2 0x2f01
00002ef8: SWAP5
00002ef9: SWAP4
00002efa: SWAP3
00002efb: SWAP2
00002efc: SWAP1
00002efd: PUSH2 0x57fe
00002f00: JUMP
00002f01: JUMPDEST
00002f02: PUSH1 0x40
00002f04: MLOAD
00002f05: DUP1
00002f06: SWAP2
00002f07: SUB
00002f08: SWAP1
00002f09: LOG3
00002f0a: POP
00002f0b: POP
00002f0c: POP
00002f0d: POP
00002f0e: POP
00002f0f: POP
00002f10: POP
00002f11: POP
00002f12: POP
00002f13: JUMP
00002f14: JUMPDEST
00002f15: PUSH0
00002f16: PUSH2 0x2f1d
00002f19: PUSH2 0x2b5b
00002f1c: JUMP
00002f1d: JUMPDEST
00002f1e: PUSH1 0x02
00002f20: DUP2
00002f21: ADD
00002f22: SLOAD
00002f23: SWAP1
00002f24: SWAP2
00002f25: POP
00002f26: PUSH1 0x01
00002f28: PUSH1 0xa0
00002f2a: SHL
00002f2b: SWAP1
00002f2c: DIV
00002f2d: PUSH5 0xffffffffff
00002f33: AND
00002f34: PUSH0
00002f35: PUSH2 0x2f3c
00002f38: PUSH2 0x10eb
00002f3b: JUMP
00002f3c: JUMPDEST
00002f3d: PUSH5 0xffffffffff
00002f43: DUP4
00002f44: AND
00002f45: PUSH0
00002f46: SWAP1
00002f47: DUP2
00002f48: MSTORE
00002f49: PUSH1 0x04
00002f4b: DUP6
00002f4c: ADD
00002f4d: PUSH1 0x20
00002f4f: MSTORE
00002f50: PUSH1 0x40
00002f52: DUP2
00002f53: KECCAK256
00002f54: PUSH1 0x03
00002f56: ADD
00002f57: SLOAD
00002f58: SWAP2
00002f59: SWAP3
00002f5a: POP
00002f5b: PUSH2 0x2f64
00002f5e: DUP3
00002f5f: DUP3
00002f60: PUSH2 0x2ba3
00002f63: JUMP
00002f64: JUMPDEST
00002f65: SWAP1
00002f66: POP
00002f67: PUSH0
00002f68: DUP4
00002f69: PUSH1 0x01
00002f6b: PUSH1 0x01
00002f6d: PUSH1 0xa0
00002f6f: SHL
00002f70: SUB
00002f71: AND
00002f72: PUSH4 0x70a08231
00002f77: DUP9
00002f78: PUSH1 0x40
00002f7a: MLOAD
00002f7b: DUP3
00002f7c: PUSH4 0xffffffff
00002f81: AND
00002f82: PUSH1 0xe0
00002f84: SHL
00002f85: DUP2
00002f86: MSTORE
00002f87: PUSH1 0x04
00002f89: ADD
00002f8a: PUSH2 0x2f93
00002f8d: SWAP2
00002f8e: SWAP1
00002f8f: PUSH2 0x4faf
00002f92: JUMP
00002f93: JUMPDEST
00002f94: PUSH1 0x20
00002f96: PUSH1 0x40
00002f98: MLOAD
00002f99: DUP1
00002f9a: DUP4
00002f9b: SUB
00002f9c: DUP2
00002f9d: DUP7
00002f9e: GAS
00002f9f: STATICCALL
00002fa0: ISZERO
00002fa1: DUP1
00002fa2: ISZERO
00002fa3: PUSH2 0x2fae
00002fa6: JUMPI
00002fa7: RETURNDATASIZE
00002fa8: PUSH0
00002fa9: DUP1
00002faa: RETURNDATACOPY
00002fab: RETURNDATASIZE
00002fac: PUSH0
00002fad: REVERT
00002fae: JUMPDEST
00002faf: POP
00002fb0: POP
00002fb1: POP
00002fb2: POP
00002fb3: PUSH1 0x40
00002fb5: MLOAD
00002fb6: RETURNDATASIZE
00002fb7: PUSH1 0x1f
00002fb9: NOT
00002fba: PUSH1 0x1f
00002fbc: DUP3
00002fbd: ADD
00002fbe: AND
00002fbf: DUP3
00002fc0: ADD
00002fc1: DUP1
00002fc2: PUSH1 0x40
00002fc4: MSTORE
00002fc5: POP
00002fc6: DUP2
00002fc7: ADD
00002fc8: SWAP1
00002fc9: PUSH2 0x2fd2
00002fcc: SWAP2
00002fcd: SWAP1
00002fce: PUSH2 0x5819
00002fd1: JUMP
00002fd2: JUMPDEST
00002fd3: SWAP1
00002fd4: POP
00002fd5: DUP2
00002fd6: ISZERO
00002fd7: DUP1
00002fd8: PUSH2 0x2fe0
00002fdb: JUMPI
00002fdc: POP
00002fdd: DUP1
00002fde: DUP3
00002fdf: GT
00002fe0: JUMPDEST
00002fe1: ISZERO
00002fe2: PUSH2 0x2fee
00002fe5: JUMPI
00002fe6: POP
00002fe7: POP
00002fe8: POP
00002fe9: POP
00002fea: POP
00002feb: POP
00002fec: POP
00002fed: JUMP
00002fee: JUMPDEST
00002fef: PUSH0
00002ff0: PUSH2 0x2ff7
00002ff3: PUSH2 0x0c37
00002ff6: JUMP
00002ff7: JUMPDEST
00002ff8: SWAP1
00002ff9: POP
00002ffa: PUSH0
00002ffb: PUSH2 0x3002
00002ffe: PUSH2 0x0f85
00003001: JUMP
00003002: JUMPDEST
00003003: PUSH1 0x02
00003005: DUP10
00003006: DUP2
00003007: ADD
00003008: SLOAD
00003009: SWAP2
0000300a: SWAP3
0000300b: POP
0000300c: PUSH0
0000300d: SWAP2
0000300e: PUSH2 0x3025
00003011: SWAP2
00003012: SWAP1
00003013: PUSH1 0x01
00003015: PUSH1 0x78
00003017: SHL
00003018: SWAP1
00003019: DIV
0000301a: PUSH5 0xffffffffff
00003020: AND
00003021: PUSH2 0x57c4
00003024: JUMP
00003025: JUMPDEST
00003026: PUSH5 0xffffffffff
0000302c: DUP10
0000302d: AND
0000302e: PUSH0
0000302f: SWAP1
00003030: DUP2
00003031: MSTORE
00003032: PUSH1 0x04
00003034: DUP12
00003035: ADD
00003036: PUSH1 0x20
00003038: MSTORE
00003039: PUSH1 0x40
0000303b: SWAP1
0000303c: KECCAK256
0000303d: PUSH1 0x01
0000303f: DUP2
00003040: ADD
00003041: DUP6
00003042: SWAP1
00003043: SSTORE
00003044: DUP4
00003045: DUP2
00003046: SSTORE
00003047: PUSH1 0x08
00003049: DUP12
0000304a: ADD
0000304b: SLOAD
0000304c: SWAP2
0000304d: SWAP3
0000304e: POP
0000304f: SWAP1
00003050: PUSH2 0x3062
00003053: SWAP1
00003054: PUSH1 0x01
00003056: PUSH1 0x01
00003058: PUSH1 0xa0
0000305a: SHL
0000305b: SUB
0000305c: AND
0000305d: DUP9
0000305e: PUSH2 0x4772
00003061: JUMP
00003062: JUMPDEST
00003063: PUSH2 0x306c
00003066: DUP7
00003067: DUP6
00003068: PUSH2 0x5830
0000306b: JUMP
0000306c: JUMPDEST
0000306d: SWAP4
0000306e: POP
0000306f: PUSH2 0x3078
00003072: DUP8
00003073: DUP5
00003074: PUSH2 0x5830
00003077: JUMP
00003078: JUMPDEST
00003079: DUP5
0000307a: DUP12
0000307b: SSTORE
0000307c: SWAP3
0000307d: POP
0000307e: PUSH2 0x3088
00003081: DUP10
00003082: PUSH1 0x02
00003084: PUSH2 0x57e1
00003087: JUMP
00003088: JUMPDEST
00003089: PUSH1 0x02
0000308b: DUP12
0000308c: ADD
0000308d: DUP1
0000308e: SLOAD
0000308f: PUSH1 0x01
00003091: PUSH1 0xa0
00003093: SHL
00003094: PUSH1 0x01
00003096: PUSH1 0xf0
00003098: SHL
00003099: SUB
0000309a: NOT
0000309b: AND
0000309c: PUSH1 0x01
0000309e: PUSH1 0xa0
000030a0: SHL
000030a1: PUSH5 0xffffffffff
000030a7: SWAP4
000030a8: DUP5
000030a9: AND
000030aa: MUL
000030ab: PUSH5 0xffffffffff
000030b1: PUSH1 0xc8
000030b3: SHL
000030b4: NOT
000030b5: AND
000030b6: OR
000030b7: PUSH1 0x01
000030b9: PUSH1 0xc8
000030bb: SHL
000030bc: SWAP3
000030bd: DUP6
000030be: AND
000030bf: SWAP3
000030c0: SWAP1
000030c1: SWAP3
000030c2: MUL
000030c3: SWAP2
000030c4: SWAP1
000030c5: SWAP2
000030c6: OR
000030c7: SWAP1
000030c8: SSTORE
000030c9: PUSH2 0x30dd
000030cc: PUSH1 0x01
000030ce: PUSH1 0x01
000030d0: PUSH1 0xa0
000030d2: SHL
000030d3: SUB
000030d4: DUP10
000030d5: AND
000030d6: DUP13
000030d7: ADDRESS
000030d8: DUP10
000030d9: PUSH2 0x3137
000030dc: JUMP
000030dd: JUMPDEST
000030de: DUP9
000030df: PUSH5 0xffffffffff
000030e5: AND
000030e6: DUP3
000030e7: PUSH5 0xffffffffff
000030ed: AND
000030ee: PUSH32 0xa8fe241e26fead168e608ab85aa4e059a34552bad0fc6d98961122cb5a0abefd
0000310f: DUP7
00003110: DUP7
00003111: DUP11
00003112: DUP13
00003113: PUSH1 0x40
00003115: MLOAD
00003116: PUSH2 0x3122
00003119: SWAP5
0000311a: SWAP4
0000311b: SWAP3
0000311c: SWAP2
0000311d: SWAP1
0000311e: PUSH2 0x57fe
00003121: JUMP
00003122: JUMPDEST
00003123: PUSH1 0x40
00003125: MLOAD
00003126: DUP1
00003127: SWAP2
00003128: SUB
00003129: SWAP1
0000312a: LOG3
0000312b: POP
0000312c: POP
0000312d: POP
0000312e: POP
0000312f: POP
00003130: POP
00003131: POP
00003132: POP
00003133: POP
00003134: POP
00003135: POP
00003136: JUMP
00003137: JUMPDEST
00003138: PUSH1 0x40
0000313a: MLOAD
0000313b: PUSH1 0x01
0000313d: PUSH1 0x01
0000313f: PUSH1 0xa0
00003141: SHL
00003142: SUB
00003143: DUP5
00003144: DUP2
00003145: AND
00003146: PUSH1 0x24
00003148: DUP4
00003149: ADD
0000314a: MSTORE
0000314b: DUP4
0000314c: DUP2
0000314d: AND
0000314e: PUSH1 0x44
00003150: DUP4
00003151: ADD
00003152: MSTORE
00003153: PUSH1 0x64
00003155: DUP3
00003156: ADD
00003157: DUP4
00003158: SWAP1
00003159: MSTORE
0000315a: PUSH2 0x19f4
0000315d: SWAP2
0000315e: DUP7
0000315f: SWAP2
00003160: DUP3
00003161: AND
00003162: SWAP1
00003163: PUSH4 0x23b872dd
00003168: SWAP1
00003169: PUSH1 0x84
0000316b: ADD
0000316c: JUMPDEST
0000316d: PUSH1 0x40
0000316f: MLOAD
00003170: PUSH1 0x20
00003172: DUP2
00003173: DUP4
00003174: SUB
00003175: SUB
00003176: DUP2
00003177: MSTORE
00003178: SWAP1
00003179: PUSH1 0x40
0000317b: MSTORE
0000317c: SWAP2
0000317d: POP
0000317e: PUSH1 0xe0
00003180: SHL
00003181: PUSH1 0x20
00003183: DUP3
00003184: ADD
00003185: DUP1
00003186: MLOAD
00003187: PUSH1 0x01
00003189: PUSH1 0x01
0000318b: PUSH1 0xe0
0000318d: SHL
0000318e: SUB
0000318f: DUP4
00003190: DUP2
00003191: DUP4
00003192: AND
00003193: OR
00003194: DUP4
00003195: MSTORE
00003196: POP
00003197: POP
00003198: POP
00003199: POP
0000319a: PUSH2 0x47a6
0000319d: JUMP
0000319e: JUMPDEST
0000319f: PUSH0
000031a0: DUP1
000031a1: PUSH2 0x31a8
000031a4: PUSH2 0x2b5b
000031a7: JUMP
000031a8: JUMPDEST
000031a9: PUSH5 0xffffffffff
000031af: DUP1
000031b0: DUP7
000031b1: AND
000031b2: PUSH0
000031b3: SWAP1
000031b4: DUP2
000031b5: MSTORE
000031b6: PUSH1 0x03
000031b8: DUP4
000031b9: ADD
000031ba: PUSH1 0x20
000031bc: SWAP1
000031bd: DUP2
000031be: MSTORE
000031bf: PUSH1 0x40
000031c1: DUP1
000031c2: DUP4
000031c3: KECCAK256
000031c4: SLOAD
000031c5: SWAP1
000031c6: SWAP4
000031c7: AND
000031c8: DUP1
000031c9: DUP4
000031ca: MSTORE
000031cb: PUSH1 0x04
000031cd: DUP6
000031ce: ADD
000031cf: SWAP1
000031d0: SWAP2
000031d1: MSTORE
000031d2: SWAP2
000031d3: DUP2
000031d4: KECCAK256
000031d5: PUSH1 0x01
000031d7: SWAP1
000031d8: DUP2
000031d9: ADD
000031da: SLOAD
000031db: SWAP4
000031dc: SWAP5
000031dd: POP
000031de: SWAP2
000031df: SWAP3
000031e0: SWAP1
000031e1: SWAP2
000031e2: PUSH2 0x31eb
000031e5: SWAP2
000031e6: SWAP1
000031e7: PUSH2 0x5478
000031ea: JUMP
000031eb: JUMPDEST
000031ec: SWAP1
000031ed: POP
000031ee: PUSH0
000031ef: PUSH2 0x31f6
000031f2: PUSH2 0x4474
000031f5: JUMP
000031f6: JUMPDEST
000031f7: PUSH2 0x3201
000031fa: SWAP1
000031fb: PUSH1 0x0a
000031fd: PUSH2 0x5797
00003200: JUMP
00003201: JUMPDEST
00003202: PUSH5 0xffffffffff
00003208: DUP5
00003209: AND
0000320a: PUSH0
0000320b: SWAP1
0000320c: DUP2
0000320d: MSTORE
0000320e: PUSH1 0x04
00003210: DUP7
00003211: ADD
00003212: PUSH1 0x20
00003214: MSTORE
00003215: PUSH1 0x40
00003217: SWAP1
00003218: KECCAK256
00003219: SLOAD
0000321a: PUSH2 0x3223
0000321d: SWAP2
0000321e: SWAP1
0000321f: PUSH2 0x5478
00003222: JUMP
00003223: JUMPDEST
00003224: SWAP1
00003225: POP
00003226: PUSH2 0x3231
00003229: DUP9
0000322a: DUP4
0000322b: DUP4
0000322c: DUP10
0000322d: PUSH2 0x4490
00003230: JUMP
00003231: JUMPDEST
00003232: SWAP9
00003233: SWAP8
00003234: POP
00003235: POP
00003236: POP
00003237: POP
00003238: POP
00003239: POP
0000323a: POP
0000323b: POP
0000323c: JUMP
0000323d: JUMPDEST
0000323e: PUSH0
0000323f: PUSH2 0x3248
00003242: DUP5
00003243: DUP5
00003244: PUSH2 0x2849
00003247: JUMP
00003248: JUMPDEST
00003249: SWAP1
0000324a: POP
0000324b: PUSH0
0000324c: NOT
0000324d: DUP2
0000324e: EQ
0000324f: PUSH2 0x19f4
00003252: JUMPI
00003253: DUP2
00003254: DUP2
00003255: LT
00003256: ISZERO
00003257: PUSH2 0x3279
0000325a: JUMPI
0000325b: DUP3
0000325c: DUP2
0000325d: DUP4
0000325e: PUSH1 0x40
00003260: MLOAD
00003261: PUSH4 0x7dc7a0d9
00003266: PUSH1 0xe1
00003268: SHL
00003269: DUP2
0000326a: MSTORE
0000326b: PUSH1 0x04
0000326d: ADD
0000326e: PUSH2 0x0dfe
00003271: SWAP4
00003272: SWAP3
00003273: SWAP2
00003274: SWAP1
00003275: PUSH2 0x5843
00003278: JUMP
00003279: JUMPDEST
0000327a: PUSH2 0x19f4
0000327d: DUP5
0000327e: DUP5
0000327f: DUP5
00003280: DUP5
00003281: SUB
00003282: PUSH0
00003283: PUSH2 0x44df
00003286: JUMP
00003287: JUMPDEST
00003288: PUSH1 0x01
0000328a: PUSH1 0x01
0000328c: PUSH1 0xa0
0000328e: SHL
0000328f: SUB
00003290: DUP4
00003291: AND
00003292: PUSH2 0x32b0
00003295: JUMPI
00003296: PUSH0
00003297: PUSH1 0x40
00003299: MLOAD
0000329a: PUSH4 0x4b637e8f
0000329f: PUSH1 0xe1
000032a1: SHL
000032a2: DUP2
000032a3: MSTORE
000032a4: PUSH1 0x04
000032a6: ADD
000032a7: PUSH2 0x0dfe
000032aa: SWAP2
000032ab: SWAP1
000032ac: PUSH2 0x4faf
000032af: JUMP
000032b0: JUMPDEST
000032b1: PUSH1 0x01
000032b3: PUSH1 0x01
000032b5: PUSH1 0xa0
000032b7: SHL
000032b8: SUB
000032b9: DUP3
000032ba: AND
000032bb: PUSH2 0x32d9
000032be: JUMPI
000032bf: PUSH0
000032c0: PUSH1 0x40
000032c2: MLOAD
000032c3: PUSH4 0xec442f05
000032c8: PUSH1 0xe0
000032ca: SHL
000032cb: DUP2
000032cc: MSTORE
000032cd: PUSH1 0x04
000032cf: ADD
000032d0: PUSH2 0x0dfe
000032d3: SWAP2
000032d4: SWAP1
000032d5: PUSH2 0x4faf
000032d8: JUMP
000032d9: JUMPDEST
000032da: PUSH2 0x2052
000032dd: DUP4
000032de: DUP4
000032df: DUP4
000032e0: PUSH2 0x47fe
000032e3: JUMP
000032e4: JUMPDEST
000032e5: PUSH0
000032e6: DUP1
000032e7: PUSH2 0x32ee
000032ea: PUSH2 0x2b5b
000032ed: JUMP
000032ee: JUMPDEST
000032ef: PUSH1 0x01
000032f1: PUSH1 0x01
000032f3: PUSH1 0xa0
000032f5: SHL
000032f6: SUB
000032f7: DUP5
000032f8: AND
000032f9: PUSH0
000032fa: SWAP1
000032fb: DUP2
000032fc: MSTORE
000032fd: PUSH1 0x05
000032ff: DUP3
00003300: ADD
00003301: PUSH1 0x20
00003303: MSTORE
00003304: PUSH1 0x40
00003306: SWAP1
00003307: KECCAK256
00003308: SLOAD
00003309: PUSH1 0x02
0000330b: DUP3
0000330c: ADD
0000330d: SLOAD
0000330e: SWAP2
0000330f: SWAP3
00003310: POP
00003311: PUSH5 0xffffffffff
00003317: SWAP1
00003318: DUP2
00003319: AND
0000331a: SWAP2
0000331b: PUSH1 0x01
0000331d: PUSH1 0x50
0000331f: SHL
00003320: SWAP1
00003321: DIV
00003322: AND
00003323: DUP2
00003324: GT
00003325: ISZERO
00003326: PUSH2 0x3342
00003329: JUMPI
0000332a: PUSH1 0x40
0000332c: MLOAD
0000332d: PUSH4 0x912d1a73
00003332: PUSH1 0xe0
00003334: SHL
00003335: DUP2
00003336: MSTORE
00003337: PUSH1 0x04
00003339: ADD
0000333a: PUSH1 0x40
0000333c: MLOAD
0000333d: DUP1
0000333e: SWAP2
0000333f: SUB
00003340: SWAP1
00003341: REVERT
00003342: JUMPDEST
00003343: PUSH5 0xffffffffff
00003349: DUP2
0000334a: AND
0000334b: PUSH0
0000334c: SWAP1
0000334d: DUP2
0000334e: MSTORE
0000334f: PUSH1 0x03
00003351: DUP4
00003352: ADD
00003353: PUSH1 0x20
00003355: SWAP1
00003356: DUP2
00003357: MSTORE
00003358: PUSH1 0x40
0000335a: DUP1
0000335b: DUP4
0000335c: KECCAK256
0000335d: PUSH1 0x01
0000335f: PUSH1 0x01
00003361: PUSH1 0xa0
00003363: SHL
00003364: SUB
00003365: DUP9
00003366: AND
00003367: DUP5
00003368: MSTORE
00003369: PUSH1 0x01
0000336b: ADD
0000336c: SWAP1
0000336d: SWAP2
0000336e: MSTORE
0000336f: DUP2
00003370: KECCAK256
00003371: DUP1
00003372: SLOAD
00003373: DUP9
00003374: SWAP3
00003375: SWAP1
00003376: PUSH2 0x3380
00003379: SWAP1
0000337a: DUP5
0000337b: SWAP1
0000337c: PUSH2 0x5830
0000337f: JUMP
00003380: JUMPDEST
00003381: SWAP1
00003382: SWAP2
00003383: SSTORE
00003384: POP
00003385: PUSH2 0x3397
00003388: SWAP1
00003389: POP
0000338a: DUP7
0000338b: PUSH5 0xffffffffff
00003391: DUP4
00003392: AND
00003393: PUSH2 0x283d
00003396: JUMP
00003397: JUMPDEST
00003398: SWAP3
00003399: POP
0000339a: PUSH2 0x33a4
0000339d: ADDRESS
0000339e: DUP7
0000339f: DUP6
000033a0: PUSH2 0x3287
000033a3: JUMP
000033a4: JUMPDEST
000033a5: DUP5
000033a6: PUSH1 0x01
000033a8: PUSH1 0x01
000033aa: PUSH1 0xa0
000033ac: SHL
000033ad: SUB
000033ae: AND
000033af: DUP5
000033b0: PUSH1 0x01
000033b2: PUSH1 0x01
000033b4: PUSH1 0xa0
000033b6: SHL
000033b7: SUB
000033b8: AND
000033b9: PUSH0
000033ba: DUP1
000033bb: MLOAD
000033bc: PUSH1 0x20
000033be: PUSH2 0x5f7f
000033c1: DUP4
000033c2: CODECOPY
000033c3: DUP2
000033c4: MLOAD
000033c5: SWAP2
000033c6: MSTORE
000033c7: DUP9
000033c8: DUP7
000033c9: PUSH1 0x40
000033cb: MLOAD
000033cc: PUSH2 0x33d6
000033cf: SWAP3
000033d0: SWAP2
000033d1: SWAP1
000033d2: PUSH2 0x56a6
000033d5: JUMP
000033d6: JUMPDEST
000033d7: PUSH1 0x40
000033d9: MLOAD
000033da: DUP1
000033db: SWAP2
000033dc: SUB
000033dd: SWAP1
000033de: LOG3
000033df: POP
000033e0: POP
000033e1: SWAP4
000033e2: SWAP3
000033e3: POP
000033e4: POP
000033e5: POP
000033e6: JUMP
000033e7: JUMPDEST
000033e8: PUSH32 0x0773e532dfede91f04b12a73d3d2acd361424f41f76b4fb79f090161e36b4e00
00003409: SWAP1
0000340a: JUMP
0000340b: JUMPDEST
0000340c: PUSH32 0x083cc98ab296d1a1f01854b5f7a2f47df4425a56ba7b35f7faa3a336067e4800
0000342d: SWAP1
0000342e: JUMP
0000342f: JUMPDEST
00003430: CALLER
00003431: PUSH2 0x3438
00003434: PUSH2 0x1b9d
00003437: JUMP
00003438: JUMPDEST
00003439: PUSH1 0x01
0000343b: PUSH1 0x01
0000343d: PUSH1 0xa0
0000343f: SHL
00003440: SUB
00003441: AND
00003442: EQ
00003443: PUSH2 0x1313
00003446: JUMPI
00003447: CALLER
00003448: PUSH1 0x40
0000344a: MLOAD
0000344b: PUSH4 0x118cdaa7
00003450: PUSH1 0xe0
00003452: SHL
00003453: DUP2
00003454: MSTORE
00003455: PUSH1 0x04
00003457: ADD
00003458: PUSH2 0x0dfe
0000345b: SWAP2
0000345c: SWAP1
0000345d: PUSH2 0x4faf
00003460: JUMP
00003461: JUMPDEST
00003462: PUSH32 0xa5292f7ccd85acc1b3080c01f5da9af7799f2c26826bd4d79081d6511780bd00
00003483: SWAP1
00003484: JUMP
00003485: JUMPDEST
00003486: PUSH2 0x348d
00003489: PUSH2 0x4809
0000348c: JUMP
0000348d: JUMPDEST
0000348e: PUSH0
0000348f: PUSH2 0x3496
00003492: PUSH2 0x3501
00003495: JUMP
00003496: JUMPDEST
00003497: DUP1
00003498: SLOAD
00003499: PUSH1 0xff
0000349b: NOT
0000349c: AND
0000349d: DUP2
0000349e: SSTORE
0000349f: SWAP1
000034a0: POP
000034a1: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
000034c2: CALLER
000034c3: JUMPDEST
000034c4: PUSH1 0x40
000034c6: MLOAD
000034c7: PUSH2 0x34d0
000034ca: SWAP2
000034cb: SWAP1
000034cc: PUSH2 0x4faf
000034cf: JUMP
000034d0: JUMPDEST
000034d1: PUSH1 0x40
000034d3: MLOAD
000034d4: DUP1
000034d5: SWAP2
000034d6: SUB
000034d7: SWAP1
000034d8: LOG1
000034d9: POP
000034da: JUMP
000034db: JUMPDEST
000034dc: PUSH2 0x34e3
000034df: PUSH2 0x13de
000034e2: JUMP
000034e3: JUMPDEST
000034e4: ISZERO
000034e5: PUSH2 0x1313
000034e8: JUMPI
000034e9: PUSH1 0x40
000034eb: MLOAD
000034ec: PUSH4 0xd93c0665
000034f1: PUSH1 0xe0
000034f3: SHL
000034f4: DUP2
000034f5: MSTORE
000034f6: PUSH1 0x04
000034f8: ADD
000034f9: PUSH1 0x40
000034fb: MLOAD
000034fc: DUP1
000034fd: SWAP2
000034fe: SUB
000034ff: SWAP1
00003500: REVERT
00003501: JUMPDEST
00003502: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300
00003523: SWAP1
00003524: JUMP
00003525: JUMPDEST
00003526: PUSH0
00003527: CALLER
00003528: PUSH1 0x01
0000352a: PUSH1 0x01
0000352c: PUSH1 0xa0
0000352e: SHL
0000352f: SUB
00003530: DUP4
00003531: AND
00003532: EQ
00003533: DUP1
00003534: ISZERO
00003535: SWAP1
00003536: PUSH2 0x3546
00003539: JUMPI
0000353a: POP
0000353b: PUSH2 0x3544
0000353e: DUP3
0000353f: CALLER
00003540: PUSH2 0x217a
00003543: JUMP
00003544: JUMPDEST
00003545: ISZERO
00003546: JUMPDEST
00003547: ISZERO
00003548: PUSH2 0x3556
0000354b: JUMPI
0000354c: PUSH2 0x3556
0000354f: DUP3
00003550: CALLER
00003551: DUP7
00003552: PUSH2 0x323d
00003555: JUMP
00003556: JUMPDEST
00003557: PUSH0
00003558: PUSH2 0x355f
0000355b: PUSH2 0x2b5b
0000355e: JUMP
0000355f: JUMPDEST
00003560: SWAP1
00003561: POP
00003562: PUSH0
00003563: PUSH2 0x356c
00003566: PUSH0
00003567: DUP7
00003568: PUSH2 0x288d
0000356b: JUMP
0000356c: JUMPDEST
0000356d: SWAP1
0000356e: POP
0000356f: DUP1
00003570: ISZERO
00003571: PUSH2 0x3581
00003574: JUMPI
00003575: PUSH2 0x357f
00003578: DUP2
00003579: DUP7
0000357a: DUP8
0000357b: PUSH2 0x4291
0000357e: JUMP
0000357f: JUMPDEST
00003580: POP
00003581: JUMPDEST
00003582: PUSH1 0x02
00003584: DUP3
00003585: ADD
00003586: SLOAD
00003587: PUSH1 0x01
00003589: PUSH1 0x01
0000358b: PUSH1 0xa0
0000358d: SHL
0000358e: SUB
0000358f: DUP7
00003590: AND
00003591: PUSH0
00003592: SWAP1
00003593: DUP2
00003594: MSTORE
00003595: PUSH1 0x06
00003597: DUP5
00003598: ADD
00003599: PUSH1 0x20
0000359b: MSTORE
0000359c: PUSH1 0x40
0000359e: SWAP1
0000359f: KECCAK256
000035a0: SLOAD
000035a1: PUSH5 0xffffffffff
000035a7: PUSH1 0x01
000035a9: PUSH1 0x78
000035ab: SHL
000035ac: SWAP1
000035ad: SWAP3
000035ae: DIV
000035af: DUP3
000035b0: AND
000035b1: SWAP2
000035b2: AND
000035b3: DUP2
000035b4: EQ
000035b5: PUSH2 0x3611
000035b8: JUMPI
000035b9: PUSH0
000035ba: PUSH2 0x35c3
000035bd: PUSH0
000035be: DUP9
000035bf: PUSH2 0x2ad3
000035c2: JUMP
000035c3: JUMPDEST
000035c4: GT
000035c5: ISZERO
000035c6: PUSH2 0x35e2
000035c9: JUMPI
000035ca: PUSH1 0x40
000035cc: MLOAD
000035cd: PUSH4 0xcadcefcf
000035d2: PUSH1 0xe0
000035d4: SHL
000035d5: DUP2
000035d6: MSTORE
000035d7: PUSH1 0x04
000035d9: ADD
000035da: PUSH1 0x40
000035dc: MLOAD
000035dd: DUP1
000035de: SWAP2
000035df: SUB
000035e0: SWAP1
000035e1: REVERT
000035e2: JUMPDEST
000035e3: PUSH1 0x01
000035e5: PUSH1 0x01
000035e7: PUSH1 0xa0
000035e9: SHL
000035ea: SUB
000035eb: DUP7
000035ec: AND
000035ed: PUSH0
000035ee: SWAP1
000035ef: DUP2
000035f0: MSTORE
000035f1: PUSH1 0x06
000035f3: DUP5
000035f4: ADD
000035f5: PUSH1 0x20
000035f7: MSTORE
000035f8: PUSH1 0x40
000035fa: SWAP1
000035fb: KECCAK256
000035fc: DUP1
000035fd: SLOAD
000035fe: PUSH5 0xffffffffff
00003604: NOT
00003605: AND
00003606: PUSH5 0xffffffffff
0000360c: DUP4
0000360d: AND
0000360e: OR
0000360f: SWAP1
00003610: SSTORE
00003611: JUMPDEST
00003612: PUSH5 0xffffffffff
00003618: DUP2
00003619: AND
0000361a: PUSH0
0000361b: SWAP1
0000361c: DUP2
0000361d: MSTORE
0000361e: PUSH1 0x03
00003620: DUP5
00003621: ADD
00003622: PUSH1 0x20
00003624: SWAP1
00003625: DUP2
00003626: MSTORE
00003627: PUSH1 0x40
00003629: DUP1
0000362a: DUP4
0000362b: KECCAK256
0000362c: PUSH1 0x01
0000362e: PUSH1 0x01
00003630: PUSH1 0xa0
00003632: SHL
00003633: SUB
00003634: DUP11
00003635: AND
00003636: DUP5
00003637: MSTORE
00003638: PUSH1 0x02
0000363a: ADD
0000363b: SWAP1
0000363c: SWAP2
0000363d: MSTORE
0000363e: DUP2
0000363f: KECCAK256
00003640: DUP1
00003641: SLOAD
00003642: DUP10
00003643: SWAP3
00003644: SWAP1
00003645: PUSH2 0x364f
00003648: SWAP1
00003649: DUP5
0000364a: SWAP1
0000364b: PUSH2 0x5478
0000364e: JUMP
0000364f: JUMPDEST
00003650: SWAP1
00003651: SWAP2
00003652: SSTORE
00003653: POP
00003654: POP
00003655: PUSH1 0x08
00003657: DUP4
00003658: ADD
00003659: SLOAD
0000365a: PUSH2 0x366e
0000365d: SWAP1
0000365e: DUP7
0000365f: SWAP1
00003660: PUSH1 0x01
00003662: PUSH1 0x01
00003664: PUSH1 0xa0
00003666: SHL
00003667: SUB
00003668: AND
00003669: DUP10
0000366a: PUSH2 0x47fe
0000366d: JUMP
0000366e: JUMPDEST
0000366f: DUP1
00003670: PUSH5 0xffffffffff
00003676: AND
00003677: DUP6
00003678: PUSH1 0x01
0000367a: PUSH1 0x01
0000367c: PUSH1 0xa0
0000367e: SHL
0000367f: SUB
00003680: AND
00003681: DUP8
00003682: PUSH1 0x01
00003684: PUSH1 0x01
00003686: PUSH1 0xa0
00003688: SHL
00003689: SUB
0000368a: AND
0000368b: PUSH32 0x1fdc681a13d8c5da54e301c7ce6542dcde4581e4725043fdab2db12ddc574506
000036ac: CALLER
000036ad: DUP12
000036ae: PUSH1 0x40
000036b0: MLOAD
000036b1: PUSH2 0x36bb
000036b4: SWAP3
000036b5: SWAP2
000036b6: SWAP1
000036b7: PUSH2 0x5864
000036ba: JUMP
000036bb: JUMPDEST
000036bc: PUSH1 0x40
000036be: MLOAD
000036bf: DUP1
000036c0: SWAP2
000036c1: SUB
000036c2: SWAP1
000036c3: LOG4
000036c4: PUSH5 0xffffffffff
000036ca: AND
000036cb: SWAP7
000036cc: SWAP6
000036cd: POP
000036ce: POP
000036cf: POP
000036d0: POP
000036d1: POP
000036d2: POP
000036d3: JUMP
000036d4: JUMPDEST
000036d5: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000036f6: SWAP1
000036f7: JUMP
000036f8: JUMPDEST
000036f9: PUSH2 0x3700
000036fc: PUSH2 0x482e
000036ff: JUMP
00003700: JUMPDEST
00003701: PUSH2 0x187f
00003704: DUP2
00003705: PUSH2 0x4853
00003708: JUMP
00003709: JUMPDEST
0000370a: PUSH2 0x3711
0000370d: PUSH2 0x482e
00003710: JUMP
00003711: JUMPDEST
00003712: PUSH0
00003713: PUSH2 0x371a
00003716: PUSH2 0x2bf5
00003719: JUMP
0000371a: JUMPDEST
0000371b: DUP3
0000371c: MLOAD
0000371d: DUP2
0000371e: SLOAD
0000371f: PUSH1 0x01
00003721: PUSH1 0x01
00003723: PUSH1 0xa0
00003725: SHL
00003726: SUB
00003727: NOT
00003728: SWAP1
00003729: DUP2
0000372a: AND
0000372b: PUSH1 0x01
0000372d: PUSH1 0x01
0000372f: PUSH1 0xa0
00003731: SHL
00003732: SUB
00003733: SWAP3
00003734: DUP4
00003735: AND
00003736: OR
00003737: DUP4
00003738: SSTORE
00003739: PUSH1 0x20
0000373b: DUP6
0000373c: ADD
0000373d: MLOAD
0000373e: PUSH1 0x01
00003740: DUP5
00003741: ADD
00003742: DUP1
00003743: SLOAD
00003744: DUP4
00003745: AND
00003746: SWAP2
00003747: DUP5
00003748: AND
00003749: SWAP2
0000374a: SWAP1
0000374b: SWAP2
0000374c: OR
0000374d: SWAP1
0000374e: SSTORE
0000374f: PUSH1 0x40
00003751: DUP6
00003752: ADD
00003753: MLOAD
00003754: PUSH1 0x02
00003756: DUP5
00003757: ADD
00003758: DUP1
00003759: SLOAD
0000375a: DUP4
0000375b: AND
0000375c: SWAP2
0000375d: DUP5
0000375e: AND
0000375f: SWAP2
00003760: SWAP1
00003761: SWAP2
00003762: OR
00003763: SWAP1
00003764: SSTORE
00003765: PUSH1 0x60
00003767: DUP6
00003768: ADD
00003769: MLOAD
0000376a: PUSH1 0x03
0000376c: DUP5
0000376d: ADD
0000376e: DUP1
0000376f: SLOAD
00003770: DUP4
00003771: AND
00003772: SWAP2
00003773: DUP5
00003774: AND
00003775: SWAP2
00003776: SWAP1
00003777: SWAP2
00003778: OR
00003779: SWAP1
0000377a: SSTORE
0000377b: PUSH1 0x80
0000377d: SWAP1
0000377e: SWAP5
0000377f: ADD
00003780: MLOAD
00003781: PUSH1 0x04
00003783: SWAP1
00003784: SWAP3
00003785: ADD
00003786: DUP1
00003787: SLOAD
00003788: SWAP1
00003789: SWAP5
0000378a: AND
0000378b: SWAP2
0000378c: AND
0000378d: OR
0000378e: SWAP1
0000378f: SWAP2
00003790: SSTORE
00003791: POP
00003792: JUMP
00003793: JUMPDEST
00003794: PUSH2 0x379b
00003797: PUSH2 0x482e
0000379a: JUMP
0000379b: JUMPDEST
0000379c: PUSH2 0x20a7
0000379f: DUP3
000037a0: DUP3
000037a1: PUSH2 0x4884
000037a4: JUMP
000037a5: JUMPDEST
000037a6: PUSH2 0x37ad
000037a9: PUSH2 0x482e
000037ac: JUMP
000037ad: JUMPDEST
000037ae: PUSH2 0x1313
000037b1: PUSH2 0x48b4
000037b4: JUMP
000037b5: JUMPDEST
000037b6: PUSH2 0x37bd
000037b9: PUSH2 0x482e
000037bc: JUMP
000037bd: JUMPDEST
000037be: PUSH2 0x187f
000037c1: DUP2
000037c2: PUSH2 0x48d0
000037c5: JUMP
000037c6: JUMPDEST
000037c7: PUSH2 0x37ce
000037ca: PUSH2 0x482e
000037cd: JUMP
000037ce: JUMPDEST
000037cf: PUSH0
000037d0: PUSH2 0x37d7
000037d3: PUSH2 0x2b5b
000037d6: JUMP
000037d7: JUMPDEST
000037d8: PUSH1 0x02
000037da: DUP2
000037db: ADD
000037dc: DUP1
000037dd: SLOAD
000037de: PUSH1 0x01
000037e0: PUSH5 0xffffffffff
000037e6: PUSH1 0x50
000037e8: SHL
000037e9: ADD
000037ea: PUSH1 0x01
000037ec: PUSH1 0xc8
000037ee: SHL
000037ef: SUB
000037f0: NOT
000037f1: AND
000037f2: PUSH6 0x010000000001
000037f9: PUSH6 0x010000000001
00003800: PUSH1 0x79
00003802: SHL
00003803: ADD
00003804: OR
00003805: SWAP1
00003806: SSTORE
00003807: PUSH1 0x40
00003809: MLOAD
0000380a: SWAP1
0000380b: SWAP2
0000380c: POP
0000380d: DUP4
0000380e: SWAP1
0000380f: DUP4
00003810: SWAP1
00003811: PUSH2 0x3819
00003814: SWAP1
00003815: PUSH2 0x4ed1
00003818: JUMP
00003819: JUMPDEST
0000381a: PUSH2 0x3824
0000381d: SWAP3
0000381e: SWAP2
0000381f: SWAP1
00003820: PUSH2 0x54b4
00003823: JUMP
00003824: JUMPDEST
00003825: PUSH1 0x40
00003827: MLOAD
00003828: DUP1
00003829: SWAP2
0000382a: SUB
0000382b: SWAP1
0000382c: PUSH0
0000382d: CREATE
0000382e: DUP1
0000382f: ISZERO
00003830: DUP1
00003831: ISZERO
00003832: PUSH2 0x383d
00003835: JUMPI
00003836: RETURNDATASIZE
00003837: PUSH0
00003838: DUP1
00003839: RETURNDATACOPY
0000383a: RETURNDATASIZE
0000383b: PUSH0
0000383c: REVERT
0000383d: JUMPDEST
0000383e: POP
0000383f: PUSH1 0x08
00003841: DUP3
00003842: ADD
00003843: DUP1
00003844: SLOAD
00003845: PUSH1 0x01
00003847: PUSH1 0x01
00003849: PUSH1 0xa0
0000384b: SHL
0000384c: SUB
0000384d: NOT
0000384e: SWAP1
0000384f: DUP2
00003850: AND
00003851: PUSH1 0x01
00003853: PUSH1 0x01
00003855: PUSH1 0xa0
00003857: SHL
00003858: SUB
00003859: SWAP4
0000385a: DUP5
0000385b: AND
0000385c: OR
0000385d: SWAP1
0000385e: SWAP2
0000385f: SSTORE
00003860: PUSH1 0x09
00003862: DUP4
00003863: ADD
00003864: DUP1
00003865: SLOAD
00003866: SWAP1
00003867: SWAP2
00003868: AND
00003869: SWAP2
0000386a: DUP5
0000386b: AND
0000386c: SWAP2
0000386d: SWAP1
0000386e: SWAP2
0000386f: OR
00003870: SWAP1
00003871: SSTORE
00003872: PUSH0
00003873: NOT
00003874: PUSH1 0x01
00003876: DUP3
00003877: ADD
00003878: SSTORE
00003879: PUSH0
0000387a: PUSH2 0x3881
0000387d: PUSH2 0x10eb
00003880: JUMP
00003881: JUMPDEST
00003882: PUSH1 0x01
00003884: PUSH1 0x01
00003886: PUSH1 0xa0
00003888: SHL
00003889: SUB
0000388a: AND
0000388b: PUSH4 0x313ce567
00003890: PUSH1 0x40
00003892: MLOAD
00003893: DUP2
00003894: PUSH4 0xffffffff
00003899: AND
0000389a: PUSH1 0xe0
0000389c: SHL
0000389d: DUP2
0000389e: MSTORE
0000389f: PUSH1 0x04
000038a1: ADD
000038a2: PUSH1 0x20
000038a4: PUSH1 0x40
000038a6: MLOAD
000038a7: DUP1
000038a8: DUP4
000038a9: SUB
000038aa: DUP2
000038ab: DUP7
000038ac: GAS
000038ad: STATICCALL
000038ae: ISZERO
000038af: DUP1
000038b0: ISZERO
000038b1: PUSH2 0x38bc
000038b4: JUMPI
000038b5: RETURNDATASIZE
000038b6: PUSH0
000038b7: DUP1
000038b8: RETURNDATACOPY
000038b9: RETURNDATASIZE
000038ba: PUSH0
000038bb: REVERT
000038bc: JUMPDEST
000038bd: POP
000038be: POP
000038bf: POP
000038c0: POP
000038c1: PUSH1 0x40
000038c3: MLOAD
000038c4: RETURNDATASIZE
000038c5: PUSH1 0x1f
000038c7: NOT
000038c8: PUSH1 0x1f
000038ca: DUP3
000038cb: ADD
000038cc: AND
000038cd: DUP3
000038ce: ADD
000038cf: DUP1
000038d0: PUSH1 0x40
000038d2: MSTORE
000038d3: POP
000038d4: DUP2
000038d5: ADD
000038d6: SWAP1
000038d7: PUSH2 0x38e0
000038da: SWAP2
000038db: SWAP1
000038dc: PUSH2 0x5672
000038df: JUMP
000038e0: JUMPDEST
000038e1: SWAP1
000038e2: POP
000038e3: PUSH1 0x12
000038e5: DUP2
000038e6: PUSH1 0xff
000038e8: AND
000038e9: LT
000038ea: PUSH2 0x390c
000038ed: JUMPI
000038ee: PUSH1 0x09
000038f0: DUP3
000038f1: ADD
000038f2: DUP1
000038f3: SLOAD
000038f4: PUSH1 0xff
000038f6: PUSH1 0xa0
000038f8: SHL
000038f9: NOT
000038fa: AND
000038fb: PUSH1 0x01
000038fd: PUSH1 0xa0
000038ff: SHL
00003900: PUSH1 0xff
00003902: DUP5
00003903: AND
00003904: MUL
00003905: OR
00003906: SWAP1
00003907: SSTORE
00003908: PUSH2 0x19f4
0000390b: JUMP
0000390c: JUMPDEST
0000390d: PUSH1 0x09
0000390f: DUP3
00003910: ADD
00003911: DUP1
00003912: SLOAD
00003913: PUSH1 0x12
00003915: DUP4
00003916: SWAP1
00003917: SUB
00003918: PUSH1 0xff
0000391a: AND
0000391b: PUSH1 0x01
0000391d: PUSH1 0xa8
0000391f: SHL
00003920: MUL
00003921: PUSH2 0xffff
00003924: PUSH1 0xa0
00003926: SHL
00003927: NOT
00003928: SWAP1
00003929: SWAP2
0000392a: AND
0000392b: OR
0000392c: PUSH1 0x09
0000392e: PUSH1 0xa1
00003930: SHL
00003931: OR
00003932: SWAP1
00003933: SSTORE
00003934: POP
00003935: POP
00003936: POP
00003937: POP
00003938: JUMP
00003939: JUMPDEST
0000393a: PUSH2 0x3941
0000393d: PUSH2 0x482e
00003940: JUMP
00003941: JUMPDEST
00003942: DUP1
00003943: ISZERO
00003944: PUSH2 0x187f
00003947: JUMPI
00003948: PUSH0
00003949: PUSH2 0x3950
0000394c: PUSH2 0x340b
0000394f: JUMP
00003950: JUMPDEST
00003951: PUSH1 0x01
00003953: SWAP1
00003954: DUP2
00003955: ADD
00003956: DUP1
00003957: SLOAD
00003958: PUSH1 0xff
0000395a: NOT
0000395b: AND
0000395c: SWAP1
0000395d: SWAP2
0000395e: OR
0000395f: SWAP1
00003960: SSTORE
00003961: POP
00003962: POP
00003963: JUMP
00003964: JUMPDEST
00003965: PUSH2 0x396c
00003968: PUSH2 0x482e
0000396b: JUMP
0000396c: JUMPDEST
0000396d: PUSH2 0x03e8
00003970: PUSH2 0xffff
00003973: DUP6
00003974: AND
00003975: GT
00003976: ISZERO
00003977: PUSH2 0x3997
0000397a: JUMPI
0000397b: PUSH2 0x03e8
0000397e: PUSH1 0x40
00003980: MLOAD
00003981: PUSH4 0x03430969
00003986: PUSH1 0xe3
00003988: SHL
00003989: DUP2
0000398a: MSTORE
0000398b: PUSH1 0x04
0000398d: ADD
0000398e: PUSH2 0x0dfe
00003991: SWAP2
00003992: SWAP1
00003993: PUSH2 0x5001
00003996: JUMP
00003997: JUMPDEST
00003998: PUSH2 0x1388
0000399b: PUSH2 0xffff
0000399e: DUP5
0000399f: AND
000039a0: GT
000039a1: ISZERO
000039a2: PUSH2 0x39c2
000039a5: JUMPI
000039a6: PUSH2 0x1388
000039a9: PUSH1 0x40
000039ab: MLOAD
000039ac: PUSH4 0x03430969
000039b1: PUSH1 0xe3
000039b3: SHL
000039b4: DUP2
000039b5: MSTORE
000039b6: PUSH1 0x04
000039b8: ADD
000039b9: PUSH2 0x0dfe
000039bc: SWAP2
000039bd: SWAP1
000039be: PUSH2 0x5001
000039c1: JUMP
000039c2: JUMPDEST
000039c3: PUSH0
000039c4: PUSH2 0x39cb
000039c7: PUSH2 0x3461
000039ca: JUMP
000039cb: JUMPDEST
000039cc: TIMESTAMP
000039cd: PUSH1 0x01
000039cf: DUP3
000039d0: ADD
000039d1: SSTORE
000039d2: PUSH1 0x04
000039d4: DUP2
000039d5: ADD
000039d6: DUP4
000039d7: SWAP1
000039d8: SSTORE
000039d9: DUP1
000039da: SLOAD
000039db: PUSH1 0x01
000039dd: PUSH1 0x01
000039df: PUSH1 0xa0
000039e1: SHL
000039e2: SUB
000039e3: NOT
000039e4: AND
000039e5: PUSH1 0x01
000039e7: PUSH1 0x01
000039e9: PUSH1 0xa0
000039eb: SHL
000039ec: SUB
000039ed: DUP9
000039ee: AND
000039ef: OR
000039f0: DUP2
000039f1: SSTORE
000039f2: SWAP1
000039f3: POP
000039f4: PUSH2 0x39fe
000039f7: DUP4
000039f8: PUSH1 0x0a
000039fa: PUSH2 0x587d
000039fd: JUMP
000039fe: JUMPDEST
000039ff: PUSH1 0x03
00003a01: DUP3
00003a02: ADD
00003a03: SSTORE
00003a04: PUSH1 0x05
00003a06: ADD
00003a07: DUP1
00003a08: SLOAD
00003a09: PUSH2 0xffff
00003a0c: SWAP5
00003a0d: DUP6
00003a0e: AND
00003a0f: PUSH3 0x010000
00003a13: MUL
00003a14: PUSH4 0xffffffff
00003a19: NOT
00003a1a: SWAP1
00003a1b: SWAP2
00003a1c: AND
00003a1d: SWAP5
00003a1e: SWAP1
00003a1f: SWAP6
00003a20: AND
00003a21: SWAP4
00003a22: SWAP1
00003a23: SWAP4
00003a24: OR
00003a25: SWAP4
00003a26: SWAP1
00003a27: SWAP4
00003a28: OR
00003a29: SWAP1
00003a2a: SWAP2
00003a2b: SSTORE
00003a2c: POP
00003a2d: POP
00003a2e: POP
00003a2f: JUMP
00003a30: JUMPDEST
00003a31: PUSH0
00003a32: PUSH2 0x3a39
00003a35: PUSH2 0x4450
00003a38: JUMP
00003a39: JUMPDEST
00003a3a: DUP1
00003a3b: SLOAD
00003a3c: PUSH1 0x01
00003a3e: PUSH1 0x01
00003a40: PUSH1 0xa0
00003a42: SHL
00003a43: SUB
00003a44: NOT
00003a45: AND
00003a46: DUP2
00003a47: SSTORE
00003a48: SWAP1
00003a49: POP
00003a4a: PUSH2 0x20a7
00003a4d: DUP3
00003a4e: PUSH2 0x493d
00003a51: JUMP
00003a52: JUMPDEST
00003a53: PUSH2 0x3a5a
00003a56: PUSH2 0x34db
00003a59: JUMP
00003a5a: JUMPDEST
00003a5b: PUSH0
00003a5c: PUSH2 0x3a63
00003a5f: PUSH2 0x3501
00003a62: JUMP
00003a63: JUMPDEST
00003a64: DUP1
00003a65: SLOAD
00003a66: PUSH1 0xff
00003a68: NOT
00003a69: AND
00003a6a: PUSH1 0x01
00003a6c: OR
00003a6d: DUP2
00003a6e: SSTORE
00003a6f: SWAP1
00003a70: POP
00003a71: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00003a92: PUSH2 0x34c3
00003a95: CALLER
00003a96: SWAP1
00003a97: JUMP
00003a98: JUMPDEST
00003a99: PUSH0
00003a9a: DUP1
00003a9b: PUSH2 0x3aa4
00003a9e: PUSH0
00003a9f: DUP6
00003aa0: PUSH2 0x1cb8
00003aa3: JUMP
00003aa4: JUMPDEST
00003aa5: SWAP1
00003aa6: POP
00003aa7: DUP1
00003aa8: ISZERO
00003aa9: PUSH2 0x3ab9
00003aac: JUMPI
00003aad: PUSH2 0x3ab7
00003ab0: DUP2
00003ab1: DUP6
00003ab2: DUP7
00003ab3: PUSH2 0x32e4
00003ab6: JUMP
00003ab7: JUMPDEST
00003ab8: POP
00003ab9: JUMPDEST
00003aba: PUSH0
00003abb: PUSH2 0x3ac2
00003abe: PUSH2 0x2b5b
00003ac1: JUMP
00003ac2: JUMPDEST
00003ac3: PUSH1 0x02
00003ac5: DUP2
00003ac6: ADD
00003ac7: SLOAD
00003ac8: PUSH1 0x01
00003aca: PUSH1 0x01
00003acc: PUSH1 0xa0
00003ace: SHL
00003acf: SUB
00003ad0: DUP8
00003ad1: AND
00003ad2: PUSH0
00003ad3: SWAP1
00003ad4: DUP2
00003ad5: MSTORE
00003ad6: PUSH1 0x05
00003ad8: DUP4
00003ad9: ADD
00003ada: PUSH1 0x20
00003adc: MSTORE
00003add: PUSH1 0x40
00003adf: SWAP1
00003ae0: KECCAK256
00003ae1: SLOAD
00003ae2: SWAP2
00003ae3: SWAP3
00003ae4: POP
00003ae5: PUSH5 0xffffffffff
00003aeb: SWAP1
00003aec: DUP2
00003aed: AND
00003aee: SWAP2
00003aef: AND
00003af0: DUP2
00003af1: EQ
00003af2: PUSH2 0x3b4e
00003af5: JUMPI
00003af6: PUSH0
00003af7: PUSH2 0x3b00
00003afa: PUSH0
00003afb: DUP9
00003afc: PUSH2 0x0fea
00003aff: JUMP
00003b00: JUMPDEST
00003b01: GT
00003b02: ISZERO
00003b03: PUSH2 0x3b1f
00003b06: JUMPI
00003b07: PUSH1 0x40
00003b09: MLOAD
00003b0a: PUSH4 0xcadcefcf
00003b0f: PUSH1 0xe0
00003b11: SHL
00003b12: DUP2
00003b13: MSTORE
00003b14: PUSH1 0x04
00003b16: ADD
00003b17: PUSH1 0x40
00003b19: MLOAD
00003b1a: DUP1
00003b1b: SWAP2
00003b1c: SUB
00003b1d: SWAP1
00003b1e: REVERT
00003b1f: JUMPDEST
00003b20: PUSH1 0x01
00003b22: PUSH1 0x01
00003b24: PUSH1 0xa0
00003b26: SHL
00003b27: SUB
00003b28: DUP7
00003b29: AND
00003b2a: PUSH0
00003b2b: SWAP1
00003b2c: DUP2
00003b2d: MSTORE
00003b2e: PUSH1 0x05
00003b30: DUP4
00003b31: ADD
00003b32: PUSH1 0x20
00003b34: MSTORE
00003b35: PUSH1 0x40
00003b37: SWAP1
00003b38: KECCAK256
00003b39: DUP1
00003b3a: SLOAD
00003b3b: PUSH5 0xffffffffff
00003b41: NOT
00003b42: AND
00003b43: PUSH5 0xffffffffff
00003b49: DUP4
00003b4a: AND
00003b4b: OR
00003b4c: SWAP1
00003b4d: SSTORE
00003b4e: JUMPDEST
00003b4f: CALLVALUE
00003b50: ISZERO
00003b51: PUSH2 0x3be6
00003b54: JUMPI
00003b55: PUSH1 0x09
00003b57: DUP3
00003b58: ADD
00003b59: SLOAD
00003b5a: PUSH1 0x01
00003b5c: PUSH1 0x01
00003b5e: PUSH1 0xa0
00003b60: SHL
00003b61: SUB
00003b62: AND
00003b63: PUSH2 0x3b6a
00003b66: PUSH2 0x10eb
00003b69: JUMP
00003b6a: JUMPDEST
00003b6b: PUSH1 0x01
00003b6d: PUSH1 0x01
00003b6f: PUSH1 0xa0
00003b71: SHL
00003b72: SUB
00003b73: AND
00003b74: SUB
00003b75: PUSH2 0x25d9
00003b78: JUMPI
00003b79: DUP2
00003b7a: PUSH1 0x08
00003b7c: ADD
00003b7d: PUSH0
00003b7e: SWAP1
00003b7f: SLOAD
00003b80: SWAP1
00003b81: PUSH2 0x0100
00003b84: EXP
00003b85: SWAP1
00003b86: DIV
00003b87: PUSH1 0x01
00003b89: PUSH1 0x01
00003b8b: PUSH1 0xa0
00003b8d: SHL
00003b8e: SUB
00003b8f: AND
00003b90: PUSH1 0x01
00003b92: PUSH1 0x01
00003b94: PUSH1 0xa0
00003b96: SHL
00003b97: SUB
00003b98: AND
00003b99: PUSH4 0x439370b1
00003b9e: CALLVALUE
00003b9f: PUSH1 0x40
00003ba1: MLOAD
00003ba2: DUP3
00003ba3: PUSH4 0xffffffff
00003ba8: AND
00003ba9: PUSH1 0xe0
00003bab: SHL
00003bac: DUP2
00003bad: MSTORE
00003bae: PUSH1 0x04
00003bb0: ADD
00003bb1: PUSH0
00003bb2: PUSH1 0x40
00003bb4: MLOAD
00003bb5: DUP1
00003bb6: DUP4
00003bb7: SUB
00003bb8: DUP2
00003bb9: DUP6
00003bba: DUP9
00003bbb: DUP1
00003bbc: EXTCODESIZE
00003bbd: ISZERO
00003bbe: DUP1
00003bbf: ISZERO
00003bc0: PUSH2 0x3bc7
00003bc3: JUMPI
00003bc4: PUSH0
00003bc5: DUP1
00003bc6: REVERT
00003bc7: JUMPDEST
00003bc8: POP
00003bc9: GAS
00003bca: CALL
00003bcb: ISZERO
00003bcc: DUP1
00003bcd: ISZERO
00003bce: PUSH2 0x3bd9
00003bd1: JUMPI
00003bd2: RETURNDATASIZE
00003bd3: PUSH0
00003bd4: DUP1
00003bd5: RETURNDATACOPY
00003bd6: RETURNDATASIZE
00003bd7: PUSH0
00003bd8: REVERT
00003bd9: JUMPDEST
00003bda: POP
00003bdb: POP
00003bdc: POP
00003bdd: POP
00003bde: POP
00003bdf: CALLVALUE
00003be0: SWAP7
00003be1: POP
00003be2: PUSH2 0x3c03
00003be5: JUMP
00003be6: JUMPDEST
00003be7: PUSH1 0x08
00003be9: DUP3
00003bea: ADD
00003beb: SLOAD
00003bec: PUSH2 0x3c03
00003bef: SWAP1
00003bf0: DUP7
00003bf1: SWAP1
00003bf2: PUSH1 0x01
00003bf4: PUSH1 0x01
00003bf6: PUSH1 0xa0
00003bf8: SHL
00003bf9: SUB
00003bfa: AND
00003bfb: DUP10
00003bfc: PUSH2 0x0f2c
00003bff: PUSH2 0x10eb
00003c02: JUMP
00003c03: JUMPDEST
00003c04: PUSH5 0xffffffffff
00003c0a: DUP2
00003c0b: AND
00003c0c: PUSH0
00003c0d: SWAP1
00003c0e: DUP2
00003c0f: MSTORE
00003c10: PUSH1 0x03
00003c12: DUP4
00003c13: ADD
00003c14: PUSH1 0x20
00003c16: SWAP1
00003c17: DUP2
00003c18: MSTORE
00003c19: PUSH1 0x40
00003c1b: DUP1
00003c1c: DUP4
00003c1d: KECCAK256
00003c1e: PUSH1 0x01
00003c20: PUSH1 0x01
00003c22: PUSH1 0xa0
00003c24: SHL
00003c25: SUB
00003c26: DUP11
00003c27: AND
00003c28: DUP5
00003c29: MSTORE
00003c2a: PUSH1 0x01
00003c2c: ADD
00003c2d: SWAP1
00003c2e: SWAP2
00003c2f: MSTORE
00003c30: DUP2
00003c31: KECCAK256
00003c32: DUP1
00003c33: SLOAD
00003c34: DUP10
00003c35: SWAP3
00003c36: SWAP1
00003c37: PUSH2 0x3c41
00003c3a: SWAP1
00003c3b: DUP5
00003c3c: SWAP1
00003c3d: PUSH2 0x5478
00003c40: JUMP
00003c41: JUMPDEST
00003c42: SWAP3
00003c43: POP
00003c44: POP
00003c45: DUP2
00003c46: SWAP1
00003c47: SSTORE
00003c48: POP
00003c49: DUP1
00003c4a: PUSH5 0xffffffffff
00003c50: AND
00003c51: DUP6
00003c52: PUSH1 0x01
00003c54: PUSH1 0x01
00003c56: PUSH1 0xa0
00003c58: SHL
00003c59: SUB
00003c5a: AND
00003c5b: DUP8
00003c5c: PUSH1 0x01
00003c5e: PUSH1 0x01
00003c60: PUSH1 0xa0
00003c62: SHL
00003c63: SUB
00003c64: AND
00003c65: PUSH32 0xbb58420bb8ce44e11b84e214cc0de10ce5e7c24d0355b2815c3d758b514cae72
00003c86: CALLER
00003c87: DUP12
00003c88: PUSH1 0x40
00003c8a: MLOAD
00003c8b: PUSH2 0x36bb
00003c8e: SWAP3
00003c8f: SWAP2
00003c90: SWAP1
00003c91: PUSH2 0x5864
00003c94: JUMP
00003c95: JUMPDEST
00003c96: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
00003cb7: SWAP1
00003cb8: JUMP
00003cb9: JUMPDEST
00003cba: PUSH0
00003cbb: DUP1
00003cbc: PUSH2 0x3cc3
00003cbf: PUSH2 0x2b5b
00003cc2: JUMP
00003cc3: JUMPDEST
00003cc4: PUSH1 0x01
00003cc6: PUSH1 0x01
00003cc8: PUSH1 0xa0
00003cca: SHL
00003ccb: SUB
00003ccc: DUP5
00003ccd: AND
00003cce: PUSH0
00003ccf: SWAP1
00003cd0: DUP2
00003cd1: MSTORE
00003cd2: PUSH1 0x05
00003cd4: DUP3
00003cd5: ADD
00003cd6: PUSH1 0x20
00003cd8: MSTORE
00003cd9: PUSH1 0x40
00003cdb: SWAP1
00003cdc: KECCAK256
00003cdd: SLOAD
00003cde: PUSH1 0x02
00003ce0: DUP3
00003ce1: ADD
00003ce2: SLOAD
00003ce3: SWAP2
00003ce4: SWAP3
00003ce5: POP
00003ce6: PUSH5 0xffffffffff
00003cec: SWAP1
00003ced: DUP2
00003cee: AND
00003cef: SWAP2
00003cf0: PUSH1 0x01
00003cf2: PUSH1 0x50
00003cf4: SHL
00003cf5: SWAP1
00003cf6: DIV
00003cf7: AND
00003cf8: DUP2
00003cf9: GT
00003cfa: ISZERO
00003cfb: PUSH2 0x3d17
00003cfe: JUMPI
00003cff: PUSH1 0x40
00003d01: MLOAD
00003d02: PUSH4 0x912d1a73
00003d07: PUSH1 0xe0
00003d09: SHL
00003d0a: DUP2
00003d0b: MSTORE
00003d0c: PUSH1 0x04
00003d0e: ADD
00003d0f: PUSH1 0x40
00003d11: MLOAD
00003d12: DUP1
00003d13: SWAP2
00003d14: SUB
00003d15: SWAP1
00003d16: REVERT
00003d17: JUMPDEST
00003d18: PUSH2 0x3d23
00003d1b: DUP7
00003d1c: DUP3
00003d1d: PUSH1 0x01
00003d1f: PUSH2 0x319e
00003d22: JUMP
00003d23: JUMPDEST
00003d24: PUSH5 0xffffffffff
00003d2a: DUP3
00003d2b: AND
00003d2c: PUSH0
00003d2d: SWAP1
00003d2e: DUP2
00003d2f: MSTORE
00003d30: PUSH1 0x03
00003d32: DUP5
00003d33: ADD
00003d34: PUSH1 0x20
00003d36: SWAP1
00003d37: DUP2
00003d38: MSTORE
00003d39: PUSH1 0x40
00003d3b: DUP1
00003d3c: DUP4
00003d3d: KECCAK256
00003d3e: PUSH1 0x01
00003d40: PUSH1 0x01
00003d42: PUSH1 0xa0
00003d44: SHL
00003d45: SUB
00003d46: DUP10
00003d47: AND
00003d48: DUP5
00003d49: MSTORE
00003d4a: PUSH1 0x01
00003d4c: ADD
00003d4d: SWAP1
00003d4e: SWAP2
00003d4f: MSTORE
00003d50: DUP2
00003d51: KECCAK256
00003d52: DUP1
00003d53: SLOAD
00003d54: SWAP3
00003d55: SWAP6
00003d56: POP
00003d57: DUP6
00003d58: SWAP3
00003d59: SWAP1
00003d5a: SWAP2
00003d5b: SWAP1
00003d5c: PUSH2 0x3d66
00003d5f: SWAP1
00003d60: DUP5
00003d61: SWAP1
00003d62: PUSH2 0x5830
00003d65: JUMP
00003d66: JUMPDEST
00003d67: SWAP1
00003d68: SWAP2
00003d69: SSTORE
00003d6a: POP
00003d6b: PUSH2 0x3d77
00003d6e: SWAP1
00003d6f: POP
00003d70: ADDRESS
00003d71: DUP7
00003d72: DUP9
00003d73: PUSH2 0x3287
00003d76: JUMP
00003d77: JUMPDEST
00003d78: DUP5
00003d79: PUSH1 0x01
00003d7b: PUSH1 0x01
00003d7d: PUSH1 0xa0
00003d7f: SHL
00003d80: SUB
00003d81: AND
00003d82: DUP5
00003d83: PUSH1 0x01
00003d85: PUSH1 0x01
00003d87: PUSH1 0xa0
00003d89: SHL
00003d8a: SUB
00003d8b: AND
00003d8c: PUSH0
00003d8d: DUP1
00003d8e: MLOAD
00003d8f: PUSH1 0x20
00003d91: PUSH2 0x5f7f
00003d94: DUP4
00003d95: CODECOPY
00003d96: DUP2
00003d97: MLOAD
00003d98: SWAP2
00003d99: MSTORE
00003d9a: DUP6
00003d9b: DUP10
00003d9c: PUSH1 0x40
00003d9e: MLOAD
00003d9f: PUSH2 0x33d6
00003da2: SWAP3
00003da3: SWAP2
00003da4: SWAP1
00003da5: PUSH2 0x56a6
00003da8: JUMP
00003da9: JUMPDEST
00003daa: PUSH2 0x3db1
00003dad: PUSH2 0x34db
00003db0: JUMP
00003db1: JUMPDEST
00003db2: PUSH0
00003db3: PUSH2 0x3dba
00003db6: PUSH2 0x2b5b
00003db9: JUMP
00003dba: JUMPDEST
00003dbb: PUSH1 0x02
00003dbd: DUP2
00003dbe: ADD
00003dbf: DUP1
00003dc0: SLOAD
00003dc1: PUSH5 0xffffffffff
00003dc7: DUP1
00003dc8: DUP3
00003dc9: AND
00003dca: PUSH0
00003dcb: SWAP1
00003dcc: DUP2
00003dcd: MSTORE
00003dce: PUSH1 0x03
00003dd0: DUP6
00003dd1: ADD
00003dd2: PUSH1 0x20
00003dd4: MSTORE
00003dd5: PUSH1 0x40
00003dd7: DUP1
00003dd8: DUP3
00003dd9: KECCAK256
00003dda: DUP1
00003ddb: SLOAD
00003ddc: PUSH1 0x01
00003dde: PUSH1 0x28
00003de0: SHL
00003de1: SWAP1
00003de2: SWAP6
00003de3: DIV
00003de4: DUP5
00003de5: AND
00003de6: PUSH5 0xffffffffff
00003dec: NOT
00003ded: SWAP6
00003dee: DUP7
00003def: AND
00003df0: OR
00003df1: SWAP1
00003df2: SSTORE
00003df3: SWAP4
00003df4: SLOAD
00003df5: PUSH1 0x01
00003df7: PUSH1 0x78
00003df9: SHL
00003dfa: DUP2
00003dfb: DIV
00003dfc: DUP4
00003dfd: AND
00003dfe: DUP3
00003dff: MSTORE
00003e00: SWAP4
00003e01: DUP2
00003e02: KECCAK256
00003e03: DUP1
00003e04: SLOAD
00003e05: PUSH1 0x01
00003e07: PUSH1 0xa0
00003e09: SHL
00003e0a: SWAP1
00003e0b: SWAP6
00003e0c: DIV
00003e0d: SWAP1
00003e0e: SWAP3
00003e0f: AND
00003e10: SWAP4
00003e11: SWAP1
00003e12: SWAP3
00003e13: AND
00003e14: SWAP3
00003e15: SWAP1
00003e16: SWAP3
00003e17: OR
00003e18: SWAP1
00003e19: SWAP2
00003e1a: SSTORE
00003e1b: PUSH1 0x08
00003e1d: DUP3
00003e1e: ADD
00003e1f: SLOAD
00003e20: SWAP2
00003e21: SWAP3
00003e22: POP
00003e23: PUSH1 0x01
00003e25: PUSH1 0x01
00003e27: PUSH1 0xa0
00003e29: SHL
00003e2a: SUB
00003e2b: SWAP1
00003e2c: SWAP2
00003e2d: AND
00003e2e: SWAP1
00003e2f: PUSH2 0x3e36
00003e32: PUSH2 0x10eb
00003e35: JUMP
00003e36: JUMPDEST
00003e37: PUSH1 0x01
00003e39: PUSH1 0x01
00003e3b: PUSH1 0xa0
00003e3d: SHL
00003e3e: SUB
00003e3f: AND
00003e40: PUSH4 0x70a08231
00003e45: DUP4
00003e46: PUSH1 0x40
00003e48: MLOAD
00003e49: DUP3
00003e4a: PUSH4 0xffffffff
00003e4f: AND
00003e50: PUSH1 0xe0
00003e52: SHL
00003e53: DUP2
00003e54: MSTORE
00003e55: PUSH1 0x04
00003e57: ADD
00003e58: PUSH2 0x3e61
00003e5b: SWAP2
00003e5c: SWAP1
00003e5d: PUSH2 0x4faf
00003e60: JUMP
00003e61: JUMPDEST
00003e62: PUSH1 0x20
00003e64: PUSH1 0x40
00003e66: MLOAD
00003e67: DUP1
00003e68: DUP4
00003e69: SUB
00003e6a: DUP2
00003e6b: DUP7
00003e6c: GAS
00003e6d: STATICCALL
00003e6e: ISZERO
00003e6f: DUP1
00003e70: ISZERO
00003e71: PUSH2 0x3e7c
00003e74: JUMPI
00003e75: RETURNDATASIZE
00003e76: PUSH0
00003e77: DUP1
00003e78: RETURNDATACOPY
00003e79: RETURNDATASIZE
00003e7a: PUSH0
00003e7b: REVERT
00003e7c: JUMPDEST
00003e7d: POP
00003e7e: POP
00003e7f: POP
00003e80: POP
00003e81: PUSH1 0x40
00003e83: MLOAD
00003e84: RETURNDATASIZE
00003e85: PUSH1 0x1f
00003e87: NOT
00003e88: PUSH1 0x1f
00003e8a: DUP3
00003e8b: ADD
00003e8c: AND
00003e8d: DUP3
00003e8e: ADD
00003e8f: DUP1
00003e90: PUSH1 0x40
00003e92: MSTORE
00003e93: POP
00003e94: DUP2
00003e95: ADD
00003e96: SWAP1
00003e97: PUSH2 0x3ea0
00003e9a: SWAP2
00003e9b: SWAP1
00003e9c: PUSH2 0x5819
00003e9f: JUMP
00003ea0: JUMPDEST
00003ea1: SWAP1
00003ea2: POP
00003ea3: PUSH0
00003ea4: PUSH2 0x3eac
00003ea7: DUP4
00003ea8: PUSH2 0x178c
00003eab: JUMP
00003eac: JUMPDEST
00003ead: SWAP1
00003eae: POP
00003eaf: DUP2
00003eb0: ISZERO
00003eb1: PUSH2 0x3f12
00003eb4: JUMPI
00003eb5: PUSH1 0x02
00003eb7: DUP5
00003eb8: DUP2
00003eb9: ADD
00003eba: DUP1
00003ebb: SLOAD
00003ebc: PUSH0
00003ebd: SWAP1
00003ebe: PUSH2 0x3ecf
00003ec1: SWAP1
00003ec2: DUP5
00003ec3: SWAP1
00003ec4: PUSH5 0xffffffffff
00003eca: AND
00003ecb: PUSH2 0x57e1
00003ece: JUMP
00003ecf: JUMPDEST
00003ed0: DUP3
00003ed1: SLOAD
00003ed2: PUSH2 0x0100
00003ed5: SWAP3
00003ed6: SWAP1
00003ed7: SWAP3
00003ed8: EXP
00003ed9: PUSH5 0xffffffffff
00003edf: DUP2
00003ee0: DUP2
00003ee1: MUL
00003ee2: NOT
00003ee3: SWAP1
00003ee4: SWAP4
00003ee5: AND
00003ee6: SWAP2
00003ee7: DUP4
00003ee8: AND
00003ee9: MUL
00003eea: OR
00003eeb: SWAP1
00003eec: SWAP2
00003eed: SSTORE
00003eee: PUSH1 0x02
00003ef0: DUP7
00003ef1: DUP2
00003ef2: ADD
00003ef3: SLOAD
00003ef4: PUSH1 0x01
00003ef6: PUSH1 0x28
00003ef8: SHL
00003ef9: SWAP1
00003efa: DIV
00003efb: SWAP1
00003efc: SWAP2
00003efd: AND
00003efe: PUSH0
00003eff: SWAP1
00003f00: DUP2
00003f01: MSTORE
00003f02: PUSH1 0x04
00003f04: DUP8
00003f05: ADD
00003f06: PUSH1 0x20
00003f08: MSTORE
00003f09: PUSH1 0x40
00003f0b: SWAP1
00003f0c: KECCAK256
00003f0d: ADD
00003f0e: DUP4
00003f0f: SWAP1
00003f10: SSTORE
00003f11: POP
00003f12: JUMPDEST
00003f13: DUP1
00003f14: ISZERO
00003f15: PUSH2 0x3f7d
00003f18: JUMPI
00003f19: PUSH1 0x02
00003f1b: DUP5
00003f1c: DUP2
00003f1d: ADD
00003f1e: DUP1
00003f1f: SLOAD
00003f20: PUSH1 0x0f
00003f22: SWAP1
00003f23: PUSH2 0x3f3b
00003f26: SWAP1
00003f27: DUP5
00003f28: SWAP1
00003f29: PUSH1 0x01
00003f2b: PUSH1 0x78
00003f2d: SHL
00003f2e: SWAP1
00003f2f: DIV
00003f30: PUSH5 0xffffffffff
00003f36: AND
00003f37: PUSH2 0x57e1
00003f3a: JUMP
00003f3b: JUMPDEST
00003f3c: DUP3
00003f3d: SLOAD
00003f3e: PUSH2 0x0100
00003f41: SWAP3
00003f42: SWAP1
00003f43: SWAP3
00003f44: EXP
00003f45: PUSH5 0xffffffffff
00003f4b: DUP2
00003f4c: DUP2
00003f4d: MUL
00003f4e: NOT
00003f4f: SWAP1
00003f50: SWAP4
00003f51: AND
00003f52: SWAP2
00003f53: DUP4
00003f54: AND
00003f55: MUL
00003f56: OR
00003f57: SWAP1
00003f58: SWAP2
00003f59: SSTORE
00003f5a: PUSH1 0x02
00003f5c: DUP7
00003f5d: ADD
00003f5e: SLOAD
00003f5f: PUSH1 0x01
00003f61: PUSH1 0xa0
00003f63: SHL
00003f64: SWAP1
00003f65: DIV
00003f66: AND
00003f67: PUSH0
00003f68: SWAP1
00003f69: DUP2
00003f6a: MSTORE
00003f6b: PUSH1 0x04
00003f6d: DUP7
00003f6e: ADD
00003f6f: PUSH1 0x20
00003f71: MSTORE
00003f72: PUSH1 0x40
00003f74: SWAP1
00003f75: KECCAK256
00003f76: PUSH1 0x03
00003f78: ADD
00003f79: DUP3
00003f7a: SWAP1
00003f7b: SSTORE
00003f7c: POP
00003f7d: JUMPDEST
00003f7e: PUSH1 0x01
00003f80: DUP5
00003f81: ADD
00003f82: DUP6
00003f83: SWAP1
00003f84: SSTORE
00003f85: PUSH1 0x40
00003f87: MLOAD
00003f88: DUP6
00003f89: DUP2
00003f8a: MSTORE
00003f8b: PUSH32 0x3809c8827d04fcf6537fe5af7a5e42a8ec939c3556096ca7107842a2d44efca5
00003fac: SWAP1
00003fad: PUSH1 0x20
00003faf: ADD
00003fb0: PUSH1 0x40
00003fb2: MLOAD
00003fb3: DUP1
00003fb4: SWAP2
00003fb5: SUB
00003fb6: SWAP1
00003fb7: LOG1
00003fb8: POP
00003fb9: POP
00003fba: POP
00003fbb: POP
00003fbc: POP
00003fbd: JUMP
00003fbe: JUMPDEST
00003fbf: PUSH0
00003fc0: PUSH2 0x3fc7
00003fc3: PUSH2 0x2bf5
00003fc6: JUMP
00003fc7: JUMPDEST
00003fc8: SWAP1
00003fc9: POP
00003fca: PUSH2 0x3fd2
00003fcd: DUP3
00003fce: PUSH2 0x2c3d
00003fd1: JUMP
00003fd2: JUMPDEST
00003fd3: PUSH1 0x01
00003fd5: DUP2
00003fd6: ADD
00003fd7: SLOAD
00003fd8: PUSH1 0x03
00003fda: DUP3
00003fdb: ADD
00003fdc: SLOAD
00003fdd: PUSH1 0x40
00003fdf: DUP1
00003fe0: MLOAD
00003fe1: PUSH4 0x39a51be5
00003fe6: PUSH1 0xe0
00003fe8: SHL
00003fe9: DUP2
00003fea: MSTORE
00003feb: SWAP1
00003fec: MLOAD
00003fed: PUSH2 0x20a7
00003ff0: SWAP4
00003ff1: PUSH1 0x01
00003ff3: PUSH1 0x01
00003ff5: PUSH1 0xa0
00003ff7: SHL
00003ff8: SUB
00003ff9: SWAP1
00003ffa: DUP2
00003ffb: AND
00003ffc: SWAP4
00003ffd: AND
00003ffe: SWAP2
00003fff: PUSH4 0x39a51be5
00004004: SWAP2
00004005: PUSH1 0x04
00004007: DUP1
00004008: DUP4
00004009: ADD
0000400a: SWAP3
0000400b: PUSH1 0x20
0000400d: SWAP3
0000400e: SWAP2
0000400f: SWAP1
00004010: DUP3
00004011: SWAP1
00004012: SUB
00004013: ADD
00004014: DUP2
00004015: DUP7
00004016: GAS
00004017: STATICCALL
00004018: ISZERO
00004019: DUP1
0000401a: ISZERO
0000401b: PUSH2 0x0eb2
0000401e: JUMPI
0000401f: RETURNDATASIZE
00004020: PUSH0
00004021: DUP1
00004022: RETURNDATACOPY
00004023: RETURNDATASIZE
00004024: PUSH0
00004025: REVERT
00004026: JUMPDEST
00004027: PUSH0
00004028: PUSH2 0x402f
0000402b: PUSH2 0x2b5b
0000402e: JUMP
0000402f: JUMPDEST
00004030: PUSH1 0x0a
00004032: DUP2
00004033: ADD
00004034: DUP1
00004035: SLOAD
00004036: PUSH1 0x01
00004038: PUSH1 0x01
0000403a: PUSH1 0x80
0000403c: SHL
0000403d: SUB
0000403e: DUP6
0000403f: DUP2
00004040: AND
00004041: PUSH1 0x01
00004043: PUSH1 0x80
00004045: SHL
00004046: DUP2
00004047: DUP2
00004048: MUL
00004049: DUP4
0000404a: DUP6
0000404b: AND
0000404c: OR
0000404d: SWAP1
0000404e: SWAP5
0000404f: SSTORE
00004050: PUSH1 0x40
00004052: DUP1
00004053: MLOAD
00004054: SWAP5
00004055: SWAP1
00004056: SWAP4
00004057: DIV
00004058: SWAP1
00004059: SWAP2
0000405a: AND
0000405b: DUP1
0000405c: DUP5
0000405d: MSTORE
0000405e: PUSH1 0x20
00004060: DUP5
00004061: ADD
00004062: SWAP2
00004063: SWAP1
00004064: SWAP2
00004065: MSTORE
00004066: SWAP3
00004067: SWAP4
00004068: POP
00004069: PUSH32 0x2bc73e9b849f667d30dc57236e1deed6d5368da53fe4367a550d7309ae219d77
0000408a: SWAP2
0000408b: ADD
0000408c: PUSH2 0x2d0d
0000408f: JUMP
00004090: JUMPDEST
00004091: PUSH0
00004092: PUSH2 0x0fa5
00004095: PUSH2 0x409c
00004098: PUSH2 0x4474
0000409b: JUMP
0000409c: JUMPDEST
0000409d: PUSH2 0x40a7
000040a0: SWAP1
000040a1: PUSH1 0x0a
000040a3: PUSH2 0x5797
000040a6: JUMP
000040a7: JUMPDEST
000040a8: PUSH2 0x40af
000040ab: PUSH2 0x0f85
000040ae: JUMP
000040af: JUMPDEST
000040b0: PUSH2 0x40b9
000040b3: SWAP2
000040b4: SWAP1
000040b5: PUSH2 0x5478
000040b8: JUMP
000040b9: JUMPDEST
000040ba: PUSH2 0x40c1
000040bd: PUSH2 0x0c37
000040c0: JUMP
000040c1: JUMPDEST
000040c2: PUSH2 0x2bdf
000040c5: SWAP1
000040c6: PUSH1 0x01
000040c8: PUSH2 0x5478
000040cb: JUMP
000040cc: JUMPDEST
000040cd: DUP3
000040ce: PUSH1 0x01
000040d0: PUSH1 0x01
000040d2: PUSH1 0xa0
000040d4: SHL
000040d5: SUB
000040d6: AND
000040d7: DUP6
000040d8: PUSH1 0x01
000040da: PUSH1 0x01
000040dc: PUSH1 0xa0
000040de: SHL
000040df: SUB
000040e0: AND
000040e1: EQ
000040e2: ISZERO
000040e3: DUP1
000040e4: ISZERO
000040e5: PUSH2 0x40f5
000040e8: JUMPI
000040e9: POP
000040ea: PUSH2 0x40f3
000040ed: DUP4
000040ee: DUP7
000040ef: PUSH2 0x217a
000040f2: JUMP
000040f3: JUMPDEST
000040f4: ISZERO
000040f5: JUMPDEST
000040f6: ISZERO
000040f7: PUSH2 0x4105
000040fa: JUMPI
000040fb: PUSH2 0x4105
000040fe: DUP4
000040ff: DUP7
00004100: DUP4
00004101: PUSH2 0x323d
00004104: JUMP
00004105: JUMPDEST
00004106: DUP2
00004107: PUSH2 0x410e
0000410a: PUSH2 0x2b5b
0000410d: JUMP
0000410e: JUMPDEST
0000410f: DUP1
00004110: SLOAD
00004111: PUSH0
00004112: SWAP1
00004113: PUSH2 0x411d
00004116: SWAP1
00004117: DUP5
00004118: SWAP1
00004119: PUSH2 0x5830
0000411c: JUMP
0000411d: JUMPDEST
0000411e: SWAP1
0000411f: SWAP2
00004120: SSTORE
00004121: POP
00004122: PUSH2 0x412d
00004125: SWAP1
00004126: POP
00004127: DUP4
00004128: DUP3
00004129: PUSH2 0x4772
0000412c: JUMP
0000412d: JUMPDEST
0000412e: PUSH2 0x414a
00004131: DUP5
00004132: DUP4
00004133: PUSH2 0x413a
00004136: PUSH2 0x10eb
00004139: JUMP
0000413a: JUMPDEST
0000413b: PUSH1 0x01
0000413d: PUSH1 0x01
0000413f: PUSH1 0xa0
00004141: SHL
00004142: SUB
00004143: AND
00004144: SWAP2
00004145: SWAP1
00004146: PUSH2 0x4997
00004149: JUMP
0000414a: JUMPDEST
0000414b: DUP3
0000414c: PUSH1 0x01
0000414e: PUSH1 0x01
00004150: PUSH1 0xa0
00004152: SHL
00004153: SUB
00004154: AND
00004155: DUP5
00004156: PUSH1 0x01
00004158: PUSH1 0x01
0000415a: PUSH1 0xa0
0000415c: SHL
0000415d: SUB
0000415e: AND
0000415f: DUP7
00004160: PUSH1 0x01
00004162: PUSH1 0x01
00004164: PUSH1 0xa0
00004166: SHL
00004167: SUB
00004168: AND
00004169: PUSH0
0000416a: DUP1
0000416b: MLOAD
0000416c: PUSH1 0x20
0000416e: PUSH2 0x5f3f
00004171: DUP4
00004172: CODECOPY
00004173: DUP2
00004174: MLOAD
00004175: SWAP2
00004176: MSTORE
00004177: DUP6
00004178: DUP6
00004179: PUSH1 0x40
0000417b: MLOAD
0000417c: PUSH2 0x4186
0000417f: SWAP3
00004180: SWAP2
00004181: SWAP1
00004182: PUSH2 0x56a6
00004185: JUMP
00004186: JUMPDEST
00004187: PUSH1 0x40
00004189: MLOAD
0000418a: DUP1
0000418b: SWAP2
0000418c: SUB
0000418d: SWAP1
0000418e: LOG4
0000418f: POP
00004190: POP
00004191: POP
00004192: POP
00004193: POP
00004194: JUMP
00004195: JUMPDEST
00004196: PUSH0
00004197: DUP1
00004198: PUSH2 0x419f
0000419b: PUSH2 0x2b5b
0000419e: JUMP
0000419f: JUMPDEST
000041a0: PUSH1 0x01
000041a2: PUSH1 0x01
000041a4: PUSH1 0xa0
000041a6: SHL
000041a7: SUB
000041a8: DUP5
000041a9: AND
000041aa: PUSH0
000041ab: SWAP1
000041ac: DUP2
000041ad: MSTORE
000041ae: PUSH1 0x06
000041b0: DUP3
000041b1: ADD
000041b2: PUSH1 0x20
000041b4: MSTORE
000041b5: PUSH1 0x40
000041b7: SWAP1
000041b8: KECCAK256
000041b9: SLOAD
000041ba: PUSH1 0x02
000041bc: DUP3
000041bd: ADD
000041be: SLOAD
000041bf: SWAP2
000041c0: SWAP3
000041c1: POP
000041c2: PUSH5 0xffffffffff
000041c8: SWAP1
000041c9: DUP2
000041ca: AND
000041cb: SWAP2
000041cc: PUSH1 0x01
000041ce: PUSH1 0xc8
000041d0: SHL
000041d1: SWAP1
000041d2: DIV
000041d3: AND
000041d4: DUP2
000041d5: GT
000041d6: ISZERO
000041d7: PUSH2 0x41f3
000041da: JUMPI
000041db: PUSH1 0x40
000041dd: MLOAD
000041de: PUSH4 0x912d1a73
000041e3: PUSH1 0xe0
000041e5: SHL
000041e6: DUP2
000041e7: MSTORE
000041e8: PUSH1 0x04
000041ea: ADD
000041eb: PUSH1 0x40
000041ed: MLOAD
000041ee: DUP1
000041ef: SWAP2
000041f0: SUB
000041f1: SWAP1
000041f2: REVERT
000041f3: JUMPDEST
000041f4: PUSH2 0x41ff
000041f7: DUP7
000041f8: DUP3
000041f9: PUSH1 0x01
000041fb: PUSH2 0x43bd
000041fe: JUMP
000041ff: JUMPDEST
00004200: PUSH5 0xffffffffff
00004206: DUP3
00004207: AND
00004208: PUSH0
00004209: SWAP1
0000420a: DUP2
0000420b: MSTORE
0000420c: PUSH1 0x03
0000420e: DUP5
0000420f: ADD
00004210: PUSH1 0x20
00004212: SWAP1
00004213: DUP2
00004214: MSTORE
00004215: PUSH1 0x40
00004217: DUP1
00004218: DUP4
00004219: KECCAK256
0000421a: PUSH1 0x01
0000421c: PUSH1 0x01
0000421e: PUSH1 0xa0
00004220: SHL
00004221: SUB
00004222: DUP10
00004223: AND
00004224: DUP5
00004225: MSTORE
00004226: PUSH1 0x02
00004228: ADD
00004229: SWAP1
0000422a: SWAP2
0000422b: MSTORE
0000422c: DUP2
0000422d: KECCAK256
0000422e: DUP1
0000422f: SLOAD
00004230: SWAP3
00004231: SWAP6
00004232: POP
00004233: DUP6
00004234: SWAP3
00004235: SWAP1
00004236: SWAP2
00004237: SWAP1
00004238: PUSH2 0x4242
0000423b: SWAP1
0000423c: DUP5
0000423d: SWAP1
0000423e: PUSH2 0x5830
00004241: JUMP
00004242: JUMPDEST
00004243: SWAP1
00004244: SWAP2
00004245: SSTORE
00004246: POP
00004247: PUSH2 0x4255
0000424a: SWAP1
0000424b: POP
0000424c: DUP6
0000424d: DUP8
0000424e: PUSH2 0x413a
00004251: PUSH2 0x10eb
00004254: JUMP
00004255: JUMPDEST
00004256: DUP4
00004257: PUSH1 0x01
00004259: PUSH1 0x01
0000425b: PUSH1 0xa0
0000425d: SHL
0000425e: SUB
0000425f: AND
00004260: DUP6
00004261: PUSH1 0x01
00004263: PUSH1 0x01
00004265: PUSH1 0xa0
00004267: SHL
00004268: SUB
00004269: AND
0000426a: CALLER
0000426b: PUSH1 0x01
0000426d: PUSH1 0x01
0000426f: PUSH1 0xa0
00004271: SHL
00004272: SUB
00004273: AND
00004274: PUSH0
00004275: DUP1
00004276: MLOAD
00004277: PUSH1 0x20
00004279: PUSH2 0x5f3f
0000427c: DUP4
0000427d: CODECOPY
0000427e: DUP2
0000427f: MLOAD
00004280: SWAP2
00004281: MSTORE
00004282: DUP10
00004283: DUP8
00004284: PUSH1 0x40
00004286: MLOAD
00004287: PUSH2 0x26ac
0000428a: SWAP3
0000428b: SWAP2
0000428c: SWAP1
0000428d: PUSH2 0x56a6
00004290: JUMP
00004291: JUMPDEST
00004292: PUSH0
00004293: DUP1
00004294: PUSH2 0x429b
00004297: PUSH2 0x2b5b
0000429a: JUMP
0000429b: JUMPDEST
0000429c: PUSH1 0x01
0000429e: PUSH1 0x01
000042a0: PUSH1 0xa0
000042a2: SHL
000042a3: SUB
000042a4: DUP5
000042a5: AND
000042a6: PUSH0
000042a7: SWAP1
000042a8: DUP2
000042a9: MSTORE
000042aa: PUSH1 0x06
000042ac: DUP3
000042ad: ADD
000042ae: PUSH1 0x20
000042b0: MSTORE
000042b1: PUSH1 0x40
000042b3: SWAP1
000042b4: KECCAK256
000042b5: SLOAD
000042b6: PUSH1 0x02
000042b8: DUP3
000042b9: ADD
000042ba: SLOAD
000042bb: SWAP2
000042bc: SWAP3
000042bd: POP
000042be: PUSH5 0xffffffffff
000042c4: SWAP1
000042c5: DUP2
000042c6: AND
000042c7: SWAP2
000042c8: PUSH1 0x01
000042ca: PUSH1 0xc8
000042cc: SHL
000042cd: SWAP1
000042ce: DIV
000042cf: AND
000042d0: DUP2
000042d1: GT
000042d2: ISZERO
000042d3: PUSH2 0x42ef
000042d6: JUMPI
000042d7: PUSH1 0x40
000042d9: MLOAD
000042da: PUSH4 0x912d1a73
000042df: PUSH1 0xe0
000042e1: SHL
000042e2: DUP2
000042e3: MSTORE
000042e4: PUSH1 0x04
000042e6: ADD
000042e7: PUSH1 0x40
000042e9: MLOAD
000042ea: DUP1
000042eb: SWAP2
000042ec: SUB
000042ed: SWAP1
000042ee: REVERT
000042ef: JUMPDEST
000042f0: PUSH5 0xffffffffff
000042f6: DUP2
000042f7: AND
000042f8: PUSH0
000042f9: SWAP1
000042fa: DUP2
000042fb: MSTORE
000042fc: PUSH1 0x03
000042fe: DUP4
000042ff: ADD
00004300: PUSH1 0x20
00004302: SWAP1
00004303: DUP2
00004304: MSTORE
00004305: PUSH1 0x40
00004307: DUP1
00004308: DUP4
00004309: KECCAK256
0000430a: PUSH1 0x01
0000430c: PUSH1 0x01
0000430e: PUSH1 0xa0
00004310: SHL
00004311: SUB
00004312: DUP9
00004313: AND
00004314: DUP5
00004315: MSTORE
00004316: PUSH1 0x02
00004318: ADD
00004319: SWAP1
0000431a: SWAP2
0000431b: MSTORE
0000431c: DUP2
0000431d: KECCAK256
0000431e: DUP1
0000431f: SLOAD
00004320: DUP9
00004321: SWAP3
00004322: SWAP1
00004323: PUSH2 0x432d
00004326: SWAP1
00004327: DUP5
00004328: SWAP1
00004329: PUSH2 0x5830
0000432c: JUMP
0000432d: JUMPDEST
0000432e: SWAP1
0000432f: SWAP2
00004330: SSTORE
00004331: POP
00004332: PUSH2 0x433e
00004335: SWAP1
00004336: POP
00004337: DUP7
00004338: DUP3
00004339: PUSH0
0000433a: PUSH2 0x319e
0000433d: JUMP
0000433e: JUMPDEST
0000433f: SWAP3
00004340: POP
00004341: PUSH2 0x434d
00004344: DUP6
00004345: DUP5
00004346: PUSH2 0x413a
00004349: PUSH2 0x10eb
0000434c: JUMP
0000434d: JUMPDEST
0000434e: DUP4
0000434f: PUSH1 0x01
00004351: PUSH1 0x01
00004353: PUSH1 0xa0
00004355: SHL
00004356: SUB
00004357: AND
00004358: DUP6
00004359: PUSH1 0x01
0000435b: PUSH1 0x01
0000435d: PUSH1 0xa0
0000435f: SHL
00004360: SUB
00004361: AND
00004362: CALLER
00004363: PUSH1 0x01
00004365: PUSH1 0x01
00004367: PUSH1 0xa0
00004369: SHL
0000436a: SUB
0000436b: AND
0000436c: PUSH0
0000436d: DUP1
0000436e: MLOAD
0000436f: PUSH1 0x20
00004371: PUSH2 0x5f3f
00004374: DUP4
00004375: CODECOPY
00004376: DUP2
00004377: MLOAD
00004378: SWAP2
00004379: MSTORE
0000437a: DUP7
0000437b: DUP11
0000437c: PUSH1 0x40
0000437e: MLOAD
0000437f: PUSH2 0x26ac
00004382: SWAP3
00004383: SWAP2
00004384: SWAP1
00004385: PUSH2 0x56a6
00004388: JUMP
00004389: JUMPDEST
0000438a: PUSH1 0x01
0000438c: PUSH1 0x01
0000438e: PUSH1 0xa0
00004390: SHL
00004391: SUB
00004392: DUP3
00004393: AND
00004394: PUSH2 0x43b2
00004397: JUMPI
00004398: PUSH0
00004399: PUSH1 0x40
0000439b: MLOAD
0000439c: PUSH4 0xec442f05
000043a1: PUSH1 0xe0
000043a3: SHL
000043a4: DUP2
000043a5: MSTORE
000043a6: PUSH1 0x04
000043a8: ADD
000043a9: PUSH2 0x0dfe
000043ac: SWAP2
000043ad: SWAP1
000043ae: PUSH2 0x4faf
000043b1: JUMP
000043b2: JUMPDEST
000043b3: PUSH2 0x20a7
000043b6: PUSH0
000043b7: DUP4
000043b8: DUP4
000043b9: PUSH2 0x47fe
000043bc: JUMP
000043bd: JUMPDEST
000043be: PUSH0
000043bf: DUP1
000043c0: PUSH2 0x43c7
000043c3: PUSH2 0x2b5b
000043c6: JUMP
000043c7: JUMPDEST
000043c8: PUSH5 0xffffffffff
000043ce: DUP1
000043cf: DUP7
000043d0: AND
000043d1: PUSH0
000043d2: SWAP1
000043d3: DUP2
000043d4: MSTORE
000043d5: PUSH1 0x03
000043d7: DUP4
000043d8: ADD
000043d9: PUSH1 0x20
000043db: SWAP1
000043dc: DUP2
000043dd: MSTORE
000043de: PUSH1 0x40
000043e0: DUP1
000043e1: DUP4
000043e2: KECCAK256
000043e3: SLOAD
000043e4: SWAP1
000043e5: SWAP4
000043e6: AND
000043e7: DUP1
000043e8: DUP4
000043e9: MSTORE
000043ea: PUSH1 0x04
000043ec: DUP6
000043ed: ADD
000043ee: SWAP1
000043ef: SWAP2
000043f0: MSTORE
000043f1: SWAP2
000043f2: DUP2
000043f3: KECCAK256
000043f4: PUSH1 0x01
000043f6: SWAP1
000043f7: DUP2
000043f8: ADD
000043f9: SLOAD
000043fa: SWAP4
000043fb: SWAP5
000043fc: POP
000043fd: SWAP2
000043fe: SWAP3
000043ff: SWAP1
00004400: SWAP2
00004401: PUSH2 0x440a
00004404: SWAP2
00004405: SWAP1
00004406: PUSH2 0x5478
00004409: JUMP
0000440a: JUMPDEST
0000440b: SWAP1
0000440c: POP
0000440d: PUSH0
0000440e: PUSH2 0x4415
00004411: PUSH2 0x4474
00004414: JUMP
00004415: JUMPDEST
00004416: PUSH2 0x4420
00004419: SWAP1
0000441a: PUSH1 0x0a
0000441c: PUSH2 0x5797
0000441f: JUMP
00004420: JUMPDEST
00004421: PUSH5 0xffffffffff
00004427: DUP5
00004428: AND
00004429: PUSH0
0000442a: SWAP1
0000442b: DUP2
0000442c: MSTORE
0000442d: PUSH1 0x04
0000442f: DUP7
00004430: ADD
00004431: PUSH1 0x20
00004433: MSTORE
00004434: PUSH1 0x40
00004436: SWAP1
00004437: KECCAK256
00004438: SLOAD
00004439: PUSH2 0x4442
0000443c: SWAP2
0000443d: SWAP1
0000443e: PUSH2 0x5478
00004441: JUMP
00004442: JUMPDEST
00004443: SWAP1
00004444: POP
00004445: PUSH2 0x3231
00004448: DUP9
00004449: DUP3
0000444a: DUP5
0000444b: DUP10
0000444c: PUSH2 0x4490
0000444f: JUMP
00004450: JUMPDEST
00004451: PUSH32 0x237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00
00004472: SWAP1
00004473: JUMP
00004474: JUMPDEST
00004475: PUSH0
00004476: PUSH2 0x447d
00004479: PUSH2 0x2b5b
0000447c: JUMP
0000447d: JUMPDEST
0000447e: PUSH1 0x09
00004480: ADD
00004481: SLOAD
00004482: PUSH1 0x01
00004484: PUSH1 0xa8
00004486: SHL
00004487: SWAP1
00004488: DIV
00004489: PUSH1 0xff
0000448b: AND
0000448c: SWAP2
0000448d: SWAP1
0000448e: POP
0000448f: JUMP
00004490: JUMPDEST
00004491: PUSH0
00004492: DUP1
00004493: PUSH2 0x449d
00004496: DUP7
00004497: DUP7
00004498: DUP7
00004499: PUSH2 0x49bd
0000449c: JUMP
0000449d: JUMPDEST
0000449e: SWAP1
0000449f: POP
000044a0: PUSH2 0x44a8
000044a3: DUP4
000044a4: PUSH2 0x4a7c
000044a7: JUMP
000044a8: JUMPDEST
000044a9: DUP1
000044aa: ISZERO
000044ab: PUSH2 0x44c3
000044ae: JUMPI
000044af: POP
000044b0: PUSH0
000044b1: DUP5
000044b2: DUP1
000044b3: PUSH2 0x44be
000044b6: JUMPI
000044b7: PUSH2 0x44be
000044ba: PUSH2 0x5888
000044bd: JUMP
000044be: JUMPDEST
000044bf: DUP7
000044c0: DUP9
000044c1: MULMOD
000044c2: GT
000044c3: JUMPDEST
000044c4: ISZERO
000044c5: PUSH2 0x44d6
000044c8: JUMPI
000044c9: PUSH2 0x44d3
000044cc: PUSH1 0x01
000044ce: DUP3
000044cf: PUSH2 0x5478
000044d2: JUMP
000044d3: JUMPDEST
000044d4: SWAP1
000044d5: POP
000044d6: JUMPDEST
000044d7: SWAP6
000044d8: SWAP5
000044d9: POP
000044da: POP
000044db: POP
000044dc: POP
000044dd: POP
000044de: JUMP
000044df: JUMPDEST
000044e0: PUSH0
000044e1: PUSH2 0x44e8
000044e4: PUSH2 0x2b7f
000044e7: JUMP
000044e8: JUMPDEST
000044e9: SWAP1
000044ea: POP
000044eb: PUSH1 0x01
000044ed: PUSH1 0x01
000044ef: PUSH1 0xa0
000044f1: SHL
000044f2: SUB
000044f3: DUP6
000044f4: AND
000044f5: PUSH2 0x4513
000044f8: JUMPI
000044f9: PUSH0
000044fa: PUSH1 0x40
000044fc: MLOAD
000044fd: PUSH4 0xe602df05
00004502: PUSH1 0xe0
00004504: SHL
00004505: DUP2
00004506: MSTORE
00004507: PUSH1 0x04
00004509: ADD
0000450a: PUSH2 0x0dfe
0000450d: SWAP2
0000450e: SWAP1
0000450f: PUSH2 0x4faf
00004512: JUMP
00004513: JUMPDEST
00004514: PUSH1 0x01
00004516: PUSH1 0x01
00004518: PUSH1 0xa0
0000451a: SHL
0000451b: SUB
0000451c: DUP5
0000451d: AND
0000451e: PUSH2 0x453c
00004521: JUMPI
00004522: PUSH0
00004523: PUSH1 0x40
00004525: MLOAD
00004526: PUSH4 0x4a1406b1
0000452b: PUSH1 0xe1
0000452d: SHL
0000452e: DUP2
0000452f: MSTORE
00004530: PUSH1 0x04
00004532: ADD
00004533: PUSH2 0x0dfe
00004536: SWAP2
00004537: SWAP1
00004538: PUSH2 0x4faf
0000453b: JUMP
0000453c: JUMPDEST
0000453d: PUSH1 0x01
0000453f: PUSH1 0x01
00004541: PUSH1 0xa0
00004543: SHL
00004544: SUB
00004545: DUP1
00004546: DUP7
00004547: AND
00004548: PUSH0
00004549: SWAP1
0000454a: DUP2
0000454b: MSTORE
0000454c: PUSH1 0x01
0000454e: DUP4
0000454f: ADD
00004550: PUSH1 0x20
00004552: SWAP1
00004553: DUP2
00004554: MSTORE
00004555: PUSH1 0x40
00004557: DUP1
00004558: DUP4
00004559: KECCAK256
0000455a: SWAP4
0000455b: DUP9
0000455c: AND
0000455d: DUP4
0000455e: MSTORE
0000455f: SWAP3
00004560: SWAP1
00004561: MSTORE
00004562: KECCAK256
00004563: DUP4
00004564: SWAP1
00004565: SSTORE
00004566: DUP2
00004567: ISZERO
00004568: PUSH2 0x45b9
0000456b: JUMPI
0000456c: DUP4
0000456d: PUSH1 0x01
0000456f: PUSH1 0x01
00004571: PUSH1 0xa0
00004573: SHL
00004574: SUB
00004575: AND
00004576: DUP6
00004577: PUSH1 0x01
00004579: PUSH1 0x01
0000457b: PUSH1 0xa0
0000457d: SHL
0000457e: SUB
0000457f: AND
00004580: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000045a1: DUP6
000045a2: PUSH1 0x40
000045a4: MLOAD
000045a5: PUSH2 0x45b0
000045a8: SWAP2
000045a9: DUP2
000045aa: MSTORE
000045ab: PUSH1 0x20
000045ad: ADD
000045ae: SWAP1
000045af: JUMP
000045b0: JUMPDEST
000045b1: PUSH1 0x40
000045b3: MLOAD
000045b4: DUP1
000045b5: SWAP2
000045b6: SUB
000045b7: SWAP1
000045b8: LOG3
000045b9: JUMPDEST
000045ba: POP
000045bb: POP
000045bc: POP
000045bd: POP
000045be: POP
000045bf: JUMP
000045c0: JUMPDEST
000045c1: PUSH0
000045c2: DUP1
000045c3: PUSH0
000045c4: PUSH2 0x45cb
000045c7: PUSH2 0x3461
000045ca: JUMP
000045cb: JUMPDEST
000045cc: SWAP1
000045cd: POP
000045ce: PUSH0
000045cf: PUSH2 0x45d6
000045d2: PUSH2 0x10cf
000045d5: JUMP
000045d6: JUMPDEST
000045d7: PUSH1 0xff
000045d9: AND
000045da: SWAP1
000045db: POP
000045dc: PUSH0
000045dd: PUSH2 0x45e4
000045e0: PUSH2 0x17c6
000045e3: JUMP
000045e4: JUMPDEST
000045e5: SWAP1
000045e6: POP
000045e7: PUSH0
000045e8: DUP4
000045e9: PUSH1 0x02
000045eb: ADD
000045ec: SLOAD
000045ed: TIMESTAMP
000045ee: PUSH2 0x45f7
000045f1: SWAP2
000045f2: SWAP1
000045f3: PUSH2 0x5830
000045f6: JUMP
000045f7: JUMPDEST
000045f8: SWAP1
000045f9: POP
000045fa: PUSH0
000045fb: PUSH2 0x4602
000045fe: PUSH2 0x0c37
00004601: JUMP
00004602: JUMPDEST
00004603: SWAP1
00004604: POP
00004605: PUSH0
00004606: PUSH2 0x4617
00004609: DUP3
0000460a: DUP6
0000460b: PUSH0
0000460c: ADD
0000460d: MLOAD
0000460e: PUSH2 0xffff
00004611: AND
00004612: DUP6
00004613: PUSH2 0x4aa8
00004616: JUMP
00004617: JUMPDEST
00004618: SWAP1
00004619: POP
0000461a: PUSH0
0000461b: PUSH2 0x466d
0000461e: DUP3
0000461f: PUSH2 0x4629
00004622: DUP6
00004623: PUSH1 0x01
00004625: PUSH2 0x5478
00004628: JUMP
00004629: JUMPDEST
0000462a: PUSH2 0x4633
0000462d: SWAP2
0000462e: SWAP1
0000462f: PUSH2 0x5830
00004632: JUMP
00004633: JUMPDEST
00004634: PUSH2 0x463b
00004637: PUSH2 0x4474
0000463a: JUMP
0000463b: JUMPDEST
0000463c: PUSH2 0x4646
0000463f: SWAP1
00004640: PUSH1 0x0a
00004642: PUSH2 0x5797
00004645: JUMP
00004646: JUMPDEST
00004647: PUSH2 0x464e
0000464a: PUSH2 0x0f85
0000464d: JUMP
0000464e: JUMPDEST
0000464f: PUSH2 0x4658
00004652: SWAP2
00004653: SWAP1
00004654: PUSH2 0x5478
00004657: JUMP
00004658: JUMPDEST
00004659: PUSH1 0x01
0000465b: PUSH2 0x4665
0000465e: DUP11
0000465f: PUSH1 0x0a
00004661: PUSH2 0x587d
00004664: JUMP
00004665: JUMPDEST
00004666: SWAP3
00004667: SWAP2
00004668: SWAP1
00004669: PUSH2 0x4490
0000466c: JUMP
0000466d: JUMPDEST
0000466e: SWAP1
0000466f: POP
00004670: PUSH0
00004671: PUSH2 0x4678
00004674: PUSH2 0x0f85
00004677: JUMP
00004678: JUMPDEST
00004679: SWAP1
0000467a: POP
0000467b: PUSH0
0000467c: PUSH2 0x4694
0000467f: DUP8
00004680: PUSH1 0x20
00004682: ADD
00004683: MLOAD
00004684: PUSH2 0xffff
00004687: AND
00004688: DUP4
00004689: DUP6
0000468a: DUP13
0000468b: PUSH1 0x03
0000468d: ADD
0000468e: SLOAD
0000468f: DUP13
00004690: PUSH2 0x4acc
00004693: JUMP
00004694: JUMPDEST
00004695: SWAP1
00004696: POP
00004697: PUSH0
00004698: PUSH2 0x46a1
0000469b: DUP3
0000469c: DUP7
0000469d: PUSH2 0x5478
000046a0: JUMP
000046a1: JUMPDEST
000046a2: SWAP1
000046a3: POP
000046a4: PUSH0
000046a5: PUSH2 0x46e3
000046a8: PUSH2 0x46af
000046ab: PUSH2 0x4474
000046ae: JUMP
000046af: JUMPDEST
000046b0: PUSH2 0x46ba
000046b3: SWAP1
000046b4: PUSH1 0x0a
000046b6: PUSH2 0x5797
000046b9: JUMP
000046ba: JUMPDEST
000046bb: PUSH2 0x46c4
000046be: SWAP1
000046bf: DUP7
000046c0: PUSH2 0x5478
000046c3: JUMP
000046c4: JUMPDEST
000046c5: PUSH2 0x46ce
000046c8: DUP5
000046c9: DUP11
000046ca: PUSH2 0x5830
000046cd: JUMP
000046ce: JUMPDEST
000046cf: PUSH2 0x46d9
000046d2: SWAP1
000046d3: PUSH1 0x01
000046d5: PUSH2 0x5478
000046d8: JUMP
000046d9: JUMPDEST
000046da: DUP5
000046db: SWAP2
000046dc: SWAP1
000046dd: PUSH1 0x01
000046df: PUSH2 0x4490
000046e2: JUMP
000046e3: JUMPDEST
000046e4: SWAP1
000046e5: POP
000046e6: PUSH2 0x46fc
000046e9: PUSH2 0x46f0
000046ec: PUSH2 0x4af9
000046ef: JUMP
000046f0: JUMPDEST
000046f1: DUP3
000046f2: SWAP1
000046f3: PUSH2 0x2710
000046f6: PUSH1 0x01
000046f8: PUSH2 0x4490
000046fb: JUMP
000046fc: JUMPDEST
000046fd: SWAP12
000046fe: POP
000046ff: PUSH2 0x4708
00004702: DUP13
00004703: DUP3
00004704: PUSH2 0x5830
00004707: JUMP
00004708: JUMPDEST
00004709: SWAP13
0000470a: POP
0000470b: POP
0000470c: POP
0000470d: POP
0000470e: POP
0000470f: POP
00004710: POP
00004711: POP
00004712: POP
00004713: POP
00004714: POP
00004715: POP
00004716: SWAP1
00004717: SWAP2
00004718: JUMP
00004719: JUMPDEST
0000471a: PUSH0
0000471b: PUSH2 0x4722
0000471e: PUSH2 0x3461
00004721: JUMP
00004722: JUMPDEST
00004723: PUSH1 0x03
00004725: DUP2
00004726: ADD
00004727: SLOAD
00004728: SWAP1
00004729: SWAP2
0000472a: POP
0000472b: DUP1
0000472c: DUP4
0000472d: GT
0000472e: ISZERO
0000472f: PUSH2 0x2052
00004732: JUMPI
00004733: PUSH32 0x03f8f938dbe4475565f0cf1c3dcf09728208c2c6065e1f717102058c51e94d06
00004754: DUP2
00004755: DUP5
00004756: PUSH1 0x40
00004758: MLOAD
00004759: PUSH2 0x4763
0000475c: SWAP3
0000475d: SWAP2
0000475e: SWAP1
0000475f: PUSH2 0x56a6
00004762: JUMP
00004763: JUMPDEST
00004764: PUSH1 0x40
00004766: MLOAD
00004767: DUP1
00004768: SWAP2
00004769: SUB
0000476a: SWAP1
0000476b: LOG1
0000476c: POP
0000476d: PUSH1 0x03
0000476f: ADD
00004770: SSTORE
00004771: JUMP
00004772: JUMPDEST
00004773: PUSH1 0x01
00004775: PUSH1 0x01
00004777: PUSH1 0xa0
00004779: SHL
0000477a: SUB
0000477b: DUP3
0000477c: AND
0000477d: PUSH2 0x479b
00004780: JUMPI
00004781: PUSH0
00004782: PUSH1 0x40
00004784: MLOAD
00004785: PUSH4 0x4b637e8f
0000478a: PUSH1 0xe1
0000478c: SHL
0000478d: DUP2
0000478e: MSTORE
0000478f: PUSH1 0x04
00004791: ADD
00004792: PUSH2 0x0dfe
00004795: SWAP2
00004796: SWAP1
00004797: PUSH2 0x4faf
0000479a: JUMP
0000479b: JUMPDEST
0000479c: PUSH2 0x20a7
0000479f: DUP3
000047a0: PUSH0
000047a1: DUP4
000047a2: PUSH2 0x47fe
000047a5: JUMP
000047a6: JUMPDEST
000047a7: PUSH0
000047a8: PUSH2 0x47ba
000047ab: PUSH1 0x01
000047ad: PUSH1 0x01
000047af: PUSH1 0xa0
000047b1: SHL
000047b2: SUB
000047b3: DUP5
000047b4: AND
000047b5: DUP4
000047b6: PUSH2 0x4b8a
000047b9: JUMP
000047ba: JUMPDEST
000047bb: SWAP1
000047bc: POP
000047bd: DUP1
000047be: MLOAD
000047bf: PUSH0
000047c0: EQ
000047c1: ISZERO
000047c2: DUP1
000047c3: ISZERO
000047c4: PUSH2 0x47de
000047c7: JUMPI
000047c8: POP
000047c9: DUP1
000047ca: DUP1
000047cb: PUSH1 0x20
000047cd: ADD
000047ce: SWAP1
000047cf: MLOAD
000047d0: DUP2
000047d1: ADD
000047d2: SWAP1
000047d3: PUSH2 0x47dc
000047d6: SWAP2
000047d7: SWAP1
000047d8: PUSH2 0x589c
000047db: JUMP
000047dc: JUMPDEST
000047dd: ISZERO
000047de: JUMPDEST
000047df: ISZERO
000047e0: PUSH2 0x2052
000047e3: JUMPI
000047e4: DUP3
000047e5: PUSH1 0x40
000047e7: MLOAD
000047e8: PUSH4 0x5274afe7
000047ed: PUSH1 0xe0
000047ef: SHL
000047f0: DUP2
000047f1: MSTORE
000047f2: PUSH1 0x04
000047f4: ADD
000047f5: PUSH2 0x0dfe
000047f8: SWAP2
000047f9: SWAP1
000047fa: PUSH2 0x4faf
000047fd: JUMP
000047fe: JUMPDEST
000047ff: PUSH2 0x2052
00004802: DUP4
00004803: DUP4
00004804: DUP4
00004805: PUSH2 0x4b97
00004808: JUMP
00004809: JUMPDEST
0000480a: PUSH2 0x4811
0000480d: PUSH2 0x13de
00004810: JUMP
00004811: JUMPDEST
00004812: PUSH2 0x1313
00004815: JUMPI
00004816: PUSH1 0x40
00004818: MLOAD
00004819: PUSH4 0x8dfc202b
0000481e: PUSH1 0xe0
00004820: SHL
00004821: DUP2
00004822: MSTORE
00004823: PUSH1 0x04
00004825: ADD
00004826: PUSH1 0x40
00004828: MLOAD
00004829: DUP1
0000482a: SWAP2
0000482b: SUB
0000482c: SWAP1
0000482d: REVERT
0000482e: JUMPDEST
0000482f: PUSH2 0x4836
00004832: PUSH2 0x4baa
00004835: JUMP
00004836: JUMPDEST
00004837: PUSH2 0x1313
0000483a: JUMPI
0000483b: PUSH1 0x40
0000483d: MLOAD
0000483e: PUSH4 0x1afcd79f
00004843: PUSH1 0xe3
00004845: SHL
00004846: DUP2
00004847: MSTORE
00004848: PUSH1 0x04
0000484a: ADD
0000484b: PUSH1 0x40
0000484d: MLOAD
0000484e: DUP1
0000484f: SWAP2
00004850: SUB
00004851: SWAP1
00004852: REVERT
00004853: JUMPDEST
00004854: PUSH2 0x485b
00004857: PUSH2 0x482e
0000485a: JUMP
0000485b: JUMPDEST
0000485c: PUSH1 0x01
0000485e: PUSH1 0x01
00004860: PUSH1 0xa0
00004862: SHL
00004863: SUB
00004864: DUP2
00004865: AND
00004866: PUSH2 0x1876
00004869: JUMPI
0000486a: PUSH0
0000486b: PUSH1 0x40
0000486d: MLOAD
0000486e: PUSH4 0x1e4fbdf7
00004873: PUSH1 0xe0
00004875: SHL
00004876: DUP2
00004877: MSTORE
00004878: PUSH1 0x04
0000487a: ADD
0000487b: PUSH2 0x0dfe
0000487e: SWAP2
0000487f: SWAP1
00004880: PUSH2 0x4faf
00004883: JUMP
00004884: JUMPDEST
00004885: PUSH2 0x488c
00004888: PUSH2 0x482e
0000488b: JUMP
0000488c: JUMPDEST
0000488d: PUSH0
0000488e: PUSH2 0x4895
00004891: PUSH2 0x2b7f
00004894: JUMP
00004895: JUMPDEST
00004896: SWAP1
00004897: POP
00004898: PUSH1 0x03
0000489a: DUP2
0000489b: ADD
0000489c: PUSH2 0x48a5
0000489f: DUP5
000048a0: DUP3
000048a1: PUSH2 0x58fb
000048a4: JUMP
000048a5: JUMPDEST
000048a6: POP
000048a7: PUSH1 0x04
000048a9: DUP2
000048aa: ADD
000048ab: PUSH2 0x19f4
000048ae: DUP4
000048af: DUP3
000048b0: PUSH2 0x58fb
000048b3: JUMP
000048b4: JUMPDEST
000048b5: PUSH2 0x48bc
000048b8: PUSH2 0x482e
000048bb: JUMP
000048bc: JUMPDEST
000048bd: PUSH0
000048be: PUSH2 0x48c5
000048c1: PUSH2 0x3501
000048c4: JUMP
000048c5: JUMPDEST
000048c6: DUP1
000048c7: SLOAD
000048c8: PUSH1 0xff
000048ca: NOT
000048cb: AND
000048cc: SWAP1
000048cd: SSTORE
000048ce: POP
000048cf: JUMP
000048d0: JUMPDEST
000048d1: PUSH2 0x48d8
000048d4: PUSH2 0x482e
000048d7: JUMP
000048d8: JUMPDEST
000048d9: PUSH0
000048da: PUSH2 0x48e1
000048dd: PUSH2 0x33e7
000048e0: JUMP
000048e1: JUMPDEST
000048e2: SWAP1
000048e3: POP
000048e4: PUSH0
000048e5: DUP1
000048e6: PUSH2 0x48ee
000048e9: DUP5
000048ea: PUSH2 0x4bc3
000048ed: JUMP
000048ee: JUMPDEST
000048ef: SWAP2
000048f0: POP
000048f1: SWAP2
000048f2: POP
000048f3: DUP2
000048f4: PUSH2 0x48fe
000048f7: JUMPI
000048f8: PUSH1 0x12
000048fa: PUSH2 0x4900
000048fd: JUMP
000048fe: JUMPDEST
000048ff: DUP1
00004900: JUMPDEST
00004901: DUP4
00004902: SLOAD
00004903: PUSH1 0x01
00004905: PUSH1 0x01
00004907: PUSH1 0xa8
00004909: SHL
0000490a: SUB
0000490b: NOT
0000490c: AND
0000490d: PUSH1 0x01
0000490f: PUSH1 0xa0
00004911: SHL
00004912: PUSH1 0xff
00004914: SWAP3
00004915: SWAP1
00004916: SWAP3
00004917: AND
00004918: SWAP2
00004919: SWAP1
0000491a: SWAP2
0000491b: MUL
0000491c: PUSH1 0x01
0000491e: PUSH1 0x01
00004920: PUSH1 0xa0
00004922: SHL
00004923: SUB
00004924: NOT
00004925: AND
00004926: OR
00004927: PUSH1 0x01
00004929: PUSH1 0x01
0000492b: PUSH1 0xa0
0000492d: SHL
0000492e: SUB
0000492f: SWAP5
00004930: SWAP1
00004931: SWAP5
00004932: AND
00004933: SWAP4
00004934: SWAP1
00004935: SWAP4
00004936: OR
00004937: SWAP1
00004938: SWAP2
00004939: SSTORE
0000493a: POP
0000493b: POP
0000493c: JUMP
0000493d: JUMPDEST
0000493e: PUSH0
0000493f: PUSH2 0x4946
00004942: PUSH2 0x3c95
00004945: JUMP
00004946: JUMPDEST
00004947: DUP1
00004948: SLOAD
00004949: PUSH1 0x01
0000494b: PUSH1 0x01
0000494d: PUSH1 0xa0
0000494f: SHL
00004950: SUB
00004951: DUP5
00004952: DUP2
00004953: AND
00004954: PUSH1 0x01
00004956: PUSH1 0x01
00004958: PUSH1 0xa0
0000495a: SHL
0000495b: SUB
0000495c: NOT
0000495d: DUP4
0000495e: AND
0000495f: DUP2
00004960: OR
00004961: DUP5
00004962: SSTORE
00004963: PUSH1 0x40
00004965: MLOAD
00004966: SWAP4
00004967: SWAP5
00004968: POP
00004969: SWAP2
0000496a: AND
0000496b: SWAP2
0000496c: DUP3
0000496d: SWAP1
0000496e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000498f: SWAP1
00004990: PUSH0
00004991: SWAP1
00004992: LOG3
00004993: POP
00004994: POP
00004995: POP
00004996: JUMP
00004997: JUMPDEST
00004998: PUSH2 0x2052
0000499b: DUP4
0000499c: DUP5
0000499d: PUSH1 0x01
0000499f: PUSH1 0x01
000049a1: PUSH1 0xa0
000049a3: SHL
000049a4: SUB
000049a5: AND
000049a6: PUSH4 0xa9059cbb
000049ab: DUP6
000049ac: DUP6
000049ad: PUSH1 0x40
000049af: MLOAD
000049b0: PUSH1 0x24
000049b2: ADD
000049b3: PUSH2 0x316c
000049b6: SWAP3
000049b7: SWAP2
000049b8: SWAP1
000049b9: PUSH2 0x5864
000049bc: JUMP
000049bd: JUMPDEST
000049be: PUSH0
000049bf: DUP4
000049c0: DUP4
000049c1: MUL
000049c2: DUP2
000049c3: PUSH0
000049c4: NOT
000049c5: DUP6
000049c6: DUP8
000049c7: MULMOD
000049c8: DUP3
000049c9: DUP2
000049ca: LT
000049cb: DUP4
000049cc: DUP3
000049cd: SUB
000049ce: SUB
000049cf: SWAP2
000049d0: POP
000049d1: POP
000049d2: DUP1
000049d3: PUSH0
000049d4: SUB
000049d5: PUSH2 0x49f1
000049d8: JUMPI
000049d9: DUP4
000049da: DUP3
000049db: DUP2
000049dc: PUSH2 0x49e7
000049df: JUMPI
000049e0: PUSH2 0x49e7
000049e3: PUSH2 0x5888
000049e6: JUMP
000049e7: JUMPDEST
000049e8: DIV
000049e9: SWAP3
000049ea: POP
000049eb: POP
000049ec: POP
000049ed: PUSH2 0x0fa5
000049f0: JUMP
000049f1: JUMPDEST
000049f2: DUP1
000049f3: DUP5
000049f4: GT
000049f5: PUSH2 0x4a11
000049f8: JUMPI
000049f9: PUSH1 0x40
000049fb: MLOAD
000049fc: PUSH4 0x227bc153
00004a01: PUSH1 0xe0
00004a03: SHL
00004a04: DUP2
00004a05: MSTORE
00004a06: PUSH1 0x04
00004a08: ADD
00004a09: PUSH1 0x40
00004a0b: MLOAD
00004a0c: DUP1
00004a0d: SWAP2
00004a0e: SUB
00004a0f: SWAP1
00004a10: REVERT
00004a11: JUMPDEST
00004a12: PUSH0
00004a13: DUP5
00004a14: DUP7
00004a15: DUP9
00004a16: MULMOD
00004a17: PUSH0
00004a18: DUP7
00004a19: DUP2
00004a1a: SUB
00004a1b: DUP8
00004a1c: AND
00004a1d: SWAP7
00004a1e: DUP8
00004a1f: SWAP1
00004a20: DIV
00004a21: SWAP7
00004a22: PUSH1 0x02
00004a24: PUSH1 0x03
00004a26: DUP10
00004a27: MUL
00004a28: DUP2
00004a29: XOR
00004a2a: DUP1
00004a2b: DUP11
00004a2c: MUL
00004a2d: DUP3
00004a2e: SUB
00004a2f: MUL
00004a30: DUP1
00004a31: DUP11
00004a32: MUL
00004a33: DUP3
00004a34: SUB
00004a35: MUL
00004a36: DUP1
00004a37: DUP11
00004a38: MUL
00004a39: DUP3
00004a3a: SUB
00004a3b: MUL
00004a3c: DUP1
00004a3d: DUP11
00004a3e: MUL
00004a3f: DUP3
00004a40: SUB
00004a41: MUL
00004a42: DUP1
00004a43: DUP11
00004a44: MUL
00004a45: DUP3
00004a46: SUB
00004a47: MUL
00004a48: DUP1
00004a49: DUP11
00004a4a: MUL
00004a4b: SWAP1
00004a4c: SWAP2
00004a4d: SUB
00004a4e: MUL
00004a4f: SWAP2
00004a50: DUP2
00004a51: SWAP1
00004a52: SUB
00004a53: DUP2
00004a54: SWAP1
00004a55: DIV
00004a56: PUSH1 0x01
00004a58: ADD
00004a59: DUP7
00004a5a: DUP5
00004a5b: GT
00004a5c: SWAP1
00004a5d: SWAP6
00004a5e: SUB
00004a5f: SWAP5
00004a60: SWAP1
00004a61: SWAP5
00004a62: MUL
00004a63: SWAP2
00004a64: SWAP1
00004a65: SWAP5
00004a66: SUB
00004a67: SWAP3
00004a68: SWAP1
00004a69: SWAP3
00004a6a: DIV
00004a6b: SWAP2
00004a6c: SWAP1
00004a6d: SWAP2
00004a6e: OR
00004a6f: SWAP2
00004a70: SWAP1
00004a71: SWAP2
00004a72: MUL
00004a73: SWAP2
00004a74: POP
00004a75: POP
00004a76: SWAP4
00004a77: SWAP3
00004a78: POP
00004a79: POP
00004a7a: POP
00004a7b: JUMP
00004a7c: JUMPDEST
00004a7d: PUSH0
00004a7e: PUSH1 0x02
00004a80: DUP3
00004a81: PUSH1 0x03
00004a83: DUP2
00004a84: GT
00004a85: ISZERO
00004a86: PUSH2 0x4a91
00004a89: JUMPI
00004a8a: PUSH2 0x4a91
00004a8d: PUSH2 0x53ff
00004a90: JUMP
00004a91: JUMPDEST
00004a92: PUSH2 0x4a9b
00004a95: SWAP2
00004a96: SWAP1
00004a97: PUSH2 0x59b5
00004a9a: JUMP
00004a9b: JUMPDEST
00004a9c: PUSH1 0xff
00004a9e: AND
00004a9f: PUSH1 0x01
00004aa1: EQ
00004aa2: SWAP1
00004aa3: POP
00004aa4: SWAP2
00004aa5: SWAP1
00004aa6: POP
00004aa7: JUMP
00004aa8: JUMPDEST
00004aa9: PUSH0
00004aaa: DUP1
00004aab: PUSH2 0x4ab9
00004aae: DUP6
00004aaf: DUP6
00004ab0: PUSH2 0x2710
00004ab3: PUSH1 0x01
00004ab5: PUSH2 0x4490
00004ab8: JUMP
00004ab9: JUMPDEST
00004aba: SWAP1
00004abb: POP
00004abc: PUSH2 0x10c4
00004abf: DUP2
00004ac0: DUP5
00004ac1: PUSH4 0x01e13380
00004ac6: PUSH1 0x01
00004ac8: PUSH2 0x4490
00004acb: JUMP
00004acc: JUMPDEST
00004acd: PUSH0
00004ace: DUP3
00004acf: DUP5
00004ad0: GT
00004ad1: ISZERO
00004ad2: PUSH2 0x44d6
00004ad5: JUMPI
00004ad6: DUP3
00004ad7: DUP5
00004ad8: SUB
00004ad9: PUSH0
00004ada: PUSH2 0x4ae8
00004add: DUP8
00004ade: PUSH2 0x46d9
00004ae1: DUP7
00004ae2: PUSH1 0x0a
00004ae4: PUSH2 0x587d
00004ae7: JUMP
00004ae8: JUMPDEST
00004ae9: SWAP1
00004aea: POP
00004aeb: PUSH2 0x3231
00004aee: DUP2
00004aef: DUP10
00004af0: PUSH2 0x2710
00004af3: PUSH1 0x01
00004af5: PUSH2 0x4490
00004af8: JUMP
00004af9: JUMPDEST
00004afa: PUSH0
00004afb: DUP1
00004afc: PUSH2 0x4b03
00004aff: PUSH2 0x3461
00004b02: JUMP
00004b03: JUMPDEST
00004b04: DUP1
00004b05: SLOAD
00004b06: PUSH1 0x40
00004b08: DUP1
00004b09: MLOAD
00004b0a: PUSH4 0x4cee8ab3
00004b0f: PUSH1 0xe1
00004b11: SHL
00004b12: DUP2
00004b13: MSTORE
00004b14: SWAP1
00004b15: MLOAD
00004b16: SWAP3
00004b17: SWAP4
00004b18: POP
00004b19: PUSH1 0x01
00004b1b: PUSH1 0x01
00004b1d: PUSH1 0xa0
00004b1f: SHL
00004b20: SUB
00004b21: SWAP1
00004b22: SWAP2
00004b23: AND
00004b24: SWAP2
00004b25: PUSH4 0x99dd1566
00004b2a: SWAP2
00004b2b: PUSH1 0x04
00004b2d: DUP1
00004b2e: DUP3
00004b2f: ADD
00004b30: SWAP3
00004b31: PUSH1 0x20
00004b33: SWAP3
00004b34: SWAP1
00004b35: SWAP2
00004b36: SWAP1
00004b37: DUP3
00004b38: SWAP1
00004b39: SUB
00004b3a: ADD
00004b3b: DUP2
00004b3c: DUP7
00004b3d: GAS
00004b3e: STATICCALL
00004b3f: ISZERO
00004b40: DUP1
00004b41: ISZERO
00004b42: PUSH2 0x4b4d
00004b45: JUMPI
00004b46: RETURNDATASIZE
00004b47: PUSH0
00004b48: DUP1
00004b49: RETURNDATACOPY
00004b4a: RETURNDATASIZE
00004b4b: PUSH0
00004b4c: REVERT
00004b4d: JUMPDEST
00004b4e: POP
00004b4f: POP
00004b50: POP
00004b51: POP
00004b52: PUSH1 0x40
00004b54: MLOAD
00004b55: RETURNDATASIZE
00004b56: PUSH1 0x1f
00004b58: NOT
00004b59: PUSH1 0x1f
00004b5b: DUP3
00004b5c: ADD
00004b5d: AND
00004b5e: DUP3
00004b5f: ADD
00004b60: DUP1
00004b61: PUSH1 0x40
00004b63: MSTORE
00004b64: POP
00004b65: DUP2
00004b66: ADD
00004b67: SWAP1
00004b68: PUSH2 0x4b71
00004b6b: SWAP2
00004b6c: SWAP1
00004b6d: PUSH2 0x5819
00004b70: JUMP
00004b71: JUMPDEST
00004b72: SWAP2
00004b73: POP
00004b74: PUSH2 0x0bb8
00004b77: DUP3
00004b78: GT
00004b79: ISZERO
00004b7a: PUSH2 0x4b86
00004b7d: JUMPI
00004b7e: POP
00004b7f: PUSH2 0x0bb8
00004b82: SWAP2
00004b83: SWAP1
00004b84: POP
00004b85: JUMP
00004b86: JUMPDEST
00004b87: POP
00004b88: SWAP1
00004b89: JUMP
00004b8a: JUMPDEST
00004b8b: PUSH1 0x60
00004b8d: PUSH2 0x0fa5
00004b90: DUP4
00004b91: DUP4
00004b92: PUSH0
00004b93: PUSH2 0x4c99
00004b96: JUMP
00004b97: JUMPDEST
00004b98: PUSH2 0x4b9f
00004b9b: PUSH2 0x34db
00004b9e: JUMP
00004b9f: JUMPDEST
00004ba0: PUSH2 0x2052
00004ba3: DUP4
00004ba4: DUP4
00004ba5: DUP4
00004ba6: PUSH2 0x4d32
00004ba9: JUMP
00004baa: JUMPDEST
00004bab: PUSH0
00004bac: PUSH2 0x4bb3
00004baf: PUSH2 0x36d4
00004bb2: JUMP
00004bb3: JUMPDEST
00004bb4: SLOAD
00004bb5: PUSH1 0x01
00004bb7: PUSH1 0x40
00004bb9: SHL
00004bba: SWAP1
00004bbb: DIV
00004bbc: PUSH1 0xff
00004bbe: AND
00004bbf: SWAP2
00004bc0: SWAP1
00004bc1: POP
00004bc2: JUMP
00004bc3: JUMPDEST
00004bc4: PUSH1 0x40
00004bc6: DUP1
00004bc7: MLOAD
00004bc8: PUSH1 0x04
00004bca: DUP2
00004bcb: MSTORE
00004bcc: PUSH1 0x24
00004bce: DUP2
00004bcf: ADD
00004bd0: DUP3
00004bd1: MSTORE
00004bd2: PUSH1 0x20
00004bd4: DUP2
00004bd5: ADD
00004bd6: DUP1
00004bd7: MLOAD
00004bd8: PUSH1 0x01
00004bda: PUSH1 0x01
00004bdc: PUSH1 0xe0
00004bde: SHL
00004bdf: SUB
00004be0: AND
00004be1: PUSH4 0x313ce567
00004be6: PUSH1 0xe0
00004be8: SHL
00004be9: OR
00004bea: SWAP1
00004beb: MSTORE
00004bec: SWAP1
00004bed: MLOAD
00004bee: PUSH0
00004bef: SWAP2
00004bf0: DUP3
00004bf1: SWAP2
00004bf2: DUP3
00004bf3: SWAP2
00004bf4: DUP3
00004bf5: SWAP2
00004bf6: PUSH1 0x01
00004bf8: PUSH1 0x01
00004bfa: PUSH1 0xa0
00004bfc: SHL
00004bfd: SUB
00004bfe: DUP8
00004bff: AND
00004c00: SWAP2
00004c01: PUSH2 0x4c09
00004c04: SWAP2
00004c05: PUSH2 0x59e2
00004c08: JUMP
00004c09: JUMPDEST
00004c0a: PUSH0
00004c0b: PUSH1 0x40
00004c0d: MLOAD
00004c0e: DUP1
00004c0f: DUP4
00004c10: SUB
00004c11: DUP2
00004c12: DUP6
00004c13: GAS
00004c14: STATICCALL
00004c15: SWAP2
00004c16: POP
00004c17: POP
00004c18: RETURNDATASIZE
00004c19: DUP1
00004c1a: PUSH0
00004c1b: DUP2
00004c1c: EQ
00004c1d: PUSH2 0x4c41
00004c20: JUMPI
00004c21: PUSH1 0x40
00004c23: MLOAD
00004c24: SWAP2
00004c25: POP
00004c26: PUSH1 0x1f
00004c28: NOT
00004c29: PUSH1 0x3f
00004c2b: RETURNDATASIZE
00004c2c: ADD
00004c2d: AND
00004c2e: DUP3
00004c2f: ADD
00004c30: PUSH1 0x40
00004c32: MSTORE
00004c33: RETURNDATASIZE
00004c34: DUP3
00004c35: MSTORE
00004c36: RETURNDATASIZE
00004c37: PUSH0
00004c38: PUSH1 0x20
00004c3a: DUP5
00004c3b: ADD
00004c3c: RETURNDATACOPY
00004c3d: PUSH2 0x4c46
00004c40: JUMP
00004c41: JUMPDEST
00004c42: PUSH1 0x60
00004c44: SWAP2
00004c45: POP
00004c46: JUMPDEST
00004c47: POP
00004c48: SWAP2
00004c49: POP
00004c4a: SWAP2
00004c4b: POP
00004c4c: DUP2
00004c4d: DUP1
00004c4e: ISZERO
00004c4f: PUSH2 0x4c5a
00004c52: JUMPI
00004c53: POP
00004c54: PUSH1 0x20
00004c56: DUP2
00004c57: MLOAD
00004c58: LT
00004c59: ISZERO
00004c5a: JUMPDEST
00004c5b: ISZERO
00004c5c: PUSH2 0x4c8d
00004c5f: JUMPI
00004c60: PUSH0
00004c61: DUP2
00004c62: DUP1
00004c63: PUSH1 0x20
00004c65: ADD
00004c66: SWAP1
00004c67: MLOAD
00004c68: DUP2
00004c69: ADD
00004c6a: SWAP1
00004c6b: PUSH2 0x4c74
00004c6e: SWAP2
00004c6f: SWAP1
00004c70: PUSH2 0x5819
00004c73: JUMP
00004c74: JUMPDEST
00004c75: SWAP1
00004c76: POP
00004c77: PUSH1 0xff
00004c79: DUP2
00004c7a: GT
00004c7b: PUSH2 0x4c8b
00004c7e: JUMPI
00004c7f: PUSH1 0x01
00004c81: SWAP7
00004c82: SWAP1
00004c83: SWAP6
00004c84: POP
00004c85: SWAP4
00004c86: POP
00004c87: POP
00004c88: POP
00004c89: POP
00004c8a: JUMP
00004c8b: JUMPDEST
00004c8c: POP
00004c8d: JUMPDEST
00004c8e: POP
00004c8f: PUSH0
00004c90: SWAP5
00004c91: DUP6
00004c92: SWAP5
00004c93: POP
00004c94: SWAP3
00004c95: POP
00004c96: POP
00004c97: POP
00004c98: JUMP
00004c99: JUMPDEST
00004c9a: PUSH1 0x60
00004c9c: DUP2
00004c9d: SELFBALANCE
00004c9e: LT
00004c9f: ISZERO
00004ca0: PUSH2 0x4cbe
00004ca3: JUMPI
00004ca4: ADDRESS
00004ca5: PUSH1 0x40
00004ca7: MLOAD
00004ca8: PUSH4 0xcd786059
00004cad: PUSH1 0xe0
00004caf: SHL
00004cb0: DUP2
00004cb1: MSTORE
00004cb2: PUSH1 0x04
00004cb4: ADD
00004cb5: PUSH2 0x0dfe
00004cb8: SWAP2
00004cb9: SWAP1
00004cba: PUSH2 0x4faf
00004cbd: JUMP
00004cbe: JUMPDEST
00004cbf: PUSH0
00004cc0: DUP1
00004cc1: DUP6
00004cc2: PUSH1 0x01
00004cc4: PUSH1 0x01
00004cc6: PUSH1 0xa0
00004cc8: SHL
00004cc9: SUB
00004cca: AND
00004ccb: DUP5
00004ccc: DUP7
00004ccd: PUSH1 0x40
00004ccf: MLOAD
00004cd0: PUSH2 0x4cd9
00004cd3: SWAP2
00004cd4: SWAP1
00004cd5: PUSH2 0x59e2
00004cd8: JUMP
00004cd9: JUMPDEST
00004cda: PUSH0
00004cdb: PUSH1 0x40
00004cdd: MLOAD
00004cde: DUP1
00004cdf: DUP4
00004ce0: SUB
00004ce1: DUP2
00004ce2: DUP6
00004ce3: DUP8
00004ce4: GAS
00004ce5: CALL
00004ce6: SWAP3
00004ce7: POP
00004ce8: POP
00004ce9: POP
00004cea: RETURNDATASIZE
00004ceb: DUP1
00004cec: PUSH0
00004ced: DUP2
00004cee: EQ
00004cef: PUSH2 0x4d13
00004cf2: JUMPI
00004cf3: PUSH1 0x40
00004cf5: MLOAD
00004cf6: SWAP2
00004cf7: POP
00004cf8: PUSH1 0x1f
00004cfa: NOT
00004cfb: PUSH1 0x3f
00004cfd: RETURNDATASIZE
00004cfe: ADD
00004cff: AND
00004d00: DUP3
00004d01: ADD
00004d02: PUSH1 0x40
00004d04: MSTORE
00004d05: RETURNDATASIZE
00004d06: DUP3
00004d07: MSTORE
00004d08: RETURNDATASIZE
00004d09: PUSH0
00004d0a: PUSH1 0x20
00004d0c: DUP5
00004d0d: ADD
00004d0e: RETURNDATACOPY
00004d0f: PUSH2 0x4d18
00004d12: JUMP
00004d13: JUMPDEST
00004d14: PUSH1 0x60
00004d16: SWAP2
00004d17: POP
00004d18: JUMPDEST
00004d19: POP
00004d1a: SWAP2
00004d1b: POP
00004d1c: SWAP2
00004d1d: POP
00004d1e: PUSH2 0x4d28
00004d21: DUP7
00004d22: DUP4
00004d23: DUP4
00004d24: PUSH2 0x4e55
00004d27: JUMP
00004d28: JUMPDEST
00004d29: SWAP7
00004d2a: SWAP6
00004d2b: POP
00004d2c: POP
00004d2d: POP
00004d2e: POP
00004d2f: POP
00004d30: POP
00004d31: JUMP
00004d32: JUMPDEST
00004d33: PUSH0
00004d34: PUSH2 0x4d3b
00004d37: PUSH2 0x2b7f
00004d3a: JUMP
00004d3b: JUMPDEST
00004d3c: SWAP1
00004d3d: POP
00004d3e: PUSH1 0x01
00004d40: PUSH1 0x01
00004d42: PUSH1 0xa0
00004d44: SHL
00004d45: SUB
00004d46: DUP5
00004d47: AND
00004d48: PUSH2 0x4d69
00004d4b: JUMPI
00004d4c: DUP2
00004d4d: DUP2
00004d4e: PUSH1 0x02
00004d50: ADD
00004d51: PUSH0
00004d52: DUP3
00004d53: DUP3
00004d54: SLOAD
00004d55: PUSH2 0x4d5e
00004d58: SWAP2
00004d59: SWAP1
00004d5a: PUSH2 0x5478
00004d5d: JUMP
00004d5e: JUMPDEST
00004d5f: SWAP1
00004d60: SWAP2
00004d61: SSTORE
00004d62: POP
00004d63: PUSH2 0x4dc6
00004d66: SWAP1
00004d67: POP
00004d68: JUMP
00004d69: JUMPDEST
00004d6a: PUSH1 0x01
00004d6c: PUSH1 0x01
00004d6e: PUSH1 0xa0
00004d70: SHL
00004d71: SUB
00004d72: DUP5
00004d73: AND
00004d74: PUSH0
00004d75: SWAP1
00004d76: DUP2
00004d77: MSTORE
00004d78: PUSH1 0x20
00004d7a: DUP3
00004d7b: SWAP1
00004d7c: MSTORE
00004d7d: PUSH1 0x40
00004d7f: SWAP1
00004d80: KECCAK256
00004d81: SLOAD
00004d82: DUP3
00004d83: DUP2
00004d84: LT
00004d85: ISZERO
00004d86: PUSH2 0x4da8
00004d89: JUMPI
00004d8a: DUP5
00004d8b: DUP2
00004d8c: DUP5
00004d8d: PUSH1 0x40
00004d8f: MLOAD
00004d90: PUSH4 0x391434e3
00004d95: PUSH1 0xe2
00004d97: SHL
00004d98: DUP2
00004d99: MSTORE
00004d9a: PUSH1 0x04
00004d9c: ADD
00004d9d: PUSH2 0x0dfe
00004da0: SWAP4
00004da1: SWAP3
00004da2: SWAP2
00004da3: SWAP1
00004da4: PUSH2 0x5843
00004da7: JUMP
00004da8: JUMPDEST
00004da9: PUSH1 0x01
00004dab: PUSH1 0x01
00004dad: PUSH1 0xa0
00004daf: SHL
00004db0: SUB
00004db1: DUP6
00004db2: AND
00004db3: PUSH0
00004db4: SWAP1
00004db5: DUP2
00004db6: MSTORE
00004db7: PUSH1 0x20
00004db9: DUP4
00004dba: SWAP1
00004dbb: MSTORE
00004dbc: PUSH1 0x40
00004dbe: SWAP1
00004dbf: KECCAK256
00004dc0: SWAP1
00004dc1: DUP4
00004dc2: SWAP1
00004dc3: SUB
00004dc4: SWAP1
00004dc5: SSTORE
00004dc6: JUMPDEST
00004dc7: PUSH1 0x01
00004dc9: PUSH1 0x01
00004dcb: PUSH1 0xa0
00004dcd: SHL
00004dce: SUB
00004dcf: DUP4
00004dd0: AND
00004dd1: PUSH2 0x4de4
00004dd4: JUMPI
00004dd5: PUSH1 0x02
00004dd7: DUP2
00004dd8: ADD
00004dd9: DUP1
00004dda: SLOAD
00004ddb: DUP4
00004ddc: SWAP1
00004ddd: SUB
00004dde: SWAP1
00004ddf: SSTORE
00004de0: PUSH2 0x4e02
00004de3: JUMP
00004de4: JUMPDEST
00004de5: PUSH1 0x01
00004de7: PUSH1 0x01
00004de9: PUSH1 0xa0
00004deb: SHL
00004dec: SUB
00004ded: DUP4
00004dee: AND
00004def: PUSH0
00004df0: SWAP1
00004df1: DUP2
00004df2: MSTORE
00004df3: PUSH1 0x20
00004df5: DUP3
00004df6: SWAP1
00004df7: MSTORE
00004df8: PUSH1 0x40
00004dfa: SWAP1
00004dfb: KECCAK256
00004dfc: DUP1
00004dfd: SLOAD
00004dfe: DUP4
00004dff: ADD
00004e00: SWAP1
00004e01: SSTORE
00004e02: JUMPDEST
00004e03: DUP3
00004e04: PUSH1 0x01
00004e06: PUSH1 0x01
00004e08: PUSH1 0xa0
00004e0a: SHL
00004e0b: SUB
00004e0c: AND
00004e0d: DUP5
00004e0e: PUSH1 0x01
00004e10: PUSH1 0x01
00004e12: PUSH1 0xa0
00004e14: SHL
00004e15: SUB
00004e16: AND
00004e17: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00004e38: DUP5
00004e39: PUSH1 0x40
00004e3b: MLOAD
00004e3c: PUSH2 0x4e47
00004e3f: SWAP2
00004e40: DUP2
00004e41: MSTORE
00004e42: PUSH1 0x20
00004e44: ADD
00004e45: SWAP1
00004e46: JUMP
00004e47: JUMPDEST
00004e48: PUSH1 0x40
00004e4a: MLOAD
00004e4b: DUP1
00004e4c: SWAP2
00004e4d: SUB
00004e4e: SWAP1
00004e4f: LOG3
00004e50: POP
00004e51: POP
00004e52: POP
00004e53: POP
00004e54: JUMP
00004e55: JUMPDEST
00004e56: PUSH1 0x60
00004e58: DUP3
00004e59: PUSH2 0x4e6a
00004e5c: JUMPI
00004e5d: PUSH2 0x4e65
00004e60: DUP3
00004e61: PUSH2 0x4ea8
00004e64: JUMP
00004e65: JUMPDEST
00004e66: PUSH2 0x0fa5
00004e69: JUMP
00004e6a: JUMPDEST
00004e6b: DUP2
00004e6c: MLOAD
00004e6d: ISZERO
00004e6e: DUP1
00004e6f: ISZERO
00004e70: PUSH2 0x4e81
00004e73: JUMPI
00004e74: POP
00004e75: PUSH1 0x01
00004e77: PUSH1 0x01
00004e79: PUSH1 0xa0
00004e7b: SHL
00004e7c: SUB
00004e7d: DUP5
00004e7e: AND
00004e7f: EXTCODESIZE
00004e80: ISZERO
00004e81: JUMPDEST
00004e82: ISZERO
00004e83: PUSH2 0x4ea1
00004e86: JUMPI
00004e87: DUP4
00004e88: PUSH1 0x40
00004e8a: MLOAD
00004e8b: PUSH4 0x9996b315
00004e90: PUSH1 0xe0
00004e92: SHL
00004e93: DUP2
00004e94: MSTORE
00004e95: PUSH1 0x04
00004e97: ADD
00004e98: PUSH2 0x0dfe
00004e9b: SWAP2
00004e9c: SWAP1
00004e9d: PUSH2 0x4faf
00004ea0: JUMP
00004ea1: JUMPDEST
00004ea2: POP
00004ea3: DUP1
00004ea4: PUSH2 0x0fa5
00004ea7: JUMP
00004ea8: JUMPDEST
00004ea9: DUP1
00004eaa: MLOAD
00004eab: ISZERO
00004eac: PUSH2 0x4eb8
00004eaf: JUMPI
00004eb0: DUP1
00004eb1: MLOAD
00004eb2: DUP1
00004eb3: DUP3
00004eb4: PUSH1 0x20
00004eb6: ADD
00004eb7: REVERT
00004eb8: JUMPDEST
00004eb9: PUSH1 0x40
00004ebb: MLOAD
00004ebc: PUSH4 0x0a12f521
00004ec1: PUSH1 0xe1
00004ec3: SHL
00004ec4: DUP2
00004ec5: MSTORE
00004ec6: PUSH1 0x04
00004ec8: ADD
00004ec9: PUSH1 0x40
00004ecb: MLOAD
00004ecc: DUP1
00004ecd: SWAP2
00004ece: SUB
00004ecf: SWAP1
00004ed0: REVERT
00004ed1: JUMPDEST
00004ed2: PUSH2 0x0526
00004ed5: DUP1
00004ed6: PUSH2 0x59f9
00004ed9: DUP4
00004eda: CODECOPY
00004edb: ADD
00004edc: SWAP1
00004edd: JUMP
00004ede: JUMPDEST
00004edf: PUSH0
00004ee0: PUSH1 0x20
00004ee2: DUP3
00004ee3: DUP5
00004ee4: SUB
00004ee5: SLT
00004ee6: ISZERO
00004ee7: PUSH2 0x4eee
00004eea: JUMPI
00004eeb: PUSH0
00004eec: DUP1
00004eed: REVERT
00004eee: JUMPDEST
00004eef: DUP2
00004ef0: CALLDATALOAD
00004ef1: PUSH1 0x01
00004ef3: PUSH1 0x01
00004ef5: PUSH1 0xe0
00004ef7: SHL
00004ef8: SUB
00004ef9: NOT
00004efa: DUP2
00004efb: AND
00004efc: DUP2
00004efd: EQ
00004efe: PUSH2 0x0fa5
00004f01: JUMPI
00004f02: PUSH0
00004f03: DUP1
00004f04: REVERT
00004f05: JUMPDEST
00004f06: PUSH1 0x20
00004f08: DUP2
00004f09: MSTORE
00004f0a: PUSH0
00004f0b: DUP3
00004f0c: MLOAD
00004f0d: DUP1
00004f0e: PUSH1 0x20
00004f10: DUP5
00004f11: ADD
00004f12: MSTORE
00004f13: DUP1
00004f14: PUSH1 0x20
00004f16: DUP6
00004f17: ADD
00004f18: PUSH1 0x40
00004f1a: DUP6
00004f1b: ADD
00004f1c: MCOPY
00004f1d: PUSH0
00004f1e: PUSH1 0x40
00004f20: DUP3
00004f21: DUP6
00004f22: ADD
00004f23: ADD
00004f24: MSTORE
00004f25: PUSH1 0x40
00004f27: PUSH1 0x1f
00004f29: NOT
00004f2a: PUSH1 0x1f
00004f2c: DUP4
00004f2d: ADD
00004f2e: AND
00004f2f: DUP5
00004f30: ADD
00004f31: ADD
00004f32: SWAP2
00004f33: POP
00004f34: POP
00004f35: SWAP3
00004f36: SWAP2
00004f37: POP
00004f38: POP
00004f39: JUMP
00004f3a: JUMPDEST
00004f3b: PUSH0
00004f3c: PUSH1 0x20
00004f3e: DUP3
00004f3f: DUP5
00004f40: SUB
00004f41: SLT
00004f42: ISZERO
00004f43: PUSH2 0x4f4a
00004f46: JUMPI
00004f47: PUSH0
00004f48: DUP1
00004f49: REVERT
00004f4a: JUMPDEST
00004f4b: POP
00004f4c: CALLDATALOAD
00004f4d: SWAP2
00004f4e: SWAP1
00004f4f: POP
00004f50: JUMP
00004f51: JUMPDEST
00004f52: PUSH1 0x01
00004f54: PUSH1 0x01
00004f56: PUSH1 0xa0
00004f58: SHL
00004f59: SUB
00004f5a: DUP2
00004f5b: AND
00004f5c: DUP2
00004f5d: EQ
00004f5e: PUSH2 0x187f
00004f61: JUMPI
00004f62: PUSH0
00004f63: DUP1
00004f64: REVERT
00004f65: JUMPDEST
00004f66: PUSH0
00004f67: DUP1
00004f68: PUSH1 0x40
00004f6a: DUP4
00004f6b: DUP6
00004f6c: SUB
00004f6d: SLT
00004f6e: ISZERO
00004f6f: PUSH2 0x4f76
00004f72: JUMPI
00004f73: PUSH0
00004f74: DUP1
00004f75: REVERT
00004f76: JUMPDEST
00004f77: DUP3
00004f78: CALLDATALOAD
00004f79: PUSH2 0x4f81
00004f7c: DUP2
00004f7d: PUSH2 0x4f51
00004f80: JUMP
00004f81: JUMPDEST
00004f82: SWAP5
00004f83: PUSH1 0x20
00004f85: SWAP4
00004f86: SWAP1
00004f87: SWAP4
00004f88: ADD
00004f89: CALLDATALOAD
00004f8a: SWAP4
00004f8b: POP
00004f8c: POP
00004f8d: POP
00004f8e: JUMP
00004f8f: JUMPDEST
00004f90: PUSH0
00004f91: DUP1
00004f92: PUSH1 0x40
00004f94: DUP4
00004f95: DUP6
00004f96: SUB
00004f97: SLT
00004f98: ISZERO
00004f99: PUSH2 0x4fa0
00004f9c: JUMPI
00004f9d: PUSH0
00004f9e: DUP1
00004f9f: REVERT
00004fa0: JUMPDEST
00004fa1: POP
00004fa2: POP
00004fa3: DUP1
00004fa4: CALLDATALOAD
00004fa5: SWAP3
00004fa6: PUSH1 0x20
00004fa8: SWAP1
00004fa9: SWAP2
00004faa: ADD
00004fab: CALLDATALOAD
00004fac: SWAP2
00004fad: POP
00004fae: JUMP
00004faf: JUMPDEST
00004fb0: PUSH1 0x01
00004fb2: PUSH1 0x01
00004fb4: PUSH1 0xa0
00004fb6: SHL
00004fb7: SUB
00004fb8: SWAP2
00004fb9: SWAP1
00004fba: SWAP2
00004fbb: AND
00004fbc: DUP2
00004fbd: MSTORE
00004fbe: PUSH1 0x20
00004fc0: ADD
00004fc1: SWAP1
00004fc2: JUMP
00004fc3: JUMPDEST
00004fc4: PUSH0
00004fc5: DUP1
00004fc6: PUSH0
00004fc7: PUSH1 0x60
00004fc9: DUP5
00004fca: DUP7
00004fcb: SUB
00004fcc: SLT
00004fcd: ISZERO
00004fce: PUSH2 0x4fd5
00004fd1: JUMPI
00004fd2: PUSH0
00004fd3: DUP1
00004fd4: REVERT
00004fd5: JUMPDEST
00004fd6: DUP4
00004fd7: CALLDATALOAD
00004fd8: PUSH2 0x4fe0
00004fdb: DUP2
00004fdc: PUSH2 0x4f51
00004fdf: JUMP
00004fe0: JUMPDEST
00004fe1: SWAP3
00004fe2: POP
00004fe3: PUSH1 0x20
00004fe5: DUP5
00004fe6: ADD
00004fe7: CALLDATALOAD
00004fe8: PUSH2 0x4ff0
00004feb: DUP2
00004fec: PUSH2 0x4f51
00004fef: JUMP
00004ff0: JUMPDEST
00004ff1: SWAP3
00004ff2: SWAP6
00004ff3: SWAP3
00004ff4: SWAP5
00004ff5: POP
00004ff6: POP
00004ff7: POP
00004ff8: PUSH1 0x40
00004ffa: SWAP2
00004ffb: SWAP1
00004ffc: SWAP2
00004ffd: ADD
00004ffe: CALLDATALOAD
00004fff: SWAP1
00005000: JUMP
00005001: JUMPDEST
00005002: PUSH2 0xffff
00005005: SWAP2
00005006: SWAP1
00005007: SWAP2
00005008: AND
00005009: DUP2
0000500a: MSTORE
0000500b: PUSH1 0x20
0000500d: ADD
0000500e: SWAP1
0000500f: JUMP
00005010: JUMPDEST
00005011: PUSH0
00005012: DUP1
00005013: PUSH1 0x40
00005015: DUP4
00005016: DUP6
00005017: SUB
00005018: SLT
00005019: ISZERO
0000501a: PUSH2 0x5021
0000501d: JUMPI
0000501e: PUSH0
0000501f: DUP1
00005020: REVERT
00005021: JUMPDEST
00005022: DUP3
00005023: CALLDATALOAD
00005024: SWAP2
00005025: POP
00005026: PUSH1 0x20
00005028: DUP4
00005029: ADD
0000502a: CALLDATALOAD
0000502b: PUSH2 0x5033
0000502e: DUP2
0000502f: PUSH2 0x4f51
00005032: JUMP
00005033: JUMPDEST
00005034: DUP1
00005035: SWAP2
00005036: POP
00005037: POP
00005038: SWAP3
00005039: POP
0000503a: SWAP3
0000503b: SWAP1
0000503c: POP
0000503d: JUMP
0000503e: JUMPDEST
0000503f: PUSH0
00005040: DUP1
00005041: PUSH0
00005042: PUSH1 0x60
00005044: DUP5
00005045: DUP7
00005046: SUB
00005047: SLT
00005048: ISZERO
00005049: PUSH2 0x5050
0000504c: JUMPI
0000504d: PUSH0
0000504e: DUP1
0000504f: REVERT
00005050: JUMPDEST
00005051: DUP4
00005052: CALLDATALOAD
00005053: SWAP3
00005054: POP
00005055: PUSH1 0x20
00005057: DUP5
00005058: ADD
00005059: CALLDATALOAD
0000505a: PUSH2 0x5062
0000505d: DUP2
0000505e: PUSH2 0x4f51
00005061: JUMP
00005062: JUMPDEST
00005063: SWAP2
00005064: POP
00005065: PUSH1 0x40
00005067: DUP5
00005068: ADD
00005069: CALLDATALOAD
0000506a: PUSH2 0x5072
0000506d: DUP2
0000506e: PUSH2 0x4f51
00005071: JUMP
00005072: JUMPDEST
00005073: DUP1
00005074: SWAP2
00005075: POP
00005076: POP
00005077: SWAP3
00005078: POP
00005079: SWAP3
0000507a: POP
0000507b: SWAP3
0000507c: JUMP
0000507d: JUMPDEST
0000507e: PUSH0
0000507f: PUSH1 0x20
00005081: DUP3
00005082: DUP5
00005083: SUB
00005084: SLT
00005085: ISZERO
00005086: PUSH2 0x508d
00005089: JUMPI
0000508a: PUSH0
0000508b: DUP1
0000508c: REVERT
0000508d: JUMPDEST
0000508e: DUP2
0000508f: CALLDATALOAD
00005090: PUSH2 0x0fa5
00005093: DUP2
00005094: PUSH2 0x4f51
00005097: JUMP
00005098: JUMPDEST
00005099: PUSH4 0x4e487b71
0000509e: PUSH1 0xe0
000050a0: SHL
000050a1: PUSH0
000050a2: MSTORE
000050a3: PUSH1 0x41
000050a5: PUSH1 0x04
000050a7: MSTORE
000050a8: PUSH1 0x24
000050aa: PUSH0
000050ab: REVERT
000050ac: JUMPDEST
000050ad: PUSH1 0x40
000050af: MLOAD
000050b0: PUSH2 0x0180
000050b3: DUP2
000050b4: ADD
000050b5: PUSH1 0x01
000050b7: PUSH1 0x01
000050b9: PUSH1 0x40
000050bb: SHL
000050bc: SUB
000050bd: DUP2
000050be: GT
000050bf: DUP3
000050c0: DUP3
000050c1: LT
000050c2: OR
000050c3: ISZERO
000050c4: PUSH2 0x50cf
000050c7: JUMPI
000050c8: PUSH2 0x50cf
000050cb: PUSH2 0x5098
000050ce: JUMP
000050cf: JUMPDEST
000050d0: PUSH1 0x40
000050d2: MSTORE
000050d3: SWAP1
000050d4: JUMP
000050d5: JUMPDEST
000050d6: PUSH1 0x40
000050d8: MLOAD
000050d9: PUSH1 0x1f
000050db: DUP3
000050dc: ADD
000050dd: PUSH1 0x1f
000050df: NOT
000050e0: AND
000050e1: DUP2
000050e2: ADD
000050e3: PUSH1 0x01
000050e5: PUSH1 0x01
000050e7: PUSH1 0x40
000050e9: SHL
000050ea: SUB
000050eb: DUP2
000050ec: GT
000050ed: DUP3
000050ee: DUP3
000050ef: LT
000050f0: OR
000050f1: ISZERO
000050f2: PUSH2 0x50fd
000050f5: JUMPI
000050f6: PUSH2 0x50fd
000050f9: PUSH2 0x5098
000050fc: JUMP
000050fd: JUMPDEST
000050fe: PUSH1 0x40
00005100: MSTORE
00005101: SWAP2
00005102: SWAP1
00005103: POP
00005104: JUMP
00005105: JUMPDEST
00005106: PUSH2 0xffff
00005109: DUP2
0000510a: AND
0000510b: DUP2
0000510c: EQ
0000510d: PUSH2 0x187f
00005110: JUMPI
00005111: PUSH0
00005112: DUP1
00005113: REVERT
00005114: JUMPDEST
00005115: PUSH0
00005116: PUSH1 0x40
00005118: DUP3
00005119: DUP5
0000511a: SUB
0000511b: SLT
0000511c: DUP1
0000511d: ISZERO
0000511e: PUSH2 0x5125
00005121: JUMPI
00005122: PUSH0
00005123: DUP1
00005124: REVERT
00005125: JUMPDEST
00005126: POP
00005127: PUSH1 0x40
00005129: DUP1
0000512a: MLOAD
0000512b: SWAP1
0000512c: DUP2
0000512d: ADD
0000512e: PUSH1 0x01
00005130: PUSH1 0x01
00005132: PUSH1 0x40
00005134: SHL
00005135: SUB
00005136: DUP2
00005137: GT
00005138: DUP3
00005139: DUP3
0000513a: LT
0000513b: OR
0000513c: ISZERO
0000513d: PUSH2 0x5148
00005140: JUMPI
00005141: PUSH2 0x5148
00005144: PUSH2 0x5098
00005147: JUMP
00005148: JUMPDEST
00005149: PUSH1 0x40
0000514b: MSTORE
0000514c: DUP3
0000514d: CALLDATALOAD
0000514e: PUSH2 0x5156
00005151: DUP2
00005152: PUSH2 0x5105
00005155: JUMP
00005156: JUMPDEST
00005157: DUP2
00005158: MSTORE
00005159: PUSH1 0x20
0000515b: DUP4
0000515c: ADD
0000515d: CALLDATALOAD
0000515e: PUSH2 0x5166
00005161: DUP2
00005162: PUSH2 0x5105
00005165: JUMP
00005166: JUMPDEST
00005167: PUSH1 0x20
00005169: DUP3
0000516a: ADD
0000516b: MSTORE
0000516c: SWAP4
0000516d: SWAP3
0000516e: POP
0000516f: POP
00005170: POP
00005171: JUMP
00005172: JUMPDEST
00005173: DUP1
00005174: ISZERO
00005175: ISZERO
00005176: DUP2
00005177: EQ
00005178: PUSH2 0x187f
0000517b: JUMPI
0000517c: PUSH0
0000517d: DUP1
0000517e: REVERT
0000517f: JUMPDEST
00005180: PUSH0
00005181: DUP1
00005182: PUSH1 0x40
00005184: DUP4
00005185: DUP6
00005186: SUB
00005187: SLT
00005188: ISZERO
00005189: PUSH2 0x5190
0000518c: JUMPI
0000518d: PUSH0
0000518e: DUP1
0000518f: REVERT
00005190: JUMPDEST
00005191: DUP3
00005192: CALLDATALOAD
00005193: PUSH2 0x519b
00005196: DUP2
00005197: PUSH2 0x4f51
0000519a: JUMP
0000519b: JUMPDEST
0000519c: SWAP2
0000519d: POP
0000519e: PUSH1 0x20
000051a0: DUP4
000051a1: ADD
000051a2: CALLDATALOAD
000051a3: PUSH2 0x5033
000051a6: DUP2
000051a7: PUSH2 0x5172
000051aa: JUMP
000051ab: JUMPDEST
000051ac: PUSH0
000051ad: PUSH1 0x01
000051af: PUSH1 0x01
000051b1: PUSH1 0x40
000051b3: SHL
000051b4: SUB
000051b5: DUP3
000051b6: GT
000051b7: ISZERO
000051b8: PUSH2 0x51c3
000051bb: JUMPI
000051bc: PUSH2 0x51c3
000051bf: PUSH2 0x5098
000051c2: JUMP
000051c3: JUMPDEST
000051c4: POP
000051c5: PUSH1 0x1f
000051c7: ADD
000051c8: PUSH1 0x1f
000051ca: NOT
000051cb: AND
000051cc: PUSH1 0x20
000051ce: ADD
000051cf: SWAP1
000051d0: JUMP
000051d1: JUMPDEST
000051d2: PUSH0
000051d3: DUP1
000051d4: PUSH0
000051d5: PUSH1 0x60
000051d7: DUP5
000051d8: DUP7
000051d9: SUB
000051da: SLT
000051db: ISZERO
000051dc: PUSH2 0x51e3
000051df: JUMPI
000051e0: PUSH0
000051e1: DUP1
000051e2: REVERT
000051e3: JUMPDEST
000051e4: DUP4
000051e5: CALLDATALOAD
000051e6: PUSH1 0x01
000051e8: PUSH1 0x01
000051ea: PUSH1 0x40
000051ec: SHL
000051ed: SUB
000051ee: DUP2
000051ef: GT
000051f0: ISZERO
000051f1: PUSH2 0x51f8
000051f4: JUMPI
000051f5: PUSH0
000051f6: DUP1
000051f7: REVERT
000051f8: JUMPDEST
000051f9: DUP5
000051fa: ADD
000051fb: PUSH1 0x1f
000051fd: DUP2
000051fe: ADD
000051ff: DUP7
00005200: SGT
00005201: PUSH2 0x5208
00005204: JUMPI
00005205: PUSH0
00005206: DUP1
00005207: REVERT
00005208: JUMPDEST
00005209: DUP1
0000520a: CALLDATALOAD
0000520b: PUSH2 0x521b
0000520e: PUSH2 0x5216
00005211: DUP3
00005212: PUSH2 0x51ab
00005215: JUMP
00005216: JUMPDEST
00005217: PUSH2 0x50d5
0000521a: JUMP
0000521b: JUMPDEST
0000521c: DUP2
0000521d: DUP2
0000521e: MSTORE
0000521f: DUP8
00005220: PUSH1 0x20
00005222: DUP4
00005223: DUP6
00005224: ADD
00005225: ADD
00005226: GT
00005227: ISZERO
00005228: PUSH2 0x522f
0000522b: JUMPI
0000522c: PUSH0
0000522d: DUP1
0000522e: REVERT
0000522f: JUMPDEST
00005230: DUP2
00005231: PUSH1 0x20
00005233: DUP5
00005234: ADD
00005235: PUSH1 0x20
00005237: DUP4
00005238: ADD
00005239: CALLDATACOPY
0000523a: PUSH0
0000523b: PUSH1 0x20
0000523d: DUP4
0000523e: DUP4
0000523f: ADD
00005240: ADD
00005241: MSTORE
00005242: DUP1
00005243: SWAP6
00005244: POP
00005245: POP
00005246: POP
00005247: POP
00005248: PUSH1 0x20
0000524a: DUP5
0000524b: ADD
0000524c: CALLDATALOAD
0000524d: PUSH2 0x5062
00005250: DUP2
00005251: PUSH2 0x4f51
00005254: JUMP
00005255: JUMPDEST
00005256: DUP1
00005257: MLOAD
00005258: PUSH2 0xffff
0000525b: SWAP1
0000525c: DUP2
0000525d: AND
0000525e: DUP4
0000525f: MSTORE
00005260: PUSH1 0x20
00005262: SWAP2
00005263: DUP3
00005264: ADD
00005265: MLOAD
00005266: AND
00005267: SWAP2
00005268: ADD
00005269: MSTORE
0000526a: JUMP
0000526b: JUMPDEST
0000526c: PUSH1 0x40
0000526e: DUP2
0000526f: ADD
00005270: PUSH2 0x0ce4
00005273: DUP3
00005274: DUP5
00005275: PUSH2 0x5255
00005278: JUMP
00005279: JUMPDEST
0000527a: PUSH0
0000527b: PUSH1 0x20
0000527d: DUP3
0000527e: DUP5
0000527f: SUB
00005280: SLT
00005281: ISZERO
00005282: PUSH2 0x5289
00005285: JUMPI
00005286: PUSH0
00005287: DUP1
00005288: REVERT
00005289: JUMPDEST
0000528a: DUP2
0000528b: CALLDATALOAD
0000528c: PUSH1 0x01
0000528e: PUSH1 0x01
00005290: PUSH1 0x40
00005292: SHL
00005293: SUB
00005294: DUP2
00005295: GT
00005296: ISZERO
00005297: PUSH2 0x529e
0000529a: JUMPI
0000529b: PUSH0
0000529c: DUP1
0000529d: REVERT
0000529e: JUMPDEST
0000529f: DUP3
000052a0: ADD
000052a1: PUSH1 0x1f
000052a3: DUP2
000052a4: ADD
000052a5: DUP5
000052a6: SGT
000052a7: PUSH2 0x52ae
000052aa: JUMPI
000052ab: PUSH0
000052ac: DUP1
000052ad: REVERT
000052ae: JUMPDEST
000052af: DUP1
000052b0: CALLDATALOAD
000052b1: PUSH1 0x01
000052b3: PUSH1 0x01
000052b5: PUSH1 0x40
000052b7: SHL
000052b8: SUB
000052b9: DUP2
000052ba: GT
000052bb: ISZERO
000052bc: PUSH2 0x52c7
000052bf: JUMPI
000052c0: PUSH2 0x52c7
000052c3: PUSH2 0x5098
000052c6: JUMP
000052c7: JUMPDEST
000052c8: DUP1
000052c9: PUSH1 0x05
000052cb: SHL
000052cc: PUSH2 0x52d7
000052cf: PUSH1 0x20
000052d1: DUP3
000052d2: ADD
000052d3: PUSH2 0x50d5
000052d6: JUMP
000052d7: JUMPDEST
000052d8: SWAP2
000052d9: DUP3
000052da: MSTORE
000052db: PUSH1 0x20
000052dd: DUP2
000052de: DUP5
000052df: ADD
000052e0: DUP2
000052e1: ADD
000052e2: SWAP3
000052e3: SWAP1
000052e4: DUP2
000052e5: ADD
000052e6: SWAP1
000052e7: DUP8
000052e8: DUP5
000052e9: GT
000052ea: ISZERO
000052eb: PUSH2 0x52f2
000052ee: JUMPI
000052ef: PUSH0
000052f0: DUP1
000052f1: REVERT
000052f2: JUMPDEST
000052f3: PUSH1 0x20
000052f5: DUP6
000052f6: ADD
000052f7: SWAP5
000052f8: POP
000052f9: JUMPDEST
000052fa: DUP4
000052fb: DUP6
000052fc: LT
000052fd: ISZERO
000052fe: PUSH2 0x5320
00005301: JUMPI
00005302: DUP5
00005303: CALLDATALOAD
00005304: SWAP3
00005305: POP
00005306: PUSH2 0x530e
00005309: DUP4
0000530a: PUSH2 0x4f51
0000530d: JUMP
0000530e: JUMPDEST
0000530f: DUP3
00005310: DUP3
00005311: MSTORE
00005312: PUSH1 0x20
00005314: SWAP5
00005315: DUP6
00005316: ADD
00005317: SWAP5
00005318: SWAP1
00005319: SWAP2
0000531a: ADD
0000531b: SWAP1
0000531c: PUSH2 0x52f9
0000531f: JUMP
00005320: JUMPDEST
00005321: SWAP8
00005322: SWAP7
00005323: POP
00005324: POP
00005325: POP
00005326: POP
00005327: POP
00005328: POP
00005329: POP
0000532a: JUMP
0000532b: JUMPDEST
0000532c: PUSH0
0000532d: DUP1
0000532e: PUSH0
0000532f: DUP1
00005330: PUSH1 0x80
00005332: DUP6
00005333: DUP8
00005334: SUB
00005335: SLT
00005336: ISZERO
00005337: PUSH2 0x533e
0000533a: JUMPI
0000533b: PUSH0
0000533c: DUP1
0000533d: REVERT
0000533e: JUMPDEST
0000533f: DUP5
00005340: CALLDATALOAD
00005341: SWAP4
00005342: POP
00005343: PUSH1 0x20
00005345: DUP6
00005346: ADD
00005347: CALLDATALOAD
00005348: PUSH2 0x5350
0000534b: DUP2
0000534c: PUSH2 0x4f51
0000534f: JUMP
00005350: JUMPDEST
00005351: SWAP3
00005352: POP
00005353: PUSH1 0x40
00005355: DUP6
00005356: ADD
00005357: CALLDATALOAD
00005358: PUSH2 0x5360
0000535b: DUP2
0000535c: PUSH2 0x4f51
0000535f: JUMP
00005360: JUMPDEST
00005361: SWAP2
00005362: POP
00005363: PUSH1 0x60
00005365: DUP6
00005366: ADD
00005367: CALLDATALOAD
00005368: PUSH2 0x5370
0000536b: DUP2
0000536c: PUSH2 0x4f51
0000536f: JUMP
00005370: JUMPDEST
00005371: SWAP4
00005372: SWAP7
00005373: SWAP3
00005374: SWAP6
00005375: POP
00005376: SWAP1
00005377: SWAP4
00005378: POP
00005379: POP
0000537a: JUMP
0000537b: JUMPDEST
0000537c: PUSH0
0000537d: PUSH1 0x20
0000537f: DUP3
00005380: DUP5
00005381: SUB
00005382: SLT
00005383: ISZERO
00005384: PUSH2 0x538b
00005387: JUMPI
00005388: PUSH0
00005389: DUP1
0000538a: REVERT
0000538b: JUMPDEST
0000538c: DUP2
0000538d: CALLDATALOAD
0000538e: PUSH1 0x01
00005390: PUSH1 0x01
00005392: PUSH1 0x80
00005394: SHL
00005395: SUB
00005396: DUP2
00005397: AND
00005398: DUP2
00005399: EQ
0000539a: PUSH2 0x0fa5
0000539d: JUMPI
0000539e: PUSH0
0000539f: DUP1
000053a0: REVERT
000053a1: JUMPDEST
000053a2: PUSH0
000053a3: DUP1
000053a4: PUSH1 0x40
000053a6: DUP4
000053a7: DUP6
000053a8: SUB
000053a9: SLT
000053aa: ISZERO
000053ab: PUSH2 0x53b2
000053ae: JUMPI
000053af: PUSH0
000053b0: DUP1
000053b1: REVERT
000053b2: JUMPDEST
000053b3: DUP3
000053b4: CALLDATALOAD
000053b5: PUSH2 0x53bd
000053b8: DUP2
000053b9: PUSH2 0x4f51
000053bc: JUMP
000053bd: JUMPDEST
000053be: SWAP2
000053bf: POP
000053c0: PUSH1 0x20
000053c2: DUP4
000053c3: ADD
000053c4: CALLDATALOAD
000053c5: PUSH2 0x5033
000053c8: DUP2
000053c9: PUSH2 0x4f51
000053cc: JUMP
000053cd: JUMPDEST
000053ce: PUSH1 0x01
000053d0: DUP2
000053d1: DUP2
000053d2: SHR
000053d3: SWAP1
000053d4: DUP3
000053d5: AND
000053d6: DUP1
000053d7: PUSH2 0x53e1
000053da: JUMPI
000053db: PUSH1 0x7f
000053dd: DUP3
000053de: AND
000053df: SWAP2
000053e0: POP
000053e1: JUMPDEST
000053e2: PUSH1 0x20
000053e4: DUP3
000053e5: LT
000053e6: DUP2
000053e7: SUB
000053e8: PUSH2 0x1494
000053eb: JUMPI
000053ec: PUSH4 0x4e487b71
000053f1: PUSH1 0xe0
000053f3: SHL
000053f4: PUSH0
000053f5: MSTORE
000053f6: PUSH1 0x22
000053f8: PUSH1 0x04
000053fa: MSTORE
000053fb: PUSH1 0x24
000053fd: PUSH0
000053fe: REVERT
000053ff: JUMPDEST
00005400: PUSH4 0x4e487b71
00005405: PUSH1 0xe0
00005407: SHL
00005408: PUSH0
00005409: MSTORE
0000540a: PUSH1 0x21
0000540c: PUSH1 0x04
0000540e: MSTORE
0000540f: PUSH1 0x24
00005411: PUSH0
00005412: REVERT
00005413: JUMPDEST
00005414: PUSH1 0x20
00005416: DUP2
00005417: ADD
00005418: PUSH1 0x03
0000541a: DUP4
0000541b: LT
0000541c: PUSH2 0x5433
0000541f: JUMPI
00005420: PUSH4 0x4e487b71
00005425: PUSH1 0xe0
00005427: SHL
00005428: PUSH0
00005429: MSTORE
0000542a: PUSH1 0x21
0000542c: PUSH1 0x04
0000542e: MSTORE
0000542f: PUSH1 0x24
00005431: PUSH0
00005432: REVERT
00005433: JUMPDEST
00005434: SWAP2
00005435: SWAP1
00005436: MSTORE
00005437: SWAP1
00005438: JUMP
00005439: JUMPDEST
0000543a: DUP1
0000543b: MLOAD
0000543c: PUSH2 0x5444
0000543f: DUP2
00005440: PUSH2 0x4f51
00005443: JUMP
00005444: JUMPDEST
00005445: SWAP2
00005446: SWAP1
00005447: POP
00005448: JUMP
00005449: JUMPDEST
0000544a: PUSH0
0000544b: PUSH1 0x20
0000544d: DUP3
0000544e: DUP5
0000544f: SUB
00005450: SLT
00005451: ISZERO
00005452: PUSH2 0x5459
00005455: JUMPI
00005456: PUSH0
00005457: DUP1
00005458: REVERT
00005459: JUMPDEST
0000545a: DUP2
0000545b: MLOAD
0000545c: PUSH2 0x0fa5
0000545f: DUP2
00005460: PUSH2 0x4f51
00005463: JUMP
00005464: JUMPDEST
00005465: PUSH4 0x4e487b71
0000546a: PUSH1 0xe0
0000546c: SHL
0000546d: PUSH0
0000546e: MSTORE
0000546f: PUSH1 0x11
00005471: PUSH1 0x04
00005473: MSTORE
00005474: PUSH1 0x24
00005476: PUSH0
00005477: REVERT
00005478: JUMPDEST
00005479: DUP1
0000547a: DUP3
0000547b: ADD
0000547c: DUP1
0000547d: DUP3
0000547e: GT
0000547f: ISZERO
00005480: PUSH2 0x0ce4
00005483: JUMPI
00005484: PUSH2 0x0ce4
00005487: PUSH2 0x5464
0000548a: JUMP
0000548b: JUMPDEST
0000548c: PUSH1 0xa0
0000548e: DUP2
0000548f: ADD
00005490: PUSH2 0x5499
00005493: DUP3
00005494: DUP7
00005495: PUSH2 0x5255
00005498: JUMP
00005499: JUMPDEST
0000549a: PUSH2 0x54a6
0000549d: PUSH1 0x40
0000549f: DUP4
000054a0: ADD
000054a1: DUP6
000054a2: PUSH2 0x5255
000054a5: JUMP
000054a6: JUMPDEST
000054a7: DUP3
000054a8: PUSH1 0x80
000054aa: DUP4
000054ab: ADD
000054ac: MSTORE
000054ad: SWAP5
000054ae: SWAP4
000054af: POP
000054b0: POP
000054b1: POP
000054b2: POP
000054b3: JUMP
000054b4: JUMPDEST
000054b5: PUSH1 0x01
000054b7: PUSH1 0x01
000054b9: PUSH1 0xa0
000054bb: SHL
000054bc: SUB
000054bd: SWAP3
000054be: DUP4
000054bf: AND
000054c0: DUP2
000054c1: MSTORE
000054c2: SWAP2
000054c3: AND
000054c4: PUSH1 0x20
000054c6: DUP3
000054c7: ADD
000054c8: MSTORE
000054c9: PUSH1 0x40
000054cb: ADD
000054cc: SWAP1
000054cd: JUMP
000054ce: JUMPDEST
000054cf: PUSH0
000054d0: DUP3
000054d1: PUSH1 0x1f
000054d3: DUP4
000054d4: ADD
000054d5: SLT
000054d6: PUSH2 0x54dd
000054d9: JUMPI
000054da: PUSH0
000054db: DUP1
000054dc: REVERT
000054dd: JUMPDEST
000054de: DUP2
000054df: MLOAD
000054e0: PUSH2 0x54eb
000054e3: PUSH2 0x5216
000054e6: DUP3
000054e7: PUSH2 0x51ab
000054ea: JUMP
000054eb: JUMPDEST
000054ec: DUP2
000054ed: DUP2
000054ee: MSTORE
000054ef: DUP5
000054f0: PUSH1 0x20
000054f2: DUP4
000054f3: DUP7
000054f4: ADD
000054f5: ADD
000054f6: GT
000054f7: ISZERO
000054f8: PUSH2 0x54ff
000054fb: JUMPI
000054fc: PUSH0
000054fd: DUP1
000054fe: REVERT
000054ff: JUMPDEST
00005500: DUP2
00005501: PUSH1 0x20
00005503: DUP6
00005504: ADD
00005505: PUSH1 0x20
00005507: DUP4
00005508: ADD
00005509: MCOPY
0000550a: PUSH0
0000550b: SWAP2
0000550c: DUP2
0000550d: ADD
0000550e: PUSH1 0x20
00005510: ADD
00005511: SWAP2
00005512: SWAP1
00005513: SWAP2
00005514: MSTORE
00005515: SWAP4
00005516: SWAP3
00005517: POP
00005518: POP
00005519: POP
0000551a: JUMP
0000551b: JUMPDEST
0000551c: DUP1
0000551d: MLOAD
0000551e: PUSH2 0x5444
00005521: DUP2
00005522: PUSH2 0x5105
00005525: JUMP
00005526: JUMPDEST
00005527: DUP1
00005528: MLOAD
00005529: PUSH2 0x5444
0000552c: DUP2
0000552d: PUSH2 0x5172
00005530: JUMP
00005531: JUMPDEST
00005532: PUSH0
00005533: PUSH1 0x20
00005535: DUP3
00005536: DUP5
00005537: SUB
00005538: SLT
00005539: ISZERO
0000553a: PUSH2 0x5541
0000553d: JUMPI
0000553e: PUSH0
0000553f: DUP1
00005540: REVERT
00005541: JUMPDEST
00005542: DUP2
00005543: MLOAD
00005544: PUSH1 0x01
00005546: PUSH1 0x01
00005548: PUSH1 0x40
0000554a: SHL
0000554b: SUB
0000554c: DUP2
0000554d: GT
0000554e: ISZERO
0000554f: PUSH2 0x5556
00005552: JUMPI
00005553: PUSH0
00005554: DUP1
00005555: REVERT
00005556: JUMPDEST
00005557: DUP3
00005558: ADD
00005559: PUSH2 0x0180
0000555c: DUP2
0000555d: DUP6
0000555e: SUB
0000555f: SLT
00005560: ISZERO
00005561: PUSH2 0x5568
00005564: JUMPI
00005565: PUSH0
00005566: DUP1
00005567: REVERT
00005568: JUMPDEST
00005569: PUSH2 0x5570
0000556c: PUSH2 0x50ac
0000556f: JUMP
00005570: JUMPDEST
00005571: PUSH2 0x5579
00005574: DUP3
00005575: PUSH2 0x5439
00005578: JUMP
00005579: JUMPDEST
0000557a: DUP2
0000557b: MSTORE
0000557c: PUSH1 0x20
0000557e: DUP3
0000557f: ADD
00005580: MLOAD
00005581: PUSH1 0x01
00005583: PUSH1 0x01
00005585: PUSH1 0x40
00005587: SHL
00005588: SUB
00005589: DUP2
0000558a: GT
0000558b: ISZERO
0000558c: PUSH2 0x5593
0000558f: JUMPI
00005590: PUSH0
00005591: DUP1
00005592: REVERT
00005593: JUMPDEST
00005594: PUSH2 0x559f
00005597: DUP7
00005598: DUP3
00005599: DUP6
0000559a: ADD
0000559b: PUSH2 0x54ce
0000559e: JUMP
0000559f: JUMPDEST
000055a0: PUSH1 0x20
000055a2: DUP4
000055a3: ADD
000055a4: MSTORE
000055a5: POP
000055a6: PUSH1 0x40
000055a8: DUP3
000055a9: ADD
000055aa: MLOAD
000055ab: PUSH1 0x01
000055ad: PUSH1 0x01
000055af: PUSH1 0x40
000055b1: SHL
000055b2: SUB
000055b3: DUP2
000055b4: GT
000055b5: ISZERO
000055b6: PUSH2 0x55bd
000055b9: JUMPI
000055ba: PUSH0
000055bb: DUP1
000055bc: REVERT
000055bd: JUMPDEST
000055be: PUSH2 0x55c9
000055c1: DUP7
000055c2: DUP3
000055c3: DUP6
000055c4: ADD
000055c5: PUSH2 0x54ce
000055c8: JUMP
000055c9: JUMPDEST
000055ca: PUSH1 0x40
000055cc: DUP4
000055cd: ADD
000055ce: MSTORE
000055cf: POP
000055d0: PUSH2 0x55db
000055d3: PUSH1 0x60
000055d5: DUP4
000055d6: ADD
000055d7: PUSH2 0x5439
000055da: JUMP
000055db: JUMPDEST
000055dc: PUSH1 0x60
000055de: DUP3
000055df: ADD
000055e0: MSTORE
000055e1: PUSH2 0x55ec
000055e4: PUSH1 0x80
000055e6: DUP4
000055e7: ADD
000055e8: PUSH2 0x5439
000055eb: JUMP
000055ec: JUMPDEST
000055ed: PUSH1 0x80
000055ef: DUP3
000055f0: ADD
000055f1: MSTORE
000055f2: PUSH2 0x55fd
000055f5: PUSH1 0xa0
000055f7: DUP4
000055f8: ADD
000055f9: PUSH2 0x5439
000055fc: JUMP
000055fd: JUMPDEST
000055fe: PUSH1 0xa0
00005600: DUP3
00005601: ADD
00005602: MSTORE
00005603: PUSH2 0x560e
00005606: PUSH1 0xc0
00005608: DUP4
00005609: ADD
0000560a: PUSH2 0x5439
0000560d: JUMP
0000560e: JUMPDEST
0000560f: PUSH1 0xc0
00005611: DUP3
00005612: ADD
00005613: MSTORE
00005614: PUSH2 0x561f
00005617: PUSH1 0xe0
00005619: DUP4
0000561a: ADD
0000561b: PUSH2 0x5439
0000561e: JUMP
0000561f: JUMPDEST
00005620: PUSH1 0xe0
00005622: DUP3
00005623: ADD
00005624: MSTORE
00005625: PUSH2 0x5631
00005628: PUSH2 0x0100
0000562b: DUP4
0000562c: ADD
0000562d: PUSH2 0x551b
00005630: JUMP
00005631: JUMPDEST
00005632: PUSH2 0x0100
00005635: DUP3
00005636: ADD
00005637: MSTORE
00005638: PUSH2 0x5644
0000563b: PUSH2 0x0120
0000563e: DUP4
0000563f: ADD
00005640: PUSH2 0x551b
00005643: JUMP
00005644: JUMPDEST
00005645: PUSH2 0x0120
00005648: DUP3
00005649: ADD
0000564a: MSTORE
0000564b: PUSH2 0x5657
0000564e: PUSH2 0x0140
00005651: DUP4
00005652: ADD
00005653: PUSH2 0x5526
00005656: JUMP
00005657: JUMPDEST
00005658: PUSH2 0x0140
0000565b: DUP3
0000565c: ADD
0000565d: MSTORE
0000565e: PUSH2 0x0160
00005661: SWAP2
00005662: DUP3
00005663: ADD
00005664: MLOAD
00005665: SWAP2
00005666: DUP2
00005667: ADD
00005668: SWAP2
00005669: SWAP1
0000566a: SWAP2
0000566b: MSTORE
0000566c: SWAP4
0000566d: SWAP3
0000566e: POP
0000566f: POP
00005670: POP
00005671: JUMP
00005672: JUMPDEST
00005673: PUSH0
00005674: PUSH1 0x20
00005676: DUP3
00005677: DUP5
00005678: SUB
00005679: SLT
0000567a: ISZERO
0000567b: PUSH2 0x5682
0000567e: JUMPI
0000567f: PUSH0
00005680: DUP1
00005681: REVERT
00005682: JUMPDEST
00005683: DUP2
00005684: MLOAD
00005685: PUSH1 0xff
00005687: DUP2
00005688: AND
00005689: DUP2
0000568a: EQ
0000568b: PUSH2 0x0fa5
0000568e: JUMPI
0000568f: PUSH0
00005690: DUP1
00005691: REVERT
00005692: JUMPDEST
00005693: PUSH4 0x4e487b71
00005698: PUSH1 0xe0
0000569a: SHL
0000569b: PUSH0
0000569c: MSTORE
0000569d: PUSH1 0x32
0000569f: PUSH1 0x04
000056a1: MSTORE
000056a2: PUSH1 0x24
000056a4: PUSH0
000056a5: REVERT
000056a6: JUMPDEST
000056a7: SWAP2
000056a8: DUP3
000056a9: MSTORE
000056aa: PUSH1 0x20
000056ac: DUP3
000056ad: ADD
000056ae: MSTORE
000056af: PUSH1 0x40
000056b1: ADD
000056b2: SWAP1
000056b3: JUMP
000056b4: JUMPDEST
000056b5: PUSH1 0x01
000056b7: DUP2
000056b8: JUMPDEST
000056b9: PUSH1 0x01
000056bb: DUP5
000056bc: GT
000056bd: ISZERO
000056be: PUSH2 0x56ef
000056c1: JUMPI
000056c2: DUP1
000056c3: DUP6
000056c4: DIV
000056c5: DUP2
000056c6: GT
000056c7: ISZERO
000056c8: PUSH2 0x56d3
000056cb: JUMPI
000056cc: PUSH2 0x56d3
000056cf: PUSH2 0x5464
000056d2: JUMP
000056d3: JUMPDEST
000056d4: PUSH1 0x01
000056d6: DUP5
000056d7: AND
000056d8: ISZERO
000056d9: PUSH2 0x56e1
000056dc: JUMPI
000056dd: SWAP1
000056de: DUP2
000056df: MUL
000056e0: SWAP1
000056e1: JUMPDEST
000056e2: PUSH1 0x01
000056e4: SWAP4
000056e5: SWAP1
000056e6: SWAP4
000056e7: SHR
000056e8: SWAP3
000056e9: DUP1
000056ea: MUL
000056eb: PUSH2 0x56b8
000056ee: JUMP
000056ef: JUMPDEST
000056f0: SWAP4
000056f1: POP
000056f2: SWAP4
000056f3: SWAP2
000056f4: POP
000056f5: POP
000056f6: JUMP
000056f7: JUMPDEST
000056f8: PUSH0
000056f9: DUP3
000056fa: PUSH2 0x5705
000056fd: JUMPI
000056fe: POP
000056ff: PUSH1 0x01
00005701: PUSH2 0x0ce4
00005704: JUMP
00005705: JUMPDEST
00005706: DUP2
00005707: PUSH2 0x5711
0000570a: JUMPI
0000570b: POP
0000570c: PUSH0
0000570d: PUSH2 0x0ce4
00005710: JUMP
00005711: JUMPDEST
00005712: DUP2
00005713: PUSH1 0x01
00005715: DUP2
00005716: EQ
00005717: PUSH2 0x5727
0000571a: JUMPI
0000571b: PUSH1 0x02
0000571d: DUP2
0000571e: EQ
0000571f: PUSH2 0x5731
00005722: JUMPI
00005723: PUSH2 0x574d
00005726: JUMP
00005727: JUMPDEST
00005728: PUSH1 0x01
0000572a: SWAP2
0000572b: POP
0000572c: POP
0000572d: PUSH2 0x0ce4
00005730: JUMP
00005731: JUMPDEST
00005732: PUSH1 0xff
00005734: DUP5
00005735: GT
00005736: ISZERO
00005737: PUSH2 0x5742
0000573a: JUMPI
0000573b: PUSH2 0x5742
0000573e: PUSH2 0x5464
00005741: JUMP
00005742: JUMPDEST
00005743: POP
00005744: POP
00005745: PUSH1 0x01
00005747: DUP3
00005748: SHL
00005749: PUSH2 0x0ce4
0000574c: JUMP
0000574d: JUMPDEST
0000574e: POP
0000574f: PUSH1 0x20
00005751: DUP4
00005752: LT
00005753: PUSH2 0x0133
00005756: DUP4
00005757: LT
00005758: AND
00005759: PUSH1 0x4e
0000575b: DUP5
0000575c: LT
0000575d: PUSH1 0x0b
0000575f: DUP5
00005760: LT
00005761: AND
00005762: OR
00005763: ISZERO
00005764: PUSH2 0x5770
00005767: JUMPI
00005768: POP
00005769: DUP2
0000576a: DUP2
0000576b: EXP
0000576c: PUSH2 0x0ce4
0000576f: JUMP
00005770: JUMPDEST
00005771: PUSH2 0x577c
00005774: PUSH0
00005775: NOT
00005776: DUP5
00005777: DUP5
00005778: PUSH2 0x56b4
0000577b: JUMP
0000577c: JUMPDEST
0000577d: DUP1
0000577e: PUSH0
0000577f: NOT
00005780: DIV
00005781: DUP3
00005782: GT
00005783: ISZERO
00005784: PUSH2 0x578f
00005787: JUMPI
00005788: PUSH2 0x578f
0000578b: PUSH2 0x5464
0000578e: JUMP
0000578f: JUMPDEST
00005790: MUL
00005791: SWAP4
00005792: SWAP3
00005793: POP
00005794: POP
00005795: POP
00005796: JUMP
00005797: JUMPDEST
00005798: PUSH0
00005799: PUSH2 0x0fa5
0000579c: PUSH1 0xff
0000579e: DUP5
0000579f: AND
000057a0: DUP4
000057a1: PUSH2 0x56f7
000057a4: JUMP
000057a5: JUMPDEST
000057a6: PUSH1 0x01
000057a8: PUSH1 0x01
000057aa: PUSH1 0x80
000057ac: SHL
000057ad: SUB
000057ae: DUP2
000057af: DUP2
000057b0: AND
000057b1: DUP4
000057b2: DUP3
000057b3: AND
000057b4: ADD
000057b5: SWAP1
000057b6: DUP2
000057b7: GT
000057b8: ISZERO
000057b9: PUSH2 0x0ce4
000057bc: JUMPI
000057bd: PUSH2 0x0ce4
000057c0: PUSH2 0x5464
000057c3: JUMP
000057c4: JUMPDEST
000057c5: PUSH5 0xffffffffff
000057cb: DUP3
000057cc: DUP2
000057cd: AND
000057ce: DUP3
000057cf: DUP3
000057d0: AND
000057d1: SUB
000057d2: SWAP1
000057d3: DUP2
000057d4: GT
000057d5: ISZERO
000057d6: PUSH2 0x0ce4
000057d9: JUMPI
000057da: PUSH2 0x0ce4
000057dd: PUSH2 0x5464
000057e0: JUMP
000057e1: JUMPDEST
000057e2: PUSH5 0xffffffffff
000057e8: DUP2
000057e9: DUP2
000057ea: AND
000057eb: DUP4
000057ec: DUP3
000057ed: AND
000057ee: ADD
000057ef: SWAP1
000057f0: DUP2
000057f1: GT
000057f2: ISZERO
000057f3: PUSH2 0x0ce4
000057f6: JUMPI
000057f7: PUSH2 0x0ce4
000057fa: PUSH2 0x5464
000057fd: JUMP
000057fe: JUMPDEST
000057ff: SWAP4
00005800: DUP5
00005801: MSTORE
00005802: PUSH1 0x20
00005804: DUP5
00005805: ADD
00005806: SWAP3
00005807: SWAP1
00005808: SWAP3
00005809: MSTORE
0000580a: PUSH1 0x40
0000580c: DUP4
0000580d: ADD
0000580e: MSTORE
0000580f: PUSH1 0x60
00005811: DUP3
00005812: ADD
00005813: MSTORE
00005814: PUSH1 0x80
00005816: ADD
00005817: SWAP1
00005818: JUMP
00005819: JUMPDEST
0000581a: PUSH0
0000581b: PUSH1 0x20
0000581d: DUP3
0000581e: DUP5
0000581f: SUB
00005820: SLT
00005821: ISZERO
00005822: PUSH2 0x5829
00005825: JUMPI
00005826: PUSH0
00005827: DUP1
00005828: REVERT
00005829: JUMPDEST
0000582a: POP
0000582b: MLOAD
0000582c: SWAP2
0000582d: SWAP1
0000582e: POP
0000582f: JUMP
00005830: JUMPDEST
00005831: DUP2
00005832: DUP2
00005833: SUB
00005834: DUP2
00005835: DUP2
00005836: GT
00005837: ISZERO
00005838: PUSH2 0x0ce4
0000583b: JUMPI
0000583c: PUSH2 0x0ce4
0000583f: PUSH2 0x5464
00005842: JUMP
00005843: JUMPDEST
00005844: PUSH1 0x01
00005846: PUSH1 0x01
00005848: PUSH1 0xa0
0000584a: SHL
0000584b: SUB
0000584c: SWAP4
0000584d: SWAP1
0000584e: SWAP4
0000584f: AND
00005850: DUP4
00005851: MSTORE
00005852: PUSH1 0x20
00005854: DUP4
00005855: ADD
00005856: SWAP2
00005857: SWAP1
00005858: SWAP2
00005859: MSTORE
0000585a: PUSH1 0x40
0000585c: DUP3
0000585d: ADD
0000585e: MSTORE
0000585f: PUSH1 0x60
00005861: ADD
00005862: SWAP1
00005863: JUMP
00005864: JUMPDEST
00005865: PUSH1 0x01
00005867: PUSH1 0x01
00005869: PUSH1 0xa0
0000586b: SHL
0000586c: SUB
0000586d: SWAP3
0000586e: SWAP1
0000586f: SWAP3
00005870: AND
00005871: DUP3
00005872: MSTORE
00005873: PUSH1 0x20
00005875: DUP3
00005876: ADD
00005877: MSTORE
00005878: PUSH1 0x40
0000587a: ADD
0000587b: SWAP1
0000587c: JUMP
0000587d: JUMPDEST
0000587e: PUSH0
0000587f: PUSH2 0x0fa5
00005882: DUP4
00005883: DUP4
00005884: PUSH2 0x56f7
00005887: JUMP
00005888: JUMPDEST
00005889: PUSH4 0x4e487b71
0000588e: PUSH1 0xe0
00005890: SHL
00005891: PUSH0
00005892: MSTORE
00005893: PUSH1 0x12
00005895: PUSH1 0x04
00005897: MSTORE
00005898: PUSH1 0x24
0000589a: PUSH0
0000589b: REVERT
0000589c: JUMPDEST
0000589d: PUSH0
0000589e: PUSH1 0x20
000058a0: DUP3
000058a1: DUP5
000058a2: SUB
000058a3: SLT
000058a4: ISZERO
000058a5: PUSH2 0x58ac
000058a8: JUMPI
000058a9: PUSH0
000058aa: DUP1
000058ab: REVERT
000058ac: JUMPDEST
000058ad: DUP2
000058ae: MLOAD
000058af: PUSH2 0x0fa5
000058b2: DUP2
000058b3: PUSH2 0x5172
000058b6: JUMP
000058b7: JUMPDEST
000058b8: PUSH1 0x1f
000058ba: DUP3
000058bb: GT
000058bc: ISZERO
000058bd: PUSH2 0x2052
000058c0: JUMPI
000058c1: DUP1
000058c2: PUSH0
000058c3: MSTORE
000058c4: PUSH1 0x20
000058c6: PUSH0
000058c7: KECCAK256
000058c8: PUSH1 0x1f
000058ca: DUP5
000058cb: ADD
000058cc: PUSH1 0x05
000058ce: SHR
000058cf: DUP2
000058d0: ADD
000058d1: PUSH1 0x20
000058d3: DUP6
000058d4: LT
000058d5: ISZERO
000058d6: PUSH2 0x58dc
000058d9: JUMPI
000058da: POP
000058db: DUP1
000058dc: JUMPDEST
000058dd: PUSH1 0x1f
000058df: DUP5
000058e0: ADD
000058e1: PUSH1 0x05
000058e3: SHR
000058e4: DUP3
000058e5: ADD
000058e6: SWAP2
000058e7: POP
000058e8: JUMPDEST
000058e9: DUP2
000058ea: DUP2
000058eb: LT
000058ec: ISZERO
000058ed: PUSH2 0x45b9
000058f0: JUMPI
000058f1: PUSH0
000058f2: DUP2
000058f3: SSTORE
000058f4: PUSH1 0x01
000058f6: ADD
000058f7: PUSH2 0x58e8
000058fa: JUMP
000058fb: JUMPDEST
000058fc: DUP2
000058fd: MLOAD
000058fe: PUSH1 0x01
00005900: PUSH1 0x01
00005902: PUSH1 0x40
00005904: SHL
00005905: SUB
00005906: DUP2
00005907: GT
00005908: ISZERO
00005909: PUSH2 0x5914
0000590c: JUMPI
0000590d: PUSH2 0x5914
00005910: PUSH2 0x5098
00005913: JUMP
00005914: JUMPDEST
00005915: PUSH2 0x5928
00005918: DUP2
00005919: PUSH2 0x5922
0000591c: DUP5
0000591d: SLOAD
0000591e: PUSH2 0x53cd
00005921: JUMP
00005922: JUMPDEST
00005923: DUP5
00005924: PUSH2 0x58b7
00005927: JUMP
00005928: JUMPDEST
00005929: PUSH1 0x20
0000592b: PUSH1 0x1f
0000592d: DUP3
0000592e: GT
0000592f: PUSH1 0x01
00005931: DUP2
00005932: EQ
00005933: PUSH2 0x595a
00005936: JUMPI
00005937: PUSH0
00005938: DUP4
00005939: ISZERO
0000593a: PUSH2 0x5943
0000593d: JUMPI
0000593e: POP
0000593f: DUP5
00005940: DUP3
00005941: ADD
00005942: MLOAD
00005943: JUMPDEST
00005944: PUSH0
00005945: NOT
00005946: PUSH1 0x03
00005948: DUP6
00005949: SWAP1
0000594a: SHL
0000594b: SHR
0000594c: NOT
0000594d: AND
0000594e: PUSH1 0x01
00005950: DUP5
00005951: SWAP1
00005952: SHL
00005953: OR
00005954: DUP5
00005955: SSTORE
00005956: PUSH2 0x45b9
00005959: JUMP
0000595a: JUMPDEST
0000595b: PUSH0
0000595c: DUP5
0000595d: DUP2
0000595e: MSTORE
0000595f: PUSH1 0x20
00005961: DUP2
00005962: KECCAK256
00005963: PUSH1 0x1f
00005965: NOT
00005966: DUP6
00005967: AND
00005968: SWAP2
00005969: JUMPDEST
0000596a: DUP3
0000596b: DUP2
0000596c: LT
0000596d: ISZERO
0000596e: PUSH2 0x5989
00005971: JUMPI
00005972: DUP8
00005973: DUP6
00005974: ADD
00005975: MLOAD
00005976: DUP3
00005977: SSTORE
00005978: PUSH1 0x20
0000597a: SWAP5
0000597b: DUP6
0000597c: ADD
0000597d: SWAP5
0000597e: PUSH1 0x01
00005980: SWAP1
00005981: SWAP3
00005982: ADD
00005983: SWAP2
00005984: ADD
00005985: PUSH2 0x5969
00005988: JUMP
00005989: JUMPDEST
0000598a: POP
0000598b: DUP5
0000598c: DUP3
0000598d: LT
0000598e: ISZERO
0000598f: PUSH2 0x59a6
00005992: JUMPI
00005993: DUP7
00005994: DUP5
00005995: ADD
00005996: MLOAD
00005997: PUSH0
00005998: NOT
00005999: PUSH1 0x03
0000599b: DUP8
0000599c: SWAP1
0000599d: SHL
0000599e: PUSH1 0xf8
000059a0: AND
000059a1: SHR
000059a2: NOT
000059a3: AND
000059a4: DUP2
000059a5: SSTORE
000059a6: JUMPDEST
000059a7: POP
000059a8: POP
000059a9: POP
000059aa: POP
000059ab: PUSH1 0x01
000059ad: SWAP1
000059ae: DUP2
000059af: SHL
000059b0: ADD
000059b1: SWAP1
000059b2: SSTORE
000059b3: POP
000059b4: JUMP
000059b5: JUMPDEST
000059b6: PUSH0
000059b7: PUSH1 0xff
000059b9: DUP4
000059ba: AND
000059bb: DUP1
000059bc: PUSH2 0x59d3
000059bf: JUMPI
000059c0: PUSH4 0x4e487b71
000059c5: PUSH1 0xe0
000059c7: SHL
000059c8: PUSH0
000059c9: MSTORE
000059ca: PUSH1 0x12
000059cc: PUSH1 0x04
000059ce: MSTORE
000059cf: PUSH1 0x24
000059d1: PUSH0
000059d2: REVERT
000059d3: JUMPDEST
000059d4: DUP1
000059d5: PUSH1 0xff
000059d7: DUP5
000059d8: AND
000059d9: MOD
000059da: SWAP2
000059db: POP
000059dc: POP
000059dd: SWAP3
000059de: SWAP2
000059df: POP
000059e0: POP
000059e1: JUMP
000059e2: JUMPDEST
000059e3: PUSH0
000059e4: DUP3
000059e5: MLOAD
000059e6: DUP1
000059e7: PUSH1 0x20
000059e9: DUP6
000059ea: ADD
000059eb: DUP5
000059ec: MCOPY
000059ed: PUSH0
000059ee: SWAP3
000059ef: ADD
000059f0: SWAP2
000059f1: DUP3
000059f2: MSTORE
000059f3: POP
000059f4: SWAP2
000059f5: SWAP1
000059f6: POP
000059f7: JUMP
000059f8: INVALID
000059f9: PUSH1 0x80
000059fb: PUSH1 0x40
000059fd: MSTORE
000059fe: CALLVALUE
000059ff: DUP1
00005a00: ISZERO
00005a01: PUSH2 0x000f
00005a04: JUMPI
00005a05: PUSH0
00005a06: DUP1
00005a07: REVERT
00005a08: JUMPDEST
00005a09: POP
00005a0a: PUSH1 0x40
00005a0c: MLOAD
00005a0d: PUSH2 0x0526
00005a10: CODESIZE
00005a11: SUB
00005a12: DUP1
00005a13: PUSH2 0x0526
00005a16: DUP4
00005a17: CODECOPY
00005a18: DUP2
00005a19: ADD
00005a1a: PUSH1 0x40
00005a1c: DUP2
00005a1d: SWAP1
00005a1e: MSTORE
00005a1f: PUSH2 0x002e
00005a22: SWAP2
00005a23: PUSH2 0x037e
00005a26: JUMP
00005a27: JUMPDEST
00005a28: PUSH2 0x0043
00005a2b: PUSH1 0x01
00005a2d: PUSH1 0x01
00005a2f: PUSH1 0xa0
00005a31: SHL
00005a32: SUB
00005a33: DUP4
00005a34: AND
00005a35: CALLER
00005a36: PUSH0
00005a37: NOT
00005a38: PUSH2 0x0068
00005a3b: JUMP
00005a3c: JUMPDEST
00005a3d: PUSH0
00005a3e: DUP1
00005a3f: SLOAD
00005a40: PUSH1 0x01
00005a42: PUSH1 0x01
00005a44: PUSH1 0xa0
00005a46: SHL
00005a47: SUB
00005a48: NOT
00005a49: AND
00005a4a: PUSH1 0x01
00005a4c: PUSH1 0x01
00005a4e: PUSH1 0xa0
00005a50: SHL
00005a51: SUB
00005a52: SWAP3
00005a53: SWAP1
00005a54: SWAP3
00005a55: AND
00005a56: SWAP2
00005a57: SWAP1
00005a58: SWAP2
00005a59: OR
00005a5a: SWAP1
00005a5b: SSTORE
00005a5c: POP
00005a5d: PUSH2 0x0418
00005a60: JUMP
00005a61: JUMPDEST
00005a62: PUSH0
00005a63: DUP4
00005a64: PUSH1 0x01
00005a66: PUSH1 0x01
00005a68: PUSH1 0xa0
00005a6a: SHL
00005a6b: SUB
00005a6c: AND
00005a6d: PUSH4 0x095ea7b3
00005a72: DUP5
00005a73: DUP5
00005a74: PUSH1 0x40
00005a76: MLOAD
00005a77: PUSH1 0x24
00005a79: ADD
00005a7a: PUSH2 0x008b
00005a7d: SWAP3
00005a7e: SWAP2
00005a7f: SWAP1
00005a80: PUSH2 0x03b6
00005a83: JUMP
00005a84: JUMPDEST
00005a85: PUSH1 0x40
00005a87: MLOAD
00005a88: PUSH1 0x20
00005a8a: DUP2
00005a8b: DUP4
00005a8c: SUB
00005a8d: SUB
00005a8e: DUP2
00005a8f: MSTORE
00005a90: SWAP1
00005a91: PUSH1 0x40
00005a93: MSTORE
00005a94: SWAP2
00005a95: POP
00005a96: PUSH1 0xe0
00005a98: SHL
00005a99: PUSH1 0x20
00005a9b: DUP3
00005a9c: ADD
00005a9d: DUP1
00005a9e: MLOAD
00005a9f: PUSH1 0x01
00005aa1: PUSH1 0x01
00005aa3: PUSH1 0xe0
00005aa5: SHL
00005aa6: SUB
00005aa7: DUP4
00005aa8: DUP2
00005aa9: DUP4
00005aaa: AND
00005aab: OR
00005aac: DUP4
00005aad: MSTORE
00005aae: POP
00005aaf: POP
00005ab0: POP
00005ab1: POP
00005ab2: SWAP1
00005ab3: POP
00005ab4: PUSH2 0x00ca
00005ab7: DUP5
00005ab8: DUP3
00005ab9: PUSH2 0x0136
00005abc: PUSH1 0x20
00005abe: SHL
00005abf: PUSH1 0x20
00005ac1: SHR
00005ac2: JUMP
00005ac3: JUMPDEST
00005ac4: PUSH2 0x0130
00005ac7: JUMPI
00005ac8: PUSH2 0x0126
00005acb: DUP5
00005acc: DUP6
00005acd: PUSH1 0x01
00005acf: PUSH1 0x01
00005ad1: PUSH1 0xa0
00005ad3: SHL
00005ad4: SUB
00005ad5: AND
00005ad6: PUSH4 0x095ea7b3
00005adb: DUP7
00005adc: PUSH0
00005add: PUSH1 0x40
00005adf: MLOAD
00005ae0: PUSH1 0x24
00005ae2: ADD
00005ae3: PUSH2 0x00f4
00005ae6: SWAP3
00005ae7: SWAP2
00005ae8: SWAP1
00005ae9: PUSH2 0x03b6
00005aec: JUMP
00005aed: JUMPDEST
00005aee: PUSH1 0x40
00005af0: DUP1
00005af1: MLOAD
00005af2: DUP1
00005af3: DUP4
00005af4: SUB
00005af5: PUSH1 0x1f
00005af7: NOT
00005af8: ADD
00005af9: DUP2
00005afa: MSTORE
00005afb: SWAP2
00005afc: SWAP1
00005afd: MSTORE
00005afe: PUSH1 0x20
00005b00: DUP2
00005b01: ADD
00005b02: DUP1
00005b03: MLOAD
00005b04: PUSH1 0xe0
00005b06: SWAP4
00005b07: SWAP1
00005b08: SWAP4
00005b09: SHL
00005b0a: PUSH1 0x01
00005b0c: PUSH1 0x01
00005b0e: PUSH1 0xe0
00005b10: SHL
00005b11: SUB
00005b12: SWAP4
00005b13: DUP5
00005b14: AND
00005b15: OR
00005b16: SWAP1
00005b17: MSTORE
00005b18: SWAP2
00005b19: POP
00005b1a: PUSH2 0x01d7
00005b1d: AND
00005b1e: JUMP
00005b1f: JUMPDEST
00005b20: PUSH2 0x0130
00005b23: DUP5
00005b24: DUP3
00005b25: PUSH2 0x01d7
00005b28: JUMP
00005b29: JUMPDEST
00005b2a: POP
00005b2b: POP
00005b2c: POP
00005b2d: POP
00005b2e: JUMP
00005b2f: JUMPDEST
00005b30: PUSH0
00005b31: DUP1
00005b32: PUSH0
00005b33: DUP5
00005b34: PUSH1 0x01
00005b36: PUSH1 0x01
00005b38: PUSH1 0xa0
00005b3a: SHL
00005b3b: SUB
00005b3c: AND
00005b3d: DUP5
00005b3e: PUSH1 0x40
00005b40: MLOAD
00005b41: PUSH2 0x0151
00005b44: SWAP2
00005b45: SWAP1
00005b46: PUSH2 0x03cf
00005b49: JUMP
00005b4a: JUMPDEST
00005b4b: PUSH0
00005b4c: PUSH1 0x40
00005b4e: MLOAD
00005b4f: DUP1
00005b50: DUP4
00005b51: SUB
00005b52: DUP2
00005b53: PUSH0
00005b54: DUP7
00005b55: GAS
00005b56: CALL
00005b57: SWAP2
00005b58: POP
00005b59: POP
00005b5a: RETURNDATASIZE
00005b5b: DUP1
00005b5c: PUSH0
00005b5d: DUP2
00005b5e: EQ
00005b5f: PUSH2 0x018a
00005b62: JUMPI
00005b63: PUSH1 0x40
00005b65: MLOAD
00005b66: SWAP2
00005b67: POP
00005b68: PUSH1 0x1f
00005b6a: NOT
00005b6b: PUSH1 0x3f
00005b6d: RETURNDATASIZE
00005b6e: ADD
00005b6f: AND
00005b70: DUP3
00005b71: ADD
00005b72: PUSH1 0x40
00005b74: MSTORE
00005b75: RETURNDATASIZE
00005b76: DUP3
00005b77: MSTORE
00005b78: RETURNDATASIZE
00005b79: PUSH0
00005b7a: PUSH1 0x20
00005b7c: DUP5
00005b7d: ADD
00005b7e: RETURNDATACOPY
00005b7f: PUSH2 0x018f
00005b82: JUMP
00005b83: JUMPDEST
00005b84: PUSH1 0x60
00005b86: SWAP2
00005b87: POP
00005b88: JUMPDEST
00005b89: POP
00005b8a: SWAP2
00005b8b: POP
00005b8c: SWAP2
00005b8d: POP
00005b8e: DUP2
00005b8f: DUP1
00005b90: ISZERO
00005b91: PUSH2 0x01b9
00005b94: JUMPI
00005b95: POP
00005b96: DUP1
00005b97: MLOAD
00005b98: ISZERO
00005b99: DUP1
00005b9a: PUSH2 0x01b9
00005b9d: JUMPI
00005b9e: POP
00005b9f: DUP1
00005ba0: DUP1
00005ba1: PUSH1 0x20
00005ba3: ADD
00005ba4: SWAP1
00005ba5: MLOAD
00005ba6: DUP2
00005ba7: ADD
00005ba8: SWAP1
00005ba9: PUSH2 0x01b9
00005bac: SWAP2
00005bad: SWAP1
00005bae: PUSH2 0x03e5
00005bb1: JUMP
00005bb2: JUMPDEST
00005bb3: DUP1
00005bb4: ISZERO
00005bb5: PUSH2 0x01ce
00005bb8: JUMPI
00005bb9: POP
00005bba: PUSH0
00005bbb: DUP6
00005bbc: PUSH1 0x01
00005bbe: PUSH1 0x01
00005bc0: PUSH1 0xa0
00005bc2: SHL
00005bc3: SUB
00005bc4: AND
00005bc5: EXTCODESIZE
00005bc6: GT
00005bc7: JUMPDEST
00005bc8: SWAP6
00005bc9: SWAP5
00005bca: POP
00005bcb: POP
00005bcc: POP
00005bcd: POP
00005bce: POP
00005bcf: JUMP
00005bd0: JUMPDEST
00005bd1: PUSH0
00005bd2: PUSH2 0x01eb
00005bd5: PUSH1 0x01
00005bd7: PUSH1 0x01
00005bd9: PUSH1 0xa0
00005bdb: SHL
00005bdc: SUB
00005bdd: DUP5
00005bde: AND
00005bdf: DUP4
00005be0: PUSH2 0x023d
00005be3: JUMP
00005be4: JUMPDEST
00005be5: SWAP1
00005be6: POP
00005be7: DUP1
00005be8: MLOAD
00005be9: PUSH0
00005bea: EQ
00005beb: ISZERO
00005bec: DUP1
00005bed: ISZERO
00005bee: PUSH2 0x020f
00005bf1: JUMPI
00005bf2: POP
00005bf3: DUP1
00005bf4: DUP1
00005bf5: PUSH1 0x20
00005bf7: ADD
00005bf8: SWAP1
00005bf9: MLOAD
00005bfa: DUP2
00005bfb: ADD
00005bfc: SWAP1
00005bfd: PUSH2 0x020d
00005c00: SWAP2
00005c01: SWAP1
00005c02: PUSH2 0x03e5
00005c05: JUMP
00005c06: JUMPDEST
00005c07: ISZERO
00005c08: JUMPDEST
00005c09: ISZERO
00005c0a: PUSH2 0x0238
00005c0d: JUMPI
00005c0e: DUP3
00005c0f: PUSH1 0x40
00005c11: MLOAD
00005c12: PUSH4 0x5274afe7
00005c17: PUSH1 0xe0
00005c19: SHL
00005c1a: DUP2
00005c1b: MSTORE
00005c1c: PUSH1 0x04
00005c1e: ADD
00005c1f: PUSH2 0x022f
00005c22: SWAP2
00005c23: SWAP1
00005c24: PUSH2 0x0404
00005c27: JUMP
00005c28: JUMPDEST
00005c29: PUSH1 0x40
00005c2b: MLOAD
00005c2c: DUP1
00005c2d: SWAP2
00005c2e: SUB
00005c2f: SWAP1
00005c30: REVERT
00005c31: JUMPDEST
00005c32: POP
00005c33: POP
00005c34: POP
00005c35: JUMP
00005c36: JUMPDEST
00005c37: PUSH1 0x60
00005c39: PUSH2 0x024a
00005c3c: DUP4
00005c3d: DUP4
00005c3e: PUSH0
00005c3f: PUSH2 0x0251
00005c42: JUMP
00005c43: JUMPDEST
00005c44: SWAP4
00005c45: SWAP3
00005c46: POP
00005c47: POP
00005c48: POP
00005c49: JUMP
00005c4a: JUMPDEST
00005c4b: PUSH1 0x60
00005c4d: DUP2
00005c4e: SELFBALANCE
00005c4f: LT
00005c50: ISZERO
00005c51: PUSH2 0x0276
00005c54: JUMPI
00005c55: ADDRESS
00005c56: PUSH1 0x40
00005c58: MLOAD
00005c59: PUSH4 0xcd786059
00005c5e: PUSH1 0xe0
00005c60: SHL
00005c61: DUP2
00005c62: MSTORE
00005c63: PUSH1 0x04
00005c65: ADD
00005c66: PUSH2 0x022f
00005c69: SWAP2
00005c6a: SWAP1
00005c6b: PUSH2 0x0404
00005c6e: JUMP
00005c6f: JUMPDEST
00005c70: PUSH0
00005c71: DUP1
00005c72: DUP6
00005c73: PUSH1 0x01
00005c75: PUSH1 0x01
00005c77: PUSH1 0xa0
00005c79: SHL
00005c7a: SUB
00005c7b: AND
00005c7c: DUP5
00005c7d: DUP7
00005c7e: PUSH1 0x40
00005c80: MLOAD
00005c81: PUSH2 0x0291
00005c84: SWAP2
00005c85: SWAP1
00005c86: PUSH2 0x03cf
00005c89: JUMP
00005c8a: JUMPDEST
00005c8b: PUSH0
00005c8c: PUSH1 0x40
00005c8e: MLOAD
00005c8f: DUP1
00005c90: DUP4
00005c91: SUB
00005c92: DUP2
00005c93: DUP6
00005c94: DUP8
00005c95: GAS
00005c96: CALL
00005c97: SWAP3
00005c98: POP
00005c99: POP
00005c9a: POP
00005c9b: RETURNDATASIZE
00005c9c: DUP1
00005c9d: PUSH0
00005c9e: DUP2
00005c9f: EQ
00005ca0: PUSH2 0x02cb
00005ca3: JUMPI
00005ca4: PUSH1 0x40
00005ca6: MLOAD
00005ca7: SWAP2
00005ca8: POP
00005ca9: PUSH1 0x1f
00005cab: NOT
00005cac: PUSH1 0x3f
00005cae: RETURNDATASIZE
00005caf: ADD
00005cb0: AND
00005cb1: DUP3
00005cb2: ADD
00005cb3: PUSH1 0x40
00005cb5: MSTORE
00005cb6: RETURNDATASIZE
00005cb7: DUP3
00005cb8: MSTORE
00005cb9: RETURNDATASIZE
00005cba: PUSH0
00005cbb: PUSH1 0x20
00005cbd: DUP5
00005cbe: ADD
00005cbf: RETURNDATACOPY
00005cc0: PUSH2 0x02d0
00005cc3: JUMP
00005cc4: JUMPDEST
00005cc5: PUSH1 0x60
00005cc7: SWAP2
00005cc8: POP
00005cc9: JUMPDEST
00005cca: POP
00005ccb: SWAP1
00005ccc: SWAP3
00005ccd: POP
00005cce: SWAP1
00005ccf: POP
00005cd0: PUSH2 0x02e1
00005cd3: DUP7
00005cd4: DUP4
00005cd5: DUP4
00005cd6: PUSH2 0x02eb
00005cd9: JUMP
00005cda: JUMPDEST
00005cdb: SWAP7
00005cdc: SWAP6
00005cdd: POP
00005cde: POP
00005cdf: POP
00005ce0: POP
00005ce1: POP
00005ce2: POP
00005ce3: JUMP
00005ce4: JUMPDEST
00005ce5: PUSH1 0x60
00005ce7: DUP3
00005ce8: PUSH2 0x0300
00005ceb: JUMPI
00005cec: PUSH2 0x02fb
00005cef: DUP3
00005cf0: PUSH2 0x033e
00005cf3: JUMP
00005cf4: JUMPDEST
00005cf5: PUSH2 0x024a
00005cf8: JUMP
00005cf9: JUMPDEST
00005cfa: DUP2
00005cfb: MLOAD
00005cfc: ISZERO
00005cfd: DUP1
00005cfe: ISZERO
00005cff: PUSH2 0x0317
00005d02: JUMPI
00005d03: POP
00005d04: PUSH1 0x01
00005d06: PUSH1 0x01
00005d08: PUSH1 0xa0
00005d0a: SHL
00005d0b: SUB
00005d0c: DUP5
00005d0d: AND
00005d0e: EXTCODESIZE
00005d0f: ISZERO
00005d10: JUMPDEST
00005d11: ISZERO
00005d12: PUSH2 0x0337
00005d15: JUMPI
00005d16: DUP4
00005d17: PUSH1 0x40
00005d19: MLOAD
00005d1a: PUSH4 0x9996b315
00005d1f: PUSH1 0xe0
00005d21: SHL
00005d22: DUP2
00005d23: MSTORE
00005d24: PUSH1 0x04
00005d26: ADD
00005d27: PUSH2 0x022f
00005d2a: SWAP2
00005d2b: SWAP1
00005d2c: PUSH2 0x0404
00005d2f: JUMP
00005d30: JUMPDEST
00005d31: POP
00005d32: DUP1
00005d33: PUSH2 0x024a
00005d36: JUMP
00005d37: JUMPDEST
00005d38: DUP1
00005d39: MLOAD
00005d3a: ISZERO
00005d3b: PUSH2 0x034e
00005d3e: JUMPI
00005d3f: DUP1
00005d40: MLOAD
00005d41: DUP1
00005d42: DUP3
00005d43: PUSH1 0x20
00005d45: ADD
00005d46: REVERT
00005d47: JUMPDEST
00005d48: PUSH1 0x40
00005d4a: MLOAD
00005d4b: PUSH4 0x0a12f521
00005d50: PUSH1 0xe1
00005d52: SHL
00005d53: DUP2
00005d54: MSTORE
00005d55: PUSH1 0x04
00005d57: ADD
00005d58: PUSH1 0x40
00005d5a: MLOAD
00005d5b: DUP1
00005d5c: SWAP2
00005d5d: SUB
00005d5e: SWAP1
00005d5f: REVERT
00005d60: JUMPDEST
00005d61: POP
00005d62: JUMP
00005d63: JUMPDEST
00005d64: PUSH1 0x01
00005d66: PUSH1 0x01
00005d68: PUSH1 0xa0
00005d6a: SHL
00005d6b: SUB
00005d6c: DUP2
00005d6d: AND
00005d6e: DUP2
00005d6f: EQ
00005d70: PUSH2 0x0367
00005d73: JUMPI
00005d74: PUSH0
00005d75: DUP1
00005d76: REVERT
00005d77: JUMPDEST
00005d78: PUSH0
00005d79: DUP1
00005d7a: PUSH1 0x40
00005d7c: DUP4
00005d7d: DUP6
00005d7e: SUB
00005d7f: SLT
00005d80: ISZERO
00005d81: PUSH2 0x038f
00005d84: JUMPI
00005d85: PUSH0
00005d86: DUP1
00005d87: REVERT
00005d88: JUMPDEST
00005d89: DUP3
00005d8a: MLOAD
00005d8b: PUSH2 0x039a
00005d8e: DUP2
00005d8f: PUSH2 0x036a
00005d92: JUMP
00005d93: JUMPDEST
00005d94: PUSH1 0x20
00005d96: DUP5
00005d97: ADD
00005d98: MLOAD
00005d99: SWAP1
00005d9a: SWAP3
00005d9b: POP
00005d9c: PUSH2 0x03ab
00005d9f: DUP2
00005da0: PUSH2 0x036a
00005da3: JUMP
00005da4: JUMPDEST
00005da5: DUP1
00005da6: SWAP2
00005da7: POP
00005da8: POP
00005da9: SWAP3
00005daa: POP
00005dab: SWAP3
00005dac: SWAP1
00005dad: POP
00005dae: JUMP
00005daf: JUMPDEST
00005db0: PUSH1 0x01
00005db2: PUSH1 0x01
00005db4: PUSH1 0xa0
00005db6: SHL
00005db7: SUB
00005db8: SWAP3
00005db9: SWAP1
00005dba: SWAP3
00005dbb: AND
00005dbc: DUP3
00005dbd: MSTORE
00005dbe: PUSH1 0x20
00005dc0: DUP3
00005dc1: ADD
00005dc2: MSTORE
00005dc3: PUSH1 0x40
00005dc5: ADD
00005dc6: SWAP1
00005dc7: JUMP
00005dc8: JUMPDEST
00005dc9: PUSH0
00005dca: DUP3
00005dcb: MLOAD
00005dcc: DUP1
00005dcd: PUSH1 0x20
00005dcf: DUP6
00005dd0: ADD
00005dd1: DUP5
00005dd2: MCOPY
00005dd3: PUSH0
00005dd4: SWAP3
00005dd5: ADD
00005dd6: SWAP2
00005dd7: DUP3
00005dd8: MSTORE
00005dd9: POP
00005dda: SWAP2
00005ddb: SWAP1
00005ddc: POP
00005ddd: JUMP
00005dde: JUMPDEST
00005ddf: PUSH0
00005de0: PUSH1 0x20
00005de2: DUP3
00005de3: DUP5
00005de4: SUB
00005de5: SLT
00005de6: ISZERO
00005de7: PUSH2 0x03f5
00005dea: JUMPI
00005deb: PUSH0
00005dec: DUP1
00005ded: REVERT
00005dee: JUMPDEST
00005def: DUP2
00005df0: MLOAD
00005df1: DUP1
00005df2: ISZERO
00005df3: ISZERO
00005df4: DUP2
00005df5: EQ
00005df6: PUSH2 0x024a
00005df9: JUMPI
00005dfa: PUSH0
00005dfb: DUP1
00005dfc: REVERT
00005dfd: JUMPDEST
00005dfe: PUSH1 0x01
00005e00: PUSH1 0x01
00005e02: PUSH1 0xa0
00005e04: SHL
00005e05: SUB
00005e06: SWAP2
00005e07: SWAP1
00005e08: SWAP2
00005e09: AND
00005e0a: DUP2
00005e0b: MSTORE
00005e0c: PUSH1 0x20
00005e0e: ADD
00005e0f: SWAP1
00005e10: JUMP
00005e11: JUMPDEST
00005e12: PUSH2 0x0101
00005e15: DUP1
00005e16: PUSH2 0x0425
00005e19: PUSH0
00005e1a: CODECOPY
00005e1b: PUSH0
00005e1c: RETURN
00005e1d: INVALID
00005e1e: PUSH1 0x80
00005e20: PUSH1 0x40
00005e22: MSTORE
00005e23: PUSH1 0x04
00005e25: CALLDATASIZE
00005e26: LT
00005e27: PUSH1 0x25
00005e29: JUMPI
00005e2a: PUSH0
00005e2b: CALLDATALOAD
00005e2c: PUSH1 0xe0
00005e2e: SHR
00005e2f: DUP1
00005e30: PUSH4 0x17fcb39b
00005e35: EQ
00005e36: PUSH1 0x29
00005e38: JUMPI
00005e39: DUP1
00005e3a: PUSH4 0x439370b1
00005e3f: EQ
00005e40: PUSH1 0x61
00005e42: JUMPI
00005e43: JUMPDEST
00005e44: PUSH0
00005e45: DUP1
00005e46: REVERT
00005e47: JUMPDEST
00005e48: CALLVALUE
00005e49: DUP1
00005e4a: ISZERO
00005e4b: PUSH1 0x33
00005e4d: JUMPI
00005e4e: PUSH0
00005e4f: DUP1
00005e50: REVERT
00005e51: JUMPDEST
00005e52: POP
00005e53: PUSH0
00005e54: SLOAD
00005e55: PUSH1 0x45
00005e57: SWAP1
00005e58: PUSH1 0x01
00005e5a: PUSH1 0x01
00005e5c: PUSH1 0xa0
00005e5e: SHL
00005e5f: SUB
00005e60: AND
00005e61: DUP2
00005e62: JUMP
00005e63: JUMPDEST
00005e64: PUSH1 0x40
00005e66: MLOAD
00005e67: PUSH1 0x01
00005e69: PUSH1 0x01
00005e6b: PUSH1 0xa0
00005e6d: SHL
00005e6e: SUB
00005e6f: SWAP1
00005e70: SWAP2
00005e71: AND
00005e72: DUP2
00005e73: MSTORE
00005e74: PUSH1 0x20
00005e76: ADD
00005e77: PUSH1 0x40
00005e79: MLOAD
00005e7a: DUP1
00005e7b: SWAP2
00005e7c: SUB
00005e7d: SWAP1
00005e7e: RETURN
00005e7f: JUMPDEST
00005e80: PUSH1 0x67
00005e82: PUSH1 0x69
00005e84: JUMP
00005e85: JUMPDEST
00005e86: STOP
00005e87: JUMPDEST
00005e88: PUSH0
00005e89: DUP1
00005e8a: SLOAD
00005e8b: SWAP1
00005e8c: PUSH2 0x0100
00005e8f: EXP
00005e90: SWAP1
00005e91: DIV
00005e92: PUSH1 0x01
00005e94: PUSH1 0x01
00005e96: PUSH1 0xa0
00005e98: SHL
00005e99: SUB
00005e9a: AND
00005e9b: PUSH1 0x01
00005e9d: PUSH1 0x01
00005e9f: PUSH1 0xa0
00005ea1: SHL
00005ea2: SUB
00005ea3: AND
00005ea4: PUSH4 0xd0e30db0
00005ea9: CALLVALUE
00005eaa: PUSH1 0x40
00005eac: MLOAD
00005ead: DUP3
00005eae: PUSH4 0xffffffff
00005eb3: AND
00005eb4: PUSH1 0xe0
00005eb6: SHL
00005eb7: DUP2
00005eb8: MSTORE
00005eb9: PUSH1 0x04
00005ebb: ADD
00005ebc: PUSH0
00005ebd: PUSH1 0x40
00005ebf: MLOAD
00005ec0: DUP1
00005ec1: DUP4
00005ec2: SUB
00005ec3: DUP2
00005ec4: DUP6
00005ec5: DUP9
00005ec6: DUP1
00005ec7: EXTCODESIZE
00005ec8: ISZERO
00005ec9: DUP1
00005eca: ISZERO
00005ecb: PUSH1 0xb3
00005ecd: JUMPI
00005ece: PUSH0
00005ecf: DUP1
00005ed0: REVERT
00005ed1: JUMPDEST
00005ed2: POP
00005ed3: GAS
00005ed4: CALL
00005ed5: ISZERO
00005ed6: DUP1
00005ed7: ISZERO
00005ed8: PUSH1 0xc4
00005eda: JUMPI
00005edb: RETURNDATASIZE
00005edc: PUSH0
00005edd: DUP1
00005ede: RETURNDATACOPY
00005edf: RETURNDATASIZE
00005ee0: PUSH0
00005ee1: REVERT
00005ee2: JUMPDEST
00005ee3: POP
00005ee4: POP
00005ee5: POP
00005ee6: POP
00005ee7: POP
00005ee8: JUMP
00005ee9: INVALID
00005eea: LOG2
00005eeb: PUSH5 0x6970667358
00005ef1: UNKNOWN(0x22)
00005ef2: SLT
00005ef3: KECCAK256
00005ef4: PUSH20 0xe318f0585ea29532d9162315f584cdbb9463629b
00005f09: SELFBALANCE
00005f0a: PUSH7 0x755e4ab5eeed5b
00005f12: UNKNOWN(0xB7)
00005f13: EXTCODESIZE
00005f14: PUSH5 0x736f6c6343
00005f1a: STOP
00005f1b: ADDMOD
00005f1c: BYTE
00005f1d: STOP
00005f1e: CALLER
00005f1f: SWAP1
00005f20: DELEGATECALL
00005f21: PUSH1 0x99
00005f23: PUSH20 0x3ed637df811df4fcc5cae4961192ca04f36da9ab
00005f38: PUSH5 0xb4dd8dc9b7
00005f3e: CREATE2
00005f3f: UNKNOWN(0xFB)
00005f40: UNKNOWN(0xDE)
00005f41: PUSH26 0x7d201c681b91056529119e0b02407c7bb96a4a2c75c01fc96672
00005f5c: ORIGIN
00005f5d: UNKNOWN(0xC8)
00005f5e: UNKNOWN(0xDB)
00005f5f: UNKNOWN(0x23)
00005f60: UNKNOWN(0xAD)
00005f61: CALLER
00005f62: UNKNOWN(0xAB)
00005f63: PUSH11 0x13a00aa7d06cd167b2abd0
00005f6f: RETURNDATASIZE
00005f70: UNKNOWN(0xEC)
00005f71: DUP7
00005f72: UNKNOWN(0xAF)
00005f73: EXTCODECOPY
00005f74: RETURN
00005f75: UNKNOWN(0xCC)
00005f76: SWAP2
00005f77: PUSH22 0x9dcd3ae8411887dcbc1c05240f31ff3ad067ef1ee35c
00005f8e: UNKNOWN(0xE4)
00005f8f: SWAP10
00005f90: PUSH24 0x62752e3a095284754544f4c709d7f93f9a76c1bf3444d224
00005fa9: STOP
00005faa: LOG0
00005fab: UNKNOWN(0x0C)
00005fac: UNKNOWN(0xB9)
00005fad: INVALID
00005fae: SWAP10
00005faf: UNKNOWN(0x0E)
00005fb0: PUSH11 0xbe9dbb333fda48859cfee8
00005fbc: PUSH5 0x543da26469
00005fc2: PUSH17 0x667358221220f54c2652f961e5ec47149c
00005fd4: SWAP12
00005fd5: UNKNOWN(0xC4)
00005fd6: SSTORE
00005fd7: PUSH19 0xe2176502c0ca027b1f4eab0148986eed0e6473
00005feb: PUSH16

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0aebeb4e",
            "selector": "0x0aebeb4e",
            "calldata_variants": [
                "0x0aebeb4e",
                "0x0aebeb4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c2b5b91",
            "selector": "0x0c2b5b91",
            "calldata_variants": [
                "0x0c2b5b91",
                "0x0c2b5b910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 24412,
            "type": "tx_origin_used"
        }
    ]
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x45cfef2babe757146e9024df4131dd986d7ed943a47a36afaba0fc37ad95e185
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x45cfef2babe757146e9024df4131dd986d7ed943a47a36afaba0fc37ad95e185",
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0aebeb4e",
            "selector": "0x0aebeb4e",
            "calldata_variants": [
                "0x0aebeb4e",
                "0x0aebeb4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c2b5b91",
            "selector": "0x0c2b5b91",
            "calldata_variants": [
                "0x0c2b5b91",
                "0x0c2b5b910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 24352,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 24412,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high math codex HighWaterMark initialized with underlying decimals triggers performance fees immediately for <18-decimal assets 85 no
view
evidence_json
{
    "evidence": "Vault.initialize passes IERC20Metadata(underlying).decimals() into __FeeManager_init; __FeeManager_init sets highWaterMark = 10**_decimals; ERC7540 sets share decimals to 18 when underlying decimals < 18.",
    "locations": [
        "contracts/src/v0.5.0/Vault.sol:116",
        "contracts/src/v0.5.0/Vault.sol:120",
        "contracts/src/v0.5.0/FeeManager.sol:83",
        "contracts/src/v0.5.0/ERC7540.sol:119"
    ],
    "recommendation": "Initialize highWaterMark using share decimals (decimals()) instead of underlying decimals, or scale by decimalsOffset so that the high-water mark matches the share price scale.",
    "exploit_scenario": "For an underlying like USDC (6 decimals), ERC7540 sets share decimals to 18, but Vault.initialize passes the underlying decimals into __FeeManager_init, which sets highWaterMark = 10**6. On the first fee calculation, pricePerShare (~1e18) is far above highWaterMark, so performance fees are charged even with zero performance. This mints a large portion of shares to feeReceiver/protocol, diluting users."
}
high math codex Uninitialized lastFeeTime causes excessive management fees and can brick first settlement 85 no
view
evidence_json
{
    "evidence": "__FeeManager_init does not set lastFeeTime, but _calculateFees uses block.timestamp - lastFeeTime and subtracts managementFees from _totalAssets when computing pricePerShare/totalShares.",
    "locations": [
        "contracts/src/v0.5.0/FeeManager.sol:62",
        "contracts/src/v0.5.0/FeeManager.sol:185",
        "contracts/src/v0.5.0/FeeManager.sol:190",
        "contracts/src/v0.5.0/FeeManager.sol:206"
    ],
    "recommendation": "Initialize lastFeeTime to block.timestamp in __FeeManager_init (or skip fee accrual on the first update) and guard against managementFees > totalAssets before subtracting.",
    "exploit_scenario": "On a fresh deployment, lastFeeTime defaults to 0. The first settleDeposit/settleRedeem/close calls _takeFees, which computes timeElapsed = block.timestamp - 0 (decades). With common management rates (>~1.85%), managementFees exceed totalAssets, causing underflow in pricePerShare and totalShares calculations and reverting. This prevents any settlement/close. If the rate is lower, a huge multi-decade fee is still minted to feeReceiver/protocol, severely diluting depositors."
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xe912168da508297a535017bd87252bebaa39f7151cc0ee6988d46052ddde4027
call_targets: 0xe50554ec802375c9c3f9c087a8a7bb8c26d3dedf
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe912168da508297a535017bd87252bebaa39f7151cc0ee6988d46052ddde4027",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe50554ec802375c9c3f9c087a8a7bb8c26d3dedf"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0aebeb4e",
            "selector": "0x0aebeb4e",
            "calldata_variants": [
                "0x0aebeb4e",
                "0x0aebeb4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c2b5b91",
            "selector": "0x0c2b5b91",
            "calldata_variants": [
                "0x0c2b5b91",
                "0x0c2b5b910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9629,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 15306,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 19685,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": [
        {
            "pc": 24412,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xb57719399938c2e71805f469094775b503cf5f1d7aba48128f8b3423663eb38b
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xb57719399938c2e71805f469094775b503cf5f1d7aba48128f8b3423663eb38b",
    "confirmed": false,
    "trace_mode": "structLogs",
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0aebeb4e",
            "selector": "0x0aebeb4e",
            "calldata_variants": [
                "0x0aebeb4e",
                "0x0aebeb4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c2b5b91",
            "selector": "0x0c2b5b91",
            "calldata_variants": [
                "0x0c2b5b91",
                "0x0c2b5b910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xe912168da508297a535017bd87252bebaa39f7151cc0ee6988d46052ddde4027
call_targets: 0xe50554ec802375c9c3f9c087a8a7bb8c26d3dedf
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xe912168da508297a535017bd87252bebaa39f7151cc0ee6988d46052ddde4027",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe50554ec802375c9c3f9c087a8a7bb8c26d3dedf"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0aebeb4e",
            "selector": "0x0aebeb4e",
            "calldata_variants": [
                "0x0aebeb4e",
                "0x0aebeb4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c2b5b91",
            "selector": "0x0c2b5b91",
            "calldata_variants": [
                "0x0c2b5b91",
                "0x0c2b5b910000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9629,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 15306,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 19685,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [
        {
            "pc": 24412,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 6
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 1
}
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": 15
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 9
}