019c0ea9-07df-7364-9b5a-b680cca460f9
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 41697 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 41698 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 41699 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 41700 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 41701 | capability.graph | complete | 1 / 3 | 2 months ago |
| 41702 | detector.run | complete | 1 / 3 | 2 months ago |
| 41703 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42286 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows a computed external CALL (with potential ETH value) and a reachable SELFDESTRUCT. Both are flagged by detectors but the exact reachability/guarding is uncertain from bytecode-only evidence.","findings":[{"severity":"low","category":"reentrancy","title":"Computed external CALL before apparent state update (reentrancy/unsafe call risk if target is attacker-controlled)","exploit_scenario":"If the CALL target/value is derived from user input or mutable storage, an attacker could cause the contract to call out to a malicious contract before state is updated. That external contract could reenter and exploit inconsistent state. Validation hints the target may be constant (self), but it is not confirmed, so this remains uncertain.","recommendation":"Confirm the CALL target/source at pc:0x1eeb. If user-controlled, move state updates before the call (checks-effects-interactions), add a reentrancy guard, and/or restrict allowed call targets. If the call is intended to self, prefer internal calls to avoid external reentrancy paths.","evidence":"CALL at pc 7915 with computed target/value; SSTORE occurs later at pc 7974, suggesting effects after interaction. Returndata checking is unknown.","locations":["pc:0x1eeb","pc:0x1f26"]},{"severity":"medium","category":"other","title":"SELFDESTRUCT present and potentially reachable","exploit_scenario":"If a publicly reachable path can hit SELFDESTRUCT, an attacker could destroy the contract and force-send its balance to a chosen recipient. Guard detection shows msg.sender == 0xffff... (likely heuristic), so access control is uncertain.","recommendation":"Verify whether the SELFDESTRUCT path is reachable and guarded. If not strictly necessary, remove it or gate it behind strong access control (e.g., immutable admin).","evidence":"SELFDESTRUCT opcode at pc 8717; detector reports selfdestruct_count=1 and reachable sink (unvalidated).","locations":["pc:0x220d"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-m8n976t2
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0ef7-8da4-7363-9583-0611686e7dc9
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
exec
/bin/bash -lc ls in /tmp/codex-m8n976t2 succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-m8n976t2 succeeded in 11ms:
{
"analysis_artifact": {
"address": "0xeb618e440fd758b9bc2946ccc55ff5390f441b5b",
"artifact_hash": "0x626f32374c9b345736e4255d5273c16c2610cef77d188fdfcfdeb3ebe33a4b3e",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 2436,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3808,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5929,
"type": "msg_sender_eq_const",
exec
/bin/bash -lc 'rg -n "SELFDESTRUCT|selfdestruct|7915|callsite" BYTECODE_BUNDLE.json' in /tmp/codex-m8n976t2 succeeded in 17ms:
1079: "hash": "0x977466dca7d2971df79158f45c20715d366135982dc380b45753764a528e1e0c",
4648: "hash": "0x343e6e592f94dc25fb09cdd34b7248355637915a6656f8f4e4afd3363dd274c6",
7545: "SELFDESTRUCT"
7558: "callsites": [
7561: "pc": 7915,
9669: "selfdestruct": 1,
10064: "selfdestruct": 1,
10459: "selfdestruct": 1,
10854: "selfdestruct": 1,
11249: "selfdestruct": 1,
11644: "selfdestruct": 1,
12039: "selfdestruct": 1,
12434: "selfdestruct": 1,
12829: "selfdestruct": 1,
13224: "selfdestruct": 1,
13619: "selfdestruct": 1,
14014: "selfdestruct": 1,
14409: "selfdestruct": 1,
14804: "selfdestruct": 1,
15199: "selfdestruct": 1,
exec
/bin/bash -lc "sed -n '7520,7605p' BYTECODE_BUNDLE.json" in /tmp/codex-m8n976t2 succeeded in 7ms:
},
{
"end_pc": 8705,
"hash": "0x200e639343c94d4440eb48a5b9c0e59646d12318a555fd16ae82187968e7e366",
"opcodes": [
"STOP"
],
"start_pc": 8705
},
{
"end_pc": 8716,
"hash": "0x501f7caab0dd0406d857bbe1103a3b66e2e6fa9973191791c842b3c886b10b91",
"opcodes": [
"OP_A1",
"PUSH6",
"SHA3",
"OP_ED",
"INVALID"
],
"start_pc": 8706
exec
/bin/bash -lc "sed -n '24670,24730p' BYTECODE_BUNDLE.json" in /tmp/codex-m8n976t2 succeeded in 21ms:
{
"end_pc": 8716,
"hash": "0x501f7caab0dd0406d857bbe1103a3b66e2e6fa9973191791c842b3c886b10b91",
"id": "bb:8706",
"start_pc": 8706,
"type": "basic_block"
},
{
"end_pc": 8717,
"hash": "0x80b9c4f60f238411c0beb405371529abc54955954bb6c39d5fd7854906a0351e",
"id": "bb:8717",
"start_pc": 8717,
"type": "basic_block"
},
{
"end_pc": 8718,
"hash": "0xd72c6717b3255c123f04e6c7c835622624fd897d39bdcc8ded68580865cf7ee9",
"id": "bb:8718",
"start_pc": 8718,
"type": "basic_block"
exec
/bin/bash -lc 'rg -n "start_pc": 7893 -n BYTECODE_BUNDLE.json' in /tmp/codex-m8n976t2 exited 2 in 9ms:
rg: 7893: No such file or directory (os error 2)
exec
/bin/bash -lc 'rg -n "start_pc": 7893 BYTECODE_BUNDLE.json' in /tmp/codex-m8n976t2 exited 2 in 14ms:
rg: 7893: No such file or directory (os error 2)
exec
/bin/bash -lc "rg -n \"start_pc\\\": 7893\" BYTECODE_BUNDLE.json" in /tmp/codex-m8n976t2 succeeded in 7ms:
6812: "start_pc": 7893
24436: "start_pc": 7893,
exec
/bin/bash -lc "sed -n '6790,6860p' BYTECODE_BUNDLE.json" in /tmp/codex-m8n976t2 succeeded in 7ms:
"POP",
"PUSH1",
"PUSH1",
"MLOAD",
"OP_80",
"OP_83",
"SUB",
"OP_81",
"OP_85",
"OP_87",
"PUSH2",
"GAS",
"SUB",
"CALL",
"OP_92",
"POP",
"POP",
"POP",
"ISZERO",
"PUSH2",
exec
/bin/bash -lc "sed -n '6860,6935p' BYTECODE_BUNDLE.json" in /tmp/codex-m8n976t2 succeeded in 9ms:
"SSTORE",
"POP"
],
"start_pc": 7974
},
{
"end_pc": 8049,
"hash": "0x4884036b4c3663337890b6cc608c1a10d1f1071ad7126b933ded600ff6644124",
"opcodes": [
"JUMPDEST",
"OP_85",
"PUSH32",
"PUSH1",
"MLOAD",
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
exec
/bin/bash -lc "sed -n '6745,6825p' BYTECODE_BUNDLE.json" in /tmp/codex-m8n976t2 succeeded in 8ms:
"hash": "0x635d5f7903a5e2e095e4b645519e11c2d6b038138adf67c20a3ee053153e0733",
"opcodes": [
"JUMPDEST",
"OP_81",
"SLOAD",
"OP_81",
"MSTORE",
"OP_90",
"PUSH1",
"ADD",
"OP_90",
"PUSH1",
"ADD",
"OP_80",
"OP_83",
"GT",
"PUSH2",
"JUMPI"
],
"start_pc": 7864
codex
{"no_findings":false,"summary":"Bytecode shows a computed external CALL (with potential ETH value) and a reachable SELFDESTRUCT. Both are flagged by detectors but the exact reachability/guarding is uncertain from bytecode-only evidence.","findings":[{"severity":"low","category":"reentrancy","title":"Computed external CALL before apparent state update (reentrancy/unsafe call risk if target is attacker-controlled)","exploit_scenario":"If the CALL target/value is derived from user input or mutable storage, an attacker could cause the contract to call out to a malicious contract before state is updated. That external contract could reenter and exploit inconsistent state. Validation hints the target may be constant (self), but it is not confirmed, so this remains uncertain.","recommendation":"Confirm the CALL target/source at pc:0x1eeb. If user-controlled, move state updates before the call (checks-effects-interactions), add a reentrancy guard, and/or restrict allowed call targets. If the call is intended to self, prefer internal calls to avoid external reentrancy paths.","evidence":"CALL at pc 7915 with computed target/value; SSTORE occurs later at pc 7974, suggesting effects after interaction. Returndata checking is unknown.","locations":["pc:0x1eeb","pc:0x1f26"]},{"severity":"medium","category":"other","title":"SELFDESTRUCT present and potentially reachable","exploit_scenario":"If a publicly reachable path can hit SELFDESTRUCT, an attacker could destroy the contract and force-send its balance to a chosen recipient. Guard detection shows msg.sender == 0xffff... (likely heuristic), so access control is uncertain.","recommendation":"Verify whether the SELFDESTRUCT path is reachable and guarded. If not strictly necessary, remove it or gate it behind strong access control (e.g., immutable admin).","evidence":"SELFDESTRUCT opcode at pc 8717; detector reports selfdestruct_count=1 and reachable sink (unvalidated).","locations":["pc:0x220d"]}]}
tokens used
31,364
{
"codex": {
"ran_at": "2026-01-30T12:55:06.043565+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 17500,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows a computed external CALL (with potential ETH value) and a reachable SELFDESTRUCT. Both are flagged by detectors but the exact reachability/guarding is uncertain from bytecode-only evidence.",
"raw_final": {
"summary": "Bytecode shows a computed external CALL (with potential ETH value) and a reachable SELFDESTRUCT. Both are flagged by detectors but the exact reachability/guarding is uncertain from bytecode-only evidence.",
"findings": [
{
"title": "Computed external CALL before apparent state update (reentrancy/unsafe call risk if target is attacker-controlled)",
"category": "reentrancy",
"evidence": "CALL at pc 7915 with computed target/value; SSTORE occurs later at pc 7974, suggesting effects after interaction. Returndata checking is unknown.",
"severity": "low",
"locations": [
"pc:0x1eeb",
"pc:0x1f26"
],
"recommendation": "Confirm the CALL target/source at pc:0x1eeb. If user-controlled, move state updates before the call (checks-effects-interactions), add a reentrancy guard, and/or restrict allowed call targets. If the call is intended to self, prefer internal calls to avoid external reentrancy paths.",
"exploit_scenario": "If the CALL target/value is derived from user input or mutable storage, an attacker could cause the contract to call out to a malicious contract before state is updated. That external contract could reenter and exploit inconsistent state. Validation hints the target may be constant (self), but it is not confirmed, so this remains uncertain."
},
{
"title": "SELFDESTRUCT present and potentially reachable",
"category": "other",
"evidence": "SELFDESTRUCT opcode at pc 8717; detector reports selfdestruct_count=1 and reachable sink (unvalidated).",
"severity": "medium",
"locations": [
"pc:0x220d"
],
"recommendation": "Verify whether the SELFDESTRUCT path is reachable and guarded. If not strictly necessary, remove it or gate it behind strong access control (e.g., immutable admin).",
"exploit_scenario": "If a publicly reachable path can hit SELFDESTRUCT, an attacker could destroy the contract and force-send its balance to a chosen recipient. Guard detection shows msg.sender == 0xffff... (likely heuristic), so access control is uncertain."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x013e 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: PUSH4 0xffffffff 00000035: AND 00000036: DUP1 00000037: PUSH4 0x025e7c27 0000003c: EQ 0000003d: PUSH2 0x0198 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0x120da4df 00000047: EQ 00000048: PUSH2 0x01fb 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0x173825d9 00000052: EQ 00000053: PUSH2 0x0239 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0x20ea8d86 0000005d: EQ 0000005e: PUSH2 0x0272 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0x2f54bf6e 00000068: EQ 00000069: PUSH2 0x0295 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0x3411c81c 00000073: EQ 00000074: PUSH2 0x02e6 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0x54741525 0000007e: EQ 0000007f: PUSH2 0x0340 00000082: JUMPI 00000083: DUP1 00000084: PUSH4 0x68d6b997 00000089: EQ 0000008a: PUSH2 0x0384 0000008d: JUMPI 0000008e: DUP1 0000008f: PUSH4 0x7065cb48 00000094: EQ 00000095: PUSH2 0x03bf 00000098: JUMPI 00000099: DUP1 0000009a: PUSH4 0x784547a7 0000009f: EQ 000000a0: PUSH2 0x03f8 000000a3: JUMPI 000000a4: DUP1 000000a5: PUSH4 0x7d1d8596 000000aa: EQ 000000ab: PUSH2 0x0433 000000ae: JUMPI 000000af: DUP1 000000b0: PUSH4 0x8b51d13f 000000b5: EQ 000000b6: PUSH2 0x0466 000000b9: JUMPI 000000ba: DUP1 000000bb: PUSH4 0x9ace38c2 000000c0: EQ 000000c1: PUSH2 0x049d 000000c4: JUMPI 000000c5: DUP1 000000c6: PUSH4 0xa0e67e2b 000000cb: EQ 000000cc: PUSH2 0x05a2 000000cf: JUMPI 000000d0: DUP1 000000d1: PUSH4 0xa8abe69a 000000d6: EQ 000000d7: PUSH2 0x060c 000000da: JUMPI 000000db: DUP1 000000dc: PUSH4 0xb5dc40c3 000000e1: EQ 000000e2: PUSH2 0x06a3 000000e5: JUMPI 000000e6: DUP1 000000e7: PUSH4 0xb77bf600 000000ec: EQ 000000ed: PUSH2 0x071b 000000f0: JUMPI 000000f1: DUP1 000000f2: PUSH4 0xba51a6df 000000f7: EQ 000000f8: PUSH2 0x0744 000000fb: JUMPI 000000fc: DUP1 000000fd: PUSH4 0xc01a8c84 00000102: EQ 00000103: PUSH2 0x0767 00000106: JUMPI 00000107: DUP1 00000108: PUSH4 0xc6427474 0000010d: EQ 0000010e: PUSH2 0x078a 00000111: JUMPI 00000112: DUP1 00000113: PUSH4 0xd74f8edd 00000118: EQ 00000119: PUSH2 0x0823 0000011c: JUMPI 0000011d: DUP1 0000011e: PUSH4 0xdc8452cd 00000123: EQ 00000124: PUSH2 0x084c 00000127: JUMPI 00000128: DUP1 00000129: PUSH4 0xe20056e6 0000012e: EQ 0000012f: PUSH2 0x0875 00000132: JUMPI 00000133: DUP1 00000134: PUSH4 0xee22610b 00000139: EQ 0000013a: PUSH2 0x08cd 0000013d: JUMPI 0000013e: JUMPDEST 0000013f: PUSH1 0x00 00000141: CALLVALUE 00000142: GT 00000143: ISZERO 00000144: PUSH2 0x0196 00000147: JUMPI 00000148: CALLER 00000149: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000015e: AND 0000015f: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c 00000180: CALLVALUE 00000181: PUSH1 0x40 00000183: MLOAD 00000184: DUP1 00000185: DUP3 00000186: DUP2 00000187: MSTORE 00000188: PUSH1 0x20 0000018a: ADD 0000018b: SWAP2 0000018c: POP 0000018d: POP 0000018e: PUSH1 0x40 00000190: MLOAD 00000191: DUP1 00000192: SWAP2 00000193: SUB 00000194: SWAP1 00000195: LOG2 00000196: JUMPDEST 00000197: STOP 00000198: JUMPDEST 00000199: CALLVALUE 0000019a: ISZERO 0000019b: PUSH2 0x01a3 0000019e: JUMPI 0000019f: PUSH1 0x00 000001a1: DUP1 000001a2: REVERT 000001a3: JUMPDEST 000001a4: PUSH2 0x01b9 000001a7: PUSH1 0x04 000001a9: DUP1 000001aa: DUP1 000001ab: CALLDATALOAD 000001ac: SWAP1 000001ad: PUSH1 0x20 000001af: ADD 000001b0: SWAP1 000001b1: SWAP2 000001b2: SWAP1 000001b3: POP 000001b4: POP 000001b5: PUSH2 0x08f0 000001b8: JUMP 000001b9: JUMPDEST 000001ba: PUSH1 0x40 000001bc: MLOAD 000001bd: DUP1 000001be: DUP3 000001bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001d4: AND 000001d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001ea: AND 000001eb: DUP2 000001ec: MSTORE 000001ed: PUSH1 0x20 000001ef: ADD 000001f0: SWAP2 000001f1: POP 000001f2: POP 000001f3: PUSH1 0x40 000001f5: MLOAD 000001f6: DUP1 000001f7: SWAP2 000001f8: SUB 000001f9: SWAP1 000001fa: RETURN 000001fb: JUMPDEST 000001fc: CALLVALUE 000001fd: ISZERO 000001fe: PUSH2 0x0206 00000201: JUMPI 00000202: PUSH1 0x00 00000204: DUP1 00000205: REVERT 00000206: JUMPDEST 00000207: PUSH2 0x021c 0000020a: PUSH1 0x04 0000020c: DUP1 0000020d: DUP1 0000020e: CALLDATALOAD 0000020f: SWAP1 00000210: PUSH1 0x20 00000212: ADD 00000213: SWAP1 00000214: SWAP2 00000215: SWAP1 00000216: POP 00000217: POP 00000218: PUSH2 0x092f 0000021b: JUMP 0000021c: JUMPDEST 0000021d: PUSH1 0x40 0000021f: MLOAD 00000220: DUP1 00000221: DUP4 00000222: DUP2 00000223: MSTORE 00000224: PUSH1 0x20 00000226: ADD 00000227: DUP3 00000228: DUP2 00000229: MSTORE 0000022a: PUSH1 0x20 0000022c: ADD 0000022d: SWAP3 0000022e: POP 0000022f: POP 00000230: POP 00000231: PUSH1 0x40 00000233: MLOAD 00000234: DUP1 00000235: SWAP2 00000236: SUB 00000237: SWAP1 00000238: RETURN 00000239: JUMPDEST 0000023a: CALLVALUE 0000023b: ISZERO 0000023c: PUSH2 0x0244 0000023f: JUMPI 00000240: PUSH1 0x00 00000242: DUP1 00000243: REVERT 00000244: JUMPDEST 00000245: PUSH2 0x0270 00000248: PUSH1 0x04 0000024a: DUP1 0000024b: DUP1 0000024c: CALLDATALOAD 0000024d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000262: AND 00000263: SWAP1 00000264: PUSH1 0x20 00000266: ADD 00000267: SWAP1 00000268: SWAP2 00000269: SWAP1 0000026a: POP 0000026b: POP 0000026c: PUSH2 0x096a 0000026f: JUMP 00000270: JUMPDEST 00000271: STOP 00000272: JUMPDEST 00000273: CALLVALUE 00000274: ISZERO 00000275: PUSH2 0x027d 00000278: JUMPI 00000279: PUSH1 0x00 0000027b: DUP1 0000027c: REVERT 0000027d: JUMPDEST 0000027e: PUSH2 0x0293 00000281: PUSH1 0x04 00000283: DUP1 00000284: DUP1 00000285: CALLDATALOAD 00000286: SWAP1 00000287: PUSH1 0x20 00000289: ADD 0000028a: SWAP1 0000028b: SWAP2 0000028c: SWAP1 0000028d: POP 0000028e: POP 0000028f: PUSH2 0x0c06 00000292: JUMP 00000293: JUMPDEST 00000294: STOP 00000295: JUMPDEST 00000296: CALLVALUE 00000297: ISZERO 00000298: PUSH2 0x02a0 0000029b: JUMPI 0000029c: PUSH1 0x00 0000029e: DUP1 0000029f: REVERT 000002a0: JUMPDEST 000002a1: PUSH2 0x02cc 000002a4: PUSH1 0x04 000002a6: DUP1 000002a7: DUP1 000002a8: CALLDATALOAD 000002a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002be: AND 000002bf: SWAP1 000002c0: PUSH1 0x20 000002c2: ADD 000002c3: SWAP1 000002c4: SWAP2 000002c5: SWAP1 000002c6: POP 000002c7: POP 000002c8: PUSH2 0x0dae 000002cb: JUMP 000002cc: JUMPDEST 000002cd: PUSH1 0x40 000002cf: MLOAD 000002d0: DUP1 000002d1: DUP3 000002d2: ISZERO 000002d3: ISZERO 000002d4: ISZERO 000002d5: ISZERO 000002d6: DUP2 000002d7: MSTORE 000002d8: PUSH1 0x20 000002da: ADD 000002db: SWAP2 000002dc: POP 000002dd: POP 000002de: PUSH1 0x40 000002e0: MLOAD 000002e1: DUP1 000002e2: SWAP2 000002e3: SUB 000002e4: SWAP1 000002e5: RETURN 000002e6: JUMPDEST 000002e7: CALLVALUE 000002e8: ISZERO 000002e9: PUSH2 0x02f1 000002ec: JUMPI 000002ed: PUSH1 0x00 000002ef: DUP1 000002f0: REVERT 000002f1: JUMPDEST 000002f2: PUSH2 0x0326 000002f5: PUSH1 0x04 000002f7: DUP1 000002f8: DUP1 000002f9: CALLDATALOAD 000002fa: SWAP1 000002fb: PUSH1 0x20 000002fd: ADD 000002fe: SWAP1 000002ff: SWAP2 00000300: SWAP1 00000301: DUP1 00000302: CALLDATALOAD 00000303: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000318: AND 00000319: SWAP1 0000031a: PUSH1 0x20 0000031c: ADD 0000031d: SWAP1 0000031e: SWAP2 0000031f: SWAP1 00000320: POP 00000321: POP 00000322: PUSH2 0x0dce 00000325: JUMP 00000326: JUMPDEST 00000327: PUSH1 0x40 00000329: MLOAD 0000032a: DUP1 0000032b: DUP3 0000032c: ISZERO 0000032d: ISZERO 0000032e: ISZERO 0000032f: ISZERO 00000330: DUP2 00000331: MSTORE 00000332: PUSH1 0x20 00000334: ADD 00000335: SWAP2 00000336: POP 00000337: POP 00000338: PUSH1 0x40 0000033a: MLOAD 0000033b: DUP1 0000033c: SWAP2 0000033d: SUB 0000033e: SWAP1 0000033f: RETURN 00000340: JUMPDEST 00000341: CALLVALUE 00000342: ISZERO 00000343: PUSH2 0x034b 00000346: JUMPI 00000347: PUSH1 0x00 00000349: DUP1 0000034a: REVERT 0000034b: JUMPDEST 0000034c: PUSH2 0x036e 0000034f: PUSH1 0x04 00000351: DUP1 00000352: DUP1 00000353: CALLDATALOAD 00000354: ISZERO 00000355: ISZERO 00000356: SWAP1 00000357: PUSH1 0x20 00000359: ADD 0000035a: SWAP1 0000035b: SWAP2 0000035c: SWAP1 0000035d: DUP1 0000035e: CALLDATALOAD 0000035f: ISZERO 00000360: ISZERO 00000361: SWAP1 00000362: PUSH1 0x20 00000364: ADD 00000365: SWAP1 00000366: SWAP2 00000367: SWAP1 00000368: POP 00000369: POP 0000036a: PUSH2 0x0dfd 0000036d: JUMP 0000036e: JUMPDEST 0000036f: PUSH1 0x40 00000371: MLOAD 00000372: DUP1 00000373: DUP3 00000374: DUP2 00000375: MSTORE 00000376: PUSH1 0x20 00000378: ADD 00000379: SWAP2 0000037a: POP 0000037b: POP 0000037c: PUSH1 0x40 0000037e: MLOAD 0000037f: DUP1 00000380: SWAP2 00000381: SUB 00000382: SWAP1 00000383: RETURN 00000384: JUMPDEST 00000385: CALLVALUE 00000386: ISZERO 00000387: PUSH2 0x038f 0000038a: JUMPI 0000038b: PUSH1 0x00 0000038d: DUP1 0000038e: REVERT 0000038f: JUMPDEST 00000390: PUSH2 0x03a5 00000393: PUSH1 0x04 00000395: DUP1 00000396: DUP1 00000397: CALLDATALOAD 00000398: SWAP1 00000399: PUSH1 0x20 0000039b: ADD 0000039c: SWAP1 0000039d: SWAP2 0000039e: SWAP1 0000039f: POP 000003a0: POP 000003a1: PUSH2 0x0e8f 000003a4: JUMP 000003a5: JUMPDEST 000003a6: PUSH1 0x40 000003a8: MLOAD 000003a9: DUP1 000003aa: DUP3 000003ab: ISZERO 000003ac: ISZERO 000003ad: ISZERO 000003ae: ISZERO 000003af: DUP2 000003b0: MSTORE 000003b1: PUSH1 0x20 000003b3: ADD 000003b4: SWAP2 000003b5: POP 000003b6: POP 000003b7: PUSH1 0x40 000003b9: MLOAD 000003ba: DUP1 000003bb: SWAP2 000003bc: SUB 000003bd: SWAP1 000003be: RETURN 000003bf: JUMPDEST 000003c0: CALLVALUE 000003c1: ISZERO 000003c2: PUSH2 0x03ca 000003c5: JUMPI 000003c6: PUSH1 0x00 000003c8: DUP1 000003c9: REVERT 000003ca: JUMPDEST 000003cb: PUSH2 0x03f6 000003ce: PUSH1 0x04 000003d0: DUP1 000003d1: DUP1 000003d2: CALLDATALOAD 000003d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003e8: AND 000003e9: SWAP1 000003ea: PUSH1 0x20 000003ec: ADD 000003ed: SWAP1 000003ee: SWAP2 000003ef: SWAP1 000003f0: POP 000003f1: POP 000003f2: PUSH2 0x0ec8 000003f5: JUMP 000003f6: JUMPDEST 000003f7: STOP 000003f8: JUMPDEST 000003f9: CALLVALUE 000003fa: ISZERO 000003fb: PUSH2 0x0403 000003fe: JUMPI 000003ff: PUSH1 0x00 00000401: DUP1 00000402: REVERT 00000403: JUMPDEST 00000404: PUSH2 0x0419 00000407: PUSH1 0x04 00000409: DUP1 0000040a: DUP1 0000040b: CALLDATALOAD 0000040c: SWAP1 0000040d: PUSH1 0x20 0000040f: ADD 00000410: SWAP1 00000411: SWAP2 00000412: SWAP1 00000413: POP 00000414: POP 00000415: PUSH2 0x10c8 00000418: JUMP 00000419: JUMPDEST 0000041a: PUSH1 0x40 0000041c: MLOAD 0000041d: DUP1 0000041e: DUP3 0000041f: ISZERO 00000420: ISZERO 00000421: ISZERO 00000422: ISZERO 00000423: DUP2 00000424: MSTORE 00000425: PUSH1 0x20 00000427: ADD 00000428: SWAP2 00000429: POP 0000042a: POP 0000042b: PUSH1 0x40 0000042d: MLOAD 0000042e: DUP1 0000042f: SWAP2 00000430: SUB 00000431: SWAP1 00000432: RETURN 00000433: JUMPDEST 00000434: CALLVALUE 00000435: ISZERO 00000436: PUSH2 0x043e 00000439: JUMPI 0000043a: PUSH1 0x00 0000043c: DUP1 0000043d: REVERT 0000043e: JUMPDEST 0000043f: PUSH2 0x0446 00000442: PUSH2 0x11ae 00000445: JUMP 00000446: JUMPDEST 00000447: PUSH1 0x40 00000449: MLOAD 0000044a: DUP1 0000044b: DUP3 0000044c: PUSH3 0xffffff 00000450: AND 00000451: PUSH3 0xffffff 00000455: AND 00000456: DUP2 00000457: MSTORE 00000458: PUSH1 0x20 0000045a: ADD 0000045b: SWAP2 0000045c: POP 0000045d: POP 0000045e: PUSH1 0x40 00000460: MLOAD 00000461: DUP1 00000462: SWAP2 00000463: SUB 00000464: SWAP1 00000465: RETURN 00000466: JUMPDEST 00000467: CALLVALUE 00000468: ISZERO 00000469: PUSH2 0x0471 0000046c: JUMPI 0000046d: PUSH1 0x00 0000046f: DUP1 00000470: REVERT 00000471: JUMPDEST 00000472: PUSH2 0x0487 00000475: PUSH1 0x04 00000477: DUP1 00000478: DUP1 00000479: CALLDATALOAD 0000047a: SWAP1 0000047b: PUSH1 0x20 0000047d: ADD 0000047e: SWAP1 0000047f: SWAP2 00000480: SWAP1 00000481: POP 00000482: POP 00000483: PUSH2 0x11c3 00000486: JUMP 00000487: JUMPDEST 00000488: PUSH1 0x40 0000048a: MLOAD 0000048b: DUP1 0000048c: DUP3 0000048d: DUP2 0000048e: MSTORE 0000048f: PUSH1 0x20 00000491: ADD 00000492: SWAP2 00000493: POP 00000494: POP 00000495: PUSH1 0x40 00000497: MLOAD 00000498: DUP1 00000499: SWAP2 0000049a: SUB 0000049b: SWAP1 0000049c: RETURN 0000049d: JUMPDEST 0000049e: CALLVALUE 0000049f: ISZERO 000004a0: PUSH2 0x04a8 000004a3: JUMPI 000004a4: PUSH1 0x00 000004a6: DUP1 000004a7: REVERT 000004a8: JUMPDEST 000004a9: PUSH2 0x04be 000004ac: PUSH1 0x04 000004ae: DUP1 000004af: DUP1 000004b0: CALLDATALOAD 000004b1: SWAP1 000004b2: PUSH1 0x20 000004b4: ADD 000004b5: SWAP1 000004b6: SWAP2 000004b7: SWAP1 000004b8: POP 000004b9: POP 000004ba: PUSH2 0x128f 000004bd: JUMP 000004be: JUMPDEST 000004bf: PUSH1 0x40 000004c1: MLOAD 000004c2: DUP1 000004c3: DUP7 000004c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004d9: AND 000004da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004ef: AND 000004f0: DUP2 000004f1: MSTORE 000004f2: PUSH1 0x20 000004f4: ADD 000004f5: DUP6 000004f6: DUP2 000004f7: MSTORE 000004f8: PUSH1 0x20 000004fa: ADD 000004fb: DUP1 000004fc: PUSH1 0x20 000004fe: ADD 000004ff: DUP5 00000500: ISZERO 00000501: ISZERO 00000502: ISZERO 00000503: ISZERO 00000504: DUP2 00000505: MSTORE 00000506: PUSH1 0x20 00000508: ADD 00000509: DUP4 0000050a: DUP2 0000050b: MSTORE 0000050c: PUSH1 0x20 0000050e: ADD 0000050f: DUP3 00000510: DUP2 00000511: SUB 00000512: DUP3 00000513: MSTORE 00000514: DUP6 00000515: DUP2 00000516: DUP2 00000517: SLOAD 00000518: PUSH1 0x01 0000051a: DUP2 0000051b: PUSH1 0x01 0000051d: AND 0000051e: ISZERO 0000051f: PUSH2 0x0100 00000522: MUL 00000523: SUB 00000524: AND 00000525: PUSH1 0x02 00000527: SWAP1 00000528: DIV 00000529: DUP2 0000052a: MSTORE 0000052b: PUSH1 0x20 0000052d: ADD 0000052e: SWAP2 0000052f: POP 00000530: DUP1 00000531: SLOAD 00000532: PUSH1 0x01 00000534: DUP2 00000535: PUSH1 0x01 00000537: AND 00000538: ISZERO 00000539: PUSH2 0x0100 0000053c: MUL 0000053d: SUB 0000053e: AND 0000053f: PUSH1 0x02 00000541: SWAP1 00000542: DIV 00000543: DUP1 00000544: ISZERO 00000545: PUSH2 0x058f 00000548: JUMPI 00000549: DUP1 0000054a: PUSH1 0x1f 0000054c: LT 0000054d: PUSH2 0x0564 00000550: JUMPI 00000551: PUSH2 0x0100 00000554: DUP1 00000555: DUP4 00000556: SLOAD 00000557: DIV 00000558: MUL 00000559: DUP4 0000055a: MSTORE 0000055b: SWAP2 0000055c: PUSH1 0x20 0000055e: ADD 0000055f: SWAP2 00000560: PUSH2 0x058f 00000563: JUMP 00000564: JUMPDEST 00000565: DUP3 00000566: ADD 00000567: SWAP2 00000568: SWAP1 00000569: PUSH1 0x00 0000056b: MSTORE 0000056c: PUSH1 0x20 0000056e: PUSH1 0x00 00000570: KECCAK256 00000571: SWAP1 00000572: JUMPDEST 00000573: DUP2 00000574: SLOAD 00000575: DUP2 00000576: MSTORE 00000577: SWAP1 00000578: PUSH1 0x01 0000057a: ADD 0000057b: SWAP1 0000057c: PUSH1 0x20 0000057e: ADD 0000057f: DUP1 00000580: DUP4 00000581: GT 00000582: PUSH2 0x0572 00000585: JUMPI 00000586: DUP3 00000587: SWAP1 00000588: SUB 00000589: PUSH1 0x1f 0000058b: AND 0000058c: DUP3 0000058d: ADD 0000058e: SWAP2 0000058f: JUMPDEST 00000590: POP 00000591: POP 00000592: SWAP7 00000593: POP 00000594: POP 00000595: POP 00000596: POP 00000597: POP 00000598: POP 00000599: POP 0000059a: PUSH1 0x40 0000059c: MLOAD 0000059d: DUP1 0000059e: SWAP2 0000059f: SUB 000005a0: SWAP1 000005a1: RETURN 000005a2: JUMPDEST 000005a3: CALLVALUE 000005a4: ISZERO 000005a5: PUSH2 0x05ad 000005a8: JUMPI 000005a9: PUSH1 0x00 000005ab: DUP1 000005ac: REVERT 000005ad: JUMPDEST 000005ae: PUSH2 0x05b5 000005b1: PUSH2 0x12f1 000005b4: JUMP 000005b5: JUMPDEST 000005b6: PUSH1 0x40 000005b8: MLOAD 000005b9: DUP1 000005ba: DUP1 000005bb: PUSH1 0x20 000005bd: ADD 000005be: DUP3 000005bf: DUP2 000005c0: SUB 000005c1: DUP3 000005c2: MSTORE 000005c3: DUP4 000005c4: DUP2 000005c5: DUP2 000005c6: MLOAD 000005c7: DUP2 000005c8: MSTORE 000005c9: PUSH1 0x20 000005cb: ADD 000005cc: SWAP2 000005cd: POP 000005ce: DUP1 000005cf: MLOAD 000005d0: SWAP1 000005d1: PUSH1 0x20 000005d3: ADD 000005d4: SWAP1 000005d5: PUSH1 0x20 000005d7: MUL 000005d8: DUP1 000005d9: DUP4 000005da: DUP4 000005db: PUSH1 0x00 000005dd: JUMPDEST 000005de: DUP4 000005df: DUP2 000005e0: LT 000005e1: ISZERO 000005e2: PUSH2 0x05f8 000005e5: JUMPI 000005e6: DUP1 000005e7: DUP3 000005e8: ADD 000005e9: MLOAD 000005ea: DUP2 000005eb: DUP5 000005ec: ADD 000005ed: MSTORE 000005ee: PUSH1 0x20 000005f0: DUP2 000005f1: ADD 000005f2: SWAP1 000005f3: POP 000005f4: PUSH2 0x05dd 000005f7: JUMP 000005f8: JUMPDEST 000005f9: POP 000005fa: POP 000005fb: POP 000005fc: POP 000005fd: SWAP1 000005fe: POP 000005ff: ADD 00000600: SWAP3 00000601: POP 00000602: POP 00000603: POP 00000604: PUSH1 0x40 00000606: MLOAD 00000607: DUP1 00000608: SWAP2 00000609: SUB 0000060a: SWAP1 0000060b: RETURN 0000060c: JUMPDEST 0000060d: CALLVALUE 0000060e: ISZERO 0000060f: PUSH2 0x0617 00000612: JUMPI 00000613: PUSH1 0x00 00000615: DUP1 00000616: REVERT 00000617: JUMPDEST 00000618: PUSH2 0x064c 0000061b: PUSH1 0x04 0000061d: DUP1 0000061e: DUP1 0000061f: CALLDATALOAD 00000620: SWAP1 00000621: PUSH1 0x20 00000623: ADD 00000624: SWAP1 00000625: SWAP2 00000626: SWAP1 00000627: DUP1 00000628: CALLDATALOAD 00000629: SWAP1 0000062a: PUSH1 0x20 0000062c: ADD 0000062d: SWAP1 0000062e: SWAP2 0000062f: SWAP1 00000630: DUP1 00000631: CALLDATALOAD 00000632: ISZERO 00000633: ISZERO 00000634: SWAP1 00000635: PUSH1 0x20 00000637: ADD 00000638: SWAP1 00000639: SWAP2 0000063a: SWAP1 0000063b: DUP1 0000063c: CALLDATALOAD 0000063d: ISZERO 0000063e: ISZERO 0000063f: SWAP1 00000640: PUSH1 0x20 00000642: ADD 00000643: SWAP1 00000644: SWAP2 00000645: SWAP1 00000646: POP 00000647: POP 00000648: PUSH2 0x1385 0000064b: JUMP 0000064c: JUMPDEST 0000064d: PUSH1 0x40 0000064f: MLOAD 00000650: DUP1 00000651: DUP1 00000652: PUSH1 0x20 00000654: ADD 00000655: DUP3 00000656: DUP2 00000657: SUB 00000658: DUP3 00000659: MSTORE 0000065a: DUP4 0000065b: DUP2 0000065c: DUP2 0000065d: MLOAD 0000065e: DUP2 0000065f: MSTORE 00000660: PUSH1 0x20 00000662: ADD 00000663: SWAP2 00000664: POP 00000665: DUP1 00000666: MLOAD 00000667: SWAP1 00000668: PUSH1 0x20 0000066a: ADD 0000066b: SWAP1 0000066c: PUSH1 0x20 0000066e: MUL 0000066f: DUP1 00000670: DUP4 00000671: DUP4 00000672: PUSH1 0x00 00000674: JUMPDEST 00000675: DUP4 00000676: DUP2 00000677: LT 00000678: ISZERO 00000679: PUSH2 0x068f 0000067c: JUMPI 0000067d: DUP1 0000067e: DUP3 0000067f: ADD 00000680: MLOAD 00000681: DUP2 00000682: DUP5 00000683: ADD 00000684: MSTORE 00000685: PUSH1 0x20 00000687: DUP2 00000688: ADD 00000689: SWAP1 0000068a: POP 0000068b: PUSH2 0x0674 0000068e: JUMP 0000068f: JUMPDEST 00000690: POP 00000691: POP 00000692: POP 00000693: POP 00000694: SWAP1 00000695: POP 00000696: ADD 00000697: SWAP3 00000698: POP 00000699: POP 0000069a: POP 0000069b: PUSH1 0x40 0000069d: MLOAD 0000069e: DUP1 0000069f: SWAP2 000006a0: SUB 000006a1: SWAP1 000006a2: RETURN 000006a3: JUMPDEST 000006a4: CALLVALUE 000006a5: ISZERO 000006a6: PUSH2 0x06ae 000006a9: JUMPI 000006aa: PUSH1 0x00 000006ac: DUP1 000006ad: REVERT 000006ae: JUMPDEST 000006af: PUSH2 0x06c4 000006b2: PUSH1 0x04 000006b4: DUP1 000006b5: DUP1 000006b6: CALLDATALOAD 000006b7: SWAP1 000006b8: PUSH1 0x20 000006ba: ADD 000006bb: SWAP1 000006bc: SWAP2 000006bd: SWAP1 000006be: POP 000006bf: POP 000006c0: PUSH2 0x14e1 000006c3: JUMP 000006c4: JUMPDEST 000006c5: PUSH1 0x40 000006c7: MLOAD 000006c8: DUP1 000006c9: DUP1 000006ca: PUSH1 0x20 000006cc: ADD 000006cd: DUP3 000006ce: DUP2 000006cf: SUB 000006d0: DUP3 000006d1: MSTORE 000006d2: DUP4 000006d3: DUP2 000006d4: DUP2 000006d5: MLOAD 000006d6: DUP2 000006d7: MSTORE 000006d8: PUSH1 0x20 000006da: ADD 000006db: SWAP2 000006dc: POP 000006dd: DUP1 000006de: MLOAD 000006df: SWAP1 000006e0: PUSH1 0x20 000006e2: ADD 000006e3: SWAP1 000006e4: PUSH1 0x20 000006e6: MUL 000006e7: DUP1 000006e8: DUP4 000006e9: DUP4 000006ea: PUSH1 0x00 000006ec: JUMPDEST 000006ed: DUP4 000006ee: DUP2 000006ef: LT 000006f0: ISZERO 000006f1: PUSH2 0x0707 000006f4: JUMPI 000006f5: DUP1 000006f6: DUP3 000006f7: ADD 000006f8: MLOAD 000006f9: DUP2 000006fa: DUP5 000006fb: ADD 000006fc: MSTORE 000006fd: PUSH1 0x20 000006ff: DUP2 00000700: ADD 00000701: SWAP1 00000702: POP 00000703: PUSH2 0x06ec 00000706: JUMP 00000707: JUMPDEST 00000708: POP 00000709: POP 0000070a: POP 0000070b: POP 0000070c: SWAP1 0000070d: POP 0000070e: ADD 0000070f: SWAP3 00000710: POP 00000711: POP 00000712: POP 00000713: PUSH1 0x40 00000715: MLOAD 00000716: DUP1 00000717: SWAP2 00000718: SUB 00000719: SWAP1 0000071a: RETURN 0000071b: JUMPDEST 0000071c: CALLVALUE 0000071d: ISZERO 0000071e: PUSH2 0x0726 00000721: JUMPI 00000722: PUSH1 0x00 00000724: DUP1 00000725: REVERT 00000726: JUMPDEST 00000727: PUSH2 0x072e 0000072a: PUSH2 0x170b 0000072d: JUMP 0000072e: JUMPDEST 0000072f: PUSH1 0x40 00000731: MLOAD 00000732: DUP1 00000733: DUP3 00000734: DUP2 00000735: MSTORE 00000736: PUSH1 0x20 00000738: ADD 00000739: SWAP2 0000073a: POP 0000073b: POP 0000073c: PUSH1 0x40 0000073e: MLOAD 0000073f: DUP1 00000740: SWAP2 00000741: SUB 00000742: SWAP1 00000743: RETURN 00000744: JUMPDEST 00000745: CALLVALUE 00000746: ISZERO 00000747: PUSH2 0x074f 0000074a: JUMPI 0000074b: PUSH1 0x00 0000074d: DUP1 0000074e: REVERT 0000074f: JUMPDEST 00000750: PUSH2 0x0765 00000753: PUSH1 0x04 00000755: DUP1 00000756: DUP1 00000757: CALLDATALOAD 00000758: SWAP1 00000759: PUSH1 0x20 0000075b: ADD 0000075c: SWAP1 0000075d: SWAP2 0000075e: SWAP1 0000075f: POP 00000760: POP 00000761: PUSH2 0x1711 00000764: JUMP 00000765: JUMPDEST 00000766: STOP 00000767: JUMPDEST 00000768: CALLVALUE 00000769: ISZERO 0000076a: PUSH2 0x0772 0000076d: JUMPI 0000076e: PUSH1 0x00 00000770: DUP1 00000771: REVERT 00000772: JUMPDEST 00000773: PUSH2 0x0788 00000776: PUSH1 0x04 00000778: DUP1 00000779: DUP1 0000077a: CALLDATALOAD 0000077b: SWAP1 0000077c: PUSH1 0x20 0000077e: ADD 0000077f: SWAP1 00000780: SWAP2 00000781: SWAP1 00000782: POP 00000783: POP 00000784: PUSH2 0x17c9 00000787: JUMP 00000788: JUMPDEST 00000789: STOP 0000078a: JUMPDEST 0000078b: CALLVALUE 0000078c: ISZERO 0000078d: PUSH2 0x0795 00000790: JUMPI 00000791: PUSH1 0x00 00000793: DUP1 00000794: REVERT 00000795: JUMPDEST 00000796: PUSH2 0x080d 00000799: PUSH1 0x04 0000079b: DUP1 0000079c: DUP1 0000079d: CALLDATALOAD 0000079e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007b3: AND 000007b4: SWAP1 000007b5: PUSH1 0x20 000007b7: ADD 000007b8: SWAP1 000007b9: SWAP2 000007ba: SWAP1 000007bb: DUP1 000007bc: CALLDATALOAD 000007bd: SWAP1 000007be: PUSH1 0x20 000007c0: ADD 000007c1: SWAP1 000007c2: SWAP2 000007c3: SWAP1 000007c4: DUP1 000007c5: CALLDATALOAD 000007c6: SWAP1 000007c7: PUSH1 0x20 000007c9: ADD 000007ca: SWAP1 000007cb: DUP3 000007cc: ADD 000007cd: DUP1 000007ce: CALLDATALOAD 000007cf: SWAP1 000007d0: PUSH1 0x20 000007d2: ADD 000007d3: SWAP1 000007d4: DUP1 000007d5: DUP1 000007d6: PUSH1 0x1f 000007d8: ADD 000007d9: PUSH1 0x20 000007db: DUP1 000007dc: SWAP2 000007dd: DIV 000007de: MUL 000007df: PUSH1 0x20 000007e1: ADD 000007e2: PUSH1 0x40 000007e4: MLOAD 000007e5: SWAP1 000007e6: DUP2 000007e7: ADD 000007e8: PUSH1 0x40 000007ea: MSTORE 000007eb: DUP1 000007ec: SWAP4 000007ed: SWAP3 000007ee: SWAP2 000007ef: SWAP1 000007f0: DUP2 000007f1: DUP2 000007f2: MSTORE 000007f3: PUSH1 0x20 000007f5: ADD 000007f6: DUP4 000007f7: DUP4 000007f8: DUP1 000007f9: DUP3 000007fa: DUP5 000007fb: CALLDATACOPY 000007fc: DUP3 000007fd: ADD 000007fe: SWAP2 000007ff: POP 00000800: POP 00000801: POP 00000802: POP 00000803: POP 00000804: POP 00000805: SWAP2 00000806: SWAP1 00000807: POP 00000808: POP 00000809: PUSH2 0x19a5 0000080c: JUMP 0000080d: JUMPDEST 0000080e: PUSH1 0x40 00000810: MLOAD 00000811: DUP1 00000812: DUP3 00000813: DUP2 00000814: MSTORE 00000815: PUSH1 0x20 00000817: ADD 00000818: SWAP2 00000819: POP 0000081a: POP 0000081b: PUSH1 0x40 0000081d: MLOAD 0000081e: DUP1 0000081f: SWAP2 00000820: SUB 00000821: SWAP1 00000822: RETURN 00000823: JUMPDEST 00000824: CALLVALUE 00000825: ISZERO 00000826: PUSH2 0x082e 00000829: JUMPI 0000082a: PUSH1 0x00 0000082c: DUP1 0000082d: REVERT 0000082e: JUMPDEST 0000082f: PUSH2 0x0836 00000832: PUSH2 0x19c4 00000835: JUMP 00000836: JUMPDEST 00000837: PUSH1 0x40 00000839: MLOAD 0000083a: DUP1 0000083b: DUP3 0000083c: DUP2 0000083d: MSTORE 0000083e: PUSH1 0x20 00000840: ADD 00000841: SWAP2 00000842: POP 00000843: POP 00000844: PUSH1 0x40 00000846: MLOAD 00000847: DUP1 00000848: SWAP2 00000849: SUB 0000084a: SWAP1 0000084b: RETURN 0000084c: JUMPDEST 0000084d: CALLVALUE 0000084e: ISZERO 0000084f: PUSH2 0x0857 00000852: JUMPI 00000853: PUSH1 0x00 00000855: DUP1 00000856: REVERT 00000857: JUMPDEST 00000858: PUSH2 0x085f 0000085b: PUSH2 0x19c9 0000085e: JUMP 0000085f: JUMPDEST 00000860: PUSH1 0x40 00000862: MLOAD 00000863: DUP1 00000864: DUP3 00000865: DUP2 00000866: MSTORE 00000867: PUSH1 0x20 00000869: ADD 0000086a: SWAP2 0000086b: POP 0000086c: POP 0000086d: PUSH1 0x40 0000086f: MLOAD 00000870: DUP1 00000871: SWAP2 00000872: SUB 00000873: SWAP1 00000874: RETURN 00000875: JUMPDEST 00000876: CALLVALUE 00000877: ISZERO 00000878: PUSH2 0x0880 0000087b: JUMPI 0000087c: PUSH1 0x00 0000087e: DUP1 0000087f: REVERT 00000880: JUMPDEST 00000881: PUSH2 0x08cb 00000884: PUSH1 0x04 00000886: DUP1 00000887: DUP1 00000888: CALLDATALOAD 00000889: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000089e: AND 0000089f: SWAP1 000008a0: PUSH1 0x20 000008a2: ADD 000008a3: SWAP1 000008a4: SWAP2 000008a5: SWAP1 000008a6: DUP1 000008a7: CALLDATALOAD 000008a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008bd: AND 000008be: SWAP1 000008bf: PUSH1 0x20 000008c1: ADD 000008c2: SWAP1 000008c3: SWAP2 000008c4: SWAP1 000008c5: POP 000008c6: POP 000008c7: PUSH2 0x19cf 000008ca: JUMP 000008cb: JUMPDEST 000008cc: STOP 000008cd: JUMPDEST 000008ce: CALLVALUE 000008cf: ISZERO 000008d0: PUSH2 0x08d8 000008d3: JUMPI 000008d4: PUSH1 0x00 000008d6: DUP1 000008d7: REVERT 000008d8: JUMPDEST 000008d9: PUSH2 0x08ee 000008dc: PUSH1 0x04 000008de: DUP1 000008df: DUP1 000008e0: CALLDATALOAD 000008e1: SWAP1 000008e2: PUSH1 0x20 000008e4: ADD 000008e5: SWAP1 000008e6: SWAP2 000008e7: SWAP1 000008e8: POP 000008e9: POP 000008ea: PUSH2 0x1ce6 000008ed: JUMP 000008ee: JUMPDEST 000008ef: STOP 000008f0: JUMPDEST 000008f1: PUSH1 0x03 000008f3: DUP2 000008f4: DUP2 000008f5: SLOAD 000008f6: DUP2 000008f7: LT 000008f8: ISZERO 000008f9: ISZERO 000008fa: PUSH2 0x08ff 000008fd: JUMPI 000008fe: INVALID 000008ff: JUMPDEST 00000900: SWAP1 00000901: PUSH1 0x00 00000903: MSTORE 00000904: PUSH1 0x20 00000906: PUSH1 0x00 00000908: KECCAK256 00000909: SWAP1 0000090a: ADD 0000090b: PUSH1 0x00 0000090d: SWAP2 0000090e: POP 0000090f: SLOAD 00000910: SWAP1 00000911: PUSH2 0x0100 00000914: EXP 00000915: SWAP1 00000916: DIV 00000917: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000092c: AND 0000092d: DUP2 0000092e: JUMP 0000092f: JUMPDEST 00000930: PUSH1 0x00 00000932: DUP1 00000933: TIMESTAMP 00000934: SWAP2 00000935: POP 00000936: PUSH1 0x06 00000938: PUSH1 0x00 0000093a: SWAP1 0000093b: SLOAD 0000093c: SWAP1 0000093d: PUSH2 0x0100 00000940: EXP 00000941: SWAP1 00000942: DIV 00000943: PUSH3 0xffffff 00000947: AND 00000948: PUSH3 0xffffff 0000094c: AND 0000094d: PUSH1 0x00 0000094f: DUP1 00000950: DUP6 00000951: DUP2 00000952: MSTORE 00000953: PUSH1 0x20 00000955: ADD 00000956: SWAP1 00000957: DUP2 00000958: MSTORE 00000959: PUSH1 0x20 0000095b: ADD 0000095c: PUSH1 0x00 0000095e: KECCAK256 0000095f: PUSH1 0x04 00000961: ADD 00000962: SLOAD 00000963: ADD 00000964: SWAP1 00000965: POP 00000966: SWAP2 00000967: POP 00000968: SWAP2 00000969: JUMP 0000096a: JUMPDEST 0000096b: PUSH1 0x00 0000096d: ADDRESS 0000096e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000983: AND 00000984: CALLER 00000985: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000099a: AND 0000099b: EQ 0000099c: ISZERO 0000099d: ISZERO 0000099e: PUSH2 0x09a6 000009a1: JUMPI 000009a2: PUSH1 0x00 000009a4: DUP1 000009a5: REVERT 000009a6: JUMPDEST 000009a7: DUP2 000009a8: PUSH1 0x02 000009aa: PUSH1 0x00 000009ac: DUP3 000009ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009c2: AND 000009c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009d8: AND 000009d9: DUP2 000009da: MSTORE 000009db: PUSH1 0x20 000009dd: ADD 000009de: SWAP1 000009df: DUP2 000009e0: MSTORE 000009e1: PUSH1 0x20 000009e3: ADD 000009e4: PUSH1 0x00 000009e6: KECCAK256 000009e7: PUSH1 0x00 000009e9: SWAP1 000009ea: SLOAD 000009eb: SWAP1 000009ec: PUSH2 0x0100 000009ef: EXP 000009f0: SWAP1 000009f1: DIV 000009f2: PUSH1 0xff 000009f4: AND 000009f5: ISZERO 000009f6: ISZERO 000009f7: PUSH2 0x09ff 000009fa: JUMPI 000009fb: PUSH1 0x00 000009fd: DUP1 000009fe: REVERT 000009ff: JUMPDEST 00000a00: PUSH1 0x00 00000a02: PUSH1 0x02 00000a04: PUSH1 0x00 00000a06: DUP6 00000a07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a1c: AND 00000a1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a32: AND 00000a33: DUP2 00000a34: MSTORE 00000a35: PUSH1 0x20 00000a37: ADD 00000a38: SWAP1 00000a39: DUP2 00000a3a: MSTORE 00000a3b: PUSH1 0x20 00000a3d: ADD 00000a3e: PUSH1 0x00 00000a40: KECCAK256 00000a41: PUSH1 0x00 00000a43: PUSH2 0x0100 00000a46: EXP 00000a47: DUP2 00000a48: SLOAD 00000a49: DUP2 00000a4a: PUSH1 0xff 00000a4c: MUL 00000a4d: NOT 00000a4e: AND 00000a4f: SWAP1 00000a50: DUP4 00000a51: ISZERO 00000a52: ISZERO 00000a53: MUL 00000a54: OR 00000a55: SWAP1 00000a56: SSTORE 00000a57: POP 00000a58: PUSH1 0x00 00000a5a: SWAP2 00000a5b: POP 00000a5c: JUMPDEST 00000a5d: PUSH1 0x01 00000a5f: PUSH1 0x03 00000a61: DUP1 00000a62: SLOAD 00000a63: SWAP1 00000a64: POP 00000a65: SUB 00000a66: DUP3 00000a67: LT 00000a68: ISZERO 00000a69: PUSH2 0x0b87 00000a6c: JUMPI 00000a6d: DUP3 00000a6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a83: AND 00000a84: PUSH1 0x03 00000a86: DUP4 00000a87: DUP2 00000a88: SLOAD 00000a89: DUP2 00000a8a: LT 00000a8b: ISZERO 00000a8c: ISZERO 00000a8d: PUSH2 0x0a92 00000a90: JUMPI 00000a91: INVALID 00000a92: JUMPDEST 00000a93: SWAP1 00000a94: PUSH1 0x00 00000a96: MSTORE 00000a97: PUSH1 0x20 00000a99: PUSH1 0x00 00000a9b: KECCAK256 00000a9c: SWAP1 00000a9d: ADD 00000a9e: PUSH1 0x00 00000aa0: SWAP1 00000aa1: SLOAD 00000aa2: SWAP1 00000aa3: PUSH2 0x0100 00000aa6: EXP 00000aa7: SWAP1 00000aa8: DIV 00000aa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000abe: AND 00000abf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ad4: AND 00000ad5: EQ 00000ad6: ISZERO 00000ad7: PUSH2 0x0b7a 00000ada: JUMPI 00000adb: PUSH1 0x03 00000add: PUSH1 0x01 00000adf: PUSH1 0x03 00000ae1: DUP1 00000ae2: SLOAD 00000ae3: SWAP1 00000ae4: POP 00000ae5: SUB 00000ae6: DUP2 00000ae7: SLOAD 00000ae8: DUP2 00000ae9: LT 00000aea: ISZERO 00000aeb: ISZERO 00000aec: PUSH2 0x0af1 00000aef: JUMPI 00000af0: INVALID 00000af1: JUMPDEST 00000af2: SWAP1 00000af3: PUSH1 0x00 00000af5: MSTORE 00000af6: PUSH1 0x20 00000af8: PUSH1 0x00 00000afa: KECCAK256 00000afb: SWAP1 00000afc: ADD 00000afd: PUSH1 0x00 00000aff: SWAP1 00000b00: SLOAD 00000b01: SWAP1 00000b02: PUSH2 0x0100 00000b05: EXP 00000b06: SWAP1 00000b07: DIV 00000b08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b1d: AND 00000b1e: PUSH1 0x03 00000b20: DUP4 00000b21: DUP2 00000b22: SLOAD 00000b23: DUP2 00000b24: LT 00000b25: ISZERO 00000b26: ISZERO 00000b27: PUSH2 0x0b2c 00000b2a: JUMPI 00000b2b: INVALID 00000b2c: JUMPDEST 00000b2d: SWAP1 00000b2e: PUSH1 0x00 00000b30: MSTORE 00000b31: PUSH1 0x20 00000b33: PUSH1 0x00 00000b35: KECCAK256 00000b36: SWAP1 00000b37: ADD 00000b38: PUSH1 0x00 00000b3a: PUSH2 0x0100 00000b3d: EXP 00000b3e: DUP2 00000b3f: SLOAD 00000b40: DUP2 00000b41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b56: MUL 00000b57: NOT 00000b58: AND 00000b59: SWAP1 00000b5a: DUP4 00000b5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b70: AND 00000b71: MUL 00000b72: OR 00000b73: SWAP1 00000b74: SSTORE 00000b75: POP 00000b76: PUSH2 0x0b87 00000b79: JUMP 00000b7a: JUMPDEST 00000b7b: DUP2 00000b7c: DUP1 00000b7d: PUSH1 0x01 00000b7f: ADD 00000b80: SWAP3 00000b81: POP 00000b82: POP 00000b83: PUSH2 0x0a5c 00000b86: JUMP 00000b87: JUMPDEST 00000b88: PUSH1 0x01 00000b8a: PUSH1 0x03 00000b8c: DUP2 00000b8d: DUP2 00000b8e: DUP1 00000b8f: SLOAD 00000b90: SWAP1 00000b91: POP 00000b92: SUB 00000b93: SWAP2 00000b94: POP 00000b95: DUP2 00000b96: PUSH2 0x0b9f 00000b99: SWAP2 00000b9a: SWAP1 00000b9b: PUSH2 0x20dc 00000b9e: JUMP 00000b9f: JUMPDEST 00000ba0: POP 00000ba1: PUSH1 0x03 00000ba3: DUP1 00000ba4: SLOAD 00000ba5: SWAP1 00000ba6: POP 00000ba7: PUSH1 0x04 00000ba9: SLOAD 00000baa: GT 00000bab: ISZERO 00000bac: PUSH2 0x0bbe 00000baf: JUMPI 00000bb0: PUSH2 0x0bbd 00000bb3: PUSH1 0x03 00000bb5: DUP1 00000bb6: SLOAD 00000bb7: SWAP1 00000bb8: POP 00000bb9: PUSH2 0x1711 00000bbc: JUMP 00000bbd: JUMPDEST 00000bbe: JUMPDEST 00000bbf: DUP3 00000bc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bd5: AND 00000bd6: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 00000bf7: PUSH1 0x40 00000bf9: MLOAD 00000bfa: PUSH1 0x40 00000bfc: MLOAD 00000bfd: DUP1 00000bfe: SWAP2 00000bff: SUB 00000c00: SWAP1 00000c01: LOG2 00000c02: POP 00000c03: POP 00000c04: POP 00000c05: JUMP 00000c06: JUMPDEST 00000c07: CALLER 00000c08: PUSH1 0x02 00000c0a: PUSH1 0x00 00000c0c: DUP3 00000c0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c22: AND 00000c23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c38: AND 00000c39: DUP2 00000c3a: MSTORE 00000c3b: PUSH1 0x20 00000c3d: ADD 00000c3e: SWAP1 00000c3f: DUP2 00000c40: MSTORE 00000c41: PUSH1 0x20 00000c43: ADD 00000c44: PUSH1 0x00 00000c46: KECCAK256 00000c47: PUSH1 0x00 00000c49: SWAP1 00000c4a: SLOAD 00000c4b: SWAP1 00000c4c: PUSH2 0x0100 00000c4f: EXP 00000c50: SWAP1 00000c51: DIV 00000c52: PUSH1 0xff 00000c54: AND 00000c55: ISZERO 00000c56: ISZERO 00000c57: PUSH2 0x0c5f 00000c5a: JUMPI 00000c5b: PUSH1 0x00 00000c5d: DUP1 00000c5e: REVERT 00000c5f: JUMPDEST 00000c60: DUP2 00000c61: CALLER 00000c62: PUSH1 0x01 00000c64: PUSH1 0x00 00000c66: DUP4 00000c67: DUP2 00000c68: MSTORE 00000c69: PUSH1 0x20 00000c6b: ADD 00000c6c: SWAP1 00000c6d: DUP2 00000c6e: MSTORE 00000c6f: PUSH1 0x20 00000c71: ADD 00000c72: PUSH1 0x00 00000c74: KECCAK256 00000c75: PUSH1 0x00 00000c77: DUP3 00000c78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c8d: AND 00000c8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca3: AND 00000ca4: DUP2 00000ca5: MSTORE 00000ca6: PUSH1 0x20 00000ca8: ADD 00000ca9: SWAP1 00000caa: DUP2 00000cab: MSTORE 00000cac: PUSH1 0x20 00000cae: ADD 00000caf: PUSH1 0x00 00000cb1: KECCAK256 00000cb2: PUSH1 0x00 00000cb4: SWAP1 00000cb5: SLOAD 00000cb6: SWAP1 00000cb7: PUSH2 0x0100 00000cba: EXP 00000cbb: SWAP1 00000cbc: DIV 00000cbd: PUSH1 0xff 00000cbf: AND 00000cc0: ISZERO 00000cc1: ISZERO 00000cc2: PUSH2 0x0cca 00000cc5: JUMPI 00000cc6: PUSH1 0x00 00000cc8: DUP1 00000cc9: REVERT 00000cca: JUMPDEST 00000ccb: DUP4 00000ccc: PUSH1 0x00 00000cce: DUP1 00000ccf: DUP3 00000cd0: DUP2 00000cd1: MSTORE 00000cd2: PUSH1 0x20 00000cd4: ADD 00000cd5: SWAP1 00000cd6: DUP2 00000cd7: MSTORE 00000cd8: PUSH1 0x20 00000cda: ADD 00000cdb: PUSH1 0x00 00000cdd: KECCAK256 00000cde: PUSH1 0x03 00000ce0: ADD 00000ce1: PUSH1 0x00 00000ce3: SWAP1 00000ce4: SLOAD 00000ce5: SWAP1 00000ce6: PUSH2 0x0100 00000ce9: EXP 00000cea: SWAP1 00000ceb: DIV 00000cec: PUSH1 0xff 00000cee: AND 00000cef: ISZERO 00000cf0: ISZERO 00000cf1: ISZERO 00000cf2: PUSH2 0x0cfa 00000cf5: JUMPI 00000cf6: PUSH1 0x00 00000cf8: DUP1 00000cf9: REVERT 00000cfa: JUMPDEST 00000cfb: PUSH1 0x00 00000cfd: PUSH1 0x01 00000cff: PUSH1 0x00 00000d01: DUP8 00000d02: DUP2 00000d03: MSTORE 00000d04: PUSH1 0x20 00000d06: ADD 00000d07: SWAP1 00000d08: DUP2 00000d09: MSTORE 00000d0a: PUSH1 0x20 00000d0c: ADD 00000d0d: PUSH1 0x00 00000d0f: KECCAK256 00000d10: PUSH1 0x00 00000d12: CALLER 00000d13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d28: AND 00000d29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d3e: AND 00000d3f: DUP2 00000d40: MSTORE 00000d41: PUSH1 0x20 00000d43: ADD 00000d44: SWAP1 00000d45: DUP2 00000d46: MSTORE 00000d47: PUSH1 0x20 00000d49: ADD 00000d4a: PUSH1 0x00 00000d4c: KECCAK256 00000d4d: PUSH1 0x00 00000d4f: PUSH2 0x0100 00000d52: EXP 00000d53: DUP2 00000d54: SLOAD 00000d55: DUP2 00000d56: PUSH1 0xff 00000d58: MUL 00000d59: NOT 00000d5a: AND 00000d5b: SWAP1 00000d5c: DUP4 00000d5d: ISZERO 00000d5e: ISZERO 00000d5f: MUL 00000d60: OR 00000d61: SWAP1 00000d62: SSTORE 00000d63: POP 00000d64: DUP5 00000d65: CALLER 00000d66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d7b: AND 00000d7c: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9 00000d9d: PUSH1 0x40 00000d9f: MLOAD 00000da0: PUSH1 0x40 00000da2: MLOAD 00000da3: DUP1 00000da4: SWAP2 00000da5: SUB 00000da6: SWAP1 00000da7: LOG3 00000da8: POP 00000da9: POP 00000daa: POP 00000dab: POP 00000dac: POP 00000dad: JUMP 00000dae: JUMPDEST 00000daf: PUSH1 0x02 00000db1: PUSH1 0x20 00000db3: MSTORE 00000db4: DUP1 00000db5: PUSH1 0x00 00000db7: MSTORE 00000db8: PUSH1 0x40 00000dba: PUSH1 0x00 00000dbc: KECCAK256 00000dbd: PUSH1 0x00 00000dbf: SWAP2 00000dc0: POP 00000dc1: SLOAD 00000dc2: SWAP1 00000dc3: PUSH2 0x0100 00000dc6: EXP 00000dc7: SWAP1 00000dc8: DIV 00000dc9: PUSH1 0xff 00000dcb: AND 00000dcc: DUP2 00000dcd: JUMP 00000dce: JUMPDEST 00000dcf: PUSH1 0x01 00000dd1: PUSH1 0x20 00000dd3: MSTORE 00000dd4: DUP2 00000dd5: PUSH1 0x00 00000dd7: MSTORE 00000dd8: PUSH1 0x40 00000dda: PUSH1 0x00 00000ddc: KECCAK256 00000ddd: PUSH1 0x20 00000ddf: MSTORE 00000de0: DUP1 00000de1: PUSH1 0x00 00000de3: MSTORE 00000de4: PUSH1 0x40 00000de6: PUSH1 0x00 00000de8: KECCAK256 00000de9: PUSH1 0x00 00000deb: SWAP2 00000dec: POP 00000ded: SWAP2 00000dee: POP 00000def: SWAP1 00000df0: SLOAD 00000df1: SWAP1 00000df2: PUSH2 0x0100 00000df5: EXP 00000df6: SWAP1 00000df7: DIV 00000df8: PUSH1 0xff 00000dfa: AND 00000dfb: DUP2 00000dfc: JUMP 00000dfd: JUMPDEST 00000dfe: PUSH1 0x00 00000e00: DUP1 00000e01: PUSH1 0x00 00000e03: SWAP1 00000e04: POP 00000e05: JUMPDEST 00000e06: PUSH1 0x05 00000e08: SLOAD 00000e09: DUP2 00000e0a: LT 00000e0b: ISZERO 00000e0c: PUSH2 0x0e88 00000e0f: JUMPI 00000e10: DUP4 00000e11: DUP1 00000e12: ISZERO 00000e13: PUSH2 0x0e3c 00000e16: JUMPI 00000e17: POP 00000e18: PUSH1 0x00 00000e1a: DUP1 00000e1b: DUP3 00000e1c: DUP2 00000e1d: MSTORE 00000e1e: PUSH1 0x20 00000e20: ADD 00000e21: SWAP1 00000e22: DUP2 00000e23: MSTORE 00000e24: PUSH1 0x20 00000e26: ADD 00000e27: PUSH1 0x00 00000e29: KECCAK256 00000e2a: PUSH1 0x03 00000e2c: ADD 00000e2d: PUSH1 0x00 00000e2f: SWAP1 00000e30: SLOAD 00000e31: SWAP1 00000e32: PUSH2 0x0100 00000e35: EXP 00000e36: SWAP1 00000e37: DIV 00000e38: PUSH1 0xff 00000e3a: AND 00000e3b: ISZERO 00000e3c: JUMPDEST 00000e3d: DUP1 00000e3e: PUSH2 0x0e6f 00000e41: JUMPI 00000e42: POP 00000e43: DUP3 00000e44: DUP1 00000e45: ISZERO 00000e46: PUSH2 0x0e6e 00000e49: JUMPI 00000e4a: POP 00000e4b: PUSH1 0x00 00000e4d: DUP1 00000e4e: DUP3 00000e4f: DUP2 00000e50: MSTORE 00000e51: PUSH1 0x20 00000e53: ADD 00000e54: SWAP1 00000e55: DUP2 00000e56: MSTORE 00000e57: PUSH1 0x20 00000e59: ADD 00000e5a: PUSH1 0x00 00000e5c: KECCAK256 00000e5d: PUSH1 0x03 00000e5f: ADD 00000e60: PUSH1 0x00 00000e62: SWAP1 00000e63: SLOAD 00000e64: SWAP1 00000e65: PUSH2 0x0100 00000e68: EXP 00000e69: SWAP1 00000e6a: DIV 00000e6b: PUSH1 0xff 00000e6d: AND 00000e6e: JUMPDEST 00000e6f: JUMPDEST 00000e70: ISZERO 00000e71: PUSH2 0x0e7b 00000e74: JUMPI 00000e75: PUSH1 0x01 00000e77: DUP3 00000e78: ADD 00000e79: SWAP2 00000e7a: POP 00000e7b: JUMPDEST 00000e7c: DUP1 00000e7d: DUP1 00000e7e: PUSH1 0x01 00000e80: ADD 00000e81: SWAP2 00000e82: POP 00000e83: POP 00000e84: PUSH2 0x0e05 00000e87: JUMP 00000e88: JUMPDEST 00000e89: POP 00000e8a: SWAP3 00000e8b: SWAP2 00000e8c: POP 00000e8d: POP 00000e8e: JUMP 00000e8f: JUMPDEST 00000e90: PUSH1 0x00 00000e92: PUSH1 0x06 00000e94: PUSH1 0x00 00000e96: SWAP1 00000e97: SLOAD 00000e98: SWAP1 00000e99: PUSH2 0x0100 00000e9c: EXP 00000e9d: SWAP1 00000e9e: DIV 00000e9f: PUSH3 0xffffff 00000ea3: AND 00000ea4: PUSH3 0xffffff 00000ea8: AND 00000ea9: PUSH1 0x00 00000eab: DUP1 00000eac: DUP5 00000ead: DUP2 00000eae: MSTORE 00000eaf: PUSH1 0x20 00000eb1: ADD 00000eb2: SWAP1 00000eb3: DUP2 00000eb4: MSTORE 00000eb5: PUSH1 0x20 00000eb7: ADD 00000eb8: PUSH1 0x00 00000eba: KECCAK256 00000ebb: PUSH1 0x04 00000ebd: ADD 00000ebe: SLOAD 00000ebf: ADD 00000ec0: TIMESTAMP 00000ec1: LT 00000ec2: SWAP1 00000ec3: POP 00000ec4: SWAP2 00000ec5: SWAP1 00000ec6: POP 00000ec7: JUMP 00000ec8: JUMPDEST 00000ec9: ADDRESS 00000eca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000edf: AND 00000ee0: CALLER 00000ee1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ef6: AND 00000ef7: EQ 00000ef8: ISZERO 00000ef9: ISZERO 00000efa: PUSH2 0x0f02 00000efd: JUMPI 00000efe: PUSH1 0x00 00000f00: DUP1 00000f01: REVERT 00000f02: JUMPDEST 00000f03: DUP1 00000f04: PUSH1 0x02 00000f06: PUSH1 0x00 00000f08: DUP3 00000f09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f1e: AND 00000f1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f34: AND 00000f35: DUP2 00000f36: MSTORE 00000f37: PUSH1 0x20 00000f39: ADD 00000f3a: SWAP1 00000f3b: DUP2 00000f3c: MSTORE 00000f3d: PUSH1 0x20 00000f3f: ADD 00000f40: PUSH1 0x00 00000f42: KECCAK256 00000f43: PUSH1 0x00 00000f45: SWAP1 00000f46: SLOAD 00000f47: SWAP1 00000f48: PUSH2 0x0100 00000f4b: EXP 00000f4c: SWAP1 00000f4d: DIV 00000f4e: PUSH1 0xff 00000f50: AND 00000f51: ISZERO 00000f52: ISZERO 00000f53: ISZERO 00000f54: PUSH2 0x0f5c 00000f57: JUMPI 00000f58: PUSH1 0x00 00000f5a: DUP1 00000f5b: REVERT 00000f5c: JUMPDEST 00000f5d: DUP2 00000f5e: PUSH1 0x00 00000f60: DUP2 00000f61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f76: AND 00000f77: EQ 00000f78: ISZERO 00000f79: ISZERO 00000f7a: ISZERO 00000f7b: PUSH2 0x0f83 00000f7e: JUMPI 00000f7f: PUSH1 0x00 00000f81: DUP1 00000f82: REVERT 00000f83: JUMPDEST 00000f84: PUSH1 0x01 00000f86: PUSH1 0x03 00000f88: DUP1 00000f89: SLOAD 00000f8a: SWAP1 00000f8b: POP 00000f8c: ADD 00000f8d: PUSH1 0x04 00000f8f: SLOAD 00000f90: PUSH1 0x32 00000f92: DUP3 00000f93: GT 00000f94: ISZERO 00000f95: DUP1 00000f96: ISZERO 00000f97: PUSH2 0x0fa0 00000f9a: JUMPI 00000f9b: POP 00000f9c: DUP2 00000f9d: DUP2 00000f9e: GT 00000f9f: ISZERO 00000fa0: JUMPDEST 00000fa1: DUP1 00000fa2: ISZERO 00000fa3: PUSH2 0x0fac 00000fa6: JUMPI 00000fa7: POP 00000fa8: PUSH1 0x00 00000faa: DUP2 00000fab: GT 00000fac: JUMPDEST 00000fad: DUP1 00000fae: ISZERO 00000faf: PUSH2 0x0fb8 00000fb2: JUMPI 00000fb3: POP 00000fb4: PUSH1 0x00 00000fb6: DUP3 00000fb7: GT 00000fb8: JUMPDEST 00000fb9: ISZERO 00000fba: ISZERO 00000fbb: PUSH2 0x0fc3 00000fbe: JUMPI 00000fbf: PUSH1 0x00 00000fc1: DUP1 00000fc2: REVERT 00000fc3: JUMPDEST 00000fc4: PUSH1 0x01 00000fc6: PUSH1 0x02 00000fc8: PUSH1 0x00 00000fca: DUP8 00000fcb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fe0: AND 00000fe1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ff6: AND 00000ff7: DUP2 00000ff8: MSTORE 00000ff9: PUSH1 0x20 00000ffb: ADD 00000ffc: SWAP1 00000ffd: DUP2 00000ffe: MSTORE 00000fff: PUSH1 0x20 00001001: ADD 00001002: PUSH1 0x00 00001004: KECCAK256 00001005: PUSH1 0x00 00001007: PUSH2 0x0100 0000100a: EXP 0000100b: DUP2 0000100c: SLOAD 0000100d: DUP2 0000100e: PUSH1 0xff 00001010: MUL 00001011: NOT 00001012: AND 00001013: SWAP1 00001014: DUP4 00001015: ISZERO 00001016: ISZERO 00001017: MUL 00001018: OR 00001019: SWAP1 0000101a: SSTORE 0000101b: POP 0000101c: PUSH1 0x03 0000101e: DUP1 0000101f: SLOAD 00001020: DUP1 00001021: PUSH1 0x01 00001023: ADD 00001024: DUP3 00001025: DUP2 00001026: PUSH2 0x102f 00001029: SWAP2 0000102a: SWAP1 0000102b: PUSH2 0x2108 0000102e: JUMP 0000102f: JUMPDEST 00001030: SWAP2 00001031: PUSH1 0x00 00001033: MSTORE 00001034: PUSH1 0x20 00001036: PUSH1 0x00 00001038: KECCAK256 00001039: SWAP1 0000103a: ADD 0000103b: PUSH1 0x00 0000103d: DUP8 0000103e: SWAP1 0000103f: SWAP2 00001040: SWAP1 00001041: SWAP2 00001042: PUSH2 0x0100 00001045: EXP 00001046: DUP2 00001047: SLOAD 00001048: DUP2 00001049: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000105e: MUL 0000105f: NOT 00001060: AND 00001061: SWAP1 00001062: DUP4 00001063: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001078: AND 00001079: MUL 0000107a: OR 0000107b: SWAP1 0000107c: SSTORE 0000107d: POP 0000107e: POP 0000107f: DUP5 00001080: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001095: AND 00001096: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 000010b7: PUSH1 0x40 000010b9: MLOAD 000010ba: PUSH1 0x40 000010bc: MLOAD 000010bd: DUP1 000010be: SWAP2 000010bf: SUB 000010c0: SWAP1 000010c1: LOG2 000010c2: POP 000010c3: POP 000010c4: POP 000010c5: POP 000010c6: POP 000010c7: JUMP 000010c8: JUMPDEST 000010c9: PUSH1 0x00 000010cb: DUP1 000010cc: PUSH1 0x00 000010ce: DUP1 000010cf: SWAP2 000010d0: POP 000010d1: PUSH1 0x00 000010d3: SWAP1 000010d4: POP 000010d5: JUMPDEST 000010d6: PUSH1 0x03 000010d8: DUP1 000010d9: SLOAD 000010da: SWAP1 000010db: POP 000010dc: DUP2 000010dd: LT 000010de: ISZERO 000010df: PUSH2 0x11a6 000010e2: JUMPI 000010e3: PUSH1 0x01 000010e5: PUSH1 0x00 000010e7: DUP6 000010e8: DUP2 000010e9: MSTORE 000010ea: PUSH1 0x20 000010ec: ADD 000010ed: SWAP1 000010ee: DUP2 000010ef: MSTORE 000010f0: PUSH1 0x20 000010f2: ADD 000010f3: PUSH1 0x00 000010f5: KECCAK256 000010f6: PUSH1 0x00 000010f8: PUSH1 0x03 000010fa: DUP4 000010fb: DUP2 000010fc: SLOAD 000010fd: DUP2 000010fe: LT 000010ff: ISZERO 00001100: ISZERO 00001101: PUSH2 0x1106 00001104: JUMPI 00001105: INVALID 00001106: JUMPDEST 00001107: SWAP1 00001108: PUSH1 0x00 0000110a: MSTORE 0000110b: PUSH1 0x20 0000110d: PUSH1 0x00 0000110f: KECCAK256 00001110: SWAP1 00001111: ADD 00001112: PUSH1 0x00 00001114: SWAP1 00001115: SLOAD 00001116: SWAP1 00001117: PUSH2 0x0100 0000111a: EXP 0000111b: SWAP1 0000111c: DIV 0000111d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001132: AND 00001133: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001148: AND 00001149: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000115e: AND 0000115f: DUP2 00001160: MSTORE 00001161: PUSH1 0x20 00001163: ADD 00001164: SWAP1 00001165: DUP2 00001166: MSTORE 00001167: PUSH1 0x20 00001169: ADD 0000116a: PUSH1 0x00 0000116c: KECCAK256 0000116d: PUSH1 0x00 0000116f: SWAP1 00001170: SLOAD 00001171: SWAP1 00001172: PUSH2 0x0100 00001175: EXP 00001176: SWAP1 00001177: DIV 00001178: PUSH1 0xff 0000117a: AND 0000117b: ISZERO 0000117c: PUSH2 0x1186 0000117f: JUMPI 00001180: PUSH1 0x01 00001182: DUP3 00001183: ADD 00001184: SWAP2 00001185: POP 00001186: JUMPDEST 00001187: PUSH1 0x04 00001189: SLOAD 0000118a: DUP3 0000118b: EQ 0000118c: ISZERO 0000118d: PUSH2 0x1199 00001190: JUMPI 00001191: PUSH1 0x01 00001193: SWAP3 00001194: POP 00001195: PUSH2 0x11a7 00001198: JUMP 00001199: JUMPDEST 0000119a: DUP1 0000119b: DUP1 0000119c: PUSH1 0x01 0000119e: ADD 0000119f: SWAP2 000011a0: POP 000011a1: POP 000011a2: PUSH2 0x10d5 000011a5: JUMP 000011a6: JUMPDEST 000011a7: JUMPDEST 000011a8: POP 000011a9: POP 000011aa: SWAP2 000011ab: SWAP1 000011ac: POP 000011ad: JUMP 000011ae: JUMPDEST 000011af: PUSH1 0x06 000011b1: PUSH1 0x00 000011b3: SWAP1 000011b4: SLOAD 000011b5: SWAP1 000011b6: PUSH2 0x0100 000011b9: EXP 000011ba: SWAP1 000011bb: DIV 000011bc: PUSH3 0xffffff 000011c0: AND 000011c1: DUP2 000011c2: JUMP 000011c3: JUMPDEST 000011c4: PUSH1 0x00 000011c6: DUP1 000011c7: PUSH1 0x00 000011c9: SWAP1 000011ca: POP 000011cb: JUMPDEST 000011cc: PUSH1 0x03 000011ce: DUP1 000011cf: SLOAD 000011d0: SWAP1 000011d1: POP 000011d2: DUP2 000011d3: LT 000011d4: ISZERO 000011d5: PUSH2 0x1289 000011d8: JUMPI 000011d9: PUSH1 0x01 000011db: PUSH1 0x00 000011dd: DUP5 000011de: DUP2 000011df: MSTORE 000011e0: PUSH1 0x20 000011e2: ADD 000011e3: SWAP1 000011e4: DUP2 000011e5: MSTORE 000011e6: PUSH1 0x20 000011e8: ADD 000011e9: PUSH1 0x00 000011eb: KECCAK256 000011ec: PUSH1 0x00 000011ee: PUSH1 0x03 000011f0: DUP4 000011f1: DUP2 000011f2: SLOAD 000011f3: DUP2 000011f4: LT 000011f5: ISZERO 000011f6: ISZERO 000011f7: PUSH2 0x11fc 000011fa: JUMPI 000011fb: INVALID 000011fc: JUMPDEST 000011fd: SWAP1 000011fe: PUSH1 0x00 00001200: MSTORE 00001201: PUSH1 0x20 00001203: PUSH1 0x00 00001205: KECCAK256 00001206: SWAP1 00001207: ADD 00001208: PUSH1 0x00 0000120a: SWAP1 0000120b: SLOAD 0000120c: SWAP1 0000120d: PUSH2 0x0100 00001210: EXP 00001211: SWAP1 00001212: DIV 00001213: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001228: AND 00001229: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000123e: AND 0000123f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001254: AND 00001255: DUP2 00001256: MSTORE 00001257: PUSH1 0x20 00001259: ADD 0000125a: SWAP1 0000125b: DUP2 0000125c: MSTORE 0000125d: PUSH1 0x20 0000125f: ADD 00001260: PUSH1 0x00 00001262: KECCAK256 00001263: PUSH1 0x00 00001265: SWAP1 00001266: SLOAD 00001267: SWAP1 00001268: PUSH2 0x0100 0000126b: EXP 0000126c: SWAP1 0000126d: DIV 0000126e: PUSH1 0xff 00001270: AND 00001271: ISZERO 00001272: PUSH2 0x127c 00001275: JUMPI 00001276: PUSH1 0x01 00001278: DUP3 00001279: ADD 0000127a: SWAP2 0000127b: POP 0000127c: JUMPDEST 0000127d: DUP1 0000127e: DUP1 0000127f: PUSH1 0x01 00001281: ADD 00001282: SWAP2 00001283: POP 00001284: POP 00001285: PUSH2 0x11cb 00001288: JUMP 00001289: JUMPDEST 0000128a: POP 0000128b: SWAP2 0000128c: SWAP1 0000128d: POP 0000128e: JUMP 0000128f: JUMPDEST 00001290: PUSH1 0x00 00001292: PUSH1 0x20 00001294: MSTORE 00001295: DUP1 00001296: PUSH1 0x00 00001298: MSTORE 00001299: PUSH1 0x40 0000129b: PUSH1 0x00 0000129d: KECCAK256 0000129e: PUSH1 0x00 000012a0: SWAP2 000012a1: POP 000012a2: SWAP1 000012a3: POP 000012a4: DUP1 000012a5: PUSH1 0x00 000012a7: ADD 000012a8: PUSH1 0x00 000012aa: SWAP1 000012ab: SLOAD 000012ac: SWAP1 000012ad: PUSH2 0x0100 000012b0: EXP 000012b1: SWAP1 000012b2: DIV 000012b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c8: AND 000012c9: SWAP1 000012ca: DUP1 000012cb: PUSH1 0x01 000012cd: ADD 000012ce: SLOAD 000012cf: SWAP1 000012d0: DUP1 000012d1: PUSH1 0x02 000012d3: ADD 000012d4: SWAP1 000012d5: DUP1 000012d6: PUSH1 0x03 000012d8: ADD 000012d9: PUSH1 0x00 000012db: SWAP1 000012dc: SLOAD 000012dd: SWAP1 000012de: PUSH2 0x0100 000012e1: EXP 000012e2: SWAP1 000012e3: DIV 000012e4: PUSH1 0xff 000012e6: AND 000012e7: SWAP1 000012e8: DUP1 000012e9: PUSH1 0x04 000012eb: ADD 000012ec: SLOAD 000012ed: SWAP1 000012ee: POP 000012ef: DUP6 000012f0: JUMP 000012f1: JUMPDEST 000012f2: PUSH2 0x12f9 000012f5: PUSH2 0x2134 000012f8: JUMP 000012f9: JUMPDEST 000012fa: PUSH1 0x03 000012fc: DUP1 000012fd: SLOAD 000012fe: DUP1 000012ff: PUSH1 0x20 00001301: MUL 00001302: PUSH1 0x20 00001304: ADD 00001305: PUSH1 0x40 00001307: MLOAD 00001308: SWAP1 00001309: DUP2 0000130a: ADD 0000130b: PUSH1 0x40 0000130d: MSTORE 0000130e: DUP1 0000130f: SWAP3 00001310: SWAP2 00001311: SWAP1 00001312: DUP2 00001313: DUP2 00001314: MSTORE 00001315: PUSH1 0x20 00001317: ADD 00001318: DUP3 00001319: DUP1 0000131a: SLOAD 0000131b: DUP1 0000131c: ISZERO 0000131d: PUSH2 0x137b 00001320: JUMPI 00001321: PUSH1 0x20 00001323: MUL 00001324: DUP3 00001325: ADD 00001326: SWAP2 00001327: SWAP1 00001328: PUSH1 0x00 0000132a: MSTORE 0000132b: PUSH1 0x20 0000132d: PUSH1 0x00 0000132f: KECCAK256 00001330: SWAP1 00001331: JUMPDEST 00001332: DUP2 00001333: PUSH1 0x00 00001335: SWAP1 00001336: SLOAD 00001337: SWAP1 00001338: PUSH2 0x0100 0000133b: EXP 0000133c: SWAP1 0000133d: DIV 0000133e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001353: AND 00001354: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001369: AND 0000136a: DUP2 0000136b: MSTORE 0000136c: PUSH1 0x20 0000136e: ADD 0000136f: SWAP1 00001370: PUSH1 0x01 00001372: ADD 00001373: SWAP1 00001374: DUP1 00001375: DUP4 00001376: GT 00001377: PUSH2 0x1331 0000137a: JUMPI 0000137b: JUMPDEST 0000137c: POP 0000137d: POP 0000137e: POP 0000137f: POP 00001380: POP 00001381: SWAP1 00001382: POP 00001383: SWAP1 00001384: JUMP 00001385: JUMPDEST 00001386: PUSH2 0x138d 00001389: PUSH2 0x2148 0000138c: JUMP 0000138d: JUMPDEST 0000138e: PUSH2 0x1395 00001391: PUSH2 0x2148 00001394: JUMP 00001395: JUMPDEST 00001396: PUSH1 0x00 00001398: DUP1 00001399: PUSH1 0x05 0000139b: SLOAD 0000139c: PUSH1 0x40 0000139e: MLOAD 0000139f: DUP1 000013a0: MSIZE 000013a1: LT 000013a2: PUSH2 0x13a8 000013a5: JUMPI 000013a6: POP 000013a7: MSIZE 000013a8: JUMPDEST 000013a9: SWAP1 000013aa: DUP1 000013ab: DUP3 000013ac: MSTORE 000013ad: DUP1 000013ae: PUSH1 0x20 000013b0: MUL 000013b1: PUSH1 0x20 000013b3: ADD 000013b4: DUP3 000013b5: ADD 000013b6: PUSH1 0x40 000013b8: MSTORE 000013b9: POP 000013ba: SWAP3 000013bb: POP 000013bc: PUSH1 0x00 000013be: SWAP2 000013bf: POP 000013c0: PUSH1 0x00 000013c2: SWAP1 000013c3: POP 000013c4: JUMPDEST 000013c5: PUSH1 0x05 000013c7: SLOAD 000013c8: DUP2 000013c9: LT 000013ca: ISZERO 000013cb: PUSH2 0x1464 000013ce: JUMPI 000013cf: DUP6 000013d0: DUP1 000013d1: ISZERO 000013d2: PUSH2 0x13fb 000013d5: JUMPI 000013d6: POP 000013d7: PUSH1 0x00 000013d9: DUP1 000013da: DUP3 000013db: DUP2 000013dc: MSTORE 000013dd: PUSH1 0x20 000013df: ADD 000013e0: SWAP1 000013e1: DUP2 000013e2: MSTORE 000013e3: PUSH1 0x20 000013e5: ADD 000013e6: PUSH1 0x00 000013e8: KECCAK256 000013e9: PUSH1 0x03 000013eb: ADD 000013ec: PUSH1 0x00 000013ee: SWAP1 000013ef: SLOAD 000013f0: SWAP1 000013f1: PUSH2 0x0100 000013f4: EXP 000013f5: SWAP1 000013f6: DIV 000013f7: PUSH1 0xff 000013f9: AND 000013fa: ISZERO 000013fb: JUMPDEST 000013fc: DUP1 000013fd: PUSH2 0x142e 00001400: JUMPI 00001401: POP 00001402: DUP5 00001403: DUP1 00001404: ISZERO 00001405: PUSH2 0x142d 00001408: JUMPI 00001409: POP 0000140a: PUSH1 0x00 0000140c: DUP1 0000140d: DUP3 0000140e: DUP2 0000140f: MSTORE 00001410: PUSH1 0x20 00001412: ADD 00001413: SWAP1 00001414: DUP2 00001415: MSTORE 00001416: PUSH1 0x20 00001418: ADD 00001419: PUSH1 0x00 0000141b: KECCAK256 0000141c: PUSH1 0x03 0000141e: ADD 0000141f: PUSH1 0x00 00001421: SWAP1 00001422: SLOAD 00001423: SWAP1 00001424: PUSH2 0x0100 00001427: EXP 00001428: SWAP1 00001429: DIV 0000142a: PUSH1 0xff 0000142c: AND 0000142d: JUMPDEST 0000142e: JUMPDEST 0000142f: ISZERO 00001430: PUSH2 0x1457 00001433: JUMPI 00001434: DUP1 00001435: DUP4 00001436: DUP4 00001437: DUP2 00001438: MLOAD 00001439: DUP2 0000143a: LT 0000143b: ISZERO 0000143c: ISZERO 0000143d: PUSH2 0x1442 00001440: JUMPI 00001441: INVALID 00001442: JUMPDEST 00001443: SWAP1 00001444: PUSH1 0x20 00001446: ADD 00001447: SWAP1 00001448: PUSH1 0x20 0000144a: MUL 0000144b: ADD 0000144c: DUP2 0000144d: DUP2 0000144e: MSTORE 0000144f: POP 00001450: POP 00001451: PUSH1 0x01 00001453: DUP3 00001454: ADD 00001455: SWAP2 00001456: POP 00001457: JUMPDEST 00001458: DUP1 00001459: DUP1 0000145a: PUSH1 0x01 0000145c: ADD 0000145d: SWAP2 0000145e: POP 0000145f: POP 00001460: PUSH2 0x13c4 00001463: JUMP 00001464: JUMPDEST 00001465: DUP8 00001466: DUP8 00001467: SUB 00001468: PUSH1 0x40 0000146a: MLOAD 0000146b: DUP1 0000146c: MSIZE 0000146d: LT 0000146e: PUSH2 0x1474 00001471: JUMPI 00001472: POP 00001473: MSIZE 00001474: JUMPDEST 00001475: SWAP1 00001476: DUP1 00001477: DUP3 00001478: MSTORE 00001479: DUP1 0000147a: PUSH1 0x20 0000147c: MUL 0000147d: PUSH1 0x20 0000147f: ADD 00001480: DUP3 00001481: ADD 00001482: PUSH1 0x40 00001484: MSTORE 00001485: POP 00001486: SWAP4 00001487: POP 00001488: DUP8 00001489: SWAP1 0000148a: POP 0000148b: JUMPDEST 0000148c: DUP7 0000148d: DUP2 0000148e: LT 0000148f: ISZERO 00001490: PUSH2 0x14d6 00001493: JUMPI 00001494: DUP3 00001495: DUP2 00001496: DUP2 00001497: MLOAD 00001498: DUP2 00001499: LT 0000149a: ISZERO 0000149b: ISZERO 0000149c: PUSH2 0x14a1 0000149f: JUMPI 000014a0: INVALID 000014a1: JUMPDEST 000014a2: SWAP1 000014a3: PUSH1 0x20 000014a5: ADD 000014a6: SWAP1 000014a7: PUSH1 0x20 000014a9: MUL 000014aa: ADD 000014ab: MLOAD 000014ac: DUP5 000014ad: DUP10 000014ae: DUP4 000014af: SUB 000014b0: DUP2 000014b1: MLOAD 000014b2: DUP2 000014b3: LT 000014b4: ISZERO 000014b5: ISZERO 000014b6: PUSH2 0x14bb 000014b9: JUMPI 000014ba: INVALID 000014bb: JUMPDEST 000014bc: SWAP1 000014bd: PUSH1 0x20 000014bf: ADD 000014c0: SWAP1 000014c1: PUSH1 0x20 000014c3: MUL 000014c4: ADD 000014c5: DUP2 000014c6: DUP2 000014c7: MSTORE 000014c8: POP 000014c9: POP 000014ca: DUP1 000014cb: DUP1 000014cc: PUSH1 0x01 000014ce: ADD 000014cf: SWAP2 000014d0: POP 000014d1: POP 000014d2: PUSH2 0x148b 000014d5: JUMP 000014d6: JUMPDEST 000014d7: POP 000014d8: POP 000014d9: POP 000014da: SWAP5 000014db: SWAP4 000014dc: POP 000014dd: POP 000014de: POP 000014df: POP 000014e0: JUMP 000014e1: JUMPDEST 000014e2: PUSH2 0x14e9 000014e5: PUSH2 0x2134 000014e8: JUMP 000014e9: JUMPDEST 000014ea: PUSH2 0x14f1 000014ed: PUSH2 0x2134 000014f0: JUMP 000014f1: JUMPDEST 000014f2: PUSH1 0x00 000014f4: DUP1 000014f5: PUSH1 0x03 000014f7: DUP1 000014f8: SLOAD 000014f9: SWAP1 000014fa: POP 000014fb: PUSH1 0x40 000014fd: MLOAD 000014fe: DUP1 000014ff: MSIZE 00001500: LT 00001501: PUSH2 0x1507 00001504: JUMPI 00001505: POP 00001506: MSIZE 00001507: JUMPDEST 00001508: SWAP1 00001509: DUP1 0000150a: DUP3 0000150b: MSTORE 0000150c: DUP1 0000150d: PUSH1 0x20 0000150f: MUL 00001510: PUSH1 0x20 00001512: ADD 00001513: DUP3 00001514: ADD 00001515: PUSH1 0x40 00001517: MSTORE 00001518: POP 00001519: SWAP3 0000151a: POP 0000151b: PUSH1 0x00 0000151d: SWAP2 0000151e: POP 0000151f: PUSH1 0x00 00001521: SWAP1 00001522: POP 00001523: JUMPDEST 00001524: PUSH1 0x03 00001526: DUP1 00001527: SLOAD 00001528: SWAP1 00001529: POP 0000152a: DUP2 0000152b: LT 0000152c: ISZERO 0000152d: PUSH2 0x1666 00001530: JUMPI 00001531: PUSH1 0x01 00001533: PUSH1 0x00 00001535: DUP7 00001536: DUP2 00001537: MSTORE 00001538: PUSH1 0x20 0000153a: ADD 0000153b: SWAP1 0000153c: DUP2 0000153d: MSTORE 0000153e: PUSH1 0x20 00001540: ADD 00001541: PUSH1 0x00 00001543: KECCAK256 00001544: PUSH1 0x00 00001546: PUSH1 0x03 00001548: DUP4 00001549: DUP2 0000154a: SLOAD 0000154b: DUP2 0000154c: LT 0000154d: ISZERO 0000154e: ISZERO 0000154f: PUSH2 0x1554 00001552: JUMPI 00001553: INVALID 00001554: JUMPDEST 00001555: SWAP1 00001556: PUSH1 0x00 00001558: MSTORE 00001559: PUSH1 0x20 0000155b: PUSH1 0x00 0000155d: KECCAK256 0000155e: SWAP1 0000155f: ADD 00001560: PUSH1 0x00 00001562: SWAP1 00001563: SLOAD 00001564: SWAP1 00001565: PUSH2 0x0100 00001568: EXP 00001569: SWAP1 0000156a: DIV 0000156b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001580: AND 00001581: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001596: AND 00001597: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015ac: AND 000015ad: DUP2 000015ae: MSTORE 000015af: PUSH1 0x20 000015b1: ADD 000015b2: SWAP1 000015b3: DUP2 000015b4: MSTORE 000015b5: PUSH1 0x20 000015b7: ADD 000015b8: PUSH1 0x00 000015ba: KECCAK256 000015bb: PUSH1 0x00 000015bd: SWAP1 000015be: SLOAD 000015bf: SWAP1 000015c0: PUSH2 0x0100 000015c3: EXP 000015c4: SWAP1 000015c5: DIV 000015c6: PUSH1 0xff 000015c8: AND 000015c9: ISZERO 000015ca: PUSH2 0x1659 000015cd: JUMPI 000015ce: PUSH1 0x03 000015d0: DUP2 000015d1: DUP2 000015d2: SLOAD 000015d3: DUP2 000015d4: LT 000015d5: ISZERO 000015d6: ISZERO 000015d7: PUSH2 0x15dc 000015da: JUMPI 000015db: INVALID 000015dc: JUMPDEST 000015dd: SWAP1 000015de: PUSH1 0x00 000015e0: MSTORE 000015e1: PUSH1 0x20 000015e3: PUSH1 0x00 000015e5: KECCAK256 000015e6: SWAP1 000015e7: ADD 000015e8: PUSH1 0x00 000015ea: SWAP1 000015eb: SLOAD 000015ec: SWAP1 000015ed: PUSH2 0x0100 000015f0: EXP 000015f1: SWAP1 000015f2: DIV 000015f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001608: AND 00001609: DUP4 0000160a: DUP4 0000160b: DUP2 0000160c: MLOAD 0000160d: DUP2 0000160e: LT 0000160f: ISZERO 00001610: ISZERO 00001611: PUSH2 0x1616 00001614: JUMPI 00001615: INVALID 00001616: JUMPDEST 00001617: SWAP1 00001618: PUSH1 0x20 0000161a: ADD 0000161b: SWAP1 0000161c: PUSH1 0x20 0000161e: MUL 0000161f: ADD 00001620: SWAP1 00001621: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001636: AND 00001637: SWAP1 00001638: DUP2 00001639: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000164e: AND 0000164f: DUP2 00001650: MSTORE 00001651: POP 00001652: POP 00001653: PUSH1 0x01 00001655: DUP3 00001656: ADD 00001657: SWAP2 00001658: POP 00001659: JUMPDEST 0000165a: DUP1 0000165b: DUP1 0000165c: PUSH1 0x01 0000165e: ADD 0000165f: SWAP2 00001660: POP 00001661: POP 00001662: PUSH2 0x1523 00001665: JUMP 00001666: JUMPDEST 00001667: DUP2 00001668: PUSH1 0x40 0000166a: MLOAD 0000166b: DUP1 0000166c: MSIZE 0000166d: LT 0000166e: PUSH2 0x1674 00001671: JUMPI 00001672: POP 00001673: MSIZE 00001674: JUMPDEST 00001675: SWAP1 00001676: DUP1 00001677: DUP3 00001678: MSTORE 00001679: DUP1 0000167a: PUSH1 0x20 0000167c: MUL 0000167d: PUSH1 0x20 0000167f: ADD 00001680: DUP3 00001681: ADD 00001682: PUSH1 0x40 00001684: MSTORE 00001685: POP 00001686: SWAP4 00001687: POP 00001688: PUSH1 0x00 0000168a: SWAP1 0000168b: POP 0000168c: JUMPDEST 0000168d: DUP2 0000168e: DUP2 0000168f: LT 00001690: ISZERO 00001691: PUSH2 0x1703 00001694: JUMPI 00001695: DUP3 00001696: DUP2 00001697: DUP2 00001698: MLOAD 00001699: DUP2 0000169a: LT 0000169b: ISZERO 0000169c: ISZERO 0000169d: PUSH2 0x16a2 000016a0: JUMPI 000016a1: INVALID 000016a2: JUMPDEST 000016a3: SWAP1 000016a4: PUSH1 0x20 000016a6: ADD 000016a7: SWAP1 000016a8: PUSH1 0x20 000016aa: MUL 000016ab: ADD 000016ac: MLOAD 000016ad: DUP5 000016ae: DUP3 000016af: DUP2 000016b0: MLOAD 000016b1: DUP2 000016b2: LT 000016b3: ISZERO 000016b4: ISZERO 000016b5: PUSH2 0x16ba 000016b8: JUMPI 000016b9: INVALID 000016ba: JUMPDEST 000016bb: SWAP1 000016bc: PUSH1 0x20 000016be: ADD 000016bf: SWAP1 000016c0: PUSH1 0x20 000016c2: MUL 000016c3: ADD 000016c4: SWAP1 000016c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016da: AND 000016db: SWAP1 000016dc: DUP2 000016dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016f2: AND 000016f3: DUP2 000016f4: MSTORE 000016f5: POP 000016f6: POP 000016f7: DUP1 000016f8: DUP1 000016f9: PUSH1 0x01 000016fb: ADD 000016fc: SWAP2 000016fd: POP 000016fe: POP 000016ff: PUSH2 0x168c 00001702: JUMP 00001703: JUMPDEST 00001704: POP 00001705: POP 00001706: POP 00001707: SWAP2 00001708: SWAP1 00001709: POP 0000170a: JUMP 0000170b: JUMPDEST 0000170c: PUSH1 0x05 0000170e: SLOAD 0000170f: DUP2 00001710: JUMP 00001711: JUMPDEST 00001712: ADDRESS 00001713: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001728: AND 00001729: CALLER 0000172a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000173f: AND 00001740: EQ 00001741: ISZERO 00001742: ISZERO 00001743: PUSH2 0x174b 00001746: JUMPI 00001747: PUSH1 0x00 00001749: DUP1 0000174a: REVERT 0000174b: JUMPDEST 0000174c: PUSH1 0x03 0000174e: DUP1 0000174f: SLOAD 00001750: SWAP1 00001751: POP 00001752: DUP2 00001753: PUSH1 0x32 00001755: DUP3 00001756: GT 00001757: ISZERO 00001758: DUP1 00001759: ISZERO 0000175a: PUSH2 0x1763 0000175d: JUMPI 0000175e: POP 0000175f: DUP2 00001760: DUP2 00001761: GT 00001762: ISZERO 00001763: JUMPDEST 00001764: DUP1 00001765: ISZERO 00001766: PUSH2 0x176f 00001769: JUMPI 0000176a: POP 0000176b: PUSH1 0x00 0000176d: DUP2 0000176e: GT 0000176f: JUMPDEST 00001770: DUP1 00001771: ISZERO 00001772: PUSH2 0x177b 00001775: JUMPI 00001776: POP 00001777: PUSH1 0x00 00001779: DUP3 0000177a: GT 0000177b: JUMPDEST 0000177c: ISZERO 0000177d: ISZERO 0000177e: PUSH2 0x1786 00001781: JUMPI 00001782: PUSH1 0x00 00001784: DUP1 00001785: REVERT 00001786: JUMPDEST 00001787: DUP3 00001788: PUSH1 0x04 0000178a: DUP2 0000178b: SWAP1 0000178c: SSTORE 0000178d: POP 0000178e: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a 000017af: DUP4 000017b0: PUSH1 0x40 000017b2: MLOAD 000017b3: DUP1 000017b4: DUP3 000017b5: DUP2 000017b6: MSTORE 000017b7: PUSH1 0x20 000017b9: ADD 000017ba: SWAP2 000017bb: POP 000017bc: POP 000017bd: PUSH1 0x40 000017bf: MLOAD 000017c0: DUP1 000017c1: SWAP2 000017c2: SUB 000017c3: SWAP1 000017c4: LOG1 000017c5: POP 000017c6: POP 000017c7: POP 000017c8: JUMP 000017c9: JUMPDEST 000017ca: CALLER 000017cb: PUSH1 0x02 000017cd: PUSH1 0x00 000017cf: DUP3 000017d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017e5: AND 000017e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017fb: AND 000017fc: DUP2 000017fd: MSTORE 000017fe: PUSH1 0x20 00001800: ADD 00001801: SWAP1 00001802: DUP2 00001803: MSTORE 00001804: PUSH1 0x20 00001806: ADD 00001807: PUSH1 0x00 00001809: KECCAK256 0000180a: PUSH1 0x00 0000180c: SWAP1 0000180d: SLOAD 0000180e: SWAP1 0000180f: PUSH2 0x0100 00001812: EXP 00001813: SWAP1 00001814: DIV 00001815: PUSH1 0xff 00001817: AND 00001818: ISZERO 00001819: ISZERO 0000181a: PUSH2 0x1822 0000181d: JUMPI 0000181e: PUSH1 0x00 00001820: DUP1 00001821: REVERT 00001822: JUMPDEST 00001823: DUP2 00001824: PUSH1 0x00 00001826: DUP1 00001827: PUSH1 0x00 00001829: DUP4 0000182a: DUP2 0000182b: MSTORE 0000182c: PUSH1 0x20 0000182e: ADD 0000182f: SWAP1 00001830: DUP2 00001831: MSTORE 00001832: PUSH1 0x20 00001834: ADD 00001835: PUSH1 0x00 00001837: KECCAK256 00001838: PUSH1 0x00 0000183a: ADD 0000183b: PUSH1 0x00 0000183d: SWAP1 0000183e: SLOAD 0000183f: SWAP1 00001840: PUSH2 0x0100 00001843: EXP 00001844: SWAP1 00001845: DIV 00001846: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000185b: AND 0000185c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001871: AND 00001872: GT 00001873: ISZERO 00001874: ISZERO 00001875: PUSH2 0x187d 00001878: JUMPI 00001879: PUSH1 0x00 0000187b: DUP1 0000187c: REVERT 0000187d: JUMPDEST 0000187e: DUP3 0000187f: CALLER 00001880: PUSH1 0x01 00001882: PUSH1 0x00 00001884: DUP4 00001885: DUP2 00001886: MSTORE 00001887: PUSH1 0x20 00001889: ADD 0000188a: SWAP1 0000188b: DUP2 0000188c: MSTORE 0000188d: PUSH1 0x20 0000188f: ADD 00001890: PUSH1 0x00 00001892: KECCAK256 00001893: PUSH1 0x00 00001895: DUP3 00001896: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018ab: AND 000018ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018c1: AND 000018c2: DUP2 000018c3: MSTORE 000018c4: PUSH1 0x20 000018c6: ADD 000018c7: SWAP1 000018c8: DUP2 000018c9: MSTORE 000018ca: PUSH1 0x20 000018cc: ADD 000018cd: PUSH1 0x00 000018cf: KECCAK256 000018d0: PUSH1 0x00 000018d2: SWAP1 000018d3: SLOAD 000018d4: SWAP1 000018d5: PUSH2 0x0100 000018d8: EXP 000018d9: SWAP1 000018da: DIV 000018db: PUSH1 0xff 000018dd: AND 000018de: ISZERO 000018df: ISZERO 000018e0: ISZERO 000018e1: PUSH2 0x18e9 000018e4: JUMPI 000018e5: PUSH1 0x00 000018e7: DUP1 000018e8: REVERT 000018e9: JUMPDEST 000018ea: PUSH1 0x01 000018ec: DUP1 000018ed: PUSH1 0x00 000018ef: DUP8 000018f0: DUP2 000018f1: MSTORE 000018f2: PUSH1 0x20 000018f4: ADD 000018f5: SWAP1 000018f6: DUP2 000018f7: MSTORE 000018f8: PUSH1 0x20 000018fa: ADD 000018fb: PUSH1 0x00 000018fd: KECCAK256 000018fe: PUSH1 0x00 00001900: CALLER 00001901: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001916: AND 00001917: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000192c: AND 0000192d: DUP2 0000192e: MSTORE 0000192f: PUSH1 0x20 00001931: ADD 00001932: SWAP1 00001933: DUP2 00001934: MSTORE 00001935: PUSH1 0x20 00001937: ADD 00001938: PUSH1 0x00 0000193a: KECCAK256 0000193b: PUSH1 0x00 0000193d: PUSH2 0x0100 00001940: EXP 00001941: DUP2 00001942: SLOAD 00001943: DUP2 00001944: PUSH1 0xff 00001946: MUL 00001947: NOT 00001948: AND 00001949: SWAP1 0000194a: DUP4 0000194b: ISZERO 0000194c: ISZERO 0000194d: MUL 0000194e: OR 0000194f: SWAP1 00001950: SSTORE 00001951: POP 00001952: DUP5 00001953: CALLER 00001954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001969: AND 0000196a: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef 0000198b: PUSH1 0x40 0000198d: MLOAD 0000198e: PUSH1 0x40 00001990: MLOAD 00001991: DUP1 00001992: SWAP2 00001993: SUB 00001994: SWAP1 00001995: LOG3 00001996: PUSH2 0x199e 00001999: DUP6 0000199a: PUSH2 0x1ce6 0000199d: JUMP 0000199e: JUMPDEST 0000199f: POP 000019a0: POP 000019a1: POP 000019a2: POP 000019a3: POP 000019a4: JUMP 000019a5: JUMPDEST 000019a6: PUSH1 0x00 000019a8: PUSH2 0x19b2 000019ab: DUP5 000019ac: DUP5 000019ad: DUP5 000019ae: PUSH2 0x1f7a 000019b1: JUMP 000019b2: JUMPDEST 000019b3: SWAP1 000019b4: POP 000019b5: PUSH2 0x19bd 000019b8: DUP2 000019b9: PUSH2 0x17c9 000019bc: JUMP 000019bd: JUMPDEST 000019be: SWAP4 000019bf: SWAP3 000019c0: POP 000019c1: POP 000019c2: POP 000019c3: JUMP 000019c4: JUMPDEST 000019c5: PUSH1 0x32 000019c7: DUP2 000019c8: JUMP 000019c9: JUMPDEST 000019ca: PUSH1 0x04 000019cc: SLOAD 000019cd: DUP2 000019ce: JUMP 000019cf: JUMPDEST 000019d0: PUSH1 0x00 000019d2: ADDRESS 000019d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019e8: AND 000019e9: CALLER 000019ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019ff: AND 00001a00: EQ 00001a01: ISZERO 00001a02: ISZERO 00001a03: PUSH2 0x1a0b 00001a06: JUMPI 00001a07: PUSH1 0x00 00001a09: DUP1 00001a0a: REVERT 00001a0b: JUMPDEST 00001a0c: DUP3 00001a0d: PUSH1 0x02 00001a0f: PUSH1 0x00 00001a11: DUP3 00001a12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a27: AND 00001a28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a3d: AND 00001a3e: DUP2 00001a3f: MSTORE 00001a40: PUSH1 0x20 00001a42: ADD 00001a43: SWAP1 00001a44: DUP2 00001a45: MSTORE 00001a46: PUSH1 0x20 00001a48: ADD 00001a49: PUSH1 0x00 00001a4b: KECCAK256 00001a4c: PUSH1 0x00 00001a4e: SWAP1 00001a4f: SLOAD 00001a50: SWAP1 00001a51: PUSH2 0x0100 00001a54: EXP 00001a55: SWAP1 00001a56: DIV 00001a57: PUSH1 0xff 00001a59: AND 00001a5a: ISZERO 00001a5b: ISZERO 00001a5c: PUSH2 0x1a64 00001a5f: JUMPI 00001a60: PUSH1 0x00 00001a62: DUP1 00001a63: REVERT 00001a64: JUMPDEST 00001a65: DUP3 00001a66: PUSH1 0x02 00001a68: PUSH1 0x00 00001a6a: DUP3 00001a6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a80: AND 00001a81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a96: AND 00001a97: DUP2 00001a98: MSTORE 00001a99: PUSH1 0x20 00001a9b: ADD 00001a9c: SWAP1 00001a9d: DUP2 00001a9e: MSTORE 00001a9f: PUSH1 0x20 00001aa1: ADD 00001aa2: PUSH1 0x00 00001aa4: KECCAK256 00001aa5: PUSH1 0x00 00001aa7: SWAP1 00001aa8: SLOAD 00001aa9: SWAP1 00001aaa: PUSH2 0x0100 00001aad: EXP 00001aae: SWAP1 00001aaf: DIV 00001ab0: PUSH1 0xff 00001ab2: AND 00001ab3: ISZERO 00001ab4: ISZERO 00001ab5: ISZERO 00001ab6: PUSH2 0x1abe 00001ab9: JUMPI 00001aba: PUSH1 0x00 00001abc: DUP1 00001abd: REVERT 00001abe: JUMPDEST 00001abf: PUSH1 0x00 00001ac1: SWAP3 00001ac2: POP 00001ac3: JUMPDEST 00001ac4: PUSH1 0x03 00001ac6: DUP1 00001ac7: SLOAD 00001ac8: SWAP1 00001ac9: POP 00001aca: DUP4 00001acb: LT 00001acc: ISZERO 00001acd: PUSH2 0x1ba9 00001ad0: JUMPI 00001ad1: DUP5 00001ad2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ae7: AND 00001ae8: PUSH1 0x03 00001aea: DUP5 00001aeb: DUP2 00001aec: SLOAD 00001aed: DUP2 00001aee: LT 00001aef: ISZERO 00001af0: ISZERO 00001af1: PUSH2 0x1af6 00001af4: JUMPI 00001af5: INVALID 00001af6: JUMPDEST 00001af7: SWAP1 00001af8: PUSH1 0x00 00001afa: MSTORE 00001afb: PUSH1 0x20 00001afd: PUSH1 0x00 00001aff: KECCAK256 00001b00: SWAP1 00001b01: ADD 00001b02: PUSH1 0x00 00001b04: SWAP1 00001b05: SLOAD 00001b06: SWAP1 00001b07: PUSH2 0x0100 00001b0a: EXP 00001b0b: SWAP1 00001b0c: DIV 00001b0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b22: AND 00001b23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b38: AND 00001b39: EQ 00001b3a: ISZERO 00001b3b: PUSH2 0x1b9c 00001b3e: JUMPI 00001b3f: DUP4 00001b40: PUSH1 0x03 00001b42: DUP5 00001b43: DUP2 00001b44: SLOAD 00001b45: DUP2 00001b46: LT 00001b47: ISZERO 00001b48: ISZERO 00001b49: PUSH2 0x1b4e 00001b4c: JUMPI 00001b4d: INVALID 00001b4e: JUMPDEST 00001b4f: SWAP1 00001b50: PUSH1 0x00 00001b52: MSTORE 00001b53: PUSH1 0x20 00001b55: PUSH1 0x00 00001b57: KECCAK256 00001b58: SWAP1 00001b59: ADD 00001b5a: PUSH1 0x00 00001b5c: PUSH2 0x0100 00001b5f: EXP 00001b60: DUP2 00001b61: SLOAD 00001b62: DUP2 00001b63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b78: MUL 00001b79: NOT 00001b7a: AND 00001b7b: SWAP1 00001b7c: DUP4 00001b7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b92: AND 00001b93: MUL 00001b94: OR 00001b95: SWAP1 00001b96: SSTORE 00001b97: POP 00001b98: PUSH2 0x1ba9 00001b9b: JUMP 00001b9c: JUMPDEST 00001b9d: DUP3 00001b9e: DUP1 00001b9f: PUSH1 0x01 00001ba1: ADD 00001ba2: SWAP4 00001ba3: POP 00001ba4: POP 00001ba5: PUSH2 0x1ac3 00001ba8: JUMP 00001ba9: JUMPDEST 00001baa: PUSH1 0x00 00001bac: PUSH1 0x02 00001bae: PUSH1 0x00 00001bb0: DUP8 00001bb1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bc6: AND 00001bc7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bdc: AND 00001bdd: DUP2 00001bde: MSTORE 00001bdf: PUSH1 0x20 00001be1: ADD 00001be2: SWAP1 00001be3: DUP2 00001be4: MSTORE 00001be5: PUSH1 0x20 00001be7: ADD 00001be8: PUSH1 0x00 00001bea: KECCAK256 00001beb: PUSH1 0x00 00001bed: PUSH2 0x0100 00001bf0: EXP 00001bf1: DUP2 00001bf2: SLOAD 00001bf3: DUP2 00001bf4: PUSH1 0xff 00001bf6: MUL 00001bf7: NOT 00001bf8: AND 00001bf9: SWAP1 00001bfa: DUP4 00001bfb: ISZERO 00001bfc: ISZERO 00001bfd: MUL 00001bfe: OR 00001bff: SWAP1 00001c00: SSTORE 00001c01: POP 00001c02: PUSH1 0x01 00001c04: PUSH1 0x02 00001c06: PUSH1 0x00 00001c08: DUP7 00001c09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c1e: AND 00001c1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c34: AND 00001c35: DUP2 00001c36: MSTORE 00001c37: PUSH1 0x20 00001c39: ADD 00001c3a: SWAP1 00001c3b: DUP2 00001c3c: MSTORE 00001c3d: PUSH1 0x20 00001c3f: ADD 00001c40: PUSH1 0x00 00001c42: KECCAK256 00001c43: PUSH1 0x00 00001c45: PUSH2 0x0100 00001c48: EXP 00001c49: DUP2 00001c4a: SLOAD 00001c4b: DUP2 00001c4c: PUSH1 0xff 00001c4e: MUL 00001c4f: NOT 00001c50: AND 00001c51: SWAP1 00001c52: DUP4 00001c53: ISZERO 00001c54: ISZERO 00001c55: MUL 00001c56: OR 00001c57: SWAP1 00001c58: SSTORE 00001c59: POP 00001c5a: DUP5 00001c5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c70: AND 00001c71: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90 00001c92: PUSH1 0x40 00001c94: MLOAD 00001c95: PUSH1 0x40 00001c97: MLOAD 00001c98: DUP1 00001c99: SWAP2 00001c9a: SUB 00001c9b: SWAP1 00001c9c: LOG2 00001c9d: DUP4 00001c9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cb3: AND 00001cb4: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d 00001cd5: PUSH1 0x40 00001cd7: MLOAD 00001cd8: PUSH1 0x40 00001cda: MLOAD 00001cdb: DUP1 00001cdc: SWAP2 00001cdd: SUB 00001cde: SWAP1 00001cdf: LOG2 00001ce0: POP 00001ce1: POP 00001ce2: POP 00001ce3: POP 00001ce4: POP 00001ce5: JUMP 00001ce6: JUMPDEST 00001ce7: PUSH1 0x00 00001ce9: CALLER 00001cea: PUSH1 0x02 00001cec: PUSH1 0x00 00001cee: DUP3 00001cef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d04: AND 00001d05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d1a: AND 00001d1b: DUP2 00001d1c: MSTORE 00001d1d: PUSH1 0x20 00001d1f: ADD 00001d20: SWAP1 00001d21: DUP2 00001d22: MSTORE 00001d23: PUSH1 0x20 00001d25: ADD 00001d26: PUSH1 0x00 00001d28: KECCAK256 00001d29: PUSH1 0x00 00001d2b: SWAP1 00001d2c: SLOAD 00001d2d: SWAP1 00001d2e: PUSH2 0x0100 00001d31: EXP 00001d32: SWAP1 00001d33: DIV 00001d34: PUSH1 0xff 00001d36: AND 00001d37: ISZERO 00001d38: ISZERO 00001d39: PUSH2 0x1d41 00001d3c: JUMPI 00001d3d: PUSH1 0x00 00001d3f: DUP1 00001d40: REVERT 00001d41: JUMPDEST 00001d42: DUP3 00001d43: CALLER 00001d44: PUSH1 0x01 00001d46: PUSH1 0x00 00001d48: DUP4 00001d49: DUP2 00001d4a: MSTORE 00001d4b: PUSH1 0x20 00001d4d: ADD 00001d4e: SWAP1 00001d4f: DUP2 00001d50: MSTORE 00001d51: PUSH1 0x20 00001d53: ADD 00001d54: PUSH1 0x00 00001d56: KECCAK256 00001d57: PUSH1 0x00 00001d59: DUP3 00001d5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d6f: AND 00001d70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d85: AND 00001d86: DUP2 00001d87: MSTORE 00001d88: PUSH1 0x20 00001d8a: ADD 00001d8b: SWAP1 00001d8c: DUP2 00001d8d: MSTORE 00001d8e: PUSH1 0x20 00001d90: ADD 00001d91: PUSH1 0x00 00001d93: KECCAK256 00001d94: PUSH1 0x00 00001d96: SWAP1 00001d97: SLOAD 00001d98: SWAP1 00001d99: PUSH2 0x0100 00001d9c: EXP 00001d9d: SWAP1 00001d9e: DIV 00001d9f: PUSH1 0xff 00001da1: AND 00001da2: ISZERO 00001da3: ISZERO 00001da4: PUSH2 0x1dac 00001da7: JUMPI 00001da8: PUSH1 0x00 00001daa: DUP1 00001dab: REVERT 00001dac: JUMPDEST 00001dad: DUP5 00001dae: PUSH1 0x00 00001db0: DUP1 00001db1: DUP3 00001db2: DUP2 00001db3: MSTORE 00001db4: PUSH1 0x20 00001db6: ADD 00001db7: SWAP1 00001db8: DUP2 00001db9: MSTORE 00001dba: PUSH1 0x20 00001dbc: ADD 00001dbd: PUSH1 0x00 00001dbf: KECCAK256 00001dc0: PUSH1 0x03 00001dc2: ADD 00001dc3: PUSH1 0x00 00001dc5: SWAP1 00001dc6: SLOAD 00001dc7: SWAP1 00001dc8: PUSH2 0x0100 00001dcb: EXP 00001dcc: SWAP1 00001dcd: DIV 00001dce: PUSH1 0xff 00001dd0: AND 00001dd1: ISZERO 00001dd2: ISZERO 00001dd3: ISZERO 00001dd4: PUSH2 0x1ddc 00001dd7: JUMPI 00001dd8: PUSH1 0x00 00001dda: DUP1 00001ddb: REVERT 00001ddc: JUMPDEST 00001ddd: PUSH1 0x00 00001ddf: DUP1 00001de0: DUP8 00001de1: DUP2 00001de2: MSTORE 00001de3: PUSH1 0x20 00001de5: ADD 00001de6: SWAP1 00001de7: DUP2 00001de8: MSTORE 00001de9: PUSH1 0x20 00001deb: ADD 00001dec: PUSH1 0x00 00001dee: KECCAK256 00001def: SWAP5 00001df0: POP 00001df1: PUSH2 0x1df9 00001df4: DUP7 00001df5: PUSH2 0x10c8 00001df8: JUMP 00001df9: JUMPDEST 00001dfa: DUP1 00001dfb: ISZERO 00001dfc: PUSH2 0x1e0a 00001dff: JUMPI 00001e00: POP 00001e01: PUSH2 0x1e09 00001e04: DUP7 00001e05: PUSH2 0x0e8f 00001e08: JUMP 00001e09: JUMPDEST 00001e0a: JUMPDEST 00001e0b: ISZERO 00001e0c: PUSH2 0x1f44 00001e0f: JUMPI 00001e10: PUSH1 0x01 00001e12: DUP6 00001e13: PUSH1 0x03 00001e15: ADD 00001e16: PUSH1 0x00 00001e18: PUSH2 0x0100 00001e1b: EXP 00001e1c: DUP2 00001e1d: SLOAD 00001e1e: DUP2 00001e1f: PUSH1 0xff 00001e21: MUL 00001e22: NOT 00001e23: AND 00001e24: SWAP1 00001e25: DUP4 00001e26: ISZERO 00001e27: ISZERO 00001e28: MUL 00001e29: OR 00001e2a: SWAP1 00001e2b: SSTORE 00001e2c: POP 00001e2d: DUP5 00001e2e: PUSH1 0x00 00001e30: ADD 00001e31: PUSH1 0x00 00001e33: SWAP1 00001e34: SLOAD 00001e35: SWAP1 00001e36: PUSH2 0x0100 00001e39: EXP 00001e3a: SWAP1 00001e3b: DIV 00001e3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e51: AND 00001e52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e67: AND 00001e68: DUP6 00001e69: PUSH1 0x01 00001e6b: ADD 00001e6c: SLOAD 00001e6d: DUP7 00001e6e: PUSH1 0x02 00001e70: ADD 00001e71: PUSH1 0x40 00001e73: MLOAD 00001e74: DUP1 00001e75: DUP3 00001e76: DUP1 00001e77: SLOAD 00001e78: PUSH1 0x01 00001e7a: DUP2 00001e7b: PUSH1 0x01 00001e7d: AND 00001e7e: ISZERO 00001e7f: PUSH2 0x0100 00001e82: MUL 00001e83: SUB 00001e84: AND 00001e85: PUSH1 0x02 00001e87: SWAP1 00001e88: DIV 00001e89: DUP1 00001e8a: ISZERO 00001e8b: PUSH2 0x1ed5 00001e8e: JUMPI 00001e8f: DUP1 00001e90: PUSH1 0x1f 00001e92: LT 00001e93: PUSH2 0x1eaa 00001e96: JUMPI 00001e97: PUSH2 0x0100 00001e9a: DUP1 00001e9b: DUP4 00001e9c: SLOAD 00001e9d: DIV 00001e9e: MUL 00001e9f: DUP4 00001ea0: MSTORE 00001ea1: SWAP2 00001ea2: PUSH1 0x20 00001ea4: ADD 00001ea5: SWAP2 00001ea6: PUSH2 0x1ed5 00001ea9: JUMP 00001eaa: JUMPDEST 00001eab: DUP3 00001eac: ADD 00001ead: SWAP2 00001eae: SWAP1 00001eaf: PUSH1 0x00 00001eb1: MSTORE 00001eb2: PUSH1 0x20 00001eb4: PUSH1 0x00 00001eb6: KECCAK256 00001eb7: SWAP1 00001eb8: JUMPDEST 00001eb9: DUP2 00001eba: SLOAD 00001ebb: DUP2 00001ebc: MSTORE 00001ebd: SWAP1 00001ebe: PUSH1 0x01 00001ec0: ADD 00001ec1: SWAP1 00001ec2: PUSH1 0x20 00001ec4: ADD 00001ec5: DUP1 00001ec6: DUP4 00001ec7: GT 00001ec8: PUSH2 0x1eb8 00001ecb: JUMPI 00001ecc: DUP3 00001ecd: SWAP1 00001ece: SUB 00001ecf: PUSH1 0x1f 00001ed1: AND 00001ed2: DUP3 00001ed3: ADD 00001ed4: SWAP2 00001ed5: JUMPDEST 00001ed6: POP 00001ed7: POP 00001ed8: SWAP2 00001ed9: POP 00001eda: POP 00001edb: PUSH1 0x00 00001edd: PUSH1 0x40 00001edf: MLOAD 00001ee0: DUP1 00001ee1: DUP4 00001ee2: SUB 00001ee3: DUP2 00001ee4: DUP6 00001ee5: DUP8 00001ee6: PUSH2 0x8796 00001ee9: GAS 00001eea: SUB 00001eeb: CALL 00001eec: SWAP3 00001eed: POP 00001eee: POP 00001eef: POP 00001ef0: ISZERO 00001ef1: PUSH2 0x1f26 00001ef4: JUMPI 00001ef5: DUP6 00001ef6: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75 00001f17: PUSH1 0x40 00001f19: MLOAD 00001f1a: PUSH1 0x40 00001f1c: MLOAD 00001f1d: DUP1 00001f1e: SWAP2 00001f1f: SUB 00001f20: SWAP1 00001f21: LOG2 00001f22: PUSH2 0x1f72 00001f25: JUMP 00001f26: JUMPDEST 00001f27: PUSH1 0x00 00001f29: DUP6 00001f2a: PUSH1 0x03 00001f2c: ADD 00001f2d: PUSH1 0x00 00001f2f: PUSH2 0x0100 00001f32: EXP 00001f33: DUP2 00001f34: SLOAD 00001f35: DUP2 00001f36: PUSH1 0xff 00001f38: MUL 00001f39: NOT 00001f3a: AND 00001f3b: SWAP1 00001f3c: DUP4 00001f3d: ISZERO 00001f3e: ISZERO 00001f3f: MUL 00001f40: OR 00001f41: SWAP1 00001f42: SSTORE 00001f43: POP 00001f44: JUMPDEST 00001f45: DUP6 00001f46: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236 00001f67: PUSH1 0x40 00001f69: MLOAD 00001f6a: PUSH1 0x40 00001f6c: MLOAD 00001f6d: DUP1 00001f6e: SWAP2 00001f6f: SUB 00001f70: SWAP1 00001f71: LOG2 00001f72: JUMPDEST 00001f73: POP 00001f74: POP 00001f75: POP 00001f76: POP 00001f77: POP 00001f78: POP 00001f79: JUMP 00001f7a: JUMPDEST 00001f7b: PUSH1 0x00 00001f7d: DUP4 00001f7e: PUSH1 0x00 00001f80: DUP2 00001f81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f96: AND 00001f97: EQ 00001f98: ISZERO 00001f99: ISZERO 00001f9a: ISZERO 00001f9b: PUSH2 0x1fa3 00001f9e: JUMPI 00001f9f: PUSH1 0x00 00001fa1: DUP1 00001fa2: REVERT 00001fa3: JUMPDEST 00001fa4: PUSH1 0x05 00001fa6: SLOAD 00001fa7: SWAP2 00001fa8: POP 00001fa9: PUSH1 0xa0 00001fab: PUSH1 0x40 00001fad: MLOAD 00001fae: SWAP1 00001faf: DUP2 00001fb0: ADD 00001fb1: PUSH1 0x40 00001fb3: MSTORE 00001fb4: DUP1 00001fb5: DUP7 00001fb6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fcb: AND 00001fcc: DUP2 00001fcd: MSTORE 00001fce: PUSH1 0x20 00001fd0: ADD 00001fd1: DUP6 00001fd2: DUP2 00001fd3: MSTORE 00001fd4: PUSH1 0x20 00001fd6: ADD 00001fd7: DUP5 00001fd8: DUP2 00001fd9: MSTORE 00001fda: PUSH1 0x20 00001fdc: ADD 00001fdd: PUSH1 0x00 00001fdf: ISZERO 00001fe0: ISZERO 00001fe1: DUP2 00001fe2: MSTORE 00001fe3: PUSH1 0x20 00001fe5: ADD 00001fe6: TIMESTAMP 00001fe7: DUP2 00001fe8: MSTORE 00001fe9: POP 00001fea: PUSH1 0x00 00001fec: DUP1 00001fed: DUP5 00001fee: DUP2 00001fef: MSTORE 00001ff0: PUSH1 0x20 00001ff2: ADD 00001ff3: SWAP1 00001ff4: DUP2 00001ff5: MSTORE 00001ff6: PUSH1 0x20 00001ff8: ADD 00001ff9: PUSH1 0x00 00001ffb: KECCAK256 00001ffc: PUSH1 0x00 00001ffe: DUP3 00001fff: ADD 00002000: MLOAD 00002001: DUP2 00002002: PUSH1 0x00 00002004: ADD 00002005: PUSH1 0x00 00002007: PUSH2 0x0100 0000200a: EXP 0000200b: DUP2 0000200c: SLOAD 0000200d: DUP2 0000200e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002023: MUL 00002024: NOT 00002025: AND 00002026: SWAP1 00002027: DUP4 00002028: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000203d: AND 0000203e: MUL 0000203f: OR 00002040: SWAP1 00002041: SSTORE 00002042: POP 00002043: PUSH1 0x20 00002045: DUP3 00002046: ADD 00002047: MLOAD 00002048: DUP2 00002049: PUSH1 0x01 0000204b: ADD 0000204c: SSTORE 0000204d: PUSH1 0x40 0000204f: DUP3 00002050: ADD 00002051: MLOAD 00002052: DUP2 00002053: PUSH1 0x02 00002055: ADD 00002056: SWAP1 00002057: DUP1 00002058: MLOAD 00002059: SWAP1 0000205a: PUSH1 0x20 0000205c: ADD 0000205d: SWAP1 0000205e: PUSH2 0x2068 00002061: SWAP3 00002062: SWAP2 00002063: SWAP1 00002064: PUSH2 0x215c 00002067: JUMP 00002068: JUMPDEST 00002069: POP 0000206a: PUSH1 0x60 0000206c: DUP3 0000206d: ADD 0000206e: MLOAD 0000206f: DUP2 00002070: PUSH1 0x03 00002072: ADD 00002073: PUSH1 0x00 00002075: PUSH2 0x0100 00002078: EXP 00002079: DUP2 0000207a: SLOAD 0000207b: DUP2 0000207c: PUSH1 0xff 0000207e: MUL 0000207f: NOT 00002080: AND 00002081: SWAP1 00002082: DUP4 00002083: ISZERO 00002084: ISZERO 00002085: MUL 00002086: OR 00002087: SWAP1 00002088: SSTORE 00002089: POP 0000208a: PUSH1 0x80 0000208c: DUP3 0000208d: ADD 0000208e: MLOAD 0000208f: DUP2 00002090: PUSH1 0x04 00002092: ADD 00002093: SSTORE 00002094: SWAP1 00002095: POP 00002096: POP 00002097: PUSH1 0x01 00002099: PUSH1 0x05 0000209b: PUSH1 0x00 0000209d: DUP3 0000209e: DUP3 0000209f: SLOAD 000020a0: ADD 000020a1: SWAP3 000020a2: POP 000020a3: POP 000020a4: DUP2 000020a5: SWAP1 000020a6: SSTORE 000020a7: POP 000020a8: DUP2 000020a9: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51 000020ca: PUSH1 0x40 000020cc: MLOAD 000020cd: PUSH1 0x40 000020cf: MLOAD 000020d0: DUP1 000020d1: SWAP2 000020d2: SUB 000020d3: SWAP1 000020d4: LOG2 000020d5: POP 000020d6: SWAP4 000020d7: SWAP3 000020d8: POP 000020d9: POP 000020da: POP 000020db: JUMP 000020dc: JUMPDEST 000020dd: DUP2 000020de: SLOAD 000020df: DUP2 000020e0: DUP4 000020e1: SSTORE 000020e2: DUP2 000020e3: DUP2 000020e4: ISZERO 000020e5: GT 000020e6: PUSH2 0x2103 000020e9: JUMPI 000020ea: DUP2 000020eb: DUP4 000020ec: PUSH1 0x00 000020ee: MSTORE 000020ef: PUSH1 0x20 000020f1: PUSH1 0x00 000020f3: KECCAK256 000020f4: SWAP2 000020f5: DUP3 000020f6: ADD 000020f7: SWAP2 000020f8: ADD 000020f9: PUSH2 0x2102 000020fc: SWAP2 000020fd: SWAP1 000020fe: PUSH2 0x21dc 00002101: JUMP 00002102: JUMPDEST 00002103: JUMPDEST 00002104: POP 00002105: POP 00002106: POP 00002107: JUMP 00002108: JUMPDEST 00002109: DUP2 0000210a: SLOAD 0000210b: DUP2 0000210c: DUP4 0000210d: SSTORE 0000210e: DUP2 0000210f: DUP2 00002110: ISZERO 00002111: GT 00002112: PUSH2 0x212f 00002115: JUMPI 00002116: DUP2 00002117: DUP4 00002118: PUSH1 0x00 0000211a: MSTORE 0000211b: PUSH1 0x20 0000211d: PUSH1 0x00 0000211f: KECCAK256 00002120: SWAP2 00002121: DUP3 00002122: ADD 00002123: SWAP2 00002124: ADD 00002125: PUSH2 0x212e 00002128: SWAP2 00002129: SWAP1 0000212a: PUSH2 0x21dc 0000212d: JUMP 0000212e: JUMPDEST 0000212f: JUMPDEST 00002130: POP 00002131: POP 00002132: POP 00002133: JUMP 00002134: JUMPDEST 00002135: PUSH1 0x20 00002137: PUSH1 0x40 00002139: MLOAD 0000213a: SWAP1 0000213b: DUP2 0000213c: ADD 0000213d: PUSH1 0x40 0000213f: MSTORE 00002140: DUP1 00002141: PUSH1 0x00 00002143: DUP2 00002144: MSTORE 00002145: POP 00002146: SWAP1 00002147: JUMP 00002148: JUMPDEST 00002149: PUSH1 0x20 0000214b: PUSH1 0x40 0000214d: MLOAD 0000214e: SWAP1 0000214f: DUP2 00002150: ADD 00002151: PUSH1 0x40 00002153: MSTORE 00002154: DUP1 00002155: PUSH1 0x00 00002157: DUP2 00002158: MSTORE 00002159: POP 0000215a: SWAP1 0000215b: JUMP 0000215c: JUMPDEST 0000215d: DUP3 0000215e: DUP1 0000215f: SLOAD 00002160: PUSH1 0x01 00002162: DUP2 00002163: PUSH1 0x01 00002165: AND 00002166: ISZERO 00002167: PUSH2 0x0100 0000216a: MUL 0000216b: SUB 0000216c: AND 0000216d: PUSH1 0x02 0000216f: SWAP1 00002170: DIV 00002171: SWAP1 00002172: PUSH1 0x00 00002174: MSTORE 00002175: PUSH1 0x20 00002177: PUSH1 0x00 00002179: KECCAK256 0000217a: SWAP1 0000217b: PUSH1 0x1f 0000217d: ADD 0000217e: PUSH1 0x20 00002180: SWAP1 00002181: DIV 00002182: DUP2 00002183: ADD 00002184: SWAP3 00002185: DUP3 00002186: PUSH1 0x1f 00002188: LT 00002189: PUSH2 0x219d 0000218c: JUMPI 0000218d: DUP1 0000218e: MLOAD 0000218f: PUSH1 0xff 00002191: NOT 00002192: AND 00002193: DUP4 00002194: DUP1 00002195: ADD 00002196: OR 00002197: DUP6 00002198: SSTORE 00002199: PUSH2 0x21cb 0000219c: JUMP 0000219d: JUMPDEST 0000219e: DUP3 0000219f: DUP1 000021a0: ADD 000021a1: PUSH1 0x01 000021a3: ADD 000021a4: DUP6 000021a5: SSTORE 000021a6: DUP3 000021a7: ISZERO 000021a8: PUSH2 0x21cb 000021ab: JUMPI 000021ac: SWAP2 000021ad: DUP3 000021ae: ADD 000021af: JUMPDEST 000021b0: DUP3 000021b1: DUP2 000021b2: GT 000021b3: ISZERO 000021b4: PUSH2 0x21ca 000021b7: JUMPI 000021b8: DUP3 000021b9: MLOAD 000021ba: DUP3 000021bb: SSTORE 000021bc: SWAP2 000021bd: PUSH1 0x20 000021bf: ADD 000021c0: SWAP2 000021c1: SWAP1 000021c2: PUSH1 0x01 000021c4: ADD 000021c5: SWAP1 000021c6: PUSH2 0x21af 000021c9: JUMP 000021ca: JUMPDEST 000021cb: JUMPDEST 000021cc: POP 000021cd: SWAP1 000021ce: POP 000021cf: PUSH2 0x21d8 000021d2: SWAP2 000021d3: SWAP1 000021d4: PUSH2 0x21dc 000021d7: JUMP 000021d8: JUMPDEST 000021d9: POP 000021da: SWAP1 000021db: JUMP 000021dc: JUMPDEST 000021dd: PUSH2 0x21fe 000021e0: SWAP2 000021e1: SWAP1 000021e2: JUMPDEST 000021e3: DUP1 000021e4: DUP3 000021e5: GT 000021e6: ISZERO 000021e7: PUSH2 0x21fa 000021ea: JUMPI 000021eb: PUSH1 0x00 000021ed: DUP2 000021ee: PUSH1 0x00 000021f0: SWAP1 000021f1: SSTORE 000021f2: POP 000021f3: PUSH1 0x01 000021f5: ADD 000021f6: PUSH2 0x21e2 000021f9: JUMP 000021fa: JUMPDEST 000021fb: POP 000021fc: SWAP1 000021fd: JUMP 000021fe: JUMPDEST 000021ff: SWAP1 00002200: JUMP 00002201: STOP 00002202: LOG1 00002203: PUSH6 0x627a7a723058 0000220a: KECCAK256 0000220b: UNKNOWN(0xED) 0000220c: INVALID 0000220d: SELFDESTRUCT 0000220e: PUSH30 0x18545a9a1917b2d6275e86ca4eadae92da2afb1dd38d79bc25f5202f0029
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x434e1677c19a10a38f867ddfc8111f691367eca74ff42d6c56ca9c0a0d27fd88
call_targets:
0xeb618e440fd758b9bc2946ccc55ff5390f441b5b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x434e1677c19a10a38f867ddfc8111f691367eca74ff42d6c56ca9c0a0d27fd88",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xeb618e440fd758b9bc2946ccc55ff5390f441b5b"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x120da4df",
"selector": "0x120da4df",
"calldata_variants": [
"0x120da4df",
"0x120da4df0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7915,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 2436,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3808,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5929,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6633,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x434e1677c19a10a38f867ddfc8111f691367eca74ff42d6c56ca9c0a0d27fd88
call_targets:
0xeb618e440fd758b9bc2946ccc55ff5390f441b5b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x434e1677c19a10a38f867ddfc8111f691367eca74ff42d6c56ca9c0a0d27fd88",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xeb618e440fd758b9bc2946ccc55ff5390f441b5b"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x120da4df",
"selector": "0x120da4df",
"calldata_variants": [
"0x120da4df",
"0x120da4df0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7915,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 2436,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3808,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5929,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6633,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0xa7ca7bfd9d67a9a9d509f0737629dbe8b9372b1841ebc7fe58a5135b3544a5f5
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xa7ca7bfd9d67a9a9d509f0737629dbe8b9372b1841ebc7fe58a5135b3544a5f5",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x025e7c27",
"selector": "0x025e7c27",
"calldata_variants": [
"0x025e7c27",
"0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x120da4df",
"selector": "0x120da4df",
"calldata_variants": [
"0x120da4df",
"0x120da4df0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x173825d9",
"selector": "0x173825d9",
"calldata_variants": [
"0x173825d9",
"0x173825d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x20ea8d86",
"selector": "0x20ea8d86",
"calldata_variants": [
"0x20ea8d86",
"0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2f54bf6e",
"selector": "0x2f54bf6e",
"calldata_variants": [
"0x2f54bf6e",
"0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3411c81c",
"selector": "0x3411c81c",
"calldata_variants": [
"0x3411c81c",
"0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x54741525",
"selector": "0x54741525",
"calldata_variants": [
"0x54741525",
"0x547415250000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 2436,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3808,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5929,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6633,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|
| medium | other | codex | SELFDESTRUCT present and potentially reachable | 75 | no | — |
viewevidence_json{
"evidence": "SELFDESTRUCT opcode at pc 8717; detector reports selfdestruct_count=1 and reachable sink (unvalidated).",
"locations": [
"pc:0x220d"
],
"recommendation": "Verify whether the SELFDESTRUCT path is reachable and guarded. If not strictly necessary, remove it or gate it behind strong access control (e.g., immutable admin).",
"exploit_scenario": "If a publicly reachable path can hit SELFDESTRUCT, an attacker could destroy the contract and force-send its balance to a chosen recipient. Guard detection shows msg.sender == 0xffff... (likely heuristic), so access control is uncertain."
}
|
| low | reentrancy | codex | Computed external CALL before apparent state update (reentrancy/unsafe call risk if target is attacker-controlled) | 65 | no | — |
viewevidence_json{
"evidence": "CALL at pc 7915 with computed target/value; SSTORE occurs later at pc 7974, suggesting effects after interaction. Returndata checking is unknown.",
"locations": [
"pc:0x1eeb",
"pc:0x1f26"
],
"recommendation": "Confirm the CALL target/source at pc:0x1eeb. If user-controlled, move state updates before the call (checks-effects-interactions), add a reentrancy guard, and/or restrict allowed call targets. If the call is intended to self, prefer internal calls to avoid external reentrancy paths.",
"exploit_scenario": "If the CALL target/value is derived from user input or mutable storage, an attacker could cause the contract to call out to a malicious contract before state is updated. That external contract could reenter and exploit inconsistent state. Validation hints the target may be constant (self), but it is not confirmed, so this remains uncertain."
}
|