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

Analysis Run

802eda83-2915-44fa-887f-50b45cae582e

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 3:05 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31058 report.consolidate complete 1 / 1 3 months ago
76162 artifact.fetch failed 1 / 3 3 weeks ago
76163 tool.cast_disasm complete 1 / 3 3 weeks ago
76164 analysis.bundle complete 1 / 3 3 weeks ago
76165 capability.graph complete 1 / 3 3 weeks ago
76166 detector.run complete 1 / 3 3 weeks ago
76167 validation.fork complete 1 / 3 3 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable profit paths found in AUDIT_BUNDLE.txt.
View stderr
[codex:1033921] OpenAI Codex v0.77.0 (research preview)
[codex:1033921] --------
[codex:1033921] workdir: /tmp/codex-multi-hmm86af2
[codex:1033921] model: gpt-5.2-codex
[codex:1033921] provider: openai
[codex:1033921] approval: never
[codex:1033921] sandbox: read-only
[codex:1033921] reasoning effort: xhigh
[codex:1033921] reasoning summaries: auto
[codex:1033921] session id: 019b7a15-0c09-7310-9f24-cd6aa413f62f
[codex:1033921] --------
[codex:1033921] user
[codex:1033921] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1033921] 
[codex:1033921] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1033921] 
[codex:1033921] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1033921] - Gas inefficiency, code quality, naming, or best practices
[codex:1033921] - Theoretical vulnerabilities without a clear extraction path
[codex:1033921] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1033921] - Front-running unless it enables theft beyond MEV
[codex:1033921] - DoS, griefing, or issues that don't result in attacker profit
[codex:1033921] - Missing events, view function issues, or informational findings
[codex:1033921] 
[codex:1033921] HIGH-VALUE PATTERNS TO HUNT:
[codex:1033921] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1033921] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1033921] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1033921] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1033921] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1033921] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1033921] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1033921] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1033921] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1033921] 
[codex:1033921] For each finding, you MUST provide:
[codex:1033921] 1. Exact file and line numbers of vulnerable code
[codex:1033921] 2. Step-by-step exploit transaction sequence
[codex:1033921] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1033921] 
[codex:1033921] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1033921] 
[codex:1033921] Output MUST be valid JSON matching the provided schema.
[codex:1033921] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1033921] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1033921] mcp startup: no servers
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Preparing to audit by reading instructions**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc ls in /tmp/codex-multi-hmm86af2 succeeded in 5ms:
[codex:1033921] AUDIT_BUNDLE.txt
[codex:1033921] codex-output-schema.json
[codex:1033921] contracts
[codex:1033921] exec
[codex:1033921] /bin/bash -lc 'rg --files' in /tmp/codex-multi-hmm86af2 succeeded in 8ms:
[codex:1033921] codex-output-schema.json
[codex:1033921] AUDIT_BUNDLE.txt
[codex:1033921] contracts/src/SablierV2LockupLinear.sol
[codex:1033921] contracts/src/interfaces/IAdminable.sol
[codex:1033921] contracts/src/interfaces/ISablierV2Lockup.sol
[codex:1033921] contracts/src/types/DataTypes.sol
[codex:1033921] contracts/src/interfaces/ISablierV2LockupLinear.sol
[codex:1033921] contracts/src/interfaces/hooks/ISablierV2LockupRecipient.sol
[codex:1033921] contracts/src/interfaces/ISablierV2Base.sol
[codex:1033921] contracts/src/interfaces/ISablierV2NFTDescriptor.sol
[codex:1033921] contracts/src/interfaces/ISablierV2Comptroller.sol
[codex:1033921] contracts/src/abstracts/SablierV2Base.sol
[codex:1033921] contracts/src/libraries/Helpers.sol
[codex:1033921] contracts/src/abstracts/NoDelegateCall.sol
[codex:1033921] contracts/src/abstracts/Adminable.sol
[codex:1033921] contracts/src/libraries/Errors.sol
[codex:1033921] contracts/src/abstracts/SablierV2Lockup.sol
[codex:1033921] contracts/node_modules/@prb/math/src/UD2x18.sol
[codex:1033921] contracts/node_modules/@prb/math/src/Common.sol
[codex:1033921] contracts/node_modules/@prb/math/src/sd59x18/Helpers.sol
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Reading AUDIT_BUNDLE.txt**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-hmm86af2 succeeded in 6ms:
[codex:1033921] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1033921] 
[codex:1033921] ================================================================================
[codex:1033921] FILE: contracts/src/SablierV2LockupLinear.sol
[codex:1033921] ================================================================================
[codex:1033921] // SPDX-License-Identifier: BUSL-1.1
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1033921] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1033921] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:1033921] import { UD60x18, ud } from "@prb/math/src/UD60x18.sol";
[codex:1033921] 
[codex:1033921] import { SablierV2Lockup } from "./abstracts/SablierV2Lockup.sol";
[codex:1033921] import { ISablierV2Comptroller } from "./interfaces/ISablierV2Comptroller.sol";
[codex:1033921] import { ISablierV2Lockup } from "./interfaces/ISablierV2Lockup.sol";
[codex:1033921] import { ISablierV2LockupLinear } from "./interfaces/ISablierV2LockupLinear.sol";
[codex:1033921] import { ISablierV2NFTDescriptor } from "./interfaces/ISablierV2NFTDescriptor.sol";
[codex:1033921] import { ISablierV2LockupRecipient } from "./interfaces/hooks/ISablierV2LockupRecipient.sol";
[codex:1033921] import { Errors } from "./libraries/Errors.sol";
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Continuing file audit and vulnerability review**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '1,240p' contracts/src/abstracts/SablierV2Lockup.sol" in /tmp/codex-multi-hmm86af2 succeeded in 5ms:
[codex:1033921] // SPDX-License-Identifier: BUSL-1.1
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { IERC4906 } from "@openzeppelin/contracts/interfaces/IERC4906.sol";
[codex:1033921] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:1033921] import { IERC721Metadata } from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
[codex:1033921] 
[codex:1033921] import { ISablierV2Comptroller } from "../interfaces/ISablierV2Comptroller.sol";
[codex:1033921] import { ISablierV2Lockup } from "../interfaces/ISablierV2Lockup.sol";
[codex:1033921] import { ISablierV2NFTDescriptor } from "../interfaces/ISablierV2NFTDescriptor.sol";
[codex:1033921] import { ISablierV2LockupRecipient } from "../interfaces/hooks/ISablierV2LockupRecipient.sol";
[codex:1033921] import { Errors } from "../libraries/Errors.sol";
[codex:1033921] import { Lockup } from "../types/DataTypes.sol";
[codex:1033921] import { SablierV2Base } from "./SablierV2Base.sol";
[codex:1033921] 
[codex:1033921] /// @title SablierV2Lockup
[codex:1033921] /// @notice See the documentation in {ISablierV2Lockup}.
[codex:1033921] abstract contract SablierV2Lockup is
[codex:1033921]     IERC4906, // 2 inherited components
[codex:1033921]     SablierV2Base, // 4 inherited components
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '240,520p' contracts/src/abstracts/SablierV2Lockup.sol" in /tmp/codex-multi-hmm86af2 succeeded in 5ms:
[codex:1033921]         override
[codex:1033921]         noDelegateCall
[codex:1033921]         updateMetadata(streamId)
[codex:1033921]     {
[codex:1033921]         // Checks: the stream is not depleted. This also checks that the stream is not null.
[codex:1033921]         if (isDepleted(streamId)) {
[codex:1033921]             revert Errors.SablierV2Lockup_StreamDepleted(streamId);
[codex:1033921]         }
[codex:1033921] 
[codex:1033921]         bool isCallerStreamSender = _isCallerStreamSender(streamId);
[codex:1033921] 
[codex:1033921]         // Checks: `msg.sender` is the stream's sender, the stream's recipient, or an approved third party.
[codex:1033921]         if (!isCallerStreamSender && !_isCallerStreamRecipientOrApproved(streamId)) {
[codex:1033921]             revert Errors.SablierV2Lockup_Unauthorized(streamId, msg.sender);
[codex:1033921]         }
[codex:1033921] 
[codex:1033921]         // Retrieve the recipient from storage.
[codex:1033921]         address recipient = _ownerOf(streamId);
[codex:1033921] 
[codex:1033921]         // Checks: if `msg.sender` is the stream's sender, the withdrawal address must be the recipient.
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Reviewing key contracts and helpers**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '1,260p' contracts/src/abstracts/SablierV2Base.sol" in /tmp/codex-multi-hmm86af2 succeeded in 5ms:
[codex:1033921] // SPDX-License-Identifier: BUSL-1.1
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1033921] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1033921] import { UD60x18 } from "@prb/math/src/UD60x18.sol";
[codex:1033921] 
[codex:1033921] import { IAdminable } from "../interfaces/IAdminable.sol";
[codex:1033921] import { ISablierV2Base } from "../interfaces/ISablierV2Base.sol";
[codex:1033921] import { ISablierV2Comptroller } from "../interfaces/ISablierV2Comptroller.sol";
[codex:1033921] import { Errors } from "../libraries/Errors.sol";
[codex:1033921] import { Adminable } from "./Adminable.sol";
[codex:1033921] import { NoDelegateCall } from "./NoDelegateCall.sol";
[codex:1033921] 
[codex:1033921] /// @title SablierV2Base
[codex:1033921] /// @notice See the documentation in {ISablierV2Base}.
[codex:1033921] abstract contract SablierV2Base is
[codex:1033921]     NoDelegateCall, // 0 inherited components
[codex:1033921]     ISablierV2Base, // 1 inherited component
[codex:1033921]     Adminable // 1 inherited component
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Preparing to explore SablierV2LockupLinear internals**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc 'rg -n "_createWithRange|_renounce|_withdraw" contracts/src/SablierV2LockupLinear.sol' in /tmp/codex-multi-hmm86af2 succeeded in 6ms:
[codex:1033921] 258:        // {_createWithRange} will nonetheless check that the end time is greater than the cliff time,
[codex:1033921] 265:        streamId = _createWithRange(
[codex:1033921] 287:        streamId = _createWithRange(params);
[codex:1033921] 376:    function _withdrawableAmountOf(uint256 streamId) internal view override returns (uint128) {
[codex:1033921] 449:    function _createWithRange(LockupLinear.CreateWithRange memory params) internal returns (uint256 streamId) {
[codex:1033921] 520:    function _renounce(uint256 streamId) internal override {
[codex:1033921] 531:    function _withdraw(uint256 streamId, address to, uint128 amount) internal override {
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '400,640p' contracts/src/SablierV2LockupLinear.sol" in /tmp/codex-multi-hmm86af2 succeeded in 6ms:
[codex:1033921]         }
[codex:1033921] 
[codex:1033921]         // Calculate the sender's and the recipient's amount.
[codex:1033921]         uint128 senderAmount = amounts.deposited - streamedAmount;
[codex:1033921]         uint128 recipientAmount = streamedAmount - amounts.withdrawn;
[codex:1033921] 
[codex:1033921]         // Effects: mark the stream as canceled.
[codex:1033921]         _streams[streamId].wasCanceled = true;
[codex:1033921] 
[codex:1033921]         // Effects: make the stream not cancelable anymore, because a stream can only be canceled once.
[codex:1033921]         _streams[streamId].isCancelable = false;
[codex:1033921] 
[codex:1033921]         // Effects: If there are no assets left for the recipient to withdraw, mark the stream as depleted.
[codex:1033921]         if (recipientAmount == 0) {
[codex:1033921]             _streams[streamId].isDepleted = true;
[codex:1033921]         }
[codex:1033921] 
[codex:1033921]         // Effects: set the refunded amount.
[codex:1033921]         _streams[streamId].amounts.refunded = senderAmount;
[codex:1033921] 
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Analyzing potential vulnerabilities and logic in streaming contract**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '1,240p' contracts/src/libraries/Helpers.sol" in /tmp/codex-multi-hmm86af2 succeeded in 7ms:
[codex:1033921] // SPDX-License-Identifier: BUSL-1.1
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { UD60x18, ud } from "@prb/math/src/UD60x18.sol";
[codex:1033921] 
[codex:1033921] import { Lockup, LockupDynamic, LockupLinear } from "../types/DataTypes.sol";
[codex:1033921] import { Errors } from "./Errors.sol";
[codex:1033921] 
[codex:1033921] /// @title Helpers
[codex:1033921] /// @notice Library with helper functions needed across the Sablier V2 contracts.
[codex:1033921] library Helpers {
[codex:1033921]     /*//////////////////////////////////////////////////////////////////////////
[codex:1033921]                              INTERNAL CONSTANT FUNCTIONS
[codex:1033921]     //////////////////////////////////////////////////////////////////////////*/
[codex:1033921] 
[codex:1033921]     /// @dev Checks that neither fee is greater than `maxFee`, and then calculates the protocol fee amount, the
[codex:1033921]     /// broker fee amount, and the deposit amount from the total amount.
[codex:1033921]     function checkAndCalculateFees(
[codex:1033921]         uint128 totalAmount,
[codex:1033921]         UD60x18 protocolFee,
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Checking Adminable and NoDelegateCall components**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '1,200p' contracts/src/abstracts/Adminable.sol" in /tmp/codex-multi-hmm86af2 succeeded in 5ms:
[codex:1033921] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { IAdminable } from "../interfaces/IAdminable.sol";
[codex:1033921] import { Errors } from "../libraries/Errors.sol";
[codex:1033921] 
[codex:1033921] /// @title Adminable
[codex:1033921] /// @notice See the documentation in {IAdminable}.
[codex:1033921] abstract contract Adminable is IAdminable {
[codex:1033921]     /*//////////////////////////////////////////////////////////////////////////
[codex:1033921]                                        STORAGE
[codex:1033921]     //////////////////////////////////////////////////////////////////////////*/
[codex:1033921] 
[codex:1033921]     /// @inheritdoc IAdminable
[codex:1033921]     address public override admin;
[codex:1033921] 
[codex:1033921]     /*//////////////////////////////////////////////////////////////////////////
[codex:1033921]                                       MODIFIERS
[codex:1033921]     //////////////////////////////////////////////////////////////////////////*/
[codex:1033921] 
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Checking for NoDelegateCall usage**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '1,200p' contracts/src/abstracts/NoDelegateCall.sol" in /tmp/codex-multi-hmm86af2 succeeded in 7ms:
[codex:1033921] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { Errors } from "../libraries/Errors.sol";
[codex:1033921] 
[codex:1033921] /// @title NoDelegateCall
[codex:1033921] /// @notice This contract implements logic to prevent delegate calls.
[codex:1033921] abstract contract NoDelegateCall {
[codex:1033921]     /// @dev The address of the original contract that was deployed.
[codex:1033921]     address private immutable ORIGINAL;
[codex:1033921] 
[codex:1033921]     /// @dev Sets the original contract address.
[codex:1033921]     constructor() {
[codex:1033921]         ORIGINAL = address(this);
[codex:1033921]     }
[codex:1033921] 
[codex:1033921]     /// @notice Prevents delegate calls.
[codex:1033921]     modifier noDelegateCall() {
[codex:1033921]         _preventDelegateCall();
[codex:1033921]         _;
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Verifying completeness of contract bundle**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc 'tail -n 120 AUDIT_BUNDLE.txt' in /tmp/codex-multi-hmm86af2 succeeded in 5ms:
[codex:1033921]     /// asset's decimals.
[codex:1033921]     /// @param segments Segments used to compose the custom streaming curve.
[codex:1033921]     struct Stream {
[codex:1033921]         // slot 0
[codex:1033921]         address sender;
[codex:1033921]         uint40 startTime;
[codex:1033921]         uint40 endTime;
[codex:1033921]         bool isCancelable;
[codex:1033921]         bool wasCanceled;
[codex:1033921]         // slot 1
[codex:1033921]         IERC20 asset;
[codex:1033921]         bool isDepleted;
[codex:1033921]         bool isStream;
[codex:1033921]         bool isTransferable;
[codex:1033921]         // slot 2 and 3
[codex:1033921]         Lockup.Amounts amounts;
[codex:1033921]         // slots [4..n]
[codex:1033921]         Segment[] segments;
[codex:1033921]     }
[codex:1033921] }
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Analyzing AUDIT_BUNDLE contents**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc 'head -n 80 AUDIT_BUNDLE.txt' in /tmp/codex-multi-hmm86af2 succeeded in 5ms:
[codex:1033921] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1033921] 
[codex:1033921] ================================================================================
[codex:1033921] FILE: contracts/src/SablierV2LockupLinear.sol
[codex:1033921] ================================================================================
[codex:1033921] // SPDX-License-Identifier: BUSL-1.1
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1033921] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1033921] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:1033921] import { UD60x18, ud } from "@prb/math/src/UD60x18.sol";
[codex:1033921] 
[codex:1033921] import { SablierV2Lockup } from "./abstracts/SablierV2Lockup.sol";
[codex:1033921] import { ISablierV2Comptroller } from "./interfaces/ISablierV2Comptroller.sol";
[codex:1033921] import { ISablierV2Lockup } from "./interfaces/ISablierV2Lockup.sol";
[codex:1033921] import { ISablierV2LockupLinear } from "./interfaces/ISablierV2LockupLinear.sol";
[codex:1033921] import { ISablierV2NFTDescriptor } from "./interfaces/ISablierV2NFTDescriptor.sol";
[codex:1033921] import { ISablierV2LockupRecipient } from "./interfaces/hooks/ISablierV2LockupRecipient.sol";
[codex:1033921] import { Errors } from "./libraries/Errors.sol";
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Listing files in AUDIT_BUNDLE**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-hmm86af2 succeeded in 7ms:
[codex:1033921] 4:FILE: contracts/src/SablierV2LockupLinear.sol
[codex:1033921] 565:FILE: contracts/src/abstracts/Adminable.sol
[codex:1033921] 610:FILE: contracts/src/abstracts/NoDelegateCall.sol
[codex:1033921] 648:FILE: contracts/src/abstracts/SablierV2Base.sol
[codex:1033921] 741:FILE: contracts/src/abstracts/SablierV2Lockup.sol
[codex:1033921] 1168:FILE: contracts/src/interfaces/IAdminable.sol
[codex:1033921] 1213:FILE: contracts/src/interfaces/ISablierV2Base.sol
[codex:1033921] 1292:FILE: contracts/src/interfaces/ISablierV2Comptroller.sol
[codex:1033921] 1395:FILE: contracts/src/interfaces/ISablierV2Lockup.sol
[codex:1033921] 1707:FILE: contracts/src/interfaces/ISablierV2LockupLinear.sol
[codex:1033921] 1835:FILE: contracts/src/interfaces/ISablierV2NFTDescriptor.sol
[codex:1033921] 1855:FILE: contracts/src/interfaces/hooks/ISablierV2LockupRecipient.sol
[codex:1033921] 1905:FILE: contracts/src/libraries/Errors.sol
[codex:1033921] 2052:FILE: contracts/src/libraries/Helpers.sol
[codex:1033921] 2271:FILE: contracts/src/types/DataTypes.sol
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Analyzing potential vulnerabilities and access controls**
[codex:1033921] 
[codex:1033921] I'm reviewing access control checks and the main contract logic, especially around token transfers and withdrawals, to spot any exploitable paths—like those involving fee-on-transfer tokens, reentrancy with ERC777 tokens, and overflow in duration calculations. I’m checking if assumptions on token behavior and state updating might open up profit or denial-of-service avenues while confirming if safeguards prevent misuse or state inconsistencies.
[codex:1033921] exec
[codex:1033921] /bin/bash -lc 'rg -n "Zero" contracts/src/SablierV2LockupLinear.sol' in /tmp/codex-multi-hmm86af2 exited 1 in 6ms:
[codex:1033921] 
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Analyzing stream contract vulnerabilities and reentrancy**
[codex:1033921] exec
[codex:1033921] /bin/bash -lc "sed -n '1,220p' contracts/src/SablierV2LockupLinear.sol" in /tmp/codex-multi-hmm86af2 succeeded in 6ms:
[codex:1033921] // SPDX-License-Identifier: BUSL-1.1
[codex:1033921] pragma solidity >=0.8.19;
[codex:1033921] 
[codex:1033921] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1033921] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1033921] import { ERC721 } from "@openzeppelin/contracts/token/ERC721/ERC721.sol";
[codex:1033921] import { UD60x18, ud } from "@prb/math/src/UD60x18.sol";
[codex:1033921] 
[codex:1033921] import { SablierV2Lockup } from "./abstracts/SablierV2Lockup.sol";
[codex:1033921] import { ISablierV2Comptroller } from "./interfaces/ISablierV2Comptroller.sol";
[codex:1033921] import { ISablierV2Lockup } from "./interfaces/ISablierV2Lockup.sol";
[codex:1033921] import { ISablierV2LockupLinear } from "./interfaces/ISablierV2LockupLinear.sol";
[codex:1033921] import { ISablierV2NFTDescriptor } from "./interfaces/ISablierV2NFTDescriptor.sol";
[codex:1033921] import { ISablierV2LockupRecipient } from "./interfaces/hooks/ISablierV2LockupRecipient.sol";
[codex:1033921] import { Errors } from "./libraries/Errors.sol";
[codex:1033921] import { Helpers } from "./libraries/Helpers.sol";
[codex:1033921] import { Lockup, LockupLinear } from "./types/DataTypes.sol";
[codex:1033921] 
[codex:1033921] /*
[codex:1033921] 
[codex:1033921] 
[codex:1033921] thinking
[codex:1033921] **Preparing final JSON report**
[codex:1033921] codex
[codex:1033921] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in AUDIT_BUNDLE.txt.","findings":[]}
[codex:1033921] tokens used
[codex:1033921] 67,055
[codex:1033921] {"no_findings":true,"summary":"No concrete, exploitable profit paths found in AUDIT_BUNDLE.txt.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T15:05:18.315090+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit paths found in AUDIT_BUNDLE.txt.",
    "raw_final": {
        "summary": "No concrete, exploitable profit paths found in AUDIT_BUNDLE.txt.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
10
EXT*/BALANCE
14
Total opcodes
11061
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: DUP1
00000003: PUSH1 0x40
00000005: MSTORE
00000006: PUSH1 0x04
00000008: CALLDATASIZE
00000009: LT
0000000a: ISZERO
0000000b: PUSH2 0x0013
0000000e: JUMPI
0000000f: PUSH1 0x00
00000011: DUP1
00000012: REVERT
00000013: JUMPDEST
00000014: PUSH1 0x00
00000016: SWAP1
00000017: DUP2
00000018: CALLDATALOAD
00000019: PUSH1 0xe0
0000001b: SHR
0000001c: SWAP1
0000001d: DUP2
0000001e: PUSH4 0x01ffc9a7
00000023: EQ
00000024: PUSH2 0x2dd8
00000027: JUMPI
00000028: POP
00000029: DUP1
0000002a: PUSH4 0x06fdde03
0000002f: EQ
00000030: PUSH2 0x2d14
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x081812fc
0000003a: EQ
0000003b: PUSH2 0x2cf5
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0x095ea7b3
00000045: EQ
00000046: PUSH2 0x2b66
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0x1400ecec
00000050: EQ
00000051: PUSH2 0x2ac6
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0x1c1cdd4c
0000005b: EQ
0000005c: PUSH2 0x2a61
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0x1e99d569
00000066: EQ
00000067: PUSH2 0x2a43
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0x23b872dd
00000071: EQ
00000072: PUSH2 0x2a19
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0x39a73c03
0000007c: EQ
0000007d: PUSH2 0x29d8
00000080: JUMPI
00000081: DUP1
00000082: PUSH4 0x40e58ee5
00000087: EQ
00000088: PUSH2 0x273a
0000008b: JUMPI
0000008c: DUP1
0000008d: PUSH4 0x425d30dd
00000092: EQ
00000093: PUSH2 0x271b
00000096: JUMPI
00000097: DUP1
00000098: PUSH4 0x42842e0e
0000009d: EQ
0000009e: PUSH2 0x26cb
000000a1: JUMPI
000000a2: DUP1
000000a3: PUSH4 0x42966c68
000000a8: EQ
000000a9: PUSH2 0x2541
000000ac: JUMPI
000000ad: DUP1
000000ae: PUSH4 0x4857501f
000000b3: EQ
000000b4: PUSH2 0x24b7
000000b7: JUMPI
000000b8: DUP1
000000b9: PUSH4 0x4869e12d
000000be: EQ
000000bf: PUSH2 0x247c
000000c2: JUMPI
000000c3: DUP1
000000c4: PUSH4 0x5fe3b567
000000c9: EQ
000000ca: PUSH2 0x2455
000000cd: JUMPI
000000ce: DUP1
000000cf: PUSH4 0x6352211e
000000d4: EQ
000000d5: PUSH2 0x2425
000000d8: JUMPI
000000d9: DUP1
000000da: PUSH4 0x6d0cee75
000000df: EQ
000000e0: PUSH2 0x23cf
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0x70a08231
000000ea: EQ
000000eb: PUSH2 0x2326
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x75829def
000000f5: EQ
000000f6: PUSH2 0x2293
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x780a82c8
00000100: EQ
00000101: PUSH2 0x2243
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x7cad6cd1
0000010b: EQ
0000010c: PUSH2 0x2172
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x7de6b1db
00000116: EQ
00000117: PUSH2 0x1f92
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x8659c270
00000121: EQ
00000122: PUSH2 0x1c71
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x894e9a0d
0000012c: EQ
0000012d: PUSH2 0x1a1d
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x8bad38dd
00000137: EQ
00000138: PUSH2 0x19a0
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x8f69b993
00000142: EQ
00000143: PUSH2 0x1904
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0x9067b677
0000014d: EQ
0000014e: PUSH2 0x18b1
00000151: JUMPI
00000152: DUP1
00000153: PUSH4 0x95d89b41
00000158: EQ
00000159: PUSH2 0x17a2
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0x96ce1431
00000163: EQ
00000164: PUSH2 0x1683
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0xa22cb465
0000016e: EQ
0000016f: PUSH2 0x15b2
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0xa2ffb897
00000179: EQ
0000017a: PUSH2 0x11c5
0000017d: JUMPI
0000017e: DUP1
0000017f: PUSH4 0xa6202bf2
00000184: EQ
00000185: PUSH2 0x10c8
00000188: JUMPI
00000189: DUP1
0000018a: PUSH4 0xa80fc071
0000018f: EQ
00000190: PUSH2 0x1076
00000193: JUMPI
00000194: DUP1
00000195: PUSH4 0xab167ccc
0000019a: EQ
0000019b: PUSH2 0x0f3d
0000019e: JUMPI
0000019f: DUP1
000001a0: PUSH4 0xad35efd4
000001a5: EQ
000001a6: PUSH2 0x0edb
000001a9: JUMPI
000001aa: DUP1
000001ab: PUSH4 0xb2564569
000001b0: EQ
000001b1: PUSH2 0x0ebc
000001b4: JUMPI
000001b5: DUP1
000001b6: PUSH4 0xb88d4fde
000001bb: EQ
000001bc: PUSH2 0x0e32
000001bf: JUMPI
000001c0: DUP1
000001c1: PUSH4 0xb8a3be66
000001c6: EQ
000001c7: PUSH2 0x0dfd
000001ca: JUMPI
000001cb: DUP1
000001cc: PUSH4 0xb971302a
000001d1: EQ
000001d2: PUSH2 0x0dae
000001d5: JUMPI
000001d6: DUP1
000001d7: PUSH4 0xbc063e1a
000001dc: EQ
000001dd: PUSH2 0x0d8b
000001e0: JUMPI
000001e1: DUP1
000001e2: PUSH4 0xbc2be1be
000001e7: EQ
000001e8: PUSH2 0x0d3b
000001eb: JUMPI
000001ec: DUP1
000001ed: PUSH4 0xc156a11d
000001f2: EQ
000001f3: PUSH2 0x09c1
000001f6: JUMPI
000001f7: DUP1
000001f8: PUSH4 0xc87b56dd
000001fd: EQ
000001fe: PUSH2 0x0887
00000201: JUMPI
00000202: DUP1
00000203: PUSH4 0xcc364f48
00000208: EQ
00000209: PUSH2 0x07d9
0000020c: JUMPI
0000020d: DUP1
0000020e: PUSH4 0xd4dbd20b
00000213: EQ
00000214: PUSH2 0x0787
00000217: JUMPI
00000218: DUP1
00000219: PUSH4 0xd511609f
0000021e: EQ
0000021f: PUSH2 0x073b
00000222: JUMPI
00000223: DUP1
00000224: PUSH4 0xd975dfed
00000229: EQ
0000022a: PUSH2 0x06ef
0000022d: JUMPI
0000022e: DUP1
0000022f: PUSH4 0xe985e9c5
00000234: EQ
00000235: PUSH2 0x069a
00000238: JUMPI
00000239: DUP1
0000023a: PUSH4 0xea5ead19
0000023f: EQ
00000240: PUSH2 0x0674
00000243: JUMPI
00000244: DUP1
00000245: PUSH4 0xeac8f5b8
0000024a: EQ
0000024b: PUSH2 0x060b
0000024e: JUMPI
0000024f: DUP1
00000250: PUSH4 0xf590c176
00000255: EQ
00000256: PUSH2 0x05e2
00000259: JUMPI
0000025a: DUP1
0000025b: PUSH4 0xf851a440
00000260: EQ
00000261: PUSH2 0x05bc
00000264: JUMPI
00000265: PUSH4 0xfdd46d60
0000026a: EQ
0000026b: PUSH2 0x0273
0000026e: JUMPI
0000026f: PUSH1 0x00
00000271: DUP1
00000272: REVERT
00000273: JUMPDEST
00000274: CALLVALUE
00000275: PUSH2 0x05b9
00000278: JUMPI
00000279: PUSH1 0x60
0000027b: CALLDATASIZE
0000027c: PUSH1 0x03
0000027e: NOT
0000027f: ADD
00000280: SLT
00000281: PUSH2 0x05b9
00000284: JUMPI
00000285: PUSH1 0x04
00000287: CALLDATALOAD
00000288: PUSH2 0x028f
0000028b: PUSH2 0x2f07
0000028e: JUMP
0000028f: JUMPDEST
00000290: PUSH2 0x0297
00000293: PUSH2 0x3047
00000296: JUMP
00000297: JUMPDEST
00000298: SWAP1
00000299: PUSH2 0x02a0
0000029c: PUSH2 0x370f
0000029f: JUMP
000002a0: JUMPDEST
000002a1: PUSH2 0x02a9
000002a4: DUP4
000002a5: PUSH2 0x313a
000002a8: JUMP
000002a9: JUMPDEST
000002aa: PUSH2 0x05a1
000002ad: JUMPI
000002ae: PUSH2 0x02cd
000002b1: DUP4
000002b2: PUSH1 0x00
000002b4: MSTORE
000002b5: PUSH1 0x0b
000002b7: PUSH1 0x20
000002b9: MSTORE
000002ba: PUSH1 0x01
000002bc: PUSH1 0x01
000002be: PUSH1 0xa0
000002c0: SHL
000002c1: SUB
000002c2: PUSH1 0x40
000002c4: PUSH1 0x00
000002c6: KECCAK256
000002c7: SLOAD
000002c8: AND
000002c9: CALLER
000002ca: EQ
000002cb: SWAP1
000002cc: JUMP
000002cd: JUMPDEST
000002ce: SWAP1
000002cf: DUP2
000002d0: ISZERO
000002d1: DUP1
000002d2: PUSH2 0x0591
000002d5: JUMPI
000002d6: JUMPDEST
000002d7: PUSH2 0x0572
000002da: JUMPI
000002db: DUP4
000002dc: DUP6
000002dd: MSTORE
000002de: PUSH1 0x20
000002e0: SWAP3
000002e1: PUSH1 0x05
000002e3: DUP5
000002e4: MSTORE
000002e5: PUSH1 0x01
000002e7: PUSH1 0x01
000002e9: PUSH1 0xa0
000002eb: SHL
000002ec: SUB
000002ed: SWAP2
000002ee: DUP3
000002ef: PUSH1 0x40
000002f1: DUP9
000002f2: KECCAK256
000002f3: SLOAD
000002f4: AND
000002f5: SWAP4
000002f6: DUP1
000002f7: PUSH2 0x0566
000002fa: JUMPI
000002fb: JUMPDEST
000002fc: PUSH2 0x0540
000002ff: JUMPI
00000300: DUP3
00000301: DUP2
00000302: AND
00000303: SWAP3
00000304: DUP4
00000305: ISZERO
00000306: PUSH2 0x0516
00000309: JUMPI
0000030a: PUSH1 0x01
0000030c: PUSH1 0x01
0000030e: PUSH1 0x80
00000310: SHL
00000311: SUB
00000312: DUP1
00000313: DUP5
00000314: AND
00000315: SWAP4
00000316: DUP5
00000317: ISZERO
00000318: PUSH2 0x04fe
0000031b: JUMPI
0000031c: PUSH2 0x0324
0000031f: DUP10
00000320: PUSH2 0x40f8
00000323: JUMP
00000324: JUMPDEST
00000325: DUP3
00000326: DUP2
00000327: AND
00000328: DUP7
00000329: GT
0000032a: PUSH2 0x04ca
0000032d: JUMPI
0000032e: POP
0000032f: SWAP4
00000330: DUP1
00000331: SWAP4
00000332: SWAP3
00000333: PUSH2 0x03ca
00000336: SWAP3
00000337: PUSH2 0x038f
0000033a: PUSH2 0x0357
0000033d: DUP14
0000033e: SWAP11
0000033f: SWAP10
00000340: SWAP9
00000341: DUP14
00000342: DUP13
00000343: MSTORE
00000344: PUSH1 0x0b
00000346: DUP14
00000347: MSTORE
00000348: PUSH1 0x02
0000034a: PUSH1 0x40
0000034c: DUP14
0000034d: KECCAK256
0000034e: ADD
0000034f: SLOAD
00000350: PUSH1 0x80
00000352: SHR
00000353: PUSH2 0x4120
00000356: JUMP
00000357: JUMPDEST
00000358: DUP13
00000359: DUP12
0000035a: MSTORE
0000035b: PUSH1 0x0b
0000035d: DUP13
0000035e: MSTORE
0000035f: PUSH2 0x038a
00000362: PUSH1 0x02
00000364: PUSH1 0x40
00000366: DUP14
00000367: KECCAK256
00000368: ADD
00000369: SWAP2
0000036a: DUP3
0000036b: SWAP1
0000036c: PUSH1 0x01
0000036e: PUSH1 0x01
00000370: PUSH1 0x80
00000372: SHL
00000373: SUB
00000374: PUSH1 0x01
00000376: PUSH1 0x01
00000378: PUSH1 0x80
0000037a: SHL
0000037b: SUB
0000037c: NOT
0000037d: DUP4
0000037e: SLOAD
0000037f: SWAP3
00000380: PUSH1 0x80
00000382: SHL
00000383: AND
00000384: SWAP2
00000385: AND
00000386: OR
00000387: SWAP1
00000388: SSTORE
00000389: JUMP
0000038a: JUMPDEST
0000038b: PUSH2 0x3226
0000038e: JUMP
0000038f: JUMPDEST
00000390: SWAP1
00000391: PUSH2 0x03ab
00000394: DUP2
00000395: DUP13
00000396: DUP5
00000397: ADD
00000398: MLOAD
00000399: AND
0000039a: SWAP3
0000039b: DUP3
0000039c: PUSH1 0x40
0000039e: DUP2
0000039f: DUP4
000003a0: MLOAD
000003a1: AND
000003a2: SWAP3
000003a3: ADD
000003a4: MLOAD
000003a5: AND
000003a6: SWAP1
000003a7: PUSH2 0x309a
000003aa: JUMP
000003ab: JUMPDEST
000003ac: AND
000003ad: GT
000003ae: ISZERO
000003af: PUSH2 0x049a
000003b2: JUMPI
000003b3: JUMPDEST
000003b4: DUP10
000003b5: DUP9
000003b6: MSTORE
000003b7: PUSH1 0x0b
000003b9: DUP10
000003ba: MSTORE
000003bb: PUSH1 0x01
000003bd: PUSH1 0x40
000003bf: DUP10
000003c0: KECCAK256
000003c1: ADD
000003c2: SLOAD
000003c3: AND
000003c4: SWAP3
000003c5: DUP4
000003c6: PUSH2 0x4090
000003c9: JUMP
000003ca: JUMPDEST
000003cb: DUP3
000003cc: DUP8
000003cd: PUSH32 0x40b88e5c41c5a97ffb7b6ef88a0a2d505aa0c634cf8a0275cb236ea7dd87ed4d
000003ee: DUP9
000003ef: PUSH1 0x40
000003f1: MLOAD
000003f2: DUP7
000003f3: DUP2
000003f4: MSTORE
000003f5: LOG4
000003f6: DUP3
000003f7: CALLER
000003f8: EQ
000003f9: ISZERO
000003fa: DUP1
000003fb: PUSH2 0x0490
000003fe: JUMPI
000003ff: JUMPDEST
00000400: PUSH2 0x0432
00000403: JUMPI
00000404: JUMPDEST
00000405: DUP4
00000406: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000427: DUP7
00000428: DUP9
00000429: PUSH1 0x40
0000042b: MLOAD
0000042c: SWAP1
0000042d: DUP2
0000042e: MSTORE
0000042f: LOG1
00000430: DUP1
00000431: RETURN
00000432: JUMPDEST
00000433: DUP3
00000434: EXTCODESIZE
00000435: ISZERO
00000436: PUSH2 0x048c
00000439: JUMPI
0000043a: PUSH1 0x84
0000043c: DUP5
0000043d: SWAP3
0000043e: DUP4
0000043f: PUSH1 0x40
00000441: MLOAD
00000442: SWAP6
00000443: DUP7
00000444: SWAP5
00000445: DUP6
00000446: SWAP4
00000447: PUSH4 0x13375c3b
0000044c: PUSH1 0xe0
0000044e: SHL
0000044f: DUP6
00000450: MSTORE
00000451: DUP12
00000452: PUSH1 0x04
00000454: DUP7
00000455: ADD
00000456: MSTORE
00000457: CALLER
00000458: PUSH1 0x24
0000045a: DUP7
0000045b: ADD
0000045c: MSTORE
0000045d: PUSH1 0x44
0000045f: DUP6
00000460: ADD
00000461: MSTORE
00000462: PUSH1 0x64
00000464: DUP5
00000465: ADD
00000466: MSTORE
00000467: GAS
00000468: CALL
00000469: PUSH2 0x0474
0000046c: JUMPI
0000046d: JUMPDEST
0000046e: DUP1
0000046f: DUP1
00000470: PUSH2 0x0404
00000473: JUMP
00000474: JUMPDEST
00000475: PUSH2 0x047d
00000478: SWAP1
00000479: PUSH2 0x2f83
0000047c: JUMP
0000047d: JUMPDEST
0000047e: PUSH2 0x0488
00000481: JUMPI
00000482: DUP3
00000483: CODESIZE
00000484: PUSH2 0x046d
00000487: JUMP
00000488: JUMPDEST
00000489: DUP3
0000048a: DUP1
0000048b: REVERT
0000048c: JUMPDEST
0000048d: DUP4
0000048e: DUP1
0000048f: REVERT
00000490: JUMPDEST
00000491: POP
00000492: DUP3
00000493: EXTCODESIZE
00000494: ISZERO
00000495: ISZERO
00000496: PUSH2 0x03ff
00000499: JUMP
0000049a: JUMPDEST
0000049b: DUP10
0000049c: DUP9
0000049d: MSTORE
0000049e: PUSH1 0x0b
000004a0: DUP10
000004a1: MSTORE
000004a2: PUSH1 0x40
000004a4: DUP9
000004a5: KECCAK256
000004a6: PUSH1 0x01
000004a8: DUP2
000004a9: ADD
000004aa: PUSH1 0x01
000004ac: PUSH1 0xc8
000004ae: SHL
000004af: PUSH1 0xff
000004b1: PUSH1 0xc8
000004b3: SHL
000004b4: NOT
000004b5: DUP3
000004b6: SLOAD
000004b7: AND
000004b8: OR
000004b9: SWAP1
000004ba: SSTORE
000004bb: PUSH1 0xff
000004bd: PUSH1 0xf0
000004bf: SHL
000004c0: NOT
000004c1: DUP2
000004c2: SLOAD
000004c3: AND
000004c4: SWAP1
000004c5: SSTORE
000004c6: PUSH2 0x03b3
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH1 0x40
000004cd: MLOAD
000004ce: PUSH4 0x287ecaef
000004d3: PUSH1 0xe2
000004d5: SHL
000004d6: DUP2
000004d7: MSTORE
000004d8: PUSH1 0x04
000004da: DUP2
000004db: ADD
000004dc: DUP12
000004dd: SWAP1
000004de: MSTORE
000004df: PUSH1 0x01
000004e1: PUSH1 0x01
000004e3: PUSH1 0x80
000004e5: SHL
000004e6: SUB
000004e7: SWAP3
000004e8: DUP4
000004e9: AND
000004ea: PUSH1 0x24
000004ec: DUP3
000004ed: ADD
000004ee: MSTORE
000004ef: SWAP2
000004f0: AND
000004f1: PUSH1 0x44
000004f3: DUP3
000004f4: ADD
000004f5: MSTORE
000004f6: PUSH1 0x64
000004f8: SWAP1
000004f9: REVERT
000004fa: JUMPDEST
000004fb: SUB
000004fc: SWAP1
000004fd: REVERT
000004fe: JUMPDEST
000004ff: PUSH1 0x24
00000501: DUP10
00000502: PUSH1 0x40
00000504: MLOAD
00000505: SWAP1
00000506: PUSH4 0xd2aabcd9
0000050b: PUSH1 0xe0
0000050d: SHL
0000050e: DUP3
0000050f: MSTORE
00000510: PUSH1 0x04
00000512: DUP3
00000513: ADD
00000514: MSTORE
00000515: REVERT
00000516: JUMPDEST
00000517: PUSH1 0x04
00000519: PUSH1 0x40
0000051b: MLOAD
0000051c: PUSH32 0xc61a0e9e00000000000000000000000000000000000000000000000000000000
0000053d: DUP2
0000053e: MSTORE
0000053f: REVERT
00000540: JUMPDEST
00000541: DUP6
00000542: DUP4
00000543: PUSH1 0x64
00000545: SWAP3
00000546: PUSH1 0x40
00000548: MLOAD
00000549: SWAP3
0000054a: PUSH4 0x2dcbf6b9
0000054f: PUSH1 0xe1
00000551: SHL
00000552: DUP5
00000553: MSTORE
00000554: PUSH1 0x04
00000556: DUP5
00000557: ADD
00000558: MSTORE
00000559: CALLER
0000055a: PUSH1 0x24
0000055c: DUP5
0000055d: ADD
0000055e: MSTORE
0000055f: AND
00000560: PUSH1 0x44
00000562: DUP3
00000563: ADD
00000564: MSTORE
00000565: REVERT
00000566: JUMPDEST
00000567: POP
00000568: DUP4
00000569: DUP4
0000056a: DUP3
0000056b: AND
0000056c: EQ
0000056d: ISZERO
0000056e: PUSH2 0x02fb
00000571: JUMP
00000572: JUMPDEST
00000573: PUSH1 0x40
00000575: MLOAD
00000576: PUSH4 0x216caf0d
0000057b: PUSH1 0xe0
0000057d: SHL
0000057e: DUP2
0000057f: MSTORE
00000580: PUSH1 0x04
00000582: DUP2
00000583: ADD
00000584: DUP6
00000585: SWAP1
00000586: MSTORE
00000587: CALLER
00000588: PUSH1 0x24
0000058a: DUP3
0000058b: ADD
0000058c: MSTORE
0000058d: PUSH1 0x44
0000058f: SWAP1
00000590: REVERT
00000591: JUMPDEST
00000592: POP
00000593: PUSH2 0x059b
00000596: DUP5
00000597: PUSH2 0x376b
0000059a: JUMP
0000059b: JUMPDEST
0000059c: ISZERO
0000059d: PUSH2 0x02d6
000005a0: JUMP
000005a1: JUMPDEST
000005a2: PUSH1 0x24
000005a4: DUP4
000005a5: PUSH1 0x40
000005a7: MLOAD
000005a8: SWAP1
000005a9: PUSH4 0x4a5541ef
000005ae: PUSH1 0xe0
000005b0: SHL
000005b1: DUP3
000005b2: MSTORE
000005b3: PUSH1 0x04
000005b5: DUP3
000005b6: ADD
000005b7: MSTORE
000005b8: REVERT
000005b9: JUMPDEST
000005ba: DUP1
000005bb: REVERT
000005bc: JUMPDEST
000005bd: POP
000005be: CALLVALUE
000005bf: PUSH2 0x05b9
000005c2: JUMPI
000005c3: DUP1
000005c4: PUSH1 0x03
000005c6: NOT
000005c7: CALLDATASIZE
000005c8: ADD
000005c9: SLT
000005ca: PUSH2 0x05b9
000005cd: JUMPI
000005ce: PUSH1 0x01
000005d0: PUSH1 0x01
000005d2: PUSH1 0xa0
000005d4: SHL
000005d5: SUB
000005d6: PUSH1 0x20
000005d8: SWAP2
000005d9: SLOAD
000005da: AND
000005db: PUSH1 0x40
000005dd: MLOAD
000005de: SWAP1
000005df: DUP2
000005e0: MSTORE
000005e1: RETURN
000005e2: JUMPDEST
000005e3: POP
000005e4: CALLVALUE
000005e5: PUSH2 0x05b9
000005e8: JUMPI
000005e9: PUSH1 0x20
000005eb: CALLDATASIZE
000005ec: PUSH1 0x03
000005ee: NOT
000005ef: ADD
000005f0: SLT
000005f1: PUSH2 0x05b9
000005f4: JUMPI
000005f5: PUSH1 0x20
000005f7: PUSH2 0x0601
000005fa: PUSH1 0x04
000005fc: CALLDATALOAD
000005fd: PUSH2 0x3327
00000600: JUMP
00000601: JUMPDEST
00000602: PUSH1 0x40
00000604: MLOAD
00000605: SWAP1
00000606: ISZERO
00000607: ISZERO
00000608: DUP2
00000609: MSTORE
0000060a: RETURN
0000060b: JUMPDEST
0000060c: POP
0000060d: CALLVALUE
0000060e: PUSH2 0x05b9
00000611: JUMPI
00000612: PUSH1 0x20
00000614: CALLDATASIZE
00000615: PUSH1 0x03
00000617: NOT
00000618: ADD
00000619: SLT
0000061a: PUSH2 0x05b9
0000061d: JUMPI
0000061e: PUSH1 0x04
00000620: CALLDATALOAD
00000621: DUP1
00000622: DUP3
00000623: MSTORE
00000624: PUSH1 0x0b
00000626: PUSH1 0x20
00000628: MSTORE
00000629: PUSH1 0xff
0000062b: PUSH1 0x01
0000062d: PUSH1 0x40
0000062f: DUP5
00000630: KECCAK256
00000631: ADD
00000632: SLOAD
00000633: PUSH1 0xd0
00000635: SHR
00000636: AND
00000637: ISZERO
00000638: PUSH2 0x065d
0000063b: JUMPI
0000063c: PUSH1 0x01
0000063e: PUSH1 0x40
00000640: DUP4
00000641: PUSH1 0x01
00000643: PUSH1 0x01
00000645: PUSH1 0xa0
00000647: SHL
00000648: SUB
00000649: SWAP4
0000064a: PUSH1 0x20
0000064c: SWAP6
0000064d: MSTORE
0000064e: PUSH1 0x0b
00000650: DUP6
00000651: MSTORE
00000652: KECCAK256
00000653: ADD
00000654: SLOAD
00000655: AND
00000656: PUSH1 0x40
00000658: MLOAD
00000659: SWAP1
0000065a: DUP2
0000065b: MSTORE
0000065c: RETURN
0000065d: JUMPDEST
0000065e: PUSH1 0x24
00000660: SWAP1
00000661: PUSH1 0x40
00000663: MLOAD
00000664: SWAP1
00000665: PUSH3 0xb8e7e7
00000669: PUSH1 0xe5
0000066b: SHL
0000066c: DUP3
0000066d: MSTORE
0000066e: PUSH1 0x04
00000670: DUP3
00000671: ADD
00000672: MSTORE
00000673: REVERT
00000674: JUMPDEST
00000675: POP
00000676: CALLVALUE
00000677: PUSH2 0x05b9
0000067a: JUMPI
0000067b: PUSH1 0x40
0000067d: CALLDATASIZE
0000067e: PUSH1 0x03
00000680: NOT
00000681: ADD
00000682: SLT
00000683: PUSH2 0x05b9
00000686: JUMPI
00000687: PUSH1 0x04
00000689: CALLDATALOAD
0000068a: PUSH2 0x0691
0000068d: PUSH2 0x2f07
00000690: JUMP
00000691: JUMPDEST
00000692: PUSH2 0x0297
00000695: DUP3
00000696: PUSH2 0x40f8
00000699: JUMP
0000069a: JUMPDEST
0000069b: POP
0000069c: CALLVALUE
0000069d: PUSH2 0x05b9
000006a0: JUMPI
000006a1: PUSH1 0x40
000006a3: CALLDATASIZE
000006a4: PUSH1 0x03
000006a6: NOT
000006a7: ADD
000006a8: SLT
000006a9: PUSH2 0x05b9
000006ac: JUMPI
000006ad: PUSH2 0x06b4
000006b0: PUSH2 0x2ef1
000006b3: JUMP
000006b4: JUMPDEST
000006b5: PUSH1 0x40
000006b7: PUSH2 0x06be
000006ba: PUSH2 0x2f07
000006bd: JUMP
000006be: JUMPDEST
000006bf: SWAP3
000006c0: PUSH1 0x01
000006c2: PUSH1 0x01
000006c4: PUSH1 0xa0
000006c6: SHL
000006c7: SUB
000006c8: DUP1
000006c9: SWAP4
000006ca: AND
000006cb: DUP2
000006cc: MSTORE
000006cd: PUSH1 0x08
000006cf: PUSH1 0x20
000006d1: MSTORE
000006d2: KECCAK256
000006d3: SWAP2
000006d4: AND
000006d5: PUSH1 0x00
000006d7: MSTORE
000006d8: PUSH1 0x20
000006da: MSTORE
000006db: PUSH1 0x20
000006dd: PUSH1 0xff
000006df: PUSH1 0x40
000006e1: PUSH1 0x00
000006e3: KECCAK256
000006e4: SLOAD
000006e5: AND
000006e6: PUSH1 0x40
000006e8: MLOAD
000006e9: SWAP1
000006ea: ISZERO
000006eb: ISZERO
000006ec: DUP2
000006ed: MSTORE
000006ee: RETURN
000006ef: JUMPDEST
000006f0: POP
000006f1: CALLVALUE
000006f2: PUSH2 0x05b9
000006f5: JUMPI
000006f6: PUSH1 0x20
000006f8: CALLDATASIZE
000006f9: PUSH1 0x03
000006fb: NOT
000006fc: ADD
000006fd: SLT
000006fe: PUSH2 0x05b9
00000701: JUMPI
00000702: PUSH1 0xff
00000704: PUSH1 0x01
00000706: PUSH1 0x40
00000708: PUSH1 0x04
0000070a: CALLDATALOAD
0000070b: SWAP4
0000070c: DUP5
0000070d: DUP2
0000070e: MSTORE
0000070f: PUSH1 0x0b
00000711: PUSH1 0x20
00000713: MSTORE
00000714: KECCAK256
00000715: ADD
00000716: SLOAD
00000717: PUSH1 0xd0
00000719: SHR
0000071a: AND
0000071b: ISZERO
0000071c: PUSH2 0x065d
0000071f: JUMPI
00000720: PUSH2 0x072a
00000723: PUSH1 0x20
00000725: SWAP2
00000726: PUSH2 0x40f8
00000729: JUMP
0000072a: JUMPDEST
0000072b: PUSH1 0x01
0000072d: PUSH1 0x01
0000072f: PUSH1 0x80
00000731: SHL
00000732: SUB
00000733: PUSH1 0x40
00000735: MLOAD
00000736: SWAP2
00000737: AND
00000738: DUP2
00000739: MSTORE
0000073a: RETURN
0000073b: JUMPDEST
0000073c: POP
0000073d: CALLVALUE
0000073e: PUSH2 0x05b9
00000741: JUMPI
00000742: PUSH1 0x20
00000744: CALLDATASIZE
00000745: PUSH1 0x03
00000747: NOT
00000748: ADD
00000749: SLT
0000074a: PUSH2 0x05b9
0000074d: JUMPI
0000074e: PUSH1 0x04
00000750: CALLDATALOAD
00000751: DUP1
00000752: DUP3
00000753: MSTORE
00000754: PUSH1 0x0b
00000756: PUSH1 0x20
00000758: MSTORE
00000759: PUSH1 0xff
0000075b: PUSH1 0x01
0000075d: PUSH1 0x40
0000075f: DUP5
00000760: KECCAK256
00000761: ADD
00000762: SLOAD
00000763: PUSH1 0xd0
00000765: SHR
00000766: AND
00000767: ISZERO
00000768: PUSH2 0x065d
0000076b: JUMPI
0000076c: PUSH1 0x40
0000076e: DUP3
0000076f: PUSH1 0x02
00000771: SWAP3
00000772: PUSH1 0x20
00000774: SWAP5
00000775: MSTORE
00000776: PUSH1 0x0b
00000778: DUP5
00000779: MSTORE
0000077a: KECCAK256
0000077b: ADD
0000077c: SLOAD
0000077d: PUSH1 0x80
0000077f: SHR
00000780: PUSH1 0x40
00000782: MLOAD
00000783: SWAP1
00000784: DUP2
00000785: MSTORE
00000786: RETURN
00000787: JUMPDEST
00000788: POP
00000789: CALLVALUE
0000078a: PUSH2 0x05b9
0000078d: JUMPI
0000078e: PUSH1 0x20
00000790: CALLDATASIZE
00000791: PUSH1 0x03
00000793: NOT
00000794: ADD
00000795: SLT
00000796: PUSH2 0x05b9
00000799: JUMPI
0000079a: PUSH1 0x04
0000079c: CALLDATALOAD
0000079d: DUP1
0000079e: DUP3
0000079f: MSTORE
000007a0: PUSH1 0x0b
000007a2: PUSH1 0x20
000007a4: MSTORE
000007a5: PUSH1 0xff
000007a7: PUSH1 0x01
000007a9: PUSH1 0x40
000007ab: DUP5
000007ac: KECCAK256
000007ad: ADD
000007ae: SLOAD
000007af: PUSH1 0xd0
000007b1: SHR
000007b2: AND
000007b3: ISZERO
000007b4: PUSH2 0x065d
000007b7: JUMPI
000007b8: PUSH1 0x03
000007ba: PUSH1 0x40
000007bc: DUP4
000007bd: PUSH1 0x01
000007bf: PUSH1 0x01
000007c1: PUSH1 0x80
000007c3: SHL
000007c4: SUB
000007c5: SWAP4
000007c6: PUSH1 0x20
000007c8: SWAP6
000007c9: MSTORE
000007ca: PUSH1 0x0b
000007cc: DUP6
000007cd: MSTORE
000007ce: KECCAK256
000007cf: ADD
000007d0: SLOAD
000007d1: AND
000007d2: PUSH1 0x40
000007d4: MLOAD
000007d5: SWAP1
000007d6: DUP2
000007d7: MSTORE
000007d8: RETURN
000007d9: JUMPDEST
000007da: POP
000007db: CALLVALUE
000007dc: PUSH2 0x05b9
000007df: JUMPI
000007e0: PUSH1 0x20
000007e2: CALLDATASIZE
000007e3: PUSH1 0x03
000007e5: NOT
000007e6: ADD
000007e7: SLT
000007e8: PUSH2 0x05b9
000007eb: JUMPI
000007ec: PUSH1 0x04
000007ee: CALLDATALOAD
000007ef: PUSH2 0x07f6
000007f2: PUSH2 0x3207
000007f5: JUMP
000007f6: JUMPDEST
000007f7: POP
000007f8: DUP1
000007f9: DUP3
000007fa: MSTORE
000007fb: PUSH1 0x0b
000007fd: PUSH1 0x20
000007ff: MSTORE
00000800: PUSH1 0xff
00000802: PUSH1 0x01
00000804: PUSH1 0x40
00000806: DUP5
00000807: KECCAK256
00000808: ADD
00000809: SLOAD
0000080a: PUSH1 0xd0
0000080c: SHR
0000080d: AND
0000080e: ISZERO
0000080f: PUSH2 0x065d
00000812: JUMPI
00000813: DUP2
00000814: PUSH1 0x40
00000816: SWAP2
00000817: PUSH1 0x60
00000819: SWAP4
0000081a: MSTORE
0000081b: PUSH1 0x0b
0000081d: PUSH1 0x20
0000081f: MSTORE
00000820: KECCAK256
00000821: PUSH1 0x01
00000823: DUP2
00000824: SLOAD
00000825: SWAP2
00000826: PUSH5 0xffffffffff
0000082c: SWAP2
0000082d: DUP3
0000082e: SWAP2
0000082f: ADD
00000830: SLOAD
00000831: PUSH1 0xa0
00000833: SHR
00000834: AND
00000835: SWAP1
00000836: PUSH1 0x40
00000838: MLOAD
00000839: SWAP3
0000083a: PUSH2 0x0842
0000083d: DUP5
0000083e: PUSH2 0x2fd1
00000841: JUMP
00000842: JUMPDEST
00000843: DUP2
00000844: DUP2
00000845: PUSH1 0xa0
00000847: SHR
00000848: AND
00000849: DUP5
0000084a: MSTORE
0000084b: PUSH1 0xc8
0000084d: SHR
0000084e: AND
0000084f: PUSH1 0x20
00000851: DUP4
00000852: ADD
00000853: MSTORE
00000854: PUSH1 0x40
00000856: DUP3
00000857: ADD
00000858: MSTORE
00000859: PUSH2 0x0885
0000085c: PUSH1 0x40
0000085e: MLOAD
0000085f: DUP1
00000860: SWAP3
00000861: PUSH1 0x40
00000863: SWAP1
00000864: DUP2
00000865: PUSH5 0xffffffffff
0000086b: SWAP2
0000086c: DUP3
0000086d: DUP2
0000086e: MLOAD
0000086f: AND
00000870: DUP6
00000871: MSTORE
00000872: DUP3
00000873: PUSH1 0x20
00000875: DUP3
00000876: ADD
00000877: MLOAD
00000878: AND
00000879: PUSH1 0x20
0000087b: DUP7
0000087c: ADD
0000087d: MSTORE
0000087e: ADD
0000087f: MLOAD
00000880: AND
00000881: SWAP2
00000882: ADD
00000883: MSTORE
00000884: JUMP
00000885: JUMPDEST
00000886: RETURN
00000887: JUMPDEST
00000888: POP
00000889: CALLVALUE
0000088a: PUSH2 0x05b9
0000088d: JUMPI
0000088e: PUSH1 0x20
00000890: DUP1
00000891: PUSH1 0x03
00000893: NOT
00000894: CALLDATASIZE
00000895: ADD
00000896: SLT
00000897: PUSH2 0x09b1
0000089a: JUMPI
0000089b: PUSH1 0x04
0000089d: CALLDATALOAD
0000089e: PUSH2 0x08c5
000008a1: PUSH2 0x08c0
000008a4: DUP3
000008a5: PUSH1 0x00
000008a7: MSTORE
000008a8: PUSH1 0x05
000008aa: PUSH1 0x20
000008ac: MSTORE
000008ad: PUSH1 0x01
000008af: PUSH1 0x01
000008b1: PUSH1 0xa0
000008b3: SHL
000008b4: SUB
000008b5: PUSH1 0x40
000008b7: PUSH1 0x00
000008b9: KECCAK256
000008ba: SLOAD
000008bb: AND
000008bc: ISZERO
000008bd: ISZERO
000008be: SWAP1
000008bf: JUMP
000008c0: JUMPDEST
000008c1: PUSH2 0x3171
000008c4: JUMP
000008c5: JUMPDEST
000008c6: DUP3
000008c7: PUSH1 0x01
000008c9: PUSH1 0x01
000008cb: PUSH1 0xa0
000008cd: SHL
000008ce: SUB
000008cf: PUSH1 0x0a
000008d1: SLOAD
000008d2: AND
000008d3: SWAP2
000008d4: PUSH1 0x44
000008d6: PUSH1 0x40
000008d8: MLOAD
000008d9: DUP1
000008da: SWAP5
000008db: DUP2
000008dc: SWAP4
000008dd: PUSH32 0xe9dc637500000000000000000000000000000000000000000000000000000000
000008fe: DUP4
000008ff: MSTORE
00000900: ADDRESS
00000901: PUSH1 0x04
00000903: DUP5
00000904: ADD
00000905: MSTORE
00000906: PUSH1 0x24
00000908: DUP4
00000909: ADD
0000090a: MSTORE
0000090b: GAS
0000090c: STATICCALL
0000090d: SWAP3
0000090e: DUP4
0000090f: ISZERO
00000910: PUSH2 0x09b5
00000913: JUMPI
00000914: DUP1
00000915: SWAP4
00000916: PUSH2 0x0934
00000919: JUMPI
0000091a: JUMPDEST
0000091b: POP
0000091c: POP
0000091d: PUSH2 0x0930
00000920: PUSH1 0x40
00000922: MLOAD
00000923: SWAP3
00000924: DUP3
00000925: DUP5
00000926: SWAP4
00000927: DUP5
00000928: MSTORE
00000929: DUP4
0000092a: ADD
0000092b: SWAP1
0000092c: PUSH2 0x2ecc
0000092f: JUMP
00000930: JUMPDEST
00000931: SUB
00000932: SWAP1
00000933: RETURN
00000934: JUMPDEST
00000935: SWAP1
00000936: SWAP2
00000937: SWAP3
00000938: POP
00000939: RETURNDATASIZE
0000093a: DUP1
0000093b: DUP3
0000093c: DUP5
0000093d: RETURNDATACOPY
0000093e: PUSH2 0x0947
00000941: DUP2
00000942: DUP5
00000943: PUSH2 0x3009
00000946: JUMP
00000947: JUMPDEST
00000948: DUP3
00000949: ADD
0000094a: SWAP2
0000094b: DUP4
0000094c: DUP2
0000094d: DUP5
0000094e: SUB
0000094f: SLT
00000950: PUSH2 0x09b1
00000953: JUMPI
00000954: DUP1
00000955: MLOAD
00000956: SWAP1
00000957: PUSH8 0xffffffffffffffff
00000960: DUP3
00000961: GT
00000962: PUSH2 0x0488
00000965: JUMPI
00000966: ADD
00000967: DUP3
00000968: PUSH1 0x1f
0000096a: DUP3
0000096b: ADD
0000096c: SLT
0000096d: ISZERO
0000096e: PUSH2 0x09b1
00000971: JUMPI
00000972: DUP1
00000973: MLOAD
00000974: SWAP2
00000975: PUSH2 0x097d
00000978: DUP4
00000979: PUSH2 0x302b
0000097c: JUMP
0000097d: JUMPDEST
0000097e: SWAP4
0000097f: PUSH2 0x098b
00000982: PUSH1 0x40
00000984: MLOAD
00000985: SWAP6
00000986: DUP7
00000987: PUSH2 0x3009
0000098a: JUMP
0000098b: JUMPDEST
0000098c: DUP4
0000098d: DUP6
0000098e: MSTORE
0000098f: DUP6
00000990: DUP5
00000991: DUP5
00000992: ADD
00000993: ADD
00000994: GT
00000995: PUSH2 0x05b9
00000998: JUMPI
00000999: POP
0000099a: SWAP1
0000099b: PUSH2 0x09a9
0000099e: SWAP2
0000099f: DUP5
000009a0: DUP1
000009a1: DUP6
000009a2: ADD
000009a3: SWAP2
000009a4: ADD
000009a5: PUSH2 0x2ea9
000009a8: JUMP
000009a9: JUMPDEST
000009aa: SWAP1
000009ab: CODESIZE
000009ac: DUP1
000009ad: PUSH2 0x091a
000009b0: JUMP
000009b1: JUMPDEST
000009b2: POP
000009b3: DUP1
000009b4: REVERT
000009b5: JUMPDEST
000009b6: PUSH1 0x40
000009b8: MLOAD
000009b9: SWAP1
000009ba: RETURNDATASIZE
000009bb: SWAP1
000009bc: DUP3
000009bd: RETURNDATACOPY
000009be: RETURNDATASIZE
000009bf: SWAP1
000009c0: REVERT
000009c1: JUMPDEST
000009c2: POP
000009c3: CALLVALUE
000009c4: PUSH2 0x05b9
000009c7: JUMPI
000009c8: PUSH1 0x40
000009ca: CALLDATASIZE
000009cb: PUSH1 0x03
000009cd: NOT
000009ce: ADD
000009cf: SLT
000009d0: PUSH2 0x05b9
000009d3: JUMPI
000009d4: PUSH1 0x04
000009d6: CALLDATALOAD
000009d7: PUSH2 0x09de
000009da: PUSH2 0x2f07
000009dd: JUMP
000009de: JUMPDEST
000009df: SWAP1
000009e0: PUSH2 0x09e7
000009e3: PUSH2 0x370f
000009e6: JUMP
000009e7: JUMPDEST
000009e8: DUP1
000009e9: DUP4
000009ea: MSTORE
000009eb: PUSH1 0x20
000009ed: SWAP2
000009ee: PUSH1 0x0b
000009f0: DUP4
000009f1: MSTORE
000009f2: PUSH1 0xff
000009f4: PUSH1 0x01
000009f6: PUSH1 0x40
000009f8: DUP7
000009f9: KECCAK256
000009fa: ADD
000009fb: SLOAD
000009fc: PUSH1 0xd0
000009fe: SHR
000009ff: AND
00000a00: ISZERO
00000a01: PUSH2 0x0d24
00000a04: JUMPI
00000a05: DUP2
00000a06: DUP5
00000a07: MSTORE
00000a08: PUSH1 0x05
00000a0a: DUP4
00000a0b: MSTORE
00000a0c: PUSH1 0x01
00000a0e: PUSH1 0x01
00000a10: PUSH1 0xa0
00000a12: SHL
00000a13: SUB
00000a14: DUP1
00000a15: PUSH1 0x40
00000a17: DUP7
00000a18: KECCAK256
00000a19: SLOAD
00000a1a: AND
00000a1b: SWAP1
00000a1c: DUP2
00000a1d: CALLER
00000a1e: SUB
00000a1f: PUSH2 0x0572
00000a22: JUMPI
00000a23: PUSH2 0x0a2b
00000a26: DUP5
00000a27: PUSH2 0x40f8
00000a2a: JUMP
00000a2b: JUMPDEST
00000a2c: SWAP1
00000a2d: PUSH1 0x01
00000a2f: PUSH1 0x01
00000a31: PUSH1 0x80
00000a33: SHL
00000a34: SUB
00000a35: SWAP1
00000a36: DUP2
00000a37: DUP4
00000a38: AND
00000a39: SWAP2
00000a3a: DUP3
00000a3b: ISZERO
00000a3c: SWAP4
00000a3d: DUP5
00000a3e: ISZERO
00000a3f: PUSH2 0x0a52
00000a42: JUMPI
00000a43: JUMPDEST
00000a44: DUP10
00000a45: PUSH2 0x0a4f
00000a48: DUP10
00000a49: DUP10
00000a4a: DUP10
00000a4b: PUSH2 0x3574
00000a4e: JUMP
00000a4f: JUMPDEST
00000a50: DUP1
00000a51: RETURN
00000a52: JUMPDEST
00000a53: PUSH2 0x0a5a
00000a56: PUSH2 0x370f
00000a59: JUMP
00000a5a: JUMPDEST
00000a5b: PUSH2 0x0a63
00000a5e: DUP9
00000a5f: PUSH2 0x313a
00000a62: JUMP
00000a63: JUMPDEST
00000a64: PUSH2 0x0d0c
00000a67: JUMPI
00000a68: PUSH2 0x0a87
00000a6b: DUP9
00000a6c: PUSH1 0x00
00000a6e: MSTORE
00000a6f: PUSH1 0x0b
00000a71: PUSH1 0x20
00000a73: MSTORE
00000a74: PUSH1 0x01
00000a76: PUSH1 0x01
00000a78: PUSH1 0xa0
00000a7a: SHL
00000a7b: SUB
00000a7c: PUSH1 0x40
00000a7e: PUSH1 0x00
00000a80: KECCAK256
00000a81: SLOAD
00000a82: AND
00000a83: CALLER
00000a84: EQ
00000a85: SWAP1
00000a86: JUMP
00000a87: JUMPDEST
00000a88: SWAP5
00000a89: DUP6
00000a8a: ISZERO
00000a8b: DUP1
00000a8c: PUSH2 0x0cfc
00000a8f: JUMPI
00000a90: JUMPDEST
00000a91: PUSH2 0x0cdd
00000a94: JUMPI
00000a95: DUP9
00000a96: DUP12
00000a97: MSTORE
00000a98: PUSH1 0x05
00000a9a: DUP11
00000a9b: MSTORE
00000a9c: DUP4
00000a9d: PUSH1 0x40
00000a9f: DUP13
00000aa0: KECCAK256
00000aa1: SLOAD
00000aa2: AND
00000aa3: SWAP6
00000aa4: DUP1
00000aa5: PUSH2 0x0cd3
00000aa8: JUMPI
00000aa9: JUMPDEST
00000aaa: PUSH2 0x0caf
00000aad: JUMPI
00000aae: DUP7
00000aaf: ISZERO
00000ab0: PUSH2 0x0516
00000ab3: JUMPI
00000ab4: PUSH2 0x0c97
00000ab7: JUMPI
00000ab8: PUSH2 0x0ac0
00000abb: DUP9
00000abc: PUSH2 0x40f8
00000abf: JUMP
00000ac0: JUMPDEST
00000ac1: DUP3
00000ac2: DUP2
00000ac3: AND
00000ac4: DUP6
00000ac5: GT
00000ac6: PUSH2 0x0c67
00000ac9: JUMPI
00000aca: POP
00000acb: SWAP1
00000acc: PUSH2 0x0b20
00000acf: PUSH2 0x0aed
00000ad2: DUP12
00000ad3: SWAP7
00000ad4: SWAP6
00000ad5: SWAP5
00000ad6: SWAP4
00000ad7: DUP11
00000ad8: DUP9
00000ad9: MSTORE
00000ada: PUSH1 0x0b
00000adc: DUP13
00000add: MSTORE
00000ade: PUSH1 0x02
00000ae0: PUSH1 0x40
00000ae2: DUP10
00000ae3: KECCAK256
00000ae4: ADD
00000ae5: SLOAD
00000ae6: PUSH1 0x80
00000ae8: SHR
00000ae9: PUSH2 0x4120
00000aec: JUMP
00000aed: JUMPDEST
00000aee: DUP10
00000aef: DUP8
00000af0: MSTORE
00000af1: PUSH1 0x0b
00000af3: DUP12
00000af4: MSTORE
00000af5: PUSH2 0x038a
00000af8: PUSH1 0x02
00000afa: PUSH1 0x40
00000afc: DUP10
00000afd: KECCAK256
00000afe: ADD
00000aff: SWAP2
00000b00: DUP3
00000b01: SWAP1
00000b02: PUSH1 0x01
00000b04: PUSH1 0x01
00000b06: PUSH1 0x80
00000b08: SHL
00000b09: SUB
00000b0a: PUSH1 0x01
00000b0c: PUSH1 0x01
00000b0e: PUSH1 0x80
00000b10: SHL
00000b11: SUB
00000b12: NOT
00000b13: DUP4
00000b14: SLOAD
00000b15: SWAP3
00000b16: PUSH1 0x80
00000b18: SHL
00000b19: AND
00000b1a: SWAP2
00000b1b: AND
00000b1c: OR
00000b1d: SWAP1
00000b1e: SSTORE
00000b1f: JUMP
00000b20: JUMPDEST
00000b21: SWAP1
00000b22: PUSH2 0x0b3c
00000b25: DUP2
00000b26: DUP12
00000b27: DUP5
00000b28: ADD
00000b29: MLOAD
00000b2a: AND
00000b2b: SWAP3
00000b2c: DUP3
00000b2d: PUSH1 0x40
00000b2f: DUP2
00000b30: DUP4
00000b31: MLOAD
00000b32: AND
00000b33: SWAP3
00000b34: ADD
00000b35: MLOAD
00000b36: AND
00000b37: SWAP1
00000b38: PUSH2 0x309a
00000b3b: JUMP
00000b3c: JUMPDEST
00000b3d: AND
00000b3e: GT
00000b3f: ISZERO
00000b40: PUSH2 0x0c37
00000b43: JUMPI
00000b44: JUMPDEST
00000b45: DUP7
00000b46: DUP5
00000b47: MSTORE
00000b48: PUSH1 0x0b
00000b4a: DUP9
00000b4b: MSTORE
00000b4c: PUSH1 0x01
00000b4e: PUSH1 0x40
00000b50: DUP6
00000b51: KECCAK256
00000b52: ADD
00000b53: SLOAD
00000b54: AND
00000b55: PUSH2 0x0b5f
00000b58: DUP3
00000b59: DUP7
00000b5a: DUP4
00000b5b: PUSH2 0x4090
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: DUP5
00000b61: DUP8
00000b62: PUSH32 0x40b88e5c41c5a97ffb7b6ef88a0a2d505aa0c634cf8a0275cb236ea7dd87ed4d
00000b83: DUP11
00000b84: PUSH1 0x40
00000b86: MLOAD
00000b87: DUP7
00000b88: DUP2
00000b89: MSTORE
00000b8a: LOG4
00000b8b: DUP2
00000b8c: CALLER
00000b8d: EQ
00000b8e: ISZERO
00000b8f: DUP1
00000b90: PUSH2 0x0c2d
00000b93: JUMPI
00000b94: JUMPDEST
00000b95: PUSH2 0x0bd2
00000b98: JUMPI
00000b99: JUMPDEST
00000b9a: POP
00000b9b: POP
00000b9c: POP
00000b9d: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00000bbe: PUSH2 0x0a4f
00000bc1: SWAP5
00000bc2: PUSH1 0x40
00000bc4: MLOAD
00000bc5: DUP6
00000bc6: DUP2
00000bc7: MSTORE
00000bc8: LOG1
00000bc9: CODESIZE
00000bca: DUP1
00000bcb: DUP1
00000bcc: DUP1
00000bcd: DUP1
00000bce: PUSH2 0x0a43
00000bd1: JUMP
00000bd2: JUMPDEST
00000bd3: DUP2
00000bd4: EXTCODESIZE
00000bd5: ISZERO
00000bd6: PUSH2 0x0488
00000bd9: JUMPI
00000bda: DUP3
00000bdb: SWAP2
00000bdc: PUSH1 0x84
00000bde: DUP4
00000bdf: SWAP3
00000be0: PUSH1 0x40
00000be2: MLOAD
00000be3: SWAP5
00000be4: DUP6
00000be5: SWAP4
00000be6: DUP5
00000be7: SWAP3
00000be8: PUSH4 0x13375c3b
00000bed: PUSH1 0xe0
00000bef: SHL
00000bf0: DUP5
00000bf1: MSTORE
00000bf2: DUP12
00000bf3: PUSH1 0x04
00000bf5: DUP6
00000bf6: ADD
00000bf7: MSTORE
00000bf8: CALLER
00000bf9: PUSH1 0x24
00000bfb: DUP6
00000bfc: ADD
00000bfd: MSTORE
00000bfe: DUP10
00000bff: PUSH1 0x44
00000c01: DUP6
00000c02: ADD
00000c03: MSTORE
00000c04: PUSH1 0x64
00000c06: DUP5
00000c07: ADD
00000c08: MSTORE
00000c09: GAS
00000c0a: CALL
00000c0b: PUSH2 0x0c15
00000c0e: JUMPI
00000c0f: JUMPDEST
00000c10: DUP1
00000c11: PUSH2 0x0b99
00000c14: JUMP
00000c15: JUMPDEST
00000c16: PUSH2 0x0c1e
00000c19: SWAP1
00000c1a: PUSH2 0x2f83
00000c1d: JUMP
00000c1e: JUMPDEST
00000c1f: PUSH2 0x0c29
00000c22: JUMPI
00000c23: DUP5
00000c24: CODESIZE
00000c25: PUSH2 0x0c0f
00000c28: JUMP
00000c29: JUMPDEST
00000c2a: DUP5
00000c2b: DUP1
00000c2c: REVERT
00000c2d: JUMPDEST
00000c2e: POP
00000c2f: DUP2
00000c30: EXTCODESIZE
00000c31: ISZERO
00000c32: ISZERO
00000c33: PUSH2 0x0b94
00000c36: JUMP
00000c37: JUMPDEST
00000c38: DUP7
00000c39: DUP5
00000c3a: MSTORE
00000c3b: PUSH1 0x0b
00000c3d: DUP9
00000c3e: MSTORE
00000c3f: PUSH1 0x40
00000c41: DUP5
00000c42: KECCAK256
00000c43: PUSH1 0x01
00000c45: DUP2
00000c46: ADD
00000c47: PUSH1 0x01
00000c49: PUSH1 0xc8
00000c4b: SHL
00000c4c: PUSH1 0xff
00000c4e: PUSH1 0xc8
00000c50: SHL
00000c51: NOT
00000c52: DUP3
00000c53: SLOAD
00000c54: AND
00000c55: OR
00000c56: SWAP1
00000c57: SSTORE
00000c58: PUSH1 0xff
00000c5a: PUSH1 0xf0
00000c5c: SHL
00000c5d: NOT
00000c5e: DUP2
00000c5f: SLOAD
00000c60: AND
00000c61: SWAP1
00000c62: SSTORE
00000c63: PUSH2 0x0b44
00000c66: JUMP
00000c67: JUMPDEST
00000c68: PUSH1 0x40
00000c6a: MLOAD
00000c6b: PUSH4 0x287ecaef
00000c70: PUSH1 0xe2
00000c72: SHL
00000c73: DUP2
00000c74: MSTORE
00000c75: PUSH1 0x04
00000c77: DUP2
00000c78: ADD
00000c79: DUP11
00000c7a: SWAP1
00000c7b: MSTORE
00000c7c: PUSH1 0x01
00000c7e: PUSH1 0x01
00000c80: PUSH1 0x80
00000c82: SHL
00000c83: SUB
00000c84: SWAP3
00000c85: DUP4
00000c86: AND
00000c87: PUSH1 0x24
00000c89: DUP3
00000c8a: ADD
00000c8b: MSTORE
00000c8c: SWAP2
00000c8d: AND
00000c8e: PUSH1 0x44
00000c90: DUP3
00000c91: ADD
00000c92: MSTORE
00000c93: PUSH1 0x64
00000c95: SWAP1
00000c96: REVERT
00000c97: JUMPDEST
00000c98: PUSH1 0x24
00000c9a: DUP9
00000c9b: PUSH1 0x40
00000c9d: MLOAD
00000c9e: SWAP1
00000c9f: PUSH4 0xd2aabcd9
00000ca4: PUSH1 0xe0
00000ca6: SHL
00000ca7: DUP3
00000ca8: MSTORE
00000ca9: PUSH1 0x04
00000cab: DUP3
00000cac: ADD
00000cad: MSTORE
00000cae: REVERT
00000caf: JUMPDEST
00000cb0: PUSH1 0x64
00000cb2: DUP10
00000cb3: DUP9
00000cb4: PUSH1 0x40
00000cb6: MLOAD
00000cb7: SWAP2
00000cb8: PUSH4 0x2dcbf6b9
00000cbd: PUSH1 0xe1
00000cbf: SHL
00000cc0: DUP4
00000cc1: MSTORE
00000cc2: PUSH1 0x04
00000cc4: DUP4
00000cc5: ADD
00000cc6: MSTORE
00000cc7: CALLER
00000cc8: PUSH1 0x24
00000cca: DUP4
00000ccb: ADD
00000ccc: MSTORE
00000ccd: PUSH1 0x44
00000ccf: DUP3
00000cd0: ADD
00000cd1: MSTORE
00000cd2: REVERT
00000cd3: JUMPDEST
00000cd4: POP
00000cd5: DUP6
00000cd6: DUP8
00000cd7: EQ
00000cd8: ISZERO
00000cd9: PUSH2 0x0aa9
00000cdc: JUMP
00000cdd: JUMPDEST
00000cde: PUSH1 0x40
00000ce0: MLOAD
00000ce1: PUSH4 0x216caf0d
00000ce6: PUSH1 0xe0
00000ce8: SHL
00000ce9: DUP2
00000cea: MSTORE
00000ceb: PUSH1 0x04
00000ced: DUP2
00000cee: ADD
00000cef: DUP11
00000cf0: SWAP1
00000cf1: MSTORE
00000cf2: CALLER
00000cf3: PUSH1 0x24
00000cf5: DUP3
00000cf6: ADD
00000cf7: MSTORE
00000cf8: PUSH1 0x44
00000cfa: SWAP1
00000cfb: REVERT
00000cfc: JUMPDEST
00000cfd: POP
00000cfe: PUSH2 0x0d06
00000d01: DUP10
00000d02: PUSH2 0x376b
00000d05: JUMP
00000d06: JUMPDEST
00000d07: ISZERO
00000d08: PUSH2 0x0a90
00000d0b: JUMP
00000d0c: JUMPDEST
00000d0d: PUSH1 0x24
00000d0f: DUP9
00000d10: PUSH1 0x40
00000d12: MLOAD
00000d13: SWAP1
00000d14: PUSH4 0x4a5541ef
00000d19: PUSH1 0xe0
00000d1b: SHL
00000d1c: DUP3
00000d1d: MSTORE
00000d1e: PUSH1 0x04
00000d20: DUP3
00000d21: ADD
00000d22: MSTORE
00000d23: REVERT
00000d24: JUMPDEST
00000d25: PUSH1 0x24
00000d27: DUP3
00000d28: PUSH1 0x40
00000d2a: MLOAD
00000d2b: SWAP1
00000d2c: PUSH3 0xb8e7e7
00000d30: PUSH1 0xe5
00000d32: SHL
00000d33: DUP3
00000d34: MSTORE
00000d35: PUSH1 0x04
00000d37: DUP3
00000d38: ADD
00000d39: MSTORE
00000d3a: REVERT
00000d3b: JUMPDEST
00000d3c: POP
00000d3d: CALLVALUE
00000d3e: PUSH2 0x05b9
00000d41: JUMPI
00000d42: PUSH1 0x20
00000d44: CALLDATASIZE
00000d45: PUSH1 0x03
00000d47: NOT
00000d48: ADD
00000d49: SLT
00000d4a: PUSH2 0x05b9
00000d4d: JUMPI
00000d4e: PUSH1 0x04
00000d50: CALLDATALOAD
00000d51: DUP1
00000d52: DUP3
00000d53: MSTORE
00000d54: PUSH1 0x0b
00000d56: PUSH1 0x20
00000d58: MSTORE
00000d59: PUSH1 0xff
00000d5b: PUSH1 0x01
00000d5d: PUSH1 0x40
00000d5f: DUP5
00000d60: KECCAK256
00000d61: ADD
00000d62: SLOAD
00000d63: PUSH1 0xd0
00000d65: SHR
00000d66: AND
00000d67: ISZERO
00000d68: PUSH2 0x065d
00000d6b: JUMPI
00000d6c: PUSH1 0x40
00000d6e: DUP3
00000d6f: PUSH5 0xffffffffff
00000d75: SWAP3
00000d76: PUSH1 0x20
00000d78: SWAP5
00000d79: MSTORE
00000d7a: PUSH1 0x0b
00000d7c: DUP5
00000d7d: MSTORE
00000d7e: KECCAK256
00000d7f: SLOAD
00000d80: PUSH1 0xa0
00000d82: SHR
00000d83: AND
00000d84: PUSH1 0x40
00000d86: MLOAD
00000d87: SWAP1
00000d88: DUP2
00000d89: MSTORE
00000d8a: RETURN
00000d8b: JUMPDEST
00000d8c: POP
00000d8d: CALLVALUE
00000d8e: PUSH2 0x05b9
00000d91: JUMPI
00000d92: DUP1
00000d93: PUSH1 0x03
00000d95: NOT
00000d96: CALLDATASIZE
00000d97: ADD
00000d98: SLT
00000d99: PUSH2 0x05b9
00000d9c: JUMPI
00000d9d: PUSH1 0x20
00000d9f: PUSH1 0x40
00000da1: MLOAD
00000da2: PUSH8 0x016345785d8a0000
00000dab: DUP2
00000dac: MSTORE
00000dad: RETURN
00000dae: JUMPDEST
00000daf: POP
00000db0: CALLVALUE
00000db1: PUSH2 0x05b9
00000db4: JUMPI
00000db5: PUSH1 0x20
00000db7: CALLDATASIZE
00000db8: PUSH1 0x03
00000dba: NOT
00000dbb: ADD
00000dbc: SLT
00000dbd: PUSH2 0x05b9
00000dc0: JUMPI
00000dc1: PUSH1 0x04
00000dc3: CALLDATALOAD
00000dc4: DUP1
00000dc5: DUP3
00000dc6: MSTORE
00000dc7: PUSH1 0x0b
00000dc9: PUSH1 0x20
00000dcb: MSTORE
00000dcc: PUSH1 0xff
00000dce: PUSH1 0x01
00000dd0: PUSH1 0x40
00000dd2: DUP5
00000dd3: KECCAK256
00000dd4: ADD
00000dd5: SLOAD
00000dd6: PUSH1 0xd0
00000dd8: SHR
00000dd9: AND
00000dda: ISZERO
00000ddb: PUSH2 0x065d
00000dde: JUMPI
00000ddf: PUSH1 0x40
00000de1: DUP3
00000de2: PUSH1 0x01
00000de4: PUSH1 0x01
00000de6: PUSH1 0xa0
00000de8: SHL
00000de9: SUB
00000dea: SWAP3
00000deb: PUSH1 0x20
00000ded: SWAP5
00000dee: MSTORE
00000def: PUSH1 0x0b
00000df1: DUP5
00000df2: MSTORE
00000df3: KECCAK256
00000df4: SLOAD
00000df5: AND
00000df6: PUSH1 0x40
00000df8: MLOAD
00000df9: SWAP1
00000dfa: DUP2
00000dfb: MSTORE
00000dfc: RETURN
00000dfd: JUMPDEST
00000dfe: POP
00000dff: CALLVALUE
00000e00: PUSH2 0x05b9
00000e03: JUMPI
00000e04: PUSH1 0x20
00000e06: CALLDATASIZE
00000e07: PUSH1 0x03
00000e09: NOT
00000e0a: ADD
00000e0b: SLT
00000e0c: PUSH2 0x05b9
00000e0f: JUMPI
00000e10: PUSH1 0xff
00000e12: PUSH1 0x01
00000e14: PUSH1 0x40
00000e16: PUSH1 0x20
00000e18: SWAP4
00000e19: PUSH1 0x04
00000e1b: CALLDATALOAD
00000e1c: DUP2
00000e1d: MSTORE
00000e1e: PUSH1 0x0b
00000e20: DUP6
00000e21: MSTORE
00000e22: KECCAK256
00000e23: ADD
00000e24: SLOAD
00000e25: PUSH1 0xd0
00000e27: SHR
00000e28: AND
00000e29: PUSH1 0x40
00000e2b: MLOAD
00000e2c: SWAP1
00000e2d: ISZERO
00000e2e: ISZERO
00000e2f: DUP2
00000e30: MSTORE
00000e31: RETURN
00000e32: JUMPDEST
00000e33: POP
00000e34: CALLVALUE
00000e35: PUSH2 0x05b9
00000e38: JUMPI
00000e39: PUSH1 0x80
00000e3b: CALLDATASIZE
00000e3c: PUSH1 0x03
00000e3e: NOT
00000e3f: ADD
00000e40: SLT
00000e41: PUSH2 0x05b9
00000e44: JUMPI
00000e45: PUSH2 0x0e4c
00000e48: PUSH2 0x2ef1
00000e4b: JUMP
00000e4c: JUMPDEST
00000e4d: PUSH2 0x0e54
00000e50: PUSH2 0x2f07
00000e53: JUMP
00000e54: JUMPDEST
00000e55: SWAP1
00000e56: PUSH1 0x64
00000e58: CALLDATALOAD
00000e59: SWAP1
00000e5a: PUSH8 0xffffffffffffffff
00000e63: DUP3
00000e64: GT
00000e65: PUSH2 0x048c
00000e68: JUMPI
00000e69: CALLDATASIZE
00000e6a: PUSH1 0x23
00000e6c: DUP4
00000e6d: ADD
00000e6e: SLT
00000e6f: ISZERO
00000e70: PUSH2 0x048c
00000e73: JUMPI
00000e74: DUP2
00000e75: PUSH1 0x04
00000e77: ADD
00000e78: CALLDATALOAD
00000e79: SWAP3
00000e7a: DUP5
00000e7b: PUSH2 0x0e83
00000e7e: DUP6
00000e7f: PUSH2 0x302b
00000e82: JUMP
00000e83: JUMPDEST
00000e84: SWAP4
00000e85: PUSH2 0x0e91
00000e88: PUSH1 0x40
00000e8a: MLOAD
00000e8b: SWAP6
00000e8c: DUP7
00000e8d: PUSH2 0x3009
00000e90: JUMP
00000e91: JUMPDEST
00000e92: DUP6
00000e93: DUP6
00000e94: MSTORE
00000e95: CALLDATASIZE
00000e96: PUSH1 0x24
00000e98: DUP8
00000e99: DUP4
00000e9a: ADD
00000e9b: ADD
00000e9c: GT
00000e9d: PUSH2 0x09b1
00000ea0: JUMPI
00000ea1: DUP6
00000ea2: PUSH2 0x0a4f
00000ea5: SWAP7
00000ea6: PUSH1 0x24
00000ea8: PUSH1 0x20
00000eaa: SWAP4
00000eab: ADD
00000eac: DUP4
00000ead: DUP9
00000eae: ADD
00000eaf: CALLDATACOPY
00000eb0: DUP6
00000eb1: ADD
00000eb2: ADD
00000eb3: MSTORE
00000eb4: PUSH1 0x44
00000eb6: CALLDATALOAD
00000eb7: SWAP2
00000eb8: PUSH2 0x3291
00000ebb: JUMP
00000ebc: JUMPDEST
00000ebd: POP
00000ebe: CALLVALUE
00000ebf: PUSH2 0x05b9
00000ec2: JUMPI
00000ec3: PUSH1 0x20
00000ec5: CALLDATASIZE
00000ec6: PUSH1 0x03
00000ec8: NOT
00000ec9: ADD
00000eca: SLT
00000ecb: PUSH2 0x05b9
00000ece: JUMPI
00000ecf: PUSH1 0x20
00000ed1: PUSH2 0x0601
00000ed4: PUSH1 0x04
00000ed6: CALLDATALOAD
00000ed7: PUSH2 0x325a
00000eda: JUMP
00000edb: JUMPDEST
00000edc: POP
00000edd: CALLVALUE
00000ede: PUSH2 0x05b9
00000ee1: JUMPI
00000ee2: PUSH1 0x20
00000ee4: CALLDATASIZE
00000ee5: PUSH1 0x03
00000ee7: NOT
00000ee8: ADD
00000ee9: SLT
00000eea: PUSH2 0x05b9
00000eed: JUMPI
00000eee: PUSH1 0x04
00000ef0: CALLDATALOAD
00000ef1: DUP1
00000ef2: DUP3
00000ef3: MSTORE
00000ef4: PUSH1 0x0b
00000ef6: PUSH1 0x20
00000ef8: MSTORE
00000ef9: PUSH1 0xff
00000efb: PUSH1 0x01
00000efd: PUSH1 0x40
00000eff: DUP5
00000f00: KECCAK256
00000f01: ADD
00000f02: SLOAD
00000f03: PUSH1 0xd0
00000f05: SHR
00000f06: AND
00000f07: ISZERO
00000f08: PUSH2 0x065d
00000f0b: JUMPI
00000f0c: PUSH2 0x0f14
00000f0f: SWAP1
00000f10: PUSH2 0x340e
00000f13: JUMP
00000f14: JUMPDEST
00000f15: PUSH1 0x40
00000f17: MLOAD
00000f18: SWAP1
00000f19: PUSH1 0x05
00000f1b: DUP2
00000f1c: LT
00000f1d: ISZERO
00000f1e: PUSH2 0x0f29
00000f21: JUMPI
00000f22: PUSH1 0x20
00000f24: SWAP3
00000f25: POP
00000f26: DUP2
00000f27: MSTORE
00000f28: RETURN
00000f29: JUMPDEST
00000f2a: PUSH1 0x24
00000f2c: DUP4
00000f2d: PUSH4 0x4e487b71
00000f32: PUSH1 0xe0
00000f34: SHL
00000f35: DUP2
00000f36: MSTORE
00000f37: PUSH1 0x21
00000f39: PUSH1 0x04
00000f3b: MSTORE
00000f3c: REVERT
00000f3d: JUMPDEST
00000f3e: POP
00000f3f: CALLVALUE
00000f40: PUSH2 0x05b9
00000f43: JUMPI
00000f44: PUSH2 0x0140
00000f47: CALLDATASIZE
00000f48: PUSH1 0x03
00000f4a: NOT
00000f4b: ADD
00000f4c: SLT
00000f4d: PUSH2 0x05b9
00000f50: JUMPI
00000f51: PUSH2 0x0f58
00000f54: PUSH2 0x370f
00000f57: JUMP
00000f58: JUMPDEST
00000f59: PUSH2 0x0f60
00000f5c: PUSH2 0x3207
00000f5f: JUMP
00000f60: JUMPDEST
00000f61: SWAP1
00000f62: PUSH5 0xffffffffff
00000f68: DUP1
00000f69: TIMESTAMP
00000f6a: AND
00000f6b: DUP1
00000f6c: DUP5
00000f6d: MSTORE
00000f6e: PUSH1 0xc4
00000f70: CALLDATALOAD
00000f71: DUP3
00000f72: DUP2
00000f73: AND
00000f74: DUP2
00000f75: SUB
00000f76: PUSH2 0x1071
00000f79: JUMPI
00000f7a: DUP2
00000f7b: ADD
00000f7c: DUP3
00000f7d: AND
00000f7e: PUSH1 0x20
00000f80: DUP6
00000f81: ADD
00000f82: MSTORE
00000f83: PUSH1 0xe4
00000f85: CALLDATALOAD
00000f86: SWAP1
00000f87: DUP2
00000f88: DUP4
00000f89: AND
00000f8a: DUP3
00000f8b: SUB
00000f8c: PUSH2 0x1071
00000f8f: JUMPI
00000f90: ADD
00000f91: AND
00000f92: PUSH1 0x40
00000f94: DUP4
00000f95: ADD
00000f96: MSTORE
00000f97: PUSH1 0x64
00000f99: CALLDATALOAD
00000f9a: SWAP2
00000f9b: PUSH1 0x01
00000f9d: PUSH1 0x01
00000f9f: PUSH1 0xa0
00000fa1: SHL
00000fa2: SUB
00000fa3: SWAP2
00000fa4: DUP3
00000fa5: DUP5
00000fa6: AND
00000fa7: DUP1
00000fa8: SWAP5
00000fa9: SUB
00000faa: PUSH2 0x05b9
00000fad: JUMPI
00000fae: POP
00000faf: PUSH1 0x84
00000fb1: CALLDATALOAD
00000fb2: DUP1
00000fb3: ISZERO
00000fb4: ISZERO
00000fb5: DUP1
00000fb6: SWAP2
00000fb7: SUB
00000fb8: PUSH2 0x1071
00000fbb: JUMPI
00000fbc: PUSH1 0xa4
00000fbe: CALLDATALOAD
00000fbf: SWAP1
00000fc0: DUP2
00000fc1: ISZERO
00000fc2: ISZERO
00000fc3: DUP1
00000fc4: SWAP3
00000fc5: SUB
00000fc6: PUSH2 0x1071
00000fc9: JUMPI
00000fca: PUSH1 0x24
00000fcc: CALLDATALOAD
00000fcd: SWAP5
00000fce: DUP5
00000fcf: DUP7
00000fd0: AND
00000fd1: DUP1
00000fd2: SWAP7
00000fd3: SUB
00000fd4: PUSH2 0x1071
00000fd7: JUMPI
00000fd8: PUSH1 0x04
00000fda: CALLDATALOAD
00000fdb: SWAP6
00000fdc: DUP6
00000fdd: DUP8
00000fde: AND
00000fdf: DUP1
00000fe0: SWAP8
00000fe1: SUB
00000fe2: PUSH2 0x1071
00000fe5: JUMPI
00000fe6: PUSH1 0x44
00000fe8: CALLDATALOAD
00000fe9: SWAP1
00000fea: PUSH1 0x01
00000fec: PUSH1 0x01
00000fee: PUSH1 0x80
00000ff0: SHL
00000ff1: SUB
00000ff2: DUP3
00000ff3: AND
00000ff4: DUP1
00000ff5: SWAP3
00000ff6: SUB
00000ff7: PUSH2 0x1071
00000ffa: JUMPI
00000ffb: PUSH1 0x40
00000ffd: MLOAD
00000ffe: SWAP8
00000fff: PUSH2 0x1007
00001002: DUP10
00001003: PUSH2 0x2fb4
00001006: JUMP
00001007: JUMPDEST
00001008: DUP9
00001009: MSTORE
0000100a: PUSH1 0x20
0000100c: DUP9
0000100d: ADD
0000100e: MSTORE
0000100f: PUSH1 0x40
00001011: DUP8
00001012: ADD
00001013: MSTORE
00001014: PUSH1 0x60
00001016: DUP7
00001017: ADD
00001018: MSTORE
00001019: PUSH1 0x80
0000101b: DUP6
0000101c: ADD
0000101d: MSTORE
0000101e: PUSH1 0xa0
00001020: DUP5
00001021: ADD
00001022: MSTORE
00001023: PUSH1 0xc0
00001025: DUP4
00001026: ADD
00001027: MSTORE
00001028: PUSH1 0x40
0000102a: PUSH2 0x0103
0000102d: NOT
0000102e: CALLDATASIZE
0000102f: ADD
00001030: SLT
00001031: PUSH2 0x1071
00001034: JUMPI
00001035: PUSH1 0x40
00001037: MLOAD
00001038: SWAP2
00001039: PUSH2 0x1041
0000103c: DUP4
0000103d: PUSH2 0x2fed
00001040: JUMP
00001041: JUMPDEST
00001042: PUSH2 0x0104
00001045: CALLDATALOAD
00001046: SWAP2
00001047: DUP3
00001048: AND
00001049: DUP3
0000104a: SUB
0000104b: PUSH2 0x1071
0000104e: JUMPI
0000104f: DUP3
00001050: PUSH2 0x1069
00001053: SWAP3
00001054: PUSH1 0x20
00001056: SWAP5
00001057: MSTORE
00001058: PUSH2 0x0124
0000105b: CALLDATALOAD
0000105c: DUP5
0000105d: DUP3
0000105e: ADD
0000105f: MSTORE
00001060: PUSH1 0xe0
00001062: DUP3
00001063: ADD
00001064: MSTORE
00001065: PUSH2 0x384f
00001068: JUMP
00001069: JUMPDEST
0000106a: PUSH1 0x40
0000106c: MLOAD
0000106d: SWAP1
0000106e: DUP2
0000106f: MSTORE
00001070: RETURN
00001071: JUMPDEST
00001072: PUSH1 0x00
00001074: DUP1
00001075: REVERT
00001076: JUMPDEST
00001077: POP
00001078: CALLVALUE
00001079: PUSH2 0x05b9
0000107c: JUMPI
0000107d: PUSH1 0x20
0000107f: CALLDATASIZE
00001080: PUSH1 0x03
00001082: NOT
00001083: ADD
00001084: SLT
00001085: PUSH2 0x05b9
00001088: JUMPI
00001089: PUSH1 0x04
0000108b: CALLDATALOAD
0000108c: DUP1
0000108d: DUP3
0000108e: MSTORE
0000108f: PUSH1 0x0b
00001091: PUSH1 0x20
00001093: MSTORE
00001094: PUSH1 0xff
00001096: PUSH1 0x01
00001098: PUSH1 0x40
0000109a: DUP5
0000109b: KECCAK256
0000109c: ADD
0000109d: SLOAD
0000109e: PUSH1 0xd0
000010a0: SHR
000010a1: AND
000010a2: ISZERO
000010a3: PUSH2 0x065d
000010a6: JUMPI
000010a7: PUSH1 0x02
000010a9: PUSH1 0x40
000010ab: DUP4
000010ac: PUSH1 0x01
000010ae: PUSH1 0x01
000010b0: PUSH1 0x80
000010b2: SHL
000010b3: SUB
000010b4: SWAP4
000010b5: PUSH1 0x20
000010b7: SWAP6
000010b8: MSTORE
000010b9: PUSH1 0x0b
000010bb: DUP6
000010bc: MSTORE
000010bd: KECCAK256
000010be: ADD
000010bf: SLOAD
000010c0: AND
000010c1: PUSH1 0x40
000010c3: MLOAD
000010c4: SWAP1
000010c5: DUP2
000010c6: MSTORE
000010c7: RETURN
000010c8: JUMPDEST
000010c9: POP
000010ca: CALLVALUE
000010cb: PUSH2 0x05b9
000010ce: JUMPI
000010cf: PUSH1 0x20
000010d1: CALLDATASIZE
000010d2: PUSH1 0x03
000010d4: NOT
000010d5: ADD
000010d6: SLT
000010d7: PUSH2 0x05b9
000010da: JUMPI
000010db: PUSH2 0x10e2
000010de: PUSH2 0x2ef1
000010e1: JUMP
000010e2: JUMPDEST
000010e3: PUSH1 0x01
000010e5: PUSH1 0x01
000010e7: PUSH1 0xa0
000010e9: SHL
000010ea: SUB
000010eb: DUP1
000010ec: DUP4
000010ed: SLOAD
000010ee: AND
000010ef: CALLER
000010f0: DUP2
000010f1: SUB
000010f2: PUSH2 0x119c
000010f5: JUMPI
000010f6: POP
000010f7: DUP2
000010f8: AND
000010f9: SWAP1
000010fa: DUP2
000010fb: DUP4
000010fc: MSTORE
000010fd: PUSH1 0x02
000010ff: PUSH1 0x20
00001101: MSTORE
00001102: PUSH1 0x01
00001104: PUSH1 0x01
00001106: PUSH1 0x80
00001108: SHL
00001109: SUB
0000110a: PUSH1 0x40
0000110c: DUP5
0000110d: KECCAK256
0000110e: SLOAD
0000110f: AND
00001110: SWAP1
00001111: DUP2
00001112: ISZERO
00001113: PUSH2 0x116b
00001116: JUMPI
00001117: DUP2
00001118: PUSH2 0x113c
0000111b: SWAP2
0000111c: DUP5
0000111d: DUP7
0000111e: MSTORE
0000111f: PUSH1 0x02
00001121: PUSH1 0x20
00001123: MSTORE
00001124: PUSH1 0x40
00001126: DUP7
00001127: KECCAK256
00001128: PUSH1 0x01
0000112a: PUSH1 0x01
0000112c: PUSH1 0x80
0000112e: SHL
0000112f: SUB
00001130: NOT
00001131: DUP2
00001132: SLOAD
00001133: AND
00001134: SWAP1
00001135: SSTORE
00001136: CALLER
00001137: SWAP1
00001138: PUSH2 0x4090
0000113b: JUMP
0000113c: JUMPDEST
0000113d: PUSH1 0x40
0000113f: MLOAD
00001140: SWAP1
00001141: DUP2
00001142: MSTORE
00001143: PUSH32 0xca7a4a65a94ed2f37538814e00e1cd4c41a78261561e3f3794592f11409cf5af
00001164: PUSH1 0x20
00001166: CALLER
00001167: SWAP3
00001168: LOG3
00001169: DUP1
0000116a: RETURN
0000116b: JUMPDEST
0000116c: PUSH1 0x24
0000116e: DUP4
0000116f: PUSH1 0x40
00001171: MLOAD
00001172: SWAP1
00001173: PUSH32 0x8410168c00000000000000000000000000000000000000000000000000000000
00001194: DUP3
00001195: MSTORE
00001196: PUSH1 0x04
00001198: DUP3
00001199: ADD
0000119a: MSTORE
0000119b: REVERT
0000119c: JUMPDEST
0000119d: PUSH1 0x40
0000119f: MLOAD
000011a0: PUSH4 0x31b339a9
000011a5: PUSH1 0xe2
000011a7: SHL
000011a8: DUP2
000011a9: MSTORE
000011aa: PUSH1 0x01
000011ac: PUSH1 0x01
000011ae: PUSH1 0xa0
000011b0: SHL
000011b1: SUB
000011b2: SWAP2
000011b3: SWAP1
000011b4: SWAP2
000011b5: AND
000011b6: PUSH1 0x04
000011b8: DUP3
000011b9: ADD
000011ba: MSTORE
000011bb: CALLER
000011bc: PUSH1 0x24
000011be: DUP3
000011bf: ADD
000011c0: MSTORE
000011c1: PUSH1 0x44
000011c3: SWAP1
000011c4: REVERT
000011c5: JUMPDEST
000011c6: POP
000011c7: CALLVALUE
000011c8: PUSH2 0x05b9
000011cb: JUMPI
000011cc: PUSH1 0x60
000011ce: CALLDATASIZE
000011cf: PUSH1 0x03
000011d1: NOT
000011d2: ADD
000011d3: SLT
000011d4: PUSH2 0x05b9
000011d7: JUMPI
000011d8: PUSH8 0xffffffffffffffff
000011e1: PUSH1 0x04
000011e3: CALLDATALOAD
000011e4: DUP2
000011e5: DUP2
000011e6: GT
000011e7: PUSH2 0x0488
000011ea: JUMPI
000011eb: PUSH2 0x11f8
000011ee: SWAP1
000011ef: CALLDATASIZE
000011f0: SWAP1
000011f1: PUSH1 0x04
000011f3: ADD
000011f4: PUSH2 0x2f52
000011f7: JUMP
000011f8: JUMPDEST
000011f9: SWAP1
000011fa: PUSH2 0x1201
000011fd: PUSH2 0x2f07
00001200: JUMP
00001201: JUMPDEST
00001202: SWAP3
00001203: PUSH1 0x44
00001205: CALLDATALOAD
00001206: SWAP1
00001207: DUP2
00001208: GT
00001209: PUSH2 0x0c29
0000120c: JUMPI
0000120d: PUSH2 0x121a
00001210: SWAP1
00001211: CALLDATASIZE
00001212: SWAP1
00001213: PUSH1 0x04
00001215: ADD
00001216: PUSH2 0x2f52
00001219: JUMP
0000121a: JUMPDEST
0000121b: PUSH2 0x1225
0000121e: SWAP5
0000121f: SWAP2
00001220: SWAP5
00001221: PUSH2 0x370f
00001224: JUMP
00001225: JUMPDEST
00001226: DUP1
00001227: DUP5
00001228: SUB
00001229: PUSH2 0x157b
0000122c: JUMPI
0000122d: SWAP2
0000122e: SWAP3
0000122f: PUSH1 0x01
00001231: PUSH1 0x01
00001233: PUSH1 0xa0
00001235: SHL
00001236: SUB
00001237: DUP3
00001238: AND
00001239: ISZERO
0000123a: SWAP3
0000123b: SWAP1
0000123c: DUP7
0000123d: JUMPDEST
0000123e: DUP2
0000123f: DUP2
00001240: LT
00001241: PUSH2 0x1248
00001244: JUMPI
00001245: DUP8
00001246: DUP1
00001247: RETURN
00001248: JUMPDEST
00001249: PUSH2 0x1253
0000124c: DUP2
0000124d: DUP4
0000124e: DUP9
0000124f: PUSH2 0x31e1
00001252: JUMP
00001253: JUMPDEST
00001254: CALLDATALOAD
00001255: SWAP1
00001256: PUSH2 0x1260
00001259: DUP2
0000125a: DUP6
0000125b: DUP11
0000125c: PUSH2 0x31e1
0000125f: JUMP
00001260: JUMPDEST
00001261: CALLDATALOAD
00001262: PUSH1 0x01
00001264: PUSH1 0x01
00001266: PUSH1 0x80
00001268: SHL
00001269: SUB
0000126a: DUP2
0000126b: AND
0000126c: DUP2
0000126d: SUB
0000126e: PUSH2 0x1071
00001271: JUMPI
00001272: PUSH2 0x1279
00001275: PUSH2 0x370f
00001278: JUMP
00001279: JUMPDEST
0000127a: PUSH2 0x1282
0000127d: DUP4
0000127e: PUSH2 0x313a
00001281: JUMP
00001282: JUMPDEST
00001283: PUSH2 0x05a1
00001286: JUMPI
00001287: PUSH2 0x12a6
0000128a: DUP4
0000128b: PUSH1 0x00
0000128d: MSTORE
0000128e: PUSH1 0x0b
00001290: PUSH1 0x20
00001292: MSTORE
00001293: PUSH1 0x01
00001295: PUSH1 0x01
00001297: PUSH1 0xa0
00001299: SHL
0000129a: SUB
0000129b: PUSH1 0x40
0000129d: PUSH1 0x00
0000129f: KECCAK256
000012a0: SLOAD
000012a1: AND
000012a2: CALLER
000012a3: EQ
000012a4: SWAP1
000012a5: JUMP
000012a6: JUMPDEST
000012a7: DUP1
000012a8: ISZERO
000012a9: DUP1
000012aa: PUSH2 0x156b
000012ad: JUMPI
000012ae: JUMPDEST
000012af: PUSH2 0x0572
000012b2: JUMPI
000012b3: DUP4
000012b4: DUP12
000012b5: MSTORE
000012b6: PUSH1 0x05
000012b8: PUSH1 0x20
000012ba: MSTORE
000012bb: PUSH1 0x01
000012bd: PUSH1 0x01
000012bf: PUSH1 0xa0
000012c1: SHL
000012c2: SUB
000012c3: PUSH1 0x40
000012c5: DUP13
000012c6: KECCAK256
000012c7: SLOAD
000012c8: AND
000012c9: SWAP1
000012ca: DUP1
000012cb: PUSH2 0x1558
000012ce: JUMPI
000012cf: JUMPDEST
000012d0: PUSH2 0x152b
000012d3: JUMPI
000012d4: DUP8
000012d5: PUSH2 0x0516
000012d8: JUMPI
000012d9: PUSH1 0x01
000012db: PUSH1 0x01
000012dd: PUSH1 0x80
000012df: SHL
000012e0: SUB
000012e1: DUP3
000012e2: AND
000012e3: ISZERO
000012e4: PUSH2 0x1513
000012e7: JUMPI
000012e8: PUSH2 0x12f0
000012eb: DUP5
000012ec: PUSH2 0x40f8
000012ef: JUMP
000012f0: JUMPDEST
000012f1: PUSH1 0x01
000012f3: PUSH1 0x01
000012f5: PUSH1 0x80
000012f7: SHL
000012f8: SUB
000012f9: DUP2
000012fa: AND
000012fb: PUSH1 0x01
000012fd: PUSH1 0x01
000012ff: PUSH1 0x80
00001301: SHL
00001302: SUB
00001303: DUP5
00001304: AND
00001305: GT
00001306: PUSH2 0x14e1
00001309: JUMPI
0000130a: POP
0000130b: SWAP1
0000130c: DUP11
0000130d: SWAP2
0000130e: DUP5
0000130f: DUP4
00001310: MSTORE
00001311: PUSH1 0x0b
00001313: DUP1
00001314: PUSH1 0x20
00001316: MSTORE
00001317: PUSH2 0x1360
0000131a: PUSH1 0x02
0000131c: PUSH2 0x038a
0000131f: PUSH2 0x1331
00001322: DUP7
00001323: DUP4
00001324: PUSH1 0x40
00001326: DUP11
00001327: KECCAK256
00001328: ADD
00001329: SLOAD
0000132a: PUSH1 0x80
0000132c: SHR
0000132d: PUSH2 0x4120
00001330: JUMP
00001331: JUMPDEST
00001332: SWAP2
00001333: DUP10
00001334: DUP9
00001335: MSTORE
00001336: DUP5
00001337: PUSH1 0x20
00001339: MSTORE
0000133a: PUSH1 0x40
0000133c: DUP9
0000133d: KECCAK256
0000133e: ADD
0000133f: SWAP2
00001340: DUP3
00001341: SWAP1
00001342: PUSH1 0x01
00001344: PUSH1 0x01
00001346: PUSH1 0x80
00001348: SHL
00001349: SUB
0000134a: PUSH1 0x01
0000134c: PUSH1 0x01
0000134e: PUSH1 0x80
00001350: SHL
00001351: SUB
00001352: NOT
00001353: DUP4
00001354: SLOAD
00001355: SWAP3
00001356: PUSH1 0x80
00001358: SHL
00001359: AND
0000135a: SWAP2
0000135b: AND
0000135c: OR
0000135d: SWAP1
0000135e: SSTORE
0000135f: JUMP
00001360: JUMPDEST
00001361: PUSH1 0x01
00001363: PUSH1 0x01
00001365: PUSH1 0x80
00001367: SHL
00001368: SUB
00001369: PUSH2 0x1384
0000136c: DUP2
0000136d: PUSH1 0x20
0000136f: DUP5
00001370: ADD
00001371: MLOAD
00001372: AND
00001373: SWAP3
00001374: DUP3
00001375: PUSH1 0x40
00001377: DUP2
00001378: DUP4
00001379: MLOAD
0000137a: AND
0000137b: SWAP3
0000137c: ADD
0000137d: MLOAD
0000137e: AND
0000137f: SWAP1
00001380: PUSH2 0x309a
00001383: JUMP
00001384: JUMPDEST
00001385: AND
00001386: GT
00001387: ISZERO
00001388: PUSH2 0x14b1
0000138b: JUMPI
0000138c: JUMPDEST
0000138d: DUP6
0000138e: DUP5
0000138f: MSTORE
00001390: PUSH1 0x20
00001392: MSTORE
00001393: PUSH1 0x01
00001395: PUSH1 0x01
00001397: PUSH1 0xa0
00001399: SHL
0000139a: SUB
0000139b: PUSH1 0x01
0000139d: PUSH1 0x40
0000139f: DUP6
000013a0: KECCAK256
000013a1: ADD
000013a2: SLOAD
000013a3: AND
000013a4: PUSH2 0x13b7
000013a7: PUSH1 0x01
000013a9: PUSH1 0x01
000013ab: PUSH1 0x80
000013ad: SHL
000013ae: SUB
000013af: DUP5
000013b0: AND
000013b1: DUP11
000013b2: DUP4
000013b3: PUSH2 0x4090
000013b6: JUMP
000013b7: JUMPDEST
000013b8: PUSH1 0x40
000013ba: MLOAD
000013bb: PUSH1 0x01
000013bd: PUSH1 0x01
000013bf: PUSH1 0x80
000013c1: SHL
000013c2: SUB
000013c3: DUP5
000013c4: AND
000013c5: DUP2
000013c6: MSTORE
000013c7: DUP7
000013c8: PUSH32 0x40b88e5c41c5a97ffb7b6ef88a0a2d505aa0c634cf8a0275cb236ea7dd87ed4d
000013e9: PUSH1 0x20
000013eb: PUSH1 0x01
000013ed: PUSH1 0x01
000013ef: PUSH1 0xa0
000013f1: SHL
000013f2: SUB
000013f3: DUP14
000013f4: AND
000013f5: SWAP4
000013f6: LOG4
000013f7: DUP1
000013f8: CALLER
000013f9: EQ
000013fa: ISZERO
000013fb: DUP1
000013fc: PUSH2 0x14a7
000013ff: JUMPI
00001400: JUMPDEST
00001401: PUSH2 0x143b
00001404: JUMPI
00001405: JUMPDEST
00001406: POP
00001407: POP
00001408: POP
00001409: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
0000142a: PUSH1 0x20
0000142c: PUSH1 0x01
0000142e: SWAP4
0000142f: PUSH1 0x40
00001431: MLOAD
00001432: SWAP1
00001433: DUP2
00001434: MSTORE
00001435: LOG1
00001436: ADD
00001437: PUSH2 0x123d
0000143a: JUMP
0000143b: JUMPDEST
0000143c: DUP1
0000143d: EXTCODESIZE
0000143e: ISZERO
0000143f: PUSH2 0x0488
00001442: JUMPI
00001443: PUSH1 0x01
00001445: PUSH1 0x01
00001447: PUSH1 0xa0
00001449: SHL
0000144a: SUB
0000144b: PUSH1 0x84
0000144d: DUP10
0000144e: DUP6
0000144f: DUP1
00001450: SWAP5
00001451: PUSH1 0x01
00001453: PUSH1 0x01
00001455: PUSH1 0x80
00001457: SHL
00001458: SUB
00001459: PUSH1 0x40
0000145b: MLOAD
0000145c: SWAP8
0000145d: DUP9
0000145e: SWAP7
0000145f: DUP8
00001460: SWAP6
00001461: PUSH4 0x13375c3b
00001466: PUSH1 0xe0
00001468: SHL
00001469: DUP8
0000146a: MSTORE
0000146b: DUP14
0000146c: PUSH1 0x04
0000146e: DUP9
0000146f: ADD
00001470: MSTORE
00001471: CALLER
00001472: PUSH1 0x24
00001474: DUP9
00001475: ADD
00001476: MSTORE
00001477: AND
00001478: PUSH1 0x44
0000147a: DUP7
0000147b: ADD
0000147c: MSTORE
0000147d: AND
0000147e: PUSH1 0x64
00001480: DUP5
00001481: ADD
00001482: MSTORE
00001483: GAS
00001484: CALL
00001485: PUSH2 0x148f
00001488: JUMPI
00001489: JUMPDEST
0000148a: DUP1
0000148b: PUSH2 0x1405
0000148e: JUMP
0000148f: JUMPDEST
00001490: PUSH2 0x1498
00001493: SWAP1
00001494: PUSH2 0x2f83
00001497: JUMP
00001498: JUMPDEST
00001499: PUSH2 0x14a3
0000149c: JUMPI
0000149d: DUP9
0000149e: CODESIZE
0000149f: PUSH2 0x1489
000014a2: JUMP
000014a3: JUMPDEST
000014a4: DUP9
000014a5: DUP1
000014a6: REVERT
000014a7: JUMPDEST
000014a8: POP
000014a9: DUP1
000014aa: EXTCODESIZE
000014ab: ISZERO
000014ac: ISZERO
000014ad: PUSH2 0x1400
000014b0: JUMP
000014b1: JUMPDEST
000014b2: DUP6
000014b3: DUP5
000014b4: MSTORE
000014b5: DUP1
000014b6: PUSH1 0x20
000014b8: MSTORE
000014b9: PUSH1 0x40
000014bb: DUP5
000014bc: KECCAK256
000014bd: PUSH1 0x01
000014bf: DUP2
000014c0: ADD
000014c1: PUSH1 0x01
000014c3: PUSH1 0xc8
000014c5: SHL
000014c6: PUSH1 0xff
000014c8: PUSH1 0xc8
000014ca: SHL
000014cb: NOT
000014cc: DUP3
000014cd: SLOAD
000014ce: AND
000014cf: OR
000014d0: SWAP1
000014d1: SSTORE
000014d2: PUSH1 0xff
000014d4: PUSH1 0xf0
000014d6: SHL
000014d7: NOT
000014d8: DUP2
000014d9: SLOAD
000014da: AND
000014db: SWAP1
000014dc: SSTORE
000014dd: PUSH2 0x138c
000014e0: JUMP
000014e1: JUMPDEST
000014e2: PUSH1 0x40
000014e4: MLOAD
000014e5: PUSH4 0x287ecaef
000014ea: PUSH1 0xe2
000014ec: SHL
000014ed: DUP2
000014ee: MSTORE
000014ef: PUSH1 0x04
000014f1: DUP2
000014f2: ADD
000014f3: DUP7
000014f4: SWAP1
000014f5: MSTORE
000014f6: PUSH1 0x01
000014f8: PUSH1 0x01
000014fa: PUSH1 0x80
000014fc: SHL
000014fd: SUB
000014fe: DUP5
000014ff: DUP2
00001500: AND
00001501: PUSH1 0x24
00001503: DUP4
00001504: ADD
00001505: MSTORE
00001506: SWAP2
00001507: SWAP1
00001508: SWAP2
00001509: AND
0000150a: PUSH1 0x44
0000150c: DUP3
0000150d: ADD
0000150e: MSTORE
0000150f: PUSH1 0x64
00001511: SWAP1
00001512: REVERT
00001513: JUMPDEST
00001514: PUSH1 0x24
00001516: DUP5
00001517: PUSH1 0x40
00001519: MLOAD
0000151a: SWAP1
0000151b: PUSH4 0xd2aabcd9
00001520: PUSH1 0xe0
00001522: SHL
00001523: DUP3
00001524: MSTORE
00001525: PUSH1 0x04
00001527: DUP3
00001528: ADD
00001529: MSTORE
0000152a: REVERT
0000152b: JUMPDEST
0000152c: PUSH1 0x64
0000152e: DUP5
0000152f: PUSH1 0x01
00001531: PUSH1 0x01
00001533: PUSH1 0xa0
00001535: SHL
00001536: SUB
00001537: DUP10
00001538: PUSH1 0x40
0000153a: MLOAD
0000153b: SWAP3
0000153c: PUSH4 0x2dcbf6b9
00001541: PUSH1 0xe1
00001543: SHL
00001544: DUP5
00001545: MSTORE
00001546: PUSH1 0x04
00001548: DUP5
00001549: ADD
0000154a: MSTORE
0000154b: CALLER
0000154c: PUSH1 0x24
0000154e: DUP5
0000154f: ADD
00001550: MSTORE
00001551: AND
00001552: PUSH1 0x44
00001554: DUP3
00001555: ADD
00001556: MSTORE
00001557: REVERT
00001558: JUMPDEST
00001559: POP
0000155a: DUP1
0000155b: PUSH1 0x01
0000155d: PUSH1 0x01
0000155f: PUSH1 0xa0
00001561: SHL
00001562: SUB
00001563: DUP9
00001564: AND
00001565: EQ
00001566: ISZERO
00001567: PUSH2 0x12cf
0000156a: JUMP
0000156b: JUMPDEST
0000156c: POP
0000156d: PUSH2 0x1575
00001570: DUP5
00001571: PUSH2 0x376b
00001574: JUMP
00001575: JUMPDEST
00001576: ISZERO
00001577: PUSH2 0x12ae
0000157a: JUMP
0000157b: JUMPDEST
0000157c: DUP4
0000157d: PUSH1 0x44
0000157f: SWAP2
00001580: PUSH1 0x40
00001582: MLOAD
00001583: SWAP2
00001584: PUSH32 0xaec9344000000000000000000000000000000000000000000000000000000000
000015a5: DUP4
000015a6: MSTORE
000015a7: PUSH1 0x04
000015a9: DUP4
000015aa: ADD
000015ab: MSTORE
000015ac: PUSH1 0x24
000015ae: DUP3
000015af: ADD
000015b0: MSTORE
000015b1: REVERT
000015b2: JUMPDEST
000015b3: POP
000015b4: CALLVALUE
000015b5: PUSH2 0x05b9
000015b8: JUMPI
000015b9: PUSH1 0x40
000015bb: CALLDATASIZE
000015bc: PUSH1 0x03
000015be: NOT
000015bf: ADD
000015c0: SLT
000015c1: PUSH2 0x05b9
000015c4: JUMPI
000015c5: PUSH2 0x15cc
000015c8: PUSH2 0x2ef1
000015cb: JUMP
000015cc: JUMPDEST
000015cd: PUSH1 0x24
000015cf: CALLDATALOAD
000015d0: SWAP1
000015d1: DUP2
000015d2: ISZERO
000015d3: ISZERO
000015d4: DUP1
000015d5: SWAP3
000015d6: SUB
000015d7: PUSH2 0x1071
000015da: JUMPI
000015db: PUSH1 0x01
000015dd: PUSH1 0x01
000015df: PUSH1 0xa0
000015e1: SHL
000015e2: SUB
000015e3: AND
000015e4: SWAP1
000015e5: DUP2
000015e6: CALLER
000015e7: EQ
000015e8: PUSH2 0x163f
000015eb: JUMPI
000015ec: CALLER
000015ed: DUP4
000015ee: MSTORE
000015ef: PUSH1 0x08
000015f1: PUSH1 0x20
000015f3: MSTORE
000015f4: PUSH1 0x40
000015f6: DUP4
000015f7: KECCAK256
000015f8: DUP3
000015f9: PUSH1 0x00
000015fb: MSTORE
000015fc: PUSH1 0x20
000015fe: MSTORE
000015ff: PUSH1 0x40
00001601: PUSH1 0x00
00001603: KECCAK256
00001604: PUSH1 0xff
00001606: NOT
00001607: DUP2
00001608: SLOAD
00001609: AND
0000160a: PUSH1 0xff
0000160c: DUP4
0000160d: AND
0000160e: OR
0000160f: SWAP1
00001610: SSTORE
00001611: PUSH1 0x40
00001613: MLOAD
00001614: SWAP1
00001615: DUP2
00001616: MSTORE
00001617: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31
00001638: PUSH1 0x20
0000163a: CALLER
0000163b: SWAP3
0000163c: LOG3
0000163d: DUP1
0000163e: RETURN
0000163f: JUMPDEST
00001640: PUSH1 0x64
00001642: PUSH1 0x40
00001644: MLOAD
00001645: PUSH3 0x461bcd
00001649: PUSH1 0xe5
0000164b: SHL
0000164c: DUP2
0000164d: MSTORE
0000164e: PUSH1 0x20
00001650: PUSH1 0x04
00001652: DUP3
00001653: ADD
00001654: MSTORE
00001655: PUSH1 0x19
00001657: PUSH1 0x24
00001659: DUP3
0000165a: ADD
0000165b: MSTORE
0000165c: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000
0000167d: PUSH1 0x44
0000167f: DUP3
00001680: ADD
00001681: MSTORE
00001682: REVERT
00001683: JUMPDEST
00001684: POP
00001685: CALLVALUE
00001686: PUSH2 0x05b9
00001689: JUMPI
0000168a: PUSH2 0x0160
0000168d: CALLDATASIZE
0000168e: PUSH1 0x03
00001690: NOT
00001691: ADD
00001692: SLT
00001693: PUSH2 0x05b9
00001696: JUMPI
00001697: PUSH2 0x169e
0000169a: PUSH2 0x370f
0000169d: JUMP
0000169e: JUMPDEST
0000169f: PUSH1 0x40
000016a1: MLOAD
000016a2: SWAP1
000016a3: PUSH2 0x16ab
000016a6: DUP3
000016a7: PUSH2 0x2fb4
000016aa: JUMP
000016ab: JUMPDEST
000016ac: PUSH2 0x16b3
000016af: PUSH2 0x2ef1
000016b2: JUMP
000016b3: JUMPDEST
000016b4: DUP3
000016b5: MSTORE
000016b6: PUSH2 0x16bd
000016b9: PUSH2 0x2f07
000016bc: JUMP
000016bd: JUMPDEST
000016be: PUSH1 0x20
000016c0: DUP4
000016c1: ADD
000016c2: MSTORE
000016c3: PUSH2 0x16ca
000016c6: PUSH2 0x3047
000016c9: JUMP
000016ca: JUMPDEST
000016cb: PUSH1 0x40
000016cd: DUP4
000016ce: ADD
000016cf: MSTORE
000016d0: PUSH1 0x01
000016d2: PUSH1 0x01
000016d4: PUSH1 0xa0
000016d6: SHL
000016d7: SUB
000016d8: SWAP1
000016d9: PUSH1 0x64
000016db: CALLDATALOAD
000016dc: DUP3
000016dd: DUP2
000016de: AND
000016df: DUP2
000016e0: SUB
000016e1: PUSH2 0x1071
000016e4: JUMPI
000016e5: PUSH1 0x60
000016e7: DUP5
000016e8: ADD
000016e9: MSTORE
000016ea: PUSH1 0x84
000016ec: CALLDATALOAD
000016ed: DUP1
000016ee: ISZERO
000016ef: ISZERO
000016f0: DUP2
000016f1: SUB
000016f2: PUSH2 0x1071
000016f5: JUMPI
000016f6: PUSH1 0x80
000016f8: DUP5
000016f9: ADD
000016fa: MSTORE
000016fb: PUSH1 0xa4
000016fd: CALLDATALOAD
000016fe: DUP1
000016ff: ISZERO
00001700: ISZERO
00001701: DUP2
00001702: SUB
00001703: PUSH2 0x1071
00001706: JUMPI
00001707: PUSH1 0xa0
00001709: DUP5
0000170a: ADD
0000170b: MSTORE
0000170c: PUSH1 0x60
0000170e: CALLDATASIZE
0000170f: PUSH1 0xc3
00001711: NOT
00001712: ADD
00001713: SLT
00001714: PUSH2 0x05b9
00001717: JUMPI
00001718: POP
00001719: PUSH1 0x40
0000171b: MLOAD
0000171c: PUSH2 0x1724
0000171f: DUP2
00001720: PUSH2 0x2fd1
00001723: JUMP
00001724: JUMPDEST
00001725: PUSH5 0xffffffffff
0000172b: PUSH1 0xc4
0000172d: CALLDATALOAD
0000172e: DUP2
0000172f: DUP2
00001730: AND
00001731: DUP2
00001732: SUB
00001733: PUSH2 0x1071
00001736: JUMPI
00001737: DUP3
00001738: MSTORE
00001739: PUSH1 0xe4
0000173b: CALLDATALOAD
0000173c: DUP2
0000173d: DUP2
0000173e: AND
0000173f: DUP2
00001740: SUB
00001741: PUSH2 0x1071
00001744: JUMPI
00001745: PUSH1 0x20
00001747: DUP4
00001748: ADD
00001749: MSTORE
0000174a: PUSH2 0x0104
0000174d: CALLDATALOAD
0000174e: SWAP1
0000174f: DUP2
00001750: AND
00001751: DUP2
00001752: SUB
00001753: PUSH2 0x1071
00001756: JUMPI
00001757: PUSH1 0x40
00001759: DUP3
0000175a: ADD
0000175b: MSTORE
0000175c: PUSH1 0xc0
0000175e: DUP4
0000175f: ADD
00001760: MSTORE
00001761: PUSH1 0x40
00001763: PUSH2 0x0123
00001766: NOT
00001767: CALLDATASIZE
00001768: ADD
00001769: SLT
0000176a: PUSH2 0x1071
0000176d: JUMPI
0000176e: PUSH1 0x40
00001770: MLOAD
00001771: SWAP2
00001772: PUSH2 0x177a
00001775: DUP4
00001776: PUSH2 0x2fed
00001779: JUMP
0000177a: JUMPDEST
0000177b: PUSH2 0x0124
0000177e: CALLDATALOAD
0000177f: SWAP2
00001780: DUP3
00001781: AND
00001782: DUP3
00001783: SUB
00001784: PUSH2 0x1071
00001787: JUMPI
00001788: DUP3
00001789: PUSH2 0x1069
0000178c: SWAP3
0000178d: PUSH1 0x20
0000178f: SWAP5
00001790: MSTORE
00001791: PUSH2 0x0144
00001794: CALLDATALOAD
00001795: DUP5
00001796: DUP3
00001797: ADD
00001798: MSTORE
00001799: PUSH1 0xe0
0000179b: DUP3
0000179c: ADD
0000179d: MSTORE
0000179e: PUSH2 0x384f
000017a1: JUMP
000017a2: JUMPDEST
000017a3: POP
000017a4: CALLVALUE
000017a5: PUSH2 0x05b9
000017a8: JUMPI
000017a9: DUP1
000017aa: PUSH1 0x03
000017ac: NOT
000017ad: CALLDATASIZE
000017ae: ADD
000017af: SLT
000017b0: PUSH2 0x05b9
000017b3: JUMPI
000017b4: PUSH1 0x40
000017b6: MLOAD
000017b7: SWAP1
000017b8: DUP1
000017b9: PUSH1 0x04
000017bb: SLOAD
000017bc: SWAP2
000017bd: PUSH1 0x01
000017bf: DUP4
000017c0: PUSH1 0x01
000017c2: SHR
000017c3: SWAP3
000017c4: PUSH1 0x01
000017c6: DUP6
000017c7: AND
000017c8: SWAP5
000017c9: DUP6
000017ca: ISZERO
000017cb: PUSH2 0x18a7
000017ce: JUMPI
000017cf: JUMPDEST
000017d0: PUSH1 0x20
000017d2: SWAP6
000017d3: DUP7
000017d4: DUP7
000017d5: LT
000017d6: DUP2
000017d7: EQ
000017d8: PUSH2 0x1893
000017db: JUMPI
000017dc: DUP6
000017dd: DUP9
000017de: MSTORE
000017df: DUP8
000017e0: SWAP5
000017e1: SWAP4
000017e2: SWAP3
000017e3: SWAP2
000017e4: DUP8
000017e5: SWAP1
000017e6: DUP3
000017e7: ISZERO
000017e8: PUSH2 0x1871
000017eb: JUMPI
000017ec: POP
000017ed: POP
000017ee: PUSH1 0x01
000017f0: EQ
000017f1: PUSH2 0x1817
000017f4: JUMPI
000017f5: JUMPDEST
000017f6: POP
000017f7: POP
000017f8: PUSH2 0x1803
000017fb: SWAP3
000017fc: POP
000017fd: SUB
000017fe: DUP4
000017ff: PUSH2 0x3009
00001802: JUMP
00001803: JUMPDEST
00001804: PUSH2 0x0930
00001807: PUSH1 0x40
00001809: MLOAD
0000180a: SWAP3
0000180b: DUP3
0000180c: DUP5
0000180d: SWAP4
0000180e: DUP5
0000180f: MSTORE
00001810: DUP4
00001811: ADD
00001812: SWAP1
00001813: PUSH2 0x2ecc
00001816: JUMP
00001817: JUMPDEST
00001818: SWAP1
00001819: DUP6
0000181a: SWAP3
0000181b: POP
0000181c: PUSH1 0x04
0000181e: DUP3
0000181f: MSTORE
00001820: PUSH32 0x8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b
00001841: JUMPDEST
00001842: DUP6
00001843: DUP4
00001844: LT
00001845: PUSH2 0x1859
00001848: JUMPI
00001849: POP
0000184a: POP
0000184b: PUSH2 0x1803
0000184e: SWAP4
0000184f: POP
00001850: DUP3
00001851: ADD
00001852: ADD
00001853: CODESIZE
00001854: DUP1
00001855: PUSH2 0x17f5
00001858: JUMP
00001859: JUMPDEST
0000185a: DUP1
0000185b: SLOAD
0000185c: DUP4
0000185d: DUP10
0000185e: ADD
0000185f: DUP6
00001860: ADD
00001861: MSTORE
00001862: DUP8
00001863: SWAP5
00001864: POP
00001865: DUP7
00001866: SWAP4
00001867: SWAP1
00001868: SWAP3
00001869: ADD
0000186a: SWAP2
0000186b: DUP2
0000186c: ADD
0000186d: PUSH2 0x1841
00001870: JUMP
00001871: JUMPDEST
00001872: SWAP3
00001873: POP
00001874: SWAP4
00001875: POP
00001876: POP
00001877: PUSH2 0x1803
0000187a: SWAP5
0000187b: SWAP2
0000187c: POP
0000187d: PUSH1 0xff
0000187f: NOT
00001880: AND
00001881: DUP3
00001882: DUP5
00001883: ADD
00001884: MSTORE
00001885: ISZERO
00001886: ISZERO
00001887: PUSH1 0x05
00001889: SHL
0000188a: DUP3
0000188b: ADD
0000188c: ADD
0000188d: CODESIZE
0000188e: DUP1
0000188f: PUSH2 0x17f5
00001892: JUMP
00001893: JUMPDEST
00001894: PUSH1 0x24
00001896: DUP4
00001897: PUSH4 0x4e487b71
0000189c: PUSH1 0xe0
0000189e: SHL
0000189f: DUP2
000018a0: MSTORE
000018a1: PUSH1 0x22
000018a3: PUSH1 0x04
000018a5: MSTORE
000018a6: REVERT
000018a7: JUMPDEST
000018a8: SWAP4
000018a9: PUSH1 0x7f
000018ab: AND
000018ac: SWAP4
000018ad: PUSH2 0x17cf
000018b0: JUMP
000018b1: JUMPDEST
000018b2: POP
000018b3: CALLVALUE
000018b4: PUSH2 0x05b9
000018b7: JUMPI
000018b8: PUSH1 0x20
000018ba: CALLDATASIZE
000018bb: PUSH1 0x03
000018bd: NOT
000018be: ADD
000018bf: SLT
000018c0: PUSH2 0x05b9
000018c3: JUMPI
000018c4: PUSH1 0x04
000018c6: CALLDATALOAD
000018c7: DUP1
000018c8: DUP3
000018c9: MSTORE
000018ca: PUSH1 0x0b
000018cc: PUSH1 0x20
000018ce: MSTORE
000018cf: PUSH1 0xff
000018d1: PUSH1 0x01
000018d3: PUSH1 0x40
000018d5: DUP5
000018d6: KECCAK256
000018d7: ADD
000018d8: SLOAD
000018d9: PUSH1 0xd0
000018db: SHR
000018dc: AND
000018dd: ISZERO
000018de: PUSH2 0x065d
000018e1: JUMPI
000018e2: PUSH1 0x01
000018e4: PUSH1 0x40
000018e6: DUP4
000018e7: PUSH5 0xffffffffff
000018ed: SWAP4
000018ee: PUSH1 0x20
000018f0: SWAP6
000018f1: MSTORE
000018f2: PUSH1 0x0b
000018f4: DUP6
000018f5: MSTORE
000018f6: KECCAK256
000018f7: ADD
000018f8: SLOAD
000018f9: PUSH1 0xa0
000018fb: SHR
000018fc: AND
000018fd: PUSH1 0x40
000018ff: MLOAD
00001900: SWAP1
00001901: DUP2
00001902: MSTORE
00001903: RETURN
00001904: JUMPDEST
00001905: POP
00001906: CALLVALUE
00001907: PUSH2 0x05b9
0000190a: JUMPI
0000190b: PUSH1 0x20
0000190d: CALLDATASIZE
0000190e: PUSH1 0x03
00001910: NOT
00001911: ADD
00001912: SLT
00001913: PUSH2 0x05b9
00001916: JUMPI
00001917: PUSH1 0x04
00001919: CALLDATALOAD
0000191a: DUP1
0000191b: DUP3
0000191c: MSTORE
0000191d: PUSH1 0x0b
0000191f: PUSH1 0x20
00001921: MSTORE
00001922: PUSH1 0xff
00001924: PUSH1 0x01
00001926: PUSH1 0x40
00001928: DUP5
00001929: KECCAK256
0000192a: ADD
0000192b: SLOAD
0000192c: PUSH1 0xd0
0000192e: SHR
0000192f: AND
00001930: ISZERO
00001931: PUSH2 0x065d
00001934: JUMPI
00001935: PUSH2 0x193d
00001938: SWAP1
00001939: PUSH2 0x340e
0000193c: JUMP
0000193d: JUMPDEST
0000193e: SWAP1
0000193f: PUSH1 0x05
00001941: DUP3
00001942: LT
00001943: ISZERO
00001944: SWAP1
00001945: DUP2
00001946: PUSH2 0x197e
00001949: JUMPI
0000194a: PUSH1 0x02
0000194c: DUP4
0000194d: EQ
0000194e: SWAP2
0000194f: DUP3
00001950: ISZERO
00001951: PUSH2 0x1992
00001954: JUMPI
00001955: JUMPDEST
00001956: DUP3
00001957: ISZERO
00001958: PUSH2 0x1969
0000195b: JUMPI
0000195c: JUMPDEST
0000195d: PUSH1 0x20
0000195f: DUP4
00001960: PUSH1 0x40
00001962: MLOAD
00001963: SWAP1
00001964: ISZERO
00001965: ISZERO
00001966: DUP2
00001967: MSTORE
00001968: RETURN
00001969: JUMPDEST
0000196a: SWAP1
0000196b: SWAP2
0000196c: POP
0000196d: PUSH2 0x197e
00001970: JUMPI
00001971: POP
00001972: PUSH1 0x04
00001974: PUSH1 0x20
00001976: SWAP2
00001977: EQ
00001978: CODESIZE
00001979: DUP1
0000197a: PUSH2 0x195c
0000197d: JUMP
0000197e: JUMPDEST
0000197f: DUP1
00001980: PUSH4 0x4e487b71
00001985: PUSH1 0xe0
00001987: SHL
00001988: PUSH1 0x24
0000198a: SWAP3
0000198b: MSTORE
0000198c: PUSH1 0x21
0000198e: PUSH1 0x04
00001990: MSTORE
00001991: REVERT
00001992: JUMPDEST
00001993: POP
00001994: PUSH1 0x03
00001996: DUP4
00001997: EQ
00001998: SWAP2
00001999: POP
0000199a: PUSH1 0x00
0000199c: PUSH2 0x1955
0000199f: JUMP
000019a0: JUMPDEST
000019a1: POP
000019a2: CALLVALUE
000019a3: PUSH2 0x05b9
000019a6: JUMPI
000019a7: PUSH1 0x20
000019a9: CALLDATASIZE
000019aa: PUSH1 0x03
000019ac: NOT
000019ad: ADD
000019ae: SLT
000019af: PUSH2 0x05b9
000019b2: JUMPI
000019b3: PUSH1 0x04
000019b5: CALLDATALOAD
000019b6: PUSH1 0x01
000019b8: PUSH1 0x01
000019ba: PUSH1 0xa0
000019bc: SHL
000019bd: SUB
000019be: SWAP1
000019bf: DUP2
000019c0: DUP2
000019c1: AND
000019c2: DUP1
000019c3: SWAP2
000019c4: SUB
000019c5: PUSH2 0x0488
000019c8: JUMPI
000019c9: DUP2
000019ca: DUP4
000019cb: SLOAD
000019cc: AND
000019cd: CALLER
000019ce: DUP2
000019cf: SUB
000019d0: PUSH2 0x119c
000019d3: JUMPI
000019d4: POP
000019d5: PUSH1 0x01
000019d7: SLOAD
000019d8: SWAP2
000019d9: DUP2
000019da: PUSH1 0x01
000019dc: PUSH1 0x01
000019de: PUSH1 0xa0
000019e0: SHL
000019e1: SUB
000019e2: NOT
000019e3: DUP5
000019e4: AND
000019e5: OR
000019e6: PUSH1 0x01
000019e8: SSTORE
000019e9: PUSH1 0x40
000019eb: MLOAD
000019ec: SWAP3
000019ed: AND
000019ee: DUP3
000019ef: MSTORE
000019f0: PUSH1 0x20
000019f2: DUP3
000019f3: ADD
000019f4: MSTORE
000019f5: PUSH32 0xdcb09aef4bf01068924ccce937981cbe59d25ba08380cf941aaaea4e4bd3960d
00001a16: PUSH1 0x40
00001a18: CALLER
00001a19: SWAP3
00001a1a: LOG2
00001a1b: DUP1
00001a1c: RETURN
00001a1d: JUMPDEST
00001a1e: POP
00001a1f: CALLVALUE
00001a20: PUSH2 0x05b9
00001a23: JUMPI
00001a24: PUSH1 0x20
00001a26: CALLDATASIZE
00001a27: PUSH1 0x03
00001a29: NOT
00001a2a: ADD
00001a2b: SLT
00001a2c: PUSH2 0x05b9
00001a2f: JUMPI
00001a30: PUSH1 0x40
00001a32: MLOAD
00001a33: PUSH2 0x1a3b
00001a36: DUP2
00001a37: PUSH2 0x2f97
00001a3a: JUMP
00001a3b: JUMPDEST
00001a3c: DUP2
00001a3d: DUP2
00001a3e: MSTORE
00001a3f: DUP2
00001a40: PUSH1 0x20
00001a42: DUP3
00001a43: ADD
00001a44: MSTORE
00001a45: DUP2
00001a46: PUSH1 0x40
00001a48: DUP3
00001a49: ADD
00001a4a: MSTORE
00001a4b: DUP2
00001a4c: PUSH1 0x60
00001a4e: DUP3
00001a4f: ADD
00001a50: MSTORE
00001a51: DUP2
00001a52: PUSH1 0x80
00001a54: DUP3
00001a55: ADD
00001a56: MSTORE
00001a57: DUP2
00001a58: PUSH1 0xa0
00001a5a: DUP3
00001a5b: ADD
00001a5c: MSTORE
00001a5d: DUP2
00001a5e: PUSH1 0xc0
00001a60: DUP3
00001a61: ADD
00001a62: MSTORE
00001a63: DUP2
00001a64: PUSH1 0xe0
00001a66: DUP3
00001a67: ADD
00001a68: MSTORE
00001a69: DUP2
00001a6a: PUSH2 0x0100
00001a6d: DUP3
00001a6e: ADD
00001a6f: MSTORE
00001a70: DUP2
00001a71: PUSH2 0x0120
00001a74: DUP3
00001a75: ADD
00001a76: MSTORE
00001a77: PUSH2 0x0140
00001a7a: PUSH2 0x1a81
00001a7d: PUSH2 0x3207
00001a80: JUMP
00001a81: JUMPDEST
00001a82: SWAP2
00001a83: ADD
00001a84: MSTORE
00001a85: PUSH1 0x04
00001a87: CALLDATALOAD
00001a88: DUP2
00001a89: MSTORE
00001a8a: PUSH1 0x0b
00001a8c: PUSH1 0x20
00001a8e: MSTORE
00001a8f: PUSH1 0xff
00001a91: PUSH1 0x01
00001a93: PUSH1 0x40
00001a95: DUP4
00001a96: KECCAK256
00001a97: ADD
00001a98: SLOAD
00001a99: PUSH1 0xd0
00001a9b: SHR
00001a9c: AND
00001a9d: ISZERO
00001a9e: PUSH2 0x1c59
00001aa1: JUMPI
00001aa2: PUSH1 0x04
00001aa4: CALLDATALOAD
00001aa5: DUP2
00001aa6: MSTORE
00001aa7: PUSH1 0x0b
00001aa9: PUSH1 0x20
00001aab: MSTORE
00001aac: PUSH1 0x40
00001aae: DUP2
00001aaf: KECCAK256
00001ab0: PUSH2 0x1b5a
00001ab3: PUSH1 0x02
00001ab5: PUSH1 0x40
00001ab7: MLOAD
00001ab8: SWAP3
00001ab9: PUSH2 0x1ac1
00001abc: DUP5
00001abd: PUSH2 0x2f97
00001ac0: JUMP
00001ac1: JUMPDEST
00001ac2: DUP1
00001ac3: SLOAD
00001ac4: PUSH1 0x01
00001ac6: PUSH1 0x01
00001ac8: PUSH1 0xa0
00001aca: SHL
00001acb: SUB
00001acc: DUP2
00001acd: AND
00001ace: DUP6
00001acf: MSTORE
00001ad0: PUSH5 0xffffffffff
00001ad6: DUP2
00001ad7: PUSH1 0xa0
00001ad9: SHR
00001ada: AND
00001adb: PUSH1 0x20
00001add: DUP7
00001ade: ADD
00001adf: MSTORE
00001ae0: PUSH5 0xffffffffff
00001ae6: DUP2
00001ae7: PUSH1 0xc8
00001ae9: SHR
00001aea: AND
00001aeb: PUSH1 0x40
00001aed: DUP7
00001aee: ADD
00001aef: MSTORE
00001af0: PUSH1 0xff
00001af2: DUP2
00001af3: PUSH1 0xf0
00001af5: SHR
00001af6: AND
00001af7: ISZERO
00001af8: ISZERO
00001af9: PUSH1 0x60
00001afb: DUP7
00001afc: ADD
00001afd: MSTORE
00001afe: PUSH1 0xf8
00001b00: SHR
00001b01: ISZERO
00001b02: ISZERO
00001b03: PUSH1 0x80
00001b05: DUP6
00001b06: ADD
00001b07: MSTORE
00001b08: PUSH1 0xff
00001b0a: PUSH1 0x01
00001b0c: DUP3
00001b0d: ADD
00001b0e: SLOAD
00001b0f: PUSH1 0x01
00001b11: PUSH1 0x01
00001b13: PUSH1 0xa0
00001b15: SHL
00001b16: SUB
00001b17: DUP2
00001b18: AND
00001b19: PUSH1 0xa0
00001b1b: DUP8
00001b1c: ADD
00001b1d: MSTORE
00001b1e: PUSH5 0xffffffffff
00001b24: DUP2
00001b25: PUSH1 0xa0
00001b27: SHR
00001b28: AND
00001b29: PUSH1 0xc0
00001b2b: DUP8
00001b2c: ADD
00001b2d: MSTORE
00001b2e: DUP2
00001b2f: DUP2
00001b30: PUSH1 0xc8
00001b32: SHR
00001b33: AND
00001b34: ISZERO
00001b35: ISZERO
00001b36: PUSH1 0xe0
00001b38: DUP8
00001b39: ADD
00001b3a: MSTORE
00001b3b: DUP2
00001b3c: DUP2
00001b3d: PUSH1 0xd0
00001b3f: SHR
00001b40: AND
00001b41: ISZERO
00001b42: ISZERO
00001b43: PUSH2 0x0100
00001b46: DUP8
00001b47: ADD
00001b48: MSTORE
00001b49: PUSH1 0xd8
00001b4b: SHR
00001b4c: AND
00001b4d: ISZERO
00001b4e: ISZERO
00001b4f: PUSH2 0x0120
00001b52: DUP6
00001b53: ADD
00001b54: MSTORE
00001b55: ADD
00001b56: PUSH2 0x3226
00001b59: JUMP
00001b5a: JUMPDEST
00001b5b: PUSH2 0x0140
00001b5e: DUP3
00001b5f: ADD
00001b60: MSTORE
00001b61: PUSH2 0x1b6b
00001b64: PUSH1 0x04
00001b66: CALLDATALOAD
00001b67: PUSH2 0x340e
00001b6a: JUMP
00001b6b: JUMPDEST
00001b6c: PUSH1 0x05
00001b6e: DUP2
00001b6f: LT
00001b70: ISZERO
00001b71: PUSH2 0x0f29
00001b74: JUMPI
00001b75: SWAP2
00001b76: PUSH1 0x02
00001b78: PUSH2 0x01a0
00001b7b: SWAP4
00001b7c: EQ
00001b7d: PUSH2 0x1c4e
00001b80: JUMPI
00001b81: JUMPDEST
00001b82: POP
00001b83: PUSH2 0x0885
00001b86: PUSH2 0x0140
00001b89: PUSH1 0x40
00001b8b: MLOAD
00001b8c: SWAP3
00001b8d: PUSH1 0x01
00001b8f: PUSH1 0x01
00001b91: PUSH1 0xa0
00001b93: SHL
00001b94: SUB
00001b95: DUP2
00001b96: MLOAD
00001b97: AND
00001b98: DUP5
00001b99: MSTORE
00001b9a: PUSH5 0xffffffffff
00001ba0: PUSH1 0x20
00001ba2: DUP3
00001ba3: ADD
00001ba4: MLOAD
00001ba5: AND
00001ba6: PUSH1 0x20
00001ba8: DUP6
00001ba9: ADD
00001baa: MSTORE
00001bab: PUSH5 0xffffffffff
00001bb1: PUSH1 0x40
00001bb3: DUP3
00001bb4: ADD
00001bb5: MLOAD
00001bb6: AND
00001bb7: PUSH1 0x40
00001bb9: DUP6
00001bba: ADD
00001bbb: MSTORE
00001bbc: PUSH1 0x60
00001bbe: DUP2
00001bbf: ADD
00001bc0: MLOAD
00001bc1: ISZERO
00001bc2: ISZERO
00001bc3: PUSH1 0x60
00001bc5: DUP6
00001bc6: ADD
00001bc7: MSTORE
00001bc8: PUSH1 0x80
00001bca: DUP2
00001bcb: ADD
00001bcc: MLOAD
00001bcd: ISZERO
00001bce: ISZERO
00001bcf: PUSH1 0x80
00001bd1: DUP6
00001bd2: ADD
00001bd3: MSTORE
00001bd4: PUSH1 0x01
00001bd6: PUSH1 0x01
00001bd8: PUSH1 0xa0
00001bda: SHL
00001bdb: SUB
00001bdc: PUSH1 0xa0
00001bde: DUP3
00001bdf: ADD
00001be0: MLOAD
00001be1: AND
00001be2: PUSH1 0xa0
00001be4: DUP6
00001be5: ADD
00001be6: MSTORE
00001be7: PUSH5 0xffffffffff
00001bed: PUSH1 0xc0
00001bef: DUP3
00001bf0: ADD
00001bf1: MLOAD
00001bf2: AND
00001bf3: PUSH1 0xc0
00001bf5: DUP6
00001bf6: ADD
00001bf7: MSTORE
00001bf8: PUSH1 0xe0
00001bfa: DUP2
00001bfb: ADD
00001bfc: MLOAD
00001bfd: ISZERO
00001bfe: ISZERO
00001bff: PUSH1 0xe0
00001c01: DUP6
00001c02: ADD
00001c03: MSTORE
00001c04: PUSH2 0x0100
00001c07: DUP2
00001c08: ADD
00001c09: MLOAD
00001c0a: ISZERO
00001c0b: ISZERO
00001c0c: PUSH2 0x0100
00001c0f: DUP6
00001c10: ADD
00001c11: MSTORE
00001c12: PUSH2 0x0120
00001c15: DUP2
00001c16: ADD
00001c17: MLOAD
00001c18: ISZERO
00001c19: ISZERO
00001c1a: PUSH2 0x0120
00001c1d: DUP6
00001c1e: ADD
00001c1f: MSTORE
00001c20: ADD
00001c21: MLOAD
00001c22: PUSH2 0x0140
00001c25: DUP4
00001c26: ADD
00001c27: SWAP1
00001c28: PUSH1 0x40
00001c2a: SWAP1
00001c2b: DUP2
00001c2c: PUSH1 0x01
00001c2e: PUSH1 0x01
00001c30: PUSH1 0x80
00001c32: SHL
00001c33: SUB
00001c34: SWAP2
00001c35: DUP3
00001c36: DUP2
00001c37: MLOAD
00001c38: AND
00001c39: DUP6
00001c3a: MSTORE
00001c3b: DUP3
00001c3c: PUSH1 0x20
00001c3e: DUP3
00001c3f: ADD
00001c40: MLOAD
00001c41: AND
00001c42: PUSH1 0x20
00001c44: DUP7
00001c45: ADD
00001c46: MSTORE
00001c47: ADD
00001c48: MLOAD
00001c49: AND
00001c4a: SWAP2
00001c4b: ADD
00001c4c: MSTORE
00001c4d: JUMP
00001c4e: JUMPDEST
00001c4f: PUSH1 0x60
00001c51: DUP3
00001c52: ADD
00001c53: MSTORE
00001c54: CODESIZE
00001c55: PUSH2 0x1b81
00001c58: JUMP
00001c59: JUMPDEST
00001c5a: PUSH1 0x24
00001c5c: PUSH1 0x40
00001c5e: MLOAD
00001c5f: PUSH3 0xb8e7e7
00001c63: PUSH1 0xe5
00001c65: SHL
00001c66: DUP2
00001c67: MSTORE
00001c68: PUSH1 0x04
00001c6a: CALLDATALOAD
00001c6b: PUSH1 0x04
00001c6d: DUP3
00001c6e: ADD
00001c6f: MSTORE
00001c70: REVERT
00001c71: JUMPDEST
00001c72: POP
00001c73: CALLVALUE
00001c74: PUSH2 0x05b9
00001c77: JUMPI
00001c78: PUSH1 0x20
00001c7a: SWAP1
00001c7b: DUP2
00001c7c: PUSH1 0x03
00001c7e: NOT
00001c7f: CALLDATASIZE
00001c80: ADD
00001c81: SLT
00001c82: PUSH2 0x05b9
00001c85: JUMPI
00001c86: PUSH1 0x04
00001c88: CALLDATALOAD
00001c89: PUSH8 0xffffffffffffffff
00001c92: DUP2
00001c93: GT
00001c94: PUSH2 0x09b1
00001c97: JUMPI
00001c98: PUSH2 0x1ca6
00001c9b: DUP4
00001c9c: SWAP2
00001c9d: CALLDATASIZE
00001c9e: SWAP1
00001c9f: PUSH1 0x04
00001ca1: ADD
00001ca2: PUSH2 0x2f52
00001ca5: JUMP
00001ca6: JUMPDEST
00001ca7: SWAP2
00001ca8: SWAP1
00001ca9: PUSH2 0x1cb0
00001cac: PUSH2 0x370f
00001caf: JUMP
00001cb0: JUMPDEST
00001cb1: DUP4
00001cb2: SWAP3
00001cb3: JUMPDEST
00001cb4: DUP1
00001cb5: DUP5
00001cb6: LT
00001cb7: PUSH2 0x1cbe
00001cba: JUMPI
00001cbb: DUP5
00001cbc: DUP1
00001cbd: RETURN
00001cbe: JUMPDEST
00001cbf: PUSH2 0x1ccd
00001cc2: DUP5
00001cc3: DUP3
00001cc4: DUP5
00001cc5: SWAP8
00001cc6: SWAP6
00001cc7: SWAP7
00001cc8: SWAP8
00001cc9: PUSH2 0x31e1
00001ccc: JUMP
00001ccd: JUMPDEST
00001cce: CALLDATALOAD
00001ccf: SWAP5
00001cd0: PUSH2 0x1cd7
00001cd3: PUSH2 0x370f
00001cd6: JUMP
00001cd7: JUMPDEST
00001cd8: PUSH2 0x1ce0
00001cdb: DUP7
00001cdc: PUSH2 0x313a
00001cdf: JUMP
00001ce0: JUMPDEST
00001ce1: ISZERO
00001ce2: PUSH2 0x1cfd
00001ce5: JUMPI
00001ce6: PUSH1 0x24
00001ce8: DUP7
00001ce9: PUSH1 0x40
00001ceb: MLOAD
00001cec: SWAP1
00001ced: PUSH4 0x4a5541ef
00001cf2: PUSH1 0xe0
00001cf4: SHL
00001cf5: DUP3
00001cf6: MSTORE
00001cf7: PUSH1 0x04
00001cf9: DUP3
00001cfa: ADD
00001cfb: MSTORE
00001cfc: REVERT
00001cfd: JUMPDEST
00001cfe: PUSH2 0x1d06
00001d01: DUP7
00001d02: PUSH2 0x3327
00001d05: JUMP
00001d06: JUMPDEST
00001d07: PUSH2 0x1f7a
00001d0a: JUMPI
00001d0b: PUSH2 0x1d2a
00001d0e: DUP7
00001d0f: PUSH1 0x00
00001d11: MSTORE
00001d12: PUSH1 0x0b
00001d14: PUSH1 0x20
00001d16: MSTORE
00001d17: PUSH1 0x01
00001d19: PUSH1 0x01
00001d1b: PUSH1 0xa0
00001d1d: SHL
00001d1e: SUB
00001d1f: PUSH1 0x40
00001d21: PUSH1 0x00
00001d23: KECCAK256
00001d24: SLOAD
00001d25: AND
00001d26: CALLER
00001d27: EQ
00001d28: SWAP1
00001d29: JUMP
00001d2a: JUMPDEST
00001d2b: ISZERO
00001d2c: PUSH2 0x1f5b
00001d2f: JUMPI
00001d30: PUSH2 0x1d38
00001d33: DUP7
00001d34: PUSH2 0x3358
00001d37: JUMP
00001d38: JUMPDEST
00001d39: SWAP6
00001d3a: DUP1
00001d3b: DUP6
00001d3c: MSTORE
00001d3d: PUSH1 0x0b
00001d3f: SWAP1
00001d40: DUP2
00001d41: DUP8
00001d42: MSTORE
00001d43: PUSH2 0x1d51
00001d46: PUSH1 0x02
00001d48: PUSH1 0x40
00001d4a: DUP9
00001d4b: KECCAK256
00001d4c: ADD
00001d4d: PUSH2 0x3226
00001d50: JUMP
00001d51: JUMPDEST
00001d52: SWAP1
00001d53: PUSH1 0x01
00001d55: PUSH1 0x01
00001d57: PUSH1 0x80
00001d59: SHL
00001d5a: SUB
00001d5b: SWAP3
00001d5c: DUP4
00001d5d: DUP4
00001d5e: MLOAD
00001d5f: AND
00001d60: DUP5
00001d61: DUP12
00001d62: AND
00001d63: LT
00001d64: ISZERO
00001d65: PUSH2 0x1f43
00001d68: JUMPI
00001d69: DUP2
00001d6a: DUP9
00001d6b: MSTORE
00001d6c: DUP1
00001d6d: DUP10
00001d6e: MSTORE
00001d6f: PUSH1 0xff
00001d71: PUSH1 0x40
00001d73: DUP10
00001d74: KECCAK256
00001d75: SLOAD
00001d76: PUSH1 0xf0
00001d78: SHR
00001d79: AND
00001d7a: ISZERO
00001d7b: PUSH2 0x1f2b
00001d7e: JUMPI
00001d7f: PUSH2 0x1da1
00001d82: DUP11
00001d83: DUP6
00001d84: DUP12
00001d85: PUSH2 0x1d97
00001d88: PUSH1 0x40
00001d8a: SWAP11
00001d8b: SWAP12
00001d8c: SWAP13
00001d8d: SWAP14
00001d8e: SWAP15
00001d8f: DUP4
00001d90: DUP10
00001d91: MLOAD
00001d92: AND
00001d93: PUSH2 0x309a
00001d96: JUMP
00001d97: JUMPDEST
00001d98: SWAP7
00001d99: ADD
00001d9a: MLOAD
00001d9b: AND
00001d9c: SWAP1
00001d9d: PUSH2 0x309a
00001da0: JUMP
00001da1: JUMPDEST
00001da2: SWAP3
00001da3: DUP3
00001da4: DUP11
00001da5: MSTORE
00001da6: DUP2
00001da7: DUP12
00001da8: MSTORE
00001da9: DUP7
00001daa: DUP11
00001dab: KECCAK256
00001dac: SWAP1
00001dad: DUP12
00001dae: DUP12
00001daf: PUSH32 0x5edb27d6c1a327513b90a792050debf074b7194444885e3144d4decc5caaaa50
00001dd0: DUP5
00001dd1: SLOAD
00001dd2: SWAP8
00001dd3: PUSH1 0x01
00001dd5: PUSH1 0xf8
00001dd7: SHL
00001dd8: PUSH30 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001df7: DUP11
00001df8: AND
00001df9: OR
00001dfa: DUP7
00001dfb: SSTORE
00001dfc: PUSH1 0x03
00001dfe: DUP11
00001dff: DUP3
00001e00: AND
00001e01: SWAP7
00001e02: DUP8
00001e03: ISZERO
00001e04: PUSH2 0x1f11
00001e07: JUMPI
00001e08: JUMPDEST
00001e09: ADD
00001e0a: SWAP10
00001e0b: DUP6
00001e0c: AND
00001e0d: SWAP10
00001e0e: DUP11
00001e0f: PUSH1 0x01
00001e11: PUSH1 0x01
00001e13: PUSH1 0x80
00001e15: SHL
00001e16: SUB
00001e17: NOT
00001e18: DUP3
00001e19: SLOAD
00001e1a: AND
00001e1b: OR
00001e1c: SWAP1
00001e1d: SSTORE
00001e1e: PUSH1 0x01
00001e20: PUSH1 0x01
00001e22: PUSH1 0xa0
00001e24: SHL
00001e25: SUB
00001e26: DUP1
00001e27: SWAP10
00001e28: AND
00001e29: SWAP9
00001e2a: DUP10
00001e2b: SWAP4
00001e2c: PUSH1 0x05
00001e2e: DUP7
00001e2f: MSTORE
00001e30: DUP2
00001e31: DUP15
00001e32: DUP3
00001e33: KECCAK256
00001e34: SLOAD
00001e35: AND
00001e36: SWAP9
00001e37: DUP10
00001e38: SWAP7
00001e39: MSTORE
00001e3a: PUSH1 0x01
00001e3c: SWAP14
00001e3d: DUP15
00001e3e: SWAP2
00001e3f: KECCAK256
00001e40: ADD
00001e41: SLOAD
00001e42: AND
00001e43: SWAP5
00001e44: PUSH2 0x1e4e
00001e47: DUP12
00001e48: DUP6
00001e49: DUP9
00001e4a: PUSH2 0x4090
00001e4d: JUMP
00001e4e: JUMPDEST
00001e4f: PUSH1 0x40
00001e51: DUP1
00001e52: MLOAD
00001e53: DUP11
00001e54: DUP2
00001e55: MSTORE
00001e56: PUSH1 0x01
00001e58: PUSH1 0x01
00001e5a: PUSH1 0x80
00001e5c: SHL
00001e5d: SUB
00001e5e: SWAP3
00001e5f: DUP4
00001e60: AND
00001e61: PUSH1 0x20
00001e63: DUP3
00001e64: ADD
00001e65: MSTORE
00001e66: SWAP3
00001e67: SWAP1
00001e68: SWAP2
00001e69: AND
00001e6a: SWAP1
00001e6b: DUP3
00001e6c: ADD
00001e6d: MSTORE
00001e6e: PUSH1 0x60
00001e70: SWAP1
00001e71: LOG4
00001e72: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00001e93: DUP12
00001e94: PUSH1 0x40
00001e96: MLOAD
00001e97: DUP6
00001e98: DUP2
00001e99: MSTORE
00001e9a: LOG1
00001e9b: DUP2
00001e9c: EXTCODESIZE
00001e9d: PUSH2 0x1eb2
00001ea0: JUMPI
00001ea1: JUMPDEST
00001ea2: POP
00001ea3: POP
00001ea4: POP
00001ea5: POP
00001ea6: POP
00001ea7: ADD
00001ea8: SWAP2
00001ea9: SWAP1
00001eaa: SWAP4
00001eab: SWAP2
00001eac: SWAP3
00001ead: SWAP4
00001eae: PUSH2 0x1cb3
00001eb1: JUMP
00001eb2: JUMPDEST
00001eb3: DUP2
00001eb4: EXTCODESIZE
00001eb5: ISZERO
00001eb6: PUSH2 0x1f0d
00001eb9: JUMPI
00001eba: DUP10
00001ebb: SWAP5
00001ebc: SWAP4
00001ebd: SWAP2
00001ebe: SWAP3
00001ebf: DUP6
00001ec0: DUP1
00001ec1: SWAP5
00001ec2: PUSH1 0x84
00001ec4: SWAP4
00001ec5: PUSH1 0x40
00001ec7: MLOAD
00001ec8: SWAP8
00001ec9: DUP9
00001eca: SWAP7
00001ecb: DUP8
00001ecc: SWAP6
00001ecd: PUSH4 0x72eba203
00001ed2: PUSH1 0xe0
00001ed4: SHL
00001ed5: DUP8
00001ed6: MSTORE
00001ed7: PUSH1 0x04
00001ed9: DUP8
00001eda: ADD
00001edb: MSTORE
00001edc: PUSH1 0x24
00001ede: DUP7
00001edf: ADD
00001ee0: MSTORE
00001ee1: PUSH1 0x44
00001ee3: DUP6
00001ee4: ADD
00001ee5: MSTORE
00001ee6: PUSH1 0x64
00001ee8: DUP5
00001ee9: ADD
00001eea: MSTORE
00001eeb: GAS
00001eec: CALL
00001eed: PUSH2 0x1ef9
00001ef0: JUMPI
00001ef1: JUMPDEST
00001ef2: DUP1
00001ef3: DUP1
00001ef4: DUP1
00001ef5: PUSH2 0x1ea1
00001ef8: JUMP
00001ef9: JUMPDEST
00001efa: PUSH2 0x1f02
00001efd: SWAP1
00001efe: PUSH2 0x2f83
00001f01: JUMP
00001f02: JUMPDEST
00001f03: PUSH2 0x0c29
00001f06: JUMPI
00001f07: DUP5
00001f08: DUP8
00001f09: PUSH2 0x1ef1
00001f0c: JUMP
00001f0d: JUMPDEST
00001f0e: DUP10
00001f0f: DUP1
00001f10: REVERT
00001f11: JUMPDEST
00001f12: PUSH1 0x01
00001f14: DUP2
00001f15: ADD
00001f16: PUSH1 0x01
00001f18: PUSH1 0xc8
00001f1a: SHL
00001f1b: PUSH1 0xff
00001f1d: PUSH1 0xc8
00001f1f: SHL
00001f20: NOT
00001f21: DUP3
00001f22: SLOAD
00001f23: AND
00001f24: OR
00001f25: SWAP1
00001f26: SSTORE
00001f27: PUSH2 0x1e08
00001f2a: JUMP
00001f2b: JUMPDEST
00001f2c: PUSH1 0x24
00001f2e: DUP3
00001f2f: PUSH1 0x40
00001f31: MLOAD
00001f32: SWAP1
00001f33: PUSH4 0x39c6dc73
00001f38: PUSH1 0xe2
00001f3a: SHL
00001f3b: DUP3
00001f3c: MSTORE
00001f3d: PUSH1 0x04
00001f3f: DUP3
00001f40: ADD
00001f41: MSTORE
00001f42: REVERT
00001f43: JUMPDEST
00001f44: PUSH1 0x24
00001f46: DUP3
00001f47: PUSH1 0x40
00001f49: MLOAD
00001f4a: SWAP1
00001f4b: PUSH4 0x22cad1af
00001f50: PUSH1 0xe1
00001f52: SHL
00001f53: DUP3
00001f54: MSTORE
00001f55: PUSH1 0x04
00001f57: DUP3
00001f58: ADD
00001f59: MSTORE
00001f5a: REVERT
00001f5b: JUMPDEST
00001f5c: PUSH1 0x40
00001f5e: MLOAD
00001f5f: PUSH4 0x216caf0d
00001f64: PUSH1 0xe0
00001f66: SHL
00001f67: DUP2
00001f68: MSTORE
00001f69: PUSH1 0x04
00001f6b: DUP2
00001f6c: ADD
00001f6d: DUP8
00001f6e: SWAP1
00001f6f: MSTORE
00001f70: CALLER
00001f71: PUSH1 0x24
00001f73: DUP3
00001f74: ADD
00001f75: MSTORE
00001f76: PUSH1 0x44
00001f78: SWAP1
00001f79: REVERT
00001f7a: JUMPDEST
00001f7b: PUSH1 0x24
00001f7d: DUP7
00001f7e: PUSH1 0x40
00001f80: MLOAD
00001f81: SWAP1
00001f82: PUSH4 0xfe19f19f
00001f87: PUSH1 0xe0
00001f89: SHL
00001f8a: DUP3
00001f8b: MSTORE
00001f8c: PUSH1 0x04
00001f8e: DUP3
00001f8f: ADD
00001f90: MSTORE
00001f91: REVERT
00001f92: JUMPDEST
00001f93: POP
00001f94: CALLVALUE
00001f95: PUSH2 0x05b9
00001f98: JUMPI
00001f99: PUSH1 0x20
00001f9b: DUP1
00001f9c: PUSH1 0x03
00001f9e: NOT
00001f9f: CALLDATASIZE
00001fa0: ADD
00001fa1: SLT
00001fa2: PUSH2 0x09b1
00001fa5: JUMPI
00001fa6: PUSH1 0x04
00001fa8: CALLDATALOAD
00001fa9: SWAP1
00001faa: PUSH2 0x1fb1
00001fad: PUSH2 0x370f
00001fb0: JUMP
00001fb1: JUMPDEST
00001fb2: DUP2
00001fb3: DUP4
00001fb4: MSTORE
00001fb5: PUSH1 0x0b
00001fb7: DUP2
00001fb8: MSTORE
00001fb9: PUSH1 0xff
00001fbb: PUSH1 0x01
00001fbd: PUSH1 0x40
00001fbf: DUP6
00001fc0: KECCAK256
00001fc1: ADD
00001fc2: SLOAD
00001fc3: PUSH1 0xd0
00001fc5: SHR
00001fc6: AND
00001fc7: ISZERO
00001fc8: PUSH2 0x0d24
00001fcb: JUMPI
00001fcc: PUSH2 0x1fd4
00001fcf: DUP3
00001fd0: PUSH2 0x340e
00001fd3: JUMP
00001fd4: JUMPDEST
00001fd5: PUSH1 0x05
00001fd7: DUP2
00001fd8: LT
00001fd9: ISZERO
00001fda: PUSH2 0x215e
00001fdd: JUMPI
00001fde: PUSH1 0x04
00001fe0: DUP2
00001fe1: SUB
00001fe2: PUSH2 0x1ffd
00001fe5: JUMPI
00001fe6: PUSH1 0x24
00001fe8: DUP4
00001fe9: PUSH1 0x40
00001feb: MLOAD
00001fec: SWAP1
00001fed: PUSH4 0x4a5541ef
00001ff2: PUSH1 0xe0
00001ff4: SHL
00001ff5: DUP3
00001ff6: MSTORE
00001ff7: PUSH1 0x04
00001ff9: DUP3
00001ffa: ADD
00001ffb: MSTORE
00001ffc: REVERT
00001ffd: JUMPDEST
00001ffe: PUSH1 0x03
00002000: DUP2
00002001: SUB
00002002: PUSH2 0x201d
00002005: JUMPI
00002006: PUSH1 0x24
00002008: DUP4
00002009: PUSH1 0x40
0000200b: MLOAD
0000200c: SWAP1
0000200d: PUSH4 0xfe19f19f
00002012: PUSH1 0xe0
00002014: SHL
00002015: DUP3
00002016: MSTORE
00002017: PUSH1 0x04
00002019: DUP3
0000201a: ADD
0000201b: MSTORE
0000201c: REVERT
0000201d: JUMPDEST
0000201e: PUSH1 0x02
00002020: EQ
00002021: PUSH2 0x1f43
00002024: JUMPI
00002025: PUSH2 0x2044
00002028: DUP3
00002029: PUSH1 0x00
0000202b: MSTORE
0000202c: PUSH1 0x0b
0000202e: PUSH1 0x20
00002030: MSTORE
00002031: PUSH1 0x01
00002033: PUSH1 0x01
00002035: PUSH1 0xa0
00002037: SHL
00002038: SUB
00002039: PUSH1 0x40
0000203b: PUSH1 0x00
0000203d: KECCAK256
0000203e: SLOAD
0000203f: AND
00002040: CALLER
00002041: EQ
00002042: SWAP1
00002043: JUMP
00002044: JUMPDEST
00002045: ISZERO
00002046: PUSH2 0x213f
00002049: JUMPI
0000204a: DUP2
0000204b: DUP4
0000204c: MSTORE
0000204d: PUSH1 0x0b
0000204f: DUP2
00002050: MSTORE
00002051: PUSH1 0xff
00002053: PUSH1 0x40
00002055: DUP5
00002056: KECCAK256
00002057: SLOAD
00002058: PUSH1 0xf0
0000205a: SHR
0000205b: AND
0000205c: ISZERO
0000205d: PUSH2 0x1f2b
00002060: JUMPI
00002061: DUP2
00002062: DUP4
00002063: MSTORE
00002064: PUSH1 0x0b
00002066: DUP2
00002067: MSTORE
00002068: PUSH1 0x40
0000206a: DUP4
0000206b: KECCAK256
0000206c: PUSH1 0xff
0000206e: PUSH1 0xf0
00002070: SHL
00002071: NOT
00002072: DUP2
00002073: SLOAD
00002074: AND
00002075: SWAP1
00002076: SSTORE
00002077: DUP3
00002078: PUSH1 0x40
0000207a: MLOAD
0000207b: DUP4
0000207c: PUSH32 0x0eb069207093cd3e51cd1370d2d369770057fbe29947e577e5fb428c6c6fc78f
0000209d: DUP4
0000209e: DUP1
0000209f: LOG2
000020a0: PUSH1 0x05
000020a2: DUP4
000020a3: MSTORE
000020a4: PUSH1 0x01
000020a6: PUSH1 0x01
000020a8: PUSH1 0xa0
000020aa: SHL
000020ab: SUB
000020ac: PUSH1 0x40
000020ae: DUP4
000020af: KECCAK256
000020b0: SLOAD
000020b1: AND
000020b2: DUP1
000020b3: EXTCODESIZE
000020b4: PUSH2 0x20e7
000020b7: JUMPI
000020b8: JUMPDEST
000020b9: POP
000020ba: POP
000020bb: POP
000020bc: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000020dd: SWAP2
000020de: PUSH1 0x40
000020e0: MLOAD
000020e1: SWAP1
000020e2: DUP2
000020e3: MSTORE
000020e4: LOG1
000020e5: DUP1
000020e6: RETURN
000020e7: JUMPDEST
000020e8: DUP1
000020e9: EXTCODESIZE
000020ea: ISZERO
000020eb: PUSH2 0x0488
000020ee: JUMPI
000020ef: DUP2
000020f0: PUSH1 0x24
000020f2: DUP2
000020f3: DUP6
000020f4: DUP1
000020f5: SWAP5
000020f6: PUSH32 0x341a0bd900000000000000000000000000000000000000000000000000000000
00002117: DUP4
00002118: MSTORE
00002119: DUP10
0000211a: PUSH1 0x04
0000211c: DUP5
0000211d: ADD
0000211e: MSTORE
0000211f: GAS
00002120: CALL
00002121: PUSH2 0x212b
00002124: JUMPI
00002125: JUMPDEST
00002126: DUP1
00002127: PUSH2 0x20b8
0000212a: JUMP
0000212b: JUMPDEST
0000212c: PUSH2 0x2134
0000212f: SWAP1
00002130: PUSH2 0x2f83
00002133: JUMP
00002134: JUMPDEST
00002135: PUSH2 0x0488
00002138: JUMPI
00002139: DUP3
0000213a: CODESIZE
0000213b: PUSH2 0x2125
0000213e: JUMP
0000213f: JUMPDEST
00002140: PUSH1 0x40
00002142: MLOAD
00002143: PUSH4 0x216caf0d
00002148: PUSH1 0xe0
0000214a: SHL
0000214b: DUP2
0000214c: MSTORE
0000214d: PUSH1 0x04
0000214f: DUP2
00002150: ADD
00002151: DUP4
00002152: SWAP1
00002153: MSTORE
00002154: CALLER
00002155: PUSH1 0x24
00002157: DUP3
00002158: ADD
00002159: MSTORE
0000215a: PUSH1 0x44
0000215c: SWAP1
0000215d: REVERT
0000215e: JUMPDEST
0000215f: PUSH1 0x24
00002161: DUP5
00002162: PUSH4 0x4e487b71
00002167: PUSH1 0xe0
00002169: SHL
0000216a: DUP2
0000216b: MSTORE
0000216c: PUSH1 0x21
0000216e: PUSH1 0x04
00002170: MSTORE
00002171: REVERT
00002172: JUMPDEST
00002173: POP
00002174: CALLVALUE
00002175: PUSH2 0x05b9
00002178: JUMPI
00002179: PUSH1 0x20
0000217b: CALLDATASIZE
0000217c: PUSH1 0x03
0000217e: NOT
0000217f: ADD
00002180: SLT
00002181: PUSH2 0x05b9
00002184: JUMPI
00002185: PUSH1 0x04
00002187: CALLDATALOAD
00002188: PUSH1 0x01
0000218a: PUSH1 0x01
0000218c: PUSH1 0xa0
0000218e: SHL
0000218f: SUB
00002190: SWAP1
00002191: DUP2
00002192: DUP2
00002193: AND
00002194: DUP1
00002195: SWAP2
00002196: SUB
00002197: PUSH2 0x0488
0000219a: JUMPI
0000219b: DUP2
0000219c: DUP4
0000219d: SLOAD
0000219e: AND
0000219f: CALLER
000021a0: DUP2
000021a1: SUB
000021a2: PUSH2 0x119c
000021a5: JUMPI
000021a6: POP
000021a7: PUSH1 0x0a
000021a9: SLOAD
000021aa: SWAP2
000021ab: DUP2
000021ac: PUSH1 0x01
000021ae: PUSH1 0x01
000021b0: PUSH1 0xa0
000021b2: SHL
000021b3: SUB
000021b4: NOT
000021b5: DUP5
000021b6: AND
000021b7: OR
000021b8: PUSH1 0x0a
000021ba: SSTORE
000021bb: PUSH1 0x40
000021bd: MLOAD
000021be: SWAP3
000021bf: AND
000021c0: DUP3
000021c1: MSTORE
000021c2: PUSH1 0x20
000021c4: DUP3
000021c5: ADD
000021c6: MSTORE
000021c7: PUSH32 0xa2548bd4b805e907c1558a47b5858324fe8bb4a2e1ddfca647eecbf65610eebc
000021e8: PUSH1 0x40
000021ea: CALLER
000021eb: SWAP3
000021ec: LOG2
000021ed: PUSH1 0x09
000021ef: SLOAD
000021f0: PUSH1 0x00
000021f2: NOT
000021f3: DUP2
000021f4: ADD
000021f5: SWAP1
000021f6: DUP2
000021f7: GT
000021f8: PUSH2 0x222f
000021fb: JUMPI
000021fc: PUSH1 0x40
000021fe: PUSH32 0x6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c
0000221f: SWAP2
00002220: DUP2
00002221: MLOAD
00002222: SWAP1
00002223: PUSH1 0x01
00002225: DUP3
00002226: MSTORE
00002227: PUSH1 0x20
00002229: DUP3
0000222a: ADD
0000222b: MSTORE
0000222c: LOG1
0000222d: DUP1
0000222e: RETURN
0000222f: JUMPDEST
00002230: PUSH1 0x24
00002232: DUP3
00002233: PUSH4 0x4e487b71
00002238: PUSH1 0xe0
0000223a: SHL
0000223b: DUP2
0000223c: MSTORE
0000223d: PUSH1 0x11
0000223f: PUSH1 0x04
00002241: MSTORE
00002242: REVERT
00002243: JUMPDEST
00002244: POP
00002245: CALLVALUE
00002246: PUSH2 0x05b9
00002249: JUMPI
0000224a: PUSH1 0x20
0000224c: CALLDATASIZE
0000224d: PUSH1 0x03
0000224f: NOT
00002250: ADD
00002251: SLT
00002252: PUSH2 0x05b9
00002255: JUMPI
00002256: PUSH1 0x04
00002258: CALLDATALOAD
00002259: DUP1
0000225a: DUP3
0000225b: MSTORE
0000225c: PUSH1 0x0b
0000225e: PUSH1 0x20
00002260: MSTORE
00002261: PUSH1 0xff
00002263: PUSH1 0x01
00002265: PUSH1 0x40
00002267: DUP5
00002268: KECCAK256
00002269: ADD
0000226a: SLOAD
0000226b: PUSH1 0xd0
0000226d: SHR
0000226e: AND
0000226f: ISZERO
00002270: PUSH2 0x065d
00002273: JUMPI
00002274: PUSH1 0x40
00002276: DUP3
00002277: PUSH5 0xffffffffff
0000227d: SWAP3
0000227e: PUSH1 0x20
00002280: SWAP5
00002281: MSTORE
00002282: PUSH1 0x0b
00002284: DUP5
00002285: MSTORE
00002286: KECCAK256
00002287: SLOAD
00002288: PUSH1 0xc8
0000228a: SHR
0000228b: AND
0000228c: PUSH1 0x40
0000228e: MLOAD
0000228f: SWAP1
00002290: DUP2
00002291: MSTORE
00002292: RETURN
00002293: JUMPDEST
00002294: POP
00002295: CALLVALUE
00002296: PUSH2 0x05b9
00002299: JUMPI
0000229a: PUSH1 0x20
0000229c: CALLDATASIZE
0000229d: PUSH1 0x03
0000229f: NOT
000022a0: ADD
000022a1: SLT
000022a2: PUSH2 0x05b9
000022a5: JUMPI
000022a6: PUSH2 0x22ad
000022a9: PUSH2 0x2ef1
000022ac: JUMP
000022ad: JUMPDEST
000022ae: SWAP1
000022af: DUP1
000022b0: SLOAD
000022b1: PUSH1 0x01
000022b3: PUSH1 0x01
000022b5: PUSH1 0xa0
000022b7: SHL
000022b8: SUB
000022b9: DUP1
000022ba: DUP3
000022bb: AND
000022bc: SWAP4
000022bd: CALLER
000022be: DUP6
000022bf: SUB
000022c0: PUSH2 0x22ff
000022c3: JUMPI
000022c4: PUSH1 0x01
000022c6: PUSH1 0x01
000022c8: PUSH1 0xa0
000022ca: SHL
000022cb: SUB
000022cc: NOT
000022cd: SWAP4
000022ce: SWAP5
000022cf: POP
000022d0: AND
000022d1: SWAP2
000022d2: DUP3
000022d3: SWAP2
000022d4: AND
000022d5: OR
000022d6: DUP3
000022d7: SSTORE
000022d8: CALLER
000022d9: PUSH32 0xbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf80
000022fa: DUP4
000022fb: DUP1
000022fc: LOG3
000022fd: DUP1
000022fe: RETURN
000022ff: JUMPDEST
00002300: PUSH1 0x40
00002302: MLOAD
00002303: PUSH4 0x31b339a9
00002308: PUSH1 0xe2
0000230a: SHL
0000230b: DUP2
0000230c: MSTORE
0000230d: PUSH1 0x01
0000230f: PUSH1 0x01
00002311: PUSH1 0xa0
00002313: SHL
00002314: SUB
00002315: DUP7
00002316: AND
00002317: PUSH1 0x04
00002319: DUP3
0000231a: ADD
0000231b: MSTORE
0000231c: CALLER
0000231d: PUSH1 0x24
0000231f: DUP3
00002320: ADD
00002321: MSTORE
00002322: PUSH1 0x44
00002324: SWAP1
00002325: REVERT
00002326: JUMPDEST
00002327: POP
00002328: CALLVALUE
00002329: PUSH2 0x05b9
0000232c: JUMPI
0000232d: PUSH1 0x20
0000232f: CALLDATASIZE
00002330: PUSH1 0x03
00002332: NOT
00002333: ADD
00002334: SLT
00002335: PUSH2 0x05b9
00002338: JUMPI
00002339: PUSH1 0x01
0000233b: PUSH1 0x01
0000233d: PUSH1 0xa0
0000233f: SHL
00002340: SUB
00002341: PUSH2 0x2348
00002344: PUSH2 0x2ef1
00002347: JUMP
00002348: JUMPDEST
00002349: AND
0000234a: DUP1
0000234b: ISZERO
0000234c: PUSH2 0x2365
0000234f: JUMPI
00002350: DUP2
00002351: PUSH1 0x40
00002353: SWAP2
00002354: PUSH1 0x20
00002356: SWAP4
00002357: MSTORE
00002358: PUSH1 0x06
0000235a: DUP4
0000235b: MSTORE
0000235c: KECCAK256
0000235d: SLOAD
0000235e: PUSH1 0x40
00002360: MLOAD
00002361: SWAP1
00002362: DUP2
00002363: MSTORE
00002364: RETURN
00002365: JUMPDEST
00002366: PUSH1 0x84
00002368: PUSH1 0x40
0000236a: MLOAD
0000236b: PUSH3 0x461bcd
0000236f: PUSH1 0xe5
00002371: SHL
00002372: DUP2
00002373: MSTORE
00002374: PUSH1 0x20
00002376: PUSH1 0x04
00002378: DUP3
00002379: ADD
0000237a: MSTORE
0000237b: PUSH1 0x29
0000237d: PUSH1 0x24
0000237f: DUP3
00002380: ADD
00002381: MSTORE
00002382: PUSH32 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661
000023a3: PUSH1 0x44
000023a5: DUP3
000023a6: ADD
000023a7: MSTORE
000023a8: PUSH32 0x6c6964206f776e65720000000000000000000000000000000000000000000000
000023c9: PUSH1 0x64
000023cb: DUP3
000023cc: ADD
000023cd: MSTORE
000023ce: REVERT
000023cf: JUMPDEST
000023d0: POP
000023d1: CALLVALUE
000023d2: PUSH2 0x05b9
000023d5: JUMPI
000023d6: PUSH1 0x20
000023d8: CALLDATASIZE
000023d9: PUSH1 0x03
000023db: NOT
000023dc: ADD
000023dd: SLT
000023de: PUSH2 0x05b9
000023e1: JUMPI
000023e2: PUSH1 0x01
000023e4: PUSH1 0x01
000023e6: PUSH1 0xa0
000023e8: SHL
000023e9: SUB
000023ea: PUSH1 0x40
000023ec: PUSH1 0x20
000023ee: SWAP3
000023ef: PUSH1 0x04
000023f1: CALLDATALOAD
000023f2: PUSH2 0x2414
000023f5: PUSH2 0x08c0
000023f8: DUP3
000023f9: PUSH1 0x00
000023fb: MSTORE
000023fc: PUSH1 0x05
000023fe: PUSH1 0x20
00002400: MSTORE
00002401: PUSH1 0x01
00002403: PUSH1 0x01
00002405: PUSH1 0xa0
00002407: SHL
00002408: SUB
00002409: PUSH1 0x40
0000240b: PUSH1 0x00
0000240d: KECCAK256
0000240e: SLOAD
0000240f: AND
00002410: ISZERO
00002411: ISZERO
00002412: SWAP1
00002413: JUMP
00002414: JUMPDEST
00002415: DUP2
00002416: MSTORE
00002417: PUSH1 0x05
00002419: DUP5
0000241a: MSTORE
0000241b: KECCAK256
0000241c: SLOAD
0000241d: AND
0000241e: PUSH1 0x40
00002420: MLOAD
00002421: SWAP1
00002422: DUP2
00002423: MSTORE
00002424: RETURN
00002425: JUMPDEST
00002426: POP
00002427: CALLVALUE
00002428: PUSH2 0x05b9
0000242b: JUMPI
0000242c: PUSH1 0x20
0000242e: CALLDATASIZE
0000242f: PUSH1 0x03
00002431: NOT
00002432: ADD
00002433: SLT
00002434: PUSH2 0x05b9
00002437: JUMPI
00002438: PUSH1 0x20
0000243a: PUSH2 0x2444
0000243d: PUSH1 0x04
0000243f: CALLDATALOAD
00002440: PUSH2 0x31bc
00002443: JUMP
00002444: JUMPDEST
00002445: PUSH1 0x01
00002447: PUSH1 0x01
00002449: PUSH1 0xa0
0000244b: SHL
0000244c: SUB
0000244d: PUSH1 0x40
0000244f: MLOAD
00002450: SWAP2
00002451: AND
00002452: DUP2
00002453: MSTORE
00002454: RETURN
00002455: JUMPDEST
00002456: POP
00002457: CALLVALUE
00002458: PUSH2 0x05b9
0000245b: JUMPI
0000245c: DUP1
0000245d: PUSH1 0x03
0000245f: NOT
00002460: CALLDATASIZE
00002461: ADD
00002462: SLT
00002463: PUSH2 0x05b9
00002466: JUMPI
00002467: PUSH1 0x20
00002469: PUSH1 0x01
0000246b: PUSH1 0x01
0000246d: PUSH1 0xa0
0000246f: SHL
00002470: SUB
00002471: PUSH1 0x01
00002473: SLOAD
00002474: AND
00002475: PUSH1 0x40
00002477: MLOAD
00002478: SWAP1
00002479: DUP2
0000247a: MSTORE
0000247b: RETURN
0000247c: JUMPDEST
0000247d: POP
0000247e: CALLVALUE
0000247f: PUSH2 0x05b9
00002482: JUMPI
00002483: PUSH1 0x20
00002485: CALLDATASIZE
00002486: PUSH1 0x03
00002488: NOT
00002489: ADD
0000248a: SLT
0000248b: PUSH2 0x05b9
0000248e: JUMPI
0000248f: PUSH1 0xff
00002491: PUSH1 0x01
00002493: PUSH1 0x40
00002495: PUSH1 0x04
00002497: CALLDATALOAD
00002498: SWAP4
00002499: DUP5
0000249a: DUP2
0000249b: MSTORE
0000249c: PUSH1 0x0b
0000249e: PUSH1 0x20
000024a0: MSTORE
000024a1: KECCAK256
000024a2: ADD
000024a3: SLOAD
000024a4: PUSH1 0xd0
000024a6: SHR
000024a7: AND
000024a8: ISZERO
000024a9: PUSH2 0x065d
000024ac: JUMPI
000024ad: PUSH2 0x072a
000024b0: PUSH1 0x20
000024b2: SWAP2
000024b3: PUSH2 0x37d4
000024b6: JUMP
000024b7: JUMPDEST
000024b8: POP
000024b9: CALLVALUE
000024ba: PUSH2 0x05b9
000024bd: JUMPI
000024be: PUSH1 0x20
000024c0: CALLDATASIZE
000024c1: PUSH1 0x03
000024c3: NOT
000024c4: ADD
000024c5: SLT
000024c6: PUSH2 0x05b9
000024c9: JUMPI
000024ca: PUSH1 0x04
000024cc: CALLDATALOAD
000024cd: SWAP1
000024ce: DUP2
000024cf: DUP2
000024d0: MSTORE
000024d1: PUSH1 0x0b
000024d3: PUSH1 0x20
000024d5: MSTORE
000024d6: PUSH1 0xff
000024d8: PUSH1 0x01
000024da: PUSH1 0x40
000024dc: DUP4
000024dd: KECCAK256
000024de: ADD
000024df: SLOAD
000024e0: PUSH1 0xd0
000024e2: SHR
000024e3: AND
000024e4: ISZERO
000024e5: PUSH2 0x0d24
000024e8: JUMPI
000024e9: DUP1
000024ea: PUSH2 0x24f2
000024ed: DUP4
000024ee: PUSH2 0x340e
000024f1: JUMP
000024f2: JUMPDEST
000024f3: SWAP3
000024f4: PUSH1 0x05
000024f6: DUP5
000024f7: LT
000024f8: ISZERO
000024f9: PUSH2 0x252d
000024fc: JUMPI
000024fd: PUSH1 0x02
000024ff: PUSH1 0x20
00002501: SWAP5
00002502: SUB
00002503: PUSH2 0x2513
00002506: JUMPI
00002507: JUMPDEST
00002508: POP
00002509: POP
0000250a: PUSH1 0x40
0000250c: MLOAD
0000250d: SWAP1
0000250e: ISZERO
0000250f: ISZERO
00002510: DUP2
00002511: MSTORE
00002512: RETURN
00002513: JUMPDEST
00002514: DUP2
00002515: MSTORE
00002516: PUSH1 0x0b
00002518: DUP4
00002519: MSTORE
0000251a: PUSH1 0x40
0000251c: SWAP1
0000251d: KECCAK256
0000251e: SLOAD
0000251f: PUSH1 0xf0
00002521: SHR
00002522: PUSH1 0xff
00002524: AND
00002525: SWAP1
00002526: POP
00002527: CODESIZE
00002528: DUP1
00002529: PUSH2 0x2507
0000252c: JUMP
0000252d: JUMPDEST
0000252e: PUSH1 0x24
00002530: DUP3
00002531: PUSH4 0x4e487b71
00002536: PUSH1 0xe0
00002538: SHL
00002539: DUP2
0000253a: MSTORE
0000253b: PUSH1 0x21
0000253d: PUSH1 0x04
0000253f: MSTORE
00002540: REVERT
00002541: JUMPDEST
00002542: POP
00002543: CALLVALUE
00002544: PUSH2 0x05b9
00002547: JUMPI
00002548: PUSH1 0x20
0000254a: CALLDATASIZE
0000254b: PUSH1 0x03
0000254d: NOT
0000254e: ADD
0000254f: SLT
00002550: PUSH2 0x05b9
00002553: JUMPI
00002554: PUSH1 0x04
00002556: CALLDATALOAD
00002557: PUSH2 0x255e
0000255a: PUSH2 0x370f
0000255d: JUMP
0000255e: JUMPDEST
0000255f: PUSH2 0x2567
00002562: DUP2
00002563: PUSH2 0x313a
00002566: JUMP
00002567: JUMPDEST
00002568: ISZERO
00002569: PUSH2 0x269a
0000256c: JUMPI
0000256d: PUSH2 0x2575
00002570: DUP2
00002571: PUSH2 0x376b
00002574: JUMP
00002575: JUMPDEST
00002576: ISZERO
00002577: PUSH2 0x267a
0000257a: JUMPI
0000257b: PUSH2 0x2583
0000257e: DUP2
0000257f: PUSH2 0x31bc
00002582: JUMP
00002583: JUMPDEST
00002584: PUSH2 0x258c
00002587: DUP3
00002588: PUSH2 0x325a
0000258b: JUMP
0000258c: JUMPDEST
0000258d: ISZERO
0000258e: SWAP1
0000258f: DUP2
00002590: PUSH2 0x2672
00002593: JUMPI
00002594: JUMPDEST
00002595: DUP2
00002596: PUSH2 0x265f
00002599: JUMPI
0000259a: JUMPDEST
0000259b: POP
0000259c: PUSH2 0x2647
0000259f: JUMPI
000025a0: PUSH1 0x20
000025a2: DUP2
000025a3: PUSH2 0x25cc
000025a6: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000025c7: SWAP4
000025c8: PUSH2 0x31bc
000025cb: JUMP
000025cc: JUMPDEST
000025cd: SWAP1
000025ce: DUP1
000025cf: DUP6
000025d0: MSTORE
000025d1: PUSH1 0x07
000025d3: DUP4
000025d4: MSTORE
000025d5: PUSH1 0x01
000025d7: PUSH1 0x01
000025d9: PUSH1 0xa0
000025db: SHL
000025dc: SUB
000025dd: PUSH1 0x40
000025df: DUP7
000025e0: KECCAK256
000025e1: SWAP3
000025e2: PUSH1 0x01
000025e4: PUSH1 0x01
000025e6: PUSH1 0xa0
000025e8: SHL
000025e9: SUB
000025ea: NOT
000025eb: SWAP4
000025ec: DUP5
000025ed: DUP2
000025ee: SLOAD
000025ef: AND
000025f0: SWAP1
000025f1: SSTORE
000025f2: AND
000025f3: SWAP2
000025f4: DUP3
000025f5: DUP7
000025f6: MSTORE
000025f7: PUSH1 0x06
000025f9: DUP5
000025fa: MSTORE
000025fb: PUSH1 0x40
000025fd: DUP7
000025fe: KECCAK256
000025ff: PUSH1 0x00
00002601: NOT
00002602: DUP2
00002603: SLOAD
00002604: ADD
00002605: SWAP1
00002606: SSTORE
00002607: DUP2
00002608: DUP7
00002609: MSTORE
0000260a: PUSH1 0x05
0000260c: DUP5
0000260d: MSTORE
0000260e: PUSH1 0x40
00002610: DUP7
00002611: KECCAK256
00002612: SWAP1
00002613: DUP2
00002614: SLOAD
00002615: AND
00002616: SWAP1
00002617: SSTORE
00002618: DUP1
00002619: DUP6
0000261a: PUSH1 0x40
0000261c: MLOAD
0000261d: SWAP4
0000261e: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000263f: DUP3
00002640: DUP1
00002641: LOG4
00002642: DUP2
00002643: MSTORE
00002644: LOG1
00002645: DUP1
00002646: RETURN
00002647: JUMPDEST
00002648: PUSH1 0x24
0000264a: SWAP1
0000264b: PUSH1 0x40
0000264d: MLOAD
0000264e: SWAP1
0000264f: PUSH4 0x0da9b013
00002654: PUSH1 0xe0
00002656: SHL
00002657: DUP3
00002658: MSTORE
00002659: PUSH1 0x04
0000265b: DUP3
0000265c: ADD
0000265d: MSTORE
0000265e: REVERT
0000265f: JUMPDEST
00002660: PUSH1 0x01
00002662: PUSH1 0x01
00002664: PUSH1 0xa0
00002666: SHL
00002667: SUB
00002668: SWAP2
00002669: POP
0000266a: AND
0000266b: ISZERO
0000266c: ISZERO
0000266d: CODESIZE
0000266e: PUSH2 0x259a
00002671: JUMP
00002672: JUMPDEST
00002673: DUP4
00002674: SWAP2
00002675: POP
00002676: PUSH2 0x2594
00002679: JUMP
0000267a: JUMPDEST
0000267b: PUSH1 0x40
0000267d: MLOAD
0000267e: PUSH4 0x216caf0d
00002683: PUSH1 0xe0
00002685: SHL
00002686: DUP2
00002687: MSTORE
00002688: PUSH1 0x04
0000268a: DUP2
0000268b: ADD
0000268c: SWAP2
0000268d: SWAP1
0000268e: SWAP2
0000268f: MSTORE
00002690: CALLER
00002691: PUSH1 0x24
00002693: DUP3
00002694: ADD
00002695: MSTORE
00002696: PUSH1 0x44
00002698: SWAP1
00002699: REVERT
0000269a: JUMPDEST
0000269b: PUSH1 0x24
0000269d: SWAP1
0000269e: PUSH1 0x40
000026a0: MLOAD
000026a1: SWAP1
000026a2: PUSH32 0x817cd63900000000000000000000000000000000000000000000000000000000
000026c3: DUP3
000026c4: MSTORE
000026c5: PUSH1 0x04
000026c7: DUP3
000026c8: ADD
000026c9: MSTORE
000026ca: REVERT
000026cb: JUMPDEST
000026cc: POP
000026cd: CALLVALUE
000026ce: PUSH2 0x05b9
000026d1: JUMPI
000026d2: PUSH2 0x26da
000026d5: CALLDATASIZE
000026d6: PUSH2 0x2f1d
000026d9: JUMP
000026da: JUMPDEST
000026db: PUSH1 0x40
000026dd: MLOAD
000026de: SWAP2
000026df: PUSH1 0x20
000026e1: DUP4
000026e2: ADD
000026e3: SWAP4
000026e4: DUP4
000026e5: DUP6
000026e6: LT
000026e7: PUSH8 0xffffffffffffffff
000026f0: DUP7
000026f1: GT
000026f2: OR
000026f3: PUSH2 0x2705
000026f6: JUMPI
000026f7: PUSH2 0x0a4f
000026fa: SWAP5
000026fb: PUSH1 0x40
000026fd: MSTORE
000026fe: DUP6
000026ff: DUP5
00002700: MSTORE
00002701: PUSH2 0x3291
00002704: JUMP
00002705: JUMPDEST
00002706: PUSH4 0x4e487b71
0000270b: PUSH1 0xe0
0000270d: SHL
0000270e: PUSH1 0x00
00002710: MSTORE
00002711: PUSH1 0x41
00002713: PUSH1 0x04
00002715: MSTORE
00002716: PUSH1 0x24
00002718: PUSH1 0x00
0000271a: REVERT
0000271b: JUMPDEST
0000271c: POP
0000271d: CALLVALUE
0000271e: PUSH2 0x05b9
00002721: JUMPI
00002722: PUSH1 0x20
00002724: CALLDATASIZE
00002725: PUSH1 0x03
00002727: NOT
00002728: ADD
00002729: SLT
0000272a: PUSH2 0x05b9
0000272d: JUMPI
0000272e: PUSH1 0x20
00002730: PUSH2 0x0601
00002733: PUSH1 0x04
00002735: CALLDATALOAD
00002736: PUSH2 0x313a
00002739: JUMP
0000273a: JUMPDEST
0000273b: POP
0000273c: CALLVALUE
0000273d: PUSH2 0x05b9
00002740: JUMPI
00002741: PUSH1 0x20
00002743: DUP1
00002744: PUSH1 0x03
00002746: NOT
00002747: CALLDATASIZE
00002748: ADD
00002749: SLT
0000274a: PUSH2 0x09b1
0000274d: JUMPI
0000274e: PUSH1 0x04
00002750: CALLDATALOAD
00002751: SWAP1
00002752: PUSH2 0x2759
00002755: PUSH2 0x370f
00002758: JUMP
00002759: JUMPDEST
0000275a: PUSH2 0x2762
0000275d: DUP3
0000275e: PUSH2 0x313a
00002761: JUMP
00002762: JUMPDEST
00002763: ISZERO
00002764: PUSH2 0x277f
00002767: JUMPI
00002768: PUSH1 0x24
0000276a: DUP3
0000276b: PUSH1 0x40
0000276d: MLOAD
0000276e: SWAP1
0000276f: PUSH4 0x4a5541ef
00002774: PUSH1 0xe0
00002776: SHL
00002777: DUP3
00002778: MSTORE
00002779: PUSH1 0x04
0000277b: DUP3
0000277c: ADD
0000277d: MSTORE
0000277e: REVERT
0000277f: JUMPDEST
00002780: SWAP1
00002781: PUSH2 0x2789
00002784: DUP2
00002785: PUSH2 0x3327
00002788: JUMP
00002789: JUMPDEST
0000278a: PUSH2 0x29c0
0000278d: JUMPI
0000278e: PUSH2 0x27ad
00002791: DUP2
00002792: PUSH1 0x00
00002794: MSTORE
00002795: PUSH1 0x0b
00002797: PUSH1 0x20
00002799: MSTORE
0000279a: PUSH1 0x01
0000279c: PUSH1 0x01
0000279e: PUSH1 0xa0
000027a0: SHL
000027a1: SUB
000027a2: PUSH1 0x40
000027a4: PUSH1 0x00
000027a6: KECCAK256
000027a7: SLOAD
000027a8: AND
000027a9: CALLER
000027aa: EQ
000027ab: SWAP1
000027ac: JUMP
000027ad: JUMPDEST
000027ae: ISZERO
000027af: PUSH2 0x267a
000027b2: JUMPI
000027b3: PUSH2 0x27bb
000027b6: DUP2
000027b7: PUSH2 0x3358
000027ba: JUMP
000027bb: JUMPDEST
000027bc: DUP2
000027bd: DUP5
000027be: MSTORE
000027bf: PUSH1 0x0b
000027c1: DUP4
000027c2: MSTORE
000027c3: PUSH2 0x27d1
000027c6: PUSH1 0x02
000027c8: PUSH1 0x40
000027ca: DUP7
000027cb: KECCAK256
000027cc: ADD
000027cd: PUSH2 0x3226
000027d0: JUMP
000027d1: JUMPDEST
000027d2: SWAP3
000027d3: PUSH1 0x01
000027d5: PUSH1 0x01
000027d7: PUSH1 0x80
000027d9: SHL
000027da: SUB
000027db: SWAP2
000027dc: DUP3
000027dd: DUP6
000027de: MLOAD
000027df: AND
000027e0: DUP4
000027e1: DUP3
000027e2: AND
000027e3: LT
000027e4: ISZERO
000027e5: PUSH2 0x29a8
000027e8: JUMPI
000027e9: DUP4
000027ea: DUP7
000027eb: MSTORE
000027ec: PUSH1 0x0b
000027ee: DUP3
000027ef: MSTORE
000027f0: PUSH1 0xff
000027f2: PUSH1 0x40
000027f4: DUP8
000027f5: KECCAK256
000027f6: SLOAD
000027f7: PUSH1 0xf0
000027f9: SHR
000027fa: AND
000027fb: ISZERO
000027fc: PUSH2 0x2990
000027ff: JUMPI
00002800: SWAP3
00002801: DUP3
00002802: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00002823: DUP4
00002824: PUSH2 0x2846
00002827: DUP8
00002828: DUP5
00002829: PUSH1 0x40
0000282b: SWAP8
0000282c: PUSH2 0x283c
0000282f: DUP14
00002830: SWAP12
00002831: PUSH2 0x28f1
00002834: SWAP12
00002835: DUP15
00002836: MLOAD
00002837: AND
00002838: PUSH2 0x309a
0000283b: JUMP
0000283c: JUMPDEST
0000283d: SWAP12
0000283e: ADD
0000283f: MLOAD
00002840: AND
00002841: SWAP1
00002842: PUSH2 0x309a
00002845: JUMP
00002846: JUMPDEST
00002847: SWAP3
00002848: DUP5
00002849: DUP9
0000284a: MSTORE
0000284b: PUSH1 0x0b
0000284d: DUP3
0000284e: MSTORE
0000284f: DUP8
00002850: DUP7
00002851: DUP2
00002852: KECCAK256
00002853: SWAP5
00002854: PUSH32 0x5edb27d6c1a327513b90a792050debf074b7194444885e3144d4decc5caaaa50
00002875: DUP7
00002876: SLOAD
00002877: SWAP2
00002878: PUSH1 0x01
0000287a: PUSH1 0xf8
0000287c: SHL
0000287d: PUSH30 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000289c: DUP5
0000289d: AND
0000289e: OR
0000289f: DUP9
000028a0: SSTORE
000028a1: PUSH1 0x03
000028a3: DUP6
000028a4: DUP3
000028a5: AND
000028a6: SWAP9
000028a7: DUP10
000028a8: ISZERO
000028a9: PUSH2 0x2976
000028ac: JUMPI
000028ad: JUMPDEST
000028ae: ADD
000028af: SWAP5
000028b0: DUP14
000028b1: AND
000028b2: SWAP13
000028b3: DUP6
000028b4: DUP15
000028b5: PUSH1 0x01
000028b7: PUSH1 0x01
000028b9: PUSH1 0x80
000028bb: SHL
000028bc: SUB
000028bd: NOT
000028be: DUP2
000028bf: SWAP9
000028c0: SLOAD
000028c1: AND
000028c2: OR
000028c3: SWAP1
000028c4: SSTORE
000028c5: PUSH1 0x01
000028c7: PUSH1 0x01
000028c9: PUSH1 0xa0
000028cb: SHL
000028cc: SUB
000028cd: DUP1
000028ce: SWAP5
000028cf: AND
000028d0: SWAP12
000028d1: DUP13
000028d2: SWAP5
000028d3: PUSH1 0x05
000028d5: DUP10
000028d6: MSTORE
000028d7: PUSH1 0x01
000028d9: DUP2
000028da: DUP15
000028db: DUP10
000028dc: KECCAK256
000028dd: SLOAD
000028de: AND
000028df: SWAP14
000028e0: DUP15
000028e1: SWAP9
000028e2: PUSH1 0x0b
000028e4: DUP13
000028e5: MSTORE
000028e6: KECCAK256
000028e7: ADD
000028e8: SLOAD
000028e9: AND
000028ea: SWAP7
000028eb: DUP6
000028ec: DUP9
000028ed: PUSH2 0x4090
000028f0: JUMP
000028f1: JUMPDEST
000028f2: PUSH1 0x40
000028f4: DUP1
000028f5: MLOAD
000028f6: DUP12
000028f7: DUP2
000028f8: MSTORE
000028f9: PUSH1 0x01
000028fb: PUSH1 0x01
000028fd: PUSH1 0x80
000028ff: SHL
00002900: SUB
00002901: SWAP3
00002902: DUP4
00002903: AND
00002904: PUSH1 0x20
00002906: DUP3
00002907: ADD
00002908: MSTORE
00002909: SWAP3
0000290a: SWAP1
0000290b: SWAP2
0000290c: AND
0000290d: SWAP1
0000290e: DUP3
0000290f: ADD
00002910: MSTORE
00002911: PUSH1 0x60
00002913: SWAP1
00002914: LOG4
00002915: PUSH1 0x40
00002917: MLOAD
00002918: DUP5
00002919: DUP2
0000291a: MSTORE
0000291b: LOG1
0000291c: DUP3
0000291d: EXTCODESIZE
0000291e: PUSH2 0x2925
00002921: JUMPI
00002922: DUP5
00002923: DUP1
00002924: RETURN
00002925: JUMPDEST
00002926: DUP3
00002927: EXTCODESIZE
00002928: ISZERO
00002929: PUSH2 0x0c29
0000292c: JUMPI
0000292d: PUSH1 0x84
0000292f: SWAP3
00002930: DUP6
00002931: SWAP2
00002932: PUSH1 0x40
00002934: MLOAD
00002935: SWAP8
00002936: DUP9
00002937: SWAP7
00002938: DUP8
00002939: SWAP6
0000293a: PUSH4 0x72eba203
0000293f: PUSH1 0xe0
00002941: SHL
00002942: DUP8
00002943: MSTORE
00002944: PUSH1 0x04
00002946: DUP8
00002947: ADD
00002948: MSTORE
00002949: PUSH1 0x24
0000294b: DUP7
0000294c: ADD
0000294d: MSTORE
0000294e: PUSH1 0x44
00002950: DUP6
00002951: ADD
00002952: MSTORE
00002953: PUSH1 0x64
00002955: DUP5
00002956: ADD
00002957: MSTORE
00002958: GAS
00002959: CALL
0000295a: PUSH2 0x2967
0000295d: JUMPI
0000295e: JUMPDEST
0000295f: DUP2
00002960: DUP2
00002961: DUP1
00002962: DUP1
00002963: DUP1
00002964: DUP5
00002965: DUP1
00002966: RETURN
00002967: JUMPDEST
00002968: PUSH2 0x2970
0000296b: SWAP1
0000296c: PUSH2 0x2f83
0000296f: JUMP
00002970: JUMPDEST
00002971: CODESIZE
00002972: PUSH2 0x295e
00002975: JUMP
00002976: JUMPDEST
00002977: PUSH1 0x01
00002979: DUP2
0000297a: ADD
0000297b: PUSH1 0x01
0000297d: PUSH1 0xc8
0000297f: SHL
00002980: PUSH1 0xff
00002982: PUSH1 0xc8
00002984: SHL
00002985: NOT
00002986: DUP3
00002987: SLOAD
00002988: AND
00002989: OR
0000298a: SWAP1
0000298b: SSTORE
0000298c: PUSH2 0x28ad
0000298f: JUMP
00002990: JUMPDEST
00002991: PUSH1 0x24
00002993: DUP5
00002994: PUSH1 0x40
00002996: MLOAD
00002997: SWAP1
00002998: PUSH4 0x39c6dc73
0000299d: PUSH1 0xe2
0000299f: SHL
000029a0: DUP3
000029a1: MSTORE
000029a2: PUSH1 0x04
000029a4: DUP3
000029a5: ADD
000029a6: MSTORE
000029a7: REVERT
000029a8: JUMPDEST
000029a9: PUSH1 0x24
000029ab: DUP5
000029ac: PUSH1 0x40
000029ae: MLOAD
000029af: SWAP1
000029b0: PUSH4 0x22cad1af
000029b5: PUSH1 0xe1
000029b7: SHL
000029b8: DUP3
000029b9: MSTORE
000029ba: PUSH1 0x04
000029bc: DUP3
000029bd: ADD
000029be: MSTORE
000029bf: REVERT
000029c0: JUMPDEST
000029c1: PUSH1 0x24
000029c3: SWAP1
000029c4: PUSH1 0x40
000029c6: MLOAD
000029c7: SWAP1
000029c8: PUSH4 0xfe19f19f
000029cd: PUSH1 0xe0
000029cf: SHL
000029d0: DUP3
000029d1: MSTORE
000029d2: PUSH1 0x04
000029d4: DUP3
000029d5: ADD
000029d6: MSTORE
000029d7: REVERT
000029d8: JUMPDEST
000029d9: POP
000029da: CALLVALUE
000029db: PUSH2 0x05b9
000029de: JUMPI
000029df: PUSH1 0x20
000029e1: CALLDATASIZE
000029e2: PUSH1 0x03
000029e4: NOT
000029e5: ADD
000029e6: SLT
000029e7: PUSH2 0x05b9
000029ea: JUMPI
000029eb: PUSH1 0x01
000029ed: PUSH1 0x01
000029ef: PUSH1 0x80
000029f1: SHL
000029f2: SUB
000029f3: PUSH1 0x40
000029f5: PUSH1 0x20
000029f7: SWAP3
000029f8: PUSH1 0x01
000029fa: PUSH1 0x01
000029fc: PUSH1 0xa0
000029fe: SHL
000029ff: SUB
00002a00: PUSH2 0x2a07
00002a03: PUSH2 0x2ef1
00002a06: JUMP
00002a07: JUMPDEST
00002a08: AND
00002a09: DUP2
00002a0a: MSTORE
00002a0b: PUSH1 0x02
00002a0d: DUP5
00002a0e: MSTORE
00002a0f: KECCAK256
00002a10: SLOAD
00002a11: AND
00002a12: PUSH1 0x40
00002a14: MLOAD
00002a15: SWAP1
00002a16: DUP2
00002a17: MSTORE
00002a18: RETURN
00002a19: JUMPDEST
00002a1a: POP
00002a1b: CALLVALUE
00002a1c: PUSH2 0x05b9
00002a1f: JUMPI
00002a20: PUSH2 0x0a4f
00002a23: PUSH2 0x2a2b
00002a26: CALLDATASIZE
00002a27: PUSH2 0x2f1d
00002a2a: JUMP
00002a2b: JUMPDEST
00002a2c: SWAP2
00002a2d: PUSH2 0x2a3e
00002a30: PUSH2 0x2a39
00002a33: DUP5
00002a34: CALLER
00002a35: PUSH2 0x3495
00002a38: JUMP
00002a39: JUMPDEST
00002a3a: PUSH2 0x30c9
00002a3d: JUMP
00002a3e: JUMPDEST
00002a3f: PUSH2 0x3574
00002a42: JUMP
00002a43: JUMPDEST
00002a44: POP
00002a45: CALLVALUE
00002a46: PUSH2 0x05b9
00002a49: JUMPI
00002a4a: DUP1
00002a4b: PUSH1 0x03
00002a4d: NOT
00002a4e: CALLDATASIZE
00002a4f: ADD
00002a50: SLT
00002a51: PUSH2 0x05b9
00002a54: JUMPI
00002a55: PUSH1 0x20
00002a57: PUSH1 0x09
00002a59: SLOAD
00002a5a: PUSH1 0x40
00002a5c: MLOAD
00002a5d: SWAP1
00002a5e: DUP2
00002a5f: MSTORE
00002a60: RETURN
00002a61: JUMPDEST
00002a62: POP
00002a63: CALLVALUE
00002a64: PUSH2 0x05b9
00002a67: JUMPI
00002a68: PUSH1 0x20
00002a6a: CALLDATASIZE
00002a6b: PUSH1 0x03
00002a6d: NOT
00002a6e: ADD
00002a6f: SLT
00002a70: PUSH2 0x05b9
00002a73: JUMPI
00002a74: PUSH1 0x04
00002a76: CALLDATALOAD
00002a77: DUP1
00002a78: DUP3
00002a79: MSTORE
00002a7a: PUSH1 0x0b
00002a7c: PUSH1 0x20
00002a7e: MSTORE
00002a7f: PUSH1 0xff
00002a81: PUSH1 0x01
00002a83: PUSH1 0x40
00002a85: DUP5
00002a86: KECCAK256
00002a87: ADD
00002a88: SLOAD
00002a89: PUSH1 0xd0
00002a8b: SHR
00002a8c: AND
00002a8d: ISZERO
00002a8e: PUSH2 0x065d
00002a91: JUMPI
00002a92: PUSH2 0x2a9a
00002a95: SWAP1
00002a96: PUSH2 0x340e
00002a99: JUMP
00002a9a: JUMPDEST
00002a9b: SWAP1
00002a9c: PUSH1 0x05
00002a9e: DUP3
00002a9f: LT
00002aa0: ISZERO
00002aa1: PUSH2 0x197e
00002aa4: JUMPI
00002aa5: PUSH1 0x20
00002aa7: DUP3
00002aa8: ISZERO
00002aa9: DUP4
00002aaa: DUP2
00002aab: ISZERO
00002aac: PUSH2 0x2abb
00002aaf: JUMPI
00002ab0: JUMPDEST
00002ab1: POP
00002ab2: PUSH1 0x40
00002ab4: MLOAD
00002ab5: SWAP1
00002ab6: ISZERO
00002ab7: ISZERO
00002ab8: DUP2
00002ab9: MSTORE
00002aba: RETURN
00002abb: JUMPDEST
00002abc: PUSH1 0x01
00002abe: SWAP2
00002abf: POP
00002ac0: EQ
00002ac1: DUP3
00002ac2: PUSH2 0x2ab0
00002ac5: JUMP
00002ac6: JUMPDEST
00002ac7: POP
00002ac8: CALLVALUE
00002ac9: PUSH2 0x05b9
00002acc: JUMPI
00002acd: PUSH1 0x20
00002acf: CALLDATASIZE
00002ad0: PUSH1 0x03
00002ad2: NOT
00002ad3: ADD
00002ad4: SLT
00002ad5: PUSH2 0x05b9
00002ad8: JUMPI
00002ad9: PUSH1 0x04
00002adb: CALLDATALOAD
00002adc: SWAP1
00002add: DUP2
00002ade: DUP2
00002adf: MSTORE
00002ae0: PUSH1 0x0b
00002ae2: PUSH1 0x20
00002ae4: MSTORE
00002ae5: PUSH1 0xff
00002ae7: PUSH1 0x01
00002ae9: PUSH1 0x40
00002aeb: DUP4
00002aec: KECCAK256
00002aed: ADD
00002aee: SLOAD
00002aef: PUSH1 0xd0
00002af1: SHR
00002af2: AND
00002af3: ISZERO
00002af4: PUSH2 0x0d24
00002af7: JUMPI
00002af8: PUSH1 0x20
00002afa: SWAP2
00002afb: PUSH1 0x40
00002afd: DUP3
00002afe: DUP3
00002aff: DUP2
00002b00: MSTORE
00002b01: PUSH1 0x0b
00002b03: DUP6
00002b04: MSTORE
00002b05: KECCAK256
00002b06: PUSH1 0xff
00002b08: DUP2
00002b09: SLOAD
00002b0a: PUSH1 0xf0
00002b0c: SHR
00002b0d: AND
00002b0e: DUP1
00002b0f: PUSH2 0x2b54
00002b12: JUMPI
00002b13: JUMPDEST
00002b14: PUSH2 0x2b2b
00002b17: JUMPI
00002b18: JUMPDEST
00002b19: POP
00002b1a: POP
00002b1b: PUSH1 0x01
00002b1d: PUSH1 0x01
00002b1f: PUSH1 0x80
00002b21: SHL
00002b22: SUB
00002b23: PUSH1 0x40
00002b25: MLOAD
00002b26: SWAP2
00002b27: AND
00002b28: DUP2
00002b29: MSTORE
00002b2a: RETURN
00002b2b: JUMPDEST
00002b2c: PUSH2 0x2b4d
00002b2f: SWAP3
00002b30: POP
00002b31: PUSH1 0x01
00002b33: PUSH1 0x01
00002b35: PUSH1 0x80
00002b37: SHL
00002b38: SUB
00002b39: PUSH1 0x02
00002b3b: PUSH2 0x2b47
00002b3e: SWAP3
00002b3f: ADD
00002b40: SLOAD
00002b41: AND
00002b42: SWAP2
00002b43: PUSH2 0x3358
00002b46: JUMP
00002b47: JUMPDEST
00002b48: SWAP1
00002b49: PUSH2 0x309a
00002b4c: JUMP
00002b4d: JUMPDEST
00002b4e: CODESIZE
00002b4f: DUP1
00002b50: PUSH2 0x2b18
00002b53: JUMP
00002b54: JUMPDEST
00002b55: POP
00002b56: PUSH1 0xff
00002b58: PUSH1 0x01
00002b5a: DUP3
00002b5b: ADD
00002b5c: SLOAD
00002b5d: PUSH1 0xc8
00002b5f: SHR
00002b60: AND
00002b61: ISZERO
00002b62: PUSH2 0x2b13
00002b65: JUMP
00002b66: JUMPDEST
00002b67: POP
00002b68: CALLVALUE
00002b69: PUSH2 0x05b9
00002b6c: JUMPI
00002b6d: PUSH1 0x40
00002b6f: CALLDATASIZE
00002b70: PUSH1 0x03
00002b72: NOT
00002b73: ADD
00002b74: SLT
00002b75: PUSH2 0x05b9
00002b78: JUMPI
00002b79: PUSH2 0x2b80
00002b7c: PUSH2 0x2ef1
00002b7f: JUMP
00002b80: JUMPDEST
00002b81: PUSH1 0x24
00002b83: CALLDATALOAD
00002b84: SWAP1
00002b85: PUSH1 0x01
00002b87: PUSH1 0x01
00002b89: PUSH1 0xa0
00002b8b: SHL
00002b8c: SUB
00002b8d: DUP1
00002b8e: DUP1
00002b8f: PUSH2 0x2b97
00002b92: DUP6
00002b93: PUSH2 0x31bc
00002b96: JUMP
00002b97: JUMPDEST
00002b98: AND
00002b99: SWAP3
00002b9a: AND
00002b9b: SWAP2
00002b9c: DUP1
00002b9d: DUP4
00002b9e: EQ
00002b9f: PUSH2 0x2c8b
00002ba2: JUMPI
00002ba3: DUP1
00002ba4: CALLER
00002ba5: EQ
00002ba6: SWAP1
00002ba7: DUP2
00002ba8: ISZERO
00002ba9: PUSH2 0x2c6a
00002bac: JUMPI
00002bad: JUMPDEST
00002bae: POP
00002baf: ISZERO
00002bb0: PUSH2 0x2c00
00002bb3: JUMPI
00002bb4: DUP3
00002bb5: DUP5
00002bb6: MSTORE
00002bb7: PUSH1 0x07
00002bb9: PUSH1 0x20
00002bbb: MSTORE
00002bbc: PUSH1 0x40
00002bbe: DUP5
00002bbf: KECCAK256
00002bc0: DUP3
00002bc1: PUSH1 0x01
00002bc3: PUSH1 0x01
00002bc5: PUSH1 0xa0
00002bc7: SHL
00002bc8: SUB
00002bc9: NOT
00002bca: DUP3
00002bcb: SLOAD
00002bcc: AND
00002bcd: OR
00002bce: SWAP1
00002bcf: SSTORE
00002bd0: PUSH2 0x2bd8
00002bd3: DUP4
00002bd4: PUSH2 0x31bc
00002bd7: JUMP
00002bd8: JUMPDEST
00002bd9: AND
00002bda: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002bfb: DUP5
00002bfc: DUP1
00002bfd: LOG4
00002bfe: DUP1
00002bff: RETURN
00002c00: JUMPDEST
00002c01: PUSH1 0x84
00002c03: PUSH1 0x40
00002c05: MLOAD
00002c06: PUSH3 0x461bcd
00002c0a: PUSH1 0xe5
00002c0c: SHL
00002c0d: DUP2
00002c0e: MSTORE
00002c0f: PUSH1 0x20
00002c11: PUSH1 0x04
00002c13: DUP3
00002c14: ADD
00002c15: MSTORE
00002c16: PUSH1 0x3d
00002c18: PUSH1 0x24
00002c1a: DUP3
00002c1b: ADD
00002c1c: MSTORE
00002c1d: PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f
00002c3e: PUSH1 0x44
00002c40: DUP3
00002c41: ADD
00002c42: MSTORE
00002c43: PUSH32 0x6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000
00002c64: PUSH1 0x64
00002c66: DUP3
00002c67: ADD
00002c68: MSTORE
00002c69: REVERT
00002c6a: JUMPDEST
00002c6b: SWAP1
00002c6c: POP
00002c6d: DUP5
00002c6e: MSTORE
00002c6f: PUSH1 0x08
00002c71: PUSH1 0x20
00002c73: MSTORE
00002c74: PUSH1 0x40
00002c76: DUP5
00002c77: KECCAK256
00002c78: CALLER
00002c79: DUP6
00002c7a: MSTORE
00002c7b: PUSH1 0x20
00002c7d: MSTORE
00002c7e: PUSH1 0xff
00002c80: PUSH1 0x40
00002c82: DUP6
00002c83: KECCAK256
00002c84: SLOAD
00002c85: AND
00002c86: CODESIZE
00002c87: PUSH2 0x2bad
00002c8a: JUMP
00002c8b: JUMPDEST
00002c8c: PUSH1 0x84
00002c8e: PUSH1 0x40
00002c90: MLOAD
00002c91: PUSH3 0x461bcd
00002c95: PUSH1 0xe5
00002c97: SHL
00002c98: DUP2
00002c99: MSTORE
00002c9a: PUSH1 0x20
00002c9c: PUSH1 0x04
00002c9e: DUP3
00002c9f: ADD
00002ca0: MSTORE
00002ca1: PUSH1 0x21
00002ca3: PUSH1 0x24
00002ca5: DUP3
00002ca6: ADD
00002ca7: MSTORE
00002ca8: PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65
00002cc9: PUSH1 0x44
00002ccb: DUP3
00002ccc: ADD
00002ccd: MSTORE
00002cce: PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000
00002cef: PUSH1 0x64
00002cf1: DUP3
00002cf2: ADD
00002cf3: MSTORE
00002cf4: REVERT
00002cf5: JUMPDEST
00002cf6: POP
00002cf7: CALLVALUE
00002cf8: PUSH2 0x05b9
00002cfb: JUMPI
00002cfc: PUSH1 0x20
00002cfe: CALLDATASIZE
00002cff: PUSH1 0x03
00002d01: NOT
00002d02: ADD
00002d03: SLT
00002d04: PUSH2 0x05b9
00002d07: JUMPI
00002d08: PUSH1 0x20
00002d0a: PUSH2 0x2444
00002d0d: PUSH1 0x04
00002d0f: CALLDATALOAD
00002d10: PUSH2 0x305d
00002d13: JUMP
00002d14: JUMPDEST
00002d15: POP
00002d16: CALLVALUE
00002d17: PUSH2 0x05b9
00002d1a: JUMPI
00002d1b: DUP1
00002d1c: PUSH1 0x03
00002d1e: NOT
00002d1f: CALLDATASIZE
00002d20: ADD
00002d21: SLT
00002d22: PUSH2 0x05b9
00002d25: JUMPI
00002d26: PUSH1 0x40
00002d28: MLOAD
00002d29: SWAP1
00002d2a: DUP1
00002d2b: PUSH1 0x03
00002d2d: SLOAD
00002d2e: SWAP2
00002d2f: PUSH1 0x01
00002d31: DUP4
00002d32: PUSH1 0x01
00002d34: SHR
00002d35: SWAP3
00002d36: PUSH1 0x01
00002d38: DUP6
00002d39: AND
00002d3a: SWAP5
00002d3b: DUP6
00002d3c: ISZERO
00002d3d: PUSH2 0x2dce
00002d40: JUMPI
00002d41: JUMPDEST
00002d42: PUSH1 0x20
00002d44: SWAP6
00002d45: DUP7
00002d46: DUP7
00002d47: LT
00002d48: DUP2
00002d49: EQ
00002d4a: PUSH2 0x1893
00002d4d: JUMPI
00002d4e: DUP6
00002d4f: DUP9
00002d50: MSTORE
00002d51: DUP8
00002d52: SWAP5
00002d53: SWAP4
00002d54: SWAP3
00002d55: SWAP2
00002d56: DUP8
00002d57: SWAP1
00002d58: DUP3
00002d59: ISZERO
00002d5a: PUSH2 0x1871
00002d5d: JUMPI
00002d5e: POP
00002d5f: POP
00002d60: PUSH1 0x01
00002d62: EQ
00002d63: PUSH2 0x2d74
00002d66: JUMPI
00002d67: POP
00002d68: POP
00002d69: PUSH2 0x1803
00002d6c: SWAP3
00002d6d: POP
00002d6e: SUB
00002d6f: DUP4
00002d70: PUSH2 0x3009
00002d73: JUMP
00002d74: JUMPDEST
00002d75: SWAP1
00002d76: DUP6
00002d77: SWAP3
00002d78: POP
00002d79: PUSH1 0x03
00002d7b: DUP3
00002d7c: MSTORE
00002d7d: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
00002d9e: JUMPDEST
00002d9f: DUP6
00002da0: DUP4
00002da1: LT
00002da2: PUSH2 0x2db6
00002da5: JUMPI
00002da6: POP
00002da7: POP
00002da8: PUSH2 0x1803
00002dab: SWAP4
00002dac: POP
00002dad: DUP3
00002dae: ADD
00002daf: ADD
00002db0: CODESIZE
00002db1: DUP1
00002db2: PUSH2 0x17f5
00002db5: JUMP
00002db6: JUMPDEST
00002db7: DUP1
00002db8: SLOAD
00002db9: DUP4
00002dba: DUP10
00002dbb: ADD
00002dbc: DUP6
00002dbd: ADD
00002dbe: MSTORE
00002dbf: DUP8
00002dc0: SWAP5
00002dc1: POP
00002dc2: DUP7
00002dc3: SWAP4
00002dc4: SWAP1
00002dc5: SWAP3
00002dc6: ADD
00002dc7: SWAP2
00002dc8: DUP2
00002dc9: ADD
00002dca: PUSH2 0x2d9e
00002dcd: JUMP
00002dce: JUMPDEST
00002dcf: SWAP4
00002dd0: PUSH1 0x7f
00002dd2: AND
00002dd3: SWAP4
00002dd4: PUSH2 0x2d41
00002dd7: JUMP
00002dd8: JUMPDEST
00002dd9: SWAP1
00002dda: POP
00002ddb: CALLVALUE
00002ddc: PUSH2 0x09b1
00002ddf: JUMPI
00002de0: PUSH1 0x20
00002de2: CALLDATASIZE
00002de3: PUSH1 0x03
00002de5: NOT
00002de6: ADD
00002de7: SLT
00002de8: PUSH2 0x09b1
00002deb: JUMPI
00002dec: PUSH1 0x04
00002dee: CALLDATALOAD
00002def: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00002e10: DUP2
00002e11: AND
00002e12: DUP1
00002e13: SWAP2
00002e14: SUB
00002e15: PUSH2 0x0488
00002e18: JUMPI
00002e19: PUSH1 0x20
00002e1b: SWAP3
00002e1c: POP
00002e1d: PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000
00002e3e: DUP2
00002e3f: EQ
00002e40: SWAP1
00002e41: DUP2
00002e42: ISZERO
00002e43: PUSH2 0x2e7f
00002e46: JUMPI
00002e47: JUMPDEST
00002e48: DUP2
00002e49: ISZERO
00002e4a: PUSH2 0x2e55
00002e4d: JUMPI
00002e4e: JUMPDEST
00002e4f: POP
00002e50: ISZERO
00002e51: ISZERO
00002e52: DUP2
00002e53: MSTORE
00002e54: RETURN
00002e55: JUMPDEST
00002e56: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00002e77: SWAP2
00002e78: POP
00002e79: EQ
00002e7a: CODESIZE
00002e7b: PUSH2 0x2e4e
00002e7e: JUMP
00002e7f: JUMPDEST
00002e80: PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000
00002ea1: DUP2
00002ea2: EQ
00002ea3: SWAP2
00002ea4: POP
00002ea5: PUSH2 0x2e47
00002ea8: JUMP
00002ea9: JUMPDEST
00002eaa: PUSH1 0x00
00002eac: JUMPDEST
00002ead: DUP4
00002eae: DUP2
00002eaf: LT
00002eb0: PUSH2 0x2ebc
00002eb3: JUMPI
00002eb4: POP
00002eb5: POP
00002eb6: PUSH1 0x00
00002eb8: SWAP2
00002eb9: ADD
00002eba: MSTORE
00002ebb: JUMP
00002ebc: JUMPDEST
00002ebd: DUP2
00002ebe: DUP2
00002ebf: ADD
00002ec0: MLOAD
00002ec1: DUP4
00002ec2: DUP3
00002ec3: ADD
00002ec4: MSTORE
00002ec5: PUSH1 0x20
00002ec7: ADD
00002ec8: PUSH2 0x2eac
00002ecb: JUMP
00002ecc: JUMPDEST
00002ecd: SWAP1
00002ece: PUSH1 0x20
00002ed0: SWAP2
00002ed1: PUSH2 0x2ee5
00002ed4: DUP2
00002ed5: MLOAD
00002ed6: DUP1
00002ed7: SWAP3
00002ed8: DUP2
00002ed9: DUP6
00002eda: MSTORE
00002edb: DUP6
00002edc: DUP1
00002edd: DUP7
00002ede: ADD
00002edf: SWAP2
00002ee0: ADD
00002ee1: PUSH2 0x2ea9
00002ee4: JUMP
00002ee5: JUMPDEST
00002ee6: PUSH1 0x1f
00002ee8: ADD
00002ee9: PUSH1 0x1f
00002eeb: NOT
00002eec: AND
00002eed: ADD
00002eee: ADD
00002eef: SWAP1
00002ef0: JUMP
00002ef1: JUMPDEST
00002ef2: PUSH1 0x04
00002ef4: CALLDATALOAD
00002ef5: SWAP1
00002ef6: PUSH1 0x01
00002ef8: PUSH1 0x01
00002efa: PUSH1 0xa0
00002efc: SHL
00002efd: SUB
00002efe: DUP3
00002eff: AND
00002f00: DUP3
00002f01: SUB
00002f02: PUSH2 0x1071
00002f05: JUMPI
00002f06: JUMP
00002f07: JUMPDEST
00002f08: PUSH1 0x24
00002f0a: CALLDATALOAD
00002f0b: SWAP1
00002f0c: PUSH1 0x01
00002f0e: PUSH1 0x01
00002f10: PUSH1 0xa0
00002f12: SHL
00002f13: SUB
00002f14: DUP3
00002f15: AND
00002f16: DUP3
00002f17: SUB
00002f18: PUSH2 0x1071
00002f1b: JUMPI
00002f1c: JUMP
00002f1d: JUMPDEST
00002f1e: PUSH1 0x60
00002f20: SWAP1
00002f21: PUSH1 0x03
00002f23: NOT
00002f24: ADD
00002f25: SLT
00002f26: PUSH2 0x1071
00002f29: JUMPI
00002f2a: PUSH1 0x01
00002f2c: PUSH1 0x01
00002f2e: PUSH1 0xa0
00002f30: SHL
00002f31: SUB
00002f32: SWAP1
00002f33: PUSH1 0x04
00002f35: CALLDATALOAD
00002f36: DUP3
00002f37: DUP2
00002f38: AND
00002f39: DUP2
00002f3a: SUB
00002f3b: PUSH2 0x1071
00002f3e: JUMPI
00002f3f: SWAP2
00002f40: PUSH1 0x24
00002f42: CALLDATALOAD
00002f43: SWAP1
00002f44: DUP2
00002f45: AND
00002f46: DUP2
00002f47: SUB
00002f48: PUSH2 0x1071
00002f4b: JUMPI
00002f4c: SWAP1
00002f4d: PUSH1 0x44
00002f4f: CALLDATALOAD
00002f50: SWAP1
00002f51: JUMP
00002f52: JUMPDEST
00002f53: SWAP2
00002f54: DUP2
00002f55: PUSH1 0x1f
00002f57: DUP5
00002f58: ADD
00002f59: SLT
00002f5a: ISZERO
00002f5b: PUSH2 0x1071
00002f5e: JUMPI
00002f5f: DUP3
00002f60: CALLDATALOAD
00002f61: SWAP2
00002f62: PUSH8 0xffffffffffffffff
00002f6b: DUP4
00002f6c: GT
00002f6d: PUSH2 0x1071
00002f70: JUMPI
00002f71: PUSH1 0x20
00002f73: DUP1
00002f74: DUP6
00002f75: ADD
00002f76: SWAP5
00002f77: DUP5
00002f78: PUSH1 0x05
00002f7a: SHL
00002f7b: ADD
00002f7c: ADD
00002f7d: GT
00002f7e: PUSH2 0x1071
00002f81: JUMPI
00002f82: JUMP
00002f83: JUMPDEST
00002f84: PUSH8 0xffffffffffffffff
00002f8d: DUP2
00002f8e: GT
00002f8f: PUSH2 0x2705
00002f92: JUMPI
00002f93: PUSH1 0x40
00002f95: MSTORE
00002f96: JUMP
00002f97: JUMPDEST
00002f98: PUSH2 0x0160
00002f9b: DUP2
00002f9c: ADD
00002f9d: SWAP1
00002f9e: DUP2
00002f9f: LT
00002fa0: PUSH8 0xffffffffffffffff
00002fa9: DUP3
00002faa: GT
00002fab: OR
00002fac: PUSH2 0x2705
00002faf: JUMPI
00002fb0: PUSH1 0x40
00002fb2: MSTORE
00002fb3: JUMP
00002fb4: JUMPDEST
00002fb5: PUSH2 0x0100
00002fb8: DUP2
00002fb9: ADD
00002fba: SWAP1
00002fbb: DUP2
00002fbc: LT
00002fbd: PUSH8 0xffffffffffffffff
00002fc6: DUP3
00002fc7: GT
00002fc8: OR
00002fc9: PUSH2 0x2705
00002fcc: JUMPI
00002fcd: PUSH1 0x40
00002fcf: MSTORE
00002fd0: JUMP
00002fd1: JUMPDEST
00002fd2: PUSH1 0x60
00002fd4: DUP2
00002fd5: ADD
00002fd6: SWAP1
00002fd7: DUP2
00002fd8: LT
00002fd9: PUSH8 0xffffffffffffffff
00002fe2: DUP3
00002fe3: GT
00002fe4: OR
00002fe5: PUSH2 0x2705
00002fe8: JUMPI
00002fe9: PUSH1 0x40
00002feb: MSTORE
00002fec: JUMP
00002fed: JUMPDEST
00002fee: PUSH1 0x40
00002ff0: DUP2
00002ff1: ADD
00002ff2: SWAP1
00002ff3: DUP2
00002ff4: LT
00002ff5: PUSH8 0xffffffffffffffff
00002ffe: DUP3
00002fff: GT
00003000: OR
00003001: PUSH2 0x2705
00003004: JUMPI
00003005: PUSH1 0x40
00003007: MSTORE
00003008: JUMP
00003009: JUMPDEST
0000300a: SWAP1
0000300b: PUSH1 0x1f
0000300d: DUP1
0000300e: NOT
0000300f: SWAP2
00003010: ADD
00003011: AND
00003012: DUP2
00003013: ADD
00003014: SWAP1
00003015: DUP2
00003016: LT
00003017: PUSH8 0xffffffffffffffff
00003020: DUP3
00003021: GT
00003022: OR
00003023: PUSH2 0x2705
00003026: JUMPI
00003027: PUSH1 0x40
00003029: MSTORE
0000302a: JUMP
0000302b: JUMPDEST
0000302c: PUSH8 0xffffffffffffffff
00003035: DUP2
00003036: GT
00003037: PUSH2 0x2705
0000303a: JUMPI
0000303b: PUSH1 0x1f
0000303d: ADD
0000303e: PUSH1 0x1f
00003040: NOT
00003041: AND
00003042: PUSH1 0x20
00003044: ADD
00003045: SWAP1
00003046: JUMP
00003047: JUMPDEST
00003048: PUSH1 0x44
0000304a: CALLDATALOAD
0000304b: SWAP1
0000304c: PUSH1 0x01
0000304e: PUSH1 0x01
00003050: PUSH1 0x80
00003052: SHL
00003053: SUB
00003054: DUP3
00003055: AND
00003056: DUP3
00003057: SUB
00003058: PUSH2 0x1071
0000305b: JUMPI
0000305c: JUMP
0000305d: JUMPDEST
0000305e: PUSH2 0x3080
00003061: PUSH2 0x08c0
00003064: DUP3
00003065: PUSH1 0x00
00003067: MSTORE
00003068: PUSH1 0x05
0000306a: PUSH1 0x20
0000306c: MSTORE
0000306d: PUSH1 0x01
0000306f: PUSH1 0x01
00003071: PUSH1 0xa0
00003073: SHL
00003074: SUB
00003075: PUSH1 0x40
00003077: PUSH1 0x00
00003079: KECCAK256
0000307a: SLOAD
0000307b: AND
0000307c: ISZERO
0000307d: ISZERO
0000307e: SWAP1
0000307f: JUMP
00003080: JUMPDEST
00003081: PUSH1 0x00
00003083: MSTORE
00003084: PUSH1 0x07
00003086: PUSH1 0x20
00003088: MSTORE
00003089: PUSH1 0x01
0000308b: PUSH1 0x01
0000308d: PUSH1 0xa0
0000308f: SHL
00003090: SUB
00003091: PUSH1 0x40
00003093: PUSH1 0x00
00003095: KECCAK256
00003096: SLOAD
00003097: AND
00003098: SWAP1
00003099: JUMP
0000309a: JUMPDEST
0000309b: PUSH1 0x01
0000309d: PUSH1 0x01
0000309f: PUSH1 0x80
000030a1: SHL
000030a2: SUB
000030a3: SWAP2
000030a4: DUP3
000030a5: AND
000030a6: SWAP1
000030a7: DUP3
000030a8: AND
000030a9: SUB
000030aa: SWAP2
000030ab: SWAP1
000030ac: DUP3
000030ad: GT
000030ae: PUSH2 0x30b3
000030b1: JUMPI
000030b2: JUMP
000030b3: JUMPDEST
000030b4: PUSH4 0x4e487b71
000030b9: PUSH1 0xe0
000030bb: SHL
000030bc: PUSH1 0x00
000030be: MSTORE
000030bf: PUSH1 0x11
000030c1: PUSH1 0x04
000030c3: MSTORE
000030c4: PUSH1 0x24
000030c6: PUSH1 0x00
000030c8: REVERT
000030c9: JUMPDEST
000030ca: ISZERO
000030cb: PUSH2 0x30d0
000030ce: JUMPI
000030cf: JUMP
000030d0: JUMPDEST
000030d1: PUSH1 0x84
000030d3: PUSH1 0x40
000030d5: MLOAD
000030d6: PUSH3 0x461bcd
000030da: PUSH1 0xe5
000030dc: SHL
000030dd: DUP2
000030de: MSTORE
000030df: PUSH1 0x20
000030e1: PUSH1 0x04
000030e3: DUP3
000030e4: ADD
000030e5: MSTORE
000030e6: PUSH1 0x2d
000030e8: PUSH1 0x24
000030ea: DUP3
000030eb: ADD
000030ec: MSTORE
000030ed: PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65
0000310e: PUSH1 0x44
00003110: DUP3
00003111: ADD
00003112: MSTORE
00003113: PUSH32 0x72206f7220617070726f76656400000000000000000000000000000000000000
00003134: PUSH1 0x64
00003136: DUP3
00003137: ADD
00003138: MSTORE
00003139: REVERT
0000313a: JUMPDEST
0000313b: DUP1
0000313c: PUSH1 0x00
0000313e: MSTORE
0000313f: PUSH1 0x0b
00003141: PUSH1 0x20
00003143: MSTORE
00003144: PUSH1 0xff
00003146: PUSH1 0x01
00003148: PUSH1 0x40
0000314a: PUSH1 0x00
0000314c: KECCAK256
0000314d: ADD
0000314e: SLOAD
0000314f: PUSH1 0xd0
00003151: SHR
00003152: AND
00003153: ISZERO
00003154: PUSH2 0x065d
00003157: JUMPI
00003158: PUSH1 0x00
0000315a: MSTORE
0000315b: PUSH1 0x0b
0000315d: PUSH1 0x20
0000315f: MSTORE
00003160: PUSH1 0xff
00003162: PUSH1 0x01
00003164: PUSH1 0x40
00003166: PUSH1 0x00
00003168: KECCAK256
00003169: ADD
0000316a: SLOAD
0000316b: PUSH1 0xc8
0000316d: SHR
0000316e: AND
0000316f: SWAP1
00003170: JUMP
00003171: JUMPDEST
00003172: ISZERO
00003173: PUSH2 0x3178
00003176: JUMPI
00003177: JUMP
00003178: JUMPDEST
00003179: PUSH1 0x64
0000317b: PUSH1 0x40
0000317d: MLOAD
0000317e: PUSH3 0x461bcd
00003182: PUSH1 0xe5
00003184: SHL
00003185: DUP2
00003186: MSTORE
00003187: PUSH1 0x20
00003189: PUSH1 0x04
0000318b: DUP3
0000318c: ADD
0000318d: MSTORE
0000318e: PUSH1 0x18
00003190: PUSH1 0x24
00003192: DUP3
00003193: ADD
00003194: MSTORE
00003195: PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000
000031b6: PUSH1 0x44
000031b8: DUP3
000031b9: ADD
000031ba: MSTORE
000031bb: REVERT
000031bc: JUMPDEST
000031bd: PUSH1 0x00
000031bf: MSTORE
000031c0: PUSH1 0x05
000031c2: PUSH1 0x20
000031c4: MSTORE
000031c5: PUSH1 0x01
000031c7: PUSH1 0x01
000031c9: PUSH1 0xa0
000031cb: SHL
000031cc: SUB
000031cd: PUSH1 0x40
000031cf: PUSH1 0x00
000031d1: KECCAK256
000031d2: SLOAD
000031d3: AND
000031d4: PUSH2 0x31de
000031d7: DUP2
000031d8: ISZERO
000031d9: ISZERO
000031da: PUSH2 0x3171
000031dd: JUMP
000031de: JUMPDEST
000031df: SWAP1
000031e0: JUMP
000031e1: JUMPDEST
000031e2: SWAP2
000031e3: SWAP1
000031e4: DUP2
000031e5: LT
000031e6: ISZERO
000031e7: PUSH2 0x31f1
000031ea: JUMPI
000031eb: PUSH1 0x05
000031ed: SHL
000031ee: ADD
000031ef: SWAP1
000031f0: JUMP
000031f1: JUMPDEST
000031f2: PUSH4 0x4e487b71
000031f7: PUSH1 0xe0
000031f9: SHL
000031fa: PUSH1 0x00
000031fc: MSTORE
000031fd: PUSH1 0x32
000031ff: PUSH1 0x04
00003201: MSTORE
00003202: PUSH1 0x24
00003204: PUSH1 0x00
00003206: REVERT
00003207: JUMPDEST
00003208: PUSH1 0x40
0000320a: MLOAD
0000320b: SWAP1
0000320c: PUSH2 0x3214
0000320f: DUP3
00003210: PUSH2 0x2fd1
00003213: JUMP
00003214: JUMPDEST
00003215: PUSH1 0x00
00003217: PUSH1 0x40
00003219: DUP4
0000321a: DUP3
0000321b: DUP2
0000321c: MSTORE
0000321d: DUP3
0000321e: PUSH1 0x20
00003220: DUP3
00003221: ADD
00003222: MSTORE
00003223: ADD
00003224: MSTORE
00003225: JUMP
00003226: JUMPDEST
00003227: SWAP1
00003228: PUSH1 0x40
0000322a: MLOAD
0000322b: PUSH2 0x3233
0000322e: DUP2
0000322f: PUSH2 0x2fd1
00003232: JUMP
00003233: JUMPDEST
00003234: PUSH1 0x40
00003236: DUP2
00003237: SWAP4
00003238: PUSH1 0x01
0000323a: DUP2
0000323b: SLOAD
0000323c: SWAP2
0000323d: PUSH1 0x01
0000323f: PUSH1 0x01
00003241: PUSH1 0x80
00003243: SHL
00003244: SUB
00003245: SWAP3
00003246: DUP4
00003247: DUP2
00003248: AND
00003249: DUP7
0000324a: MSTORE
0000324b: PUSH1 0x80
0000324d: SHR
0000324e: PUSH1 0x20
00003250: DUP7
00003251: ADD
00003252: MSTORE
00003253: ADD
00003254: SLOAD
00003255: AND
00003256: SWAP2
00003257: ADD
00003258: MSTORE
00003259: JUMP
0000325a: JUMPDEST
0000325b: DUP1
0000325c: PUSH1 0x00
0000325e: MSTORE
0000325f: PUSH1 0x0b
00003261: PUSH1 0x20
00003263: MSTORE
00003264: PUSH1 0xff
00003266: PUSH1 0x01
00003268: PUSH1 0x40
0000326a: PUSH1 0x00
0000326c: KECCAK256
0000326d: ADD
0000326e: SLOAD
0000326f: PUSH1 0xd0
00003271: SHR
00003272: AND
00003273: ISZERO
00003274: PUSH2 0x065d
00003277: JUMPI
00003278: PUSH1 0x00
0000327a: MSTORE
0000327b: PUSH1 0x0b
0000327d: PUSH1 0x20
0000327f: MSTORE
00003280: PUSH1 0xff
00003282: PUSH1 0x01
00003284: PUSH1 0x40
00003286: PUSH1 0x00
00003288: KECCAK256
00003289: ADD
0000328a: SLOAD
0000328b: PUSH1 0xd8
0000328d: SHR
0000328e: AND
0000328f: SWAP1
00003290: JUMP
00003291: JUMPDEST
00003292: SWAP1
00003293: PUSH2 0x32b5
00003296: SWAP4
00003297: SWAP3
00003298: SWAP2
00003299: PUSH2 0x32a5
0000329c: PUSH2 0x2a39
0000329f: DUP5
000032a0: CALLER
000032a1: PUSH2 0x3495
000032a4: JUMP
000032a5: JUMPDEST
000032a6: PUSH2 0x32b0
000032a9: DUP4
000032aa: DUP4
000032ab: DUP4
000032ac: PUSH2 0x3574
000032af: JUMP
000032b0: JUMPDEST
000032b1: PUSH2 0x4469
000032b4: JUMP
000032b5: JUMPDEST
000032b6: ISZERO
000032b7: PUSH2 0x32bc
000032ba: JUMPI
000032bb: JUMP
000032bc: JUMPDEST
000032bd: PUSH1 0x40
000032bf: MLOAD
000032c0: PUSH3 0x461bcd
000032c4: PUSH1 0xe5
000032c6: SHL
000032c7: DUP2
000032c8: MSTORE
000032c9: PUSH1 0x20
000032cb: PUSH1 0x04
000032cd: DUP3
000032ce: ADD
000032cf: MSTORE
000032d0: PUSH1 0x32
000032d2: PUSH1 0x24
000032d4: DUP3
000032d5: ADD
000032d6: MSTORE
000032d7: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
000032f8: PUSH1 0x44
000032fa: DUP3
000032fb: ADD
000032fc: MSTORE
000032fd: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000
0000331e: PUSH1 0x64
00003320: DUP3
00003321: ADD
00003322: MSTORE
00003323: PUSH1 0x84
00003325: SWAP1
00003326: REVERT
00003327: JUMPDEST
00003328: DUP1
00003329: PUSH1 0x00
0000332b: MSTORE
0000332c: PUSH1 0x0b
0000332e: PUSH1 0x20
00003330: MSTORE
00003331: PUSH1 0xff
00003333: PUSH1 0x01
00003335: PUSH1 0x40
00003337: PUSH1 0x00
00003339: KECCAK256
0000333a: ADD
0000333b: SLOAD
0000333c: PUSH1 0xd0
0000333e: SHR
0000333f: AND
00003340: ISZERO
00003341: PUSH2 0x065d
00003344: JUMPI
00003345: PUSH1 0x00
00003347: MSTORE
00003348: PUSH1 0x0b
0000334a: PUSH1 0x20
0000334c: MSTORE
0000334d: PUSH1 0x40
0000334f: PUSH1 0x00
00003351: KECCAK256
00003352: SLOAD
00003353: PUSH1 0xf8
00003355: SHR
00003356: SWAP1
00003357: JUMP
00003358: JUMPDEST
00003359: PUSH1 0x00
0000335b: SWAP1
0000335c: DUP1
0000335d: DUP3
0000335e: MSTORE
0000335f: PUSH1 0x0b
00003361: PUSH1 0x20
00003363: MSTORE
00003364: PUSH1 0x40
00003366: DUP3
00003367: KECCAK256
00003368: SWAP2
00003369: DUP3
0000336a: SLOAD
0000336b: PUSH5 0xffffffffff
00003371: TIMESTAMP
00003372: DUP2
00003373: DUP4
00003374: PUSH1 0xc8
00003376: SHR
00003377: AND
00003378: GT
00003379: PUSH2 0x3406
0000337c: JUMPI
0000337d: DUP1
0000337e: PUSH1 0x01
00003380: DUP7
00003381: ADD
00003382: SLOAD
00003383: PUSH1 0xa0
00003385: SHR
00003386: AND
00003387: SWAP2
00003388: DUP3
00003389: TIMESTAMP
0000338a: LT
0000338b: ISZERO
0000338c: PUSH2 0x33f0
0000338f: JUMPI
00003390: PUSH2 0x33a5
00003393: SWAP4
00003394: SWAP5
00003395: SWAP6
00003396: POP
00003397: PUSH1 0xa0
00003399: SHR
0000339a: AND
0000339b: DUP1
0000339c: SWAP2
0000339d: SUB
0000339e: SWAP1
0000339f: TIMESTAMP
000033a0: SUB
000033a1: PUSH2 0x45fc
000033a4: JUMP
000033a5: JUMPDEST
000033a6: SWAP1
000033a7: DUP3
000033a8: DUP2
000033a9: MSTORE
000033aa: PUSH1 0x0b
000033ac: PUSH1 0x20
000033ae: MSTORE
000033af: PUSH1 0x01
000033b1: PUSH1 0x01
000033b3: PUSH1 0x80
000033b5: SHL
000033b6: SUB
000033b7: SWAP3
000033b8: PUSH2 0x33cb
000033bb: DUP5
000033bc: PUSH1 0x02
000033be: PUSH1 0x40
000033c0: DUP6
000033c1: KECCAK256
000033c2: ADD
000033c3: SLOAD
000033c4: AND
000033c5: DUP1
000033c6: SWAP5
000033c7: PUSH2 0x46dc
000033ca: JUMP
000033cb: JUMPDEST
000033cc: SWAP3
000033cd: DUP4
000033ce: GT
000033cf: PUSH2 0x33d8
000033d2: JUMPI
000033d3: POP
000033d4: POP
000033d5: AND
000033d6: SWAP1
000033d7: JUMP
000033d8: JUMPDEST
000033d9: PUSH1 0x02
000033db: SWAP4
000033dc: POP
000033dd: PUSH1 0x40
000033df: SWAP3
000033e0: POP
000033e1: DUP2
000033e2: MSTORE
000033e3: PUSH1 0x0b
000033e5: PUSH1 0x20
000033e7: MSTORE
000033e8: KECCAK256
000033e9: ADD
000033ea: SLOAD
000033eb: PUSH1 0x80
000033ed: SHR
000033ee: SWAP1
000033ef: JUMP
000033f0: JUMPDEST
000033f1: POP
000033f2: POP
000033f3: POP
000033f4: POP
000033f5: POP
000033f6: PUSH1 0x02
000033f8: PUSH1 0x01
000033fa: PUSH1 0x01
000033fc: PUSH1 0x80
000033fe: SHL
000033ff: SUB
00003400: SWAP2
00003401: ADD
00003402: SLOAD
00003403: AND
00003404: SWAP1
00003405: JUMP
00003406: JUMPDEST
00003407: POP
00003408: POP
00003409: SWAP2
0000340a: POP
0000340b: POP
0000340c: SWAP1
0000340d: JUMP
0000340e: JUMPDEST
0000340f: DUP1
00003410: PUSH1 0x00
00003412: MSTORE
00003413: PUSH1 0x0b
00003415: PUSH1 0x20
00003417: MSTORE
00003418: PUSH1 0x40
0000341a: PUSH1 0x00
0000341c: KECCAK256
0000341d: PUSH1 0xff
0000341f: PUSH1 0x01
00003421: DUP3
00003422: ADD
00003423: SLOAD
00003424: PUSH1 0xc8
00003426: SHR
00003427: AND
00003428: PUSH1 0x00
0000342a: EQ
0000342b: PUSH2 0x3435
0000342e: JUMPI
0000342f: POP
00003430: POP
00003431: PUSH1 0x04
00003433: SWAP1
00003434: JUMP
00003435: JUMPDEST
00003436: DUP1
00003437: SLOAD
00003438: PUSH1 0xf8
0000343a: SHR
0000343b: PUSH2 0x348e
0000343e: JUMPI
0000343f: SLOAD
00003440: PUSH1 0xa0
00003442: SHR
00003443: PUSH5 0xffffffffff
00003449: AND
0000344a: TIMESTAMP
0000344b: LT
0000344c: PUSH2 0x3488
0000344f: JUMPI
00003450: PUSH2 0x3458
00003453: DUP2
00003454: PUSH2 0x3358
00003457: JUMP
00003458: JUMPDEST
00003459: SWAP1
0000345a: PUSH1 0x00
0000345c: MSTORE
0000345d: PUSH1 0x0b
0000345f: PUSH1 0x20
00003461: MSTORE
00003462: PUSH1 0x01
00003464: PUSH1 0x01
00003466: PUSH1 0x80
00003468: SHL
00003469: SUB
0000346a: DUP1
0000346b: PUSH1 0x02
0000346d: PUSH1 0x40
0000346f: PUSH1 0x00
00003471: KECCAK256
00003472: ADD
00003473: SLOAD
00003474: AND
00003475: SWAP2
00003476: AND
00003477: LT
00003478: PUSH1 0x00
0000347a: EQ
0000347b: PUSH2 0x3483
0000347e: JUMPI
0000347f: PUSH1 0x01
00003481: SWAP1
00003482: JUMP
00003483: JUMPDEST
00003484: PUSH1 0x02
00003486: SWAP1
00003487: JUMP
00003488: JUMPDEST
00003489: POP
0000348a: PUSH1 0x00
0000348c: SWAP1
0000348d: JUMP
0000348e: JUMPDEST
0000348f: POP
00003490: POP
00003491: PUSH1 0x03
00003493: SWAP1
00003494: JUMP
00003495: JUMPDEST
00003496: SWAP1
00003497: PUSH1 0x01
00003499: PUSH1 0x01
0000349b: PUSH1 0xa0
0000349d: SHL
0000349e: SUB
0000349f: DUP1
000034a0: DUP1
000034a1: PUSH2 0x34a9
000034a4: DUP5
000034a5: PUSH2 0x31bc
000034a8: JUMP
000034a9: JUMPDEST
000034aa: AND
000034ab: SWAP4
000034ac: AND
000034ad: SWAP2
000034ae: DUP4
000034af: DUP4
000034b0: EQ
000034b1: SWAP4
000034b2: DUP5
000034b3: ISZERO
000034b4: PUSH2 0x34dc
000034b7: JUMPI
000034b8: JUMPDEST
000034b9: POP
000034ba: DUP4
000034bb: ISZERO
000034bc: PUSH2 0x34c6
000034bf: JUMPI
000034c0: JUMPDEST
000034c1: POP
000034c2: POP
000034c3: POP
000034c4: SWAP1
000034c5: JUMP
000034c6: JUMPDEST
000034c7: PUSH2 0x34d2
000034ca: SWAP2
000034cb: SWAP3
000034cc: SWAP4
000034cd: POP
000034ce: PUSH2 0x305d
000034d1: JUMP
000034d2: JUMPDEST
000034d3: AND
000034d4: EQ
000034d5: CODESIZE
000034d6: DUP1
000034d7: DUP1
000034d8: PUSH2 0x34c0
000034db: JUMP
000034dc: JUMPDEST
000034dd: SWAP1
000034de: SWAP4
000034df: POP
000034e0: PUSH1 0x00
000034e2: MSTORE
000034e3: PUSH1 0x08
000034e5: PUSH1 0x20
000034e7: MSTORE
000034e8: PUSH1 0x40
000034ea: PUSH1 0x00
000034ec: KECCAK256
000034ed: DUP3
000034ee: PUSH1 0x00
000034f0: MSTORE
000034f1: PUSH1 0x20
000034f3: MSTORE
000034f4: PUSH1 0xff
000034f6: PUSH1 0x40
000034f8: PUSH1 0x00
000034fa: KECCAK256
000034fb: SLOAD
000034fc: AND
000034fd: SWAP3
000034fe: CODESIZE
000034ff: PUSH2 0x34b8
00003502: JUMP
00003503: JUMPDEST
00003504: ISZERO
00003505: PUSH2 0x350a
00003508: JUMPI
00003509: JUMP
0000350a: JUMPDEST
0000350b: PUSH1 0x84
0000350d: PUSH1 0x40
0000350f: MLOAD
00003510: PUSH3 0x461bcd
00003514: PUSH1 0xe5
00003516: SHL
00003517: DUP2
00003518: MSTORE
00003519: PUSH1 0x20
0000351b: PUSH1 0x04
0000351d: DUP3
0000351e: ADD
0000351f: MSTORE
00003520: PUSH1 0x25
00003522: PUSH1 0x24
00003524: DUP3
00003525: ADD
00003526: MSTORE
00003527: PUSH32 0x4552433732313a207472616e736665722066726f6d20696e636f727265637420
00003548: PUSH1 0x44
0000354a: DUP3
0000354b: ADD
0000354c: MSTORE
0000354d: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000
0000356e: PUSH1 0x64
00003570: DUP3
00003571: ADD
00003572: MSTORE
00003573: REVERT
00003574: JUMPDEST
00003575: SWAP1
00003576: PUSH2 0x359d
00003579: SWAP3
0000357a: SWAP2
0000357b: PUSH2 0x3583
0000357e: DUP4
0000357f: PUSH2 0x31bc
00003582: JUMP
00003583: JUMPDEST
00003584: SWAP2
00003585: PUSH1 0x01
00003587: PUSH1 0x01
00003589: PUSH1 0xa0
0000358b: SHL
0000358c: SUB
0000358d: SWAP5
0000358e: DUP6
0000358f: SWAP4
00003590: DUP5
00003591: DUP1
00003592: SWAP5
00003593: AND
00003594: SWAP7
00003595: DUP8
00003596: SWAP2
00003597: AND
00003598: EQ
00003599: PUSH2 0x3503
0000359c: JUMP
0000359d: JUMPDEST
0000359e: AND
0000359f: SWAP1
000035a0: DUP2
000035a1: ISZERO
000035a2: DUP1
000035a3: PUSH2 0x36a6
000035a6: JUMPI
000035a7: PUSH2 0x35af
000035aa: DUP5
000035ab: PUSH2 0x325a
000035ae: JUMP
000035af: JUMPDEST
000035b0: ISZERO
000035b1: SWAP1
000035b2: DUP2
000035b3: PUSH2 0x369d
000035b6: JUMPI
000035b7: JUMPDEST
000035b8: POP
000035b9: DUP1
000035ba: PUSH2 0x3694
000035bd: JUMPI
000035be: JUMPDEST
000035bf: PUSH2 0x367c
000035c2: JUMPI
000035c3: SWAP2
000035c4: DUP1
000035c5: DUP5
000035c6: SWAP3
000035c7: PUSH2 0x35fe
000035ca: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
000035eb: SWAP7
000035ec: PUSH1 0x20
000035ee: SWAP7
000035ef: PUSH2 0x35f7
000035f2: DUP6
000035f3: PUSH2 0x31bc
000035f6: JUMP
000035f7: JUMPDEST
000035f8: AND
000035f9: EQ
000035fa: PUSH2 0x3503
000035fd: JUMP
000035fe: JUMPDEST
000035ff: PUSH1 0x00
00003601: SWAP4
00003602: DUP3
00003603: DUP6
00003604: MSTORE
00003605: PUSH1 0x07
00003607: DUP7
00003608: MSTORE
00003609: PUSH1 0x40
0000360b: DUP6
0000360c: KECCAK256
0000360d: PUSH1 0x01
0000360f: PUSH1 0x01
00003611: PUSH1 0xa0
00003613: SHL
00003614: SUB
00003615: NOT
00003616: SWAP1
00003617: DUP2
00003618: DUP2
00003619: SLOAD
0000361a: AND
0000361b: SWAP1
0000361c: SSTORE
0000361d: DUP2
0000361e: DUP7
0000361f: MSTORE
00003620: PUSH1 0x06
00003622: DUP8
00003623: MSTORE
00003624: PUSH1 0x40
00003626: DUP7
00003627: KECCAK256
00003628: PUSH1 0x00
0000362a: NOT
0000362b: DUP2
0000362c: SLOAD
0000362d: ADD
0000362e: SWAP1
0000362f: SSTORE
00003630: DUP3
00003631: DUP7
00003632: MSTORE
00003633: PUSH1 0x40
00003635: DUP7
00003636: KECCAK256
00003637: PUSH1 0x01
00003639: DUP2
0000363a: SLOAD
0000363b: ADD
0000363c: SWAP1
0000363d: SSTORE
0000363e: DUP4
0000363f: DUP7
00003640: MSTORE
00003641: PUSH1 0x05
00003643: DUP8
00003644: MSTORE
00003645: DUP3
00003646: PUSH1 0x40
00003648: DUP8
00003649: KECCAK256
0000364a: SWAP2
0000364b: DUP3
0000364c: SLOAD
0000364d: AND
0000364e: OR
0000364f: SWAP1
00003650: SSTORE
00003651: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003672: PUSH1 0x40
00003674: MLOAD
00003675: SWAP6
00003676: DUP1
00003677: LOG4
00003678: DUP2
00003679: MSTORE
0000367a: LOG1
0000367b: JUMP
0000367c: JUMPDEST
0000367d: PUSH1 0x24
0000367f: DUP4
00003680: PUSH1 0x40
00003682: MLOAD
00003683: SWAP1
00003684: PUSH4 0x0da9b013
00003689: PUSH1 0xe0
0000368b: SHL
0000368c: DUP3
0000368d: MSTORE
0000368e: PUSH1 0x04
00003690: DUP3
00003691: ADD
00003692: MSTORE
00003693: REVERT
00003694: JUMPDEST
00003695: POP
00003696: DUP4
00003697: ISZERO
00003698: ISZERO
00003699: PUSH2 0x35be
0000369c: JUMP
0000369d: JUMPDEST
0000369e: SWAP1
0000369f: POP
000036a0: ISZERO
000036a1: CODESIZE
000036a2: PUSH2 0x35b7
000036a5: JUMP
000036a6: JUMPDEST
000036a7: PUSH1 0x84
000036a9: PUSH1 0x40
000036ab: MLOAD
000036ac: PUSH3 0x461bcd
000036b0: PUSH1 0xe5
000036b2: SHL
000036b3: DUP2
000036b4: MSTORE
000036b5: PUSH1 0x20
000036b7: PUSH1 0x04
000036b9: DUP3
000036ba: ADD
000036bb: MSTORE
000036bc: PUSH1 0x24
000036be: DUP1
000036bf: DUP3
000036c0: ADD
000036c1: MSTORE
000036c2: PUSH32 0x4552433732313a207472616e7366657220746f20746865207a65726f20616464
000036e3: PUSH1 0x44
000036e5: DUP3
000036e6: ADD
000036e7: MSTORE
000036e8: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000
00003709: PUSH1 0x64
0000370b: DUP3
0000370c: ADD
0000370d: MSTORE
0000370e: REVERT
0000370f: JUMPDEST
00003710: PUSH1 0x01
00003712: PUSH1 0x01
00003714: PUSH1 0xa0
00003716: SHL
00003717: SUB
00003718: PUSH32 0x000000000000000000000000afb979d9afad1ad27c5eff4e27226e3ab9e5dcc9
00003739: AND
0000373a: ADDRESS
0000373b: SUB
0000373c: PUSH2 0x3741
0000373f: JUMPI
00003740: JUMP
00003741: JUMPDEST
00003742: PUSH1 0x04
00003744: PUSH1 0x40
00003746: MLOAD
00003747: PUSH32 0xa1c0d6e500000000000000000000000000000000000000000000000000000000
00003768: DUP2
00003769: MSTORE
0000376a: REVERT
0000376b: JUMPDEST
0000376c: PUSH1 0x00
0000376e: SWAP1
0000376f: DUP1
00003770: DUP3
00003771: MSTORE
00003772: PUSH1 0x05
00003774: PUSH1 0x20
00003776: MSTORE
00003777: PUSH1 0x01
00003779: PUSH1 0x01
0000377b: PUSH1 0xa0
0000377d: SHL
0000377e: SUB
0000377f: DUP1
00003780: PUSH1 0x40
00003782: DUP5
00003783: KECCAK256
00003784: SLOAD
00003785: AND
00003786: SWAP3
00003787: DUP4
00003788: CALLER
00003789: EQ
0000378a: SWAP4
0000378b: DUP5
0000378c: ISZERO
0000378d: PUSH2 0x37b0
00003790: JUMPI
00003791: JUMPDEST
00003792: POP
00003793: POP
00003794: DUP3
00003795: ISZERO
00003796: PUSH2 0x379e
00003799: JUMPI
0000379a: POP
0000379b: POP
0000379c: SWAP1
0000379d: JUMP
0000379e: JUMPDEST
0000379f: SWAP1
000037a0: SWAP2
000037a1: POP
000037a2: PUSH2 0x37ab
000037a5: CALLER
000037a6: SWAP3
000037a7: PUSH2 0x305d
000037aa: JUMP
000037ab: JUMPDEST
000037ac: AND
000037ad: EQ
000037ae: SWAP1
000037af: JUMP
000037b0: JUMPDEST
000037b1: PUSH1 0xff
000037b3: SWAP3
000037b4: SWAP5
000037b5: POP
000037b6: SWAP1
000037b7: PUSH1 0x40
000037b9: SWAP2
000037ba: DUP2
000037bb: MSTORE
000037bc: PUSH1 0x08
000037be: PUSH1 0x20
000037c0: MSTORE
000037c1: DUP2
000037c2: DUP2
000037c3: KECCAK256
000037c4: CALLER
000037c5: DUP3
000037c6: MSTORE
000037c7: PUSH1 0x20
000037c9: MSTORE
000037ca: KECCAK256
000037cb: SLOAD
000037cc: AND
000037cd: SWAP2
000037ce: CODESIZE
000037cf: DUP1
000037d0: PUSH2 0x3791
000037d3: JUMP
000037d4: JUMPDEST
000037d5: DUP1
000037d6: PUSH1 0x00
000037d8: MSTORE
000037d9: PUSH1 0x0b
000037db: PUSH1 0x20
000037dd: MSTORE
000037de: PUSH2 0x37ed
000037e1: PUSH1 0x02
000037e3: PUSH1 0x40
000037e5: PUSH1 0x00
000037e7: KECCAK256
000037e8: ADD
000037e9: PUSH2 0x3226
000037ec: JUMP
000037ed: JUMPDEST
000037ee: DUP2
000037ef: PUSH1 0x00
000037f1: MSTORE
000037f2: PUSH1 0x0b
000037f4: PUSH1 0x20
000037f6: MSTORE
000037f7: PUSH1 0x40
000037f9: PUSH1 0x00
000037fb: KECCAK256
000037fc: PUSH1 0xff
000037fe: PUSH1 0x01
00003800: DUP3
00003801: ADD
00003802: SLOAD
00003803: PUSH1 0xc8
00003805: SHR
00003806: AND
00003807: PUSH1 0x00
00003809: EQ
0000380a: PUSH2 0x3820
0000380d: JUMPI
0000380e: POP
0000380f: PUSH1 0x01
00003811: PUSH1 0x01
00003813: PUSH1 0x80
00003815: SHL
00003816: SUB
00003817: SWAP2
00003818: POP
00003819: PUSH1 0x20
0000381b: ADD
0000381c: MLOAD
0000381d: AND
0000381e: SWAP1
0000381f: JUMP
00003820: JUMPDEST
00003821: SLOAD
00003822: PUSH1 0xf8
00003824: SHR
00003825: PUSH2 0x3832
00003828: JUMPI
00003829: POP
0000382a: PUSH2 0x31de
0000382d: SWAP1
0000382e: PUSH2 0x3358
00003831: JUMP
00003832: JUMPDEST
00003833: PUSH2 0x31de
00003836: SWAP2
00003837: POP
00003838: PUSH1 0x01
0000383a: PUSH1 0x01
0000383c: PUSH1 0x80
0000383e: SHL
0000383f: SUB
00003840: PUSH1 0x40
00003842: DUP2
00003843: DUP4
00003844: MLOAD
00003845: AND
00003846: SWAP3
00003847: ADD
00003848: MLOAD
00003849: AND
0000384a: SWAP1
0000384b: PUSH2 0x309a
0000384e: JUMP
0000384f: JUMPDEST
00003850: SWAP1
00003851: PUSH1 0x01
00003853: PUSH1 0x01
00003855: PUSH1 0xa0
00003857: SHL
00003858: SUB
00003859: PUSH1 0x01
0000385b: SLOAD
0000385c: AND
0000385d: PUSH1 0x20
0000385f: PUSH1 0x01
00003861: PUSH1 0x01
00003863: PUSH1 0xa0
00003865: SHL
00003866: SUB
00003867: PUSH1 0x60
00003869: DUP6
0000386a: ADD
0000386b: MLOAD
0000386c: AND
0000386d: PUSH1 0x24
0000386f: PUSH1 0x40
00003871: MLOAD
00003872: DUP1
00003873: SWAP5
00003874: DUP2
00003875: SWAP4
00003876: PUSH32 0xdcf844a700000000000000000000000000000000000000000000000000000000
00003897: DUP4
00003898: MSTORE
00003899: PUSH1 0x04
0000389b: DUP4
0000389c: ADD
0000389d: MSTORE
0000389e: GAS
0000389f: STATICCALL
000038a0: DUP1
000038a1: ISZERO
000038a2: PUSH2 0x4084
000038a5: JUMPI
000038a6: PUSH1 0x00
000038a8: SWAP1
000038a9: PUSH2 0x4050
000038ac: JUMPI
000038ad: JUMPDEST
000038ae: PUSH2 0x38d0
000038b1: SWAP2
000038b2: POP
000038b3: PUSH1 0x01
000038b5: PUSH1 0x01
000038b7: PUSH1 0x80
000038b9: SHL
000038ba: SUB
000038bb: PUSH1 0x40
000038bd: DUP6
000038be: ADD
000038bf: MLOAD
000038c0: AND
000038c1: SWAP1
000038c2: PUSH1 0x20
000038c4: PUSH1 0xe0
000038c6: DUP7
000038c7: ADD
000038c8: MLOAD
000038c9: ADD
000038ca: MLOAD
000038cb: SWAP2
000038cc: PUSH2 0x413b
000038cf: JUMP
000038d0: JUMPDEST
000038d1: SWAP2
000038d2: PUSH1 0x01
000038d4: PUSH1 0x01
000038d6: PUSH1 0x80
000038d8: SHL
000038d9: SUB
000038da: DUP4
000038db: MLOAD
000038dc: AND
000038dd: PUSH1 0xc0
000038df: DUP3
000038e0: ADD
000038e1: MLOAD
000038e2: SWAP1
000038e3: ISZERO
000038e4: PUSH2 0x4026
000038e7: JUMPI
000038e8: PUSH5 0xffffffffff
000038ee: DUP2
000038ef: MLOAD
000038f0: AND
000038f1: PUSH1 0x20
000038f3: DUP3
000038f4: ADD
000038f5: SWAP1
000038f6: PUSH5 0xffffffffff
000038fc: DUP3
000038fd: MLOAD
000038fe: AND
000038ff: SWAP1
00003900: DUP2
00003901: DUP2
00003902: GT
00003903: PUSH2 0x3fe6
00003906: JUMPI
00003907: POP
00003908: POP
00003909: PUSH5 0xffffffffff
0000390f: PUSH1 0x40
00003911: SWAP2
00003912: MLOAD
00003913: AND
00003914: SWAP2
00003915: ADD
00003916: SWAP1
00003917: PUSH5 0xffffffffff
0000391d: DUP3
0000391e: MLOAD
0000391f: AND
00003920: SWAP1
00003921: DUP2
00003922: DUP2
00003923: LT
00003924: ISZERO
00003925: PUSH2 0x3fa6
00003928: JUMPI
00003929: POP
0000392a: POP
0000392b: PUSH5 0xffffffffff
00003931: DUP1
00003932: TIMESTAMP
00003933: AND
00003934: SWAP2
00003935: MLOAD
00003936: AND
00003937: SWAP1
00003938: DUP2
00003939: DUP2
0000393a: LT
0000393b: ISZERO
0000393c: PUSH2 0x3f66
0000393f: JUMPI
00003940: POP
00003941: POP
00003942: PUSH1 0x09
00003944: SLOAD
00003945: SWAP3
00003946: PUSH1 0x01
00003948: PUSH1 0x01
0000394a: PUSH1 0x80
0000394c: SHL
0000394d: SUB
0000394e: DUP2
0000394f: MLOAD
00003950: AND
00003951: PUSH1 0x40
00003953: MLOAD
00003954: SWAP1
00003955: PUSH2 0x395d
00003958: DUP3
00003959: PUSH2 0x2fd1
0000395c: JUMP
0000395d: JUMPDEST
0000395e: DUP2
0000395f: MSTORE
00003960: PUSH1 0x00
00003962: PUSH1 0x20
00003964: DUP3
00003965: ADD
00003966: MSTORE
00003967: PUSH1 0x00
00003969: PUSH1 0x40
0000396b: DUP3
0000396c: ADD
0000396d: MSTORE
0000396e: PUSH1 0x01
00003970: PUSH1 0x01
00003972: PUSH1 0xa0
00003974: SHL
00003975: SUB
00003976: PUSH1 0x60
00003978: DUP5
00003979: ADD
0000397a: MLOAD
0000397b: AND
0000397c: SWAP1
0000397d: PUSH1 0xc0
0000397f: DUP5
00003980: ADD
00003981: MLOAD
00003982: SWAP2
00003983: PUSH5 0xffffffffff
00003989: PUSH1 0x20
0000398b: DUP5
0000398c: ADD
0000398d: MLOAD
0000398e: AND
0000398f: SWAP1
00003990: PUSH5 0xffffffffff
00003996: PUSH1 0x40
00003998: DUP6
00003999: ADD
0000399a: MLOAD
0000399b: AND
0000399c: SWAP1
0000399d: PUSH1 0x80
0000399f: DUP8
000039a0: ADD
000039a1: MLOAD
000039a2: ISZERO
000039a3: ISZERO
000039a4: PUSH1 0xa0
000039a6: DUP9
000039a7: ADD
000039a8: MLOAD
000039a9: ISZERO
000039aa: ISZERO
000039ab: SWAP4
000039ac: PUSH5 0xffffffffff
000039b2: PUSH1 0x01
000039b4: PUSH1 0x01
000039b6: PUSH1 0xa0
000039b8: SHL
000039b9: SUB
000039ba: DUP11
000039bb: MLOAD
000039bc: AND
000039bd: SWAP8
000039be: MLOAD
000039bf: AND
000039c0: PUSH1 0x40
000039c2: MLOAD
000039c3: SWAP8
000039c4: PUSH2 0x39cc
000039c7: DUP10
000039c8: PUSH2 0x2f97
000039cb: JUMP
000039cc: JUMPDEST
000039cd: DUP9
000039ce: MSTORE
000039cf: PUSH1 0x20
000039d1: DUP9
000039d2: ADD
000039d3: MSTORE
000039d4: PUSH1 0x40
000039d6: DUP8
000039d7: ADD
000039d8: MSTORE
000039d9: PUSH1 0x60
000039db: DUP7
000039dc: ADD
000039dd: MSTORE
000039de: PUSH1 0x00
000039e0: PUSH1 0x80
000039e2: DUP7
000039e3: ADD
000039e4: MSTORE
000039e5: PUSH1 0xa0
000039e7: DUP6
000039e8: ADD
000039e9: MSTORE
000039ea: PUSH1 0xc0
000039ec: DUP5
000039ed: ADD
000039ee: MSTORE
000039ef: PUSH1 0x00
000039f1: PUSH1 0xe0
000039f3: DUP5
000039f4: ADD
000039f5: MSTORE
000039f6: PUSH1 0x01
000039f8: PUSH2 0x0100
000039fb: DUP5
000039fc: ADD
000039fd: MSTORE
000039fe: PUSH2 0x0120
00003a01: DUP4
00003a02: ADD
00003a03: MSTORE
00003a04: PUSH2 0x0140
00003a07: DUP3
00003a08: ADD
00003a09: MSTORE
00003a0a: DUP5
00003a0b: PUSH1 0x00
00003a0d: MSTORE
00003a0e: PUSH1 0x0b
00003a10: PUSH1 0x20
00003a12: MSTORE
00003a13: PUSH1 0x40
00003a15: PUSH1 0x00
00003a17: KECCAK256
00003a18: PUSH1 0x01
00003a1a: PUSH1 0x01
00003a1c: PUSH1 0xa0
00003a1e: SHL
00003a1f: SUB
00003a20: DUP3
00003a21: MLOAD
00003a22: AND
00003a23: PUSH1 0x01
00003a25: PUSH1 0x01
00003a27: PUSH1 0xa0
00003a29: SHL
00003a2a: SUB
00003a2b: NOT
00003a2c: DUP3
00003a2d: SLOAD
00003a2e: AND
00003a2f: OR
00003a30: DUP2
00003a31: SSTORE
00003a32: PUSH2 0x3a63
00003a35: PUSH5 0xffffffffff
00003a3b: PUSH1 0x20
00003a3d: DUP5
00003a3e: ADD
00003a3f: MLOAD
00003a40: AND
00003a41: DUP3
00003a42: SWAP1
00003a43: PUSH5 0xffffffffff
00003a49: PUSH1 0xa0
00003a4b: SHL
00003a4c: NOT
00003a4d: PUSH5 0xffffffffff
00003a53: PUSH1 0xa0
00003a55: SHL
00003a56: DUP4
00003a57: SLOAD
00003a58: SWAP3
00003a59: PUSH1 0xa0
00003a5b: SHL
00003a5c: AND
00003a5d: SWAP2
00003a5e: AND
00003a5f: OR
00003a60: SWAP1
00003a61: SSTORE
00003a62: JUMP
00003a63: JUMPDEST
00003a64: PUSH1 0x40
00003a66: DUP3
00003a67: ADD
00003a68: MLOAD
00003a69: DUP2
00003a6a: SLOAD
00003a6b: PUSH31 0xff000000000000000000000000000000000000000000000000000000000000
00003a8b: PUSH1 0x60
00003a8d: DUP6
00003a8e: ADD
00003a8f: MLOAD
00003a90: ISZERO
00003a91: ISZERO
00003a92: PUSH1 0xf0
00003a94: SHL
00003a95: AND
00003a96: SWAP1
00003a97: PUSH25 0xffffffffffffffffffffffffffffffffffffffffffffffffff
00003ab1: PUSH30 0xffffffffff00000000000000000000000000000000000000000000000000
00003ad0: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00003af1: PUSH1 0x80
00003af3: DUP9
00003af4: ADD
00003af5: MLOAD
00003af6: ISZERO
00003af7: ISZERO
00003af8: PUSH1 0xf8
00003afa: SHL
00003afb: AND
00003afc: SWAP5
00003afd: PUSH1 0xc8
00003aff: SHL
00003b00: AND
00003b01: SWAP2
00003b02: AND
00003b03: OR
00003b04: OR
00003b05: OR
00003b06: DUP2
00003b07: SSTORE
00003b08: PUSH1 0x01
00003b0a: DUP2
00003b0b: ADD
00003b0c: PUSH1 0x01
00003b0e: PUSH1 0x01
00003b10: PUSH1 0xa0
00003b12: SHL
00003b13: SUB
00003b14: PUSH1 0xa0
00003b16: DUP5
00003b17: ADD
00003b18: MLOAD
00003b19: AND
00003b1a: PUSH1 0x01
00003b1c: PUSH1 0x01
00003b1e: PUSH1 0xa0
00003b20: SHL
00003b21: SUB
00003b22: NOT
00003b23: DUP3
00003b24: SLOAD
00003b25: AND
00003b26: OR
00003b27: DUP2
00003b28: SSTORE
00003b29: PUSH2 0x3b5a
00003b2c: PUSH5 0xffffffffff
00003b32: PUSH1 0xc0
00003b34: DUP6
00003b35: ADD
00003b36: MLOAD
00003b37: AND
00003b38: DUP3
00003b39: SWAP1
00003b3a: PUSH5 0xffffffffff
00003b40: PUSH1 0xa0
00003b42: SHL
00003b43: NOT
00003b44: PUSH5 0xffffffffff
00003b4a: PUSH1 0xa0
00003b4c: SHL
00003b4d: DUP4
00003b4e: SLOAD
00003b4f: SWAP3
00003b50: PUSH1 0xa0
00003b52: SHL
00003b53: AND
00003b54: SWAP2
00003b55: AND
00003b56: OR
00003b57: SWAP1
00003b58: SSTORE
00003b59: JUMP
00003b5a: JUMPDEST
00003b5b: PUSH1 0xe0
00003b5d: DUP4
00003b5e: ADD
00003b5f: MLOAD
00003b60: DUP2
00003b61: SLOAD
00003b62: PUSH2 0x0100
00003b65: DUP6
00003b66: ADD
00003b67: MLOAD
00003b68: PUSH2 0x0120
00003b6b: DUP7
00003b6c: ADD
00003b6d: MLOAD
00003b6e: PUSH32 0xffffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffff
00003b8f: SWAP1
00003b90: SWAP3
00003b91: AND
00003b92: SWAP3
00003b93: ISZERO
00003b94: ISZERO
00003b95: PUSH1 0xc8
00003b97: SHL
00003b98: PUSH26 0xff00000000000000000000000000000000000000000000000000
00003bb3: AND
00003bb4: SWAP3
00003bb5: SWAP1
00003bb6: SWAP3
00003bb7: OR
00003bb8: SWAP2
00003bb9: ISZERO
00003bba: ISZERO
00003bbb: PUSH1 0xd0
00003bbd: SHL
00003bbe: PUSH27 0xff0000000000000000000000000000000000000000000000000000
00003bda: AND
00003bdb: SWAP2
00003bdc: SWAP1
00003bdd: SWAP2
00003bde: OR
00003bdf: SWAP1
00003be0: ISZERO
00003be1: ISZERO
00003be2: PUSH1 0xd8
00003be4: SHL
00003be5: PUSH28 0xff000000000000000000000000000000000000000000000000000000
00003c02: AND
00003c03: OR
00003c04: SWAP1
00003c05: SSTORE
00003c06: PUSH2 0x0140
00003c09: SWAP1
00003c0a: SWAP2
00003c0b: ADD
00003c0c: MLOAD
00003c0d: DUP1
00003c0e: MLOAD
00003c0f: PUSH1 0x20
00003c11: DUP3
00003c12: ADD
00003c13: MLOAD
00003c14: PUSH1 0x80
00003c16: SHL
00003c17: PUSH1 0x01
00003c19: PUSH1 0x01
00003c1b: PUSH1 0x80
00003c1d: SHL
00003c1e: SUB
00003c1f: NOT
00003c20: SWAP1
00003c21: DUP2
00003c22: AND
00003c23: PUSH1 0x01
00003c25: PUSH1 0x01
00003c27: PUSH1 0x80
00003c29: SHL
00003c2a: SUB
00003c2b: SWAP3
00003c2c: DUP4
00003c2d: AND
00003c2e: OR
00003c2f: PUSH1 0x02
00003c31: DUP6
00003c32: ADD
00003c33: SSTORE
00003c34: SWAP3
00003c35: PUSH1 0x40
00003c37: SWAP1
00003c38: PUSH1 0x03
00003c3a: ADD
00003c3b: SWAP3
00003c3c: ADD
00003c3d: MLOAD
00003c3e: AND
00003c3f: DUP3
00003c40: DUP3
00003c41: SLOAD
00003c42: AND
00003c43: OR
00003c44: SWAP1
00003c45: SSTORE
00003c46: PUSH1 0x01
00003c48: DUP6
00003c49: ADD
00003c4a: PUSH1 0x09
00003c4c: SSTORE
00003c4d: PUSH1 0x01
00003c4f: PUSH1 0x01
00003c51: PUSH1 0xa0
00003c53: SHL
00003c54: SUB
00003c55: PUSH1 0x60
00003c57: DUP5
00003c58: ADD
00003c59: MLOAD
00003c5a: AND
00003c5b: PUSH1 0x00
00003c5d: MSTORE
00003c5e: PUSH1 0x02
00003c60: PUSH1 0x20
00003c62: MSTORE
00003c63: PUSH1 0x01
00003c65: PUSH1 0x01
00003c67: PUSH1 0x80
00003c69: SHL
00003c6a: SUB
00003c6b: DUP1
00003c6c: PUSH1 0x40
00003c6e: PUSH1 0x00
00003c70: KECCAK256
00003c71: SLOAD
00003c72: AND
00003c73: DUP2
00003c74: PUSH1 0x20
00003c76: DUP6
00003c77: ADD
00003c78: MLOAD
00003c79: AND
00003c7a: ADD
00003c7b: AND
00003c7c: PUSH1 0x01
00003c7e: PUSH1 0x01
00003c80: PUSH1 0xa0
00003c82: SHL
00003c83: SUB
00003c84: PUSH1 0x60
00003c86: DUP6
00003c87: ADD
00003c88: MLOAD
00003c89: AND
00003c8a: PUSH1 0x00
00003c8c: MSTORE
00003c8d: PUSH1 0x40
00003c8f: PUSH1 0x00
00003c91: KECCAK256
00003c92: SWAP2
00003c93: DUP3
00003c94: SLOAD
00003c95: AND
00003c96: OR
00003c97: SWAP1
00003c98: SSTORE
00003c99: PUSH1 0x01
00003c9b: PUSH1 0x01
00003c9d: PUSH1 0xa0
00003c9f: SHL
00003ca0: SUB
00003ca1: PUSH1 0x20
00003ca3: DUP4
00003ca4: ADD
00003ca5: MLOAD
00003ca6: AND
00003ca7: DUP1
00003ca8: ISZERO
00003ca9: PUSH2 0x3f22
00003cac: JUMPI
00003cad: PUSH2 0x3cd5
00003cb0: PUSH2 0x3ccf
00003cb3: DUP7
00003cb4: PUSH1 0x00
00003cb6: MSTORE
00003cb7: PUSH1 0x05
00003cb9: PUSH1 0x20
00003cbb: MSTORE
00003cbc: PUSH1 0x01
00003cbe: PUSH1 0x01
00003cc0: PUSH1 0xa0
00003cc2: SHL
00003cc3: SUB
00003cc4: PUSH1 0x40
00003cc6: PUSH1 0x00
00003cc8: KECCAK256
00003cc9: SLOAD
00003cca: AND
00003ccb: ISZERO
00003ccc: ISZERO
00003ccd: SWAP1
00003cce: JUMP
00003ccf: JUMPDEST
00003cd0: ISZERO
00003cd1: PUSH2 0x427a
00003cd4: JUMP
00003cd5: JUMPDEST
00003cd6: PUSH2 0x3cde
00003cd9: DUP6
00003cda: PUSH2 0x325a
00003cdd: JUMP
00003cde: JUMPDEST
00003cdf: ISZERO
00003ce0: DUP1
00003ce1: PUSH2 0x3f19
00003ce4: JUMPI
00003ce5: JUMPDEST
00003ce6: DUP1
00003ce7: PUSH2 0x3f11
00003cea: JUMPI
00003ceb: JUMPDEST
00003cec: PUSH2 0x3ef9
00003cef: JUMPI
00003cf0: PUSH1 0x20
00003cf2: PUSH32 0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7
00003d13: SWAP2
00003d14: PUSH2 0x3d36
00003d17: PUSH2 0x3ccf
00003d1a: DUP9
00003d1b: PUSH1 0x00
00003d1d: MSTORE
00003d1e: PUSH1 0x05
00003d20: PUSH1 0x20
00003d22: MSTORE
00003d23: PUSH1 0x01
00003d25: PUSH1 0x01
00003d27: PUSH1 0xa0
00003d29: SHL
00003d2a: SUB
00003d2b: PUSH1 0x40
00003d2d: PUSH1 0x00
00003d2f: KECCAK256
00003d30: SLOAD
00003d31: AND
00003d32: ISZERO
00003d33: ISZERO
00003d34: SWAP1
00003d35: JUMP
00003d36: JUMPDEST
00003d37: DUP1
00003d38: PUSH1 0x00
00003d3a: MSTORE
00003d3b: PUSH1 0x06
00003d3d: DUP3
00003d3e: MSTORE
00003d3f: PUSH1 0x40
00003d41: PUSH1 0x00
00003d43: KECCAK256
00003d44: PUSH1 0x01
00003d46: DUP2
00003d47: SLOAD
00003d48: ADD
00003d49: SWAP1
00003d4a: SSTORE
00003d4b: DUP7
00003d4c: PUSH1 0x00
00003d4e: MSTORE
00003d4f: PUSH1 0x05
00003d51: DUP3
00003d52: MSTORE
00003d53: PUSH1 0x40
00003d55: PUSH1 0x00
00003d57: KECCAK256
00003d58: DUP2
00003d59: PUSH1 0x01
00003d5b: PUSH1 0x01
00003d5d: PUSH1 0xa0
00003d5f: SHL
00003d60: SUB
00003d61: NOT
00003d62: DUP3
00003d63: SLOAD
00003d64: AND
00003d65: OR
00003d66: SWAP1
00003d67: SSTORE
00003d68: DUP7
00003d69: PUSH1 0x40
00003d6b: MLOAD
00003d6c: SWAP2
00003d6d: PUSH1 0x00
00003d6f: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003d90: DUP2
00003d91: DUP1
00003d92: LOG4
00003d93: DUP7
00003d94: DUP2
00003d95: MSTORE
00003d96: LOG1
00003d97: PUSH2 0x3dc6
00003d9a: PUSH1 0x01
00003d9c: PUSH1 0x01
00003d9e: PUSH1 0xa0
00003da0: SHL
00003da1: SUB
00003da2: PUSH1 0x60
00003da4: DUP5
00003da5: ADD
00003da6: MLOAD
00003da7: AND
00003da8: PUSH1 0x01
00003daa: PUSH1 0x01
00003dac: PUSH1 0x80
00003dae: SHL
00003daf: SUB
00003db0: DUP1
00003db1: DUP5
00003db2: MLOAD
00003db3: AND
00003db4: DUP2
00003db5: PUSH1 0x20
00003db7: DUP7
00003db8: ADD
00003db9: MLOAD
00003dba: AND
00003dbb: ADD
00003dbc: AND
00003dbd: SWAP1
00003dbe: ADDRESS
00003dbf: SWAP1
00003dc0: CALLER
00003dc1: SWAP1
00003dc2: PUSH2 0x42c5
00003dc5: JUMP
00003dc6: JUMPDEST
00003dc7: PUSH1 0x01
00003dc9: PUSH1 0x01
00003dcb: PUSH1 0x80
00003dcd: SHL
00003dce: SUB
00003dcf: PUSH1 0x40
00003dd1: DUP3
00003dd2: ADD
00003dd3: MLOAD
00003dd4: AND
00003dd5: DUP1
00003dd6: PUSH2 0x3eca
00003dd9: JUMPI
00003dda: JUMPDEST
00003ddb: POP
00003ddc: PUSH1 0x01
00003dde: PUSH1 0x01
00003de0: PUSH1 0xa0
00003de2: SHL
00003de3: SUB
00003de4: DUP3
00003de5: MLOAD
00003de6: AND
00003de7: PUSH32 0x075861cbceafeb777e8f15f357121b08f6f3adba387d599bb7b5278ca6192df5
00003e08: PUSH2 0x0160
00003e0b: DUP7
00003e0c: PUSH1 0x01
00003e0e: PUSH1 0x01
00003e10: PUSH1 0xa0
00003e12: SHL
00003e13: SUB
00003e14: PUSH1 0x20
00003e16: DUP8
00003e17: ADD
00003e18: MLOAD
00003e19: AND
00003e1a: SWAP5
00003e1b: PUSH2 0x3ec1
00003e1e: PUSH1 0x01
00003e20: PUSH1 0x01
00003e22: PUSH1 0xa0
00003e24: SHL
00003e25: SUB
00003e26: PUSH1 0x60
00003e28: DUP10
00003e29: ADD
00003e2a: MLOAD
00003e2b: AND
00003e2c: SWAP8
00003e2d: PUSH1 0x80
00003e2f: DUP2
00003e30: ADD
00003e31: MLOAD
00003e32: ISZERO
00003e33: ISZERO
00003e34: PUSH1 0xa0
00003e36: DUP3
00003e37: ADD
00003e38: MLOAD
00003e39: ISZERO
00003e3a: ISZERO
00003e3b: SWAP1
00003e3c: PUSH2 0x3e8b
00003e3f: PUSH1 0x01
00003e41: PUSH1 0x01
00003e43: PUSH1 0xa0
00003e45: SHL
00003e46: SUB
00003e47: PUSH1 0xe0
00003e49: PUSH1 0xc0
00003e4b: DUP7
00003e4c: ADD
00003e4d: MLOAD
00003e4e: SWAP6
00003e4f: ADD
00003e50: MLOAD
00003e51: MLOAD
00003e52: AND
00003e53: SWAP6
00003e54: PUSH1 0x40
00003e56: MLOAD
00003e57: SWAP8
00003e58: DUP9
00003e59: MSTORE
00003e5a: CALLER
00003e5b: PUSH1 0x20
00003e5d: DUP10
00003e5e: ADD
00003e5f: MSTORE
00003e60: PUSH1 0x40
00003e62: DUP9
00003e63: ADD
00003e64: SWAP1
00003e65: PUSH1 0x40
00003e67: SWAP1
00003e68: DUP2
00003e69: PUSH1 0x01
00003e6b: PUSH1 0x01
00003e6d: PUSH1 0x80
00003e6f: SHL
00003e70: SUB
00003e71: SWAP2
00003e72: DUP3
00003e73: DUP2
00003e74: MLOAD
00003e75: AND
00003e76: DUP6
00003e77: MSTORE
00003e78: DUP3
00003e79: PUSH1 0x20
00003e7b: DUP3
00003e7c: ADD
00003e7d: MLOAD
00003e7e: AND
00003e7f: PUSH1 0x20
00003e81: DUP7
00003e82: ADD
00003e83: MSTORE
00003e84: ADD
00003e85: MLOAD
00003e86: AND
00003e87: SWAP2
00003e88: ADD
00003e89: MSTORE
00003e8a: JUMP
00003e8b: JUMPDEST
00003e8c: PUSH1 0xa0
00003e8e: DUP7
00003e8f: ADD
00003e90: MSTORE
00003e91: PUSH1 0xc0
00003e93: DUP6
00003e94: ADD
00003e95: MSTORE
00003e96: DUP1
00003e97: MLOAD
00003e98: PUSH5 0xffffffffff
00003e9e: SWAP1
00003e9f: DUP2
00003ea0: AND
00003ea1: PUSH1 0xe0
00003ea3: DUP7
00003ea4: ADD
00003ea5: MSTORE
00003ea6: PUSH1 0x20
00003ea8: DUP3
00003ea9: ADD
00003eaa: MLOAD
00003eab: DUP2
00003eac: AND
00003ead: PUSH2 0x0100
00003eb0: DUP7
00003eb1: ADD
00003eb2: MSTORE
00003eb3: PUSH1 0x40
00003eb5: SWAP1
00003eb6: SWAP2
00003eb7: ADD
00003eb8: MLOAD
00003eb9: AND
00003eba: PUSH2 0x0120
00003ebd: DUP5
00003ebe: ADD
00003ebf: MSTORE
00003ec0: JUMP
00003ec1: JUMPDEST
00003ec2: PUSH2 0x0140
00003ec5: DUP3
00003ec6: ADD
00003ec7: MSTORE
00003ec8: LOG4
00003ec9: JUMP
00003eca: JUMPDEST
00003ecb: PUSH2 0x3ef3
00003ece: SWAP1
00003ecf: PUSH1 0x01
00003ed1: PUSH1 0x01
00003ed3: PUSH1 0xa0
00003ed5: SHL
00003ed6: SUB
00003ed7: PUSH1 0x60
00003ed9: DUP6
00003eda: ADD
00003edb: MLOAD
00003edc: AND
00003edd: PUSH1 0x01
00003edf: PUSH1 0x01
00003ee1: PUSH1 0xa0
00003ee3: SHL
00003ee4: SUB
00003ee5: PUSH1 0xe0
00003ee7: DUP7
00003ee8: ADD
00003ee9: MLOAD
00003eea: MLOAD
00003eeb: AND
00003eec: SWAP1
00003eed: CALLER
00003eee: SWAP1
00003eef: PUSH2 0x42c5
00003ef2: JUMP
00003ef3: JUMPDEST
00003ef4: CODESIZE
00003ef5: PUSH2 0x3dda
00003ef8: JUMP
00003ef9: JUMPDEST
00003efa: PUSH1 0x24
00003efc: DUP6
00003efd: PUSH1 0x40
00003eff: MLOAD
00003f00: SWAP1
00003f01: PUSH4 0x0da9b013
00003f06: PUSH1 0xe0
00003f08: SHL
00003f09: DUP3
00003f0a: MSTORE
00003f0b: PUSH1 0x04
00003f0d: DUP3
00003f0e: ADD
00003f0f: MSTORE
00003f10: REVERT
00003f11: JUMPDEST
00003f12: POP
00003f13: PUSH1 0x00
00003f15: PUSH2 0x3ceb
00003f18: JUMP
00003f19: JUMPDEST
00003f1a: POP
00003f1b: DUP1
00003f1c: ISZERO
00003f1d: ISZERO
00003f1e: PUSH2 0x3ce5
00003f21: JUMP
00003f22: JUMPDEST
00003f23: PUSH1 0x64
00003f25: PUSH1 0x40
00003f27: MLOAD
00003f28: PUSH3 0x461bcd
00003f2c: PUSH1 0xe5
00003f2e: SHL
00003f2f: DUP2
00003f30: MSTORE
00003f31: PUSH1 0x20
00003f33: PUSH1 0x04
00003f35: DUP3
00003f36: ADD
00003f37: MSTORE
00003f38: PUSH1 0x20
00003f3a: PUSH1 0x24
00003f3c: DUP3
00003f3d: ADD
00003f3e: MSTORE
00003f3f: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373
00003f60: PUSH1 0x44
00003f62: DUP3
00003f63: ADD
00003f64: MSTORE
00003f65: REVERT
00003f66: JUMPDEST
00003f67: PUSH1 0x40
00003f69: MLOAD
00003f6a: PUSH32 0x210aec0e00000000000000000000000000000000000000000000000000000000
00003f8b: DUP2
00003f8c: MSTORE
00003f8d: PUSH5 0xffffffffff
00003f93: SWAP2
00003f94: DUP3
00003f95: AND
00003f96: PUSH1 0x04
00003f98: DUP3
00003f99: ADD
00003f9a: MSTORE
00003f9b: SWAP2
00003f9c: AND
00003f9d: PUSH1 0x24
00003f9f: DUP3
00003fa0: ADD
00003fa1: MSTORE
00003fa2: PUSH1 0x44
00003fa4: SWAP1
00003fa5: REVERT
00003fa6: JUMPDEST
00003fa7: PUSH1 0x40
00003fa9: MLOAD
00003faa: PUSH32 0x9fee269100000000000000000000000000000000000000000000000000000000
00003fcb: DUP2
00003fcc: MSTORE
00003fcd: PUSH5 0xffffffffff
00003fd3: SWAP2
00003fd4: DUP3
00003fd5: AND
00003fd6: PUSH1 0x04
00003fd8: DUP3
00003fd9: ADD
00003fda: MSTORE
00003fdb: SWAP2
00003fdc: AND
00003fdd: PUSH1 0x24
00003fdf: DUP3
00003fe0: ADD
00003fe1: MSTORE
00003fe2: PUSH1 0x44
00003fe4: SWAP1
00003fe5: REVERT
00003fe6: JUMPDEST
00003fe7: PUSH1 0x40
00003fe9: MLOAD
00003fea: PUSH32 0x4c23297000000000000000000000000000000000000000000000000000000000
0000400b: DUP2
0000400c: MSTORE
0000400d: PUSH5 0xffffffffff
00004013: SWAP2
00004014: DUP3
00004015: AND
00004016: PUSH1 0x04
00004018: DUP3
00004019: ADD
0000401a: MSTORE
0000401b: SWAP2
0000401c: AND
0000401d: PUSH1 0x24
0000401f: DUP3
00004020: ADD
00004021: MSTORE
00004022: PUSH1 0x44
00004024: SWAP1
00004025: REVERT
00004026: JUMPDEST
00004027: PUSH1 0x04
00004029: PUSH1 0x40
0000402b: MLOAD
0000402c: PUSH32 0x6095d3bc00000000000000000000000000000000000000000000000000000000
0000404d: DUP2
0000404e: MSTORE
0000404f: REVERT
00004050: JUMPDEST
00004051: POP
00004052: PUSH1 0x20
00004054: DUP2
00004055: RETURNDATASIZE
00004056: PUSH1 0x20
00004058: GT
00004059: PUSH2 0x407c
0000405c: JUMPI
0000405d: JUMPDEST
0000405e: DUP2
0000405f: PUSH2 0x406a
00004062: PUSH1 0x20
00004064: SWAP4
00004065: DUP4
00004066: PUSH2 0x3009
00004069: JUMP
0000406a: JUMPDEST
0000406b: DUP2
0000406c: ADD
0000406d: SUB
0000406e: SLT
0000406f: PUSH2 0x1071
00004072: JUMPI
00004073: PUSH2 0x38d0
00004076: SWAP1
00004077: MLOAD
00004078: PUSH2 0x38ad
0000407b: JUMP
0000407c: JUMPDEST
0000407d: RETURNDATASIZE
0000407e: SWAP2
0000407f: POP
00004080: PUSH2 0x405d
00004083: JUMP
00004084: JUMPDEST
00004085: PUSH1 0x40
00004087: MLOAD
00004088: RETURNDATASIZE
00004089: PUSH1 0x00
0000408b: DUP3
0000408c: RETURNDATACOPY
0000408d: RETURNDATASIZE
0000408e: SWAP1
0000408f: REVERT
00004090: JUMPDEST
00004091: SWAP2
00004092: PUSH1 0x01
00004094: PUSH1 0x01
00004096: PUSH1 0xa0
00004098: SHL
00004099: SUB
0000409a: PUSH1 0x40
0000409c: MLOAD
0000409d: SWAP3
0000409e: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000040bf: PUSH1 0x20
000040c1: DUP6
000040c2: ADD
000040c3: MSTORE
000040c4: AND
000040c5: PUSH1 0x24
000040c7: DUP4
000040c8: ADD
000040c9: MSTORE
000040ca: PUSH1 0x44
000040cc: DUP3
000040cd: ADD
000040ce: MSTORE
000040cf: PUSH1 0x44
000040d1: DUP2
000040d2: MSTORE
000040d3: PUSH1 0x80
000040d5: DUP2
000040d6: ADD
000040d7: SWAP2
000040d8: DUP2
000040d9: DUP4
000040da: LT
000040db: PUSH8 0xffffffffffffffff
000040e4: DUP5
000040e5: GT
000040e6: OR
000040e7: PUSH2 0x2705
000040ea: JUMPI
000040eb: PUSH2 0x40f6
000040ee: SWAP3
000040ef: PUSH1 0x40
000040f1: MSTORE
000040f2: PUSH2 0x4330
000040f5: JUMP
000040f6: JUMPDEST
000040f7: JUMP
000040f8: JUMPDEST
000040f9: PUSH2 0x31de
000040fc: SWAP1
000040fd: PUSH2 0x4105
00004100: DUP2
00004101: PUSH2 0x37d4
00004104: JUMP
00004105: JUMPDEST
00004106: SWAP1
00004107: PUSH1 0x00
00004109: MSTORE
0000410a: PUSH1 0x0b
0000410c: PUSH1 0x20
0000410e: MSTORE
0000410f: PUSH1 0x02
00004111: PUSH1 0x40
00004113: PUSH1 0x00
00004115: KECCAK256
00004116: ADD
00004117: SLOAD
00004118: PUSH1 0x80
0000411a: SHR
0000411b: SWAP1
0000411c: PUSH2 0x309a
0000411f: JUMP
00004120: JUMPDEST
00004121: SWAP2
00004122: SWAP1
00004123: SWAP2
00004124: PUSH1 0x01
00004126: PUSH1 0x01
00004128: PUSH1 0x80
0000412a: SHL
0000412b: SUB
0000412c: DUP1
0000412d: DUP1
0000412e: SWAP5
0000412f: AND
00004130: SWAP2
00004131: AND
00004132: ADD
00004133: SWAP2
00004134: DUP3
00004135: GT
00004136: PUSH2 0x30b3
00004139: JUMPI
0000413a: JUMP
0000413b: JUMPDEST
0000413c: SWAP1
0000413d: SWAP3
0000413e: SWAP2
0000413f: PUSH2 0x4146
00004142: PUSH2 0x3207
00004145: JUMP
00004146: JUMPDEST
00004147: SWAP4
00004148: PUSH1 0x01
0000414a: PUSH1 0x01
0000414c: PUSH1 0x80
0000414e: SHL
0000414f: SUB
00004150: SWAP3
00004151: DUP4
00004152: DUP2
00004153: AND
00004154: SWAP2
00004155: DUP3
00004156: ISZERO
00004157: PUSH2 0x4252
0000415a: JUMPI
0000415b: PUSH8 0x016345785d8a0000
00004164: DUP1
00004165: DUP3
00004166: GT
00004167: PUSH2 0x421b
0000416a: JUMPI
0000416b: DUP1
0000416c: DUP6
0000416d: GT
0000416e: PUSH2 0x41e4
00004171: JUMPI
00004172: POP
00004173: PUSH2 0x4190
00004176: DUP6
00004177: PUSH2 0x4181
0000417a: DUP2
0000417b: SWAP4
0000417c: DUP7
0000417d: PUSH2 0x46dc
00004180: JUMP
00004181: JUMPDEST
00004182: AND
00004183: SWAP5
00004184: PUSH1 0x20
00004186: DUP10
00004187: ADD
00004188: SWAP6
00004189: DUP7
0000418a: MSTORE
0000418b: DUP5
0000418c: PUSH2 0x46dc
0000418f: JUMP
00004190: JUMPDEST
00004191: AND
00004192: SWAP2
00004193: DUP5
00004194: PUSH2 0x41a7
00004197: PUSH1 0x40
00004199: DUP10
0000419a: ADD
0000419b: SWAP5
0000419c: DUP1
0000419d: DUP7
0000419e: MSTORE
0000419f: DUP3
000041a0: DUP8
000041a1: MLOAD
000041a2: AND
000041a3: PUSH2 0x4120
000041a6: JUMP
000041a7: JUMPDEST
000041a8: AND
000041a9: LT
000041aa: ISZERO
000041ab: PUSH2 0x41ce
000041ae: JUMPI
000041af: PUSH2 0x41c0
000041b2: DUP5
000041b3: SWAP2
000041b4: DUP3
000041b5: PUSH2 0x41c9
000041b8: SWAP6
000041b9: MLOAD
000041ba: AND
000041bb: SWAP1
000041bc: PUSH2 0x309a
000041bf: JUMP
000041c0: JUMPDEST
000041c1: SWAP2
000041c2: MLOAD
000041c3: AND
000041c4: SWAP1
000041c5: PUSH2 0x309a
000041c8: JUMP
000041c9: JUMPDEST
000041ca: AND
000041cb: DUP3
000041cc: MSTORE
000041cd: JUMP
000041ce: JUMPDEST
000041cf: PUSH4 0x4e487b71
000041d4: PUSH1 0xe0
000041d6: SHL
000041d7: PUSH1 0x00
000041d9: MSTORE
000041da: PUSH1 0x01
000041dc: PUSH1 0x04
000041de: MSTORE
000041df: PUSH1 0x24
000041e1: PUSH1 0x00
000041e3: REVERT
000041e4: JUMPDEST
000041e5: DUP5
000041e6: PUSH1 0x44
000041e8: SWAP2
000041e9: PUSH1 0x40
000041eb: MLOAD
000041ec: SWAP2
000041ed: PUSH32 0x4fea5c1a00000000000000000000000000000000000000000000000000000000
0000420e: DUP4
0000420f: MSTORE
00004210: PUSH1 0x04
00004212: DUP4
00004213: ADD
00004214: MSTORE
00004215: PUSH1 0x24
00004217: DUP3
00004218: ADD
00004219: MSTORE
0000421a: REVERT
0000421b: JUMPDEST
0000421c: PUSH1 0x44
0000421e: SWAP3
0000421f: POP
00004220: PUSH1 0x40
00004222: MLOAD
00004223: SWAP2
00004224: PUSH32 0x47152d6700000000000000000000000000000000000000000000000000000000
00004245: DUP4
00004246: MSTORE
00004247: PUSH1 0x04
00004249: DUP4
0000424a: ADD
0000424b: MSTORE
0000424c: PUSH1 0x24
0000424e: DUP3
0000424f: ADD
00004250: MSTORE
00004251: REVERT
00004252: JUMPDEST
00004253: POP
00004254: POP
00004255: POP
00004256: POP
00004257: POP
00004258: SWAP1
00004259: POP
0000425a: PUSH1 0x40
0000425c: MLOAD
0000425d: PUSH2 0x4265
00004260: DUP2
00004261: PUSH2 0x2fd1
00004264: JUMP
00004265: JUMPDEST
00004266: PUSH1 0x00
00004268: DUP2
00004269: MSTORE
0000426a: PUSH1 0x00
0000426c: PUSH1 0x20
0000426e: DUP3
0000426f: ADD
00004270: MSTORE
00004271: PUSH1 0x00
00004273: PUSH1 0x40
00004275: DUP3
00004276: ADD
00004277: MSTORE
00004278: SWAP1
00004279: JUMP
0000427a: JUMPDEST
0000427b: ISZERO
0000427c: PUSH2 0x4281
0000427f: JUMPI
00004280: JUMP
00004281: JUMPDEST
00004282: PUSH1 0x64
00004284: PUSH1 0x40
00004286: MLOAD
00004287: PUSH3 0x461bcd
0000428b: PUSH1 0xe5
0000428d: SHL
0000428e: DUP2
0000428f: MSTORE
00004290: PUSH1 0x20
00004292: PUSH1 0x04
00004294: DUP3
00004295: ADD
00004296: MSTORE
00004297: PUSH1 0x1c
00004299: PUSH1 0x24
0000429b: DUP3
0000429c: ADD
0000429d: MSTORE
0000429e: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000
000042bf: PUSH1 0x44
000042c1: DUP3
000042c2: ADD
000042c3: MSTORE
000042c4: REVERT
000042c5: JUMPDEST
000042c6: SWAP3
000042c7: SWAP1
000042c8: PUSH1 0x40
000042ca: MLOAD
000042cb: SWAP3
000042cc: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000042ed: PUSH1 0x20
000042ef: DUP6
000042f0: ADD
000042f1: MSTORE
000042f2: PUSH1 0x01
000042f4: PUSH1 0x01
000042f6: PUSH1 0xa0
000042f8: SHL
000042f9: SUB
000042fa: DUP1
000042fb: SWAP3
000042fc: AND
000042fd: PUSH1 0x24
000042ff: DUP6
00004300: ADD
00004301: MSTORE
00004302: AND
00004303: PUSH1 0x44
00004305: DUP4
00004306: ADD
00004307: MSTORE
00004308: PUSH1 0x64
0000430a: DUP3
0000430b: ADD
0000430c: MSTORE
0000430d: PUSH1 0x64
0000430f: DUP2
00004310: MSTORE
00004311: PUSH1 0xa0
00004313: DUP2
00004314: ADD
00004315: SWAP2
00004316: DUP2
00004317: DUP4
00004318: LT
00004319: PUSH8 0xffffffffffffffff
00004322: DUP5
00004323: GT
00004324: OR
00004325: PUSH2 0x2705
00004328: JUMPI
00004329: PUSH2 0x40f6
0000432c: SWAP3
0000432d: PUSH1 0x40
0000432f: MSTORE
00004330: JUMPDEST
00004331: PUSH1 0x01
00004333: PUSH1 0x01
00004335: PUSH1 0xa0
00004337: SHL
00004338: SUB
00004339: AND
0000433a: SWAP1
0000433b: PUSH2 0x4390
0000433e: PUSH1 0x40
00004340: MLOAD
00004341: PUSH2 0x4349
00004344: DUP2
00004345: PUSH2 0x2fed
00004348: JUMP
00004349: JUMPDEST
0000434a: PUSH1 0x20
0000434c: SWAP4
0000434d: DUP5
0000434e: DUP3
0000434f: MSTORE
00004350: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00004371: DUP6
00004372: DUP4
00004373: ADD
00004374: MSTORE
00004375: PUSH1 0x00
00004377: DUP1
00004378: DUP6
00004379: DUP8
0000437a: DUP3
0000437b: SWAP8
0000437c: MLOAD
0000437d: SWAP2
0000437e: ADD
0000437f: DUP3
00004380: DUP6
00004381: GAS
00004382: CALL
00004383: PUSH2 0x438a
00004386: PUSH2 0x4439
00004389: JUMP
0000438a: JUMPDEST
0000438b: SWAP2
0000438c: PUSH2 0x478b
0000438f: JUMP
00004390: JUMPDEST
00004391: DUP1
00004392: MLOAD
00004393: SWAP2
00004394: DUP3
00004395: ISZERO
00004396: SWAP2
00004397: DUP5
00004398: DUP4
00004399: ISZERO
0000439a: PUSH2 0x4415
0000439d: JUMPI
0000439e: JUMPDEST
0000439f: POP
000043a0: POP
000043a1: POP
000043a2: SWAP1
000043a3: POP
000043a4: ISZERO
000043a5: PUSH2 0x43ab
000043a8: JUMPI
000043a9: POP
000043aa: JUMP
000043ab: JUMPDEST
000043ac: PUSH1 0x84
000043ae: SWAP1
000043af: PUSH1 0x40
000043b1: MLOAD
000043b2: SWAP1
000043b3: PUSH3 0x461bcd
000043b7: PUSH1 0xe5
000043b9: SHL
000043ba: DUP3
000043bb: MSTORE
000043bc: PUSH1 0x04
000043be: DUP3
000043bf: ADD
000043c0: MSTORE
000043c1: PUSH1 0x2a
000043c3: PUSH1 0x24
000043c5: DUP3
000043c6: ADD
000043c7: MSTORE
000043c8: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
000043e9: PUSH1 0x44
000043eb: DUP3
000043ec: ADD
000043ed: MSTORE
000043ee: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
0000440f: PUSH1 0x64
00004411: DUP3
00004412: ADD
00004413: MSTORE
00004414: REVERT
00004415: JUMPDEST
00004416: SWAP2
00004417: SWAP4
00004418: DUP2
00004419: DUP1
0000441a: SWAP5
0000441b: POP
0000441c: ADD
0000441d: SUB
0000441e: SLT
0000441f: PUSH2 0x09b1
00004422: JUMPI
00004423: DUP3
00004424: ADD
00004425: MLOAD
00004426: SWAP1
00004427: DUP2
00004428: ISZERO
00004429: ISZERO
0000442a: DUP3
0000442b: SUB
0000442c: PUSH2 0x05b9
0000442f: JUMPI
00004430: POP
00004431: DUP1
00004432: CODESIZE
00004433: DUP1
00004434: DUP5
00004435: PUSH2 0x439e
00004438: JUMP
00004439: JUMPDEST
0000443a: RETURNDATASIZE
0000443b: ISZERO
0000443c: PUSH2 0x4464
0000443f: JUMPI
00004440: RETURNDATASIZE
00004441: SWAP1
00004442: PUSH2 0x444a
00004445: DUP3
00004446: PUSH2 0x302b
00004449: JUMP
0000444a: JUMPDEST
0000444b: SWAP2
0000444c: PUSH2 0x4458
0000444f: PUSH1 0x40
00004451: MLOAD
00004452: SWAP4
00004453: DUP5
00004454: PUSH2 0x3009
00004457: JUMP
00004458: JUMPDEST
00004459: DUP3
0000445a: MSTORE
0000445b: RETURNDATASIZE
0000445c: PUSH1 0x00
0000445e: PUSH1 0x20
00004460: DUP5
00004461: ADD
00004462: RETURNDATACOPY
00004463: JUMP
00004464: JUMPDEST
00004465: PUSH1 0x60
00004467: SWAP1
00004468: JUMP
00004469: JUMPDEST
0000446a: SWAP3
0000446b: SWAP1
0000446c: DUP1
0000446d: EXTCODESIZE
0000446e: ISZERO
0000446f: PUSH2 0x45f3
00004472: JUMPI
00004473: PUSH2 0x44d3
00004476: SWAP2
00004477: PUSH1 0x20
00004479: SWAP2
0000447a: PUSH1 0x01
0000447c: PUSH1 0x01
0000447e: PUSH1 0xa0
00004480: SHL
00004481: SUB
00004482: SWAP5
00004483: PUSH1 0x40
00004485: MLOAD
00004486: DUP1
00004487: SWAP6
00004488: DUP2
00004489: SWAP5
0000448a: DUP3
0000448b: SWAP4
0000448c: DUP10
0000448d: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000
000044ae: SWAP12
000044af: DUP13
000044b0: DUP7
000044b1: MSTORE
000044b2: CALLER
000044b3: PUSH1 0x04
000044b5: DUP8
000044b6: ADD
000044b7: MSTORE
000044b8: AND
000044b9: PUSH1 0x24
000044bb: DUP6
000044bc: ADD
000044bd: MSTORE
000044be: PUSH1 0x44
000044c0: DUP5
000044c1: ADD
000044c2: MSTORE
000044c3: PUSH1 0x80
000044c5: PUSH1 0x64
000044c7: DUP5
000044c8: ADD
000044c9: MSTORE
000044ca: PUSH1 0x84
000044cc: DUP4
000044cd: ADD
000044ce: SWAP1
000044cf: PUSH2 0x2ecc
000044d2: JUMP
000044d3: JUMPDEST
000044d4: SUB
000044d5: SWAP2
000044d6: PUSH1 0x00
000044d8: SWAP7
000044d9: DUP8
000044da: SWAP2
000044db: AND
000044dc: GAS
000044dd: CALL
000044de: SWAP1
000044df: DUP3
000044e0: SWAP1
000044e1: DUP3
000044e2: PUSH2 0x4592
000044e5: JUMPI
000044e6: JUMPDEST
000044e7: POP
000044e8: POP
000044e9: PUSH2 0x456c
000044ec: JUMPI
000044ed: PUSH2 0x44f4
000044f0: PUSH2 0x4439
000044f3: JUMP
000044f4: JUMPDEST
000044f5: DUP1
000044f6: MLOAD
000044f7: SWAP1
000044f8: DUP2
000044f9: PUSH2 0x4567
000044fc: JUMPI
000044fd: PUSH1 0x40
000044ff: MLOAD
00004500: PUSH3 0x461bcd
00004504: PUSH1 0xe5
00004506: SHL
00004507: DUP2
00004508: MSTORE
00004509: PUSH1 0x20
0000450b: PUSH1 0x04
0000450d: DUP3
0000450e: ADD
0000450f: MSTORE
00004510: PUSH1 0x32
00004512: PUSH1 0x24
00004514: DUP3
00004515: ADD
00004516: MSTORE
00004517: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
00004538: PUSH1 0x44
0000453a: DUP3
0000453b: ADD
0000453c: MSTORE
0000453d: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000
0000455e: PUSH1 0x64
00004560: DUP3
00004561: ADD
00004562: MSTORE
00004563: PUSH1 0x84
00004565: SWAP1
00004566: REVERT
00004567: JUMPDEST
00004568: PUSH1 0x20
0000456a: ADD
0000456b: REVERT
0000456c: JUMPDEST
0000456d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000458e: AND
0000458f: EQ
00004590: SWAP1
00004591: JUMP
00004592: JUMPDEST
00004593: SWAP1
00004594: SWAP2
00004595: SWAP3
00004596: POP
00004597: PUSH1 0x20
00004599: DUP2
0000459a: RETURNDATASIZE
0000459b: PUSH1 0x20
0000459d: GT
0000459e: PUSH2 0x45eb
000045a1: JUMPI
000045a2: JUMPDEST
000045a3: DUP2
000045a4: PUSH2 0x45af
000045a7: PUSH1 0x20
000045a9: SWAP4
000045aa: DUP4
000045ab: PUSH2 0x3009
000045ae: JUMP
000045af: JUMPDEST
000045b0: DUP2
000045b1: ADD
000045b2: SUB
000045b3: SLT
000045b4: PUSH2 0x09b1
000045b7: JUMPI
000045b8: MLOAD
000045b9: SWAP1
000045ba: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000045db: DUP3
000045dc: AND
000045dd: DUP3
000045de: SUB
000045df: PUSH2 0x05b9
000045e2: JUMPI
000045e3: POP
000045e4: SWAP1
000045e5: CODESIZE
000045e6: DUP1
000045e7: PUSH2 0x44e6
000045ea: JUMP
000045eb: JUMPDEST
000045ec: RETURNDATASIZE
000045ed: SWAP2
000045ee: POP
000045ef: PUSH2 0x45a2
000045f2: JUMP
000045f3: JUMPDEST
000045f4: POP
000045f5: POP
000045f6: POP
000045f7: POP
000045f8: PUSH1 0x01
000045fa: SWAP1
000045fb: JUMP
000045fc: JUMPDEST
000045fd: PUSH8 0x0de0b6b3a7640000
00004606: SWAP2
00004607: PUSH1 0x00
00004609: NOT
0000460a: DUP4
0000460b: DUP4
0000460c: MULMOD
0000460d: SWAP3
0000460e: DUP1
0000460f: DUP4
00004610: MUL
00004611: SWAP3
00004612: DUP4
00004613: DUP1
00004614: DUP7
00004615: LT
00004616: SWAP6
00004617: SUB
00004618: SWAP5
00004619: DUP1
0000461a: DUP7
0000461b: SUB
0000461c: SWAP6
0000461d: EQ
0000461e: PUSH2 0x46b8
00004621: JUMPI
00004622: DUP3
00004623: DUP6
00004624: LT
00004625: ISZERO
00004626: PUSH2 0x467c
00004629: JUMPI
0000462a: SWAP1
0000462b: DUP3
0000462c: SWAP2
0000462d: MULMOD
0000462e: PUSH1 0x01
00004630: DUP3
00004631: NOT
00004632: ADD
00004633: DUP3
00004634: AND
00004635: DUP1
00004636: SWAP3
00004637: DIV
00004638: PUSH1 0x02
0000463a: DUP1
0000463b: DUP3
0000463c: PUSH1 0x03
0000463e: MUL
0000463f: XOR
00004640: DUP1
00004641: DUP4
00004642: MUL
00004643: DUP3
00004644: SUB
00004645: MUL
00004646: DUP1
00004647: DUP4
00004648: MUL
00004649: DUP3
0000464a: SUB
0000464b: MUL
0000464c: DUP1
0000464d: DUP4
0000464e: MUL
0000464f: DUP3
00004650: SUB
00004651: MUL
00004652: DUP1
00004653: DUP4
00004654: MUL
00004655: DUP3
00004656: SUB
00004657: MUL
00004658: DUP1
00004659: DUP4
0000465a: MUL
0000465b: DUP3
0000465c: SUB
0000465d: MUL
0000465e: DUP1
0000465f: SWAP3
00004660: MUL
00004661: SWAP1
00004662: SUB
00004663: MUL
00004664: SWAP4
00004665: PUSH1 0x01
00004667: DUP4
00004668: DUP1
00004669: PUSH1 0x00
0000466b: SUB
0000466c: DIV
0000466d: ADD
0000466e: SWAP1
0000466f: DUP5
00004670: DUP4
00004671: GT
00004672: SWAP1
00004673: SUB
00004674: MUL
00004675: SWAP3
00004676: SUB
00004677: DIV
00004678: OR
00004679: MUL
0000467a: SWAP1
0000467b: JUMP
0000467c: JUMPDEST
0000467d: DUP3
0000467e: PUSH1 0x64
00004680: SWAP3
00004681: PUSH1 0x40
00004683: MLOAD
00004684: SWAP3
00004685: PUSH32 0x63a0577800000000000000000000000000000000000000000000000000000000
000046a6: DUP5
000046a7: MSTORE
000046a8: PUSH1 0x04
000046aa: DUP5
000046ab: ADD
000046ac: MSTORE
000046ad: PUSH1 0x24
000046af: DUP4
000046b0: ADD
000046b1: MSTORE
000046b2: PUSH1 0x44
000046b4: DUP3
000046b5: ADD
000046b6: MSTORE
000046b7: REVERT
000046b8: JUMPDEST
000046b9: POP
000046ba: POP
000046bb: DUP1
000046bc: SWAP3
000046bd: POP
000046be: ISZERO
000046bf: PUSH2 0x46c6
000046c2: JUMPI
000046c3: DIV
000046c4: SWAP1
000046c5: JUMP
000046c6: JUMPDEST
000046c7: PUSH4 0x4e487b71
000046cc: PUSH1 0xe0
000046ce: SHL
000046cf: PUSH1 0x00
000046d1: MSTORE
000046d2: PUSH1 0x12
000046d4: PUSH1 0x04
000046d6: MSTORE
000046d7: PUSH1 0x24
000046d9: PUSH1 0x00
000046db: REVERT
000046dc: JUMPDEST
000046dd: SWAP1
000046de: SWAP2
000046df: SWAP1
000046e0: PUSH1 0x00
000046e2: NOT
000046e3: DUP4
000046e4: DUP3
000046e5: MULMOD
000046e6: DUP4
000046e7: DUP3
000046e8: MUL
000046e9: SWAP2
000046ea: DUP3
000046eb: DUP1
000046ec: DUP4
000046ed: LT
000046ee: SWAP3
000046ef: SUB
000046f0: SWAP2
000046f1: DUP1
000046f2: DUP4
000046f3: SUB
000046f4: SWAP3
000046f5: EQ
000046f6: PUSH2 0x477a
000046f9: JUMPI
000046fa: PUSH8 0x0de0b6b3a7640000
00004703: SWAP1
00004704: DUP2
00004705: DUP4
00004706: LT
00004707: ISZERO
00004708: PUSH2 0x4743
0000470b: JUMPI
0000470c: SWAP5
0000470d: PUSH32 0xaccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac10669
0000472e: SWAP5
0000472f: SWAP6
00004730: MULMOD
00004731: SWAP1
00004732: DUP3
00004733: DUP3
00004734: GT
00004735: SWAP1
00004736: SUB
00004737: PUSH1 0xee
00004739: SHL
0000473a: SWAP2
0000473b: SUB
0000473c: PUSH1 0x12
0000473e: SHR
0000473f: OR
00004740: MUL
00004741: SWAP1
00004742: JUMP
00004743: JUMPDEST
00004744: PUSH1 0x44
00004746: SWAP1
00004747: DUP7
00004748: PUSH1 0x40
0000474a: MLOAD
0000474b: SWAP2
0000474c: PUSH32 0x5173648d00000000000000000000000000000000000000000000000000000000
0000476d: DUP4
0000476e: MSTORE
0000476f: PUSH1 0x04
00004771: DUP4
00004772: ADD
00004773: MSTORE
00004774: PUSH1 0x24
00004776: DUP3
00004777: ADD
00004778: MSTORE
00004779: REVERT
0000477a: JUMPDEST
0000477b: POP
0000477c: POP
0000477d: PUSH8 0x0de0b6b3a7640000
00004786: SWAP1
00004787: DIV
00004788: SWAP2
00004789: POP
0000478a: JUMP
0000478b: JUMPDEST
0000478c: SWAP2
0000478d: SWAP3
0000478e: SWAP1
0000478f: ISZERO
00004790: PUSH2 0x47ec
00004793: JUMPI
00004794: POP
00004795: DUP2
00004796: MLOAD
00004797: ISZERO
00004798: PUSH2 0x479f
0000479b: JUMPI
0000479c: POP
0000479d: SWAP1
0000479e: JUMP
0000479f: JUMPDEST
000047a0: EXTCODESIZE
000047a1: ISZERO
000047a2: PUSH2 0x47a8
000047a5: JUMPI
000047a6: SWAP1
000047a7: JUMP
000047a8: JUMPDEST
000047a9: PUSH1 0x64
000047ab: PUSH1 0x40
000047ad: MLOAD
000047ae: PUSH3 0x461bcd
000047b2: PUSH1 0xe5
000047b4: SHL
000047b5: DUP2
000047b6: MSTORE
000047b7: PUSH1 0x20
000047b9: PUSH1 0x04
000047bb: DUP3
000047bc: ADD
000047bd: MSTORE
000047be: PUSH1 0x1d
000047c0: PUSH1 0x24
000047c2: DUP3
000047c3: ADD
000047c4: MSTORE
000047c5: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000047e6: PUSH1 0x44
000047e8: DUP3
000047e9: ADD
000047ea: MSTORE
000047eb: REVERT
000047ec: JUMPDEST
000047ed: DUP3
000047ee: MLOAD
000047ef: SWAP1
000047f0: SWAP2
000047f1: POP
000047f2: ISZERO
000047f3: PUSH2 0x47ff
000047f6: JUMPI
000047f7: POP
000047f8: DUP1
000047f9: MLOAD
000047fa: SWAP1
000047fb: PUSH1 0x20
000047fd: ADD
000047fe: REVERT
000047ff: JUMPDEST
00004800: PUSH2 0x04fa
00004803: SWAP1
00004804: PUSH1 0x40
00004806: MLOAD
00004807: SWAP2
00004808: DUP3
00004809: SWAP2
0000480a: PUSH3 0x461bcd
0000480e: PUSH1 0xe5
00004810: SHL
00004811: DUP4
00004812: MSTORE
00004813: PUSH1 0x20
00004815: PUSH1 0x04
00004817: DUP5
00004818: ADD
00004819: MSTORE
0000481a: PUSH1 0x24
0000481c: DUP4
0000481d: ADD
0000481e: SWAP1
0000481f: PUSH2 0x2ecc
00004822: JUMP
00004823: INVALID
00004824: LOG1
00004825: PUSH5 0x736f6c6343
0000482b: STOP
0000482c: ADDMOD
0000482d: OR
0000482e: STOP
0000482f: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xd86036f43ea6d26dc0af3ee98a89cb728facade0c8bc1837ec37391309bee75f
call_targets: 0xafb979d9afad1ad27c5eff4e27226e3ab9e5dcc9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd86036f43ea6d26dc0af3ee98a89cb728facade0c8bc1837ec37391309bee75f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xafb979d9afad1ad27c5eff4e27226e3ab9e5dcc9"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1400ecec",
            "selector": "0x1400ecec",
            "calldata_variants": [
                "0x1400ecec",
                "0x1400ecec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1c1cdd4c",
            "selector": "0x1c1cdd4c",
            "calldata_variants": [
                "0x1c1cdd4c",
                "0x1c1cdd4c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e99d569",
            "selector": "0x1e99d569",
            "calldata_variants": [
                "0x1e99d569",
                "0x1e99d5690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1128,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3082,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5252,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 1016,
            "type": "msg_sender_eq_const",
            "value": 2.927410470447122e+76
        },
        {
            "pc": 2957,
            "type": "msg_sender_eq_const",
            "value": 2.927410470447122e+76
        }
    ],
    "untrusted_call_count": 8
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xd86036f43ea6d26dc0af3ee98a89cb728facade0c8bc1837ec37391309bee75f
call_targets: 0xafb979d9afad1ad27c5eff4e27226e3ab9e5dcc9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd86036f43ea6d26dc0af3ee98a89cb728facade0c8bc1837ec37391309bee75f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xafb979d9afad1ad27c5eff4e27226e3ab9e5dcc9"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x081812fc",
            "selector": "0x081812fc",
            "calldata_variants": [
                "0x081812fc",
                "0x081812fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1400ecec",
            "selector": "0x1400ecec",
            "calldata_variants": [
                "0x1400ecec",
                "0x1400ecec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1c1cdd4c",
            "selector": "0x1c1cdd4c",
            "calldata_variants": [
                "0x1c1cdd4c",
                "0x1c1cdd4c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e99d569",
            "selector": "0x1e99d569",
            "calldata_variants": [
                "0x1e99d569",
                "0x1e99d5690000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1128,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3082,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5252,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 1016,
            "type": "msg_sender_eq_const",
            "value": 2.927410470447122e+76
        },
        {
            "pc": 2957,
            "type": "msg_sender_eq_const",
            "value": 2.927410470447122e+76
        }
    ]
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 14
}