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

Analysis Run

09d41e85-9b93-4b6f-b16a-e04734352bda

failed
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 11:23 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 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30230 report.consolidate complete 1 / 1 3 months ago
73564 artifact.fetch failed 1 / 3 2 weeks ago
73565 tool.cast_disasm complete 1 / 3 2 weeks ago
73566 analysis.bundle complete 1 / 3 2 weeks ago
73567 capability.graph complete 1 / 3 2 weeks ago
73568 detector.run complete 1 / 3 2 weeks ago
73569 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).
View stderr
[codex:1511298] OpenAI Codex v0.77.0 (research preview)
[codex:1511298] --------
[codex:1511298] workdir: /tmp/codex-multi-6qcrpyqr
[codex:1511298] model: gpt-5.2-codex
[codex:1511298] provider: openai
[codex:1511298] approval: never
[codex:1511298] sandbox: read-only
[codex:1511298] reasoning effort: xhigh
[codex:1511298] reasoning summaries: auto
[codex:1511298] session id: 019b621b-e22b-79f1-96a2-6ef8d3d6b721
[codex:1511298] --------
[codex:1511298] user
[codex:1511298] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1511298] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1511298] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1511298] 
[codex:1511298] Scope rules:
[codex:1511298] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1511298] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1511298] 
[codex:1511298] Output MUST be valid JSON matching the provided schema.
[codex:1511298] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1511298] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1511298] 
[codex:1511298] Output constraints (IMPORTANT):
[codex:1511298] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1511298] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1511298] mcp startup: no servers
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Preparing to read AUDIT_BUNDLE**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc ls in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] AUDIT_BUNDLE.txt
[codex:1511298] codex-output-schema.json
[codex:1511298] contracts
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Reading AUDIT_BUNDLE file**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1511298] 
[codex:1511298] ================================================================================
[codex:1511298] FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1511298] ================================================================================
[codex:1511298] // SPDX-License-Identifier: MIT
[codex:1511298] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1511298] 
[codex:1511298] pragma solidity ^0.8.20;
[codex:1511298] 
[codex:1511298] /**
[codex:1511298]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1511298]  */
[codex:1511298] interface IERC20 {
[codex:1511298]     /**
[codex:1511298]      * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1511298]      * another (`to`).
[codex:1511298]      *
[codex:1511298]      * Note that `value` may be zero.
[codex:1511298]      */
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Evaluating StablecoinRedeemer for vulnerabilities**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc 'rg -n "FILE: contracts/src" AUDIT_BUNDLE.txt' in /tmp/codex-multi-6qcrpyqr succeeded in 7ms:
[codex:1511298] 1103:FILE: contracts/src/Minter/StablecoinRedeemer.sol
[codex:1511298] 1296:FILE: contracts/src/interfaces/IAID.sol
[codex:1511298] 
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Analyzing upgradeability and reentrancy risks**
[codex:1511298] thinking
[codex:1511298] **Confirming absence of exploitable vulnerabilities**
[codex:1511298] 
[codex:1511298] There is a detailed review of potential reentrancy, access control, upgradeability, and accounting issues, and after careful consideration, I find no exploitable vulnerabilities. I’m weighing common edge cases, including malicious ownership or token behavior, but all scenarios are safely guarded or not exploitable. This leads me to conclude the contract is secure within the given focus areas, so I’ll prepare a no findings report accordingly.
[codex:1511298] exec
[codex:1511298] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-6qcrpyqr succeeded in 6ms:
[codex:1511298] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Analyzing audit summary and reading strategy**
[codex:1511298] 
[codex:1511298] I'm reviewing subtle technical risks and trust assumptions in the audit, confirming no exploitable vulnerabilities exist, and planning to read the full audit file carefully in segmented chunks to avoid truncation and ensure complete coverage.
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1511298] 
[codex:1511298] ================================================================================
[codex:1511298] FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1511298] ================================================================================
[codex:1511298] // SPDX-License-Identifier: MIT
[codex:1511298] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1511298] 
[codex:1511298] pragma solidity ^0.8.20;
[codex:1511298] 
[codex:1511298] /**
[codex:1511298]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1511298]  */
[codex:1511298] interface IERC20 {
[codex:1511298]     /**
[codex:1511298]      * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1511298]      * another (`to`).
[codex:1511298]      *
[codex:1511298]      * Note that `value` may be zero.
[codex:1511298]      */
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Awaiting more input**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 6ms:
[codex:1511298]      */
[codex:1511298]     function nonces(address owner) external view returns (uint256);
[codex:1511298] 
[codex:1511298]     /**
[codex:1511298]      * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.
[codex:1511298]      */
[codex:1511298]     // solhint-disable-next-line func-name-mixedcase
[codex:1511298]     function DOMAIN_SEPARATOR() external view returns (bytes32);
[codex:1511298] }
[codex:1511298] 
[codex:1511298] ================================================================================
[codex:1511298] FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1511298] ================================================================================
[codex:1511298] // SPDX-License-Identifier: MIT
[codex:1511298] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/utils/SafeERC20.sol)
[codex:1511298] 
[codex:1511298] pragma solidity ^0.8.20;
[codex:1511298] 
[codex:1511298] import {IERC20} from "../IERC20.sol";
[codex:1511298] import {IERC20Permit} from "../extensions/IERC20Permit.sol";
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Pausing before continuing**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '400,600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298]      *
[codex:1511298]      * - `target` must be a contract.
[codex:1511298]      * - calling `target` with `data` must not revert.
[codex:1511298]      */
[codex:1511298]     function functionCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:1511298]         return functionCallWithValue(target, data, 0);
[codex:1511298]     }
[codex:1511298] 
[codex:1511298]     /**
[codex:1511298]      * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1511298]      * but also transferring `value` wei to `target`.
[codex:1511298]      *
[codex:1511298]      * Requirements:
[codex:1511298]      *
[codex:1511298]      * - the calling contract must have an ETH balance of at least `value`.
[codex:1511298]      * - the called Solidity function must be `payable`.
[codex:1511298]      */
[codex:1511298]     function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
[codex:1511298]         if (address(this).balance < value) {
[codex:1511298]             revert AddressInsufficientBalance(address(this));
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Continuing analysis**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '600,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298]  * there is an account (an owner) that can be granted exclusive access to
[codex:1511298]  * specific functions.
[codex:1511298]  *
[codex:1511298]  * The initial owner is set to the address provided by the deployer. This can
[codex:1511298]  * later be changed with {transferOwnership}.
[codex:1511298]  *
[codex:1511298]  * This module is used through inheritance. It will make available the modifier
[codex:1511298]  * `onlyOwner`, which can be applied to your functions to restrict their use to
[codex:1511298]  * the owner.
[codex:1511298]  */
[codex:1511298] abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
[codex:1511298]     /// @custom:storage-location erc7201:openzeppelin.storage.Ownable
[codex:1511298]     struct OwnableStorage {
[codex:1511298]         address _owner;
[codex:1511298]     }
[codex:1511298] 
[codex:1511298]     // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.Ownable")) - 1)) & ~bytes32(uint256(0xff))
[codex:1511298]     bytes32 private constant OwnableStorageLocation = 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300;
[codex:1511298] 
[codex:1511298]     function _getOwnableStorage() private pure returns (OwnableStorage storage $) {
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Continuing exploration**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '800,1000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] 
[codex:1511298]     /**
[codex:1511298]      * @dev Triggered when the contract has been initialized or reinitialized.
[codex:1511298]      */
[codex:1511298]     event Initialized(uint64 version);
[codex:1511298] 
[codex:1511298]     /**
[codex:1511298]      * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,
[codex:1511298]      * `onlyInitializing` functions can be used to initialize parent contracts.
[codex:1511298]      *
[codex:1511298]      * Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any
[codex:1511298]      * number of times. This behavior in the constructor can be useful during testing and is not expected to be used in
[codex:1511298]      * production.
[codex:1511298]      *
[codex:1511298]      * Emits an {Initialized} event.
[codex:1511298]      */
[codex:1511298]     modifier initializer() {
[codex:1511298]         // solhint-disable-next-line var-name-mixedcase
[codex:1511298]         InitializableStorage storage $ = _getInitializableStorage();
[codex:1511298] 
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Continuing analysis**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '1000,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298]  * @dev Contract module that helps prevent reentrant calls to a function.
[codex:1511298]  *
[codex:1511298]  * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
[codex:1511298]  * available, which can be applied to functions to make sure there are no nested
[codex:1511298]  * (reentrant) calls to them.
[codex:1511298]  *
[codex:1511298]  * Note that because there is a single `nonReentrant` guard, functions marked as
[codex:1511298]  * `nonReentrant` may not call one another. This can be worked around by making
[codex:1511298]  * those functions `private`, and then adding `external` `nonReentrant` entry
[codex:1511298]  * points to them.
[codex:1511298]  *
[codex:1511298]  * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,
[codex:1511298]  * consider using {ReentrancyGuardTransient} instead.
[codex:1511298]  *
[codex:1511298]  * TIP: If you would like to learn more about reentrancy and alternative ways
[codex:1511298]  * to protect against it, check out our blog post
[codex:1511298]  * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
[codex:1511298]  */
[codex:1511298] abstract contract ReentrancyGuardUpgradeable is Initializable {
[codex:1511298]     // Booleans are more expensive than uint256 or any type that takes up a full
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Finishing review**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '1200,1400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] 
[codex:1511298]         // Calculate the decimal adjustment multiplier
[codex:1511298]         // If AID has different decimals than stablecoin, we need to adjust
[codex:1511298]         DECIMAL_ADJUSTMENT = 10 ** (aidDecimals - stablecoinDecimals);
[codex:1511298] 
[codex:1511298]         // Initialize with default values
[codex:1511298]         redeemLimitPerDay = _redeemLimitPerDay;
[codex:1511298]     }
[codex:1511298] 
[codex:1511298]     /// @notice Redeems AID tokens for stablecoins
[codex:1511298]     /// @param aidAmount Amount of AID to redeem (in AID's native decimals)
[codex:1511298]     /// @return stablecoinAmount Amount of stablecoin redeemed after fee (in stablecoin's native decimals)
[codex:1511298]     /// @dev Transfers AID from caller, burns it, and transfers stablecoin at 1:1 ratio minus fee
[codex:1511298]     function redeem(uint256 aidAmount) external nonReentrant returns (uint256) {
[codex:1511298]         // Check daily redemption limit (in AID amount)
[codex:1511298]         uint256 currentDay = block.timestamp / 1 days;
[codex:1511298]         uint256 redeemedToday = dailyRedeemed[currentDay];
[codex:1511298]         if (redeemedToday + aidAmount > redeemLimitPerDay) {
[codex:1511298]             revert DailyLimitExceeded();
[codex:1511298]         }
[codex:1511298] 
[codex:1511298] thinking
[codex:1511298] **Evaluating potential vulnerabilities**
[codex:1511298] codex
[codex:1511298] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).","findings":[]}
[codex:1511298] tokens used
[codex:1511298] 58,667
[codex:1511298] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T23:23:03.805574+00:00",
        "returncode": 0
    },
    "summary": "No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
4
Total opcodes
4110
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x000f
0000000b: JUMPI
0000000c: PUSH0
0000000d: DUP1
0000000e: REVERT
0000000f: JUMPDEST
00000010: POP
00000011: PUSH1 0x04
00000013: CALLDATASIZE
00000014: LT
00000015: PUSH2 0x012a
00000018: JUMPI
00000019: PUSH0
0000001a: CALLDATALOAD
0000001b: PUSH1 0xe0
0000001d: SHR
0000001e: DUP1
0000001f: PUSH4 0xc1fd7a00
00000024: GT
00000025: PUSH2 0x00ab
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe30c3978
0000002f: GT
00000030: PUSH2 0x006f
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xe30c3978
0000003a: EQ
0000003b: PUSH2 0x02e4
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe9cbd822
00000045: EQ
00000046: PUSH2 0x0302
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xec07f063
00000050: EQ
00000051: PUSH2 0x0320
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf2fde38b
0000005b: EQ
0000005c: PUSH2 0x033c
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf347f505
00000066: EQ
00000067: PUSH2 0x0358
0000006a: JUMPI
0000006b: PUSH2 0x012a
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xc1fd7a00
00000076: EQ
00000077: PUSH2 0x023e
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xcf756fdf
00000081: EQ
00000082: PUSH2 0x025c
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xd68002f3
0000008c: EQ
0000008d: PUSH2 0x0278
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xd9d48e04
00000097: EQ
00000098: PUSH2 0x0296
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xdb006a75
000000a2: EQ
000000a3: PUSH2 0x02b4
000000a6: JUMPI
000000a7: PUSH2 0x012a
000000aa: JUMP
000000ab: JUMPDEST
000000ac: DUP1
000000ad: PUSH4 0x79ba5097
000000b2: GT
000000b3: PUSH2 0x00f2
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x79ba5097
000000bd: EQ
000000be: PUSH2 0x01ac
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x80b44c92
000000c8: EQ
000000c9: PUSH2 0x01b6
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x8da5cb5b
000000d3: EQ
000000d4: PUSH2 0x01d2
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x9ac929fb
000000de: EQ
000000df: PUSH2 0x01f0
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0xb91cc136
000000e9: EQ
000000ea: PUSH2 0x0220
000000ed: JUMPI
000000ee: PUSH2 0x012a
000000f1: JUMP
000000f2: JUMPDEST
000000f3: DUP1
000000f4: PUSH4 0x28a1f040
000000f9: EQ
000000fa: PUSH2 0x012e
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x3e58e071
00000104: EQ
00000105: PUSH2 0x014c
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x62c06767
0000010f: EQ
00000110: PUSH2 0x0168
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x6ca7f95c
0000011a: EQ
0000011b: PUSH2 0x0184
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x715018a6
00000125: EQ
00000126: PUSH2 0x01a2
00000129: JUMPI
0000012a: JUMPDEST
0000012b: PUSH0
0000012c: DUP1
0000012d: REVERT
0000012e: JUMPDEST
0000012f: PUSH2 0x0136
00000132: PUSH2 0x0376
00000135: JUMP
00000136: JUMPDEST
00000137: PUSH1 0x40
00000139: MLOAD
0000013a: PUSH2 0x0143
0000013d: SWAP2
0000013e: SWAP1
0000013f: PUSH2 0x15df
00000142: JUMP
00000143: JUMPDEST
00000144: PUSH1 0x40
00000146: MLOAD
00000147: DUP1
00000148: SWAP2
00000149: SUB
0000014a: SWAP1
0000014b: RETURN
0000014c: JUMPDEST
0000014d: PUSH2 0x0166
00000150: PUSH1 0x04
00000152: DUP1
00000153: CALLDATASIZE
00000154: SUB
00000155: DUP2
00000156: ADD
00000157: SWAP1
00000158: PUSH2 0x0161
0000015b: SWAP2
0000015c: SWAP1
0000015d: PUSH2 0x1633
00000160: JUMP
00000161: JUMPDEST
00000162: PUSH2 0x0389
00000165: JUMP
00000166: JUMPDEST
00000167: STOP
00000168: JUMPDEST
00000169: PUSH2 0x0182
0000016c: PUSH1 0x04
0000016e: DUP1
0000016f: CALLDATASIZE
00000170: SUB
00000171: DUP2
00000172: ADD
00000173: SWAP1
00000174: PUSH2 0x017d
00000177: SWAP2
00000178: SWAP1
00000179: PUSH2 0x16eb
0000017c: JUMP
0000017d: JUMPDEST
0000017e: PUSH2 0x0427
00000181: JUMP
00000182: JUMPDEST
00000183: STOP
00000184: JUMPDEST
00000185: PUSH2 0x018c
00000188: PUSH2 0x04bd
0000018b: JUMP
0000018c: JUMPDEST
0000018d: PUSH1 0x40
0000018f: MLOAD
00000190: PUSH2 0x0199
00000193: SWAP2
00000194: SWAP1
00000195: PUSH2 0x174a
00000198: JUMP
00000199: JUMPDEST
0000019a: PUSH1 0x40
0000019c: MLOAD
0000019d: DUP1
0000019e: SWAP2
0000019f: SUB
000001a0: SWAP1
000001a1: RETURN
000001a2: JUMPDEST
000001a3: PUSH2 0x01aa
000001a6: PUSH2 0x04c3
000001a9: JUMP
000001aa: JUMPDEST
000001ab: STOP
000001ac: JUMPDEST
000001ad: PUSH2 0x01b4
000001b0: PUSH2 0x04d6
000001b3: JUMP
000001b4: JUMPDEST
000001b5: STOP
000001b6: JUMPDEST
000001b7: PUSH2 0x01d0
000001ba: PUSH1 0x04
000001bc: DUP1
000001bd: CALLDATASIZE
000001be: SUB
000001bf: DUP2
000001c0: ADD
000001c1: SWAP1
000001c2: PUSH2 0x01cb
000001c5: SWAP2
000001c6: SWAP1
000001c7: PUSH2 0x1763
000001ca: JUMP
000001cb: JUMPDEST
000001cc: PUSH2 0x0564
000001cf: JUMP
000001d0: JUMPDEST
000001d1: STOP
000001d2: JUMPDEST
000001d3: PUSH2 0x01da
000001d6: PUSH2 0x05ad
000001d9: JUMP
000001da: JUMPDEST
000001db: PUSH1 0x40
000001dd: MLOAD
000001de: PUSH2 0x01e7
000001e1: SWAP2
000001e2: SWAP1
000001e3: PUSH2 0x179d
000001e6: JUMP
000001e7: JUMPDEST
000001e8: PUSH1 0x40
000001ea: MLOAD
000001eb: DUP1
000001ec: SWAP2
000001ed: SUB
000001ee: SWAP1
000001ef: RETURN
000001f0: JUMPDEST
000001f1: PUSH2 0x020a
000001f4: PUSH1 0x04
000001f6: DUP1
000001f7: CALLDATASIZE
000001f8: SUB
000001f9: DUP2
000001fa: ADD
000001fb: SWAP1
000001fc: PUSH2 0x0205
000001ff: SWAP2
00000200: SWAP1
00000201: PUSH2 0x1763
00000204: JUMP
00000205: JUMPDEST
00000206: PUSH2 0x05e2
00000209: JUMP
0000020a: JUMPDEST
0000020b: PUSH1 0x40
0000020d: MLOAD
0000020e: PUSH2 0x0217
00000211: SWAP2
00000212: SWAP1
00000213: PUSH2 0x174a
00000216: JUMP
00000217: JUMPDEST
00000218: PUSH1 0x40
0000021a: MLOAD
0000021b: DUP1
0000021c: SWAP2
0000021d: SUB
0000021e: SWAP1
0000021f: RETURN
00000220: JUMPDEST
00000221: PUSH2 0x0228
00000224: PUSH2 0x05f7
00000227: JUMP
00000228: JUMPDEST
00000229: PUSH1 0x40
0000022b: MLOAD
0000022c: PUSH2 0x0235
0000022f: SWAP2
00000230: SWAP1
00000231: PUSH2 0x179d
00000234: JUMP
00000235: JUMPDEST
00000236: PUSH1 0x40
00000238: MLOAD
00000239: DUP1
0000023a: SWAP2
0000023b: SUB
0000023c: SWAP1
0000023d: RETURN
0000023e: JUMPDEST
0000023f: PUSH2 0x0246
00000242: PUSH2 0x061a
00000245: JUMP
00000246: JUMPDEST
00000247: PUSH1 0x40
00000249: MLOAD
0000024a: PUSH2 0x0253
0000024d: SWAP2
0000024e: SWAP1
0000024f: PUSH2 0x174a
00000252: JUMP
00000253: JUMPDEST
00000254: PUSH1 0x40
00000256: MLOAD
00000257: DUP1
00000258: SWAP2
00000259: SUB
0000025a: SWAP1
0000025b: RETURN
0000025c: JUMPDEST
0000025d: PUSH2 0x0276
00000260: PUSH1 0x04
00000262: DUP1
00000263: CALLDATASIZE
00000264: SUB
00000265: DUP2
00000266: ADD
00000267: SWAP1
00000268: PUSH2 0x0271
0000026b: SWAP2
0000026c: SWAP1
0000026d: PUSH2 0x17b6
00000270: JUMP
00000271: JUMPDEST
00000272: PUSH2 0x0620
00000275: JUMP
00000276: JUMPDEST
00000277: STOP
00000278: JUMPDEST
00000279: PUSH2 0x0280
0000027c: PUSH2 0x0a61
0000027f: JUMP
00000280: JUMPDEST
00000281: PUSH1 0x40
00000283: MLOAD
00000284: PUSH2 0x028d
00000287: SWAP2
00000288: SWAP1
00000289: PUSH2 0x1829
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH1 0x40
00000290: MLOAD
00000291: DUP1
00000292: SWAP2
00000293: SUB
00000294: SWAP1
00000295: RETURN
00000296: JUMPDEST
00000297: PUSH2 0x029e
0000029a: PUSH2 0x0a74
0000029d: JUMP
0000029e: JUMPDEST
0000029f: PUSH1 0x40
000002a1: MLOAD
000002a2: PUSH2 0x02ab
000002a5: SWAP2
000002a6: SWAP1
000002a7: PUSH2 0x174a
000002aa: JUMP
000002ab: JUMPDEST
000002ac: PUSH1 0x40
000002ae: MLOAD
000002af: DUP1
000002b0: SWAP2
000002b1: SUB
000002b2: SWAP1
000002b3: RETURN
000002b4: JUMPDEST
000002b5: PUSH2 0x02ce
000002b8: PUSH1 0x04
000002ba: DUP1
000002bb: CALLDATASIZE
000002bc: SUB
000002bd: DUP2
000002be: ADD
000002bf: SWAP1
000002c0: PUSH2 0x02c9
000002c3: SWAP2
000002c4: SWAP1
000002c5: PUSH2 0x1763
000002c8: JUMP
000002c9: JUMPDEST
000002ca: PUSH2 0x0a7a
000002cd: JUMP
000002ce: JUMPDEST
000002cf: PUSH1 0x40
000002d1: MLOAD
000002d2: PUSH2 0x02db
000002d5: SWAP2
000002d6: SWAP1
000002d7: PUSH2 0x174a
000002da: JUMP
000002db: JUMPDEST
000002dc: PUSH1 0x40
000002de: MLOAD
000002df: DUP1
000002e0: SWAP2
000002e1: SUB
000002e2: SWAP1
000002e3: RETURN
000002e4: JUMPDEST
000002e5: PUSH2 0x02ec
000002e8: PUSH2 0x0d7d
000002eb: JUMP
000002ec: JUMPDEST
000002ed: PUSH1 0x40
000002ef: MLOAD
000002f0: PUSH2 0x02f9
000002f3: SWAP2
000002f4: SWAP1
000002f5: PUSH2 0x179d
000002f8: JUMP
000002f9: JUMPDEST
000002fa: PUSH1 0x40
000002fc: MLOAD
000002fd: DUP1
000002fe: SWAP2
000002ff: SUB
00000300: SWAP1
00000301: RETURN
00000302: JUMPDEST
00000303: PUSH2 0x030a
00000306: PUSH2 0x0db2
00000309: JUMP
0000030a: JUMPDEST
0000030b: PUSH1 0x40
0000030d: MLOAD
0000030e: PUSH2 0x0317
00000311: SWAP2
00000312: SWAP1
00000313: PUSH2 0x179d
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH1 0x40
0000031a: MLOAD
0000031b: DUP1
0000031c: SWAP2
0000031d: SUB
0000031e: SWAP1
0000031f: RETURN
00000320: JUMPDEST
00000321: PUSH2 0x033a
00000324: PUSH1 0x04
00000326: DUP1
00000327: CALLDATASIZE
00000328: SUB
00000329: DUP2
0000032a: ADD
0000032b: SWAP1
0000032c: PUSH2 0x0335
0000032f: SWAP2
00000330: SWAP1
00000331: PUSH2 0x1842
00000334: JUMP
00000335: JUMPDEST
00000336: PUSH2 0x0dd7
00000339: JUMP
0000033a: JUMPDEST
0000033b: STOP
0000033c: JUMPDEST
0000033d: PUSH2 0x0356
00000340: PUSH1 0x04
00000342: DUP1
00000343: CALLDATASIZE
00000344: SUB
00000345: DUP2
00000346: ADD
00000347: SWAP1
00000348: PUSH2 0x0351
0000034b: SWAP2
0000034c: SWAP1
0000034d: PUSH2 0x1842
00000350: JUMP
00000351: JUMPDEST
00000352: PUSH2 0x0e4c
00000355: JUMP
00000356: JUMPDEST
00000357: STOP
00000358: JUMPDEST
00000359: PUSH2 0x0360
0000035c: PUSH2 0x0f05
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH1 0x40
00000363: MLOAD
00000364: PUSH2 0x036d
00000367: SWAP2
00000368: SWAP1
00000369: PUSH2 0x15df
0000036c: JUMP
0000036d: JUMPDEST
0000036e: PUSH1 0x40
00000370: MLOAD
00000371: DUP1
00000372: SWAP2
00000373: SUB
00000374: SWAP1
00000375: RETURN
00000376: JUMPDEST
00000377: PUSH1 0x01
00000379: PUSH1 0x15
0000037b: SWAP1
0000037c: SLOAD
0000037d: SWAP1
0000037e: PUSH2 0x0100
00000381: EXP
00000382: SWAP1
00000383: DIV
00000384: PUSH1 0xff
00000386: AND
00000387: DUP2
00000388: JUMP
00000389: JUMPDEST
0000038a: PUSH2 0x0391
0000038d: PUSH2 0x0f18
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH2 0x2710
00000395: DUP2
00000396: PUSH2 0xffff
00000399: AND
0000039a: GT
0000039b: ISZERO
0000039c: PUSH2 0x03d1
0000039f: JUMPI
000003a0: PUSH1 0x40
000003a2: MLOAD
000003a3: PUSH32 0x8bff87cf00000000000000000000000000000000000000000000000000000000
000003c4: DUP2
000003c5: MSTORE
000003c6: PUSH1 0x04
000003c8: ADD
000003c9: PUSH1 0x40
000003cb: MLOAD
000003cc: DUP1
000003cd: SWAP2
000003ce: SUB
000003cf: SWAP1
000003d0: REVERT
000003d1: JUMPDEST
000003d2: DUP1
000003d3: PUSH1 0x04
000003d5: PUSH0
000003d6: PUSH2 0x0100
000003d9: EXP
000003da: DUP2
000003db: SLOAD
000003dc: DUP2
000003dd: PUSH2 0xffff
000003e0: MUL
000003e1: NOT
000003e2: AND
000003e3: SWAP1
000003e4: DUP4
000003e5: PUSH2 0xffff
000003e8: AND
000003e9: MUL
000003ea: OR
000003eb: SWAP1
000003ec: SSTORE
000003ed: POP
000003ee: PUSH32 0x9de314ad468330bb68940f6f5b9fc3de54220473d759b690b121b567e5c9522f
0000040f: DUP2
00000410: PUSH1 0x40
00000412: MLOAD
00000413: PUSH2 0x041c
00000416: SWAP2
00000417: SWAP1
00000418: PUSH2 0x1829
0000041b: JUMP
0000041c: JUMPDEST
0000041d: PUSH1 0x40
0000041f: MLOAD
00000420: DUP1
00000421: SWAP2
00000422: SUB
00000423: SWAP1
00000424: LOG1
00000425: POP
00000426: JUMP
00000427: JUMPDEST
00000428: PUSH2 0x042f
0000042b: PUSH2 0x0f18
0000042e: JUMP
0000042f: JUMPDEST
00000430: PUSH2 0x0437
00000433: PUSH2 0x0f9f
00000436: JUMP
00000437: JUMPDEST
00000438: PUSH2 0x0462
0000043b: DUP3
0000043c: DUP3
0000043d: DUP6
0000043e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000453: AND
00000454: PUSH2 0x0ff3
00000457: SWAP1
00000458: SWAP3
00000459: SWAP2
0000045a: SWAP1
0000045b: PUSH4 0xffffffff
00000460: AND
00000461: JUMP
00000462: JUMPDEST
00000463: DUP2
00000464: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000479: AND
0000047a: PUSH32 0xc36b5179cb9c303b200074996eab2b3473eac370fdd7eba3bec636fe35109696
0000049b: DUP3
0000049c: PUSH1 0x40
0000049e: MLOAD
0000049f: PUSH2 0x04a8
000004a2: SWAP2
000004a3: SWAP1
000004a4: PUSH2 0x174a
000004a7: JUMP
000004a8: JUMPDEST
000004a9: PUSH1 0x40
000004ab: MLOAD
000004ac: DUP1
000004ad: SWAP2
000004ae: SUB
000004af: SWAP1
000004b0: LOG2
000004b1: PUSH2 0x04b8
000004b4: PUSH2 0x1072
000004b7: JUMP
000004b8: JUMPDEST
000004b9: POP
000004ba: POP
000004bb: POP
000004bc: JUMP
000004bd: JUMPDEST
000004be: PUSH1 0x06
000004c0: SLOAD
000004c1: DUP2
000004c2: JUMP
000004c3: JUMPDEST
000004c4: PUSH2 0x04cb
000004c7: PUSH2 0x0f18
000004ca: JUMP
000004cb: JUMPDEST
000004cc: PUSH2 0x04d4
000004cf: PUSH0
000004d0: PUSH2 0x1089
000004d3: JUMP
000004d4: JUMPDEST
000004d5: JUMP
000004d6: JUMPDEST
000004d7: PUSH0
000004d8: PUSH2 0x04df
000004db: PUSH2 0x10c6
000004de: JUMP
000004df: JUMPDEST
000004e0: SWAP1
000004e1: POP
000004e2: DUP1
000004e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004f8: AND
000004f9: PUSH2 0x0500
000004fc: PUSH2 0x0d7d
000004ff: JUMP
00000500: JUMPDEST
00000501: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000516: AND
00000517: EQ
00000518: PUSH2 0x0558
0000051b: JUMPI
0000051c: DUP1
0000051d: PUSH1 0x40
0000051f: MLOAD
00000520: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000
00000541: DUP2
00000542: MSTORE
00000543: PUSH1 0x04
00000545: ADD
00000546: PUSH2 0x054f
00000549: SWAP2
0000054a: SWAP1
0000054b: PUSH2 0x179d
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH1 0x40
00000552: MLOAD
00000553: DUP1
00000554: SWAP2
00000555: SUB
00000556: SWAP1
00000557: REVERT
00000558: JUMPDEST
00000559: PUSH2 0x0561
0000055c: DUP2
0000055d: PUSH2 0x1089
00000560: JUMP
00000561: JUMPDEST
00000562: POP
00000563: JUMP
00000564: JUMPDEST
00000565: PUSH2 0x056c
00000568: PUSH2 0x0f18
0000056b: JUMP
0000056c: JUMPDEST
0000056d: DUP1
0000056e: PUSH1 0x03
00000570: DUP2
00000571: SWAP1
00000572: SSTORE
00000573: POP
00000574: PUSH32 0x49af08ad3ade602c2e8a90a999008eac387eff631494d4e7a3db60012c33d197
00000595: DUP2
00000596: PUSH1 0x40
00000598: MLOAD
00000599: PUSH2 0x05a2
0000059c: SWAP2
0000059d: SWAP1
0000059e: PUSH2 0x174a
000005a1: JUMP
000005a2: JUMPDEST
000005a3: PUSH1 0x40
000005a5: MLOAD
000005a6: DUP1
000005a7: SWAP2
000005a8: SUB
000005a9: SWAP1
000005aa: LOG1
000005ab: POP
000005ac: JUMP
000005ad: JUMPDEST
000005ae: PUSH0
000005af: DUP1
000005b0: PUSH2 0x05b7
000005b3: PUSH2 0x10cd
000005b6: JUMP
000005b7: JUMPDEST
000005b8: SWAP1
000005b9: POP
000005ba: DUP1
000005bb: PUSH0
000005bc: ADD
000005bd: PUSH0
000005be: SWAP1
000005bf: SLOAD
000005c0: SWAP1
000005c1: PUSH2 0x0100
000005c4: EXP
000005c5: SWAP1
000005c6: DIV
000005c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005dc: AND
000005dd: SWAP2
000005de: POP
000005df: POP
000005e0: SWAP1
000005e1: JUMP
000005e2: JUMPDEST
000005e3: PUSH1 0x05
000005e5: PUSH1 0x20
000005e7: MSTORE
000005e8: DUP1
000005e9: PUSH0
000005ea: MSTORE
000005eb: PUSH1 0x40
000005ed: PUSH0
000005ee: KECCAK256
000005ef: PUSH0
000005f0: SWAP2
000005f1: POP
000005f2: SWAP1
000005f3: POP
000005f4: SLOAD
000005f5: DUP2
000005f6: JUMP
000005f7: JUMPDEST
000005f8: PUSH0
000005f9: DUP1
000005fa: SLOAD
000005fb: SWAP1
000005fc: PUSH2 0x0100
000005ff: EXP
00000600: SWAP1
00000601: DIV
00000602: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000617: AND
00000618: DUP2
00000619: JUMP
0000061a: JUMPDEST
0000061b: PUSH1 0x02
0000061d: SLOAD
0000061e: DUP2
0000061f: JUMP
00000620: JUMPDEST
00000621: PUSH0
00000622: PUSH2 0x0629
00000625: PUSH2 0x10f4
00000628: JUMP
00000629: JUMPDEST
0000062a: SWAP1
0000062b: POP
0000062c: PUSH0
0000062d: DUP2
0000062e: PUSH0
0000062f: ADD
00000630: PUSH1 0x08
00000632: SWAP1
00000633: SLOAD
00000634: SWAP1
00000635: PUSH2 0x0100
00000638: EXP
00000639: SWAP1
0000063a: DIV
0000063b: PUSH1 0xff
0000063d: AND
0000063e: ISZERO
0000063f: SWAP1
00000640: POP
00000641: PUSH0
00000642: DUP3
00000643: PUSH0
00000644: ADD
00000645: PUSH0
00000646: SWAP1
00000647: SLOAD
00000648: SWAP1
00000649: PUSH2 0x0100
0000064c: EXP
0000064d: SWAP1
0000064e: DIV
0000064f: PUSH8 0xffffffffffffffff
00000658: AND
00000659: SWAP1
0000065a: POP
0000065b: PUSH0
0000065c: DUP1
0000065d: DUP3
0000065e: PUSH8 0xffffffffffffffff
00000667: AND
00000668: EQ
00000669: DUP1
0000066a: ISZERO
0000066b: PUSH2 0x0671
0000066e: JUMPI
0000066f: POP
00000670: DUP3
00000671: JUMPDEST
00000672: SWAP1
00000673: POP
00000674: PUSH0
00000675: PUSH1 0x01
00000677: DUP4
00000678: PUSH8 0xffffffffffffffff
00000681: AND
00000682: EQ
00000683: DUP1
00000684: ISZERO
00000685: PUSH2 0x06a4
00000688: JUMPI
00000689: POP
0000068a: PUSH0
0000068b: ADDRESS
0000068c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006a1: AND
000006a2: EXTCODESIZE
000006a3: EQ
000006a4: JUMPDEST
000006a5: SWAP1
000006a6: POP
000006a7: DUP2
000006a8: ISZERO
000006a9: DUP1
000006aa: ISZERO
000006ab: PUSH2 0x06b2
000006ae: JUMPI
000006af: POP
000006b0: DUP1
000006b1: ISZERO
000006b2: JUMPDEST
000006b3: ISZERO
000006b4: PUSH2 0x06e9
000006b7: JUMPI
000006b8: PUSH1 0x40
000006ba: MLOAD
000006bb: PUSH32 0xf92ee8a900000000000000000000000000000000000000000000000000000000
000006dc: DUP2
000006dd: MSTORE
000006de: PUSH1 0x04
000006e0: ADD
000006e1: PUSH1 0x40
000006e3: MLOAD
000006e4: DUP1
000006e5: SWAP2
000006e6: SUB
000006e7: SWAP1
000006e8: REVERT
000006e9: JUMPDEST
000006ea: PUSH1 0x01
000006ec: DUP6
000006ed: PUSH0
000006ee: ADD
000006ef: PUSH0
000006f0: PUSH2 0x0100
000006f3: EXP
000006f4: DUP2
000006f5: SLOAD
000006f6: DUP2
000006f7: PUSH8 0xffffffffffffffff
00000700: MUL
00000701: NOT
00000702: AND
00000703: SWAP1
00000704: DUP4
00000705: PUSH8 0xffffffffffffffff
0000070e: AND
0000070f: MUL
00000710: OR
00000711: SWAP1
00000712: SSTORE
00000713: POP
00000714: DUP4
00000715: ISZERO
00000716: PUSH2 0x0736
00000719: JUMPI
0000071a: PUSH1 0x01
0000071c: DUP6
0000071d: PUSH0
0000071e: ADD
0000071f: PUSH1 0x08
00000721: PUSH2 0x0100
00000724: EXP
00000725: DUP2
00000726: SLOAD
00000727: DUP2
00000728: PUSH1 0xff
0000072a: MUL
0000072b: NOT
0000072c: AND
0000072d: SWAP1
0000072e: DUP4
0000072f: ISZERO
00000730: ISZERO
00000731: MUL
00000732: OR
00000733: SWAP1
00000734: SSTORE
00000735: POP
00000736: JUMPDEST
00000737: PUSH0
00000738: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000074d: AND
0000074e: DUP10
0000074f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000764: AND
00000765: EQ
00000766: DUP1
00000767: PUSH2 0x079b
0000076a: JUMPI
0000076b: POP
0000076c: PUSH0
0000076d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000782: AND
00000783: DUP9
00000784: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000799: AND
0000079a: EQ
0000079b: JUMPDEST
0000079c: DUP1
0000079d: PUSH2 0x07d1
000007a0: JUMPI
000007a1: POP
000007a2: PUSH0
000007a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007b8: AND
000007b9: DUP8
000007ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007cf: AND
000007d0: EQ
000007d1: JUMPDEST
000007d2: ISZERO
000007d3: PUSH2 0x0813
000007d6: JUMPI
000007d7: PUSH0
000007d8: PUSH1 0x40
000007da: MLOAD
000007db: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000
000007fc: DUP2
000007fd: MSTORE
000007fe: PUSH1 0x04
00000800: ADD
00000801: PUSH2 0x080a
00000804: SWAP2
00000805: SWAP1
00000806: PUSH2 0x179d
00000809: JUMP
0000080a: JUMPDEST
0000080b: PUSH1 0x40
0000080d: MLOAD
0000080e: DUP1
0000080f: SWAP2
00000810: SUB
00000811: SWAP1
00000812: REVERT
00000813: JUMPDEST
00000814: PUSH2 0x081c
00000817: DUP10
00000818: PUSH2 0x1107
0000081b: JUMP
0000081c: JUMPDEST
0000081d: PUSH2 0x0824
00000820: PUSH2 0x111b
00000823: JUMP
00000824: JUMPDEST
00000825: PUSH2 0x082c
00000828: PUSH2 0x1125
0000082b: JUMP
0000082c: JUMPDEST
0000082d: DUP8
0000082e: PUSH0
0000082f: DUP1
00000830: PUSH2 0x0100
00000833: EXP
00000834: DUP2
00000835: SLOAD
00000836: DUP2
00000837: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000084c: MUL
0000084d: NOT
0000084e: AND
0000084f: SWAP1
00000850: DUP4
00000851: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000866: AND
00000867: MUL
00000868: OR
00000869: SWAP1
0000086a: SSTORE
0000086b: POP
0000086c: DUP7
0000086d: PUSH1 0x01
0000086f: PUSH0
00000870: PUSH2 0x0100
00000873: EXP
00000874: DUP2
00000875: SLOAD
00000876: DUP2
00000877: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000088c: MUL
0000088d: NOT
0000088e: AND
0000088f: SWAP1
00000890: DUP4
00000891: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008a6: AND
000008a7: MUL
000008a8: OR
000008a9: SWAP1
000008aa: SSTORE
000008ab: POP
000008ac: DUP7
000008ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008c2: AND
000008c3: PUSH4 0x313ce567
000008c8: PUSH1 0x40
000008ca: MLOAD
000008cb: DUP2
000008cc: PUSH4 0xffffffff
000008d1: AND
000008d2: PUSH1 0xe0
000008d4: SHL
000008d5: DUP2
000008d6: MSTORE
000008d7: PUSH1 0x04
000008d9: ADD
000008da: PUSH1 0x20
000008dc: PUSH1 0x40
000008de: MLOAD
000008df: DUP1
000008e0: DUP4
000008e1: SUB
000008e2: DUP2
000008e3: DUP7
000008e4: GAS
000008e5: STATICCALL
000008e6: ISZERO
000008e7: DUP1
000008e8: ISZERO
000008e9: PUSH2 0x08f4
000008ec: JUMPI
000008ed: RETURNDATASIZE
000008ee: PUSH0
000008ef: DUP1
000008f0: RETURNDATACOPY
000008f1: RETURNDATASIZE
000008f2: PUSH0
000008f3: REVERT
000008f4: JUMPDEST
000008f5: POP
000008f6: POP
000008f7: POP
000008f8: POP
000008f9: PUSH1 0x40
000008fb: MLOAD
000008fc: RETURNDATASIZE
000008fd: PUSH1 0x1f
000008ff: NOT
00000900: PUSH1 0x1f
00000902: DUP3
00000903: ADD
00000904: AND
00000905: DUP3
00000906: ADD
00000907: DUP1
00000908: PUSH1 0x40
0000090a: MSTORE
0000090b: POP
0000090c: DUP2
0000090d: ADD
0000090e: SWAP1
0000090f: PUSH2 0x0918
00000912: SWAP2
00000913: SWAP1
00000914: PUSH2 0x1897
00000917: JUMP
00000918: JUMPDEST
00000919: PUSH1 0x01
0000091b: PUSH1 0x14
0000091d: PUSH2 0x0100
00000920: EXP
00000921: DUP2
00000922: SLOAD
00000923: DUP2
00000924: PUSH1 0xff
00000926: MUL
00000927: NOT
00000928: AND
00000929: SWAP1
0000092a: DUP4
0000092b: PUSH1 0xff
0000092d: AND
0000092e: MUL
0000092f: OR
00000930: SWAP1
00000931: SSTORE
00000932: POP
00000933: DUP8
00000934: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000949: AND
0000094a: PUSH4 0x313ce567
0000094f: PUSH1 0x40
00000951: MLOAD
00000952: DUP2
00000953: PUSH4 0xffffffff
00000958: AND
00000959: PUSH1 0xe0
0000095b: SHL
0000095c: DUP2
0000095d: MSTORE
0000095e: PUSH1 0x04
00000960: ADD
00000961: PUSH1 0x20
00000963: PUSH1 0x40
00000965: MLOAD
00000966: DUP1
00000967: DUP4
00000968: SUB
00000969: DUP2
0000096a: DUP7
0000096b: GAS
0000096c: STATICCALL
0000096d: ISZERO
0000096e: DUP1
0000096f: ISZERO
00000970: PUSH2 0x097b
00000973: JUMPI
00000974: RETURNDATASIZE
00000975: PUSH0
00000976: DUP1
00000977: RETURNDATACOPY
00000978: RETURNDATASIZE
00000979: PUSH0
0000097a: REVERT
0000097b: JUMPDEST
0000097c: POP
0000097d: POP
0000097e: POP
0000097f: POP
00000980: PUSH1 0x40
00000982: MLOAD
00000983: RETURNDATASIZE
00000984: PUSH1 0x1f
00000986: NOT
00000987: PUSH1 0x1f
00000989: DUP3
0000098a: ADD
0000098b: AND
0000098c: DUP3
0000098d: ADD
0000098e: DUP1
0000098f: PUSH1 0x40
00000991: MSTORE
00000992: POP
00000993: DUP2
00000994: ADD
00000995: SWAP1
00000996: PUSH2 0x099f
00000999: SWAP2
0000099a: SWAP1
0000099b: PUSH2 0x1897
0000099e: JUMP
0000099f: JUMPDEST
000009a0: PUSH1 0x01
000009a2: PUSH1 0x15
000009a4: PUSH2 0x0100
000009a7: EXP
000009a8: DUP2
000009a9: SLOAD
000009aa: DUP2
000009ab: PUSH1 0xff
000009ad: MUL
000009ae: NOT
000009af: AND
000009b0: SWAP1
000009b1: DUP4
000009b2: PUSH1 0xff
000009b4: AND
000009b5: MUL
000009b6: OR
000009b7: SWAP1
000009b8: SSTORE
000009b9: POP
000009ba: PUSH1 0x01
000009bc: PUSH1 0x14
000009be: SWAP1
000009bf: SLOAD
000009c0: SWAP1
000009c1: PUSH2 0x0100
000009c4: EXP
000009c5: SWAP1
000009c6: DIV
000009c7: PUSH1 0xff
000009c9: AND
000009ca: PUSH1 0x01
000009cc: PUSH1 0x15
000009ce: SWAP1
000009cf: SLOAD
000009d0: SWAP1
000009d1: PUSH2 0x0100
000009d4: EXP
000009d5: SWAP1
000009d6: DIV
000009d7: PUSH1 0xff
000009d9: AND
000009da: PUSH2 0x09e3
000009dd: SWAP2
000009de: SWAP1
000009df: PUSH2 0x18ef
000009e2: JUMP
000009e3: JUMPDEST
000009e4: PUSH1 0x0a
000009e6: PUSH2 0x09ef
000009e9: SWAP2
000009ea: SWAP1
000009eb: PUSH2 0x1a52
000009ee: JUMP
000009ef: JUMPDEST
000009f0: PUSH1 0x02
000009f2: DUP2
000009f3: SWAP1
000009f4: SSTORE
000009f5: POP
000009f6: DUP6
000009f7: PUSH1 0x03
000009f9: DUP2
000009fa: SWAP1
000009fb: SSTORE
000009fc: POP
000009fd: DUP4
000009fe: ISZERO
000009ff: PUSH2 0x0a56
00000a02: JUMPI
00000a03: PUSH0
00000a04: DUP6
00000a05: PUSH0
00000a06: ADD
00000a07: PUSH1 0x08
00000a09: PUSH2 0x0100
00000a0c: EXP
00000a0d: DUP2
00000a0e: SLOAD
00000a0f: DUP2
00000a10: PUSH1 0xff
00000a12: MUL
00000a13: NOT
00000a14: AND
00000a15: SWAP1
00000a16: DUP4
00000a17: ISZERO
00000a18: ISZERO
00000a19: MUL
00000a1a: OR
00000a1b: SWAP1
00000a1c: SSTORE
00000a1d: POP
00000a1e: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
00000a3f: PUSH1 0x01
00000a41: PUSH1 0x40
00000a43: MLOAD
00000a44: PUSH2 0x0a4d
00000a47: SWAP2
00000a48: SWAP1
00000a49: PUSH2 0x1af1
00000a4c: JUMP
00000a4d: JUMPDEST
00000a4e: PUSH1 0x40
00000a50: MLOAD
00000a51: DUP1
00000a52: SWAP2
00000a53: SUB
00000a54: SWAP1
00000a55: LOG1
00000a56: JUMPDEST
00000a57: POP
00000a58: POP
00000a59: POP
00000a5a: POP
00000a5b: POP
00000a5c: POP
00000a5d: POP
00000a5e: POP
00000a5f: POP
00000a60: JUMP
00000a61: JUMPDEST
00000a62: PUSH1 0x04
00000a64: PUSH0
00000a65: SWAP1
00000a66: SLOAD
00000a67: SWAP1
00000a68: PUSH2 0x0100
00000a6b: EXP
00000a6c: SWAP1
00000a6d: DIV
00000a6e: PUSH2 0xffff
00000a71: AND
00000a72: DUP2
00000a73: JUMP
00000a74: JUMPDEST
00000a75: PUSH1 0x03
00000a77: SLOAD
00000a78: DUP2
00000a79: JUMP
00000a7a: JUMPDEST
00000a7b: PUSH0
00000a7c: PUSH2 0x0a83
00000a7f: PUSH2 0x0f9f
00000a82: JUMP
00000a83: JUMPDEST
00000a84: PUSH0
00000a85: PUSH3 0x015180
00000a89: TIMESTAMP
00000a8a: PUSH2 0x0a93
00000a8d: SWAP2
00000a8e: SWAP1
00000a8f: PUSH2 0x1b37
00000a92: JUMP
00000a93: JUMPDEST
00000a94: SWAP1
00000a95: POP
00000a96: PUSH0
00000a97: PUSH1 0x05
00000a99: PUSH0
00000a9a: DUP4
00000a9b: DUP2
00000a9c: MSTORE
00000a9d: PUSH1 0x20
00000a9f: ADD
00000aa0: SWAP1
00000aa1: DUP2
00000aa2: MSTORE
00000aa3: PUSH1 0x20
00000aa5: ADD
00000aa6: PUSH0
00000aa7: KECCAK256
00000aa8: SLOAD
00000aa9: SWAP1
00000aaa: POP
00000aab: PUSH1 0x03
00000aad: SLOAD
00000aae: DUP5
00000aaf: DUP3
00000ab0: PUSH2 0x0ab9
00000ab3: SWAP2
00000ab4: SWAP1
00000ab5: PUSH2 0x1b67
00000ab8: JUMP
00000ab9: JUMPDEST
00000aba: GT
00000abb: ISZERO
00000abc: PUSH2 0x0af1
00000abf: JUMPI
00000ac0: PUSH1 0x40
00000ac2: MLOAD
00000ac3: PUSH32 0x194bd31400000000000000000000000000000000000000000000000000000000
00000ae4: DUP2
00000ae5: MSTORE
00000ae6: PUSH1 0x04
00000ae8: ADD
00000ae9: PUSH1 0x40
00000aeb: MLOAD
00000aec: DUP1
00000aed: SWAP2
00000aee: SUB
00000aef: SWAP1
00000af0: REVERT
00000af1: JUMPDEST
00000af2: PUSH0
00000af3: PUSH1 0x02
00000af5: SLOAD
00000af6: DUP6
00000af7: PUSH2 0x0b00
00000afa: SWAP2
00000afb: SWAP1
00000afc: PUSH2 0x1b37
00000aff: JUMP
00000b00: JUMPDEST
00000b01: SWAP1
00000b02: POP
00000b03: PUSH0
00000b04: PUSH2 0x2710
00000b07: PUSH1 0x04
00000b09: PUSH0
00000b0a: SWAP1
00000b0b: SLOAD
00000b0c: SWAP1
00000b0d: PUSH2 0x0100
00000b10: EXP
00000b11: SWAP1
00000b12: DIV
00000b13: PUSH2 0xffff
00000b16: AND
00000b17: PUSH2 0xffff
00000b1a: AND
00000b1b: DUP4
00000b1c: PUSH2 0x0b25
00000b1f: SWAP2
00000b20: SWAP1
00000b21: PUSH2 0x1b9a
00000b24: JUMP
00000b25: JUMPDEST
00000b26: PUSH2 0x0b2f
00000b29: SWAP2
00000b2a: SWAP1
00000b2b: PUSH2 0x1b37
00000b2e: JUMP
00000b2f: JUMPDEST
00000b30: SWAP1
00000b31: POP
00000b32: PUSH0
00000b33: DUP2
00000b34: DUP4
00000b35: PUSH2 0x0b3e
00000b38: SWAP2
00000b39: SWAP1
00000b3a: PUSH2 0x1bdb
00000b3d: JUMP
00000b3e: JUMPDEST
00000b3f: SWAP1
00000b40: POP
00000b41: PUSH0
00000b42: PUSH1 0x01
00000b44: PUSH0
00000b45: SWAP1
00000b46: SLOAD
00000b47: SWAP1
00000b48: PUSH2 0x0100
00000b4b: EXP
00000b4c: SWAP1
00000b4d: DIV
00000b4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b63: AND
00000b64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b79: AND
00000b7a: PUSH4 0x70a08231
00000b7f: ADDRESS
00000b80: PUSH1 0x40
00000b82: MLOAD
00000b83: DUP3
00000b84: PUSH4 0xffffffff
00000b89: AND
00000b8a: PUSH1 0xe0
00000b8c: SHL
00000b8d: DUP2
00000b8e: MSTORE
00000b8f: PUSH1 0x04
00000b91: ADD
00000b92: PUSH2 0x0b9b
00000b95: SWAP2
00000b96: SWAP1
00000b97: PUSH2 0x179d
00000b9a: JUMP
00000b9b: JUMPDEST
00000b9c: PUSH1 0x20
00000b9e: PUSH1 0x40
00000ba0: MLOAD
00000ba1: DUP1
00000ba2: DUP4
00000ba3: SUB
00000ba4: DUP2
00000ba5: DUP7
00000ba6: GAS
00000ba7: STATICCALL
00000ba8: ISZERO
00000ba9: DUP1
00000baa: ISZERO
00000bab: PUSH2 0x0bb6
00000bae: JUMPI
00000baf: RETURNDATASIZE
00000bb0: PUSH0
00000bb1: DUP1
00000bb2: RETURNDATACOPY
00000bb3: RETURNDATASIZE
00000bb4: PUSH0
00000bb5: REVERT
00000bb6: JUMPDEST
00000bb7: POP
00000bb8: POP
00000bb9: POP
00000bba: POP
00000bbb: PUSH1 0x40
00000bbd: MLOAD
00000bbe: RETURNDATASIZE
00000bbf: PUSH1 0x1f
00000bc1: NOT
00000bc2: PUSH1 0x1f
00000bc4: DUP3
00000bc5: ADD
00000bc6: AND
00000bc7: DUP3
00000bc8: ADD
00000bc9: DUP1
00000bca: PUSH1 0x40
00000bcc: MSTORE
00000bcd: POP
00000bce: DUP2
00000bcf: ADD
00000bd0: SWAP1
00000bd1: PUSH2 0x0bda
00000bd4: SWAP2
00000bd5: SWAP1
00000bd6: PUSH2 0x1c22
00000bd9: JUMP
00000bda: JUMPDEST
00000bdb: SWAP1
00000bdc: POP
00000bdd: DUP2
00000bde: DUP2
00000bdf: LT
00000be0: ISZERO
00000be1: PUSH2 0x0c16
00000be4: JUMPI
00000be5: PUSH1 0x40
00000be7: MLOAD
00000be8: PUSH32 0xbb55fd2700000000000000000000000000000000000000000000000000000000
00000c09: DUP2
00000c0a: MSTORE
00000c0b: PUSH1 0x04
00000c0d: ADD
00000c0e: PUSH1 0x40
00000c10: MLOAD
00000c11: DUP1
00000c12: SWAP2
00000c13: SUB
00000c14: SWAP1
00000c15: REVERT
00000c16: JUMPDEST
00000c17: PUSH0
00000c18: DUP1
00000c19: SLOAD
00000c1a: SWAP1
00000c1b: PUSH2 0x0100
00000c1e: EXP
00000c1f: SWAP1
00000c20: DIV
00000c21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c36: AND
00000c37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c4c: AND
00000c4d: PUSH4 0x9dc29fac
00000c52: CALLER
00000c53: DUP11
00000c54: PUSH1 0x40
00000c56: MLOAD
00000c57: DUP4
00000c58: PUSH4 0xffffffff
00000c5d: AND
00000c5e: PUSH1 0xe0
00000c60: SHL
00000c61: DUP2
00000c62: MSTORE
00000c63: PUSH1 0x04
00000c65: ADD
00000c66: PUSH2 0x0c70
00000c69: SWAP3
00000c6a: SWAP2
00000c6b: SWAP1
00000c6c: PUSH2 0x1c4d
00000c6f: JUMP
00000c70: JUMPDEST
00000c71: PUSH0
00000c72: PUSH1 0x40
00000c74: MLOAD
00000c75: DUP1
00000c76: DUP4
00000c77: SUB
00000c78: DUP2
00000c79: PUSH0
00000c7a: DUP8
00000c7b: DUP1
00000c7c: EXTCODESIZE
00000c7d: ISZERO
00000c7e: DUP1
00000c7f: ISZERO
00000c80: PUSH2 0x0c87
00000c83: JUMPI
00000c84: PUSH0
00000c85: DUP1
00000c86: REVERT
00000c87: JUMPDEST
00000c88: POP
00000c89: GAS
00000c8a: CALL
00000c8b: ISZERO
00000c8c: DUP1
00000c8d: ISZERO
00000c8e: PUSH2 0x0c99
00000c91: JUMPI
00000c92: RETURNDATASIZE
00000c93: PUSH0
00000c94: DUP1
00000c95: RETURNDATACOPY
00000c96: RETURNDATASIZE
00000c97: PUSH0
00000c98: REVERT
00000c99: JUMPDEST
00000c9a: POP
00000c9b: POP
00000c9c: POP
00000c9d: POP
00000c9e: DUP8
00000c9f: DUP6
00000ca0: PUSH2 0x0ca9
00000ca3: SWAP2
00000ca4: SWAP1
00000ca5: PUSH2 0x1b67
00000ca8: JUMP
00000ca9: JUMPDEST
00000caa: PUSH1 0x05
00000cac: PUSH0
00000cad: DUP9
00000cae: DUP2
00000caf: MSTORE
00000cb0: PUSH1 0x20
00000cb2: ADD
00000cb3: SWAP1
00000cb4: DUP2
00000cb5: MSTORE
00000cb6: PUSH1 0x20
00000cb8: ADD
00000cb9: PUSH0
00000cba: KECCAK256
00000cbb: DUP2
00000cbc: SWAP1
00000cbd: SSTORE
00000cbe: POP
00000cbf: DUP3
00000cc0: PUSH1 0x06
00000cc2: PUSH0
00000cc3: DUP3
00000cc4: DUP3
00000cc5: SLOAD
00000cc6: PUSH2 0x0ccf
00000cc9: SWAP2
00000cca: SWAP1
00000ccb: PUSH2 0x1b67
00000cce: JUMP
00000ccf: JUMPDEST
00000cd0: SWAP3
00000cd1: POP
00000cd2: POP
00000cd3: DUP2
00000cd4: SWAP1
00000cd5: SSTORE
00000cd6: POP
00000cd7: PUSH2 0x0d22
00000cda: CALLER
00000cdb: DUP4
00000cdc: PUSH1 0x01
00000cde: PUSH0
00000cdf: SWAP1
00000ce0: SLOAD
00000ce1: SWAP1
00000ce2: PUSH2 0x0100
00000ce5: EXP
00000ce6: SWAP1
00000ce7: DIV
00000ce8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cfd: AND
00000cfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d13: AND
00000d14: PUSH2 0x0ff3
00000d17: SWAP1
00000d18: SWAP3
00000d19: SWAP2
00000d1a: SWAP1
00000d1b: PUSH4 0xffffffff
00000d20: AND
00000d21: JUMP
00000d22: JUMPDEST
00000d23: DUP2
00000d24: DUP9
00000d25: CALLER
00000d26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d3b: AND
00000d3c: PUSH32 0xf3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec262
00000d5d: PUSH1 0x40
00000d5f: MLOAD
00000d60: PUSH1 0x40
00000d62: MLOAD
00000d63: DUP1
00000d64: SWAP2
00000d65: SUB
00000d66: SWAP1
00000d67: LOG4
00000d68: DUP2
00000d69: SWAP7
00000d6a: POP
00000d6b: POP
00000d6c: POP
00000d6d: POP
00000d6e: POP
00000d6f: POP
00000d70: POP
00000d71: PUSH2 0x0d78
00000d74: PUSH2 0x1072
00000d77: JUMP
00000d78: JUMPDEST
00000d79: SWAP2
00000d7a: SWAP1
00000d7b: POP
00000d7c: JUMP
00000d7d: JUMPDEST
00000d7e: PUSH0
00000d7f: DUP1
00000d80: PUSH2 0x0d87
00000d83: PUSH2 0x1137
00000d86: JUMP
00000d87: JUMPDEST
00000d88: SWAP1
00000d89: POP
00000d8a: DUP1
00000d8b: PUSH0
00000d8c: ADD
00000d8d: PUSH0
00000d8e: SWAP1
00000d8f: SLOAD
00000d90: SWAP1
00000d91: PUSH2 0x0100
00000d94: EXP
00000d95: SWAP1
00000d96: DIV
00000d97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dac: AND
00000dad: SWAP2
00000dae: POP
00000daf: POP
00000db0: SWAP1
00000db1: JUMP
00000db2: JUMPDEST
00000db3: PUSH1 0x01
00000db5: PUSH0
00000db6: SWAP1
00000db7: SLOAD
00000db8: SWAP1
00000db9: PUSH2 0x0100
00000dbc: EXP
00000dbd: SWAP1
00000dbe: DIV
00000dbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dd4: AND
00000dd5: DUP2
00000dd6: JUMP
00000dd7: JUMPDEST
00000dd8: PUSH2 0x0ddf
00000ddb: PUSH2 0x0f18
00000dde: JUMP
00000ddf: JUMPDEST
00000de0: PUSH2 0x0de7
00000de3: PUSH2 0x0f9f
00000de6: JUMP
00000de7: JUMPDEST
00000de8: PUSH0
00000de9: PUSH1 0x06
00000deb: SLOAD
00000dec: SWAP1
00000ded: POP
00000dee: PUSH0
00000def: PUSH1 0x06
00000df1: DUP2
00000df2: SWAP1
00000df3: SSTORE
00000df4: POP
00000df5: PUSH2 0x0e40
00000df8: DUP3
00000df9: DUP3
00000dfa: PUSH1 0x01
00000dfc: PUSH0
00000dfd: SWAP1
00000dfe: SLOAD
00000dff: SWAP1
00000e00: PUSH2 0x0100
00000e03: EXP
00000e04: SWAP1
00000e05: DIV
00000e06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e1b: AND
00000e1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e31: AND
00000e32: PUSH2 0x0ff3
00000e35: SWAP1
00000e36: SWAP3
00000e37: SWAP2
00000e38: SWAP1
00000e39: PUSH4 0xffffffff
00000e3e: AND
00000e3f: JUMP
00000e40: JUMPDEST
00000e41: POP
00000e42: PUSH2 0x0e49
00000e45: PUSH2 0x1072
00000e48: JUMP
00000e49: JUMPDEST
00000e4a: POP
00000e4b: JUMP
00000e4c: JUMPDEST
00000e4d: PUSH2 0x0e54
00000e50: PUSH2 0x0f18
00000e53: JUMP
00000e54: JUMPDEST
00000e55: PUSH0
00000e56: PUSH2 0x0e5d
00000e59: PUSH2 0x1137
00000e5c: JUMP
00000e5d: JUMPDEST
00000e5e: SWAP1
00000e5f: POP
00000e60: DUP2
00000e61: DUP2
00000e62: PUSH0
00000e63: ADD
00000e64: PUSH0
00000e65: PUSH2 0x0100
00000e68: EXP
00000e69: DUP2
00000e6a: SLOAD
00000e6b: DUP2
00000e6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e81: MUL
00000e82: NOT
00000e83: AND
00000e84: SWAP1
00000e85: DUP4
00000e86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e9b: AND
00000e9c: MUL
00000e9d: OR
00000e9e: SWAP1
00000e9f: SSTORE
00000ea0: POP
00000ea1: DUP2
00000ea2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eb7: AND
00000eb8: PUSH2 0x0ebf
00000ebb: PUSH2 0x05ad
00000ebe: JUMP
00000ebf: JUMPDEST
00000ec0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ed5: AND
00000ed6: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700
00000ef7: PUSH1 0x40
00000ef9: MLOAD
00000efa: PUSH1 0x40
00000efc: MLOAD
00000efd: DUP1
00000efe: SWAP2
00000eff: SUB
00000f00: SWAP1
00000f01: LOG3
00000f02: POP
00000f03: POP
00000f04: JUMP
00000f05: JUMPDEST
00000f06: PUSH1 0x01
00000f08: PUSH1 0x14
00000f0a: SWAP1
00000f0b: SLOAD
00000f0c: SWAP1
00000f0d: PUSH2 0x0100
00000f10: EXP
00000f11: SWAP1
00000f12: DIV
00000f13: PUSH1 0xff
00000f15: AND
00000f16: DUP2
00000f17: JUMP
00000f18: JUMPDEST
00000f19: PUSH2 0x0f20
00000f1c: PUSH2 0x10c6
00000f1f: JUMP
00000f20: JUMPDEST
00000f21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f36: AND
00000f37: PUSH2 0x0f3e
00000f3a: PUSH2 0x05ad
00000f3d: JUMP
00000f3e: JUMPDEST
00000f3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f54: AND
00000f55: EQ
00000f56: PUSH2 0x0f9d
00000f59: JUMPI
00000f5a: PUSH2 0x0f61
00000f5d: PUSH2 0x10c6
00000f60: JUMP
00000f61: JUMPDEST
00000f62: PUSH1 0x40
00000f64: MLOAD
00000f65: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000
00000f86: DUP2
00000f87: MSTORE
00000f88: PUSH1 0x04
00000f8a: ADD
00000f8b: PUSH2 0x0f94
00000f8e: SWAP2
00000f8f: SWAP1
00000f90: PUSH2 0x179d
00000f93: JUMP
00000f94: JUMPDEST
00000f95: PUSH1 0x40
00000f97: MLOAD
00000f98: DUP1
00000f99: SWAP2
00000f9a: SUB
00000f9b: SWAP1
00000f9c: REVERT
00000f9d: JUMPDEST
00000f9e: JUMP
00000f9f: JUMPDEST
00000fa0: PUSH0
00000fa1: PUSH2 0x0fa8
00000fa4: PUSH2 0x115e
00000fa7: JUMP
00000fa8: JUMPDEST
00000fa9: SWAP1
00000faa: POP
00000fab: PUSH1 0x02
00000fad: DUP2
00000fae: PUSH0
00000faf: ADD
00000fb0: SLOAD
00000fb1: SUB
00000fb2: PUSH2 0x0fe7
00000fb5: JUMPI
00000fb6: PUSH1 0x40
00000fb8: MLOAD
00000fb9: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000
00000fda: DUP2
00000fdb: MSTORE
00000fdc: PUSH1 0x04
00000fde: ADD
00000fdf: PUSH1 0x40
00000fe1: MLOAD
00000fe2: DUP1
00000fe3: SWAP2
00000fe4: SUB
00000fe5: SWAP1
00000fe6: REVERT
00000fe7: JUMPDEST
00000fe8: PUSH1 0x02
00000fea: DUP2
00000feb: PUSH0
00000fec: ADD
00000fed: DUP2
00000fee: SWAP1
00000fef: SSTORE
00000ff0: POP
00000ff1: POP
00000ff2: JUMP
00000ff3: JUMPDEST
00000ff4: PUSH2 0x106d
00000ff7: DUP4
00000ff8: DUP5
00000ff9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000100e: AND
0000100f: PUSH4 0xa9059cbb
00001014: DUP6
00001015: DUP6
00001016: PUSH1 0x40
00001018: MLOAD
00001019: PUSH1 0x24
0000101b: ADD
0000101c: PUSH2 0x1026
0000101f: SWAP3
00001020: SWAP2
00001021: SWAP1
00001022: PUSH2 0x1c4d
00001025: JUMP
00001026: JUMPDEST
00001027: PUSH1 0x40
00001029: MLOAD
0000102a: PUSH1 0x20
0000102c: DUP2
0000102d: DUP4
0000102e: SUB
0000102f: SUB
00001030: DUP2
00001031: MSTORE
00001032: SWAP1
00001033: PUSH1 0x40
00001035: MSTORE
00001036: SWAP2
00001037: POP
00001038: PUSH1 0xe0
0000103a: SHL
0000103b: PUSH1 0x20
0000103d: DUP3
0000103e: ADD
0000103f: DUP1
00001040: MLOAD
00001041: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000105e: DUP4
0000105f: DUP2
00001060: DUP4
00001061: AND
00001062: OR
00001063: DUP4
00001064: MSTORE
00001065: POP
00001066: POP
00001067: POP
00001068: POP
00001069: PUSH2 0x1185
0000106c: JUMP
0000106d: JUMPDEST
0000106e: POP
0000106f: POP
00001070: POP
00001071: JUMP
00001072: JUMPDEST
00001073: PUSH0
00001074: PUSH2 0x107b
00001077: PUSH2 0x115e
0000107a: JUMP
0000107b: JUMPDEST
0000107c: SWAP1
0000107d: POP
0000107e: PUSH1 0x01
00001080: DUP2
00001081: PUSH0
00001082: ADD
00001083: DUP2
00001084: SWAP1
00001085: SSTORE
00001086: POP
00001087: POP
00001088: JUMP
00001089: JUMPDEST
0000108a: PUSH0
0000108b: PUSH2 0x1092
0000108e: PUSH2 0x1137
00001091: JUMP
00001092: JUMPDEST
00001093: SWAP1
00001094: POP
00001095: DUP1
00001096: PUSH0
00001097: ADD
00001098: PUSH0
00001099: PUSH2 0x0100
0000109c: EXP
0000109d: DUP2
0000109e: SLOAD
0000109f: SWAP1
000010a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b5: MUL
000010b6: NOT
000010b7: AND
000010b8: SWAP1
000010b9: SSTORE
000010ba: PUSH2 0x10c2
000010bd: DUP3
000010be: PUSH2 0x121a
000010c1: JUMP
000010c2: JUMPDEST
000010c3: POP
000010c4: POP
000010c5: JUMP
000010c6: JUMPDEST
000010c7: PUSH0
000010c8: CALLER
000010c9: SWAP1
000010ca: POP
000010cb: SWAP1
000010cc: JUMP
000010cd: JUMPDEST
000010ce: PUSH0
000010cf: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
000010f0: SWAP1
000010f1: POP
000010f2: SWAP1
000010f3: JUMP
000010f4: JUMPDEST
000010f5: PUSH0
000010f6: DUP1
000010f7: PUSH2 0x10fe
000010fa: PUSH2 0x12eb
000010fd: JUMP
000010fe: JUMPDEST
000010ff: SWAP1
00001100: POP
00001101: DUP1
00001102: SWAP2
00001103: POP
00001104: POP
00001105: SWAP1
00001106: JUMP
00001107: JUMPDEST
00001108: PUSH2 0x110f
0000110b: PUSH2 0x1314
0000110e: JUMP
0000110f: JUMPDEST
00001110: PUSH2 0x1118
00001113: DUP2
00001114: PUSH2 0x1354
00001117: JUMP
00001118: JUMPDEST
00001119: POP
0000111a: JUMP
0000111b: JUMPDEST
0000111c: PUSH2 0x1123
0000111f: PUSH2 0x1314
00001122: JUMP
00001123: JUMPDEST
00001124: JUMP
00001125: JUMPDEST
00001126: PUSH2 0x112d
00001129: PUSH2 0x1314
0000112c: JUMP
0000112d: JUMPDEST
0000112e: PUSH2 0x1135
00001131: PUSH2 0x13d8
00001134: JUMP
00001135: JUMPDEST
00001136: JUMP
00001137: JUMPDEST
00001138: PUSH0
00001139: PUSH32 0x237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00
0000115a: SWAP1
0000115b: POP
0000115c: SWAP1
0000115d: JUMP
0000115e: JUMPDEST
0000115f: PUSH0
00001160: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
00001181: SWAP1
00001182: POP
00001183: SWAP1
00001184: JUMP
00001185: JUMPDEST
00001186: PUSH0
00001187: PUSH2 0x11af
0000118a: DUP3
0000118b: DUP5
0000118c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011a1: AND
000011a2: PUSH2 0x13f7
000011a5: SWAP1
000011a6: SWAP2
000011a7: SWAP1
000011a8: PUSH4 0xffffffff
000011ad: AND
000011ae: JUMP
000011af: JUMPDEST
000011b0: SWAP1
000011b1: POP
000011b2: PUSH0
000011b3: DUP2
000011b4: MLOAD
000011b5: EQ
000011b6: ISZERO
000011b7: DUP1
000011b8: ISZERO
000011b9: PUSH2 0x11d3
000011bc: JUMPI
000011bd: POP
000011be: DUP1
000011bf: DUP1
000011c0: PUSH1 0x20
000011c2: ADD
000011c3: SWAP1
000011c4: MLOAD
000011c5: DUP2
000011c6: ADD
000011c7: SWAP1
000011c8: PUSH2 0x11d1
000011cb: SWAP2
000011cc: SWAP1
000011cd: PUSH2 0x1ca9
000011d0: JUMP
000011d1: JUMPDEST
000011d2: ISZERO
000011d3: JUMPDEST
000011d4: ISZERO
000011d5: PUSH2 0x1215
000011d8: JUMPI
000011d9: DUP3
000011da: PUSH1 0x40
000011dc: MLOAD
000011dd: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
000011fe: DUP2
000011ff: MSTORE
00001200: PUSH1 0x04
00001202: ADD
00001203: PUSH2 0x120c
00001206: SWAP2
00001207: SWAP1
00001208: PUSH2 0x179d
0000120b: JUMP
0000120c: JUMPDEST
0000120d: PUSH1 0x40
0000120f: MLOAD
00001210: DUP1
00001211: SWAP2
00001212: SUB
00001213: SWAP1
00001214: REVERT
00001215: JUMPDEST
00001216: POP
00001217: POP
00001218: POP
00001219: JUMP
0000121a: JUMPDEST
0000121b: PUSH0
0000121c: PUSH2 0x1223
0000121f: PUSH2 0x10cd
00001222: JUMP
00001223: JUMPDEST
00001224: SWAP1
00001225: POP
00001226: PUSH0
00001227: DUP2
00001228: PUSH0
00001229: ADD
0000122a: PUSH0
0000122b: SWAP1
0000122c: SLOAD
0000122d: SWAP1
0000122e: PUSH2 0x0100
00001231: EXP
00001232: SWAP1
00001233: DIV
00001234: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001249: AND
0000124a: SWAP1
0000124b: POP
0000124c: DUP3
0000124d: DUP3
0000124e: PUSH0
0000124f: ADD
00001250: PUSH0
00001251: PUSH2 0x0100
00001254: EXP
00001255: DUP2
00001256: SLOAD
00001257: DUP2
00001258: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000126d: MUL
0000126e: NOT
0000126f: AND
00001270: SWAP1
00001271: DUP4
00001272: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001287: AND
00001288: MUL
00001289: OR
0000128a: SWAP1
0000128b: SSTORE
0000128c: POP
0000128d: DUP3
0000128e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012a3: AND
000012a4: DUP2
000012a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012ba: AND
000012bb: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000012dc: PUSH1 0x40
000012de: MLOAD
000012df: PUSH1 0x40
000012e1: MLOAD
000012e2: DUP1
000012e3: SWAP2
000012e4: SUB
000012e5: SWAP1
000012e6: LOG3
000012e7: POP
000012e8: POP
000012e9: POP
000012ea: JUMP
000012eb: JUMPDEST
000012ec: PUSH0
000012ed: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
0000130e: PUSH0
0000130f: SHL
00001310: SWAP1
00001311: POP
00001312: SWAP1
00001313: JUMP
00001314: JUMPDEST
00001315: PUSH2 0x131c
00001318: PUSH2 0x140c
0000131b: JUMP
0000131c: JUMPDEST
0000131d: PUSH2 0x1352
00001320: JUMPI
00001321: PUSH1 0x40
00001323: MLOAD
00001324: PUSH32 0xd7e6bcf800000000000000000000000000000000000000000000000000000000
00001345: DUP2
00001346: MSTORE
00001347: PUSH1 0x04
00001349: ADD
0000134a: PUSH1 0x40
0000134c: MLOAD
0000134d: DUP1
0000134e: SWAP2
0000134f: SUB
00001350: SWAP1
00001351: REVERT
00001352: JUMPDEST
00001353: JUMP
00001354: JUMPDEST
00001355: PUSH2 0x135c
00001358: PUSH2 0x1314
0000135b: JUMP
0000135c: JUMPDEST
0000135d: PUSH0
0000135e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001373: AND
00001374: DUP2
00001375: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000138a: AND
0000138b: SUB
0000138c: PUSH2 0x13cc
0000138f: JUMPI
00001390: PUSH0
00001391: PUSH1 0x40
00001393: MLOAD
00001394: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000
000013b5: DUP2
000013b6: MSTORE
000013b7: PUSH1 0x04
000013b9: ADD
000013ba: PUSH2 0x13c3
000013bd: SWAP2
000013be: SWAP1
000013bf: PUSH2 0x179d
000013c2: JUMP
000013c3: JUMPDEST
000013c4: PUSH1 0x40
000013c6: MLOAD
000013c7: DUP1
000013c8: SWAP2
000013c9: SUB
000013ca: SWAP1
000013cb: REVERT
000013cc: JUMPDEST
000013cd: PUSH2 0x13d5
000013d0: DUP2
000013d1: PUSH2 0x1089
000013d4: JUMP
000013d5: JUMPDEST
000013d6: POP
000013d7: JUMP
000013d8: JUMPDEST
000013d9: PUSH2 0x13e0
000013dc: PUSH2 0x1314
000013df: JUMP
000013e0: JUMPDEST
000013e1: PUSH0
000013e2: PUSH2 0x13e9
000013e5: PUSH2 0x115e
000013e8: JUMP
000013e9: JUMPDEST
000013ea: SWAP1
000013eb: POP
000013ec: PUSH1 0x01
000013ee: DUP2
000013ef: PUSH0
000013f0: ADD
000013f1: DUP2
000013f2: SWAP1
000013f3: SSTORE
000013f4: POP
000013f5: POP
000013f6: JUMP
000013f7: JUMPDEST
000013f8: PUSH1 0x60
000013fa: PUSH2 0x1404
000013fd: DUP4
000013fe: DUP4
000013ff: PUSH0
00001400: PUSH2 0x142a
00001403: JUMP
00001404: JUMPDEST
00001405: SWAP1
00001406: POP
00001407: SWAP3
00001408: SWAP2
00001409: POP
0000140a: POP
0000140b: JUMP
0000140c: JUMPDEST
0000140d: PUSH0
0000140e: PUSH2 0x1415
00001411: PUSH2 0x10f4
00001414: JUMP
00001415: JUMPDEST
00001416: PUSH0
00001417: ADD
00001418: PUSH1 0x08
0000141a: SWAP1
0000141b: SLOAD
0000141c: SWAP1
0000141d: PUSH2 0x0100
00001420: EXP
00001421: SWAP1
00001422: DIV
00001423: PUSH1 0xff
00001425: AND
00001426: SWAP1
00001427: POP
00001428: SWAP1
00001429: JUMP
0000142a: JUMPDEST
0000142b: PUSH1 0x60
0000142d: DUP2
0000142e: SELFBALANCE
0000142f: LT
00001430: ISZERO
00001431: PUSH2 0x1471
00001434: JUMPI
00001435: ADDRESS
00001436: PUSH1 0x40
00001438: MLOAD
00001439: PUSH32 0xcd78605900000000000000000000000000000000000000000000000000000000
0000145a: DUP2
0000145b: MSTORE
0000145c: PUSH1 0x04
0000145e: ADD
0000145f: PUSH2 0x1468
00001462: SWAP2
00001463: SWAP1
00001464: PUSH2 0x179d
00001467: JUMP
00001468: JUMPDEST
00001469: PUSH1 0x40
0000146b: MLOAD
0000146c: DUP1
0000146d: SWAP2
0000146e: SUB
0000146f: SWAP1
00001470: REVERT
00001471: JUMPDEST
00001472: PUSH0
00001473: DUP1
00001474: DUP6
00001475: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000148a: AND
0000148b: DUP5
0000148c: DUP7
0000148d: PUSH1 0x40
0000148f: MLOAD
00001490: PUSH2 0x1499
00001493: SWAP2
00001494: SWAP1
00001495: PUSH2 0x1d40
00001498: JUMP
00001499: JUMPDEST
0000149a: PUSH0
0000149b: PUSH1 0x40
0000149d: MLOAD
0000149e: DUP1
0000149f: DUP4
000014a0: SUB
000014a1: DUP2
000014a2: DUP6
000014a3: DUP8
000014a4: GAS
000014a5: CALL
000014a6: SWAP3
000014a7: POP
000014a8: POP
000014a9: POP
000014aa: RETURNDATASIZE
000014ab: DUP1
000014ac: PUSH0
000014ad: DUP2
000014ae: EQ
000014af: PUSH2 0x14d3
000014b2: JUMPI
000014b3: PUSH1 0x40
000014b5: MLOAD
000014b6: SWAP2
000014b7: POP
000014b8: PUSH1 0x1f
000014ba: NOT
000014bb: PUSH1 0x3f
000014bd: RETURNDATASIZE
000014be: ADD
000014bf: AND
000014c0: DUP3
000014c1: ADD
000014c2: PUSH1 0x40
000014c4: MSTORE
000014c5: RETURNDATASIZE
000014c6: DUP3
000014c7: MSTORE
000014c8: RETURNDATASIZE
000014c9: PUSH0
000014ca: PUSH1 0x20
000014cc: DUP5
000014cd: ADD
000014ce: RETURNDATACOPY
000014cf: PUSH2 0x14d8
000014d2: JUMP
000014d3: JUMPDEST
000014d4: PUSH1 0x60
000014d6: SWAP2
000014d7: POP
000014d8: JUMPDEST
000014d9: POP
000014da: SWAP2
000014db: POP
000014dc: SWAP2
000014dd: POP
000014de: PUSH2 0x14e8
000014e1: DUP7
000014e2: DUP4
000014e3: DUP4
000014e4: PUSH2 0x14f3
000014e7: JUMP
000014e8: JUMPDEST
000014e9: SWAP3
000014ea: POP
000014eb: POP
000014ec: POP
000014ed: SWAP4
000014ee: SWAP3
000014ef: POP
000014f0: POP
000014f1: POP
000014f2: JUMP
000014f3: JUMPDEST
000014f4: PUSH1 0x60
000014f6: DUP3
000014f7: PUSH2 0x1508
000014fa: JUMPI
000014fb: PUSH2 0x1503
000014fe: DUP3
000014ff: PUSH2 0x1580
00001502: JUMP
00001503: JUMPDEST
00001504: PUSH2 0x1578
00001507: JUMP
00001508: JUMPDEST
00001509: PUSH0
0000150a: DUP3
0000150b: MLOAD
0000150c: EQ
0000150d: DUP1
0000150e: ISZERO
0000150f: PUSH2 0x152e
00001512: JUMPI
00001513: POP
00001514: PUSH0
00001515: DUP5
00001516: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000152b: AND
0000152c: EXTCODESIZE
0000152d: EQ
0000152e: JUMPDEST
0000152f: ISZERO
00001530: PUSH2 0x1570
00001533: JUMPI
00001534: DUP4
00001535: PUSH1 0x40
00001537: MLOAD
00001538: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000
00001559: DUP2
0000155a: MSTORE
0000155b: PUSH1 0x04
0000155d: ADD
0000155e: PUSH2 0x1567
00001561: SWAP2
00001562: SWAP1
00001563: PUSH2 0x179d
00001566: JUMP
00001567: JUMPDEST
00001568: PUSH1 0x40
0000156a: MLOAD
0000156b: DUP1
0000156c: SWAP2
0000156d: SUB
0000156e: SWAP1
0000156f: REVERT
00001570: JUMPDEST
00001571: DUP2
00001572: SWAP1
00001573: POP
00001574: PUSH2 0x1579
00001577: JUMP
00001578: JUMPDEST
00001579: JUMPDEST
0000157a: SWAP4
0000157b: SWAP3
0000157c: POP
0000157d: POP
0000157e: POP
0000157f: JUMP
00001580: JUMPDEST
00001581: PUSH0
00001582: DUP2
00001583: MLOAD
00001584: GT
00001585: ISZERO
00001586: PUSH2 0x1592
00001589: JUMPI
0000158a: DUP1
0000158b: MLOAD
0000158c: DUP1
0000158d: DUP3
0000158e: PUSH1 0x20
00001590: ADD
00001591: REVERT
00001592: JUMPDEST
00001593: PUSH1 0x40
00001595: MLOAD
00001596: PUSH32 0x1425ea4200000000000000000000000000000000000000000000000000000000
000015b7: DUP2
000015b8: MSTORE
000015b9: PUSH1 0x04
000015bb: ADD
000015bc: PUSH1 0x40
000015be: MLOAD
000015bf: DUP1
000015c0: SWAP2
000015c1: SUB
000015c2: SWAP1
000015c3: REVERT
000015c4: JUMPDEST
000015c5: PUSH0
000015c6: PUSH1 0xff
000015c8: DUP3
000015c9: AND
000015ca: SWAP1
000015cb: POP
000015cc: SWAP2
000015cd: SWAP1
000015ce: POP
000015cf: JUMP
000015d0: JUMPDEST
000015d1: PUSH2 0x15d9
000015d4: DUP2
000015d5: PUSH2 0x15c4
000015d8: JUMP
000015d9: JUMPDEST
000015da: DUP3
000015db: MSTORE
000015dc: POP
000015dd: POP
000015de: JUMP
000015df: JUMPDEST
000015e0: PUSH0
000015e1: PUSH1 0x20
000015e3: DUP3
000015e4: ADD
000015e5: SWAP1
000015e6: POP
000015e7: PUSH2 0x15f2
000015ea: PUSH0
000015eb: DUP4
000015ec: ADD
000015ed: DUP5
000015ee: PUSH2 0x15d0
000015f1: JUMP
000015f2: JUMPDEST
000015f3: SWAP3
000015f4: SWAP2
000015f5: POP
000015f6: POP
000015f7: JUMP
000015f8: JUMPDEST
000015f9: PUSH0
000015fa: DUP1
000015fb: REVERT
000015fc: JUMPDEST
000015fd: PUSH0
000015fe: PUSH2 0xffff
00001601: DUP3
00001602: AND
00001603: SWAP1
00001604: POP
00001605: SWAP2
00001606: SWAP1
00001607: POP
00001608: JUMP
00001609: JUMPDEST
0000160a: PUSH2 0x1612
0000160d: DUP2
0000160e: PUSH2 0x15fc
00001611: JUMP
00001612: JUMPDEST
00001613: DUP2
00001614: EQ
00001615: PUSH2 0x161c
00001618: JUMPI
00001619: PUSH0
0000161a: DUP1
0000161b: REVERT
0000161c: JUMPDEST
0000161d: POP
0000161e: JUMP
0000161f: JUMPDEST
00001620: PUSH0
00001621: DUP2
00001622: CALLDATALOAD
00001623: SWAP1
00001624: POP
00001625: PUSH2 0x162d
00001628: DUP2
00001629: PUSH2 0x1609
0000162c: JUMP
0000162d: JUMPDEST
0000162e: SWAP3
0000162f: SWAP2
00001630: POP
00001631: POP
00001632: JUMP
00001633: JUMPDEST
00001634: PUSH0
00001635: PUSH1 0x20
00001637: DUP3
00001638: DUP5
00001639: SUB
0000163a: SLT
0000163b: ISZERO
0000163c: PUSH2 0x1648
0000163f: JUMPI
00001640: PUSH2 0x1647
00001643: PUSH2 0x15f8
00001646: JUMP
00001647: JUMPDEST
00001648: JUMPDEST
00001649: PUSH0
0000164a: PUSH2 0x1655
0000164d: DUP5
0000164e: DUP3
0000164f: DUP6
00001650: ADD
00001651: PUSH2 0x161f
00001654: JUMP
00001655: JUMPDEST
00001656: SWAP2
00001657: POP
00001658: POP
00001659: SWAP3
0000165a: SWAP2
0000165b: POP
0000165c: POP
0000165d: JUMP
0000165e: JUMPDEST
0000165f: PUSH0
00001660: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001675: DUP3
00001676: AND
00001677: SWAP1
00001678: POP
00001679: SWAP2
0000167a: SWAP1
0000167b: POP
0000167c: JUMP
0000167d: JUMPDEST
0000167e: PUSH0
0000167f: PUSH2 0x1687
00001682: DUP3
00001683: PUSH2 0x165e
00001686: JUMP
00001687: JUMPDEST
00001688: SWAP1
00001689: POP
0000168a: SWAP2
0000168b: SWAP1
0000168c: POP
0000168d: JUMP
0000168e: JUMPDEST
0000168f: PUSH2 0x1697
00001692: DUP2
00001693: PUSH2 0x167d
00001696: JUMP
00001697: JUMPDEST
00001698: DUP2
00001699: EQ
0000169a: PUSH2 0x16a1
0000169d: JUMPI
0000169e: PUSH0
0000169f: DUP1
000016a0: REVERT
000016a1: JUMPDEST
000016a2: POP
000016a3: JUMP
000016a4: JUMPDEST
000016a5: PUSH0
000016a6: DUP2
000016a7: CALLDATALOAD
000016a8: SWAP1
000016a9: POP
000016aa: PUSH2 0x16b2
000016ad: DUP2
000016ae: PUSH2 0x168e
000016b1: JUMP
000016b2: JUMPDEST
000016b3: SWAP3
000016b4: SWAP2
000016b5: POP
000016b6: POP
000016b7: JUMP
000016b8: JUMPDEST
000016b9: PUSH0
000016ba: DUP2
000016bb: SWAP1
000016bc: POP
000016bd: SWAP2
000016be: SWAP1
000016bf: POP
000016c0: JUMP
000016c1: JUMPDEST
000016c2: PUSH2 0x16ca
000016c5: DUP2
000016c6: PUSH2 0x16b8
000016c9: JUMP
000016ca: JUMPDEST
000016cb: DUP2
000016cc: EQ
000016cd: PUSH2 0x16d4
000016d0: JUMPI
000016d1: PUSH0
000016d2: DUP1
000016d3: REVERT
000016d4: JUMPDEST
000016d5: POP
000016d6: JUMP
000016d7: JUMPDEST
000016d8: PUSH0
000016d9: DUP2
000016da: CALLDATALOAD
000016db: SWAP1
000016dc: POP
000016dd: PUSH2 0x16e5
000016e0: DUP2
000016e1: PUSH2 0x16c1
000016e4: JUMP
000016e5: JUMPDEST
000016e6: SWAP3
000016e7: SWAP2
000016e8: POP
000016e9: POP
000016ea: JUMP
000016eb: JUMPDEST
000016ec: PUSH0
000016ed: DUP1
000016ee: PUSH0
000016ef: PUSH1 0x60
000016f1: DUP5
000016f2: DUP7
000016f3: SUB
000016f4: SLT
000016f5: ISZERO
000016f6: PUSH2 0x1702
000016f9: JUMPI
000016fa: PUSH2 0x1701
000016fd: PUSH2 0x15f8
00001700: JUMP
00001701: JUMPDEST
00001702: JUMPDEST
00001703: PUSH0
00001704: PUSH2 0x170f
00001707: DUP7
00001708: DUP3
00001709: DUP8
0000170a: ADD
0000170b: PUSH2 0x16a4
0000170e: JUMP
0000170f: JUMPDEST
00001710: SWAP4
00001711: POP
00001712: POP
00001713: PUSH1 0x20
00001715: PUSH2 0x1720
00001718: DUP7
00001719: DUP3
0000171a: DUP8
0000171b: ADD
0000171c: PUSH2 0x16a4
0000171f: JUMP
00001720: JUMPDEST
00001721: SWAP3
00001722: POP
00001723: POP
00001724: PUSH1 0x40
00001726: PUSH2 0x1731
00001729: DUP7
0000172a: DUP3
0000172b: DUP8
0000172c: ADD
0000172d: PUSH2 0x16d7
00001730: JUMP
00001731: JUMPDEST
00001732: SWAP2
00001733: POP
00001734: POP
00001735: SWAP3
00001736: POP
00001737: SWAP3
00001738: POP
00001739: SWAP3
0000173a: JUMP
0000173b: JUMPDEST
0000173c: PUSH2 0x1744
0000173f: DUP2
00001740: PUSH2 0x16b8
00001743: JUMP
00001744: JUMPDEST
00001745: DUP3
00001746: MSTORE
00001747: POP
00001748: POP
00001749: JUMP
0000174a: JUMPDEST
0000174b: PUSH0
0000174c: PUSH1 0x20
0000174e: DUP3
0000174f: ADD
00001750: SWAP1
00001751: POP
00001752: PUSH2 0x175d
00001755: PUSH0
00001756: DUP4
00001757: ADD
00001758: DUP5
00001759: PUSH2 0x173b
0000175c: JUMP
0000175d: JUMPDEST
0000175e: SWAP3
0000175f: SWAP2
00001760: POP
00001761: POP
00001762: JUMP
00001763: JUMPDEST
00001764: PUSH0
00001765: PUSH1 0x20
00001767: DUP3
00001768: DUP5
00001769: SUB
0000176a: SLT
0000176b: ISZERO
0000176c: PUSH2 0x1778
0000176f: JUMPI
00001770: PUSH2 0x1777
00001773: PUSH2 0x15f8
00001776: JUMP
00001777: JUMPDEST
00001778: JUMPDEST
00001779: PUSH0
0000177a: PUSH2 0x1785
0000177d: DUP5
0000177e: DUP3
0000177f: DUP6
00001780: ADD
00001781: PUSH2 0x16d7
00001784: JUMP
00001785: JUMPDEST
00001786: SWAP2
00001787: POP
00001788: POP
00001789: SWAP3
0000178a: SWAP2
0000178b: POP
0000178c: POP
0000178d: JUMP
0000178e: JUMPDEST
0000178f: PUSH2 0x1797
00001792: DUP2
00001793: PUSH2 0x167d
00001796: JUMP
00001797: JUMPDEST
00001798: DUP3
00001799: MSTORE
0000179a: POP
0000179b: POP
0000179c: JUMP
0000179d: JUMPDEST
0000179e: PUSH0
0000179f: PUSH1 0x20
000017a1: DUP3
000017a2: ADD
000017a3: SWAP1
000017a4: POP
000017a5: PUSH2 0x17b0
000017a8: PUSH0
000017a9: DUP4
000017aa: ADD
000017ab: DUP5
000017ac: PUSH2 0x178e
000017af: JUMP
000017b0: JUMPDEST
000017b1: SWAP3
000017b2: SWAP2
000017b3: POP
000017b4: POP
000017b5: JUMP
000017b6: JUMPDEST
000017b7: PUSH0
000017b8: DUP1
000017b9: PUSH0
000017ba: DUP1
000017bb: PUSH1 0x80
000017bd: DUP6
000017be: DUP8
000017bf: SUB
000017c0: SLT
000017c1: ISZERO
000017c2: PUSH2 0x17ce
000017c5: JUMPI
000017c6: PUSH2 0x17cd
000017c9: PUSH2 0x15f8
000017cc: JUMP
000017cd: JUMPDEST
000017ce: JUMPDEST
000017cf: PUSH0
000017d0: PUSH2 0x17db
000017d3: DUP8
000017d4: DUP3
000017d5: DUP9
000017d6: ADD
000017d7: PUSH2 0x16a4
000017da: JUMP
000017db: JUMPDEST
000017dc: SWAP5
000017dd: POP
000017de: POP
000017df: PUSH1 0x20
000017e1: PUSH2 0x17ec
000017e4: DUP8
000017e5: DUP3
000017e6: DUP9
000017e7: ADD
000017e8: PUSH2 0x16a4
000017eb: JUMP
000017ec: JUMPDEST
000017ed: SWAP4
000017ee: POP
000017ef: POP
000017f0: PUSH1 0x40
000017f2: PUSH2 0x17fd
000017f5: DUP8
000017f6: DUP3
000017f7: DUP9
000017f8: ADD
000017f9: PUSH2 0x16a4
000017fc: JUMP
000017fd: JUMPDEST
000017fe: SWAP3
000017ff: POP
00001800: POP
00001801: PUSH1 0x60
00001803: PUSH2 0x180e
00001806: DUP8
00001807: DUP3
00001808: DUP9
00001809: ADD
0000180a: PUSH2 0x16d7
0000180d: JUMP
0000180e: JUMPDEST
0000180f: SWAP2
00001810: POP
00001811: POP
00001812: SWAP3
00001813: SWAP6
00001814: SWAP2
00001815: SWAP5
00001816: POP
00001817: SWAP3
00001818: POP
00001819: JUMP
0000181a: JUMPDEST
0000181b: PUSH2 0x1823
0000181e: DUP2
0000181f: PUSH2 0x15fc
00001822: JUMP
00001823: JUMPDEST
00001824: DUP3
00001825: MSTORE
00001826: POP
00001827: POP
00001828: JUMP
00001829: JUMPDEST
0000182a: PUSH0
0000182b: PUSH1 0x20
0000182d: DUP3
0000182e: ADD
0000182f: SWAP1
00001830: POP
00001831: PUSH2 0x183c
00001834: PUSH0
00001835: DUP4
00001836: ADD
00001837: DUP5
00001838: PUSH2 0x181a
0000183b: JUMP
0000183c: JUMPDEST
0000183d: SWAP3
0000183e: SWAP2
0000183f: POP
00001840: POP
00001841: JUMP
00001842: JUMPDEST
00001843: PUSH0
00001844: PUSH1 0x20
00001846: DUP3
00001847: DUP5
00001848: SUB
00001849: SLT
0000184a: ISZERO
0000184b: PUSH2 0x1857
0000184e: JUMPI
0000184f: PUSH2 0x1856
00001852: PUSH2 0x15f8
00001855: JUMP
00001856: JUMPDEST
00001857: JUMPDEST
00001858: PUSH0
00001859: PUSH2 0x1864
0000185c: DUP5
0000185d: DUP3
0000185e: DUP6
0000185f: ADD
00001860: PUSH2 0x16a4
00001863: JUMP
00001864: JUMPDEST
00001865: SWAP2
00001866: POP
00001867: POP
00001868: SWAP3
00001869: SWAP2
0000186a: POP
0000186b: POP
0000186c: JUMP
0000186d: JUMPDEST
0000186e: PUSH2 0x1876
00001871: DUP2
00001872: PUSH2 0x15c4
00001875: JUMP
00001876: JUMPDEST
00001877: DUP2
00001878: EQ
00001879: PUSH2 0x1880
0000187c: JUMPI
0000187d: PUSH0
0000187e: DUP1
0000187f: REVERT
00001880: JUMPDEST
00001881: POP
00001882: JUMP
00001883: JUMPDEST
00001884: PUSH0
00001885: DUP2
00001886: MLOAD
00001887: SWAP1
00001888: POP
00001889: PUSH2 0x1891
0000188c: DUP2
0000188d: PUSH2 0x186d
00001890: JUMP
00001891: JUMPDEST
00001892: SWAP3
00001893: SWAP2
00001894: POP
00001895: POP
00001896: JUMP
00001897: JUMPDEST
00001898: PUSH0
00001899: PUSH1 0x20
0000189b: DUP3
0000189c: DUP5
0000189d: SUB
0000189e: SLT
0000189f: ISZERO
000018a0: PUSH2 0x18ac
000018a3: JUMPI
000018a4: PUSH2 0x18ab
000018a7: PUSH2 0x15f8
000018aa: JUMP
000018ab: JUMPDEST
000018ac: JUMPDEST
000018ad: PUSH0
000018ae: PUSH2 0x18b9
000018b1: DUP5
000018b2: DUP3
000018b3: DUP6
000018b4: ADD
000018b5: PUSH2 0x1883
000018b8: JUMP
000018b9: JUMPDEST
000018ba: SWAP2
000018bb: POP
000018bc: POP
000018bd: SWAP3
000018be: SWAP2
000018bf: POP
000018c0: POP
000018c1: JUMP
000018c2: JUMPDEST
000018c3: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000018e4: PUSH0
000018e5: MSTORE
000018e6: PUSH1 0x11
000018e8: PUSH1 0x04
000018ea: MSTORE
000018eb: PUSH1 0x24
000018ed: PUSH0
000018ee: REVERT
000018ef: JUMPDEST
000018f0: PUSH0
000018f1: PUSH2 0x18f9
000018f4: DUP3
000018f5: PUSH2 0x15c4
000018f8: JUMP
000018f9: JUMPDEST
000018fa: SWAP2
000018fb: POP
000018fc: PUSH2 0x1904
000018ff: DUP4
00001900: PUSH2 0x15c4
00001903: JUMP
00001904: JUMPDEST
00001905: SWAP3
00001906: POP
00001907: DUP3
00001908: DUP3
00001909: SUB
0000190a: SWAP1
0000190b: POP
0000190c: PUSH1 0xff
0000190e: DUP2
0000190f: GT
00001910: ISZERO
00001911: PUSH2 0x191d
00001914: JUMPI
00001915: PUSH2 0x191c
00001918: PUSH2 0x18c2
0000191b: JUMP
0000191c: JUMPDEST
0000191d: JUMPDEST
0000191e: SWAP3
0000191f: SWAP2
00001920: POP
00001921: POP
00001922: JUMP
00001923: JUMPDEST
00001924: PUSH0
00001925: DUP2
00001926: PUSH1 0x01
00001928: SHR
00001929: SWAP1
0000192a: POP
0000192b: SWAP2
0000192c: SWAP1
0000192d: POP
0000192e: JUMP
0000192f: JUMPDEST
00001930: PUSH0
00001931: DUP1
00001932: DUP3
00001933: SWAP2
00001934: POP
00001935: DUP4
00001936: SWAP1
00001937: POP
00001938: JUMPDEST
00001939: PUSH1 0x01
0000193b: DUP6
0000193c: GT
0000193d: ISZERO
0000193e: PUSH2 0x1978
00001941: JUMPI
00001942: DUP1
00001943: DUP7
00001944: DIV
00001945: DUP2
00001946: GT
00001947: ISZERO
00001948: PUSH2 0x1954
0000194b: JUMPI
0000194c: PUSH2 0x1953
0000194f: PUSH2 0x18c2
00001952: JUMP
00001953: JUMPDEST
00001954: JUMPDEST
00001955: PUSH1 0x01
00001957: DUP6
00001958: AND
00001959: ISZERO
0000195a: PUSH2 0x1963
0000195d: JUMPI
0000195e: DUP1
0000195f: DUP3
00001960: MUL
00001961: SWAP2
00001962: POP
00001963: JUMPDEST
00001964: DUP1
00001965: DUP2
00001966: MUL
00001967: SWAP1
00001968: POP
00001969: PUSH2 0x1971
0000196c: DUP6
0000196d: PUSH2 0x1923
00001970: JUMP
00001971: JUMPDEST
00001972: SWAP5
00001973: POP
00001974: PUSH2 0x1938
00001977: JUMP
00001978: JUMPDEST
00001979: SWAP5
0000197a: POP
0000197b: SWAP5
0000197c: SWAP3
0000197d: POP
0000197e: POP
0000197f: POP
00001980: JUMP
00001981: JUMPDEST
00001982: PUSH0
00001983: DUP3
00001984: PUSH2 0x1990
00001987: JUMPI
00001988: PUSH1 0x01
0000198a: SWAP1
0000198b: POP
0000198c: PUSH2 0x1a4b
0000198f: JUMP
00001990: JUMPDEST
00001991: DUP2
00001992: PUSH2 0x199d
00001995: JUMPI
00001996: PUSH0
00001997: SWAP1
00001998: POP
00001999: PUSH2 0x1a4b
0000199c: JUMP
0000199d: JUMPDEST
0000199e: DUP2
0000199f: PUSH1 0x01
000019a1: DUP2
000019a2: EQ
000019a3: PUSH2 0x19b3
000019a6: JUMPI
000019a7: PUSH1 0x02
000019a9: DUP2
000019aa: EQ
000019ab: PUSH2 0x19bd
000019ae: JUMPI
000019af: PUSH2 0x19ec
000019b2: JUMP
000019b3: JUMPDEST
000019b4: PUSH1 0x01
000019b6: SWAP2
000019b7: POP
000019b8: POP
000019b9: PUSH2 0x1a4b
000019bc: JUMP
000019bd: JUMPDEST
000019be: PUSH1 0xff
000019c0: DUP5
000019c1: GT
000019c2: ISZERO
000019c3: PUSH2 0x19cf
000019c6: JUMPI
000019c7: PUSH2 0x19ce
000019ca: PUSH2 0x18c2
000019cd: JUMP
000019ce: JUMPDEST
000019cf: JUMPDEST
000019d0: DUP4
000019d1: PUSH1 0x02
000019d3: EXP
000019d4: SWAP2
000019d5: POP
000019d6: DUP5
000019d7: DUP3
000019d8: GT
000019d9: ISZERO
000019da: PUSH2 0x19e6
000019dd: JUMPI
000019de: PUSH2 0x19e5
000019e1: PUSH2 0x18c2
000019e4: JUMP
000019e5: JUMPDEST
000019e6: JUMPDEST
000019e7: POP
000019e8: PUSH2 0x1a4b
000019eb: JUMP
000019ec: JUMPDEST
000019ed: POP
000019ee: PUSH1 0x20
000019f0: DUP4
000019f1: LT
000019f2: PUSH2 0x0133
000019f5: DUP4
000019f6: LT
000019f7: AND
000019f8: PUSH1 0x4e
000019fa: DUP5
000019fb: LT
000019fc: PUSH1 0x0b
000019fe: DUP5
000019ff: LT
00001a00: AND
00001a01: OR
00001a02: ISZERO
00001a03: PUSH2 0x1a21
00001a06: JUMPI
00001a07: DUP3
00001a08: DUP3
00001a09: EXP
00001a0a: SWAP1
00001a0b: POP
00001a0c: DUP4
00001a0d: DUP2
00001a0e: GT
00001a0f: ISZERO
00001a10: PUSH2 0x1a1c
00001a13: JUMPI
00001a14: PUSH2 0x1a1b
00001a17: PUSH2 0x18c2
00001a1a: JUMP
00001a1b: JUMPDEST
00001a1c: JUMPDEST
00001a1d: PUSH2 0x1a4b
00001a20: JUMP
00001a21: JUMPDEST
00001a22: PUSH2 0x1a2e
00001a25: DUP5
00001a26: DUP5
00001a27: DUP5
00001a28: PUSH1 0x01
00001a2a: PUSH2 0x192f
00001a2d: JUMP
00001a2e: JUMPDEST
00001a2f: SWAP3
00001a30: POP
00001a31: SWAP1
00001a32: POP
00001a33: DUP2
00001a34: DUP5
00001a35: DIV
00001a36: DUP2
00001a37: GT
00001a38: ISZERO
00001a39: PUSH2 0x1a45
00001a3c: JUMPI
00001a3d: PUSH2 0x1a44
00001a40: PUSH2 0x18c2
00001a43: JUMP
00001a44: JUMPDEST
00001a45: JUMPDEST
00001a46: DUP2
00001a47: DUP2
00001a48: MUL
00001a49: SWAP1
00001a4a: POP
00001a4b: JUMPDEST
00001a4c: SWAP4
00001a4d: SWAP3
00001a4e: POP
00001a4f: POP
00001a50: POP
00001a51: JUMP
00001a52: JUMPDEST
00001a53: PUSH0
00001a54: PUSH2 0x1a5c
00001a57: DUP3
00001a58: PUSH2 0x16b8
00001a5b: JUMP
00001a5c: JUMPDEST
00001a5d: SWAP2
00001a5e: POP
00001a5f: PUSH2 0x1a67
00001a62: DUP4
00001a63: PUSH2 0x15c4
00001a66: JUMP
00001a67: JUMPDEST
00001a68: SWAP3
00001a69: POP
00001a6a: PUSH2 0x1a94
00001a6d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001a8e: DUP5
00001a8f: DUP5
00001a90: PUSH2 0x1981
00001a93: JUMP
00001a94: JUMPDEST
00001a95: SWAP1
00001a96: POP
00001a97: SWAP3
00001a98: SWAP2
00001a99: POP
00001a9a: POP
00001a9b: JUMP
00001a9c: JUMPDEST
00001a9d: PUSH0
00001a9e: DUP2
00001a9f: SWAP1
00001aa0: POP
00001aa1: SWAP2
00001aa2: SWAP1
00001aa3: POP
00001aa4: JUMP
00001aa5: JUMPDEST
00001aa6: PUSH0
00001aa7: PUSH8 0xffffffffffffffff
00001ab0: DUP3
00001ab1: AND
00001ab2: SWAP1
00001ab3: POP
00001ab4: SWAP2
00001ab5: SWAP1
00001ab6: POP
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: PUSH0
00001aba: DUP2
00001abb: SWAP1
00001abc: POP
00001abd: SWAP2
00001abe: SWAP1
00001abf: POP
00001ac0: JUMP
00001ac1: JUMPDEST
00001ac2: PUSH0
00001ac3: PUSH2 0x1adb
00001ac6: PUSH2 0x1ad6
00001ac9: PUSH2 0x1ad1
00001acc: DUP5
00001acd: PUSH2 0x1a9c
00001ad0: JUMP
00001ad1: JUMPDEST
00001ad2: PUSH2 0x1ab8
00001ad5: JUMP
00001ad6: JUMPDEST
00001ad7: PUSH2 0x1aa5
00001ada: JUMP
00001adb: JUMPDEST
00001adc: SWAP1
00001add: POP
00001ade: SWAP2
00001adf: SWAP1
00001ae0: POP
00001ae1: JUMP
00001ae2: JUMPDEST
00001ae3: PUSH2 0x1aeb
00001ae6: DUP2
00001ae7: PUSH2 0x1ac1
00001aea: JUMP
00001aeb: JUMPDEST
00001aec: DUP3
00001aed: MSTORE
00001aee: POP
00001aef: POP
00001af0: JUMP
00001af1: JUMPDEST
00001af2: PUSH0
00001af3: PUSH1 0x20
00001af5: DUP3
00001af6: ADD
00001af7: SWAP1
00001af8: POP
00001af9: PUSH2 0x1b04
00001afc: PUSH0
00001afd: DUP4
00001afe: ADD
00001aff: DUP5
00001b00: PUSH2 0x1ae2
00001b03: JUMP
00001b04: JUMPDEST
00001b05: SWAP3
00001b06: SWAP2
00001b07: POP
00001b08: POP
00001b09: JUMP
00001b0a: JUMPDEST
00001b0b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001b2c: PUSH0
00001b2d: MSTORE
00001b2e: PUSH1 0x12
00001b30: PUSH1 0x04
00001b32: MSTORE
00001b33: PUSH1 0x24
00001b35: PUSH0
00001b36: REVERT
00001b37: JUMPDEST
00001b38: PUSH0
00001b39: PUSH2 0x1b41
00001b3c: DUP3
00001b3d: PUSH2 0x16b8
00001b40: JUMP
00001b41: JUMPDEST
00001b42: SWAP2
00001b43: POP
00001b44: PUSH2 0x1b4c
00001b47: DUP4
00001b48: PUSH2 0x16b8
00001b4b: JUMP
00001b4c: JUMPDEST
00001b4d: SWAP3
00001b4e: POP
00001b4f: DUP3
00001b50: PUSH2 0x1b5c
00001b53: JUMPI
00001b54: PUSH2 0x1b5b
00001b57: PUSH2 0x1b0a
00001b5a: JUMP
00001b5b: JUMPDEST
00001b5c: JUMPDEST
00001b5d: DUP3
00001b5e: DUP3
00001b5f: DIV
00001b60: SWAP1
00001b61: POP
00001b62: SWAP3
00001b63: SWAP2
00001b64: POP
00001b65: POP
00001b66: JUMP
00001b67: JUMPDEST
00001b68: PUSH0
00001b69: PUSH2 0x1b71
00001b6c: DUP3
00001b6d: PUSH2 0x16b8
00001b70: JUMP
00001b71: JUMPDEST
00001b72: SWAP2
00001b73: POP
00001b74: PUSH2 0x1b7c
00001b77: DUP4
00001b78: PUSH2 0x16b8
00001b7b: JUMP
00001b7c: JUMPDEST
00001b7d: SWAP3
00001b7e: POP
00001b7f: DUP3
00001b80: DUP3
00001b81: ADD
00001b82: SWAP1
00001b83: POP
00001b84: DUP1
00001b85: DUP3
00001b86: GT
00001b87: ISZERO
00001b88: PUSH2 0x1b94
00001b8b: JUMPI
00001b8c: PUSH2 0x1b93
00001b8f: PUSH2 0x18c2
00001b92: JUMP
00001b93: JUMPDEST
00001b94: JUMPDEST
00001b95: SWAP3
00001b96: SWAP2
00001b97: POP
00001b98: POP
00001b99: JUMP
00001b9a: JUMPDEST
00001b9b: PUSH0
00001b9c: PUSH2 0x1ba4
00001b9f: DUP3
00001ba0: PUSH2 0x16b8
00001ba3: JUMP
00001ba4: JUMPDEST
00001ba5: SWAP2
00001ba6: POP
00001ba7: PUSH2 0x1baf
00001baa: DUP4
00001bab: PUSH2 0x16b8
00001bae: JUMP
00001baf: JUMPDEST
00001bb0: SWAP3
00001bb1: POP
00001bb2: DUP3
00001bb3: DUP3
00001bb4: MUL
00001bb5: PUSH2 0x1bbd
00001bb8: DUP2
00001bb9: PUSH2 0x16b8
00001bbc: JUMP
00001bbd: JUMPDEST
00001bbe: SWAP2
00001bbf: POP
00001bc0: DUP3
00001bc1: DUP3
00001bc2: DIV
00001bc3: DUP5
00001bc4: EQ
00001bc5: DUP4
00001bc6: ISZERO
00001bc7: OR
00001bc8: PUSH2 0x1bd4
00001bcb: JUMPI
00001bcc: PUSH2 0x1bd3
00001bcf: PUSH2 0x18c2
00001bd2: JUMP
00001bd3: JUMPDEST
00001bd4: JUMPDEST
00001bd5: POP
00001bd6: SWAP3
00001bd7: SWAP2
00001bd8: POP
00001bd9: POP
00001bda: JUMP
00001bdb: JUMPDEST
00001bdc: PUSH0
00001bdd: PUSH2 0x1be5
00001be0: DUP3
00001be1: PUSH2 0x16b8
00001be4: JUMP
00001be5: JUMPDEST
00001be6: SWAP2
00001be7: POP
00001be8: PUSH2 0x1bf0
00001beb: DUP4
00001bec: PUSH2 0x16b8
00001bef: JUMP
00001bf0: JUMPDEST
00001bf1: SWAP3
00001bf2: POP
00001bf3: DUP3
00001bf4: DUP3
00001bf5: SUB
00001bf6: SWAP1
00001bf7: POP
00001bf8: DUP2
00001bf9: DUP2
00001bfa: GT
00001bfb: ISZERO
00001bfc: PUSH2 0x1c08
00001bff: JUMPI
00001c00: PUSH2 0x1c07
00001c03: PUSH2 0x18c2
00001c06: JUMP
00001c07: JUMPDEST
00001c08: JUMPDEST
00001c09: SWAP3
00001c0a: SWAP2
00001c0b: POP
00001c0c: POP
00001c0d: JUMP
00001c0e: JUMPDEST
00001c0f: PUSH0
00001c10: DUP2
00001c11: MLOAD
00001c12: SWAP1
00001c13: POP
00001c14: PUSH2 0x1c1c
00001c17: DUP2
00001c18: PUSH2 0x16c1
00001c1b: JUMP
00001c1c: JUMPDEST
00001c1d: SWAP3
00001c1e: SWAP2
00001c1f: POP
00001c20: POP
00001c21: JUMP
00001c22: JUMPDEST
00001c23: PUSH0
00001c24: PUSH1 0x20
00001c26: DUP3
00001c27: DUP5
00001c28: SUB
00001c29: SLT
00001c2a: ISZERO
00001c2b: PUSH2 0x1c37
00001c2e: JUMPI
00001c2f: PUSH2 0x1c36
00001c32: PUSH2 0x15f8
00001c35: JUMP
00001c36: JUMPDEST
00001c37: JUMPDEST
00001c38: PUSH0
00001c39: PUSH2 0x1c44
00001c3c: DUP5
00001c3d: DUP3
00001c3e: DUP6
00001c3f: ADD
00001c40: PUSH2 0x1c0e
00001c43: JUMP
00001c44: JUMPDEST
00001c45: SWAP2
00001c46: POP
00001c47: POP
00001c48: SWAP3
00001c49: SWAP2
00001c4a: POP
00001c4b: POP
00001c4c: JUMP
00001c4d: JUMPDEST
00001c4e: PUSH0
00001c4f: PUSH1 0x40
00001c51: DUP3
00001c52: ADD
00001c53: SWAP1
00001c54: POP
00001c55: PUSH2 0x1c60
00001c58: PUSH0
00001c59: DUP4
00001c5a: ADD
00001c5b: DUP6
00001c5c: PUSH2 0x178e
00001c5f: JUMP
00001c60: JUMPDEST
00001c61: PUSH2 0x1c6d
00001c64: PUSH1 0x20
00001c66: DUP4
00001c67: ADD
00001c68: DUP5
00001c69: PUSH2 0x173b
00001c6c: JUMP
00001c6d: JUMPDEST
00001c6e: SWAP4
00001c6f: SWAP3
00001c70: POP
00001c71: POP
00001c72: POP
00001c73: JUMP
00001c74: JUMPDEST
00001c75: PUSH0
00001c76: DUP2
00001c77: ISZERO
00001c78: ISZERO
00001c79: SWAP1
00001c7a: POP
00001c7b: SWAP2
00001c7c: SWAP1
00001c7d: POP
00001c7e: JUMP
00001c7f: JUMPDEST
00001c80: PUSH2 0x1c88
00001c83: DUP2
00001c84: PUSH2 0x1c74
00001c87: JUMP
00001c88: JUMPDEST
00001c89: DUP2
00001c8a: EQ
00001c8b: PUSH2 0x1c92
00001c8e: JUMPI
00001c8f: PUSH0
00001c90: DUP1
00001c91: REVERT
00001c92: JUMPDEST
00001c93: POP
00001c94: JUMP
00001c95: JUMPDEST
00001c96: PUSH0
00001c97: DUP2
00001c98: MLOAD
00001c99: SWAP1
00001c9a: POP
00001c9b: PUSH2 0x1ca3
00001c9e: DUP2
00001c9f: PUSH2 0x1c7f
00001ca2: JUMP
00001ca3: JUMPDEST
00001ca4: SWAP3
00001ca5: SWAP2
00001ca6: POP
00001ca7: POP
00001ca8: JUMP
00001ca9: JUMPDEST
00001caa: PUSH0
00001cab: PUSH1 0x20
00001cad: DUP3
00001cae: DUP5
00001caf: SUB
00001cb0: SLT
00001cb1: ISZERO
00001cb2: PUSH2 0x1cbe
00001cb5: JUMPI
00001cb6: PUSH2 0x1cbd
00001cb9: PUSH2 0x15f8
00001cbc: JUMP
00001cbd: JUMPDEST
00001cbe: JUMPDEST
00001cbf: PUSH0
00001cc0: PUSH2 0x1ccb
00001cc3: DUP5
00001cc4: DUP3
00001cc5: DUP6
00001cc6: ADD
00001cc7: PUSH2 0x1c95
00001cca: JUMP
00001ccb: JUMPDEST
00001ccc: SWAP2
00001ccd: POP
00001cce: POP
00001ccf: SWAP3
00001cd0: SWAP2
00001cd1: POP
00001cd2: POP
00001cd3: JUMP
00001cd4: JUMPDEST
00001cd5: PUSH0
00001cd6: DUP2
00001cd7: MLOAD
00001cd8: SWAP1
00001cd9: POP
00001cda: SWAP2
00001cdb: SWAP1
00001cdc: POP
00001cdd: JUMP
00001cde: JUMPDEST
00001cdf: PUSH0
00001ce0: DUP2
00001ce1: SWAP1
00001ce2: POP
00001ce3: SWAP3
00001ce4: SWAP2
00001ce5: POP
00001ce6: POP
00001ce7: JUMP
00001ce8: JUMPDEST
00001ce9: PUSH0
00001cea: JUMPDEST
00001ceb: DUP4
00001cec: DUP2
00001ced: LT
00001cee: ISZERO
00001cef: PUSH2 0x1d05
00001cf2: JUMPI
00001cf3: DUP1
00001cf4: DUP3
00001cf5: ADD
00001cf6: MLOAD
00001cf7: DUP2
00001cf8: DUP5
00001cf9: ADD
00001cfa: MSTORE
00001cfb: PUSH1 0x20
00001cfd: DUP2
00001cfe: ADD
00001cff: SWAP1
00001d00: POP
00001d01: PUSH2 0x1cea
00001d04: JUMP
00001d05: JUMPDEST
00001d06: PUSH0
00001d07: DUP5
00001d08: DUP5
00001d09: ADD
00001d0a: MSTORE
00001d0b: POP
00001d0c: POP
00001d0d: POP
00001d0e: POP
00001d0f: JUMP
00001d10: JUMPDEST
00001d11: PUSH0
00001d12: PUSH2 0x1d1a
00001d15: DUP3
00001d16: PUSH2 0x1cd4
00001d19: JUMP
00001d1a: JUMPDEST
00001d1b: PUSH2 0x1d24
00001d1e: DUP2
00001d1f: DUP6
00001d20: PUSH2 0x1cde
00001d23: JUMP
00001d24: JUMPDEST
00001d25: SWAP4
00001d26: POP
00001d27: PUSH2 0x1d34
00001d2a: DUP2
00001d2b: DUP6
00001d2c: PUSH1 0x20
00001d2e: DUP7
00001d2f: ADD
00001d30: PUSH2 0x1ce8
00001d33: JUMP
00001d34: JUMPDEST
00001d35: DUP1
00001d36: DUP5
00001d37: ADD
00001d38: SWAP2
00001d39: POP
00001d3a: POP
00001d3b: SWAP3
00001d3c: SWAP2
00001d3d: POP
00001d3e: POP
00001d3f: JUMP
00001d40: JUMPDEST
00001d41: PUSH0
00001d42: PUSH2 0x1d4b
00001d45: DUP3
00001d46: DUP5
00001d47: PUSH2 0x1d10
00001d4a: JUMP
00001d4b: JUMPDEST
00001d4c: SWAP2
00001d4d: POP
00001d4e: DUP2
00001d4f: SWAP1
00001d50: POP
00001d51: SWAP3
00001d52: SWAP2
00001d53: POP
00001d54: POP
00001d55: JUMP
00001d56: INVALID
00001d57: LOG2
00001d58: PUSH5 0x6970667358
00001d5e: UNKNOWN(0x22)
00001d5f: SLT
00001d60: KECCAK256
00001d61: EQ
00001d62: UNKNOWN(0xF9)
00001d63: UNKNOWN(0xF9)
00001d64: UNKNOWN(0x2E)
00001d65: GAS
00001d66: SWAP10
00001d67: UNKNOWN(0xE5)
00001d68: UNKNOWN(0xB8)
00001d69: DUP3
00001d6a: LT
00001d6b: SWAP3
00001d6c: UNKNOWN(0xE1)
00001d6d: PUSH6 0x6bce6d23527a
00001d74: EXTCODESIZE
00001d75: PUSH15 0x9e4a02d3fbbe782f28fd7d64736f6c
00001d85: PUSH4 0x43000816
00001d8a: STOP
00001d8b: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6
call_targets: 0xb835004007296f5278fbf85f090af7195361e946
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb835004007296f5278fbf85f090af7195361e946"
    ],
    "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": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9cbd822",
            "selector": "0xe9cbd822",
            "calldata_variants": [
                "0xe9cbd822",
                "0xe9cbd8220000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec07f063",
            "selector": "0xec07f063",
            "calldata_variants": [
                "0xec07f063",
                "0xec07f0630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf347f505",
            "selector": "0xf347f505",
            "calldata_variants": [
                "0xf347f505",
                "0xf347f5050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc1fd7a00",
            "selector": "0xc1fd7a00",
            "calldata_variants": [
                "0xc1fd7a00",
                "0xc1fd7a000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf756fdf",
            "selector": "0xcf756fdf",
            "calldata_variants": [
                "0xcf756fdf",
                "0xcf756fdf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd68002f3",
            "selector": "0xd68002f3",
            "calldata_variants": [
                "0xd68002f3",
                "0xd68002f30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3210,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5285,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6
call_targets: 0xb835004007296f5278fbf85f090af7195361e946
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb835004007296f5278fbf85f090af7195361e946"
    ],
    "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": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9cbd822",
            "selector": "0xe9cbd822",
            "calldata_variants": [
                "0xe9cbd822",
                "0xe9cbd8220000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec07f063",
            "selector": "0xec07f063",
            "calldata_variants": [
                "0xec07f063",
                "0xec07f0630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf347f505",
            "selector": "0xf347f505",
            "calldata_variants": [
                "0xf347f505",
                "0xf347f5050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc1fd7a00",
            "selector": "0xc1fd7a00",
            "calldata_variants": [
                "0xc1fd7a00",
                "0xc1fd7a000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcf756fdf",
            "selector": "0xcf756fdf",
            "calldata_variants": [
                "0xcf756fdf",
                "0xcf756fdf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd68002f3",
            "selector": "0xd68002f3",
            "calldata_variants": [
                "0xd68002f3",
                "0xd68002f30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3210,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5285,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}