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

Analysis Run

15d74803-b194-47ff-a9c9-6f468ca65436

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

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31605 report.consolidate complete 1 / 1 3 months ago
111428 artifact.fetch failed 1 / 3 1 week ago
111429 tool.cast_disasm complete 1 / 3 1 week ago
111430 analysis.bundle complete 1 / 3 1 week ago
111431 capability.graph complete 1 / 3 1 week ago
111432 detector.run complete 1 / 3 1 week ago
111433 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.
View stderr
[codex:1257355] OpenAI Codex v0.77.0 (research preview)
[codex:1257355] --------
[codex:1257355] workdir: /tmp/codex-multi-smv5yx_z
[codex:1257355] model: gpt-5.2-codex
[codex:1257355] provider: openai
[codex:1257355] approval: never
[codex:1257355] sandbox: read-only
[codex:1257355] reasoning effort: xhigh
[codex:1257355] reasoning summaries: auto
[codex:1257355] session id: 019b87fa-13e4-7561-8d4e-7b092581ea84
[codex:1257355] --------
[codex:1257355] user
[codex:1257355] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1257355] 
[codex:1257355] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1257355] 
[codex:1257355] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1257355] - Gas inefficiency, code quality, naming, or best practices
[codex:1257355] - Theoretical vulnerabilities without a clear extraction path
[codex:1257355] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1257355] - Front-running unless it enables theft beyond MEV
[codex:1257355] - DoS, griefing, or issues that don't result in attacker profit
[codex:1257355] - Missing events, view function issues, or informational findings
[codex:1257355] 
[codex:1257355] HIGH-VALUE PATTERNS TO HUNT:
[codex:1257355] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1257355] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1257355] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1257355] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1257355] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1257355] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1257355] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1257355] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1257355] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1257355] 
[codex:1257355] For each finding, you MUST provide:
[codex:1257355] 1. Exact file and line numbers of vulnerable code
[codex:1257355] 2. Step-by-step exploit transaction sequence
[codex:1257355] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1257355] 
[codex:1257355] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1257355] 
[codex:1257355] Output MUST be valid JSON matching the provided schema.
[codex:1257355] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1257355] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1257355] mcp startup: no servers
[codex:1257355] 
[codex:1257355] thinking
[codex:1257355] **Preparing to review audit instructions**
[codex:1257355] exec
[codex:1257355] /bin/bash -lc ls in /tmp/codex-multi-smv5yx_z succeeded in 5ms:
[codex:1257355] AUDIT_BUNDLE.txt
[codex:1257355] codex-output-schema.json
[codex:1257355] contracts
[codex:1257355] exec
[codex:1257355] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-smv5yx_z succeeded in 5ms:
[codex:1257355] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1257355] 
[codex:1257355] ================================================================================
[codex:1257355] FILE: contracts/src/ETHVault.sol
[codex:1257355] ================================================================================
[codex:1257355] // SPDX-License-Identifier: BUSL-1.1
[codex:1257355] pragma solidity 0.8.28;
[codex:1257355] 
[codex:1257355] import {IETHVault} from "./interfaces/IETHVault.sol";
[codex:1257355] import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1257355] import "@openzeppelin/contracts/access/Ownable.sol";
[codex:1257355] import "./interfaces/ITokiErrors.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
[codex:1257355] import "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol";
[codex:1257355] 
[codex:1257355] contract ETHVault is
[codex:1257355]     ITokiErrors,
[codex:1257355]     IETHVault,
[codex:1257355] 
[codex:1257355] thinking
[codex:1257355] **Analyzing potential ETHVault vulnerabilities**
[codex:1257355] codex
[codex:1257355] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.","findings":[]}
[codex:1257355] tokens used
[codex:1257355] 9,389
[codex:1257355] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-04T07:48:44.533238+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.",
    "raw_final": {
        "summary": "No concrete, exploitable value-extraction path found in ETHVault given trusted dependencies.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
3
Total opcodes
2790
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x00f0
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: ISZERO
00000011: PUSH2 0x0018
00000014: JUMPI
00000015: PUSH0
00000016: DUP1
00000017: REVERT
00000018: JUMPDEST
00000019: PUSH2 0x0020
0000001c: PUSH2 0x20c6
0000001f: JUMP
00000020: JUMPDEST
00000021: CALLER
00000022: ISZERO
00000023: PUSH2 0x00c4
00000026: JUMPI
00000027: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000003c: CALLER
0000003d: AND
0000003e: PUSH0
0000003f: MSTORE
00000040: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000
00000061: PUSH1 0x20
00000063: MSTORE
00000064: PUSH2 0x006e
00000067: CALLVALUE
00000068: CALLER
00000069: PUSH0
0000006a: PUSH2 0x21fd
0000006d: JUMP
0000006e: JUMPDEST
0000006f: PUSH1 0x40
00000071: DUP1
00000072: MLOAD
00000073: CALLER
00000074: DUP2
00000075: MSTORE
00000076: CALLVALUE
00000077: PUSH1 0x20
00000079: DUP3
0000007a: ADD
0000007b: MSTORE
0000007c: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
0000009d: SWAP2
0000009e: SWAP1
0000009f: LOG1
000000a0: PUSH0
000000a1: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
000000c2: TSTORE
000000c3: STOP
000000c4: JUMPDEST
000000c5: PUSH32 0xec442f0500000000000000000000000000000000000000000000000000000000
000000e6: PUSH0
000000e7: MSTORE
000000e8: PUSH0
000000e9: PUSH1 0x04
000000eb: MSTORE
000000ec: PUSH1 0x24
000000ee: PUSH0
000000ef: REVERT
000000f0: JUMPDEST
000000f1: PUSH0
000000f2: PUSH0
000000f3: CALLDATALOAD
000000f4: PUSH1 0xe0
000000f6: SHR
000000f7: DUP1
000000f8: PUSH4 0x06fdde03
000000fd: EQ
000000fe: PUSH2 0x1a29
00000101: JUMPI
00000102: DUP1
00000103: PUSH4 0x095ea7b3
00000108: EQ
00000109: PUSH2 0x195b
0000010c: JUMPI
0000010d: DUP1
0000010e: PUSH4 0x18160ddd
00000113: EQ
00000114: PUSH2 0x1901
00000117: JUMPI
00000118: DUP1
00000119: PUSH4 0x23b872dd
0000011e: EQ
0000011f: PUSH2 0x16f9
00000122: JUMPI
00000123: DUP1
00000124: PUSH4 0x29c80c2f
00000129: EQ
0000012a: PUSH2 0x1672
0000012d: JUMPI
0000012e: DUP1
0000012f: PUSH4 0x2e1a7d4d
00000134: EQ
00000135: PUSH2 0x1534
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0x313ce567
0000013f: EQ
00000140: PUSH2 0x14fa
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x40e9d2cc
0000014a: EQ
0000014b: PUSH2 0x1427
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x4f1ef286
00000155: EQ
00000156: PUSH2 0x10b3
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x52d1902d
00000160: EQ
00000161: PUSH2 0x0ff5
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x70a08231
0000016b: EQ
0000016c: PUSH2 0x0f73
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x715018a6
00000176: EQ
00000177: PUSH2 0x0e97
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0x8129fc1c
00000181: EQ
00000182: PUSH2 0x074b
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x8da5cb5b
0000018c: EQ
0000018d: PUSH2 0x06da
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x95d89b41
00000197: EQ
00000198: PUSH2 0x0585
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0xa9059cbb
000001a2: EQ
000001a3: PUSH2 0x0535
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0xad3cb1cc
000001ad: EQ
000001ae: PUSH2 0x04ba
000001b1: JUMPI
000001b2: DUP1
000001b3: PUSH4 0xd0e30db0
000001b8: EQ
000001b9: PUSH2 0x03b7
000001bc: JUMPI
000001bd: DUP1
000001be: PUSH4 0xdd5f0f68
000001c3: EQ
000001c4: PUSH2 0x02e1
000001c7: JUMPI
000001c8: DUP1
000001c9: PUSH4 0xdd62ed3e
000001ce: EQ
000001cf: PUSH2 0x022f
000001d2: JUMPI
000001d3: PUSH4 0xf2fde38b
000001d8: EQ
000001d9: PUSH2 0x01e2
000001dc: JUMPI
000001dd: POP
000001de: PUSH2 0x000e
000001e1: JUMP
000001e2: JUMPDEST
000001e3: CALLVALUE
000001e4: PUSH2 0x022c
000001e7: JUMPI
000001e8: PUSH1 0x20
000001ea: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000020b: CALLDATASIZE
0000020c: ADD
0000020d: SLT
0000020e: PUSH2 0x022c
00000211: JUMPI
00000212: PUSH2 0x0229
00000215: PUSH2 0x021c
00000218: PUSH2 0x1bb5
0000021b: JUMP
0000021c: JUMPDEST
0000021d: PUSH2 0x0224
00000220: PUSH2 0x213a
00000223: JUMP
00000224: JUMPDEST
00000225: PUSH2 0x1d23
00000228: JUMP
00000229: JUMPDEST
0000022a: DUP1
0000022b: RETURN
0000022c: JUMPDEST
0000022d: DUP1
0000022e: REVERT
0000022f: JUMPDEST
00000230: POP
00000231: CALLVALUE
00000232: PUSH2 0x022c
00000235: JUMPI
00000236: PUSH1 0x40
00000238: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000259: CALLDATASIZE
0000025a: ADD
0000025b: SLT
0000025c: PUSH2 0x022c
0000025f: JUMPI
00000260: PUSH2 0x0267
00000263: PUSH2 0x1bb5
00000266: JUMP
00000267: JUMPDEST
00000268: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000027d: PUSH2 0x02cb
00000280: PUSH2 0x0287
00000283: PUSH2 0x1bd8
00000286: JUMP
00000287: JUMPDEST
00000288: SWAP3
00000289: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000029e: AND
0000029f: PUSH0
000002a0: MSTORE
000002a1: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01
000002c2: PUSH1 0x20
000002c4: MSTORE
000002c5: PUSH1 0x40
000002c7: PUSH0
000002c8: KECCAK256
000002c9: SWAP1
000002ca: JUMP
000002cb: JUMPDEST
000002cc: SWAP2
000002cd: AND
000002ce: PUSH0
000002cf: MSTORE
000002d0: PUSH1 0x20
000002d2: MSTORE
000002d3: PUSH1 0x20
000002d5: PUSH1 0x40
000002d7: PUSH0
000002d8: KECCAK256
000002d9: SLOAD
000002da: PUSH1 0x40
000002dc: MLOAD
000002dd: SWAP1
000002de: DUP2
000002df: MSTORE
000002e0: RETURN
000002e1: JUMPDEST
000002e2: POP
000002e3: CALLVALUE
000002e4: PUSH2 0x022c
000002e7: JUMPI
000002e8: PUSH1 0x20
000002ea: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000030b: CALLDATASIZE
0000030c: ADD
0000030d: SLT
0000030e: PUSH2 0x022c
00000311: JUMPI
00000312: PUSH32 0x5fdfa96b8124163460b3b1b3e3ffa7d95b7dded3e3f58e7465d8853b052ddd80
00000333: PUSH1 0x20
00000335: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000034a: PUSH2 0x0351
0000034d: PUSH2 0x1bb5
00000350: JUMP
00000351: JUMPDEST
00000352: PUSH2 0x0359
00000355: PUSH2 0x213a
00000358: JUMP
00000359: JUMPDEST
0000035a: AND
0000035b: DUP1
0000035c: DUP5
0000035d: MSTORE
0000035e: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000
0000037f: DUP3
00000380: MSTORE
00000381: PUSH1 0x40
00000383: DUP5
00000384: KECCAK256
00000385: PUSH1 0x01
00000387: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000003a8: DUP3
000003a9: SLOAD
000003aa: AND
000003ab: OR
000003ac: SWAP1
000003ad: SSTORE
000003ae: PUSH1 0x40
000003b0: MLOAD
000003b1: SWAP1
000003b2: DUP2
000003b3: MSTORE
000003b4: LOG1
000003b5: DUP1
000003b6: RETURN
000003b7: JUMPDEST
000003b8: POP
000003b9: DUP1
000003ba: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000003db: CALLDATASIZE
000003dc: ADD
000003dd: SLT
000003de: PUSH2 0x022c
000003e1: JUMPI
000003e2: PUSH2 0x03e9
000003e5: PUSH2 0x20c6
000003e8: JUMP
000003e9: JUMPDEST
000003ea: CALLER
000003eb: ISZERO
000003ec: PUSH2 0x048e
000003ef: JUMPI
000003f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000405: CALLER
00000406: AND
00000407: PUSH0
00000408: MSTORE
00000409: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000
0000042a: PUSH1 0x20
0000042c: MSTORE
0000042d: PUSH2 0x0437
00000430: CALLVALUE
00000431: CALLER
00000432: PUSH0
00000433: PUSH2 0x21fd
00000436: JUMP
00000437: JUMPDEST
00000438: PUSH1 0x40
0000043a: DUP1
0000043b: MLOAD
0000043c: CALLER
0000043d: DUP2
0000043e: MSTORE
0000043f: CALLVALUE
00000440: PUSH1 0x20
00000442: DUP3
00000443: ADD
00000444: MSTORE
00000445: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
00000466: SWAP2
00000467: SWAP1
00000468: LOG1
00000469: DUP1
0000046a: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
0000048b: TSTORE
0000048c: DUP1
0000048d: RETURN
0000048e: JUMPDEST
0000048f: DUP1
00000490: PUSH32 0xec442f0500000000000000000000000000000000000000000000000000000000
000004b1: PUSH1 0x24
000004b3: SWAP3
000004b4: MSTORE
000004b5: DUP1
000004b6: PUSH1 0x04
000004b8: MSTORE
000004b9: REVERT
000004ba: JUMPDEST
000004bb: POP
000004bc: CALLVALUE
000004bd: PUSH2 0x022c
000004c0: JUMPI
000004c1: DUP1
000004c2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000004e3: CALLDATASIZE
000004e4: ADD
000004e5: SLT
000004e6: PUSH2 0x022c
000004e9: JUMPI
000004ea: POP
000004eb: PUSH2 0x0531
000004ee: PUSH1 0x40
000004f0: MLOAD
000004f1: PUSH2 0x04fb
000004f4: PUSH1 0x40
000004f6: DUP3
000004f7: PUSH2 0x1bfb
000004fa: JUMP
000004fb: JUMPDEST
000004fc: PUSH1 0x05
000004fe: DUP2
000004ff: MSTORE
00000500: PUSH32 0x352e302e30000000000000000000000000000000000000000000000000000000
00000521: PUSH1 0x20
00000523: DUP3
00000524: ADD
00000525: MSTORE
00000526: PUSH1 0x40
00000528: MLOAD
00000529: SWAP2
0000052a: DUP3
0000052b: SWAP2
0000052c: DUP3
0000052d: PUSH2 0x1b6d
00000530: JUMP
00000531: JUMPDEST
00000532: SUB
00000533: SWAP1
00000534: RETURN
00000535: JUMPDEST
00000536: POP
00000537: CALLVALUE
00000538: PUSH2 0x022c
0000053b: JUMPI
0000053c: PUSH1 0x40
0000053e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000055f: CALLDATASIZE
00000560: ADD
00000561: SLT
00000562: PUSH2 0x022c
00000565: JUMPI
00000566: PUSH2 0x057a
00000569: PUSH2 0x0570
0000056c: PUSH2 0x1bb5
0000056f: JUMP
00000570: JUMPDEST
00000571: PUSH1 0x24
00000573: CALLDATALOAD
00000574: SWAP1
00000575: CALLER
00000576: PUSH2 0x1e10
00000579: JUMP
0000057a: JUMPDEST
0000057b: PUSH1 0x20
0000057d: PUSH1 0x40
0000057f: MLOAD
00000580: PUSH1 0x01
00000582: DUP2
00000583: MSTORE
00000584: RETURN
00000585: JUMPDEST
00000586: POP
00000587: CALLVALUE
00000588: PUSH2 0x022c
0000058b: JUMPI
0000058c: DUP1
0000058d: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000005ae: CALLDATASIZE
000005af: ADD
000005b0: SLT
000005b1: PUSH2 0x022c
000005b4: JUMPI
000005b5: PUSH1 0x40
000005b7: MLOAD
000005b8: SWAP1
000005b9: DUP1
000005ba: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04
000005db: SLOAD
000005dc: SWAP1
000005dd: PUSH2 0x05e5
000005e0: DUP3
000005e1: PUSH2 0x1ca3
000005e4: JUMP
000005e5: JUMPDEST
000005e6: DUP1
000005e7: DUP6
000005e8: MSTORE
000005e9: SWAP2
000005ea: PUSH1 0x01
000005ec: DUP2
000005ed: AND
000005ee: SWAP1
000005ef: DUP2
000005f0: ISZERO
000005f1: PUSH2 0x0695
000005f4: JUMPI
000005f5: POP
000005f6: PUSH1 0x01
000005f8: EQ
000005f9: PUSH2 0x0619
000005fc: JUMPI
000005fd: JUMPDEST
000005fe: PUSH2 0x0531
00000601: DUP5
00000602: PUSH2 0x060d
00000605: DUP2
00000606: DUP7
00000607: SUB
00000608: DUP3
00000609: PUSH2 0x1bfb
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH1 0x40
00000610: MLOAD
00000611: SWAP2
00000612: DUP3
00000613: SWAP2
00000614: DUP3
00000615: PUSH2 0x1b6d
00000618: JUMP
00000619: JUMPDEST
0000061a: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04
0000063b: DUP2
0000063c: MSTORE
0000063d: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa
0000065e: SWAP4
0000065f: SWAP3
00000660: POP
00000661: SWAP1
00000662: JUMPDEST
00000663: DUP1
00000664: DUP3
00000665: LT
00000666: PUSH2 0x067b
00000669: JUMPI
0000066a: POP
0000066b: SWAP1
0000066c: SWAP2
0000066d: POP
0000066e: DUP2
0000066f: ADD
00000670: PUSH1 0x20
00000672: ADD
00000673: PUSH2 0x060d
00000676: DUP3
00000677: PUSH2 0x05fd
0000067a: JUMP
0000067b: JUMPDEST
0000067c: SWAP2
0000067d: SWAP3
0000067e: PUSH1 0x01
00000680: DUP2
00000681: PUSH1 0x20
00000683: SWAP3
00000684: SLOAD
00000685: DUP4
00000686: DUP6
00000687: DUP9
00000688: ADD
00000689: ADD
0000068a: MSTORE
0000068b: ADD
0000068c: SWAP2
0000068d: ADD
0000068e: SWAP1
0000068f: SWAP3
00000690: SWAP2
00000691: PUSH2 0x0662
00000694: JUMP
00000695: JUMPDEST
00000696: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000006b7: AND
000006b8: PUSH1 0x20
000006ba: DUP1
000006bb: DUP8
000006bc: ADD
000006bd: SWAP2
000006be: SWAP1
000006bf: SWAP2
000006c0: MSTORE
000006c1: SWAP3
000006c2: ISZERO
000006c3: ISZERO
000006c4: PUSH1 0x05
000006c6: SHL
000006c7: DUP6
000006c8: ADD
000006c9: SWAP1
000006ca: SWAP3
000006cb: ADD
000006cc: SWAP3
000006cd: POP
000006ce: PUSH2 0x060d
000006d1: SWAP2
000006d2: POP
000006d3: DUP4
000006d4: SWAP1
000006d5: POP
000006d6: PUSH2 0x05fd
000006d9: JUMP
000006da: JUMPDEST
000006db: POP
000006dc: CALLVALUE
000006dd: PUSH2 0x022c
000006e0: JUMPI
000006e1: DUP1
000006e2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000703: CALLDATASIZE
00000704: ADD
00000705: SLT
00000706: PUSH2 0x022c
00000709: JUMPI
0000070a: PUSH1 0x20
0000070c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000721: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
00000742: SLOAD
00000743: AND
00000744: PUSH1 0x40
00000746: MLOAD
00000747: SWAP1
00000748: DUP2
00000749: MSTORE
0000074a: RETURN
0000074b: JUMPDEST
0000074c: POP
0000074d: CALLVALUE
0000074e: PUSH2 0x022c
00000751: JUMPI
00000752: DUP1
00000753: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000774: CALLDATASIZE
00000775: ADD
00000776: SLT
00000777: PUSH2 0x022c
0000077a: JUMPI
0000077b: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
0000079c: SLOAD
0000079d: SWAP1
0000079e: PUSH1 0xff
000007a0: DUP3
000007a1: PUSH1 0x40
000007a3: SHR
000007a4: AND
000007a5: ISZERO
000007a6: SWAP2
000007a7: PUSH8 0xffffffffffffffff
000007b0: DUP2
000007b1: AND
000007b2: DUP1
000007b3: ISZERO
000007b4: SWAP1
000007b5: DUP2
000007b6: PUSH2 0x0e8f
000007b9: JUMPI
000007ba: JUMPDEST
000007bb: PUSH1 0x01
000007bd: EQ
000007be: SWAP1
000007bf: DUP2
000007c0: PUSH2 0x0e85
000007c3: JUMPI
000007c4: JUMPDEST
000007c5: ISZERO
000007c6: SWAP1
000007c7: DUP2
000007c8: PUSH2 0x0e7c
000007cb: JUMPI
000007cc: JUMPDEST
000007cd: POP
000007ce: PUSH2 0x0e54
000007d1: JUMPI
000007d2: DUP3
000007d3: PUSH1 0x01
000007d5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000
000007f6: DUP4
000007f7: AND
000007f8: OR
000007f9: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
0000081a: SSTORE
0000081b: PUSH2 0x0dff
0000081e: JUMPI
0000081f: JUMPDEST
00000820: POP
00000821: PUSH1 0x40
00000823: DUP1
00000824: MLOAD
00000825: SWAP3
00000826: PUSH2 0x082f
00000829: DUP3
0000082a: DUP6
0000082b: PUSH2 0x1bfb
0000082e: JUMP
0000082f: JUMPDEST
00000830: PUSH1 0x10
00000832: DUP5
00000833: MSTORE
00000834: PUSH32 0x544f4b4920777261707065642045544800000000000000000000000000000000
00000855: PUSH1 0x20
00000857: DUP6
00000858: ADD
00000859: MSTORE
0000085a: DUP2
0000085b: MLOAD
0000085c: SWAP4
0000085d: PUSH2 0x0866
00000860: DUP4
00000861: DUP7
00000862: PUSH2 0x1bfb
00000865: JUMP
00000866: JUMPDEST
00000867: PUSH1 0x07
00000869: DUP6
0000086a: MSTORE
0000086b: PUSH32 0x746f6b6945544800000000000000000000000000000000000000000000000000
0000088c: PUSH1 0x20
0000088e: DUP7
0000088f: ADD
00000890: MSTORE
00000891: PUSH2 0x0898
00000894: PUSH2 0x21a6
00000897: JUMP
00000898: JUMPDEST
00000899: PUSH2 0x08a0
0000089c: PUSH2 0x21a6
0000089f: JUMP
000008a0: JUMPDEST
000008a1: DUP1
000008a2: MLOAD
000008a3: SWAP1
000008a4: PUSH8 0xffffffffffffffff
000008ad: DUP3
000008ae: GT
000008af: PUSH2 0x0dd2
000008b2: JUMPI
000008b3: DUP2
000008b4: SWAP1
000008b5: PUSH2 0x08de
000008b8: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03
000008d9: SLOAD
000008da: PUSH2 0x1ca3
000008dd: JUMP
000008de: JUMPDEST
000008df: PUSH1 0x1f
000008e1: DUP2
000008e2: GT
000008e3: PUSH2 0x0d45
000008e6: JUMPI
000008e7: JUMPDEST
000008e8: POP
000008e9: PUSH1 0x20
000008eb: SWAP1
000008ec: PUSH1 0x1f
000008ee: DUP4
000008ef: GT
000008f0: PUSH1 0x01
000008f2: EQ
000008f3: PUSH2 0x0c68
000008f6: JUMPI
000008f7: DUP7
000008f8: SWAP3
000008f9: PUSH2 0x0c5d
000008fc: JUMPI
000008fd: JUMPDEST
000008fe: POP
000008ff: POP
00000900: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000921: DUP3
00000922: PUSH1 0x01
00000924: SHL
00000925: SWAP3
00000926: PUSH1 0x03
00000928: SHL
00000929: SHR
0000092a: NOT
0000092b: AND
0000092c: OR
0000092d: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03
0000094e: SSTORE
0000094f: JUMPDEST
00000950: DUP4
00000951: MLOAD
00000952: PUSH8 0xffffffffffffffff
0000095b: DUP2
0000095c: GT
0000095d: PUSH2 0x0c30
00000960: JUMPI
00000961: PUSH2 0x098a
00000964: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04
00000985: SLOAD
00000986: PUSH2 0x1ca3
00000989: JUMP
0000098a: JUMPDEST
0000098b: PUSH1 0x1f
0000098d: DUP2
0000098e: GT
0000098f: PUSH2 0x0bae
00000992: JUMPI
00000993: JUMPDEST
00000994: POP
00000995: PUSH1 0x20
00000997: SWAP5
00000998: PUSH1 0x1f
0000099a: DUP3
0000099b: GT
0000099c: PUSH1 0x01
0000099e: EQ
0000099f: PUSH2 0x0ad0
000009a2: JUMPI
000009a3: SWAP5
000009a4: DUP5
000009a5: SWAP6
000009a6: DUP3
000009a7: SWAP4
000009a8: SWAP5
000009a9: SWAP6
000009aa: SWAP3
000009ab: PUSH2 0x0ac5
000009ae: JUMPI
000009af: JUMPDEST
000009b0: POP
000009b1: POP
000009b2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000009d3: DUP3
000009d4: PUSH1 0x01
000009d6: SHL
000009d7: SWAP3
000009d8: PUSH1 0x03
000009da: SHL
000009db: SHR
000009dc: NOT
000009dd: AND
000009de: OR
000009df: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04
00000a00: SSTORE
00000a01: JUMPDEST
00000a02: PUSH2 0x0a09
00000a05: PUSH2 0x21a6
00000a08: JUMP
00000a09: JUMPDEST
00000a0a: PUSH2 0x0a11
00000a0d: PUSH2 0x21a6
00000a10: JUMP
00000a11: JUMPDEST
00000a12: PUSH2 0x0a19
00000a15: PUSH2 0x21a6
00000a18: JUMP
00000a19: JUMPDEST
00000a1a: PUSH2 0x0a22
00000a1d: CALLER
00000a1e: PUSH2 0x1d23
00000a21: JUMP
00000a22: JUMPDEST
00000a23: PUSH2 0x0a2a
00000a26: PUSH2 0x21a6
00000a29: JUMP
00000a2a: JUMPDEST
00000a2b: PUSH2 0x0a32
00000a2e: JUMPI
00000a2f: POP
00000a30: DUP1
00000a31: RETURN
00000a32: JUMPDEST
00000a33: PUSH1 0x20
00000a35: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
00000a56: SWAP2
00000a57: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff
00000a78: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000a99: SLOAD
00000a9a: AND
00000a9b: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000abc: SSTORE
00000abd: MLOAD
00000abe: PUSH1 0x01
00000ac0: DUP2
00000ac1: MSTORE
00000ac2: LOG1
00000ac3: DUP1
00000ac4: RETURN
00000ac5: JUMPDEST
00000ac6: ADD
00000ac7: MLOAD
00000ac8: SWAP1
00000ac9: POP
00000aca: PUSH0
00000acb: DUP1
00000acc: PUSH2 0x09af
00000acf: JUMP
00000ad0: JUMPDEST
00000ad1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000af2: DUP3
00000af3: AND
00000af4: SWAP6
00000af5: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04
00000b16: DUP7
00000b17: MSTORE
00000b18: DUP1
00000b19: DUP7
00000b1a: KECCAK256
00000b1b: SWAP2
00000b1c: DUP7
00000b1d: JUMPDEST
00000b1e: DUP9
00000b1f: DUP2
00000b20: LT
00000b21: PUSH2 0x0b96
00000b24: JUMPI
00000b25: POP
00000b26: DUP4
00000b27: PUSH1 0x01
00000b29: SWAP6
00000b2a: SWAP7
00000b2b: SWAP8
00000b2c: SWAP9
00000b2d: LT
00000b2e: PUSH2 0x0b5f
00000b31: JUMPI
00000b32: JUMPDEST
00000b33: POP
00000b34: POP
00000b35: POP
00000b36: DUP2
00000b37: SHL
00000b38: ADD
00000b39: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04
00000b5a: SSTORE
00000b5b: PUSH2 0x0a01
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: ADD
00000b61: MLOAD
00000b62: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000b83: PUSH1 0xf8
00000b85: DUP5
00000b86: PUSH1 0x03
00000b88: SHL
00000b89: AND
00000b8a: SHR
00000b8b: NOT
00000b8c: AND
00000b8d: SWAP1
00000b8e: SSTORE
00000b8f: PUSH0
00000b90: DUP1
00000b91: DUP1
00000b92: PUSH2 0x0b32
00000b95: JUMP
00000b96: JUMPDEST
00000b97: SWAP2
00000b98: SWAP3
00000b99: PUSH1 0x20
00000b9b: PUSH1 0x01
00000b9d: DUP2
00000b9e: SWAP3
00000b9f: DUP7
00000ba0: DUP6
00000ba1: ADD
00000ba2: MLOAD
00000ba3: DUP2
00000ba4: SSTORE
00000ba5: ADD
00000ba6: SWAP5
00000ba7: ADD
00000ba8: SWAP3
00000ba9: ADD
00000baa: PUSH2 0x0b1d
00000bad: JUMP
00000bae: JUMPDEST
00000baf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04
00000bd0: DUP6
00000bd1: MSTORE
00000bd2: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa
00000bf3: PUSH1 0x1f
00000bf5: DUP4
00000bf6: ADD
00000bf7: PUSH1 0x05
00000bf9: SHR
00000bfa: DUP2
00000bfb: ADD
00000bfc: SWAP2
00000bfd: PUSH1 0x20
00000bff: DUP5
00000c00: LT
00000c01: PUSH2 0x0c26
00000c04: JUMPI
00000c05: JUMPDEST
00000c06: PUSH1 0x1f
00000c08: ADD
00000c09: PUSH1 0x05
00000c0b: SHR
00000c0c: ADD
00000c0d: SWAP1
00000c0e: JUMPDEST
00000c0f: DUP2
00000c10: DUP2
00000c11: LT
00000c12: PUSH2 0x0c1b
00000c15: JUMPI
00000c16: POP
00000c17: PUSH2 0x0993
00000c1a: JUMP
00000c1b: JUMPDEST
00000c1c: DUP6
00000c1d: DUP2
00000c1e: SSTORE
00000c1f: PUSH1 0x01
00000c21: ADD
00000c22: PUSH2 0x0c0e
00000c25: JUMP
00000c26: JUMPDEST
00000c27: SWAP1
00000c28: SWAP2
00000c29: POP
00000c2a: DUP2
00000c2b: SWAP1
00000c2c: PUSH2 0x0c05
00000c2f: JUMP
00000c30: JUMPDEST
00000c31: PUSH1 0x24
00000c33: DUP5
00000c34: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000c55: DUP2
00000c56: MSTORE
00000c57: PUSH1 0x41
00000c59: PUSH1 0x04
00000c5b: MSTORE
00000c5c: REVERT
00000c5d: JUMPDEST
00000c5e: ADD
00000c5f: MLOAD
00000c60: SWAP1
00000c61: POP
00000c62: PUSH0
00000c63: DUP1
00000c64: PUSH2 0x08fd
00000c67: JUMP
00000c68: JUMPDEST
00000c69: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03
00000c8a: DUP8
00000c8b: MSTORE
00000c8c: DUP2
00000c8d: DUP8
00000c8e: KECCAK256
00000c8f: SWAP3
00000c90: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000cb1: AND
00000cb2: DUP8
00000cb3: JUMPDEST
00000cb4: DUP2
00000cb5: DUP2
00000cb6: LT
00000cb7: PUSH2 0x0d2d
00000cba: JUMPI
00000cbb: POP
00000cbc: SWAP1
00000cbd: DUP5
00000cbe: PUSH1 0x01
00000cc0: SWAP6
00000cc1: SWAP5
00000cc2: SWAP4
00000cc3: SWAP3
00000cc4: LT
00000cc5: PUSH2 0x0cf6
00000cc8: JUMPI
00000cc9: JUMPDEST
00000cca: POP
00000ccb: POP
00000ccc: POP
00000ccd: DUP2
00000cce: SHL
00000ccf: ADD
00000cd0: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03
00000cf1: SSTORE
00000cf2: PUSH2 0x094f
00000cf5: JUMP
00000cf6: JUMPDEST
00000cf7: ADD
00000cf8: MLOAD
00000cf9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000d1a: PUSH1 0xf8
00000d1c: DUP5
00000d1d: PUSH1 0x03
00000d1f: SHL
00000d20: AND
00000d21: SHR
00000d22: NOT
00000d23: AND
00000d24: SWAP1
00000d25: SSTORE
00000d26: PUSH0
00000d27: DUP1
00000d28: DUP1
00000d29: PUSH2 0x0cc9
00000d2c: JUMP
00000d2d: JUMPDEST
00000d2e: SWAP3
00000d2f: SWAP4
00000d30: PUSH1 0x20
00000d32: PUSH1 0x01
00000d34: DUP2
00000d35: SWAP3
00000d36: DUP8
00000d37: DUP7
00000d38: ADD
00000d39: MLOAD
00000d3a: DUP2
00000d3b: SSTORE
00000d3c: ADD
00000d3d: SWAP6
00000d3e: ADD
00000d3f: SWAP4
00000d40: ADD
00000d41: PUSH2 0x0cb3
00000d44: JUMP
00000d45: JUMPDEST
00000d46: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03
00000d67: DUP8
00000d68: MSTORE
00000d69: SWAP1
00000d6a: SWAP2
00000d6b: POP
00000d6c: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0
00000d8d: PUSH1 0x1f
00000d8f: DUP5
00000d90: ADD
00000d91: PUSH1 0x05
00000d93: SHR
00000d94: DUP2
00000d95: ADD
00000d96: SWAP2
00000d97: PUSH1 0x20
00000d99: DUP6
00000d9a: LT
00000d9b: PUSH2 0x0dc8
00000d9e: JUMPI
00000d9f: JUMPDEST
00000da0: SWAP1
00000da1: PUSH1 0x1f
00000da3: DUP6
00000da4: SWAP5
00000da5: SWAP4
00000da6: SWAP3
00000da7: ADD
00000da8: PUSH1 0x05
00000daa: SHR
00000dab: ADD
00000dac: SWAP1
00000dad: JUMPDEST
00000dae: DUP2
00000daf: DUP2
00000db0: LT
00000db1: PUSH2 0x0dba
00000db4: JUMPI
00000db5: POP
00000db6: PUSH2 0x08e7
00000db9: JUMP
00000dba: JUMPDEST
00000dbb: DUP8
00000dbc: DUP2
00000dbd: SSTORE
00000dbe: DUP5
00000dbf: SWAP4
00000dc0: POP
00000dc1: PUSH1 0x01
00000dc3: ADD
00000dc4: PUSH2 0x0dad
00000dc7: JUMP
00000dc8: JUMPDEST
00000dc9: SWAP1
00000dca: SWAP2
00000dcb: POP
00000dcc: DUP2
00000dcd: SWAP1
00000dce: PUSH2 0x0d9f
00000dd1: JUMP
00000dd2: JUMPDEST
00000dd3: PUSH1 0x24
00000dd5: DUP6
00000dd6: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00000df7: DUP2
00000df8: MSTORE
00000df9: PUSH1 0x41
00000dfb: PUSH1 0x04
00000dfd: MSTORE
00000dfe: REVERT
00000dff: JUMPDEST
00000e00: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff000000000000000000
00000e21: AND
00000e22: PUSH9 0x010000000000000001
00000e2c: OR
00000e2d: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00000e4e: SSTORE
00000e4f: PUSH0
00000e50: PUSH2 0x081f
00000e53: JUMP
00000e54: JUMPDEST
00000e55: PUSH1 0x04
00000e57: DUP3
00000e58: PUSH32 0xf92ee8a900000000000000000000000000000000000000000000000000000000
00000e79: DUP2
00000e7a: MSTORE
00000e7b: REVERT
00000e7c: JUMPDEST
00000e7d: SWAP1
00000e7e: POP
00000e7f: ISZERO
00000e80: PUSH0
00000e81: PUSH2 0x07cc
00000e84: JUMP
00000e85: JUMPDEST
00000e86: ADDRESS
00000e87: EXTCODESIZE
00000e88: ISZERO
00000e89: SWAP2
00000e8a: POP
00000e8b: PUSH2 0x07c4
00000e8e: JUMP
00000e8f: JUMPDEST
00000e90: DUP5
00000e91: SWAP2
00000e92: POP
00000e93: PUSH2 0x07ba
00000e96: JUMP
00000e97: JUMPDEST
00000e98: POP
00000e99: CALLVALUE
00000e9a: PUSH2 0x022c
00000e9d: JUMPI
00000e9e: DUP1
00000e9f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000ec0: CALLDATASIZE
00000ec1: ADD
00000ec2: SLT
00000ec3: PUSH2 0x022c
00000ec6: JUMPI
00000ec7: PUSH2 0x0ece
00000eca: PUSH2 0x213a
00000ecd: JUMP
00000ece: JUMPDEST
00000ecf: DUP1
00000ed0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ee5: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
00000f06: SLOAD
00000f07: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000f28: DUP2
00000f29: AND
00000f2a: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
00000f4b: SSTORE
00000f4c: AND
00000f4d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f6e: DUP3
00000f6f: DUP1
00000f70: LOG3
00000f71: DUP1
00000f72: RETURN
00000f73: JUMPDEST
00000f74: POP
00000f75: CALLVALUE
00000f76: PUSH2 0x022c
00000f79: JUMPI
00000f7a: PUSH1 0x20
00000f7c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000f9d: CALLDATASIZE
00000f9e: ADD
00000f9f: SLT
00000fa0: PUSH2 0x022c
00000fa3: JUMPI
00000fa4: PUSH1 0x40
00000fa6: PUSH1 0x20
00000fa8: SWAP2
00000fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fbe: PUSH2 0x0fc5
00000fc1: PUSH2 0x1bb5
00000fc4: JUMP
00000fc5: JUMPDEST
00000fc6: AND
00000fc7: DUP2
00000fc8: MSTORE
00000fc9: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
00000fea: DUP4
00000feb: MSTORE
00000fec: KECCAK256
00000fed: SLOAD
00000fee: PUSH1 0x40
00000ff0: MLOAD
00000ff1: SWAP1
00000ff2: DUP2
00000ff3: MSTORE
00000ff4: RETURN
00000ff5: JUMPDEST
00000ff6: POP
00000ff7: CALLVALUE
00000ff8: PUSH2 0x022c
00000ffb: JUMPI
00000ffc: DUP1
00000ffd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000101e: CALLDATASIZE
0000101f: ADD
00001020: SLT
00001021: PUSH2 0x022c
00001024: JUMPI
00001025: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000103a: PUSH32 0x000000000000000000000000dd95dae9c7b8975442937fbf8652505dbfb3dcf5
0000105b: AND
0000105c: ADDRESS
0000105d: SUB
0000105e: PUSH2 0x108b
00001061: JUMPI
00001062: PUSH1 0x20
00001064: PUSH1 0x40
00001066: MLOAD
00001067: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00001088: DUP2
00001089: MSTORE
0000108a: RETURN
0000108b: JUMPDEST
0000108c: DUP1
0000108d: PUSH32 0xe07c8dba00000000000000000000000000000000000000000000000000000000
000010ae: PUSH1 0x04
000010b0: SWAP3
000010b1: MSTORE
000010b2: REVERT
000010b3: JUMPDEST
000010b4: POP
000010b5: PUSH1 0x40
000010b7: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000010d8: CALLDATASIZE
000010d9: ADD
000010da: SLT
000010db: PUSH2 0x022c
000010de: JUMPI
000010df: PUSH2 0x10e6
000010e2: PUSH2 0x1bb5
000010e5: JUMP
000010e6: JUMPDEST
000010e7: PUSH1 0x24
000010e9: CALLDATALOAD
000010ea: SWAP1
000010eb: PUSH8 0xffffffffffffffff
000010f4: DUP3
000010f5: GT
000010f6: PUSH2 0x1423
000010f9: JUMPI
000010fa: CALLDATASIZE
000010fb: PUSH1 0x23
000010fd: DUP4
000010fe: ADD
000010ff: SLT
00001100: ISZERO
00001101: PUSH2 0x1423
00001104: JUMPI
00001105: DUP2
00001106: PUSH1 0x04
00001108: ADD
00001109: CALLDATALOAD
0000110a: SWAP1
0000110b: DUP4
0000110c: PUSH2 0x1114
0000110f: DUP4
00001110: PUSH2 0x1c69
00001113: JUMP
00001114: JUMPDEST
00001115: SWAP4
00001116: PUSH2 0x1122
00001119: PUSH1 0x40
0000111b: MLOAD
0000111c: SWAP6
0000111d: DUP7
0000111e: PUSH2 0x1bfb
00001121: JUMP
00001122: JUMPDEST
00001123: DUP4
00001124: DUP6
00001125: MSTORE
00001126: PUSH1 0x20
00001128: DUP6
00001129: ADD
0000112a: SWAP4
0000112b: CALLDATASIZE
0000112c: PUSH1 0x24
0000112e: DUP3
0000112f: DUP5
00001130: ADD
00001131: ADD
00001132: GT
00001133: PUSH2 0x1423
00001136: JUMPI
00001137: DUP1
00001138: PUSH1 0x24
0000113a: PUSH1 0x20
0000113c: SWAP4
0000113d: ADD
0000113e: DUP7
0000113f: CALLDATACOPY
00001140: DUP6
00001141: ADD
00001142: ADD
00001143: MSTORE
00001144: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001159: PUSH32 0x000000000000000000000000dd95dae9c7b8975442937fbf8652505dbfb3dcf5
0000117a: AND
0000117b: DUP1
0000117c: ADDRESS
0000117d: EQ
0000117e: SWAP1
0000117f: DUP2
00001180: ISZERO
00001181: PUSH2 0x13e1
00001184: JUMPI
00001185: JUMPDEST
00001186: POP
00001187: PUSH2 0x13b9
0000118a: JUMPI
0000118b: PUSH2 0x1192
0000118e: PUSH2 0x213a
00001191: JUMP
00001192: JUMPDEST
00001193: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011a8: DUP2
000011a9: AND
000011aa: SWAP3
000011ab: PUSH1 0x40
000011ad: MLOAD
000011ae: PUSH32 0x52d1902d00000000000000000000000000000000000000000000000000000000
000011cf: DUP2
000011d0: MSTORE
000011d1: PUSH1 0x20
000011d3: DUP2
000011d4: PUSH1 0x04
000011d6: DUP2
000011d7: DUP9
000011d8: GAS
000011d9: STATICCALL
000011da: DUP7
000011db: SWAP2
000011dc: DUP2
000011dd: PUSH2 0x1381
000011e0: JUMPI
000011e1: JUMPDEST
000011e2: POP
000011e3: PUSH2 0x1212
000011e6: JUMPI
000011e7: PUSH1 0x24
000011e9: DUP7
000011ea: DUP7
000011eb: PUSH32 0x4c9c8ce300000000000000000000000000000000000000000000000000000000
0000120c: DUP3
0000120d: MSTORE
0000120e: PUSH1 0x04
00001210: MSTORE
00001211: REVERT
00001212: JUMPDEST
00001213: SWAP4
00001214: DUP5
00001215: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00001236: DUP8
00001237: SWAP7
00001238: SUB
00001239: PUSH2 0x1356
0000123c: JUMPI
0000123d: POP
0000123e: DUP3
0000123f: EXTCODESIZE
00001240: ISZERO
00001241: PUSH2 0x132b
00001244: JUMPI
00001245: SWAP1
00001246: DUP2
00001247: DUP6
00001248: SWAP3
00001249: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000126a: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000128b: SLOAD
0000128c: AND
0000128d: OR
0000128e: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
000012af: SSTORE
000012b0: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
000012d1: DUP4
000012d2: DUP1
000012d3: LOG2
000012d4: DUP1
000012d5: MLOAD
000012d6: ISZERO
000012d7: PUSH2 0x12f7
000012da: JUMPI
000012db: PUSH2 0x12f3
000012de: SWAP4
000012df: DUP3
000012e0: SWAP2
000012e1: MLOAD
000012e2: SWAP1
000012e3: DUP5
000012e4: GAS
000012e5: DELEGATECALL
000012e6: PUSH2 0x12ed
000012e9: PUSH2 0x1cf4
000012ec: JUMP
000012ed: JUMPDEST
000012ee: SWAP2
000012ef: PUSH2 0x2402
000012f2: JUMP
000012f3: JUMPDEST
000012f4: POP
000012f5: DUP1
000012f6: RETURN
000012f7: JUMPDEST
000012f8: POP
000012f9: POP
000012fa: POP
000012fb: POP
000012fc: CALLVALUE
000012fd: PUSH2 0x1303
00001300: JUMPI
00001301: DUP1
00001302: RETURN
00001303: JUMPDEST
00001304: DUP1
00001305: PUSH32 0xb398979f00000000000000000000000000000000000000000000000000000000
00001326: PUSH1 0x04
00001328: SWAP3
00001329: MSTORE
0000132a: REVERT
0000132b: JUMPDEST
0000132c: PUSH32 0x4c9c8ce300000000000000000000000000000000000000000000000000000000
0000134d: DUP6
0000134e: MSTORE
0000134f: PUSH1 0x04
00001351: MSTORE
00001352: PUSH1 0x24
00001354: DUP5
00001355: REVERT
00001356: JUMPDEST
00001357: PUSH32 0xaa1d49a400000000000000000000000000000000000000000000000000000000
00001378: DUP7
00001379: MSTORE
0000137a: PUSH1 0x04
0000137c: MSTORE
0000137d: PUSH1 0x24
0000137f: DUP6
00001380: REVERT
00001381: JUMPDEST
00001382: SWAP1
00001383: SWAP2
00001384: POP
00001385: PUSH1 0x20
00001387: DUP2
00001388: RETURNDATASIZE
00001389: PUSH1 0x20
0000138b: GT
0000138c: PUSH2 0x13b1
0000138f: JUMPI
00001390: JUMPDEST
00001391: DUP2
00001392: PUSH2 0x139d
00001395: PUSH1 0x20
00001397: SWAP4
00001398: DUP4
00001399: PUSH2 0x1bfb
0000139c: JUMP
0000139d: JUMPDEST
0000139e: DUP2
0000139f: ADD
000013a0: SUB
000013a1: SLT
000013a2: PUSH2 0x13ad
000013a5: JUMPI
000013a6: MLOAD
000013a7: SWAP1
000013a8: PUSH0
000013a9: PUSH2 0x11e1
000013ac: JUMP
000013ad: JUMPDEST
000013ae: DUP7
000013af: DUP1
000013b0: REVERT
000013b1: JUMPDEST
000013b2: RETURNDATASIZE
000013b3: SWAP2
000013b4: POP
000013b5: PUSH2 0x1390
000013b8: JUMP
000013b9: JUMPDEST
000013ba: PUSH1 0x04
000013bc: DUP5
000013bd: PUSH32 0xe07c8dba00000000000000000000000000000000000000000000000000000000
000013de: DUP2
000013df: MSTORE
000013e0: REVERT
000013e1: JUMPDEST
000013e2: SWAP1
000013e3: POP
000013e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013f9: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000141a: SLOAD
0000141b: AND
0000141c: EQ
0000141d: ISZERO
0000141e: PUSH0
0000141f: PUSH2 0x1185
00001422: JUMP
00001423: JUMPDEST
00001424: DUP3
00001425: DUP1
00001426: REVERT
00001427: JUMPDEST
00001428: POP
00001429: CALLVALUE
0000142a: PUSH2 0x022c
0000142d: JUMPI
0000142e: PUSH1 0x20
00001430: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001451: CALLDATASIZE
00001452: ADD
00001453: SLT
00001454: PUSH2 0x022c
00001457: JUMPI
00001458: PUSH32 0xcb1a78c515093d94f424921724c8d59393fa758e2bc9162c71501fde05c8100f
00001479: PUSH1 0x20
0000147b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001490: PUSH2 0x1497
00001493: PUSH2 0x1bb5
00001496: JUMP
00001497: JUMPDEST
00001498: PUSH2 0x149f
0000149b: PUSH2 0x213a
0000149e: JUMP
0000149f: JUMPDEST
000014a0: AND
000014a1: DUP1
000014a2: DUP5
000014a3: MSTORE
000014a4: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000
000014c5: DUP3
000014c6: MSTORE
000014c7: PUSH1 0x40
000014c9: DUP5
000014ca: KECCAK256
000014cb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000014ec: DUP2
000014ed: SLOAD
000014ee: AND
000014ef: SWAP1
000014f0: SSTORE
000014f1: PUSH1 0x40
000014f3: MLOAD
000014f4: SWAP1
000014f5: DUP2
000014f6: MSTORE
000014f7: LOG1
000014f8: DUP1
000014f9: RETURN
000014fa: JUMPDEST
000014fb: POP
000014fc: CALLVALUE
000014fd: PUSH2 0x022c
00001500: JUMPI
00001501: DUP1
00001502: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001523: CALLDATASIZE
00001524: ADD
00001525: SLT
00001526: PUSH2 0x022c
00001529: JUMPI
0000152a: PUSH1 0x20
0000152c: PUSH1 0x40
0000152e: MLOAD
0000152f: PUSH1 0x12
00001531: DUP2
00001532: MSTORE
00001533: RETURN
00001534: JUMPDEST
00001535: CALLVALUE
00001536: PUSH2 0x166e
00001539: JUMPI
0000153a: PUSH1 0x20
0000153c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000155d: CALLDATASIZE
0000155e: ADD
0000155f: SLT
00001560: PUSH2 0x166e
00001563: JUMPI
00001564: PUSH1 0x04
00001566: CALLDATALOAD
00001567: PUSH2 0x156e
0000156a: PUSH2 0x20c6
0000156d: JUMP
0000156e: JUMPDEST
0000156f: CALLER
00001570: ISZERO
00001571: PUSH2 0x1642
00001574: JUMPI
00001575: PUSH0
00001576: DUP1
00001577: MSTORE
00001578: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000
00001599: PUSH1 0x20
0000159b: MSTORE
0000159c: PUSH2 0x15a6
0000159f: DUP2
000015a0: PUSH0
000015a1: CALLER
000015a2: PUSH2 0x21fd
000015a5: JUMP
000015a6: JUMPDEST
000015a7: PUSH1 0x40
000015a9: DUP1
000015aa: MLOAD
000015ab: CALLER
000015ac: DUP2
000015ad: MSTORE
000015ae: PUSH1 0x20
000015b0: DUP2
000015b1: ADD
000015b2: DUP4
000015b3: SWAP1
000015b4: MSTORE
000015b5: PUSH32 0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364
000015d6: SWAP2
000015d7: SWAP1
000015d8: LOG1
000015d9: PUSH0
000015da: DUP1
000015db: DUP1
000015dc: DUP1
000015dd: DUP5
000015de: CALLER
000015df: GAS
000015e0: CALL
000015e1: PUSH2 0x15e8
000015e4: PUSH2 0x1cf4
000015e7: JUMP
000015e8: JUMPDEST
000015e9: POP
000015ea: ISZERO
000015eb: PUSH2 0x1613
000015ee: JUMPI
000015ef: PUSH0
000015f0: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
00001611: TSTORE
00001612: STOP
00001613: JUMPDEST
00001614: PUSH32 0x14c434b900000000000000000000000000000000000000000000000000000000
00001635: PUSH0
00001636: MSTORE
00001637: CALLER
00001638: PUSH1 0x04
0000163a: MSTORE
0000163b: PUSH1 0x24
0000163d: MSTORE
0000163e: PUSH1 0x44
00001640: PUSH0
00001641: REVERT
00001642: JUMPDEST
00001643: PUSH32 0x96c6fd1e00000000000000000000000000000000000000000000000000000000
00001664: PUSH0
00001665: MSTORE
00001666: PUSH0
00001667: PUSH1 0x04
00001669: MSTORE
0000166a: PUSH1 0x24
0000166c: PUSH0
0000166d: REVERT
0000166e: JUMPDEST
0000166f: PUSH0
00001670: DUP1
00001671: REVERT
00001672: JUMPDEST
00001673: CALLVALUE
00001674: PUSH2 0x166e
00001677: JUMPI
00001678: PUSH1 0x20
0000167a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000169b: CALLDATASIZE
0000169c: ADD
0000169d: SLT
0000169e: PUSH2 0x166e
000016a1: JUMPI
000016a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b7: PUSH2 0x16be
000016ba: PUSH2 0x1bb5
000016bd: JUMP
000016be: JUMPDEST
000016bf: AND
000016c0: PUSH0
000016c1: MSTORE
000016c2: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000
000016e3: PUSH1 0x20
000016e5: MSTORE
000016e6: PUSH1 0x20
000016e8: PUSH1 0xff
000016ea: PUSH1 0x40
000016ec: PUSH0
000016ed: KECCAK256
000016ee: SLOAD
000016ef: AND
000016f0: PUSH1 0x40
000016f2: MLOAD
000016f3: SWAP1
000016f4: ISZERO
000016f5: ISZERO
000016f6: DUP2
000016f7: MSTORE
000016f8: RETURN
000016f9: JUMPDEST
000016fa: CALLVALUE
000016fb: PUSH2 0x166e
000016fe: JUMPI
000016ff: PUSH1 0x60
00001701: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001722: CALLDATASIZE
00001723: ADD
00001724: SLT
00001725: PUSH2 0x166e
00001728: JUMPI
00001729: PUSH2 0x1730
0000172c: PUSH2 0x1bb5
0000172f: JUMP
00001730: JUMPDEST
00001731: PUSH2 0x1738
00001734: PUSH2 0x1bd8
00001737: JUMP
00001738: JUMPDEST
00001739: PUSH1 0x44
0000173b: CALLDATALOAD
0000173c: SWAP1
0000173d: PUSH2 0x1783
00001740: DUP4
00001741: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001756: AND
00001757: PUSH0
00001758: MSTORE
00001759: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01
0000177a: PUSH1 0x20
0000177c: MSTORE
0000177d: PUSH1 0x40
0000177f: PUSH0
00001780: KECCAK256
00001781: SWAP1
00001782: JUMP
00001783: JUMPDEST
00001784: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001799: CALLER
0000179a: AND
0000179b: PUSH0
0000179c: MSTORE
0000179d: PUSH1 0x20
0000179f: MSTORE
000017a0: PUSH1 0x40
000017a2: PUSH0
000017a3: KECCAK256
000017a4: SLOAD
000017a5: SWAP3
000017a6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000017c7: DUP5
000017c8: SUB
000017c9: PUSH2 0x17d7
000017cc: JUMPI
000017cd: JUMPDEST
000017ce: PUSH2 0x057a
000017d1: SWAP4
000017d2: POP
000017d3: PUSH2 0x1e10
000017d6: JUMP
000017d7: JUMPDEST
000017d8: DUP3
000017d9: DUP5
000017da: LT
000017db: PUSH2 0x18cd
000017de: JUMPI
000017df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017f4: DUP2
000017f5: AND
000017f6: ISZERO
000017f7: PUSH2 0x18a1
000017fa: JUMPI
000017fb: CALLER
000017fc: ISZERO
000017fd: PUSH2 0x1875
00001800: JUMPI
00001801: PUSH2 0x057a
00001804: SWAP4
00001805: PUSH2 0x184b
00001808: DUP3
00001809: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000181e: AND
0000181f: PUSH0
00001820: MSTORE
00001821: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01
00001842: PUSH1 0x20
00001844: MSTORE
00001845: PUSH1 0x40
00001847: PUSH0
00001848: KECCAK256
00001849: SWAP1
0000184a: JUMP
0000184b: JUMPDEST
0000184c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001861: CALLER
00001862: AND
00001863: PUSH0
00001864: MSTORE
00001865: PUSH1 0x20
00001867: MSTORE
00001868: DUP4
00001869: PUSH1 0x40
0000186b: PUSH0
0000186c: KECCAK256
0000186d: SWAP2
0000186e: SUB
0000186f: SWAP1
00001870: SSTORE
00001871: PUSH2 0x17cd
00001874: JUMP
00001875: JUMPDEST
00001876: PUSH32 0x94280d6200000000000000000000000000000000000000000000000000000000
00001897: PUSH0
00001898: MSTORE
00001899: PUSH0
0000189a: PUSH1 0x04
0000189c: MSTORE
0000189d: PUSH1 0x24
0000189f: PUSH0
000018a0: REVERT
000018a1: JUMPDEST
000018a2: PUSH32 0xe602df0500000000000000000000000000000000000000000000000000000000
000018c3: PUSH0
000018c4: MSTORE
000018c5: PUSH0
000018c6: PUSH1 0x04
000018c8: MSTORE
000018c9: PUSH1 0x24
000018cb: PUSH0
000018cc: REVERT
000018cd: JUMPDEST
000018ce: DUP3
000018cf: DUP5
000018d0: PUSH32 0xfb8f41b200000000000000000000000000000000000000000000000000000000
000018f1: PUSH0
000018f2: MSTORE
000018f3: CALLER
000018f4: PUSH1 0x04
000018f6: MSTORE
000018f7: PUSH1 0x24
000018f9: MSTORE
000018fa: PUSH1 0x44
000018fc: MSTORE
000018fd: PUSH1 0x64
000018ff: PUSH0
00001900: REVERT
00001901: JUMPDEST
00001902: CALLVALUE
00001903: PUSH2 0x166e
00001906: JUMPI
00001907: PUSH0
00001908: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001929: CALLDATASIZE
0000192a: ADD
0000192b: SLT
0000192c: PUSH2 0x166e
0000192f: JUMPI
00001930: PUSH1 0x20
00001932: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
00001953: SLOAD
00001954: PUSH1 0x40
00001956: MLOAD
00001957: SWAP1
00001958: DUP2
00001959: MSTORE
0000195a: RETURN
0000195b: JUMPDEST
0000195c: CALLVALUE
0000195d: PUSH2 0x166e
00001960: JUMPI
00001961: PUSH1 0x40
00001963: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001984: CALLDATASIZE
00001985: ADD
00001986: SLT
00001987: PUSH2 0x166e
0000198a: JUMPI
0000198b: PUSH2 0x1992
0000198e: PUSH2 0x1bb5
00001991: JUMP
00001992: JUMPDEST
00001993: PUSH1 0x24
00001995: CALLDATALOAD
00001996: SWAP1
00001997: CALLER
00001998: ISZERO
00001999: PUSH2 0x18a1
0000199c: JUMPI
0000199d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019b2: AND
000019b3: SWAP1
000019b4: DUP2
000019b5: ISZERO
000019b6: PUSH2 0x1875
000019b9: JUMPI
000019ba: CALLER
000019bb: PUSH0
000019bc: SWAP1
000019bd: DUP2
000019be: MSTORE
000019bf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01
000019e0: PUSH1 0x20
000019e2: MSTORE
000019e3: PUSH1 0x40
000019e5: SWAP1
000019e6: KECCAK256
000019e7: DUP3
000019e8: PUSH0
000019e9: MSTORE
000019ea: PUSH1 0x20
000019ec: MSTORE
000019ed: DUP1
000019ee: PUSH1 0x40
000019f0: PUSH0
000019f1: KECCAK256
000019f2: SSTORE
000019f3: PUSH1 0x40
000019f5: MLOAD
000019f6: SWAP1
000019f7: DUP2
000019f8: MSTORE
000019f9: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00001a1a: PUSH1 0x20
00001a1c: CALLER
00001a1d: SWAP3
00001a1e: LOG3
00001a1f: PUSH1 0x20
00001a21: PUSH1 0x40
00001a23: MLOAD
00001a24: PUSH1 0x01
00001a26: DUP2
00001a27: MSTORE
00001a28: RETURN
00001a29: JUMPDEST
00001a2a: CALLVALUE
00001a2b: PUSH2 0x166e
00001a2e: JUMPI
00001a2f: PUSH0
00001a30: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001a51: CALLDATASIZE
00001a52: ADD
00001a53: SLT
00001a54: PUSH2 0x166e
00001a57: JUMPI
00001a58: PUSH1 0x40
00001a5a: MLOAD
00001a5b: PUSH0
00001a5c: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03
00001a7d: SLOAD
00001a7e: PUSH2 0x1a86
00001a81: DUP2
00001a82: PUSH2 0x1ca3
00001a85: JUMP
00001a86: JUMPDEST
00001a87: DUP1
00001a88: DUP5
00001a89: MSTORE
00001a8a: SWAP1
00001a8b: PUSH1 0x01
00001a8d: DUP2
00001a8e: AND
00001a8f: SWAP1
00001a90: DUP2
00001a91: ISZERO
00001a92: PUSH2 0x1b2b
00001a95: JUMPI
00001a96: POP
00001a97: PUSH1 0x01
00001a99: EQ
00001a9a: PUSH2 0x1aae
00001a9d: JUMPI
00001a9e: JUMPDEST
00001a9f: PUSH2 0x0531
00001aa2: DUP4
00001aa3: PUSH2 0x060d
00001aa6: DUP2
00001aa7: DUP6
00001aa8: SUB
00001aa9: DUP3
00001aaa: PUSH2 0x1bfb
00001aad: JUMP
00001aae: JUMPDEST
00001aaf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03
00001ad0: PUSH0
00001ad1: SWAP1
00001ad2: DUP2
00001ad3: MSTORE
00001ad4: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0
00001af5: SWAP4
00001af6: SWAP3
00001af7: POP
00001af8: SWAP1
00001af9: JUMPDEST
00001afa: DUP1
00001afb: DUP3
00001afc: LT
00001afd: PUSH2 0x1b11
00001b00: JUMPI
00001b01: POP
00001b02: SWAP1
00001b03: SWAP2
00001b04: POP
00001b05: DUP2
00001b06: ADD
00001b07: PUSH1 0x20
00001b09: ADD
00001b0a: PUSH2 0x060d
00001b0d: PUSH2 0x1a9e
00001b10: JUMP
00001b11: JUMPDEST
00001b12: SWAP2
00001b13: SWAP3
00001b14: PUSH1 0x01
00001b16: DUP2
00001b17: PUSH1 0x20
00001b19: SWAP3
00001b1a: SLOAD
00001b1b: DUP4
00001b1c: DUP6
00001b1d: DUP9
00001b1e: ADD
00001b1f: ADD
00001b20: MSTORE
00001b21: ADD
00001b22: SWAP2
00001b23: ADD
00001b24: SWAP1
00001b25: SWAP3
00001b26: SWAP2
00001b27: PUSH2 0x1af9
00001b2a: JUMP
00001b2b: JUMPDEST
00001b2c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001b4d: AND
00001b4e: PUSH1 0x20
00001b50: DUP1
00001b51: DUP7
00001b52: ADD
00001b53: SWAP2
00001b54: SWAP1
00001b55: SWAP2
00001b56: MSTORE
00001b57: SWAP2
00001b58: ISZERO
00001b59: ISZERO
00001b5a: PUSH1 0x05
00001b5c: SHL
00001b5d: DUP5
00001b5e: ADD
00001b5f: SWAP1
00001b60: SWAP2
00001b61: ADD
00001b62: SWAP2
00001b63: POP
00001b64: PUSH2 0x060d
00001b67: SWAP1
00001b68: POP
00001b69: PUSH2 0x1a9e
00001b6c: JUMP
00001b6d: JUMPDEST
00001b6e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001b8f: PUSH1 0x1f
00001b91: PUSH1 0x20
00001b93: PUSH1 0x40
00001b95: SWAP5
00001b96: DUP2
00001b97: DUP6
00001b98: MSTORE
00001b99: DUP1
00001b9a: MLOAD
00001b9b: SWAP2
00001b9c: DUP3
00001b9d: SWAP2
00001b9e: DUP3
00001b9f: DUP3
00001ba0: DUP9
00001ba1: ADD
00001ba2: MSTORE
00001ba3: ADD
00001ba4: DUP7
00001ba5: DUP7
00001ba6: ADD
00001ba7: MCOPY
00001ba8: PUSH0
00001ba9: DUP6
00001baa: DUP3
00001bab: DUP7
00001bac: ADD
00001bad: ADD
00001bae: MSTORE
00001baf: ADD
00001bb0: AND
00001bb1: ADD
00001bb2: ADD
00001bb3: SWAP1
00001bb4: JUMP
00001bb5: JUMPDEST
00001bb6: PUSH1 0x04
00001bb8: CALLDATALOAD
00001bb9: SWAP1
00001bba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bcf: DUP3
00001bd0: AND
00001bd1: DUP3
00001bd2: SUB
00001bd3: PUSH2 0x166e
00001bd6: JUMPI
00001bd7: JUMP
00001bd8: JUMPDEST
00001bd9: PUSH1 0x24
00001bdb: CALLDATALOAD
00001bdc: SWAP1
00001bdd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bf2: DUP3
00001bf3: AND
00001bf4: DUP3
00001bf5: SUB
00001bf6: PUSH2 0x166e
00001bf9: JUMPI
00001bfa: JUMP
00001bfb: JUMPDEST
00001bfc: SWAP1
00001bfd: PUSH1 0x1f
00001bff: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001c20: SWAP2
00001c21: ADD
00001c22: AND
00001c23: DUP2
00001c24: ADD
00001c25: SWAP1
00001c26: DUP2
00001c27: LT
00001c28: PUSH8 0xffffffffffffffff
00001c31: DUP3
00001c32: GT
00001c33: OR
00001c34: PUSH2 0x1c3c
00001c37: JUMPI
00001c38: PUSH1 0x40
00001c3a: MSTORE
00001c3b: JUMP
00001c3c: JUMPDEST
00001c3d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001c5e: PUSH0
00001c5f: MSTORE
00001c60: PUSH1 0x41
00001c62: PUSH1 0x04
00001c64: MSTORE
00001c65: PUSH1 0x24
00001c67: PUSH0
00001c68: REVERT
00001c69: JUMPDEST
00001c6a: PUSH8 0xffffffffffffffff
00001c73: DUP2
00001c74: GT
00001c75: PUSH2 0x1c3c
00001c78: JUMPI
00001c79: PUSH1 0x1f
00001c7b: ADD
00001c7c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001c9d: AND
00001c9e: PUSH1 0x20
00001ca0: ADD
00001ca1: SWAP1
00001ca2: JUMP
00001ca3: JUMPDEST
00001ca4: SWAP1
00001ca5: PUSH1 0x01
00001ca7: DUP3
00001ca8: DUP2
00001ca9: SHR
00001caa: SWAP3
00001cab: AND
00001cac: DUP1
00001cad: ISZERO
00001cae: PUSH2 0x1cea
00001cb1: JUMPI
00001cb2: JUMPDEST
00001cb3: PUSH1 0x20
00001cb5: DUP4
00001cb6: LT
00001cb7: EQ
00001cb8: PUSH2 0x1cbd
00001cbb: JUMPI
00001cbc: JUMP
00001cbd: JUMPDEST
00001cbe: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001cdf: PUSH0
00001ce0: MSTORE
00001ce1: PUSH1 0x22
00001ce3: PUSH1 0x04
00001ce5: MSTORE
00001ce6: PUSH1 0x24
00001ce8: PUSH0
00001ce9: REVERT
00001cea: JUMPDEST
00001ceb: SWAP2
00001cec: PUSH1 0x7f
00001cee: AND
00001cef: SWAP2
00001cf0: PUSH2 0x1cb2
00001cf3: JUMP
00001cf4: JUMPDEST
00001cf5: RETURNDATASIZE
00001cf6: ISZERO
00001cf7: PUSH2 0x1d1e
00001cfa: JUMPI
00001cfb: RETURNDATASIZE
00001cfc: SWAP1
00001cfd: PUSH2 0x1d05
00001d00: DUP3
00001d01: PUSH2 0x1c69
00001d04: JUMP
00001d05: JUMPDEST
00001d06: SWAP2
00001d07: PUSH2 0x1d13
00001d0a: PUSH1 0x40
00001d0c: MLOAD
00001d0d: SWAP4
00001d0e: DUP5
00001d0f: PUSH2 0x1bfb
00001d12: JUMP
00001d13: JUMPDEST
00001d14: DUP3
00001d15: MSTORE
00001d16: RETURNDATASIZE
00001d17: PUSH0
00001d18: PUSH1 0x20
00001d1a: DUP5
00001d1b: ADD
00001d1c: RETURNDATACOPY
00001d1d: JUMP
00001d1e: JUMPDEST
00001d1f: PUSH1 0x60
00001d21: SWAP1
00001d22: JUMP
00001d23: JUMPDEST
00001d24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d39: AND
00001d3a: DUP1
00001d3b: ISZERO
00001d3c: PUSH2 0x1de4
00001d3f: JUMPI
00001d40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d55: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
00001d76: SLOAD
00001d77: DUP3
00001d78: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001d99: DUP3
00001d9a: AND
00001d9b: OR
00001d9c: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
00001dbd: SSTORE
00001dbe: AND
00001dbf: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001de0: PUSH0
00001de1: DUP1
00001de2: LOG3
00001de3: JUMP
00001de4: JUMPDEST
00001de5: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000
00001e06: PUSH0
00001e07: MSTORE
00001e08: PUSH0
00001e09: PUSH1 0x04
00001e0b: MSTORE
00001e0c: PUSH1 0x24
00001e0e: PUSH0
00001e0f: REVERT
00001e10: JUMPDEST
00001e11: SWAP1
00001e12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e27: DUP3
00001e28: AND
00001e29: SWAP1
00001e2a: DUP2
00001e2b: ISZERO
00001e2c: PUSH2 0x1642
00001e2f: JUMPI
00001e30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e45: DUP2
00001e46: AND
00001e47: SWAP3
00001e48: DUP4
00001e49: ISZERO
00001e4a: PUSH2 0x00c4
00001e4d: JUMPI
00001e4e: DUP4
00001e4f: PUSH0
00001e50: MSTORE
00001e51: PUSH32 0x5e63f22c59bdc3cd010ce3971dc932873441110bf14a3fdf3e8264631e190000
00001e72: PUSH1 0x20
00001e74: MSTORE
00001e75: PUSH1 0xff
00001e77: PUSH1 0x40
00001e79: PUSH0
00001e7a: KECCAK256
00001e7b: SLOAD
00001e7c: AND
00001e7d: ISZERO
00001e7e: PUSH0
00001e7f: EQ
00001e80: PUSH2 0x20b6
00001e83: JUMPI
00001e84: POP
00001e85: POP
00001e86: DUP1
00001e87: PUSH2 0x1ff8
00001e8a: JUMPI
00001e8b: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
00001eac: SLOAD
00001ead: DUP4
00001eae: DUP2
00001eaf: ADD
00001eb0: DUP1
00001eb1: SWAP2
00001eb2: GT
00001eb3: PUSH2 0x1fcb
00001eb6: JUMPI
00001eb7: PUSH32 0xb4a87134099d10c48345145381989042ab07dc53e6e62a6511fca55438562e26
00001ed8: SWAP2
00001ed9: PUSH1 0x60
00001edb: SWAP2
00001edc: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
00001efd: SSTORE
00001efe: JUMPDEST
00001eff: DUP5
00001f00: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
00001f21: SLOAD
00001f22: SUB
00001f23: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
00001f44: SSTORE
00001f45: PUSH0
00001f46: DUP2
00001f47: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001f68: PUSH1 0x20
00001f6a: PUSH1 0x40
00001f6c: MLOAD
00001f6d: DUP10
00001f6e: DUP2
00001f6f: MSTORE
00001f70: LOG3
00001f71: PUSH1 0x40
00001f73: MLOAD
00001f74: SWAP1
00001f75: DUP2
00001f76: MSTORE
00001f77: DUP4
00001f78: PUSH1 0x20
00001f7a: DUP3
00001f7b: ADD
00001f7c: MSTORE
00001f7d: DUP5
00001f7e: PUSH1 0x40
00001f80: DUP3
00001f81: ADD
00001f82: MSTORE
00001f83: LOG1
00001f84: PUSH0
00001f85: DUP1
00001f86: DUP1
00001f87: DUP1
00001f88: DUP6
00001f89: DUP6
00001f8a: GAS
00001f8b: CALL
00001f8c: PUSH2 0x1f93
00001f8f: PUSH2 0x1cf4
00001f92: JUMP
00001f93: JUMPDEST
00001f94: POP
00001f95: ISZERO
00001f96: PUSH2 0x1f9d
00001f99: JUMPI
00001f9a: POP
00001f9b: POP
00001f9c: JUMP
00001f9d: JUMPDEST
00001f9e: PUSH32 0x14c434b900000000000000000000000000000000000000000000000000000000
00001fbf: PUSH0
00001fc0: MSTORE
00001fc1: PUSH1 0x04
00001fc3: MSTORE
00001fc4: PUSH1 0x24
00001fc6: MSTORE
00001fc7: PUSH1 0x44
00001fc9: PUSH0
00001fca: REVERT
00001fcb: JUMPDEST
00001fcc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001fed: PUSH0
00001fee: MSTORE
00001fef: PUSH1 0x11
00001ff1: PUSH1 0x04
00001ff3: MSTORE
00001ff4: PUSH1 0x24
00001ff6: PUSH0
00001ff7: REVERT
00001ff8: JUMPDEST
00001ff9: DUP1
00001ffa: PUSH0
00001ffb: MSTORE
00001ffc: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
0000201d: PUSH1 0x20
0000201f: MSTORE
00002020: PUSH1 0x40
00002022: PUSH0
00002023: KECCAK256
00002024: SLOAD
00002025: DUP4
00002026: DUP2
00002027: LT
00002028: PUSH2 0x2083
0000202b: JUMPI
0000202c: DUP2
0000202d: DUP5
0000202e: PUSH1 0x60
00002030: SWAP3
00002031: PUSH32 0xb4a87134099d10c48345145381989042ab07dc53e6e62a6511fca55438562e26
00002052: SWAP5
00002053: PUSH0
00002054: MSTORE
00002055: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
00002076: PUSH1 0x20
00002078: MSTORE
00002079: SUB
0000207a: PUSH1 0x40
0000207c: PUSH0
0000207d: KECCAK256
0000207e: SSTORE
0000207f: PUSH2 0x1efe
00002082: JUMP
00002083: JUMPDEST
00002084: SWAP2
00002085: POP
00002086: PUSH32 0xe450d38c00000000000000000000000000000000000000000000000000000000
000020a7: PUSH0
000020a8: MSTORE
000020a9: PUSH1 0x04
000020ab: MSTORE
000020ac: PUSH1 0x24
000020ae: MSTORE
000020af: PUSH1 0x44
000020b1: MSTORE
000020b2: PUSH1 0x64
000020b4: PUSH0
000020b5: REVERT
000020b6: JUMPDEST
000020b7: SWAP1
000020b8: SWAP2
000020b9: POP
000020ba: PUSH2 0x20c4
000020bd: SWAP4
000020be: SWAP3
000020bf: POP
000020c0: PUSH2 0x21fd
000020c3: JUMP
000020c4: JUMPDEST
000020c5: JUMP
000020c6: JUMPDEST
000020c7: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
000020e8: TLOAD
000020e9: PUSH2 0x2112
000020ec: JUMPI
000020ed: PUSH1 0x01
000020ef: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
00002110: TSTORE
00002111: JUMP
00002112: JUMPDEST
00002113: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000
00002134: PUSH0
00002135: MSTORE
00002136: PUSH1 0x04
00002138: PUSH0
00002139: REVERT
0000213a: JUMPDEST
0000213b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002150: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300
00002171: SLOAD
00002172: AND
00002173: CALLER
00002174: SUB
00002175: PUSH2 0x217a
00002178: JUMPI
00002179: JUMP
0000217a: JUMPDEST
0000217b: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000
0000219c: PUSH0
0000219d: MSTORE
0000219e: CALLER
0000219f: PUSH1 0x04
000021a1: MSTORE
000021a2: PUSH1 0x24
000021a4: PUSH0
000021a5: REVERT
000021a6: JUMPDEST
000021a7: PUSH1 0xff
000021a9: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
000021ca: SLOAD
000021cb: PUSH1 0x40
000021cd: SHR
000021ce: AND
000021cf: ISZERO
000021d0: PUSH2 0x21d5
000021d3: JUMPI
000021d4: JUMP
000021d5: JUMPDEST
000021d6: PUSH32 0xd7e6bcf800000000000000000000000000000000000000000000000000000000
000021f7: PUSH0
000021f8: MSTORE
000021f9: PUSH1 0x04
000021fb: PUSH0
000021fc: REVERT
000021fd: JUMPDEST
000021fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002213: AND
00002214: SWAP1
00002215: DUP2
00002216: PUSH2 0x232f
00002219: JUMPI
0000221a: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
0000223b: SLOAD
0000223c: SWAP1
0000223d: DUP4
0000223e: DUP3
0000223f: ADD
00002240: DUP1
00002241: SWAP3
00002242: GT
00002243: PUSH2 0x1fcb
00002246: JUMPI
00002247: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000225c: PUSH1 0x20
0000225e: SWAP2
0000225f: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002280: SWAP4
00002281: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
000022a2: SSTORE
000022a3: JUMPDEST
000022a4: AND
000022a5: SWAP4
000022a6: DUP5
000022a7: PUSH2 0x22fa
000022aa: JUMPI
000022ab: DUP1
000022ac: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
000022cd: SLOAD
000022ce: SUB
000022cf: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02
000022f0: SSTORE
000022f1: JUMPDEST
000022f2: PUSH1 0x40
000022f4: MLOAD
000022f5: SWAP1
000022f6: DUP2
000022f7: MSTORE
000022f8: LOG3
000022f9: JUMP
000022fa: JUMPDEST
000022fb: DUP5
000022fc: PUSH0
000022fd: MSTORE
000022fe: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
0000231f: DUP3
00002320: MSTORE
00002321: PUSH1 0x40
00002323: PUSH0
00002324: KECCAK256
00002325: DUP2
00002326: DUP2
00002327: SLOAD
00002328: ADD
00002329: SWAP1
0000232a: SSTORE
0000232b: PUSH2 0x22f1
0000232e: JUMP
0000232f: JUMPDEST
00002330: DUP2
00002331: PUSH0
00002332: MSTORE
00002333: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
00002354: PUSH1 0x20
00002356: MSTORE
00002357: PUSH1 0x40
00002359: PUSH0
0000235a: KECCAK256
0000235b: SLOAD
0000235c: DUP4
0000235d: DUP2
0000235e: LT
0000235f: PUSH2 0x23ce
00002362: JUMPI
00002363: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002378: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002399: SWAP3
0000239a: DUP6
0000239b: PUSH1 0x20
0000239d: SWAP4
0000239e: DUP7
0000239f: PUSH0
000023a0: MSTORE
000023a1: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
000023c2: DUP6
000023c3: MSTORE
000023c4: SUB
000023c5: PUSH1 0x40
000023c7: PUSH0
000023c8: KECCAK256
000023c9: SSTORE
000023ca: PUSH2 0x22a3
000023cd: JUMP
000023ce: JUMPDEST
000023cf: SWAP2
000023d0: SWAP1
000023d1: POP
000023d2: PUSH32 0xe450d38c00000000000000000000000000000000000000000000000000000000
000023f3: PUSH0
000023f4: MSTORE
000023f5: PUSH1 0x04
000023f7: MSTORE
000023f8: PUSH1 0x24
000023fa: MSTORE
000023fb: PUSH1 0x44
000023fd: MSTORE
000023fe: PUSH1 0x64
00002400: PUSH0
00002401: REVERT
00002402: JUMPDEST
00002403: SWAP1
00002404: PUSH2 0x243f
00002407: JUMPI
00002408: POP
00002409: DUP1
0000240a: MLOAD
0000240b: ISZERO
0000240c: PUSH2 0x2417
0000240f: JUMPI
00002410: DUP1
00002411: MLOAD
00002412: SWAP1
00002413: PUSH1 0x20
00002415: ADD
00002416: REVERT
00002417: JUMPDEST
00002418: PUSH32 0xd6bda27500000000000000000000000000000000000000000000000000000000
00002439: PUSH0
0000243a: MSTORE
0000243b: PUSH1 0x04
0000243d: PUSH0
0000243e: REVERT
0000243f: JUMPDEST
00002440: DUP2
00002441: MLOAD
00002442: ISZERO
00002443: DUP1
00002444: PUSH2 0x2492
00002447: JUMPI
00002448: JUMPDEST
00002449: PUSH2 0x2450
0000244c: JUMPI
0000244d: POP
0000244e: SWAP1
0000244f: JUMP
00002450: JUMPDEST
00002451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002466: SWAP1
00002467: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000
00002488: PUSH0
00002489: MSTORE
0000248a: AND
0000248b: PUSH1 0x04
0000248d: MSTORE
0000248e: PUSH1 0x24
00002490: PUSH0
00002491: REVERT
00002492: JUMPDEST
00002493: POP
00002494: DUP1
00002495: EXTCODESIZE
00002496: ISZERO
00002497: PUSH2 0x2448
0000249a: JUMP
0000249b: INVALID
0000249c: LOG2
0000249d: PUSH5 0x6970667358
000024a3: UNKNOWN(0x22)
000024a4: SLT
000024a5: KECCAK256
000024a6: UNKNOWN(0x2C)
000024a7: UNKNOWN(0xE5)
000024a8: ADD
000024a9: PUSH7 0x21c11da54b56ad
000024b1: UNKNOWN(0xD0)
000024b2: CALLDATACOPY
000024b3: DUP3
000024b4: UNKNOWN(0xAD)
000024b5: UNKNOWN(0xD1)
000024b6: UNKNOWN(0xB2)
000024b7: PUSH25 0xf4c212af37fe07fecaccf3b9211764736f6c634300081c0033

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x97852802592bfc6d0027f31fa9dbac2702c343e5f113fda5a4a99c61d009b4ca
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x97852802592bfc6d0027f31fa9dbac2702c343e5f113fda5a4a99c61d009b4ca",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x29c80c2f",
            "selector": "0x29c80c2f",
            "calldata_variants": [
                "0x29c80c2f",
                "0x29c80c2f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x40e9d2cc",
            "selector": "0x40e9d2cc",
            "calldata_variants": [
                "0x40e9d2cc",
                "0x40e9d2cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4837,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347
call_targets: 0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x29c80c2f",
            "selector": "0x29c80c2f",
            "calldata_variants": [
                "0x29c80c2f",
                "0x29c80c2f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x40e9d2cc",
            "selector": "0x40e9d2cc",
            "calldata_variants": [
                "0x40e9d2cc",
                "0x40e9d2cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5600,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8075,
            "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: 0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347
call_targets: 0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xcb930620c2668d63d58c849906d8128ed2ab9a9f4e16b360e8d9114271014347",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xdd95dae9c7b8975442937fbf8652505dbfb3dcf5"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x29c80c2f",
            "selector": "0x29c80c2f",
            "calldata_variants": [
                "0x29c80c2f",
                "0x29c80c2f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x40e9d2cc",
            "selector": "0x40e9d2cc",
            "calldata_variants": [
                "0x40e9d2cc",
                "0x40e9d2cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5600,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8075,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}