1ef2a721-79b8-4ee4-ac14-d3447616fdb7
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31147 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76696 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 76697 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 76698 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 76699 | capability.graph | complete | 1 / 3 | 1 week ago |
| 76700 | detector.run | complete | 1 / 3 | 1 week ago |
| 76701 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1068053] OpenAI Codex v0.77.0 (research preview)
[codex:1068053] --------
[codex:1068053] workdir: /tmp/codex-multi-xu6kws_q
[codex:1068053] model: gpt-5.2-codex
[codex:1068053] provider: openai
[codex:1068053] approval: never
[codex:1068053] sandbox: read-only
[codex:1068053] reasoning effort: xhigh
[codex:1068053] reasoning summaries: auto
[codex:1068053] session id: 019b7b81-51ad-7451-a7d1-1939252e3ada
[codex:1068053] --------
[codex:1068053] user
[codex:1068053] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1068053]
[codex:1068053] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1068053]
[codex:1068053] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1068053] - Gas inefficiency, code quality, naming, or best practices
[codex:1068053] - Theoretical vulnerabilities without a clear extraction path
[codex:1068053] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1068053] - Front-running unless it enables theft beyond MEV
[codex:1068053] - DoS, griefing, or issues that don't result in attacker profit
[codex:1068053] - Missing events, view function issues, or informational findings
[codex:1068053]
[codex:1068053] HIGH-VALUE PATTERNS TO HUNT:
[codex:1068053] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1068053] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1068053] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1068053] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1068053] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1068053] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1068053] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1068053] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1068053] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1068053]
[codex:1068053] For each finding, you MUST provide:
[codex:1068053] 1. Exact file and line numbers of vulnerable code
[codex:1068053] 2. Step-by-step exploit transaction sequence
[codex:1068053] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1068053]
[codex:1068053] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1068053]
[codex:1068053] Output MUST be valid JSON matching the provided schema.
[codex:1068053] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1068053] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1068053] mcp startup: no servers
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Reading AGENTS and AUDIT_BUNDLE files**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc ls in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] AUDIT_BUNDLE.txt
[codex:1068053] codex-output-schema.json
[codex:1068053] contracts
[codex:1068053] exec
[codex:1068053] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1068053]
[codex:1068053] ================================================================================
[codex:1068053] FILE: contracts/src/L1/L2OutputOracle.sol
[codex:1068053] ================================================================================
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1068053] import { ISemver } from "src/universal/ISemver.sol";
[codex:1068053] import { Types } from "src/libraries/Types.sol";
[codex:1068053] import { Constants } from "src/libraries/Constants.sol";
[codex:1068053]
[codex:1068053] /// @custom:proxied
[codex:1068053] /// @title L2OutputOracle
[codex:1068053] /// @notice The L2OutputOracle contains an array of L2 state outputs, where each output is a
[codex:1068053] /// commitment to the state of the L2 chain. Other contracts like the OptimismPortal use
[codex:1068053] /// these outputs to verify information about the state of L2.
[codex:1068053] contract L2OutputOracle is Initializable, ISemver {
[codex:1068053] /// @notice The interval in L2 blocks at which checkpoints must be submitted.
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Preparing to analyze large audit file**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc 'rg --files' in /tmp/codex-multi-xu6kws_q succeeded in 10ms:
[codex:1068053] AUDIT_BUNDLE.txt
[codex:1068053] codex-output-schema.json
[codex:1068053] contracts/src/universal/Semver.sol
[codex:1068053] contracts/src/universal/ISemver.sol
[codex:1068053] contracts/src/universal/CrossDomainMessenger.sol
[codex:1068053] contracts/src/L2/Gas.sol
[codex:1068053] contracts/src/L2/Shares.sol
[codex:1068053] contracts/src/L2/Blast.sol
[codex:1068053] contracts/src/vendor/AddressAliasHelper.sol
[codex:1068053] contracts/src/mainnet-bridge/ETHYieldManager.sol
[codex:1068053] contracts/src/mainnet-bridge/DelegateCalls.sol
[codex:1068053] contracts/src/mainnet-bridge/USDConversions.sol
[codex:1068053] contracts/src/mainnet-bridge/YieldManager.sol
[codex:1068053] contracts/src/L1/OptimismPortal.sol
[codex:1068053] contracts/src/L1/ResourceMetering.sol
[codex:1068053] contracts/src/L1/L2OutputOracle.sol
[codex:1068053] contracts/src/L1/SystemConfig.sol
[codex:1068053] contracts/src/libraries/Types.sol
[codex:1068053] contracts/src/mainnet-bridge/withdrawal-queue/WithdrawalQueue.sol
[codex:1068053] contracts/src/libraries/Predeploys.sol
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Inspecting key Solidity contracts**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,200p' contracts/src/mainnet-bridge/ETHYieldManager.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { YieldManager } from "src/mainnet-bridge/YieldManager.sol";
[codex:1068053] import { OptimismPortal } from "src/L1/OptimismPortal.sol";
[codex:1068053] import { Semver } from "src/universal/Semver.sol";
[codex:1068053] import { Predeploys } from "src/libraries/Predeploys.sol";
[codex:1068053]
[codex:1068053] /// @custom:proxied
[codex:1068053] /// @title ETHYieldManager
[codex:1068053] /// @notice Coordinates the accounting, asset management and
[codex:1068053] /// yield reporting from ETH yield providers.
[codex:1068053] contract ETHYieldManager is YieldManager, Semver {
[codex:1068053] error CallerIsNotPortal();
[codex:1068053]
[codex:1068053] constructor() YieldManager(address(0)) Semver(1, 0, 0) {
[codex:1068053] initialize(OptimismPortal(payable(address(0))), address(0));
[codex:1068053] }
[codex:1068053]
[codex:1068053] receive() external payable {}
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Checking base class YieldManager**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/mainnet-bridge/YieldManager.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { EnumerableSet } from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
[codex:1068053] import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:1068053] import { Ownable2StepUpgradeable } from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol";
[codex:1068053] import { SignedMath } from "@openzeppelin/contracts/utils/math/SignedMath.sol";
[codex:1068053] import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1068053]
[codex:1068053] import { WithdrawalQueue } from "src/mainnet-bridge/withdrawal-queue/WithdrawalQueue.sol";
[codex:1068053] import { YieldProvider } from "src/mainnet-bridge/yield-providers/YieldProvider.sol";
[codex:1068053] import { Types } from "src/libraries/Types.sol";
[codex:1068053] import { SafeCall } from "src/libraries/SafeCall.sol";
[codex:1068053] import { CrossDomainMessenger } from "src/universal/CrossDomainMessenger.sol";
[codex:1068053] import { SharesBase } from "src/L2/Shares.sol";
[codex:1068053] import { DelegateCalls } from "src/mainnet-bridge/DelegateCalls.sol";
[codex:1068053] import { USDConversions } from "src/mainnet-bridge/USDConversions.sol";
[codex:1068053] import { Semver } from "src/universal/Semver.sol";
[codex:1068053] import { OptimismPortal } from "src/L1/OptimismPortal.sol";
[codex:1068053] import { Predeploys } from "src/libraries/Predeploys.sol";
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '260,620p' contracts/src/mainnet-bridge/YieldManager.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] uint256 insuranceBalance = YieldProvider(_providers.at(i)).insuranceBalance();
[codex:1068053] if (insuranceBalance < insuranceWithdrawal) {
[codex:1068053] revert InsufficientInsuranceBalance();
[codex:1068053] }
[codex:1068053] _delegatecall_withdrawFromInsurance(_providers.at(i), insuranceWithdrawal);
[codex:1068053] totalInsuranceWithdrawal += insuranceWithdrawal;
[codex:1068053] }
[codex:1068053] }
[codex:1068053]
[codex:1068053] // Commit the yield for the provider
[codex:1068053] int256 committedYield = YieldProvider(_providers.at(i)).commitYield();
[codex:1068053]
[codex:1068053] // Sanity check
[codex:1068053] if (
[codex:1068053] enableInsurance &&
[codex:1068053] YieldProvider(_providers.at(i)).supportsInsurancePayment() &&
[codex:1068053] insurance != address(0)
[codex:1068053] ) {
[codex:1068053] if (committedYield < 0) {
[codex:1068053] revert NegativeYieldFromInsuredProvider();
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Assessing access in YieldManager and WithdrawalQueue**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/mainnet-bridge/withdrawal-queue/WithdrawalQueue.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-FileCopyrightText: 2023 Lido <info@lido.fi>
[codex:1068053] // SPDX-License-Identifier: GPL-3.0
[codex:1068053]
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { EnumerableSet } from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
[codex:1068053] import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:1068053] import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1068053] import { IERC20 } from "@openzeppelin/contracts/interfaces/IERC20.sol";
[codex:1068053] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1068053]
[codex:1068053] import { SafeCall } from "src/libraries/SafeCall.sol";
[codex:1068053]
[codex:1068053] /// @title WithdrawalQueue
[codex:1068053] /// @notice Queue for storing and managing withdrawal requests.
[codex:1068053] /// This contract is based on Lido's WithdrawalQueue and has been
[codex:1068053] /// modified to support Blast specific logic such as withdrawal discounts.
[codex:1068053] contract WithdrawalQueue is Initializable {
[codex:1068053] using EnumerableSet for EnumerableSet.UintSet;
[codex:1068053] using SafeERC20 for IERC20;
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '260,620p' contracts/src/mainnet-bridge/withdrawal-queue/WithdrawalQueue.sol" in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] if (_requestIds[i] < prevRequestId) {
[codex:1068053] revert RequestIdsNotSorted();
[codex:1068053] }
[codex:1068053] hintIds[i] = findCheckpointHint(_requestIds[i], _firstIndex, _lastIndex);
[codex:1068053] _firstIndex = hintIds[i];
[codex:1068053] prevRequestId = _requestIds[i];
[codex:1068053] }
[codex:1068053] }
[codex:1068053]
[codex:1068053] /// @dev View function to find a checkpoint hint to use in `claimWithdrawal()` and `getClaimableEther()`
[codex:1068053] /// Search will be performed in the range of `[_firstIndex, _lastIndex]`
[codex:1068053] ///
[codex:1068053] /// @param _requestId request id to search the checkpoint for
[codex:1068053] /// @param _start index of the left boundary of the search range, should be greater than 0
[codex:1068053] /// @param _end index of the right boundary of the search range, should be less than or equal
[codex:1068053] /// to queue.lastCheckpointId
[codex:1068053] ///
[codex:1068053] /// @return hint for later use in other methods or 0 if hint not found in the range
[codex:1068053] function findCheckpointHint(uint256 _requestId, uint256 _start, uint256 _end) public view returns (uint256) {
[codex:1068053] if (_requestId == 0 || _requestId > lastRequestId) {
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing withdrawal and portal interaction**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc 'rg -n "contract OptimismPortal|finalizeWithdrawal|proveWithdrawal|deposit" -n contracts/src/L1/OptimismPortal.sol' in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] 23:contract OptimismPortal is Initializable, ResourceMetering, ISemver {
[codex:1068053] 35: /// @notice Version of the deposit event.
[codex:1068053] 38: /// @notice The L2 gas limit set when eth is deposited using the receive() function.
[codex:1068053] 46: /// are NOT inside of a call to finalizeWithdrawalTransaction.
[codex:1068053] 75: /// @notice Emitted when a transaction is deposited from L1 to L2.
[codex:1068053] 76: /// The parameters of this event are read by the rollup node and used to derive deposit
[codex:1068053] 78: /// @param from Address that triggered the deposit transaction.
[codex:1068053] 79: /// @param to Address that the deposit transaction is directed to.
[codex:1068053] 80: /// @param version Version of this deposit transaction event.
[codex:1068053] 81: /// @param opaqueData ABI encoded deposit data to be parsed off-chain.
[codex:1068053] 184: /// @notice Computes the minimum gas limit for a deposit.
[codex:1068053] 190: /// @return The minimum gas limit for a deposit.
[codex:1068053] 196: /// funds be deposited to their address on L2. This is intended as a convenience
[codex:1068053] 197: /// function for EOAs. Contracts should call the depositTransaction() function directly
[codex:1068053] 198: /// otherwise any deposited funds will be lost due to address aliasing.
[codex:1068053] 202: depositTransaction(msg.sender, msg.value, RECEIVE_DEFAULT_GAS_LIMIT, false, bytes(""));
[codex:1068053] 219: function proveWithdrawalTransaction(
[codex:1068053] 228: // Prevent users from creating a deposit transaction where this address is the message
[codex:1068053] 230: // `finalizeWithdrawalTransaction`.
[codex:1068053] 309: function finalizeWithdrawalTransaction(uint256 hintId, Types.WithdrawalTransaction memory _tx) external whenNotPaused {
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '150,360p' contracts/src/L1/OptimismPortal.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] }
[codex:1068053]
[codex:1068053] /// @notice Getter for the L2OutputOracle
[codex:1068053] /// @custom:legacy
[codex:1068053] function L2_ORACLE() external view returns (L2OutputOracle) {
[codex:1068053] return l2Oracle;
[codex:1068053] }
[codex:1068053]
[codex:1068053] /// @notice Getter for the SystemConfig
[codex:1068053] /// @custom:legacy
[codex:1068053] function SYSTEM_CONFIG() external view returns (SystemConfig) {
[codex:1068053] return systemConfig;
[codex:1068053] }
[codex:1068053]
[codex:1068053] /// @notice Getter for the Guardian
[codex:1068053] /// @custom:legacy
[codex:1068053] function GUARDIAN() external view returns (address) {
[codex:1068053] return guardian;
[codex:1068053] }
[codex:1068053]
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '360,760p' contracts/src/L1/OptimismPortal.sol" in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053]
[codex:1068053] // Check that this withdrawal has not already been finalized, this is replay protection.
[codex:1068053] require(finalizedWithdrawals[withdrawalHash] == false, "OptimismPortal: withdrawal has already been finalized");
[codex:1068053]
[codex:1068053] // Mark the withdrawal as finalized so it can't be replayed.
[codex:1068053] finalizedWithdrawals[withdrawalHash] = true;
[codex:1068053]
[codex:1068053] // Set the l2Sender so contracts know who triggered this withdrawal on L2.
[codex:1068053] l2Sender = _tx.sender;
[codex:1068053]
[codex:1068053] // Blast: claim withdrawal for ether
[codex:1068053] uint256 txValueWithDiscount;
[codex:1068053] if (_tx.value > 0) {
[codex:1068053] uint256 etherBalance = address(this).balance;
[codex:1068053] yieldManager.claimWithdrawal(provenWithdrawal.requestId, hintId);
[codex:1068053] txValueWithDiscount = address(this).balance - etherBalance;
[codex:1068053] }
[codex:1068053]
[codex:1068053] // Trigger the call to the target contract. We use a custom low level method
[codex:1068053] // SafeCall.callWithMinGas to ensure two key properties
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing OptimismPortal and yieldManager interactions**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/L2/Shares.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:1068053]
[codex:1068053] import { Semver } from "src/universal/Semver.sol";
[codex:1068053] import { AddressAliasHelper } from "src/vendor/AddressAliasHelper.sol";
[codex:1068053] import { Predeploys } from "src/libraries/Predeploys.sol";
[codex:1068053] import { Blast, YieldMode, GasMode } from "src/L2/Blast.sol";
[codex:1068053]
[codex:1068053] /// @custom:predeploy 0x4300000000000000000000000000000000000000
[codex:1068053] /// @title SharesBase
[codex:1068053] /// @notice Base contract to track share rebasing and yield reporting.
[codex:1068053] abstract contract SharesBase is Initializable {
[codex:1068053] /// @notice Approved yield reporter.
[codex:1068053] address public immutable REPORTER;
[codex:1068053]
[codex:1068053] /// @notice Share price. This value can only increase.
[codex:1068053] uint256 public price;
[codex:1068053]
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing possible alias-based exploits**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/mainnet-bridge/DelegateCalls.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] interface IDelegateCalls {
[codex:1068053] function payInsurancePremium(uint256) external;
[codex:1068053] function withdrawFromInsurance(uint256) external;
[codex:1068053] function stake(uint256) external;
[codex:1068053] function unstake(uint256) external returns (uint256, uint256);
[codex:1068053] function preCommitYieldReportDelegateCallHook() external;
[codex:1068053] }
[codex:1068053]
[codex:1068053] abstract contract DelegateCalls {
[codex:1068053] function _delegatecall_payInsurancePremium(address provider, uint256 arg) internal {
[codex:1068053] (bool success,) = provider.delegatecall(
[codex:1068053] abi.encodeCall(IDelegateCalls.payInsurancePremium, (arg))
[codex:1068053] );
[codex:1068053] require(success, "delegatecall failed");
[codex:1068053] }
[codex:1068053]
[codex:1068053] function _delegatecall_withdrawFromInsurance(address provider, uint256 arg) internal {
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Reviewing delegatecall usage**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/mainnet-bridge/yield-providers/YieldProvider.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { YieldManager } from "src/mainnet-bridge/YieldManager.sol";
[codex:1068053] import { Semver } from "src/universal/Semver.sol";
[codex:1068053]
[codex:1068053] /// @title YieldProvider
[codex:1068053] /// @notice Base contract for interacting and accounting for a
[codex:1068053] /// specific yield source.
[codex:1068053] abstract contract YieldProvider is Semver {
[codex:1068053] YieldManager public immutable YIELD_MANAGER;
[codex:1068053]
[codex:1068053] uint256 public stakedPrincipal;
[codex:1068053] uint256 public pendingBalance;
[codex:1068053]
[codex:1068053] event YieldCommit(bytes32 indexed provider, int256 yield);
[codex:1068053] event Staked(bytes32 indexed provider, uint256 amount);
[codex:1068053] event Unstaked(bytes32 indexed provider, uint256 amount);
[codex:1068053] event Pending(bytes32 indexed provider, uint256 amount);
[codex:1068053] event Claimed(bytes32 indexed provider, uint256 claimedAmount, uint256 expectedAmount);
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing proxy initializer vulnerabilities**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,150p' contracts/src/L1/OptimismPortal.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1068053] import { SafeCall } from "src/libraries/SafeCall.sol";
[codex:1068053] import { L2OutputOracle } from "src/L1/L2OutputOracle.sol";
[codex:1068053] import { SystemConfig } from "src/L1/SystemConfig.sol";
[codex:1068053] import { Constants } from "src/libraries/Constants.sol";
[codex:1068053] import { Types } from "src/libraries/Types.sol";
[codex:1068053] import { Hashing } from "src/libraries/Hashing.sol";
[codex:1068053] import { SecureMerkleTrie } from "src/libraries/trie/SecureMerkleTrie.sol";
[codex:1068053] import { AddressAliasHelper } from "src/vendor/AddressAliasHelper.sol";
[codex:1068053] import { ResourceMetering } from "src/L1/ResourceMetering.sol";
[codex:1068053] import { ISemver } from "src/universal/ISemver.sol";
[codex:1068053] import { ETHYieldManager } from "src/mainnet-bridge/ETHYieldManager.sol";
[codex:1068053] import { Predeploys } from "src/libraries/Predeploys.sol";
[codex:1068053]
[codex:1068053] /// @custom:proxied
[codex:1068053] /// @title OptimismPortal
[codex:1068053] /// @notice The OptimismPortal is a low-level contract responsible for passing messages between L1
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Evaluating uninitialized proxy risks**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/L1/SystemConfig.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1068053] import { ISemver } from "src/universal/ISemver.sol";
[codex:1068053] import { ResourceMetering } from "src/L1/ResourceMetering.sol";
[codex:1068053] import { Storage } from "src/libraries/Storage.sol";
[codex:1068053] import { Constants } from "src/libraries/Constants.sol";
[codex:1068053]
[codex:1068053] /// @title SystemConfig
[codex:1068053] /// @notice The SystemConfig contract is used to manage configuration of an Optimism network.
[codex:1068053] /// All configuration is stored on L1 and picked up by L2 as part of the derviation of
[codex:1068053] /// the L2 chain.
[codex:1068053] contract SystemConfig is OwnableUpgradeable, ISemver {
[codex:1068053] /// @notice Enum representing different types of updates.
[codex:1068053] /// @custom:value BATCHER Represents an update to the batcher hash.
[codex:1068053] /// @custom:value GAS_CONFIG Represents an update to txn fee config on L2.
[codex:1068053] /// @custom:value GAS_LIMIT Represents an update to gas limit on L2.
[codex:1068053] /// @custom:value UNSAFE_BLOCK_SIGNER Represents an update to the signer key for unsafe
[codex:1068053] /// block distrubution.
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Assessing initialization risks in contracts**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,220p' contracts/src/L2/Gas.sol" in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { SafeTransferLib } from "solmate/utils/SafeTransferLib.sol";
[codex:1068053] import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
[codex:1068053] import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:1068053]
[codex:1068053] import { Semver } from "src/universal/Semver.sol";
[codex:1068053]
[codex:1068053] enum GasMode {
[codex:1068053] VOID,
[codex:1068053] CLAIMABLE
[codex:1068053] }
[codex:1068053]
[codex:1068053] interface IGas {
[codex:1068053] function readGasParams(address contractAddress) external view returns (uint256, uint256, uint256, GasMode);
[codex:1068053] function setGasMode(address contractAddress, GasMode mode) external;
[codex:1068053] function claimGasAtMinClaimRate(address contractAddress, address recipient, uint256 minClaimRateBips) external returns (uint256);
[codex:1068053] function claimAll(address contractAddress, address recipient) external returns (uint256);
[codex:1068053] function claimMax(address contractAddress, address recipient) external returns (uint256);
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '220,520p' contracts/src/L2/Gas.sol" in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] function claim(address contractAddress, address recipientOfGas, uint256 gasToClaim, uint256 gasSecondsToConsume) public onlyBlastConfigurationContract() returns (uint256) {
[codex:1068053] // retrieve gas params
[codex:1068053] (uint256 etherSeconds, uint256 etherBalance,, GasMode mode) = readGasParams(contractAddress);
[codex:1068053]
[codex:1068053] // check validity requirements
[codex:1068053] require(gasToClaim > 0, "must withdraw non-zero amount");
[codex:1068053] require(gasToClaim <= etherBalance, "too much to withdraw");
[codex:1068053] require(gasSecondsToConsume <= etherSeconds, "not enough gas seconds");
[codex:1068053]
[codex:1068053] // get claim rate
[codex:1068053] (uint256 claimRate, uint256 gasSecondsToConsumeNormalized) = getClaimRateBps(gasSecondsToConsume, gasToClaim);
[codex:1068053]
[codex:1068053] // calculate tax
[codex:1068053] uint256 userEther = gasToClaim * claimRate / 10_000;
[codex:1068053] uint256 penalty = gasToClaim - userEther;
[codex:1068053]
[codex:1068053] _updateGasParams(contractAddress, etherSeconds - gasSecondsToConsumeNormalized, etherBalance - gasToClaim, mode);
[codex:1068053]
[codex:1068053] SafeTransferLib.safeTransferETH(recipientOfGas, userEther);
[codex:1068053] if (penalty > 0) {
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing access control in Gas.sol**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/L2/Blast.sol" in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
[codex:1068053]
[codex:1068053] import { Semver } from "src/universal/Semver.sol";
[codex:1068053] import { GasMode, IGas } from "src/L2/Gas.sol";
[codex:1068053]
[codex:1068053] enum YieldMode {
[codex:1068053] AUTOMATIC,
[codex:1068053] VOID,
[codex:1068053] CLAIMABLE
[codex:1068053] }
[codex:1068053]
[codex:1068053] interface IYield {
[codex:1068053] function configure(address contractAddress, uint8 flags) external returns (uint256);
[codex:1068053] function claim(address contractAddress, address recipientOfYield, uint256 desiredAmount) external returns (uint256);
[codex:1068053] function getClaimableAmount(address contractAddress) external view returns (uint256);
[codex:1068053] function getConfiguration(address contractAddress) external view returns (uint8);
[codex:1068053] }
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '260,620p' contracts/src/L2/Blast.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] }
[codex:1068053]
[codex:1068053] /**
[codex:1068053] * @notice Claims all gas for a specific contract. Called by an authorized user
[codex:1068053] * @param contractAddress The address of the contract for which all gas is to be claimed
[codex:1068053] * @param recipientOfGas The address of the recipient of the gas
[codex:1068053] * @return The amount of gas that was claimed
[codex:1068053] */
[codex:1068053] function claimAllGas(address contractAddress, address recipientOfGas) external returns (uint256) {
[codex:1068053] require(isAuthorized(contractAddress), "Not allowed to claim all gas");
[codex:1068053] return IGas(GAS_CONTRACT).claimAll(contractAddress, recipientOfGas);
[codex:1068053] }
[codex:1068053]
[codex:1068053] /**
[codex:1068053] * @notice Claims gas at a minimum claim rate for a specific contract, with error rate '1'. Called by an authorized user
[codex:1068053] * @param contractAddress The address of the contract for which gas is to be claimed
[codex:1068053] * @param recipientOfGas The address of the recipient of the gas
[codex:1068053] * @param minClaimRateBips The minimum claim rate in basis points
[codex:1068053] * @return The amount of gas that was claimed
[codex:1068053] */
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing authorization logic nuances**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,200p' contracts/src/mainnet-bridge/USDConversions.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { IERC20 } from "@openzeppelin/contracts/interfaces/IERC20.sol";
[codex:1068053]
[codex:1068053] import { YieldManager } from "src/mainnet-bridge/YieldManager.sol";
[codex:1068053]
[codex:1068053] interface IUSDT {
[codex:1068053] function approve(address spender, uint256 amount) external;
[codex:1068053] function balanceOf(address) external view returns (uint256);
[codex:1068053] }
[codex:1068053]
[codex:1068053] interface IDssPsm {
[codex:1068053] function sellGem(address usr, uint256 gemAmt) external;
[codex:1068053] function buyGem(address usr, uint256 gemAmt) external;
[codex:1068053] function gemJoin() external view returns (address);
[codex:1068053] }
[codex:1068053]
[codex:1068053] interface ICurve3Pool {
[codex:1068053] function exchange(int128 i, int128 j, uint256 dx, uint256 min_dy) external;
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Reviewing cross-domain messenger risks**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc 'rg -n "initialize|reinitializer|onlyOwner|onlyPortal|withdraw" contracts/src/universal/CrossDomainMessenger.sol' in /tmp/codex-multi-xu6kws_q succeeded in 7ms:
[codex:1068053] 226: // If the message is version 0, then it's a migrated legacy withdrawal. We therefore need
[codex:1068053] 230: require(successfulMessages[oldHash] == false, "CrossDomainMessenger: legacy withdrawal already relayed");
[codex:1068053] 357: // We only want to set the xDomainMsgSender to the default value if it hasn't been initialized yet,
[codex:1068053] 360: // a reentrant withdrawal to sandwich the upgrade replay a withdrawal twice.
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing potential vulnerabilities in withdrawal and yield management**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/L1/ResourceMetering.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1068053] import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
[codex:1068053] import { Burn } from "src/libraries/Burn.sol";
[codex:1068053] import { Arithmetic } from "src/libraries/Arithmetic.sol";
[codex:1068053]
[codex:1068053] /// @custom:upgradeable
[codex:1068053] /// @title ResourceMetering
[codex:1068053] /// @notice ResourceMetering implements an EIP-1559 style resource metering system where pricing
[codex:1068053] /// updates automatically based on current demand.
[codex:1068053] abstract contract ResourceMetering is Initializable {
[codex:1068053] /// @notice Represents the various parameters that control the way in which resources are
[codex:1068053] /// metered. Corresponds to the EIP-1559 resource metering system.
[codex:1068053] /// @custom:field prevBaseFee Base fee from the previous block(s).
[codex:1068053] /// @custom:field prevBoughtGas Amount of gas bought so far in the current block.
[codex:1068053] /// @custom:field prevBlockNum Last block number that the base fee was updated.
[codex:1068053] struct ResourceParams {
[codex:1068053] uint128 prevBaseFee;
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Reviewing for security vulnerabilities**
[codex:1068053]
[codex:1068053] I'm carefully checking various contracts for any exploitable access control or reentrancy issues, especially focusing on governor settings, withdrawal flows, conversion logic, and reentrancy guards. After thorough consideration, I find no concrete paths to profit or serious vulnerabilities, so the code appears secure per the instructions. I'll produce a JSON report with `no_findings: true` to confirm this conclusion.
[codex:1068053] exec
[codex:1068053] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] {"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:1068053]
[codex:1068053] thinking
[codex:1068053] **Detailing JSON output requirements**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,240p' contracts/src/libraries/Hashing.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity ^0.8.0;
[codex:1068053]
[codex:1068053] import { Types } from "./Types.sol";
[codex:1068053] import { Encoding } from "./Encoding.sol";
[codex:1068053]
[codex:1068053] /// @title Hashing
[codex:1068053] /// @notice Hashing handles Optimism's various different hashing schemes.
[codex:1068053] library Hashing {
[codex:1068053] /// @notice Computes the hash of the RLP encoded L2 transaction that would be generated when a
[codex:1068053] /// given deposit is sent to the L2 system. Useful for searching for a deposit in the L2
[codex:1068053] /// system.
[codex:1068053] /// @param _tx User deposit transaction to hash.
[codex:1068053] /// @return Hash of the RLP encoded L2 deposit transaction.
[codex:1068053] function hashDepositTransaction(Types.UserDepositTransaction memory _tx) internal pure returns (bytes32) {
[codex:1068053] return keccak256(Encoding.encodeDepositTransaction(_tx));
[codex:1068053] }
[codex:1068053]
[codex:1068053] /// @notice Computes the deposit transaction's "source hash", a value that guarantees the hash
[codex:1068053] /// of the L2 transaction that corresponds to a deposit is unique and is
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Inspecting Types.sol for issues**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/libraries/Types.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity ^0.8.0;
[codex:1068053]
[codex:1068053] /// @title Types
[codex:1068053] /// @notice Contains various types used throughout the Optimism contract system.
[codex:1068053] library Types {
[codex:1068053] /// @notice OutputProposal represents a commitment to the L2 state. The timestamp is the L1
[codex:1068053] /// timestamp that the output root is posted. This timestamp is used to verify that the
[codex:1068053] /// finalization period has passed since the output root was submitted.
[codex:1068053] /// @custom:field outputRoot Hash of the L2 output.
[codex:1068053] /// @custom:field timestamp Timestamp of the L1 block that the output root was submitted in.
[codex:1068053] /// @custom:field l2BlockNumber L2 block number that the output corresponds to.
[codex:1068053] struct OutputProposal {
[codex:1068053] bytes32 outputRoot;
[codex:1068053] uint128 timestamp;
[codex:1068053] uint128 l2BlockNumber;
[codex:1068053] }
[codex:1068053]
[codex:1068053] /// @notice Struct representing the elements that are hashed together to generate an output root
[codex:1068053] /// which itself represents a snapshot of the L2 state.
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Verifying potential initializer issues**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/libraries/Constants.sol" in /tmp/codex-multi-xu6kws_q succeeded in 6ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity ^0.8.0;
[codex:1068053]
[codex:1068053] import { ResourceMetering } from "../L1/ResourceMetering.sol";
[codex:1068053]
[codex:1068053] /// @title Constants
[codex:1068053] /// @notice Constants is a library for storing constants. Simple! Don't put everything in here, just
[codex:1068053] /// the stuff used in multiple contracts. Constants that only apply to a single contract
[codex:1068053] /// should be defined in that contract instead.
[codex:1068053] library Constants {
[codex:1068053] /// @notice Special address to be used as the tx origin for gas estimation calls in the
[codex:1068053] /// OptimismPortal and CrossDomainMessenger calls. You only need to use this address if
[codex:1068053] /// the minimum gas limit specified by the user is not actually enough to execute the
[codex:1068053] /// given message and you're attempting to estimate the actual necessary gas limit. We
[codex:1068053] /// use address(1) because it's the ecrecover precompile and therefore guaranteed to
[codex:1068053] /// never have any code on any EVM chain.
[codex:1068053] address internal constant ESTIMATION_ADDRESS = address(1);
[codex:1068053]
[codex:1068053] /// @notice Value used for the L2 sender storage slot in both the OptimismPortal and the
[codex:1068053] /// CrossDomainMessenger contracts before an actual sender is set. This value is
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Analyzing initialization versions and safe calls**
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "sed -n '1,260p' contracts/src/libraries/SafeCall.sol" in /tmp/codex-multi-xu6kws_q succeeded in 5ms:
[codex:1068053] // SPDX-License-Identifier: BSL 1.1 - Copyright 2024 MetaLayer Labs Ltd.
[codex:1068053] pragma solidity 0.8.15;
[codex:1068053]
[codex:1068053] /// @title SafeCall
[codex:1068053] /// @notice Perform low level safe calls
[codex:1068053] library SafeCall {
[codex:1068053] /// @notice Performs a low level call without copying any returndata.
[codex:1068053] /// @dev Passes no calldata to the call context.
[codex:1068053] /// @param _target Address to call
[codex:1068053] /// @param _gas Amount of gas to pass to the call
[codex:1068053] /// @param _value Amount of value to pass to the call
[codex:1068053] function send(address _target, uint256 _gas, uint256 _value) internal returns (bool) {
[codex:1068053] bool _success;
[codex:1068053] assembly {
[codex:1068053] _success :=
[codex:1068053] call(
[codex:1068053] _gas, // gas
[codex:1068053] _target, // recipient
[codex:1068053] _value, // ether value
[codex:1068053] 0, // inloc
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Finalizing audit review and ensuring completeness**
[codex:1068053]
[codex:1068053] I'm making sure we've checked all possible profit-extracting exploit paths from the audit bundle, verifying no reentrancy or unchecked external calls lead to gains, and planning to read the full AUDIT_BUNDLE.txt file via Python to confirm we've covered everything before finalizing.
[codex:1068053] exec
[codex:1068053] /bin/bash -lc "python - <<'PY'
[codex:1068053] with open('AUDIT_BUNDLE.txt','r') as f:
[codex:1068053] data = f.read()
[codex:1068053] print('bytes', len(data))
[codex:1068053] print('lines', data.count('\\n') + 1)
[codex:1068053] PY" in /tmp/codex-multi-xu6kws_q succeeded in 31ms:
[codex:1068053] bytes 258007
[codex:1068053] lines 5679
[codex:1068053]
[codex:1068053] thinking
[codex:1068053] **Preparing final JSON response**
[codex:1068053] codex
[codex:1068053] {"no_findings":true,"summary":"No concrete, exploitable paths to extract value found after reviewing AUDIT_BUNDLE.txt.","findings":[]}
[codex:1068053] tokens used
[codex:1068053] 71,429
[codex:1068053] {"no_findings":true,"summary":"No concrete, exploitable paths to extract value found after reviewing AUDIT_BUNDLE.txt.","findings":[]}
{
"codex": {
"ran_at": "2026-01-01T21:45:37.103424+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable paths to extract value found after reviewing AUDIT_BUNDLE.txt.",
"raw_final": {
"summary": "No concrete, exploitable paths to extract value found after reviewing AUDIT_BUNDLE.txt.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0281 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x89cf3204 00000019: GT 0000001a: PUSH2 0x014f 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xc97912d8 00000024: GT 00000025: PUSH2 0x00c1 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xf0c8c0dd 0000002f: GT 00000030: PUSH2 0x007a 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf0c8c0dd 0000003a: EQ 0000003b: PUSH2 0x07a7 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf19d06f0 00000045: EQ 00000046: PUSH2 0x07c7 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf21340e4 00000050: EQ 00000051: PUSH2 0x07dc 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf2fde38b 0000005b: EQ 0000005c: PUSH2 0x080c 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf851a440 00000066: EQ 00000067: PUSH2 0x082c 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0xfe1e7d71 00000071: EQ 00000072: PUSH2 0x084c 00000075: JUMPI 00000076: PUSH1 0x00 00000078: DUP1 00000079: REVERT 0000007a: JUMPDEST 0000007b: DUP1 0000007c: PUSH4 0xc97912d8 00000081: EQ 00000082: PUSH2 0x06fe 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xd11b1ae0 0000008c: EQ 0000008d: PUSH2 0x071e 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xd4c3eea0 00000097: EQ 00000098: PUSH2 0x0734 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xd6ce7910 000000a2: EQ 000000a3: PUSH2 0x0749 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xe30c3978 000000ad: EQ 000000ae: PUSH2 0x0769 000000b1: JUMPI 000000b2: DUP1 000000b3: PUSH4 0xe7518fb6 000000b8: EQ 000000b9: PUSH2 0x0787 000000bc: JUMPI 000000bd: PUSH1 0x00 000000bf: DUP1 000000c0: REVERT 000000c1: JUMPDEST 000000c2: DUP1 000000c3: PUSH4 0x9ee679e8 000000c8: GT 000000c9: PUSH2 0x0113 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x9ee679e8 000000d3: EQ 000000d4: PUSH2 0x065c 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0xab2f0e51 000000de: EQ 000000df: PUSH2 0x067c 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0xb1d3c61e 000000e9: EQ 000000ea: PUSH2 0x0691 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0xb8c4b85a 000000f4: EQ 000000f5: PUSH2 0x06a7 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0xbfdbfe83 000000ff: EQ 00000100: PUSH2 0x06d4 00000103: JUMPI 00000104: DUP1 00000105: PUSH4 0xc2fc7aff 0000010a: EQ 0000010b: PUSH2 0x06e9 0000010e: JUMPI 0000010f: PUSH1 0x00 00000111: DUP1 00000112: REVERT 00000113: JUMPDEST 00000114: DUP1 00000115: PUSH4 0x89cf3204 0000011a: EQ 0000011b: PUSH2 0x05cb 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x8a355a57 00000125: EQ 00000126: PUSH2 0x05eb 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x8da5cb5b 00000130: EQ 00000131: PUSH2 0x060b 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x959598c4 0000013b: EQ 0000013c: PUSH2 0x0629 0000013f: JUMPI 00000140: DUP1 00000141: PUSH4 0x9e1a4d19 00000146: EQ 00000147: PUSH2 0x0649 0000014a: JUMPI 0000014b: PUSH1 0x00 0000014d: DUP1 0000014e: REVERT 0000014f: JUMPDEST 00000150: DUP1 00000151: PUSH4 0x54fd4d50 00000156: GT 00000157: PUSH2 0x01f3 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0x715018a6 00000161: GT 00000162: PUSH2 0x01ac 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0x715018a6 0000016c: EQ 0000016d: PUSH2 0x0518 00000170: JUMPI 00000171: DUP1 00000172: PUSH4 0x71ea21c2 00000177: EQ 00000178: PUSH2 0x052d 0000017b: JUMPI 0000017c: DUP1 0000017d: PUSH4 0x79ba5097 00000182: EQ 00000183: PUSH2 0x054d 00000186: JUMPI 00000187: DUP1 00000188: PUSH4 0x7d031b65 0000018d: EQ 0000018e: PUSH2 0x0562 00000191: JUMPI 00000192: DUP1 00000193: PUSH4 0x82bfefc8 00000198: EQ 00000199: PUSH2 0x0582 0000019c: JUMPI 0000019d: DUP1 0000019e: PUSH4 0x87269729 000001a3: EQ 000001a4: PUSH2 0x05b6 000001a7: JUMPI 000001a8: PUSH1 0x00 000001aa: DUP1 000001ab: REVERT 000001ac: JUMPDEST 000001ad: DUP1 000001ae: PUSH4 0x54fd4d50 000001b3: EQ 000001b4: PUSH2 0x0431 000001b7: JUMPI 000001b8: DUP1 000001b9: PUSH4 0x62abe3fa 000001be: EQ 000001bf: PUSH2 0x0453 000001c2: JUMPI 000001c3: DUP1 000001c4: PUSH4 0x6425666b 000001c9: EQ 000001ca: PUSH2 0x0480 000001cd: JUMPI 000001ce: DUP1 000001cf: PUSH4 0x6e9c931c 000001d4: EQ 000001d5: PUSH2 0x04b8 000001d8: JUMPI 000001d9: DUP1 000001da: PUSH4 0x6f3ed5e3 000001df: EQ 000001e0: PUSH2 0x04d8 000001e3: JUMPI 000001e4: DUP1 000001e5: PUSH4 0x704b6c02 000001ea: EQ 000001eb: PUSH2 0x04f8 000001ee: JUMPI 000001ef: PUSH1 0x00 000001f1: DUP1 000001f2: REVERT 000001f3: JUMPDEST 000001f4: DUP1 000001f5: PUSH4 0x2844be5f 000001fa: GT 000001fb: PUSH2 0x0245 000001fe: JUMPI 000001ff: DUP1 00000200: PUSH4 0x2844be5f 00000205: EQ 00000206: PUSH2 0x0322 00000209: JUMPI 0000020a: DUP1 0000020b: PUSH4 0x46e2577a 00000210: EQ 00000211: PUSH2 0x0342 00000214: JUMPI 00000215: DUP1 00000216: PUSH4 0x485cc955 0000021b: EQ 0000021c: PUSH2 0x0362 0000021f: JUMPI 00000220: DUP1 00000221: PUSH4 0x4f069a13 00000226: EQ 00000227: PUSH2 0x0382 0000022a: JUMPI 0000022b: DUP1 0000022c: PUSH4 0x51787ffa 00000231: EQ 00000232: PUSH2 0x0397 00000235: JUMPI 00000236: DUP1 00000237: PUSH4 0x51a7c716 0000023c: EQ 0000023d: PUSH2 0x0411 00000240: JUMPI 00000241: PUSH1 0x00 00000243: DUP1 00000244: REVERT 00000245: JUMPDEST 00000246: DUP1 00000247: PUSH4 0x05261aea 0000024c: EQ 0000024d: PUSH2 0x028d 00000250: JUMPI 00000251: DUP1 00000252: PUSH4 0x0eb5238c 00000257: EQ 00000258: PUSH2 0x02c0 0000025b: JUMPI 0000025c: DUP1 0000025d: PUSH4 0x19c2b4c3 00000262: EQ 00000263: PUSH2 0x02d6 00000266: JUMPI 00000267: DUP1 00000268: PUSH4 0x1b14ace8 0000026d: EQ 0000026e: PUSH2 0x02eb 00000271: JUMPI 00000272: DUP1 00000273: PUSH4 0x2549e0b1 00000278: EQ 00000279: PUSH2 0x030d 0000027c: JUMPI 0000027d: PUSH1 0x00 0000027f: DUP1 00000280: REVERT 00000281: JUMPDEST 00000282: CALLDATASIZE 00000283: PUSH2 0x0288 00000286: JUMPI 00000287: STOP 00000288: JUMPDEST 00000289: PUSH1 0x00 0000028b: DUP1 0000028c: REVERT 0000028d: JUMPDEST 0000028e: CALLVALUE 0000028f: DUP1 00000290: ISZERO 00000291: PUSH2 0x0299 00000294: JUMPI 00000295: PUSH1 0x00 00000297: DUP1 00000298: REVERT 00000299: JUMPDEST 0000029a: POP 0000029b: PUSH2 0x02ad 0000029e: PUSH2 0x02a8 000002a1: CALLDATASIZE 000002a2: PUSH1 0x04 000002a4: PUSH2 0x378e 000002a7: JUMP 000002a8: JUMPDEST 000002a9: PUSH2 0x0862 000002ac: JUMP 000002ad: JUMPDEST 000002ae: PUSH1 0x40 000002b0: MLOAD 000002b1: SWAP1 000002b2: DUP2 000002b3: MSTORE 000002b4: PUSH1 0x20 000002b6: ADD 000002b7: JUMPDEST 000002b8: PUSH1 0x40 000002ba: MLOAD 000002bb: DUP1 000002bc: SWAP2 000002bd: SUB 000002be: SWAP1 000002bf: RETURN 000002c0: JUMPDEST 000002c1: CALLVALUE 000002c2: DUP1 000002c3: ISZERO 000002c4: PUSH2 0x02cc 000002c7: JUMPI 000002c8: PUSH1 0x00 000002ca: DUP1 000002cb: REVERT 000002cc: JUMPDEST 000002cd: POP 000002ce: PUSH2 0x02ad 000002d1: PUSH1 0xcf 000002d3: SLOAD 000002d4: DUP2 000002d5: JUMP 000002d6: JUMPDEST 000002d7: CALLVALUE 000002d8: DUP1 000002d9: ISZERO 000002da: PUSH2 0x02e2 000002dd: JUMPI 000002de: PUSH1 0x00 000002e0: DUP1 000002e1: REVERT 000002e2: JUMPDEST 000002e3: POP 000002e4: PUSH1 0x9a 000002e6: SLOAD 000002e7: PUSH2 0x02ad 000002ea: JUMP 000002eb: JUMPDEST 000002ec: CALLVALUE 000002ed: DUP1 000002ee: ISZERO 000002ef: PUSH2 0x02f7 000002f2: JUMPI 000002f3: PUSH1 0x00 000002f5: DUP1 000002f6: REVERT 000002f7: JUMPDEST 000002f8: POP 000002f9: PUSH2 0x030b 000002fc: PUSH2 0x0306 000002ff: CALLDATASIZE 00000300: PUSH1 0x04 00000302: PUSH2 0x37bc 00000305: JUMP 00000306: JUMPDEST 00000307: PUSH2 0x08dc 0000030a: JUMP 0000030b: JUMPDEST 0000030c: STOP 0000030d: JUMPDEST 0000030e: CALLVALUE 0000030f: DUP1 00000310: ISZERO 00000311: PUSH2 0x0319 00000314: JUMPI 00000315: PUSH1 0x00 00000317: DUP1 00000318: REVERT 00000319: JUMPDEST 0000031a: POP 0000031b: PUSH1 0x9d 0000031d: SLOAD 0000031e: PUSH2 0x02ad 00000321: JUMP 00000322: JUMPDEST 00000323: CALLVALUE 00000324: DUP1 00000325: ISZERO 00000326: PUSH2 0x032e 00000329: JUMPI 0000032a: PUSH1 0x00 0000032c: DUP1 0000032d: REVERT 0000032e: JUMPDEST 0000032f: POP 00000330: PUSH2 0x02ad 00000333: PUSH2 0x033d 00000336: CALLDATASIZE 00000337: PUSH1 0x04 00000339: PUSH2 0x37e8 0000033c: JUMP 0000033d: JUMPDEST 0000033e: PUSH2 0x0990 00000341: JUMP 00000342: JUMPDEST 00000343: CALLVALUE 00000344: DUP1 00000345: ISZERO 00000346: PUSH2 0x034e 00000349: JUMPI 0000034a: PUSH1 0x00 0000034c: DUP1 0000034d: REVERT 0000034e: JUMPDEST 0000034f: POP 00000350: PUSH2 0x030b 00000353: PUSH2 0x035d 00000356: CALLDATASIZE 00000357: PUSH1 0x04 00000359: PUSH2 0x3814 0000035c: JUMP 0000035d: JUMPDEST 0000035e: PUSH2 0x0b6f 00000361: JUMP 00000362: JUMPDEST 00000363: CALLVALUE 00000364: DUP1 00000365: ISZERO 00000366: PUSH2 0x036e 00000369: JUMPI 0000036a: PUSH1 0x00 0000036c: DUP1 0000036d: REVERT 0000036e: JUMPDEST 0000036f: POP 00000370: PUSH2 0x030b 00000373: PUSH2 0x037d 00000376: CALLDATASIZE 00000377: PUSH1 0x04 00000379: PUSH2 0x3831 0000037c: JUMP 0000037d: JUMPDEST 0000037e: PUSH2 0x0cba 00000381: JUMP 00000382: JUMPDEST 00000383: CALLVALUE 00000384: DUP1 00000385: ISZERO 00000386: PUSH2 0x038e 00000389: JUMPI 0000038a: PUSH1 0x00 0000038c: DUP1 0000038d: REVERT 0000038e: JUMPDEST 0000038f: POP 00000390: PUSH1 0x9b 00000392: SLOAD 00000393: PUSH2 0x02ad 00000396: JUMP 00000397: JUMPDEST 00000398: CALLVALUE 00000399: DUP1 0000039a: ISZERO 0000039b: PUSH2 0x03a3 0000039e: JUMPI 0000039f: PUSH1 0x00 000003a1: DUP1 000003a2: REVERT 000003a3: JUMPDEST 000003a4: POP 000003a5: PUSH2 0x03b7 000003a8: PUSH2 0x03b2 000003ab: CALLDATASIZE 000003ac: PUSH1 0x04 000003ae: PUSH2 0x378e 000003b1: JUMP 000003b2: JUMPDEST 000003b3: PUSH2 0x0dcf 000003b6: JUMP 000003b7: JUMPDEST 000003b8: PUSH1 0x40 000003ba: MLOAD 000003bb: PUSH2 0x02b7 000003be: SWAP2 000003bf: SWAP1 000003c0: DUP2 000003c1: MLOAD 000003c2: DUP2 000003c3: MSTORE 000003c4: PUSH1 0x20 000003c6: DUP1 000003c7: DUP4 000003c8: ADD 000003c9: MLOAD 000003ca: PUSH1 0x01 000003cc: PUSH1 0x01 000003ce: PUSH1 0xa0 000003d0: SHL 000003d1: SUB 000003d2: AND 000003d3: SWAP1 000003d4: DUP3 000003d5: ADD 000003d6: MSTORE 000003d7: PUSH1 0x40 000003d9: DUP1 000003da: DUP4 000003db: ADD 000003dc: MLOAD 000003dd: SWAP1 000003de: DUP3 000003df: ADD 000003e0: MSTORE 000003e1: PUSH1 0x60 000003e3: DUP1 000003e4: DUP4 000003e5: ADD 000003e6: MLOAD 000003e7: SWAP1 000003e8: DUP3 000003e9: ADD 000003ea: MSTORE 000003eb: PUSH1 0x80 000003ed: DUP1 000003ee: DUP4 000003ef: ADD 000003f0: MLOAD 000003f1: SWAP1 000003f2: DUP3 000003f3: ADD 000003f4: MSTORE 000003f5: PUSH1 0xa0 000003f7: DUP1 000003f8: DUP4 000003f9: ADD 000003fa: MLOAD 000003fb: SWAP1 000003fc: DUP3 000003fd: ADD 000003fe: MSTORE 000003ff: PUSH1 0xc0 00000401: SWAP2 00000402: DUP3 00000403: ADD 00000404: MLOAD 00000405: SWAP2 00000406: DUP2 00000407: ADD 00000408: SWAP2 00000409: SWAP1 0000040a: SWAP2 0000040b: MSTORE 0000040c: PUSH1 0xe0 0000040e: ADD 0000040f: SWAP1 00000410: JUMP 00000411: JUMPDEST 00000412: CALLVALUE 00000413: DUP1 00000414: ISZERO 00000415: PUSH2 0x041d 00000418: JUMPI 00000419: PUSH1 0x00 0000041b: DUP1 0000041c: REVERT 0000041d: JUMPDEST 0000041e: POP 0000041f: PUSH2 0x030b 00000422: PUSH2 0x042c 00000425: CALLDATASIZE 00000426: PUSH1 0x04 00000428: PUSH2 0x386a 0000042b: JUMP 0000042c: JUMPDEST 0000042d: PUSH2 0x10b3 00000430: JUMP 00000431: JUMPDEST 00000432: CALLVALUE 00000433: DUP1 00000434: ISZERO 00000435: PUSH2 0x043d 00000438: JUMPI 00000439: PUSH1 0x00 0000043b: DUP1 0000043c: REVERT 0000043d: JUMPDEST 0000043e: POP 0000043f: PUSH2 0x0446 00000442: PUSH2 0x119b 00000445: JUMP 00000446: JUMPDEST 00000447: PUSH1 0x40 00000449: MLOAD 0000044a: PUSH2 0x02b7 0000044d: SWAP2 0000044e: SWAP1 0000044f: PUSH2 0x38fe 00000452: JUMP 00000453: JUMPDEST 00000454: CALLVALUE 00000455: DUP1 00000456: ISZERO 00000457: PUSH2 0x045f 0000045a: JUMPI 0000045b: PUSH1 0x00 0000045d: DUP1 0000045e: REVERT 0000045f: JUMPDEST 00000460: POP 00000461: PUSH2 0x0473 00000464: PUSH2 0x046e 00000467: CALLDATASIZE 00000468: PUSH1 0x04 0000046a: PUSH2 0x3956 0000046d: JUMP 0000046e: JUMPDEST 0000046f: PUSH2 0x123e 00000472: JUMP 00000473: JUMPDEST 00000474: PUSH1 0x40 00000476: MLOAD 00000477: PUSH2 0x02b7 0000047a: SWAP2 0000047b: SWAP1 0000047c: PUSH2 0x39a7 0000047f: JUMP 00000480: JUMPDEST 00000481: CALLVALUE 00000482: DUP1 00000483: ISZERO 00000484: PUSH2 0x048c 00000487: JUMPI 00000488: PUSH1 0x00 0000048a: DUP1 0000048b: REVERT 0000048c: JUMPDEST 0000048d: POP 0000048e: PUSH1 0xd0 00000490: SLOAD 00000491: PUSH2 0x04a0 00000494: SWAP1 00000495: PUSH1 0x01 00000497: PUSH1 0x01 00000499: PUSH1 0xa0 0000049b: SHL 0000049c: SUB 0000049d: AND 0000049e: DUP2 0000049f: JUMP 000004a0: JUMPDEST 000004a1: PUSH1 0x40 000004a3: MLOAD 000004a4: PUSH1 0x01 000004a6: PUSH1 0x01 000004a8: PUSH1 0xa0 000004aa: SHL 000004ab: SUB 000004ac: SWAP1 000004ad: SWAP2 000004ae: AND 000004af: DUP2 000004b0: MSTORE 000004b1: PUSH1 0x20 000004b3: ADD 000004b4: PUSH2 0x02b7 000004b7: JUMP 000004b8: JUMPDEST 000004b9: CALLVALUE 000004ba: DUP1 000004bb: ISZERO 000004bc: PUSH2 0x04c4 000004bf: JUMPI 000004c0: PUSH1 0x00 000004c2: DUP1 000004c3: REVERT 000004c4: JUMPDEST 000004c5: POP 000004c6: PUSH2 0x030b 000004c9: PUSH2 0x04d3 000004cc: CALLDATASIZE 000004cd: PUSH1 0x04 000004cf: PUSH2 0x386a 000004d2: JUMP 000004d3: JUMPDEST 000004d4: PUSH2 0x135d 000004d7: JUMP 000004d8: JUMPDEST 000004d9: CALLVALUE 000004da: DUP1 000004db: ISZERO 000004dc: PUSH2 0x04e4 000004df: JUMPI 000004e0: PUSH1 0x00 000004e2: DUP1 000004e3: REVERT 000004e4: JUMPDEST 000004e5: POP 000004e6: PUSH2 0x030b 000004e9: PUSH2 0x04f3 000004ec: CALLDATASIZE 000004ed: PUSH1 0x04 000004ef: PUSH2 0x39eb 000004f2: JUMP 000004f3: JUMPDEST 000004f4: PUSH2 0x142d 000004f7: JUMP 000004f8: JUMPDEST 000004f9: CALLVALUE 000004fa: DUP1 000004fb: ISZERO 000004fc: PUSH2 0x0504 000004ff: JUMPI 00000500: PUSH1 0x00 00000502: DUP1 00000503: REVERT 00000504: JUMPDEST 00000505: POP 00000506: PUSH2 0x030b 00000509: PUSH2 0x0513 0000050c: CALLDATASIZE 0000050d: PUSH1 0x04 0000050f: PUSH2 0x3814 00000512: JUMP 00000513: JUMPDEST 00000514: PUSH2 0x1480 00000517: JUMP 00000518: JUMPDEST 00000519: CALLVALUE 0000051a: DUP1 0000051b: ISZERO 0000051c: PUSH2 0x0524 0000051f: JUMPI 00000520: PUSH1 0x00 00000522: DUP1 00000523: REVERT 00000524: JUMPDEST 00000525: POP 00000526: PUSH2 0x030b 00000529: PUSH2 0x14bd 0000052c: JUMP 0000052d: JUMPDEST 0000052e: CALLVALUE 0000052f: DUP1 00000530: ISZERO 00000531: PUSH2 0x0539 00000534: JUMPI 00000535: PUSH1 0x00 00000537: DUP1 00000538: REVERT 00000539: JUMPDEST 0000053a: POP 0000053b: PUSH1 0xcc 0000053d: SLOAD 0000053e: PUSH2 0x04a0 00000541: SWAP1 00000542: PUSH1 0x01 00000544: PUSH1 0x01 00000546: PUSH1 0xa0 00000548: SHL 00000549: SUB 0000054a: AND 0000054b: DUP2 0000054c: JUMP 0000054d: JUMPDEST 0000054e: CALLVALUE 0000054f: DUP1 00000550: ISZERO 00000551: PUSH2 0x0559 00000554: JUMPI 00000555: PUSH1 0x00 00000557: DUP1 00000558: REVERT 00000559: JUMPDEST 0000055a: POP 0000055b: PUSH2 0x030b 0000055e: PUSH2 0x14d1 00000561: JUMP 00000562: JUMPDEST 00000563: CALLVALUE 00000564: DUP1 00000565: ISZERO 00000566: PUSH2 0x056e 00000569: JUMPI 0000056a: PUSH1 0x00 0000056c: DUP1 0000056d: REVERT 0000056e: JUMPDEST 0000056f: POP 00000570: PUSH2 0x0473 00000573: PUSH2 0x057d 00000576: CALLDATASIZE 00000577: PUSH1 0x04 00000579: PUSH2 0x3814 0000057c: JUMP 0000057d: JUMPDEST 0000057e: PUSH2 0x154b 00000581: JUMP 00000582: JUMPDEST 00000583: CALLVALUE 00000584: DUP1 00000585: ISZERO 00000586: PUSH2 0x058e 00000589: JUMPI 0000058a: PUSH1 0x00 0000058c: DUP1 0000058d: REVERT 0000058e: JUMPDEST 0000058f: POP 00000590: PUSH2 0x04a0 00000593: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 000005b4: DUP2 000005b5: JUMP 000005b6: JUMPDEST 000005b7: CALLVALUE 000005b8: DUP1 000005b9: ISZERO 000005ba: PUSH2 0x05c2 000005bd: JUMPI 000005be: PUSH1 0x00 000005c0: DUP1 000005c1: REVERT 000005c2: JUMPDEST 000005c3: POP 000005c4: PUSH2 0x02ad 000005c7: PUSH2 0x1575 000005ca: JUMP 000005cb: JUMPDEST 000005cc: CALLVALUE 000005cd: DUP1 000005ce: ISZERO 000005cf: PUSH2 0x05d7 000005d2: JUMPI 000005d3: PUSH1 0x00 000005d5: DUP1 000005d6: REVERT 000005d7: JUMPDEST 000005d8: POP 000005d9: PUSH1 0xcb 000005db: SLOAD 000005dc: PUSH2 0x04a0 000005df: SWAP1 000005e0: PUSH1 0x01 000005e2: PUSH1 0x01 000005e4: PUSH1 0xa0 000005e6: SHL 000005e7: SUB 000005e8: AND 000005e9: DUP2 000005ea: JUMP 000005eb: JUMPDEST 000005ec: CALLVALUE 000005ed: DUP1 000005ee: ISZERO 000005ef: PUSH2 0x05f7 000005f2: JUMPI 000005f3: PUSH1 0x00 000005f5: DUP1 000005f6: REVERT 000005f7: JUMPDEST 000005f8: POP 000005f9: PUSH2 0x030b 000005fc: PUSH2 0x0606 000005ff: CALLDATASIZE 00000600: PUSH1 0x04 00000602: PUSH2 0x3814 00000605: JUMP 00000606: JUMPDEST 00000607: PUSH2 0x15d6 0000060a: JUMP 0000060b: JUMPDEST 0000060c: CALLVALUE 0000060d: DUP1 0000060e: ISZERO 0000060f: PUSH2 0x0617 00000612: JUMPI 00000613: PUSH1 0x00 00000615: DUP1 00000616: REVERT 00000617: JUMPDEST 00000618: POP 00000619: PUSH1 0x33 0000061b: SLOAD 0000061c: PUSH1 0x01 0000061e: PUSH1 0x01 00000620: PUSH1 0xa0 00000622: SHL 00000623: SUB 00000624: AND 00000625: PUSH2 0x04a0 00000628: JUMP 00000629: JUMPDEST 0000062a: CALLVALUE 0000062b: DUP1 0000062c: ISZERO 0000062d: PUSH2 0x0635 00000630: JUMPI 00000631: PUSH1 0x00 00000633: DUP1 00000634: REVERT 00000635: JUMPDEST 00000636: POP 00000637: PUSH2 0x030b 0000063a: PUSH2 0x0644 0000063d: CALLDATASIZE 0000063e: PUSH1 0x04 00000640: PUSH2 0x37bc 00000643: JUMP 00000644: JUMPDEST 00000645: PUSH2 0x15e9 00000648: JUMP 00000649: JUMPDEST 0000064a: CALLVALUE 0000064b: DUP1 0000064c: ISZERO 0000064d: PUSH2 0x0655 00000650: JUMPI 00000651: PUSH1 0x00 00000653: DUP1 00000654: REVERT 00000655: JUMPDEST 00000656: POP 00000657: SELFBALANCE 00000658: PUSH2 0x02ad 0000065b: JUMP 0000065c: JUMPDEST 0000065d: CALLVALUE 0000065e: DUP1 0000065f: ISZERO 00000660: PUSH2 0x0668 00000663: JUMPI 00000664: PUSH1 0x00 00000666: DUP1 00000667: REVERT 00000668: JUMPDEST 00000669: POP 0000066a: PUSH2 0x02ad 0000066d: PUSH2 0x0677 00000670: CALLDATASIZE 00000671: PUSH1 0x04 00000673: PUSH2 0x378e 00000676: JUMP 00000677: JUMPDEST 00000678: PUSH2 0x169a 0000067b: JUMP 0000067c: JUMPDEST 0000067d: CALLVALUE 0000067e: DUP1 0000067f: ISZERO 00000680: PUSH2 0x0688 00000683: JUMPI 00000684: PUSH1 0x00 00000686: DUP1 00000687: REVERT 00000688: JUMPDEST 00000689: POP 0000068a: PUSH2 0x02ad 0000068d: PUSH2 0x16de 00000690: JUMP 00000691: JUMPDEST 00000692: CALLVALUE 00000693: DUP1 00000694: ISZERO 00000695: PUSH2 0x069d 00000698: JUMPI 00000699: PUSH1 0x00 0000069b: DUP1 0000069c: REVERT 0000069d: JUMPDEST 0000069e: POP 0000069f: PUSH2 0x02ad 000006a2: PUSH1 0xcd 000006a4: SLOAD 000006a5: DUP2 000006a6: JUMP 000006a7: JUMPDEST 000006a8: CALLVALUE 000006a9: DUP1 000006aa: ISZERO 000006ab: PUSH2 0x06b3 000006ae: JUMPI 000006af: PUSH1 0x00 000006b1: DUP1 000006b2: REVERT 000006b3: JUMPDEST 000006b4: POP 000006b5: PUSH2 0x06c7 000006b8: PUSH2 0x06c2 000006bb: CALLDATASIZE 000006bc: PUSH1 0x04 000006be: PUSH2 0x3a20 000006c1: JUMP 000006c2: JUMPDEST 000006c3: PUSH2 0x16f8 000006c6: JUMP 000006c7: JUMPDEST 000006c8: PUSH1 0x40 000006ca: MLOAD 000006cb: PUSH2 0x02b7 000006ce: SWAP2 000006cf: SWAP1 000006d0: PUSH2 0x3a62 000006d3: JUMP 000006d4: JUMPDEST 000006d5: CALLVALUE 000006d6: DUP1 000006d7: ISZERO 000006d8: PUSH2 0x06e0 000006db: JUMPI 000006dc: PUSH1 0x00 000006de: DUP1 000006df: REVERT 000006e0: JUMPDEST 000006e1: POP 000006e2: PUSH2 0x02ad 000006e5: PUSH2 0x17d0 000006e8: JUMP 000006e9: JUMPDEST 000006ea: CALLVALUE 000006eb: DUP1 000006ec: ISZERO 000006ed: PUSH2 0x06f5 000006f0: JUMPI 000006f1: PUSH1 0x00 000006f3: DUP1 000006f4: REVERT 000006f5: JUMPDEST 000006f6: POP 000006f7: PUSH2 0x02ad 000006fa: PUSH2 0x1879 000006fd: JUMP 000006fe: JUMPDEST 000006ff: CALLVALUE 00000700: DUP1 00000701: ISZERO 00000702: PUSH2 0x070a 00000705: JUMPI 00000706: PUSH1 0x00 00000708: DUP1 00000709: REVERT 0000070a: JUMPDEST 0000070b: POP 0000070c: PUSH2 0x0473 0000070f: PUSH2 0x0719 00000712: CALLDATASIZE 00000713: PUSH1 0x04 00000715: PUSH2 0x3add 00000718: JUMP 00000719: JUMPDEST 0000071a: PUSH2 0x188b 0000071d: JUMP 0000071e: JUMPDEST 0000071f: CALLVALUE 00000720: DUP1 00000721: ISZERO 00000722: PUSH2 0x072a 00000725: JUMPI 00000726: PUSH1 0x00 00000728: DUP1 00000729: REVERT 0000072a: JUMPDEST 0000072b: POP 0000072c: PUSH2 0x02ad 0000072f: PUSH1 0xce 00000731: SLOAD 00000732: DUP2 00000733: JUMP 00000734: JUMPDEST 00000735: CALLVALUE 00000736: DUP1 00000737: ISZERO 00000738: PUSH2 0x0740 0000073b: JUMPI 0000073c: PUSH1 0x00 0000073e: DUP1 0000073f: REVERT 00000740: JUMPDEST 00000741: POP 00000742: PUSH2 0x02ad 00000745: PUSH2 0x194d 00000748: JUMP 00000749: JUMPDEST 0000074a: CALLVALUE 0000074b: DUP1 0000074c: ISZERO 0000074d: PUSH2 0x0755 00000750: JUMPI 00000751: PUSH1 0x00 00000753: DUP1 00000754: REVERT 00000755: JUMPDEST 00000756: POP 00000757: PUSH2 0x030b 0000075a: PUSH2 0x0764 0000075d: CALLDATASIZE 0000075e: PUSH1 0x04 00000760: PUSH2 0x378e 00000763: JUMP 00000764: JUMPDEST 00000765: PUSH2 0x1969 00000768: JUMP 00000769: JUMPDEST 0000076a: CALLVALUE 0000076b: DUP1 0000076c: ISZERO 0000076d: PUSH2 0x0775 00000770: JUMPI 00000771: PUSH1 0x00 00000773: DUP1 00000774: REVERT 00000775: JUMPDEST 00000776: POP 00000777: PUSH1 0x65 00000779: SLOAD 0000077a: PUSH1 0x01 0000077c: PUSH1 0x01 0000077e: PUSH1 0xa0 00000780: SHL 00000781: SUB 00000782: AND 00000783: PUSH2 0x04a0 00000786: JUMP 00000787: JUMPDEST 00000788: CALLVALUE 00000789: DUP1 0000078a: ISZERO 0000078b: PUSH2 0x0793 0000078e: JUMPI 0000078f: PUSH1 0x00 00000791: DUP1 00000792: REVERT 00000793: JUMPDEST 00000794: POP 00000795: PUSH2 0x030b 00000798: PUSH2 0x07a2 0000079b: CALLDATASIZE 0000079c: PUSH1 0x04 0000079e: PUSH2 0x3b57 000007a1: JUMP 000007a2: JUMPDEST 000007a3: PUSH2 0x19d2 000007a6: JUMP 000007a7: JUMPDEST 000007a8: CALLVALUE 000007a9: DUP1 000007aa: ISZERO 000007ab: PUSH2 0x07b3 000007ae: JUMPI 000007af: PUSH1 0x00 000007b1: DUP1 000007b2: REVERT 000007b3: JUMPDEST 000007b4: POP 000007b5: PUSH2 0x030b 000007b8: PUSH2 0x07c2 000007bb: CALLDATASIZE 000007bc: PUSH1 0x04 000007be: PUSH2 0x3814 000007c1: JUMP 000007c2: JUMPDEST 000007c3: PUSH2 0x1e91 000007c6: JUMP 000007c7: JUMPDEST 000007c8: CALLVALUE 000007c9: DUP1 000007ca: ISZERO 000007cb: PUSH2 0x07d3 000007ce: JUMPI 000007cf: PUSH1 0x00 000007d1: DUP1 000007d2: REVERT 000007d3: JUMPDEST 000007d4: POP 000007d5: PUSH1 0x9c 000007d7: SLOAD 000007d8: PUSH2 0x02ad 000007db: JUMP 000007dc: JUMPDEST 000007dd: CALLVALUE 000007de: DUP1 000007df: ISZERO 000007e0: PUSH2 0x07e8 000007e3: JUMPI 000007e4: PUSH1 0x00 000007e6: DUP1 000007e7: REVERT 000007e8: JUMPDEST 000007e9: POP 000007ea: PUSH2 0x07fc 000007ed: PUSH2 0x07f7 000007f0: CALLDATASIZE 000007f1: PUSH1 0x04 000007f3: PUSH2 0x3b74 000007f6: JUMP 000007f7: JUMPDEST 000007f8: PUSH2 0x1ece 000007fb: JUMP 000007fc: JUMPDEST 000007fd: PUSH1 0x40 000007ff: MLOAD 00000800: SWAP1 00000801: ISZERO 00000802: ISZERO 00000803: DUP2 00000804: MSTORE 00000805: PUSH1 0x20 00000807: ADD 00000808: PUSH2 0x02b7 0000080b: JUMP 0000080c: JUMPDEST 0000080d: CALLVALUE 0000080e: DUP1 0000080f: ISZERO 00000810: PUSH2 0x0818 00000813: JUMPI 00000814: PUSH1 0x00 00000816: DUP1 00000817: REVERT 00000818: JUMPDEST 00000819: POP 0000081a: PUSH2 0x030b 0000081d: PUSH2 0x0827 00000820: CALLDATASIZE 00000821: PUSH1 0x04 00000823: PUSH2 0x3814 00000826: JUMP 00000827: JUMPDEST 00000828: PUSH2 0x20be 0000082b: JUMP 0000082c: JUMPDEST 0000082d: CALLVALUE 0000082e: DUP1 0000082f: ISZERO 00000830: PUSH2 0x0838 00000833: JUMPI 00000834: PUSH1 0x00 00000836: DUP1 00000837: REVERT 00000838: JUMPDEST 00000839: POP 0000083a: PUSH1 0xca 0000083c: SLOAD 0000083d: PUSH2 0x04a0 00000840: SWAP1 00000841: PUSH1 0x01 00000843: PUSH1 0x01 00000845: PUSH1 0xa0 00000847: SHL 00000848: SUB 00000849: AND 0000084a: DUP2 0000084b: JUMP 0000084c: JUMPDEST 0000084d: CALLVALUE 0000084e: DUP1 0000084f: ISZERO 00000850: PUSH2 0x0858 00000853: JUMPI 00000854: PUSH1 0x00 00000856: DUP1 00000857: REVERT 00000858: JUMPDEST 00000859: POP 0000085a: PUSH2 0x02ad 0000085d: PUSH2 0x2710 00000860: DUP2 00000861: JUMP 00000862: JUMPDEST 00000863: PUSH1 0xca 00000865: SLOAD 00000866: PUSH1 0x00 00000868: SWAP1 00000869: PUSH1 0x01 0000086b: PUSH1 0x01 0000086d: PUSH1 0xa0 0000086f: SHL 00000870: SUB 00000871: AND 00000872: CALLER 00000873: EQ 00000874: PUSH2 0x0890 00000877: JUMPI 00000878: PUSH1 0x40 0000087a: MLOAD 0000087b: PUSH4 0x8dfa73db 00000880: PUSH1 0xe0 00000882: SHL 00000883: DUP2 00000884: MSTORE 00000885: PUSH1 0x04 00000887: ADD 00000888: PUSH1 0x40 0000088a: MLOAD 0000088b: DUP1 0000088c: SWAP2 0000088d: SUB 0000088e: SWAP1 0000088f: REVERT 00000890: JUMPDEST 00000891: PUSH1 0x00 00000893: DUP1 00000894: PUSH2 0x08ac 00000897: DUP5 00000898: PUSH2 0x089f 0000089b: PUSH2 0x16de 0000089e: JUMP 0000089f: JUMPDEST 000008a0: PUSH2 0x08a7 000008a3: PUSH2 0x1575 000008a6: JUMP 000008a7: JUMPDEST 000008a8: PUSH2 0x2190 000008ab: JUMP 000008ac: JUMPDEST 000008ad: SWAP5 000008ae: POP 000008af: SWAP1 000008b0: SWAP3 000008b1: POP 000008b2: SWAP1 000008b3: POP 000008b4: DUP1 000008b5: DUP3 000008b6: GT 000008b7: ISZERO 000008b8: PUSH2 0x08d5 000008bb: JUMPI 000008bc: PUSH1 0xcd 000008be: SLOAD 000008bf: PUSH2 0x08d1 000008c2: SWAP1 000008c3: PUSH2 0x08cc 000008c6: DUP4 000008c7: DUP6 000008c8: PUSH2 0x3bac 000008cb: JUMP 000008cc: JUMPDEST 000008cd: PUSH2 0x23f6 000008d0: JUMP 000008d1: JUMPDEST 000008d2: PUSH1 0xcd 000008d4: SSTORE 000008d5: JUMPDEST 000008d6: POP 000008d7: POP 000008d8: SWAP2 000008d9: SWAP1 000008da: POP 000008db: JUMP 000008dc: JUMPDEST 000008dd: PUSH1 0xca 000008df: SLOAD 000008e0: PUSH1 0x01 000008e2: PUSH1 0x01 000008e4: PUSH1 0xa0 000008e6: SHL 000008e7: SUB 000008e8: AND 000008e9: CALLER 000008ea: EQ 000008eb: PUSH2 0x0907 000008ee: JUMPI 000008ef: PUSH1 0x40 000008f1: MLOAD 000008f2: PUSH4 0x8dfa73db 000008f7: PUSH1 0xe0 000008f9: SHL 000008fa: DUP2 000008fb: MSTORE 000008fc: PUSH1 0x04 000008fe: ADD 000008ff: PUSH1 0x40 00000901: MLOAD 00000902: DUP1 00000903: SWAP2 00000904: SUB 00000905: SWAP1 00000906: REVERT 00000907: JUMPDEST 00000908: PUSH1 0xcb 0000090a: SLOAD 0000090b: PUSH1 0x01 0000090d: PUSH1 0x01 0000090f: PUSH1 0xa0 00000911: SHL 00000912: SUB 00000913: AND 00000914: PUSH2 0x091c 00000917: JUMPI 00000918: PUSH1 0x00 0000091a: DUP1 0000091b: REVERT 0000091c: JUMPDEST 0000091d: PUSH1 0xcb 0000091f: SLOAD 00000920: PUSH1 0x40 00000922: MLOAD 00000923: PUSH4 0x1a3f4bd3 00000928: PUSH1 0xe3 0000092a: SHL 0000092b: DUP2 0000092c: MSTORE 0000092d: PUSH1 0x01 0000092f: PUSH1 0x01 00000931: PUSH1 0xa0 00000933: SHL 00000934: SUB 00000935: DUP5 00000936: DUP2 00000937: AND 00000938: PUSH1 0x04 0000093a: DUP4 0000093b: ADD 0000093c: MSTORE 0000093d: PUSH1 0x24 0000093f: DUP3 00000940: ADD 00000941: DUP5 00000942: SWAP1 00000943: MSTORE 00000944: SWAP1 00000945: SWAP2 00000946: AND 00000947: SWAP1 00000948: PUSH4 0xd1fa5e98 0000094d: SWAP1 0000094e: PUSH1 0x44 00000950: ADD 00000951: PUSH1 0x00 00000953: PUSH1 0x40 00000955: MLOAD 00000956: DUP1 00000957: DUP4 00000958: SUB 00000959: DUP2 0000095a: PUSH1 0x00 0000095c: DUP8 0000095d: DUP1 0000095e: EXTCODESIZE 0000095f: ISZERO 00000960: DUP1 00000961: ISZERO 00000962: PUSH2 0x096a 00000965: JUMPI 00000966: PUSH1 0x00 00000968: DUP1 00000969: REVERT 0000096a: JUMPDEST 0000096b: POP 0000096c: GAS 0000096d: CALL 0000096e: ISZERO 0000096f: DUP1 00000970: ISZERO 00000971: PUSH2 0x097e 00000974: JUMPI 00000975: RETURNDATASIZE 00000976: PUSH1 0x00 00000978: DUP1 00000979: RETURNDATACOPY 0000097a: RETURNDATASIZE 0000097b: PUSH1 0x00 0000097d: REVERT 0000097e: JUMPDEST 0000097f: POP 00000980: POP 00000981: POP 00000982: POP 00000983: PUSH2 0x098c 00000986: PUSH1 0x01 00000988: PUSH2 0x19d2 0000098b: JUMP 0000098c: JUMPDEST 0000098d: POP 0000098e: POP 0000098f: JUMP 00000990: JUMPDEST 00000991: PUSH1 0x00 00000993: DUP4 00000994: ISZERO 00000995: DUP1 00000996: PUSH2 0x09a0 00000999: JUMPI 0000099a: POP 0000099b: PUSH1 0x9a 0000099d: SLOAD 0000099e: DUP5 0000099f: GT 000009a0: JUMPDEST 000009a1: ISZERO 000009a2: PUSH2 0x09c6 000009a5: JUMPI 000009a6: PUSH1 0x40 000009a8: MLOAD 000009a9: PUSH4 0x64b4f079 000009ae: PUSH1 0xe1 000009b0: SHL 000009b1: DUP2 000009b2: MSTORE 000009b3: PUSH1 0x04 000009b5: DUP2 000009b6: ADD 000009b7: DUP6 000009b8: SWAP1 000009b9: MSTORE 000009ba: PUSH1 0x24 000009bc: ADD 000009bd: JUMPDEST 000009be: PUSH1 0x40 000009c0: MLOAD 000009c1: DUP1 000009c2: SWAP2 000009c3: SUB 000009c4: SWAP1 000009c5: REVERT 000009c6: JUMPDEST 000009c7: PUSH1 0x9c 000009c9: SLOAD 000009ca: DUP4 000009cb: ISZERO 000009cc: DUP1 000009cd: PUSH2 0x09d5 000009d0: JUMPI 000009d1: POP 000009d2: DUP1 000009d3: DUP4 000009d4: GT 000009d5: JUMPDEST 000009d6: ISZERO 000009d7: PUSH2 0x09fd 000009da: JUMPI 000009db: PUSH1 0x40 000009dd: MLOAD 000009de: PUSH4 0x71894257 000009e3: PUSH1 0xe0 000009e5: SHL 000009e6: DUP2 000009e7: MSTORE 000009e8: PUSH1 0x04 000009ea: DUP2 000009eb: ADD 000009ec: DUP6 000009ed: SWAP1 000009ee: MSTORE 000009ef: PUSH1 0x24 000009f1: DUP2 000009f2: ADD 000009f3: DUP5 000009f4: SWAP1 000009f5: MSTORE 000009f6: PUSH1 0x44 000009f8: ADD 000009f9: PUSH2 0x09bd 000009fc: JUMP 000009fd: JUMPDEST 000009fe: DUP1 000009ff: ISZERO 00000a00: DUP1 00000a01: PUSH2 0x0a0b 00000a04: JUMPI 00000a05: POP 00000a06: PUSH1 0x9b 00000a08: SLOAD 00000a09: DUP6 00000a0a: GT 00000a0b: JUMPDEST 00000a0c: DUP1 00000a0d: PUSH2 0x0a15 00000a10: JUMPI 00000a11: POP 00000a12: DUP3 00000a13: DUP5 00000a14: GT 00000a15: JUMPDEST 00000a16: ISZERO 00000a17: PUSH2 0x0a24 00000a1a: JUMPI 00000a1b: PUSH1 0x00 00000a1d: SWAP2 00000a1e: POP 00000a1f: POP 00000a20: PUSH2 0x0b68 00000a23: JUMP 00000a24: JUMPDEST 00000a25: PUSH1 0x99 00000a27: DUP4 00000a28: DUP2 00000a29: SLOAD 00000a2a: DUP2 00000a2b: LT 00000a2c: PUSH2 0x0a37 00000a2f: JUMPI 00000a30: PUSH2 0x0a37 00000a33: PUSH2 0x3bc3 00000a36: JUMP 00000a37: JUMPDEST 00000a38: SWAP1 00000a39: PUSH1 0x00 00000a3b: MSTORE 00000a3c: PUSH1 0x20 00000a3e: PUSH1 0x00 00000a40: KECCAK256 00000a41: SWAP1 00000a42: PUSH1 0x02 00000a44: MUL 00000a45: ADD 00000a46: PUSH1 0x00 00000a48: ADD 00000a49: SLOAD 00000a4a: DUP6 00000a4b: LT 00000a4c: PUSH2 0x0aa8 00000a4f: JUMPI 00000a50: DUP1 00000a51: DUP4 00000a52: SUB 00000a53: PUSH2 0x0a5f 00000a56: JUMPI 00000a57: DUP3 00000a58: SWAP2 00000a59: POP 00000a5a: POP 00000a5b: PUSH2 0x0b68 00000a5e: JUMP 00000a5f: JUMPDEST 00000a60: PUSH1 0x99 00000a62: PUSH2 0x0a6c 00000a65: DUP5 00000a66: PUSH1 0x01 00000a68: PUSH2 0x3bd9 00000a6b: JUMP 00000a6c: JUMPDEST 00000a6d: DUP2 00000a6e: SLOAD 00000a6f: DUP2 00000a70: LT 00000a71: PUSH2 0x0a7c 00000a74: JUMPI 00000a75: PUSH2 0x0a7c 00000a78: PUSH2 0x3bc3 00000a7b: JUMP 00000a7c: JUMPDEST 00000a7d: SWAP1 00000a7e: PUSH1 0x00 00000a80: MSTORE 00000a81: PUSH1 0x20 00000a83: PUSH1 0x00 00000a85: KECCAK256 00000a86: SWAP1 00000a87: PUSH1 0x02 00000a89: MUL 00000a8a: ADD 00000a8b: PUSH1 0x00 00000a8d: ADD 00000a8e: SLOAD 00000a8f: DUP6 00000a90: LT 00000a91: ISZERO 00000a92: PUSH2 0x0a9e 00000a95: JUMPI 00000a96: DUP3 00000a97: SWAP2 00000a98: POP 00000a99: POP 00000a9a: PUSH2 0x0b68 00000a9d: JUMP 00000a9e: JUMPDEST 00000a9f: PUSH1 0x00 00000aa1: SWAP2 00000aa2: POP 00000aa3: POP 00000aa4: PUSH2 0x0b68 00000aa7: JUMP 00000aa8: JUMPDEST 00000aa9: PUSH1 0x99 00000aab: DUP5 00000aac: DUP2 00000aad: SLOAD 00000aae: DUP2 00000aaf: LT 00000ab0: PUSH2 0x0abb 00000ab3: JUMPI 00000ab4: PUSH2 0x0abb 00000ab7: PUSH2 0x3bc3 00000aba: JUMP 00000abb: JUMPDEST 00000abc: SWAP1 00000abd: PUSH1 0x00 00000abf: MSTORE 00000ac0: PUSH1 0x20 00000ac2: PUSH1 0x00 00000ac4: KECCAK256 00000ac5: SWAP1 00000ac6: PUSH1 0x02 00000ac8: MUL 00000ac9: ADD 00000aca: PUSH1 0x00 00000acc: ADD 00000acd: SLOAD 00000ace: DUP6 00000acf: LT 00000ad0: ISZERO 00000ad1: PUSH2 0x0ade 00000ad4: JUMPI 00000ad5: PUSH1 0x00 00000ad7: SWAP2 00000ad8: POP 00000ad9: POP 00000ada: PUSH2 0x0b68 00000add: JUMP 00000ade: JUMPDEST 00000adf: DUP4 00000ae0: PUSH1 0x00 00000ae2: PUSH2 0x0aec 00000ae5: PUSH1 0x01 00000ae7: DUP7 00000ae8: PUSH2 0x3bac 00000aeb: JUMP 00000aec: JUMPDEST 00000aed: SWAP1 00000aee: POP 00000aef: JUMPDEST 00000af0: DUP2 00000af1: DUP2 00000af2: GT 00000af3: ISZERO 00000af4: PUSH2 0x0b63 00000af7: JUMPI 00000af8: PUSH1 0x00 00000afa: PUSH1 0x02 00000afc: PUSH2 0x0b05 00000aff: DUP5 00000b00: DUP5 00000b01: PUSH2 0x3bd9 00000b04: JUMP 00000b05: JUMPDEST 00000b06: PUSH2 0x0b10 00000b09: SWAP1 00000b0a: PUSH1 0x01 00000b0c: PUSH2 0x3bd9 00000b0f: JUMP 00000b10: JUMPDEST 00000b11: PUSH2 0x0b1a 00000b14: SWAP2 00000b15: SWAP1 00000b16: PUSH2 0x3c07 00000b19: JUMP 00000b1a: JUMPDEST 00000b1b: SWAP1 00000b1c: POP 00000b1d: DUP8 00000b1e: PUSH1 0x99 00000b20: DUP3 00000b21: DUP2 00000b22: SLOAD 00000b23: DUP2 00000b24: LT 00000b25: PUSH2 0x0b30 00000b28: JUMPI 00000b29: PUSH2 0x0b30 00000b2c: PUSH2 0x3bc3 00000b2f: JUMP 00000b30: JUMPDEST 00000b31: SWAP1 00000b32: PUSH1 0x00 00000b34: MSTORE 00000b35: PUSH1 0x20 00000b37: PUSH1 0x00 00000b39: KECCAK256 00000b3a: SWAP1 00000b3b: PUSH1 0x02 00000b3d: MUL 00000b3e: ADD 00000b3f: PUSH1 0x00 00000b41: ADD 00000b42: SLOAD 00000b43: GT 00000b44: PUSH2 0x0b4f 00000b47: JUMPI 00000b48: DUP1 00000b49: SWAP3 00000b4a: POP 00000b4b: PUSH2 0x0b5d 00000b4e: JUMP 00000b4f: JUMPDEST 00000b50: PUSH2 0x0b5a 00000b53: PUSH1 0x01 00000b55: DUP3 00000b56: PUSH2 0x3bac 00000b59: JUMP 00000b5a: JUMPDEST 00000b5b: SWAP2 00000b5c: POP 00000b5d: JUMPDEST 00000b5e: POP 00000b5f: PUSH2 0x0aef 00000b62: JUMP 00000b63: JUMPDEST 00000b64: POP 00000b65: SWAP2 00000b66: POP 00000b67: POP 00000b68: JUMPDEST 00000b69: SWAP4 00000b6a: SWAP3 00000b6b: POP 00000b6c: POP 00000b6d: POP 00000b6e: JUMP 00000b6f: JUMPDEST 00000b70: PUSH2 0x0b77 00000b73: PUSH2 0x240c 00000b76: JUMP 00000b77: JUMPDEST 00000b78: ADDRESS 00000b79: PUSH1 0x01 00000b7b: PUSH1 0x01 00000b7d: PUSH1 0xa0 00000b7f: SHL 00000b80: SUB 00000b81: AND 00000b82: DUP2 00000b83: PUSH1 0x01 00000b85: PUSH1 0x01 00000b87: PUSH1 0xa0 00000b89: SHL 00000b8a: SUB 00000b8b: AND 00000b8c: PUSH4 0x219ebb9c 00000b91: PUSH1 0x40 00000b93: MLOAD 00000b94: DUP2 00000b95: PUSH4 0xffffffff 00000b9a: AND 00000b9b: PUSH1 0xe0 00000b9d: SHL 00000b9e: DUP2 00000b9f: MSTORE 00000ba0: PUSH1 0x04 00000ba2: ADD 00000ba3: PUSH1 0x20 00000ba5: PUSH1 0x40 00000ba7: MLOAD 00000ba8: DUP1 00000ba9: DUP4 00000baa: SUB 00000bab: DUP2 00000bac: DUP7 00000bad: GAS 00000bae: STATICCALL 00000baf: ISZERO 00000bb0: DUP1 00000bb1: ISZERO 00000bb2: PUSH2 0x0bbf 00000bb5: JUMPI 00000bb6: RETURNDATASIZE 00000bb7: PUSH1 0x00 00000bb9: DUP1 00000bba: RETURNDATACOPY 00000bbb: RETURNDATASIZE 00000bbc: PUSH1 0x00 00000bbe: REVERT 00000bbf: JUMPDEST 00000bc0: POP 00000bc1: POP 00000bc2: POP 00000bc3: POP 00000bc4: PUSH1 0x40 00000bc6: MLOAD 00000bc7: RETURNDATASIZE 00000bc8: PUSH1 0x1f 00000bca: NOT 00000bcb: PUSH1 0x1f 00000bcd: DUP3 00000bce: ADD 00000bcf: AND 00000bd0: DUP3 00000bd1: ADD 00000bd2: DUP1 00000bd3: PUSH1 0x40 00000bd5: MSTORE 00000bd6: POP 00000bd7: DUP2 00000bd8: ADD 00000bd9: SWAP1 00000bda: PUSH2 0x0be3 00000bdd: SWAP2 00000bde: SWAP1 00000bdf: PUSH2 0x3c1b 00000be2: JUMP 00000be3: JUMPDEST 00000be4: PUSH1 0x01 00000be6: PUSH1 0x01 00000be8: PUSH1 0xa0 00000bea: SHL 00000beb: SUB 00000bec: AND 00000bed: EQ 00000bee: PUSH2 0x0c0a 00000bf1: JUMPI 00000bf2: PUSH1 0x40 00000bf4: MLOAD 00000bf5: PUSH4 0x8d8eed3b 00000bfa: PUSH1 0xe0 00000bfc: SHL 00000bfd: DUP2 00000bfe: MSTORE 00000bff: PUSH1 0x04 00000c01: ADD 00000c02: PUSH1 0x40 00000c04: MLOAD 00000c05: DUP1 00000c06: SWAP2 00000c07: SUB 00000c08: SWAP1 00000c09: REVERT 00000c0a: JUMPDEST 00000c0b: PUSH2 0x0c15 00000c0e: PUSH1 0xc8 00000c10: DUP3 00000c11: PUSH2 0x2466 00000c14: JUMP 00000c15: JUMPDEST 00000c16: POP 00000c17: PUSH1 0x40 00000c19: DUP1 00000c1a: MLOAD 00000c1b: PUSH1 0x04 00000c1d: DUP2 00000c1e: MSTORE 00000c1f: PUSH1 0x24 00000c21: DUP2 00000c22: ADD 00000c23: DUP3 00000c24: MSTORE 00000c25: PUSH1 0x20 00000c27: DUP2 00000c28: ADD 00000c29: DUP1 00000c2a: MLOAD 00000c2b: PUSH1 0x01 00000c2d: PUSH1 0x01 00000c2f: PUSH1 0xe0 00000c31: SHL 00000c32: SUB 00000c33: AND 00000c34: PUSH4 0x204a7f07 00000c39: PUSH1 0xe2 00000c3b: SHL 00000c3c: OR 00000c3d: SWAP1 00000c3e: MSTORE 00000c3f: SWAP1 00000c40: MLOAD 00000c41: PUSH1 0x00 00000c43: SWAP2 00000c44: PUSH1 0x01 00000c46: PUSH1 0x01 00000c48: PUSH1 0xa0 00000c4a: SHL 00000c4b: SUB 00000c4c: DUP5 00000c4d: AND 00000c4e: SWAP2 00000c4f: PUSH2 0x0c58 00000c52: SWAP2 00000c53: SWAP1 00000c54: PUSH2 0x3c38 00000c57: JUMP 00000c58: JUMPDEST 00000c59: PUSH1 0x00 00000c5b: PUSH1 0x40 00000c5d: MLOAD 00000c5e: DUP1 00000c5f: DUP4 00000c60: SUB 00000c61: DUP2 00000c62: DUP6 00000c63: GAS 00000c64: DELEGATECALL 00000c65: SWAP2 00000c66: POP 00000c67: POP 00000c68: RETURNDATASIZE 00000c69: DUP1 00000c6a: PUSH1 0x00 00000c6c: DUP2 00000c6d: EQ 00000c6e: PUSH2 0x0c93 00000c71: JUMPI 00000c72: PUSH1 0x40 00000c74: MLOAD 00000c75: SWAP2 00000c76: POP 00000c77: PUSH1 0x1f 00000c79: NOT 00000c7a: PUSH1 0x3f 00000c7c: RETURNDATASIZE 00000c7d: ADD 00000c7e: AND 00000c7f: DUP3 00000c80: ADD 00000c81: PUSH1 0x40 00000c83: MSTORE 00000c84: RETURNDATASIZE 00000c85: DUP3 00000c86: MSTORE 00000c87: RETURNDATASIZE 00000c88: PUSH1 0x00 00000c8a: PUSH1 0x20 00000c8c: DUP5 00000c8d: ADD 00000c8e: RETURNDATACOPY 00000c8f: PUSH2 0x0c98 00000c92: JUMP 00000c93: JUMPDEST 00000c94: PUSH1 0x60 00000c96: SWAP2 00000c97: POP 00000c98: JUMPDEST 00000c99: POP 00000c9a: POP 00000c9b: SWAP1 00000c9c: POP 00000c9d: DUP1 00000c9e: PUSH2 0x098c 00000ca1: JUMPI 00000ca2: PUSH1 0x40 00000ca4: MLOAD 00000ca5: PUSH4 0x0fb6449b 00000caa: PUSH1 0xe2 00000cac: SHL 00000cad: DUP2 00000cae: MSTORE 00000caf: PUSH1 0x04 00000cb1: ADD 00000cb2: PUSH1 0x40 00000cb4: MLOAD 00000cb5: DUP1 00000cb6: SWAP2 00000cb7: SUB 00000cb8: SWAP1 00000cb9: REVERT 00000cba: JUMPDEST 00000cbb: PUSH1 0x00 00000cbd: SLOAD 00000cbe: PUSH2 0x0100 00000cc1: SWAP1 00000cc2: DIV 00000cc3: PUSH1 0xff 00000cc5: AND 00000cc6: ISZERO 00000cc7: DUP1 00000cc8: DUP1 00000cc9: ISZERO 00000cca: PUSH2 0x0cda 00000ccd: JUMPI 00000cce: POP 00000ccf: PUSH1 0x00 00000cd1: SLOAD 00000cd2: PUSH1 0x01 00000cd4: PUSH1 0xff 00000cd6: SWAP1 00000cd7: SWAP2 00000cd8: AND 00000cd9: LT 00000cda: JUMPDEST 00000cdb: DUP1 00000cdc: PUSH2 0x0cf4 00000cdf: JUMPI 00000ce0: POP 00000ce1: ADDRESS 00000ce2: EXTCODESIZE 00000ce3: ISZERO 00000ce4: DUP1 00000ce5: ISZERO 00000ce6: PUSH2 0x0cf4 00000ce9: JUMPI 00000cea: POP 00000ceb: PUSH1 0x00 00000ced: SLOAD 00000cee: PUSH1 0xff 00000cf0: AND 00000cf1: PUSH1 0x01 00000cf3: EQ 00000cf4: JUMPDEST 00000cf5: PUSH2 0x0d57 00000cf8: JUMPI 00000cf9: PUSH1 0x40 00000cfb: MLOAD 00000cfc: PUSH3 0x461bcd 00000d00: PUSH1 0xe5 00000d02: SHL 00000d03: DUP2 00000d04: MSTORE 00000d05: PUSH1 0x20 00000d07: PUSH1 0x04 00000d09: DUP3 00000d0a: ADD 00000d0b: MSTORE 00000d0c: PUSH1 0x2e 00000d0e: PUSH1 0x24 00000d10: DUP3 00000d11: ADD 00000d12: MSTORE 00000d13: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00000d34: PUSH1 0x44 00000d36: DUP3 00000d37: ADD 00000d38: MSTORE 00000d39: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00000d48: PUSH1 0x92 00000d4a: SHL 00000d4b: PUSH1 0x64 00000d4d: DUP3 00000d4e: ADD 00000d4f: MSTORE 00000d50: PUSH1 0x84 00000d52: ADD 00000d53: PUSH2 0x09bd 00000d56: JUMP 00000d57: JUMPDEST 00000d58: PUSH1 0x00 00000d5a: DUP1 00000d5b: SLOAD 00000d5c: PUSH1 0xff 00000d5e: NOT 00000d5f: AND 00000d60: PUSH1 0x01 00000d62: OR 00000d63: SWAP1 00000d64: SSTORE 00000d65: DUP1 00000d66: ISZERO 00000d67: PUSH2 0x0d7a 00000d6a: JUMPI 00000d6b: PUSH1 0x00 00000d6d: DUP1 00000d6e: SLOAD 00000d6f: PUSH2 0xff00 00000d72: NOT 00000d73: AND 00000d74: PUSH2 0x0100 00000d77: OR 00000d78: SWAP1 00000d79: SSTORE 00000d7a: JUMPDEST 00000d7b: PUSH2 0x0d84 00000d7e: DUP4 00000d7f: DUP4 00000d80: PUSH2 0x247b 00000d83: JUMP 00000d84: JUMPDEST 00000d85: DUP1 00000d86: ISZERO 00000d87: PUSH2 0x0dca 00000d8a: JUMPI 00000d8b: PUSH1 0x00 00000d8d: DUP1 00000d8e: SLOAD 00000d8f: PUSH2 0xff00 00000d92: NOT 00000d93: AND 00000d94: SWAP1 00000d95: SSTORE 00000d96: PUSH1 0x40 00000d98: MLOAD 00000d99: PUSH1 0x01 00000d9b: DUP2 00000d9c: MSTORE 00000d9d: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00000dbe: SWAP1 00000dbf: PUSH1 0x20 00000dc1: ADD 00000dc2: PUSH1 0x40 00000dc4: MLOAD 00000dc5: DUP1 00000dc6: SWAP2 00000dc7: SUB 00000dc8: SWAP1 00000dc9: LOG1 00000dca: JUMPDEST 00000dcb: POP 00000dcc: POP 00000dcd: POP 00000dce: JUMP 00000dcf: JUMPDEST 00000dd0: PUSH2 0x0e1b 00000dd3: PUSH1 0x40 00000dd5: MLOAD 00000dd6: DUP1 00000dd7: PUSH1 0xe0 00000dd9: ADD 00000dda: PUSH1 0x40 00000ddc: MSTORE 00000ddd: DUP1 00000dde: PUSH1 0x00 00000de0: DUP1 00000de1: NOT 00000de2: AND 00000de3: DUP2 00000de4: MSTORE 00000de5: PUSH1 0x20 00000de7: ADD 00000de8: PUSH1 0x00 00000dea: PUSH1 0x01 00000dec: PUSH1 0x01 00000dee: PUSH1 0xa0 00000df0: SHL 00000df1: SUB 00000df2: AND 00000df3: DUP2 00000df4: MSTORE 00000df5: PUSH1 0x20 00000df7: ADD 00000df8: PUSH1 0x00 00000dfa: DUP2 00000dfb: MSTORE 00000dfc: PUSH1 0x20 00000dfe: ADD 00000dff: PUSH1 0x00 00000e01: DUP2 00000e02: MSTORE 00000e03: PUSH1 0x20 00000e05: ADD 00000e06: PUSH1 0x00 00000e08: DUP2 00000e09: MSTORE 00000e0a: PUSH1 0x20 00000e0c: ADD 00000e0d: PUSH1 0x00 00000e0f: DUP2 00000e10: MSTORE 00000e11: PUSH1 0x20 00000e13: ADD 00000e14: PUSH1 0x00 00000e16: DUP2 00000e17: MSTORE 00000e18: POP 00000e19: SWAP1 00000e1a: JUMP 00000e1b: JUMPDEST 00000e1c: PUSH1 0x00 00000e1e: PUSH2 0x0e28 00000e21: PUSH1 0xc8 00000e23: DUP5 00000e24: PUSH2 0x24de 00000e27: JUMP 00000e28: JUMPDEST 00000e29: SWAP1 00000e2a: POP 00000e2b: DUP1 00000e2c: PUSH1 0x01 00000e2e: PUSH1 0x01 00000e30: PUSH1 0xa0 00000e32: SHL 00000e33: SUB 00000e34: AND 00000e35: PUSH4 0xaf640d0f 00000e3a: PUSH1 0x40 00000e3c: MLOAD 00000e3d: DUP2 00000e3e: PUSH4 0xffffffff 00000e43: AND 00000e44: PUSH1 0xe0 00000e46: SHL 00000e47: DUP2 00000e48: MSTORE 00000e49: PUSH1 0x04 00000e4b: ADD 00000e4c: PUSH1 0x20 00000e4e: PUSH1 0x40 00000e50: MLOAD 00000e51: DUP1 00000e52: DUP4 00000e53: SUB 00000e54: DUP2 00000e55: DUP7 00000e56: GAS 00000e57: STATICCALL 00000e58: ISZERO 00000e59: DUP1 00000e5a: ISZERO 00000e5b: PUSH2 0x0e68 00000e5e: JUMPI 00000e5f: RETURNDATASIZE 00000e60: PUSH1 0x00 00000e62: DUP1 00000e63: RETURNDATACOPY 00000e64: RETURNDATASIZE 00000e65: PUSH1 0x00 00000e67: REVERT 00000e68: JUMPDEST 00000e69: POP 00000e6a: POP 00000e6b: POP 00000e6c: POP 00000e6d: PUSH1 0x40 00000e6f: MLOAD 00000e70: RETURNDATASIZE 00000e71: PUSH1 0x1f 00000e73: NOT 00000e74: PUSH1 0x1f 00000e76: DUP3 00000e77: ADD 00000e78: AND 00000e79: DUP3 00000e7a: ADD 00000e7b: DUP1 00000e7c: PUSH1 0x40 00000e7e: MSTORE 00000e7f: POP 00000e80: DUP2 00000e81: ADD 00000e82: SWAP1 00000e83: PUSH2 0x0e8c 00000e86: SWAP2 00000e87: SWAP1 00000e88: PUSH2 0x3c54 00000e8b: JUMP 00000e8c: JUMPDEST 00000e8d: DUP3 00000e8e: MSTORE 00000e8f: PUSH1 0x01 00000e91: PUSH1 0x01 00000e93: PUSH1 0xa0 00000e95: SHL 00000e96: SUB 00000e97: DUP2 00000e98: AND 00000e99: PUSH1 0x20 00000e9b: DUP1 00000e9c: DUP5 00000e9d: ADD 00000e9e: DUP3 00000e9f: SWAP1 00000ea0: MSTORE 00000ea1: PUSH1 0x40 00000ea3: DUP1 00000ea4: MLOAD 00000ea5: PUSH4 0x2dcf800b 00000eaa: PUSH1 0xe1 00000eac: SHL 00000ead: DUP2 00000eae: MSTORE 00000eaf: SWAP1 00000eb0: MLOAD 00000eb1: PUSH4 0x5b9f0016 00000eb6: SWAP3 00000eb7: PUSH1 0x04 00000eb9: DUP1 00000eba: DUP5 00000ebb: ADD 00000ebc: SWAP4 00000ebd: SWAP2 00000ebe: SWAP3 00000ebf: SWAP2 00000ec0: DUP3 00000ec1: SWAP1 00000ec2: SUB 00000ec3: ADD 00000ec4: DUP2 00000ec5: DUP7 00000ec6: GAS 00000ec7: STATICCALL 00000ec8: ISZERO 00000ec9: DUP1 00000eca: ISZERO 00000ecb: PUSH2 0x0ed8 00000ece: JUMPI 00000ecf: RETURNDATASIZE 00000ed0: PUSH1 0x00 00000ed2: DUP1 00000ed3: RETURNDATACOPY 00000ed4: RETURNDATASIZE 00000ed5: PUSH1 0x00 00000ed7: REVERT 00000ed8: JUMPDEST 00000ed9: POP 00000eda: POP 00000edb: POP 00000edc: POP 00000edd: PUSH1 0x40 00000edf: MLOAD 00000ee0: RETURNDATASIZE 00000ee1: PUSH1 0x1f 00000ee3: NOT 00000ee4: PUSH1 0x1f 00000ee6: DUP3 00000ee7: ADD 00000ee8: AND 00000ee9: DUP3 00000eea: ADD 00000eeb: DUP1 00000eec: PUSH1 0x40 00000eee: MSTORE 00000eef: POP 00000ef0: DUP2 00000ef1: ADD 00000ef2: SWAP1 00000ef3: PUSH2 0x0efc 00000ef6: SWAP2 00000ef7: SWAP1 00000ef8: PUSH2 0x3c54 00000efb: JUMP 00000efc: JUMPDEST 00000efd: DUP3 00000efe: PUSH1 0x40 00000f00: ADD 00000f01: DUP2 00000f02: DUP2 00000f03: MSTORE 00000f04: POP 00000f05: POP 00000f06: DUP1 00000f07: PUSH1 0x01 00000f09: PUSH1 0x01 00000f0b: PUSH1 0xa0 00000f0d: SHL 00000f0e: SUB 00000f0f: AND 00000f10: PUSH4 0x57b4d18e 00000f15: PUSH1 0x40 00000f17: MLOAD 00000f18: DUP2 00000f19: PUSH4 0xffffffff 00000f1e: AND 00000f1f: PUSH1 0xe0 00000f21: SHL 00000f22: DUP2 00000f23: MSTORE 00000f24: PUSH1 0x04 00000f26: ADD 00000f27: PUSH1 0x20 00000f29: PUSH1 0x40 00000f2b: MLOAD 00000f2c: DUP1 00000f2d: DUP4 00000f2e: SUB 00000f2f: DUP2 00000f30: DUP7 00000f31: GAS 00000f32: STATICCALL 00000f33: ISZERO 00000f34: DUP1 00000f35: ISZERO 00000f36: PUSH2 0x0f43 00000f39: JUMPI 00000f3a: RETURNDATASIZE 00000f3b: PUSH1 0x00 00000f3d: DUP1 00000f3e: RETURNDATACOPY 00000f3f: RETURNDATASIZE 00000f40: PUSH1 0x00 00000f42: REVERT 00000f43: JUMPDEST 00000f44: POP 00000f45: POP 00000f46: POP 00000f47: POP 00000f48: PUSH1 0x40 00000f4a: MLOAD 00000f4b: RETURNDATASIZE 00000f4c: PUSH1 0x1f 00000f4e: NOT 00000f4f: PUSH1 0x1f 00000f51: DUP3 00000f52: ADD 00000f53: AND 00000f54: DUP3 00000f55: ADD 00000f56: DUP1 00000f57: PUSH1 0x40 00000f59: MSTORE 00000f5a: POP 00000f5b: DUP2 00000f5c: ADD 00000f5d: SWAP1 00000f5e: PUSH2 0x0f67 00000f61: SWAP2 00000f62: SWAP1 00000f63: PUSH2 0x3c54 00000f66: JUMP 00000f67: JUMPDEST 00000f68: DUP3 00000f69: PUSH1 0x60 00000f6b: ADD 00000f6c: DUP2 00000f6d: DUP2 00000f6e: MSTORE 00000f6f: POP 00000f70: POP 00000f71: DUP1 00000f72: PUSH1 0x01 00000f74: PUSH1 0x01 00000f76: PUSH1 0xa0 00000f78: SHL 00000f79: SUB 00000f7a: AND 00000f7b: PUSH4 0x85254adf 00000f80: PUSH1 0x40 00000f82: MLOAD 00000f83: DUP2 00000f84: PUSH4 0xffffffff 00000f89: AND 00000f8a: PUSH1 0xe0 00000f8c: SHL 00000f8d: DUP2 00000f8e: MSTORE 00000f8f: PUSH1 0x04 00000f91: ADD 00000f92: PUSH1 0x20 00000f94: PUSH1 0x40 00000f96: MLOAD 00000f97: DUP1 00000f98: DUP4 00000f99: SUB 00000f9a: DUP2 00000f9b: DUP7 00000f9c: GAS 00000f9d: STATICCALL 00000f9e: ISZERO 00000f9f: DUP1 00000fa0: ISZERO 00000fa1: PUSH2 0x0fae 00000fa4: JUMPI 00000fa5: RETURNDATASIZE 00000fa6: PUSH1 0x00 00000fa8: DUP1 00000fa9: RETURNDATACOPY 00000faa: RETURNDATASIZE 00000fab: PUSH1 0x00 00000fad: REVERT 00000fae: JUMPDEST 00000faf: POP 00000fb0: POP 00000fb1: POP 00000fb2: POP 00000fb3: PUSH1 0x40 00000fb5: MLOAD 00000fb6: RETURNDATASIZE 00000fb7: PUSH1 0x1f 00000fb9: NOT 00000fba: PUSH1 0x1f 00000fbc: DUP3 00000fbd: ADD 00000fbe: AND 00000fbf: DUP3 00000fc0: ADD 00000fc1: DUP1 00000fc2: PUSH1 0x40 00000fc4: MSTORE 00000fc5: POP 00000fc6: DUP2 00000fc7: ADD 00000fc8: SWAP1 00000fc9: PUSH2 0x0fd2 00000fcc: SWAP2 00000fcd: SWAP1 00000fce: PUSH2 0x3c54 00000fd1: JUMP 00000fd2: JUMPDEST 00000fd3: DUP3 00000fd4: PUSH1 0x80 00000fd6: ADD 00000fd7: DUP2 00000fd8: DUP2 00000fd9: MSTORE 00000fda: POP 00000fdb: POP 00000fdc: DUP1 00000fdd: PUSH1 0x01 00000fdf: PUSH1 0x01 00000fe1: PUSH1 0xa0 00000fe3: SHL 00000fe4: SUB 00000fe5: AND 00000fe6: PUSH4 0xd4c3eea0 00000feb: PUSH1 0x40 00000fed: MLOAD 00000fee: DUP2 00000fef: PUSH4 0xffffffff 00000ff4: AND 00000ff5: PUSH1 0xe0 00000ff7: SHL 00000ff8: DUP2 00000ff9: MSTORE 00000ffa: PUSH1 0x04 00000ffc: ADD 00000ffd: PUSH1 0x20 00000fff: PUSH1 0x40 00001001: MLOAD 00001002: DUP1 00001003: DUP4 00001004: SUB 00001005: DUP2 00001006: DUP7 00001007: GAS 00001008: STATICCALL 00001009: ISZERO 0000100a: DUP1 0000100b: ISZERO 0000100c: PUSH2 0x1019 0000100f: JUMPI 00001010: RETURNDATASIZE 00001011: PUSH1 0x00 00001013: DUP1 00001014: RETURNDATACOPY 00001015: RETURNDATASIZE 00001016: PUSH1 0x00 00001018: REVERT 00001019: JUMPDEST 0000101a: POP 0000101b: POP 0000101c: POP 0000101d: POP 0000101e: PUSH1 0x40 00001020: MLOAD 00001021: RETURNDATASIZE 00001022: PUSH1 0x1f 00001024: NOT 00001025: PUSH1 0x1f 00001027: DUP3 00001028: ADD 00001029: AND 0000102a: DUP3 0000102b: ADD 0000102c: DUP1 0000102d: PUSH1 0x40 0000102f: MSTORE 00001030: POP 00001031: DUP2 00001032: ADD 00001033: SWAP1 00001034: PUSH2 0x103d 00001037: SWAP2 00001038: SWAP1 00001039: PUSH2 0x3c54 0000103c: JUMP 0000103d: JUMPDEST 0000103e: DUP3 0000103f: PUSH1 0xa0 00001041: ADD 00001042: DUP2 00001043: DUP2 00001044: MSTORE 00001045: POP 00001046: POP 00001047: DUP1 00001048: PUSH1 0x01 0000104a: PUSH1 0x01 0000104c: PUSH1 0xa0 0000104e: SHL 0000104f: SUB 00001050: AND 00001051: PUSH4 0x28593984 00001056: PUSH1 0x40 00001058: MLOAD 00001059: DUP2 0000105a: PUSH4 0xffffffff 0000105f: AND 00001060: PUSH1 0xe0 00001062: SHL 00001063: DUP2 00001064: MSTORE 00001065: PUSH1 0x04 00001067: ADD 00001068: PUSH1 0x20 0000106a: PUSH1 0x40 0000106c: MLOAD 0000106d: DUP1 0000106e: DUP4 0000106f: SUB 00001070: DUP2 00001071: DUP7 00001072: GAS 00001073: STATICCALL 00001074: ISZERO 00001075: DUP1 00001076: ISZERO 00001077: PUSH2 0x1084 0000107a: JUMPI 0000107b: RETURNDATASIZE 0000107c: PUSH1 0x00 0000107e: DUP1 0000107f: RETURNDATACOPY 00001080: RETURNDATASIZE 00001081: PUSH1 0x00 00001083: REVERT 00001084: JUMPDEST 00001085: POP 00001086: POP 00001087: POP 00001088: POP 00001089: PUSH1 0x40 0000108b: MLOAD 0000108c: RETURNDATASIZE 0000108d: PUSH1 0x1f 0000108f: NOT 00001090: PUSH1 0x1f 00001092: DUP3 00001093: ADD 00001094: AND 00001095: DUP3 00001096: ADD 00001097: DUP1 00001098: PUSH1 0x40 0000109a: MSTORE 0000109b: POP 0000109c: DUP2 0000109d: ADD 0000109e: SWAP1 0000109f: PUSH2 0x10a8 000010a2: SWAP2 000010a3: SWAP1 000010a4: PUSH2 0x3c54 000010a7: JUMP 000010a8: JUMPDEST 000010a9: PUSH1 0xc0 000010ab: DUP4 000010ac: ADD 000010ad: MSTORE 000010ae: POP 000010af: SWAP2 000010b0: SWAP1 000010b1: POP 000010b2: JUMP 000010b3: JUMPDEST 000010b4: PUSH1 0xca 000010b6: SLOAD 000010b7: PUSH1 0x01 000010b9: PUSH1 0x01 000010bb: PUSH1 0xa0 000010bd: SHL 000010be: SUB 000010bf: AND 000010c0: CALLER 000010c1: EQ 000010c2: PUSH2 0x10de 000010c5: JUMPI 000010c6: PUSH1 0x40 000010c8: MLOAD 000010c9: PUSH4 0x8dfa73db 000010ce: PUSH1 0xe0 000010d0: SHL 000010d1: DUP2 000010d2: MSTORE 000010d3: PUSH1 0x04 000010d5: ADD 000010d6: PUSH1 0x40 000010d8: MLOAD 000010d9: DUP1 000010da: SWAP2 000010db: SUB 000010dc: SWAP1 000010dd: REVERT 000010de: JUMPDEST 000010df: PUSH1 0x01 000010e1: PUSH1 0x01 000010e3: PUSH1 0xa0 000010e5: SHL 000010e6: SUB 000010e7: DUP3 000010e8: AND 000010e9: PUSH2 0x10f3 000010ec: PUSH1 0xc8 000010ee: DUP6 000010ef: PUSH2 0x24de 000010f2: JUMP 000010f3: JUMPDEST 000010f4: PUSH1 0x01 000010f6: PUSH1 0x01 000010f8: PUSH1 0xa0 000010fa: SHL 000010fb: SUB 000010fc: AND 000010fd: EQ 000010fe: PUSH2 0x111a 00001101: JUMPI 00001102: PUSH1 0x40 00001104: MLOAD 00001105: PUSH4 0x8f700e79 0000110a: PUSH1 0xe0 0000110c: SHL 0000110d: DUP2 0000110e: MSTORE 0000110f: PUSH1 0x04 00001111: ADD 00001112: PUSH1 0x40 00001114: MLOAD 00001115: DUP1 00001116: SWAP2 00001117: SUB 00001118: SWAP1 00001119: REVERT 0000111a: JUMPDEST 0000111b: PUSH1 0x00 0000111d: DUP1 0000111e: PUSH2 0x1127 00001121: DUP5 00001122: DUP5 00001123: PUSH2 0x24ea 00001126: JUMP 00001127: JUMPDEST 00001128: PUSH1 0x40 0000112a: MLOAD 0000112b: PUSH4 0x7663fb21 00001130: PUSH1 0xe1 00001132: SHL 00001133: DUP2 00001134: MSTORE 00001135: PUSH1 0x04 00001137: DUP2 00001138: ADD 00001139: DUP4 0000113a: SWAP1 0000113b: MSTORE 0000113c: PUSH1 0x24 0000113e: DUP2 0000113f: ADD 00001140: DUP3 00001141: SWAP1 00001142: MSTORE 00001143: PUSH1 0x44 00001145: DUP2 00001146: ADD 00001147: DUP7 00001148: SWAP1 00001149: MSTORE 0000114a: SWAP2 0000114b: SWAP4 0000114c: POP 0000114d: SWAP2 0000114e: POP 0000114f: PUSH1 0x01 00001151: PUSH1 0x01 00001153: PUSH1 0xa0 00001155: SHL 00001156: SUB 00001157: DUP6 00001158: AND 00001159: SWAP1 0000115a: PUSH4 0xecc7f642 0000115f: SWAP1 00001160: PUSH1 0x64 00001162: ADD 00001163: PUSH1 0x00 00001165: PUSH1 0x40 00001167: MLOAD 00001168: DUP1 00001169: DUP4 0000116a: SUB 0000116b: DUP2 0000116c: PUSH1 0x00 0000116e: DUP8 0000116f: DUP1 00001170: EXTCODESIZE 00001171: ISZERO 00001172: DUP1 00001173: ISZERO 00001174: PUSH2 0x117c 00001177: JUMPI 00001178: PUSH1 0x00 0000117a: DUP1 0000117b: REVERT 0000117c: JUMPDEST 0000117d: POP 0000117e: GAS 0000117f: CALL 00001180: ISZERO 00001181: DUP1 00001182: ISZERO 00001183: PUSH2 0x1190 00001186: JUMPI 00001187: RETURNDATASIZE 00001188: PUSH1 0x00 0000118a: DUP1 0000118b: RETURNDATACOPY 0000118c: RETURNDATASIZE 0000118d: PUSH1 0x00 0000118f: REVERT 00001190: JUMPDEST 00001191: POP 00001192: POP 00001193: POP 00001194: POP 00001195: POP 00001196: POP 00001197: POP 00001198: POP 00001199: POP 0000119a: JUMP 0000119b: JUMPDEST 0000119c: PUSH1 0x60 0000119e: PUSH2 0x11c6 000011a1: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 000011c2: PUSH2 0x25c6 000011c5: JUMP 000011c6: JUMPDEST 000011c7: PUSH2 0x11ef 000011ca: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 000011eb: PUSH2 0x25c6 000011ee: JUMP 000011ef: JUMPDEST 000011f0: PUSH2 0x1218 000011f3: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 00001214: PUSH2 0x25c6 00001217: JUMP 00001218: JUMPDEST 00001219: PUSH1 0x40 0000121b: MLOAD 0000121c: PUSH1 0x20 0000121e: ADD 0000121f: PUSH2 0x122a 00001222: SWAP4 00001223: SWAP3 00001224: SWAP2 00001225: SWAP1 00001226: PUSH2 0x3c6d 00001229: JUMP 0000122a: JUMPDEST 0000122b: PUSH1 0x40 0000122d: MLOAD 0000122e: PUSH1 0x20 00001230: DUP2 00001231: DUP4 00001232: SUB 00001233: SUB 00001234: DUP2 00001235: MSTORE 00001236: SWAP1 00001237: PUSH1 0x40 00001239: MSTORE 0000123a: SWAP1 0000123b: POP 0000123c: SWAP1 0000123d: JUMP 0000123e: JUMPDEST 0000123f: PUSH1 0x60 00001241: DUP4 00001242: PUSH8 0xffffffffffffffff 0000124b: DUP2 0000124c: GT 0000124d: ISZERO 0000124e: PUSH2 0x1259 00001251: JUMPI 00001252: PUSH2 0x1259 00001255: PUSH2 0x3cc7 00001258: JUMP 00001259: JUMPDEST 0000125a: PUSH1 0x40 0000125c: MLOAD 0000125d: SWAP1 0000125e: DUP1 0000125f: DUP3 00001260: MSTORE 00001261: DUP1 00001262: PUSH1 0x20 00001264: MUL 00001265: PUSH1 0x20 00001267: ADD 00001268: DUP3 00001269: ADD 0000126a: PUSH1 0x40 0000126c: MSTORE 0000126d: DUP1 0000126e: ISZERO 0000126f: PUSH2 0x1282 00001272: JUMPI 00001273: DUP2 00001274: PUSH1 0x20 00001276: ADD 00001277: PUSH1 0x20 00001279: DUP3 0000127a: MUL 0000127b: DUP1 0000127c: CALLDATASIZE 0000127d: DUP4 0000127e: CALLDATACOPY 0000127f: ADD 00001280: SWAP1 00001281: POP 00001282: JUMPDEST 00001283: POP 00001284: SWAP1 00001285: POP 00001286: PUSH1 0x00 00001288: DUP1 00001289: JUMPDEST 0000128a: DUP6 0000128b: DUP2 0000128c: LT 0000128d: ISZERO 0000128e: PUSH2 0x1353 00001291: JUMPI 00001292: DUP2 00001293: DUP8 00001294: DUP8 00001295: DUP4 00001296: DUP2 00001297: DUP2 00001298: LT 00001299: PUSH2 0x12a4 0000129c: JUMPI 0000129d: PUSH2 0x12a4 000012a0: PUSH2 0x3bc3 000012a3: JUMP 000012a4: JUMPDEST 000012a5: SWAP1 000012a6: POP 000012a7: PUSH1 0x20 000012a9: MUL 000012aa: ADD 000012ab: CALLDATALOAD 000012ac: LT 000012ad: ISZERO 000012ae: PUSH2 0x12ca 000012b1: JUMPI 000012b2: PUSH1 0x40 000012b4: MLOAD 000012b5: PUSH4 0x374e8bd1 000012ba: PUSH1 0xe0 000012bc: SHL 000012bd: DUP2 000012be: MSTORE 000012bf: PUSH1 0x04 000012c1: ADD 000012c2: PUSH1 0x40 000012c4: MLOAD 000012c5: DUP1 000012c6: SWAP2 000012c7: SUB 000012c8: SWAP1 000012c9: REVERT 000012ca: JUMPDEST 000012cb: PUSH2 0x12ed 000012ce: DUP8 000012cf: DUP8 000012d0: DUP4 000012d1: DUP2 000012d2: DUP2 000012d3: LT 000012d4: PUSH2 0x12df 000012d7: JUMPI 000012d8: PUSH2 0x12df 000012db: PUSH2 0x3bc3 000012de: JUMP 000012df: JUMPDEST 000012e0: SWAP1 000012e1: POP 000012e2: PUSH1 0x20 000012e4: MUL 000012e5: ADD 000012e6: CALLDATALOAD 000012e7: DUP7 000012e8: DUP7 000012e9: PUSH2 0x0990 000012ec: JUMP 000012ed: JUMPDEST 000012ee: DUP4 000012ef: DUP3 000012f0: DUP2 000012f1: MLOAD 000012f2: DUP2 000012f3: LT 000012f4: PUSH2 0x12ff 000012f7: JUMPI 000012f8: PUSH2 0x12ff 000012fb: PUSH2 0x3bc3 000012fe: JUMP 000012ff: JUMPDEST 00001300: PUSH1 0x20 00001302: MUL 00001303: PUSH1 0x20 00001305: ADD 00001306: ADD 00001307: DUP2 00001308: DUP2 00001309: MSTORE 0000130a: POP 0000130b: POP 0000130c: DUP3 0000130d: DUP2 0000130e: DUP2 0000130f: MLOAD 00001310: DUP2 00001311: LT 00001312: PUSH2 0x131d 00001315: JUMPI 00001316: PUSH2 0x131d 00001319: PUSH2 0x3bc3 0000131c: JUMP 0000131d: JUMPDEST 0000131e: PUSH1 0x20 00001320: MUL 00001321: PUSH1 0x20 00001323: ADD 00001324: ADD 00001325: MLOAD 00001326: SWAP5 00001327: POP 00001328: DUP7 00001329: DUP7 0000132a: DUP3 0000132b: DUP2 0000132c: DUP2 0000132d: LT 0000132e: PUSH2 0x1339 00001331: JUMPI 00001332: PUSH2 0x1339 00001335: PUSH2 0x3bc3 00001338: JUMP 00001339: JUMPDEST 0000133a: SWAP1 0000133b: POP 0000133c: PUSH1 0x20 0000133e: MUL 0000133f: ADD 00001340: CALLDATALOAD 00001341: SWAP2 00001342: POP 00001343: DUP1 00001344: PUSH2 0x134c 00001347: SWAP1 00001348: PUSH2 0x3cdd 0000134b: JUMP 0000134c: JUMPDEST 0000134d: SWAP1 0000134e: POP 0000134f: PUSH2 0x1289 00001352: JUMP 00001353: JUMPDEST 00001354: POP 00001355: POP 00001356: SWAP5 00001357: SWAP4 00001358: POP 00001359: POP 0000135a: POP 0000135b: POP 0000135c: JUMP 0000135d: JUMPDEST 0000135e: PUSH1 0xca 00001360: SLOAD 00001361: PUSH1 0x01 00001363: PUSH1 0x01 00001365: PUSH1 0xa0 00001367: SHL 00001368: SUB 00001369: AND 0000136a: CALLER 0000136b: EQ 0000136c: PUSH2 0x1388 0000136f: JUMPI 00001370: PUSH1 0x40 00001372: MLOAD 00001373: PUSH4 0x8dfa73db 00001378: PUSH1 0xe0 0000137a: SHL 0000137b: DUP2 0000137c: MSTORE 0000137d: PUSH1 0x04 0000137f: ADD 00001380: PUSH1 0x40 00001382: MLOAD 00001383: DUP1 00001384: SWAP2 00001385: SUB 00001386: SWAP1 00001387: REVERT 00001388: JUMPDEST 00001389: PUSH1 0x01 0000138b: PUSH1 0x01 0000138d: PUSH1 0xa0 0000138f: SHL 00001390: SUB 00001391: DUP3 00001392: AND 00001393: PUSH2 0x139d 00001396: PUSH1 0xc8 00001398: DUP6 00001399: PUSH2 0x24de 0000139c: JUMP 0000139d: JUMPDEST 0000139e: PUSH1 0x01 000013a0: PUSH1 0x01 000013a2: PUSH1 0xa0 000013a4: SHL 000013a5: SUB 000013a6: AND 000013a7: EQ 000013a8: PUSH2 0x13c4 000013ab: JUMPI 000013ac: PUSH1 0x40 000013ae: MLOAD 000013af: PUSH4 0x8f700e79 000013b4: PUSH1 0xe0 000013b6: SHL 000013b7: DUP2 000013b8: MSTORE 000013b9: PUSH1 0x04 000013bb: ADD 000013bc: PUSH1 0x40 000013be: MLOAD 000013bf: DUP1 000013c0: SWAP2 000013c1: SUB 000013c2: SWAP1 000013c3: REVERT 000013c4: JUMPDEST 000013c5: PUSH2 0x13ce 000013c8: DUP3 000013c9: DUP3 000013ca: PUSH2 0x26cf 000013cd: JUMP 000013ce: JUMPDEST 000013cf: PUSH1 0x40 000013d1: MLOAD 000013d2: PUSH4 0x5dd7f8f1 000013d7: PUSH1 0xe1 000013d9: SHL 000013da: DUP2 000013db: MSTORE 000013dc: PUSH1 0x04 000013de: DUP2 000013df: ADD 000013e0: DUP3 000013e1: SWAP1 000013e2: MSTORE 000013e3: PUSH1 0x01 000013e5: PUSH1 0x01 000013e7: PUSH1 0xa0 000013e9: SHL 000013ea: SUB 000013eb: DUP4 000013ec: AND 000013ed: SWAP1 000013ee: PUSH4 0xbbaff1e2 000013f3: SWAP1 000013f4: PUSH1 0x24 000013f6: ADD 000013f7: PUSH1 0x00 000013f9: PUSH1 0x40 000013fb: MLOAD 000013fc: DUP1 000013fd: DUP4 000013fe: SUB 000013ff: DUP2 00001400: PUSH1 0x00 00001402: DUP8 00001403: DUP1 00001404: EXTCODESIZE 00001405: ISZERO 00001406: DUP1 00001407: ISZERO 00001408: PUSH2 0x1410 0000140b: JUMPI 0000140c: PUSH1 0x00 0000140e: DUP1 0000140f: REVERT 00001410: JUMPDEST 00001411: POP 00001412: GAS 00001413: CALL 00001414: ISZERO 00001415: DUP1 00001416: ISZERO 00001417: PUSH2 0x1424 0000141a: JUMPI 0000141b: RETURNDATASIZE 0000141c: PUSH1 0x00 0000141e: DUP1 0000141f: RETURNDATACOPY 00001420: RETURNDATASIZE 00001421: PUSH1 0x00 00001423: REVERT 00001424: JUMPDEST 00001425: POP 00001426: POP 00001427: POP 00001428: POP 00001429: POP 0000142a: POP 0000142b: POP 0000142c: JUMP 0000142d: JUMPDEST 0000142e: PUSH2 0x1435 00001431: PUSH2 0x240c 00001434: JUMP 00001435: JUMPDEST 00001436: PUSH1 0x01 00001438: PUSH1 0x01 0000143a: PUSH1 0xa0 0000143c: SHL 0000143d: SUB 0000143e: DUP4 0000143f: AND 00001440: PUSH2 0x1448 00001443: JUMPI 00001444: PUSH1 0x00 00001446: DUP1 00001447: REVERT 00001448: JUMPDEST 00001449: PUSH2 0x2710 0000144c: DUP3 0000144d: GT 0000144e: ISZERO 0000144f: PUSH2 0x1457 00001452: JUMPI 00001453: PUSH1 0x00 00001455: DUP1 00001456: REVERT 00001457: JUMPDEST 00001458: PUSH1 0xcb 0000145a: DUP1 0000145b: SLOAD 0000145c: PUSH1 0x01 0000145e: PUSH1 0x01 00001460: PUSH1 0xa0 00001462: SHL 00001463: SUB 00001464: NOT 00001465: AND 00001466: PUSH1 0x01 00001468: PUSH1 0x01 0000146a: PUSH1 0xa0 0000146c: SHL 0000146d: SUB 0000146e: SWAP5 0000146f: SWAP1 00001470: SWAP5 00001471: AND 00001472: SWAP4 00001473: SWAP1 00001474: SWAP4 00001475: OR 00001476: SWAP1 00001477: SWAP3 00001478: SSTORE 00001479: PUSH1 0xce 0000147b: SSTORE 0000147c: PUSH1 0xcf 0000147e: SSTORE 0000147f: JUMP 00001480: JUMPDEST 00001481: PUSH2 0x1488 00001484: PUSH2 0x240c 00001487: JUMP 00001488: JUMPDEST 00001489: PUSH1 0x01 0000148b: PUSH1 0x01 0000148d: PUSH1 0xa0 0000148f: SHL 00001490: SUB 00001491: DUP2 00001492: AND 00001493: PUSH2 0x149b 00001496: JUMPI 00001497: PUSH1 0x00 00001499: DUP1 0000149a: REVERT 0000149b: JUMPDEST 0000149c: PUSH1 0xca 0000149e: DUP1 0000149f: SLOAD 000014a0: PUSH1 0x01 000014a2: PUSH1 0x01 000014a4: PUSH1 0xa0 000014a6: SHL 000014a7: SUB 000014a8: NOT 000014a9: AND 000014aa: PUSH1 0x01 000014ac: PUSH1 0x01 000014ae: PUSH1 0xa0 000014b0: SHL 000014b1: SUB 000014b2: SWAP3 000014b3: SWAP1 000014b4: SWAP3 000014b5: AND 000014b6: SWAP2 000014b7: SWAP1 000014b8: SWAP2 000014b9: OR 000014ba: SWAP1 000014bb: SSTORE 000014bc: JUMP 000014bd: JUMPDEST 000014be: PUSH2 0x14c5 000014c1: PUSH2 0x240c 000014c4: JUMP 000014c5: JUMPDEST 000014c6: PUSH2 0x14cf 000014c9: PUSH1 0x00 000014cb: PUSH2 0x2784 000014ce: JUMP 000014cf: JUMPDEST 000014d0: JUMP 000014d1: JUMPDEST 000014d2: PUSH1 0x65 000014d4: SLOAD 000014d5: CALLER 000014d6: SWAP1 000014d7: PUSH1 0x01 000014d9: PUSH1 0x01 000014db: PUSH1 0xa0 000014dd: SHL 000014de: SUB 000014df: AND 000014e0: DUP2 000014e1: EQ 000014e2: PUSH2 0x153f 000014e5: JUMPI 000014e6: PUSH1 0x40 000014e8: MLOAD 000014e9: PUSH3 0x461bcd 000014ed: PUSH1 0xe5 000014ef: SHL 000014f0: DUP2 000014f1: MSTORE 000014f2: PUSH1 0x20 000014f4: PUSH1 0x04 000014f6: DUP3 000014f7: ADD 000014f8: MSTORE 000014f9: PUSH1 0x29 000014fb: PUSH1 0x24 000014fd: DUP3 000014fe: ADD 000014ff: MSTORE 00001500: PUSH32 0x4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520 00001521: PUSH1 0x44 00001523: DUP3 00001524: ADD 00001525: MSTORE 00001526: PUSH9 0x3732bb9037bbb732b9 00001530: PUSH1 0xb9 00001532: SHL 00001533: PUSH1 0x64 00001535: DUP3 00001536: ADD 00001537: MSTORE 00001538: PUSH1 0x84 0000153a: ADD 0000153b: PUSH2 0x09bd 0000153e: JUMP 0000153f: JUMPDEST 00001540: PUSH2 0x1548 00001543: DUP2 00001544: PUSH2 0x2784 00001547: JUMP 00001548: JUMPDEST 00001549: POP 0000154a: JUMP 0000154b: JUMPDEST 0000154c: PUSH1 0x01 0000154e: PUSH1 0x01 00001550: PUSH1 0xa0 00001552: SHL 00001553: SUB 00001554: DUP2 00001555: AND 00001556: PUSH1 0x00 00001558: SWAP1 00001559: DUP2 0000155a: MSTORE 0000155b: PUSH1 0x98 0000155d: PUSH1 0x20 0000155f: MSTORE 00001560: PUSH1 0x40 00001562: SWAP1 00001563: KECCAK256 00001564: PUSH1 0x60 00001566: SWAP1 00001567: PUSH2 0x156f 0000156a: SWAP1 0000156b: PUSH2 0x279d 0000156e: JUMP 0000156f: JUMPDEST 00001570: SWAP3 00001571: SWAP2 00001572: POP 00001573: POP 00001574: JUMP 00001575: JUMPDEST 00001576: PUSH1 0x00 00001578: DUP1 00001579: PUSH2 0x1580 0000157c: PUSH2 0x194d 0000157f: JUMP 00001580: JUMPDEST 00001581: SWAP1 00001582: POP 00001583: DUP1 00001584: PUSH1 0x00 00001586: SUB 00001587: PUSH2 0x15a3 0000158a: JUMPI 0000158b: PUSH1 0x40 0000158d: MLOAD 0000158e: PUSH4 0x32feec7f 00001593: PUSH1 0xe2 00001595: SHL 00001596: DUP2 00001597: MSTORE 00001598: PUSH1 0x04 0000159a: ADD 0000159b: PUSH1 0x40 0000159d: MLOAD 0000159e: DUP1 0000159f: SWAP2 000015a0: SUB 000015a1: SWAP1 000015a2: REVERT 000015a3: JUMPDEST 000015a4: PUSH1 0xcd 000015a6: SLOAD 000015a7: PUSH2 0x15b0 000015aa: SWAP1 000015ab: DUP3 000015ac: PUSH2 0x3bd9 000015af: JUMP 000015b0: JUMPDEST 000015b1: PUSH2 0x15c6 000015b4: PUSH12 0x033b2e3c9fd0803ce8000000 000015c1: DUP4 000015c2: PUSH2 0x3cf6 000015c5: JUMP 000015c6: JUMPDEST 000015c7: PUSH2 0x15d0 000015ca: SWAP2 000015cb: SWAP1 000015cc: PUSH2 0x3c07 000015cf: JUMP 000015d0: JUMPDEST 000015d1: SWAP2 000015d2: POP 000015d3: POP 000015d4: SWAP1 000015d5: JUMP 000015d6: JUMPDEST 000015d7: PUSH2 0x15de 000015da: PUSH2 0x240c 000015dd: JUMP 000015de: JUMPDEST 000015df: PUSH2 0x098c 000015e2: PUSH1 0xc8 000015e4: DUP3 000015e5: PUSH2 0x27aa 000015e8: JUMP 000015e9: JUMPDEST 000015ea: PUSH1 0xcc 000015ec: SLOAD 000015ed: PUSH1 0x01 000015ef: PUSH1 0x01 000015f1: PUSH1 0xa0 000015f3: SHL 000015f4: SUB 000015f5: AND 000015f6: CALLER 000015f7: EQ 000015f8: PUSH2 0x1614 000015fb: JUMPI 000015fc: PUSH1 0x40 000015fe: MLOAD 000015ff: PUSH4 0x575faf41 00001604: PUSH1 0xe1 00001606: SHL 00001607: DUP2 00001608: MSTORE 00001609: PUSH1 0x04 0000160b: ADD 0000160c: PUSH1 0x40 0000160e: MLOAD 0000160f: DUP1 00001610: SWAP2 00001611: SUB 00001612: SWAP1 00001613: REVERT 00001614: JUMPDEST 00001615: PUSH2 0x161f 00001618: PUSH1 0xc8 0000161a: DUP4 0000161b: PUSH2 0x27bf 0000161e: JUMP 0000161f: JUMPDEST 00001620: PUSH2 0x163c 00001623: JUMPI 00001624: PUSH1 0x40 00001626: MLOAD 00001627: PUSH4 0xb1cd0903 0000162c: PUSH1 0xe0 0000162e: SHL 0000162f: DUP2 00001630: MSTORE 00001631: PUSH1 0x04 00001633: ADD 00001634: PUSH1 0x40 00001636: MLOAD 00001637: DUP1 00001638: SWAP2 00001639: SUB 0000163a: SWAP1 0000163b: REVERT 0000163c: JUMPDEST 0000163d: PUSH1 0x40 0000163f: MLOAD 00001640: PUSH4 0x5dd7f8f1 00001645: PUSH1 0xe1 00001647: SHL 00001648: DUP2 00001649: MSTORE 0000164a: PUSH1 0x04 0000164c: DUP2 0000164d: ADD 0000164e: DUP3 0000164f: SWAP1 00001650: MSTORE 00001651: PUSH1 0x01 00001653: PUSH1 0x01 00001655: PUSH1 0xa0 00001657: SHL 00001658: SUB 00001659: DUP4 0000165a: AND 0000165b: SWAP1 0000165c: PUSH4 0xbbaff1e2 00001661: SWAP1 00001662: PUSH1 0x24 00001664: ADD 00001665: PUSH1 0x00 00001667: PUSH1 0x40 00001669: MLOAD 0000166a: DUP1 0000166b: DUP4 0000166c: SUB 0000166d: DUP2 0000166e: PUSH1 0x00 00001670: DUP8 00001671: DUP1 00001672: EXTCODESIZE 00001673: ISZERO 00001674: DUP1 00001675: ISZERO 00001676: PUSH2 0x167e 00001679: JUMPI 0000167a: PUSH1 0x00 0000167c: DUP1 0000167d: REVERT 0000167e: JUMPDEST 0000167f: POP 00001680: GAS 00001681: CALL 00001682: ISZERO 00001683: DUP1 00001684: ISZERO 00001685: PUSH2 0x1692 00001688: JUMPI 00001689: RETURNDATASIZE 0000168a: PUSH1 0x00 0000168c: DUP1 0000168d: RETURNDATACOPY 0000168e: RETURNDATASIZE 0000168f: PUSH1 0x00 00001691: REVERT 00001692: JUMPDEST 00001693: POP 00001694: POP 00001695: POP 00001696: POP 00001697: POP 00001698: POP 00001699: JUMP 0000169a: JUMPDEST 0000169b: PUSH1 0xd0 0000169d: SLOAD 0000169e: PUSH1 0x00 000016a0: SWAP1 000016a1: PUSH1 0x01 000016a3: PUSH1 0x01 000016a5: PUSH1 0xa0 000016a7: SHL 000016a8: SUB 000016a9: AND 000016aa: CALLER 000016ab: EQ 000016ac: PUSH2 0x16c8 000016af: JUMPI 000016b0: PUSH1 0x40 000016b2: MLOAD 000016b3: PUSH4 0x5c5536bd 000016b8: PUSH1 0xe0 000016ba: SHL 000016bb: DUP2 000016bc: MSTORE 000016bd: PUSH1 0x04 000016bf: ADD 000016c0: PUSH1 0x40 000016c2: MLOAD 000016c3: DUP1 000016c4: SWAP2 000016c5: SUB 000016c6: SWAP1 000016c7: REVERT 000016c8: JUMPDEST 000016c9: PUSH1 0xd0 000016cb: SLOAD 000016cc: PUSH2 0x156f 000016cf: SWAP1 000016d0: PUSH1 0x01 000016d2: PUSH1 0x01 000016d4: PUSH1 0xa0 000016d6: SHL 000016d7: SUB 000016d8: AND 000016d9: DUP4 000016da: PUSH2 0x27e1 000016dd: JUMP 000016de: JUMPDEST 000016df: PUSH1 0x00 000016e1: PUSH2 0x16e9 000016e4: PUSH1 0x9d 000016e6: SLOAD 000016e7: SWAP1 000016e8: JUMP 000016e9: JUMPDEST 000016ea: PUSH2 0x16f3 000016ed: SWAP1 000016ee: SELFBALANCE 000016ef: PUSH2 0x3bac 000016f2: JUMP 000016f3: JUMPDEST 000016f4: SWAP1 000016f5: POP 000016f6: SWAP1 000016f7: JUMP 000016f8: JUMPDEST 000016f9: PUSH1 0x60 000016fb: DUP2 000016fc: PUSH8 0xffffffffffffffff 00001705: DUP2 00001706: GT 00001707: ISZERO 00001708: PUSH2 0x1713 0000170b: JUMPI 0000170c: PUSH2 0x1713 0000170f: PUSH2 0x3cc7 00001712: JUMP 00001713: JUMPDEST 00001714: PUSH1 0x40 00001716: MLOAD 00001717: SWAP1 00001718: DUP1 00001719: DUP3 0000171a: MSTORE 0000171b: DUP1 0000171c: PUSH1 0x20 0000171e: MUL 0000171f: PUSH1 0x20 00001721: ADD 00001722: DUP3 00001723: ADD 00001724: PUSH1 0x40 00001726: MSTORE 00001727: DUP1 00001728: ISZERO 00001729: PUSH2 0x176c 0000172c: JUMPI 0000172d: DUP2 0000172e: PUSH1 0x20 00001730: ADD 00001731: JUMPDEST 00001732: PUSH1 0x40 00001734: DUP1 00001735: MLOAD 00001736: PUSH1 0xa0 00001738: DUP2 00001739: ADD 0000173a: DUP3 0000173b: MSTORE 0000173c: PUSH1 0x00 0000173e: DUP1 0000173f: DUP3 00001740: MSTORE 00001741: PUSH1 0x20 00001743: DUP1 00001744: DUP4 00001745: ADD 00001746: DUP3 00001747: SWAP1 00001748: MSTORE 00001749: SWAP3 0000174a: DUP3 0000174b: ADD 0000174c: DUP2 0000174d: SWAP1 0000174e: MSTORE 0000174f: PUSH1 0x60 00001751: DUP3 00001752: ADD 00001753: DUP2 00001754: SWAP1 00001755: MSTORE 00001756: PUSH1 0x80 00001758: DUP3 00001759: ADD 0000175a: MSTORE 0000175b: DUP3 0000175c: MSTORE 0000175d: PUSH1 0x00 0000175f: NOT 00001760: SWAP1 00001761: SWAP3 00001762: ADD 00001763: SWAP2 00001764: ADD 00001765: DUP2 00001766: PUSH2 0x1731 00001769: JUMPI 0000176a: SWAP1 0000176b: POP 0000176c: JUMPDEST 0000176d: POP 0000176e: SWAP1 0000176f: POP 00001770: PUSH1 0x00 00001772: JUMPDEST 00001773: DUP3 00001774: DUP2 00001775: LT 00001776: ISZERO 00001777: PUSH2 0x17c9 0000177a: JUMPI 0000177b: PUSH2 0x179b 0000177e: DUP5 0000177f: DUP5 00001780: DUP4 00001781: DUP2 00001782: DUP2 00001783: LT 00001784: PUSH2 0x178f 00001787: JUMPI 00001788: PUSH2 0x178f 0000178b: PUSH2 0x3bc3 0000178e: JUMP 0000178f: JUMPDEST 00001790: SWAP1 00001791: POP 00001792: PUSH1 0x20 00001794: MUL 00001795: ADD 00001796: CALLDATALOAD 00001797: PUSH2 0x29ec 0000179a: JUMP 0000179b: JUMPDEST 0000179c: DUP3 0000179d: DUP3 0000179e: DUP2 0000179f: MLOAD 000017a0: DUP2 000017a1: LT 000017a2: PUSH2 0x17ad 000017a5: JUMPI 000017a6: PUSH2 0x17ad 000017a9: PUSH2 0x3bc3 000017ac: JUMP 000017ad: JUMPDEST 000017ae: PUSH1 0x20 000017b0: MUL 000017b1: PUSH1 0x20 000017b3: ADD 000017b4: ADD 000017b5: DUP2 000017b6: SWAP1 000017b7: MSTORE 000017b8: POP 000017b9: DUP1 000017ba: PUSH2 0x17c2 000017bd: SWAP1 000017be: PUSH2 0x3cdd 000017c1: JUMP 000017c2: JUMPDEST 000017c3: SWAP1 000017c4: POP 000017c5: PUSH2 0x1772 000017c8: JUMP 000017c9: JUMPDEST 000017ca: POP 000017cb: SWAP3 000017cc: SWAP2 000017cd: POP 000017ce: POP 000017cf: JUMP 000017d0: JUMPDEST 000017d1: PUSH1 0x00 000017d3: DUP1 000017d4: PUSH2 0x17dd 000017d7: PUSH1 0xc8 000017d9: PUSH2 0x2bb5 000017dc: JUMP 000017dd: JUMPDEST 000017de: SWAP1 000017df: POP 000017e0: PUSH1 0x00 000017e2: JUMPDEST 000017e3: DUP2 000017e4: DUP2 000017e5: LT 000017e6: ISZERO 000017e7: PUSH2 0x1874 000017ea: JUMPI 000017eb: PUSH2 0x17f5 000017ee: PUSH1 0xc8 000017f0: DUP3 000017f1: PUSH2 0x24de 000017f4: JUMP 000017f5: JUMPDEST 000017f6: PUSH1 0x01 000017f8: PUSH1 0x01 000017fa: PUSH1 0xa0 000017fc: SHL 000017fd: SUB 000017fe: AND 000017ff: PUSH4 0xd4c3eea0 00001804: PUSH1 0x40 00001806: MLOAD 00001807: DUP2 00001808: PUSH4 0xffffffff 0000180d: AND 0000180e: PUSH1 0xe0 00001810: SHL 00001811: DUP2 00001812: MSTORE 00001813: PUSH1 0x04 00001815: ADD 00001816: PUSH1 0x20 00001818: PUSH1 0x40 0000181a: MLOAD 0000181b: DUP1 0000181c: DUP4 0000181d: SUB 0000181e: DUP2 0000181f: DUP7 00001820: GAS 00001821: STATICCALL 00001822: ISZERO 00001823: DUP1 00001824: ISZERO 00001825: PUSH2 0x1832 00001828: JUMPI 00001829: RETURNDATASIZE 0000182a: PUSH1 0x00 0000182c: DUP1 0000182d: RETURNDATACOPY 0000182e: RETURNDATASIZE 0000182f: PUSH1 0x00 00001831: REVERT 00001832: JUMPDEST 00001833: POP 00001834: POP 00001835: POP 00001836: POP 00001837: PUSH1 0x40 00001839: MLOAD 0000183a: RETURNDATASIZE 0000183b: PUSH1 0x1f 0000183d: NOT 0000183e: PUSH1 0x1f 00001840: DUP3 00001841: ADD 00001842: AND 00001843: DUP3 00001844: ADD 00001845: DUP1 00001846: PUSH1 0x40 00001848: MSTORE 00001849: POP 0000184a: DUP2 0000184b: ADD 0000184c: SWAP1 0000184d: PUSH2 0x1856 00001850: SWAP2 00001851: SWAP1 00001852: PUSH2 0x3c54 00001855: JUMP 00001856: JUMPDEST 00001857: PUSH2 0x1860 0000185a: SWAP1 0000185b: DUP5 0000185c: PUSH2 0x3bd9 0000185f: JUMP 00001860: JUMPDEST 00001861: SWAP3 00001862: POP 00001863: DUP1 00001864: PUSH2 0x186c 00001867: DUP2 00001868: PUSH2 0x3cdd 0000186b: JUMP 0000186c: JUMPDEST 0000186d: SWAP2 0000186e: POP 0000186f: POP 00001870: PUSH2 0x17e2 00001873: JUMP 00001874: JUMPDEST 00001875: POP 00001876: POP 00001877: SWAP1 00001878: JUMP 00001879: JUMPDEST 0000187a: PUSH1 0x00 0000187c: PUSH1 0x9b 0000187e: SLOAD 0000187f: PUSH1 0x9a 00001881: SLOAD 00001882: PUSH2 0x16f3 00001885: SWAP2 00001886: SWAP1 00001887: PUSH2 0x3bac 0000188a: JUMP 0000188b: JUMPDEST 0000188c: PUSH1 0x60 0000188e: DUP4 0000188f: PUSH8 0xffffffffffffffff 00001898: DUP2 00001899: GT 0000189a: ISZERO 0000189b: PUSH2 0x18a6 0000189e: JUMPI 0000189f: PUSH2 0x18a6 000018a2: PUSH2 0x3cc7 000018a5: JUMP 000018a6: JUMPDEST 000018a7: PUSH1 0x40 000018a9: MLOAD 000018aa: SWAP1 000018ab: DUP1 000018ac: DUP3 000018ad: MSTORE 000018ae: DUP1 000018af: PUSH1 0x20 000018b1: MUL 000018b2: PUSH1 0x20 000018b4: ADD 000018b5: DUP3 000018b6: ADD 000018b7: PUSH1 0x40 000018b9: MSTORE 000018ba: DUP1 000018bb: ISZERO 000018bc: PUSH2 0x18cf 000018bf: JUMPI 000018c0: DUP2 000018c1: PUSH1 0x20 000018c3: ADD 000018c4: PUSH1 0x20 000018c6: DUP3 000018c7: MUL 000018c8: DUP1 000018c9: CALLDATASIZE 000018ca: DUP4 000018cb: CALLDATACOPY 000018cc: ADD 000018cd: SWAP1 000018ce: POP 000018cf: JUMPDEST 000018d0: POP 000018d1: SWAP1 000018d2: POP 000018d3: PUSH1 0x00 000018d5: JUMPDEST 000018d6: DUP5 000018d7: DUP2 000018d8: LT 000018d9: ISZERO 000018da: PUSH2 0x1944 000018dd: JUMPI 000018de: PUSH2 0x1917 000018e1: DUP7 000018e2: DUP7 000018e3: DUP4 000018e4: DUP2 000018e5: DUP2 000018e6: LT 000018e7: PUSH2 0x18f2 000018ea: JUMPI 000018eb: PUSH2 0x18f2 000018ee: PUSH2 0x3bc3 000018f1: JUMP 000018f2: JUMPDEST 000018f3: SWAP1 000018f4: POP 000018f5: PUSH1 0x20 000018f7: MUL 000018f8: ADD 000018f9: CALLDATALOAD 000018fa: DUP6 000018fb: DUP6 000018fc: DUP5 000018fd: DUP2 000018fe: DUP2 000018ff: LT 00001900: PUSH2 0x190b 00001903: JUMPI 00001904: PUSH2 0x190b 00001907: PUSH2 0x3bc3 0000190a: JUMP 0000190b: JUMPDEST 0000190c: SWAP1 0000190d: POP 0000190e: PUSH1 0x20 00001910: MUL 00001911: ADD 00001912: CALLDATALOAD 00001913: PUSH2 0x2bbf 00001916: JUMP 00001917: JUMPDEST 00001918: DUP3 00001919: DUP3 0000191a: DUP2 0000191b: MLOAD 0000191c: DUP2 0000191d: LT 0000191e: PUSH2 0x1929 00001921: JUMPI 00001922: PUSH2 0x1929 00001925: PUSH2 0x3bc3 00001928: JUMP 00001929: JUMPDEST 0000192a: PUSH1 0x20 0000192c: SWAP1 0000192d: DUP2 0000192e: MUL 0000192f: SWAP2 00001930: SWAP1 00001931: SWAP2 00001932: ADD 00001933: ADD 00001934: MSTORE 00001935: PUSH2 0x193d 00001938: DUP2 00001939: PUSH2 0x3cdd 0000193c: JUMP 0000193d: JUMPDEST 0000193e: SWAP1 0000193f: POP 00001940: PUSH2 0x18d5 00001943: JUMP 00001944: JUMPDEST 00001945: POP 00001946: SWAP5 00001947: SWAP4 00001948: POP 00001949: POP 0000194a: POP 0000194b: POP 0000194c: JUMP 0000194d: JUMPDEST 0000194e: PUSH1 0x00 00001950: PUSH2 0x1957 00001953: PUSH2 0x17d0 00001956: JUMP 00001957: JUMPDEST 00001958: PUSH2 0x195f 0000195b: PUSH2 0x16de 0000195e: JUMP 0000195f: JUMPDEST 00001960: PUSH2 0x16f3 00001963: SWAP2 00001964: SWAP1 00001965: PUSH2 0x3bd9 00001968: JUMP 00001969: JUMPDEST 0000196a: CALLER 0000196b: ADDRESS 0000196c: EQ 0000196d: PUSH2 0x19b8 00001970: JUMPI 00001971: PUSH1 0x40 00001973: MLOAD 00001974: PUSH3 0x461bcd 00001978: PUSH1 0xe5 0000197a: SHL 0000197b: DUP2 0000197c: MSTORE 0000197d: PUSH1 0x20 0000197f: PUSH1 0x04 00001981: DUP3 00001982: ADD 00001983: MSTORE 00001984: PUSH1 0x1b 00001986: PUSH1 0x24 00001988: DUP3 00001989: ADD 0000198a: MSTORE 0000198b: PUSH32 0x43616c6c6572206973206e6f74207468697320636f6e74726163740000000000 000019ac: PUSH1 0x44 000019ae: DUP3 000019af: ADD 000019b0: MSTORE 000019b1: PUSH1 0x64 000019b3: ADD 000019b4: PUSH2 0x09bd 000019b7: JUMP 000019b8: JUMPDEST 000019b9: DUP1 000019ba: PUSH1 0xcd 000019bc: PUSH1 0x00 000019be: DUP3 000019bf: DUP3 000019c0: SLOAD 000019c1: PUSH2 0x19ca 000019c4: SWAP2 000019c5: SWAP1 000019c6: PUSH2 0x3bd9 000019c9: JUMP 000019ca: JUMPDEST 000019cb: SWAP1 000019cc: SWAP2 000019cd: SSTORE 000019ce: POP 000019cf: POP 000019d0: POP 000019d1: JUMP 000019d2: JUMPDEST 000019d3: PUSH1 0xca 000019d5: SLOAD 000019d6: PUSH1 0x01 000019d8: PUSH1 0x01 000019da: PUSH1 0xa0 000019dc: SHL 000019dd: SUB 000019de: AND 000019df: CALLER 000019e0: EQ 000019e1: PUSH2 0x19fd 000019e4: JUMPI 000019e5: PUSH1 0x40 000019e7: MLOAD 000019e8: PUSH4 0x8dfa73db 000019ed: PUSH1 0xe0 000019ef: SHL 000019f0: DUP2 000019f1: MSTORE 000019f2: PUSH1 0x04 000019f4: ADD 000019f5: PUSH1 0x40 000019f7: MLOAD 000019f8: DUP1 000019f9: SWAP2 000019fa: SUB 000019fb: SWAP1 000019fc: REVERT 000019fd: JUMPDEST 000019fe: PUSH1 0x00 00001a00: PUSH2 0x1a09 00001a03: PUSH1 0xc8 00001a05: PUSH2 0x2bb5 00001a08: JUMP 00001a09: JUMPDEST 00001a0a: PUSH1 0xcd 00001a0c: SLOAD 00001a0d: SWAP1 00001a0e: SWAP2 00001a0f: POP 00001a10: PUSH1 0x00 00001a12: DUP1 00001a13: DUP1 00001a14: DUP1 00001a15: JUMPDEST 00001a16: DUP6 00001a17: DUP2 00001a18: LT 00001a19: ISZERO 00001a1a: PUSH2 0x1d98 00001a1d: JUMPI 00001a1e: PUSH2 0x1a30 00001a21: PUSH2 0x1a2b 00001a24: PUSH1 0xc8 00001a26: DUP4 00001a27: PUSH2 0x24de 00001a2a: JUMP 00001a2b: JUMPDEST 00001a2c: PUSH2 0x2c52 00001a2f: JUMP 00001a30: JUMPDEST 00001a31: PUSH1 0x00 00001a33: PUSH2 0x1a3d 00001a36: PUSH1 0xc8 00001a38: DUP4 00001a39: PUSH2 0x24de 00001a3c: JUMP 00001a3d: JUMPDEST 00001a3e: PUSH1 0x01 00001a40: PUSH1 0x01 00001a42: PUSH1 0xa0 00001a44: SHL 00001a45: SUB 00001a46: AND 00001a47: PUSH4 0x28593984 00001a4c: PUSH1 0x40 00001a4e: MLOAD 00001a4f: DUP2 00001a50: PUSH4 0xffffffff 00001a55: AND 00001a56: PUSH1 0xe0 00001a58: SHL 00001a59: DUP2 00001a5a: MSTORE 00001a5b: PUSH1 0x04 00001a5d: ADD 00001a5e: PUSH1 0x20 00001a60: PUSH1 0x40 00001a62: MLOAD 00001a63: DUP1 00001a64: DUP4 00001a65: SUB 00001a66: DUP2 00001a67: DUP7 00001a68: GAS 00001a69: STATICCALL 00001a6a: ISZERO 00001a6b: DUP1 00001a6c: ISZERO 00001a6d: PUSH2 0x1a7a 00001a70: JUMPI 00001a71: RETURNDATASIZE 00001a72: PUSH1 0x00 00001a74: DUP1 00001a75: RETURNDATACOPY 00001a76: RETURNDATASIZE 00001a77: PUSH1 0x00 00001a79: REVERT 00001a7a: JUMPDEST 00001a7b: POP 00001a7c: POP 00001a7d: POP 00001a7e: POP 00001a7f: PUSH1 0x40 00001a81: MLOAD 00001a82: RETURNDATASIZE 00001a83: PUSH1 0x1f 00001a85: NOT 00001a86: PUSH1 0x1f 00001a88: DUP3 00001a89: ADD 00001a8a: AND 00001a8b: DUP3 00001a8c: ADD 00001a8d: DUP1 00001a8e: PUSH1 0x40 00001a90: MSTORE 00001a91: POP 00001a92: DUP2 00001a93: ADD 00001a94: SWAP1 00001a95: PUSH2 0x1a9e 00001a98: SWAP2 00001a99: SWAP1 00001a9a: PUSH2 0x3c54 00001a9d: JUMP 00001a9e: JUMPDEST 00001a9f: SWAP1 00001aa0: POP 00001aa1: PUSH1 0x00 00001aa3: DUP9 00001aa4: DUP1 00001aa5: ISZERO 00001aa6: PUSH2 0x1b16 00001aa9: JUMPI 00001aaa: POP 00001aab: PUSH2 0x1ab5 00001aae: PUSH1 0xc8 00001ab0: DUP5 00001ab1: PUSH2 0x24de 00001ab4: JUMP 00001ab5: JUMPDEST 00001ab6: PUSH1 0x01 00001ab8: PUSH1 0x01 00001aba: PUSH1 0xa0 00001abc: SHL 00001abd: SUB 00001abe: AND 00001abf: PUSH4 0x4bfb431f 00001ac4: PUSH1 0x40 00001ac6: MLOAD 00001ac7: DUP2 00001ac8: PUSH4 0xffffffff 00001acd: AND 00001ace: PUSH1 0xe0 00001ad0: SHL 00001ad1: DUP2 00001ad2: MSTORE 00001ad3: PUSH1 0x04 00001ad5: ADD 00001ad6: PUSH1 0x20 00001ad8: PUSH1 0x40 00001ada: MLOAD 00001adb: DUP1 00001adc: DUP4 00001add: SUB 00001ade: DUP2 00001adf: DUP7 00001ae0: GAS 00001ae1: STATICCALL 00001ae2: ISZERO 00001ae3: DUP1 00001ae4: ISZERO 00001ae5: PUSH2 0x1af2 00001ae8: JUMPI 00001ae9: RETURNDATASIZE 00001aea: PUSH1 0x00 00001aec: DUP1 00001aed: RETURNDATACOPY 00001aee: RETURNDATASIZE 00001aef: PUSH1 0x00 00001af1: REVERT 00001af2: JUMPDEST 00001af3: POP 00001af4: POP 00001af5: POP 00001af6: POP 00001af7: PUSH1 0x40 00001af9: MLOAD 00001afa: RETURNDATASIZE 00001afb: PUSH1 0x1f 00001afd: NOT 00001afe: PUSH1 0x1f 00001b00: DUP3 00001b01: ADD 00001b02: AND 00001b03: DUP3 00001b04: ADD 00001b05: DUP1 00001b06: PUSH1 0x40 00001b08: MSTORE 00001b09: POP 00001b0a: DUP2 00001b0b: ADD 00001b0c: SWAP1 00001b0d: PUSH2 0x1b16 00001b10: SWAP2 00001b11: SWAP1 00001b12: PUSH2 0x3d15 00001b15: JUMP 00001b16: JUMPDEST 00001b17: DUP1 00001b18: ISZERO 00001b19: PUSH2 0x1b2c 00001b1c: JUMPI 00001b1d: POP 00001b1e: PUSH1 0xcb 00001b20: SLOAD 00001b21: PUSH1 0x01 00001b23: PUSH1 0x01 00001b25: PUSH1 0xa0 00001b27: SHL 00001b28: SUB 00001b29: AND 00001b2a: ISZERO 00001b2b: ISZERO 00001b2c: JUMPDEST 00001b2d: ISZERO 00001b2e: PUSH2 0x1c53 00001b31: JUMPI 00001b32: PUSH1 0x00 00001b34: DUP3 00001b35: SGT 00001b36: ISZERO 00001b37: PUSH2 0x1b7c 00001b3a: JUMPI 00001b3b: PUSH2 0x2710 00001b3e: PUSH1 0xce 00001b40: SLOAD 00001b41: DUP4 00001b42: PUSH2 0x1b4b 00001b45: SWAP2 00001b46: SWAP1 00001b47: PUSH2 0x3cf6 00001b4a: JUMP 00001b4b: JUMPDEST 00001b4c: PUSH2 0x1b55 00001b4f: SWAP2 00001b50: SWAP1 00001b51: PUSH2 0x3c07 00001b54: JUMP 00001b55: JUMPDEST 00001b56: SWAP1 00001b57: POP 00001b58: PUSH2 0x1b6b 00001b5b: PUSH2 0x1b65 00001b5e: PUSH1 0xc8 00001b60: DUP6 00001b61: PUSH2 0x24de 00001b64: JUMP 00001b65: JUMPDEST 00001b66: DUP3 00001b67: PUSH2 0x2cf5 00001b6a: JUMP 00001b6b: JUMPDEST 00001b6c: PUSH2 0x1b75 00001b6f: DUP2 00001b70: DUP8 00001b71: PUSH2 0x3bd9 00001b74: JUMP 00001b75: JUMPDEST 00001b76: SWAP6 00001b77: POP 00001b78: PUSH2 0x1c53 00001b7b: JUMP 00001b7c: JUMPDEST 00001b7d: PUSH1 0x00 00001b7f: DUP3 00001b80: SLT 00001b81: ISZERO 00001b82: PUSH2 0x1c53 00001b85: JUMPI 00001b86: PUSH1 0x00 00001b88: PUSH1 0xcf 00001b8a: SLOAD 00001b8b: PUSH2 0x1b93 00001b8e: DUP5 00001b8f: PUSH2 0x2d49 00001b92: JUMP 00001b93: JUMPDEST 00001b94: PUSH2 0x1b9d 00001b97: SWAP2 00001b98: SWAP1 00001b99: PUSH2 0x3bd9 00001b9c: JUMP 00001b9d: JUMPDEST 00001b9e: SWAP1 00001b9f: POP 00001ba0: PUSH1 0x00 00001ba2: PUSH2 0x1bac 00001ba5: PUSH1 0xc8 00001ba7: DUP7 00001ba8: PUSH2 0x24de 00001bab: JUMP 00001bac: JUMPDEST 00001bad: PUSH1 0x01 00001baf: PUSH1 0x01 00001bb1: PUSH1 0xa0 00001bb3: SHL 00001bb4: SUB 00001bb5: AND 00001bb6: PUSH4 0x0577d6d5 00001bbb: PUSH1 0x40 00001bbd: MLOAD 00001bbe: DUP2 00001bbf: PUSH4 0xffffffff 00001bc4: AND 00001bc5: PUSH1 0xe0 00001bc7: SHL 00001bc8: DUP2 00001bc9: MSTORE 00001bca: PUSH1 0x04 00001bcc: ADD 00001bcd: PUSH1 0x20 00001bcf: PUSH1 0x40 00001bd1: MLOAD 00001bd2: DUP1 00001bd3: DUP4 00001bd4: SUB 00001bd5: DUP2 00001bd6: DUP7 00001bd7: GAS 00001bd8: STATICCALL 00001bd9: ISZERO 00001bda: DUP1 00001bdb: ISZERO 00001bdc: PUSH2 0x1be9 00001bdf: JUMPI 00001be0: RETURNDATASIZE 00001be1: PUSH1 0x00 00001be3: DUP1 00001be4: RETURNDATACOPY 00001be5: RETURNDATASIZE 00001be6: PUSH1 0x00 00001be8: REVERT 00001be9: JUMPDEST 00001bea: POP 00001beb: POP 00001bec: POP 00001bed: POP 00001bee: PUSH1 0x40 00001bf0: MLOAD 00001bf1: RETURNDATASIZE 00001bf2: PUSH1 0x1f 00001bf4: NOT 00001bf5: PUSH1 0x1f 00001bf7: DUP3 00001bf8: ADD 00001bf9: AND 00001bfa: DUP3 00001bfb: ADD 00001bfc: DUP1 00001bfd: PUSH1 0x40 00001bff: MSTORE 00001c00: POP 00001c01: DUP2 00001c02: ADD 00001c03: SWAP1 00001c04: PUSH2 0x1c0d 00001c07: SWAP2 00001c08: SWAP1 00001c09: PUSH2 0x3c54 00001c0c: JUMP 00001c0d: JUMPDEST 00001c0e: SWAP1 00001c0f: POP 00001c10: DUP2 00001c11: DUP2 00001c12: LT 00001c13: ISZERO 00001c14: PUSH2 0x1c30 00001c17: JUMPI 00001c18: PUSH1 0x40 00001c1a: MLOAD 00001c1b: PUSH4 0x3eb01713 00001c20: PUSH1 0xe0 00001c22: SHL 00001c23: DUP2 00001c24: MSTORE 00001c25: PUSH1 0x04 00001c27: ADD 00001c28: PUSH1 0x40 00001c2a: MLOAD 00001c2b: DUP1 00001c2c: SWAP2 00001c2d: SUB 00001c2e: SWAP1 00001c2f: REVERT 00001c30: JUMPDEST 00001c31: PUSH2 0x1c44 00001c34: PUSH2 0x1c3e 00001c37: PUSH1 0xc8 00001c39: DUP8 00001c3a: PUSH2 0x24de 00001c3d: JUMP 00001c3e: JUMPDEST 00001c3f: DUP4 00001c40: PUSH2 0x2d60 00001c43: JUMP 00001c44: JUMPDEST 00001c45: PUSH2 0x1c4e 00001c48: DUP3 00001c49: DUP9 00001c4a: PUSH2 0x3bd9 00001c4d: JUMP 00001c4e: JUMPDEST 00001c4f: SWAP7 00001c50: POP 00001c51: POP 00001c52: POP 00001c53: JUMPDEST 00001c54: PUSH1 0x00 00001c56: PUSH2 0x1c60 00001c59: PUSH1 0xc8 00001c5b: DUP6 00001c5c: PUSH2 0x24de 00001c5f: JUMP 00001c60: JUMPDEST 00001c61: PUSH1 0x01 00001c63: PUSH1 0x01 00001c65: PUSH1 0xa0 00001c67: SHL 00001c68: SUB 00001c69: AND 00001c6a: PUSH4 0xf304f5e5 00001c6f: PUSH1 0x40 00001c71: MLOAD 00001c72: DUP2 00001c73: PUSH4 0xffffffff 00001c78: AND 00001c79: PUSH1 0xe0 00001c7b: SHL 00001c7c: DUP2 00001c7d: MSTORE 00001c7e: PUSH1 0x04 00001c80: ADD 00001c81: PUSH1 0x20 00001c83: PUSH1 0x40 00001c85: MLOAD 00001c86: DUP1 00001c87: DUP4 00001c88: SUB 00001c89: DUP2 00001c8a: PUSH1 0x00 00001c8c: DUP8 00001c8d: GAS 00001c8e: CALL 00001c8f: ISZERO 00001c90: DUP1 00001c91: ISZERO 00001c92: PUSH2 0x1c9f 00001c95: JUMPI 00001c96: RETURNDATASIZE 00001c97: PUSH1 0x00 00001c99: DUP1 00001c9a: RETURNDATACOPY 00001c9b: RETURNDATASIZE 00001c9c: PUSH1 0x00 00001c9e: REVERT 00001c9f: JUMPDEST 00001ca0: POP 00001ca1: POP 00001ca2: POP 00001ca3: POP 00001ca4: PUSH1 0x40 00001ca6: MLOAD 00001ca7: RETURNDATASIZE 00001ca8: PUSH1 0x1f 00001caa: NOT 00001cab: PUSH1 0x1f 00001cad: DUP3 00001cae: ADD 00001caf: AND 00001cb0: DUP3 00001cb1: ADD 00001cb2: DUP1 00001cb3: PUSH1 0x40 00001cb5: MSTORE 00001cb6: POP 00001cb7: DUP2 00001cb8: ADD 00001cb9: SWAP1 00001cba: PUSH2 0x1cc3 00001cbd: SWAP2 00001cbe: SWAP1 00001cbf: PUSH2 0x3c54 00001cc2: JUMP 00001cc3: JUMPDEST 00001cc4: SWAP1 00001cc5: POP 00001cc6: DUP10 00001cc7: DUP1 00001cc8: ISZERO 00001cc9: PUSH2 0x1d39 00001ccc: JUMPI 00001ccd: POP 00001cce: PUSH2 0x1cd8 00001cd1: PUSH1 0xc8 00001cd3: DUP6 00001cd4: PUSH2 0x24de 00001cd7: JUMP 00001cd8: JUMPDEST 00001cd9: PUSH1 0x01 00001cdb: PUSH1 0x01 00001cdd: PUSH1 0xa0 00001cdf: SHL 00001ce0: SUB 00001ce1: AND 00001ce2: PUSH4 0x4bfb431f 00001ce7: PUSH1 0x40 00001ce9: MLOAD 00001cea: DUP2 00001ceb: PUSH4 0xffffffff 00001cf0: AND 00001cf1: PUSH1 0xe0 00001cf3: SHL 00001cf4: DUP2 00001cf5: MSTORE 00001cf6: PUSH1 0x04 00001cf8: ADD 00001cf9: PUSH1 0x20 00001cfb: PUSH1 0x40 00001cfd: MLOAD 00001cfe: DUP1 00001cff: DUP4 00001d00: SUB 00001d01: DUP2 00001d02: DUP7 00001d03: GAS 00001d04: STATICCALL 00001d05: ISZERO 00001d06: DUP1 00001d07: ISZERO 00001d08: PUSH2 0x1d15 00001d0b: JUMPI 00001d0c: RETURNDATASIZE 00001d0d: PUSH1 0x00 00001d0f: DUP1 00001d10: RETURNDATACOPY 00001d11: RETURNDATASIZE 00001d12: PUSH1 0x00 00001d14: REVERT 00001d15: JUMPDEST 00001d16: POP 00001d17: POP 00001d18: POP 00001d19: POP 00001d1a: PUSH1 0x40 00001d1c: MLOAD 00001d1d: RETURNDATASIZE 00001d1e: PUSH1 0x1f 00001d20: NOT 00001d21: PUSH1 0x1f 00001d23: DUP3 00001d24: ADD 00001d25: AND 00001d26: DUP3 00001d27: ADD 00001d28: DUP1 00001d29: PUSH1 0x40 00001d2b: MSTORE 00001d2c: POP 00001d2d: DUP2 00001d2e: ADD 00001d2f: SWAP1 00001d30: PUSH2 0x1d39 00001d33: SWAP2 00001d34: SWAP1 00001d35: PUSH2 0x3d15 00001d38: JUMP 00001d39: JUMPDEST 00001d3a: DUP1 00001d3b: ISZERO 00001d3c: PUSH2 0x1d4f 00001d3f: JUMPI 00001d40: POP 00001d41: PUSH1 0xcb 00001d43: SLOAD 00001d44: PUSH1 0x01 00001d46: PUSH1 0x01 00001d48: PUSH1 0xa0 00001d4a: SHL 00001d4b: SUB 00001d4c: AND 00001d4d: ISZERO 00001d4e: ISZERO 00001d4f: JUMPDEST 00001d50: ISZERO 00001d51: PUSH2 0x1d76 00001d54: JUMPI 00001d55: PUSH1 0x00 00001d57: DUP2 00001d58: SLT 00001d59: ISZERO 00001d5a: PUSH2 0x1d76 00001d5d: JUMPI 00001d5e: PUSH1 0x40 00001d60: MLOAD 00001d61: PUSH4 0xef0175db 00001d66: PUSH1 0xe0 00001d68: SHL 00001d69: DUP2 00001d6a: MSTORE 00001d6b: PUSH1 0x04 00001d6d: ADD 00001d6e: PUSH1 0x40 00001d70: MLOAD 00001d71: DUP1 00001d72: SWAP2 00001d73: SUB 00001d74: SWAP1 00001d75: REVERT 00001d76: JUMPDEST 00001d77: PUSH2 0x1d80 00001d7a: DUP2 00001d7b: DUP7 00001d7c: PUSH2 0x3d32 00001d7f: JUMP 00001d80: JUMPDEST 00001d81: SWAP5 00001d82: POP 00001d83: POP 00001d84: POP 00001d85: POP 00001d86: DUP1 00001d87: DUP1 00001d88: PUSH2 0x1d90 00001d8b: SWAP1 00001d8c: PUSH2 0x3cdd 00001d8f: JUMP 00001d90: JUMPDEST 00001d91: SWAP2 00001d92: POP 00001d93: POP 00001d94: PUSH2 0x1a15 00001d97: JUMP 00001d98: JUMPDEST 00001d99: POP 00001d9a: PUSH1 0xcd 00001d9c: SLOAD 00001d9d: ISZERO 00001d9e: PUSH2 0x1db9 00001da1: JUMPI 00001da2: PUSH2 0x1dac 00001da5: PUSH1 0xcd 00001da7: SLOAD 00001da8: PUSH2 0x2db4 00001dab: JUMP 00001dac: JUMPDEST 00001dad: PUSH2 0x1db6 00001db0: SWAP1 00001db1: DUP3 00001db2: PUSH2 0x3d73 00001db5: JUMP 00001db6: JUMPDEST 00001db7: SWAP1 00001db8: POP 00001db9: JUMPDEST 00001dba: PUSH1 0x40 00001dbc: DUP1 00001dbd: MLOAD 00001dbe: DUP3 00001dbf: DUP2 00001dc0: MSTORE 00001dc1: PUSH1 0x20 00001dc3: DUP2 00001dc4: ADD 00001dc5: DUP6 00001dc6: SWAP1 00001dc7: MSTORE 00001dc8: SWAP1 00001dc9: DUP2 00001dca: ADD 00001dcb: DUP4 00001dcc: SWAP1 00001dcd: MSTORE 00001dce: PUSH31 0xde4b58e7863b1e3dce7259a138136239427388d53e4844f369cdee7a81dbf5 00001dee: SWAP1 00001def: PUSH1 0x60 00001df1: ADD 00001df2: PUSH1 0x40 00001df4: MLOAD 00001df5: DUP1 00001df6: SWAP2 00001df7: SUB 00001df8: SWAP1 00001df9: LOG1 00001dfa: PUSH1 0x00 00001dfc: DUP2 00001dfd: SLT 00001dfe: ISZERO 00001dff: PUSH2 0x1e16 00001e02: JUMPI 00001e03: PUSH2 0x1e0e 00001e06: DUP2 00001e07: PUSH1 0x00 00001e09: NOT 00001e0a: PUSH2 0x3db2 00001e0d: JUMP 00001e0e: JUMPDEST 00001e0f: PUSH1 0xcd 00001e11: SSTORE 00001e12: PUSH2 0x1e65 00001e15: JUMP 00001e16: JUMPDEST 00001e17: PUSH1 0x00 00001e19: PUSH1 0xcd 00001e1b: DUP2 00001e1c: SWAP1 00001e1d: SSTORE 00001e1e: DUP2 00001e1f: SGT 00001e20: ISZERO 00001e21: PUSH2 0x1e65 00001e24: JUMPI 00001e25: PUSH1 0x40 00001e27: DUP1 00001e28: MLOAD 00001e29: PUSH1 0x24 00001e2b: DUP1 00001e2c: DUP3 00001e2d: ADD 00001e2e: DUP5 00001e2f: SWAP1 00001e30: MSTORE 00001e31: DUP3 00001e32: MLOAD 00001e33: DUP1 00001e34: DUP4 00001e35: SUB 00001e36: SWAP1 00001e37: SWAP2 00001e38: ADD 00001e39: DUP2 00001e3a: MSTORE 00001e3b: PUSH1 0x44 00001e3d: SWAP1 00001e3e: SWAP2 00001e3f: ADD 00001e40: SWAP1 00001e41: SWAP2 00001e42: MSTORE 00001e43: PUSH1 0x20 00001e45: DUP2 00001e46: ADD 00001e47: DUP1 00001e48: MLOAD 00001e49: PUSH1 0x01 00001e4b: PUSH1 0x01 00001e4d: PUSH1 0xe0 00001e4f: SHL 00001e50: SUB 00001e51: AND 00001e52: PUSH4 0x5b9af12b 00001e57: PUSH1 0xe0 00001e59: SHL 00001e5a: OR 00001e5b: SWAP1 00001e5c: MSTORE 00001e5d: PUSH2 0x1e65 00001e60: SWAP1 00001e61: PUSH2 0x2e1e 00001e64: JUMP 00001e65: JUMPDEST 00001e66: DUP6 00001e67: DUP1 00001e68: ISZERO 00001e69: PUSH2 0x1e73 00001e6c: JUMPI 00001e6d: POP 00001e6e: DUP4 00001e6f: PUSH1 0xcd 00001e71: SLOAD 00001e72: GT 00001e73: JUMPDEST 00001e74: ISZERO 00001e75: PUSH2 0x1692 00001e78: JUMPI 00001e79: PUSH1 0x40 00001e7b: MLOAD 00001e7c: PUSH4 0x528dc371 00001e81: PUSH1 0xe1 00001e83: SHL 00001e84: DUP2 00001e85: MSTORE 00001e86: PUSH1 0x04 00001e88: ADD 00001e89: PUSH1 0x40 00001e8b: MLOAD 00001e8c: DUP1 00001e8d: SWAP2 00001e8e: SUB 00001e8f: SWAP1 00001e90: REVERT 00001e91: JUMPDEST 00001e92: PUSH2 0x1e99 00001e95: PUSH2 0x240c 00001e98: JUMP 00001e99: JUMPDEST 00001e9a: PUSH1 0x01 00001e9c: PUSH1 0x01 00001e9e: PUSH1 0xa0 00001ea0: SHL 00001ea1: SUB 00001ea2: DUP2 00001ea3: AND 00001ea4: PUSH2 0x1eac 00001ea7: JUMPI 00001ea8: PUSH1 0x00 00001eaa: DUP1 00001eab: REVERT 00001eac: JUMPDEST 00001ead: PUSH1 0xcc 00001eaf: DUP1 00001eb0: SLOAD 00001eb1: PUSH1 0x01 00001eb3: PUSH1 0x01 00001eb5: PUSH1 0xa0 00001eb7: SHL 00001eb8: SUB 00001eb9: NOT 00001eba: AND 00001ebb: PUSH1 0x01 00001ebd: PUSH1 0x01 00001ebf: PUSH1 0xa0 00001ec1: SHL 00001ec2: SUB 00001ec3: SWAP3 00001ec4: SWAP1 00001ec5: SWAP3 00001ec6: AND 00001ec7: SWAP2 00001ec8: SWAP1 00001ec9: SWAP2 00001eca: OR 00001ecb: SWAP1 00001ecc: SSTORE 00001ecd: JUMP 00001ece: JUMPDEST 00001ecf: PUSH1 0x00 00001ed1: DUP3 00001ed2: PUSH1 0x00 00001ed4: SUB 00001ed5: PUSH2 0x1ef4 00001ed8: JUMPI 00001ed9: PUSH1 0x40 00001edb: MLOAD 00001edc: PUSH4 0x64b4f079 00001ee1: PUSH1 0xe1 00001ee3: SHL 00001ee4: DUP2 00001ee5: MSTORE 00001ee6: PUSH1 0x04 00001ee8: DUP2 00001ee9: ADD 00001eea: DUP5 00001eeb: SWAP1 00001eec: MSTORE 00001eed: PUSH1 0x24 00001eef: ADD 00001ef0: PUSH2 0x09bd 00001ef3: JUMP 00001ef4: JUMPDEST 00001ef5: PUSH1 0x9b 00001ef7: SLOAD 00001ef8: DUP4 00001ef9: GT 00001efa: ISZERO 00001efb: PUSH2 0x1f1a 00001efe: JUMPI 00001eff: PUSH1 0x40 00001f01: MLOAD 00001f02: PUSH4 0x095ca045 00001f07: PUSH1 0xe3 00001f09: SHL 00001f0a: DUP2 00001f0b: MSTORE 00001f0c: PUSH1 0x04 00001f0e: DUP2 00001f0f: ADD 00001f10: DUP5 00001f11: SWAP1 00001f12: MSTORE 00001f13: PUSH1 0x24 00001f15: ADD 00001f16: PUSH2 0x09bd 00001f19: JUMP 00001f1a: JUMPDEST 00001f1b: PUSH1 0x00 00001f1d: PUSH1 0x97 00001f1f: DUP5 00001f20: DUP2 00001f21: SLOAD 00001f22: DUP2 00001f23: LT 00001f24: PUSH2 0x1f2f 00001f27: JUMPI 00001f28: PUSH2 0x1f2f 00001f2b: PUSH2 0x3bc3 00001f2e: JUMP 00001f2f: JUMPDEST 00001f30: SWAP1 00001f31: PUSH1 0x00 00001f33: MSTORE 00001f34: PUSH1 0x20 00001f36: PUSH1 0x00 00001f38: KECCAK256 00001f39: SWAP1 00001f3a: PUSH1 0x02 00001f3c: MUL 00001f3d: ADD 00001f3e: SWAP1 00001f3f: POP 00001f40: DUP1 00001f41: PUSH1 0x01 00001f43: ADD 00001f44: PUSH1 0x19 00001f46: SWAP1 00001f47: SLOAD 00001f48: SWAP1 00001f49: PUSH2 0x0100 00001f4c: EXP 00001f4d: SWAP1 00001f4e: DIV 00001f4f: PUSH1 0xff 00001f51: AND 00001f52: ISZERO 00001f53: PUSH2 0x1f72 00001f56: JUMPI 00001f57: PUSH1 0x40 00001f59: MLOAD 00001f5a: PUSH4 0xf0e0cc2d 00001f5f: PUSH1 0xe0 00001f61: SHL 00001f62: DUP2 00001f63: MSTORE 00001f64: PUSH1 0x04 00001f66: DUP2 00001f67: ADD 00001f68: DUP6 00001f69: SWAP1 00001f6a: MSTORE 00001f6b: PUSH1 0x24 00001f6d: ADD 00001f6e: PUSH2 0x09bd 00001f71: JUMP 00001f72: JUMPDEST 00001f73: PUSH1 0x01 00001f75: DUP2 00001f76: ADD 00001f77: DUP1 00001f78: SLOAD 00001f79: PUSH1 0xff 00001f7b: PUSH1 0xc8 00001f7d: SHL 00001f7e: NOT 00001f7f: DUP2 00001f80: AND 00001f81: PUSH1 0x01 00001f83: PUSH1 0xc8 00001f85: SHL 00001f86: OR 00001f87: SWAP1 00001f88: SWAP2 00001f89: SSTORE 00001f8a: PUSH1 0x01 00001f8c: PUSH1 0x01 00001f8e: PUSH1 0xa0 00001f90: SHL 00001f91: SUB 00001f92: AND 00001f93: CALLER 00001f94: DUP2 00001f95: EQ 00001f96: PUSH2 0x1fb2 00001f99: JUMPI 00001f9a: PUSH1 0x40 00001f9c: MLOAD 00001f9d: PUSH4 0xf406fde9 00001fa2: PUSH1 0xe0 00001fa4: SHL 00001fa5: DUP2 00001fa6: MSTORE 00001fa7: PUSH1 0x04 00001fa9: ADD 00001faa: PUSH1 0x40 00001fac: MLOAD 00001fad: DUP1 00001fae: SWAP2 00001faf: SUB 00001fb0: SWAP1 00001fb1: REVERT 00001fb2: JUMPDEST 00001fb3: PUSH1 0x00 00001fb5: PUSH2 0x1fbe 00001fb8: DUP7 00001fb9: DUP7 00001fba: PUSH2 0x2e93 00001fbd: JUMP 00001fbe: JUMPDEST 00001fbf: SWAP1 00001fc0: POP 00001fc1: DUP1 00001fc2: PUSH1 0x9d 00001fc4: PUSH1 0x00 00001fc6: DUP3 00001fc7: DUP3 00001fc8: SLOAD 00001fc9: PUSH2 0x1fd2 00001fcc: SWAP2 00001fcd: SWAP1 00001fce: PUSH2 0x3bac 00001fd1: JUMP 00001fd2: JUMPDEST 00001fd3: SWAP1 00001fd4: SWAP2 00001fd5: SSTORE 00001fd6: POP 00001fd7: POP 00001fd8: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 00001ff9: PUSH1 0x01 00001ffb: PUSH1 0x01 00001ffd: PUSH1 0xa0 00001fff: SHL 00002000: SUB 00002001: AND 00002002: PUSH2 0x201a 00002005: JUMPI 00002006: PUSH2 0x2013 00002009: DUP3 0000200a: PUSH3 0x0186a0 0000200e: DUP4 0000200f: PUSH2 0x3079 00002012: JUMP 00002013: JUMPDEST 00002014: SWAP4 00002015: POP 00002016: PUSH2 0x2053 00002019: JUMP 0000201a: JUMPDEST 0000201b: PUSH2 0x204e 0000201e: PUSH1 0x01 00002020: PUSH1 0x01 00002022: PUSH1 0xa0 00002024: SHL 00002025: SUB 00002026: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 00002047: AND 00002048: DUP4 00002049: DUP4 0000204a: PUSH2 0x308f 0000204d: JUMP 0000204e: JUMPDEST 0000204f: PUSH1 0x01 00002051: SWAP4 00002052: POP 00002053: JUMPDEST 00002054: DUP4 00002055: PUSH2 0x2071 00002058: JUMPI 00002059: PUSH1 0x40 0000205b: MLOAD 0000205c: PUSH4 0x4c82c351 00002061: PUSH1 0xe1 00002063: SHL 00002064: DUP2 00002065: MSTORE 00002066: PUSH1 0x04 00002068: ADD 00002069: PUSH1 0x40 0000206b: MLOAD 0000206c: DUP1 0000206d: SWAP2 0000206e: SUB 0000206f: SWAP1 00002070: REVERT 00002071: JUMPDEST 00002072: DUP2 00002073: PUSH1 0x01 00002075: PUSH1 0x01 00002077: PUSH1 0xa0 00002079: SHL 0000207a: SUB 0000207b: AND 0000207c: DUP7 0000207d: PUSH32 0x8adb7a84b2998a8d11cd9284395f95d5a99f160be785ae79998c654979bd3d9a 0000209e: DUP4 0000209f: PUSH1 0x40 000020a1: MLOAD 000020a2: PUSH2 0x20ad 000020a5: SWAP2 000020a6: DUP2 000020a7: MSTORE 000020a8: PUSH1 0x20 000020aa: ADD 000020ab: SWAP1 000020ac: JUMP 000020ad: JUMPDEST 000020ae: PUSH1 0x40 000020b0: MLOAD 000020b1: DUP1 000020b2: SWAP2 000020b3: SUB 000020b4: SWAP1 000020b5: LOG3 000020b6: POP 000020b7: POP 000020b8: POP 000020b9: SWAP3 000020ba: SWAP2 000020bb: POP 000020bc: POP 000020bd: JUMP 000020be: JUMPDEST 000020bf: PUSH2 0x20c6 000020c2: PUSH2 0x240c 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH1 0x65 000020c9: DUP1 000020ca: SLOAD 000020cb: PUSH1 0x01 000020cd: PUSH1 0x01 000020cf: PUSH1 0xa0 000020d1: SHL 000020d2: SUB 000020d3: DUP4 000020d4: AND 000020d5: PUSH1 0x01 000020d7: PUSH1 0x01 000020d9: PUSH1 0xa0 000020db: SHL 000020dc: SUB 000020dd: NOT 000020de: SWAP1 000020df: SWAP2 000020e0: AND 000020e1: DUP2 000020e2: OR 000020e3: SWAP1 000020e4: SWAP2 000020e5: SSTORE 000020e6: PUSH2 0x20f7 000020e9: PUSH1 0x33 000020eb: SLOAD 000020ec: PUSH1 0x01 000020ee: PUSH1 0x01 000020f0: PUSH1 0xa0 000020f2: SHL 000020f3: SUB 000020f4: AND 000020f5: SWAP1 000020f6: JUMP 000020f7: JUMPDEST 000020f8: PUSH1 0x01 000020fa: PUSH1 0x01 000020fc: PUSH1 0xa0 000020fe: SHL 000020ff: SUB 00002100: AND 00002101: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700 00002122: PUSH1 0x40 00002124: MLOAD 00002125: PUSH1 0x40 00002127: MLOAD 00002128: DUP1 00002129: SWAP2 0000212a: SUB 0000212b: SWAP1 0000212c: LOG3 0000212d: POP 0000212e: JUMP 0000212f: JUMPDEST 00002130: PUSH1 0x01 00002132: PUSH1 0x01 00002134: PUSH1 0xa0 00002136: SHL 00002137: SUB 00002138: AND 00002139: EXTCODESIZE 0000213a: ISZERO 0000213b: ISZERO 0000213c: SWAP1 0000213d: JUMP 0000213e: JUMPDEST 0000213f: PUSH1 0x33 00002141: DUP1 00002142: SLOAD 00002143: PUSH1 0x01 00002145: PUSH1 0x01 00002147: PUSH1 0xa0 00002149: SHL 0000214a: SUB 0000214b: DUP4 0000214c: DUP2 0000214d: AND 0000214e: PUSH1 0x01 00002150: PUSH1 0x01 00002152: PUSH1 0xa0 00002154: SHL 00002155: SUB 00002156: NOT 00002157: DUP4 00002158: AND 00002159: DUP2 0000215a: OR 0000215b: SWAP1 0000215c: SWAP4 0000215d: SSTORE 0000215e: PUSH1 0x40 00002160: MLOAD 00002161: SWAP2 00002162: AND 00002163: SWAP2 00002164: SWAP1 00002165: DUP3 00002166: SWAP1 00002167: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002188: SWAP1 00002189: PUSH1 0x00 0000218b: SWAP1 0000218c: LOG3 0000218d: POP 0000218e: POP 0000218f: JUMP 00002190: JUMPDEST 00002191: PUSH1 0x00 00002193: DUP1 00002194: PUSH1 0x00 00002196: PUSH12 0x033b2e3c9fd0803ce8000000 000021a3: DUP5 000021a4: GT 000021a5: ISZERO 000021a6: PUSH2 0x21c2 000021a9: JUMPI 000021aa: PUSH1 0x40 000021ac: MLOAD 000021ad: PUSH4 0xe5dd50c3 000021b2: PUSH1 0xe0 000021b4: SHL 000021b5: DUP2 000021b6: MSTORE 000021b7: PUSH1 0x04 000021b9: ADD 000021ba: PUSH1 0x40 000021bc: MLOAD 000021bd: DUP1 000021be: SWAP2 000021bf: SUB 000021c0: SWAP1 000021c1: REVERT 000021c2: JUMPDEST 000021c3: DUP6 000021c4: ISZERO 000021c5: PUSH2 0x23ed 000021c8: JUMPI 000021c9: PUSH1 0x9a 000021cb: SLOAD 000021cc: DUP7 000021cd: GT 000021ce: ISZERO 000021cf: PUSH2 0x21ee 000021d2: JUMPI 000021d3: PUSH1 0x40 000021d5: MLOAD 000021d6: PUSH4 0x64b4f079 000021db: PUSH1 0xe1 000021dd: SHL 000021de: DUP2 000021df: MSTORE 000021e0: PUSH1 0x04 000021e2: DUP2 000021e3: ADD 000021e4: DUP8 000021e5: SWAP1 000021e6: MSTORE 000021e7: PUSH1 0x24 000021e9: ADD 000021ea: PUSH2 0x09bd 000021ed: JUMP 000021ee: JUMPDEST 000021ef: PUSH1 0x9b 000021f1: SLOAD 000021f2: DUP1 000021f3: DUP8 000021f4: GT 000021f5: PUSH2 0x2214 000021f8: JUMPI 000021f9: PUSH1 0x40 000021fb: MLOAD 000021fc: PUSH4 0x64b4f079 00002201: PUSH1 0xe1 00002203: SHL 00002204: DUP2 00002205: MSTORE 00002206: PUSH1 0x04 00002208: DUP2 00002209: ADD 0000220a: DUP9 0000220b: SWAP1 0000220c: MSTORE 0000220d: PUSH1 0x24 0000220f: ADD 00002210: PUSH2 0x09bd 00002213: JUMP 00002214: JUMPDEST 00002215: PUSH1 0x00 00002217: PUSH1 0x97 00002219: DUP3 0000221a: DUP2 0000221b: SLOAD 0000221c: DUP2 0000221d: LT 0000221e: PUSH2 0x2229 00002221: JUMPI 00002222: PUSH2 0x2229 00002225: PUSH2 0x3bc3 00002228: JUMP 00002229: JUMPDEST 0000222a: PUSH1 0x00 0000222c: SWAP2 0000222d: DUP3 0000222e: MSTORE 0000222f: PUSH1 0x20 00002231: DUP1 00002232: DUP4 00002233: KECCAK256 00002234: PUSH1 0x40 00002236: DUP1 00002237: MLOAD 00002238: PUSH1 0x80 0000223a: DUP2 0000223b: ADD 0000223c: DUP3 0000223d: MSTORE 0000223e: PUSH1 0x02 00002240: SWAP1 00002241: SWAP5 00002242: MUL 00002243: SWAP1 00002244: SWAP2 00002245: ADD 00002246: DUP1 00002247: SLOAD 00002248: PUSH1 0x01 0000224a: PUSH1 0x01 0000224c: PUSH1 0x80 0000224e: SHL 0000224f: SUB 00002250: AND 00002251: DUP5 00002252: MSTORE 00002253: PUSH1 0x01 00002255: ADD 00002256: SLOAD 00002257: PUSH1 0x01 00002259: PUSH1 0x01 0000225b: PUSH1 0xa0 0000225d: SHL 0000225e: SUB 0000225f: DUP2 00002260: AND 00002261: SWAP3 00002262: DUP5 00002263: ADD 00002264: SWAP3 00002265: SWAP1 00002266: SWAP3 00002267: MSTORE 00002268: PUSH5 0xffffffffff 0000226e: PUSH1 0x01 00002270: PUSH1 0xa0 00002272: SHL 00002273: DUP4 00002274: DIV 00002275: AND 00002276: SWAP1 00002277: DUP4 00002278: ADD 00002279: MSTORE 0000227a: PUSH1 0xff 0000227c: PUSH1 0x01 0000227e: PUSH1 0xc8 00002280: SHL 00002281: SWAP1 00002282: SWAP2 00002283: DIV 00002284: AND 00002285: ISZERO 00002286: ISZERO 00002287: PUSH1 0x60 00002289: DUP3 0000228a: ADD 0000228b: MSTORE 0000228c: PUSH1 0x97 0000228e: DUP1 0000228f: SLOAD 00002290: SWAP2 00002291: SWAP4 00002292: POP 00002293: SWAP1 00002294: DUP11 00002295: SWAP1 00002296: DUP2 00002297: LT 00002298: PUSH2 0x22a3 0000229b: JUMPI 0000229c: PUSH2 0x22a3 0000229f: PUSH2 0x3bc3 000022a2: JUMP 000022a3: JUMPDEST 000022a4: PUSH1 0x00 000022a6: SWAP2 000022a7: DUP3 000022a8: MSTORE 000022a9: PUSH1 0x20 000022ab: SWAP2 000022ac: DUP3 000022ad: SWAP1 000022ae: KECCAK256 000022af: PUSH1 0x40 000022b1: DUP1 000022b2: MLOAD 000022b3: PUSH1 0x80 000022b5: DUP2 000022b6: ADD 000022b7: DUP3 000022b8: MSTORE 000022b9: PUSH1 0x02 000022bb: SWAP4 000022bc: SWAP1 000022bd: SWAP4 000022be: MUL 000022bf: SWAP1 000022c0: SWAP2 000022c1: ADD 000022c2: DUP1 000022c3: SLOAD 000022c4: PUSH1 0x01 000022c6: PUSH1 0x01 000022c8: PUSH1 0x80 000022ca: SHL 000022cb: SUB 000022cc: AND 000022cd: DUP1 000022ce: DUP5 000022cf: MSTORE 000022d0: PUSH1 0x01 000022d2: SWAP1 000022d3: SWAP2 000022d4: ADD 000022d5: SLOAD 000022d6: PUSH1 0x01 000022d8: PUSH1 0x01 000022da: PUSH1 0xa0 000022dc: SHL 000022dd: SUB 000022de: DUP2 000022df: AND 000022e0: SWAP5 000022e1: DUP5 000022e2: ADD 000022e3: SWAP5 000022e4: SWAP1 000022e5: SWAP5 000022e6: MSTORE 000022e7: PUSH1 0x01 000022e9: PUSH1 0xa0 000022eb: SHL 000022ec: DUP5 000022ed: DIV 000022ee: PUSH5 0xffffffffff 000022f4: AND 000022f5: SWAP2 000022f6: DUP4 000022f7: ADD 000022f8: SWAP2 000022f9: SWAP1 000022fa: SWAP2 000022fb: MSTORE 000022fc: PUSH1 0x01 000022fe: PUSH1 0xc8 00002300: SHL 00002301: SWAP1 00002302: SWAP3 00002303: DIV 00002304: PUSH1 0xff 00002306: AND 00002307: ISZERO 00002308: ISZERO 00002309: PUSH1 0x60 0000230b: DUP3 0000230c: ADD 0000230d: MSTORE 0000230e: DUP4 0000230f: MLOAD 00002310: SWAP1 00002311: SWAP3 00002312: POP 00002313: PUSH2 0x231b 00002316: SWAP2 00002317: PUSH2 0x3e37 0000231a: JUMP 0000231b: JUMPDEST 0000231c: PUSH1 0x01 0000231e: PUSH1 0x01 00002320: PUSH1 0x80 00002322: SHL 00002323: SUB 00002324: AND 00002325: SWAP6 00002326: POP 00002327: PUSH12 0x033b2e3c9fd0803ce8000000 00002334: PUSH2 0x233d 00002337: DUP9 00002338: DUP9 00002339: PUSH2 0x3cf6 0000233c: JUMP 0000233d: JUMPDEST 0000233e: PUSH2 0x2347 00002341: SWAP2 00002342: SWAP1 00002343: PUSH2 0x3c07 00002346: JUMP 00002347: JUMPDEST 00002348: SWAP5 00002349: POP 0000234a: DUP8 0000234b: DUP6 0000234c: GT 0000234d: ISZERO 0000234e: PUSH2 0x236a 00002351: JUMPI 00002352: PUSH1 0x40 00002354: MLOAD 00002355: PUSH4 0x1e9acf17 0000235a: PUSH1 0xe3 0000235c: SHL 0000235d: DUP2 0000235e: MSTORE 0000235f: PUSH1 0x04 00002361: ADD 00002362: PUSH1 0x40 00002364: MLOAD 00002365: DUP1 00002366: SWAP2 00002367: SUB 00002368: SWAP1 00002369: REVERT 0000236a: JUMPDEST 0000236b: PUSH1 0x00 0000236d: PUSH2 0x2377 00002370: DUP5 00002371: PUSH1 0x01 00002373: PUSH2 0x3bd9 00002376: JUMP 00002377: JUMPDEST 00002378: SWAP1 00002379: POP 0000237a: DUP6 0000237b: PUSH1 0x9d 0000237d: PUSH1 0x00 0000237f: DUP3 00002380: DUP3 00002381: SLOAD 00002382: PUSH2 0x238b 00002385: SWAP2 00002386: SWAP1 00002387: PUSH2 0x3bd9 0000238a: JUMP 0000238b: JUMPDEST 0000238c: SWAP1 0000238d: SWAP2 0000238e: SSTORE 0000238f: POP 00002390: POP 00002391: PUSH1 0x9b 00002393: DUP11 00002394: SWAP1 00002395: SSTORE 00002396: PUSH2 0x239f 00002399: DUP2 0000239a: DUP10 0000239b: PUSH2 0x30e1 0000239e: JUMP 0000239f: JUMPDEST 000023a0: PUSH1 0x40 000023a2: DUP1 000023a3: MLOAD 000023a4: DUP9 000023a5: DUP2 000023a6: MSTORE 000023a7: TIMESTAMP 000023a8: PUSH1 0x20 000023aa: DUP3 000023ab: ADD 000023ac: MSTORE 000023ad: SWAP1 000023ae: DUP2 000023af: ADD 000023b0: DUP11 000023b1: SWAP1 000023b2: MSTORE 000023b3: SWAP1 000023b4: SWAP6 000023b5: POP 000023b6: DUP6 000023b7: SWAP1 000023b8: DUP12 000023b9: SWAP1 000023ba: DUP4 000023bb: SWAP1 000023bc: PUSH32 0x59382740d48c89a44d8866c8e7071aa24351a82e5f38e4674ab82aa8a18119bc 000023dd: SWAP1 000023de: PUSH1 0x60 000023e0: ADD 000023e1: PUSH1 0x40 000023e3: MLOAD 000023e4: DUP1 000023e5: SWAP2 000023e6: SUB 000023e7: SWAP1 000023e8: LOG4 000023e9: POP 000023ea: POP 000023eb: POP 000023ec: POP 000023ed: JUMPDEST 000023ee: SWAP4 000023ef: POP 000023f0: SWAP4 000023f1: POP 000023f2: SWAP4 000023f3: SWAP1 000023f4: POP 000023f5: JUMP 000023f6: JUMPDEST 000023f7: PUSH1 0x00 000023f9: DUP2 000023fa: DUP4 000023fb: GT 000023fc: PUSH2 0x2406 000023ff: JUMPI 00002400: PUSH1 0x00 00002402: PUSH2 0x0b68 00002405: JUMP 00002406: JUMPDEST 00002407: POP 00002408: SWAP1 00002409: SUB 0000240a: SWAP1 0000240b: JUMP 0000240c: JUMPDEST 0000240d: PUSH1 0x33 0000240f: SLOAD 00002410: PUSH1 0x01 00002412: PUSH1 0x01 00002414: PUSH1 0xa0 00002416: SHL 00002417: SUB 00002418: AND 00002419: CALLER 0000241a: EQ 0000241b: PUSH2 0x14cf 0000241e: JUMPI 0000241f: PUSH1 0x40 00002421: MLOAD 00002422: PUSH3 0x461bcd 00002426: PUSH1 0xe5 00002428: SHL 00002429: DUP2 0000242a: MSTORE 0000242b: PUSH1 0x20 0000242d: PUSH1 0x04 0000242f: DUP3 00002430: ADD 00002431: DUP2 00002432: SWAP1 00002433: MSTORE 00002434: PUSH1 0x24 00002436: DUP3 00002437: ADD 00002438: MSTORE 00002439: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 0000245a: PUSH1 0x44 0000245c: DUP3 0000245d: ADD 0000245e: MSTORE 0000245f: PUSH1 0x64 00002461: ADD 00002462: PUSH2 0x09bd 00002465: JUMP 00002466: JUMPDEST 00002467: PUSH1 0x00 00002469: PUSH2 0x0b68 0000246c: DUP4 0000246d: PUSH1 0x01 0000246f: PUSH1 0x01 00002471: PUSH1 0xa0 00002473: SHL 00002474: SUB 00002475: DUP5 00002476: AND 00002477: PUSH2 0x317e 0000247a: JUMP 0000247b: JUMPDEST 0000247c: PUSH1 0x00 0000247e: SLOAD 0000247f: PUSH2 0x0100 00002482: SWAP1 00002483: DIV 00002484: PUSH1 0xff 00002486: AND 00002487: PUSH2 0x24a2 0000248a: JUMPI 0000248b: PUSH1 0x40 0000248d: MLOAD 0000248e: PUSH3 0x461bcd 00002492: PUSH1 0xe5 00002494: SHL 00002495: DUP2 00002496: MSTORE 00002497: PUSH1 0x04 00002499: ADD 0000249a: PUSH2 0x09bd 0000249d: SWAP1 0000249e: PUSH2 0x3e5f 000024a1: JUMP 000024a2: JUMPDEST 000024a3: PUSH2 0x24aa 000024a6: PUSH2 0x31cd 000024a9: JUMP 000024aa: JUMPDEST 000024ab: PUSH2 0x24b2 000024ae: PUSH2 0x31fc 000024b1: JUMP 000024b2: JUMPDEST 000024b3: PUSH2 0x24bb 000024b6: DUP2 000024b7: PUSH2 0x2784 000024ba: JUMP 000024bb: JUMPDEST 000024bc: POP 000024bd: PUSH1 0xd0 000024bf: DUP1 000024c0: SLOAD 000024c1: PUSH1 0x01 000024c3: PUSH1 0x01 000024c5: PUSH1 0xa0 000024c7: SHL 000024c8: SUB 000024c9: NOT 000024ca: AND 000024cb: PUSH1 0x01 000024cd: PUSH1 0x01 000024cf: PUSH1 0xa0 000024d1: SHL 000024d2: SUB 000024d3: SWAP3 000024d4: SWAP1 000024d5: SWAP3 000024d6: AND 000024d7: SWAP2 000024d8: SWAP1 000024d9: SWAP2 000024da: OR 000024db: SWAP1 000024dc: SSTORE 000024dd: JUMP 000024de: JUMPDEST 000024df: PUSH1 0x00 000024e1: PUSH2 0x0b68 000024e4: DUP4 000024e5: DUP4 000024e6: PUSH2 0x338a 000024e9: JUMP 000024ea: JUMPDEST 000024eb: PUSH1 0x00 000024ed: DUP1 000024ee: PUSH1 0x00 000024f0: DUP1 000024f1: DUP6 000024f2: PUSH1 0x01 000024f4: PUSH1 0x01 000024f6: PUSH1 0xa0 000024f8: SHL 000024f9: SUB 000024fa: AND 000024fb: DUP6 000024fc: PUSH1 0x40 000024fe: MLOAD 000024ff: PUSH1 0x24 00002501: ADD 00002502: PUSH2 0x250d 00002505: SWAP2 00002506: DUP2 00002507: MSTORE 00002508: PUSH1 0x20 0000250a: ADD 0000250b: SWAP1 0000250c: JUMP 0000250d: JUMPDEST 0000250e: PUSH1 0x40 00002510: DUP1 00002511: MLOAD 00002512: PUSH1 0x1f 00002514: NOT 00002515: DUP2 00002516: DUP5 00002517: SUB 00002518: ADD 00002519: DUP2 0000251a: MSTORE 0000251b: SWAP2 0000251c: DUP2 0000251d: MSTORE 0000251e: PUSH1 0x20 00002520: DUP3 00002521: ADD 00002522: DUP1 00002523: MLOAD 00002524: PUSH1 0x01 00002526: PUSH1 0x01 00002528: PUSH1 0xe0 0000252a: SHL 0000252b: SUB 0000252c: AND 0000252d: PUSH4 0x05c2fbcf 00002532: PUSH1 0xe3 00002534: SHL 00002535: OR 00002536: SWAP1 00002537: MSTORE 00002538: MLOAD 00002539: PUSH2 0x2542 0000253c: SWAP2 0000253d: SWAP1 0000253e: PUSH2 0x3c38 00002541: JUMP 00002542: JUMPDEST 00002543: PUSH1 0x00 00002545: PUSH1 0x40 00002547: MLOAD 00002548: DUP1 00002549: DUP4 0000254a: SUB 0000254b: DUP2 0000254c: DUP6 0000254d: GAS 0000254e: DELEGATECALL 0000254f: SWAP2 00002550: POP 00002551: POP 00002552: RETURNDATASIZE 00002553: DUP1 00002554: PUSH1 0x00 00002556: DUP2 00002557: EQ 00002558: PUSH2 0x257d 0000255b: JUMPI 0000255c: PUSH1 0x40 0000255e: MLOAD 0000255f: SWAP2 00002560: POP 00002561: PUSH1 0x1f 00002563: NOT 00002564: PUSH1 0x3f 00002566: RETURNDATASIZE 00002567: ADD 00002568: AND 00002569: DUP3 0000256a: ADD 0000256b: PUSH1 0x40 0000256d: MSTORE 0000256e: RETURNDATASIZE 0000256f: DUP3 00002570: MSTORE 00002571: RETURNDATASIZE 00002572: PUSH1 0x00 00002574: PUSH1 0x20 00002576: DUP5 00002577: ADD 00002578: RETURNDATACOPY 00002579: PUSH2 0x2582 0000257c: JUMP 0000257d: JUMPDEST 0000257e: PUSH1 0x60 00002580: SWAP2 00002581: POP 00002582: JUMPDEST 00002583: POP 00002584: SWAP2 00002585: POP 00002586: SWAP2 00002587: POP 00002588: DUP2 00002589: PUSH2 0x25a4 0000258c: JUMPI 0000258d: PUSH1 0x40 0000258f: MLOAD 00002590: PUSH3 0x461bcd 00002594: PUSH1 0xe5 00002596: SHL 00002597: DUP2 00002598: MSTORE 00002599: PUSH1 0x04 0000259b: ADD 0000259c: PUSH2 0x09bd 0000259f: SWAP1 000025a0: PUSH2 0x3eaa 000025a3: JUMP 000025a4: JUMPDEST 000025a5: DUP1 000025a6: DUP1 000025a7: PUSH1 0x20 000025a9: ADD 000025aa: SWAP1 000025ab: MLOAD 000025ac: DUP2 000025ad: ADD 000025ae: SWAP1 000025af: PUSH2 0x25b8 000025b2: SWAP2 000025b3: SWAP1 000025b4: PUSH2 0x3ed7 000025b7: JUMP 000025b8: JUMPDEST 000025b9: SWAP4 000025ba: POP 000025bb: SWAP4 000025bc: POP 000025bd: POP 000025be: POP 000025bf: JUMPDEST 000025c0: SWAP3 000025c1: POP 000025c2: SWAP3 000025c3: SWAP1 000025c4: POP 000025c5: JUMP 000025c6: JUMPDEST 000025c7: PUSH1 0x60 000025c9: DUP2 000025ca: PUSH1 0x00 000025cc: SUB 000025cd: PUSH2 0x25ed 000025d0: JUMPI 000025d1: POP 000025d2: POP 000025d3: PUSH1 0x40 000025d5: DUP1 000025d6: MLOAD 000025d7: DUP1 000025d8: DUP3 000025d9: ADD 000025da: SWAP1 000025db: SWAP2 000025dc: MSTORE 000025dd: PUSH1 0x01 000025df: DUP2 000025e0: MSTORE 000025e1: PUSH1 0x03 000025e3: PUSH1 0xfc 000025e5: SHL 000025e6: PUSH1 0x20 000025e8: DUP3 000025e9: ADD 000025ea: MSTORE 000025eb: SWAP1 000025ec: JUMP 000025ed: JUMPDEST 000025ee: DUP2 000025ef: PUSH1 0x00 000025f1: JUMPDEST 000025f2: DUP2 000025f3: ISZERO 000025f4: PUSH2 0x2617 000025f7: JUMPI 000025f8: DUP1 000025f9: PUSH2 0x2601 000025fc: DUP2 000025fd: PUSH2 0x3cdd 00002600: JUMP 00002601: JUMPDEST 00002602: SWAP2 00002603: POP 00002604: PUSH2 0x2610 00002607: SWAP1 00002608: POP 00002609: PUSH1 0x0a 0000260b: DUP4 0000260c: PUSH2 0x3c07 0000260f: JUMP 00002610: JUMPDEST 00002611: SWAP2 00002612: POP 00002613: PUSH2 0x25f1 00002616: JUMP 00002617: JUMPDEST 00002618: PUSH1 0x00 0000261a: DUP2 0000261b: PUSH8 0xffffffffffffffff 00002624: DUP2 00002625: GT 00002626: ISZERO 00002627: PUSH2 0x2632 0000262a: JUMPI 0000262b: PUSH2 0x2632 0000262e: PUSH2 0x3cc7 00002631: JUMP 00002632: JUMPDEST 00002633: PUSH1 0x40 00002635: MLOAD 00002636: SWAP1 00002637: DUP1 00002638: DUP3 00002639: MSTORE 0000263a: DUP1 0000263b: PUSH1 0x1f 0000263d: ADD 0000263e: PUSH1 0x1f 00002640: NOT 00002641: AND 00002642: PUSH1 0x20 00002644: ADD 00002645: DUP3 00002646: ADD 00002647: PUSH1 0x40 00002649: MSTORE 0000264a: DUP1 0000264b: ISZERO 0000264c: PUSH2 0x265c 0000264f: JUMPI 00002650: PUSH1 0x20 00002652: DUP3 00002653: ADD 00002654: DUP2 00002655: DUP1 00002656: CALLDATASIZE 00002657: DUP4 00002658: CALLDATACOPY 00002659: ADD 0000265a: SWAP1 0000265b: POP 0000265c: JUMPDEST 0000265d: POP 0000265e: SWAP1 0000265f: POP 00002660: JUMPDEST 00002661: DUP5 00002662: ISZERO 00002663: PUSH2 0x26c7 00002666: JUMPI 00002667: PUSH2 0x2671 0000266a: PUSH1 0x01 0000266c: DUP4 0000266d: PUSH2 0x3bac 00002670: JUMP 00002671: JUMPDEST 00002672: SWAP2 00002673: POP 00002674: PUSH2 0x267e 00002677: PUSH1 0x0a 00002679: DUP7 0000267a: PUSH2 0x3efb 0000267d: JUMP 0000267e: JUMPDEST 0000267f: PUSH2 0x2689 00002682: SWAP1 00002683: PUSH1 0x30 00002685: PUSH2 0x3bd9 00002688: JUMP 00002689: JUMPDEST 0000268a: PUSH1 0xf8 0000268c: SHL 0000268d: DUP2 0000268e: DUP4 0000268f: DUP2 00002690: MLOAD 00002691: DUP2 00002692: LT 00002693: PUSH2 0x269e 00002696: JUMPI 00002697: PUSH2 0x269e 0000269a: PUSH2 0x3bc3 0000269d: JUMP 0000269e: JUMPDEST 0000269f: PUSH1 0x20 000026a1: ADD 000026a2: ADD 000026a3: SWAP1 000026a4: PUSH1 0x01 000026a6: PUSH1 0x01 000026a8: PUSH1 0xf8 000026aa: SHL 000026ab: SUB 000026ac: NOT 000026ad: AND 000026ae: SWAP1 000026af: DUP2 000026b0: PUSH1 0x00 000026b2: BYTE 000026b3: SWAP1 000026b4: MSTORE8 000026b5: POP 000026b6: PUSH2 0x26c0 000026b9: PUSH1 0x0a 000026bb: DUP7 000026bc: PUSH2 0x3c07 000026bf: JUMP 000026c0: JUMPDEST 000026c1: SWAP5 000026c2: POP 000026c3: PUSH2 0x2660 000026c6: JUMP 000026c7: JUMPDEST 000026c8: SWAP5 000026c9: SWAP4 000026ca: POP 000026cb: POP 000026cc: POP 000026cd: POP 000026ce: JUMP 000026cf: JUMPDEST 000026d0: PUSH1 0x00 000026d2: DUP3 000026d3: PUSH1 0x01 000026d5: PUSH1 0x01 000026d7: PUSH1 0xa0 000026d9: SHL 000026da: SUB 000026db: AND 000026dc: DUP3 000026dd: PUSH1 0x40 000026df: MLOAD 000026e0: PUSH1 0x24 000026e2: ADD 000026e3: PUSH2 0x26ee 000026e6: SWAP2 000026e7: DUP2 000026e8: MSTORE 000026e9: PUSH1 0x20 000026eb: ADD 000026ec: SWAP1 000026ed: JUMP 000026ee: JUMPDEST 000026ef: PUSH1 0x40 000026f1: DUP1 000026f2: MLOAD 000026f3: PUSH1 0x1f 000026f5: NOT 000026f6: DUP2 000026f7: DUP5 000026f8: SUB 000026f9: ADD 000026fa: DUP2 000026fb: MSTORE 000026fc: SWAP2 000026fd: DUP2 000026fe: MSTORE 000026ff: PUSH1 0x20 00002701: DUP3 00002702: ADD 00002703: DUP1 00002704: MLOAD 00002705: PUSH1 0x01 00002707: PUSH1 0x01 00002709: PUSH1 0xe0 0000270b: SHL 0000270c: SUB 0000270d: AND 0000270e: PUSH4 0x534a7e1d 00002713: PUSH1 0xe1 00002715: SHL 00002716: OR 00002717: SWAP1 00002718: MSTORE 00002719: MLOAD 0000271a: PUSH2 0x2723 0000271d: SWAP2 0000271e: SWAP1 0000271f: PUSH2 0x3c38 00002722: JUMP 00002723: JUMPDEST 00002724: PUSH1 0x00 00002726: PUSH1 0x40 00002728: MLOAD 00002729: DUP1 0000272a: DUP4 0000272b: SUB 0000272c: DUP2 0000272d: DUP6 0000272e: GAS 0000272f: DELEGATECALL 00002730: SWAP2 00002731: POP 00002732: POP 00002733: RETURNDATASIZE 00002734: DUP1 00002735: PUSH1 0x00 00002737: DUP2 00002738: EQ 00002739: PUSH2 0x275e 0000273c: JUMPI 0000273d: PUSH1 0x40 0000273f: MLOAD 00002740: SWAP2 00002741: POP 00002742: PUSH1 0x1f 00002744: NOT 00002745: PUSH1 0x3f 00002747: RETURNDATASIZE 00002748: ADD 00002749: AND 0000274a: DUP3 0000274b: ADD 0000274c: PUSH1 0x40 0000274e: MSTORE 0000274f: RETURNDATASIZE 00002750: DUP3 00002751: MSTORE 00002752: RETURNDATASIZE 00002753: PUSH1 0x00 00002755: PUSH1 0x20 00002757: DUP5 00002758: ADD 00002759: RETURNDATACOPY 0000275a: PUSH2 0x2763 0000275d: JUMP 0000275e: JUMPDEST 0000275f: PUSH1 0x60 00002761: SWAP2 00002762: POP 00002763: JUMPDEST 00002764: POP 00002765: POP 00002766: SWAP1 00002767: POP 00002768: DUP1 00002769: PUSH2 0x0dca 0000276c: JUMPI 0000276d: PUSH1 0x40 0000276f: MLOAD 00002770: PUSH3 0x461bcd 00002774: PUSH1 0xe5 00002776: SHL 00002777: DUP2 00002778: MSTORE 00002779: PUSH1 0x04 0000277b: ADD 0000277c: PUSH2 0x09bd 0000277f: SWAP1 00002780: PUSH2 0x3eaa 00002783: JUMP 00002784: JUMPDEST 00002785: PUSH1 0x65 00002787: DUP1 00002788: SLOAD 00002789: PUSH1 0x01 0000278b: PUSH1 0x01 0000278d: PUSH1 0xa0 0000278f: SHL 00002790: SUB 00002791: NOT 00002792: AND 00002793: SWAP1 00002794: SSTORE 00002795: PUSH2 0x1548 00002798: DUP2 00002799: PUSH2 0x213e 0000279c: JUMP 0000279d: JUMPDEST 0000279e: PUSH1 0x60 000027a0: PUSH1 0x00 000027a2: PUSH2 0x0b68 000027a5: DUP4 000027a6: PUSH2 0x33b4 000027a9: JUMP 000027aa: JUMPDEST 000027ab: PUSH1 0x00 000027ad: PUSH2 0x0b68 000027b0: DUP4 000027b1: PUSH1 0x01 000027b3: PUSH1 0x01 000027b5: PUSH1 0xa0 000027b7: SHL 000027b8: SUB 000027b9: DUP5 000027ba: AND 000027bb: PUSH2 0x3410 000027be: JUMP 000027bf: JUMPDEST 000027c0: PUSH1 0x01 000027c2: PUSH1 0x01 000027c4: PUSH1 0xa0 000027c6: SHL 000027c7: SUB 000027c8: DUP2 000027c9: AND 000027ca: PUSH1 0x00 000027cc: SWAP1 000027cd: DUP2 000027ce: MSTORE 000027cf: PUSH1 0x01 000027d1: DUP4 000027d2: ADD 000027d3: PUSH1 0x20 000027d5: MSTORE 000027d6: PUSH1 0x40 000027d8: DUP2 000027d9: KECCAK256 000027da: SLOAD 000027db: ISZERO 000027dc: ISZERO 000027dd: PUSH2 0x0b68 000027e0: JUMP 000027e1: JUMPDEST 000027e2: PUSH1 0x00 000027e4: DUP1 000027e5: PUSH1 0x9a 000027e7: SLOAD 000027e8: SWAP1 000027e9: POP 000027ea: PUSH1 0x00 000027ec: PUSH1 0x97 000027ee: DUP3 000027ef: DUP2 000027f0: SLOAD 000027f1: DUP2 000027f2: LT 000027f3: PUSH2 0x27fe 000027f6: JUMPI 000027f7: PUSH2 0x27fe 000027fa: PUSH2 0x3bc3 000027fd: JUMP 000027fe: JUMPDEST 000027ff: PUSH1 0x00 00002801: SWAP2 00002802: DUP3 00002803: MSTORE 00002804: PUSH1 0x20 00002806: DUP1 00002807: DUP4 00002808: KECCAK256 00002809: PUSH1 0x40 0000280b: DUP1 0000280c: MLOAD 0000280d: PUSH1 0x80 0000280f: DUP2 00002810: ADD 00002811: DUP3 00002812: MSTORE 00002813: PUSH1 0x02 00002815: SWAP1 00002816: SWAP5 00002817: MUL 00002818: SWAP1 00002819: SWAP2 0000281a: ADD 0000281b: DUP1 0000281c: SLOAD 0000281d: PUSH1 0x01 0000281f: PUSH1 0x01 00002821: PUSH1 0x80 00002823: SHL 00002824: SUB 00002825: AND 00002826: DUP5 00002827: MSTORE 00002828: PUSH1 0x01 0000282a: ADD 0000282b: SLOAD 0000282c: PUSH1 0x01 0000282e: PUSH1 0x01 00002830: PUSH1 0xa0 00002832: SHL 00002833: SUB 00002834: DUP2 00002835: AND 00002836: SWAP3 00002837: DUP5 00002838: ADD 00002839: SWAP3 0000283a: SWAP1 0000283b: SWAP3 0000283c: MSTORE 0000283d: PUSH5 0xffffffffff 00002843: PUSH1 0x01 00002845: PUSH1 0xa0 00002847: SHL 00002848: DUP4 00002849: DIV 0000284a: AND 0000284b: SWAP1 0000284c: DUP4 0000284d: ADD 0000284e: MSTORE 0000284f: PUSH1 0xff 00002851: PUSH1 0x01 00002853: PUSH1 0xc8 00002855: SHL 00002856: SWAP1 00002857: SWAP2 00002858: DIV 00002859: AND 0000285a: ISZERO 0000285b: ISZERO 0000285c: PUSH1 0x60 0000285e: DUP3 0000285f: ADD 00002860: MSTORE 00002861: SWAP2 00002862: POP 00002863: PUSH2 0x286b 00002866: DUP6 00002867: PUSH2 0x3503 0000286a: JUMP 0000286b: JUMPDEST 0000286c: DUP3 0000286d: MLOAD 0000286e: PUSH2 0x2877 00002871: SWAP2 00002872: SWAP1 00002873: PUSH2 0x3f0f 00002876: JUMP 00002877: JUMPDEST 00002878: SWAP1 00002879: POP 0000287a: PUSH2 0x2884 0000287d: DUP4 0000287e: PUSH1 0x01 00002880: PUSH2 0x3bd9 00002883: JUMP 00002884: JUMPDEST 00002885: PUSH1 0x9a 00002887: DUP2 00002888: SWAP1 00002889: SSTORE 0000288a: PUSH1 0x40 0000288c: DUP1 0000288d: MLOAD 0000288e: PUSH1 0x80 00002890: DUP2 00002891: ADD 00002892: DUP3 00002893: MSTORE 00002894: PUSH1 0x01 00002896: PUSH1 0x01 00002898: PUSH1 0x80 0000289a: SHL 0000289b: SUB 0000289c: DUP1 0000289d: DUP6 0000289e: AND 0000289f: DUP3 000028a0: MSTORE 000028a1: PUSH1 0x01 000028a3: PUSH1 0x01 000028a5: PUSH1 0xa0 000028a7: SHL 000028a8: SUB 000028a9: DUP1 000028aa: DUP12 000028ab: AND 000028ac: PUSH1 0x20 000028ae: DUP1 000028af: DUP6 000028b0: ADD 000028b1: DUP3 000028b2: DUP2 000028b3: MSTORE 000028b4: PUSH5 0xffffffffff 000028ba: TIMESTAMP 000028bb: DUP2 000028bc: AND 000028bd: DUP8 000028be: DUP10 000028bf: ADD 000028c0: SWAP1 000028c1: DUP2 000028c2: MSTORE 000028c3: PUSH1 0x00 000028c5: PUSH1 0x60 000028c7: DUP10 000028c8: ADD 000028c9: DUP2 000028ca: DUP2 000028cb: MSTORE 000028cc: PUSH1 0x97 000028ce: DUP1 000028cf: SLOAD 000028d0: PUSH1 0x01 000028d2: DUP2 000028d3: ADD 000028d4: DUP3 000028d5: SSTORE 000028d6: SWAP1 000028d7: DUP4 000028d8: MSTORE 000028d9: DUP11 000028da: MLOAD 000028db: PUSH1 0x02 000028dd: SWAP1 000028de: SWAP2 000028df: MUL 000028e0: PUSH32 0x354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9 00002901: DUP2 00002902: ADD 00002903: DUP1 00002904: SLOAD 00002905: SWAP3 00002906: SWAP1 00002907: SWAP12 00002908: AND 00002909: PUSH1 0x01 0000290b: PUSH1 0x01 0000290d: PUSH1 0x80 0000290f: SHL 00002910: SUB 00002911: NOT 00002912: SWAP1 00002913: SWAP3 00002914: AND 00002915: SWAP2 00002916: SWAP1 00002917: SWAP2 00002918: OR 00002919: SWAP1 0000291a: SWAP10 0000291b: SSTORE 0000291c: SWAP4 0000291d: MLOAD 0000291e: PUSH32 0x354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ffa 0000293f: SWAP1 00002940: SWAP9 00002941: ADD 00002942: DUP1 00002943: SLOAD 00002944: SWAP3 00002945: MLOAD 00002946: SWAP5 00002947: MLOAD 00002948: ISZERO 00002949: ISZERO 0000294a: PUSH1 0x01 0000294c: PUSH1 0xc8 0000294e: SHL 0000294f: MUL 00002950: PUSH1 0xff 00002952: PUSH1 0xc8 00002954: SHL 00002955: NOT 00002956: SWAP6 00002957: SWAP1 00002958: SWAP5 00002959: AND 0000295a: PUSH1 0x01 0000295c: PUSH1 0xa0 0000295e: SHL 0000295f: MUL 00002960: PUSH1 0x01 00002962: PUSH1 0x01 00002964: PUSH1 0xc8 00002966: SHL 00002967: SUB 00002968: NOT 00002969: SWAP1 0000296a: SWAP4 0000296b: AND 0000296c: SWAP9 0000296d: SWAP1 0000296e: SWAP8 0000296f: AND 00002970: SWAP8 00002971: SWAP1 00002972: SWAP8 00002973: OR 00002974: OR 00002975: SWAP2 00002976: SWAP1 00002977: SWAP2 00002978: AND 00002979: OR 0000297a: SWAP1 0000297b: SWAP3 0000297c: SSTORE 0000297d: DUP3 0000297e: MSTORE 0000297f: PUSH1 0x98 00002981: SWAP1 00002982: MSTORE 00002983: SWAP2 00002984: SWAP1 00002985: SWAP2 00002986: KECCAK256 00002987: SWAP2 00002988: SWAP6 00002989: POP 0000298a: SWAP1 0000298b: PUSH2 0x2994 0000298e: SWAP1 0000298f: DUP7 00002990: PUSH2 0x356c 00002993: JUMP 00002994: JUMPDEST 00002995: POP 00002996: DUP7 00002997: PUSH1 0x01 00002999: PUSH1 0x01 0000299b: PUSH1 0xa0 0000299d: SHL 0000299e: SUB 0000299f: AND 000029a0: CALLER 000029a1: PUSH1 0x01 000029a3: PUSH1 0x01 000029a5: PUSH1 0xa0 000029a7: SHL 000029a8: SUB 000029a9: AND 000029aa: DUP7 000029ab: PUSH31 0xae2c76ca218353c7995e13a4af773a35837cb6ebb8288092d8190bcd9c8f68 000029cb: DUP10 000029cc: PUSH1 0x40 000029ce: MLOAD 000029cf: PUSH2 0x29da 000029d2: SWAP2 000029d3: DUP2 000029d4: MSTORE 000029d5: PUSH1 0x20 000029d7: ADD 000029d8: SWAP1 000029d9: JUMP 000029da: JUMPDEST 000029db: PUSH1 0x40 000029dd: MLOAD 000029de: DUP1 000029df: SWAP2 000029e0: SUB 000029e1: SWAP1 000029e2: LOG4 000029e3: POP 000029e4: POP 000029e5: POP 000029e6: POP 000029e7: SWAP3 000029e8: SWAP2 000029e9: POP 000029ea: POP 000029eb: JUMP 000029ec: JUMPDEST 000029ed: PUSH1 0x40 000029ef: DUP1 000029f0: MLOAD 000029f1: PUSH1 0xa0 000029f3: DUP2 000029f4: ADD 000029f5: DUP3 000029f6: MSTORE 000029f7: PUSH1 0x00 000029f9: DUP1 000029fa: DUP3 000029fb: MSTORE 000029fc: PUSH1 0x20 000029fe: DUP3 000029ff: ADD 00002a00: DUP2 00002a01: SWAP1 00002a02: MSTORE 00002a03: SWAP2 00002a04: DUP2 00002a05: ADD 00002a06: DUP3 00002a07: SWAP1 00002a08: MSTORE 00002a09: PUSH1 0x60 00002a0b: DUP2 00002a0c: ADD 00002a0d: DUP3 00002a0e: SWAP1 00002a0f: MSTORE 00002a10: PUSH1 0x80 00002a12: DUP2 00002a13: ADD 00002a14: SWAP2 00002a15: SWAP1 00002a16: SWAP2 00002a17: MSTORE 00002a18: DUP2 00002a19: ISZERO 00002a1a: DUP1 00002a1b: PUSH2 0x2a25 00002a1e: JUMPI 00002a1f: POP 00002a20: PUSH1 0x9a 00002a22: SLOAD 00002a23: DUP3 00002a24: GT 00002a25: JUMPDEST 00002a26: ISZERO 00002a27: PUSH2 0x2a46 00002a2a: JUMPI 00002a2b: PUSH1 0x40 00002a2d: MLOAD 00002a2e: PUSH4 0x64b4f079 00002a33: PUSH1 0xe1 00002a35: SHL 00002a36: DUP2 00002a37: MSTORE 00002a38: PUSH1 0x04 00002a3a: DUP2 00002a3b: ADD 00002a3c: DUP4 00002a3d: SWAP1 00002a3e: MSTORE 00002a3f: PUSH1 0x24 00002a41: ADD 00002a42: PUSH2 0x09bd 00002a45: JUMP 00002a46: JUMPDEST 00002a47: PUSH1 0x00 00002a49: PUSH1 0x97 00002a4b: DUP4 00002a4c: DUP2 00002a4d: SLOAD 00002a4e: DUP2 00002a4f: LT 00002a50: PUSH2 0x2a5b 00002a53: JUMPI 00002a54: PUSH2 0x2a5b 00002a57: PUSH2 0x3bc3 00002a5a: JUMP 00002a5b: JUMPDEST 00002a5c: PUSH1 0x00 00002a5e: SWAP2 00002a5f: DUP3 00002a60: MSTORE 00002a61: PUSH1 0x20 00002a63: DUP1 00002a64: DUP4 00002a65: KECCAK256 00002a66: PUSH1 0x40 00002a68: DUP1 00002a69: MLOAD 00002a6a: PUSH1 0x80 00002a6c: DUP2 00002a6d: ADD 00002a6e: DUP3 00002a6f: MSTORE 00002a70: PUSH1 0x02 00002a72: SWAP5 00002a73: SWAP1 00002a74: SWAP5 00002a75: MUL 00002a76: SWAP1 00002a77: SWAP2 00002a78: ADD 00002a79: DUP1 00002a7a: SLOAD 00002a7b: PUSH1 0x01 00002a7d: PUSH1 0x01 00002a7f: PUSH1 0x80 00002a81: SHL 00002a82: SUB 00002a83: AND 00002a84: DUP5 00002a85: MSTORE 00002a86: PUSH1 0x01 00002a88: SWAP1 00002a89: DUP2 00002a8a: ADD 00002a8b: SLOAD 00002a8c: PUSH1 0x01 00002a8e: PUSH1 0x01 00002a90: PUSH1 0xa0 00002a92: SHL 00002a93: SUB 00002a94: DUP2 00002a95: AND 00002a96: SWAP4 00002a97: DUP6 00002a98: ADD 00002a99: SWAP4 00002a9a: SWAP1 00002a9b: SWAP4 00002a9c: MSTORE 00002a9d: PUSH1 0x01 00002a9f: PUSH1 0xa0 00002aa1: SHL 00002aa2: DUP4 00002aa3: DIV 00002aa4: PUSH5 0xffffffffff 00002aaa: AND 00002aab: SWAP2 00002aac: DUP5 00002aad: ADD 00002aae: SWAP2 00002aaf: SWAP1 00002ab0: SWAP2 00002ab1: MSTORE 00002ab2: PUSH1 0x01 00002ab4: PUSH1 0xc8 00002ab6: SHL 00002ab7: SWAP1 00002ab8: SWAP2 00002ab9: DIV 00002aba: PUSH1 0xff 00002abc: AND 00002abd: ISZERO 00002abe: ISZERO 00002abf: PUSH1 0x60 00002ac1: DUP4 00002ac2: ADD 00002ac3: MSTORE 00002ac4: SWAP1 00002ac5: SWAP3 00002ac6: POP 00002ac7: PUSH1 0x97 00002ac9: SWAP1 00002aca: PUSH2 0x2ad3 00002acd: SWAP1 00002ace: DUP7 00002acf: PUSH2 0x3bac 00002ad2: JUMP 00002ad3: JUMPDEST 00002ad4: DUP2 00002ad5: SLOAD 00002ad6: DUP2 00002ad7: LT 00002ad8: PUSH2 0x2ae3 00002adb: JUMPI 00002adc: PUSH2 0x2ae3 00002adf: PUSH2 0x3bc3 00002ae2: JUMP 00002ae3: JUMPDEST 00002ae4: PUSH1 0x00 00002ae6: SWAP2 00002ae7: DUP3 00002ae8: MSTORE 00002ae9: PUSH1 0x20 00002aeb: SWAP2 00002aec: DUP3 00002aed: SWAP1 00002aee: KECCAK256 00002aef: PUSH1 0x40 00002af1: DUP1 00002af2: MLOAD 00002af3: PUSH1 0x80 00002af5: DUP2 00002af6: ADD 00002af7: DUP3 00002af8: MSTORE 00002af9: PUSH1 0x02 00002afb: SWAP4 00002afc: SWAP1 00002afd: SWAP4 00002afe: MUL 00002aff: SWAP1 00002b00: SWAP2 00002b01: ADD 00002b02: DUP1 00002b03: SLOAD 00002b04: PUSH1 0x01 00002b06: PUSH1 0x01 00002b08: PUSH1 0x80 00002b0a: SHL 00002b0b: SUB 00002b0c: AND 00002b0d: DUP4 00002b0e: MSTORE 00002b0f: PUSH1 0x01 00002b11: ADD 00002b12: SLOAD 00002b13: PUSH1 0x01 00002b15: PUSH1 0x01 00002b17: PUSH1 0xa0 00002b19: SHL 00002b1a: SUB 00002b1b: DUP2 00002b1c: AND 00002b1d: SWAP4 00002b1e: DUP4 00002b1f: ADD 00002b20: SWAP4 00002b21: SWAP1 00002b22: SWAP4 00002b23: MSTORE 00002b24: PUSH1 0x01 00002b26: PUSH1 0xa0 00002b28: SHL 00002b29: DUP4 00002b2a: DIV 00002b2b: PUSH5 0xffffffffff 00002b31: AND 00002b32: DUP3 00002b33: DUP3 00002b34: ADD 00002b35: MSTORE 00002b36: PUSH1 0x01 00002b38: PUSH1 0xc8 00002b3a: SHL 00002b3b: SWAP1 00002b3c: SWAP3 00002b3d: DIV 00002b3e: PUSH1 0xff 00002b40: AND 00002b41: ISZERO 00002b42: ISZERO 00002b43: PUSH1 0x60 00002b45: DUP3 00002b46: ADD 00002b47: MSTORE 00002b48: DUP2 00002b49: MLOAD 00002b4a: PUSH1 0xa0 00002b4c: DUP2 00002b4d: ADD 00002b4e: SWAP1 00002b4f: SWAP3 00002b50: MSTORE 00002b51: DUP1 00002b52: MLOAD 00002b53: DUP5 00002b54: MLOAD 00002b55: SWAP2 00002b56: SWAP4 00002b57: POP 00002b58: DUP3 00002b59: SWAP2 00002b5a: PUSH2 0x2b63 00002b5d: SWAP2 00002b5e: SWAP1 00002b5f: PUSH2 0x3e37 00002b62: JUMP 00002b63: JUMPDEST 00002b64: PUSH1 0x01 00002b66: PUSH1 0x01 00002b68: PUSH1 0x80 00002b6a: SHL 00002b6b: SUB 00002b6c: AND 00002b6d: DUP2 00002b6e: MSTORE 00002b6f: PUSH1 0x20 00002b71: ADD 00002b72: DUP4 00002b73: PUSH1 0x20 00002b75: ADD 00002b76: MLOAD 00002b77: PUSH1 0x01 00002b79: PUSH1 0x01 00002b7b: PUSH1 0xa0 00002b7d: SHL 00002b7e: SUB 00002b7f: AND 00002b80: DUP2 00002b81: MSTORE 00002b82: PUSH1 0x20 00002b84: ADD 00002b85: DUP4 00002b86: PUSH1 0x40 00002b88: ADD 00002b89: MLOAD 00002b8a: PUSH5 0xffffffffff 00002b90: AND 00002b91: DUP2 00002b92: MSTORE 00002b93: PUSH1 0x20 00002b95: ADD 00002b96: PUSH1 0x9b 00002b98: SLOAD 00002b99: DUP7 00002b9a: GT 00002b9b: ISZERO 00002b9c: ISZERO 00002b9d: ISZERO 00002b9e: DUP2 00002b9f: MSTORE 00002ba0: PUSH1 0x20 00002ba2: ADD 00002ba3: DUP4 00002ba4: PUSH1 0x60 00002ba6: ADD 00002ba7: MLOAD 00002ba8: ISZERO 00002ba9: ISZERO 00002baa: DUP2 00002bab: MSTORE 00002bac: POP 00002bad: SWAP3 00002bae: POP 00002baf: POP 00002bb0: POP 00002bb1: SWAP2 00002bb2: SWAP1 00002bb3: POP 00002bb4: JUMP 00002bb5: JUMPDEST 00002bb6: PUSH1 0x00 00002bb8: PUSH2 0x156f 00002bbb: DUP3 00002bbc: SLOAD 00002bbd: SWAP1 00002bbe: JUMP 00002bbf: JUMPDEST 00002bc0: PUSH1 0x00 00002bc2: DUP3 00002bc3: ISZERO 00002bc4: DUP1 00002bc5: PUSH2 0x2bcf 00002bc8: JUMPI 00002bc9: POP 00002bca: PUSH1 0x9a 00002bcc: SLOAD 00002bcd: DUP4 00002bce: GT 00002bcf: JUMPDEST 00002bd0: ISZERO 00002bd1: PUSH2 0x2bf0 00002bd4: JUMPI 00002bd5: PUSH1 0x40 00002bd7: MLOAD 00002bd8: PUSH4 0x64b4f079 00002bdd: PUSH1 0xe1 00002bdf: SHL 00002be0: DUP2 00002be1: MSTORE 00002be2: PUSH1 0x04 00002be4: DUP2 00002be5: ADD 00002be6: DUP5 00002be7: SWAP1 00002be8: MSTORE 00002be9: PUSH1 0x24 00002beb: ADD 00002bec: PUSH2 0x09bd 00002bef: JUMP 00002bf0: JUMPDEST 00002bf1: PUSH1 0x9b 00002bf3: SLOAD 00002bf4: DUP4 00002bf5: GT 00002bf6: ISZERO 00002bf7: PUSH2 0x2c02 00002bfa: JUMPI 00002bfb: POP 00002bfc: PUSH1 0x00 00002bfe: PUSH2 0x156f 00002c01: JUMP 00002c02: JUMPDEST 00002c03: PUSH1 0x00 00002c05: PUSH1 0x97 00002c07: DUP5 00002c08: DUP2 00002c09: SLOAD 00002c0a: DUP2 00002c0b: LT 00002c0c: PUSH2 0x2c17 00002c0f: JUMPI 00002c10: PUSH2 0x2c17 00002c13: PUSH2 0x3bc3 00002c16: JUMP 00002c17: JUMPDEST 00002c18: SWAP1 00002c19: PUSH1 0x00 00002c1b: MSTORE 00002c1c: PUSH1 0x20 00002c1e: PUSH1 0x00 00002c20: KECCAK256 00002c21: SWAP1 00002c22: PUSH1 0x02 00002c24: MUL 00002c25: ADD 00002c26: SWAP1 00002c27: POP 00002c28: DUP1 00002c29: PUSH1 0x01 00002c2b: ADD 00002c2c: PUSH1 0x19 00002c2e: SWAP1 00002c2f: SLOAD 00002c30: SWAP1 00002c31: PUSH2 0x0100 00002c34: EXP 00002c35: SWAP1 00002c36: DIV 00002c37: PUSH1 0xff 00002c39: AND 00002c3a: ISZERO 00002c3b: PUSH2 0x2c48 00002c3e: JUMPI 00002c3f: PUSH1 0x00 00002c41: SWAP2 00002c42: POP 00002c43: POP 00002c44: PUSH2 0x156f 00002c47: JUMP 00002c48: JUMPDEST 00002c49: PUSH2 0x26c7 00002c4c: DUP5 00002c4d: DUP5 00002c4e: PUSH2 0x2e93 00002c51: JUMP 00002c52: JUMPDEST 00002c53: PUSH1 0x40 00002c55: DUP1 00002c56: MLOAD 00002c57: PUSH1 0x04 00002c59: DUP2 00002c5a: MSTORE 00002c5b: PUSH1 0x24 00002c5d: DUP2 00002c5e: ADD 00002c5f: DUP3 00002c60: MSTORE 00002c61: PUSH1 0x20 00002c63: DUP2 00002c64: ADD 00002c65: DUP1 00002c66: MLOAD 00002c67: PUSH1 0x01 00002c69: PUSH1 0x01 00002c6b: PUSH1 0xe0 00002c6d: SHL 00002c6e: SUB 00002c6f: AND 00002c70: PUSH4 0x08f78907 00002c75: PUSH1 0xe3 00002c77: SHL 00002c78: OR 00002c79: SWAP1 00002c7a: MSTORE 00002c7b: SWAP1 00002c7c: MLOAD 00002c7d: PUSH1 0x00 00002c7f: SWAP2 00002c80: PUSH1 0x01 00002c82: PUSH1 0x01 00002c84: PUSH1 0xa0 00002c86: SHL 00002c87: SUB 00002c88: DUP5 00002c89: AND 00002c8a: SWAP2 00002c8b: PUSH2 0x2c94 00002c8e: SWAP2 00002c8f: SWAP1 00002c90: PUSH2 0x3c38 00002c93: JUMP 00002c94: JUMPDEST 00002c95: PUSH1 0x00 00002c97: PUSH1 0x40 00002c99: MLOAD 00002c9a: DUP1 00002c9b: DUP4 00002c9c: SUB 00002c9d: DUP2 00002c9e: DUP6 00002c9f: GAS 00002ca0: DELEGATECALL 00002ca1: SWAP2 00002ca2: POP 00002ca3: POP 00002ca4: RETURNDATASIZE 00002ca5: DUP1 00002ca6: PUSH1 0x00 00002ca8: DUP2 00002ca9: EQ 00002caa: PUSH2 0x2ccf 00002cad: JUMPI 00002cae: PUSH1 0x40 00002cb0: MLOAD 00002cb1: SWAP2 00002cb2: POP 00002cb3: PUSH1 0x1f 00002cb5: NOT 00002cb6: PUSH1 0x3f 00002cb8: RETURNDATASIZE 00002cb9: ADD 00002cba: AND 00002cbb: DUP3 00002cbc: ADD 00002cbd: PUSH1 0x40 00002cbf: MSTORE 00002cc0: RETURNDATASIZE 00002cc1: DUP3 00002cc2: MSTORE 00002cc3: RETURNDATASIZE 00002cc4: PUSH1 0x00 00002cc6: PUSH1 0x20 00002cc8: DUP5 00002cc9: ADD 00002cca: RETURNDATACOPY 00002ccb: PUSH2 0x2cd4 00002cce: JUMP 00002ccf: JUMPDEST 00002cd0: PUSH1 0x60 00002cd2: SWAP2 00002cd3: POP 00002cd4: JUMPDEST 00002cd5: POP 00002cd6: POP 00002cd7: SWAP1 00002cd8: POP 00002cd9: DUP1 00002cda: PUSH2 0x098c 00002cdd: JUMPI 00002cde: PUSH1 0x40 00002ce0: MLOAD 00002ce1: PUSH3 0x461bcd 00002ce5: PUSH1 0xe5 00002ce7: SHL 00002ce8: DUP2 00002ce9: MSTORE 00002cea: PUSH1 0x04 00002cec: ADD 00002ced: PUSH2 0x09bd 00002cf0: SWAP1 00002cf1: PUSH2 0x3eaa 00002cf4: JUMP 00002cf5: JUMPDEST 00002cf6: PUSH1 0x00 00002cf8: DUP3 00002cf9: PUSH1 0x01 00002cfb: PUSH1 0x01 00002cfd: PUSH1 0xa0 00002cff: SHL 00002d00: SUB 00002d01: AND 00002d02: DUP3 00002d03: PUSH1 0x40 00002d05: MLOAD 00002d06: PUSH1 0x24 00002d08: ADD 00002d09: PUSH2 0x2d14 00002d0c: SWAP2 00002d0d: DUP2 00002d0e: MSTORE 00002d0f: PUSH1 0x20 00002d11: ADD 00002d12: SWAP1 00002d13: JUMP 00002d14: JUMPDEST 00002d15: PUSH1 0x40 00002d17: DUP1 00002d18: MLOAD 00002d19: PUSH1 0x1f 00002d1b: NOT 00002d1c: DUP2 00002d1d: DUP5 00002d1e: SUB 00002d1f: ADD 00002d20: DUP2 00002d21: MSTORE 00002d22: SWAP2 00002d23: DUP2 00002d24: MSTORE 00002d25: PUSH1 0x20 00002d27: DUP3 00002d28: ADD 00002d29: DUP1 00002d2a: MLOAD 00002d2b: PUSH1 0x01 00002d2d: PUSH1 0x01 00002d2f: PUSH1 0xe0 00002d31: SHL 00002d32: SUB 00002d33: AND 00002d34: PUSH4 0x66785d93 00002d39: PUSH1 0xe0 00002d3b: SHL 00002d3c: OR 00002d3d: SWAP1 00002d3e: MSTORE 00002d3f: MLOAD 00002d40: PUSH2 0x2723 00002d43: SWAP2 00002d44: SWAP1 00002d45: PUSH2 0x3c38 00002d48: JUMP 00002d49: JUMPDEST 00002d4a: PUSH1 0x00 00002d4c: DUP1 00002d4d: DUP3 00002d4e: SLT 00002d4f: ISZERO 00002d50: PUSH2 0x2d5c 00002d53: JUMPI 00002d54: DUP2 00002d55: PUSH1 0x00 00002d57: SUB 00002d58: PUSH2 0x156f 00002d5b: JUMP 00002d5c: JUMPDEST 00002d5d: POP 00002d5e: SWAP1 00002d5f: JUMP 00002d60: JUMPDEST 00002d61: PUSH1 0x00 00002d63: DUP3 00002d64: PUSH1 0x01 00002d66: PUSH1 0x01 00002d68: PUSH1 0xa0 00002d6a: SHL 00002d6b: SUB 00002d6c: AND 00002d6d: DUP3 00002d6e: PUSH1 0x40 00002d70: MLOAD 00002d71: PUSH1 0x24 00002d73: ADD 00002d74: PUSH2 0x2d7f 00002d77: SWAP2 00002d78: DUP2 00002d79: MSTORE 00002d7a: PUSH1 0x20 00002d7c: ADD 00002d7d: SWAP1 00002d7e: JUMP 00002d7f: JUMPDEST 00002d80: PUSH1 0x40 00002d82: DUP1 00002d83: MLOAD 00002d84: PUSH1 0x1f 00002d86: NOT 00002d87: DUP2 00002d88: DUP5 00002d89: SUB 00002d8a: ADD 00002d8b: DUP2 00002d8c: MSTORE 00002d8d: SWAP2 00002d8e: DUP2 00002d8f: MSTORE 00002d90: PUSH1 0x20 00002d92: DUP3 00002d93: ADD 00002d94: DUP1 00002d95: MLOAD 00002d96: PUSH1 0x01 00002d98: PUSH1 0x01 00002d9a: PUSH1 0xe0 00002d9c: SHL 00002d9d: SUB 00002d9e: AND 00002d9f: PUSH4 0x26dd5d65 00002da4: PUSH1 0xe2 00002da6: SHL 00002da7: OR 00002da8: SWAP1 00002da9: MSTORE 00002daa: MLOAD 00002dab: PUSH2 0x2723 00002dae: SWAP2 00002daf: SWAP1 00002db0: PUSH2 0x3c38 00002db3: JUMP 00002db4: JUMPDEST 00002db5: PUSH1 0x00 00002db7: PUSH1 0x01 00002db9: PUSH1 0x01 00002dbb: PUSH1 0xff 00002dbd: SHL 00002dbe: SUB 00002dbf: DUP3 00002dc0: GT 00002dc1: ISZERO 00002dc2: PUSH2 0x2d5c 00002dc5: JUMPI 00002dc6: PUSH1 0x40 00002dc8: MLOAD 00002dc9: PUSH3 0x461bcd 00002dcd: PUSH1 0xe5 00002dcf: SHL 00002dd0: DUP2 00002dd1: MSTORE 00002dd2: PUSH1 0x20 00002dd4: PUSH1 0x04 00002dd6: DUP3 00002dd7: ADD 00002dd8: MSTORE 00002dd9: PUSH1 0x28 00002ddb: PUSH1 0x24 00002ddd: DUP3 00002dde: ADD 00002ddf: MSTORE 00002de0: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2061 00002e01: PUSH1 0x44 00002e03: DUP3 00002e04: ADD 00002e05: MSTORE 00002e06: PUSH8 0x371034b73a191a9b 00002e0f: PUSH1 0xc1 00002e11: SHL 00002e12: PUSH1 0x64 00002e14: DUP3 00002e15: ADD 00002e16: MSTORE 00002e17: PUSH1 0x84 00002e19: ADD 00002e1a: PUSH2 0x09bd 00002e1d: JUMP 00002e1e: JUMPDEST 00002e1f: PUSH1 0xd0 00002e21: SLOAD 00002e22: PUSH1 0x40 00002e24: MLOAD 00002e25: PUSH4 0x74f02e21 00002e2a: PUSH1 0xe1 00002e2c: SHL 00002e2d: DUP2 00002e2e: MSTORE 00002e2f: PUSH1 0x01 00002e31: PUSH1 0x01 00002e33: PUSH1 0xa0 00002e35: SHL 00002e36: SUB 00002e37: SWAP1 00002e38: SWAP2 00002e39: AND 00002e3a: SWAP1 00002e3b: PUSH4 0xe9e05c42 00002e40: SWAP1 00002e41: PUSH2 0x2e5e 00002e44: SWAP1 00002e45: PUSH1 0x43 00002e47: PUSH1 0x98 00002e49: SHL 00002e4a: SWAP1 00002e4b: PUSH1 0x00 00002e4d: SWAP1 00002e4e: PUSH3 0x030d40 00002e52: SWAP1 00002e53: DUP3 00002e54: SWAP1 00002e55: DUP9 00002e56: SWAP1 00002e57: PUSH1 0x04 00002e59: ADD 00002e5a: PUSH2 0x3f3a 00002e5d: JUMP 00002e5e: JUMPDEST 00002e5f: PUSH1 0x00 00002e61: PUSH1 0x40 00002e63: MLOAD 00002e64: DUP1 00002e65: DUP4 00002e66: SUB 00002e67: DUP2 00002e68: PUSH1 0x00 00002e6a: DUP8 00002e6b: DUP1 00002e6c: EXTCODESIZE 00002e6d: ISZERO 00002e6e: DUP1 00002e6f: ISZERO 00002e70: PUSH2 0x2e78 00002e73: JUMPI 00002e74: PUSH1 0x00 00002e76: DUP1 00002e77: REVERT 00002e78: JUMPDEST 00002e79: POP 00002e7a: GAS 00002e7b: CALL 00002e7c: ISZERO 00002e7d: DUP1 00002e7e: ISZERO 00002e7f: PUSH2 0x2e8c 00002e82: JUMPI 00002e83: RETURNDATASIZE 00002e84: PUSH1 0x00 00002e86: DUP1 00002e87: RETURNDATACOPY 00002e88: RETURNDATASIZE 00002e89: PUSH1 0x00 00002e8b: REVERT 00002e8c: JUMPDEST 00002e8d: POP 00002e8e: POP 00002e8f: POP 00002e90: POP 00002e91: POP 00002e92: JUMP 00002e93: JUMPDEST 00002e94: PUSH1 0x00 00002e96: DUP2 00002e97: PUSH1 0x00 00002e99: SUB 00002e9a: PUSH2 0x2eb9 00002e9d: JUMPI 00002e9e: PUSH1 0x40 00002ea0: MLOAD 00002ea1: PUSH4 0x6773bc71 00002ea6: PUSH1 0xe1 00002ea8: SHL 00002ea9: DUP2 00002eaa: MSTORE 00002eab: PUSH1 0x04 00002ead: DUP2 00002eae: ADD 00002eaf: DUP4 00002eb0: SWAP1 00002eb1: MSTORE 00002eb2: PUSH1 0x24 00002eb4: ADD 00002eb5: PUSH2 0x09bd 00002eb8: JUMP 00002eb9: JUMPDEST 00002eba: PUSH1 0x9c 00002ebc: SLOAD 00002ebd: DUP1 00002ebe: DUP4 00002ebf: GT 00002ec0: ISZERO 00002ec1: PUSH2 0x2ee0 00002ec4: JUMPI 00002ec5: PUSH1 0x40 00002ec7: MLOAD 00002ec8: PUSH4 0x6773bc71 00002ecd: PUSH1 0xe1 00002ecf: SHL 00002ed0: DUP2 00002ed1: MSTORE 00002ed2: PUSH1 0x04 00002ed4: DUP2 00002ed5: ADD 00002ed6: DUP5 00002ed7: SWAP1 00002ed8: MSTORE 00002ed9: PUSH1 0x24 00002edb: ADD 00002edc: PUSH2 0x09bd 00002edf: JUMP 00002ee0: JUMPDEST 00002ee1: PUSH1 0x00 00002ee3: PUSH1 0x99 00002ee5: DUP5 00002ee6: DUP2 00002ee7: SLOAD 00002ee8: DUP2 00002ee9: LT 00002eea: PUSH2 0x2ef5 00002eed: JUMPI 00002eee: PUSH2 0x2ef5 00002ef1: PUSH2 0x3bc3 00002ef4: JUMP 00002ef5: JUMPDEST 00002ef6: SWAP1 00002ef7: PUSH1 0x00 00002ef9: MSTORE 00002efa: PUSH1 0x20 00002efc: PUSH1 0x00 00002efe: KECCAK256 00002eff: SWAP1 00002f00: PUSH1 0x02 00002f02: MUL 00002f03: ADD 00002f04: PUSH1 0x40 00002f06: MLOAD 00002f07: DUP1 00002f08: PUSH1 0x40 00002f0a: ADD 00002f0b: PUSH1 0x40 00002f0d: MSTORE 00002f0e: SWAP1 00002f0f: DUP2 00002f10: PUSH1 0x00 00002f12: DUP3 00002f13: ADD 00002f14: SLOAD 00002f15: DUP2 00002f16: MSTORE 00002f17: PUSH1 0x20 00002f19: ADD 00002f1a: PUSH1 0x01 00002f1c: DUP3 00002f1d: ADD 00002f1e: SLOAD 00002f1f: DUP2 00002f20: MSTORE 00002f21: POP 00002f22: POP 00002f23: SWAP1 00002f24: POP 00002f25: DUP1 00002f26: PUSH1 0x00 00002f28: ADD 00002f29: MLOAD 00002f2a: DUP6 00002f2b: LT 00002f2c: ISZERO 00002f2d: PUSH2 0x2f4c 00002f30: JUMPI 00002f31: PUSH1 0x40 00002f33: MLOAD 00002f34: PUSH4 0x6773bc71 00002f39: PUSH1 0xe1 00002f3b: SHL 00002f3c: DUP2 00002f3d: MSTORE 00002f3e: PUSH1 0x04 00002f40: DUP2 00002f41: ADD 00002f42: DUP6 00002f43: SWAP1 00002f44: MSTORE 00002f45: PUSH1 0x24 00002f47: ADD 00002f48: PUSH2 0x09bd 00002f4b: JUMP 00002f4c: JUMPDEST 00002f4d: DUP2 00002f4e: DUP5 00002f4f: LT 00002f50: ISZERO 00002f51: PUSH2 0x2fcb 00002f54: JUMPI 00002f55: PUSH1 0x00 00002f57: PUSH1 0x99 00002f59: PUSH2 0x2f63 00002f5c: DUP7 00002f5d: PUSH1 0x01 00002f5f: PUSH2 0x3bd9 00002f62: JUMP 00002f63: JUMPDEST 00002f64: DUP2 00002f65: SLOAD 00002f66: DUP2 00002f67: LT 00002f68: PUSH2 0x2f73 00002f6b: JUMPI 00002f6c: PUSH2 0x2f73 00002f6f: PUSH2 0x3bc3 00002f72: JUMP 00002f73: JUMPDEST 00002f74: SWAP1 00002f75: PUSH1 0x00 00002f77: MSTORE 00002f78: PUSH1 0x20 00002f7a: PUSH1 0x00 00002f7c: KECCAK256 00002f7d: SWAP1 00002f7e: PUSH1 0x02 00002f80: MUL 00002f81: ADD 00002f82: PUSH1 0x40 00002f84: MLOAD 00002f85: DUP1 00002f86: PUSH1 0x40 00002f88: ADD 00002f89: PUSH1 0x40 00002f8b: MSTORE 00002f8c: SWAP1 00002f8d: DUP2 00002f8e: PUSH1 0x00 00002f90: DUP3 00002f91: ADD 00002f92: SLOAD 00002f93: DUP2 00002f94: MSTORE 00002f95: PUSH1 0x20 00002f97: ADD 00002f98: PUSH1 0x01 00002f9a: DUP3 00002f9b: ADD 00002f9c: SLOAD 00002f9d: DUP2 00002f9e: MSTORE 00002f9f: POP 00002fa0: POP 00002fa1: SWAP1 00002fa2: POP 00002fa3: DUP1 00002fa4: PUSH1 0x00 00002fa6: ADD 00002fa7: MLOAD 00002fa8: DUP7 00002fa9: LT 00002faa: PUSH2 0x2fc9 00002fad: JUMPI 00002fae: PUSH1 0x40 00002fb0: MLOAD 00002fb1: PUSH4 0x6773bc71 00002fb6: PUSH1 0xe1 00002fb8: SHL 00002fb9: DUP2 00002fba: MSTORE 00002fbb: PUSH1 0x04 00002fbd: DUP2 00002fbe: ADD 00002fbf: DUP7 00002fc0: SWAP1 00002fc1: MSTORE 00002fc2: PUSH1 0x24 00002fc4: ADD 00002fc5: PUSH2 0x09bd 00002fc8: JUMP 00002fc9: JUMPDEST 00002fca: POP 00002fcb: JUMPDEST 00002fcc: PUSH1 0x00 00002fce: PUSH1 0x97 00002fd0: PUSH2 0x2fda 00002fd3: PUSH1 0x01 00002fd5: DUP9 00002fd6: PUSH2 0x3bac 00002fd9: JUMP 00002fda: JUMPDEST 00002fdb: DUP2 00002fdc: SLOAD 00002fdd: DUP2 00002fde: LT 00002fdf: PUSH2 0x2fea 00002fe2: JUMPI 00002fe3: PUSH2 0x2fea 00002fe6: PUSH2 0x3bc3 00002fe9: JUMP 00002fea: JUMPDEST 00002feb: SWAP1 00002fec: PUSH1 0x00 00002fee: MSTORE 00002fef: PUSH1 0x20 00002ff1: PUSH1 0x00 00002ff3: KECCAK256 00002ff4: SWAP1 00002ff5: PUSH1 0x02 00002ff7: MUL 00002ff8: ADD 00002ff9: SWAP1 00002ffa: POP 00002ffb: PUSH1 0x00 00002ffd: PUSH1 0x97 00002fff: DUP8 00003000: DUP2 00003001: SLOAD 00003002: DUP2 00003003: LT 00003004: PUSH2 0x300f 00003007: JUMPI 00003008: PUSH2 0x300f 0000300b: PUSH2 0x3bc3 0000300e: JUMP 0000300f: JUMPDEST 00003010: PUSH1 0x00 00003012: SWAP2 00003013: DUP3 00003014: MSTORE 00003015: PUSH1 0x20 00003017: DUP3 00003018: KECCAK256 00003019: DUP5 0000301a: SLOAD 0000301b: PUSH1 0x02 0000301d: SWAP1 0000301e: SWAP3 0000301f: MUL 00003020: ADD 00003021: DUP1 00003022: SLOAD 00003023: SWAP1 00003024: SWAP4 00003025: POP 00003026: PUSH2 0x303b 00003029: SWAP2 0000302a: PUSH1 0x01 0000302c: PUSH1 0x01 0000302e: PUSH1 0x80 00003030: SHL 00003031: SUB 00003032: SWAP1 00003033: DUP2 00003034: AND 00003035: SWAP2 00003036: AND 00003037: PUSH2 0x3e37 0000303a: JUMP 0000303b: JUMPDEST 0000303c: PUSH1 0x01 0000303e: PUSH1 0x01 00003040: PUSH1 0x80 00003042: SHL 00003043: SUB 00003044: AND 00003045: SWAP1 00003046: POP 00003047: PUSH12 0x033b2e3c9fd0803ce8000000 00003054: DUP5 00003055: PUSH1 0x20 00003057: ADD 00003058: MLOAD 00003059: DUP3 0000305a: PUSH2 0x3063 0000305d: SWAP2 0000305e: SWAP1 0000305f: PUSH2 0x3cf6 00003062: JUMP 00003063: JUMPDEST 00003064: PUSH2 0x306d 00003067: SWAP2 00003068: SWAP1 00003069: PUSH2 0x3c07 0000306c: JUMP 0000306d: JUMPDEST 0000306e: SWAP9 0000306f: SWAP8 00003070: POP 00003071: POP 00003072: POP 00003073: POP 00003074: POP 00003075: POP 00003076: POP 00003077: POP 00003078: JUMP 00003079: JUMPDEST 0000307a: PUSH1 0x00 0000307c: DUP1 0000307d: PUSH1 0x00 0000307f: DUP1 00003080: PUSH1 0x00 00003082: DUP1 00003083: DUP7 00003084: DUP10 00003085: DUP10 00003086: CALL 00003087: SWAP6 00003088: SWAP5 00003089: POP 0000308a: POP 0000308b: POP 0000308c: POP 0000308d: POP 0000308e: JUMP 0000308f: JUMPDEST 00003090: PUSH1 0x40 00003092: DUP1 00003093: MLOAD 00003094: PUSH1 0x01 00003096: PUSH1 0x01 00003098: PUSH1 0xa0 0000309a: SHL 0000309b: SUB 0000309c: DUP5 0000309d: AND 0000309e: PUSH1 0x24 000030a0: DUP3 000030a1: ADD 000030a2: MSTORE 000030a3: PUSH1 0x44 000030a5: DUP1 000030a6: DUP3 000030a7: ADD 000030a8: DUP5 000030a9: SWAP1 000030aa: MSTORE 000030ab: DUP3 000030ac: MLOAD 000030ad: DUP1 000030ae: DUP4 000030af: SUB 000030b0: SWAP1 000030b1: SWAP2 000030b2: ADD 000030b3: DUP2 000030b4: MSTORE 000030b5: PUSH1 0x64 000030b7: SWAP1 000030b8: SWAP2 000030b9: ADD 000030ba: SWAP1 000030bb: SWAP2 000030bc: MSTORE 000030bd: PUSH1 0x20 000030bf: DUP2 000030c0: ADD 000030c1: DUP1 000030c2: MLOAD 000030c3: PUSH1 0x01 000030c5: PUSH1 0x01 000030c7: PUSH1 0xe0 000030c9: SHL 000030ca: SUB 000030cb: AND 000030cc: PUSH4 0xa9059cbb 000030d1: PUSH1 0xe0 000030d3: SHL 000030d4: OR 000030d5: SWAP1 000030d6: MSTORE 000030d7: PUSH2 0x0dca 000030da: SWAP1 000030db: DUP5 000030dc: SWAP1 000030dd: PUSH2 0x3578 000030e0: JUMP 000030e1: JUMPDEST 000030e2: PUSH1 0x40 000030e4: DUP1 000030e5: MLOAD 000030e6: DUP1 000030e7: DUP3 000030e8: ADD 000030e9: SWAP1 000030ea: SWAP2 000030eb: MSTORE 000030ec: DUP3 000030ed: DUP2 000030ee: MSTORE 000030ef: PUSH1 0x20 000030f1: DUP2 000030f2: ADD 000030f3: DUP3 000030f4: DUP2 000030f5: MSTORE 000030f6: PUSH1 0x99 000030f8: DUP1 000030f9: SLOAD 000030fa: PUSH1 0x01 000030fc: DUP1 000030fd: DUP3 000030fe: ADD 000030ff: DUP4 00003100: SSTORE 00003101: PUSH1 0x00 00003103: SWAP3 00003104: DUP4 00003105: MSTORE 00003106: SWAP4 00003107: MLOAD 00003108: PUSH32 0x72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d00 00003129: PUSH1 0x02 0000312b: SWAP1 0000312c: SWAP3 0000312d: MUL 0000312e: SWAP2 0000312f: DUP3 00003130: ADD 00003131: SSTORE 00003132: SWAP2 00003133: MLOAD 00003134: PUSH32 0x72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d01 00003155: SWAP1 00003156: SWAP3 00003157: ADD 00003158: SWAP2 00003159: SWAP1 0000315a: SWAP2 0000315b: SSTORE 0000315c: PUSH1 0x9c 0000315e: DUP1 0000315f: SLOAD 00003160: SWAP2 00003161: SWAP3 00003162: SWAP2 00003163: DUP4 00003164: SWAP1 00003165: PUSH2 0x316f 00003168: SWAP1 00003169: DUP5 0000316a: SWAP1 0000316b: PUSH2 0x3bd9 0000316e: JUMP 0000316f: JUMPDEST 00003170: SWAP1 00003171: SWAP2 00003172: SSTORE 00003173: POP 00003174: POP 00003175: PUSH1 0x9c 00003177: SLOAD 00003178: SWAP4 00003179: SWAP3 0000317a: POP 0000317b: POP 0000317c: POP 0000317d: JUMP 0000317e: JUMPDEST 0000317f: PUSH1 0x00 00003181: DUP2 00003182: DUP2 00003183: MSTORE 00003184: PUSH1 0x01 00003186: DUP4 00003187: ADD 00003188: PUSH1 0x20 0000318a: MSTORE 0000318b: PUSH1 0x40 0000318d: DUP2 0000318e: KECCAK256 0000318f: SLOAD 00003190: PUSH2 0x31c5 00003193: JUMPI 00003194: POP 00003195: DUP2 00003196: SLOAD 00003197: PUSH1 0x01 00003199: DUP2 0000319a: DUP2 0000319b: ADD 0000319c: DUP5 0000319d: SSTORE 0000319e: PUSH1 0x00 000031a0: DUP5 000031a1: DUP2 000031a2: MSTORE 000031a3: PUSH1 0x20 000031a5: DUP1 000031a6: DUP3 000031a7: KECCAK256 000031a8: SWAP1 000031a9: SWAP4 000031aa: ADD 000031ab: DUP5 000031ac: SWAP1 000031ad: SSTORE 000031ae: DUP5 000031af: SLOAD 000031b0: DUP5 000031b1: DUP3 000031b2: MSTORE 000031b3: DUP3 000031b4: DUP7 000031b5: ADD 000031b6: SWAP1 000031b7: SWAP4 000031b8: MSTORE 000031b9: PUSH1 0x40 000031bb: SWAP1 000031bc: KECCAK256 000031bd: SWAP2 000031be: SWAP1 000031bf: SWAP2 000031c0: SSTORE 000031c1: PUSH2 0x156f 000031c4: JUMP 000031c5: JUMPDEST 000031c6: POP 000031c7: PUSH1 0x00 000031c9: PUSH2 0x156f 000031cc: JUMP 000031cd: JUMPDEST 000031ce: PUSH1 0x00 000031d0: SLOAD 000031d1: PUSH2 0x0100 000031d4: SWAP1 000031d5: DIV 000031d6: PUSH1 0xff 000031d8: AND 000031d9: PUSH2 0x31f4 000031dc: JUMPI 000031dd: PUSH1 0x40 000031df: MLOAD 000031e0: PUSH3 0x461bcd 000031e4: PUSH1 0xe5 000031e6: SHL 000031e7: DUP2 000031e8: MSTORE 000031e9: PUSH1 0x04 000031eb: ADD 000031ec: PUSH2 0x09bd 000031ef: SWAP1 000031f0: PUSH2 0x3e5f 000031f3: JUMP 000031f4: JUMPDEST 000031f5: PUSH2 0x14cf 000031f8: PUSH2 0x364a 000031fb: JUMP 000031fc: JUMPDEST 000031fd: PUSH1 0x00 000031ff: SLOAD 00003200: PUSH2 0x0100 00003203: SWAP1 00003204: DIV 00003205: PUSH1 0xff 00003207: AND 00003208: PUSH2 0x3223 0000320b: JUMPI 0000320c: PUSH1 0x40 0000320e: MLOAD 0000320f: PUSH3 0x461bcd 00003213: PUSH1 0xe5 00003215: SHL 00003216: DUP2 00003217: MSTORE 00003218: PUSH1 0x04 0000321a: ADD 0000321b: PUSH2 0x09bd 0000321e: SWAP1 0000321f: PUSH2 0x3e5f 00003222: JUMP 00003223: JUMPDEST 00003224: PUSH1 0x40 00003226: DUP1 00003227: MLOAD 00003228: PUSH1 0x80 0000322a: DUP2 0000322b: ADD 0000322c: DUP3 0000322d: MSTORE 0000322e: PUSH1 0x00 00003230: DUP1 00003231: DUP3 00003232: MSTORE 00003233: PUSH1 0x20 00003235: DUP1 00003236: DUP4 00003237: ADD 00003238: DUP3 00003239: DUP2 0000323a: MSTORE 0000323b: PUSH5 0xffffffffff 00003241: TIMESTAMP 00003242: DUP2 00003243: AND 00003244: DUP6 00003245: DUP8 00003246: ADD 00003247: SWAP1 00003248: DUP2 00003249: MSTORE 0000324a: PUSH1 0x01 0000324c: PUSH1 0x60 0000324e: DUP8 0000324f: ADD 00003250: DUP2 00003251: DUP2 00003252: MSTORE 00003253: PUSH1 0x97 00003255: DUP1 00003256: SLOAD 00003257: DUP1 00003258: DUP5 00003259: ADD 0000325a: DUP3 0000325b: SSTORE 0000325c: SWAP1 0000325d: DUP9 0000325e: MSTORE 0000325f: SWAP8 00003260: MLOAD 00003261: PUSH1 0x02 00003263: SWAP9 00003264: DUP10 00003265: MUL 00003266: PUSH32 0x354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9 00003287: DUP2 00003288: ADD 00003289: DUP1 0000328a: SLOAD 0000328b: PUSH1 0x01 0000328d: PUSH1 0x01 0000328f: PUSH1 0x80 00003291: SHL 00003292: SUB 00003293: SWAP4 00003294: SWAP1 00003295: SWAP4 00003296: AND 00003297: PUSH1 0x01 00003299: PUSH1 0x01 0000329b: PUSH1 0x80 0000329d: SHL 0000329e: SUB 0000329f: NOT 000032a0: SWAP1 000032a1: SWAP4 000032a2: AND 000032a3: SWAP3 000032a4: SWAP1 000032a5: SWAP3 000032a6: OR 000032a7: SWAP1 000032a8: SWAP2 000032a9: SSTORE 000032aa: SWAP5 000032ab: MLOAD 000032ac: PUSH32 0x354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ffa 000032cd: SWAP1 000032ce: SWAP6 000032cf: ADD 000032d0: DUP1 000032d1: SLOAD 000032d2: SWAP4 000032d3: MLOAD 000032d4: SWAP2 000032d5: MLOAD 000032d6: ISZERO 000032d7: ISZERO 000032d8: PUSH1 0x01 000032da: PUSH1 0xc8 000032dc: SHL 000032dd: MUL 000032de: PUSH1 0xff 000032e0: PUSH1 0xc8 000032e2: SHL 000032e3: NOT 000032e4: SWAP3 000032e5: SWAP1 000032e6: SWAP6 000032e7: AND 000032e8: PUSH1 0x01 000032ea: PUSH1 0xa0 000032ec: SHL 000032ed: MUL 000032ee: PUSH1 0x01 000032f0: PUSH1 0x01 000032f2: PUSH1 0xc8 000032f4: SHL 000032f5: SUB 000032f6: NOT 000032f7: SWAP1 000032f8: SWAP5 000032f9: AND 000032fa: PUSH1 0x01 000032fc: PUSH1 0x01 000032fe: PUSH1 0xa0 00003300: SHL 00003301: SUB 00003302: SWAP7 00003303: SWAP1 00003304: SWAP7 00003305: AND 00003306: SWAP6 00003307: SWAP1 00003308: SWAP6 00003309: OR 0000330a: SWAP3 0000330b: SWAP1 0000330c: SWAP3 0000330d: OR 0000330e: SWAP2 0000330f: SWAP1 00003310: SWAP2 00003311: AND 00003312: SWAP2 00003313: SWAP1 00003314: SWAP2 00003315: OR 00003316: SWAP1 00003317: SWAP2 00003318: SSTORE 00003319: DUP5 0000331a: MLOAD 0000331b: DUP1 0000331c: DUP7 0000331d: ADD 0000331e: SWAP1 0000331f: SWAP6 00003320: MSTORE 00003321: DUP3 00003322: DUP6 00003323: MSTORE 00003324: SWAP1 00003325: DUP5 00003326: ADD 00003327: DUP3 00003328: DUP2 00003329: MSTORE 0000332a: PUSH1 0x99 0000332c: DUP1 0000332d: SLOAD 0000332e: SWAP3 0000332f: DUP4 00003330: ADD 00003331: DUP2 00003332: SSTORE 00003333: SWAP1 00003334: SWAP3 00003335: MSTORE 00003336: SWAP3 00003337: MLOAD 00003338: SWAP3 00003339: SWAP1 0000333a: SWAP2 0000333b: MUL 0000333c: PUSH32 0x72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d00 0000335d: DUP2 0000335e: ADD 0000335f: SWAP3 00003360: SWAP1 00003361: SWAP3 00003362: SSTORE 00003363: MLOAD 00003364: PUSH32 0x72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d01 00003385: SWAP1 00003386: SWAP2 00003387: ADD 00003388: SSTORE 00003389: JUMP 0000338a: JUMPDEST 0000338b: PUSH1 0x00 0000338d: DUP3 0000338e: PUSH1 0x00 00003390: ADD 00003391: DUP3 00003392: DUP2 00003393: SLOAD 00003394: DUP2 00003395: LT 00003396: PUSH2 0x33a1 00003399: JUMPI 0000339a: PUSH2 0x33a1 0000339d: PUSH2 0x3bc3 000033a0: JUMP 000033a1: JUMPDEST 000033a2: SWAP1 000033a3: PUSH1 0x00 000033a5: MSTORE 000033a6: PUSH1 0x20 000033a8: PUSH1 0x00 000033aa: KECCAK256 000033ab: ADD 000033ac: SLOAD 000033ad: SWAP1 000033ae: POP 000033af: SWAP3 000033b0: SWAP2 000033b1: POP 000033b2: POP 000033b3: JUMP 000033b4: JUMPDEST 000033b5: PUSH1 0x60 000033b7: DUP2 000033b8: PUSH1 0x00 000033ba: ADD 000033bb: DUP1 000033bc: SLOAD 000033bd: DUP1 000033be: PUSH1 0x20 000033c0: MUL 000033c1: PUSH1 0x20 000033c3: ADD 000033c4: PUSH1 0x40 000033c6: MLOAD 000033c7: SWAP1 000033c8: DUP2 000033c9: ADD 000033ca: PUSH1 0x40 000033cc: MSTORE 000033cd: DUP1 000033ce: SWAP3 000033cf: SWAP2 000033d0: SWAP1 000033d1: DUP2 000033d2: DUP2 000033d3: MSTORE 000033d4: PUSH1 0x20 000033d6: ADD 000033d7: DUP3 000033d8: DUP1 000033d9: SLOAD 000033da: DUP1 000033db: ISZERO 000033dc: PUSH2 0x3404 000033df: JUMPI 000033e0: PUSH1 0x20 000033e2: MUL 000033e3: DUP3 000033e4: ADD 000033e5: SWAP2 000033e6: SWAP1 000033e7: PUSH1 0x00 000033e9: MSTORE 000033ea: PUSH1 0x20 000033ec: PUSH1 0x00 000033ee: KECCAK256 000033ef: SWAP1 000033f0: JUMPDEST 000033f1: DUP2 000033f2: SLOAD 000033f3: DUP2 000033f4: MSTORE 000033f5: PUSH1 0x20 000033f7: ADD 000033f8: SWAP1 000033f9: PUSH1 0x01 000033fb: ADD 000033fc: SWAP1 000033fd: DUP1 000033fe: DUP4 000033ff: GT 00003400: PUSH2 0x33f0 00003403: JUMPI 00003404: JUMPDEST 00003405: POP 00003406: POP 00003407: POP 00003408: POP 00003409: POP 0000340a: SWAP1 0000340b: POP 0000340c: SWAP2 0000340d: SWAP1 0000340e: POP 0000340f: JUMP 00003410: JUMPDEST 00003411: PUSH1 0x00 00003413: DUP2 00003414: DUP2 00003415: MSTORE 00003416: PUSH1 0x01 00003418: DUP4 00003419: ADD 0000341a: PUSH1 0x20 0000341c: MSTORE 0000341d: PUSH1 0x40 0000341f: DUP2 00003420: KECCAK256 00003421: SLOAD 00003422: DUP1 00003423: ISZERO 00003424: PUSH2 0x34f9 00003427: JUMPI 00003428: PUSH1 0x00 0000342a: PUSH2 0x3434 0000342d: PUSH1 0x01 0000342f: DUP4 00003430: PUSH2 0x3bac 00003433: JUMP 00003434: JUMPDEST 00003435: DUP6 00003436: SLOAD 00003437: SWAP1 00003438: SWAP2 00003439: POP 0000343a: PUSH1 0x00 0000343c: SWAP1 0000343d: PUSH2 0x3448 00003440: SWAP1 00003441: PUSH1 0x01 00003443: SWAP1 00003444: PUSH2 0x3bac 00003447: JUMP 00003448: JUMPDEST 00003449: SWAP1 0000344a: POP 0000344b: DUP2 0000344c: DUP2 0000344d: EQ 0000344e: PUSH2 0x34ad 00003451: JUMPI 00003452: PUSH1 0x00 00003454: DUP7 00003455: PUSH1 0x00 00003457: ADD 00003458: DUP3 00003459: DUP2 0000345a: SLOAD 0000345b: DUP2 0000345c: LT 0000345d: PUSH2 0x3468 00003460: JUMPI 00003461: PUSH2 0x3468 00003464: PUSH2 0x3bc3 00003467: JUMP 00003468: JUMPDEST 00003469: SWAP1 0000346a: PUSH1 0x00 0000346c: MSTORE 0000346d: PUSH1 0x20 0000346f: PUSH1 0x00 00003471: KECCAK256 00003472: ADD 00003473: SLOAD 00003474: SWAP1 00003475: POP 00003476: DUP1 00003477: DUP8 00003478: PUSH1 0x00 0000347a: ADD 0000347b: DUP5 0000347c: DUP2 0000347d: SLOAD 0000347e: DUP2 0000347f: LT 00003480: PUSH2 0x348b 00003483: JUMPI 00003484: PUSH2 0x348b 00003487: PUSH2 0x3bc3 0000348a: JUMP 0000348b: JUMPDEST 0000348c: PUSH1 0x00 0000348e: SWAP2 0000348f: DUP3 00003490: MSTORE 00003491: PUSH1 0x20 00003493: DUP1 00003494: DUP4 00003495: KECCAK256 00003496: SWAP1 00003497: SWAP2 00003498: ADD 00003499: SWAP3 0000349a: SWAP1 0000349b: SWAP3 0000349c: SSTORE 0000349d: SWAP2 0000349e: DUP3 0000349f: MSTORE 000034a0: PUSH1 0x01 000034a2: DUP9 000034a3: ADD 000034a4: SWAP1 000034a5: MSTORE 000034a6: PUSH1 0x40 000034a8: SWAP1 000034a9: KECCAK256 000034aa: DUP4 000034ab: SWAP1 000034ac: SSTORE 000034ad: JUMPDEST 000034ae: DUP6 000034af: SLOAD 000034b0: DUP7 000034b1: SWAP1 000034b2: DUP1 000034b3: PUSH2 0x34be 000034b6: JUMPI 000034b7: PUSH2 0x34be 000034ba: PUSH2 0x3f75 000034bd: JUMP 000034be: JUMPDEST 000034bf: PUSH1 0x01 000034c1: SWAP1 000034c2: SUB 000034c3: DUP2 000034c4: DUP2 000034c5: SWAP1 000034c6: PUSH1 0x00 000034c8: MSTORE 000034c9: PUSH1 0x20 000034cb: PUSH1 0x00 000034cd: KECCAK256 000034ce: ADD 000034cf: PUSH1 0x00 000034d1: SWAP1 000034d2: SSTORE 000034d3: SWAP1 000034d4: SSTORE 000034d5: DUP6 000034d6: PUSH1 0x01 000034d8: ADD 000034d9: PUSH1 0x00 000034db: DUP7 000034dc: DUP2 000034dd: MSTORE 000034de: PUSH1 0x20 000034e0: ADD 000034e1: SWAP1 000034e2: DUP2 000034e3: MSTORE 000034e4: PUSH1 0x20 000034e6: ADD 000034e7: PUSH1 0x00 000034e9: KECCAK256 000034ea: PUSH1 0x00 000034ec: SWAP1 000034ed: SSTORE 000034ee: PUSH1 0x01 000034f0: SWAP4 000034f1: POP 000034f2: POP 000034f3: POP 000034f4: POP 000034f5: PUSH2 0x156f 000034f8: JUMP 000034f9: JUMPDEST 000034fa: PUSH1 0x00 000034fc: SWAP2 000034fd: POP 000034fe: POP 000034ff: PUSH2 0x156f 00003502: JUMP 00003503: JUMPDEST 00003504: PUSH1 0x00 00003506: PUSH1 0x01 00003508: PUSH1 0x01 0000350a: PUSH1 0x80 0000350c: SHL 0000350d: SUB 0000350e: DUP3 0000350f: GT 00003510: ISZERO 00003511: PUSH2 0x2d5c 00003514: JUMPI 00003515: PUSH1 0x40 00003517: MLOAD 00003518: PUSH3 0x461bcd 0000351c: PUSH1 0xe5 0000351e: SHL 0000351f: DUP2 00003520: MSTORE 00003521: PUSH1 0x20 00003523: PUSH1 0x04 00003525: DUP3 00003526: ADD 00003527: MSTORE 00003528: PUSH1 0x27 0000352a: PUSH1 0x24 0000352c: DUP3 0000352d: ADD 0000352e: MSTORE 0000352f: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031 00003550: PUSH1 0x44 00003552: DUP3 00003553: ADD 00003554: MSTORE 00003555: PUSH7 0x32382062697473 0000355d: PUSH1 0xc8 0000355f: SHL 00003560: PUSH1 0x64 00003562: DUP3 00003563: ADD 00003564: MSTORE 00003565: PUSH1 0x84 00003567: ADD 00003568: PUSH2 0x09bd 0000356b: JUMP 0000356c: JUMPDEST 0000356d: PUSH1 0x00 0000356f: PUSH2 0x0b68 00003572: DUP4 00003573: DUP4 00003574: PUSH2 0x317e 00003577: JUMP 00003578: JUMPDEST 00003579: PUSH1 0x00 0000357b: PUSH2 0x35cd 0000357e: DUP3 0000357f: PUSH1 0x40 00003581: MLOAD 00003582: DUP1 00003583: PUSH1 0x40 00003585: ADD 00003586: PUSH1 0x40 00003588: MSTORE 00003589: DUP1 0000358a: PUSH1 0x20 0000358c: DUP2 0000358d: MSTORE 0000358e: PUSH1 0x20 00003590: ADD 00003591: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000035b2: DUP2 000035b3: MSTORE 000035b4: POP 000035b5: DUP6 000035b6: PUSH1 0x01 000035b8: PUSH1 0x01 000035ba: PUSH1 0xa0 000035bc: SHL 000035bd: SUB 000035be: AND 000035bf: PUSH2 0x367a 000035c2: SWAP1 000035c3: SWAP3 000035c4: SWAP2 000035c5: SWAP1 000035c6: PUSH4 0xffffffff 000035cb: AND 000035cc: JUMP 000035cd: JUMPDEST 000035ce: DUP1 000035cf: MLOAD 000035d0: SWAP1 000035d1: SWAP2 000035d2: POP 000035d3: ISZERO 000035d4: PUSH2 0x0dca 000035d7: JUMPI 000035d8: DUP1 000035d9: DUP1 000035da: PUSH1 0x20 000035dc: ADD 000035dd: SWAP1 000035de: MLOAD 000035df: DUP2 000035e0: ADD 000035e1: SWAP1 000035e2: PUSH2 0x35eb 000035e5: SWAP2 000035e6: SWAP1 000035e7: PUSH2 0x3d15 000035ea: JUMP 000035eb: JUMPDEST 000035ec: PUSH2 0x0dca 000035ef: JUMPI 000035f0: PUSH1 0x40 000035f2: MLOAD 000035f3: PUSH3 0x461bcd 000035f7: PUSH1 0xe5 000035f9: SHL 000035fa: DUP2 000035fb: MSTORE 000035fc: PUSH1 0x20 000035fe: PUSH1 0x04 00003600: DUP3 00003601: ADD 00003602: MSTORE 00003603: PUSH1 0x2a 00003605: PUSH1 0x24 00003607: DUP3 00003608: ADD 00003609: MSTORE 0000360a: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 0000362b: PUSH1 0x44 0000362d: DUP3 0000362e: ADD 0000362f: MSTORE 00003630: PUSH10 0x1bdd081cdd58d8d95959 0000363b: PUSH1 0xb2 0000363d: SHL 0000363e: PUSH1 0x64 00003640: DUP3 00003641: ADD 00003642: MSTORE 00003643: PUSH1 0x84 00003645: ADD 00003646: PUSH2 0x09bd 00003649: JUMP 0000364a: JUMPDEST 0000364b: PUSH1 0x00 0000364d: SLOAD 0000364e: PUSH2 0x0100 00003651: SWAP1 00003652: DIV 00003653: PUSH1 0xff 00003655: AND 00003656: PUSH2 0x3671 00003659: JUMPI 0000365a: PUSH1 0x40 0000365c: MLOAD 0000365d: PUSH3 0x461bcd 00003661: PUSH1 0xe5 00003663: SHL 00003664: DUP2 00003665: MSTORE 00003666: PUSH1 0x04 00003668: ADD 00003669: PUSH2 0x09bd 0000366c: SWAP1 0000366d: PUSH2 0x3e5f 00003670: JUMP 00003671: JUMPDEST 00003672: PUSH2 0x14cf 00003675: CALLER 00003676: PUSH2 0x2784 00003679: JUMP 0000367a: JUMPDEST 0000367b: PUSH1 0x60 0000367d: PUSH2 0x26c7 00003680: DUP5 00003681: DUP5 00003682: PUSH1 0x00 00003684: DUP6 00003685: DUP6 00003686: PUSH1 0x01 00003688: PUSH1 0x01 0000368a: PUSH1 0xa0 0000368c: SHL 0000368d: SUB 0000368e: DUP6 0000368f: AND 00003690: EXTCODESIZE 00003691: PUSH2 0x36dc 00003694: JUMPI 00003695: PUSH1 0x40 00003697: MLOAD 00003698: PUSH3 0x461bcd 0000369c: PUSH1 0xe5 0000369e: SHL 0000369f: DUP2 000036a0: MSTORE 000036a1: PUSH1 0x20 000036a3: PUSH1 0x04 000036a5: DUP3 000036a6: ADD 000036a7: MSTORE 000036a8: PUSH1 0x1d 000036aa: PUSH1 0x24 000036ac: DUP3 000036ad: ADD 000036ae: MSTORE 000036af: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000036d0: PUSH1 0x44 000036d2: DUP3 000036d3: ADD 000036d4: MSTORE 000036d5: PUSH1 0x64 000036d7: ADD 000036d8: PUSH2 0x09bd 000036db: JUMP 000036dc: JUMPDEST 000036dd: PUSH1 0x00 000036df: DUP1 000036e0: DUP7 000036e1: PUSH1 0x01 000036e3: PUSH1 0x01 000036e5: PUSH1 0xa0 000036e7: SHL 000036e8: SUB 000036e9: AND 000036ea: DUP6 000036eb: DUP8 000036ec: PUSH1 0x40 000036ee: MLOAD 000036ef: PUSH2 0x36f8 000036f2: SWAP2 000036f3: SWAP1 000036f4: PUSH2 0x3c38 000036f7: JUMP 000036f8: JUMPDEST 000036f9: PUSH1 0x00 000036fb: PUSH1 0x40 000036fd: MLOAD 000036fe: DUP1 000036ff: DUP4 00003700: SUB 00003701: DUP2 00003702: DUP6 00003703: DUP8 00003704: GAS 00003705: CALL 00003706: SWAP3 00003707: POP 00003708: POP 00003709: POP 0000370a: RETURNDATASIZE 0000370b: DUP1 0000370c: PUSH1 0x00 0000370e: DUP2 0000370f: EQ 00003710: PUSH2 0x3735 00003713: JUMPI 00003714: PUSH1 0x40 00003716: MLOAD 00003717: SWAP2 00003718: POP 00003719: PUSH1 0x1f 0000371b: NOT 0000371c: PUSH1 0x3f 0000371e: RETURNDATASIZE 0000371f: ADD 00003720: AND 00003721: DUP3 00003722: ADD 00003723: PUSH1 0x40 00003725: MSTORE 00003726: RETURNDATASIZE 00003727: DUP3 00003728: MSTORE 00003729: RETURNDATASIZE 0000372a: PUSH1 0x00 0000372c: PUSH1 0x20 0000372e: DUP5 0000372f: ADD 00003730: RETURNDATACOPY 00003731: PUSH2 0x373a 00003734: JUMP 00003735: JUMPDEST 00003736: PUSH1 0x60 00003738: SWAP2 00003739: POP 0000373a: JUMPDEST 0000373b: POP 0000373c: SWAP2 0000373d: POP 0000373e: SWAP2 0000373f: POP 00003740: PUSH2 0x374a 00003743: DUP3 00003744: DUP3 00003745: DUP7 00003746: PUSH2 0x3755 00003749: JUMP 0000374a: JUMPDEST 0000374b: SWAP8 0000374c: SWAP7 0000374d: POP 0000374e: POP 0000374f: POP 00003750: POP 00003751: POP 00003752: POP 00003753: POP 00003754: JUMP 00003755: JUMPDEST 00003756: PUSH1 0x60 00003758: DUP4 00003759: ISZERO 0000375a: PUSH2 0x3764 0000375d: JUMPI 0000375e: POP 0000375f: DUP2 00003760: PUSH2 0x0b68 00003763: JUMP 00003764: JUMPDEST 00003765: DUP3 00003766: MLOAD 00003767: ISZERO 00003768: PUSH2 0x3774 0000376b: JUMPI 0000376c: DUP3 0000376d: MLOAD 0000376e: DUP1 0000376f: DUP5 00003770: PUSH1 0x20 00003772: ADD 00003773: REVERT 00003774: JUMPDEST 00003775: DUP2 00003776: PUSH1 0x40 00003778: MLOAD 00003779: PUSH3 0x461bcd 0000377d: PUSH1 0xe5 0000377f: SHL 00003780: DUP2 00003781: MSTORE 00003782: PUSH1 0x04 00003784: ADD 00003785: PUSH2 0x09bd 00003788: SWAP2 00003789: SWAP1 0000378a: PUSH2 0x38fe 0000378d: JUMP 0000378e: JUMPDEST 0000378f: PUSH1 0x00 00003791: PUSH1 0x20 00003793: DUP3 00003794: DUP5 00003795: SUB 00003796: SLT 00003797: ISZERO 00003798: PUSH2 0x37a0 0000379b: JUMPI 0000379c: PUSH1 0x00 0000379e: DUP1 0000379f: REVERT 000037a0: JUMPDEST 000037a1: POP 000037a2: CALLDATALOAD 000037a3: SWAP2 000037a4: SWAP1 000037a5: POP 000037a6: JUMP 000037a7: JUMPDEST 000037a8: PUSH1 0x01 000037aa: PUSH1 0x01 000037ac: PUSH1 0xa0 000037ae: SHL 000037af: SUB 000037b0: DUP2 000037b1: AND 000037b2: DUP2 000037b3: EQ 000037b4: PUSH2 0x1548 000037b7: JUMPI 000037b8: PUSH1 0x00 000037ba: DUP1 000037bb: REVERT 000037bc: JUMPDEST 000037bd: PUSH1 0x00 000037bf: DUP1 000037c0: PUSH1 0x40 000037c2: DUP4 000037c3: DUP6 000037c4: SUB 000037c5: SLT 000037c6: ISZERO 000037c7: PUSH2 0x37cf 000037ca: JUMPI 000037cb: PUSH1 0x00 000037cd: DUP1 000037ce: REVERT 000037cf: JUMPDEST 000037d0: DUP3 000037d1: CALLDATALOAD 000037d2: PUSH2 0x37da 000037d5: DUP2 000037d6: PUSH2 0x37a7 000037d9: JUMP 000037da: JUMPDEST 000037db: SWAP5 000037dc: PUSH1 0x20 000037de: SWAP4 000037df: SWAP1 000037e0: SWAP4 000037e1: ADD 000037e2: CALLDATALOAD 000037e3: SWAP4 000037e4: POP 000037e5: POP 000037e6: POP 000037e7: JUMP 000037e8: JUMPDEST 000037e9: PUSH1 0x00 000037eb: DUP1 000037ec: PUSH1 0x00 000037ee: PUSH1 0x60 000037f0: DUP5 000037f1: DUP7 000037f2: SUB 000037f3: SLT 000037f4: ISZERO 000037f5: PUSH2 0x37fd 000037f8: JUMPI 000037f9: PUSH1 0x00 000037fb: DUP1 000037fc: REVERT 000037fd: JUMPDEST 000037fe: POP 000037ff: POP 00003800: DUP2 00003801: CALLDATALOAD 00003802: SWAP4 00003803: PUSH1 0x20 00003805: DUP4 00003806: ADD 00003807: CALLDATALOAD 00003808: SWAP4 00003809: POP 0000380a: PUSH1 0x40 0000380c: SWAP1 0000380d: SWAP3 0000380e: ADD 0000380f: CALLDATALOAD 00003810: SWAP2 00003811: SWAP1 00003812: POP 00003813: JUMP 00003814: JUMPDEST 00003815: PUSH1 0x00 00003817: PUSH1 0x20 00003819: DUP3 0000381a: DUP5 0000381b: SUB 0000381c: SLT 0000381d: ISZERO 0000381e: PUSH2 0x3826 00003821: JUMPI 00003822: PUSH1 0x00 00003824: DUP1 00003825: REVERT 00003826: JUMPDEST 00003827: DUP2 00003828: CALLDATALOAD 00003829: PUSH2 0x0b68 0000382c: DUP2 0000382d: PUSH2 0x37a7 00003830: JUMP 00003831: JUMPDEST 00003832: PUSH1 0x00 00003834: DUP1 00003835: PUSH1 0x40 00003837: DUP4 00003838: DUP6 00003839: SUB 0000383a: SLT 0000383b: ISZERO 0000383c: PUSH2 0x3844 0000383f: JUMPI 00003840: PUSH1 0x00 00003842: DUP1 00003843: REVERT 00003844: JUMPDEST 00003845: DUP3 00003846: CALLDATALOAD 00003847: PUSH2 0x384f 0000384a: DUP2 0000384b: PUSH2 0x37a7 0000384e: JUMP 0000384f: JUMPDEST 00003850: SWAP2 00003851: POP 00003852: PUSH1 0x20 00003854: DUP4 00003855: ADD 00003856: CALLDATALOAD 00003857: PUSH2 0x385f 0000385a: DUP2 0000385b: PUSH2 0x37a7 0000385e: JUMP 0000385f: JUMPDEST 00003860: DUP1 00003861: SWAP2 00003862: POP 00003863: POP 00003864: SWAP3 00003865: POP 00003866: SWAP3 00003867: SWAP1 00003868: POP 00003869: JUMP 0000386a: JUMPDEST 0000386b: PUSH1 0x00 0000386d: DUP1 0000386e: PUSH1 0x00 00003870: PUSH1 0x60 00003872: DUP5 00003873: DUP7 00003874: SUB 00003875: SLT 00003876: ISZERO 00003877: PUSH2 0x387f 0000387a: JUMPI 0000387b: PUSH1 0x00 0000387d: DUP1 0000387e: REVERT 0000387f: JUMPDEST 00003880: DUP4 00003881: CALLDATALOAD 00003882: SWAP3 00003883: POP 00003884: PUSH1 0x20 00003886: DUP5 00003887: ADD 00003888: CALLDATALOAD 00003889: PUSH2 0x3891 0000388c: DUP2 0000388d: PUSH2 0x37a7 00003890: JUMP 00003891: JUMPDEST 00003892: SWAP3 00003893: SWAP6 00003894: SWAP3 00003895: SWAP5 00003896: POP 00003897: POP 00003898: POP 00003899: PUSH1 0x40 0000389b: SWAP2 0000389c: SWAP1 0000389d: SWAP2 0000389e: ADD 0000389f: CALLDATALOAD 000038a0: SWAP1 000038a1: JUMP 000038a2: JUMPDEST 000038a3: PUSH1 0x00 000038a5: JUMPDEST 000038a6: DUP4 000038a7: DUP2 000038a8: LT 000038a9: ISZERO 000038aa: PUSH2 0x38bd 000038ad: JUMPI 000038ae: DUP2 000038af: DUP2 000038b0: ADD 000038b1: MLOAD 000038b2: DUP4 000038b3: DUP3 000038b4: ADD 000038b5: MSTORE 000038b6: PUSH1 0x20 000038b8: ADD 000038b9: PUSH2 0x38a5 000038bc: JUMP 000038bd: JUMPDEST 000038be: DUP4 000038bf: DUP2 000038c0: GT 000038c1: ISZERO 000038c2: PUSH2 0x38cc 000038c5: JUMPI 000038c6: PUSH1 0x00 000038c8: DUP5 000038c9: DUP5 000038ca: ADD 000038cb: MSTORE 000038cc: JUMPDEST 000038cd: POP 000038ce: POP 000038cf: POP 000038d0: POP 000038d1: JUMP 000038d2: JUMPDEST 000038d3: PUSH1 0x00 000038d5: DUP2 000038d6: MLOAD 000038d7: DUP1 000038d8: DUP5 000038d9: MSTORE 000038da: PUSH2 0x38ea 000038dd: DUP2 000038de: PUSH1 0x20 000038e0: DUP7 000038e1: ADD 000038e2: PUSH1 0x20 000038e4: DUP7 000038e5: ADD 000038e6: PUSH2 0x38a2 000038e9: JUMP 000038ea: JUMPDEST 000038eb: PUSH1 0x1f 000038ed: ADD 000038ee: PUSH1 0x1f 000038f0: NOT 000038f1: AND 000038f2: SWAP3 000038f3: SWAP1 000038f4: SWAP3 000038f5: ADD 000038f6: PUSH1 0x20 000038f8: ADD 000038f9: SWAP3 000038fa: SWAP2 000038fb: POP 000038fc: POP 000038fd: JUMP 000038fe: JUMPDEST 000038ff: PUSH1 0x20 00003901: DUP2 00003902: MSTORE 00003903: PUSH1 0x00 00003905: PUSH2 0x0b68 00003908: PUSH1 0x20 0000390a: DUP4 0000390b: ADD 0000390c: DUP5 0000390d: PUSH2 0x38d2 00003910: JUMP 00003911: JUMPDEST 00003912: PUSH1 0x00 00003914: DUP1 00003915: DUP4 00003916: PUSH1 0x1f 00003918: DUP5 00003919: ADD 0000391a: SLT 0000391b: PUSH2 0x3923 0000391e: JUMPI 0000391f: PUSH1 0x00 00003921: DUP1 00003922: REVERT 00003923: JUMPDEST 00003924: POP 00003925: DUP2 00003926: CALLDATALOAD 00003927: PUSH8 0xffffffffffffffff 00003930: DUP2 00003931: GT 00003932: ISZERO 00003933: PUSH2 0x393b 00003936: JUMPI 00003937: PUSH1 0x00 00003939: DUP1 0000393a: REVERT 0000393b: JUMPDEST 0000393c: PUSH1 0x20 0000393e: DUP4 0000393f: ADD 00003940: SWAP2 00003941: POP 00003942: DUP4 00003943: PUSH1 0x20 00003945: DUP3 00003946: PUSH1 0x05 00003948: SHL 00003949: DUP6 0000394a: ADD 0000394b: ADD 0000394c: GT 0000394d: ISZERO 0000394e: PUSH2 0x25bf 00003951: JUMPI 00003952: PUSH1 0x00 00003954: DUP1 00003955: REVERT 00003956: JUMPDEST 00003957: PUSH1 0x00 00003959: DUP1 0000395a: PUSH1 0x00 0000395c: DUP1 0000395d: PUSH1 0x60 0000395f: DUP6 00003960: DUP8 00003961: SUB 00003962: SLT 00003963: ISZERO 00003964: PUSH2 0x396c 00003967: JUMPI 00003968: PUSH1 0x00 0000396a: DUP1 0000396b: REVERT 0000396c: JUMPDEST 0000396d: DUP5 0000396e: CALLDATALOAD 0000396f: PUSH8 0xffffffffffffffff 00003978: DUP2 00003979: GT 0000397a: ISZERO 0000397b: PUSH2 0x3983 0000397e: JUMPI 0000397f: PUSH1 0x00 00003981: DUP1 00003982: REVERT 00003983: JUMPDEST 00003984: PUSH2 0x398f 00003987: DUP8 00003988: DUP3 00003989: DUP9 0000398a: ADD 0000398b: PUSH2 0x3911 0000398e: JUMP 0000398f: JUMPDEST 00003990: SWAP1 00003991: SWAP9 00003992: SWAP1 00003993: SWAP8 00003994: POP 00003995: PUSH1 0x20 00003997: DUP8 00003998: ADD 00003999: CALLDATALOAD 0000399a: SWAP7 0000399b: PUSH1 0x40 0000399d: ADD 0000399e: CALLDATALOAD 0000399f: SWAP6 000039a0: POP 000039a1: SWAP4 000039a2: POP 000039a3: POP 000039a4: POP 000039a5: POP 000039a6: JUMP 000039a7: JUMPDEST 000039a8: PUSH1 0x20 000039aa: DUP1 000039ab: DUP3 000039ac: MSTORE 000039ad: DUP3 000039ae: MLOAD 000039af: DUP3 000039b0: DUP3 000039b1: ADD 000039b2: DUP2 000039b3: SWAP1 000039b4: MSTORE 000039b5: PUSH1 0x00 000039b7: SWAP2 000039b8: SWAP1 000039b9: DUP5 000039ba: DUP3 000039bb: ADD 000039bc: SWAP1 000039bd: PUSH1 0x40 000039bf: DUP6 000039c0: ADD 000039c1: SWAP1 000039c2: DUP5 000039c3: JUMPDEST 000039c4: DUP2 000039c5: DUP2 000039c6: LT 000039c7: ISZERO 000039c8: PUSH2 0x39df 000039cb: JUMPI 000039cc: DUP4 000039cd: MLOAD 000039ce: DUP4 000039cf: MSTORE 000039d0: SWAP3 000039d1: DUP5 000039d2: ADD 000039d3: SWAP3 000039d4: SWAP2 000039d5: DUP5 000039d6: ADD 000039d7: SWAP2 000039d8: PUSH1 0x01 000039da: ADD 000039db: PUSH2 0x39c3 000039de: JUMP 000039df: JUMPDEST 000039e0: POP 000039e1: SWAP1 000039e2: SWAP7 000039e3: SWAP6 000039e4: POP 000039e5: POP 000039e6: POP 000039e7: POP 000039e8: POP 000039e9: POP 000039ea: JUMP 000039eb: JUMPDEST 000039ec: PUSH1 0x00 000039ee: DUP1 000039ef: PUSH1 0x00 000039f1: PUSH1 0x60 000039f3: DUP5 000039f4: DUP7 000039f5: SUB 000039f6: SLT 000039f7: ISZERO 000039f8: PUSH2 0x3a00 000039fb: JUMPI 000039fc: PUSH1 0x00 000039fe: DUP1 000039ff: REVERT 00003a00: JUMPDEST 00003a01: DUP4 00003a02: CALLDATALOAD 00003a03: PUSH2 0x3a0b 00003a06: DUP2 00003a07: PUSH2 0x37a7 00003a0a: JUMP 00003a0b: JUMPDEST 00003a0c: SWAP6 00003a0d: PUSH1 0x20 00003a0f: DUP6 00003a10: ADD 00003a11: CALLDATALOAD 00003a12: SWAP6 00003a13: POP 00003a14: PUSH1 0x40 00003a16: SWAP1 00003a17: SWAP5 00003a18: ADD 00003a19: CALLDATALOAD 00003a1a: SWAP4 00003a1b: SWAP3 00003a1c: POP 00003a1d: POP 00003a1e: POP 00003a1f: JUMP 00003a20: JUMPDEST 00003a21: PUSH1 0x00 00003a23: DUP1 00003a24: PUSH1 0x20 00003a26: DUP4 00003a27: DUP6 00003a28: SUB 00003a29: SLT 00003a2a: ISZERO 00003a2b: PUSH2 0x3a33 00003a2e: JUMPI 00003a2f: PUSH1 0x00 00003a31: DUP1 00003a32: REVERT 00003a33: JUMPDEST 00003a34: DUP3 00003a35: CALLDATALOAD 00003a36: PUSH8 0xffffffffffffffff 00003a3f: DUP2 00003a40: GT 00003a41: ISZERO 00003a42: PUSH2 0x3a4a 00003a45: JUMPI 00003a46: PUSH1 0x00 00003a48: DUP1 00003a49: REVERT 00003a4a: JUMPDEST 00003a4b: PUSH2 0x3a56 00003a4e: DUP6 00003a4f: DUP3 00003a50: DUP7 00003a51: ADD 00003a52: PUSH2 0x3911 00003a55: JUMP 00003a56: JUMPDEST 00003a57: SWAP1 00003a58: SWAP7 00003a59: SWAP1 00003a5a: SWAP6 00003a5b: POP 00003a5c: SWAP4 00003a5d: POP 00003a5e: POP 00003a5f: POP 00003a60: POP 00003a61: JUMP 00003a62: JUMPDEST 00003a63: PUSH1 0x20 00003a65: DUP1 00003a66: DUP3 00003a67: MSTORE 00003a68: DUP3 00003a69: MLOAD 00003a6a: DUP3 00003a6b: DUP3 00003a6c: ADD 00003a6d: DUP2 00003a6e: SWAP1 00003a6f: MSTORE 00003a70: PUSH1 0x00 00003a72: SWAP2 00003a73: SWAP1 00003a74: PUSH1 0x40 00003a76: SWAP1 00003a77: DUP2 00003a78: DUP6 00003a79: ADD 00003a7a: SWAP1 00003a7b: DUP7 00003a7c: DUP5 00003a7d: ADD 00003a7e: DUP6 00003a7f: JUMPDEST 00003a80: DUP3 00003a81: DUP2 00003a82: LT 00003a83: ISZERO 00003a84: PUSH2 0x3ad0 00003a87: JUMPI 00003a88: DUP2 00003a89: MLOAD 00003a8a: DUP1 00003a8b: MLOAD 00003a8c: DUP6 00003a8d: MSTORE 00003a8e: DUP7 00003a8f: DUP2 00003a90: ADD 00003a91: MLOAD 00003a92: PUSH1 0x01 00003a94: PUSH1 0x01 00003a96: PUSH1 0xa0 00003a98: SHL 00003a99: SUB 00003a9a: AND 00003a9b: DUP8 00003a9c: DUP7 00003a9d: ADD 00003a9e: MSTORE 00003a9f: DUP6 00003aa0: DUP2 00003aa1: ADD 00003aa2: MLOAD 00003aa3: DUP7 00003aa4: DUP7 00003aa5: ADD 00003aa6: MSTORE 00003aa7: PUSH1 0x60 00003aa9: DUP1 00003aaa: DUP3 00003aab: ADD 00003aac: MLOAD 00003aad: ISZERO 00003aae: ISZERO 00003aaf: SWAP1 00003ab0: DUP7 00003ab1: ADD 00003ab2: MSTORE 00003ab3: PUSH1 0x80 00003ab5: SWAP1 00003ab6: DUP2 00003ab7: ADD 00003ab8: MLOAD 00003ab9: ISZERO 00003aba: ISZERO 00003abb: SWAP1 00003abc: DUP6 00003abd: ADD 00003abe: MSTORE 00003abf: PUSH1 0xa0 00003ac1: SWAP1 00003ac2: SWAP4 00003ac3: ADD 00003ac4: SWAP3 00003ac5: SWAP1 00003ac6: DUP6 00003ac7: ADD 00003ac8: SWAP1 00003ac9: PUSH1 0x01 00003acb: ADD 00003acc: PUSH2 0x3a7f 00003acf: JUMP 00003ad0: JUMPDEST 00003ad1: POP 00003ad2: SWAP2 00003ad3: SWAP8 00003ad4: SWAP7 00003ad5: POP 00003ad6: POP 00003ad7: POP 00003ad8: POP 00003ad9: POP 00003ada: POP 00003adb: POP 00003adc: JUMP 00003add: JUMPDEST 00003ade: PUSH1 0x00 00003ae0: DUP1 00003ae1: PUSH1 0x00 00003ae3: DUP1 00003ae4: PUSH1 0x40 00003ae6: DUP6 00003ae7: DUP8 00003ae8: SUB 00003ae9: SLT 00003aea: ISZERO 00003aeb: PUSH2 0x3af3 00003aee: JUMPI 00003aef: PUSH1 0x00 00003af1: DUP1 00003af2: REVERT 00003af3: JUMPDEST 00003af4: DUP5 00003af5: CALLDATALOAD 00003af6: PUSH8 0xffffffffffffffff 00003aff: DUP1 00003b00: DUP3 00003b01: GT 00003b02: ISZERO 00003b03: PUSH2 0x3b0b 00003b06: JUMPI 00003b07: PUSH1 0x00 00003b09: DUP1 00003b0a: REVERT 00003b0b: JUMPDEST 00003b0c: PUSH2 0x3b17 00003b0f: DUP9 00003b10: DUP4 00003b11: DUP10 00003b12: ADD 00003b13: PUSH2 0x3911 00003b16: JUMP 00003b17: JUMPDEST 00003b18: SWAP1 00003b19: SWAP7 00003b1a: POP 00003b1b: SWAP5 00003b1c: POP 00003b1d: PUSH1 0x20 00003b1f: DUP8 00003b20: ADD 00003b21: CALLDATALOAD 00003b22: SWAP2 00003b23: POP 00003b24: DUP1 00003b25: DUP3 00003b26: GT 00003b27: ISZERO 00003b28: PUSH2 0x3b30 00003b2b: JUMPI 00003b2c: PUSH1 0x00 00003b2e: DUP1 00003b2f: REVERT 00003b30: JUMPDEST 00003b31: POP 00003b32: PUSH2 0x3b3d 00003b35: DUP8 00003b36: DUP3 00003b37: DUP9 00003b38: ADD 00003b39: PUSH2 0x3911 00003b3c: JUMP 00003b3d: JUMPDEST 00003b3e: SWAP6 00003b3f: SWAP9 00003b40: SWAP5 00003b41: SWAP8 00003b42: POP 00003b43: SWAP6 00003b44: POP 00003b45: POP 00003b46: POP 00003b47: POP 00003b48: JUMP 00003b49: JUMPDEST 00003b4a: DUP1 00003b4b: ISZERO 00003b4c: ISZERO 00003b4d: DUP2 00003b4e: EQ 00003b4f: PUSH2 0x1548 00003b52: JUMPI 00003b53: PUSH1 0x00 00003b55: DUP1 00003b56: REVERT 00003b57: JUMPDEST 00003b58: PUSH1 0x00 00003b5a: PUSH1 0x20 00003b5c: DUP3 00003b5d: DUP5 00003b5e: SUB 00003b5f: SLT 00003b60: ISZERO 00003b61: PUSH2 0x3b69 00003b64: JUMPI 00003b65: PUSH1 0x00 00003b67: DUP1 00003b68: REVERT 00003b69: JUMPDEST 00003b6a: DUP2 00003b6b: CALLDATALOAD 00003b6c: PUSH2 0x0b68 00003b6f: DUP2 00003b70: PUSH2 0x3b49 00003b73: JUMP 00003b74: JUMPDEST 00003b75: PUSH1 0x00 00003b77: DUP1 00003b78: PUSH1 0x40 00003b7a: DUP4 00003b7b: DUP6 00003b7c: SUB 00003b7d: SLT 00003b7e: ISZERO 00003b7f: PUSH2 0x3b87 00003b82: JUMPI 00003b83: PUSH1 0x00 00003b85: DUP1 00003b86: REVERT 00003b87: JUMPDEST 00003b88: POP 00003b89: POP 00003b8a: DUP1 00003b8b: CALLDATALOAD 00003b8c: SWAP3 00003b8d: PUSH1 0x20 00003b8f: SWAP1 00003b90: SWAP2 00003b91: ADD 00003b92: CALLDATALOAD 00003b93: SWAP2 00003b94: POP 00003b95: JUMP 00003b96: JUMPDEST 00003b97: PUSH4 0x4e487b71 00003b9c: PUSH1 0xe0 00003b9e: SHL 00003b9f: PUSH1 0x00 00003ba1: MSTORE 00003ba2: PUSH1 0x11 00003ba4: PUSH1 0x04 00003ba6: MSTORE 00003ba7: PUSH1 0x24 00003ba9: PUSH1 0x00 00003bab: REVERT 00003bac: JUMPDEST 00003bad: PUSH1 0x00 00003baf: DUP3 00003bb0: DUP3 00003bb1: LT 00003bb2: ISZERO 00003bb3: PUSH2 0x3bbe 00003bb6: JUMPI 00003bb7: PUSH2 0x3bbe 00003bba: PUSH2 0x3b96 00003bbd: JUMP 00003bbe: JUMPDEST 00003bbf: POP 00003bc0: SUB 00003bc1: SWAP1 00003bc2: JUMP 00003bc3: JUMPDEST 00003bc4: PUSH4 0x4e487b71 00003bc9: PUSH1 0xe0 00003bcb: SHL 00003bcc: PUSH1 0x00 00003bce: MSTORE 00003bcf: PUSH1 0x32 00003bd1: PUSH1 0x04 00003bd3: MSTORE 00003bd4: PUSH1 0x24 00003bd6: PUSH1 0x00 00003bd8: REVERT 00003bd9: JUMPDEST 00003bda: PUSH1 0x00 00003bdc: DUP3 00003bdd: NOT 00003bde: DUP3 00003bdf: GT 00003be0: ISZERO 00003be1: PUSH2 0x3bec 00003be4: JUMPI 00003be5: PUSH2 0x3bec 00003be8: PUSH2 0x3b96 00003beb: JUMP 00003bec: JUMPDEST 00003bed: POP 00003bee: ADD 00003bef: SWAP1 00003bf0: JUMP 00003bf1: JUMPDEST 00003bf2: PUSH4 0x4e487b71 00003bf7: PUSH1 0xe0 00003bf9: SHL 00003bfa: PUSH1 0x00 00003bfc: MSTORE 00003bfd: PUSH1 0x12 00003bff: PUSH1 0x04 00003c01: MSTORE 00003c02: PUSH1 0x24 00003c04: PUSH1 0x00 00003c06: REVERT 00003c07: JUMPDEST 00003c08: PUSH1 0x00 00003c0a: DUP3 00003c0b: PUSH2 0x3c16 00003c0e: JUMPI 00003c0f: PUSH2 0x3c16 00003c12: PUSH2 0x3bf1 00003c15: JUMP 00003c16: JUMPDEST 00003c17: POP 00003c18: DIV 00003c19: SWAP1 00003c1a: JUMP 00003c1b: JUMPDEST 00003c1c: PUSH1 0x00 00003c1e: PUSH1 0x20 00003c20: DUP3 00003c21: DUP5 00003c22: SUB 00003c23: SLT 00003c24: ISZERO 00003c25: PUSH2 0x3c2d 00003c28: JUMPI 00003c29: PUSH1 0x00 00003c2b: DUP1 00003c2c: REVERT 00003c2d: JUMPDEST 00003c2e: DUP2 00003c2f: MLOAD 00003c30: PUSH2 0x0b68 00003c33: DUP2 00003c34: PUSH2 0x37a7 00003c37: JUMP 00003c38: JUMPDEST 00003c39: PUSH1 0x00 00003c3b: DUP3 00003c3c: MLOAD 00003c3d: PUSH2 0x3c4a 00003c40: DUP2 00003c41: DUP5 00003c42: PUSH1 0x20 00003c44: DUP8 00003c45: ADD 00003c46: PUSH2 0x38a2 00003c49: JUMP 00003c4a: JUMPDEST 00003c4b: SWAP2 00003c4c: SWAP1 00003c4d: SWAP2 00003c4e: ADD 00003c4f: SWAP3 00003c50: SWAP2 00003c51: POP 00003c52: POP 00003c53: JUMP 00003c54: JUMPDEST 00003c55: PUSH1 0x00 00003c57: PUSH1 0x20 00003c59: DUP3 00003c5a: DUP5 00003c5b: SUB 00003c5c: SLT 00003c5d: ISZERO 00003c5e: PUSH2 0x3c66 00003c61: JUMPI 00003c62: PUSH1 0x00 00003c64: DUP1 00003c65: REVERT 00003c66: JUMPDEST 00003c67: POP 00003c68: MLOAD 00003c69: SWAP2 00003c6a: SWAP1 00003c6b: POP 00003c6c: JUMP 00003c6d: JUMPDEST 00003c6e: PUSH1 0x00 00003c70: DUP5 00003c71: MLOAD 00003c72: PUSH2 0x3c7f 00003c75: DUP2 00003c76: DUP5 00003c77: PUSH1 0x20 00003c79: DUP10 00003c7a: ADD 00003c7b: PUSH2 0x38a2 00003c7e: JUMP 00003c7f: JUMPDEST 00003c80: DUP1 00003c81: DUP4 00003c82: ADD 00003c83: SWAP1 00003c84: POP 00003c85: PUSH1 0x17 00003c87: PUSH1 0xf9 00003c89: SHL 00003c8a: DUP1 00003c8b: DUP3 00003c8c: MSTORE 00003c8d: DUP6 00003c8e: MLOAD 00003c8f: PUSH2 0x3c9f 00003c92: DUP2 00003c93: PUSH1 0x01 00003c95: DUP6 00003c96: ADD 00003c97: PUSH1 0x20 00003c99: DUP11 00003c9a: ADD 00003c9b: PUSH2 0x38a2 00003c9e: JUMP 00003c9f: JUMPDEST 00003ca0: PUSH1 0x01 00003ca2: SWAP3 00003ca3: ADD 00003ca4: SWAP2 00003ca5: DUP3 00003ca6: ADD 00003ca7: MSTORE 00003ca8: DUP4 00003ca9: MLOAD 00003caa: PUSH2 0x3cba 00003cad: DUP2 00003cae: PUSH1 0x02 00003cb0: DUP5 00003cb1: ADD 00003cb2: PUSH1 0x20 00003cb4: DUP9 00003cb5: ADD 00003cb6: PUSH2 0x38a2 00003cb9: JUMP 00003cba: JUMPDEST 00003cbb: ADD 00003cbc: PUSH1 0x02 00003cbe: ADD 00003cbf: SWAP6 00003cc0: SWAP5 00003cc1: POP 00003cc2: POP 00003cc3: POP 00003cc4: POP 00003cc5: POP 00003cc6: JUMP 00003cc7: JUMPDEST 00003cc8: PUSH4 0x4e487b71 00003ccd: PUSH1 0xe0 00003ccf: SHL 00003cd0: PUSH1 0x00 00003cd2: MSTORE 00003cd3: PUSH1 0x41 00003cd5: PUSH1 0x04 00003cd7: MSTORE 00003cd8: PUSH1 0x24 00003cda: PUSH1 0x00 00003cdc: REVERT 00003cdd: JUMPDEST 00003cde: PUSH1 0x00 00003ce0: PUSH1 0x01 00003ce2: DUP3 00003ce3: ADD 00003ce4: PUSH2 0x3cef 00003ce7: JUMPI 00003ce8: PUSH2 0x3cef 00003ceb: PUSH2 0x3b96 00003cee: JUMP 00003cef: JUMPDEST 00003cf0: POP 00003cf1: PUSH1 0x01 00003cf3: ADD 00003cf4: SWAP1 00003cf5: JUMP 00003cf6: JUMPDEST 00003cf7: PUSH1 0x00 00003cf9: DUP2 00003cfa: PUSH1 0x00 00003cfc: NOT 00003cfd: DIV 00003cfe: DUP4 00003cff: GT 00003d00: DUP3 00003d01: ISZERO 00003d02: ISZERO 00003d03: AND 00003d04: ISZERO 00003d05: PUSH2 0x3d10 00003d08: JUMPI 00003d09: PUSH2 0x3d10 00003d0c: PUSH2 0x3b96 00003d0f: JUMP 00003d10: JUMPDEST 00003d11: POP 00003d12: MUL 00003d13: SWAP1 00003d14: JUMP 00003d15: JUMPDEST 00003d16: PUSH1 0x00 00003d18: PUSH1 0x20 00003d1a: DUP3 00003d1b: DUP5 00003d1c: SUB 00003d1d: SLT 00003d1e: ISZERO 00003d1f: PUSH2 0x3d27 00003d22: JUMPI 00003d23: PUSH1 0x00 00003d25: DUP1 00003d26: REVERT 00003d27: JUMPDEST 00003d28: DUP2 00003d29: MLOAD 00003d2a: PUSH2 0x0b68 00003d2d: DUP2 00003d2e: PUSH2 0x3b49 00003d31: JUMP 00003d32: JUMPDEST 00003d33: PUSH1 0x00 00003d35: DUP1 00003d36: DUP3 00003d37: SLT 00003d38: DUP1 00003d39: ISZERO 00003d3a: PUSH1 0x01 00003d3c: PUSH1 0x01 00003d3e: PUSH1 0xff 00003d40: SHL 00003d41: SUB 00003d42: DUP5 00003d43: SWAP1 00003d44: SUB 00003d45: DUP6 00003d46: SGT 00003d47: AND 00003d48: ISZERO 00003d49: PUSH2 0x3d54 00003d4c: JUMPI 00003d4d: PUSH2 0x3d54 00003d50: PUSH2 0x3b96 00003d53: JUMP 00003d54: JUMPDEST 00003d55: PUSH1 0x01 00003d57: PUSH1 0xff 00003d59: SHL 00003d5a: DUP4 00003d5b: SWAP1 00003d5c: SUB 00003d5d: DUP5 00003d5e: SLT 00003d5f: DUP2 00003d60: AND 00003d61: ISZERO 00003d62: PUSH2 0x3d6d 00003d65: JUMPI 00003d66: PUSH2 0x3d6d 00003d69: PUSH2 0x3b96 00003d6c: JUMP 00003d6d: JUMPDEST 00003d6e: POP 00003d6f: POP 00003d70: ADD 00003d71: SWAP1 00003d72: JUMP 00003d73: JUMPDEST 00003d74: PUSH1 0x00 00003d76: DUP1 00003d77: DUP4 00003d78: SLT 00003d79: DUP1 00003d7a: ISZERO 00003d7b: PUSH1 0x01 00003d7d: PUSH1 0xff 00003d7f: SHL 00003d80: DUP6 00003d81: ADD 00003d82: DUP5 00003d83: SLT 00003d84: AND 00003d85: ISZERO 00003d86: PUSH2 0x3d91 00003d89: JUMPI 00003d8a: PUSH2 0x3d91 00003d8d: PUSH2 0x3b96 00003d90: JUMP 00003d91: JUMPDEST 00003d92: PUSH1 0x01 00003d94: PUSH1 0x01 00003d96: PUSH1 0xff 00003d98: SHL 00003d99: SUB 00003d9a: DUP5 00003d9b: ADD 00003d9c: DUP4 00003d9d: SGT 00003d9e: DUP2 00003d9f: AND 00003da0: ISZERO 00003da1: PUSH2 0x3dac 00003da4: JUMPI 00003da5: PUSH2 0x3dac 00003da8: PUSH2 0x3b96 00003dab: JUMP 00003dac: JUMPDEST 00003dad: POP 00003dae: POP 00003daf: SUB 00003db0: SWAP1 00003db1: JUMP 00003db2: JUMPDEST 00003db3: PUSH1 0x00 00003db5: PUSH1 0x01 00003db7: PUSH1 0x01 00003db9: PUSH1 0xff 00003dbb: SHL 00003dbc: SUB 00003dbd: DUP2 00003dbe: DUP5 00003dbf: SGT 00003dc0: DUP3 00003dc1: DUP5 00003dc2: SGT 00003dc3: DUP1 00003dc4: DUP3 00003dc5: AND 00003dc6: DUP7 00003dc7: DUP5 00003dc8: DIV 00003dc9: DUP7 00003dca: GT 00003dcb: AND 00003dcc: ISZERO 00003dcd: PUSH2 0x3dd8 00003dd0: JUMPI 00003dd1: PUSH2 0x3dd8 00003dd4: PUSH2 0x3b96 00003dd7: JUMP 00003dd8: JUMPDEST 00003dd9: PUSH1 0x01 00003ddb: PUSH1 0xff 00003ddd: SHL 00003dde: PUSH1 0x00 00003de0: DUP8 00003de1: SLT 00003de2: DUP3 00003de3: DUP2 00003de4: AND 00003de5: DUP8 00003de6: DUP4 00003de7: SDIV 00003de8: DUP10 00003de9: SLT 00003dea: AND 00003deb: ISZERO 00003dec: PUSH2 0x3df7 00003def: JUMPI 00003df0: PUSH2 0x3df7 00003df3: PUSH2 0x3b96 00003df6: JUMP 00003df7: JUMPDEST 00003df8: PUSH1 0x00 00003dfa: DUP8 00003dfb: SLT 00003dfc: SWAP3 00003dfd: POP 00003dfe: DUP8 00003dff: DUP3 00003e00: SDIV 00003e01: DUP8 00003e02: SLT 00003e03: DUP5 00003e04: DUP5 00003e05: AND 00003e06: AND 00003e07: ISZERO 00003e08: PUSH2 0x3e13 00003e0b: JUMPI 00003e0c: PUSH2 0x3e13 00003e0f: PUSH2 0x3b96 00003e12: JUMP 00003e13: JUMPDEST 00003e14: DUP8 00003e15: DUP6 00003e16: SDIV 00003e17: DUP8 00003e18: SLT 00003e19: DUP2 00003e1a: DUP5 00003e1b: AND 00003e1c: AND 00003e1d: ISZERO 00003e1e: PUSH2 0x3e29 00003e21: JUMPI 00003e22: PUSH2 0x3e29 00003e25: PUSH2 0x3b96 00003e28: JUMP 00003e29: JUMPDEST 00003e2a: POP 00003e2b: POP 00003e2c: POP 00003e2d: SWAP3 00003e2e: SWAP1 00003e2f: SWAP4 00003e30: MUL 00003e31: SWAP4 00003e32: SWAP3 00003e33: POP 00003e34: POP 00003e35: POP 00003e36: JUMP 00003e37: JUMPDEST 00003e38: PUSH1 0x00 00003e3a: PUSH1 0x01 00003e3c: PUSH1 0x01 00003e3e: PUSH1 0x80 00003e40: SHL 00003e41: SUB 00003e42: DUP4 00003e43: DUP2 00003e44: AND 00003e45: SWAP1 00003e46: DUP4 00003e47: AND 00003e48: DUP2 00003e49: DUP2 00003e4a: LT 00003e4b: ISZERO 00003e4c: PUSH2 0x3e57 00003e4f: JUMPI 00003e50: PUSH2 0x3e57 00003e53: PUSH2 0x3b96 00003e56: JUMP 00003e57: JUMPDEST 00003e58: SUB 00003e59: SWAP4 00003e5a: SWAP3 00003e5b: POP 00003e5c: POP 00003e5d: POP 00003e5e: JUMP 00003e5f: JUMPDEST 00003e60: PUSH1 0x20 00003e62: DUP1 00003e63: DUP3 00003e64: MSTORE 00003e65: PUSH1 0x2b 00003e67: SWAP1 00003e68: DUP3 00003e69: ADD 00003e6a: MSTORE 00003e6b: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 00003e8c: PUSH1 0x40 00003e8e: DUP3 00003e8f: ADD 00003e90: MSTORE 00003e91: PUSH11 0x6e697469616c697a696e67 00003e9d: PUSH1 0xa8 00003e9f: SHL 00003ea0: PUSH1 0x60 00003ea2: DUP3 00003ea3: ADD 00003ea4: MSTORE 00003ea5: PUSH1 0x80 00003ea7: ADD 00003ea8: SWAP1 00003ea9: JUMP 00003eaa: JUMPDEST 00003eab: PUSH1 0x20 00003ead: DUP1 00003eae: DUP3 00003eaf: MSTORE 00003eb0: PUSH1 0x13 00003eb2: SWAP1 00003eb3: DUP3 00003eb4: ADD 00003eb5: MSTORE 00003eb6: PUSH19 0x19195b1959d85d1958d85b1b0819985a5b1959 00003eca: PUSH1 0x6a 00003ecc: SHL 00003ecd: PUSH1 0x40 00003ecf: DUP3 00003ed0: ADD 00003ed1: MSTORE 00003ed2: PUSH1 0x60 00003ed4: ADD 00003ed5: SWAP1 00003ed6: JUMP 00003ed7: JUMPDEST 00003ed8: PUSH1 0x00 00003eda: DUP1 00003edb: PUSH1 0x40 00003edd: DUP4 00003ede: DUP6 00003edf: SUB 00003ee0: SLT 00003ee1: ISZERO 00003ee2: PUSH2 0x3eea 00003ee5: JUMPI 00003ee6: PUSH1 0x00 00003ee8: DUP1 00003ee9: REVERT 00003eea: JUMPDEST 00003eeb: POP 00003eec: POP 00003eed: DUP1 00003eee: MLOAD 00003eef: PUSH1 0x20 00003ef1: SWAP1 00003ef2: SWAP2 00003ef3: ADD 00003ef4: MLOAD 00003ef5: SWAP1 00003ef6: SWAP3 00003ef7: SWAP1 00003ef8: SWAP2 00003ef9: POP 00003efa: JUMP 00003efb: JUMPDEST 00003efc: PUSH1 0x00 00003efe: DUP3 00003eff: PUSH2 0x3f0a 00003f02: JUMPI 00003f03: PUSH2 0x3f0a 00003f06: PUSH2 0x3bf1 00003f09: JUMP 00003f0a: JUMPDEST 00003f0b: POP 00003f0c: MOD 00003f0d: SWAP1 00003f0e: JUMP 00003f0f: JUMPDEST 00003f10: PUSH1 0x00 00003f12: PUSH1 0x01 00003f14: PUSH1 0x01 00003f16: PUSH1 0x80 00003f18: SHL 00003f19: SUB 00003f1a: DUP1 00003f1b: DUP4 00003f1c: AND 00003f1d: DUP2 00003f1e: DUP6 00003f1f: AND 00003f20: DUP1 00003f21: DUP4 00003f22: SUB 00003f23: DUP3 00003f24: GT 00003f25: ISZERO 00003f26: PUSH2 0x3f31 00003f29: JUMPI 00003f2a: PUSH2 0x3f31 00003f2d: PUSH2 0x3b96 00003f30: JUMP 00003f31: JUMPDEST 00003f32: ADD 00003f33: SWAP5 00003f34: SWAP4 00003f35: POP 00003f36: POP 00003f37: POP 00003f38: POP 00003f39: JUMP 00003f3a: JUMPDEST 00003f3b: PUSH1 0x01 00003f3d: DUP1 00003f3e: PUSH1 0xa0 00003f40: SHL 00003f41: SUB 00003f42: DUP7 00003f43: AND 00003f44: DUP2 00003f45: MSTORE 00003f46: DUP5 00003f47: PUSH1 0x20 00003f49: DUP3 00003f4a: ADD 00003f4b: MSTORE 00003f4c: PUSH4 0xffffffff 00003f51: DUP5 00003f52: AND 00003f53: PUSH1 0x40 00003f55: DUP3 00003f56: ADD 00003f57: MSTORE 00003f58: DUP3 00003f59: ISZERO 00003f5a: ISZERO 00003f5b: PUSH1 0x60 00003f5d: DUP3 00003f5e: ADD 00003f5f: MSTORE 00003f60: PUSH1 0xa0 00003f62: PUSH1 0x80 00003f64: DUP3 00003f65: ADD 00003f66: MSTORE 00003f67: PUSH1 0x00 00003f69: PUSH2 0x374a 00003f6c: PUSH1 0xa0 00003f6e: DUP4 00003f6f: ADD 00003f70: DUP5 00003f71: PUSH2 0x38d2 00003f74: JUMP 00003f75: JUMPDEST 00003f76: PUSH4 0x4e487b71 00003f7b: PUSH1 0xe0 00003f7d: SHL 00003f7e: PUSH1 0x00 00003f80: MSTORE 00003f81: PUSH1 0x31 00003f83: PUSH1 0x04 00003f85: MSTORE 00003f86: PUSH1 0x24 00003f88: PUSH1 0x00 00003f8a: REVERT 00003f8b: INVALID 00003f8c: LOG1 00003f8d: PUSH5 0x736f6c6343 00003f93: STOP 00003f94: ADDMOD 00003f95: UNKNOWN(0x0F) 00003f96: STOP 00003f97: EXP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x3993b70b9e93c5907af5165a6b5a73b2d55c5ceb8a529eb350143543ea39cb81
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x3993b70b9e93c5907af5165a6b5a73b2d55c5ceb8a529eb350143543ea39cb81",
"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": "0xf0c8c0dd",
"selector": "0xf0c8c0dd",
"calldata_variants": [
"0xf0c8c0dd",
"0xf0c8c0dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf19d06f0",
"selector": "0xf19d06f0",
"calldata_variants": [
"0xf19d06f0",
"0xf19d06f00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf21340e4",
"selector": "0xf21340e4",
"calldata_variants": [
"0xf21340e4",
"0xf21340e40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe1e7d71",
"selector": "0xfe1e7d71",
"calldata_variants": [
"0xfe1e7d71",
"0xfe1e7d710000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc97912d8",
"selector": "0xc97912d8",
"calldata_variants": [
"0xc97912d8",
"0xc97912d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd11b1ae0",
"selector": "0xd11b1ae0",
"calldata_variants": [
"0xd11b1ae0",
"0xd11b1ae00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3172,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 9550,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 10031,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 4,
"untrusted_delegatecall_count": 4
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x595b6bb5010ff075d1f32e66c2455ef81e7ffa31ec34e9191ce694c61c26e196
call_targets:
0xf2f6148327b3020610fca26e094d9a5cc4689525
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x595b6bb5010ff075d1f32e66c2455ef81e7ffa31ec34e9191ce694c61c26e196",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf2f6148327b3020610fca26e094d9a5cc4689525"
],
"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": "0xf0c8c0dd",
"selector": "0xf0c8c0dd",
"calldata_variants": [
"0xf0c8c0dd",
"0xf0c8c0dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf19d06f0",
"selector": "0xf19d06f0",
"calldata_variants": [
"0xf19d06f0",
"0xf19d06f00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf21340e4",
"selector": "0xf21340e4",
"calldata_variants": [
"0xf21340e4",
"0xf21340e40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe1e7d71",
"selector": "0xfe1e7d71",
"calldata_variants": [
"0xfe1e7d71",
"0xfe1e7d710000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc97912d8",
"selector": "0xc97912d8",
"calldata_variants": [
"0xc97912d8",
"0xc97912d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd11b1ae0",
"selector": "0xd11b1ae0",
"calldata_variants": [
"0xd11b1ae0",
"0xd11b1ae00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2413,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4479,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5139,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [],
"untrusted_call_count": 8
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x595b6bb5010ff075d1f32e66c2455ef81e7ffa31ec34e9191ce694c61c26e196
call_targets:
0xf2f6148327b3020610fca26e094d9a5cc4689525
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x595b6bb5010ff075d1f32e66c2455ef81e7ffa31ec34e9191ce694c61c26e196",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xf2f6148327b3020610fca26e094d9a5cc4689525"
],
"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": "0xf0c8c0dd",
"selector": "0xf0c8c0dd",
"calldata_variants": [
"0xf0c8c0dd",
"0xf0c8c0dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf19d06f0",
"selector": "0xf19d06f0",
"calldata_variants": [
"0xf19d06f0",
"0xf19d06f00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf21340e4",
"selector": "0xf21340e4",
"calldata_variants": [
"0xf21340e4",
"0xf21340e40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe1e7d71",
"selector": "0xfe1e7d71",
"calldata_variants": [
"0xfe1e7d71",
"0xfe1e7d710000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc97912d8",
"selector": "0xc97912d8",
"calldata_variants": [
"0xc97912d8",
"0xc97912d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd11b1ae0",
"selector": "0xd11b1ae0",
"calldata_variants": [
"0xd11b1ae0",
"0xd11b1ae00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2413,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4479,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5139,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 8,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 4
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 8
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 20
}
|