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

Analysis Run

39e8c34e-b418-47e4-a6fc-e194e181a094

failed
Chain ID
1
Address
Block Number
Created
Sun, Jan 4, 2026 6:14 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31575 report.consolidate complete 1 / 1 3 months ago
78077 artifact.fetch failed 1 / 3 1 week ago
78078 tool.cast_disasm complete 1 / 3 1 week ago
78079 analysis.bundle complete 1 / 3 1 week ago
78080 capability.graph complete 1 / 3 1 week ago
78081 detector.run complete 1 / 3 1 week ago
78082 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
0
No findings?
yes
Summary
No concrete, exploitable profit paths to extract ETH/tokens/NFTs were identified in the provided contracts.
View stderr
[codex:1161355] OpenAI Codex v0.77.0 (research preview)
[codex:1161355] --------
[codex:1161355] workdir: /tmp/codex-multi-xfjhqe_9
[codex:1161355] model: gpt-5.2-codex
[codex:1161355] provider: openai
[codex:1161355] approval: never
[codex:1161355] sandbox: read-only
[codex:1161355] reasoning effort: xhigh
[codex:1161355] reasoning summaries: auto
[codex:1161355] session id: 019b8799-e591-7fc0-8a06-076d82c27579
[codex:1161355] --------
[codex:1161355] user
[codex:1161355] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1161355] 
[codex:1161355] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1161355] 
[codex:1161355] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1161355] - Gas inefficiency, code quality, naming, or best practices
[codex:1161355] - Theoretical vulnerabilities without a clear extraction path
[codex:1161355] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1161355] - Front-running unless it enables theft beyond MEV
[codex:1161355] - DoS, griefing, or issues that don't result in attacker profit
[codex:1161355] - Missing events, view function issues, or informational findings
[codex:1161355] 
[codex:1161355] HIGH-VALUE PATTERNS TO HUNT:
[codex:1161355] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1161355] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1161355] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1161355] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1161355] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1161355] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1161355] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1161355] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1161355] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1161355] 
[codex:1161355] For each finding, you MUST provide:
[codex:1161355] 1. Exact file and line numbers of vulnerable code
[codex:1161355] 2. Step-by-step exploit transaction sequence
[codex:1161355] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1161355] 
[codex:1161355] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1161355] 
[codex:1161355] Output MUST be valid JSON matching the provided schema.
[codex:1161355] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1161355] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1161355] mcp startup: no servers
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Reading AUDIT_BUNDLE file**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc ls in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355] AUDIT_BUNDLE.txt
[codex:1161355] codex-output-schema.json
[codex:1161355] contracts
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'rg --files' in /tmp/codex-multi-xfjhqe_9 succeeded in 10ms:
[codex:1161355] codex-output-schema.json
[codex:1161355] AUDIT_BUNDLE.txt
[codex:1161355] contracts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol
[codex:1161355] contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
[codex:1161355] contracts/contracts/interfaces/IVaultOsToken.sol
[codex:1161355] contracts/contracts/interfaces/IVaultAdmin.sol
[codex:1161355] contracts/contracts/interfaces/IKeeperRewards.sol
[codex:1161355] contracts/contracts/interfaces/IVaultEthStaking.sol
[codex:1161355] contracts/contracts/interfaces/IVaultsRegistry.sol
[codex:1161355] contracts/contracts/interfaces/IVaultVersion.sol
[codex:1161355] contracts/contracts/interfaces/IVaultEnterExit.sol
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol
[codex:1161355] contracts/contracts/interfaces/IKeeperOracles.sol
[codex:1161355] contracts/contracts/interfaces/IEthVault.sol
[codex:1161355] contracts/contracts/interfaces/IValidatorsRegistry.sol
[codex:1161355] contracts/contracts/interfaces/IKeeperValidators.sol
[codex:1161355] contracts/contracts/interfaces/IVaultValidators.sol
[codex:1161355] contracts/contracts/interfaces/ISharedMevEscrow.sol
[codex:1161355] contracts/contracts/interfaces/IMulticall.sol
[codex:1161355] contracts/contracts/interfaces/IOsTokenVaultController.sol
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Reading AUDIT_BUNDLE**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1161355] 
[codex:1161355] ================================================================================
[codex:1161355] FILE: contracts/contracts/base/Multicall.sol
[codex:1161355] ================================================================================
[codex:1161355] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import '../interfaces/IMulticall.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title Multicall
[codex:1161355]  * @author Uniswap
[codex:1161355]  * @notice Adopted from https://github.com/Uniswap/v3-periphery/blob/1d69caf0d6c8cfeae9acd1f34ead30018d6e6400/contracts/base/Multicall.sol
[codex:1161355]  * @notice Enables calling multiple methods in a single call to the contract
[codex:1161355]  */
[codex:1161355] abstract contract Multicall is IMulticall {
[codex:1161355]   /// @inheritdoc IMulticall
[codex:1161355]   function multicall(bytes[] calldata data) external override returns (bytes[] memory results) {
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Preparing to analyze contract vulnerabilities**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'rg -n "contract EthVault|function|withdraw|exit|mint|deposit" contracts/contracts/vaults/ethereum/EthVault.sol' in /tmp/codex-multi-xfjhqe_9 succeeded in 12ms:
[codex:1161355] 26:contract EthVault is
[codex:1161355] 53:   * @param depositDataRegistry The address of the DepositDataRegistry contract
[codex:1161355] 54:   * @param exitingAssetsClaimDelay The delay after which the assets can be claimed after exiting from staking
[codex:1161355] 64:    address depositDataRegistry,
[codex:1161355] 65:    uint256 exitingAssetsClaimDelay
[codex:1161355] 68:    VaultValidators(depositDataRegistry)
[codex:1161355] 69:    VaultEnterExit(exitingAssetsClaimDelay)
[codex:1161355] 77:  function initialize(
[codex:1161355] 94:  function depositAndMintOsToken(
[codex:1161355] 99:    deposit(msg.sender, referrer);
[codex:1161355] 101:      // mint max OsToken shares based on the deposited amount
[codex:1161355] 104:    mintOsToken(receiver, osTokenShares, referrer);
[codex:1161355] 109:  function updateStateAndDepositAndMintOsToken(
[codex:1161355] 116:    return depositAndMintOsToken(receiver, osTokenShares, referrer);
[codex:1161355] 120:  function enterExitQueue(
[codex:1161355] 133:  function vaultId() public pure virtual override(IVaultVersion, VaultVersion) returns (bytes32) {
[codex:1161355] 138:  function version() public pure virtual override(IVaultVersion, VaultVersion) returns (uint8) {
[codex:1161355] 148:  function __EthVault_init(
[codex:1161355] 165:  function __EthVault_initV2() internal onlyInitializing {
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vaults/ethereum/EthVault.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 7ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {IEthVault} from '../../interfaces/IEthVault.sol';
[codex:1161355] import {IEthVaultFactory} from '../../interfaces/IEthVaultFactory.sol';
[codex:1161355] import {IKeeperRewards} from '../../interfaces/IKeeperRewards.sol';
[codex:1161355] import {Multicall} from '../../base/Multicall.sol';
[codex:1161355] import {VaultValidators} from '../modules/VaultValidators.sol';
[codex:1161355] import {VaultAdmin} from '../modules/VaultAdmin.sol';
[codex:1161355] import {VaultFee} from '../modules/VaultFee.sol';
[codex:1161355] import {VaultVersion, IVaultVersion} from '../modules/VaultVersion.sol';
[codex:1161355] import {VaultImmutables} from '../modules/VaultImmutables.sol';
[codex:1161355] import {VaultState} from '../modules/VaultState.sol';
[codex:1161355] import {VaultEnterExit, IVaultEnterExit} from '../modules/VaultEnterExit.sol';
[codex:1161355] import {VaultOsToken} from '../modules/VaultOsToken.sol';
[codex:1161355] import {VaultEthStaking} from '../modules/VaultEthStaking.sol';
[codex:1161355] import {VaultMev} from '../modules/VaultMev.sol';
[codex:1161355] 
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Investigating deposit and withdrawal modules**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,240p' contracts/contracts/vaults/modules/VaultEnterExit.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {SafeCast} from '@openzeppelin/contracts/utils/math/SafeCast.sol';
[codex:1161355] import {Math} from '@openzeppelin/contracts/utils/math/Math.sol';
[codex:1161355] import {IKeeperRewards} from '../../interfaces/IKeeperRewards.sol';
[codex:1161355] import {IVaultEnterExit} from '../../interfaces/IVaultEnterExit.sol';
[codex:1161355] import {ExitQueue} from '../../libraries/ExitQueue.sol';
[codex:1161355] import {Errors} from '../../libraries/Errors.sol';
[codex:1161355] import {VaultImmutables} from './VaultImmutables.sol';
[codex:1161355] import {VaultState} from './VaultState.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultEnterExit
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the functionality for entering and exiting the Vault
[codex:1161355]  */
[codex:1161355] abstract contract VaultEnterExit is VaultImmutables, Initializable, VaultState, IVaultEnterExit {
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '240,520p' contracts/contracts/vaults/modules/VaultEnterExit.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355]     // calculate available assets
[codex:1161355]     uint256 availableAssets = _vaultAssets() - _unclaimedAssets;
[codex:1161355]     uint256 queuedAssets = convertToAssets(queuedShares);
[codex:1161355]     if (queuedAssets > 0) {
[codex:1161355]       unchecked {
[codex:1161355]         // cannot underflow as availableAssets >= queuedV1Assets
[codex:1161355]         availableAssets = availableAssets > queuedAssets ? availableAssets - queuedAssets : 0;
[codex:1161355]       }
[codex:1161355]     }
[codex:1161355]     if (availableAssets == 0) return 0;
[codex:1161355] 
[codex:1161355]     // calculate number of tickets that can be withdrawn based on available assets
[codex:1161355]     return _convertAssetsToExitTickets(Math.min(availableAssets, totalExitingAssets));
[codex:1161355]   }
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355]    * @dev Internal function for transferring assets from the Vault to the receiver
[codex:1161355]    * @dev IMPORTANT: because control is transferred to the receiver, care must be
[codex:1161355]    *    taken to not create reentrancy vulnerabilities. The Vault must follow the checks-effects-interactions pattern:
[codex:1161355]    *    https://docs.soliditylang.org/en/v0.8.22/security-considerations.html#use-the-checks-effects-interactions-pattern
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Reviewing _transferVaultAssets function**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,260p' contracts/contracts/vaults/modules/VaultEthStaking.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {ReentrancyGuardUpgradeable} from '@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol';
[codex:1161355] import {Address} from '@openzeppelin/contracts/utils/Address.sol';
[codex:1161355] import {IEthValidatorsRegistry} from '../../interfaces/IEthValidatorsRegistry.sol';
[codex:1161355] import {IKeeperRewards} from '../../interfaces/IKeeperRewards.sol';
[codex:1161355] import {IVaultEthStaking} from '../../interfaces/IVaultEthStaking.sol';
[codex:1161355] import {Errors} from '../../libraries/Errors.sol';
[codex:1161355] import {VaultValidators} from './VaultValidators.sol';
[codex:1161355] import {VaultState} from './VaultState.sol';
[codex:1161355] import {VaultEnterExit} from './VaultEnterExit.sol';
[codex:1161355] import {VaultMev} from './VaultMev.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultEthStaking
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the Ethereum staking functionality for the Vault
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Verifying reentrancy protections and state updates**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,260p' contracts/contracts/vaults/modules/VaultOsToken.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Math} from '@openzeppelin/contracts/utils/math/Math.sol';
[codex:1161355] import {SafeCast} from '@openzeppelin/contracts/utils/math/SafeCast.sol';
[codex:1161355] import {IOsTokenVaultController} from '../../interfaces/IOsTokenVaultController.sol';
[codex:1161355] import {IOsTokenConfig} from '../../interfaces/IOsTokenConfig.sol';
[codex:1161355] import {IVaultOsToken} from '../../interfaces/IVaultOsToken.sol';
[codex:1161355] import {Errors} from '../../libraries/Errors.sol';
[codex:1161355] import {VaultImmutables} from './VaultImmutables.sol';
[codex:1161355] import {VaultEnterExit, IVaultEnterExit} from './VaultEnterExit.sol';
[codex:1161355] import {VaultState} from './VaultState.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultOsToken
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the functionality for minting OsToken
[codex:1161355]  */
[codex:1161355] abstract contract VaultOsToken is VaultImmutables, VaultState, VaultEnterExit, IVaultOsToken {
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '260,520p' contracts/contracts/vaults/modules/VaultOsToken.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355]   function _checkOsTokenPosition(address user) internal view {
[codex:1161355]     // fetch user position
[codex:1161355]     OsTokenPosition memory position = _positions[user];
[codex:1161355]     if (position.shares == 0) return;
[codex:1161355] 
[codex:1161355]     // check whether vault assets are up to date
[codex:1161355]     _checkHarvested();
[codex:1161355] 
[codex:1161355]     // sync fee
[codex:1161355]     _syncPositionFee(position);
[codex:1161355] 
[codex:1161355]     // calculate and validate position LTV
[codex:1161355]     if (_calcMaxOsTokenShares(convertToAssets(_balances[user])) < position.shares) {
[codex:1161355]       revert Errors.LowLtv();
[codex:1161355]     }
[codex:1161355]   }
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355]    * @dev Internal function for calculating the maximum amount of osToken shares that can be minted
[codex:1161355]    * @param assets The amount of assets to convert to osToken shares
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing token minting and redemption logic**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,260p' contracts/contracts/vaults/modules/VaultState.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {SafeCast} from '@openzeppelin/contracts/utils/math/SafeCast.sol';
[codex:1161355] import {Math} from '@openzeppelin/contracts/utils/math/Math.sol';
[codex:1161355] import {IVaultState} from '../../interfaces/IVaultState.sol';
[codex:1161355] import {IKeeperRewards} from '../../interfaces/IKeeperRewards.sol';
[codex:1161355] import {ExitQueue} from '../../libraries/ExitQueue.sol';
[codex:1161355] import {Errors} from '../../libraries/Errors.sol';
[codex:1161355] import {VaultImmutables} from './VaultImmutables.sol';
[codex:1161355] import {VaultFee} from './VaultFee.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultState
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines Vault's state manipulation
[codex:1161355]  */
[codex:1161355] abstract contract VaultState is VaultImmutables, Initializable, VaultFee, IVaultState {
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Checking Vault-related components**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vaults/modules/VaultAdmin.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {IVaultAdmin} from '../../interfaces/IVaultAdmin.sol';
[codex:1161355] import {Errors} from '../../libraries/Errors.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultAdmin
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the admin functionality for the Vault
[codex:1161355]  */
[codex:1161355] abstract contract VaultAdmin is Initializable, IVaultAdmin {
[codex:1161355]   /// @inheritdoc IVaultAdmin
[codex:1161355]   address public override admin;
[codex:1161355] 
[codex:1161355]   /// @inheritdoc IVaultAdmin
[codex:1161355]   function setMetadata(string calldata metadataIpfsHash) external override {
[codex:1161355]     _checkAdmin();
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Noting VaultAdmin metadata role**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vaults/modules/VaultFee.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {IVaultFee} from '../../interfaces/IVaultFee.sol';
[codex:1161355] import {IKeeperRewards} from '../../interfaces/IKeeperRewards.sol';
[codex:1161355] import {Errors} from '../../libraries/Errors.sol';
[codex:1161355] import {VaultAdmin} from './VaultAdmin.sol';
[codex:1161355] import {VaultImmutables} from './VaultImmutables.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultFee
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the fee functionality for the Vault
[codex:1161355]  */
[codex:1161355] abstract contract VaultFee is VaultImmutables, Initializable, VaultAdmin, IVaultFee {
[codex:1161355]   uint256 internal constant _maxFeePercent = 10_000; // @dev 100.00 %
[codex:1161355] 
[codex:1161355]   /// @inheritdoc IVaultFee
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Considering VaultMev reference**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,260p' contracts/contracts/vaults/modules/VaultMev.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {IKeeperRewards} from '../../interfaces/IKeeperRewards.sol';
[codex:1161355] import {ISharedMevEscrow} from '../../interfaces/ISharedMevEscrow.sol';
[codex:1161355] import {IOwnMevEscrow} from '../../interfaces/IOwnMevEscrow.sol';
[codex:1161355] import {IVaultMev} from '../../interfaces/IVaultMev.sol';
[codex:1161355] import {VaultState} from './VaultState.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultMev
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the Vaults' MEV functionality
[codex:1161355]  */
[codex:1161355] abstract contract VaultMev is Initializable, VaultState, IVaultMev {
[codex:1161355]   /// @custom:oz-upgrades-unsafe-allow state-variable-immutable
[codex:1161355]   address private immutable _sharedMevEscrow;
[codex:1161355]   address private _ownMevEscrow;
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Checking VaultImmutables**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vaults/modules/VaultImmutables.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {IKeeperRewards} from '../../interfaces/IKeeperRewards.sol';
[codex:1161355] import {Errors} from '../../libraries/Errors.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title VaultImmutables
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the Vault common immutable variables
[codex:1161355]  */
[codex:1161355] abstract contract VaultImmutables {
[codex:1161355]   /// @custom:oz-upgrades-unsafe-allow state-variable-immutable
[codex:1161355]   address internal immutable _keeper;
[codex:1161355] 
[codex:1161355]   /// @custom:oz-upgrades-unsafe-allow state-variable-immutable
[codex:1161355]   address internal immutable _vaultsRegistry;
[codex:1161355] 
[codex:1161355]   /// @custom:oz-upgrades-unsafe-allow state-variable-immutable
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Checking class inheritance**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vaults/ethereum/EthPrivVault.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Initializable} from '@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol';
[codex:1161355] import {IEthPrivVault} from '../../interfaces/IEthPrivVault.sol';
[codex:1161355] import {IEthVaultFactory} from '../../interfaces/IEthVaultFactory.sol';
[codex:1161355] import {VaultEthStaking, IVaultEthStaking} from '../modules/VaultEthStaking.sol';
[codex:1161355] import {VaultOsToken, IVaultOsToken} from '../modules/VaultOsToken.sol';
[codex:1161355] import {VaultWhitelist} from '../modules/VaultWhitelist.sol';
[codex:1161355] import {IVaultVersion} from '../modules/VaultVersion.sol';
[codex:1161355] import {EthVault, IEthVault} from './EthVault.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title EthPrivVault
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the Ethereum staking Vault with whitelist
[codex:1161355]  */
[codex:1161355] contract EthPrivVault is Initializable, EthVault, VaultWhitelist, IEthPrivVault {
[codex:1161355]   // slither-disable-next-line shadowing-state
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing signature replay risk in validator registration**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'rg -n "KeeperValidators|approveValidators|validatorsRegistryRoot|register" -S contracts/contracts' in /tmp/codex-multi-xfjhqe_9 succeeded in 9ms:
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:5:import {IKeeperValidators} from './IKeeperValidators.sol';
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:33:   * @param validatorIndex The index of the next validator to be registered
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:46:   * @return validatorIndex The index of the next validator to be registered
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:79:   * @notice Updates the vault state. Can be used in multicall to update state and register validator(s).
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:89:   * @notice Function for registering single validator
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:94:  function registerValidator(
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:96:    IKeeperValidators.ApprovalParams calldata keeperParams,
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:101:   * @notice Function for registering multiple validators
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:108:  function registerValidators(
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:110:    IKeeperValidators.ApprovalParams calldata keeperParams,
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol:119:   * @param validatorIndex The current index of the next validator to be registered
[codex:1161355] contracts/contracts/interfaces/IKeeperRewards.sol:174:   * @notice Checks whether the Vault has registered validators
[codex:1161355] contracts/contracts/interfaces/IOsTokenVaultController.sol:135:   * @notice Mint OsToken shares. Can only be called by the registered vault.
[codex:1161355] contracts/contracts/interfaces/IOsTokenVaultController.sol:143:   * @notice Burn shares for withdrawn assets. Can only be called by the registered vault.
[codex:1161355] contracts/contracts/interfaces/IKeeperOracles.sol:32:   * @notice Function for verifying whether oracle is registered or not
[codex:1161355] contracts/contracts/interfaces/IKeeperOracles.sol:34:   * @return `true` for the registered oracle, `false` otherwise
[codex:1161355] contracts/contracts/interfaces/IKeeperOracles.sol:40:   * @return The total number of oracles registered
[codex:1161355] contracts/contracts/interfaces/IKeeperValidators.sol:9: * @title IKeeperValidators
[codex:1161355] contracts/contracts/interfaces/IKeeperValidators.sol:13:interface IKeeperValidators is IKeeperOracles, IKeeperRewards {
[codex:1161355] contracts/contracts/interfaces/IKeeperValidators.sol:50:   * @param validatorsRegistryRoot The deposit data root used to verify that oracles approved validators
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Evaluating external dependencies and potential vulnerabilities**
[codex:1161355] 
[codex:1161355] I'm reviewing how this contract relies on external Keeper validators and handling trusted libraries like OpenZeppelin, verifying assumptions. I'm inspecting possible exploit paths like reentrancy, share inflation, rounding errors, and access controls—especially around initialization, upgrades, and exit queues—to identify any edge cases that might enable profit or denial of service. There's a lot here about how shares and assets interact, so I'll keep digging into the exit queue logic next.
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,240p' contracts/contracts/libraries/ExitQueue.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {Math} from '@openzeppelin/contracts/utils/math/Math.sol';
[codex:1161355] import {SafeCast} from '@openzeppelin/contracts/utils/math/SafeCast.sol';
[codex:1161355] import {Errors} from './Errors.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title ExitQueue
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice ExitQueue represent checkpoints of burned shares and exited assets
[codex:1161355]  */
[codex:1161355] library ExitQueue {
[codex:1161355]   /**
[codex:1161355]    * @notice A struct containing checkpoint data
[codex:1161355]    * @param totalTickets The cumulative number of tickets (shares) exited
[codex:1161355]    * @param exitedAssets The number of assets that exited in this checkpoint
[codex:1161355]    */
[codex:1161355]   struct Checkpoint {
[codex:1161355] 
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing vault asset calculations and potential rounding edge cases**
[codex:1161355] 
[codex:1161355] I'm carefully examining how checkpoint indexes, position tickets, and asset ratios interact to prevent exploits, especially around rounding in share minting and exit calculations. I'm also exploring if self-liquidation or forced ETH transfers could yield profit or manipulation opportunities, and checking the integrity of health factor checks and permissioned calls to spot subtle vulnerabilities. There is a lot here involving timing and rounding nuances that might affect vault asset accounting or liquidation fairness.
[codex:1161355] thinking
[codex:1161355] **Verifying deposit timing against MEV reward updates**
[codex:1161355] 
[codex:1161355] I'm investigating how the system blocks deposits when harvests are pending, especially regarding MEV escrow ETH transfers that may add funds without immediately updating the vault’s accounting. The key question is whether deposits can sneak in before `_totalAssets` reflects these added rewards, potentially allowing share minting at a stale price. The interplay between keeper’s `isHarvestRequired` and MEV escrow timings is subtle and important here.
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/interfaces/ISharedMevEscrow.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title ISharedMevEscrow
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the interface for the SharedMevEscrow contract
[codex:1161355]  */
[codex:1161355] interface ISharedMevEscrow {
[codex:1161355]   /**
[codex:1161355]    * @notice Event emitted on received MEV
[codex:1161355]    * @param assets The amount of MEV assets received
[codex:1161355]    */
[codex:1161355]   event MevReceived(uint256 assets);
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355]    * @notice Event emitted on harvest
[codex:1161355]    * @param caller The function caller
[codex:1161355]    * @param assets The amount of assets withdrawn
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/interfaces/IOwnMevEscrow.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title IOwnMevEscrow
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the interface for the OwnMevEscrow contract
[codex:1161355]  */
[codex:1161355] interface IOwnMevEscrow {
[codex:1161355]   /**
[codex:1161355]    * @notice Event emitted on received MEV
[codex:1161355]    * @param assets The amount of MEV assets received
[codex:1161355]    */
[codex:1161355]   event MevReceived(uint256 assets);
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355]    * @notice Event emitted on harvest
[codex:1161355]    * @param assets The amount of assets withdrawn
[codex:1161355]    */
[codex:1161355] 
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing vault and escrow ETH flow and reentrancy risks**
[codex:1161355] 
[codex:1161355] There's a lot going on with how the MEV escrow sends ETH to the vault, especially distinguishing between the vault’s receive() fallback and the receiveFromMevEscrow() method to avoid unintended share minting. I'm digging into potential reentrancy vulnerabilities, notably around minting shares and exiting the vault, checking if external calls to trusted controllers could be dangerous. The exit queue and claim logic seem carefully designed to prevent double claims despite reentrancy risks, but I'm verifying edge cases with state updates and external calls to be sure no exploitable paths arise. Additionally, I'm investigating the validator registration process and signature validation to confirm assets and withdrawal credentials are handled safely and that no replay or impersonation issues exist. Overall, I’m piecing together the complex flow to understand if vault accounting correctly reflects the actual ETH state and if contract interactions maintain security guarantees.
[codex:1161355] thinking
[codex:1161355] **Examining fee syncing and MEV reward accounting**
[codex:1161355] 
[codex:1161355] I'm exploring how fee synchronization updates position shares only in memory and doesn't persist immediately, which seems intentional but worth noting. There's a question about whether MEV rewards from shared escrow properly update the vault’s total assets since `_harvestAssets` doesn’t add unlocked MEV delta separately—I'm trying to confirm if the keeper’s reported `totalAssetsDelta` already includes those MEV rewards to avoid double counting. This matters because if the ETH is in the vault but `_totalAssets` isn’t increased accordingly, it could lead to discrepancies affecting shares or withdrawable assets. I'm also checking how initial vault deposits by itself (like security deposits) mint shares and the implications of that. Overall, I’m piecing together if asset accounting around MEV and fees aligns correctly across the system.
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'rg -n "function harvest" -n contracts/contracts/interfaces/IKeeperRewards.sol' in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355] 193:  function harvest(
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '150,230p' contracts/contracts/interfaces/IKeeperRewards.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355]    */
[codex:1161355]   function unlockedMevRewards(address vault) external view returns (uint192 assets, uint64 nonce);
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355]    * @notice Checks whether Vault must be harvested
[codex:1161355]    * @param vault The address of the Vault
[codex:1161355]    * @return `true` if the Vault requires harvesting, `false` otherwise
[codex:1161355]    */
[codex:1161355]   function isHarvestRequired(address vault) external view returns (bool);
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355]    * @notice Checks whether the Vault can be harvested
[codex:1161355]    * @param vault The address of the Vault
[codex:1161355]    * @return `true` if Vault can be harvested, `false` otherwise
[codex:1161355]    */
[codex:1161355]   function canHarvest(address vault) external view returns (bool);
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355]    * @notice Checks whether rewards can be updated
[codex:1161355]    * @return `true` if rewards can be updated, `false` otherwise
[codex:1161355] 
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing MEV reward accounting and upgrade logic**
[codex:1161355] thinking
[codex:1161355] **Reviewing external calls and permission assumptions**
[codex:1161355] 
[codex:1161355] I'll consider if attackers could supply malicious escrow addresses by deploying their own vaults, but that wouldn't affect existing vaults’ assets. Also, I'll think about permissions around registerValidators and whether external contracts trusted in the system could be exploited to trigger vault operations, though this seems unlikely. Overall, I want to confirm there’s no way to profit from existing vault assets through these paths.
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'rg --files contracts/contracts' in /tmp/codex-multi-xfjhqe_9 succeeded in 10ms:
[codex:1161355] contracts/contracts/interfaces/IEthValidatorsRegistry.sol
[codex:1161355] contracts/contracts/interfaces/IEthPrivVault.sol
[codex:1161355] contracts/contracts/interfaces/IVaultOsToken.sol
[codex:1161355] contracts/contracts/interfaces/IVaultAdmin.sol
[codex:1161355] contracts/contracts/interfaces/IKeeperRewards.sol
[codex:1161355] contracts/contracts/interfaces/IVaultEthStaking.sol
[codex:1161355] contracts/contracts/interfaces/IVaultsRegistry.sol
[codex:1161355] contracts/contracts/interfaces/IVaultVersion.sol
[codex:1161355] contracts/contracts/interfaces/IVaultEnterExit.sol
[codex:1161355] contracts/contracts/interfaces/IDepositDataRegistry.sol
[codex:1161355] contracts/contracts/interfaces/IKeeperOracles.sol
[codex:1161355] contracts/contracts/interfaces/IEthVault.sol
[codex:1161355] contracts/contracts/interfaces/IValidatorsRegistry.sol
[codex:1161355] contracts/contracts/interfaces/IKeeperValidators.sol
[codex:1161355] contracts/contracts/interfaces/IVaultValidators.sol
[codex:1161355] contracts/contracts/interfaces/ISharedMevEscrow.sol
[codex:1161355] contracts/contracts/interfaces/IMulticall.sol
[codex:1161355] contracts/contracts/interfaces/IOsTokenVaultController.sol
[codex:1161355] contracts/contracts/interfaces/IVaultFee.sol
[codex:1161355] contracts/contracts/interfaces/IOwnMevEscrow.sol
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Checking Errors library for issues**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,200p' contracts/contracts/libraries/Errors.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title Errors
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Contains all the custom errors
[codex:1161355]  */
[codex:1161355] library Errors {
[codex:1161355]   error AccessDenied();
[codex:1161355]   error InvalidShares();
[codex:1161355]   error InvalidAssets();
[codex:1161355]   error ZeroAddress();
[codex:1161355]   error InsufficientAssets();
[codex:1161355]   error CapacityExceeded();
[codex:1161355]   error InvalidCapacity();
[codex:1161355]   error InvalidSecurityDeposit();
[codex:1161355]   error InvalidFeeRecipient();
[codex:1161355]   error InvalidFeePercent();
[codex:1161355] 
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing share rounding vulnerability**
[codex:1161355] 
[codex:1161355] I'm exploring if the vault’s use of rounding up when converting assets to shares could let a depositor exploit rounding differences to gain disproportionate shares. The case seems subtle: if the share price is above 1, depositing a small amount might mint 1 whole share, which could be worth more than the deposit, leading to a small profit. However, the profit looks limited to about one extra share worth roughly the current share price, and the dynamics of totalShares and totalAssets keep their ratio close to 1, limiting exploitation scope. Repeated tiny deposits might aggregate small profits, but substantial draining seems unlikely under normal vault conditions. Let's see if any other mechanics enable or prevent this.
[codex:1161355] thinking
[codex:1161355] **Confirming minimal vulnerabilities and output plan**
[codex:1161355] 
[codex:1161355] I'm concluding the rounding issue is negligible and other checks like LTV appear safe, with no obvious permit or missing code problems. To follow the user’s audit instructions carefully, I plan to confirm I've reviewed the entire audit bundle and then produce the required JSON output indicating no findings, adhering strictly to the user’s schema and requirements.
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Assessing potential vulnerabilities for exploitability**
[codex:1161355] 
[codex:1161355] I'm carefully reviewing different contract functions and scenarios to spot any exploitable profit paths, paying close attention to signature validation, reentrancy possibilities, state updates, and access controls; after detailed analysis, no concrete exploit path appears to exist, so I'll ensure the output JSON properly reflects that with no findings.
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/interfaces/IVaultEnterExit.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] import {IVaultState} from './IVaultState.sol';
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title IVaultEnterExit
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the interface for the VaultEnterExit contract
[codex:1161355]  */
[codex:1161355] interface IVaultEnterExit is IVaultState {
[codex:1161355]   /**
[codex:1161355]    * @notice Event emitted on deposit
[codex:1161355]    * @param caller The address that called the deposit function
[codex:1161355]    * @param receiver The address that received the shares
[codex:1161355]    * @param assets The number of assets deposited by the caller
[codex:1161355]    * @param shares The number of shares received
[codex:1161355]    * @param referrer The address of the referrer
[codex:1161355]    */
[codex:1161355] 
[codex:1161355] 
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing share rounding exploit possibility**
[codex:1161355] thinking
[codex:1161355] **Examining multicall delegatecall valuation inflation**
[codex:1161355] 
[codex:1161355] This is a detailed dive into how using delegatecall in multicall leads to repeated counting of the same ETH (msg.value) for multiple deposits, inflating shares and totalAssets without true ETH backing. I’m exploring how this mismatch could let an attacker mint outsized osToken collateral or shares, potentially extracting value by exploiting this accounting inconsistency. This definitely looks like a concrete profit path worth reporting!
[codex:1161355] thinking
[codex:1161355] **Detailing multicall msg.value reuse exploit with withdrawal impact**
[codex:1161355] 
[codex:1161355] I’m mapping out how calling multiple payable functions like deposit via multicall inflates shares beyond actual ETH sent, letting an attacker withdraw disproportionately large amounts by exploiting this msg.value reuse. This flaw effectively steals from honest vault users and is a high-severity profit path I’ll document with precise source lines.
[codex:1161355] exec
[codex:1161355] /bin/bash -lc 'nl -ba contracts/contracts/base/Multicall.sol' in /tmp/codex-multi-xfjhqe_9 succeeded in 5ms:
[codex:1161355]      1	// SPDX-License-Identifier: GPL-2.0-or-later
[codex:1161355]      2	
[codex:1161355]      3	pragma solidity ^0.8.22;
[codex:1161355]      4	
[codex:1161355]      5	import '../interfaces/IMulticall.sol';
[codex:1161355]      6	
[codex:1161355]      7	/**
[codex:1161355]      8	 * @title Multicall
[codex:1161355]      9	 * @author Uniswap
[codex:1161355]     10	 * @notice Adopted from https://github.com/Uniswap/v3-periphery/blob/1d69caf0d6c8cfeae9acd1f34ead30018d6e6400/contracts/base/Multicall.sol
[codex:1161355]     11	 * @notice Enables calling multiple methods in a single call to the contract
[codex:1161355]     12	 */
[codex:1161355]     13	abstract contract Multicall is IMulticall {
[codex:1161355]     14	  /// @inheritdoc IMulticall
[codex:1161355]     15	  function multicall(bytes[] calldata data) external override returns (bytes[] memory results) {
[codex:1161355]     16	    uint256 dataLength = data.length;
[codex:1161355]     17	    results = new bytes[](dataLength);
[codex:1161355]     18	    for (uint256 i = 0; i < dataLength; i++) {
[codex:1161355]     19	      (bool success, bytes memory result) = address(this).delegatecall(data[i]);
[codex:1161355]     20	
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Checking delegatecall and deposit function locations**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "nl -ba contracts/contracts/vaults/modules/VaultEthStaking.sol | sed -n '20,120p'" in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355]     20	 * @notice Defines the Ethereum staking functionality for the Vault
[codex:1161355]     21	 */
[codex:1161355]     22	abstract contract VaultEthStaking is
[codex:1161355]     23	  Initializable,
[codex:1161355]     24	  ReentrancyGuardUpgradeable,
[codex:1161355]     25	  VaultState,
[codex:1161355]     26	  VaultValidators,
[codex:1161355]     27	  VaultEnterExit,
[codex:1161355]     28	  VaultMev,
[codex:1161355]     29	  IVaultEthStaking
[codex:1161355]     30	{
[codex:1161355]     31	  uint256 private constant _securityDeposit = 1e9;
[codex:1161355]     32	
[codex:1161355]     33	  /// @inheritdoc IVaultEthStaking
[codex:1161355]     34	  function deposit(
[codex:1161355]     35	    address receiver,
[codex:1161355]     36	    address referrer
[codex:1161355]     37	  ) public payable virtual override returns (uint256 shares) {
[codex:1161355]     38	    return _deposit(receiver, msg.value, referrer);
[codex:1161355]     39	  }
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Checking depositAndMint usage in EthVault**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "nl -ba contracts/contracts/vaults/ethereum/EthVault.sol | sed -n '80,140p'" in /tmp/codex-multi-xfjhqe_9 succeeded in 6ms:
[codex:1161355]     80	    // if admin is already set, it's an upgrade
[codex:1161355]     81	    if (admin != address(0)) {
[codex:1161355]     82	      __EthVault_initV2();
[codex:1161355]     83	      return;
[codex:1161355]     84	    }
[codex:1161355]     85	    // initialize deployed vault
[codex:1161355]     86	    __EthVault_init(
[codex:1161355]     87	      IEthVaultFactory(msg.sender).vaultAdmin(),
[codex:1161355]     88	      IEthVaultFactory(msg.sender).ownMevEscrow(),
[codex:1161355]     89	      abi.decode(params, (EthVaultInitParams))
[codex:1161355]     90	    );
[codex:1161355]     91	  }
[codex:1161355]     92	
[codex:1161355]     93	  /// @inheritdoc IEthVault
[codex:1161355]     94	  function depositAndMintOsToken(
[codex:1161355]     95	    address receiver,
[codex:1161355]     96	    uint256 osTokenShares,
[codex:1161355]     97	    address referrer
[codex:1161355]     98	  ) public payable override returns (uint256) {
[codex:1161355]     99	    deposit(msg.sender, referrer);
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Analyzing multicall value reuse risk**
[codex:1161355] exec
[codex:1161355] /bin/bash -lc "sed -n '1,220p' contracts/contracts/interfaces/IOsTokenVaultController.sol" in /tmp/codex-multi-xfjhqe_9 succeeded in 8ms:
[codex:1161355] // SPDX-License-Identifier: BUSL-1.1
[codex:1161355] 
[codex:1161355] pragma solidity ^0.8.22;
[codex:1161355] 
[codex:1161355] /**
[codex:1161355]  * @title IOsTokenVaultController
[codex:1161355]  * @author StakeWise
[codex:1161355]  * @notice Defines the interface for the OsTokenVaultController contract
[codex:1161355]  */
[codex:1161355] interface IOsTokenVaultController {
[codex:1161355]   /**
[codex:1161355]    * @notice Event emitted on minting shares
[codex:1161355]    * @param vault The address of the Vault
[codex:1161355]    * @param receiver The address that received the shares
[codex:1161355]    * @param assets The number of assets collateralized
[codex:1161355]    * @param shares The number of tokens the owner received
[codex:1161355]    */
[codex:1161355]   event Mint(address indexed vault, address indexed receiver, uint256 assets, uint256 shares);
[codex:1161355] 
[codex:1161355]   /**
[codex:1161355] 
[codex:1161355] thinking
[codex:1161355] **Evaluating potential vulnerabilities and no-findings conclusion**
[codex:1161355] codex
[codex:1161355] {"no_findings":true,"summary":"No concrete, exploitable profit paths to extract ETH/tokens/NFTs were identified in the provided contracts.","findings":[]}
[codex:1161355] tokens used
[codex:1161355] 81,084
[codex:1161355] {"no_findings":true,"summary":"No concrete, exploitable profit paths to extract ETH/tokens/NFTs were identified in the provided contracts.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-04T06:14:16.372757+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit paths to extract ETH/tokens/NFTs were identified in the provided contracts.",
    "raw_final": {
        "summary": "No concrete, exploitable profit paths to extract ETH/tokens/NFTs were identified in the provided contracts.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
39
EXT*/BALANCE
9
Total opcodes
12093
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: ISZERO
0000000a: PUSH2 0x0022
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: ISZERO
00000011: PUSH2 0x0018
00000014: JUMPI
00000015: PUSH0
00000016: DUP1
00000017: REVERT
00000018: JUMPDEST
00000019: PUSH2 0x0020
0000001c: PUSH2 0x29a8
0000001f: JUMP
00000020: JUMPDEST
00000021: STOP
00000022: JUMPDEST
00000023: PUSH0
00000024: CALLDATALOAD
00000025: PUSH1 0xe0
00000027: SHR
00000028: DUP1
00000029: PUSH4 0x01d523b6
0000002e: EQ
0000002f: PUSH2 0x0301
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x01e1d114
00000039: EQ
0000003a: PUSH2 0x02fc
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x066055e0
00000044: EQ
00000045: PUSH2 0x02f7
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x07a2d13a
0000004f: EQ
00000050: PUSH2 0x02f2
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x0d392cd9
0000005a: EQ
0000005b: PUSH2 0x02ed
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x18f72950
00000065: EQ
00000066: PUSH2 0x02e8
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0x1a7ff553
00000070: EQ
00000071: PUSH2 0x02e3
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0x201b9eb5
0000007b: EQ
0000007c: PUSH2 0x02de
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0x22758a4a
00000086: EQ
00000087: PUSH2 0x02d9
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x2999ad3f
00000091: EQ
00000092: PUSH2 0x02d4
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x2cdf7401
0000009c: EQ
0000009d: PUSH2 0x02cf
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x3229fa95
000000a7: EQ
000000a8: PUSH2 0x02ca
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x33194c0a
000000b2: EQ
000000b3: PUSH2 0x02c5
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x36fe59d2
000000bd: EQ
000000be: PUSH2 0x02c0
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x3a98ef39
000000c8: EQ
000000c9: PUSH2 0x02bb
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x439fab91
000000d3: EQ
000000d4: PUSH2 0x02b6
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x43e82a79
000000de: EQ
000000df: PUSH2 0x02b1
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x46904840
000000e9: EQ
000000ea: PUSH2 0x02ac
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x4ec96b22
000000f4: EQ
000000f5: PUSH2 0x02a7
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x4f1ef286
000000ff: EQ
00000100: PUSH2 0x02a2
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0x52d1902d
0000010a: EQ
0000010b: PUSH2 0x029d
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0x53156f28
00000115: EQ
00000116: PUSH2 0x0298
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0x54fd4d50
00000120: EQ
00000121: PUSH2 0x0293
00000124: JUMPI
00000125: DUP1
00000126: PUSH4 0x5c60da1b
0000012b: EQ
0000012c: PUSH2 0x028e
0000012f: JUMPI
00000130: DUP1
00000131: PUSH4 0x5cfc1a51
00000136: EQ
00000137: PUSH2 0x0289
0000013a: JUMPI
0000013b: DUP1
0000013c: PUSH4 0x60d60e6e
00000141: EQ
00000142: PUSH2 0x0284
00000145: JUMPI
00000146: DUP1
00000147: PUSH4 0x72b410a8
0000014c: EQ
0000014d: PUSH2 0x027f
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0x754c3888
00000157: EQ
00000158: PUSH2 0x027a
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0x76b58b90
00000162: EQ
00000163: PUSH2 0x0275
00000166: JUMPI
00000167: DUP1
00000168: PUSH4 0x7fd6f15c
0000016d: EQ
0000016e: PUSH2 0x0270
00000171: JUMPI
00000172: DUP1
00000173: PUSH4 0x83d430d5
00000178: EQ
00000179: PUSH2 0x026b
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0x8697d2c2
00000183: EQ
00000184: PUSH2 0x0266
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x8ceab9aa
0000018e: EQ
0000018f: PUSH2 0x0261
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0xa49a1e7d
00000199: EQ
0000019a: PUSH2 0x025c
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0xac9650d8
000001a4: EQ
000001a5: PUSH2 0x0257
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0xad3cb1cc
000001af: EQ
000001b0: PUSH2 0x0252
000001b3: JUMPI
000001b4: DUP1
000001b5: PUSH4 0xb1f0e7c7
000001ba: EQ
000001bb: PUSH2 0x024d
000001be: JUMPI
000001bf: DUP1
000001c0: PUSH4 0xc6e6f592
000001c5: EQ
000001c6: PUSH2 0x0248
000001c9: JUMPI
000001ca: DUP1
000001cb: PUSH4 0xd83ad00c
000001d0: EQ
000001d1: PUSH2 0x0243
000001d4: JUMPI
000001d5: DUP1
000001d6: PUSH4 0xe74b981b
000001db: EQ
000001dc: PUSH2 0x023e
000001df: JUMPI
000001e0: DUP1
000001e1: PUSH4 0xee3bd5df
000001e6: EQ
000001e7: PUSH2 0x0239
000001ea: JUMPI
000001eb: DUP1
000001ec: PUSH4 0xf04da65b
000001f1: EQ
000001f2: PUSH2 0x0234
000001f5: JUMPI
000001f6: DUP1
000001f7: PUSH4 0xf6a6830f
000001fc: EQ
000001fd: PUSH2 0x022f
00000200: JUMPI
00000201: DUP1
00000202: PUSH4 0xf851a440
00000207: EQ
00000208: PUSH2 0x022a
0000020b: JUMPI
0000020c: DUP1
0000020d: PUSH4 0xf9609f08
00000212: EQ
00000213: PUSH2 0x0225
00000216: JUMPI
00000217: PUSH4 0xf98f5b92
0000021c: SUB
0000021d: PUSH2 0x000e
00000220: JUMPI
00000221: PUSH2 0x1e71
00000224: JUMP
00000225: JUMPDEST
00000226: PUSH2 0x1e47
00000229: JUMP
0000022a: JUMPDEST
0000022b: PUSH2 0x1e20
0000022e: JUMP
0000022f: JUMPDEST
00000230: PUSH2 0x1ddf
00000233: JUMP
00000234: JUMPDEST
00000235: PUSH2 0x1da4
00000238: JUMP
00000239: JUMPDEST
0000023a: PUSH2 0x1d7e
0000023d: JUMP
0000023e: JUMPDEST
0000023f: PUSH2 0x1d51
00000242: JUMP
00000243: JUMPDEST
00000244: PUSH2 0x1d2b
00000247: JUMP
00000248: JUMPDEST
00000249: PUSH2 0x1d0d
0000024c: JUMP
0000024d: JUMPDEST
0000024e: PUSH2 0x1cf3
00000251: JUMP
00000252: JUMPDEST
00000253: PUSH2 0x1cae
00000256: JUMP
00000257: JUMPDEST
00000258: PUSH2 0x1c38
0000025b: JUMP
0000025c: JUMPDEST
0000025d: PUSH2 0x1b3d
00000260: JUMP
00000261: JUMPDEST
00000262: PUSH2 0x1954
00000265: JUMP
00000266: JUMPDEST
00000267: PUSH2 0x16ed
0000026a: JUMP
0000026b: JUMPDEST
0000026c: PUSH2 0x151d
0000026f: JUMP
00000270: JUMPDEST
00000271: PUSH2 0x14f9
00000274: JUMP
00000275: JUMPDEST
00000276: PUSH2 0x14a8
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH2 0x143d
0000027e: JUMP
0000027f: JUMPDEST
00000280: PUSH2 0x13b0
00000283: JUMP
00000284: JUMPDEST
00000285: PUSH2 0x1392
00000288: JUMP
00000289: JUMPDEST
0000028a: PUSH2 0x1378
0000028d: JUMP
0000028e: JUMPDEST
0000028f: PUSH2 0x1344
00000292: JUMP
00000293: JUMPDEST
00000294: PUSH2 0x1329
00000297: JUMP
00000298: JUMPDEST
00000299: PUSH2 0x1305
0000029c: JUMP
0000029d: JUMPDEST
0000029e: PUSH2 0x129c
000002a1: JUMP
000002a2: JUMPDEST
000002a3: PUSH2 0x1016
000002a6: JUMP
000002a7: JUMPDEST
000002a8: PUSH2 0x0ea2
000002ab: JUMP
000002ac: JUMPDEST
000002ad: PUSH2 0x0e7a
000002b0: JUMP
000002b1: JUMPDEST
000002b2: PUSH2 0x0d6d
000002b5: JUMP
000002b6: JUMPDEST
000002b7: PUSH2 0x0ca7
000002ba: JUMP
000002bb: JUMPDEST
000002bc: PUSH2 0x0c26
000002bf: JUMP
000002c0: JUMPDEST
000002c1: PUSH2 0x0c12
000002c4: JUMP
000002c5: JUMPDEST
000002c6: PUSH2 0x0bd8
000002c9: JUMP
000002ca: JUMPDEST
000002cb: PUSH2 0x0bac
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH2 0x0b92
000002d3: JUMP
000002d4: JUMPDEST
000002d5: PUSH2 0x06f0
000002d8: JUMP
000002d9: JUMPDEST
000002da: PUSH2 0x069e
000002dd: JUMP
000002de: JUMPDEST
000002df: PUSH2 0x0685
000002e2: JUMP
000002e3: JUMPDEST
000002e4: PUSH2 0x0626
000002e7: JUMP
000002e8: JUMPDEST
000002e9: PUSH2 0x05c0
000002ec: JUMP
000002ed: JUMPDEST
000002ee: PUSH2 0x058e
000002f1: JUMP
000002f2: JUMPDEST
000002f3: PUSH2 0x0566
000002f6: JUMP
000002f7: JUMPDEST
000002f8: PUSH2 0x03c7
000002fb: JUMP
000002fc: JUMPDEST
000002fd: PUSH2 0x0396
00000300: JUMP
00000301: JUMPDEST
00000302: PUSH2 0x0329
00000305: JUMP
00000306: JUMPDEST
00000307: PUSH1 0x01
00000309: PUSH1 0x01
0000030b: PUSH1 0xa0
0000030d: SHL
0000030e: SUB
0000030f: DUP2
00000310: AND
00000311: SUB
00000312: PUSH2 0x0317
00000315: JUMPI
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH0
00000319: DUP1
0000031a: REVERT
0000031b: JUMPDEST
0000031c: SWAP1
0000031d: DUP2
0000031e: PUSH1 0x80
00000320: SWAP2
00000321: SUB
00000322: SLT
00000323: PUSH2 0x0317
00000326: JUMPI
00000327: SWAP1
00000328: JUMP
00000329: JUMPDEST
0000032a: PUSH1 0x80
0000032c: CALLDATASIZE
0000032d: PUSH1 0x03
0000032f: NOT
00000330: ADD
00000331: SLT
00000332: PUSH2 0x0317
00000335: JUMPI
00000336: PUSH1 0x04
00000338: CALLDATALOAD
00000339: PUSH2 0x0341
0000033c: DUP2
0000033d: PUSH2 0x0306
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH1 0x44
00000344: CALLDATALOAD
00000345: PUSH2 0x034d
00000348: DUP2
00000349: PUSH2 0x0306
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH1 0x64
00000350: CALLDATALOAD
00000351: SWAP1
00000352: PUSH1 0x01
00000354: PUSH1 0x01
00000356: PUSH1 0x40
00000358: SHL
00000359: SUB
0000035a: DUP3
0000035b: GT
0000035c: PUSH2 0x0317
0000035f: JUMPI
00000360: PUSH1 0x20
00000362: SWAP3
00000363: PUSH2 0x037b
00000366: PUSH2 0x0376
00000369: PUSH2 0x0384
0000036c: SWAP5
0000036d: CALLDATASIZE
0000036e: SWAP1
0000036f: PUSH1 0x04
00000371: ADD
00000372: PUSH2 0x031b
00000375: JUMP
00000376: JUMPDEST
00000377: PUSH2 0x1fff
0000037a: JUMP
0000037b: JUMPDEST
0000037c: PUSH1 0x24
0000037e: CALLDATALOAD
0000037f: SWAP1
00000380: PUSH2 0x22b9
00000383: JUMP
00000384: JUMPDEST
00000385: PUSH1 0x40
00000387: MLOAD
00000388: SWAP1
00000389: DUP2
0000038a: MSTORE
0000038b: RETURN
0000038c: JUMPDEST
0000038d: PUSH0
0000038e: SWAP2
0000038f: SUB
00000390: SLT
00000391: PUSH2 0x0317
00000394: JUMPI
00000395: JUMP
00000396: JUMPDEST
00000397: CALLVALUE
00000398: PUSH2 0x0317
0000039b: JUMPI
0000039c: PUSH0
0000039d: CALLDATASIZE
0000039e: PUSH1 0x03
000003a0: NOT
000003a1: ADD
000003a2: SLT
000003a3: PUSH2 0x0317
000003a6: JUMPI
000003a7: PUSH1 0x20
000003a9: PUSH1 0x98
000003ab: SLOAD
000003ac: PUSH1 0x80
000003ae: SHR
000003af: PUSH1 0x40
000003b1: MLOAD
000003b2: SWAP1
000003b3: DUP2
000003b4: MSTORE
000003b5: RETURN
000003b6: JUMPDEST
000003b7: PUSH1 0x01
000003b9: PUSH1 0x01
000003bb: PUSH1 0x80
000003bd: SHL
000003be: SUB
000003bf: DUP2
000003c0: AND
000003c1: SUB
000003c2: PUSH2 0x0317
000003c5: JUMPI
000003c6: JUMP
000003c7: JUMPDEST
000003c8: CALLVALUE
000003c9: PUSH2 0x0317
000003cc: JUMPI
000003cd: PUSH1 0x20
000003cf: CALLDATASIZE
000003d0: PUSH1 0x03
000003d2: NOT
000003d3: ADD
000003d4: SLT
000003d5: PUSH2 0x0317
000003d8: JUMPI
000003d9: PUSH1 0x04
000003db: CALLDATALOAD
000003dc: PUSH2 0x03e4
000003df: DUP2
000003e0: PUSH2 0x03b6
000003e3: JUMP
000003e4: JUMPDEST
000003e5: PUSH1 0x40
000003e7: MLOAD
000003e8: PUSH4 0x3b9e9f01
000003ed: PUSH1 0xe2
000003ef: SHL
000003f0: DUP2
000003f1: MSTORE
000003f2: CALLER
000003f3: PUSH1 0x04
000003f5: DUP3
000003f6: ADD
000003f7: MSTORE
000003f8: PUSH1 0x01
000003fa: PUSH1 0x01
000003fc: PUSH1 0x80
000003fe: SHL
000003ff: SUB
00000400: DUP3
00000401: AND
00000402: PUSH1 0x24
00000404: DUP3
00000405: ADD
00000406: MSTORE
00000407: PUSH1 0x20
00000409: DUP2
0000040a: PUSH1 0x44
0000040c: DUP2
0000040d: PUSH0
0000040e: PUSH1 0x01
00000410: PUSH1 0x01
00000412: PUSH1 0xa0
00000414: SHL
00000415: SUB
00000416: PUSH32 0x0000000000000000000000002a261e60fb14586b474c208b1b7ac6d0f5000306
00000437: AND
00000438: GAS
00000439: CALL
0000043a: SWAP1
0000043b: DUP2
0000043c: ISZERO
0000043d: PUSH2 0x0561
00000440: JUMPI
00000441: PUSH0
00000442: SWAP2
00000443: PUSH2 0x0532
00000446: JUMPI
00000447: JUMPDEST
00000448: POP
00000449: CALLER
0000044a: PUSH0
0000044b: SWAP1
0000044c: DUP2
0000044d: MSTORE
0000044e: PUSH2 0x0137
00000451: PUSH1 0x20
00000453: MSTORE
00000454: PUSH1 0x40
00000456: SWAP1
00000457: KECCAK256
00000458: PUSH2 0x0460
0000045b: SWAP1
0000045c: PUSH2 0x1eb8
0000045f: JUMP
00000460: JUMPDEST
00000461: SWAP2
00000462: PUSH1 0x01
00000464: PUSH1 0x01
00000466: PUSH1 0x80
00000468: SHL
00000469: SUB
0000046a: PUSH2 0x047a
0000046d: DUP5
0000046e: MLOAD
0000046f: PUSH1 0x01
00000471: PUSH1 0x01
00000473: PUSH1 0x80
00000475: SHL
00000476: SUB
00000477: AND
00000478: SWAP1
00000479: JUMP
0000047a: JUMPDEST
0000047b: AND
0000047c: ISZERO
0000047d: PUSH2 0x0520
00000480: JUMPI
00000481: PUSH2 0x04ce
00000484: DUP4
00000485: PUSH2 0x0490
00000488: PUSH2 0x051c
0000048b: SWAP6
0000048c: PUSH2 0x29bb
0000048f: JUMP
00000490: JUMPDEST
00000491: PUSH2 0x04ba
00000494: PUSH2 0x04ad
00000497: DUP5
00000498: PUSH2 0x04a8
0000049b: DUP5
0000049c: MLOAD
0000049d: PUSH1 0x01
0000049f: PUSH1 0x01
000004a1: PUSH1 0x80
000004a3: SHL
000004a4: SUB
000004a5: AND
000004a6: SWAP1
000004a7: JUMP
000004a8: JUMPDEST
000004a9: PUSH2 0x1ef1
000004ac: JUMP
000004ad: JUMPDEST
000004ae: PUSH1 0x01
000004b0: PUSH1 0x01
000004b2: PUSH1 0x80
000004b4: SHL
000004b5: SUB
000004b6: AND
000004b7: DUP3
000004b8: MSTORE
000004b9: JUMP
000004ba: JUMPDEST
000004bb: CALLER
000004bc: PUSH0
000004bd: SWAP1
000004be: DUP2
000004bf: MSTORE
000004c0: PUSH2 0x0137
000004c3: PUSH1 0x20
000004c5: MSTORE
000004c6: PUSH1 0x40
000004c8: SWAP1
000004c9: KECCAK256
000004ca: PUSH2 0x1f0f
000004cd: JUMP
000004ce: JUMPDEST
000004cf: PUSH1 0x40
000004d1: DUP1
000004d2: MLOAD
000004d3: DUP4
000004d4: DUP2
000004d5: MSTORE
000004d6: PUSH1 0x01
000004d8: PUSH1 0x01
000004da: PUSH1 0x80
000004dc: SHL
000004dd: SUB
000004de: SWAP3
000004df: SWAP1
000004e0: SWAP3
000004e1: AND
000004e2: PUSH1 0x20
000004e4: DUP4
000004e5: ADD
000004e6: MSTORE
000004e7: CALLER
000004e8: SWAP2
000004e9: PUSH32 0x3f7354ba02880b4fa37a629985852a38417ff369369ce1e52fa6f8342a9100a7
0000050a: SWAP2
0000050b: SWAP1
0000050c: LOG2
0000050d: PUSH1 0x40
0000050f: MLOAD
00000510: SWAP1
00000511: DUP2
00000512: MSTORE
00000513: SWAP1
00000514: DUP2
00000515: SWAP1
00000516: PUSH1 0x20
00000518: DUP3
00000519: ADD
0000051a: SWAP1
0000051b: JUMP
0000051c: JUMPDEST
0000051d: SUB
0000051e: SWAP1
0000051f: RETURN
00000520: JUMPDEST
00000521: PUSH1 0x40
00000523: MLOAD
00000524: PUSH4 0x673f032f
00000529: PUSH1 0xe1
0000052b: SHL
0000052c: DUP2
0000052d: MSTORE
0000052e: PUSH1 0x04
00000530: SWAP1
00000531: REVERT
00000532: JUMPDEST
00000533: PUSH2 0x0554
00000536: SWAP2
00000537: POP
00000538: PUSH1 0x20
0000053a: RETURNDATASIZE
0000053b: PUSH1 0x20
0000053d: GT
0000053e: PUSH2 0x055a
00000541: JUMPI
00000542: JUMPDEST
00000543: PUSH2 0x054c
00000546: DUP2
00000547: DUP4
00000548: PUSH2 0x0f95
0000054b: JUMP
0000054c: JUMPDEST
0000054d: DUP2
0000054e: ADD
0000054f: SWAP1
00000550: PUSH2 0x1e9e
00000553: JUMP
00000554: JUMPDEST
00000555: PUSH0
00000556: PUSH2 0x0447
00000559: JUMP
0000055a: JUMPDEST
0000055b: POP
0000055c: RETURNDATASIZE
0000055d: PUSH2 0x0542
00000560: JUMP
00000561: JUMPDEST
00000562: PUSH2 0x1ead
00000565: JUMP
00000566: JUMPDEST
00000567: CALLVALUE
00000568: PUSH2 0x0317
0000056b: JUMPI
0000056c: PUSH1 0x20
0000056e: CALLDATASIZE
0000056f: PUSH1 0x03
00000571: NOT
00000572: ADD
00000573: SLT
00000574: PUSH2 0x0317
00000577: JUMPI
00000578: PUSH1 0x20
0000057a: PUSH2 0x0384
0000057d: PUSH1 0x04
0000057f: CALLDATALOAD
00000580: PUSH2 0x1f41
00000583: JUMP
00000584: JUMPDEST
00000585: DUP1
00000586: ISZERO
00000587: ISZERO
00000588: SUB
00000589: PUSH2 0x0317
0000058c: JUMPI
0000058d: JUMP
0000058e: JUMPDEST
0000058f: CALLVALUE
00000590: PUSH2 0x0317
00000593: JUMPI
00000594: PUSH1 0x40
00000596: CALLDATASIZE
00000597: PUSH1 0x03
00000599: NOT
0000059a: ADD
0000059b: SLT
0000059c: PUSH2 0x0317
0000059f: JUMPI
000005a0: PUSH2 0x0020
000005a3: PUSH1 0x04
000005a5: CALLDATALOAD
000005a6: PUSH2 0x05ae
000005a9: DUP2
000005aa: PUSH2 0x0306
000005ad: JUMP
000005ae: JUMPDEST
000005af: PUSH1 0x24
000005b1: CALLDATALOAD
000005b2: SWAP1
000005b3: PUSH2 0x05bb
000005b6: DUP3
000005b7: PUSH2 0x0584
000005ba: JUMP
000005bb: JUMPDEST
000005bc: PUSH2 0x1f67
000005bf: JUMP
000005c0: JUMPDEST
000005c1: PUSH1 0x60
000005c3: CALLDATASIZE
000005c4: PUSH1 0x03
000005c6: NOT
000005c7: ADD
000005c8: SLT
000005c9: PUSH2 0x0317
000005cc: JUMPI
000005cd: PUSH1 0x04
000005cf: CALLDATALOAD
000005d0: PUSH2 0x05d8
000005d3: DUP2
000005d4: PUSH2 0x0306
000005d7: JUMP
000005d8: JUMPDEST
000005d9: PUSH1 0x24
000005db: CALLDATALOAD
000005dc: PUSH2 0x05e4
000005df: DUP2
000005e0: PUSH2 0x0306
000005e3: JUMP
000005e4: JUMPDEST
000005e5: PUSH1 0x44
000005e7: CALLDATALOAD
000005e8: SWAP1
000005e9: PUSH1 0x01
000005eb: PUSH1 0x01
000005ed: PUSH1 0x40
000005ef: SHL
000005f0: SUB
000005f1: DUP3
000005f2: GT
000005f3: PUSH2 0x0317
000005f6: JUMPI
000005f7: PUSH1 0x20
000005f9: SWAP3
000005fa: PUSH2 0x060d
000005fd: PUSH2 0x0376
00000600: PUSH2 0x0384
00000603: SWAP5
00000604: CALLDATASIZE
00000605: SWAP1
00000606: PUSH1 0x04
00000608: ADD
00000609: PUSH2 0x031b
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH2 0x0616
00000611: CALLER
00000612: PUSH2 0x310f
00000615: JUMP
00000616: JUMPDEST
00000617: PUSH2 0x061f
0000061a: DUP2
0000061b: PUSH2 0x310f
0000061e: JUMP
0000061f: JUMPDEST
00000620: CALLVALUE
00000621: SWAP1
00000622: PUSH2 0x42c1
00000625: JUMP
00000626: JUMPDEST
00000627: CALLVALUE
00000628: PUSH2 0x0317
0000062b: JUMPI
0000062c: PUSH1 0x20
0000062e: CALLDATASIZE
0000062f: PUSH1 0x03
00000631: NOT
00000632: ADD
00000633: SLT
00000634: PUSH2 0x0317
00000637: JUMPI
00000638: PUSH1 0x04
0000063a: CALLDATALOAD
0000063b: PUSH1 0x01
0000063d: PUSH1 0x01
0000063f: PUSH1 0x40
00000641: SHL
00000642: SUB
00000643: DUP2
00000644: GT
00000645: PUSH2 0x0317
00000648: JUMPI
00000649: PUSH2 0x0376
0000064c: PUSH2 0x0020
0000064f: SWAP2
00000650: CALLDATASIZE
00000651: SWAP1
00000652: PUSH1 0x04
00000654: ADD
00000655: PUSH2 0x031b
00000658: JUMP
00000659: JUMPDEST
0000065a: PUSH1 0x60
0000065c: SWAP1
0000065d: PUSH1 0x03
0000065f: NOT
00000660: ADD
00000661: SLT
00000662: PUSH2 0x0317
00000665: JUMPI
00000666: PUSH1 0x04
00000668: CALLDATALOAD
00000669: PUSH2 0x0671
0000066c: DUP2
0000066d: PUSH2 0x0306
00000670: JUMP
00000671: JUMPDEST
00000672: SWAP1
00000673: PUSH1 0x24
00000675: CALLDATALOAD
00000676: SWAP1
00000677: PUSH1 0x44
00000679: CALLDATALOAD
0000067a: PUSH2 0x0682
0000067d: DUP2
0000067e: PUSH2 0x0306
00000681: JUMP
00000682: JUMPDEST
00000683: SWAP1
00000684: JUMP
00000685: JUMPDEST
00000686: CALLVALUE
00000687: PUSH2 0x0317
0000068a: JUMPI
0000068b: PUSH1 0x20
0000068d: PUSH2 0x0384
00000690: PUSH2 0x0698
00000693: CALLDATASIZE
00000694: PUSH2 0x0659
00000697: JUMP
00000698: JUMPDEST
00000699: SWAP2
0000069a: PUSH2 0x2023
0000069d: JUMP
0000069e: JUMPDEST
0000069f: CALLVALUE
000006a0: PUSH2 0x0317
000006a3: JUMPI
000006a4: PUSH0
000006a5: CALLDATASIZE
000006a6: PUSH1 0x03
000006a8: NOT
000006a9: ADD
000006aa: SLT
000006ab: PUSH2 0x0317
000006ae: JUMPI
000006af: PUSH2 0x0201
000006b2: SLOAD
000006b3: PUSH1 0x40
000006b5: MLOAD
000006b6: PUSH1 0x01
000006b8: PUSH1 0x01
000006ba: PUSH1 0xa0
000006bc: SHL
000006bd: SUB
000006be: SWAP1
000006bf: SWAP2
000006c0: AND
000006c1: DUP2
000006c2: MSTORE
000006c3: PUSH1 0x20
000006c5: SWAP1
000006c6: RETURN
000006c7: JUMPDEST
000006c8: PUSH1 0x60
000006ca: SWAP1
000006cb: PUSH1 0x03
000006cd: NOT
000006ce: ADD
000006cf: SLT
000006d0: PUSH2 0x0317
000006d3: JUMPI
000006d4: PUSH1 0x04
000006d6: CALLDATALOAD
000006d7: SWAP1
000006d8: PUSH1 0x24
000006da: CALLDATALOAD
000006db: PUSH2 0x06e3
000006de: DUP2
000006df: PUSH2 0x0306
000006e2: JUMP
000006e3: JUMPDEST
000006e4: SWAP1
000006e5: PUSH1 0x44
000006e7: CALLDATALOAD
000006e8: PUSH2 0x0682
000006eb: DUP2
000006ec: PUSH2 0x0306
000006ef: JUMP
000006f0: JUMPDEST
000006f1: CALLVALUE
000006f2: PUSH2 0x0317
000006f5: JUMPI
000006f6: PUSH2 0x06fe
000006f9: CALLDATASIZE
000006fa: PUSH2 0x06c7
000006fd: JUMP
000006fe: JUMPDEST
000006ff: SWAP1
00000700: PUSH1 0x01
00000702: PUSH1 0x01
00000704: PUSH1 0xa0
00000706: SHL
00000707: SUB
00000708: DUP1
00000709: DUP4
0000070a: AND
0000070b: ISZERO
0000070c: PUSH2 0x0b80
0000070f: JUMPI
00000710: PUSH2 0x0717
00000713: PUSH2 0x3ac3
00000716: JUMP
00000717: JUMPDEST
00000718: DUP1
00000719: PUSH32 0x0000000000000000000000002a261e60fb14586b474c208b1b7ac6d0f5000306
0000073a: AND
0000073b: SWAP2
0000073c: DUP3
0000073d: EXTCODESIZE
0000073e: ISZERO
0000073f: PUSH2 0x0317
00000742: JUMPI
00000743: PUSH1 0x40
00000745: DUP1
00000746: MLOAD
00000747: PUSH4 0x1d8557d7
0000074c: PUSH1 0xe0
0000074e: SHL
0000074f: DUP2
00000750: MSTORE
00000751: PUSH1 0x04
00000753: SWAP5
00000754: SWAP2
00000755: SWAP1
00000756: PUSH0
00000757: DUP2
00000758: DUP8
00000759: DUP2
0000075a: DUP4
0000075b: DUP8
0000075c: GAS
0000075d: CALL
0000075e: DUP1
0000075f: ISZERO
00000760: PUSH2 0x0561
00000763: JUMPI
00000764: PUSH2 0x0b67
00000767: JUMPI
00000768: JUMPDEST
00000769: POP
0000076a: PUSH1 0x01
0000076c: PUSH1 0x01
0000076e: PUSH1 0xa0
00000770: SHL
00000771: SUB
00000772: DUP4
00000773: AND
00000774: PUSH0
00000775: SWAP1
00000776: DUP2
00000777: MSTORE
00000778: PUSH2 0x0137
0000077b: PUSH1 0x20
0000077d: MSTORE
0000077e: PUSH1 0x40
00000780: SWAP1
00000781: KECCAK256
00000782: PUSH2 0x078a
00000785: SWAP1
00000786: PUSH2 0x1eb8
00000789: JUMP
0000078a: JUMPDEST
0000078b: PUSH1 0x01
0000078d: PUSH1 0x01
0000078f: PUSH1 0x80
00000791: SHL
00000792: SUB
00000793: SWAP3
00000794: DUP4
00000795: PUSH2 0x07a5
00000798: DUP4
00000799: MLOAD
0000079a: PUSH1 0x01
0000079c: PUSH1 0x01
0000079e: PUSH1 0x80
000007a0: SHL
000007a1: SUB
000007a2: AND
000007a3: SWAP1
000007a4: JUMP
000007a5: JUMPDEST
000007a6: AND
000007a7: ISZERO
000007a8: PUSH2 0x0b57
000007ab: JUMPI
000007ac: PUSH2 0x07b4
000007af: DUP3
000007b0: PUSH2 0x29bb
000007b3: JUMP
000007b4: JUMPDEST
000007b5: DUP3
000007b6: MLOAD
000007b7: PUSH4 0xe48a5f7b
000007bc: PUSH1 0xe0
000007be: SHL
000007bf: DUP2
000007c0: MSTORE
000007c1: ADDRESS
000007c2: DUP9
000007c3: DUP3
000007c4: ADD
000007c5: SWAP1
000007c6: DUP2
000007c7: MSTORE
000007c8: SWAP1
000007c9: SWAP8
000007ca: SWAP1
000007cb: PUSH1 0x60
000007cd: SWAP1
000007ce: DUP10
000007cf: SWAP1
000007d0: DUP2
000007d1: SWAP1
000007d2: PUSH1 0x20
000007d4: ADD
000007d5: SUB
000007d6: DUP2
000007d7: DUP11
000007d8: PUSH32 0x000000000000000000000000287d1e2a8de183a8bf8f2b09fa1340fbd766eb59
000007f9: AND
000007fa: GAS
000007fb: STATICCALL
000007fc: SWAP8
000007fd: DUP9
000007fe: ISZERO
000007ff: PUSH2 0x0561
00000802: JUMPI
00000803: PUSH0
00000804: SWAP9
00000805: PUSH2 0x0b26
00000808: JUMPI
00000809: JUMPDEST
0000080a: POP
0000080b: PUSH1 0x20
0000080d: SWAP8
0000080e: DUP9
0000080f: DUP2
00000810: ADD
00000811: SWAP6
00000812: PUSH1 0x01
00000814: PUSH1 0x01
00000816: PUSH1 0x40
00000818: SHL
00000819: SUB
0000081a: SWAP2
0000081b: DUP3
0000081c: DUP1
0000081d: PUSH2 0x082d
00000820: DUP11
00000821: MLOAD
00000822: PUSH1 0x01
00000824: PUSH1 0x01
00000826: PUSH1 0x40
00000828: SHL
00000829: SUB
0000082a: AND
0000082b: SWAP1
0000082c: JUMP
0000082d: JUMPDEST
0000082e: AND
0000082f: EQ
00000830: PUSH2 0x0b16
00000833: JUMPI
00000834: SWAP1
00000835: DUP13
00000836: SWAP3
00000837: SWAP2
00000838: DUP8
00000839: MLOAD
0000083a: SWAP2
0000083b: DUP13
0000083c: DUP4
0000083d: DUP1
0000083e: PUSH2 0x0859
00000841: PUSH4 0x03d1689d
00000846: PUSH1 0xe1
00000848: SHL
00000849: SWAP9
0000084a: DUP10
0000084b: DUP4
0000084c: MSTORE
0000084d: DUP11
0000084e: DUP4
0000084f: ADD
00000850: SWAP2
00000851: SWAP1
00000852: PUSH1 0x20
00000854: DUP4
00000855: ADD
00000856: SWAP3
00000857: MSTORE
00000858: JUMP
00000859: JUMPDEST
0000085a: SUB
0000085b: DUP2
0000085c: DUP11
0000085d: GAS
0000085e: STATICCALL
0000085f: SWAP2
00000860: DUP3
00000861: ISZERO
00000862: PUSH2 0x0561
00000865: JUMPI
00000866: PUSH2 0x0885
00000869: SWAP4
0000086a: DUP15
0000086b: PUSH0
0000086c: SWAP5
0000086d: PUSH2 0x0af1
00000870: JUMPI
00000871: JUMPDEST
00000872: POP
00000873: POP
00000874: MLOAD
00000875: PUSH1 0x01
00000877: PUSH1 0x01
00000879: PUSH1 0x80
0000087b: SHL
0000087c: SUB
0000087d: AND
0000087e: JUMPDEST
0000087f: AND
00000880: SWAP1
00000881: PUSH2 0x2aea
00000884: JUMP
00000885: JUMPDEST
00000886: SWAP7
00000887: PUSH2 0x08a9
0000088a: PUSH2 0x08a3
0000088d: DUP11
0000088e: PUSH1 0x01
00000890: DUP1
00000891: PUSH1 0xa0
00000893: SHL
00000894: SUB
00000895: AND
00000896: PUSH0
00000897: MSTORE
00000898: PUSH1 0x9c
0000089a: PUSH1 0x20
0000089c: MSTORE
0000089d: PUSH1 0x40
0000089f: PUSH0
000008a0: KECCAK256
000008a1: SWAP1
000008a2: JUMP
000008a3: JUMPDEST
000008a4: SLOAD
000008a5: PUSH2 0x1f41
000008a8: JUMP
000008a9: JUMPDEST
000008aa: SWAP3
000008ab: DUP4
000008ac: DUP10
000008ad: GT
000008ae: DUP1
000008af: ISZERO
000008b0: PUSH2 0x0ae1
000008b3: JUMPI
000008b4: JUMPDEST
000008b5: PUSH2 0x0ad1
000008b8: JUMPI
000008b9: SWAP1
000008ba: DUP12
000008bb: PUSH2 0x08f2
000008be: SWAP4
000008bf: SWAP3
000008c0: PUSH2 0x08d0
000008c3: DUP10
000008c4: MLOAD
000008c5: PUSH1 0x01
000008c7: PUSH1 0x01
000008c9: PUSH1 0x80
000008cb: SHL
000008cc: SUB
000008cd: AND
000008ce: SWAP1
000008cf: JUMP
000008d0: JUMPDEST
000008d1: SWAP1
000008d2: DUP11
000008d3: MLOAD
000008d4: SWAP6
000008d5: DUP7
000008d6: SWAP3
000008d7: DUP4
000008d8: SWAP3
000008d9: DUP4
000008da: MSTORE
000008db: DUP10
000008dc: DUP4
000008dd: ADD
000008de: SWAP2
000008df: SWAP1
000008e0: SWAP2
000008e1: PUSH1 0x01
000008e3: PUSH1 0x01
000008e5: PUSH1 0x80
000008e7: SHL
000008e8: SUB
000008e9: PUSH1 0x20
000008eb: DUP3
000008ec: ADD
000008ed: SWAP4
000008ee: AND
000008ef: SWAP1
000008f0: MSTORE
000008f1: JUMP
000008f2: JUMPDEST
000008f3: SUB
000008f4: DUP2
000008f5: DUP10
000008f6: GAS
000008f7: STATICCALL
000008f8: SWAP2
000008f9: DUP3
000008fa: ISZERO
000008fb: PUSH2 0x0561
000008fe: JUMPI
000008ff: PUSH8 0x0de0b6b3a7640000
00000908: SWAP5
00000909: PUSH2 0x0941
0000090c: SWAP5
0000090d: DUP15
0000090e: PUSH0
0000090f: SWAP6
00000910: PUSH2 0x0aa4
00000913: JUMPI
00000914: JUMPDEST
00000915: POP
00000916: POP
00000917: PUSH2 0x0933
0000091a: PUSH2 0x0925
0000091d: PUSH2 0x0939
00000920: SWAP3
00000921: PUSH2 0x276a
00000924: JUMP
00000925: JUMPDEST
00000926: SWAP4
00000927: MLOAD
00000928: PUSH1 0x01
0000092a: PUSH1 0x01
0000092c: PUSH1 0x40
0000092e: SHL
0000092f: SUB
00000930: AND
00000931: SWAP1
00000932: JUMP
00000933: JUMPDEST
00000934: SWAP4
00000935: PUSH2 0x276a
00000938: JUMP
00000939: JUMPDEST
0000093a: SWAP3
0000093b: AND
0000093c: SWAP1
0000093d: PUSH2 0x2b5e
00000940: JUMP
00000941: JUMPDEST
00000942: LT
00000943: ISZERO
00000944: PUSH2 0x0a96
00000947: JUMPI
00000948: DUP4
00000949: MLOAD
0000094a: PUSH4 0x3b9e9f01
0000094f: PUSH1 0xe2
00000951: SHL
00000952: DUP2
00000953: MSTORE
00000954: CALLER
00000955: SWAP2
00000956: DUP2
00000957: ADD
00000958: SWAP2
00000959: DUP3
0000095a: MSTORE
0000095b: PUSH1 0x20
0000095d: DUP3
0000095e: ADD
0000095f: DUP12
00000960: SWAP1
00000961: MSTORE
00000962: SWAP5
00000963: SWAP4
00000964: SWAP3
00000965: SWAP2
00000966: DUP9
00000967: SWAP2
00000968: DUP7
00000969: SWAP2
0000096a: SWAP1
0000096b: DUP3
0000096c: SWAP1
0000096d: PUSH0
0000096e: SWAP1
0000096f: DUP3
00000970: SWAP1
00000971: PUSH1 0x40
00000973: ADD
00000974: SUB
00000975: SWAP3
00000976: GAS
00000977: CALL
00000978: SWAP1
00000979: DUP2
0000097a: ISZERO
0000097b: PUSH2 0x0561
0000097e: JUMPI
0000097f: PUSH32 0x61fd285f9e34a3dbfa9846bdcf22a023e37a3c93549902843b30dd74a18c5350
000009a0: SWAP8
000009a1: PUSH2 0x0a73
000009a4: SWAP6
000009a5: PUSH2 0x09eb
000009a8: SWAP4
000009a9: PUSH2 0x0a78
000009ac: JUMPI
000009ad: JUMPDEST
000009ae: POP
000009af: POP
000009b0: PUSH2 0x09ce
000009b3: PUSH2 0x04ad
000009b6: PUSH2 0x09be
000009b9: DUP13
000009ba: PUSH2 0x3ff4
000009bd: JUMP
000009be: JUMPDEST
000009bf: DUP4
000009c0: MLOAD
000009c1: PUSH1 0x01
000009c3: PUSH1 0x01
000009c5: PUSH1 0x80
000009c7: SHL
000009c8: SUB
000009c9: AND
000009ca: PUSH2 0x1ef1
000009cd: JUMP
000009ce: JUMPDEST
000009cf: PUSH1 0x01
000009d1: PUSH1 0x01
000009d3: PUSH1 0xa0
000009d5: SHL
000009d6: SUB
000009d7: DUP7
000009d8: AND
000009d9: PUSH0
000009da: SWAP1
000009db: DUP2
000009dc: MSTORE
000009dd: PUSH2 0x0137
000009e0: PUSH1 0x20
000009e2: MSTORE
000009e3: PUSH1 0x40
000009e5: SWAP1
000009e6: KECCAK256
000009e7: PUSH2 0x1f0f
000009ea: JUMP
000009eb: JUMPDEST
000009ec: PUSH2 0x09f4
000009ef: DUP3
000009f0: PUSH2 0x40c1
000009f3: JUMP
000009f4: JUMPDEST
000009f5: SWAP1
000009f6: PUSH2 0x0a32
000009f9: PUSH2 0x0a17
000009fc: PUSH2 0x0a04
000009ff: DUP6
00000a00: PUSH2 0x3ff4
00000a03: JUMP
00000a04: JUMPDEST
00000a05: PUSH1 0x98
00000a07: SLOAD
00000a08: PUSH1 0x80
00000a0a: SHR
00000a0b: SUB
00000a0c: PUSH1 0x01
00000a0e: PUSH1 0x01
00000a10: PUSH1 0x80
00000a12: SHL
00000a13: SUB
00000a14: AND
00000a15: SWAP1
00000a16: JUMP
00000a17: JUMPDEST
00000a18: PUSH1 0x01
00000a1a: PUSH1 0x01
00000a1c: PUSH1 0x80
00000a1e: SHL
00000a1f: SUB
00000a20: PUSH1 0x98
00000a22: SLOAD
00000a23: SWAP2
00000a24: DUP2
00000a25: NOT
00000a26: SWAP1
00000a27: PUSH1 0x80
00000a29: SHL
00000a2a: AND
00000a2b: SWAP2
00000a2c: AND
00000a2d: OR
00000a2e: PUSH1 0x98
00000a30: SSTORE
00000a31: JUMP
00000a32: JUMPDEST
00000a33: PUSH2 0x0a3c
00000a36: DUP3
00000a37: DUP7
00000a38: PUSH2 0x458a
00000a3b: JUMP
00000a3c: JUMPDEST
00000a3d: PUSH2 0x0a46
00000a40: DUP4
00000a41: DUP10
00000a42: PUSH2 0x4027
00000a45: JUMP
00000a46: JUMPDEST
00000a47: MLOAD
00000a48: SWAP5
00000a49: DUP6
00000a4a: SWAP5
00000a4b: AND
00000a4c: SWAP8
00000a4d: CALLER
00000a4e: SWAP8
00000a4f: DUP6
00000a50: SWAP1
00000a51: SWAP5
00000a52: SWAP4
00000a53: SWAP3
00000a54: PUSH1 0x60
00000a56: SWAP3
00000a57: PUSH1 0x80
00000a59: DUP4
00000a5a: ADD
00000a5b: SWAP7
00000a5c: PUSH1 0x01
00000a5e: DUP1
00000a5f: PUSH1 0xa0
00000a61: SHL
00000a62: SUB
00000a63: AND
00000a64: DUP4
00000a65: MSTORE
00000a66: PUSH1 0x20
00000a68: DUP4
00000a69: ADD
00000a6a: MSTORE
00000a6b: PUSH1 0x40
00000a6d: DUP3
00000a6e: ADD
00000a6f: MSTORE
00000a70: ADD
00000a71: MSTORE
00000a72: JUMP
00000a73: JUMPDEST
00000a74: SUB
00000a75: SWAP1
00000a76: LOG3
00000a77: STOP
00000a78: JUMPDEST
00000a79: DUP2
00000a7a: PUSH2 0x0a8e
00000a7d: SWAP3
00000a7e: SWAP1
00000a7f: RETURNDATASIZE
00000a80: LT
00000a81: PUSH2 0x055a
00000a84: JUMPI
00000a85: PUSH2 0x054c
00000a88: DUP2
00000a89: DUP4
00000a8a: PUSH2 0x0f95
00000a8d: JUMP
00000a8e: JUMPDEST
00000a8f: POP
00000a90: PUSH0
00000a91: DUP1
00000a92: PUSH2 0x09ad
00000a95: JUMP
00000a96: JUMPDEST
00000a97: DUP4
00000a98: MLOAD
00000a99: PUSH4 0x185cfc6d
00000a9e: PUSH1 0xe1
00000aa0: SHL
00000aa1: DUP2
00000aa2: MSTORE
00000aa3: REVERT
00000aa4: JUMPDEST
00000aa5: PUSH2 0x0939
00000aa8: SWAP3
00000aa9: SWAP6
00000aaa: POP
00000aab: PUSH2 0x0ac7
00000aae: PUSH2 0x0933
00000ab1: SWAP3
00000ab2: DUP3
00000ab3: PUSH2 0x0925
00000ab6: SWAP4
00000ab7: SWAP1
00000ab8: RETURNDATASIZE
00000ab9: LT
00000aba: PUSH2 0x055a
00000abd: JUMPI
00000abe: PUSH2 0x054c
00000ac1: DUP2
00000ac2: DUP4
00000ac3: PUSH2 0x0f95
00000ac6: JUMP
00000ac7: JUMPDEST
00000ac8: SWAP6
00000ac9: SWAP3
00000aca: POP
00000acb: POP
00000acc: DUP15
00000acd: PUSH2 0x0914
00000ad0: JUMP
00000ad1: JUMPDEST
00000ad2: DUP8
00000ad3: MLOAD
00000ad4: PUSH4 0xefda1a27
00000ad9: PUSH1 0xe0
00000adb: SHL
00000adc: DUP2
00000add: MSTORE
00000ade: DUP6
00000adf: SWAP1
00000ae0: REVERT
00000ae1: JUMPDEST
00000ae2: POP
00000ae3: PUSH2 0x0aea
00000ae6: PUSH2 0x2248
00000ae9: JUMP
00000aea: JUMPDEST
00000aeb: DUP10
00000aec: GT
00000aed: PUSH2 0x08b4
00000af0: JUMP
00000af1: JUMPDEST
00000af2: PUSH2 0x087e
00000af5: SWAP3
00000af6: SWAP5
00000af7: POP
00000af8: SWAP1
00000af9: DUP2
00000afa: PUSH2 0x0b0e
00000afd: SWAP3
00000afe: SWAP1
00000aff: RETURNDATASIZE
00000b00: LT
00000b01: PUSH2 0x055a
00000b04: JUMPI
00000b05: PUSH2 0x054c
00000b08: DUP2
00000b09: DUP4
00000b0a: PUSH2 0x0f95
00000b0d: JUMP
00000b0e: JUMPDEST
00000b0f: SWAP3
00000b10: SWAP1
00000b11: DUP15
00000b12: PUSH2 0x0871
00000b15: JUMP
00000b16: JUMPDEST
00000b17: DUP7
00000b18: MLOAD
00000b19: PUSH4 0x07091331
00000b1e: PUSH1 0xe0
00000b20: SHL
00000b21: DUP2
00000b22: MSTORE
00000b23: DUP5
00000b24: SWAP1
00000b25: REVERT
00000b26: JUMPDEST
00000b27: PUSH2 0x0b49
00000b2a: SWAP2
00000b2b: SWAP9
00000b2c: POP
00000b2d: PUSH1 0x60
00000b2f: RETURNDATASIZE
00000b30: PUSH1 0x60
00000b32: GT
00000b33: PUSH2 0x0b50
00000b36: JUMPI
00000b37: JUMPDEST
00000b38: PUSH2 0x0b41
00000b3b: DUP2
00000b3c: DUP4
00000b3d: PUSH2 0x0f95
00000b40: JUMP
00000b41: JUMPDEST
00000b42: DUP2
00000b43: ADD
00000b44: SWAP1
00000b45: PUSH2 0x3160
00000b48: JUMP
00000b49: JUMPDEST
00000b4a: SWAP7
00000b4b: PUSH0
00000b4c: PUSH2 0x0809
00000b4f: JUMP
00000b50: JUMPDEST
00000b51: POP
00000b52: RETURNDATASIZE
00000b53: PUSH2 0x0b37
00000b56: JUMP
00000b57: JUMPDEST
00000b58: DUP3
00000b59: MLOAD
00000b5a: PUSH4 0x673f032f
00000b5f: PUSH1 0xe1
00000b61: SHL
00000b62: DUP2
00000b63: MSTORE
00000b64: DUP8
00000b65: SWAP1
00000b66: REVERT
00000b67: JUMPDEST
00000b68: DUP1
00000b69: PUSH2 0x0b74
00000b6c: PUSH2 0x0b7a
00000b6f: SWAP3
00000b70: PUSH2 0x0f4c
00000b73: JUMP
00000b74: JUMPDEST
00000b75: DUP1
00000b76: PUSH2 0x038c
00000b79: JUMP
00000b7a: JUMPDEST
00000b7b: PUSH0
00000b7c: PUSH2 0x0768
00000b7f: JUMP
00000b80: JUMPDEST
00000b81: PUSH1 0x40
00000b83: MLOAD
00000b84: PUSH4 0xd92e233d
00000b89: PUSH1 0xe0
00000b8b: SHL
00000b8c: DUP2
00000b8d: MSTORE
00000b8e: PUSH1 0x04
00000b90: SWAP1
00000b91: REVERT
00000b92: JUMPDEST
00000b93: CALLVALUE
00000b94: PUSH2 0x0317
00000b97: JUMPI
00000b98: PUSH0
00000b99: CALLDATASIZE
00000b9a: PUSH1 0x03
00000b9c: NOT
00000b9d: ADD
00000b9e: SLT
00000b9f: PUSH2 0x0317
00000ba2: JUMPI
00000ba3: PUSH1 0x20
00000ba5: PUSH2 0x0384
00000ba8: PUSH2 0x2248
00000bab: JUMP
00000bac: JUMPDEST
00000bad: CALLVALUE
00000bae: PUSH2 0x0317
00000bb1: JUMPI
00000bb2: PUSH0
00000bb3: CALLDATASIZE
00000bb4: PUSH1 0x03
00000bb6: NOT
00000bb7: ADD
00000bb8: SLT
00000bb9: PUSH2 0x0317
00000bbc: JUMPI
00000bbd: PUSH1 0x20
00000bbf: PUSH2 0x0bc6
00000bc2: PUSH2 0x227e
00000bc5: JUMP
00000bc6: JUMPDEST
00000bc7: PUSH1 0x40
00000bc9: MLOAD
00000bca: PUSH1 0x01
00000bcc: PUSH1 0x01
00000bce: PUSH1 0xa0
00000bd0: SHL
00000bd1: SUB
00000bd2: SWAP1
00000bd3: SWAP2
00000bd4: AND
00000bd5: DUP2
00000bd6: MSTORE
00000bd7: RETURN
00000bd8: JUMPDEST
00000bd9: CALLVALUE
00000bda: PUSH2 0x0317
00000bdd: JUMPI
00000bde: PUSH0
00000bdf: CALLDATASIZE
00000be0: PUSH1 0x03
00000be2: NOT
00000be3: ADD
00000be4: SLT
00000be5: PUSH2 0x0317
00000be8: JUMPI
00000be9: PUSH1 0x20
00000beb: PUSH1 0x40
00000bed: MLOAD
00000bee: PUSH32 0xa90b5863127e5f962890f832f07b9f40c8df2fc043326a0e4b538552d600f2d9
00000c0f: DUP2
00000c10: MSTORE
00000c11: RETURN
00000c12: JUMPDEST
00000c13: PUSH1 0x20
00000c15: PUSH2 0x0384
00000c18: PUSH2 0x0c20
00000c1b: CALLDATASIZE
00000c1c: PUSH2 0x0659
00000c1f: JUMP
00000c20: JUMPDEST
00000c21: SWAP2
00000c22: PUSH2 0x22b9
00000c25: JUMP
00000c26: JUMPDEST
00000c27: CALLVALUE
00000c28: PUSH2 0x0317
00000c2b: JUMPI
00000c2c: PUSH0
00000c2d: CALLDATASIZE
00000c2e: PUSH1 0x03
00000c30: NOT
00000c31: ADD
00000c32: SLT
00000c33: PUSH2 0x0317
00000c36: JUMPI
00000c37: PUSH1 0x20
00000c39: PUSH1 0x01
00000c3b: PUSH1 0x01
00000c3d: PUSH1 0x80
00000c3f: SHL
00000c40: SUB
00000c41: PUSH1 0x98
00000c43: SLOAD
00000c44: AND
00000c45: PUSH1 0x40
00000c47: MLOAD
00000c48: SWAP1
00000c49: DUP2
00000c4a: MSTORE
00000c4b: RETURN
00000c4c: JUMPDEST
00000c4d: SWAP2
00000c4e: DUP2
00000c4f: PUSH1 0x1f
00000c51: DUP5
00000c52: ADD
00000c53: SLT
00000c54: ISZERO
00000c55: PUSH2 0x0317
00000c58: JUMPI
00000c59: DUP3
00000c5a: CALLDATALOAD
00000c5b: SWAP2
00000c5c: PUSH1 0x01
00000c5e: PUSH1 0x01
00000c60: PUSH1 0x40
00000c62: SHL
00000c63: SUB
00000c64: DUP4
00000c65: GT
00000c66: PUSH2 0x0317
00000c69: JUMPI
00000c6a: PUSH1 0x20
00000c6c: DUP4
00000c6d: DUP2
00000c6e: DUP7
00000c6f: ADD
00000c70: SWAP6
00000c71: ADD
00000c72: ADD
00000c73: GT
00000c74: PUSH2 0x0317
00000c77: JUMPI
00000c78: JUMP
00000c79: JUMPDEST
00000c7a: PUSH1 0x20
00000c7c: PUSH1 0x03
00000c7e: NOT
00000c7f: DUP3
00000c80: ADD
00000c81: SLT
00000c82: PUSH2 0x0317
00000c85: JUMPI
00000c86: PUSH1 0x04
00000c88: CALLDATALOAD
00000c89: SWAP1
00000c8a: PUSH1 0x01
00000c8c: PUSH1 0x01
00000c8e: PUSH1 0x40
00000c90: SHL
00000c91: SUB
00000c92: DUP3
00000c93: GT
00000c94: PUSH2 0x0317
00000c97: JUMPI
00000c98: PUSH2 0x0ca3
00000c9b: SWAP2
00000c9c: PUSH1 0x04
00000c9e: ADD
00000c9f: PUSH2 0x0c4c
00000ca2: JUMP
00000ca3: JUMPDEST
00000ca4: SWAP1
00000ca5: SWAP2
00000ca6: JUMP
00000ca7: JUMPDEST
00000ca8: PUSH2 0x0cb0
00000cab: CALLDATASIZE
00000cac: PUSH2 0x0c79
00000caf: JUMP
00000cb0: JUMPDEST
00000cb1: SWAP1
00000cb2: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000cd3: SWAP2
00000cd4: DUP3
00000cd5: SLOAD
00000cd6: SWAP2
00000cd7: PUSH1 0xff
00000cd9: DUP4
00000cda: PUSH1 0x40
00000cdc: SHR
00000cdd: AND
00000cde: DUP1
00000cdf: ISZERO
00000ce0: PUSH2 0x0d59
00000ce3: JUMPI
00000ce4: JUMPDEST
00000ce5: PUSH2 0x0d47
00000ce8: JUMPI
00000ce9: PUSH9 0x010000000000000002
00000cf3: PUSH2 0x0d0a
00000cf6: SWAP4
00000cf7: PUSH9 0xffffffffffffffffff
00000d01: NOT
00000d02: AND
00000d03: OR
00000d04: DUP5
00000d05: SSTORE
00000d06: PUSH2 0x2399
00000d09: JUMP
00000d0a: JUMPDEST
00000d0b: PUSH9 0xff0000000000000000
00000d15: NOT
00000d16: DUP2
00000d17: SLOAD
00000d18: AND
00000d19: SWAP1
00000d1a: SSTORE
00000d1b: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
00000d3c: PUSH1 0x20
00000d3e: PUSH1 0x40
00000d40: MLOAD
00000d41: PUSH1 0x02
00000d43: DUP2
00000d44: MSTORE
00000d45: LOG1
00000d46: STOP
00000d47: JUMPDEST
00000d48: PUSH1 0x40
00000d4a: MLOAD
00000d4b: PUSH4 0xf92ee8a9
00000d50: PUSH1 0xe0
00000d52: SHL
00000d53: DUP2
00000d54: MSTORE
00000d55: PUSH1 0x04
00000d57: SWAP1
00000d58: REVERT
00000d59: JUMPDEST
00000d5a: POP
00000d5b: PUSH1 0x02
00000d5d: PUSH1 0x01
00000d5f: PUSH1 0x01
00000d61: PUSH1 0x40
00000d63: SHL
00000d64: SUB
00000d65: DUP5
00000d66: AND
00000d67: LT
00000d68: ISZERO
00000d69: PUSH2 0x0ce4
00000d6c: JUMP
00000d6d: JUMPDEST
00000d6e: CALLVALUE
00000d6f: PUSH2 0x0317
00000d72: JUMPI
00000d73: PUSH2 0x0d7b
00000d76: CALLDATASIZE
00000d77: PUSH2 0x06c7
00000d7a: JUMP
00000d7b: JUMPDEST
00000d7c: PUSH1 0x40
00000d7e: MLOAD
00000d7f: PUSH4 0x057453a7
00000d84: PUSH1 0xe3
00000d86: SHL
00000d87: DUP2
00000d88: MSTORE
00000d89: SWAP1
00000d8a: SWAP2
00000d8b: SWAP1
00000d8c: PUSH1 0x01
00000d8e: PUSH1 0x01
00000d90: PUSH1 0xa0
00000d92: SHL
00000d93: SUB
00000d94: SWAP1
00000d95: PUSH1 0x20
00000d97: DUP2
00000d98: PUSH1 0x04
00000d9a: DUP2
00000d9b: PUSH32 0x000000000000000000000000287d1e2a8de183a8bf8f2b09fa1340fbd766eb59
00000dbc: DUP7
00000dbd: AND
00000dbe: GAS
00000dbf: STATICCALL
00000dc0: DUP1
00000dc1: ISZERO
00000dc2: PUSH2 0x0561
00000dc5: JUMPI
00000dc6: DUP3
00000dc7: SWAP2
00000dc8: PUSH0
00000dc9: SWAP2
00000dca: PUSH2 0x0e4b
00000dcd: JUMPI
00000dce: JUMPDEST
00000dcf: POP
00000dd0: AND
00000dd1: CALLER
00000dd2: SUB
00000dd3: PUSH2 0x0e39
00000dd6: JUMPI
00000dd7: DUP2
00000dd8: PUSH2 0x0a73
00000ddb: PUSH2 0x0e06
00000dde: DUP7
00000ddf: DUP7
00000de0: PUSH32 0x57f5eb636bf62215c111b54545422f11dfb0cb115f606be905f0be08e8859dd3
00000e01: SWAP7
00000e02: PUSH2 0x31a0
00000e05: JUMP
00000e06: JUMPDEST
00000e07: PUSH1 0x40
00000e09: DUP1
00000e0a: MLOAD
00000e0b: PUSH1 0x01
00000e0d: PUSH1 0x01
00000e0f: PUSH1 0xa0
00000e11: SHL
00000e12: SUB
00000e13: SWAP1
00000e14: SWAP9
00000e15: AND
00000e16: DUP9
00000e17: MSTORE
00000e18: PUSH1 0x20
00000e1a: DUP9
00000e1b: ADD
00000e1c: SWAP9
00000e1d: SWAP1
00000e1e: SWAP9
00000e1f: MSTORE
00000e20: SWAP7
00000e21: DUP7
00000e22: ADD
00000e23: MSTORE
00000e24: PUSH1 0x60
00000e26: DUP6
00000e27: ADD
00000e28: SWAP6
00000e29: SWAP1
00000e2a: SWAP6
00000e2b: MSTORE
00000e2c: AND
00000e2d: SWAP3
00000e2e: CALLER
00000e2f: SWAP3
00000e30: SWAP1
00000e31: DUP2
00000e32: SWAP1
00000e33: PUSH1 0x80
00000e35: DUP3
00000e36: ADD
00000e37: SWAP1
00000e38: JUMP
00000e39: JUMPDEST
00000e3a: PUSH1 0x40
00000e3c: MLOAD
00000e3d: PUSH4 0x4ca88867
00000e42: PUSH1 0xe0
00000e44: SHL
00000e45: DUP2
00000e46: MSTORE
00000e47: PUSH1 0x04
00000e49: SWAP1
00000e4a: REVERT
00000e4b: JUMPDEST
00000e4c: PUSH2 0x0e6d
00000e4f: SWAP2
00000e50: POP
00000e51: PUSH1 0x20
00000e53: RETURNDATASIZE
00000e54: PUSH1 0x20
00000e56: GT
00000e57: PUSH2 0x0e73
00000e5a: JUMPI
00000e5b: JUMPDEST
00000e5c: PUSH2 0x0e65
00000e5f: DUP2
00000e60: DUP4
00000e61: PUSH2 0x0f95
00000e64: JUMP
00000e65: JUMPDEST
00000e66: DUP2
00000e67: ADD
00000e68: SWAP1
00000e69: PUSH2 0x2305
00000e6c: JUMP
00000e6d: JUMPDEST
00000e6e: PUSH0
00000e6f: PUSH2 0x0dce
00000e72: JUMP
00000e73: JUMPDEST
00000e74: POP
00000e75: RETURNDATASIZE
00000e76: PUSH2 0x0e5b
00000e79: JUMP
00000e7a: JUMPDEST
00000e7b: CALLVALUE
00000e7c: PUSH2 0x0317
00000e7f: JUMPI
00000e80: PUSH0
00000e81: CALLDATASIZE
00000e82: PUSH1 0x03
00000e84: NOT
00000e85: ADD
00000e86: SLT
00000e87: PUSH2 0x0317
00000e8a: JUMPI
00000e8b: PUSH1 0x65
00000e8d: SLOAD
00000e8e: PUSH1 0x40
00000e90: MLOAD
00000e91: PUSH1 0x01
00000e93: PUSH1 0x01
00000e95: PUSH1 0xa0
00000e97: SHL
00000e98: SUB
00000e99: SWAP1
00000e9a: SWAP2
00000e9b: AND
00000e9c: DUP2
00000e9d: MSTORE
00000e9e: PUSH1 0x20
00000ea0: SWAP1
00000ea1: RETURN
00000ea2: JUMPDEST
00000ea3: CALLVALUE
00000ea4: PUSH2 0x0317
00000ea7: JUMPI
00000ea8: PUSH1 0x20
00000eaa: CALLDATASIZE
00000eab: PUSH1 0x03
00000ead: NOT
00000eae: ADD
00000eaf: SLT
00000eb0: PUSH2 0x0317
00000eb3: JUMPI
00000eb4: PUSH1 0x04
00000eb6: CALLDATALOAD
00000eb7: PUSH2 0x0ebf
00000eba: DUP2
00000ebb: PUSH2 0x0306
00000ebe: JUMP
00000ebf: JUMPDEST
00000ec0: PUSH1 0x01
00000ec2: DUP1
00000ec3: PUSH1 0xa0
00000ec5: SHL
00000ec6: SUB
00000ec7: AND
00000ec8: PUSH0
00000ec9: MSTORE
00000eca: PUSH2 0x0137
00000ecd: PUSH1 0x20
00000ecf: MSTORE
00000ed0: PUSH1 0x20
00000ed2: PUSH1 0x40
00000ed4: PUSH0
00000ed5: KECCAK256
00000ed6: PUSH1 0x40
00000ed8: MLOAD
00000ed9: SWAP1
00000eda: PUSH2 0x0ee2
00000edd: DUP3
00000ede: PUSH2 0x0f2c
00000ee1: JUMP
00000ee2: JUMPDEST
00000ee3: SLOAD
00000ee4: SWAP1
00000ee5: PUSH1 0x01
00000ee7: PUSH1 0x01
00000ee9: PUSH1 0x80
00000eeb: SHL
00000eec: SUB
00000eed: SWAP2
00000eee: DUP3
00000eef: DUP2
00000ef0: AND
00000ef1: SWAP1
00000ef2: DUP2
00000ef3: DUP4
00000ef4: MSTORE
00000ef5: PUSH1 0x80
00000ef7: SHR
00000ef8: DUP5
00000ef9: DUP4
00000efa: ADD
00000efb: MSTORE
00000efc: PUSH2 0x0f0a
00000eff: JUMPI
00000f00: JUMPDEST
00000f01: MLOAD
00000f02: AND
00000f03: PUSH1 0x40
00000f05: MLOAD
00000f06: SWAP1
00000f07: DUP2
00000f08: MSTORE
00000f09: RETURN
00000f0a: JUMPDEST
00000f0b: PUSH2 0x0f13
00000f0e: DUP2
00000f0f: PUSH2 0x29bb
00000f12: JUMP
00000f13: JUMPDEST
00000f14: PUSH2 0x0f00
00000f17: JUMP
00000f18: JUMPDEST
00000f19: PUSH4 0x4e487b71
00000f1e: PUSH1 0xe0
00000f20: SHL
00000f21: PUSH0
00000f22: MSTORE
00000f23: PUSH1 0x41
00000f25: PUSH1 0x04
00000f27: MSTORE
00000f28: PUSH1 0x24
00000f2a: PUSH0
00000f2b: REVERT
00000f2c: JUMPDEST
00000f2d: PUSH1 0x40
00000f2f: DUP2
00000f30: ADD
00000f31: SWAP1
00000f32: DUP2
00000f33: LT
00000f34: PUSH1 0x01
00000f36: PUSH1 0x01
00000f38: PUSH1 0x40
00000f3a: SHL
00000f3b: SUB
00000f3c: DUP3
00000f3d: GT
00000f3e: OR
00000f3f: PUSH2 0x0f47
00000f42: JUMPI
00000f43: PUSH1 0x40
00000f45: MSTORE
00000f46: JUMP
00000f47: JUMPDEST
00000f48: PUSH2 0x0f18
00000f4b: JUMP
00000f4c: JUMPDEST
00000f4d: PUSH1 0x01
00000f4f: PUSH1 0x01
00000f51: PUSH1 0x40
00000f53: SHL
00000f54: SUB
00000f55: DUP2
00000f56: GT
00000f57: PUSH2 0x0f47
00000f5a: JUMPI
00000f5b: PUSH1 0x40
00000f5d: MSTORE
00000f5e: JUMP
00000f5f: JUMPDEST
00000f60: PUSH1 0x60
00000f62: DUP2
00000f63: ADD
00000f64: SWAP1
00000f65: DUP2
00000f66: LT
00000f67: PUSH1 0x01
00000f69: PUSH1 0x01
00000f6b: PUSH1 0x40
00000f6d: SHL
00000f6e: SUB
00000f6f: DUP3
00000f70: GT
00000f71: OR
00000f72: PUSH2 0x0f47
00000f75: JUMPI
00000f76: PUSH1 0x40
00000f78: MSTORE
00000f79: JUMP
00000f7a: JUMPDEST
00000f7b: PUSH1 0x80
00000f7d: DUP2
00000f7e: ADD
00000f7f: SWAP1
00000f80: DUP2
00000f81: LT
00000f82: PUSH1 0x01
00000f84: PUSH1 0x01
00000f86: PUSH1 0x40
00000f88: SHL
00000f89: SUB
00000f8a: DUP3
00000f8b: GT
00000f8c: OR
00000f8d: PUSH2 0x0f47
00000f90: JUMPI
00000f91: PUSH1 0x40
00000f93: MSTORE
00000f94: JUMP
00000f95: JUMPDEST
00000f96: SWAP1
00000f97: PUSH1 0x1f
00000f99: DUP1
00000f9a: NOT
00000f9b: SWAP2
00000f9c: ADD
00000f9d: AND
00000f9e: DUP2
00000f9f: ADD
00000fa0: SWAP1
00000fa1: DUP2
00000fa2: LT
00000fa3: PUSH1 0x01
00000fa5: PUSH1 0x01
00000fa7: PUSH1 0x40
00000fa9: SHL
00000faa: SUB
00000fab: DUP3
00000fac: GT
00000fad: OR
00000fae: PUSH2 0x0f47
00000fb1: JUMPI
00000fb2: PUSH1 0x40
00000fb4: MSTORE
00000fb5: JUMP
00000fb6: JUMPDEST
00000fb7: PUSH1 0x40
00000fb9: MLOAD
00000fba: SWAP1
00000fbb: PUSH2 0x0fc3
00000fbe: DUP3
00000fbf: PUSH2 0x0f2c
00000fc2: JUMP
00000fc3: JUMPDEST
00000fc4: JUMP
00000fc5: JUMPDEST
00000fc6: PUSH1 0x01
00000fc8: PUSH1 0x01
00000fca: PUSH1 0x40
00000fcc: SHL
00000fcd: SUB
00000fce: DUP2
00000fcf: GT
00000fd0: PUSH2 0x0f47
00000fd3: JUMPI
00000fd4: PUSH1 0x1f
00000fd6: ADD
00000fd7: PUSH1 0x1f
00000fd9: NOT
00000fda: AND
00000fdb: PUSH1 0x20
00000fdd: ADD
00000fde: SWAP1
00000fdf: JUMP
00000fe0: JUMPDEST
00000fe1: SWAP3
00000fe2: SWAP2
00000fe3: SWAP3
00000fe4: PUSH2 0x0fec
00000fe7: DUP3
00000fe8: PUSH2 0x0fc5
00000feb: JUMP
00000fec: JUMPDEST
00000fed: SWAP2
00000fee: PUSH2 0x0ffa
00000ff1: PUSH1 0x40
00000ff3: MLOAD
00000ff4: SWAP4
00000ff5: DUP5
00000ff6: PUSH2 0x0f95
00000ff9: JUMP
00000ffa: JUMPDEST
00000ffb: DUP3
00000ffc: SWAP5
00000ffd: DUP2
00000ffe: DUP5
00000fff: MSTORE
00001000: DUP2
00001001: DUP4
00001002: ADD
00001003: GT
00001004: PUSH2 0x0317
00001007: JUMPI
00001008: DUP3
00001009: DUP2
0000100a: PUSH1 0x20
0000100c: SWAP4
0000100d: DUP5
0000100e: PUSH0
0000100f: SWAP7
00001010: ADD
00001011: CALLDATACOPY
00001012: ADD
00001013: ADD
00001014: MSTORE
00001015: JUMP
00001016: JUMPDEST
00001017: PUSH1 0x40
00001019: DUP1
0000101a: PUSH1 0x03
0000101c: NOT
0000101d: CALLDATASIZE
0000101e: ADD
0000101f: SLT
00001020: PUSH2 0x0317
00001023: JUMPI
00001024: PUSH1 0x04
00001026: SWAP1
00001027: DUP2
00001028: CALLDATALOAD
00001029: PUSH2 0x1031
0000102c: DUP2
0000102d: PUSH2 0x0306
00001030: JUMP
00001031: JUMPDEST
00001032: PUSH1 0x24
00001034: CALLDATALOAD
00001035: PUSH1 0x01
00001037: PUSH1 0x01
00001039: PUSH1 0x40
0000103b: SHL
0000103c: SUB
0000103d: DUP2
0000103e: GT
0000103f: PUSH2 0x0317
00001042: JUMPI
00001043: CALLDATASIZE
00001044: PUSH1 0x23
00001046: DUP3
00001047: ADD
00001048: SLT
00001049: ISZERO
0000104a: PUSH2 0x0317
0000104d: JUMPI
0000104e: PUSH2 0x1060
00001051: SWAP1
00001052: CALLDATASIZE
00001053: SWAP1
00001054: PUSH1 0x24
00001056: DUP2
00001057: DUP8
00001058: ADD
00001059: CALLDATALOAD
0000105a: SWAP2
0000105b: ADD
0000105c: PUSH2 0x0fe0
0000105f: JUMP
00001060: JUMPDEST
00001061: SWAP2
00001062: PUSH2 0x1069
00001065: PUSH2 0x37bc
00001068: JUMP
00001069: JUMPDEST
0000106a: DUP1
0000106b: MLOAD
0000106c: SWAP3
0000106d: PUSH2 0x10a0
00001070: DUP5
00001071: PUSH2 0x1092
00001074: PUSH1 0x20
00001076: SWAP4
00001077: PUSH4 0x439fab91
0000107c: PUSH1 0xe0
0000107e: SHL
0000107f: DUP6
00001080: DUP5
00001081: ADD
00001082: MSTORE
00001083: DUP5
00001084: PUSH1 0x24
00001086: DUP5
00001087: ADD
00001088: MSTORE
00001089: PUSH1 0x44
0000108b: DUP4
0000108c: ADD
0000108d: SWAP1
0000108e: PUSH2 0x1bb0
00001091: JUMP
00001092: JUMPDEST
00001093: SUB
00001094: PUSH1 0x1f
00001096: NOT
00001097: DUP2
00001098: ADD
00001099: DUP7
0000109a: MSTORE
0000109b: DUP6
0000109c: PUSH2 0x0f95
0000109f: JUMP
000010a0: JUMPDEST
000010a1: PUSH2 0x10a8
000010a4: PUSH2 0x37bc
000010a7: JUMP
000010a8: JUMPDEST
000010a9: PUSH2 0x10b0
000010ac: PUSH2 0x3895
000010af: JUMP
000010b0: JUMPDEST
000010b1: PUSH1 0x01
000010b3: PUSH1 0x01
000010b5: PUSH1 0xa0
000010b7: SHL
000010b8: SUB
000010b9: DUP4
000010ba: DUP2
000010bb: AND
000010bc: DUP1
000010bd: ISZERO
000010be: SWAP3
000010bf: SWAP2
000010c0: SWAP1
000010c1: DUP8
000010c2: SWAP1
000010c3: DUP5
000010c4: ISZERO
000010c5: PUSH2 0x1267
000010c8: JUMPI
000010c9: JUMPDEST
000010ca: DUP5
000010cb: ISZERO
000010cc: PUSH2 0x11f9
000010cf: JUMPI
000010d0: JUMPDEST
000010d1: DUP5
000010d2: ISZERO
000010d3: PUSH2 0x1195
000010d6: JUMPI
000010d7: JUMPDEST
000010d8: POP
000010d9: POP
000010da: DUP3
000010db: ISZERO
000010dc: PUSH2 0x10ff
000010df: JUMPI
000010e0: JUMPDEST
000010e1: POP
000010e2: POP
000010e3: PUSH2 0x10f0
000010e6: JUMPI
000010e7: PUSH2 0x0020
000010ea: DUP4
000010eb: DUP4
000010ec: PUSH2 0x471a
000010ef: JUMP
000010f0: JUMPDEST
000010f1: MLOAD
000010f2: PUSH4 0x55299b49
000010f7: PUSH1 0xe0
000010f9: SHL
000010fa: DUP2
000010fb: MSTORE
000010fc: DUP4
000010fd: SWAP1
000010fe: REVERT
000010ff: JUMPDEST
00001100: DUP4
00001101: MLOAD
00001102: PUSH4 0x45da87c5
00001107: PUSH1 0xe0
00001109: SHL
0000110a: DUP2
0000110b: MSTORE
0000110c: PUSH1 0x01
0000110e: PUSH1 0x01
00001110: PUSH1 0xa0
00001112: SHL
00001113: SUB
00001114: DUP7
00001115: AND
00001116: DUP9
00001117: DUP3
00001118: ADD
00001119: SWAP1
0000111a: DUP2
0000111b: MSTORE
0000111c: SWAP3
0000111d: SWAP4
0000111e: POP
0000111f: SWAP2
00001120: DUP4
00001121: SWAP2
00001122: DUP4
00001123: SWAP2
00001124: DUP3
00001125: SWAP1
00001126: DUP2
00001127: SWAP1
00001128: PUSH1 0x20
0000112a: ADD
0000112b: SUB
0000112c: SWAP2
0000112d: PUSH32 0x0000000000000000000000003a0008a588772446f6e656133c2d5029cc4fc20e
0000114e: AND
0000114f: GAS
00001150: STATICCALL
00001151: SWAP2
00001152: DUP3
00001153: ISZERO
00001154: PUSH2 0x0561
00001157: JUMPI
00001158: PUSH0
00001159: SWAP3
0000115a: PUSH2 0x1168
0000115d: JUMPI
0000115e: JUMPDEST
0000115f: POP
00001160: POP
00001161: ISZERO
00001162: PUSH0
00001163: DUP1
00001164: PUSH2 0x10e0
00001167: JUMP
00001168: JUMPDEST
00001169: PUSH2 0x1187
0000116c: SWAP3
0000116d: POP
0000116e: DUP1
0000116f: RETURNDATASIZE
00001170: LT
00001171: PUSH2 0x118e
00001174: JUMPI
00001175: JUMPDEST
00001176: PUSH2 0x117f
00001179: DUP2
0000117a: DUP4
0000117b: PUSH2 0x0f95
0000117e: JUMP
0000117f: JUMPDEST
00001180: DUP2
00001181: ADD
00001182: SWAP1
00001183: PUSH2 0x2540
00001186: JUMP
00001187: JUMPDEST
00001188: PUSH0
00001189: DUP1
0000118a: PUSH2 0x115e
0000118d: JUMP
0000118e: JUMPDEST
0000118f: POP
00001190: RETURNDATASIZE
00001191: PUSH2 0x1175
00001194: JUMP
00001195: JUMPDEST
00001196: DUP6
00001197: MLOAD
00001198: PUSH4 0x054fd4d5
0000119d: PUSH1 0xe4
0000119f: SHL
000011a0: DUP2
000011a1: MSTORE
000011a2: SWAP3
000011a3: SWAP5
000011a4: POP
000011a5: DUP4
000011a6: SWAP2
000011a7: DUP4
000011a8: SWAP2
000011a9: DUP3
000011aa: SWAP1
000011ab: GAS
000011ac: STATICCALL
000011ad: SWAP1
000011ae: DUP2
000011af: ISZERO
000011b0: PUSH2 0x0561
000011b3: JUMPI
000011b4: PUSH1 0x03
000011b6: SWAP2
000011b7: PUSH1 0xff
000011b9: SWAP2
000011ba: PUSH0
000011bb: SWAP2
000011bc: PUSH2 0x11cc
000011bf: JUMPI
000011c0: JUMPDEST
000011c1: POP
000011c2: AND
000011c3: EQ
000011c4: ISZERO
000011c5: SWAP2
000011c6: DUP7
000011c7: PUSH0
000011c8: PUSH2 0x10d7
000011cb: JUMP
000011cc: JUMPDEST
000011cd: PUSH2 0x11ec
000011d0: SWAP2
000011d1: POP
000011d2: DUP5
000011d3: RETURNDATASIZE
000011d4: DUP7
000011d5: GT
000011d6: PUSH2 0x11f2
000011d9: JUMPI
000011da: JUMPDEST
000011db: PUSH2 0x11e4
000011de: DUP2
000011df: DUP4
000011e0: PUSH2 0x0f95
000011e3: JUMP
000011e4: JUMPDEST
000011e5: DUP2
000011e6: ADD
000011e7: SWAP1
000011e8: PUSH2 0x4701
000011eb: JUMP
000011ec: JUMPDEST
000011ed: PUSH0
000011ee: PUSH2 0x11c0
000011f1: JUMP
000011f2: JUMPDEST
000011f3: POP
000011f4: RETURNDATASIZE
000011f5: PUSH2 0x11da
000011f8: JUMP
000011f9: JUMPDEST
000011fa: SWAP4
000011fb: POP
000011fc: POP
000011fd: DUP4
000011fe: MLOAD
000011ff: PUSH4 0x198ca605
00001204: PUSH1 0xe1
00001206: SHL
00001207: DUP2
00001208: MSTORE
00001209: DUP3
0000120a: DUP2
0000120b: DUP10
0000120c: DUP2
0000120d: DUP8
0000120e: GAS
0000120f: STATICCALL
00001210: SWAP1
00001211: DUP2
00001212: ISZERO
00001213: PUSH2 0x0561
00001216: JUMPI
00001217: DUP9
00001218: SWAP2
00001219: PUSH32 0xa90b5863127e5f962890f832f07b9f40c8df2fc043326a0e4b538552d600f2d9
0000123a: SWAP2
0000123b: PUSH0
0000123c: SWAP2
0000123d: PUSH2 0x124a
00001240: JUMPI
00001241: JUMPDEST
00001242: POP
00001243: EQ
00001244: ISZERO
00001245: SWAP4
00001246: PUSH2 0x10d0
00001249: JUMP
0000124a: JUMPDEST
0000124b: PUSH2 0x1261
0000124e: SWAP2
0000124f: POP
00001250: DUP6
00001251: RETURNDATASIZE
00001252: DUP8
00001253: GT
00001254: PUSH2 0x055a
00001257: JUMPI
00001258: PUSH2 0x054c
0000125b: DUP2
0000125c: DUP4
0000125d: PUSH2 0x0f95
00001260: JUMP
00001261: JUMPDEST
00001262: PUSH0
00001263: PUSH2 0x1241
00001266: JUMP
00001267: JUMPDEST
00001268: PUSH0
00001269: DUP1
0000126a: MLOAD
0000126b: PUSH1 0x20
0000126d: PUSH2 0x4b9c
00001270: DUP4
00001271: CODECOPY
00001272: DUP2
00001273: MLOAD
00001274: SWAP2
00001275: MSTORE
00001276: SLOAD
00001277: SWAP1
00001278: SWAP5
00001279: POP
0000127a: DUP5
0000127b: SWAP1
0000127c: PUSH2 0x1295
0000127f: SWAP1
00001280: PUSH1 0x01
00001282: PUSH1 0x01
00001284: PUSH1 0xa0
00001286: SHL
00001287: SUB
00001288: AND
00001289: JUMPDEST
0000128a: PUSH1 0x01
0000128c: PUSH1 0x01
0000128e: PUSH1 0xa0
00001290: SHL
00001291: SUB
00001292: AND
00001293: SWAP1
00001294: JUMP
00001295: JUMPDEST
00001296: EQ
00001297: SWAP4
00001298: PUSH2 0x10c9
0000129b: JUMP
0000129c: JUMPDEST
0000129d: CALLVALUE
0000129e: PUSH2 0x0317
000012a1: JUMPI
000012a2: PUSH0
000012a3: CALLDATASIZE
000012a4: PUSH1 0x03
000012a6: NOT
000012a7: ADD
000012a8: SLT
000012a9: PUSH2 0x0317
000012ac: JUMPI
000012ad: PUSH32 0x00000000000000000000000081ab00dd782492d62105b8fa9b03e82d4b57798c
000012ce: PUSH1 0x01
000012d0: PUSH1 0x01
000012d2: PUSH1 0xa0
000012d4: SHL
000012d5: SUB
000012d6: AND
000012d7: ADDRESS
000012d8: SUB
000012d9: PUSH2 0x12f3
000012dc: JUMPI
000012dd: PUSH1 0x20
000012df: PUSH1 0x40
000012e1: MLOAD
000012e2: PUSH0
000012e3: DUP1
000012e4: MLOAD
000012e5: PUSH1 0x20
000012e7: PUSH2 0x4b9c
000012ea: DUP4
000012eb: CODECOPY
000012ec: DUP2
000012ed: MLOAD
000012ee: SWAP2
000012ef: MSTORE
000012f0: DUP2
000012f1: MSTORE
000012f2: RETURN
000012f3: JUMPDEST
000012f4: PUSH1 0x40
000012f6: MLOAD
000012f7: PUSH4 0x703e46dd
000012fc: PUSH1 0xe1
000012fe: SHL
000012ff: DUP2
00001300: MSTORE
00001301: PUSH1 0x04
00001303: SWAP1
00001304: REVERT
00001305: JUMPDEST
00001306: PUSH0
00001307: CALLDATASIZE
00001308: PUSH1 0x03
0000130a: NOT
0000130b: ADD
0000130c: SLT
0000130d: PUSH2 0x0317
00001310: JUMPI
00001311: PUSH1 0x01
00001313: PUSH1 0x01
00001315: PUSH1 0xa0
00001317: SHL
00001318: SUB
00001319: PUSH2 0x1320
0000131c: PUSH2 0x227e
0000131f: JUMP
00001320: JUMPDEST
00001321: AND
00001322: CALLER
00001323: SUB
00001324: PUSH2 0x0e39
00001327: JUMPI
00001328: STOP
00001329: JUMPDEST
0000132a: CALLVALUE
0000132b: PUSH2 0x0317
0000132e: JUMPI
0000132f: PUSH0
00001330: CALLDATASIZE
00001331: PUSH1 0x03
00001333: NOT
00001334: ADD
00001335: SLT
00001336: PUSH2 0x0317
00001339: JUMPI
0000133a: PUSH1 0x20
0000133c: PUSH1 0x40
0000133e: MLOAD
0000133f: PUSH1 0x02
00001341: DUP2
00001342: MSTORE
00001343: RETURN
00001344: JUMPDEST
00001345: CALLVALUE
00001346: PUSH2 0x0317
00001349: JUMPI
0000134a: PUSH0
0000134b: CALLDATASIZE
0000134c: PUSH1 0x03
0000134e: NOT
0000134f: ADD
00001350: SLT
00001351: PUSH2 0x0317
00001354: JUMPI
00001355: PUSH0
00001356: DUP1
00001357: MLOAD
00001358: PUSH1 0x20
0000135a: PUSH2 0x4b9c
0000135d: DUP4
0000135e: CODECOPY
0000135f: DUP2
00001360: MLOAD
00001361: SWAP2
00001362: MSTORE
00001363: SLOAD
00001364: PUSH1 0x40
00001366: MLOAD
00001367: PUSH1 0x01
00001369: PUSH1 0x01
0000136b: PUSH1 0xa0
0000136d: SHL
0000136e: SUB
0000136f: SWAP1
00001370: SWAP2
00001371: AND
00001372: DUP2
00001373: MSTORE
00001374: PUSH1 0x20
00001376: SWAP1
00001377: RETURN
00001378: JUMPDEST
00001379: CALLVALUE
0000137a: PUSH2 0x0317
0000137d: JUMPI
0000137e: PUSH0
0000137f: CALLDATASIZE
00001380: PUSH1 0x03
00001382: NOT
00001383: ADD
00001384: SLT
00001385: PUSH2 0x0317
00001388: JUMPI
00001389: PUSH1 0x20
0000138b: PUSH2 0x0384
0000138e: PUSH2 0x2466
00001391: JUMP
00001392: JUMPDEST
00001393: CALLVALUE
00001394: PUSH2 0x0317
00001397: JUMPI
00001398: PUSH1 0x20
0000139a: CALLDATASIZE
0000139b: PUSH1 0x03
0000139d: NOT
0000139e: ADD
0000139f: SLT
000013a0: PUSH2 0x0317
000013a3: JUMPI
000013a4: PUSH1 0x20
000013a6: PUSH2 0x0384
000013a9: PUSH1 0x04
000013ab: CALLDATALOAD
000013ac: PUSH2 0x2481
000013af: JUMP
000013b0: JUMPDEST
000013b1: CALLVALUE
000013b2: PUSH2 0x0317
000013b5: JUMPI
000013b6: PUSH0
000013b7: CALLDATASIZE
000013b8: PUSH1 0x03
000013ba: NOT
000013bb: ADD
000013bc: SLT
000013bd: PUSH2 0x0317
000013c0: JUMPI
000013c1: PUSH1 0x40
000013c3: MLOAD
000013c4: PUSH4 0x3eb1acf7
000013c9: PUSH1 0xe1
000013cb: SHL
000013cc: DUP2
000013cd: MSTORE
000013ce: ADDRESS
000013cf: PUSH1 0x04
000013d1: DUP3
000013d2: ADD
000013d3: MSTORE
000013d4: PUSH1 0x20
000013d6: DUP2
000013d7: PUSH1 0x24
000013d9: DUP2
000013da: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
000013fb: PUSH1 0x01
000013fd: PUSH1 0x01
000013ff: PUSH1 0xa0
00001401: SHL
00001402: SUB
00001403: AND
00001404: GAS
00001405: STATICCALL
00001406: DUP1
00001407: ISZERO
00001408: PUSH2 0x0561
0000140b: JUMPI
0000140c: PUSH1 0x20
0000140e: SWAP2
0000140f: PUSH0
00001410: SWAP2
00001411: PUSH2 0x1420
00001414: JUMPI
00001415: JUMPDEST
00001416: POP
00001417: PUSH1 0x40
00001419: MLOAD
0000141a: SWAP1
0000141b: ISZERO
0000141c: ISZERO
0000141d: DUP2
0000141e: MSTORE
0000141f: RETURN
00001420: JUMPDEST
00001421: PUSH2 0x1437
00001424: SWAP2
00001425: POP
00001426: DUP3
00001427: RETURNDATASIZE
00001428: DUP5
00001429: GT
0000142a: PUSH2 0x118e
0000142d: JUMPI
0000142e: PUSH2 0x117f
00001431: DUP2
00001432: DUP4
00001433: PUSH2 0x0f95
00001436: JUMP
00001437: JUMPDEST
00001438: PUSH0
00001439: PUSH2 0x1415
0000143c: JUMP
0000143d: JUMPDEST
0000143e: CALLVALUE
0000143f: PUSH2 0x0317
00001442: JUMPI
00001443: PUSH1 0x20
00001445: CALLDATASIZE
00001446: PUSH1 0x03
00001448: NOT
00001449: ADD
0000144a: SLT
0000144b: PUSH2 0x0317
0000144e: JUMPI
0000144f: PUSH1 0x04
00001451: CALLDATALOAD
00001452: PUSH2 0x145a
00001455: DUP2
00001456: PUSH2 0x0306
00001459: JUMP
0000145a: JUMPDEST
0000145b: PUSH2 0x1462
0000145e: PUSH2 0x3895
00001461: JUMP
00001462: JUMPDEST
00001463: PUSH1 0xd2
00001465: DUP1
00001466: SLOAD
00001467: PUSH1 0x01
00001469: PUSH1 0x01
0000146b: PUSH1 0xa0
0000146d: SHL
0000146e: SUB
0000146f: NOT
00001470: AND
00001471: PUSH1 0x01
00001473: PUSH1 0x01
00001475: PUSH1 0xa0
00001477: SHL
00001478: SUB
00001479: SWAP3
0000147a: SWAP1
0000147b: SWAP3
0000147c: AND
0000147d: SWAP2
0000147e: DUP3
0000147f: OR
00001480: SWAP1
00001481: SSTORE
00001482: CALLER
00001483: PUSH32 0x6bdc78d8c88160b3fc3638e67f2afe523b3f4c7d00c56ebb6216790e4c3eb2cb
000014a4: PUSH0
000014a5: DUP1
000014a6: LOG3
000014a7: STOP
000014a8: JUMPDEST
000014a9: CALLVALUE
000014aa: PUSH2 0x0317
000014ad: JUMPI
000014ae: PUSH1 0x80
000014b0: CALLDATASIZE
000014b1: PUSH1 0x03
000014b3: NOT
000014b4: ADD
000014b5: SLT
000014b6: PUSH2 0x0317
000014b9: JUMPI
000014ba: PUSH2 0x051c
000014bd: PUSH2 0x14dc
000014c0: PUSH1 0x04
000014c2: CALLDATALOAD
000014c3: PUSH2 0x14cb
000014c6: DUP2
000014c7: PUSH2 0x0306
000014ca: JUMP
000014cb: JUMPDEST
000014cc: PUSH1 0x64
000014ce: CALLDATALOAD
000014cf: SWAP1
000014d0: PUSH1 0x44
000014d2: CALLDATALOAD
000014d3: SWAP1
000014d4: PUSH1 0x24
000014d6: CALLDATALOAD
000014d7: SWAP1
000014d8: PUSH2 0x2562
000014db: JUMP
000014dc: JUMPDEST
000014dd: PUSH1 0x40
000014df: DUP1
000014e0: MLOAD
000014e1: SWAP4
000014e2: DUP5
000014e3: MSTORE
000014e4: PUSH1 0x20
000014e6: DUP5
000014e7: ADD
000014e8: SWAP3
000014e9: SWAP1
000014ea: SWAP3
000014eb: MSTORE
000014ec: SWAP1
000014ed: DUP3
000014ee: ADD
000014ef: MSTORE
000014f0: SWAP1
000014f1: DUP2
000014f2: SWAP1
000014f3: PUSH1 0x60
000014f5: DUP3
000014f6: ADD
000014f7: SWAP1
000014f8: JUMP
000014f9: JUMPDEST
000014fa: CALLVALUE
000014fb: PUSH2 0x0317
000014fe: JUMPI
000014ff: PUSH0
00001500: CALLDATASIZE
00001501: PUSH1 0x03
00001503: NOT
00001504: ADD
00001505: SLT
00001506: PUSH2 0x0317
00001509: JUMPI
0000150a: PUSH1 0x20
0000150c: PUSH2 0xffff
0000150f: PUSH1 0x65
00001511: SLOAD
00001512: PUSH1 0xa0
00001514: SHR
00001515: AND
00001516: PUSH1 0x40
00001518: MLOAD
00001519: SWAP1
0000151a: DUP2
0000151b: MSTORE
0000151c: RETURN
0000151d: JUMPDEST
0000151e: CALLVALUE
0000151f: PUSH2 0x0317
00001522: JUMPI
00001523: PUSH1 0x03
00001525: NOT
00001526: PUSH1 0x40
00001528: CALLDATASIZE
00001529: DUP3
0000152a: ADD
0000152b: SLT
0000152c: PUSH2 0x0317
0000152f: JUMPI
00001530: PUSH1 0x04
00001532: SWAP1
00001533: DUP2
00001534: CALLDATALOAD
00001535: PUSH1 0x01
00001537: PUSH1 0x01
00001539: PUSH1 0x40
0000153b: SHL
0000153c: SUB
0000153d: DUP1
0000153e: DUP3
0000153f: GT
00001540: PUSH2 0x0317
00001543: JUMPI
00001544: PUSH1 0xa0
00001546: DUP3
00001547: DUP6
00001548: ADD
00001549: SWAP4
0000154a: DUP4
0000154b: CALLDATASIZE
0000154c: SUB
0000154d: ADD
0000154e: SLT
0000154f: PUSH2 0x0317
00001552: JUMPI
00001553: PUSH1 0x24
00001555: CALLDATALOAD
00001556: SWAP1
00001557: DUP2
00001558: GT
00001559: PUSH2 0x0317
0000155c: JUMPI
0000155d: PUSH2 0x1569
00001560: SWAP1
00001561: CALLDATASIZE
00001562: SWAP1
00001563: DUP6
00001564: ADD
00001565: PUSH2 0x0c4c
00001568: JUMP
00001569: JUMPDEST
0000156a: PUSH1 0x01
0000156c: PUSH1 0x01
0000156e: PUSH1 0xa0
00001570: SHL
00001571: SUB
00001572: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00001593: DUP2
00001594: AND
00001595: DUP1
00001596: EXTCODESIZE
00001597: ISZERO
00001598: PUSH2 0x0317
0000159b: JUMPI
0000159c: PUSH1 0x40
0000159e: MLOAD
0000159f: PUSH4 0x837d4441
000015a4: PUSH1 0xe0
000015a6: SHL
000015a7: DUP2
000015a8: MSTORE
000015a9: SWAP1
000015aa: PUSH0
000015ab: SWAP1
000015ac: DUP3
000015ad: SWAP1
000015ae: DUP2
000015af: DUP4
000015b0: DUP2
000015b1: PUSH2 0x15bc
000015b4: DUP13
000015b5: DUP3
000015b6: DUP16
000015b7: ADD
000015b8: PUSH2 0x267e
000015bb: JUMP
000015bc: JUMPDEST
000015bd: SUB
000015be: SWAP3
000015bf: GAS
000015c0: CALL
000015c1: DUP1
000015c2: ISZERO
000015c3: PUSH2 0x0561
000015c6: JUMPI
000015c7: PUSH2 0x16da
000015ca: JUMPI
000015cb: JUMPDEST
000015cc: POP
000015cd: PUSH2 0x15d4
000015d0: PUSH2 0x3ac3
000015d3: JUMP
000015d4: JUMPDEST
000015d5: PUSH2 0x15dc
000015d8: PUSH2 0x2972
000015db: JUMP
000015dc: JUMPDEST
000015dd: SWAP1
000015de: DUP2
000015df: AND
000015e0: CALLER
000015e1: EQ
000015e2: ISZERO
000015e3: SWAP2
000015e4: DUP3
000015e5: PUSH2 0x16ab
000015e8: JUMPI
000015e9: JUMPDEST
000015ea: POP
000015eb: POP
000015ec: SWAP1
000015ed: POP
000015ee: PUSH2 0x169a
000015f1: JUMPI
000015f2: PUSH1 0x44
000015f4: ADD
000015f5: SWAP2
000015f6: PUSH1 0xb0
000015f8: PUSH2 0x1601
000015fb: DUP5
000015fc: DUP5
000015fd: PUSH2 0x26fc
00001600: JUMP
00001601: JUMPDEST
00001602: SWAP1
00001603: POP
00001604: DIV
00001605: DUP1
00001606: ISZERO
00001607: DUP1
00001608: ISZERO
00001609: PUSH2 0x1682
0000160c: JUMPI
0000160d: JUMPDEST
0000160e: PUSH2 0x1672
00001611: JUMPI
00001612: PUSH2 0x1622
00001615: PUSH2 0x161c
00001618: PUSH2 0x2248
0000161b: JUMP
0000161c: JUMPDEST
0000161d: SWAP2
0000161e: PUSH2 0x2751
00001621: JUMP
00001622: JUMPDEST
00001623: GT
00001624: PUSH2 0x1663
00001627: JUMPI
00001628: POP
00001629: PUSH1 0xb0
0000162b: PUSH2 0x1634
0000162e: DUP4
0000162f: DUP4
00001630: PUSH2 0x26fc
00001633: JUMP
00001634: JUMPDEST
00001635: SWAP1
00001636: POP
00001637: EQ
00001638: PUSH0
00001639: EQ
0000163a: PUSH2 0x1650
0000163d: JUMPI
0000163e: PUSH2 0x0020
00001641: SWAP2
00001642: PUSH2 0x164a
00001645: SWAP2
00001646: PUSH2 0x26fc
00001649: JUMP
0000164a: JUMPDEST
0000164b: SWAP1
0000164c: PUSH2 0x3ee1
0000164f: JUMP
00001650: JUMPDEST
00001651: PUSH2 0x0020
00001654: SWAP2
00001655: PUSH2 0x165d
00001658: SWAP2
00001659: PUSH2 0x26fc
0000165c: JUMP
0000165d: JUMPDEST
0000165e: SWAP1
0000165f: PUSH2 0x3db9
00001662: JUMP
00001663: JUMPDEST
00001664: PUSH1 0x40
00001666: MLOAD
00001667: PUSH4 0x96d80433
0000166c: PUSH1 0xe0
0000166e: SHL
0000166f: DUP2
00001670: MSTORE
00001671: REVERT
00001672: JUMPDEST
00001673: POP
00001674: PUSH1 0x40
00001676: MLOAD
00001677: PUSH4 0x1c6c4cf3
0000167c: PUSH1 0xe3
0000167e: SHL
0000167f: DUP2
00001680: MSTORE
00001681: REVERT
00001682: JUMPDEST
00001683: POP
00001684: PUSH2 0x168d
00001687: DUP5
00001688: DUP5
00001689: PUSH2 0x26fc
0000168c: JUMP
0000168d: JUMPDEST
0000168e: SWAP1
0000168f: POP
00001690: PUSH1 0xb0
00001692: DUP3
00001693: MUL
00001694: EQ
00001695: ISZERO
00001696: PUSH2 0x160d
00001699: JUMP
0000169a: JUMPDEST
0000169b: PUSH1 0x40
0000169d: MLOAD
0000169e: PUSH4 0x4ca88867
000016a3: PUSH1 0xe0
000016a5: SHL
000016a6: DUP2
000016a7: MSTORE
000016a8: DUP4
000016a9: SWAP1
000016aa: REVERT
000016ab: JUMPDEST
000016ac: PUSH2 0x16ce
000016af: SWAP3
000016b0: POP
000016b1: PUSH2 0x16c8
000016b4: PUSH2 0x16d2
000016b7: SWAP5
000016b8: PUSH2 0x16c0
000016bb: DUP9
000016bc: PUSH2 0x3b4e
000016bf: JUMP
000016c0: JUMPDEST
000016c1: SWAP3
000016c2: CALLDATASIZE
000016c3: SWAP2
000016c4: PUSH2 0x0fe0
000016c7: JUMP
000016c8: JUMPDEST
000016c9: SWAP2
000016ca: PUSH2 0x3c28
000016cd: JUMP
000016ce: JUMPDEST
000016cf: ISZERO
000016d0: SWAP1
000016d1: JUMP
000016d2: JUMPDEST
000016d3: DUP1
000016d4: PUSH0
000016d5: DUP1
000016d6: PUSH2 0x15e9
000016d9: JUMP
000016da: JUMPDEST
000016db: DUP1
000016dc: PUSH2 0x0b74
000016df: PUSH2 0x16e7
000016e2: SWAP3
000016e3: PUSH2 0x0f4c
000016e6: JUMP
000016e7: JUMPDEST
000016e8: PUSH0
000016e9: PUSH2 0x15cb
000016ec: JUMP
000016ed: JUMPDEST
000016ee: CALLVALUE
000016ef: PUSH2 0x0317
000016f2: JUMPI
000016f3: PUSH1 0x60
000016f5: CALLDATASIZE
000016f6: PUSH1 0x03
000016f8: NOT
000016f9: ADD
000016fa: SLT
000016fb: PUSH2 0x0317
000016fe: JUMPI
000016ff: PUSH1 0x04
00001701: CALLDATALOAD
00001702: PUSH1 0x24
00001704: CALLDATALOAD
00001705: PUSH2 0x1712
00001708: PUSH1 0x44
0000170a: CALLDATALOAD
0000170b: DUP3
0000170c: DUP5
0000170d: CALLER
0000170e: PUSH2 0x2562
00001711: JUMP
00001712: JUMPDEST
00001713: SWAP2
00001714: SWAP3
00001715: PUSH2 0x173e
00001718: PUSH32 0x0000000000000000000000000000000000000000000000000000000000015180
00001739: DUP3
0000173a: PUSH2 0x2474
0000173d: JUMP
0000173e: JUMPDEST
0000173f: TIMESTAMP
00001740: LT
00001741: DUP1
00001742: ISZERO
00001743: PUSH2 0x194c
00001746: JUMPI
00001747: JUMPDEST
00001748: DUP1
00001749: ISZERO
0000174a: PUSH2 0x1944
0000174d: JUMPI
0000174e: JUMPDEST
0000174f: PUSH2 0x1932
00001752: JUMPI
00001753: PUSH32 0xeb3b05c070c24f667611fdb3ff75fe007d42401c573aed8d8faca95fd00ccb56
00001774: SWAP4
00001775: PUSH2 0x179e
00001778: DUP7
00001779: PUSH2 0x1799
0000177c: PUSH2 0x178d
0000177f: PUSH1 0x99
00001781: SLOAD
00001782: PUSH1 0x01
00001784: PUSH1 0x01
00001786: PUSH1 0x80
00001788: SHL
00001789: SUB
0000178a: AND
0000178b: SWAP1
0000178c: JUMP
0000178d: JUMPDEST
0000178e: PUSH1 0x01
00001790: PUSH1 0x01
00001792: PUSH1 0x80
00001794: SHL
00001795: SUB
00001796: AND
00001797: SWAP1
00001798: JUMP
00001799: JUMPDEST
0000179a: PUSH2 0x3815
0000179d: JUMP
0000179e: JUMPDEST
0000179f: ISZERO
000017a0: PUSH2 0x18a0
000017a3: JUMPI
000017a4: PUSH2 0x17d8
000017a7: PUSH2 0x17bd
000017aa: PUSH2 0x17b2
000017ad: DUP7
000017ae: PUSH2 0x3ff4
000017b1: JUMP
000017b2: JUMPDEST
000017b3: PUSH1 0x99
000017b5: SLOAD
000017b6: PUSH1 0x80
000017b8: SHR
000017b9: PUSH2 0x1ef1
000017bc: JUMP
000017bd: JUMPDEST
000017be: PUSH1 0x01
000017c0: PUSH1 0x01
000017c2: PUSH1 0x80
000017c4: SHL
000017c5: SUB
000017c6: PUSH1 0x99
000017c8: SLOAD
000017c9: SWAP2
000017ca: DUP2
000017cb: NOT
000017cc: SWAP1
000017cd: PUSH1 0x80
000017cf: SHL
000017d0: AND
000017d1: SWAP2
000017d2: AND
000017d3: OR
000017d4: PUSH1 0x99
000017d6: SSTORE
000017d7: JUMP
000017d8: JUMPDEST
000017d9: PUSH1 0x40
000017db: DUP1
000017dc: MLOAD
000017dd: CALLER
000017de: PUSH1 0x20
000017e0: DUP3
000017e1: ADD
000017e2: SWAP1
000017e3: DUP2
000017e4: MSTORE
000017e5: SWAP2
000017e6: DUP2
000017e7: ADD
000017e8: DUP5
000017e9: SWAP1
000017ea: MSTORE
000017eb: PUSH1 0x60
000017ed: DUP1
000017ee: DUP3
000017ef: ADD
000017f0: DUP10
000017f1: SWAP1
000017f2: MSTORE
000017f3: DUP2
000017f4: MSTORE
000017f5: PUSH1 0x1f
000017f7: NOT
000017f8: SWAP4
000017f9: SWAP2
000017fa: PUSH0
000017fb: SWAP2
000017fc: PUSH2 0x181c
000017ff: SWAP2
00001800: SWAP1
00001801: PUSH2 0x180b
00001804: PUSH1 0x80
00001806: DUP3
00001807: PUSH2 0x0f95
0000180a: JUMP
0000180b: JUMPDEST
0000180c: MLOAD
0000180d: SWAP1
0000180e: KECCAK256
0000180f: PUSH0
00001810: MSTORE
00001811: PUSH1 0x9b
00001813: PUSH1 0x20
00001815: MSTORE
00001816: PUSH1 0x40
00001818: PUSH0
00001819: KECCAK256
0000181a: SWAP1
0000181b: JUMP
0000181c: JUMPDEST
0000181d: SSTORE
0000181e: PUSH0
0000181f: SWAP4
00001820: PUSH1 0x01
00001822: DUP4
00001823: GT
00001824: PUSH2 0x1855
00001827: JUMPI
00001828: JUMPDEST
00001829: POP
0000182a: POP
0000182b: POP
0000182c: POP
0000182d: PUSH2 0x1836
00001830: DUP3
00001831: CALLER
00001832: PUSH2 0x4027
00001835: JUMP
00001836: JUMPDEST
00001837: PUSH1 0x40
00001839: DUP1
0000183a: MLOAD
0000183b: SWAP5
0000183c: DUP6
0000183d: MSTORE
0000183e: PUSH1 0x20
00001840: DUP6
00001841: ADD
00001842: SWAP2
00001843: SWAP1
00001844: SWAP2
00001845: MSTORE
00001846: DUP4
00001847: ADD
00001848: MSTORE
00001849: CALLER
0000184a: SWAP2
0000184b: DUP1
0000184c: PUSH1 0x60
0000184e: DUP2
0000184f: ADD
00001850: JUMPDEST
00001851: SUB
00001852: SWAP1
00001853: LOG2
00001854: STOP
00001855: JUMPDEST
00001856: PUSH2 0x1896
00001859: SWAP3
0000185a: SWAP4
0000185b: SWAP5
0000185c: POP
0000185d: PUSH2 0x1866
00001860: SWAP1
00001861: DUP9
00001862: PUSH2 0x2474
00001865: JUMP
00001866: JUMPDEST
00001867: PUSH1 0x40
00001869: DUP1
0000186a: MLOAD
0000186b: CALLER
0000186c: PUSH1 0x20
0000186e: DUP3
0000186f: ADD
00001870: SWAP1
00001871: DUP2
00001872: MSTORE
00001873: SWAP2
00001874: DUP2
00001875: ADD
00001876: SWAP4
00001877: SWAP1
00001878: SWAP4
00001879: MSTORE
0000187a: PUSH1 0x60
0000187c: DUP4
0000187d: ADD
0000187e: DUP3
0000187f: SWAP1
00001880: MSTORE
00001881: PUSH1 0x80
00001883: SWAP6
00001884: DUP7
00001885: ADD
00001886: DUP4
00001887: MSTORE
00001888: SWAP1
00001889: SWAP5
0000188a: SWAP1
0000188b: SWAP2
0000188c: SWAP1
0000188d: PUSH2 0x180b
00001890: SWAP1
00001891: DUP3
00001892: PUSH2 0x0f95
00001895: JUMP
00001896: JUMPDEST
00001897: SSTORE
00001898: PUSH0
00001899: DUP1
0000189a: DUP1
0000189b: DUP1
0000189c: PUSH2 0x1828
0000189f: JUMP
000018a0: JUMPDEST
000018a1: PUSH2 0x18a8
000018a4: PUSH2 0x3ac3
000018a7: JUMP
000018a8: JUMPDEST
000018a9: PUSH2 0x18e4
000018ac: PUSH2 0x18c8
000018af: PUSH2 0x18b7
000018b2: DUP7
000018b3: PUSH2 0x3ff4
000018b6: JUMP
000018b7: JUMPDEST
000018b8: PUSH1 0x9e
000018ba: SLOAD
000018bb: PUSH1 0x01
000018bd: PUSH1 0x01
000018bf: PUSH1 0x80
000018c1: SHL
000018c2: SUB
000018c3: AND
000018c4: PUSH2 0x1ef1
000018c7: JUMP
000018c8: JUMPDEST
000018c9: PUSH1 0x01
000018cb: PUSH1 0x01
000018cd: PUSH1 0x80
000018cf: SHL
000018d0: SUB
000018d1: AND
000018d2: PUSH1 0x01
000018d4: PUSH1 0x01
000018d6: PUSH1 0x80
000018d8: SHL
000018d9: SUB
000018da: NOT
000018db: PUSH1 0x9e
000018dd: SLOAD
000018de: AND
000018df: OR
000018e0: PUSH1 0x9e
000018e2: SSTORE
000018e3: JUMP
000018e4: JUMPDEST
000018e5: PUSH2 0x1919
000018e8: PUSH2 0x18fe
000018eb: PUSH2 0x18f3
000018ee: DUP6
000018ef: PUSH2 0x3ff4
000018f2: JUMP
000018f3: JUMPDEST
000018f4: PUSH1 0x9e
000018f6: SLOAD
000018f7: PUSH1 0x80
000018f9: SHR
000018fa: PUSH2 0x1ef1
000018fd: JUMP
000018fe: JUMPDEST
000018ff: PUSH1 0x01
00001901: PUSH1 0x01
00001903: PUSH1 0x80
00001905: SHL
00001906: SUB
00001907: PUSH1 0x9e
00001909: SLOAD
0000190a: SWAP2
0000190b: DUP2
0000190c: NOT
0000190d: SWAP1
0000190e: PUSH1 0x80
00001910: SHL
00001911: AND
00001912: SWAP2
00001913: AND
00001914: OR
00001915: PUSH1 0x9e
00001917: SSTORE
00001918: JUMP
00001919: JUMPDEST
0000191a: PUSH2 0x192d
0000191d: PUSH2 0x1928
00001920: DUP5
00001921: PUSH1 0x9f
00001923: SLOAD
00001924: PUSH2 0x2474
00001927: JUMP
00001928: JUMPDEST
00001929: PUSH1 0x9f
0000192b: SSTORE
0000192c: JUMP
0000192d: JUMPDEST
0000192e: PUSH2 0x17d8
00001931: JUMP
00001932: JUMPDEST
00001933: PUSH1 0x40
00001935: MLOAD
00001936: PUSH4 0x0e3d8e8d
0000193b: PUSH1 0xe1
0000193d: SHL
0000193e: DUP2
0000193f: MSTORE
00001940: PUSH1 0x04
00001942: SWAP1
00001943: REVERT
00001944: JUMPDEST
00001945: POP
00001946: DUP3
00001947: ISZERO
00001948: PUSH2 0x174e
0000194b: JUMP
0000194c: JUMPDEST
0000194d: POP
0000194e: DUP2
0000194f: ISZERO
00001950: PUSH2 0x1747
00001953: JUMP
00001954: JUMPDEST
00001955: CALLVALUE
00001956: PUSH2 0x0317
00001959: JUMPI
0000195a: PUSH1 0x40
0000195c: DUP1
0000195d: PUSH1 0x03
0000195f: NOT
00001960: CALLDATASIZE
00001961: ADD
00001962: SLT
00001963: PUSH2 0x0317
00001966: JUMPI
00001967: PUSH1 0x24
00001969: CALLDATALOAD
0000196a: SWAP1
0000196b: PUSH1 0x04
0000196d: CALLDATALOAD
0000196e: PUSH2 0x1976
00001971: DUP4
00001972: PUSH2 0x0306
00001975: JUMP
00001976: JUMPDEST
00001977: PUSH2 0x197e
0000197a: PUSH2 0x3ac3
0000197d: JUMP
0000197e: JUMPDEST
0000197f: DUP1
00001980: ISZERO
00001981: PUSH2 0x1b2c
00001984: JUMPI
00001985: PUSH1 0x01
00001987: PUSH1 0x01
00001989: PUSH1 0xa0
0000198b: SHL
0000198c: SUB
0000198d: DUP4
0000198e: AND
0000198f: SWAP1
00001990: DUP2
00001991: ISZERO
00001992: PUSH2 0x1b1b
00001995: JUMPI
00001996: PUSH2 0x199e
00001999: DUP2
0000199a: PUSH2 0x1f41
0000199d: JUMP
0000199e: JUMPDEST
0000199f: SWAP1
000019a0: DUP2
000019a1: ISZERO
000019a2: PUSH2 0x1b0a
000019a5: JUMPI
000019a6: PUSH2 0x19ae
000019a9: DUP3
000019aa: PUSH2 0x4807
000019ad: JUMP
000019ae: JUMPDEST
000019af: PUSH2 0x19b7
000019b2: DUP4
000019b3: PUSH2 0x3ff4
000019b6: JUMP
000019b7: JUMPDEST
000019b8: PUSH1 0x98
000019ba: SLOAD
000019bb: PUSH1 0x80
000019bd: SHR
000019be: SWAP1
000019bf: PUSH2 0x19c7
000019c2: SWAP2
000019c3: PUSH2 0x1ef1
000019c6: JUMP
000019c7: JUMPDEST
000019c8: PUSH2 0x19e6
000019cb: SWAP1
000019cc: PUSH1 0x01
000019ce: PUSH1 0x01
000019d0: PUSH1 0x80
000019d2: SHL
000019d3: SUB
000019d4: PUSH1 0x98
000019d6: SLOAD
000019d7: SWAP2
000019d8: DUP2
000019d9: NOT
000019da: SWAP1
000019db: PUSH1 0x80
000019dd: SHL
000019de: AND
000019df: SWAP2
000019e0: AND
000019e1: OR
000019e2: PUSH1 0x98
000019e4: SSTORE
000019e5: JUMP
000019e6: JUMPDEST
000019e7: PUSH2 0x19f0
000019ea: DUP3
000019eb: CALLER
000019ec: PUSH2 0x458a
000019ef: JUMP
000019f0: JUMPDEST
000019f1: PUSH1 0x9e
000019f3: SLOAD
000019f4: SWAP6
000019f5: DUP7
000019f6: PUSH1 0x80
000019f8: SHR
000019f9: DUP3
000019fa: DUP2
000019fb: PUSH1 0x9f
000019fd: SLOAD
000019fe: SWAP1
000019ff: PUSH2 0x1a07
00001a02: SWAP2
00001a03: PUSH2 0x2474
00001a06: JUMP
00001a07: JUMPDEST
00001a08: SWAP9
00001a09: PUSH2 0x1a11
00001a0c: DUP8
00001a0d: PUSH2 0x3ff4
00001a10: JUMP
00001a11: JUMPDEST
00001a12: PUSH2 0x1a23
00001a15: SWAP2
00001a16: PUSH1 0x01
00001a18: PUSH1 0x01
00001a1a: PUSH1 0x80
00001a1c: SHL
00001a1d: SUB
00001a1e: AND
00001a1f: PUSH2 0x3131
00001a22: JUMP
00001a23: JUMPDEST
00001a24: PUSH2 0x1a43
00001a27: SWAP1
00001a28: PUSH1 0x01
00001a2a: PUSH1 0x01
00001a2c: PUSH1 0x80
00001a2e: SHL
00001a2f: SUB
00001a30: AND
00001a31: PUSH1 0x01
00001a33: PUSH1 0x01
00001a35: PUSH1 0x80
00001a37: SHL
00001a38: SUB
00001a39: NOT
00001a3a: PUSH1 0x9e
00001a3c: SLOAD
00001a3d: AND
00001a3e: OR
00001a3f: PUSH1 0x9e
00001a41: SSTORE
00001a42: JUMP
00001a43: JUMPDEST
00001a44: PUSH2 0x1a4c
00001a47: SWAP2
00001a48: PUSH2 0x2474
00001a4b: JUMP
00001a4c: JUMPDEST
00001a4d: PUSH2 0x1a55
00001a50: SWAP1
00001a51: PUSH2 0x3ff4
00001a54: JUMP
00001a55: JUMPDEST
00001a56: PUSH2 0x1a74
00001a59: SWAP1
00001a5a: PUSH1 0x01
00001a5c: PUSH1 0x01
00001a5e: PUSH1 0x80
00001a60: SHL
00001a61: SUB
00001a62: PUSH1 0x9e
00001a64: SLOAD
00001a65: SWAP2
00001a66: DUP2
00001a67: NOT
00001a68: SWAP1
00001a69: PUSH1 0x80
00001a6b: SHL
00001a6c: AND
00001a6d: SWAP2
00001a6e: AND
00001a6f: OR
00001a70: PUSH1 0x9e
00001a72: SSTORE
00001a73: JUMP
00001a74: JUMPDEST
00001a75: DUP6
00001a76: MLOAD
00001a77: PUSH1 0x01
00001a79: PUSH1 0x01
00001a7b: PUSH1 0xa0
00001a7d: SHL
00001a7e: SUB
00001a7f: SWAP2
00001a80: SWAP1
00001a81: SWAP2
00001a82: AND
00001a83: PUSH1 0x20
00001a85: DUP3
00001a86: ADD
00001a87: SWAP1
00001a88: DUP2
00001a89: MSTORE
00001a8a: TIMESTAMP
00001a8b: PUSH1 0x40
00001a8d: DUP4
00001a8e: ADD
00001a8f: MSTORE
00001a90: PUSH1 0x60
00001a92: DUP1
00001a93: DUP4
00001a94: ADD
00001a95: DUP10
00001a96: SWAP1
00001a97: MSTORE
00001a98: DUP3
00001a99: MSTORE
00001a9a: SWAP1
00001a9b: PUSH2 0x1aa5
00001a9e: PUSH1 0x80
00001aa0: DUP3
00001aa1: PUSH2 0x0f95
00001aa4: JUMP
00001aa5: JUMPDEST
00001aa6: MLOAD
00001aa7: SWAP1
00001aa8: KECCAK256
00001aa9: PUSH2 0x1aba
00001aac: SWAP1
00001aad: PUSH0
00001aae: MSTORE
00001aaf: PUSH1 0x9b
00001ab1: PUSH1 0x20
00001ab3: MSTORE
00001ab4: PUSH1 0x40
00001ab6: PUSH0
00001ab7: KECCAK256
00001ab8: SWAP1
00001ab9: JUMP
00001aba: JUMPDEST
00001abb: SSTORE
00001abc: DUP4
00001abd: MLOAD
00001abe: DUP6
00001abf: DUP2
00001ac0: MSTORE
00001ac1: PUSH1 0x20
00001ac3: DUP2
00001ac4: ADD
00001ac5: SWAP2
00001ac6: SWAP1
00001ac7: SWAP2
00001ac8: MSTORE
00001ac9: PUSH1 0x40
00001acb: DUP2
00001acc: ADD
00001acd: SWAP2
00001ace: SWAP1
00001acf: SWAP2
00001ad0: MSTORE
00001ad1: CALLER
00001ad2: SWAP1
00001ad3: PUSH32 0x869f12645d154414259c47bcb998b6b6983fae50e5e0c6053bc87d4330db9f2d
00001af4: SWAP1
00001af5: PUSH1 0x60
00001af7: SWAP1
00001af8: LOG3
00001af9: PUSH2 0x1b01
00001afc: CALLER
00001afd: PUSH2 0x496e
00001b00: JUMP
00001b01: JUMPDEST
00001b02: MLOAD
00001b03: SWAP1
00001b04: DUP2
00001b05: MSTORE
00001b06: PUSH1 0x20
00001b08: SWAP1
00001b09: RETURN
00001b0a: JUMPDEST
00001b0b: DUP4
00001b0c: MLOAD
00001b0d: PUSH4 0x18374fd1
00001b12: PUSH1 0xe2
00001b14: SHL
00001b15: DUP2
00001b16: MSTORE
00001b17: PUSH1 0x04
00001b19: SWAP1
00001b1a: REVERT
00001b1b: JUMPDEST
00001b1c: DUP3
00001b1d: MLOAD
00001b1e: PUSH4 0xd92e233d
00001b23: PUSH1 0xe0
00001b25: SHL
00001b26: DUP2
00001b27: MSTORE
00001b28: PUSH1 0x04
00001b2a: SWAP1
00001b2b: REVERT
00001b2c: JUMPDEST
00001b2d: DUP2
00001b2e: MLOAD
00001b2f: PUSH4 0x6edcc523
00001b34: PUSH1 0xe0
00001b36: SHL
00001b37: DUP2
00001b38: MSTORE
00001b39: PUSH1 0x04
00001b3b: SWAP1
00001b3c: REVERT
00001b3d: JUMPDEST
00001b3e: CALLVALUE
00001b3f: PUSH2 0x0317
00001b42: JUMPI
00001b43: PUSH2 0x1850
00001b46: PUSH32 0x2013570c343af8ab14a9778150e381a0fda34ed6368127a95fd5e7210cbec5bf
00001b67: PUSH2 0x1b6f
00001b6a: CALLDATASIZE
00001b6b: PUSH2 0x0c79
00001b6e: JUMP
00001b6f: JUMPDEST
00001b70: SWAP3
00001b71: SWAP1
00001b72: PUSH2 0x1b79
00001b75: PUSH2 0x3895
00001b78: JUMP
00001b79: JUMPDEST
00001b7a: PUSH1 0x40
00001b7c: MLOAD
00001b7d: SWAP2
00001b7e: DUP3
00001b7f: SWAP2
00001b80: PUSH1 0x20
00001b82: DUP4
00001b83: MSTORE
00001b84: CALLER
00001b85: SWAP6
00001b86: PUSH1 0x20
00001b88: DUP5
00001b89: ADD
00001b8a: SWAP2
00001b8b: PUSH2 0x265e
00001b8e: JUMP
00001b8f: JUMPDEST
00001b90: PUSH0
00001b91: JUMPDEST
00001b92: DUP4
00001b93: DUP2
00001b94: LT
00001b95: PUSH2 0x1ba0
00001b98: JUMPI
00001b99: POP
00001b9a: POP
00001b9b: PUSH0
00001b9c: SWAP2
00001b9d: ADD
00001b9e: MSTORE
00001b9f: JUMP
00001ba0: JUMPDEST
00001ba1: DUP2
00001ba2: DUP2
00001ba3: ADD
00001ba4: MLOAD
00001ba5: DUP4
00001ba6: DUP3
00001ba7: ADD
00001ba8: MSTORE
00001ba9: PUSH1 0x20
00001bab: ADD
00001bac: PUSH2 0x1b91
00001baf: JUMP
00001bb0: JUMPDEST
00001bb1: SWAP1
00001bb2: PUSH1 0x20
00001bb4: SWAP2
00001bb5: PUSH2 0x1bc9
00001bb8: DUP2
00001bb9: MLOAD
00001bba: DUP1
00001bbb: SWAP3
00001bbc: DUP2
00001bbd: DUP6
00001bbe: MSTORE
00001bbf: DUP6
00001bc0: DUP1
00001bc1: DUP7
00001bc2: ADD
00001bc3: SWAP2
00001bc4: ADD
00001bc5: PUSH2 0x1b8f
00001bc8: JUMP
00001bc9: JUMPDEST
00001bca: PUSH1 0x1f
00001bcc: ADD
00001bcd: PUSH1 0x1f
00001bcf: NOT
00001bd0: AND
00001bd1: ADD
00001bd2: ADD
00001bd3: SWAP1
00001bd4: JUMP
00001bd5: JUMPDEST
00001bd6: PUSH1 0x20
00001bd8: DUP1
00001bd9: DUP3
00001bda: ADD
00001bdb: SWAP1
00001bdc: PUSH1 0x20
00001bde: DUP4
00001bdf: MSTORE
00001be0: DUP4
00001be1: MLOAD
00001be2: DUP1
00001be3: SWAP3
00001be4: MSTORE
00001be5: PUSH1 0x40
00001be7: DUP4
00001be8: ADD
00001be9: SWAP3
00001bea: PUSH1 0x20
00001bec: PUSH1 0x40
00001bee: DUP5
00001bef: PUSH1 0x05
00001bf1: SHL
00001bf2: DUP4
00001bf3: ADD
00001bf4: ADD
00001bf5: SWAP6
00001bf6: ADD
00001bf7: SWAP4
00001bf8: PUSH0
00001bf9: SWAP2
00001bfa: JUMPDEST
00001bfb: DUP5
00001bfc: DUP4
00001bfd: LT
00001bfe: PUSH2 0x1c0a
00001c01: JUMPI
00001c02: POP
00001c03: POP
00001c04: POP
00001c05: POP
00001c06: POP
00001c07: POP
00001c08: SWAP1
00001c09: JUMP
00001c0a: JUMPDEST
00001c0b: SWAP1
00001c0c: SWAP2
00001c0d: SWAP3
00001c0e: SWAP4
00001c0f: SWAP5
00001c10: SWAP6
00001c11: DUP5
00001c12: DUP1
00001c13: PUSH2 0x1c28
00001c16: PUSH1 0x01
00001c18: SWAP4
00001c19: PUSH1 0x3f
00001c1b: NOT
00001c1c: DUP7
00001c1d: DUP3
00001c1e: SUB
00001c1f: ADD
00001c20: DUP8
00001c21: MSTORE
00001c22: DUP11
00001c23: MLOAD
00001c24: PUSH2 0x1bb0
00001c27: JUMP
00001c28: JUMPDEST
00001c29: SWAP9
00001c2a: ADD
00001c2b: SWAP4
00001c2c: ADD
00001c2d: SWAP4
00001c2e: ADD
00001c2f: SWAP2
00001c30: SWAP5
00001c31: SWAP4
00001c32: SWAP3
00001c33: SWAP1
00001c34: PUSH2 0x1bfa
00001c37: JUMP
00001c38: JUMPDEST
00001c39: CALLVALUE
00001c3a: PUSH2 0x0317
00001c3d: JUMPI
00001c3e: PUSH1 0x20
00001c40: CALLDATASIZE
00001c41: PUSH1 0x03
00001c43: NOT
00001c44: ADD
00001c45: SLT
00001c46: PUSH2 0x0317
00001c49: JUMPI
00001c4a: PUSH1 0x01
00001c4c: PUSH1 0x01
00001c4e: PUSH1 0x40
00001c50: SHL
00001c51: SUB
00001c52: PUSH1 0x04
00001c54: CALLDATALOAD
00001c55: DUP2
00001c56: DUP2
00001c57: GT
00001c58: PUSH2 0x0317
00001c5b: JUMPI
00001c5c: CALLDATASIZE
00001c5d: PUSH1 0x23
00001c5f: DUP3
00001c60: ADD
00001c61: SLT
00001c62: ISZERO
00001c63: PUSH2 0x0317
00001c66: JUMPI
00001c67: DUP1
00001c68: PUSH1 0x04
00001c6a: ADD
00001c6b: CALLDATALOAD
00001c6c: SWAP2
00001c6d: DUP3
00001c6e: GT
00001c6f: PUSH2 0x0317
00001c72: JUMPI
00001c73: CALLDATASIZE
00001c74: PUSH1 0x24
00001c76: DUP4
00001c77: PUSH1 0x05
00001c79: SHL
00001c7a: DUP4
00001c7b: ADD
00001c7c: ADD
00001c7d: GT
00001c7e: PUSH2 0x0317
00001c81: JUMPI
00001c82: PUSH2 0x051c
00001c85: SWAP2
00001c86: PUSH1 0x24
00001c88: PUSH2 0x1c91
00001c8b: SWAP3
00001c8c: ADD
00001c8d: PUSH2 0x28c5
00001c90: JUMP
00001c91: JUMPDEST
00001c92: PUSH1 0x40
00001c94: MLOAD
00001c95: SWAP2
00001c96: DUP3
00001c97: SWAP2
00001c98: DUP3
00001c99: PUSH2 0x1bd5
00001c9c: JUMP
00001c9d: JUMPDEST
00001c9e: SWAP1
00001c9f: PUSH1 0x20
00001ca1: PUSH2 0x0682
00001ca4: SWAP3
00001ca5: DUP2
00001ca6: DUP2
00001ca7: MSTORE
00001ca8: ADD
00001ca9: SWAP1
00001caa: PUSH2 0x1bb0
00001cad: JUMP
00001cae: JUMPDEST
00001caf: CALLVALUE
00001cb0: PUSH2 0x0317
00001cb3: JUMPI
00001cb4: PUSH0
00001cb5: CALLDATASIZE
00001cb6: PUSH1 0x03
00001cb8: NOT
00001cb9: ADD
00001cba: SLT
00001cbb: PUSH2 0x0317
00001cbe: JUMPI
00001cbf: PUSH2 0x051c
00001cc2: PUSH1 0x40
00001cc4: MLOAD
00001cc5: PUSH2 0x1ccd
00001cc8: DUP2
00001cc9: PUSH2 0x0f2c
00001ccc: JUMP
00001ccd: JUMPDEST
00001cce: PUSH1 0x05
00001cd0: DUP2
00001cd1: MSTORE
00001cd2: PUSH5 0x0352e302e3
00001cd8: PUSH1 0xdc
00001cda: SHL
00001cdb: PUSH1 0x20
00001cdd: DUP3
00001cde: ADD
00001cdf: MSTORE
00001ce0: PUSH1 0x40
00001ce2: MLOAD
00001ce3: SWAP2
00001ce4: DUP3
00001ce5: SWAP2
00001ce6: PUSH1 0x20
00001ce8: DUP4
00001ce9: MSTORE
00001cea: PUSH1 0x20
00001cec: DUP4
00001ced: ADD
00001cee: SWAP1
00001cef: PUSH2 0x1bb0
00001cf2: JUMP
00001cf3: JUMPDEST
00001cf4: CALLVALUE
00001cf5: PUSH2 0x0317
00001cf8: JUMPI
00001cf9: PUSH0
00001cfa: CALLDATASIZE
00001cfb: PUSH1 0x03
00001cfd: NOT
00001cfe: ADD
00001cff: SLT
00001d00: PUSH2 0x0317
00001d03: JUMPI
00001d04: PUSH1 0x20
00001d06: PUSH2 0x0bc6
00001d09: PUSH2 0x2972
00001d0c: JUMP
00001d0d: JUMPDEST
00001d0e: CALLVALUE
00001d0f: PUSH2 0x0317
00001d12: JUMPI
00001d13: PUSH1 0x20
00001d15: CALLDATASIZE
00001d16: PUSH1 0x03
00001d18: NOT
00001d19: ADD
00001d1a: SLT
00001d1b: PUSH2 0x0317
00001d1e: JUMPI
00001d1f: PUSH1 0x20
00001d21: PUSH2 0x0384
00001d24: PUSH1 0x04
00001d26: CALLDATALOAD
00001d27: PUSH2 0x40c1
00001d2a: JUMP
00001d2b: JUMPDEST
00001d2c: CALLVALUE
00001d2d: PUSH2 0x0317
00001d30: JUMPI
00001d31: PUSH0
00001d32: CALLDATASIZE
00001d33: PUSH1 0x03
00001d35: NOT
00001d36: ADD
00001d37: SLT
00001d38: PUSH2 0x0317
00001d3b: JUMPI
00001d3c: PUSH1 0x20
00001d3e: PUSH1 0x01
00001d40: PUSH1 0x01
00001d42: PUSH1 0x80
00001d44: SHL
00001d45: SUB
00001d46: PUSH1 0x99
00001d48: SLOAD
00001d49: AND
00001d4a: PUSH1 0x40
00001d4c: MLOAD
00001d4d: SWAP1
00001d4e: DUP2
00001d4f: MSTORE
00001d50: RETURN
00001d51: JUMPDEST
00001d52: CALLVALUE
00001d53: PUSH2 0x0317
00001d56: JUMPI
00001d57: PUSH1 0x20
00001d59: CALLDATASIZE
00001d5a: PUSH1 0x03
00001d5c: NOT
00001d5d: ADD
00001d5e: SLT
00001d5f: PUSH2 0x0317
00001d62: JUMPI
00001d63: PUSH2 0x0020
00001d66: PUSH1 0x04
00001d68: CALLDATALOAD
00001d69: PUSH2 0x1d71
00001d6c: DUP2
00001d6d: PUSH2 0x0306
00001d70: JUMP
00001d71: JUMPDEST
00001d72: PUSH2 0x1d79
00001d75: PUSH2 0x3895
00001d78: JUMP
00001d79: JUMPDEST
00001d7a: PUSH2 0x4150
00001d7d: JUMP
00001d7e: JUMPDEST
00001d7f: CALLVALUE
00001d80: PUSH2 0x0317
00001d83: JUMPI
00001d84: PUSH0
00001d85: CALLDATASIZE
00001d86: PUSH1 0x03
00001d88: NOT
00001d89: ADD
00001d8a: SLT
00001d8b: PUSH2 0x0317
00001d8e: JUMPI
00001d8f: PUSH1 0x20
00001d91: PUSH1 0x01
00001d93: PUSH1 0x01
00001d95: PUSH1 0x80
00001d97: SHL
00001d98: SUB
00001d99: PUSH1 0x9e
00001d9b: SLOAD
00001d9c: AND
00001d9d: PUSH1 0x40
00001d9f: MLOAD
00001da0: SWAP1
00001da1: DUP2
00001da2: MSTORE
00001da3: RETURN
00001da4: JUMPDEST
00001da5: CALLVALUE
00001da6: PUSH2 0x0317
00001da9: JUMPI
00001daa: PUSH1 0x20
00001dac: CALLDATASIZE
00001dad: PUSH1 0x03
00001daf: NOT
00001db0: ADD
00001db1: SLT
00001db2: PUSH2 0x0317
00001db5: JUMPI
00001db6: PUSH1 0x04
00001db8: CALLDATALOAD
00001db9: PUSH2 0x1dc1
00001dbc: DUP2
00001dbd: PUSH2 0x0306
00001dc0: JUMP
00001dc1: JUMPDEST
00001dc2: PUSH1 0x01
00001dc4: DUP1
00001dc5: PUSH1 0xa0
00001dc7: SHL
00001dc8: SUB
00001dc9: AND
00001dca: PUSH0
00001dcb: MSTORE
00001dcc: PUSH1 0x9c
00001dce: PUSH1 0x20
00001dd0: MSTORE
00001dd1: PUSH1 0x20
00001dd3: PUSH1 0x40
00001dd5: PUSH0
00001dd6: KECCAK256
00001dd7: SLOAD
00001dd8: PUSH1 0x40
00001dda: MLOAD
00001ddb: SWAP1
00001ddc: DUP2
00001ddd: MSTORE
00001dde: RETURN
00001ddf: JUMPDEST
00001de0: CALLVALUE
00001de1: PUSH2 0x0317
00001de4: JUMPI
00001de5: PUSH1 0x20
00001de7: CALLDATASIZE
00001de8: PUSH1 0x03
00001dea: NOT
00001deb: ADD
00001dec: SLT
00001ded: PUSH2 0x0317
00001df0: JUMPI
00001df1: PUSH1 0x04
00001df3: CALLDATALOAD
00001df4: PUSH2 0x1dfc
00001df7: DUP2
00001df8: PUSH2 0x0306
00001dfb: JUMP
00001dfc: JUMPDEST
00001dfd: PUSH1 0x01
00001dff: DUP1
00001e00: PUSH1 0xa0
00001e02: SHL
00001e03: SUB
00001e04: AND
00001e05: PUSH0
00001e06: MSTORE
00001e07: PUSH2 0x0202
00001e0a: PUSH1 0x20
00001e0c: MSTORE
00001e0d: PUSH1 0x20
00001e0f: PUSH1 0xff
00001e11: PUSH1 0x40
00001e13: PUSH0
00001e14: KECCAK256
00001e15: SLOAD
00001e16: AND
00001e17: PUSH1 0x40
00001e19: MLOAD
00001e1a: SWAP1
00001e1b: ISZERO
00001e1c: ISZERO
00001e1d: DUP2
00001e1e: MSTORE
00001e1f: RETURN
00001e20: JUMPDEST
00001e21: CALLVALUE
00001e22: PUSH2 0x0317
00001e25: JUMPI
00001e26: PUSH0
00001e27: CALLDATASIZE
00001e28: PUSH1 0x03
00001e2a: NOT
00001e2b: ADD
00001e2c: SLT
00001e2d: PUSH2 0x0317
00001e30: JUMPI
00001e31: PUSH0
00001e32: SLOAD
00001e33: PUSH1 0x40
00001e35: MLOAD
00001e36: PUSH1 0x01
00001e38: PUSH1 0x01
00001e3a: PUSH1 0xa0
00001e3c: SHL
00001e3d: SUB
00001e3e: SWAP1
00001e3f: SWAP2
00001e40: AND
00001e41: DUP2
00001e42: MSTORE
00001e43: PUSH1 0x20
00001e45: SWAP1
00001e46: RETURN
00001e47: JUMPDEST
00001e48: PUSH1 0x40
00001e4a: CALLDATASIZE
00001e4b: PUSH1 0x03
00001e4d: NOT
00001e4e: ADD
00001e4f: SLT
00001e50: PUSH2 0x0317
00001e53: JUMPI
00001e54: PUSH1 0x20
00001e56: PUSH2 0x0384
00001e59: PUSH1 0x04
00001e5b: CALLDATALOAD
00001e5c: PUSH2 0x1e64
00001e5f: DUP2
00001e60: PUSH2 0x0306
00001e63: JUMP
00001e64: JUMPDEST
00001e65: PUSH1 0x24
00001e67: CALLDATALOAD
00001e68: SWAP1
00001e69: PUSH2 0x060d
00001e6c: DUP3
00001e6d: PUSH2 0x0306
00001e70: JUMP
00001e71: JUMPDEST
00001e72: CALLVALUE
00001e73: PUSH2 0x0317
00001e76: JUMPI
00001e77: PUSH1 0x20
00001e79: CALLDATASIZE
00001e7a: PUSH1 0x03
00001e7c: NOT
00001e7d: ADD
00001e7e: SLT
00001e7f: PUSH2 0x0317
00001e82: JUMPI
00001e83: PUSH2 0x0020
00001e86: PUSH1 0x04
00001e88: CALLDATALOAD
00001e89: PUSH2 0x1e91
00001e8c: DUP2
00001e8d: PUSH2 0x0306
00001e90: JUMP
00001e91: JUMPDEST
00001e92: PUSH2 0x1e99
00001e95: PUSH2 0x3895
00001e98: JUMP
00001e99: JUMPDEST
00001e9a: PUSH2 0x41b2
00001e9d: JUMP
00001e9e: JUMPDEST
00001e9f: SWAP1
00001ea0: DUP2
00001ea1: PUSH1 0x20
00001ea3: SWAP2
00001ea4: SUB
00001ea5: SLT
00001ea6: PUSH2 0x0317
00001ea9: JUMPI
00001eaa: MLOAD
00001eab: SWAP1
00001eac: JUMP
00001ead: JUMPDEST
00001eae: PUSH1 0x40
00001eb0: MLOAD
00001eb1: RETURNDATASIZE
00001eb2: PUSH0
00001eb3: DUP3
00001eb4: RETURNDATACOPY
00001eb5: RETURNDATASIZE
00001eb6: SWAP1
00001eb7: REVERT
00001eb8: JUMPDEST
00001eb9: SWAP1
00001eba: PUSH1 0x40
00001ebc: MLOAD
00001ebd: PUSH2 0x1ec5
00001ec0: DUP2
00001ec1: PUSH2 0x0f2c
00001ec4: JUMP
00001ec5: JUMPDEST
00001ec6: SWAP2
00001ec7: SLOAD
00001ec8: PUSH1 0x01
00001eca: PUSH1 0x01
00001ecc: PUSH1 0x80
00001ece: SHL
00001ecf: SUB
00001ed0: DUP2
00001ed1: AND
00001ed2: DUP4
00001ed3: MSTORE
00001ed4: PUSH1 0x80
00001ed6: SHR
00001ed7: PUSH1 0x20
00001ed9: DUP4
00001eda: ADD
00001edb: MSTORE
00001edc: JUMP
00001edd: JUMPDEST
00001ede: PUSH4 0x4e487b71
00001ee3: PUSH1 0xe0
00001ee5: SHL
00001ee6: PUSH0
00001ee7: MSTORE
00001ee8: PUSH1 0x11
00001eea: PUSH1 0x04
00001eec: MSTORE
00001eed: PUSH1 0x24
00001eef: PUSH0
00001ef0: REVERT
00001ef1: JUMPDEST
00001ef2: PUSH1 0x01
00001ef4: PUSH1 0x01
00001ef6: PUSH1 0x80
00001ef8: SHL
00001ef9: SUB
00001efa: SWAP2
00001efb: DUP3
00001efc: AND
00001efd: SWAP1
00001efe: DUP3
00001eff: AND
00001f00: SUB
00001f01: SWAP2
00001f02: SWAP1
00001f03: DUP3
00001f04: GT
00001f05: PUSH2 0x1f0a
00001f08: JUMPI
00001f09: JUMP
00001f0a: JUMPDEST
00001f0b: PUSH2 0x1edd
00001f0e: JUMP
00001f0f: JUMPDEST
00001f10: DUP2
00001f11: MLOAD
00001f12: PUSH1 0x20
00001f14: SWAP1
00001f15: SWAP3
00001f16: ADD
00001f17: MLOAD
00001f18: PUSH1 0x80
00001f1a: SHL
00001f1b: PUSH16 0xffffffffffffffffffffffffffffffff
00001f2c: NOT
00001f2d: AND
00001f2e: PUSH1 0x01
00001f30: PUSH1 0x01
00001f32: PUSH1 0x80
00001f34: SHL
00001f35: SUB
00001f36: SWAP3
00001f37: SWAP1
00001f38: SWAP3
00001f39: AND
00001f3a: SWAP2
00001f3b: SWAP1
00001f3c: SWAP2
00001f3d: OR
00001f3e: SWAP1
00001f3f: SSTORE
00001f40: JUMP
00001f41: JUMPDEST
00001f42: PUSH1 0x98
00001f44: SLOAD
00001f45: PUSH1 0x01
00001f47: PUSH1 0x01
00001f49: PUSH1 0x80
00001f4b: SHL
00001f4c: SUB
00001f4d: DUP2
00001f4e: AND
00001f4f: SWAP1
00001f50: DUP2
00001f51: PUSH2 0x1f59
00001f54: JUMPI
00001f55: POP
00001f56: POP
00001f57: SWAP1
00001f58: JUMP
00001f59: JUMPDEST
00001f5a: SWAP2
00001f5b: PUSH2 0x0682
00001f5e: SWAP3
00001f5f: PUSH1 0x80
00001f61: SHR
00001f62: SWAP1
00001f63: PUSH2 0x2b5e
00001f66: JUMP
00001f67: JUMPDEST
00001f68: PUSH2 0x0201
00001f6b: SLOAD
00001f6c: PUSH1 0x01
00001f6e: PUSH1 0x01
00001f70: PUSH1 0xa0
00001f72: SHL
00001f73: SUB
00001f74: SWAP2
00001f75: SWAP1
00001f76: DUP3
00001f77: AND
00001f78: CALLER
00001f79: SUB
00001f7a: PUSH2 0x0e39
00001f7d: JUMPI
00001f7e: PUSH1 0x01
00001f80: PUSH1 0x01
00001f82: PUSH1 0xa0
00001f84: SHL
00001f85: SUB
00001f86: DUP2
00001f87: AND
00001f88: PUSH0
00001f89: SWAP1
00001f8a: DUP2
00001f8b: MSTORE
00001f8c: PUSH2 0x0202
00001f8f: PUSH1 0x20
00001f91: MSTORE
00001f92: PUSH1 0x40
00001f94: SWAP1
00001f95: KECCAK256
00001f96: SLOAD
00001f97: SWAP3
00001f98: ISZERO
00001f99: ISZERO
00001f9a: SWAP3
00001f9b: PUSH1 0xff
00001f9d: AND
00001f9e: ISZERO
00001f9f: ISZERO
00001fa0: DUP4
00001fa1: EQ
00001fa2: PUSH2 0x1ffa
00001fa5: JUMPI
00001fa6: PUSH1 0x01
00001fa8: PUSH1 0x01
00001faa: PUSH1 0xa0
00001fac: SHL
00001fad: SUB
00001fae: DUP2
00001faf: AND
00001fb0: PUSH0
00001fb1: SWAP1
00001fb2: DUP2
00001fb3: MSTORE
00001fb4: PUSH2 0x0202
00001fb7: PUSH1 0x20
00001fb9: MSTORE
00001fba: PUSH1 0x40
00001fbc: SWAP1
00001fbd: KECCAK256
00001fbe: PUSH1 0xff
00001fc0: NOT
00001fc1: DUP2
00001fc2: SLOAD
00001fc3: AND
00001fc4: PUSH1 0xff
00001fc6: DUP6
00001fc7: AND
00001fc8: OR
00001fc9: SWAP1
00001fca: SSTORE
00001fcb: PUSH1 0x40
00001fcd: MLOAD
00001fce: SWAP3
00001fcf: DUP4
00001fd0: MSTORE
00001fd1: AND
00001fd2: SWAP1
00001fd3: PUSH32 0xd9c6c3eabe38e3b9a606a66358d8f225489216a59eeba66facefb7d916635266
00001ff4: PUSH1 0x20
00001ff6: CALLER
00001ff7: SWAP3
00001ff8: LOG3
00001ff9: JUMP
00001ffa: JUMPDEST
00001ffb: POP
00001ffc: POP
00001ffd: POP
00001ffe: JUMP
00001fff: JUMPDEST
00002000: PUSH2 0x200b
00002003: PUSH2 0x2012
00002006: SWAP2
00002007: PUSH2 0x2cc6
0000200a: JUMP
0000200b: JUMPDEST
0000200c: SWAP2
0000200d: SWAP1
0000200e: PUSH2 0x2e5c
00002011: JUMP
00002012: JUMPDEST
00002013: PUSH2 0x2018
00002016: JUMPI
00002017: JUMP
00002018: JUMPDEST
00002019: PUSH2 0x2020
0000201c: PUSH2 0x2fe6
0000201f: JUMP
00002020: JUMPDEST
00002021: POP
00002022: JUMP
00002023: JUMPDEST
00002024: SWAP1
00002025: SWAP2
00002026: PUSH2 0x202e
00002029: CALLER
0000202a: PUSH2 0x310f
0000202d: JUMP
0000202e: JUMPDEST
0000202f: PUSH2 0x2036
00002032: PUSH2 0x44fe
00002035: JUMP
00002036: JUMPDEST
00002037: PUSH2 0x203e
0000203a: PUSH2 0x3ac3
0000203d: JUMP
0000203e: JUMPDEST
0000203f: PUSH1 0x40
00002041: MLOAD
00002042: PUSH4 0x29460cc5
00002047: PUSH1 0xe1
00002049: SHL
0000204a: DUP2
0000204b: MSTORE
0000204c: PUSH1 0x01
0000204e: PUSH1 0x01
00002050: PUSH1 0xa0
00002052: SHL
00002053: SUB
00002054: DUP4
00002055: DUP2
00002056: AND
00002057: PUSH1 0x04
00002059: DUP4
0000205a: ADD
0000205b: MSTORE
0000205c: PUSH1 0x24
0000205e: DUP3
0000205f: ADD
00002060: DUP6
00002061: SWAP1
00002062: MSTORE
00002063: SWAP1
00002064: SWAP4
00002065: PUSH1 0x20
00002067: SWAP3
00002068: SWAP2
00002069: PUSH32 0x0000000000000000000000002a261e60fb14586b474c208b1b7ac6d0f5000306
0000208a: AND
0000208b: DUP4
0000208c: DUP7
0000208d: PUSH1 0x44
0000208f: DUP2
00002090: PUSH0
00002091: DUP6
00002092: GAS
00002093: CALL
00002094: SWAP6
00002095: DUP7
00002096: ISZERO
00002097: PUSH2 0x0561
0000209a: JUMPI
0000209b: PUSH0
0000209c: SWAP7
0000209d: PUSH2 0x2229
000020a0: JUMPI
000020a1: JUMPDEST
000020a2: POP
000020a3: CALLER
000020a4: PUSH0
000020a5: SWAP1
000020a6: DUP2
000020a7: MSTORE
000020a8: PUSH2 0x0137
000020ab: PUSH1 0x20
000020ad: MSTORE
000020ae: PUSH1 0x40
000020b0: SWAP1
000020b1: KECCAK256
000020b2: PUSH2 0x20ba
000020b5: SWAP1
000020b6: PUSH2 0x1eb8
000020b9: JUMP
000020ba: JUMPDEST
000020bb: SWAP4
000020bc: PUSH1 0x01
000020be: PUSH1 0x01
000020c0: PUSH1 0x80
000020c2: SHL
000020c3: SUB
000020c4: PUSH2 0x20d4
000020c7: DUP7
000020c8: MLOAD
000020c9: PUSH1 0x01
000020cb: PUSH1 0x01
000020cd: PUSH1 0x80
000020cf: SHL
000020d0: SUB
000020d1: AND
000020d2: SWAP1
000020d3: JUMP
000020d4: JUMPDEST
000020d5: AND
000020d6: ISZERO
000020d7: PUSH2 0x21c5
000020da: JUMPI
000020db: POP
000020dc: POP
000020dd: PUSH2 0x20e5
000020e0: DUP4
000020e1: PUSH2 0x29bb
000020e4: JUMP
000020e5: JUMPDEST
000020e6: PUSH2 0x2111
000020e9: PUSH2 0x2104
000020ec: PUSH2 0x20f4
000020ef: DUP4
000020f0: PUSH2 0x3ff4
000020f3: JUMP
000020f4: JUMPDEST
000020f5: DUP6
000020f6: MLOAD
000020f7: PUSH1 0x01
000020f9: PUSH1 0x01
000020fb: PUSH1 0x80
000020fd: SHL
000020fe: SUB
000020ff: AND
00002100: PUSH2 0x3131
00002103: JUMP
00002104: JUMPDEST
00002105: PUSH1 0x01
00002107: PUSH1 0x01
00002109: PUSH1 0x80
0000210b: SHL
0000210c: SUB
0000210d: AND
0000210e: DUP5
0000210f: MSTORE
00002110: JUMP
00002111: JUMPDEST
00002112: CALLER
00002113: PUSH0
00002114: SWAP1
00002115: DUP2
00002116: MSTORE
00002117: PUSH1 0x9c
00002119: PUSH1 0x20
0000211b: MSTORE
0000211c: PUSH1 0x40
0000211e: SWAP1
0000211f: KECCAK256
00002120: PUSH2 0x2131
00002123: SWAP1
00002124: PUSH2 0x212c
00002127: SWAP1
00002128: PUSH2 0x08a3
0000212b: JUMP
0000212c: JUMPDEST
0000212d: PUSH2 0x34b9
00002130: JUMP
00002131: JUMPDEST
00002132: PUSH2 0x2145
00002135: PUSH2 0x178d
00002138: DUP6
00002139: MLOAD
0000213a: PUSH1 0x01
0000213c: PUSH1 0x01
0000213e: PUSH1 0x80
00002140: SHL
00002141: SUB
00002142: AND
00002143: SWAP1
00002144: JUMP
00002145: JUMPDEST
00002146: GT
00002147: PUSH2 0x21b3
0000214a: JUMPI
0000214b: CALLER
0000214c: PUSH0
0000214d: SWAP1
0000214e: DUP2
0000214f: MSTORE
00002150: PUSH2 0x0137
00002153: PUSH1 0x20
00002155: MSTORE
00002156: PUSH1 0x40
00002158: SWAP1
00002159: KECCAK256
0000215a: PUSH32 0xa16d97739893e1436c9753925fb5cef174c4f368699dc86cc8fdb0e6e60f8e58
0000217b: SWAP4
0000217c: PUSH2 0x2184
0000217f: SWAP2
00002180: PUSH2 0x1f0f
00002183: JUMP
00002184: JUMPDEST
00002185: PUSH1 0x40
00002187: DUP1
00002188: MLOAD
00002189: PUSH1 0x01
0000218b: PUSH1 0x01
0000218d: PUSH1 0xa0
0000218f: SHL
00002190: SUB
00002191: SWAP6
00002192: DUP7
00002193: AND
00002194: DUP2
00002195: MSTORE
00002196: PUSH1 0x20
00002198: DUP2
00002199: ADD
0000219a: DUP8
0000219b: SWAP1
0000219c: MSTORE
0000219d: SWAP1
0000219e: DUP2
0000219f: ADD
000021a0: SWAP2
000021a1: SWAP1
000021a2: SWAP2
000021a3: MSTORE
000021a4: SWAP3
000021a5: AND
000021a6: PUSH1 0x60
000021a8: DUP4
000021a9: ADD
000021aa: MSTORE
000021ab: CALLER
000021ac: SWAP2
000021ad: PUSH1 0x80
000021af: SWAP1
000021b0: LOG2
000021b1: SWAP1
000021b2: JUMP
000021b3: JUMPDEST
000021b4: PUSH1 0x40
000021b6: MLOAD
000021b7: PUSH4 0x3684c659
000021bc: PUSH1 0xe0
000021be: SHL
000021bf: DUP2
000021c0: MSTORE
000021c1: PUSH1 0x04
000021c3: SWAP1
000021c4: REVERT
000021c5: JUMPDEST
000021c6: DUP1
000021c7: PUSH1 0x04
000021c9: SWAP3
000021ca: PUSH1 0x40
000021cc: MLOAD
000021cd: SWAP4
000021ce: DUP5
000021cf: DUP1
000021d0: SWAP3
000021d1: PUSH4 0x752a536d
000021d6: PUSH1 0xe0
000021d8: SHL
000021d9: DUP3
000021da: MSTORE
000021db: GAS
000021dc: STATICCALL
000021dd: SWAP2
000021de: DUP3
000021df: ISZERO
000021e0: PUSH2 0x0561
000021e3: JUMPI
000021e4: PUSH2 0x2207
000021e7: SWAP3
000021e8: PUSH2 0x21f8
000021eb: SWAP2
000021ec: PUSH0
000021ed: SWAP2
000021ee: PUSH2 0x220c
000021f1: JUMPI
000021f2: JUMPDEST
000021f3: POP
000021f4: PUSH2 0x3ff4
000021f7: JUMP
000021f8: JUMPDEST
000021f9: PUSH1 0x01
000021fb: PUSH1 0x01
000021fd: PUSH1 0x80
000021ff: SHL
00002200: SUB
00002201: AND
00002202: SWAP1
00002203: DUP6
00002204: ADD
00002205: MSTORE
00002206: JUMP
00002207: JUMPDEST
00002208: PUSH2 0x20e5
0000220b: JUMP
0000220c: JUMPDEST
0000220d: PUSH2 0x2223
00002210: SWAP2
00002211: POP
00002212: DUP4
00002213: RETURNDATASIZE
00002214: DUP6
00002215: GT
00002216: PUSH2 0x055a
00002219: JUMPI
0000221a: PUSH2 0x054c
0000221d: DUP2
0000221e: DUP4
0000221f: PUSH2 0x0f95
00002222: JUMP
00002223: JUMPDEST
00002224: PUSH0
00002225: PUSH2 0x21f2
00002228: JUMP
00002229: JUMPDEST
0000222a: PUSH2 0x2241
0000222d: SWAP2
0000222e: SWAP7
0000222f: POP
00002230: DUP5
00002231: RETURNDATASIZE
00002232: DUP7
00002233: GT
00002234: PUSH2 0x055a
00002237: JUMPI
00002238: PUSH2 0x054c
0000223b: DUP2
0000223c: DUP4
0000223d: PUSH2 0x0f95
00002240: JUMP
00002241: JUMPDEST
00002242: SWAP5
00002243: PUSH0
00002244: PUSH2 0x20a1
00002247: JUMP
00002248: JUMPDEST
00002249: SELFBALANCE
0000224a: PUSH1 0x99
0000224c: SLOAD
0000224d: PUSH1 0x01
0000224f: PUSH1 0x01
00002251: PUSH1 0x80
00002253: SHL
00002254: SUB
00002255: PUSH2 0x225f
00002258: DUP2
00002259: DUP4
0000225a: AND
0000225b: PUSH2 0x1f41
0000225e: JUMP
0000225f: JUMPDEST
00002260: SWAP1
00002261: PUSH1 0x9e
00002263: SLOAD
00002264: AND
00002265: ADD
00002266: SWAP1
00002267: PUSH1 0x80
00002269: SHR
0000226a: ADD
0000226b: SWAP1
0000226c: DUP2
0000226d: DUP2
0000226e: GT
0000226f: PUSH0
00002270: EQ
00002271: PUSH2 0x2278
00002274: JUMPI
00002275: SUB
00002276: SWAP1
00002277: JUMP
00002278: JUMPDEST
00002279: POP
0000227a: POP
0000227b: PUSH0
0000227c: SWAP1
0000227d: JUMP
0000227e: JUMPDEST
0000227f: PUSH2 0x016a
00002282: SLOAD
00002283: PUSH1 0x01
00002285: PUSH1 0x01
00002287: PUSH1 0xa0
00002289: SHL
0000228a: SUB
0000228b: AND
0000228c: DUP1
0000228d: ISZERO
0000228e: PUSH2 0x2294
00002291: JUMPI
00002292: SWAP1
00002293: JUMP
00002294: JUMPDEST
00002295: POP
00002296: PUSH32 0x00000000000000000000000048319f97e5da1233c21c48b80097c0fb7a20ff86
000022b7: SWAP1
000022b8: JUMP
000022b9: JUMPDEST
000022ba: SWAP2
000022bb: PUSH2 0x22c3
000022be: CALLER
000022bf: PUSH2 0x310f
000022c2: JUMP
000022c3: JUMPDEST
000022c4: PUSH2 0x22cc
000022c7: CALLER
000022c8: PUSH2 0x310f
000022cb: JUMP
000022cc: JUMPDEST
000022cd: PUSH2 0x22d7
000022d0: DUP2
000022d1: CALLVALUE
000022d2: CALLER
000022d3: PUSH2 0x42c1
000022d6: JUMP
000022d7: JUMPDEST
000022d8: POP
000022d9: PUSH0
000022da: NOT
000022db: DUP3
000022dc: EQ
000022dd: PUSH2 0x22f0
000022e0: JUMPI
000022e1: JUMPDEST
000022e2: DUP2
000022e3: PUSH2 0x22ec
000022e6: SWAP3
000022e7: SWAP4
000022e8: PUSH2 0x2023
000022eb: JUMP
000022ec: JUMPDEST
000022ed: POP
000022ee: SWAP1
000022ef: JUMP
000022f0: JUMPDEST
000022f1: PUSH2 0x22ec
000022f4: SWAP2
000022f5: POP
000022f6: PUSH2 0x22fe
000022f9: CALLVALUE
000022fa: PUSH2 0x34b9
000022fd: JUMP
000022fe: JUMPDEST
000022ff: SWAP2
00002300: POP
00002301: PUSH2 0x22e1
00002304: JUMP
00002305: JUMPDEST
00002306: SWAP1
00002307: DUP2
00002308: PUSH1 0x20
0000230a: SWAP2
0000230b: SUB
0000230c: SLT
0000230d: PUSH2 0x0317
00002310: JUMPI
00002311: MLOAD
00002312: PUSH2 0x0682
00002315: DUP2
00002316: PUSH2 0x0306
00002319: JUMP
0000231a: JUMPDEST
0000231b: SWAP1
0000231c: PUSH1 0x20
0000231e: DUP3
0000231f: DUP3
00002320: SUB
00002321: SLT
00002322: PUSH2 0x0317
00002325: JUMPI
00002326: DUP2
00002327: CALLDATALOAD
00002328: PUSH1 0x01
0000232a: PUSH1 0x01
0000232c: PUSH1 0x40
0000232e: SHL
0000232f: SUB
00002330: SWAP3
00002331: DUP4
00002332: DUP3
00002333: GT
00002334: PUSH2 0x0317
00002337: JUMPI
00002338: ADD
00002339: SWAP2
0000233a: PUSH1 0x60
0000233c: DUP4
0000233d: DUP4
0000233e: SUB
0000233f: SLT
00002340: PUSH2 0x0317
00002343: JUMPI
00002344: PUSH1 0x40
00002346: MLOAD
00002347: SWAP3
00002348: PUSH2 0x2350
0000234b: DUP5
0000234c: PUSH2 0x0f5f
0000234f: JUMP
00002350: JUMPDEST
00002351: DUP1
00002352: CALLDATALOAD
00002353: DUP5
00002354: MSTORE
00002355: PUSH1 0x20
00002357: DUP2
00002358: ADD
00002359: CALLDATALOAD
0000235a: PUSH2 0xffff
0000235d: DUP2
0000235e: AND
0000235f: DUP2
00002360: SUB
00002361: PUSH2 0x0317
00002364: JUMPI
00002365: PUSH1 0x20
00002367: DUP6
00002368: ADD
00002369: MSTORE
0000236a: PUSH1 0x40
0000236c: DUP2
0000236d: ADD
0000236e: CALLDATALOAD
0000236f: SWAP2
00002370: DUP3
00002371: GT
00002372: PUSH2 0x0317
00002375: JUMPI
00002376: ADD
00002377: SWAP1
00002378: DUP1
00002379: PUSH1 0x1f
0000237b: DUP4
0000237c: ADD
0000237d: SLT
0000237e: ISZERO
0000237f: PUSH2 0x0317
00002382: JUMPI
00002383: DUP2
00002384: PUSH1 0x20
00002386: PUSH2 0x2391
00002389: SWAP4
0000238a: CALLDATALOAD
0000238b: SWAP2
0000238c: ADD
0000238d: PUSH2 0x0fe0
00002390: JUMP
00002391: JUMPDEST
00002392: PUSH1 0x40
00002394: DUP3
00002395: ADD
00002396: MSTORE
00002397: SWAP1
00002398: JUMP
00002399: JUMPDEST
0000239a: PUSH0
0000239b: SLOAD
0000239c: SWAP1
0000239d: SWAP2
0000239e: SWAP1
0000239f: PUSH1 0x01
000023a1: PUSH1 0x01
000023a3: PUSH1 0xa0
000023a5: SHL
000023a6: SUB
000023a7: AND
000023a8: PUSH2 0x245c
000023ab: JUMPI
000023ac: PUSH1 0x40
000023ae: MLOAD
000023af: PUSH4 0xe7f6f225
000023b4: PUSH1 0xe0
000023b6: SHL
000023b7: DUP2
000023b8: MSTORE
000023b9: SWAP1
000023ba: PUSH1 0x20
000023bc: SWAP1
000023bd: DUP2
000023be: DUP4
000023bf: PUSH1 0x04
000023c1: DUP2
000023c2: CALLER
000023c3: GAS
000023c4: STATICCALL
000023c5: SWAP3
000023c6: DUP4
000023c7: ISZERO
000023c8: PUSH2 0x0561
000023cb: JUMPI
000023cc: PUSH0
000023cd: SWAP4
000023ce: PUSH2 0x243d
000023d1: JUMPI
000023d2: JUMPDEST
000023d3: POP
000023d4: PUSH1 0x40
000023d6: MLOAD
000023d7: PUSH4 0x6f4fa30f
000023dc: PUSH1 0xe0
000023de: SHL
000023df: DUP2
000023e0: MSTORE
000023e1: SWAP4
000023e2: DUP3
000023e3: DUP6
000023e4: PUSH1 0x04
000023e6: DUP2
000023e7: CALLER
000023e8: GAS
000023e9: STATICCALL
000023ea: SWAP1
000023eb: DUP2
000023ec: ISZERO
000023ed: PUSH2 0x0561
000023f0: JUMPI
000023f1: PUSH2 0x0fc3
000023f4: SWAP6
000023f5: PUSH2 0x2415
000023f8: SWAP5
000023f9: PUSH0
000023fa: SWAP4
000023fb: PUSH2 0x241a
000023fe: JUMPI
000023ff: JUMPDEST
00002400: POP
00002401: POP
00002402: PUSH2 0x240e
00002405: SWAP2
00002406: SWAP3
00002407: DUP2
00002408: ADD
00002409: SWAP1
0000240a: PUSH2 0x231a
0000240d: JUMP
0000240e: JUMPDEST
0000240f: SWAP1
00002410: DUP4
00002411: PUSH2 0x36c8
00002414: JUMP
00002415: JUMPDEST
00002416: PUSH2 0x37b0
00002419: JUMP
0000241a: JUMPDEST
0000241b: PUSH2 0x240e
0000241e: SWAP4
0000241f: POP
00002420: SWAP1
00002421: DUP2
00002422: PUSH2 0x2436
00002425: SWAP3
00002426: SWAP1
00002427: RETURNDATASIZE
00002428: LT
00002429: PUSH2 0x0e73
0000242c: JUMPI
0000242d: PUSH2 0x0e65
00002430: DUP2
00002431: DUP4
00002432: PUSH2 0x0f95
00002435: JUMP
00002436: JUMPDEST
00002437: SWAP2
00002438: PUSH0
00002439: PUSH2 0x23ff
0000243c: JUMP
0000243d: JUMPDEST
0000243e: PUSH2 0x2455
00002441: SWAP2
00002442: SWAP4
00002443: POP
00002444: DUP3
00002445: RETURNDATASIZE
00002446: DUP5
00002447: GT
00002448: PUSH2 0x0e73
0000244b: JUMPI
0000244c: PUSH2 0x0e65
0000244f: DUP2
00002450: DUP4
00002451: PUSH2 0x0f95
00002454: JUMP
00002455: JUMPDEST
00002456: SWAP2
00002457: PUSH0
00002458: PUSH2 0x23d2
0000245b: JUMP
0000245c: JUMPDEST
0000245d: POP
0000245e: POP
0000245f: PUSH2 0x0fc3
00002462: PUSH2 0x35c3
00002465: JUMP
00002466: JUMPDEST
00002467: PUSH1 0x9d
00002469: SLOAD
0000246a: DUP1
0000246b: PUSH2 0x0682
0000246e: JUMPI
0000246f: POP
00002470: PUSH0
00002471: NOT
00002472: SWAP1
00002473: JUMP
00002474: JUMPDEST
00002475: SWAP2
00002476: SWAP1
00002477: DUP3
00002478: ADD
00002479: DUP1
0000247a: SWAP3
0000247b: GT
0000247c: PUSH2 0x1f0a
0000247f: JUMPI
00002480: JUMP
00002481: JUMPDEST
00002482: PUSH1 0x01
00002484: PUSH1 0x01
00002486: PUSH1 0x80
00002488: SHL
00002489: SUB
0000248a: PUSH1 0x99
0000248c: SLOAD
0000248d: AND
0000248e: PUSH2 0x2495
00002491: PUSH2 0x47c5
00002494: JUMP
00002495: JUMPDEST
00002496: SWAP1
00002497: DUP2
00002498: ADD
00002499: DUP1
0000249a: SWAP2
0000249b: GT
0000249c: PUSH2 0x1f0a
0000249f: JUMPI
000024a0: DUP2
000024a1: LT
000024a2: PUSH2 0x24c8
000024a5: JUMPI
000024a6: PUSH2 0x24b9
000024a9: PUSH1 0x9f
000024ab: SLOAD
000024ac: PUSH2 0x24b3
000024af: PUSH2 0x382c
000024b2: JUMP
000024b3: JUMPDEST
000024b4: SWAP1
000024b5: PUSH2 0x2474
000024b8: JUMP
000024b9: JUMPDEST
000024ba: GT
000024bb: ISZERO
000024bc: PUSH2 0x24c3
000024bf: JUMPI
000024c0: PUSH0
000024c1: SWAP1
000024c2: JUMP
000024c3: JUMPDEST
000024c4: PUSH0
000024c5: NOT
000024c6: SWAP1
000024c7: JUMP
000024c8: JUMPDEST
000024c9: PUSH1 0x9a
000024cb: SWAP1
000024cc: PUSH1 0x9a
000024ce: SLOAD
000024cf: SWAP2
000024d0: DUP3
000024d1: SWAP2
000024d2: PUSH0
000024d3: SWAP1
000024d4: JUMPDEST
000024d5: DUP5
000024d6: DUP3
000024d7: LT
000024d8: PUSH2 0x24ee
000024db: JUMPI
000024dc: POP
000024dd: POP
000024de: POP
000024df: DUP2
000024e0: LT
000024e1: ISZERO
000024e2: PUSH2 0x24e8
000024e5: JUMPI
000024e6: SWAP1
000024e7: JUMP
000024e8: JUMPDEST
000024e9: POP
000024ea: PUSH0
000024eb: NOT
000024ec: SWAP1
000024ed: JUMP
000024ee: JUMPDEST
000024ef: SWAP1
000024f0: SWAP2
000024f1: SWAP4
000024f2: DUP1
000024f3: DUP4
000024f4: AND
000024f5: SWAP1
000024f6: PUSH1 0x01
000024f8: DUP2
000024f9: DUP6
000024fa: XOR
000024fb: DUP2
000024fc: SHR
000024fd: DUP4
000024fe: ADD
000024ff: DUP1
00002500: SWAP4
00002501: GT
00002502: PUSH2 0x1f0a
00002505: JUMPI
00002506: PUSH0
00002507: DUP8
00002508: SWAP1
00002509: MSTORE
0000250a: PUSH0
0000250b: DUP1
0000250c: MLOAD
0000250d: PUSH1 0x20
0000250f: PUSH2 0x4b7c
00002512: DUP4
00002513: CODECOPY
00002514: DUP2
00002515: MLOAD
00002516: SWAP2
00002517: MSTORE
00002518: DUP4
00002519: ADD
0000251a: SLOAD
0000251b: PUSH1 0x01
0000251d: PUSH1 0x01
0000251f: PUSH1 0xa0
00002521: SHL
00002522: SUB
00002523: AND
00002524: DUP5
00002525: LT
00002526: ISZERO
00002527: PUSH2 0x2535
0000252a: JUMPI
0000252b: POP
0000252c: POP
0000252d: SWAP4
0000252e: JUMPDEST
0000252f: SWAP2
00002530: SWAP1
00002531: PUSH2 0x24d4
00002534: JUMP
00002535: JUMPDEST
00002536: SWAP1
00002537: SWAP6
00002538: SWAP2
00002539: ADD
0000253a: SWAP3
0000253b: POP
0000253c: PUSH2 0x252e
0000253f: JUMP
00002540: JUMPDEST
00002541: SWAP1
00002542: DUP2
00002543: PUSH1 0x20
00002545: SWAP2
00002546: SUB
00002547: SLT
00002548: PUSH2 0x0317
0000254b: JUMPI
0000254c: MLOAD
0000254d: PUSH2 0x0682
00002550: DUP2
00002551: PUSH2 0x0584
00002554: JUMP
00002555: JUMPDEST
00002556: SWAP2
00002557: SWAP1
00002558: DUP3
00002559: SUB
0000255a: SWAP2
0000255b: DUP3
0000255c: GT
0000255d: PUSH2 0x1f0a
00002560: JUMPI
00002561: JUMP
00002562: JUMPDEST
00002563: PUSH1 0x40
00002565: DUP1
00002566: MLOAD
00002567: PUSH1 0x01
00002569: PUSH1 0x01
0000256b: PUSH1 0xa0
0000256d: SHL
0000256e: SUB
0000256f: SWAP1
00002570: SWAP3
00002571: AND
00002572: PUSH1 0x20
00002574: DUP4
00002575: ADD
00002576: SWAP1
00002577: DUP2
00002578: MSTORE
00002579: SWAP1
0000257a: DUP3
0000257b: ADD
0000257c: SWAP4
0000257d: SWAP1
0000257e: SWAP4
0000257f: MSTORE
00002580: PUSH1 0x60
00002582: DUP2
00002583: ADD
00002584: DUP3
00002585: SWAP1
00002586: MSTORE
00002587: SWAP1
00002588: SWAP2
00002589: SWAP1
0000258a: PUSH2 0x25a0
0000258d: DUP2
0000258e: PUSH1 0x80
00002590: DUP2
00002591: ADD
00002592: JUMPDEST
00002593: SUB
00002594: PUSH1 0x1f
00002596: NOT
00002597: DUP2
00002598: ADD
00002599: DUP4
0000259a: MSTORE
0000259b: DUP3
0000259c: PUSH2 0x0f95
0000259f: JUMP
000025a0: JUMPDEST
000025a1: MLOAD
000025a2: SWAP1
000025a3: KECCAK256
000025a4: PUSH0
000025a5: MSTORE
000025a6: PUSH1 0x9b
000025a8: PUSH1 0x20
000025aa: MSTORE
000025ab: PUSH1 0x40
000025ad: PUSH0
000025ae: KECCAK256
000025af: SLOAD
000025b0: SWAP2
000025b1: DUP3
000025b2: ISZERO
000025b3: PUSH2 0x260a
000025b6: JUMPI
000025b7: PUSH1 0x01
000025b9: PUSH1 0x01
000025bb: PUSH1 0x80
000025bd: SHL
000025be: SUB
000025bf: PUSH1 0x99
000025c1: SLOAD
000025c2: AND
000025c3: SWAP1
000025c4: PUSH2 0x25cb
000025c7: PUSH2 0x47c5
000025ca: JUMP
000025cb: JUMPDEST
000025cc: SWAP2
000025cd: DUP3
000025ce: ADD
000025cf: DUP1
000025d0: SWAP3
000025d1: GT
000025d2: PUSH2 0x1f0a
000025d5: JUMPI
000025d6: DUP4
000025d7: SWAP2
000025d8: DUP4
000025d9: LT
000025da: ISZERO
000025db: PUSH2 0x25f8
000025de: JUMPI
000025df: SWAP2
000025e0: PUSH2 0x25e8
000025e3: SWAP3
000025e4: PUSH2 0x3928
000025e7: JUMP
000025e8: JUMPDEST
000025e9: SWAP1
000025ea: SWAP2
000025eb: JUMPDEST
000025ec: DUP3
000025ed: DUP2
000025ee: SUB
000025ef: SWAP1
000025f0: DUP2
000025f1: GT
000025f2: PUSH2 0x1f0a
000025f5: JUMPI
000025f6: SWAP3
000025f7: JUMP
000025f8: JUMPDEST
000025f9: POP
000025fa: SWAP1
000025fb: PUSH2 0x2603
000025fe: SWAP2
000025ff: PUSH2 0x38a8
00002602: JUMP
00002603: JUMPDEST
00002604: SWAP1
00002605: SWAP2
00002606: PUSH2 0x25eb
00002609: JUMP
0000260a: JUMPDEST
0000260b: POP
0000260c: POP
0000260d: POP
0000260e: PUSH0
0000260f: SWAP1
00002610: PUSH0
00002611: SWAP1
00002612: PUSH0
00002613: SWAP1
00002614: JUMP
00002615: JUMPDEST
00002616: SWAP1
00002617: CALLDATALOAD
00002618: PUSH1 0x1e
0000261a: NOT
0000261b: DUP3
0000261c: CALLDATASIZE
0000261d: SUB
0000261e: ADD
0000261f: DUP2
00002620: SLT
00002621: ISZERO
00002622: PUSH2 0x0317
00002625: JUMPI
00002626: ADD
00002627: PUSH1 0x20
00002629: DUP2
0000262a: CALLDATALOAD
0000262b: SWAP2
0000262c: ADD
0000262d: SWAP2
0000262e: PUSH1 0x01
00002630: PUSH1 0x01
00002632: PUSH1 0x40
00002634: SHL
00002635: SUB
00002636: DUP3
00002637: GT
00002638: PUSH2 0x0317
0000263b: JUMPI
0000263c: DUP2
0000263d: CALLDATASIZE
0000263e: SUB
0000263f: DUP4
00002640: SGT
00002641: PUSH2 0x0317
00002644: JUMPI
00002645: JUMP
00002646: JUMPDEST
00002647: SWAP1
00002648: PUSH1 0x30
0000264a: PUSH1 0x60
0000264c: SWAP3
0000264d: DUP2
0000264e: DUP4
0000264f: MSTORE
00002650: PUSH1 0x20
00002652: DUP4
00002653: ADD
00002654: CALLDATACOPY
00002655: PUSH0
00002656: PUSH1 0x50
00002658: DUP3
00002659: ADD
0000265a: MSTORE
0000265b: ADD
0000265c: SWAP1
0000265d: JUMP
0000265e: JUMPDEST
0000265f: SWAP1
00002660: DUP1
00002661: PUSH1 0x20
00002663: SWAP4
00002664: SWAP3
00002665: DUP2
00002666: DUP5
00002667: MSTORE
00002668: DUP5
00002669: DUP5
0000266a: ADD
0000266b: CALLDATACOPY
0000266c: PUSH0
0000266d: DUP3
0000266e: DUP3
0000266f: ADD
00002670: DUP5
00002671: ADD
00002672: MSTORE
00002673: PUSH1 0x1f
00002675: ADD
00002676: PUSH1 0x1f
00002678: NOT
00002679: AND
0000267a: ADD
0000267b: ADD
0000267c: SWAP1
0000267d: JUMP
0000267e: JUMPDEST
0000267f: SWAP1
00002680: PUSH1 0xa0
00002682: PUSH2 0x0682
00002685: SWAP3
00002686: PUSH1 0x20
00002688: DUP2
00002689: MSTORE
0000268a: DUP3
0000268b: CALLDATALOAD
0000268c: PUSH1 0x20
0000268e: DUP3
0000268f: ADD
00002690: MSTORE
00002691: PUSH1 0x20
00002693: DUP4
00002694: ADD
00002695: CALLDATALOAD
00002696: PUSH1 0x40
00002698: DUP3
00002699: ADD
0000269a: MSTORE
0000269b: PUSH2 0x26ba
0000269e: PUSH2 0x26aa
000026a1: PUSH1 0x40
000026a3: DUP6
000026a4: ADD
000026a5: DUP6
000026a6: PUSH2 0x2615
000026a9: JUMP
000026aa: JUMPDEST
000026ab: DUP5
000026ac: PUSH1 0x60
000026ae: DUP6
000026af: ADD
000026b0: MSTORE
000026b1: PUSH1 0xc0
000026b3: DUP5
000026b4: ADD
000026b5: SWAP2
000026b6: PUSH2 0x265e
000026b9: JUMP
000026ba: JUMPDEST
000026bb: SWAP1
000026bc: PUSH2 0x26ed
000026bf: PUSH2 0x26e2
000026c2: PUSH2 0x26ce
000026c5: PUSH1 0x60
000026c7: DUP8
000026c8: ADD
000026c9: DUP8
000026ca: PUSH2 0x2615
000026cd: JUMP
000026ce: JUMPDEST
000026cf: PUSH1 0x1f
000026d1: NOT
000026d2: DUP6
000026d3: DUP8
000026d4: SUB
000026d5: DUP2
000026d6: ADD
000026d7: PUSH1 0x80
000026d9: DUP8
000026da: ADD
000026db: MSTORE
000026dc: SWAP6
000026dd: SWAP2
000026de: PUSH2 0x265e
000026e1: JUMP
000026e2: JUMPDEST
000026e3: SWAP5
000026e4: PUSH1 0x80
000026e6: DUP2
000026e7: ADD
000026e8: SWAP1
000026e9: PUSH2 0x2615
000026ec: JUMP
000026ed: JUMPDEST
000026ee: SWAP4
000026ef: SWAP1
000026f0: SWAP3
000026f1: DUP3
000026f2: DUP7
000026f3: SUB
000026f4: ADD
000026f5: SWAP2
000026f6: ADD
000026f7: MSTORE
000026f8: PUSH2 0x265e
000026fb: JUMP
000026fc: JUMPDEST
000026fd: SWAP1
000026fe: CALLDATALOAD
000026ff: SWAP1
00002700: PUSH1 0x1e
00002702: NOT
00002703: DUP2
00002704: CALLDATASIZE
00002705: SUB
00002706: ADD
00002707: DUP3
00002708: SLT
00002709: ISZERO
0000270a: PUSH2 0x0317
0000270d: JUMPI
0000270e: ADD
0000270f: DUP1
00002710: CALLDATALOAD
00002711: SWAP1
00002712: PUSH1 0x01
00002714: PUSH1 0x01
00002716: PUSH1 0x40
00002718: SHL
00002719: SUB
0000271a: DUP3
0000271b: GT
0000271c: PUSH2 0x0317
0000271f: JUMPI
00002720: PUSH1 0x20
00002722: ADD
00002723: SWAP2
00002724: DUP2
00002725: CALLDATASIZE
00002726: SUB
00002727: DUP4
00002728: SGT
00002729: PUSH2 0x0317
0000272c: JUMPI
0000272d: JUMP
0000272e: JUMPDEST
0000272f: PUSH4 0x4e487b71
00002734: PUSH1 0xe0
00002736: SHL
00002737: PUSH0
00002738: MSTORE
00002739: PUSH1 0x12
0000273b: PUSH1 0x04
0000273d: MSTORE
0000273e: PUSH1 0x24
00002740: PUSH0
00002741: REVERT
00002742: JUMPDEST
00002743: DUP2
00002744: ISZERO
00002745: PUSH2 0x274c
00002748: JUMPI
00002749: DIV
0000274a: SWAP1
0000274b: JUMP
0000274c: JUMPDEST
0000274d: PUSH2 0x272e
00002750: JUMP
00002751: JUMPDEST
00002752: SWAP1
00002753: PUSH9 0x01bc16d674ec800000
0000275d: SWAP2
0000275e: DUP1
0000275f: DUP4
00002760: MUL
00002761: SWAP3
00002762: DUP4
00002763: DIV
00002764: SUB
00002765: PUSH2 0x1f0a
00002768: JUMPI
00002769: JUMP
0000276a: JUMPDEST
0000276b: SWAP1
0000276c: PUSH8 0x0de0b6b3a7640000
00002775: SWAP2
00002776: DUP3
00002777: DUP2
00002778: MUL
00002779: SWAP3
0000277a: DUP2
0000277b: DUP5
0000277c: DIV
0000277d: EQ
0000277e: SWAP1
0000277f: ISZERO
00002780: OR
00002781: ISZERO
00002782: PUSH2 0x1f0a
00002785: JUMPI
00002786: JUMP
00002787: JUMPDEST
00002788: PUSH1 0x01
0000278a: PUSH1 0x01
0000278c: PUSH1 0x40
0000278e: SHL
0000278f: SUB
00002790: DUP2
00002791: GT
00002792: PUSH2 0x0f47
00002795: JUMPI
00002796: PUSH1 0x05
00002798: SHL
00002799: PUSH1 0x20
0000279b: ADD
0000279c: SWAP1
0000279d: JUMP
0000279e: JUMPDEST
0000279f: SWAP1
000027a0: PUSH2 0x27a8
000027a3: DUP3
000027a4: PUSH2 0x2787
000027a7: JUMP
000027a8: JUMPDEST
000027a9: PUSH2 0x27b5
000027ac: PUSH1 0x40
000027ae: MLOAD
000027af: SWAP2
000027b0: DUP3
000027b1: PUSH2 0x0f95
000027b4: JUMP
000027b5: JUMPDEST
000027b6: DUP3
000027b7: DUP2
000027b8: MSTORE
000027b9: DUP1
000027ba: SWAP3
000027bb: PUSH2 0x27c6
000027be: PUSH1 0x1f
000027c0: NOT
000027c1: SWAP2
000027c2: PUSH2 0x2787
000027c5: JUMP
000027c6: JUMPDEST
000027c7: ADD
000027c8: SWAP1
000027c9: PUSH0
000027ca: JUMPDEST
000027cb: DUP3
000027cc: DUP2
000027cd: LT
000027ce: PUSH2 0x27d6
000027d1: JUMPI
000027d2: POP
000027d3: POP
000027d4: POP
000027d5: JUMP
000027d6: JUMPDEST
000027d7: DUP1
000027d8: PUSH1 0x60
000027da: PUSH1 0x20
000027dc: DUP1
000027dd: SWAP4
000027de: DUP6
000027df: ADD
000027e0: ADD
000027e1: MSTORE
000027e2: ADD
000027e3: PUSH2 0x27ca
000027e6: JUMP
000027e7: JUMPDEST
000027e8: PUSH4 0x4e487b71
000027ed: PUSH1 0xe0
000027ef: SHL
000027f0: PUSH0
000027f1: MSTORE
000027f2: PUSH1 0x32
000027f4: PUSH1 0x04
000027f6: MSTORE
000027f7: PUSH1 0x24
000027f9: PUSH0
000027fa: REVERT
000027fb: JUMPDEST
000027fc: SWAP1
000027fd: DUP3
000027fe: LT
000027ff: ISZERO
00002800: PUSH2 0x2812
00002803: JUMPI
00002804: PUSH2 0x0ca3
00002807: SWAP2
00002808: PUSH1 0x05
0000280a: SHL
0000280b: DUP2
0000280c: ADD
0000280d: SWAP1
0000280e: PUSH2 0x26fc
00002811: JUMP
00002812: JUMPDEST
00002813: PUSH2 0x27e7
00002816: JUMP
00002817: JUMPDEST
00002818: SWAP1
00002819: DUP1
0000281a: SWAP3
0000281b: SWAP2
0000281c: DUP3
0000281d: CALLDATACOPY
0000281e: ADD
0000281f: PUSH0
00002820: DUP2
00002821: MSTORE
00002822: SWAP1
00002823: JUMP
00002824: JUMPDEST
00002825: RETURNDATASIZE
00002826: ISZERO
00002827: PUSH2 0x284e
0000282a: JUMPI
0000282b: RETURNDATASIZE
0000282c: SWAP1
0000282d: PUSH2 0x2835
00002830: DUP3
00002831: PUSH2 0x0fc5
00002834: JUMP
00002835: JUMPDEST
00002836: SWAP2
00002837: PUSH2 0x2843
0000283a: PUSH1 0x40
0000283c: MLOAD
0000283d: SWAP4
0000283e: DUP5
0000283f: PUSH2 0x0f95
00002842: JUMP
00002843: JUMPDEST
00002844: DUP3
00002845: MSTORE
00002846: RETURNDATASIZE
00002847: PUSH0
00002848: PUSH1 0x20
0000284a: DUP5
0000284b: ADD
0000284c: RETURNDATACOPY
0000284d: JUMP
0000284e: JUMPDEST
0000284f: PUSH1 0x60
00002851: SWAP1
00002852: JUMP
00002853: JUMPDEST
00002854: PUSH1 0x20
00002856: DUP2
00002857: DUP4
00002858: SUB
00002859: SLT
0000285a: PUSH2 0x0317
0000285d: JUMPI
0000285e: DUP1
0000285f: MLOAD
00002860: SWAP1
00002861: PUSH1 0x01
00002863: PUSH1 0x01
00002865: PUSH1 0x40
00002867: SHL
00002868: SUB
00002869: DUP3
0000286a: GT
0000286b: PUSH2 0x0317
0000286e: JUMPI
0000286f: ADD
00002870: DUP2
00002871: PUSH1 0x1f
00002873: DUP3
00002874: ADD
00002875: SLT
00002876: ISZERO
00002877: PUSH2 0x0317
0000287a: JUMPI
0000287b: DUP1
0000287c: MLOAD
0000287d: PUSH2 0x2885
00002880: DUP2
00002881: PUSH2 0x0fc5
00002884: JUMP
00002885: JUMPDEST
00002886: SWAP3
00002887: PUSH2 0x2893
0000288a: PUSH1 0x40
0000288c: MLOAD
0000288d: SWAP5
0000288e: DUP6
0000288f: PUSH2 0x0f95
00002892: JUMP
00002893: JUMPDEST
00002894: DUP2
00002895: DUP5
00002896: MSTORE
00002897: PUSH1 0x20
00002899: DUP3
0000289a: DUP5
0000289b: ADD
0000289c: ADD
0000289d: GT
0000289e: PUSH2 0x0317
000028a1: JUMPI
000028a2: PUSH2 0x0682
000028a5: SWAP2
000028a6: PUSH1 0x20
000028a8: DUP1
000028a9: DUP6
000028aa: ADD
000028ab: SWAP2
000028ac: ADD
000028ad: PUSH2 0x1b8f
000028b0: JUMP
000028b1: JUMPDEST
000028b2: DUP1
000028b3: MLOAD
000028b4: DUP3
000028b5: LT
000028b6: ISZERO
000028b7: PUSH2 0x2812
000028ba: JUMPI
000028bb: PUSH1 0x20
000028bd: SWAP2
000028be: PUSH1 0x05
000028c0: SHL
000028c1: ADD
000028c2: ADD
000028c3: SWAP1
000028c4: JUMP
000028c5: JUMPDEST
000028c6: SWAP2
000028c7: SWAP1
000028c8: SWAP2
000028c9: PUSH2 0x28d1
000028cc: DUP4
000028cd: PUSH2 0x279e
000028d0: JUMP
000028d1: JUMPDEST
000028d2: SWAP3
000028d3: PUSH0
000028d4: JUMPDEST
000028d5: DUP2
000028d6: DUP2
000028d7: LT
000028d8: PUSH2 0x28e0
000028db: JUMPI
000028dc: POP
000028dd: POP
000028de: POP
000028df: JUMP
000028e0: JUMPDEST
000028e1: PUSH0
000028e2: DUP1
000028e3: PUSH2 0x28ed
000028e6: DUP4
000028e7: DUP6
000028e8: DUP8
000028e9: PUSH2 0x27fb
000028ec: JUMP
000028ed: JUMPDEST
000028ee: PUSH1 0x40
000028f0: SWAP4
000028f1: SWAP2
000028f2: PUSH2 0x28ff
000028f5: DUP6
000028f6: MLOAD
000028f7: DUP1
000028f8: SWAP4
000028f9: DUP2
000028fa: SWAP4
000028fb: PUSH2 0x2817
000028fe: JUMP
000028ff: JUMPDEST
00002900: SUB
00002901: SWAP1
00002902: ADDRESS
00002903: GAS
00002904: DELEGATECALL
00002905: SWAP1
00002906: PUSH2 0x290d
00002909: PUSH2 0x2824
0000290c: JUMP
0000290d: JUMPDEST
0000290e: SWAP2
0000290f: ISZERO
00002910: PUSH2 0x2934
00002913: JUMPI
00002914: POP
00002915: SWAP1
00002916: PUSH1 0x01
00002918: SWAP2
00002919: PUSH2 0x2922
0000291c: DUP3
0000291d: DUP9
0000291e: PUSH2 0x28b1
00002921: JUMP
00002922: JUMPDEST
00002923: MSTORE
00002924: PUSH2 0x292d
00002927: DUP2
00002928: DUP8
00002929: PUSH2 0x28b1
0000292c: JUMP
0000292d: JUMPDEST
0000292e: POP
0000292f: ADD
00002930: PUSH2 0x28d4
00002933: JUMP
00002934: JUMPDEST
00002935: SWAP1
00002936: PUSH1 0x44
00002938: DUP2
00002939: MLOAD
0000293a: LT
0000293b: PUSH2 0x0317
0000293e: JUMPI
0000293f: PUSH2 0x296e
00002942: PUSH2 0x2959
00002945: PUSH1 0x04
00002947: SWAP3
00002948: DUP4
00002949: DUP2
0000294a: ADD
0000294b: MLOAD
0000294c: PUSH1 0x24
0000294e: DUP1
0000294f: SWAP2
00002950: DUP4
00002951: ADD
00002952: ADD
00002953: SWAP2
00002954: ADD
00002955: PUSH2 0x2853
00002958: JUMP
00002959: JUMPDEST
0000295a: SWAP3
0000295b: MLOAD
0000295c: PUSH3 0x461bcd
00002960: PUSH1 0xe5
00002962: SHL
00002963: DUP2
00002964: MSTORE
00002965: SWAP3
00002966: DUP4
00002967: SWAP3
00002968: DUP4
00002969: ADD
0000296a: PUSH2 0x1c9d
0000296d: JUMP
0000296e: JUMPDEST
0000296f: SUB
00002970: SWAP1
00002971: REVERT
00002972: JUMPDEST
00002973: PUSH1 0xd2
00002975: SLOAD
00002976: PUSH1 0x01
00002978: PUSH1 0x01
0000297a: PUSH1 0xa0
0000297c: SHL
0000297d: SUB
0000297e: AND
0000297f: DUP1
00002980: PUSH2 0x0682
00002983: JUMPI
00002984: POP
00002985: PUSH32 0x00000000000000000000000075ab6ddce07556639333d3df1eaa684f5735223e
000029a6: SWAP1
000029a7: JUMP
000029a8: JUMPDEST
000029a9: PUSH2 0x29b1
000029ac: CALLER
000029ad: PUSH2 0x310f
000029b0: JUMP
000029b1: JUMPDEST
000029b2: PUSH2 0x2020
000029b5: CALLVALUE
000029b6: CALLER
000029b7: PUSH2 0x41f9
000029ba: JUMP
000029bb: JUMPDEST
000029bc: PUSH1 0x40
000029be: MLOAD
000029bf: PUSH4 0x752a536d
000029c4: PUSH1 0xe0
000029c6: SHL
000029c7: DUP2
000029c8: MSTORE
000029c9: PUSH1 0x20
000029cb: DUP2
000029cc: PUSH1 0x04
000029ce: DUP2
000029cf: PUSH32 0x0000000000000000000000002a261e60fb14586b474c208b1b7ac6d0f5000306
000029f0: PUSH1 0x01
000029f2: PUSH1 0x01
000029f4: PUSH1 0xa0
000029f6: SHL
000029f7: SUB
000029f8: AND
000029f9: GAS
000029fa: STATICCALL
000029fb: SWAP1
000029fc: DUP2
000029fd: ISZERO
000029fe: PUSH2 0x0561
00002a01: JUMPI
00002a02: PUSH0
00002a03: SWAP2
00002a04: PUSH2 0x2a51
00002a07: JUMPI
00002a08: JUMPDEST
00002a09: POP
00002a0a: PUSH1 0x20
00002a0c: DUP3
00002a0d: ADD
00002a0e: SWAP2
00002a0f: PUSH1 0x01
00002a11: PUSH1 0x01
00002a13: PUSH1 0x80
00002a15: SHL
00002a16: SUB
00002a17: SWAP2
00002a18: DUP3
00002a19: DUP5
00002a1a: MLOAD
00002a1b: AND
00002a1c: SWAP2
00002a1d: DUP3
00002a1e: DUP3
00002a1f: EQ
00002a20: PUSH2 0x2a4a
00002a23: JUMPI
00002a24: DUP4
00002a25: PUSH2 0x2a3d
00002a28: PUSH2 0x2a38
00002a2b: PUSH2 0x2a45
00002a2e: SWAP6
00002a2f: DUP6
00002a30: DUP5
00002a31: DUP7
00002a32: MLOAD
00002a33: AND
00002a34: PUSH2 0x2b5e
00002a37: JUMP
00002a38: JUMPDEST
00002a39: PUSH2 0x3ff4
00002a3c: JUMP
00002a3d: JUMPDEST
00002a3e: AND
00002a3f: SWAP1
00002a40: MSTORE
00002a41: PUSH2 0x3ff4
00002a44: JUMP
00002a45: JUMPDEST
00002a46: AND
00002a47: SWAP1
00002a48: MSTORE
00002a49: JUMP
00002a4a: JUMPDEST
00002a4b: POP
00002a4c: POP
00002a4d: POP
00002a4e: POP
00002a4f: POP
00002a50: JUMP
00002a51: JUMPDEST
00002a52: PUSH2 0x2a6a
00002a55: SWAP2
00002a56: POP
00002a57: PUSH1 0x20
00002a59: RETURNDATASIZE
00002a5a: PUSH1 0x20
00002a5c: GT
00002a5d: PUSH2 0x055a
00002a60: JUMPI
00002a61: PUSH2 0x054c
00002a64: DUP2
00002a65: DUP4
00002a66: PUSH2 0x0f95
00002a69: JUMP
00002a6a: JUMPDEST
00002a6b: PUSH0
00002a6c: PUSH2 0x2a08
00002a6f: JUMP
00002a70: JUMPDEST
00002a71: SWAP1
00002a72: DUP1
00002a73: DUP3
00002a74: MUL
00002a75: SWAP1
00002a76: PUSH0
00002a77: NOT
00002a78: DUP2
00002a79: DUP5
00002a7a: MULMOD
00002a7b: SWAP1
00002a7c: DUP3
00002a7d: DUP1
00002a7e: DUP4
00002a7f: LT
00002a80: SWAP3
00002a81: SUB
00002a82: SWAP2
00002a83: DUP1
00002a84: DUP4
00002a85: SUB
00002a86: SWAP3
00002a87: EQ
00002a88: PUSH2 0x2adf
00002a8b: JUMPI
00002a8c: PUSH2 0x2710
00002a8f: SWAP1
00002a90: DUP3
00002a91: DUP3
00002a92: GT
00002a93: ISZERO
00002a94: PUSH2 0x2acd
00002a97: JUMPI
00002a98: PUSH32 0xbc01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e91
00002ab9: SWAP5
00002aba: MULMOD
00002abb: SWAP1
00002abc: DUP3
00002abd: DUP3
00002abe: GT
00002abf: SWAP1
00002ac0: SUB
00002ac1: PUSH1 0xfc
00002ac3: SHL
00002ac4: SWAP2
00002ac5: SUB
00002ac6: PUSH1 0x04
00002ac8: SHR
00002ac9: OR
00002aca: MUL
00002acb: SWAP1
00002acc: JUMP
00002acd: JUMPDEST
00002ace: PUSH1 0x40
00002ad0: MLOAD
00002ad1: PUSH4 0x227bc153
00002ad6: PUSH1 0xe0
00002ad8: SHL
00002ad9: DUP2
00002ada: MSTORE
00002adb: PUSH1 0x04
00002add: SWAP1
00002ade: REVERT
00002adf: JUMPDEST
00002ae0: POP
00002ae1: POP
00002ae2: PUSH2 0x2710
00002ae5: SWAP2
00002ae6: POP
00002ae7: DIV
00002ae8: SWAP1
00002ae9: JUMP
00002aea: JUMPDEST
00002aeb: SWAP1
00002aec: DUP1
00002aed: DUP3
00002aee: MUL
00002aef: SWAP1
00002af0: PUSH0
00002af1: NOT
00002af2: DUP2
00002af3: DUP5
00002af4: MULMOD
00002af5: SWAP1
00002af6: DUP3
00002af7: DUP1
00002af8: DUP4
00002af9: LT
00002afa: SWAP3
00002afb: SUB
00002afc: SWAP2
00002afd: DUP1
00002afe: DUP4
00002aff: SUB
00002b00: SWAP3
00002b01: EQ
00002b02: PUSH2 0x2b4d
00002b05: JUMPI
00002b06: PUSH8 0x0de0b6b3a7640000
00002b0f: SWAP1
00002b10: DUP3
00002b11: DUP3
00002b12: GT
00002b13: ISZERO
00002b14: PUSH2 0x2acd
00002b17: JUMPI
00002b18: PUSH32 0xaccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669
00002b39: SWAP5
00002b3a: MULMOD
00002b3b: SWAP1
00002b3c: DUP3
00002b3d: DUP3
00002b3e: GT
00002b3f: SWAP1
00002b40: SUB
00002b41: PUSH1 0xee
00002b43: SHL
00002b44: SWAP2
00002b45: SUB
00002b46: PUSH1 0x12
00002b48: SHR
00002b49: OR
00002b4a: MUL
00002b4b: SWAP1
00002b4c: JUMP
00002b4d: JUMPDEST
00002b4e: POP
00002b4f: POP
00002b50: PUSH8 0x0de0b6b3a7640000
00002b59: SWAP2
00002b5a: POP
00002b5b: DIV
00002b5c: SWAP1
00002b5d: JUMP
00002b5e: JUMPDEST
00002b5f: SWAP1
00002b60: SWAP2
00002b61: DUP3
00002b62: DUP3
00002b63: MUL
00002b64: SWAP2
00002b65: PUSH0
00002b66: NOT
00002b67: DUP5
00002b68: DUP3
00002b69: MULMOD
00002b6a: SWAP4
00002b6b: DUP4
00002b6c: DUP1
00002b6d: DUP7
00002b6e: LT
00002b6f: SWAP6
00002b70: SUB
00002b71: SWAP5
00002b72: DUP1
00002b73: DUP7
00002b74: SUB
00002b75: SWAP6
00002b76: EQ
00002b77: PUSH2 0x2bd1
00002b7a: JUMPI
00002b7b: DUP5
00002b7c: DUP4
00002b7d: GT
00002b7e: ISZERO
00002b7f: PUSH2 0x2acd
00002b82: JUMPI
00002b83: DUP3
00002b84: SWAP2
00002b85: MULMOD
00002b86: DUP2
00002b87: PUSH0
00002b88: SUB
00002b89: DUP3
00002b8a: AND
00002b8b: DUP1
00002b8c: SWAP3
00002b8d: DIV
00002b8e: PUSH1 0x02
00002b90: DUP1
00002b91: DUP3
00002b92: PUSH1 0x03
00002b94: MUL
00002b95: XOR
00002b96: DUP1
00002b97: DUP4
00002b98: MUL
00002b99: DUP3
00002b9a: SUB
00002b9b: MUL
00002b9c: DUP1
00002b9d: DUP4
00002b9e: MUL
00002b9f: DUP3
00002ba0: SUB
00002ba1: MUL
00002ba2: DUP1
00002ba3: DUP4
00002ba4: MUL
00002ba5: DUP3
00002ba6: SUB
00002ba7: MUL
00002ba8: DUP1
00002ba9: DUP4
00002baa: MUL
00002bab: DUP3
00002bac: SUB
00002bad: MUL
00002bae: DUP1
00002baf: DUP4
00002bb0: MUL
00002bb1: DUP3
00002bb2: SUB
00002bb3: MUL
00002bb4: DUP1
00002bb5: SWAP3
00002bb6: MUL
00002bb7: SWAP1
00002bb8: SUB
00002bb9: MUL
00002bba: SWAP4
00002bbb: PUSH1 0x01
00002bbd: DUP4
00002bbe: DUP1
00002bbf: PUSH0
00002bc0: SUB
00002bc1: DIV
00002bc2: ADD
00002bc3: SWAP1
00002bc4: DUP5
00002bc5: DUP4
00002bc6: GT
00002bc7: SWAP1
00002bc8: SUB
00002bc9: MUL
00002bca: SWAP3
00002bcb: SUB
00002bcc: DIV
00002bcd: OR
00002bce: MUL
00002bcf: SWAP1
00002bd0: JUMP
00002bd1: JUMPDEST
00002bd2: POP
00002bd3: POP
00002bd4: SWAP1
00002bd5: PUSH2 0x0682
00002bd8: SWAP3
00002bd9: POP
00002bda: PUSH2 0x2742
00002bdd: JUMP
00002bde: JUMPDEST
00002bdf: SWAP1
00002be0: DUP2
00002be1: PUSH1 0x60
00002be3: SWAP2
00002be4: SUB
00002be5: SLT
00002be6: PUSH2 0x0317
00002be9: JUMPI
00002bea: DUP1
00002beb: MLOAD
00002bec: SWAP2
00002bed: PUSH1 0x40
00002bef: PUSH1 0x20
00002bf1: DUP4
00002bf2: ADD
00002bf3: MLOAD
00002bf4: SWAP3
00002bf5: ADD
00002bf6: MLOAD
00002bf7: PUSH2 0x0682
00002bfa: DUP2
00002bfb: PUSH2 0x0584
00002bfe: JUMP
00002bff: JUMPDEST
00002c00: DUP2
00002c01: DUP4
00002c02: MSTORE
00002c03: SWAP1
00002c04: SWAP2
00002c05: PUSH1 0x01
00002c07: PUSH1 0x01
00002c09: PUSH1 0xfb
00002c0b: SHL
00002c0c: SUB
00002c0d: DUP4
00002c0e: GT
00002c0f: PUSH2 0x0317
00002c12: JUMPI
00002c13: PUSH1 0x20
00002c15: SWAP3
00002c16: PUSH1 0x05
00002c18: SHL
00002c19: DUP1
00002c1a: SWAP3
00002c1b: DUP5
00002c1c: DUP4
00002c1d: ADD
00002c1e: CALLDATACOPY
00002c1f: ADD
00002c20: ADD
00002c21: SWAP1
00002c22: JUMP
00002c23: JUMPDEST
00002c24: SWAP1
00002c25: PUSH1 0x20
00002c27: DUP3
00002c28: MSTORE
00002c29: DUP1
00002c2a: CALLDATALOAD
00002c2b: PUSH1 0x20
00002c2d: DUP4
00002c2e: ADD
00002c2f: MSTORE
00002c30: PUSH1 0x20
00002c32: DUP2
00002c33: ADD
00002c34: CALLDATALOAD
00002c35: DUP1
00002c36: PUSH1 0x13
00002c38: SIGNEXTEND
00002c39: DUP1
00002c3a: SWAP2
00002c3b: SUB
00002c3c: PUSH2 0x0317
00002c3f: JUMPI
00002c40: PUSH1 0x40
00002c42: DUP4
00002c43: ADD
00002c44: MSTORE
00002c45: PUSH1 0x40
00002c47: DUP2
00002c48: ADD
00002c49: CALLDATALOAD
00002c4a: PUSH2 0x2c52
00002c4d: DUP2
00002c4e: PUSH2 0x0306
00002c51: JUMP
00002c52: JUMPDEST
00002c53: PUSH1 0x01
00002c55: PUSH1 0x01
00002c57: PUSH1 0xa0
00002c59: SHL
00002c5a: SUB
00002c5b: AND
00002c5c: PUSH1 0x60
00002c5e: DUP4
00002c5f: DUP2
00002c60: ADD
00002c61: SWAP2
00002c62: SWAP1
00002c63: SWAP2
00002c64: MSTORE
00002c65: DUP2
00002c66: ADD
00002c67: CALLDATALOAD
00002c68: CALLDATASIZE
00002c69: DUP3
00002c6a: SWAP1
00002c6b: SUB
00002c6c: PUSH1 0x1e
00002c6e: NOT
00002c6f: ADD
00002c70: DUP2
00002c71: SLT
00002c72: ISZERO
00002c73: PUSH2 0x0317
00002c76: JUMPI
00002c77: ADD
00002c78: PUSH1 0x20
00002c7a: DUP2
00002c7b: CALLDATALOAD
00002c7c: SWAP2
00002c7d: ADD
00002c7e: SWAP1
00002c7f: PUSH1 0x01
00002c81: PUSH1 0x01
00002c83: PUSH1 0x40
00002c85: SHL
00002c86: SUB
00002c87: DUP2
00002c88: GT
00002c89: PUSH2 0x0317
00002c8c: JUMPI
00002c8d: DUP1
00002c8e: PUSH1 0x05
00002c90: SHL
00002c91: CALLDATASIZE
00002c92: SUB
00002c93: DUP3
00002c94: SGT
00002c95: PUSH2 0x0317
00002c98: JUMPI
00002c99: PUSH1 0xa0
00002c9b: DUP4
00002c9c: PUSH1 0x80
00002c9e: DUP1
00002c9f: PUSH2 0x0682
00002ca2: SWAP7
00002ca3: ADD
00002ca4: MSTORE
00002ca5: ADD
00002ca6: SWAP2
00002ca7: PUSH2 0x2bff
00002caa: JUMP
00002cab: JUMPDEST
00002cac: SWAP2
00002cad: SWAP1
00002cae: SWAP2
00002caf: PUSH0
00002cb0: DUP4
00002cb1: DUP3
00002cb2: ADD
00002cb3: SWAP4
00002cb4: DUP5
00002cb5: SLT
00002cb6: SWAP2
00002cb7: SLT
00002cb8: SWAP1
00002cb9: DUP1
00002cba: ISZERO
00002cbb: DUP3
00002cbc: AND
00002cbd: SWAP2
00002cbe: ISZERO
00002cbf: AND
00002cc0: OR
00002cc1: PUSH2 0x1f0a
00002cc4: JUMPI
00002cc5: JUMP
00002cc6: JUMPDEST
00002cc7: PUSH1 0x40
00002cc9: MLOAD
00002cca: PUSH4 0x25f56f11
00002ccf: PUSH1 0xe0
00002cd1: SHL
00002cd2: DUP2
00002cd3: MSTORE
00002cd4: PUSH1 0x01
00002cd6: PUSH1 0x01
00002cd8: PUSH1 0xa0
00002cda: SHL
00002cdb: SUB
00002cdc: SWAP3
00002cdd: SWAP2
00002cde: PUSH1 0x60
00002ce0: SWAP1
00002ce1: DUP3
00002ce2: SWAP1
00002ce3: DUP2
00002ce4: SWAP1
00002ce5: PUSH2 0x2cf1
00002ce8: SWAP1
00002ce9: PUSH1 0x04
00002ceb: DUP4
00002cec: ADD
00002ced: PUSH2 0x2c23
00002cf0: JUMP
00002cf1: JUMPDEST
00002cf2: SUB
00002cf3: DUP2
00002cf4: PUSH0
00002cf5: DUP8
00002cf6: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00002d17: AND
00002d18: GAS
00002d19: CALL
00002d1a: SWAP3
00002d1b: DUP4
00002d1c: ISZERO
00002d1d: PUSH2 0x0561
00002d20: JUMPI
00002d21: PUSH0
00002d22: SWAP2
00002d23: PUSH0
00002d24: SWAP1
00002d25: PUSH0
00002d26: SWAP6
00002d27: PUSH2 0x2e17
00002d2a: JUMPI
00002d2b: JUMPDEST
00002d2c: POP
00002d2d: DUP5
00002d2e: ISZERO
00002d2f: PUSH2 0x2dc4
00002d32: JUMPI
00002d33: DUP2
00002d34: PUSH2 0x2d3b
00002d37: PUSH2 0x227e
00002d3a: JUMP
00002d3b: JUMPDEST
00002d3c: AND
00002d3d: SWAP2
00002d3e: PUSH32 0x00000000000000000000000048319f97e5da1233c21c48b80097c0fb7a20ff86
00002d5f: AND
00002d60: DUP3
00002d61: EQ
00002d62: PUSH2 0x2dbd
00002d65: JUMPI
00002d66: POP
00002d67: SWAP1
00002d68: PUSH1 0x20
00002d6a: PUSH0
00002d6b: SWAP3
00002d6c: PUSH1 0x04
00002d6e: PUSH1 0x40
00002d70: MLOAD
00002d71: DUP1
00002d72: SWAP6
00002d73: DUP2
00002d74: SWAP4
00002d75: PUSH4 0x4641257d
00002d7a: PUSH1 0xe0
00002d7c: SHL
00002d7d: DUP4
00002d7e: MSTORE
00002d7f: GAS
00002d80: CALL
00002d81: SWAP1
00002d82: DUP2
00002d83: ISZERO
00002d84: PUSH2 0x0561
00002d87: JUMPI
00002d88: PUSH2 0x2d98
00002d8b: SWAP3
00002d8c: PUSH0
00002d8d: SWAP3
00002d8e: PUSH2 0x2d9c
00002d91: JUMPI
00002d92: JUMPDEST
00002d93: POP
00002d94: PUSH2 0x2cab
00002d97: JUMP
00002d98: JUMPDEST
00002d99: SWAP2
00002d9a: SWAP1
00002d9b: JUMP
00002d9c: JUMPDEST
00002d9d: PUSH2 0x2db6
00002da0: SWAP2
00002da1: SWAP3
00002da2: POP
00002da3: PUSH1 0x20
00002da5: RETURNDATASIZE
00002da6: PUSH1 0x20
00002da8: GT
00002da9: PUSH2 0x055a
00002dac: JUMPI
00002dad: PUSH2 0x054c
00002db0: DUP2
00002db1: DUP4
00002db2: PUSH2 0x0f95
00002db5: JUMP
00002db6: JUMPDEST
00002db7: SWAP1
00002db8: PUSH0
00002db9: PUSH2 0x2d92
00002dbc: JUMP
00002dbd: JUMPDEST
00002dbe: SWAP1
00002dbf: DUP2
00002dc0: PUSH2 0x2dca
00002dc3: JUMPI
00002dc4: JUMPDEST
00002dc5: POP
00002dc6: POP
00002dc7: SWAP2
00002dc8: SWAP1
00002dc9: JUMP
00002dca: JUMPDEST
00002dcb: DUP1
00002dcc: EXTCODESIZE
00002dcd: ISZERO
00002dce: PUSH2 0x0317
00002dd1: JUMPI
00002dd2: PUSH1 0x40
00002dd4: MLOAD
00002dd5: PUSH4 0x6ee31931
00002dda: PUSH1 0xe1
00002ddc: SHL
00002ddd: DUP2
00002dde: MSTORE
00002ddf: PUSH1 0x04
00002de1: DUP2
00002de2: ADD
00002de3: SWAP3
00002de4: SWAP1
00002de5: SWAP3
00002de6: MSTORE
00002de7: PUSH0
00002de8: SWAP1
00002de9: DUP3
00002dea: SWAP1
00002deb: PUSH1 0x24
00002ded: SWAP1
00002dee: DUP3
00002def: SWAP1
00002df0: DUP5
00002df1: SWAP1
00002df2: GAS
00002df3: CALL
00002df4: DUP1
00002df5: ISZERO
00002df6: PUSH2 0x0561
00002df9: JUMPI
00002dfa: PUSH2 0x2e04
00002dfd: JUMPI
00002dfe: JUMPDEST
00002dff: DUP1
00002e00: PUSH2 0x2dc4
00002e03: JUMP
00002e04: JUMPDEST
00002e05: DUP1
00002e06: PUSH2 0x0b74
00002e09: PUSH2 0x2e11
00002e0c: SWAP3
00002e0d: PUSH2 0x0f4c
00002e10: JUMP
00002e11: JUMPDEST
00002e12: PUSH0
00002e13: PUSH2 0x2dfe
00002e16: JUMP
00002e17: JUMPDEST
00002e18: SWAP2
00002e19: SWAP5
00002e1a: POP
00002e1b: POP
00002e1c: PUSH2 0x2e3d
00002e1f: SWAP2
00002e20: POP
00002e21: PUSH1 0x60
00002e23: RETURNDATASIZE
00002e24: PUSH1 0x60
00002e26: GT
00002e27: PUSH2 0x2e45
00002e2a: JUMPI
00002e2b: JUMPDEST
00002e2c: PUSH2 0x2e35
00002e2f: DUP2
00002e30: DUP4
00002e31: PUSH2 0x0f95
00002e34: JUMP
00002e35: JUMPDEST
00002e36: DUP2
00002e37: ADD
00002e38: SWAP1
00002e39: PUSH2 0x2bde
00002e3c: JUMP
00002e3d: JUMPDEST
00002e3e: SWAP4
00002e3f: SWAP1
00002e40: PUSH0
00002e41: PUSH2 0x2d2b
00002e44: JUMP
00002e45: JUMPDEST
00002e46: POP
00002e47: RETURNDATASIZE
00002e48: PUSH2 0x2e2b
00002e4b: JUMP
00002e4c: JUMPDEST
00002e4d: PUSH1 0x01
00002e4f: PUSH1 0xff
00002e51: SHL
00002e52: DUP2
00002e53: EQ
00002e54: PUSH2 0x1f0a
00002e57: JUMPI
00002e58: PUSH0
00002e59: SUB
00002e5a: SWAP1
00002e5b: JUMP
00002e5c: JUMPDEST
00002e5d: DUP1
00002e5e: ISZERO
00002e5f: PUSH2 0x2020
00002e62: JUMPI
00002e63: PUSH2 0x2e71
00002e66: PUSH2 0x178d
00002e69: PUSH1 0x98
00002e6b: SLOAD
00002e6c: PUSH1 0x80
00002e6e: SHR
00002e6f: SWAP1
00002e70: JUMP
00002e71: JUMPDEST
00002e72: PUSH0
00002e73: DUP3
00002e74: SLT
00002e75: PUSH2 0x2f43
00002e78: JUMPI
00002e79: DUP2
00002e7a: PUSH2 0x2e82
00002e7d: SWAP2
00002e7e: PUSH2 0x2474
00002e81: JUMP
00002e82: JUMPDEST
00002e83: SWAP1
00002e84: PUSH2 0x2e8f
00002e87: PUSH2 0x0a17
00002e8a: DUP4
00002e8b: PUSH2 0x3ff4
00002e8e: JUMP
00002e8f: JUMPDEST
00002e90: PUSH2 0x2ea4
00002e93: PUSH1 0x65
00002e95: SLOAD
00002e96: SWAP2
00002e97: PUSH2 0xffff
00002e9a: DUP4
00002e9b: PUSH1 0xa0
00002e9d: SHR
00002e9e: AND
00002e9f: SWAP1
00002ea0: PUSH2 0x2a70
00002ea3: JUMP
00002ea4: JUMPDEST
00002ea5: DUP1
00002ea6: ISZERO
00002ea7: PUSH2 0x1ffa
00002eaa: JUMPI
00002eab: DUP1
00002eac: PUSH32 0x555ee6b2ef9506d870f386c067e47d3689435330b012ad263d8cc35318686547
00002ecd: SWAP4
00002ece: PUSH2 0x2ee2
00002ed1: PUSH2 0x178d
00002ed4: PUSH1 0x98
00002ed6: SLOAD
00002ed7: PUSH1 0x01
00002ed9: PUSH1 0x01
00002edb: PUSH1 0x80
00002edd: SHL
00002ede: SUB
00002edf: AND
00002ee0: SWAP1
00002ee1: JUMP
00002ee2: JUMPDEST
00002ee3: DUP1
00002ee4: PUSH2 0x2f2d
00002ee7: JUMPI
00002ee8: POP
00002ee9: POP
00002eea: PUSH2 0x2f28
00002eed: SWAP1
00002eee: SWAP3
00002eef: JUMPDEST
00002ef0: PUSH1 0x01
00002ef2: PUSH1 0x01
00002ef4: PUSH1 0xa0
00002ef6: SHL
00002ef7: SUB
00002ef8: AND
00002ef9: SWAP2
00002efa: PUSH2 0x2f03
00002efd: DUP5
00002efe: DUP5
00002eff: PUSH2 0x436d
00002f02: JUMP
00002f03: JUMPDEST
00002f04: PUSH1 0x40
00002f06: MLOAD
00002f07: SWAP4
00002f08: DUP5
00002f09: SWAP4
00002f0a: DUP5
00002f0b: PUSH1 0x40
00002f0d: SWAP2
00002f0e: SWAP5
00002f0f: SWAP4
00002f10: SWAP3
00002f11: PUSH1 0x60
00002f13: DUP3
00002f14: ADD
00002f15: SWAP6
00002f16: PUSH1 0x01
00002f18: DUP1
00002f19: PUSH1 0xa0
00002f1b: SHL
00002f1c: SUB
00002f1d: AND
00002f1e: DUP3
00002f1f: MSTORE
00002f20: PUSH1 0x20
00002f22: DUP3
00002f23: ADD
00002f24: MSTORE
00002f25: ADD
00002f26: MSTORE
00002f27: JUMP
00002f28: JUMPDEST
00002f29: SUB
00002f2a: SWAP1
00002f2b: LOG1
00002f2c: JUMP
00002f2d: JUMPDEST
00002f2e: PUSH2 0x2f28
00002f31: SWAP3
00002f32: PUSH2 0x2f3d
00002f35: SWAP3
00002f36: SUB
00002f37: SWAP1
00002f38: DUP5
00002f39: PUSH2 0x2b5e
00002f3c: JUMP
00002f3d: JUMPDEST
00002f3e: SWAP3
00002f3f: PUSH2 0x2eef
00002f42: JUMP
00002f43: JUMPDEST
00002f44: SWAP1
00002f45: PUSH2 0x2f4d
00002f48: SWAP1
00002f49: PUSH2 0x2e4c
00002f4c: JUMP
00002f4d: JUMPDEST
00002f4e: PUSH2 0x2f62
00002f51: PUSH2 0x178d
00002f54: PUSH1 0x9e
00002f56: SLOAD
00002f57: PUSH1 0x01
00002f59: PUSH1 0x01
00002f5b: PUSH1 0x80
00002f5d: SHL
00002f5e: SUB
00002f5f: AND
00002f60: SWAP1
00002f61: JUMP
00002f62: JUMPDEST
00002f63: DUP1
00002f64: PUSH2 0x2f82
00002f67: JUMPI
00002f68: JUMPDEST
00002f69: POP
00002f6a: DUP1
00002f6b: PUSH2 0x2f72
00002f6e: JUMPI
00002f6f: POP
00002f70: POP
00002f71: JUMP
00002f72: JUMPDEST
00002f73: PUSH2 0x2a38
00002f76: PUSH2 0x0a17
00002f79: SWAP2
00002f7a: PUSH2 0x0fc3
00002f7d: SWAP4
00002f7e: PUSH2 0x2555
00002f81: JUMP
00002f82: JUMPDEST
00002f83: SWAP1
00002f84: PUSH2 0x2fdd
00002f87: PUSH32 0x3623a54e8078be0d90ecfbef82da6a31ff3e6be8aa1718e7a7f3d0d33ff1d32a
00002fa8: SWAP2
00002fa9: PUSH2 0x2fcd
00002fac: PUSH2 0x18c8
00002faf: PUSH2 0x2fc2
00002fb2: PUSH2 0x2fbb
00002fb5: DUP9
00002fb6: DUP9
00002fb7: PUSH2 0x2474
00002fba: JUMP
00002fbb: JUMPDEST
00002fbc: DUP8
00002fbd: DUP6
00002fbe: PUSH2 0x2b5e
00002fc1: JUMP
00002fc2: JUMPDEST
00002fc3: DUP1
00002fc4: DUP1
00002fc5: SWAP5
00002fc6: SUB
00002fc7: SWAP7
00002fc8: SUB
00002fc9: PUSH2 0x3ff4
00002fcc: JUMP
00002fcd: JUMPDEST
00002fce: PUSH1 0x40
00002fd0: MLOAD
00002fd1: SWAP1
00002fd2: DUP2
00002fd3: MSTORE
00002fd4: SWAP1
00002fd5: DUP2
00002fd6: SWAP1
00002fd7: PUSH1 0x20
00002fd9: DUP3
00002fda: ADD
00002fdb: SWAP1
00002fdc: JUMP
00002fdd: JUMPDEST
00002fde: SUB
00002fdf: SWAP1
00002fe0: LOG1
00002fe1: PUSH0
00002fe2: PUSH2 0x2f68
00002fe5: JUMP
00002fe6: JUMPDEST
00002fe7: PUSH1 0x99
00002fe9: SLOAD
00002fea: SWAP1
00002feb: PUSH1 0x01
00002fed: PUSH1 0x01
00002fef: PUSH1 0x80
00002ff1: SHL
00002ff2: SUB
00002ff3: DUP3
00002ff4: AND
00002ff5: SWAP2
00002ff6: DUP3
00002ff7: ISZERO
00002ff8: PUSH2 0x3109
00002ffb: JUMPI
00002ffc: PUSH1 0x80
00002ffe: SHR
00002fff: PUSH2 0x301a
00003002: PUSH2 0x300b
00003005: DUP3
00003006: SELFBALANCE
00003007: PUSH2 0x2555
0000300a: JUMP
0000300b: JUMPDEST
0000300c: PUSH2 0x3014
0000300f: DUP6
00003010: PUSH2 0x1f41
00003013: JUMP
00003014: JUMPDEST
00003015: SWAP1
00003016: PUSH2 0x43b9
00003019: JUMP
0000301a: JUMPDEST
0000301b: SWAP1
0000301c: DUP2
0000301d: ISZERO
0000301e: PUSH2 0x3102
00003021: JUMPI
00003022: PUSH2 0x302a
00003025: DUP3
00003026: PUSH2 0x40c1
00003029: JUMP
0000302a: JUMPDEST
0000302b: SWAP4
0000302c: DUP5
0000302d: ISZERO
0000302e: PUSH2 0x30fa
00003031: JUMPI
00003032: DUP3
00003033: PUSH2 0x3077
00003036: PUSH2 0x17bd
00003039: PUSH2 0x2a38
0000303c: PUSH2 0x0fc3
0000303f: SWAP7
00003040: PUSH2 0x0a17
00003043: SWAP7
00003044: PUSH2 0x3072
00003047: PUSH2 0x3056
0000304a: PUSH2 0x2a38
0000304d: DUP14
0000304e: PUSH2 0x30ef
00003051: SWAP11
00003052: PUSH2 0x2555
00003055: JUMP
00003056: JUMPDEST
00003057: PUSH1 0x01
00003059: PUSH1 0x01
0000305b: PUSH1 0x80
0000305d: SHL
0000305e: SUB
0000305f: AND
00003060: PUSH1 0x01
00003062: PUSH1 0x01
00003064: PUSH1 0x80
00003066: SHL
00003067: SUB
00003068: NOT
00003069: PUSH1 0x99
0000306b: SLOAD
0000306c: AND
0000306d: OR
0000306e: PUSH1 0x99
00003070: SSTORE
00003071: JUMP
00003072: JUMPDEST
00003073: PUSH2 0x2474
00003076: JUMP
00003077: JUMPDEST
00003078: PUSH2 0x3081
0000307b: DUP2
0000307c: DUP8
0000307d: PUSH2 0x4429
00003080: JUMP
00003081: JUMPDEST
00003082: PUSH1 0x40
00003084: DUP1
00003085: MLOAD
00003086: DUP8
00003087: DUP2
00003088: MSTORE
00003089: PUSH1 0x20
0000308b: DUP2
0000308c: ADD
0000308d: DUP4
0000308e: SWAP1
0000308f: MSTORE
00003090: PUSH32 0x624ea167e477f9d39f7f4094b9dfe2e6346eb4a7aada54338db51abd554c4b9f
000030b1: SWAP2
000030b2: SWAP1
000030b3: LOG1
000030b4: PUSH2 0x2a38
000030b7: PUSH2 0x30d3
000030ba: PUSH2 0x30c2
000030bd: DUP9
000030be: PUSH2 0x3ff4
000030c1: JUMP
000030c2: JUMPDEST
000030c3: PUSH1 0x98
000030c5: SLOAD
000030c6: PUSH1 0x01
000030c8: PUSH1 0x01
000030ca: PUSH1 0x80
000030cc: SHL
000030cd: SUB
000030ce: AND
000030cf: PUSH2 0x1ef1
000030d2: JUMP
000030d3: JUMPDEST
000030d4: PUSH1 0x01
000030d6: PUSH1 0x01
000030d8: PUSH1 0x80
000030da: SHL
000030db: SUB
000030dc: AND
000030dd: PUSH1 0x01
000030df: PUSH1 0x01
000030e1: PUSH1 0x80
000030e3: SHL
000030e4: SUB
000030e5: NOT
000030e6: PUSH1 0x98
000030e8: SLOAD
000030e9: AND
000030ea: OR
000030eb: PUSH1 0x98
000030ed: SSTORE
000030ee: JUMP
000030ef: JUMPDEST
000030f0: PUSH1 0x98
000030f2: SLOAD
000030f3: PUSH1 0x80
000030f5: SHR
000030f6: PUSH2 0x1ef1
000030f9: JUMP
000030fa: JUMPDEST
000030fb: POP
000030fc: PUSH0
000030fd: SWAP4
000030fe: POP
000030ff: POP
00003100: POP
00003101: JUMP
00003102: JUMPDEST
00003103: POP
00003104: PUSH0
00003105: SWAP3
00003106: POP
00003107: POP
00003108: JUMP
00003109: JUMPDEST
0000310a: POP
0000310b: PUSH0
0000310c: SWAP2
0000310d: POP
0000310e: JUMP
0000310f: JUMPDEST
00003110: PUSH1 0x01
00003112: PUSH1 0x01
00003114: PUSH1 0xa0
00003116: SHL
00003117: SUB
00003118: AND
00003119: PUSH0
0000311a: SWAP1
0000311b: DUP2
0000311c: MSTORE
0000311d: PUSH2 0x0202
00003120: PUSH1 0x20
00003122: MSTORE
00003123: PUSH1 0x40
00003125: SWAP1
00003126: KECCAK256
00003127: SLOAD
00003128: PUSH1 0xff
0000312a: AND
0000312b: ISZERO
0000312c: PUSH2 0x0e39
0000312f: JUMPI
00003130: JUMP
00003131: JUMPDEST
00003132: SWAP2
00003133: SWAP1
00003134: SWAP2
00003135: PUSH1 0x01
00003137: PUSH1 0x01
00003139: PUSH1 0x80
0000313b: SHL
0000313c: SUB
0000313d: DUP1
0000313e: DUP1
0000313f: SWAP5
00003140: AND
00003141: SWAP2
00003142: AND
00003143: ADD
00003144: SWAP2
00003145: DUP3
00003146: GT
00003147: PUSH2 0x1f0a
0000314a: JUMPI
0000314b: JUMP
0000314c: JUMPDEST
0000314d: MLOAD
0000314e: SWAP1
0000314f: PUSH1 0x01
00003151: PUSH1 0x01
00003153: PUSH1 0x40
00003155: SHL
00003156: SUB
00003157: DUP3
00003158: AND
00003159: DUP3
0000315a: SUB
0000315b: PUSH2 0x0317
0000315e: JUMPI
0000315f: JUMP
00003160: JUMPDEST
00003161: SWAP1
00003162: DUP2
00003163: PUSH1 0x60
00003165: SWAP2
00003166: SUB
00003167: SLT
00003168: PUSH2 0x0317
0000316b: JUMPI
0000316c: PUSH2 0x2391
0000316f: PUSH1 0x40
00003171: DUP1
00003172: MLOAD
00003173: SWAP3
00003174: PUSH2 0x317c
00003177: DUP5
00003178: PUSH2 0x0f5f
0000317b: JUMP
0000317c: JUMPDEST
0000317d: DUP1
0000317e: MLOAD
0000317f: PUSH2 0x3187
00003182: DUP2
00003183: PUSH2 0x03b6
00003186: JUMP
00003187: JUMPDEST
00003188: DUP5
00003189: MSTORE
0000318a: PUSH2 0x3195
0000318d: PUSH1 0x20
0000318f: DUP3
00003190: ADD
00003191: PUSH2 0x314c
00003194: JUMP
00003195: JUMPDEST
00003196: PUSH1 0x20
00003198: DUP6
00003199: ADD
0000319a: MSTORE
0000319b: ADD
0000319c: PUSH2 0x314c
0000319f: JUMP
000031a0: JUMPDEST
000031a1: SWAP3
000031a2: SWAP1
000031a3: PUSH1 0x01
000031a5: PUSH1 0x01
000031a7: PUSH1 0xa0
000031a9: SHL
000031aa: SUB
000031ab: SWAP1
000031ac: DUP2
000031ad: DUP2
000031ae: AND
000031af: ISZERO
000031b0: PUSH2 0x0b80
000031b3: JUMPI
000031b4: PUSH2 0x31bb
000031b7: PUSH2 0x3ac3
000031ba: JUMP
000031bb: JUMPDEST
000031bc: DUP2
000031bd: PUSH32 0x0000000000000000000000002a261e60fb14586b474c208b1b7ac6d0f5000306
000031de: AND
000031df: SWAP1
000031e0: DUP2
000031e1: EXTCODESIZE
000031e2: ISZERO
000031e3: PUSH2 0x0317
000031e6: JUMPI
000031e7: PUSH1 0x40
000031e9: SWAP5
000031ea: DUP6
000031eb: MLOAD
000031ec: SWAP4
000031ed: PUSH4 0x1d8557d7
000031f2: PUSH1 0xe0
000031f4: SHL
000031f5: DUP6
000031f6: MSTORE
000031f7: PUSH1 0x04
000031f9: SWAP5
000031fa: PUSH0
000031fb: DUP2
000031fc: DUP8
000031fd: DUP2
000031fe: DUP4
000031ff: DUP10
00003200: GAS
00003201: CALL
00003202: DUP1
00003203: ISZERO
00003204: PUSH2 0x0561
00003207: JUMPI
00003208: PUSH2 0x34a6
0000320b: JUMPI
0000320c: JUMPDEST
0000320d: POP
0000320e: PUSH1 0x01
00003210: PUSH1 0x01
00003212: PUSH1 0xa0
00003214: SHL
00003215: SUB
00003216: DUP9
00003217: AND
00003218: PUSH0
00003219: SWAP1
0000321a: DUP2
0000321b: MSTORE
0000321c: PUSH2 0x0137
0000321f: PUSH1 0x20
00003221: MSTORE
00003222: PUSH1 0x40
00003224: SWAP1
00003225: KECCAK256
00003226: PUSH2 0x322e
00003229: SWAP1
0000322a: PUSH2 0x1eb8
0000322d: JUMP
0000322e: JUMPDEST
0000322f: SWAP1
00003230: PUSH1 0x01
00003232: PUSH1 0x01
00003234: PUSH1 0x80
00003236: SHL
00003237: SUB
00003238: PUSH2 0x3248
0000323b: DUP4
0000323c: MLOAD
0000323d: PUSH1 0x01
0000323f: PUSH1 0x01
00003241: PUSH1 0x80
00003243: SHL
00003244: SUB
00003245: AND
00003246: SWAP1
00003247: JUMP
00003248: JUMPDEST
00003249: AND
0000324a: ISZERO
0000324b: PUSH2 0x3496
0000324e: JUMPI
0000324f: PUSH2 0x3257
00003252: DUP3
00003253: PUSH2 0x29bb
00003256: JUMP
00003257: JUMPDEST
00003258: DUP8
00003259: MLOAD
0000325a: PUSH4 0xe48a5f7b
0000325f: PUSH1 0xe0
00003261: SHL
00003262: DUP2
00003263: MSTORE
00003264: ADDRESS
00003265: DUP8
00003266: DUP3
00003267: ADD
00003268: SWAP1
00003269: DUP2
0000326a: MSTORE
0000326b: SWAP1
0000326c: SWAP2
0000326d: PUSH1 0x60
0000326f: SWAP2
00003270: DUP4
00003271: SWAP2
00003272: SWAP1
00003273: DUP3
00003274: SWAP1
00003275: DUP2
00003276: SWAP1
00003277: PUSH1 0x20
00003279: ADD
0000327a: SUB
0000327b: SWAP2
0000327c: PUSH32 0x000000000000000000000000287d1e2a8de183a8bf8f2b09fa1340fbd766eb59
0000329d: AND
0000329e: GAS
0000329f: STATICCALL
000032a0: DUP1
000032a1: ISZERO
000032a2: PUSH2 0x0561
000032a5: JUMPI
000032a6: PUSH2 0x3477
000032a9: JUMPI
000032aa: JUMPDEST
000032ab: POP
000032ac: DUP7
000032ad: MLOAD
000032ae: SWAP4
000032af: PUSH4 0x03d1689d
000032b4: PUSH1 0xe1
000032b6: SHL
000032b7: SWAP8
000032b8: DUP9
000032b9: DUP7
000032ba: MSTORE
000032bb: PUSH1 0x20
000032bd: SWAP2
000032be: DUP3
000032bf: DUP8
000032c0: DUP1
000032c1: PUSH2 0x32d1
000032c4: DUP9
000032c5: DUP13
000032c6: DUP4
000032c7: ADD
000032c8: SWAP2
000032c9: SWAP1
000032ca: PUSH1 0x20
000032cc: DUP4
000032cd: ADD
000032ce: SWAP3
000032cf: MSTORE
000032d0: JUMP
000032d1: JUMPDEST
000032d2: SUB
000032d3: DUP2
000032d4: DUP5
000032d5: GAS
000032d6: STATICCALL
000032d7: SWAP7
000032d8: DUP8
000032d9: ISZERO
000032da: PUSH2 0x0561
000032dd: JUMPI
000032de: PUSH0
000032df: SWAP8
000032e0: PUSH2 0x3458
000032e3: JUMPI
000032e4: JUMPDEST
000032e5: POP
000032e6: DUP7
000032e7: SWAP10
000032e8: PUSH2 0x3304
000032eb: PUSH2 0x08a3
000032ee: DUP14
000032ef: PUSH1 0x01
000032f1: DUP1
000032f2: PUSH1 0xa0
000032f4: SHL
000032f5: SUB
000032f6: AND
000032f7: PUSH0
000032f8: MSTORE
000032f9: PUSH1 0x9c
000032fb: PUSH1 0x20
000032fd: MSTORE
000032fe: PUSH1 0x40
00003300: PUSH0
00003301: KECCAK256
00003302: SWAP1
00003303: JUMP
00003304: JUMPDEST
00003305: DUP9
00003306: GT
00003307: DUP1
00003308: ISZERO
00003309: PUSH2 0x3448
0000330c: JUMPI
0000330d: JUMPDEST
0000330e: PUSH2 0x3438
00003311: JUMPI
00003312: SWAP1
00003313: DUP4
00003314: PUSH2 0x334a
00003317: SWAP3
00003318: PUSH2 0x3328
0000331b: DUP8
0000331c: MLOAD
0000331d: PUSH1 0x01
0000331f: PUSH1 0x01
00003321: PUSH1 0x80
00003323: SHL
00003324: SUB
00003325: AND
00003326: SWAP1
00003327: JUMP
00003328: JUMPDEST
00003329: SWAP1
0000332a: DUP6
0000332b: MLOAD
0000332c: SWAP5
0000332d: DUP6
0000332e: SWAP3
0000332f: DUP4
00003330: SWAP3
00003331: DUP4
00003332: MSTORE
00003333: DUP14
00003334: DUP4
00003335: ADD
00003336: SWAP2
00003337: SWAP1
00003338: SWAP2
00003339: PUSH1 0x01
0000333b: PUSH1 0x01
0000333d: PUSH1 0x80
0000333f: SHL
00003340: SUB
00003341: PUSH1 0x20
00003343: DUP3
00003344: ADD
00003345: SWAP4
00003346: AND
00003347: SWAP1
00003348: MSTORE
00003349: JUMP
0000334a: JUMPDEST
0000334b: SUB
0000334c: DUP2
0000334d: DUP5
0000334e: GAS
0000334f: STATICCALL
00003350: SWAP9
00003351: DUP10
00003352: ISZERO
00003353: PUSH2 0x0561
00003356: JUMPI
00003357: PUSH0
00003358: DUP6
00003359: SWAP5
0000335a: DUP9
0000335b: SWAP5
0000335c: PUSH2 0x338f
0000335f: SWAP13
00003360: PUSH2 0x341b
00003363: JUMPI
00003364: JUMPDEST
00003365: POP
00003366: MLOAD
00003367: PUSH4 0x3b9e9f01
0000336c: PUSH1 0xe2
0000336e: SHL
0000336f: DUP2
00003370: MSTORE
00003371: CALLER
00003372: SWAP3
00003373: DUP2
00003374: ADD
00003375: SWAP3
00003376: DUP4
00003377: MSTORE
00003378: PUSH1 0x20
0000337a: DUP4
0000337b: ADD
0000337c: SWAP5
0000337d: SWAP1
0000337e: SWAP5
0000337f: MSTORE
00003380: SWAP3
00003381: SWAP10
00003382: DUP11
00003383: SWAP4
00003384: DUP5
00003385: SWAP3
00003386: SWAP1
00003387: SWAP2
00003388: DUP4
00003389: SWAP2
0000338a: PUSH1 0x40
0000338c: ADD
0000338d: SWAP1
0000338e: JUMP
0000338f: JUMPDEST
00003390: SUB
00003391: SWAP3
00003392: GAS
00003393: CALL
00003394: SWAP6
00003395: DUP7
00003396: ISZERO
00003397: PUSH2 0x0561
0000339a: JUMPI
0000339b: PUSH2 0x09be
0000339e: PUSH2 0x33d6
000033a1: SWAP5
000033a2: PUSH2 0x33b9
000033a5: SWAP4
000033a6: PUSH2 0x04ad
000033a9: SWAP4
000033aa: PUSH2 0x0fc3
000033ad: SWAP11
000033ae: PUSH2 0x33fd
000033b1: JUMPI
000033b2: JUMPDEST
000033b3: POP
000033b4: POP
000033b5: PUSH2 0x3ff4
000033b8: JUMP
000033b9: JUMPDEST
000033ba: PUSH1 0x01
000033bc: PUSH1 0x01
000033be: PUSH1 0xa0
000033c0: SHL
000033c1: SUB
000033c2: DUP9
000033c3: AND
000033c4: PUSH0
000033c5: SWAP1
000033c6: DUP2
000033c7: MSTORE
000033c8: PUSH2 0x0137
000033cb: PUSH1 0x20
000033cd: MSTORE
000033ce: PUSH1 0x40
000033d0: SWAP1
000033d1: KECCAK256
000033d2: PUSH2 0x1f0f
000033d5: JUMP
000033d6: JUMPDEST
000033d7: PUSH2 0x33f8
000033da: PUSH2 0x33e2
000033dd: DUP4
000033de: PUSH2 0x40c1
000033e1: JUMP
000033e2: JUMPDEST
000033e3: DUP1
000033e4: SWAP8
000033e5: PUSH2 0x33f3
000033e8: PUSH2 0x0a17
000033eb: PUSH2 0x0a04
000033ee: DUP8
000033ef: PUSH2 0x3ff4
000033f2: JUMP
000033f3: JUMPDEST
000033f4: PUSH2 0x458a
000033f7: JUMP
000033f8: JUMPDEST
000033f9: PUSH2 0x4027
000033fc: JUMP
000033fd: JUMPDEST
000033fe: DUP2
000033ff: PUSH2 0x3413
00003402: SWAP3
00003403: SWAP1
00003404: RETURNDATASIZE
00003405: LT
00003406: PUSH2 0x055a
00003409: JUMPI
0000340a: PUSH2 0x054c
0000340d: DUP2
0000340e: DUP4
0000340f: PUSH2 0x0f95
00003412: JUMP
00003413: JUMPDEST
00003414: POP
00003415: PUSH0
00003416: DUP1
00003417: PUSH2 0x33b2
0000341a: JUMP
0000341b: JUMPDEST
0000341c: PUSH2 0x3431
0000341f: SWAP1
00003420: DUP8
00003421: RETURNDATASIZE
00003422: DUP10
00003423: GT
00003424: PUSH2 0x055a
00003427: JUMPI
00003428: PUSH2 0x054c
0000342b: DUP2
0000342c: DUP4
0000342d: PUSH2 0x0f95
00003430: JUMP
00003431: JUMPDEST
00003432: POP
00003433: PUSH0
00003434: PUSH2 0x3364
00003437: JUMP
00003438: JUMPDEST
00003439: DUP3
0000343a: MLOAD
0000343b: PUSH4 0xefda1a27
00003440: PUSH1 0xe0
00003442: SHL
00003443: DUP2
00003444: MSTORE
00003445: DUP10
00003446: SWAP1
00003447: REVERT
00003448: JUMPDEST
00003449: POP
0000344a: PUSH2 0x3451
0000344d: PUSH2 0x2248
00003450: JUMP
00003451: JUMPDEST
00003452: DUP9
00003453: GT
00003454: PUSH2 0x330d
00003457: JUMP
00003458: JUMPDEST
00003459: PUSH2 0x3470
0000345c: SWAP2
0000345d: SWAP8
0000345e: POP
0000345f: DUP4
00003460: RETURNDATASIZE
00003461: DUP6
00003462: GT
00003463: PUSH2 0x055a
00003466: JUMPI
00003467: PUSH2 0x054c
0000346a: DUP2
0000346b: DUP4
0000346c: PUSH2 0x0f95
0000346f: JUMP
00003470: JUMPDEST
00003471: SWAP6
00003472: PUSH0
00003473: PUSH2 0x32e4
00003476: JUMP
00003477: JUMPDEST
00003478: PUSH2 0x348f
0000347b: SWAP1
0000347c: PUSH1 0x60
0000347e: RETURNDATASIZE
0000347f: PUSH1 0x60
00003481: GT
00003482: PUSH2 0x0b50
00003485: JUMPI
00003486: PUSH2 0x0b41
00003489: DUP2
0000348a: DUP4
0000348b: PUSH2 0x0f95
0000348e: JUMP
0000348f: JUMPDEST
00003490: POP
00003491: PUSH0
00003492: PUSH2 0x32aa
00003495: JUMP
00003496: JUMPDEST
00003497: DUP8
00003498: MLOAD
00003499: PUSH4 0x673f032f
0000349e: PUSH1 0xe1
000034a0: SHL
000034a1: DUP2
000034a2: MSTORE
000034a3: DUP7
000034a4: SWAP1
000034a5: REVERT
000034a6: JUMPDEST
000034a7: DUP1
000034a8: PUSH2 0x0b74
000034ab: PUSH2 0x34b3
000034ae: SWAP3
000034af: PUSH2 0x0f4c
000034b2: JUMP
000034b3: JUMPDEST
000034b4: PUSH0
000034b5: PUSH2 0x320c
000034b8: JUMP
000034b9: JUMPDEST
000034ba: PUSH1 0x40
000034bc: MLOAD
000034bd: PUSH4 0xe48a5f7b
000034c2: PUSH1 0xe0
000034c4: SHL
000034c5: DUP2
000034c6: MSTORE
000034c7: ADDRESS
000034c8: PUSH1 0x04
000034ca: DUP3
000034cb: ADD
000034cc: MSTORE
000034cd: PUSH1 0x01
000034cf: PUSH1 0x01
000034d1: PUSH1 0xa0
000034d3: SHL
000034d4: SUB
000034d5: PUSH1 0x60
000034d7: DUP3
000034d8: PUSH1 0x24
000034da: DUP2
000034db: PUSH32 0x000000000000000000000000287d1e2a8de183a8bf8f2b09fa1340fbd766eb59
000034fc: DUP6
000034fd: AND
000034fe: GAS
000034ff: STATICCALL
00003500: DUP1
00003501: ISZERO
00003502: PUSH2 0x0561
00003505: JUMPI
00003506: PUSH2 0x3554
00003509: SWAP4
0000350a: PUSH1 0x01
0000350c: PUSH1 0x01
0000350e: PUSH1 0x40
00003510: SHL
00003511: SUB
00003512: PUSH2 0x087e
00003515: PUSH1 0x40
00003517: PUSH2 0x3533
0000351a: SWAP5
0000351b: PUSH1 0x20
0000351d: SWAP8
0000351e: PUSH0
0000351f: SWAP2
00003520: PUSH2 0x35a4
00003523: JUMPI
00003524: JUMPDEST
00003525: POP
00003526: ADD
00003527: MLOAD
00003528: PUSH1 0x01
0000352a: PUSH1 0x01
0000352c: PUSH1 0x40
0000352e: SHL
0000352f: SUB
00003530: AND
00003531: SWAP1
00003532: JUMP
00003533: JUMPDEST
00003534: SWAP1
00003535: PUSH1 0x40
00003537: MLOAD
00003538: DUP1
00003539: DUP1
0000353a: SWAP6
0000353b: DUP2
0000353c: SWAP5
0000353d: PUSH4 0x63737ac9
00003542: PUSH1 0xe1
00003544: SHL
00003545: DUP4
00003546: MSTORE
00003547: PUSH1 0x04
00003549: DUP4
0000354a: ADD
0000354b: SWAP2
0000354c: SWAP1
0000354d: PUSH1 0x20
0000354f: DUP4
00003550: ADD
00003551: SWAP3
00003552: MSTORE
00003553: JUMP
00003554: JUMPDEST
00003555: SUB
00003556: SWAP2
00003557: PUSH32 0x0000000000000000000000002a261e60fb14586b474c208b1b7ac6d0f5000306
00003578: AND
00003579: GAS
0000357a: STATICCALL
0000357b: SWAP1
0000357c: DUP2
0000357d: ISZERO
0000357e: PUSH2 0x0561
00003581: JUMPI
00003582: PUSH0
00003583: SWAP2
00003584: PUSH2 0x358b
00003587: JUMPI
00003588: POP
00003589: SWAP1
0000358a: JUMP
0000358b: JUMPDEST
0000358c: PUSH2 0x0682
0000358f: SWAP2
00003590: POP
00003591: PUSH1 0x20
00003593: RETURNDATASIZE
00003594: PUSH1 0x20
00003596: GT
00003597: PUSH2 0x055a
0000359a: JUMPI
0000359b: PUSH2 0x054c
0000359e: DUP2
0000359f: DUP4
000035a0: PUSH2 0x0f95
000035a3: JUMP
000035a4: JUMPDEST
000035a5: PUSH2 0x35bd
000035a8: SWAP2
000035a9: POP
000035aa: PUSH1 0x60
000035ac: RETURNDATASIZE
000035ad: PUSH1 0x60
000035af: GT
000035b0: PUSH2 0x0b50
000035b3: JUMPI
000035b4: PUSH2 0x0b41
000035b7: DUP2
000035b8: DUP4
000035b9: PUSH2 0x0f95
000035bc: JUMP
000035bd: JUMPDEST
000035be: PUSH0
000035bf: PUSH2 0x3524
000035c2: JUMP
000035c3: JUMPDEST
000035c4: PUSH2 0x35cb
000035c7: PUSH2 0x45d7
000035ca: JUMP
000035cb: JUMPDEST
000035cc: PUSH2 0x35d3
000035cf: PUSH2 0x45d7
000035d2: JUMP
000035d3: JUMPDEST
000035d4: PUSH2 0x35db
000035d7: PUSH2 0x47c5
000035da: JUMP
000035db: JUMPDEST
000035dc: PUSH1 0x01
000035de: PUSH1 0x01
000035e0: PUSH1 0x80
000035e2: SHL
000035e3: SUB
000035e4: PUSH1 0x99
000035e6: SLOAD
000035e7: AND
000035e8: DUP2
000035e9: ADD
000035ea: DUP1
000035eb: SWAP2
000035ec: GT
000035ed: PUSH2 0x1f0a
000035f0: JUMPI
000035f1: PUSH1 0x9f
000035f3: SSTORE
000035f4: PUSH2 0x35fb
000035f7: PUSH2 0x45d7
000035fa: JUMP
000035fb: JUMPDEST
000035fc: PUSH2 0x360b
000035ff: PUSH2 0x3606
00003602: PUSH2 0x483e
00003605: JUMP
00003606: JUMPDEST
00003607: PUSH1 0xd3
00003609: SSTORE
0000360a: JUMP
0000360b: JUMPDEST
0000360c: PUSH1 0xd0
0000360e: SLOAD
0000360f: PUSH1 0xd1
00003611: SLOAD
00003612: PUSH1 0xd2
00003614: SLOAD
00003615: SWAP1
00003616: SWAP2
00003617: SWAP1
00003618: PUSH1 0x01
0000361a: PUSH1 0x01
0000361c: PUSH1 0xa0
0000361e: SHL
0000361f: SUB
00003620: PUSH32 0x00000000000000000000000075ab6ddce07556639333d3df1eaa684f5735223e
00003641: DUP2
00003642: AND
00003643: SWAP2
00003644: AND
00003645: SWAP1
00003646: DUP1
00003647: EXTCODESIZE
00003648: ISZERO
00003649: PUSH2 0x0317
0000364c: JUMPI
0000364d: PUSH1 0x40
0000364f: MLOAD
00003650: PUSH4 0x76615a55
00003655: PUSH1 0xe0
00003657: SHL
00003658: DUP2
00003659: MSTORE
0000365a: PUSH1 0x04
0000365c: DUP2
0000365d: ADD
0000365e: SWAP4
0000365f: SWAP1
00003660: SWAP4
00003661: MSTORE
00003662: PUSH1 0x24
00003664: DUP4
00003665: ADD
00003666: SWAP4
00003667: SWAP1
00003668: SWAP4
00003669: MSTORE
0000366a: PUSH1 0x01
0000366c: PUSH1 0x01
0000366e: PUSH1 0xa0
00003670: SHL
00003671: SUB
00003672: AND
00003673: PUSH1 0x44
00003675: DUP3
00003676: ADD
00003677: MSTORE
00003678: SWAP1
00003679: PUSH0
0000367a: SWAP1
0000367b: DUP3
0000367c: SWAP1
0000367d: PUSH1 0x64
0000367f: SWAP1
00003680: DUP3
00003681: SWAP1
00003682: DUP5
00003683: SWAP1
00003684: GAS
00003685: CALL
00003686: DUP1
00003687: ISZERO
00003688: PUSH2 0x0561
0000368b: JUMPI
0000368c: PUSH2 0x36b5
0000368f: JUMPI
00003690: JUMPDEST
00003691: POP
00003692: PUSH2 0x369a
00003695: PUSH0
00003696: PUSH1 0xd0
00003698: SSTORE
00003699: JUMP
0000369a: JUMPDEST
0000369b: PUSH2 0x36a3
0000369e: PUSH0
0000369f: PUSH1 0xd1
000036a1: SSTORE
000036a2: JUMP
000036a3: JUMPDEST
000036a4: PUSH1 0xd2
000036a6: DUP1
000036a7: SLOAD
000036a8: PUSH1 0x01
000036aa: PUSH1 0x01
000036ac: PUSH1 0xa0
000036ae: SHL
000036af: SUB
000036b0: NOT
000036b1: AND
000036b2: SWAP1
000036b3: SSTORE
000036b4: JUMP
000036b5: JUMPDEST
000036b6: DUP1
000036b7: PUSH2 0x0b74
000036ba: PUSH2 0x36c2
000036bd: SWAP3
000036be: PUSH2 0x0f4c
000036c1: JUMP
000036c2: JUMPDEST
000036c3: PUSH0
000036c4: PUSH2 0x3690
000036c7: JUMP
000036c8: JUMPDEST
000036c9: PUSH2 0x36d0
000036cc: PUSH2 0x45d7
000036cf: JUMP
000036d0: JUMPDEST
000036d1: PUSH1 0x40
000036d3: DUP4
000036d4: ADD
000036d5: MLOAD
000036d6: PUSH2 0x36dd
000036d9: PUSH2 0x45d7
000036dc: JUMP
000036dd: JUMPDEST
000036de: PUSH1 0x01
000036e0: PUSH1 0x01
000036e2: PUSH1 0xa0
000036e4: SHL
000036e5: SUB
000036e6: DUP3
000036e7: AND
000036e8: DUP1
000036e9: ISZERO
000036ea: PUSH2 0x0b80
000036ed: JUMPI
000036ee: PUSH1 0x01
000036f0: PUSH1 0x01
000036f2: PUSH1 0x60
000036f4: SHL
000036f5: SUB
000036f6: PUSH1 0xa0
000036f8: SHL
000036f9: PUSH0
000036fa: SLOAD
000036fb: AND
000036fc: OR
000036fd: PUSH0
000036fe: SSTORE
000036ff: PUSH32 0x2013570c343af8ab14a9778150e381a0fda34ed6368127a95fd5e7210cbec5bf
00003720: PUSH1 0x40
00003722: MLOAD
00003723: PUSH1 0x20
00003725: DUP2
00003726: MSTORE
00003727: DUP1
00003728: PUSH2 0x3736
0000372b: CALLER
0000372c: SWAP5
0000372d: PUSH1 0x20
0000372f: DUP4
00003730: ADD
00003731: SWAP1
00003732: PUSH2 0x1bb0
00003735: JUMP
00003736: JUMPDEST
00003737: SUB
00003738: SWAP1
00003739: LOG2
0000373a: PUSH1 0x20
0000373c: DUP4
0000373d: ADD
0000373e: MLOAD
0000373f: SWAP3
00003740: PUSH2 0x3747
00003743: PUSH2 0x45d7
00003746: JUMP
00003747: JUMPDEST
00003748: PUSH2 0x2710
0000374b: PUSH2 0xffff
0000374e: DUP6
0000374f: AND
00003750: GT
00003751: PUSH2 0x379e
00003754: JUMPI
00003755: PUSH2 0x3796
00003758: SWAP4
00003759: PUSH2 0x3764
0000375c: PUSH2 0x3789
0000375f: SWAP4
00003760: PUSH2 0x4150
00003763: JUMP
00003764: JUMPDEST
00003765: PUSH1 0x65
00003767: DUP1
00003768: SLOAD
00003769: PUSH2 0xffff
0000376c: PUSH1 0xa0
0000376e: SHL
0000376f: NOT
00003770: AND
00003771: PUSH1 0xa0
00003773: SWAP3
00003774: SWAP1
00003775: SWAP3
00003776: SHL
00003777: PUSH2 0xffff
0000377a: PUSH1 0xa0
0000377c: SHL
0000377d: AND
0000377e: SWAP2
0000377f: SWAP1
00003780: SWAP2
00003781: OR
00003782: SWAP1
00003783: SSTORE
00003784: MLOAD
00003785: PUSH2 0x4618
00003788: JUMP
00003789: JUMPDEST
0000378a: PUSH2 0x3791
0000378d: PUSH2 0x4648
00003790: JUMP
00003791: JUMPDEST
00003792: PUSH2 0x466f
00003795: JUMP
00003796: JUMPDEST
00003797: PUSH2 0x0fc3
0000379a: PUSH2 0x469e
0000379d: JUMP
0000379e: JUMPDEST
0000379f: PUSH1 0x40
000037a1: MLOAD
000037a2: PUSH4 0x8a81d3b3
000037a7: PUSH1 0xe0
000037a9: SHL
000037aa: DUP2
000037ab: MSTORE
000037ac: PUSH1 0x04
000037ae: SWAP1
000037af: REVERT
000037b0: JUMPDEST
000037b1: PUSH2 0x0fc3
000037b4: SWAP1
000037b5: PUSH2 0x1e99
000037b8: PUSH2 0x45d7
000037bb: JUMP
000037bc: JUMPDEST
000037bd: PUSH1 0x01
000037bf: PUSH1 0x01
000037c1: PUSH1 0xa0
000037c3: SHL
000037c4: SUB
000037c5: PUSH32 0x00000000000000000000000081ab00dd782492d62105b8fa9b03e82d4b57798c
000037e6: DUP2
000037e7: AND
000037e8: ADDRESS
000037e9: DUP2
000037ea: EQ
000037eb: SWAP2
000037ec: DUP3
000037ed: ISZERO
000037ee: PUSH2 0x37fa
000037f1: JUMPI
000037f2: JUMPDEST
000037f3: POP
000037f4: POP
000037f5: PUSH2 0x12f3
000037f8: JUMPI
000037f9: JUMP
000037fa: JUMPDEST
000037fb: PUSH0
000037fc: DUP1
000037fd: MLOAD
000037fe: PUSH1 0x20
00003800: PUSH2 0x4b9c
00003803: DUP4
00003804: CODECOPY
00003805: DUP2
00003806: MLOAD
00003807: SWAP2
00003808: MSTORE
00003809: SLOAD
0000380a: AND
0000380b: EQ
0000380c: ISZERO
0000380d: SWAP1
0000380e: POP
0000380f: PUSH0
00003810: DUP1
00003811: PUSH2 0x37f2
00003814: JUMP
00003815: JUMPDEST
00003816: SWAP1
00003817: PUSH2 0x381e
0000381a: PUSH2 0x47c5
0000381d: JUMP
0000381e: JUMPDEST
0000381f: SWAP2
00003820: DUP3
00003821: ADD
00003822: DUP1
00003823: SWAP3
00003824: GT
00003825: PUSH2 0x1f0a
00003828: JUMPI
00003829: LT
0000382a: SWAP1
0000382b: JUMP
0000382c: JUMPDEST
0000382d: SELFBALANCE
0000382e: PUSH1 0x99
00003830: SLOAD
00003831: DUP1
00003832: PUSH1 0x80
00003834: SHR
00003835: DUP3
00003836: SUB
00003837: SWAP2
00003838: DUP3
00003839: GT
0000383a: PUSH2 0x1f0a
0000383d: JUMPI
0000383e: DUP2
0000383f: PUSH2 0x3851
00003842: PUSH1 0x01
00003844: PUSH1 0x01
00003846: PUSH1 0x80
00003848: SHL
00003849: SUB
0000384a: DUP1
0000384b: SWAP4
0000384c: AND
0000384d: PUSH2 0x1f41
00003850: JUMP
00003851: JUMPDEST
00003852: SWAP1
00003853: DUP2
00003854: PUSH2 0x3877
00003857: JUMPI
00003858: JUMPDEST
00003859: POP
0000385a: POP
0000385b: DUP2
0000385c: ISZERO
0000385d: PUSH2 0x2278
00003860: JUMPI
00003861: PUSH2 0x0682
00003864: SWAP2
00003865: PUSH2 0x3872
00003868: SWAP2
00003869: PUSH1 0x9e
0000386b: SLOAD
0000386c: AND
0000386d: SWAP1
0000386e: PUSH2 0x43b9
00003871: JUMP
00003872: JUMPDEST
00003873: PUSH2 0x4807
00003876: JUMP
00003877: JUMPDEST
00003878: SWAP2
00003879: SWAP3
0000387a: POP
0000387b: SWAP1
0000387c: DUP2
0000387d: DUP2
0000387e: GT
0000387f: ISZERO
00003880: PUSH2 0x388d
00003883: JUMPI
00003884: SUB
00003885: JUMPDEST
00003886: SWAP1
00003887: PUSH0
00003888: DUP1
00003889: PUSH2 0x3858
0000388c: JUMP
0000388d: JUMPDEST
0000388e: POP
0000388f: POP
00003890: PUSH0
00003891: PUSH2 0x3885
00003894: JUMP
00003895: JUMPDEST
00003896: PUSH0
00003897: SLOAD
00003898: PUSH1 0x01
0000389a: PUSH1 0x01
0000389c: PUSH1 0xa0
0000389e: SHL
0000389f: SUB
000038a0: AND
000038a1: CALLER
000038a2: SUB
000038a3: PUSH2 0x0e39
000038a6: JUMPI
000038a7: JUMP
000038a8: JUMPDEST
000038a9: PUSH2 0x38b0
000038ac: PUSH2 0x382c
000038af: JUMP
000038b0: JUMPDEST
000038b1: SWAP2
000038b2: PUSH1 0x9f
000038b4: SLOAD
000038b5: SWAP3
000038b6: DUP4
000038b7: ADD
000038b8: DUP1
000038b9: SWAP4
000038ba: GT
000038bb: PUSH2 0x1f0a
000038be: JUMPI
000038bf: DUP1
000038c0: DUP4
000038c1: GT
000038c2: ISZERO
000038c3: PUSH2 0x38fa
000038c6: JUMPI
000038c7: PUSH2 0x38d1
000038ca: SWAP3
000038cb: SUB
000038cc: SWAP1
000038cd: PUSH2 0x43b9
000038d0: JUMP
000038d1: JUMPDEST
000038d2: SWAP1
000038d3: PUSH1 0x9e
000038d5: SLOAD
000038d6: DUP1
000038d7: PUSH1 0x80
000038d9: SHR
000038da: DUP1
000038db: ISZERO
000038dc: PUSH0
000038dd: EQ
000038de: PUSH2 0x38e7
000038e1: JUMPI
000038e2: POP
000038e3: POP
000038e4: DUP2
000038e5: SWAP1
000038e6: JUMP
000038e7: JUMPDEST
000038e8: PUSH1 0x01
000038ea: PUSH1 0x01
000038ec: PUSH1 0x80
000038ee: SHL
000038ef: SUB
000038f0: PUSH2 0x0682
000038f3: SWAP3
000038f4: AND
000038f5: DUP5
000038f6: PUSH2 0x2b5e
000038f9: JUMP
000038fa: JUMPDEST
000038fb: POP
000038fc: POP
000038fd: POP
000038fe: PUSH0
000038ff: SWAP1
00003900: PUSH0
00003901: SWAP1
00003902: JUMP
00003903: JUMPDEST
00003904: SWAP1
00003905: PUSH1 0x40
00003907: MLOAD
00003908: PUSH2 0x3910
0000390b: DUP2
0000390c: PUSH2 0x0f2c
0000390f: JUMP
00003910: JUMPDEST
00003911: SWAP2
00003912: SLOAD
00003913: PUSH1 0x01
00003915: PUSH1 0x01
00003917: PUSH1 0xa0
00003919: SHL
0000391a: SUB
0000391b: DUP2
0000391c: AND
0000391d: DUP4
0000391e: MSTORE
0000391f: PUSH1 0xa0
00003921: SHR
00003922: PUSH1 0x20
00003924: DUP4
00003925: ADD
00003926: MSTORE
00003927: JUMP
00003928: JUMPDEST
00003929: PUSH1 0x9a
0000392b: SLOAD
0000392c: PUSH0
0000392d: SWAP5
0000392e: DUP6
0000392f: SWAP5
00003930: SWAP4
00003931: SWAP1
00003932: SWAP2
00003933: DUP1
00003934: DUP5
00003935: LT
00003936: DUP1
00003937: ISZERO
00003938: SWAP1
00003939: PUSH2 0x3abb
0000393c: JUMPI
0000393d: JUMPDEST
0000393e: PUSH2 0x3aae
00003941: JUMPI
00003942: DUP4
00003943: PUSH2 0x3a78
00003946: JUMPI
00003947: PUSH0
00003948: JUMPDEST
00003949: PUSH1 0x9a
0000394b: PUSH0
0000394c: MSTORE
0000394d: PUSH1 0x01
0000394f: PUSH1 0x01
00003951: PUSH1 0xa0
00003953: SHL
00003954: SUB
00003955: AND
00003956: PUSH2 0x396d
00003959: PUSH0
0000395a: DUP1
0000395b: MLOAD
0000395c: PUSH1 0x20
0000395e: PUSH2 0x4b7c
00003961: DUP4
00003962: CODECOPY
00003963: DUP2
00003964: MLOAD
00003965: SWAP2
00003966: MSTORE
00003967: DUP7
00003968: ADD
00003969: PUSH2 0x3903
0000396c: JUMP
0000396d: JUMPDEST
0000396e: DUP1
0000396f: MLOAD
00003970: SWAP1
00003971: SWAP8
00003972: SWAP1
00003973: PUSH2 0x3984
00003976: SWAP1
00003977: PUSH1 0x01
00003979: PUSH1 0x01
0000397b: PUSH1 0xa0
0000397d: SHL
0000397e: SUB
0000397f: AND
00003980: PUSH2 0x1289
00003983: JUMP
00003984: JUMPDEST
00003985: SWAP9
00003986: PUSH2 0x39a9
00003989: PUSH2 0x399d
0000398c: PUSH1 0x20
0000398e: DUP1
0000398f: SWAP12
00003990: ADD
00003991: MLOAD
00003992: PUSH1 0x01
00003994: PUSH1 0x01
00003996: PUSH1 0x60
00003998: SHL
00003999: SUB
0000399a: AND
0000399b: SWAP1
0000399c: JUMP
0000399d: JUMPDEST
0000399e: PUSH1 0x01
000039a0: PUSH1 0x01
000039a2: PUSH1 0x60
000039a4: SHL
000039a5: SUB
000039a6: AND
000039a7: SWAP1
000039a8: JUMP
000039a9: JUMPDEST
000039aa: SWAP5
000039ab: DUP4
000039ac: DUP2
000039ad: LT
000039ae: DUP1
000039af: ISZERO
000039b0: PUSH2 0x3a6e
000039b3: JUMPI
000039b4: JUMPDEST
000039b5: PUSH2 0x3a5c
000039b8: JUMPI
000039b9: SWAP2
000039ba: PUSH1 0x01
000039bc: SWAP4
000039bd: SWAP8
000039be: SWAP11
000039bf: SWAP6
000039c0: PUSH2 0x39d3
000039c3: PUSH2 0x39df
000039c6: SWAP4
000039c7: SWAP5
000039c8: DUP9
000039c9: SUB
000039ca: JUMPDEST
000039cb: DUP4
000039cc: DUP13
000039cd: SUB
000039ce: SWAP1
000039cf: PUSH2 0x43b9
000039d2: JUMP
000039d3: JUMPDEST
000039d4: DUP1
000039d5: SWAP3
000039d6: ADD
000039d7: SWAP9
000039d8: DUP8
000039d9: SUB
000039da: SWAP2
000039db: PUSH2 0x2b5e
000039de: JUMP
000039df: JUMPDEST
000039e0: ADD
000039e1: SWAP8
000039e2: ADD
000039e3: SWAP4
000039e4: DUP1
000039e5: DUP7
000039e6: GT
000039e7: DUP1
000039e8: ISZERO
000039e9: SWAP1
000039ea: PUSH2 0x3a52
000039ed: JUMPI
000039ee: JUMPDEST
000039ef: PUSH2 0x3a47
000039f2: JUMPI
000039f3: PUSH1 0x9a
000039f5: PUSH0
000039f6: MSTORE
000039f7: DUP3
000039f8: SWAP1
000039f9: PUSH2 0x3a10
000039fc: PUSH0
000039fd: DUP1
000039fe: MLOAD
000039ff: PUSH1 0x20
00003a01: PUSH2 0x4b7c
00003a04: DUP4
00003a05: CODECOPY
00003a06: DUP2
00003a07: MLOAD
00003a08: SWAP2
00003a09: MSTORE
00003a0a: DUP8
00003a0b: ADD
00003a0c: PUSH2 0x3903
00003a0f: JUMP
00003a10: JUMPDEST
00003a11: DUP1
00003a12: MLOAD
00003a13: SWAP1
00003a14: DUP10
00003a15: ADD
00003a16: MLOAD
00003a17: SWAP7
00003a18: SWAP10
00003a19: SWAP3
00003a1a: SWAP7
00003a1b: PUSH1 0x01
00003a1d: PUSH1 0x01
00003a1f: PUSH1 0xa0
00003a21: SHL
00003a22: SUB
00003a23: SWAP1
00003a24: SWAP2
00003a25: AND
00003a26: SWAP5
00003a27: PUSH1 0x01
00003a29: SWAP4
00003a2a: SWAP3
00003a2b: PUSH2 0x39df
00003a2e: SWAP3
00003a2f: SWAP1
00003a30: SWAP2
00003a31: PUSH1 0x01
00003a33: PUSH1 0x01
00003a35: PUSH1 0x60
00003a37: SHL
00003a38: SUB
00003a39: SWAP1
00003a3a: SWAP2
00003a3b: AND
00003a3c: SWAP1
00003a3d: PUSH2 0x39d3
00003a40: SWAP1
00003a41: DUP9
00003a42: SUB
00003a43: PUSH2 0x39ca
00003a46: JUMP
00003a47: JUMPDEST
00003a48: SWAP5
00003a49: POP
00003a4a: POP
00003a4b: POP
00003a4c: SWAP3
00003a4d: POP
00003a4e: POP
00003a4f: SWAP2
00003a50: SWAP1
00003a51: JUMP
00003a52: JUMPDEST
00003a53: POP
00003a54: DUP2
00003a55: DUP6
00003a56: LT
00003a57: ISZERO
00003a58: PUSH2 0x39ee
00003a5b: JUMP
00003a5c: JUMPDEST
00003a5d: PUSH1 0x40
00003a5f: MLOAD
00003a60: PUSH4 0xe8722f8f
00003a65: PUSH1 0xe0
00003a67: SHL
00003a68: DUP2
00003a69: MSTORE
00003a6a: PUSH1 0x04
00003a6c: SWAP1
00003a6d: REVERT
00003a6e: JUMPDEST
00003a6f: POP
00003a70: DUP1
00003a71: DUP12
00003a72: GT
00003a73: ISZERO
00003a74: PUSH2 0x39b4
00003a77: JUMP
00003a78: JUMPDEST
00003a79: PUSH1 0x9a
00003a7b: PUSH0
00003a7c: MSTORE
00003a7d: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3
00003a9e: DUP5
00003a9f: ADD
00003aa0: SLOAD
00003aa1: PUSH1 0x01
00003aa3: PUSH1 0x01
00003aa5: PUSH1 0xa0
00003aa7: SHL
00003aa8: SUB
00003aa9: AND
00003aaa: PUSH2 0x3948
00003aad: JUMP
00003aae: JUMPDEST
00003aaf: POP
00003ab0: POP
00003ab1: SWAP4
00003ab2: POP
00003ab3: POP
00003ab4: POP
00003ab5: POP
00003ab6: PUSH0
00003ab7: SWAP1
00003ab8: PUSH0
00003ab9: SWAP1
00003aba: JUMP
00003abb: JUMPDEST
00003abc: POP
00003abd: DUP5
00003abe: ISZERO
00003abf: PUSH2 0x393d
00003ac2: JUMP
00003ac3: JUMPDEST
00003ac4: PUSH1 0x40
00003ac6: MLOAD
00003ac7: PUSH4 0x3eb1acf7
00003acc: PUSH1 0xe1
00003ace: SHL
00003acf: DUP2
00003ad0: MSTORE
00003ad1: ADDRESS
00003ad2: PUSH1 0x04
00003ad4: DUP3
00003ad5: ADD
00003ad6: MSTORE
00003ad7: PUSH1 0x20
00003ad9: DUP2
00003ada: PUSH1 0x24
00003adc: DUP2
00003add: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00003afe: PUSH1 0x01
00003b00: PUSH1 0x01
00003b02: PUSH1 0xa0
00003b04: SHL
00003b05: SUB
00003b06: AND
00003b07: GAS
00003b08: STATICCALL
00003b09: SWAP1
00003b0a: DUP2
00003b0b: ISZERO
00003b0c: PUSH2 0x0561
00003b0f: JUMPI
00003b10: PUSH0
00003b11: SWAP2
00003b12: PUSH2 0x3b2f
00003b15: JUMPI
00003b16: JUMPDEST
00003b17: POP
00003b18: PUSH2 0x3b1d
00003b1b: JUMPI
00003b1c: JUMP
00003b1d: JUMPDEST
00003b1e: PUSH1 0x40
00003b20: MLOAD
00003b21: PUSH4 0xe7757151
00003b26: PUSH1 0xe0
00003b28: SHL
00003b29: DUP2
00003b2a: MSTORE
00003b2b: PUSH1 0x04
00003b2d: SWAP1
00003b2e: REVERT
00003b2f: JUMPDEST
00003b30: PUSH2 0x3b48
00003b33: SWAP2
00003b34: POP
00003b35: PUSH1 0x20
00003b37: RETURNDATASIZE
00003b38: PUSH1 0x20
00003b3a: GT
00003b3b: PUSH2 0x118e
00003b3e: JUMPI
00003b3f: PUSH2 0x117f
00003b42: DUP2
00003b43: DUP4
00003b44: PUSH2 0x0f95
00003b47: JUMP
00003b48: JUMPDEST
00003b49: PUSH0
00003b4a: PUSH2 0x3b16
00003b4d: JUMP
00003b4e: JUMPDEST
00003b4f: PUSH1 0x42
00003b51: SWAP1
00003b52: CHAINID
00003b53: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00003b74: SUB
00003b75: PUSH2 0x3bfc
00003b78: JUMPI
00003b79: PUSH1 0xd3
00003b7b: SLOAD
00003b7c: SWAP1
00003b7d: JUMPDEST
00003b7e: PUSH2 0x3b94
00003b81: PUSH2 0x3b8d
00003b84: PUSH1 0x40
00003b86: DUP4
00003b87: ADD
00003b88: DUP4
00003b89: PUSH2 0x26fc
00003b8c: JUMP
00003b8d: JUMPDEST
00003b8e: CALLDATASIZE
00003b8f: SWAP2
00003b90: PUSH2 0x0fe0
00003b93: JUMP
00003b94: JUMPDEST
00003b95: PUSH1 0x20
00003b97: DUP2
00003b98: MLOAD
00003b99: SWAP2
00003b9a: ADD
00003b9b: KECCAK256
00003b9c: PUSH1 0x40
00003b9e: MLOAD
00003b9f: SWAP1
00003ba0: PUSH1 0x20
00003ba2: DUP3
00003ba3: ADD
00003ba4: SWAP3
00003ba5: PUSH32 0x838af86bfca91ada6557e38d913af1c2f24ef9b2567b3b77cc9e1144314b35b0
00003bc6: DUP5
00003bc7: MSTORE
00003bc8: CALLDATALOAD
00003bc9: PUSH1 0x40
00003bcb: DUP4
00003bcc: ADD
00003bcd: MSTORE
00003bce: PUSH1 0x60
00003bd0: DUP3
00003bd1: ADD
00003bd2: MSTORE
00003bd3: PUSH1 0x60
00003bd5: DUP2
00003bd6: MSTORE
00003bd7: PUSH2 0x3bdf
00003bda: DUP2
00003bdb: PUSH2 0x0f7a
00003bde: JUMP
00003bdf: JUMPDEST
00003be0: MLOAD
00003be1: SWAP1
00003be2: KECCAK256
00003be3: PUSH1 0x40
00003be5: MLOAD
00003be6: SWAP2
00003be7: PUSH2 0x1901
00003bea: PUSH1 0xf0
00003bec: SHL
00003bed: DUP4
00003bee: MSTORE
00003bef: PUSH1 0x02
00003bf1: DUP4
00003bf2: ADD
00003bf3: MSTORE
00003bf4: PUSH1 0x22
00003bf6: DUP3
00003bf7: ADD
00003bf8: MSTORE
00003bf9: KECCAK256
00003bfa: SWAP1
00003bfb: JUMP
00003bfc: JUMPDEST
00003bfd: PUSH2 0x3c04
00003c00: PUSH2 0x483e
00003c03: JUMP
00003c04: JUMPDEST
00003c05: SWAP1
00003c06: PUSH2 0x3b7d
00003c09: JUMP
00003c0a: JUMPDEST
00003c0b: PUSH1 0x04
00003c0d: GT
00003c0e: ISZERO
00003c0f: PUSH2 0x3c14
00003c12: JUMPI
00003c13: JUMP
00003c14: JUMPDEST
00003c15: PUSH4 0x4e487b71
00003c1a: PUSH1 0xe0
00003c1c: SHL
00003c1d: PUSH0
00003c1e: MSTORE
00003c1f: PUSH1 0x21
00003c21: PUSH1 0x04
00003c23: MSTORE
00003c24: PUSH1 0x24
00003c26: PUSH0
00003c27: REVERT
00003c28: JUMPDEST
00003c29: PUSH2 0x3c32
00003c2c: DUP4
00003c2d: DUP4
00003c2e: PUSH2 0x490b
00003c31: JUMP
00003c32: JUMPDEST
00003c33: POP
00003c34: PUSH2 0x3c3f
00003c37: DUP2
00003c38: SWAP6
00003c39: SWAP3
00003c3a: SWAP6
00003c3b: PUSH2 0x3c0a
00003c3e: JUMP
00003c3f: JUMPDEST
00003c40: ISZERO
00003c41: SWAP4
00003c42: DUP5
00003c43: PUSH2 0x3cdb
00003c46: JUMPI
00003c47: JUMPDEST
00003c48: POP
00003c49: DUP4
00003c4a: ISZERO
00003c4b: PUSH2 0x3c55
00003c4e: JUMPI
00003c4f: JUMPDEST
00003c50: POP
00003c51: POP
00003c52: POP
00003c53: SWAP1
00003c54: JUMP
00003c55: JUMPDEST
00003c56: PUSH0
00003c57: SWAP3
00003c58: SWAP4
00003c59: POP
00003c5a: SWAP1
00003c5b: DUP3
00003c5c: SWAP2
00003c5d: PUSH1 0x40
00003c5f: MLOAD
00003c60: PUSH2 0x3c8d
00003c63: DUP2
00003c64: PUSH2 0x2592
00003c67: PUSH1 0x20
00003c69: DUP3
00003c6a: ADD
00003c6b: SWAP5
00003c6c: PUSH4 0x0b135d3f
00003c71: PUSH1 0xe1
00003c73: SHL
00003c74: SWAP10
00003c75: DUP11
00003c76: DUP8
00003c77: MSTORE
00003c78: PUSH1 0x24
00003c7a: DUP5
00003c7b: ADD
00003c7c: MSTORE
00003c7d: PUSH1 0x40
00003c7f: PUSH1 0x44
00003c81: DUP5
00003c82: ADD
00003c83: MSTORE
00003c84: PUSH1 0x64
00003c86: DUP4
00003c87: ADD
00003c88: SWAP1
00003c89: PUSH2 0x1bb0
00003c8c: JUMP
00003c8d: JUMPDEST
00003c8e: MLOAD
00003c8f: SWAP2
00003c90: GAS
00003c91: STATICCALL
00003c92: SWAP1
00003c93: PUSH2 0x3c9a
00003c96: PUSH2 0x2824
00003c99: JUMP
00003c9a: JUMPDEST
00003c9b: DUP3
00003c9c: PUSH2 0x3ccd
00003c9f: JUMPI
00003ca0: JUMPDEST
00003ca1: DUP3
00003ca2: PUSH2 0x3cb0
00003ca5: JUMPI
00003ca6: JUMPDEST
00003ca7: POP
00003ca8: POP
00003ca9: PUSH0
00003caa: DUP1
00003cab: DUP1
00003cac: PUSH2 0x3c4f
00003caf: JUMP
00003cb0: JUMPDEST
00003cb1: PUSH2 0x3cc5
00003cb4: SWAP2
00003cb5: SWAP3
00003cb6: POP
00003cb7: PUSH1 0x20
00003cb9: DUP1
00003cba: DUP3
00003cbb: MLOAD
00003cbc: DUP4
00003cbd: ADD
00003cbe: ADD
00003cbf: SWAP2
00003cc0: ADD
00003cc1: PUSH2 0x1e9e
00003cc4: JUMP
00003cc5: JUMPDEST
00003cc6: EQ
00003cc7: PUSH0
00003cc8: DUP1
00003cc9: PUSH2 0x3ca6
00003ccc: JUMP
00003ccd: JUMPDEST
00003cce: SWAP2
00003ccf: POP
00003cd0: PUSH1 0x20
00003cd2: DUP3
00003cd3: MLOAD
00003cd4: LT
00003cd5: ISZERO
00003cd6: SWAP2
00003cd7: PUSH2 0x3ca0
00003cda: JUMP
00003cdb: JUMPDEST
00003cdc: PUSH1 0x01
00003cde: PUSH1 0x01
00003ce0: PUSH1 0xa0
00003ce2: SHL
00003ce3: SUB
00003ce4: DUP4
00003ce5: DUP2
00003ce6: AND
00003ce7: SWAP2
00003ce8: AND
00003ce9: EQ
00003cea: SWAP4
00003ceb: POP
00003cec: PUSH0
00003ced: PUSH2 0x3c47
00003cf0: JUMP
00003cf1: JUMPDEST
00003cf2: SWAP1
00003cf3: PUSH1 0x30
00003cf5: GT
00003cf6: PUSH2 0x0317
00003cf9: JUMPI
00003cfa: SWAP1
00003cfb: PUSH1 0x30
00003cfd: SWAP1
00003cfe: JUMP
00003cff: JUMPDEST
00003d00: SWAP1
00003d01: PUSH1 0x90
00003d03: GT
00003d04: PUSH2 0x0317
00003d07: JUMPI
00003d08: PUSH1 0x30
00003d0a: ADD
00003d0b: SWAP1
00003d0c: PUSH1 0x60
00003d0e: SWAP1
00003d0f: JUMP
00003d10: JUMPDEST
00003d11: SWAP1
00003d12: PUSH1 0xb0
00003d14: GT
00003d15: PUSH2 0x0317
00003d18: JUMPI
00003d19: PUSH1 0x90
00003d1b: ADD
00003d1c: SWAP1
00003d1d: PUSH1 0x20
00003d1f: SWAP1
00003d20: JUMP
00003d21: JUMPDEST
00003d22: SWAP1
00003d23: SWAP4
00003d24: SWAP3
00003d25: SWAP4
00003d26: DUP5
00003d27: DUP4
00003d28: GT
00003d29: PUSH2 0x0317
00003d2c: JUMPI
00003d2d: DUP5
00003d2e: GT
00003d2f: PUSH2 0x0317
00003d32: JUMPI
00003d33: DUP2
00003d34: ADD
00003d35: SWAP3
00003d36: SUB
00003d37: SWAP1
00003d38: JUMP
00003d39: JUMPDEST
00003d3a: CALLDATALOAD
00003d3b: SWAP1
00003d3c: PUSH1 0x20
00003d3e: DUP2
00003d3f: LT
00003d40: PUSH2 0x3d47
00003d43: JUMPI
00003d44: POP
00003d45: SWAP1
00003d46: JUMP
00003d47: JUMPDEST
00003d48: PUSH0
00003d49: NOT
00003d4a: SWAP1
00003d4b: PUSH1 0x20
00003d4d: SUB
00003d4e: PUSH1 0x03
00003d50: SHL
00003d51: SHL
00003d52: AND
00003d53: SWAP1
00003d54: JUMP
00003d55: JUMPDEST
00003d56: SWAP7
00003d57: SWAP6
00003d58: SWAP5
00003d59: SWAP1
00003d5a: PUSH2 0x3d92
00003d5d: SWAP4
00003d5e: PUSH2 0x3d76
00003d61: PUSH2 0x3d84
00003d64: SWAP3
00003d65: PUSH1 0x60
00003d67: SWAP8
00003d68: SWAP6
00003d69: PUSH1 0x80
00003d6b: DUP13
00003d6c: MSTORE
00003d6d: PUSH1 0x80
00003d6f: DUP13
00003d70: ADD
00003d71: SWAP2
00003d72: PUSH2 0x265e
00003d75: JUMP
00003d76: JUMPDEST
00003d77: SWAP1
00003d78: DUP10
00003d79: DUP3
00003d7a: SUB
00003d7b: PUSH1 0x20
00003d7d: DUP12
00003d7e: ADD
00003d7f: MSTORE
00003d80: PUSH2 0x1bb0
00003d83: JUMP
00003d84: JUMPDEST
00003d85: SWAP2
00003d86: DUP8
00003d87: DUP4
00003d88: SUB
00003d89: PUSH1 0x40
00003d8b: DUP10
00003d8c: ADD
00003d8d: MSTORE
00003d8e: PUSH2 0x265e
00003d91: JUMP
00003d92: JUMPDEST
00003d93: SWAP4
00003d94: ADD
00003d95: MSTORE
00003d96: JUMP
00003d97: JUMPDEST
00003d98: SWAP1
00003d99: PUSH1 0x20
00003d9b: PUSH2 0x0682
00003d9e: SWAP3
00003d9f: DUP2
00003da0: DUP2
00003da1: MSTORE
00003da2: ADD
00003da3: SWAP1
00003da4: PUSH2 0x2646
00003da7: JUMP
00003da8: JUMPDEST
00003da9: SWAP2
00003daa: PUSH1 0x20
00003dac: PUSH2 0x0682
00003daf: SWAP4
00003db0: DUP2
00003db1: DUP2
00003db2: MSTORE
00003db3: ADD
00003db4: SWAP2
00003db5: PUSH2 0x265e
00003db8: JUMP
00003db9: JUMPDEST
00003dba: PUSH1 0xb0
00003dbc: SWAP2
00003dbd: DUP3
00003dbe: DUP2
00003dbf: DIV
00003dc0: SWAP2
00003dc1: PUSH0
00003dc2: SWAP1
00003dc3: DUP2
00003dc4: PUSH2 0x3dcb
00003dc7: PUSH2 0x4945
00003dca: JUMP
00003dcb: JUMPDEST
00003dcc: SWAP6
00003dcd: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa
00003dee: PUSH1 0x01
00003df0: PUSH1 0x01
00003df2: PUSH1 0xa0
00003df4: SHL
00003df5: SUB
00003df6: AND
00003df7: SWAP4
00003df8: PUSH0
00003df9: SWAP3
00003dfa: SWAP1
00003dfb: JUMPDEST
00003dfc: DUP8
00003dfd: DUP5
00003dfe: LT
00003dff: PUSH2 0x3e0d
00003e02: JUMPI
00003e03: POP
00003e04: POP
00003e05: POP
00003e06: POP
00003e07: POP
00003e08: POP
00003e09: POP
00003e0a: POP
00003e0b: POP
00003e0c: JUMP
00003e0d: JUMPDEST
00003e0e: DUP3
00003e0f: PUSH2 0x3e1c
00003e12: SWAP2
00003e13: ADD
00003e14: DUP1
00003e15: SWAP3
00003e16: DUP9
00003e17: DUP8
00003e18: PUSH2 0x3d21
00003e1b: JUMP
00003e1c: JUMPDEST
00003e1d: SWAP1
00003e1e: PUSH2 0x3e27
00003e21: DUP3
00003e22: DUP3
00003e23: PUSH2 0x3cf1
00003e26: JUMP
00003e27: JUMPDEST
00003e28: SWAP2
00003e29: PUSH2 0x3e46
00003e2c: PUSH2 0x3e40
00003e2f: PUSH2 0x3e38
00003e32: DUP7
00003e33: DUP5
00003e34: PUSH2 0x3cff
00003e37: JUMP
00003e38: JUMPDEST
00003e39: SWAP7
00003e3a: SWAP1
00003e3b: SWAP4
00003e3c: PUSH2 0x3d10
00003e3f: JUMP
00003e40: JUMPDEST
00003e41: SWAP1
00003e42: PUSH2 0x3d39
00003e45: JUMP
00003e46: JUMPDEST
00003e47: SWAP1
00003e48: DUP10
00003e49: EXTCODESIZE
00003e4a: ISZERO
00003e4b: PUSH2 0x0317
00003e4e: JUMPI
00003e4f: PUSH0
00003e50: SWAP1
00003e51: DUP14
00003e52: PUSH2 0x3e73
00003e55: PUSH1 0x40
00003e57: SWAP5
00003e58: DUP6
00003e59: MLOAD
00003e5a: SWAP9
00003e5b: DUP10
00003e5c: SWAP5
00003e5d: DUP6
00003e5e: SWAP5
00003e5f: PUSH4 0x04512a23
00003e64: PUSH1 0xe3
00003e66: SHL
00003e67: DUP7
00003e68: MSTORE
00003e69: DUP11
00003e6a: DUP11
00003e6b: PUSH1 0x04
00003e6d: DUP9
00003e6e: ADD
00003e6f: PUSH2 0x3d55
00003e72: JUMP
00003e73: JUMPDEST
00003e74: SUB
00003e75: DUP2
00003e76: PUSH9 0x01bc16d674ec800000
00003e80: DUP14
00003e81: GAS
00003e82: CALL
00003e83: SWAP1
00003e84: DUP2
00003e85: ISZERO
00003e86: PUSH2 0x0561
00003e89: JUMPI
00003e8a: PUSH32 0x64b6e61d93b7a91e8cc4376183ede0997a27b44fd9dd2f30a866b2a5730efdb1
00003eab: SWAP5
00003eac: PUSH2 0x3ebf
00003eaf: SWAP3
00003eb0: PUSH2 0x3ece
00003eb3: JUMPI
00003eb4: JUMPDEST
00003eb5: POP
00003eb6: MLOAD
00003eb7: SWAP3
00003eb8: DUP4
00003eb9: SWAP3
00003eba: DUP4
00003ebb: PUSH2 0x3da8
00003ebe: JUMP
00003ebf: JUMPDEST
00003ec0: SUB
00003ec1: SWAP1
00003ec2: LOG1
00003ec3: PUSH1 0x01
00003ec5: DUP2
00003ec6: SWAP4
00003ec7: ADD
00003ec8: SWAP3
00003ec9: SWAP1
00003eca: PUSH2 0x3dfb
00003ecd: JUMP
00003ece: JUMPDEST
00003ecf: DUP1
00003ed0: PUSH2 0x0b74
00003ed3: PUSH2 0x3edb
00003ed6: SWAP3
00003ed7: PUSH2 0x0f4c
00003eda: JUMP
00003edb: JUMPDEST
00003edc: PUSH0
00003edd: PUSH2 0x3eb4
00003ee0: JUMP
00003ee1: JUMPDEST
00003ee2: DUP2
00003ee3: PUSH1 0x30
00003ee5: GT
00003ee6: PUSH2 0x0317
00003ee9: JUMPI
00003eea: PUSH2 0x3e40
00003eed: SWAP2
00003eee: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa
00003f0f: PUSH1 0x01
00003f11: PUSH1 0x01
00003f13: PUSH1 0xa0
00003f15: SHL
00003f16: SUB
00003f17: AND
00003f18: PUSH2 0x3f1f
00003f1b: PUSH2 0x4945
00003f1e: JUMP
00003f1f: JUMPDEST
00003f20: SWAP1
00003f21: PUSH2 0x3f36
00003f24: PUSH2 0x3f2d
00003f27: DUP5
00003f28: DUP7
00003f29: PUSH2 0x3cff
00003f2c: JUMP
00003f2d: JUMPDEST
00003f2e: SWAP7
00003f2f: SWAP1
00003f30: SWAP5
00003f31: DUP7
00003f32: PUSH2 0x3d10
00003f35: JUMP
00003f36: JUMPDEST
00003f37: SWAP5
00003f38: DUP2
00003f39: EXTCODESIZE
00003f3a: ISZERO
00003f3b: PUSH2 0x0317
00003f3e: JUMPI
00003f3f: PUSH9 0x01bc16d674ec800000
00003f49: PUSH0
00003f4a: SWAP5
00003f4b: PUSH2 0x3f9c
00003f4e: SWAP8
00003f4f: PUSH1 0x40
00003f51: MLOAD
00003f52: SWAP9
00003f53: DUP10
00003f54: SWAP7
00003f55: DUP8
00003f56: SWAP6
00003f57: DUP7
00003f58: SWAP5
00003f59: PUSH4 0x04512a23
00003f5e: PUSH1 0xe3
00003f60: SHL
00003f61: DUP7
00003f62: MSTORE
00003f63: PUSH1 0x80
00003f65: PUSH1 0x04
00003f67: DUP8
00003f68: ADD
00003f69: MSTORE
00003f6a: PUSH2 0x3f8d
00003f6d: PUSH2 0x3f7a
00003f70: DUP14
00003f71: PUSH1 0x84
00003f73: DUP10
00003f74: ADD
00003f75: SWAP1
00003f76: PUSH2 0x2646
00003f79: JUMP
00003f7a: JUMPDEST
00003f7b: PUSH1 0x03
00003f7d: NOT
00003f7e: SWAP5
00003f7f: DUP6
00003f80: DUP10
00003f81: DUP4
00003f82: SUB
00003f83: ADD
00003f84: PUSH1 0x24
00003f86: DUP11
00003f87: ADD
00003f88: MSTORE
00003f89: PUSH2 0x1bb0
00003f8c: JUMP
00003f8d: JUMPDEST
00003f8e: SWAP3
00003f8f: DUP7
00003f90: DUP5
00003f91: SUB
00003f92: ADD
00003f93: PUSH1 0x44
00003f95: DUP8
00003f96: ADD
00003f97: MSTORE
00003f98: PUSH2 0x265e
00003f9b: JUMP
00003f9c: JUMPDEST
00003f9d: SWAP1
00003f9e: PUSH1 0x64
00003fa0: DUP4
00003fa1: ADD
00003fa2: MSTORE
00003fa3: SUB
00003fa4: SWAP3
00003fa5: GAS
00003fa6: CALL
00003fa7: SWAP1
00003fa8: DUP2
00003fa9: ISZERO
00003faa: PUSH2 0x0561
00003fad: JUMPI
00003fae: PUSH32 0x64b6e61d93b7a91e8cc4376183ede0997a27b44fd9dd2f30a866b2a5730efdb1
00003fcf: SWAP3
00003fd0: PUSH2 0x2f28
00003fd3: SWAP3
00003fd4: PUSH2 0x3fe5
00003fd7: JUMPI
00003fd8: JUMPDEST
00003fd9: POP
00003fda: PUSH1 0x40
00003fdc: MLOAD
00003fdd: SWAP2
00003fde: DUP3
00003fdf: SWAP2
00003fe0: DUP3
00003fe1: PUSH2 0x3d97
00003fe4: JUMP
00003fe5: JUMPDEST
00003fe6: PUSH2 0x3fee
00003fe9: SWAP1
00003fea: PUSH2 0x0f4c
00003fed: JUMP
00003fee: JUMPDEST
00003fef: PUSH0
00003ff0: PUSH2 0x3fd8
00003ff3: JUMP
00003ff4: JUMPDEST
00003ff5: PUSH1 0x01
00003ff7: PUSH1 0x01
00003ff9: PUSH1 0x80
00003ffb: SHL
00003ffc: SUB
00003ffd: SWAP1
00003ffe: DUP2
00003fff: DUP2
00004000: GT
00004001: PUSH2 0x4008
00004004: JUMPI
00004005: AND
00004006: SWAP1
00004007: JUMP
00004008: JUMPDEST
00004009: PUSH1 0x44
0000400b: SWAP1
0000400c: PUSH1 0x40
0000400e: MLOAD
0000400f: SWAP1
00004010: PUSH4 0x06dfcc65
00004015: PUSH1 0xe4
00004017: SHL
00004018: DUP3
00004019: MSTORE
0000401a: PUSH1 0x80
0000401c: PUSH1 0x04
0000401e: DUP4
0000401f: ADD
00004020: MSTORE
00004021: PUSH1 0x24
00004023: DUP3
00004024: ADD
00004025: MSTORE
00004026: REVERT
00004027: JUMPDEST
00004028: SWAP1
00004029: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
0000404a: SWAP2
0000404b: PUSH1 0x02
0000404d: DUP4
0000404e: SLOAD
0000404f: EQ
00004050: PUSH2 0x40af
00004053: JUMPI
00004054: PUSH1 0x02
00004056: DUP4
00004057: SSTORE
00004058: DUP2
00004059: SELFBALANCE
0000405a: LT
0000405b: PUSH2 0x4097
0000405e: JUMPI
0000405f: PUSH0
00004060: SWAP2
00004061: DUP3
00004062: SWAP2
00004063: DUP3
00004064: SWAP2
00004065: DUP3
00004066: SWAP2
00004067: PUSH1 0x01
00004069: PUSH1 0x01
0000406b: PUSH1 0xa0
0000406d: SHL
0000406e: SUB
0000406f: AND
00004070: GAS
00004071: CALL
00004072: PUSH2 0x4079
00004075: PUSH2 0x2824
00004078: JUMP
00004079: JUMPDEST
0000407a: POP
0000407b: ISZERO
0000407c: PUSH2 0x4085
0000407f: JUMPI
00004080: PUSH1 0x01
00004082: SWAP1
00004083: SSTORE
00004084: JUMP
00004085: JUMPDEST
00004086: PUSH1 0x40
00004088: MLOAD
00004089: PUSH4 0x0a12f521
0000408e: PUSH1 0xe1
00004090: SHL
00004091: DUP2
00004092: MSTORE
00004093: PUSH1 0x04
00004095: SWAP1
00004096: REVERT
00004097: JUMPDEST
00004098: PUSH1 0x40
0000409a: MLOAD
0000409b: PUSH4 0xcd786059
000040a0: PUSH1 0xe0
000040a2: SHL
000040a3: DUP2
000040a4: MSTORE
000040a5: ADDRESS
000040a6: PUSH1 0x04
000040a8: DUP3
000040a9: ADD
000040aa: MSTORE
000040ab: PUSH1 0x24
000040ad: SWAP1
000040ae: REVERT
000040af: JUMPDEST
000040b0: PUSH1 0x40
000040b2: MLOAD
000040b3: PUSH4 0x3ee5aeb5
000040b8: PUSH1 0xe0
000040ba: SHL
000040bb: DUP2
000040bc: MSTORE
000040bd: PUSH1 0x04
000040bf: SWAP1
000040c0: REVERT
000040c1: JUMPDEST
000040c2: PUSH1 0x98
000040c4: SLOAD
000040c5: SWAP1
000040c6: PUSH1 0x01
000040c8: PUSH1 0x01
000040ca: PUSH1 0x80
000040cc: SHL
000040cd: SUB
000040ce: DUP3
000040cf: AND
000040d0: DUP2
000040d1: ISZERO
000040d2: DUP1
000040d3: ISZERO
000040d4: PUSH2 0x40f0
000040d7: JUMPI
000040d8: JUMPDEST
000040d9: ISZERO
000040da: PUSH2 0x40e3
000040dd: JUMPI
000040de: POP
000040df: SWAP1
000040e0: POP
000040e1: SWAP1
000040e2: JUMP
000040e3: JUMPDEST
000040e4: PUSH2 0x0682
000040e7: SWAP3
000040e8: PUSH1 0x80
000040ea: SHR
000040eb: SWAP2
000040ec: PUSH2 0x2b5e
000040ef: JUMP
000040f0: JUMPDEST
000040f1: POP
000040f2: DUP1
000040f3: ISZERO
000040f4: PUSH2 0x40d8
000040f7: JUMP
000040f8: JUMPDEST
000040f9: PUSH1 0x98
000040fb: SLOAD
000040fc: PUSH1 0x01
000040fe: PUSH1 0x01
00004100: PUSH1 0x80
00004102: SHL
00004103: SUB
00004104: DUP2
00004105: AND
00004106: SWAP1
00004107: DUP3
00004108: ISZERO
00004109: DUP1
0000410a: ISZERO
0000410b: PUSH2 0x4148
0000410e: JUMPI
0000410f: JUMPDEST
00004110: ISZERO
00004111: PUSH2 0x4119
00004114: JUMPI
00004115: POP
00004116: POP
00004117: SWAP1
00004118: JUMP
00004119: JUMPDEST
0000411a: PUSH1 0x80
0000411c: SHR
0000411d: SWAP1
0000411e: PUSH2 0x4128
00004121: DUP3
00004122: DUP3
00004123: DUP6
00004124: PUSH2 0x2b5e
00004127: JUMP
00004128: JUMPDEST
00004129: SWAP3
0000412a: DUP3
0000412b: ISZERO
0000412c: PUSH2 0x274c
0000412f: JUMPI
00004130: MULMOD
00004131: PUSH2 0x4137
00004134: JUMPI
00004135: SWAP1
00004136: JUMP
00004137: JUMPDEST
00004138: PUSH1 0x01
0000413a: DUP2
0000413b: ADD
0000413c: DUP1
0000413d: SWAP2
0000413e: GT
0000413f: ISZERO
00004140: PUSH2 0x0682
00004143: JUMPI
00004144: PUSH2 0x1edd
00004147: JUMP
00004148: JUMPDEST
00004149: POP
0000414a: DUP2
0000414b: ISZERO
0000414c: PUSH2 0x410f
0000414f: JUMP
00004150: JUMPDEST
00004151: PUSH2 0x4158
00004154: PUSH2 0x3ac3
00004157: JUMP
00004158: JUMPDEST
00004159: PUSH1 0x01
0000415b: PUSH1 0x01
0000415d: PUSH1 0xa0
0000415f: SHL
00004160: SUB
00004161: AND
00004162: DUP1
00004163: ISZERO
00004164: PUSH2 0x41a0
00004167: JUMPI
00004168: PUSH1 0x65
0000416a: DUP1
0000416b: SLOAD
0000416c: PUSH1 0x01
0000416e: PUSH1 0x01
00004170: PUSH1 0xa0
00004172: SHL
00004173: SUB
00004174: NOT
00004175: AND
00004176: DUP3
00004177: OR
00004178: SWAP1
00004179: SSTORE
0000417a: CALLER
0000417b: PUSH32 0xaaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3
0000419c: PUSH0
0000419d: DUP1
0000419e: LOG3
0000419f: JUMP
000041a0: JUMPDEST
000041a1: PUSH1 0x40
000041a3: MLOAD
000041a4: PUSH4 0x0ed1b8b3
000041a9: PUSH1 0xe3
000041ab: SHL
000041ac: DUP2
000041ad: MSTORE
000041ae: PUSH1 0x04
000041b0: SWAP1
000041b1: REVERT
000041b2: JUMPDEST
000041b3: PUSH2 0x0201
000041b6: DUP1
000041b7: SLOAD
000041b8: PUSH1 0x01
000041ba: PUSH1 0x01
000041bc: PUSH1 0xa0
000041be: SHL
000041bf: SUB
000041c0: NOT
000041c1: AND
000041c2: PUSH1 0x01
000041c4: PUSH1 0x01
000041c6: PUSH1 0xa0
000041c8: SHL
000041c9: SUB
000041ca: SWAP3
000041cb: SWAP1
000041cc: SWAP3
000041cd: AND
000041ce: SWAP2
000041cf: DUP3
000041d0: OR
000041d1: SWAP1
000041d2: SSTORE
000041d3: CALLER
000041d4: PUSH32 0xda2bcad4d57ac529886ff995d07bce191c08b5424c8f5824de6c73f90cc623d4
000041f5: PUSH0
000041f6: DUP1
000041f7: LOG3
000041f8: JUMP
000041f9: JUMPDEST
000041fa: SWAP2
000041fb: SWAP1
000041fc: PUSH2 0x4203
000041ff: PUSH2 0x3ac3
00004202: JUMP
00004203: JUMPDEST
00004204: PUSH1 0x01
00004206: PUSH1 0x01
00004208: PUSH1 0xa0
0000420a: SHL
0000420b: SUB
0000420c: DUP4
0000420d: AND
0000420e: SWAP1
0000420f: DUP2
00004210: ISZERO
00004211: PUSH2 0x0b80
00004214: JUMPI
00004215: DUP1
00004216: ISZERO
00004217: PUSH2 0x42af
0000421a: JUMPI
0000421b: DUP1
0000421c: PUSH2 0x422a
0000421f: PUSH2 0x178d
00004222: PUSH1 0x98
00004224: SLOAD
00004225: PUSH1 0x80
00004227: SHR
00004228: SWAP1
00004229: JUMP
0000422a: JUMPDEST
0000422b: ADD
0000422c: SWAP4
0000422d: PUSH2 0x4234
00004230: PUSH2 0x2466
00004233: JUMP
00004234: JUMPDEST
00004235: DUP6
00004236: GT
00004237: PUSH2 0x429d
0000423a: JUMPI
0000423b: PUSH2 0x0a17
0000423e: SWAP5
0000423f: PUSH2 0x425b
00004242: SWAP2
00004243: PUSH2 0x4256
00004246: PUSH2 0x424e
00004249: DUP6
0000424a: PUSH2 0x40f8
0000424d: JUMP
0000424e: JUMPDEST
0000424f: SWAP8
00004250: DUP9
00004251: SWAP4
00004252: PUSH2 0x3ff4
00004255: JUMP
00004256: JUMPDEST
00004257: PUSH2 0x436d
0000425a: JUMP
0000425b: JUMPDEST
0000425c: PUSH1 0x40
0000425e: DUP1
0000425f: MLOAD
00004260: SWAP2
00004261: DUP3
00004262: MSTORE
00004263: PUSH1 0x20
00004265: DUP3
00004266: ADD
00004267: DUP6
00004268: SWAP1
00004269: MSTORE
0000426a: PUSH0
0000426b: SWAP1
0000426c: DUP3
0000426d: ADD
0000426e: MSTORE
0000426f: CALLER
00004270: SWAP1
00004271: PUSH32 0x861a4138e41fb21c121a7dbb1053df465c837fc77380cc7226189a662281be2c
00004292: SWAP1
00004293: DUP1
00004294: PUSH1 0x60
00004296: DUP2
00004297: ADD
00004298: JUMPDEST
00004299: SUB
0000429a: SWAP1
0000429b: LOG3
0000429c: JUMP
0000429d: JUMPDEST
0000429e: PUSH1 0x40
000042a0: MLOAD
000042a1: PUSH4 0x04ffa0ff
000042a6: PUSH1 0xe5
000042a8: SHL
000042a9: DUP2
000042aa: MSTORE
000042ab: PUSH1 0x04
000042ad: SWAP1
000042ae: REVERT
000042af: JUMPDEST
000042b0: PUSH1 0x40
000042b2: MLOAD
000042b3: PUSH4 0x18374fd1
000042b8: PUSH1 0xe2
000042ba: SHL
000042bb: DUP2
000042bc: MSTORE
000042bd: PUSH1 0x04
000042bf: SWAP1
000042c0: REVERT
000042c1: JUMPDEST
000042c2: SWAP1
000042c3: SWAP3
000042c4: SWAP2
000042c5: SWAP3
000042c6: PUSH2 0x42cd
000042c9: PUSH2 0x3ac3
000042cc: JUMP
000042cd: JUMPDEST
000042ce: PUSH1 0x01
000042d0: PUSH1 0x01
000042d2: PUSH1 0xa0
000042d4: SHL
000042d5: SUB
000042d6: DUP3
000042d7: AND
000042d8: SWAP2
000042d9: DUP3
000042da: ISZERO
000042db: PUSH2 0x0b80
000042de: JUMPI
000042df: DUP2
000042e0: ISZERO
000042e1: PUSH2 0x42af
000042e4: JUMPI
000042e5: DUP2
000042e6: PUSH2 0x42f4
000042e9: PUSH2 0x178d
000042ec: PUSH1 0x98
000042ee: SLOAD
000042ef: PUSH1 0x80
000042f1: SHR
000042f2: SWAP1
000042f3: JUMP
000042f4: JUMPDEST
000042f5: ADD
000042f6: PUSH2 0x42fd
000042f9: PUSH2 0x2466
000042fc: JUMP
000042fd: JUMPDEST
000042fe: DUP2
000042ff: GT
00004300: PUSH2 0x429d
00004303: JUMPI
00004304: PUSH2 0x0a17
00004307: SWAP6
00004308: PUSH2 0x4344
0000430b: PUSH2 0x4298
0000430e: SWAP3
0000430f: PUSH32 0x861a4138e41fb21c121a7dbb1053df465c837fc77380cc7226189a662281be2c
00004330: SWAP5
00004331: PUSH2 0x4256
00004334: PUSH2 0x433c
00004337: DUP9
00004338: PUSH2 0x40f8
0000433b: JUMP
0000433c: JUMPDEST
0000433d: SWAP11
0000433e: DUP12
0000433f: SWAP4
00004340: PUSH2 0x3ff4
00004343: JUMP
00004344: JUMPDEST
00004345: PUSH1 0x40
00004347: DUP1
00004348: MLOAD
00004349: SWAP5
0000434a: DUP6
0000434b: MSTORE
0000434c: PUSH1 0x20
0000434e: DUP6
0000434f: ADD
00004350: DUP9
00004351: SWAP1
00004352: MSTORE
00004353: PUSH1 0x01
00004355: PUSH1 0x01
00004357: PUSH1 0xa0
00004359: SHL
0000435a: SUB
0000435b: SWAP1
0000435c: SWAP2
0000435d: AND
0000435e: SWAP1
0000435f: DUP5
00004360: ADD
00004361: MSTORE
00004362: CALLER
00004363: SWAP3
00004364: SWAP1
00004365: DUP2
00004366: SWAP1
00004367: PUSH1 0x60
00004369: DUP3
0000436a: ADD
0000436b: SWAP1
0000436c: JUMP
0000436d: JUMPDEST
0000436e: PUSH2 0x4376
00004371: DUP3
00004372: PUSH2 0x3ff4
00004375: JUMP
00004376: JUMPDEST
00004377: PUSH1 0x98
00004379: SLOAD
0000437a: SWAP1
0000437b: PUSH2 0x438e
0000437e: PUSH1 0x01
00004380: PUSH1 0x01
00004382: PUSH1 0x80
00004384: SHL
00004385: SUB
00004386: SWAP2
00004387: DUP3
00004388: DUP5
00004389: AND
0000438a: PUSH2 0x3131
0000438d: JUMP
0000438e: JUMPDEST
0000438f: AND
00004390: SWAP1
00004391: PUSH1 0x01
00004393: PUSH1 0x01
00004395: PUSH1 0x80
00004397: SHL
00004398: SUB
00004399: NOT
0000439a: AND
0000439b: OR
0000439c: PUSH1 0x98
0000439e: SSTORE
0000439f: PUSH1 0x01
000043a1: DUP1
000043a2: PUSH1 0xa0
000043a4: SHL
000043a5: SUB
000043a6: AND
000043a7: PUSH0
000043a8: MSTORE
000043a9: PUSH1 0x9c
000043ab: PUSH1 0x20
000043ad: MSTORE
000043ae: PUSH1 0x40
000043b0: PUSH0
000043b1: KECCAK256
000043b2: SWAP1
000043b3: DUP2
000043b4: SLOAD
000043b5: ADD
000043b6: SWAP1
000043b7: SSTORE
000043b8: JUMP
000043b9: JUMPDEST
000043ba: SWAP1
000043bb: DUP1
000043bc: DUP3
000043bd: LT
000043be: ISZERO
000043bf: PUSH2 0x43c6
000043c2: JUMPI
000043c3: POP
000043c4: SWAP1
000043c5: JUMP
000043c6: JUMPDEST
000043c7: SWAP1
000043c8: POP
000043c9: SWAP1
000043ca: JUMP
000043cb: JUMPDEST
000043cc: PUSH1 0x9a
000043ce: SLOAD
000043cf: SWAP1
000043d0: PUSH9 0x010000000000000000
000043da: DUP3
000043db: LT
000043dc: ISZERO
000043dd: PUSH2 0x0f47
000043e0: JUMPI
000043e1: PUSH1 0x01
000043e3: DUP3
000043e4: ADD
000043e5: DUP1
000043e6: PUSH1 0x9a
000043e8: SSTORE
000043e9: DUP3
000043ea: LT
000043eb: ISZERO
000043ec: PUSH2 0x2812
000043ef: JUMPI
000043f0: PUSH1 0x9a
000043f2: PUSH0
000043f3: MSTORE
000043f4: DUP1
000043f5: MLOAD
000043f6: PUSH1 0x20
000043f8: SWAP1
000043f9: SWAP2
000043fa: ADD
000043fb: MLOAD
000043fc: PUSH1 0xa0
000043fe: SHL
000043ff: PUSH1 0x01
00004401: PUSH1 0x01
00004403: PUSH1 0xa0
00004405: SHL
00004406: SUB
00004407: NOT
00004408: AND
00004409: PUSH1 0x01
0000440b: PUSH1 0x01
0000440d: PUSH1 0xa0
0000440f: SHL
00004410: SUB
00004411: SWAP2
00004412: SWAP1
00004413: SWAP2
00004414: AND
00004415: OR
00004416: PUSH0
00004417: DUP1
00004418: MLOAD
00004419: PUSH1 0x20
0000441b: PUSH2 0x4b7c
0000441e: DUP4
0000441f: CODECOPY
00004420: DUP2
00004421: MLOAD
00004422: SWAP2
00004423: MSTORE
00004424: SWAP1
00004425: SWAP2
00004426: ADD
00004427: SSTORE
00004428: JUMP
00004429: JUMPDEST
0000442a: SWAP2
0000442b: SWAP1
0000442c: SWAP2
0000442d: DUP1
0000442e: ISZERO
0000442f: DUP1
00004430: ISZERO
00004431: PUSH2 0x44f6
00004434: JUMPI
00004435: JUMPDEST
00004436: PUSH2 0x44e4
00004439: JUMPI
0000443a: PUSH2 0x4441
0000443d: PUSH2 0x47c5
00004440: JUMP
00004441: JUMPDEST
00004442: SWAP1
00004443: DUP2
00004444: ADD
00004445: DUP1
00004446: SWAP2
00004447: GT
00004448: PUSH2 0x1f0a
0000444b: JUMPI
0000444c: PUSH1 0x01
0000444e: PUSH1 0x01
00004450: PUSH1 0xa0
00004452: SHL
00004453: SUB
00004454: DUP1
00004455: DUP3
00004456: GT
00004457: PUSH2 0x44c4
0000445a: JUMPI
0000445b: PUSH1 0x01
0000445d: PUSH1 0x01
0000445f: PUSH1 0x60
00004461: SHL
00004462: SUB
00004463: SWAP1
00004464: DUP2
00004465: DUP6
00004466: GT
00004467: PUSH2 0x44a4
0000446a: JUMPI
0000446b: SWAP1
0000446c: PUSH2 0x0fc3
0000446f: SWAP4
00004470: SWAP5
00004471: PUSH2 0x448e
00004474: PUSH2 0x449f
00004477: SWAP4
00004478: PUSH2 0x447f
0000447b: PUSH2 0x0fb6
0000447e: JUMP
0000447f: JUMPDEST
00004480: SWAP6
00004481: AND
00004482: PUSH1 0x01
00004484: PUSH1 0x01
00004486: PUSH1 0xa0
00004488: SHL
00004489: SUB
0000448a: AND
0000448b: DUP6
0000448c: MSTORE
0000448d: JUMP
0000448e: JUMPDEST
0000448f: AND
00004490: PUSH1 0x01
00004492: PUSH1 0x01
00004494: PUSH1 0x60
00004496: SHL
00004497: SUB
00004498: AND
00004499: PUSH1 0x20
0000449b: DUP4
0000449c: ADD
0000449d: MSTORE
0000449e: JUMP
0000449f: JUMPDEST
000044a0: PUSH2 0x43cb
000044a3: JUMP
000044a4: JUMPDEST
000044a5: PUSH1 0x40
000044a7: MLOAD
000044a8: PUSH4 0x06dfcc65
000044ad: PUSH1 0xe4
000044af: SHL
000044b0: DUP2
000044b1: MSTORE
000044b2: PUSH1 0x60
000044b4: PUSH1 0x04
000044b6: DUP3
000044b7: ADD
000044b8: MSTORE
000044b9: PUSH1 0x24
000044bb: DUP2
000044bc: ADD
000044bd: DUP7
000044be: SWAP1
000044bf: MSTORE
000044c0: PUSH1 0x44
000044c2: SWAP1
000044c3: REVERT
000044c4: JUMPDEST
000044c5: PUSH1 0x40
000044c7: MLOAD
000044c8: PUSH4 0x06dfcc65
000044cd: PUSH1 0xe4
000044cf: SHL
000044d0: DUP2
000044d1: MSTORE
000044d2: PUSH1 0xa0
000044d4: PUSH1 0x04
000044d6: DUP3
000044d7: ADD
000044d8: MSTORE
000044d9: PUSH1 0x24
000044db: DUP2
000044dc: ADD
000044dd: DUP4
000044de: SWAP1
000044df: MSTORE
000044e0: PUSH1 0x44
000044e2: SWAP1
000044e3: REVERT
000044e4: JUMPDEST
000044e5: PUSH1 0x40
000044e7: MLOAD
000044e8: PUSH4 0x2ec8835b
000044ed: PUSH1 0xe2
000044ef: SHL
000044f0: DUP2
000044f1: MSTORE
000044f2: PUSH1 0x04
000044f4: SWAP1
000044f5: REVERT
000044f6: JUMPDEST
000044f7: POP
000044f8: DUP3
000044f9: ISZERO
000044fa: PUSH2 0x4435
000044fd: JUMP
000044fe: JUMPDEST
000044ff: PUSH1 0x40
00004501: MLOAD
00004502: PUSH4 0x0156a695
00004507: PUSH1 0xe1
00004509: SHL
0000450a: DUP2
0000450b: MSTORE
0000450c: ADDRESS
0000450d: PUSH1 0x04
0000450f: DUP3
00004510: ADD
00004511: MSTORE
00004512: PUSH1 0x20
00004514: DUP2
00004515: PUSH1 0x24
00004517: DUP2
00004518: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5
00004539: PUSH1 0x01
0000453b: PUSH1 0x01
0000453d: PUSH1 0xa0
0000453f: SHL
00004540: SUB
00004541: AND
00004542: GAS
00004543: STATICCALL
00004544: SWAP1
00004545: DUP2
00004546: ISZERO
00004547: PUSH2 0x0561
0000454a: JUMPI
0000454b: PUSH0
0000454c: SWAP2
0000454d: PUSH2 0x456b
00004550: JUMPI
00004551: JUMPDEST
00004552: POP
00004553: ISZERO
00004554: PUSH2 0x4559
00004557: JUMPI
00004558: JUMP
00004559: JUMPDEST
0000455a: PUSH1 0x40
0000455c: MLOAD
0000455d: PUSH4 0x0a62fbdb
00004562: PUSH1 0xe1
00004564: SHL
00004565: DUP2
00004566: MSTORE
00004567: PUSH1 0x04
00004569: SWAP1
0000456a: REVERT
0000456b: JUMPDEST
0000456c: PUSH2 0x4584
0000456f: SWAP2
00004570: POP
00004571: PUSH1 0x20
00004573: RETURNDATASIZE
00004574: PUSH1 0x20
00004576: GT
00004577: PUSH2 0x118e
0000457a: JUMPI
0000457b: PUSH2 0x117f
0000457e: DUP2
0000457f: DUP4
00004580: PUSH2 0x0f95
00004583: JUMP
00004584: JUMPDEST
00004585: PUSH0
00004586: PUSH2 0x4551
00004589: JUMP
0000458a: JUMPDEST
0000458b: PUSH1 0x01
0000458d: DUP1
0000458e: PUSH1 0xa0
00004590: SHL
00004591: SUB
00004592: AND
00004593: PUSH0
00004594: MSTORE
00004595: PUSH1 0x9c
00004597: PUSH1 0x20
00004599: MSTORE
0000459a: PUSH1 0x40
0000459c: PUSH0
0000459d: KECCAK256
0000459e: SWAP1
0000459f: DUP2
000045a0: SLOAD
000045a1: DUP2
000045a2: DUP2
000045a3: SUB
000045a4: SWAP1
000045a5: DUP2
000045a6: GT
000045a7: PUSH2 0x1f0a
000045aa: JUMPI
000045ab: PUSH2 0x45b4
000045ae: SWAP3
000045af: SSTORE
000045b0: PUSH2 0x3ff4
000045b3: JUMP
000045b4: JUMPDEST
000045b5: PUSH1 0x98
000045b7: SLOAD
000045b8: SWAP1
000045b9: PUSH1 0x01
000045bb: PUSH1 0x01
000045bd: PUSH1 0x80
000045bf: SHL
000045c0: SUB
000045c1: SWAP1
000045c2: DUP2
000045c3: DUP4
000045c4: AND
000045c5: SUB
000045c6: AND
000045c7: SWAP1
000045c8: PUSH1 0x01
000045ca: PUSH1 0x01
000045cc: PUSH1 0x80
000045ce: SHL
000045cf: SUB
000045d0: NOT
000045d1: AND
000045d2: OR
000045d3: PUSH1 0x98
000045d5: SSTORE
000045d6: JUMP
000045d7: JUMPDEST
000045d8: PUSH1 0xff
000045da: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000045fb: SLOAD
000045fc: PUSH1 0x40
000045fe: SHR
000045ff: AND
00004600: ISZERO
00004601: PUSH2 0x4606
00004604: JUMPI
00004605: JUMP
00004606: JUMPDEST
00004607: PUSH1 0x40
00004609: MLOAD
0000460a: PUSH4 0x1afcd79f
0000460f: PUSH1 0xe3
00004611: SHL
00004612: DUP2
00004613: MSTORE
00004614: PUSH1 0x04
00004616: SWAP1
00004617: REVERT
00004618: JUMPDEST
00004619: PUSH2 0x4620
0000461c: PUSH2 0x45d7
0000461f: JUMP
00004620: JUMPDEST
00004621: DUP1
00004622: ISZERO
00004623: PUSH2 0x4636
00004626: JUMPI
00004627: PUSH1 0x01
00004629: DUP2
0000462a: ADD
0000462b: PUSH2 0x4631
0000462e: JUMPI
0000462f: POP
00004630: JUMP
00004631: JUMPDEST
00004632: PUSH1 0x9d
00004634: SSTORE
00004635: JUMP
00004636: JUMPDEST
00004637: PUSH1 0x40
00004639: MLOAD
0000463a: PUSH4 0x31278a87
0000463f: PUSH1 0xe0
00004641: SHL
00004642: DUP2
00004643: MSTORE
00004644: PUSH1 0x04
00004646: SWAP1
00004647: REVERT
00004648: JUMPDEST
00004649: PUSH2 0x4650
0000464c: PUSH2 0x45d7
0000464f: JUMP
00004650: JUMPDEST
00004651: PUSH9 0x01bc16d674ec800000
0000465b: PUSH2 0x4662
0000465e: PUSH2 0x2466
00004661: JUMP
00004662: JUMPDEST
00004663: LT
00004664: PUSH2 0x4636
00004667: JUMPI
00004668: PUSH2 0x3606
0000466b: PUSH2 0x483e
0000466e: JUMP
0000466f: JUMPDEST
00004670: PUSH2 0x4677
00004673: PUSH2 0x45d7
00004676: JUMP
00004677: JUMPDEST
00004678: PUSH1 0x01
0000467a: PUSH1 0x01
0000467c: PUSH1 0xa0
0000467e: SHL
0000467f: SUB
00004680: AND
00004681: DUP1
00004682: PUSH2 0x4688
00004685: JUMPI
00004686: POP
00004687: JUMP
00004688: JUMPDEST
00004689: PUSH2 0x016a
0000468c: DUP1
0000468d: SLOAD
0000468e: PUSH1 0x01
00004690: PUSH1 0x01
00004692: PUSH1 0xa0
00004694: SHL
00004695: SUB
00004696: NOT
00004697: AND
00004698: SWAP1
00004699: SWAP2
0000469a: OR
0000469b: SWAP1
0000469c: SSTORE
0000469d: JUMP
0000469e: JUMPDEST
0000469f: PUSH2 0x46a6
000046a2: PUSH2 0x45d7
000046a5: JUMP
000046a6: JUMPDEST
000046a7: PUSH2 0x46ae
000046aa: PUSH2 0x45d7
000046ad: JUMP
000046ae: JUMPDEST
000046af: PUSH2 0x46b6
000046b2: PUSH2 0x45d7
000046b5: JUMP
000046b6: JUMPDEST
000046b7: PUSH1 0x01
000046b9: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
000046da: SSTORE
000046db: PUSH4 0x3b9aca00
000046e0: CALLVALUE
000046e1: LT
000046e2: PUSH2 0x46ef
000046e5: JUMPI
000046e6: PUSH2 0x2020
000046e9: CALLVALUE
000046ea: ADDRESS
000046eb: PUSH2 0x41f9
000046ee: JUMP
000046ef: JUMPDEST
000046f0: PUSH1 0x40
000046f2: MLOAD
000046f3: PUSH4 0xea2559bb
000046f8: PUSH1 0xe0
000046fa: SHL
000046fb: DUP2
000046fc: MSTORE
000046fd: PUSH1 0x04
000046ff: SWAP1
00004700: REVERT
00004701: JUMPDEST
00004702: SWAP1
00004703: DUP2
00004704: PUSH1 0x20
00004706: SWAP2
00004707: SUB
00004708: SLT
00004709: PUSH2 0x0317
0000470c: JUMPI
0000470d: MLOAD
0000470e: PUSH1 0xff
00004710: DUP2
00004711: AND
00004712: DUP2
00004713: SUB
00004714: PUSH2 0x0317
00004717: JUMPI
00004718: SWAP1
00004719: JUMP
0000471a: JUMPDEST
0000471b: PUSH1 0x40
0000471d: MLOAD
0000471e: PUSH4 0x52d1902d
00004723: PUSH1 0xe0
00004725: SHL
00004726: DUP2
00004727: MSTORE
00004728: SWAP3
00004729: SWAP1
0000472a: SWAP2
0000472b: PUSH1 0x20
0000472d: DUP5
0000472e: PUSH1 0x04
00004730: DUP2
00004731: PUSH1 0x01
00004733: PUSH1 0x01
00004735: PUSH1 0xa0
00004737: SHL
00004738: SUB
00004739: DUP8
0000473a: AND
0000473b: GAS
0000473c: STATICCALL
0000473d: PUSH0
0000473e: SWAP5
0000473f: DUP2
00004740: PUSH2 0x47a4
00004743: JUMPI
00004744: JUMPDEST
00004745: POP
00004746: PUSH2 0x476a
00004749: JUMPI
0000474a: PUSH1 0x40
0000474c: MLOAD
0000474d: PUSH4 0x4c9c8ce3
00004752: PUSH1 0xe0
00004754: SHL
00004755: DUP2
00004756: MSTORE
00004757: PUSH1 0x01
00004759: PUSH1 0x01
0000475b: PUSH1 0xa0
0000475d: SHL
0000475e: SUB
0000475f: DUP5
00004760: AND
00004761: PUSH1 0x04
00004763: DUP3
00004764: ADD
00004765: MSTORE
00004766: PUSH1 0x24
00004768: SWAP1
00004769: REVERT
0000476a: JUMPDEST
0000476b: SWAP1
0000476c: SWAP2
0000476d: PUSH0
0000476e: DUP1
0000476f: MLOAD
00004770: PUSH1 0x20
00004772: PUSH2 0x4b9c
00004775: DUP4
00004776: CODECOPY
00004777: DUP2
00004778: MLOAD
00004779: SWAP2
0000477a: MSTORE
0000477b: DUP5
0000477c: SUB
0000477d: PUSH2 0x478b
00004780: JUMPI
00004781: PUSH2 0x0fc3
00004784: SWAP3
00004785: SWAP4
00004786: POP
00004787: PUSH2 0x49ee
0000478a: JUMP
0000478b: JUMPDEST
0000478c: PUSH1 0x40
0000478e: MLOAD
0000478f: PUSH4 0x2a875269
00004794: PUSH1 0xe2
00004796: SHL
00004797: DUP2
00004798: MSTORE
00004799: PUSH1 0x04
0000479b: DUP2
0000479c: ADD
0000479d: DUP6
0000479e: SWAP1
0000479f: MSTORE
000047a0: PUSH1 0x24
000047a2: SWAP1
000047a3: REVERT
000047a4: JUMPDEST
000047a5: PUSH2 0x47be
000047a8: SWAP2
000047a9: SWAP6
000047aa: POP
000047ab: PUSH1 0x20
000047ad: RETURNDATASIZE
000047ae: PUSH1 0x20
000047b0: GT
000047b1: PUSH2 0x055a
000047b4: JUMPI
000047b5: PUSH2 0x054c
000047b8: DUP2
000047b9: DUP4
000047ba: PUSH2 0x0f95
000047bd: JUMP
000047be: JUMPDEST
000047bf: SWAP4
000047c0: PUSH0
000047c1: PUSH2 0x4744
000047c4: JUMP
000047c5: JUMPDEST
000047c6: PUSH1 0x9a
000047c8: SLOAD
000047c9: DUP1
000047ca: PUSH2 0x47d2
000047cd: JUMPI
000047ce: POP
000047cf: PUSH0
000047d0: SWAP1
000047d1: JUMP
000047d2: JUMPDEST
000047d3: PUSH1 0x9a
000047d5: PUSH0
000047d6: MSTORE
000047d7: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3
000047f8: ADD
000047f9: SLOAD
000047fa: PUSH1 0x01
000047fc: PUSH1 0x01
000047fe: PUSH1 0xa0
00004800: SHL
00004801: SUB
00004802: AND
00004803: PUSH2 0x1289
00004806: JUMP
00004807: JUMPDEST
00004808: PUSH1 0x9e
0000480a: SLOAD
0000480b: SWAP1
0000480c: DUP2
0000480d: PUSH1 0x80
0000480f: SHR
00004810: DUP2
00004811: ISZERO
00004812: DUP1
00004813: ISZERO
00004814: PUSH2 0x4836
00004817: JUMPI
00004818: JUMPDEST
00004819: ISZERO
0000481a: PUSH2 0x4823
0000481d: JUMPI
0000481e: POP
0000481f: SWAP1
00004820: POP
00004821: SWAP1
00004822: JUMP
00004823: JUMPDEST
00004824: PUSH1 0x01
00004826: PUSH1 0x01
00004828: PUSH1 0x80
0000482a: SHL
0000482b: SUB
0000482c: PUSH2 0x0682
0000482f: SWAP4
00004830: AND
00004831: SWAP2
00004832: PUSH2 0x2b5e
00004835: JUMP
00004836: JUMPDEST
00004837: POP
00004838: DUP1
00004839: ISZERO
0000483a: PUSH2 0x4818
0000483d: JUMP
0000483e: JUMPDEST
0000483f: PUSH15 0x5661756c7456616c696461746f7273
0000484f: PUSH1 0x88
00004851: SHL
00004852: PUSH1 0x20
00004854: PUSH1 0x40
00004856: MLOAD
00004857: PUSH2 0x485f
0000485a: DUP2
0000485b: PUSH2 0x0f2c
0000485e: JUMP
0000485f: JUMPDEST
00004860: PUSH1 0x0f
00004862: DUP2
00004863: MSTORE
00004864: ADD
00004865: MSTORE
00004866: PUSH1 0x40
00004868: MLOAD
00004869: PUSH1 0x20
0000486b: DUP2
0000486c: ADD
0000486d: SWAP1
0000486e: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
0000488f: DUP3
00004890: MSTORE
00004891: PUSH32 0x35d6cf9768d8be929c3a11ed667b1560ae6f1920195a985758fdd7265505d1ca
000048b2: PUSH1 0x40
000048b4: DUP3
000048b5: ADD
000048b6: MSTORE
000048b7: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
000048d8: PUSH1 0x60
000048da: DUP3
000048db: ADD
000048dc: MSTORE
000048dd: CHAINID
000048de: PUSH1 0x80
000048e0: DUP3
000048e1: ADD
000048e2: MSTORE
000048e3: ADDRESS
000048e4: PUSH1 0xa0
000048e6: DUP3
000048e7: ADD
000048e8: MSTORE
000048e9: PUSH1 0xa0
000048eb: DUP2
000048ec: MSTORE
000048ed: PUSH1 0xc0
000048ef: DUP2
000048f0: ADD
000048f1: DUP2
000048f2: DUP2
000048f3: LT
000048f4: PUSH1 0x01
000048f6: PUSH1 0x01
000048f8: PUSH1 0x40
000048fa: SHL
000048fb: SUB
000048fc: DUP3
000048fd: GT
000048fe: OR
000048ff: PUSH2 0x0f47
00004902: JUMPI
00004903: PUSH1 0x40
00004905: MSTORE
00004906: MLOAD
00004907: SWAP1
00004908: KECCAK256
00004909: SWAP1
0000490a: JUMP
0000490b: JUMPDEST
0000490c: DUP2
0000490d: MLOAD
0000490e: SWAP2
0000490f: SWAP1
00004910: PUSH1 0x41
00004912: DUP4
00004913: SUB
00004914: PUSH2 0x493b
00004917: JUMPI
00004918: PUSH2 0x4934
0000491b: SWAP3
0000491c: POP
0000491d: PUSH1 0x20
0000491f: DUP3
00004920: ADD
00004921: MLOAD
00004922: SWAP1
00004923: PUSH1 0x60
00004925: PUSH1 0x40
00004927: DUP5
00004928: ADD
00004929: MLOAD
0000492a: SWAP4
0000492b: ADD
0000492c: MLOAD
0000492d: PUSH0
0000492e: BYTE
0000492f: SWAP1
00004930: PUSH2 0x4a90
00004933: JUMP
00004934: JUMPDEST
00004935: SWAP2
00004936: SWAP3
00004937: SWAP1
00004938: SWAP2
00004939: SWAP1
0000493a: JUMP
0000493b: JUMPDEST
0000493c: POP
0000493d: POP
0000493e: PUSH0
0000493f: SWAP2
00004940: PUSH1 0x02
00004942: SWAP2
00004943: SWAP1
00004944: JUMP
00004945: JUMPDEST
00004946: PUSH1 0x40
00004948: MLOAD
00004949: PUSH1 0x01
0000494b: PUSH1 0xf8
0000494d: SHL
0000494e: PUSH1 0x20
00004950: DUP3
00004951: ADD
00004952: MSTORE
00004953: PUSH0
00004954: PUSH1 0x21
00004956: DUP3
00004957: ADD
00004958: MSTORE
00004959: ADDRESS
0000495a: PUSH1 0x60
0000495c: SHL
0000495d: PUSH1 0x2c
0000495f: DUP3
00004960: ADD
00004961: MSTORE
00004962: PUSH1 0x20
00004964: DUP2
00004965: MSTORE
00004966: PUSH2 0x0682
00004969: DUP2
0000496a: PUSH2 0x0f2c
0000496d: JUMP
0000496e: JUMPDEST
0000496f: PUSH1 0x01
00004971: DUP1
00004972: PUSH1 0xa0
00004974: SHL
00004975: SUB
00004976: DUP2
00004977: AND
00004978: PUSH0
00004979: MSTORE
0000497a: PUSH2 0x0137
0000497d: PUSH1 0x20
0000497f: MSTORE
00004980: PUSH1 0x40
00004982: PUSH0
00004983: KECCAK256
00004984: SWAP1
00004985: PUSH1 0x40
00004987: MLOAD
00004988: SWAP2
00004989: PUSH2 0x4991
0000498c: DUP4
0000498d: PUSH2 0x0f2c
00004990: JUMP
00004991: JUMPDEST
00004992: SLOAD
00004993: SWAP1
00004994: PUSH1 0x01
00004996: PUSH1 0x01
00004998: PUSH1 0x80
0000499a: SHL
0000499b: SUB
0000499c: SWAP2
0000499d: DUP3
0000499e: DUP2
0000499f: AND
000049a0: SWAP1
000049a1: DUP2
000049a2: DUP6
000049a3: MSTORE
000049a4: PUSH1 0x80
000049a6: SHR
000049a7: PUSH1 0x20
000049a9: DUP6
000049aa: ADD
000049ab: MSTORE
000049ac: ISZERO
000049ad: PUSH2 0x1ffa
000049b0: JUMPI
000049b1: PUSH2 0x212c
000049b4: PUSH2 0x08a3
000049b7: PUSH2 0x49e4
000049ba: SWAP3
000049bb: PUSH2 0x49c2
000049be: PUSH2 0x3ac3
000049c1: JUMP
000049c2: JUMPDEST
000049c3: PUSH2 0x49cb
000049c6: DUP7
000049c7: PUSH2 0x29bb
000049ca: JUMP
000049cb: JUMPDEST
000049cc: PUSH1 0x01
000049ce: PUSH1 0x01
000049d0: PUSH1 0xa0
000049d2: SHL
000049d3: SUB
000049d4: AND
000049d5: PUSH0
000049d6: SWAP1
000049d7: DUP2
000049d8: MSTORE
000049d9: PUSH1 0x9c
000049db: PUSH1 0x20
000049dd: MSTORE
000049de: PUSH1 0x40
000049e0: SWAP1
000049e1: KECCAK256
000049e2: SWAP1
000049e3: JUMP
000049e4: JUMPDEST
000049e5: SWAP2
000049e6: MLOAD
000049e7: AND
000049e8: GT
000049e9: PUSH2 0x21b3
000049ec: JUMPI
000049ed: JUMP
000049ee: JUMPDEST
000049ef: SWAP1
000049f0: DUP2
000049f1: EXTCODESIZE
000049f2: ISZERO
000049f3: PUSH2 0x4a6f
000049f6: JUMPI
000049f7: PUSH0
000049f8: DUP1
000049f9: MLOAD
000049fa: PUSH1 0x20
000049fc: PUSH2 0x4b9c
000049ff: DUP4
00004a00: CODECOPY
00004a01: DUP2
00004a02: MLOAD
00004a03: SWAP2
00004a04: MSTORE
00004a05: DUP1
00004a06: SLOAD
00004a07: PUSH1 0x01
00004a09: PUSH1 0x01
00004a0b: PUSH1 0xa0
00004a0d: SHL
00004a0e: SUB
00004a0f: NOT
00004a10: AND
00004a11: PUSH1 0x01
00004a13: PUSH1 0x01
00004a15: PUSH1 0xa0
00004a17: SHL
00004a18: SUB
00004a19: DUP5
00004a1a: AND
00004a1b: SWAP1
00004a1c: DUP2
00004a1d: OR
00004a1e: SWAP1
00004a1f: SWAP2
00004a20: SSTORE
00004a21: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00004a42: PUSH0
00004a43: DUP1
00004a44: LOG2
00004a45: DUP1
00004a46: MLOAD
00004a47: ISZERO
00004a48: PUSH2 0x4a54
00004a4b: JUMPI
00004a4c: PUSH2 0x2020
00004a4f: SWAP2
00004a50: PUSH2 0x4b12
00004a53: JUMP
00004a54: JUMPDEST
00004a55: POP
00004a56: POP
00004a57: CALLVALUE
00004a58: PUSH2 0x4a5d
00004a5b: JUMPI
00004a5c: JUMP
00004a5d: JUMPDEST
00004a5e: PUSH1 0x40
00004a60: MLOAD
00004a61: PUSH4 0xb398979f
00004a66: PUSH1 0xe0
00004a68: SHL
00004a69: DUP2
00004a6a: MSTORE
00004a6b: PUSH1 0x04
00004a6d: SWAP1
00004a6e: REVERT
00004a6f: JUMPDEST
00004a70: PUSH1 0x40
00004a72: MLOAD
00004a73: PUSH4 0x4c9c8ce3
00004a78: PUSH1 0xe0
00004a7a: SHL
00004a7b: DUP2
00004a7c: MSTORE
00004a7d: PUSH1 0x01
00004a7f: PUSH1 0x01
00004a81: PUSH1 0xa0
00004a83: SHL
00004a84: SUB
00004a85: DUP4
00004a86: AND
00004a87: PUSH1 0x04
00004a89: DUP3
00004a8a: ADD
00004a8b: MSTORE
00004a8c: PUSH1 0x24
00004a8e: SWAP1
00004a8f: REVERT
00004a90: JUMPDEST
00004a91: SWAP2
00004a92: SWAP1
00004a93: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
00004ab4: DUP5
00004ab5: GT
00004ab6: PUSH2 0x4b07
00004ab9: JUMPI
00004aba: SWAP2
00004abb: PUSH1 0x20
00004abd: SWAP4
00004abe: PUSH1 0x80
00004ac0: SWAP3
00004ac1: PUSH1 0xff
00004ac3: PUSH0
00004ac4: SWAP6
00004ac5: PUSH1 0x40
00004ac7: MLOAD
00004ac8: SWAP5
00004ac9: DUP6
00004aca: MSTORE
00004acb: AND
00004acc: DUP7
00004acd: DUP5
00004ace: ADD
00004acf: MSTORE
00004ad0: PUSH1 0x40
00004ad2: DUP4
00004ad3: ADD
00004ad4: MSTORE
00004ad5: PUSH1 0x60
00004ad7: DUP3
00004ad8: ADD
00004ad9: MSTORE
00004ada: DUP3
00004adb: DUP1
00004adc: MSTORE
00004add: PUSH1 0x01
00004adf: GAS
00004ae0: STATICCALL
00004ae1: ISZERO
00004ae2: PUSH2 0x0561
00004ae5: JUMPI
00004ae6: PUSH0
00004ae7: MLOAD
00004ae8: PUSH1 0x01
00004aea: PUSH1 0x01
00004aec: PUSH1 0xa0
00004aee: SHL
00004aef: SUB
00004af0: DUP2
00004af1: AND
00004af2: ISZERO
00004af3: PUSH2 0x4afd
00004af6: JUMPI
00004af7: SWAP1
00004af8: PUSH0
00004af9: SWAP1
00004afa: PUSH0
00004afb: SWAP1
00004afc: JUMP
00004afd: JUMPDEST
00004afe: POP
00004aff: PUSH0
00004b00: SWAP1
00004b01: PUSH1 0x01
00004b03: SWAP1
00004b04: PUSH0
00004b05: SWAP1
00004b06: JUMP
00004b07: JUMPDEST
00004b08: POP
00004b09: POP
00004b0a: POP
00004b0b: PUSH0
00004b0c: SWAP2
00004b0d: PUSH1 0x03
00004b0f: SWAP2
00004b10: SWAP1
00004b11: JUMP
00004b12: JUMPDEST
00004b13: PUSH0
00004b14: DUP1
00004b15: PUSH2 0x0682
00004b18: SWAP4
00004b19: PUSH1 0x20
00004b1b: DUP2
00004b1c: MLOAD
00004b1d: SWAP2
00004b1e: ADD
00004b1f: DUP5
00004b20: GAS
00004b21: DELEGATECALL
00004b22: PUSH2 0x4b29
00004b25: PUSH2 0x2824
00004b28: JUMP
00004b29: JUMPDEST
00004b2a: SWAP2
00004b2b: SWAP1
00004b2c: PUSH2 0x4b3f
00004b2f: JUMPI
00004b30: POP
00004b31: DUP1
00004b32: MLOAD
00004b33: ISZERO
00004b34: PUSH2 0x4085
00004b37: JUMPI
00004b38: DUP1
00004b39: MLOAD
00004b3a: SWAP1
00004b3b: PUSH1 0x20
00004b3d: ADD
00004b3e: REVERT
00004b3f: JUMPDEST
00004b40: DUP2
00004b41: MLOAD
00004b42: ISZERO
00004b43: DUP1
00004b44: PUSH2 0x4b72
00004b47: JUMPI
00004b48: JUMPDEST
00004b49: PUSH2 0x4b50
00004b4c: JUMPI
00004b4d: POP
00004b4e: SWAP1
00004b4f: JUMP
00004b50: JUMPDEST
00004b51: PUSH1 0x40
00004b53: MLOAD
00004b54: PUSH4 0x9996b315
00004b59: PUSH1 0xe0
00004b5b: SHL
00004b5c: DUP2
00004b5d: MSTORE
00004b5e: PUSH1 0x01
00004b60: PUSH1 0x01
00004b62: PUSH1 0xa0
00004b64: SHL
00004b65: SUB
00004b66: SWAP1
00004b67: SWAP2
00004b68: AND
00004b69: PUSH1 0x04
00004b6b: DUP3
00004b6c: ADD
00004b6d: MSTORE
00004b6e: PUSH1 0x24
00004b70: SWAP1
00004b71: REVERT
00004b72: JUMPDEST
00004b73: POP
00004b74: DUP1
00004b75: EXTCODESIZE
00004b76: ISZERO
00004b77: PUSH2 0x4b48
00004b7a: JUMP
00004b7b: INVALID
00004b7c: DIFFICULTY
00004b7d: UNKNOWN(0xDA)
00004b7e: ISZERO
00004b7f: DUP12
00004b80: LOG2
00004b81: PUSH32 0x9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be4360894a13ba1
00004ba2: LOG3
00004ba3: UNKNOWN(0x21)
00004ba4: MOD
00004ba5: PUSH8 0xc828492db98dca3e
00004bae: KECCAK256
00004baf: PUSH23 0xcc3735a920a3ca505d382bbca26469706673582212205c
00004bc7: COINBASE
00004bc8: CALLCODE
00004bc9: UNKNOWN(0xA8)
00004bca: CREATE2
00004bcb: STOP
00004bcc: GASLIMIT
00004bcd: DUP8
00004bce: UNKNOWN(0x2A)
00004bcf: NUMBER
00004bd0: UNKNOWN(0x0E)
00004bd1: UNKNOWN(0xDE)
00004bd2: DUP16
00004bd3: CLZ
00004bd4: UNKNOWN(0xEC)
00004bd5: DIFFICULTY
00004bd6: UNKNOWN(0xCD)
00004bd7: UNKNOWN(0xDF)
00004bd8: UNKNOWN(0x2F)
00004bd9: CALLDATASIZE
00004bda: UNKNOWN(0xCD)
00004bdb: UNKNOWN(0xD1)
00004bdc: CALL
00004bdd: UNKNOWN(0xE4)
00004bde: UNKNOWN(0xE9)
00004bdf: MLOAD
00004be0: SMOD
00004be1: UNKNOWN(0xF9)
00004be2: UNKNOWN(0xA8)
00004be3: BLOBBASEFEE
00004be4: STATICCALL
00004be5: MULMOD
00004be6: PUSH5 0x736f6c6343
00004bec: STOP
00004bed: ADDMOD
00004bee: AND
00004bef: STOP
00004bf0: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x78fb6273ddb560c9f231ef894777280722c26032c0da4c9fc7c5a8fe6c0f430b
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x78fb6273ddb560c9f231ef894777280722c26032c0da4c9fc7c5a8fe6c0f430b",
    "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": "0x01d523b6",
            "selector": "0x01d523b6",
            "calldata_variants": [
                "0x01d523b6",
                "0x01d523b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x066055e0",
            "selector": "0x066055e0",
            "calldata_variants": [
                "0x066055e0",
                "0x066055e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0d392cd9",
            "selector": "0x0d392cd9",
            "calldata_variants": [
                "0x0d392cd9",
                "0x0d392cd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18f72950",
            "selector": "0x18f72950",
            "calldata_variants": [
                "0x18f72950",
                "0x18f729500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a7ff553",
            "selector": "0x1a7ff553",
            "calldata_variants": [
                "0x1a7ff553",
                "0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x201b9eb5",
            "selector": "0x201b9eb5",
            "calldata_variants": [
                "0x201b9eb5",
                "0x201b9eb50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10500,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 19233,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x819a34cf62d03599c27d38207ea14b5940eec9921ac24f35b0fe65db9bd2e45b
call_targets: 0x81ab00dd782492d62105b8fa9b03e82d4b57798c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x819a34cf62d03599c27d38207ea14b5940eec9921ac24f35b0fe65db9bd2e45b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x81ab00dd782492d62105b8fa9b03e82d4b57798c"
    ],
    "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": "0x01d523b6",
            "selector": "0x01d523b6",
            "calldata_variants": [
                "0x01d523b6",
                "0x01d523b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x066055e0",
            "selector": "0x066055e0",
            "calldata_variants": [
                "0x066055e0",
                "0x066055e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0d392cd9",
            "selector": "0x0d392cd9",
            "calldata_variants": [
                "0x0d392cd9",
                "0x0d392cd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18f72950",
            "selector": "0x18f72950",
            "calldata_variants": [
                "0x18f72950",
                "0x18f729500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a7ff553",
            "selector": "0x1a7ff553",
            "calldata_variants": [
                "0x1a7ff553",
                "0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x201b9eb5",
            "selector": "0x201b9eb5",
            "calldata_variants": [
                "0x201b9eb5",
                "0x201b9eb50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1081,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1885,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2423,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 16,
    "guards_detected": [],
    "untrusted_call_count": 16
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x819a34cf62d03599c27d38207ea14b5940eec9921ac24f35b0fe65db9bd2e45b
call_targets: 0x81ab00dd782492d62105b8fa9b03e82d4b57798c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x819a34cf62d03599c27d38207ea14b5940eec9921ac24f35b0fe65db9bd2e45b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x81ab00dd782492d62105b8fa9b03e82d4b57798c"
    ],
    "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": "0x01d523b6",
            "selector": "0x01d523b6",
            "calldata_variants": [
                "0x01d523b6",
                "0x01d523b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x066055e0",
            "selector": "0x066055e0",
            "calldata_variants": [
                "0x066055e0",
                "0x066055e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0d392cd9",
            "selector": "0x0d392cd9",
            "calldata_variants": [
                "0x0d392cd9",
                "0x0d392cd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18f72950",
            "selector": "0x18f72950",
            "calldata_variants": [
                "0x18f72950",
                "0x18f729500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a7ff553",
            "selector": "0x1a7ff553",
            "calldata_variants": [
                "0x1a7ff553",
                "0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x201b9eb5",
            "selector": "0x201b9eb5",
            "calldata_variants": [
                "0x201b9eb5",
                "0x201b9eb50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1081,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1885,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2423,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 16,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xfc326611459dbf48c73239b516b95e2e265595c7e349789108fff3ec02d9e461
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xfc326611459dbf48c73239b516b95e2e265595c7e349789108fff3ec02d9e461",
    "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": "0x01d523b6",
            "selector": "0x01d523b6",
            "calldata_variants": [
                "0x01d523b6",
                "0x01d523b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x066055e0",
            "selector": "0x066055e0",
            "calldata_variants": [
                "0x066055e0",
                "0x066055e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0d392cd9",
            "selector": "0x0d392cd9",
            "calldata_variants": [
                "0x0d392cd9",
                "0x0d392cd90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18f72950",
            "selector": "0x18f72950",
            "calldata_variants": [
                "0x18f72950",
                "0x18f729500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a7ff553",
            "selector": "0x1a7ff553",
            "calldata_variants": [
                "0x1a7ff553",
                "0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x201b9eb5",
            "selector": "0x201b9eb5",
            "calldata_variants": [
                "0x201b9eb5",
                "0x201b9eb50000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 9
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 39
}