019be3d6-8492-73c8-8ec4-edb49b23a550
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 |
|---|---|---|---|---|
| 41079 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 41080 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 41081 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 41082 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 41083 | capability.graph | complete | 1 / 3 | 2 months ago |
| 41084 | detector.run | complete | 1 / 3 | 2 months ago |
| 41085 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41421 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.","findings":[{"severity":"critical","category":"upgradeability","title":"Untrusted DELEGATECALL target reachable (arbitrary code execution risk)","exploit_scenario":"If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract’s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible.","recommendation":"Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.","evidence":"Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.","locations":["pc:2074"]},{"severity":"high","category":"access_control","title":"SELFDESTRUCT sends funds to CALLER","exploit_scenario":"If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations.","recommendation":"Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.","evidence":"Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.","locations":["pc:2334"]},{"severity":"medium","category":"reentrancy","title":"Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk)","exploit_scenario":"If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector’s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone.","recommendation":"Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.","evidence":"Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.","locations":["pc:3000","pc:3550","pc:3907","pc:4266","pc:4623","pc:4736","pc:4857","pc:6778","pc:7328","pc:7685","pc:7798","pc:7921","pc:9070","pc:9486"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-kfk2hvj6
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be482-08a0-7021-833b-776c38237b0a
--------
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
thinking
**Planning JSON schema extraction**
I'm deciding to read BYTECODE_BUNDLE.json using a simple shell command like cat, avoiding complex tools since the file just needs to be read and produce its JSON schema.
exec
/bin/bash -lc ls in /tmp/codex-kfk2hvj6 succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-kfk2hvj6 succeeded in 6ms:
{
"analysis_artifact": {
"address": "0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c",
"artifact_hash": "0x44a1c469d7838d2e615a8bf0b368a42dc3e86b0748e8efabbaad0d8fa9685119",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0x75ffc402900c443ca1f2327c64b0cd321704a17643263b6491bdca0aaaba6376",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Planning evidence search**
I'm focusing on locating more evidence related to selfdestruct, considering searching JSON files or opcode data with ripgrep in read-only mode to find relevant markers.
exec
/bin/bash -lc 'rg -n "SELFDESTRUCT|selfdestruct" BYTECODE_BUNDLE.json' in /tmp/codex-kfk2hvj6 succeeded in 7ms:
2018: "SELFDESTRUCT"
10416: "selfdestruct": 1,
10470: "selfdestruct": 1,
10524: "selfdestruct": 1,
10578: "selfdestruct": 1,
10632: "selfdestruct": 1,
10686: "selfdestruct": 1,
10740: "selfdestruct": 1,
10794: "selfdestruct": 1,
10848: "selfdestruct": 1,
10902: "selfdestruct": 1,
10965: "selfdestruct": 1,
16097: "selfdestruct_count": 1
16100: "sink": "SELFDESTRUCT"
16103: "title": "SELFDESTRUCT reachable",
16112: "sink": "SELFDESTRUCT",
16229: "selfdestruct_present",
16233: "selfdestruct_count": 1
thinking
**Locating SELFDESTRUCT opcode usage**
I'm checking around line 2018 using pattern search and sed to find where the SELFDESTRUCT opcode appears in basic blocks.
exec
/bin/bash -lc "sed -n '2000,2035p' BYTECODE_BUNDLE.json" in /tmp/codex-kfk2hvj6 succeeded in 33ms:
"PUSH1",
"MLOAD",
"OP_80",
"OP_91",
"SUB",
"OP_90",
"REVERT"
],
"start_pc": 2225
},
{
"end_pc": 2358,
"hash": "0x6f16d68cb309bcdd263593e4177efe27ae6f597107a5b963b2f1b70cea77e62a",
"opcodes": [
"JUMPDEST",
"CALLER",
"PUSH20",
"AND",
"SELFDESTRUCT"
],
thinking
**Noting critical instruction points**
I'm marking the locations for selfdestruct at pc 2334 and delegatecall at pc 2074, planning to extract surrounding context around pc 2050 using sed for deeper analysis.
exec
/bin/bash -lc "sed -n '2045,2095p' BYTECODE_BUNDLE.json" in /tmp/codex-kfk2hvj6 succeeded in 7ms:
"ADD",
"PUSH1",
"SHA3",
"PUSH1",
"OP_90",
"SLOAD",
"OP_90",
"PUSH2",
"EXP",
"OP_90",
"DIV",
"PUSH1",
"AND",
"ISZERO",
"ISZERO",
"EQ",
"PUSH2",
"JUMPI"
],
"start_pc": 2359
thinking
**Searching for DELEGATECALL usage**
exec
/bin/bash -lc 'rg -n "DELEGATECALL" BYTECODE_BUNDLE.json' in /tmp/codex-kfk2hvj6 succeeded in 6ms:
1847: "DELEGATECALL",
8249: "opcode": "DELEGATECALL",
15841: "opcode": "DELEGATECALL",
16063: "opcode": "DELEGATECALL",
16074: "sink": "DELEGATECALL"
16077: "title": "Untrusted DELEGATECALL target reachable",
16086: "sink": "DELEGATECALL",
thinking
**Requesting context around line 1847**
exec
/bin/bash -lc "sed -n '1825,1865p' BYTECODE_BUNDLE.json" in /tmp/codex-kfk2hvj6 succeeded in 6ms:
"OP_80",
"OP_91",
"SUB",
"OP_90",
"REVERT"
],
"start_pc": 1953
},
{
"end_pc": 2084,
"hash": "0xa2024604309e20b5a34d4dd5b9e783f63cac577e3a05a86317f22abc9e1fd726",
"opcodes": [
"JUMPDEST",
"PUSH1",
"OP_80",
"OP_83",
"MLOAD",
"PUSH1",
"OP_85",
"ADD",
thinking
**Highlighting untrusted delegatecall risk**
Detected a critical untrusted delegatecall target with computed address and no guard, posing arbitrary code execution risk; may indicate a proxy pattern but lacks full storage context to confirm.
thinking
**Summarizing critical findings on delegatecall, selfdestruct, and untrusted calls**
Three findings: a critical untrusted delegatecall with computed target indicating upgradeability risk without guards; a high-severity selfdestruct reachable without access control that can destroy contract and send funds to caller; and a medium-severity untrusted external call with value posing reentrancy or fund loss risk, though targets may include the contract itself, making impact uncertain. Recommendations emphasize verifying access control for critical operations and confirming proxy/admin safeguards.
codex
{"no_findings":false,"summary":"Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.","findings":[{"severity":"critical","category":"upgradeability","title":"Untrusted DELEGATECALL target reachable (arbitrary code execution risk)","exploit_scenario":"If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract’s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible.","recommendation":"Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.","evidence":"Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.","locations":["pc:2074"]},{"severity":"high","category":"access_control","title":"SELFDESTRUCT sends funds to CALLER","exploit_scenario":"If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations.","recommendation":"Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.","evidence":"Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.","locations":["pc:2334"]},{"severity":"medium","category":"reentrancy","title":"Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk)","exploit_scenario":"If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector’s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone.","recommendation":"Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.","evidence":"Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.","locations":["pc:3000","pc:3550","pc:3907","pc:4266","pc:4623","pc:4736","pc:4857","pc:6778","pc:7328","pc:7685","pc:7798","pc:7921","pc:9070","pc:9486"]}]}
tokens used
41,610
{
"codex": {
"ran_at": "2026-01-22T07:02:33.938595+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 19626,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.",
"raw_final": {
"summary": "Bytecode-only review found a computed-target DELEGATECALL, a reachable SELFDESTRUCT to CALLER, and multiple value-transferring CALLs to computed targets; selectors/guards are heuristic and some call target inference is uncertain.",
"findings": [
{
"title": "Untrusted DELEGATECALL target reachable (arbitrary code execution risk)",
"category": "upgradeability",
"evidence": "Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.",
"severity": "critical",
"locations": [
"pc:2074"
],
"recommendation": "Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.",
"exploit_scenario": "If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract\u2019s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible."
},
{
"title": "SELFDESTRUCT sends funds to CALLER",
"category": "access_control",
"evidence": "Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.",
"severity": "high",
"locations": [
"pc:2334"
],
"recommendation": "Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.",
"exploit_scenario": "If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations."
},
{
"title": "Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk)",
"category": "reentrancy",
"evidence": "Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.",
"severity": "medium",
"locations": [
"pc:3000",
"pc:3550",
"pc:3907",
"pc:4266",
"pc:4623",
"pc:4736",
"pc:4857",
"pc:6778",
"pc:7328",
"pc:7685",
"pc:7798",
"pc:7921",
"pc:9070",
"pc:9486"
],
"recommendation": "Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.",
"exploit_scenario": "If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector\u2019s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0095 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x649630d8 00000019: GT 0000001a: PUSH2 0x0059 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x649630d8 00000024: EQ 00000025: PUSH2 0x0407 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x69369e9e 0000002f: EQ 00000030: PUSH2 0x04b5 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0x7065cb48 0000003a: EQ 0000003b: PUSH2 0x05e0 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0x8d9051d4 00000045: EQ 00000046: PUSH2 0x0631 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0x92748e1c 00000050: EQ 00000051: PUSH2 0x06ac 00000054: JUMPI 00000055: PUSH2 0x009c 00000058: JUMP 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0x022914a7 00000060: EQ 00000061: PUSH2 0x00a1 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0x1cff79cd 0000006b: EQ 0000006c: PUSH2 0x010a 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x41c0e1b5 00000076: EQ 00000077: PUSH2 0x025e 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x4782f779 00000081: EQ 00000082: PUSH2 0x0275 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x632a0c23 0000008c: EQ 0000008d: PUSH2 0x02d0 00000090: JUMPI 00000091: PUSH2 0x009c 00000094: JUMP 00000095: JUMPDEST 00000096: CALLDATASIZE 00000097: PUSH2 0x009c 0000009a: JUMPI 0000009b: STOP 0000009c: JUMPDEST 0000009d: PUSH1 0x00 0000009f: DUP1 000000a0: REVERT 000000a1: JUMPDEST 000000a2: CALLVALUE 000000a3: DUP1 000000a4: ISZERO 000000a5: PUSH2 0x00ad 000000a8: JUMPI 000000a9: PUSH1 0x00 000000ab: DUP1 000000ac: REVERT 000000ad: JUMPDEST 000000ae: POP 000000af: PUSH2 0x00f0 000000b2: PUSH1 0x04 000000b4: DUP1 000000b5: CALLDATASIZE 000000b6: SUB 000000b7: PUSH1 0x20 000000b9: DUP2 000000ba: LT 000000bb: ISZERO 000000bc: PUSH2 0x00c4 000000bf: JUMPI 000000c0: PUSH1 0x00 000000c2: DUP1 000000c3: REVERT 000000c4: JUMPDEST 000000c5: DUP2 000000c6: ADD 000000c7: SWAP1 000000c8: DUP1 000000c9: DUP1 000000ca: CALLDATALOAD 000000cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000e0: AND 000000e1: SWAP1 000000e2: PUSH1 0x20 000000e4: ADD 000000e5: SWAP1 000000e6: SWAP3 000000e7: SWAP2 000000e8: SWAP1 000000e9: POP 000000ea: POP 000000eb: POP 000000ec: PUSH2 0x0727 000000ef: JUMP 000000f0: JUMPDEST 000000f1: PUSH1 0x40 000000f3: MLOAD 000000f4: DUP1 000000f5: DUP3 000000f6: ISZERO 000000f7: ISZERO 000000f8: ISZERO 000000f9: ISZERO 000000fa: DUP2 000000fb: MSTORE 000000fc: PUSH1 0x20 000000fe: ADD 000000ff: SWAP2 00000100: POP 00000101: POP 00000102: PUSH1 0x40 00000104: MLOAD 00000105: DUP1 00000106: SWAP2 00000107: SUB 00000108: SWAP1 00000109: RETURN 0000010a: JUMPDEST 0000010b: PUSH2 0x01e3 0000010e: PUSH1 0x04 00000110: DUP1 00000111: CALLDATASIZE 00000112: SUB 00000113: PUSH1 0x40 00000115: DUP2 00000116: LT 00000117: ISZERO 00000118: PUSH2 0x0120 0000011b: JUMPI 0000011c: PUSH1 0x00 0000011e: DUP1 0000011f: REVERT 00000120: JUMPDEST 00000121: DUP2 00000122: ADD 00000123: SWAP1 00000124: DUP1 00000125: DUP1 00000126: CALLDATALOAD 00000127: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000013c: AND 0000013d: SWAP1 0000013e: PUSH1 0x20 00000140: ADD 00000141: SWAP1 00000142: SWAP3 00000143: SWAP2 00000144: SWAP1 00000145: DUP1 00000146: CALLDATALOAD 00000147: SWAP1 00000148: PUSH1 0x20 0000014a: ADD 0000014b: SWAP1 0000014c: PUSH5 0x0100000000 00000152: DUP2 00000153: GT 00000154: ISZERO 00000155: PUSH2 0x015d 00000158: JUMPI 00000159: PUSH1 0x00 0000015b: DUP1 0000015c: REVERT 0000015d: JUMPDEST 0000015e: DUP3 0000015f: ADD 00000160: DUP4 00000161: PUSH1 0x20 00000163: DUP3 00000164: ADD 00000165: GT 00000166: ISZERO 00000167: PUSH2 0x016f 0000016a: JUMPI 0000016b: PUSH1 0x00 0000016d: DUP1 0000016e: REVERT 0000016f: JUMPDEST 00000170: DUP1 00000171: CALLDATALOAD 00000172: SWAP1 00000173: PUSH1 0x20 00000175: ADD 00000176: SWAP2 00000177: DUP5 00000178: PUSH1 0x01 0000017a: DUP4 0000017b: MUL 0000017c: DUP5 0000017d: ADD 0000017e: GT 0000017f: PUSH5 0x0100000000 00000185: DUP4 00000186: GT 00000187: OR 00000188: ISZERO 00000189: PUSH2 0x0191 0000018c: JUMPI 0000018d: PUSH1 0x00 0000018f: DUP1 00000190: REVERT 00000191: JUMPDEST 00000192: SWAP2 00000193: SWAP1 00000194: DUP1 00000195: DUP1 00000196: PUSH1 0x1f 00000198: ADD 00000199: PUSH1 0x20 0000019b: DUP1 0000019c: SWAP2 0000019d: DIV 0000019e: MUL 0000019f: PUSH1 0x20 000001a1: ADD 000001a2: PUSH1 0x40 000001a4: MLOAD 000001a5: SWAP1 000001a6: DUP2 000001a7: ADD 000001a8: PUSH1 0x40 000001aa: MSTORE 000001ab: DUP1 000001ac: SWAP4 000001ad: SWAP3 000001ae: SWAP2 000001af: SWAP1 000001b0: DUP2 000001b1: DUP2 000001b2: MSTORE 000001b3: PUSH1 0x20 000001b5: ADD 000001b6: DUP4 000001b7: DUP4 000001b8: DUP1 000001b9: DUP3 000001ba: DUP5 000001bb: CALLDATACOPY 000001bc: PUSH1 0x00 000001be: DUP2 000001bf: DUP5 000001c0: ADD 000001c1: MSTORE 000001c2: PUSH1 0x1f 000001c4: NOT 000001c5: PUSH1 0x1f 000001c7: DUP3 000001c8: ADD 000001c9: AND 000001ca: SWAP1 000001cb: POP 000001cc: DUP1 000001cd: DUP4 000001ce: ADD 000001cf: SWAP3 000001d0: POP 000001d1: POP 000001d2: POP 000001d3: POP 000001d4: POP 000001d5: POP 000001d6: POP 000001d7: SWAP2 000001d8: SWAP3 000001d9: SWAP2 000001da: SWAP3 000001db: SWAP1 000001dc: POP 000001dd: POP 000001de: POP 000001df: PUSH2 0x0747 000001e2: JUMP 000001e3: JUMPDEST 000001e4: PUSH1 0x40 000001e6: MLOAD 000001e7: DUP1 000001e8: DUP1 000001e9: PUSH1 0x20 000001eb: ADD 000001ec: DUP3 000001ed: DUP2 000001ee: SUB 000001ef: DUP3 000001f0: MSTORE 000001f1: DUP4 000001f2: DUP2 000001f3: DUP2 000001f4: MLOAD 000001f5: DUP2 000001f6: MSTORE 000001f7: PUSH1 0x20 000001f9: ADD 000001fa: SWAP2 000001fb: POP 000001fc: DUP1 000001fd: MLOAD 000001fe: SWAP1 000001ff: PUSH1 0x20 00000201: ADD 00000202: SWAP1 00000203: DUP1 00000204: DUP4 00000205: DUP4 00000206: PUSH1 0x00 00000208: JUMPDEST 00000209: DUP4 0000020a: DUP2 0000020b: LT 0000020c: ISZERO 0000020d: PUSH2 0x0223 00000210: JUMPI 00000211: DUP1 00000212: DUP3 00000213: ADD 00000214: MLOAD 00000215: DUP2 00000216: DUP5 00000217: ADD 00000218: MSTORE 00000219: PUSH1 0x20 0000021b: DUP2 0000021c: ADD 0000021d: SWAP1 0000021e: POP 0000021f: PUSH2 0x0208 00000222: JUMP 00000223: JUMPDEST 00000224: POP 00000225: POP 00000226: POP 00000227: POP 00000228: SWAP1 00000229: POP 0000022a: SWAP1 0000022b: DUP2 0000022c: ADD 0000022d: SWAP1 0000022e: PUSH1 0x1f 00000230: AND 00000231: DUP1 00000232: ISZERO 00000233: PUSH2 0x0250 00000236: JUMPI 00000237: DUP1 00000238: DUP3 00000239: SUB 0000023a: DUP1 0000023b: MLOAD 0000023c: PUSH1 0x01 0000023e: DUP4 0000023f: PUSH1 0x20 00000241: SUB 00000242: PUSH2 0x0100 00000245: EXP 00000246: SUB 00000247: NOT 00000248: AND 00000249: DUP2 0000024a: MSTORE 0000024b: PUSH1 0x20 0000024d: ADD 0000024e: SWAP2 0000024f: POP 00000250: JUMPDEST 00000251: POP 00000252: SWAP3 00000253: POP 00000254: POP 00000255: POP 00000256: PUSH1 0x40 00000258: MLOAD 00000259: DUP1 0000025a: SWAP2 0000025b: SUB 0000025c: SWAP1 0000025d: RETURN 0000025e: JUMPDEST 0000025f: CALLVALUE 00000260: DUP1 00000261: ISZERO 00000262: PUSH2 0x026a 00000265: JUMPI 00000266: PUSH1 0x00 00000268: DUP1 00000269: REVERT 0000026a: JUMPDEST 0000026b: POP 0000026c: PUSH2 0x0273 0000026f: PUSH2 0x0859 00000272: JUMP 00000273: JUMPDEST 00000274: STOP 00000275: JUMPDEST 00000276: CALLVALUE 00000277: DUP1 00000278: ISZERO 00000279: PUSH2 0x0281 0000027c: JUMPI 0000027d: PUSH1 0x00 0000027f: DUP1 00000280: REVERT 00000281: JUMPDEST 00000282: POP 00000283: PUSH2 0x02ce 00000286: PUSH1 0x04 00000288: DUP1 00000289: CALLDATASIZE 0000028a: SUB 0000028b: PUSH1 0x40 0000028d: DUP2 0000028e: LT 0000028f: ISZERO 00000290: PUSH2 0x0298 00000293: JUMPI 00000294: PUSH1 0x00 00000296: DUP1 00000297: REVERT 00000298: JUMPDEST 00000299: DUP2 0000029a: ADD 0000029b: SWAP1 0000029c: DUP1 0000029d: DUP1 0000029e: CALLDATALOAD 0000029f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002b4: AND 000002b5: SWAP1 000002b6: PUSH1 0x20 000002b8: ADD 000002b9: SWAP1 000002ba: SWAP3 000002bb: SWAP2 000002bc: SWAP1 000002bd: DUP1 000002be: CALLDATALOAD 000002bf: SWAP1 000002c0: PUSH1 0x20 000002c2: ADD 000002c3: SWAP1 000002c4: SWAP3 000002c5: SWAP2 000002c6: SWAP1 000002c7: POP 000002c8: POP 000002c9: POP 000002ca: PUSH2 0x0937 000002cd: JUMP 000002ce: JUMPDEST 000002cf: STOP 000002d0: JUMPDEST 000002d1: CALLVALUE 000002d2: DUP1 000002d3: ISZERO 000002d4: PUSH2 0x02dc 000002d7: JUMPI 000002d8: PUSH1 0x00 000002da: DUP1 000002db: REVERT 000002dc: JUMPDEST 000002dd: POP 000002de: PUSH2 0x0405 000002e1: PUSH1 0x04 000002e3: DUP1 000002e4: CALLDATASIZE 000002e5: SUB 000002e6: PUSH2 0x0180 000002e9: DUP2 000002ea: LT 000002eb: ISZERO 000002ec: PUSH2 0x02f4 000002ef: JUMPI 000002f0: PUSH1 0x00 000002f2: DUP1 000002f3: REVERT 000002f4: JUMPDEST 000002f5: DUP2 000002f6: ADD 000002f7: SWAP1 000002f8: DUP1 000002f9: DUP1 000002fa: CALLDATALOAD 000002fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000310: AND 00000311: SWAP1 00000312: PUSH1 0x20 00000314: ADD 00000315: SWAP1 00000316: SWAP3 00000317: SWAP2 00000318: SWAP1 00000319: DUP1 0000031a: CALLDATALOAD 0000031b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000330: AND 00000331: SWAP1 00000332: PUSH1 0x20 00000334: ADD 00000335: SWAP1 00000336: SWAP3 00000337: SWAP2 00000338: SWAP1 00000339: DUP1 0000033a: CALLDATALOAD 0000033b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000350: AND 00000351: SWAP1 00000352: PUSH1 0x20 00000354: ADD 00000355: SWAP1 00000356: SWAP3 00000357: SWAP2 00000358: SWAP1 00000359: DUP1 0000035a: CALLDATALOAD 0000035b: PUSH1 0x13 0000035d: SIGNEXTEND 0000035e: SWAP1 0000035f: PUSH1 0x20 00000361: ADD 00000362: SWAP1 00000363: SWAP3 00000364: SWAP2 00000365: SWAP1 00000366: DUP1 00000367: CALLDATALOAD 00000368: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000037d: AND 0000037e: SWAP1 0000037f: PUSH1 0x20 00000381: ADD 00000382: SWAP1 00000383: SWAP3 00000384: SWAP2 00000385: SWAP1 00000386: DUP1 00000387: CALLDATALOAD 00000388: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000039d: AND 0000039e: SWAP1 0000039f: PUSH1 0x20 000003a1: ADD 000003a2: SWAP1 000003a3: SWAP3 000003a4: SWAP2 000003a5: SWAP1 000003a6: DUP1 000003a7: CALLDATALOAD 000003a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003bd: AND 000003be: SWAP1 000003bf: PUSH1 0x20 000003c1: ADD 000003c2: SWAP1 000003c3: SWAP3 000003c4: SWAP2 000003c5: SWAP1 000003c6: DUP1 000003c7: CALLDATALOAD 000003c8: SWAP1 000003c9: PUSH1 0x20 000003cb: ADD 000003cc: SWAP1 000003cd: SWAP3 000003ce: SWAP2 000003cf: SWAP1 000003d0: DUP1 000003d1: CALLDATALOAD 000003d2: SWAP1 000003d3: PUSH1 0x20 000003d5: ADD 000003d6: SWAP1 000003d7: SWAP3 000003d8: SWAP2 000003d9: SWAP1 000003da: DUP1 000003db: CALLDATALOAD 000003dc: ISZERO 000003dd: ISZERO 000003de: SWAP1 000003df: PUSH1 0x20 000003e1: ADD 000003e2: SWAP1 000003e3: SWAP3 000003e4: SWAP2 000003e5: SWAP1 000003e6: DUP1 000003e7: CALLDATALOAD 000003e8: ISZERO 000003e9: ISZERO 000003ea: SWAP1 000003eb: PUSH1 0x20 000003ed: ADD 000003ee: SWAP1 000003ef: SWAP3 000003f0: SWAP2 000003f1: SWAP1 000003f2: DUP1 000003f3: CALLDATALOAD 000003f4: ISZERO 000003f5: ISZERO 000003f6: SWAP1 000003f7: PUSH1 0x20 000003f9: ADD 000003fa: SWAP1 000003fb: SWAP3 000003fc: SWAP2 000003fd: SWAP1 000003fe: POP 000003ff: POP 00000400: POP 00000401: PUSH2 0x0a0a 00000404: JUMP 00000405: JUMPDEST 00000406: STOP 00000407: JUMPDEST 00000408: CALLVALUE 00000409: DUP1 0000040a: ISZERO 0000040b: PUSH2 0x0413 0000040e: JUMPI 0000040f: PUSH1 0x00 00000411: DUP1 00000412: REVERT 00000413: JUMPDEST 00000414: POP 00000415: PUSH2 0x0498 00000418: PUSH1 0x04 0000041a: DUP1 0000041b: CALLDATASIZE 0000041c: SUB 0000041d: PUSH1 0xa0 0000041f: DUP2 00000420: LT 00000421: ISZERO 00000422: PUSH2 0x042a 00000425: JUMPI 00000426: PUSH1 0x00 00000428: DUP1 00000429: REVERT 0000042a: JUMPDEST 0000042b: DUP2 0000042c: ADD 0000042d: SWAP1 0000042e: DUP1 0000042f: DUP1 00000430: CALLDATALOAD 00000431: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000446: AND 00000447: SWAP1 00000448: PUSH1 0x20 0000044a: ADD 0000044b: SWAP1 0000044c: SWAP3 0000044d: SWAP2 0000044e: SWAP1 0000044f: DUP1 00000450: CALLDATALOAD 00000451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000466: AND 00000467: SWAP1 00000468: PUSH1 0x20 0000046a: ADD 0000046b: SWAP1 0000046c: SWAP3 0000046d: SWAP2 0000046e: SWAP1 0000046f: DUP1 00000470: CALLDATALOAD 00000471: SWAP1 00000472: PUSH1 0x20 00000474: ADD 00000475: SWAP1 00000476: SWAP3 00000477: SWAP2 00000478: SWAP1 00000479: DUP1 0000047a: CALLDATALOAD 0000047b: ISZERO 0000047c: ISZERO 0000047d: SWAP1 0000047e: PUSH1 0x20 00000480: ADD 00000481: SWAP1 00000482: SWAP3 00000483: SWAP2 00000484: SWAP1 00000485: DUP1 00000486: CALLDATALOAD 00000487: ISZERO 00000488: ISZERO 00000489: SWAP1 0000048a: PUSH1 0x20 0000048c: ADD 0000048d: SWAP1 0000048e: SWAP3 0000048f: SWAP2 00000490: SWAP1 00000491: POP 00000492: POP 00000493: POP 00000494: PUSH2 0x1345 00000497: JUMP 00000498: JUMPDEST 00000499: PUSH1 0x40 0000049b: MLOAD 0000049c: DUP1 0000049d: DUP4 0000049e: DUP2 0000049f: MSTORE 000004a0: PUSH1 0x20 000004a2: ADD 000004a3: DUP3 000004a4: DUP2 000004a5: MSTORE 000004a6: PUSH1 0x20 000004a8: ADD 000004a9: SWAP3 000004aa: POP 000004ab: POP 000004ac: POP 000004ad: PUSH1 0x40 000004af: MLOAD 000004b0: DUP1 000004b1: SWAP2 000004b2: SUB 000004b3: SWAP1 000004b4: RETURN 000004b5: JUMPDEST 000004b6: CALLVALUE 000004b7: DUP1 000004b8: ISZERO 000004b9: PUSH2 0x04c1 000004bc: JUMPI 000004bd: PUSH1 0x00 000004bf: DUP1 000004c0: REVERT 000004c1: JUMPDEST 000004c2: POP 000004c3: PUSH2 0x05de 000004c6: PUSH1 0x04 000004c8: DUP1 000004c9: CALLDATASIZE 000004ca: SUB 000004cb: PUSH2 0x0160 000004ce: DUP2 000004cf: LT 000004d0: ISZERO 000004d1: PUSH2 0x04d9 000004d4: JUMPI 000004d5: PUSH1 0x00 000004d7: DUP1 000004d8: REVERT 000004d9: JUMPDEST 000004da: DUP2 000004db: ADD 000004dc: SWAP1 000004dd: DUP1 000004de: DUP1 000004df: CALLDATALOAD 000004e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004f5: AND 000004f6: SWAP1 000004f7: PUSH1 0x20 000004f9: ADD 000004fa: SWAP1 000004fb: SWAP3 000004fc: SWAP2 000004fd: SWAP1 000004fe: DUP1 000004ff: CALLDATALOAD 00000500: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000515: AND 00000516: SWAP1 00000517: PUSH1 0x20 00000519: ADD 0000051a: SWAP1 0000051b: SWAP3 0000051c: SWAP2 0000051d: SWAP1 0000051e: DUP1 0000051f: CALLDATALOAD 00000520: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000535: AND 00000536: SWAP1 00000537: PUSH1 0x20 00000539: ADD 0000053a: SWAP1 0000053b: SWAP3 0000053c: SWAP2 0000053d: SWAP1 0000053e: DUP1 0000053f: CALLDATALOAD 00000540: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000555: AND 00000556: SWAP1 00000557: PUSH1 0x20 00000559: ADD 0000055a: SWAP1 0000055b: SWAP3 0000055c: SWAP2 0000055d: SWAP1 0000055e: DUP1 0000055f: CALLDATALOAD 00000560: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000575: AND 00000576: SWAP1 00000577: PUSH1 0x20 00000579: ADD 0000057a: SWAP1 0000057b: SWAP3 0000057c: SWAP2 0000057d: SWAP1 0000057e: DUP1 0000057f: CALLDATALOAD 00000580: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000595: AND 00000596: SWAP1 00000597: PUSH1 0x20 00000599: ADD 0000059a: SWAP1 0000059b: SWAP3 0000059c: SWAP2 0000059d: SWAP1 0000059e: DUP1 0000059f: CALLDATALOAD 000005a0: SWAP1 000005a1: PUSH1 0x20 000005a3: ADD 000005a4: SWAP1 000005a5: SWAP3 000005a6: SWAP2 000005a7: SWAP1 000005a8: DUP1 000005a9: CALLDATALOAD 000005aa: SWAP1 000005ab: PUSH1 0x20 000005ad: ADD 000005ae: SWAP1 000005af: SWAP3 000005b0: SWAP2 000005b1: SWAP1 000005b2: DUP1 000005b3: CALLDATALOAD 000005b4: ISZERO 000005b5: ISZERO 000005b6: SWAP1 000005b7: PUSH1 0x20 000005b9: ADD 000005ba: SWAP1 000005bb: SWAP3 000005bc: SWAP2 000005bd: SWAP1 000005be: DUP1 000005bf: CALLDATALOAD 000005c0: ISZERO 000005c1: ISZERO 000005c2: SWAP1 000005c3: PUSH1 0x20 000005c5: ADD 000005c6: SWAP1 000005c7: SWAP3 000005c8: SWAP2 000005c9: SWAP1 000005ca: DUP1 000005cb: CALLDATALOAD 000005cc: PUSH1 0xff 000005ce: AND 000005cf: SWAP1 000005d0: PUSH1 0x20 000005d2: ADD 000005d3: SWAP1 000005d4: SWAP3 000005d5: SWAP2 000005d6: SWAP1 000005d7: POP 000005d8: POP 000005d9: POP 000005da: PUSH2 0x18d8 000005dd: JUMP 000005de: JUMPDEST 000005df: STOP 000005e0: JUMPDEST 000005e1: CALLVALUE 000005e2: DUP1 000005e3: ISZERO 000005e4: PUSH2 0x05ec 000005e7: JUMPI 000005e8: PUSH1 0x00 000005ea: DUP1 000005eb: REVERT 000005ec: JUMPDEST 000005ed: POP 000005ee: PUSH2 0x062f 000005f1: PUSH1 0x04 000005f3: DUP1 000005f4: CALLDATASIZE 000005f5: SUB 000005f6: PUSH1 0x20 000005f8: DUP2 000005f9: LT 000005fa: ISZERO 000005fb: PUSH2 0x0603 000005fe: JUMPI 000005ff: PUSH1 0x00 00000601: DUP1 00000602: REVERT 00000603: JUMPDEST 00000604: DUP2 00000605: ADD 00000606: SWAP1 00000607: DUP1 00000608: DUP1 00000609: CALLDATALOAD 0000060a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000061f: AND 00000620: SWAP1 00000621: PUSH1 0x20 00000623: ADD 00000624: SWAP1 00000625: SWAP3 00000626: SWAP2 00000627: SWAP1 00000628: POP 00000629: POP 0000062a: POP 0000062b: PUSH2 0x1f3a 0000062e: JUMP 0000062f: JUMPDEST 00000630: STOP 00000631: JUMPDEST 00000632: CALLVALUE 00000633: DUP1 00000634: ISZERO 00000635: PUSH2 0x063d 00000638: JUMPI 00000639: PUSH1 0x00 0000063b: DUP1 0000063c: REVERT 0000063d: JUMPDEST 0000063e: POP 0000063f: PUSH2 0x06aa 00000642: PUSH1 0x04 00000644: DUP1 00000645: CALLDATASIZE 00000646: SUB 00000647: PUSH1 0x60 00000649: DUP2 0000064a: LT 0000064b: ISZERO 0000064c: PUSH2 0x0654 0000064f: JUMPI 00000650: PUSH1 0x00 00000652: DUP1 00000653: REVERT 00000654: JUMPDEST 00000655: DUP2 00000656: ADD 00000657: SWAP1 00000658: DUP1 00000659: DUP1 0000065a: CALLDATALOAD 0000065b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000670: AND 00000671: SWAP1 00000672: PUSH1 0x20 00000674: ADD 00000675: SWAP1 00000676: SWAP3 00000677: SWAP2 00000678: SWAP1 00000679: DUP1 0000067a: CALLDATALOAD 0000067b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000690: AND 00000691: SWAP1 00000692: PUSH1 0x20 00000694: ADD 00000695: SWAP1 00000696: SWAP3 00000697: SWAP2 00000698: SWAP1 00000699: DUP1 0000069a: CALLDATALOAD 0000069b: SWAP1 0000069c: PUSH1 0x20 0000069e: ADD 0000069f: SWAP1 000006a0: SWAP3 000006a1: SWAP2 000006a2: SWAP1 000006a3: POP 000006a4: POP 000006a5: POP 000006a6: PUSH2 0x1ff7 000006a9: JUMP 000006aa: JUMPDEST 000006ab: STOP 000006ac: JUMPDEST 000006ad: CALLVALUE 000006ae: DUP1 000006af: ISZERO 000006b0: PUSH2 0x06b8 000006b3: JUMPI 000006b4: PUSH1 0x00 000006b6: DUP1 000006b7: REVERT 000006b8: JUMPDEST 000006b9: POP 000006ba: PUSH2 0x0711 000006bd: PUSH1 0x04 000006bf: DUP1 000006c0: CALLDATASIZE 000006c1: SUB 000006c2: PUSH1 0x60 000006c4: DUP2 000006c5: LT 000006c6: ISZERO 000006c7: PUSH2 0x06cf 000006ca: JUMPI 000006cb: PUSH1 0x00 000006cd: DUP1 000006ce: REVERT 000006cf: JUMPDEST 000006d0: DUP2 000006d1: ADD 000006d2: SWAP1 000006d3: DUP1 000006d4: DUP1 000006d5: CALLDATALOAD 000006d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006eb: AND 000006ec: SWAP1 000006ed: PUSH1 0x20 000006ef: ADD 000006f0: SWAP1 000006f1: SWAP3 000006f2: SWAP2 000006f3: SWAP1 000006f4: DUP1 000006f5: CALLDATALOAD 000006f6: SWAP1 000006f7: PUSH1 0x20 000006f9: ADD 000006fa: SWAP1 000006fb: SWAP3 000006fc: SWAP2 000006fd: SWAP1 000006fe: DUP1 000006ff: CALLDATALOAD 00000700: ISZERO 00000701: ISZERO 00000702: SWAP1 00000703: PUSH1 0x20 00000705: ADD 00000706: SWAP1 00000707: SWAP3 00000708: SWAP2 00000709: SWAP1 0000070a: POP 0000070b: POP 0000070c: POP 0000070d: PUSH2 0x20cc 00000710: JUMP 00000711: JUMPDEST 00000712: PUSH1 0x40 00000714: MLOAD 00000715: DUP1 00000716: DUP3 00000717: DUP2 00000718: MSTORE 00000719: PUSH1 0x20 0000071b: ADD 0000071c: SWAP2 0000071d: POP 0000071e: POP 0000071f: PUSH1 0x40 00000721: MLOAD 00000722: DUP1 00000723: SWAP2 00000724: SUB 00000725: SWAP1 00000726: RETURN 00000727: JUMPDEST 00000728: PUSH1 0x00 0000072a: PUSH1 0x20 0000072c: MSTORE 0000072d: DUP1 0000072e: PUSH1 0x00 00000730: MSTORE 00000731: PUSH1 0x40 00000733: PUSH1 0x00 00000735: KECCAK256 00000736: PUSH1 0x00 00000738: SWAP2 00000739: POP 0000073a: SLOAD 0000073b: SWAP1 0000073c: PUSH2 0x0100 0000073f: EXP 00000740: SWAP1 00000741: DIV 00000742: PUSH1 0xff 00000744: AND 00000745: DUP2 00000746: JUMP 00000747: JUMPDEST 00000748: PUSH1 0x60 0000074a: PUSH1 0x01 0000074c: ISZERO 0000074d: ISZERO 0000074e: PUSH1 0x00 00000750: DUP1 00000751: CALLER 00000752: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000767: AND 00000768: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000077d: AND 0000077e: DUP2 0000077f: MSTORE 00000780: PUSH1 0x20 00000782: ADD 00000783: SWAP1 00000784: DUP2 00000785: MSTORE 00000786: PUSH1 0x20 00000788: ADD 00000789: PUSH1 0x00 0000078b: KECCAK256 0000078c: PUSH1 0x00 0000078e: SWAP1 0000078f: SLOAD 00000790: SWAP1 00000791: PUSH2 0x0100 00000794: EXP 00000795: SWAP1 00000796: DIV 00000797: PUSH1 0xff 00000799: AND 0000079a: ISZERO 0000079b: ISZERO 0000079c: EQ 0000079d: PUSH2 0x080e 000007a0: JUMPI 000007a1: PUSH1 0x40 000007a3: MLOAD 000007a4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000007c5: DUP2 000007c6: MSTORE 000007c7: PUSH1 0x04 000007c9: ADD 000007ca: DUP1 000007cb: DUP1 000007cc: PUSH1 0x20 000007ce: ADD 000007cf: DUP3 000007d0: DUP2 000007d1: SUB 000007d2: DUP3 000007d3: MSTORE 000007d4: PUSH1 0x02 000007d6: DUP2 000007d7: MSTORE 000007d8: PUSH1 0x20 000007da: ADD 000007db: DUP1 000007dc: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 000007fd: DUP2 000007fe: MSTORE 000007ff: POP 00000800: PUSH1 0x20 00000802: ADD 00000803: SWAP2 00000804: POP 00000805: POP 00000806: PUSH1 0x40 00000808: MLOAD 00000809: DUP1 0000080a: SWAP2 0000080b: SUB 0000080c: SWAP1 0000080d: REVERT 0000080e: JUMPDEST 0000080f: PUSH1 0x00 00000811: DUP1 00000812: DUP4 00000813: MLOAD 00000814: PUSH1 0x20 00000816: DUP6 00000817: ADD 00000818: DUP7 00000819: GAS 0000081a: DELEGATECALL 0000081b: DUP1 0000081c: ISZERO 0000081d: PUSH1 0x01 0000081f: DUP2 00000820: EQ 00000821: PUSH2 0x0829 00000824: JUMPI 00000825: PUSH2 0x0851 00000828: JUMP 00000829: JUMPDEST 0000082a: RETURNDATASIZE 0000082b: PUSH1 0x40 0000082d: MLOAD 0000082e: SWAP4 0000082f: POP 00000830: PUSH1 0x1f 00000832: NOT 00000833: PUSH1 0x1f 00000835: PUSH1 0x20 00000837: DUP4 00000838: ADD 00000839: ADD 0000083a: AND 0000083b: DUP5 0000083c: ADD 0000083d: PUSH1 0x40 0000083f: MSTORE 00000840: DUP1 00000841: DUP5 00000842: MSTORE 00000843: DUP1 00000844: PUSH1 0x00 00000846: PUSH1 0x20 00000848: DUP7 00000849: ADD 0000084a: RETURNDATACOPY 0000084b: DUP1 0000084c: PUSH1 0x20 0000084e: DUP6 0000084f: ADD 00000850: REVERT 00000851: JUMPDEST 00000852: POP 00000853: POP 00000854: SWAP3 00000855: SWAP2 00000856: POP 00000857: POP 00000858: JUMP 00000859: JUMPDEST 0000085a: PUSH1 0x01 0000085c: ISZERO 0000085d: ISZERO 0000085e: PUSH1 0x00 00000860: DUP1 00000861: CALLER 00000862: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000877: AND 00000878: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000088d: AND 0000088e: DUP2 0000088f: MSTORE 00000890: PUSH1 0x20 00000892: ADD 00000893: SWAP1 00000894: DUP2 00000895: MSTORE 00000896: PUSH1 0x20 00000898: ADD 00000899: PUSH1 0x00 0000089b: KECCAK256 0000089c: PUSH1 0x00 0000089e: SWAP1 0000089f: SLOAD 000008a0: SWAP1 000008a1: PUSH2 0x0100 000008a4: EXP 000008a5: SWAP1 000008a6: DIV 000008a7: PUSH1 0xff 000008a9: AND 000008aa: ISZERO 000008ab: ISZERO 000008ac: EQ 000008ad: PUSH2 0x091e 000008b0: JUMPI 000008b1: PUSH1 0x40 000008b3: MLOAD 000008b4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000008d5: DUP2 000008d6: MSTORE 000008d7: PUSH1 0x04 000008d9: ADD 000008da: DUP1 000008db: DUP1 000008dc: PUSH1 0x20 000008de: ADD 000008df: DUP3 000008e0: DUP2 000008e1: SUB 000008e2: DUP3 000008e3: MSTORE 000008e4: PUSH1 0x02 000008e6: DUP2 000008e7: MSTORE 000008e8: PUSH1 0x20 000008ea: ADD 000008eb: DUP1 000008ec: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 0000090d: DUP2 0000090e: MSTORE 0000090f: POP 00000910: PUSH1 0x20 00000912: ADD 00000913: SWAP2 00000914: POP 00000915: POP 00000916: PUSH1 0x40 00000918: MLOAD 00000919: DUP1 0000091a: SWAP2 0000091b: SUB 0000091c: SWAP1 0000091d: REVERT 0000091e: JUMPDEST 0000091f: CALLER 00000920: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000935: AND 00000936: SELFDESTRUCT 00000937: JUMPDEST 00000938: PUSH1 0x01 0000093a: ISZERO 0000093b: ISZERO 0000093c: PUSH1 0x00 0000093e: DUP1 0000093f: CALLER 00000940: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000955: AND 00000956: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096b: AND 0000096c: DUP2 0000096d: MSTORE 0000096e: PUSH1 0x20 00000970: ADD 00000971: SWAP1 00000972: DUP2 00000973: MSTORE 00000974: PUSH1 0x20 00000976: ADD 00000977: PUSH1 0x00 00000979: KECCAK256 0000097a: PUSH1 0x00 0000097c: SWAP1 0000097d: SLOAD 0000097e: SWAP1 0000097f: PUSH2 0x0100 00000982: EXP 00000983: SWAP1 00000984: DIV 00000985: PUSH1 0xff 00000987: AND 00000988: ISZERO 00000989: ISZERO 0000098a: EQ 0000098b: PUSH2 0x09fc 0000098e: JUMPI 0000098f: PUSH1 0x40 00000991: MLOAD 00000992: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000009b3: DUP2 000009b4: MSTORE 000009b5: PUSH1 0x04 000009b7: ADD 000009b8: DUP1 000009b9: DUP1 000009ba: PUSH1 0x20 000009bc: ADD 000009bd: DUP3 000009be: DUP2 000009bf: SUB 000009c0: DUP3 000009c1: MSTORE 000009c2: PUSH1 0x02 000009c4: DUP2 000009c5: MSTORE 000009c6: PUSH1 0x20 000009c8: ADD 000009c9: DUP1 000009ca: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 000009eb: DUP2 000009ec: MSTORE 000009ed: POP 000009ee: PUSH1 0x20 000009f0: ADD 000009f1: SWAP2 000009f2: POP 000009f3: POP 000009f4: PUSH1 0x40 000009f6: MLOAD 000009f7: DUP1 000009f8: SWAP2 000009f9: SUB 000009fa: SWAP1 000009fb: REVERT 000009fc: JUMPDEST 000009fd: PUSH2 0x0a06 00000a00: DUP3 00000a01: DUP3 00000a02: PUSH2 0x22a3 00000a05: JUMP 00000a06: JUMPDEST 00000a07: POP 00000a08: POP 00000a09: JUMP 00000a0a: JUMPDEST 00000a0b: PUSH1 0x01 00000a0d: ISZERO 00000a0e: ISZERO 00000a0f: PUSH1 0x00 00000a11: DUP1 00000a12: CALLER 00000a13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a28: AND 00000a29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a3e: AND 00000a3f: DUP2 00000a40: MSTORE 00000a41: PUSH1 0x20 00000a43: ADD 00000a44: SWAP1 00000a45: DUP2 00000a46: MSTORE 00000a47: PUSH1 0x20 00000a49: ADD 00000a4a: PUSH1 0x00 00000a4c: KECCAK256 00000a4d: PUSH1 0x00 00000a4f: SWAP1 00000a50: SLOAD 00000a51: SWAP1 00000a52: PUSH2 0x0100 00000a55: EXP 00000a56: SWAP1 00000a57: DIV 00000a58: PUSH1 0xff 00000a5a: AND 00000a5b: ISZERO 00000a5c: ISZERO 00000a5d: EQ 00000a5e: PUSH2 0x0acf 00000a61: JUMPI 00000a62: PUSH1 0x40 00000a64: MLOAD 00000a65: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a86: DUP2 00000a87: MSTORE 00000a88: PUSH1 0x04 00000a8a: ADD 00000a8b: DUP1 00000a8c: DUP1 00000a8d: PUSH1 0x20 00000a8f: ADD 00000a90: DUP3 00000a91: DUP2 00000a92: SUB 00000a93: DUP3 00000a94: MSTORE 00000a95: PUSH1 0x02 00000a97: DUP2 00000a98: MSTORE 00000a99: PUSH1 0x20 00000a9b: ADD 00000a9c: DUP1 00000a9d: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 00000abe: DUP2 00000abf: MSTORE 00000ac0: POP 00000ac1: PUSH1 0x20 00000ac3: ADD 00000ac4: SWAP2 00000ac5: POP 00000ac6: POP 00000ac7: PUSH1 0x40 00000ac9: MLOAD 00000aca: DUP1 00000acb: SWAP2 00000acc: SUB 00000acd: SWAP1 00000ace: REVERT 00000acf: JUMPDEST 00000ad0: PUSH1 0x00 00000ad2: DUP9 00000ad3: DUP14 00000ad4: ADD 00000ad5: SWAP1 00000ad6: POP 00000ad7: PUSH1 0x00 00000ad9: DUP10 00000ada: DUP14 00000adb: ADD 00000adc: SWAP1 00000add: POP 00000ade: PUSH1 0x00 00000ae0: DUP1 00000ae1: PUSH2 0x0aed 00000ae4: DUP5 00000ae5: DUP5 00000ae6: DUP12 00000ae7: DUP11 00000ae8: DUP11 00000ae9: PUSH2 0x1345 00000aec: JUMP 00000aed: JUMPDEST 00000aee: SWAP2 00000aef: POP 00000af0: SWAP2 00000af1: POP 00000af2: DUP8 00000af3: DUP2 00000af4: LT 00000af5: ISZERO 00000af6: PUSH2 0x0b67 00000af9: JUMPI 00000afa: PUSH1 0x40 00000afc: MLOAD 00000afd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000b1e: DUP2 00000b1f: MSTORE 00000b20: PUSH1 0x04 00000b22: ADD 00000b23: DUP1 00000b24: DUP1 00000b25: PUSH1 0x20 00000b27: ADD 00000b28: DUP3 00000b29: DUP2 00000b2a: SUB 00000b2b: DUP3 00000b2c: MSTORE 00000b2d: PUSH1 0x02 00000b2f: DUP2 00000b30: MSTORE 00000b31: PUSH1 0x20 00000b33: ADD 00000b34: DUP1 00000b35: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 00000b56: DUP2 00000b57: MSTORE 00000b58: POP 00000b59: PUSH1 0x20 00000b5b: ADD 00000b5c: SWAP2 00000b5d: POP 00000b5e: POP 00000b5f: PUSH1 0x40 00000b61: MLOAD 00000b62: DUP1 00000b63: SWAP2 00000b64: SUB 00000b65: SWAP1 00000b66: REVERT 00000b67: JUMPDEST 00000b68: DUP5 00000b69: ISZERO 00000b6a: PUSH2 0x0bde 00000b6d: JUMPI 00000b6e: DUP11 00000b6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b84: AND 00000b85: PUSH4 0xd0e30db0 00000b8a: DUP11 00000b8b: PUSH1 0x40 00000b8d: MLOAD 00000b8e: DUP3 00000b8f: PUSH4 0xffffffff 00000b94: AND 00000b95: PUSH1 0xe0 00000b97: SHL 00000b98: DUP2 00000b99: MSTORE 00000b9a: PUSH1 0x04 00000b9c: ADD 00000b9d: PUSH1 0x00 00000b9f: PUSH1 0x40 00000ba1: MLOAD 00000ba2: DUP1 00000ba3: DUP4 00000ba4: SUB 00000ba5: DUP2 00000ba6: DUP6 00000ba7: DUP9 00000ba8: DUP1 00000ba9: EXTCODESIZE 00000baa: ISZERO 00000bab: DUP1 00000bac: ISZERO 00000bad: PUSH2 0x0bb5 00000bb0: JUMPI 00000bb1: PUSH1 0x00 00000bb3: DUP1 00000bb4: REVERT 00000bb5: JUMPDEST 00000bb6: POP 00000bb7: GAS 00000bb8: CALL 00000bb9: ISZERO 00000bba: DUP1 00000bbb: ISZERO 00000bbc: PUSH2 0x0bc9 00000bbf: JUMPI 00000bc0: RETURNDATASIZE 00000bc1: PUSH1 0x00 00000bc3: DUP1 00000bc4: RETURNDATACOPY 00000bc5: RETURNDATASIZE 00000bc6: PUSH1 0x00 00000bc8: REVERT 00000bc9: JUMPDEST 00000bca: POP 00000bcb: POP 00000bcc: POP 00000bcd: POP 00000bce: POP 00000bcf: PUSH2 0x0bd9 00000bd2: DUP12 00000bd3: DUP6 00000bd4: DUP12 00000bd5: PUSH2 0x2402 00000bd8: JUMP 00000bd9: JUMPDEST 00000bda: PUSH2 0x0c8d 00000bdd: JUMP 00000bde: JUMPDEST 00000bdf: DUP10 00000be0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bf5: AND 00000bf6: ADDRESS 00000bf7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c0c: AND 00000c0d: EQ 00000c0e: PUSH2 0x0c7f 00000c11: JUMPI 00000c12: PUSH1 0x40 00000c14: MLOAD 00000c15: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c36: DUP2 00000c37: MSTORE 00000c38: PUSH1 0x04 00000c3a: ADD 00000c3b: DUP1 00000c3c: DUP1 00000c3d: PUSH1 0x20 00000c3f: ADD 00000c40: DUP3 00000c41: DUP2 00000c42: SUB 00000c43: DUP3 00000c44: MSTORE 00000c45: PUSH1 0x02 00000c47: DUP2 00000c48: MSTORE 00000c49: PUSH1 0x20 00000c4b: ADD 00000c4c: DUP1 00000c4d: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 00000c6e: DUP2 00000c6f: MSTORE 00000c70: POP 00000c71: PUSH1 0x20 00000c73: ADD 00000c74: SWAP2 00000c75: POP 00000c76: POP 00000c77: PUSH1 0x40 00000c79: MLOAD 00000c7a: DUP1 00000c7b: SWAP2 00000c7c: SUB 00000c7d: SWAP1 00000c7e: REVERT 00000c7f: JUMPDEST 00000c80: PUSH2 0x0c8c 00000c83: DUP13 00000c84: DUP16 00000c85: ADD 00000c86: DUP6 00000c87: DUP12 00000c88: PUSH2 0x2402 00000c8b: JUMP 00000c8c: JUMPDEST 00000c8d: JUMPDEST 00000c8e: DUP7 00000c8f: ISZERO 00000c90: PUSH2 0x0df8 00000c93: JUMPI 00000c94: DUP4 00000c95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000caa: AND 00000cab: PUSH4 0x022c0d9f 00000cb0: DUP4 00000cb1: PUSH1 0x00 00000cb3: DUP7 00000cb4: PUSH1 0x00 00000cb6: PUSH8 0xffffffffffffffff 00000cbf: DUP2 00000cc0: GT 00000cc1: DUP1 00000cc2: ISZERO 00000cc3: PUSH2 0x0ccb 00000cc6: JUMPI 00000cc7: PUSH1 0x00 00000cc9: DUP1 00000cca: REVERT 00000ccb: JUMPDEST 00000ccc: POP 00000ccd: PUSH1 0x40 00000ccf: MLOAD 00000cd0: SWAP1 00000cd1: DUP1 00000cd2: DUP3 00000cd3: MSTORE 00000cd4: DUP1 00000cd5: PUSH1 0x1f 00000cd7: ADD 00000cd8: PUSH1 0x1f 00000cda: NOT 00000cdb: AND 00000cdc: PUSH1 0x20 00000cde: ADD 00000cdf: DUP3 00000ce0: ADD 00000ce1: PUSH1 0x40 00000ce3: MSTORE 00000ce4: DUP1 00000ce5: ISZERO 00000ce6: PUSH2 0x0cfe 00000ce9: JUMPI 00000cea: DUP2 00000ceb: PUSH1 0x20 00000ced: ADD 00000cee: PUSH1 0x01 00000cf0: DUP3 00000cf1: MUL 00000cf2: DUP1 00000cf3: CALLDATASIZE 00000cf4: DUP4 00000cf5: CALLDATACOPY 00000cf6: DUP1 00000cf7: DUP3 00000cf8: ADD 00000cf9: SWAP2 00000cfa: POP 00000cfb: POP 00000cfc: SWAP1 00000cfd: POP 00000cfe: JUMPDEST 00000cff: POP 00000d00: PUSH1 0x40 00000d02: MLOAD 00000d03: DUP6 00000d04: PUSH4 0xffffffff 00000d09: AND 00000d0a: PUSH1 0xe0 00000d0c: SHL 00000d0d: DUP2 00000d0e: MSTORE 00000d0f: PUSH1 0x04 00000d11: ADD 00000d12: DUP1 00000d13: DUP6 00000d14: DUP2 00000d15: MSTORE 00000d16: PUSH1 0x20 00000d18: ADD 00000d19: DUP5 00000d1a: DUP2 00000d1b: MSTORE 00000d1c: PUSH1 0x20 00000d1e: ADD 00000d1f: DUP4 00000d20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d35: AND 00000d36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d4b: AND 00000d4c: DUP2 00000d4d: MSTORE 00000d4e: PUSH1 0x20 00000d50: ADD 00000d51: DUP1 00000d52: PUSH1 0x20 00000d54: ADD 00000d55: DUP3 00000d56: DUP2 00000d57: SUB 00000d58: DUP3 00000d59: MSTORE 00000d5a: DUP4 00000d5b: DUP2 00000d5c: DUP2 00000d5d: MLOAD 00000d5e: DUP2 00000d5f: MSTORE 00000d60: PUSH1 0x20 00000d62: ADD 00000d63: SWAP2 00000d64: POP 00000d65: DUP1 00000d66: MLOAD 00000d67: SWAP1 00000d68: PUSH1 0x20 00000d6a: ADD 00000d6b: SWAP1 00000d6c: DUP1 00000d6d: DUP4 00000d6e: DUP4 00000d6f: PUSH1 0x00 00000d71: JUMPDEST 00000d72: DUP4 00000d73: DUP2 00000d74: LT 00000d75: ISZERO 00000d76: PUSH2 0x0d8c 00000d79: JUMPI 00000d7a: DUP1 00000d7b: DUP3 00000d7c: ADD 00000d7d: MLOAD 00000d7e: DUP2 00000d7f: DUP5 00000d80: ADD 00000d81: MSTORE 00000d82: PUSH1 0x20 00000d84: DUP2 00000d85: ADD 00000d86: SWAP1 00000d87: POP 00000d88: PUSH2 0x0d71 00000d8b: JUMP 00000d8c: JUMPDEST 00000d8d: POP 00000d8e: POP 00000d8f: POP 00000d90: POP 00000d91: SWAP1 00000d92: POP 00000d93: SWAP1 00000d94: DUP2 00000d95: ADD 00000d96: SWAP1 00000d97: PUSH1 0x1f 00000d99: AND 00000d9a: DUP1 00000d9b: ISZERO 00000d9c: PUSH2 0x0db9 00000d9f: JUMPI 00000da0: DUP1 00000da1: DUP3 00000da2: SUB 00000da3: DUP1 00000da4: MLOAD 00000da5: PUSH1 0x01 00000da7: DUP4 00000da8: PUSH1 0x20 00000daa: SUB 00000dab: PUSH2 0x0100 00000dae: EXP 00000daf: SUB 00000db0: NOT 00000db1: AND 00000db2: DUP2 00000db3: MSTORE 00000db4: PUSH1 0x20 00000db6: ADD 00000db7: SWAP2 00000db8: POP 00000db9: JUMPDEST 00000dba: POP 00000dbb: SWAP6 00000dbc: POP 00000dbd: POP 00000dbe: POP 00000dbf: POP 00000dc0: POP 00000dc1: POP 00000dc2: PUSH1 0x00 00000dc4: PUSH1 0x40 00000dc6: MLOAD 00000dc7: DUP1 00000dc8: DUP4 00000dc9: SUB 00000dca: DUP2 00000dcb: PUSH1 0x00 00000dcd: DUP8 00000dce: DUP1 00000dcf: EXTCODESIZE 00000dd0: ISZERO 00000dd1: DUP1 00000dd2: ISZERO 00000dd3: PUSH2 0x0ddb 00000dd6: JUMPI 00000dd7: PUSH1 0x00 00000dd9: DUP1 00000dda: REVERT 00000ddb: JUMPDEST 00000ddc: POP 00000ddd: GAS 00000dde: CALL 00000ddf: ISZERO 00000de0: DUP1 00000de1: ISZERO 00000de2: PUSH2 0x0def 00000de5: JUMPI 00000de6: RETURNDATASIZE 00000de7: PUSH1 0x00 00000de9: DUP1 00000dea: RETURNDATACOPY 00000deb: RETURNDATASIZE 00000dec: PUSH1 0x00 00000dee: REVERT 00000def: JUMPDEST 00000df0: POP 00000df1: POP 00000df2: POP 00000df3: POP 00000df4: PUSH2 0x0f59 00000df7: JUMP 00000df8: JUMPDEST 00000df9: DUP4 00000dfa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e0f: AND 00000e10: PUSH4 0x022c0d9f 00000e15: PUSH1 0x00 00000e17: DUP5 00000e18: DUP7 00000e19: PUSH1 0x00 00000e1b: PUSH8 0xffffffffffffffff 00000e24: DUP2 00000e25: GT 00000e26: DUP1 00000e27: ISZERO 00000e28: PUSH2 0x0e30 00000e2b: JUMPI 00000e2c: PUSH1 0x00 00000e2e: DUP1 00000e2f: REVERT 00000e30: JUMPDEST 00000e31: POP 00000e32: PUSH1 0x40 00000e34: MLOAD 00000e35: SWAP1 00000e36: DUP1 00000e37: DUP3 00000e38: MSTORE 00000e39: DUP1 00000e3a: PUSH1 0x1f 00000e3c: ADD 00000e3d: PUSH1 0x1f 00000e3f: NOT 00000e40: AND 00000e41: PUSH1 0x20 00000e43: ADD 00000e44: DUP3 00000e45: ADD 00000e46: PUSH1 0x40 00000e48: MSTORE 00000e49: DUP1 00000e4a: ISZERO 00000e4b: PUSH2 0x0e63 00000e4e: JUMPI 00000e4f: DUP2 00000e50: PUSH1 0x20 00000e52: ADD 00000e53: PUSH1 0x01 00000e55: DUP3 00000e56: MUL 00000e57: DUP1 00000e58: CALLDATASIZE 00000e59: DUP4 00000e5a: CALLDATACOPY 00000e5b: DUP1 00000e5c: DUP3 00000e5d: ADD 00000e5e: SWAP2 00000e5f: POP 00000e60: POP 00000e61: SWAP1 00000e62: POP 00000e63: JUMPDEST 00000e64: POP 00000e65: PUSH1 0x40 00000e67: MLOAD 00000e68: DUP6 00000e69: PUSH4 0xffffffff 00000e6e: AND 00000e6f: PUSH1 0xe0 00000e71: SHL 00000e72: DUP2 00000e73: MSTORE 00000e74: PUSH1 0x04 00000e76: ADD 00000e77: DUP1 00000e78: DUP6 00000e79: DUP2 00000e7a: MSTORE 00000e7b: PUSH1 0x20 00000e7d: ADD 00000e7e: DUP5 00000e7f: DUP2 00000e80: MSTORE 00000e81: PUSH1 0x20 00000e83: ADD 00000e84: DUP4 00000e85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e9a: AND 00000e9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eb0: AND 00000eb1: DUP2 00000eb2: MSTORE 00000eb3: PUSH1 0x20 00000eb5: ADD 00000eb6: DUP1 00000eb7: PUSH1 0x20 00000eb9: ADD 00000eba: DUP3 00000ebb: DUP2 00000ebc: SUB 00000ebd: DUP3 00000ebe: MSTORE 00000ebf: DUP4 00000ec0: DUP2 00000ec1: DUP2 00000ec2: MLOAD 00000ec3: DUP2 00000ec4: MSTORE 00000ec5: PUSH1 0x20 00000ec7: ADD 00000ec8: SWAP2 00000ec9: POP 00000eca: DUP1 00000ecb: MLOAD 00000ecc: SWAP1 00000ecd: PUSH1 0x20 00000ecf: ADD 00000ed0: SWAP1 00000ed1: DUP1 00000ed2: DUP4 00000ed3: DUP4 00000ed4: PUSH1 0x00 00000ed6: JUMPDEST 00000ed7: DUP4 00000ed8: DUP2 00000ed9: LT 00000eda: ISZERO 00000edb: PUSH2 0x0ef1 00000ede: JUMPI 00000edf: DUP1 00000ee0: DUP3 00000ee1: ADD 00000ee2: MLOAD 00000ee3: DUP2 00000ee4: DUP5 00000ee5: ADD 00000ee6: MSTORE 00000ee7: PUSH1 0x20 00000ee9: DUP2 00000eea: ADD 00000eeb: SWAP1 00000eec: POP 00000eed: PUSH2 0x0ed6 00000ef0: JUMP 00000ef1: JUMPDEST 00000ef2: POP 00000ef3: POP 00000ef4: POP 00000ef5: POP 00000ef6: SWAP1 00000ef7: POP 00000ef8: SWAP1 00000ef9: DUP2 00000efa: ADD 00000efb: SWAP1 00000efc: PUSH1 0x1f 00000efe: AND 00000eff: DUP1 00000f00: ISZERO 00000f01: PUSH2 0x0f1e 00000f04: JUMPI 00000f05: DUP1 00000f06: DUP3 00000f07: SUB 00000f08: DUP1 00000f09: MLOAD 00000f0a: PUSH1 0x01 00000f0c: DUP4 00000f0d: PUSH1 0x20 00000f0f: SUB 00000f10: PUSH2 0x0100 00000f13: EXP 00000f14: SUB 00000f15: NOT 00000f16: AND 00000f17: DUP2 00000f18: MSTORE 00000f19: PUSH1 0x20 00000f1b: ADD 00000f1c: SWAP2 00000f1d: POP 00000f1e: JUMPDEST 00000f1f: POP 00000f20: SWAP6 00000f21: POP 00000f22: POP 00000f23: POP 00000f24: POP 00000f25: POP 00000f26: POP 00000f27: PUSH1 0x00 00000f29: PUSH1 0x40 00000f2b: MLOAD 00000f2c: DUP1 00000f2d: DUP4 00000f2e: SUB 00000f2f: DUP2 00000f30: PUSH1 0x00 00000f32: DUP8 00000f33: DUP1 00000f34: EXTCODESIZE 00000f35: ISZERO 00000f36: DUP1 00000f37: ISZERO 00000f38: PUSH2 0x0f40 00000f3b: JUMPI 00000f3c: PUSH1 0x00 00000f3e: DUP1 00000f3f: REVERT 00000f40: JUMPDEST 00000f41: POP 00000f42: GAS 00000f43: CALL 00000f44: ISZERO 00000f45: DUP1 00000f46: ISZERO 00000f47: PUSH2 0x0f54 00000f4a: JUMPI 00000f4b: RETURNDATASIZE 00000f4c: PUSH1 0x00 00000f4e: DUP1 00000f4f: RETURNDATACOPY 00000f50: RETURNDATASIZE 00000f51: PUSH1 0x00 00000f53: REVERT 00000f54: JUMPDEST 00000f55: POP 00000f56: POP 00000f57: POP 00000f58: POP 00000f59: JUMPDEST 00000f5a: DUP6 00000f5b: ISZERO 00000f5c: PUSH2 0x10c4 00000f5f: JUMPI 00000f60: DUP3 00000f61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f76: AND 00000f77: PUSH4 0x022c0d9f 00000f7c: DUP3 00000f7d: PUSH1 0x00 00000f7f: DUP14 00000f80: PUSH1 0x00 00000f82: PUSH8 0xffffffffffffffff 00000f8b: DUP2 00000f8c: GT 00000f8d: DUP1 00000f8e: ISZERO 00000f8f: PUSH2 0x0f97 00000f92: JUMPI 00000f93: PUSH1 0x00 00000f95: DUP1 00000f96: REVERT 00000f97: JUMPDEST 00000f98: POP 00000f99: PUSH1 0x40 00000f9b: MLOAD 00000f9c: SWAP1 00000f9d: DUP1 00000f9e: DUP3 00000f9f: MSTORE 00000fa0: DUP1 00000fa1: PUSH1 0x1f 00000fa3: ADD 00000fa4: PUSH1 0x1f 00000fa6: NOT 00000fa7: AND 00000fa8: PUSH1 0x20 00000faa: ADD 00000fab: DUP3 00000fac: ADD 00000fad: PUSH1 0x40 00000faf: MSTORE 00000fb0: DUP1 00000fb1: ISZERO 00000fb2: PUSH2 0x0fca 00000fb5: JUMPI 00000fb6: DUP2 00000fb7: PUSH1 0x20 00000fb9: ADD 00000fba: PUSH1 0x01 00000fbc: DUP3 00000fbd: MUL 00000fbe: DUP1 00000fbf: CALLDATASIZE 00000fc0: DUP4 00000fc1: CALLDATACOPY 00000fc2: DUP1 00000fc3: DUP3 00000fc4: ADD 00000fc5: SWAP2 00000fc6: POP 00000fc7: POP 00000fc8: SWAP1 00000fc9: POP 00000fca: JUMPDEST 00000fcb: POP 00000fcc: PUSH1 0x40 00000fce: MLOAD 00000fcf: DUP6 00000fd0: PUSH4 0xffffffff 00000fd5: AND 00000fd6: PUSH1 0xe0 00000fd8: SHL 00000fd9: DUP2 00000fda: MSTORE 00000fdb: PUSH1 0x04 00000fdd: ADD 00000fde: DUP1 00000fdf: DUP6 00000fe0: DUP2 00000fe1: MSTORE 00000fe2: PUSH1 0x20 00000fe4: ADD 00000fe5: DUP5 00000fe6: DUP2 00000fe7: MSTORE 00000fe8: PUSH1 0x20 00000fea: ADD 00000feb: DUP4 00000fec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001001: AND 00001002: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001017: AND 00001018: DUP2 00001019: MSTORE 0000101a: PUSH1 0x20 0000101c: ADD 0000101d: DUP1 0000101e: PUSH1 0x20 00001020: ADD 00001021: DUP3 00001022: DUP2 00001023: SUB 00001024: DUP3 00001025: MSTORE 00001026: DUP4 00001027: DUP2 00001028: DUP2 00001029: MLOAD 0000102a: DUP2 0000102b: MSTORE 0000102c: PUSH1 0x20 0000102e: ADD 0000102f: SWAP2 00001030: POP 00001031: DUP1 00001032: MLOAD 00001033: SWAP1 00001034: PUSH1 0x20 00001036: ADD 00001037: SWAP1 00001038: DUP1 00001039: DUP4 0000103a: DUP4 0000103b: PUSH1 0x00 0000103d: JUMPDEST 0000103e: DUP4 0000103f: DUP2 00001040: LT 00001041: ISZERO 00001042: PUSH2 0x1058 00001045: JUMPI 00001046: DUP1 00001047: DUP3 00001048: ADD 00001049: MLOAD 0000104a: DUP2 0000104b: DUP5 0000104c: ADD 0000104d: MSTORE 0000104e: PUSH1 0x20 00001050: DUP2 00001051: ADD 00001052: SWAP1 00001053: POP 00001054: PUSH2 0x103d 00001057: JUMP 00001058: JUMPDEST 00001059: POP 0000105a: POP 0000105b: POP 0000105c: POP 0000105d: SWAP1 0000105e: POP 0000105f: SWAP1 00001060: DUP2 00001061: ADD 00001062: SWAP1 00001063: PUSH1 0x1f 00001065: AND 00001066: DUP1 00001067: ISZERO 00001068: PUSH2 0x1085 0000106b: JUMPI 0000106c: DUP1 0000106d: DUP3 0000106e: SUB 0000106f: DUP1 00001070: MLOAD 00001071: PUSH1 0x01 00001073: DUP4 00001074: PUSH1 0x20 00001076: SUB 00001077: PUSH2 0x0100 0000107a: EXP 0000107b: SUB 0000107c: NOT 0000107d: AND 0000107e: DUP2 0000107f: MSTORE 00001080: PUSH1 0x20 00001082: ADD 00001083: SWAP2 00001084: POP 00001085: JUMPDEST 00001086: POP 00001087: SWAP6 00001088: POP 00001089: POP 0000108a: POP 0000108b: POP 0000108c: POP 0000108d: POP 0000108e: PUSH1 0x00 00001090: PUSH1 0x40 00001092: MLOAD 00001093: DUP1 00001094: DUP4 00001095: SUB 00001096: DUP2 00001097: PUSH1 0x00 00001099: DUP8 0000109a: DUP1 0000109b: EXTCODESIZE 0000109c: ISZERO 0000109d: DUP1 0000109e: ISZERO 0000109f: PUSH2 0x10a7 000010a2: JUMPI 000010a3: PUSH1 0x00 000010a5: DUP1 000010a6: REVERT 000010a7: JUMPDEST 000010a8: POP 000010a9: GAS 000010aa: CALL 000010ab: ISZERO 000010ac: DUP1 000010ad: ISZERO 000010ae: PUSH2 0x10bb 000010b1: JUMPI 000010b2: RETURNDATASIZE 000010b3: PUSH1 0x00 000010b5: DUP1 000010b6: RETURNDATACOPY 000010b7: RETURNDATASIZE 000010b8: PUSH1 0x00 000010ba: REVERT 000010bb: JUMPDEST 000010bc: POP 000010bd: POP 000010be: POP 000010bf: POP 000010c0: PUSH2 0x1225 000010c3: JUMP 000010c4: JUMPDEST 000010c5: DUP3 000010c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010db: AND 000010dc: PUSH4 0x022c0d9f 000010e1: PUSH1 0x00 000010e3: DUP4 000010e4: DUP14 000010e5: PUSH1 0x00 000010e7: PUSH8 0xffffffffffffffff 000010f0: DUP2 000010f1: GT 000010f2: DUP1 000010f3: ISZERO 000010f4: PUSH2 0x10fc 000010f7: JUMPI 000010f8: PUSH1 0x00 000010fa: DUP1 000010fb: REVERT 000010fc: JUMPDEST 000010fd: POP 000010fe: PUSH1 0x40 00001100: MLOAD 00001101: SWAP1 00001102: DUP1 00001103: DUP3 00001104: MSTORE 00001105: DUP1 00001106: PUSH1 0x1f 00001108: ADD 00001109: PUSH1 0x1f 0000110b: NOT 0000110c: AND 0000110d: PUSH1 0x20 0000110f: ADD 00001110: DUP3 00001111: ADD 00001112: PUSH1 0x40 00001114: MSTORE 00001115: DUP1 00001116: ISZERO 00001117: PUSH2 0x112f 0000111a: JUMPI 0000111b: DUP2 0000111c: PUSH1 0x20 0000111e: ADD 0000111f: PUSH1 0x01 00001121: DUP3 00001122: MUL 00001123: DUP1 00001124: CALLDATASIZE 00001125: DUP4 00001126: CALLDATACOPY 00001127: DUP1 00001128: DUP3 00001129: ADD 0000112a: SWAP2 0000112b: POP 0000112c: POP 0000112d: SWAP1 0000112e: POP 0000112f: JUMPDEST 00001130: POP 00001131: PUSH1 0x40 00001133: MLOAD 00001134: DUP6 00001135: PUSH4 0xffffffff 0000113a: AND 0000113b: PUSH1 0xe0 0000113d: SHL 0000113e: DUP2 0000113f: MSTORE 00001140: PUSH1 0x04 00001142: ADD 00001143: DUP1 00001144: DUP6 00001145: DUP2 00001146: MSTORE 00001147: PUSH1 0x20 00001149: ADD 0000114a: DUP5 0000114b: DUP2 0000114c: MSTORE 0000114d: PUSH1 0x20 0000114f: ADD 00001150: DUP4 00001151: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001166: AND 00001167: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000117c: AND 0000117d: DUP2 0000117e: MSTORE 0000117f: PUSH1 0x20 00001181: ADD 00001182: DUP1 00001183: PUSH1 0x20 00001185: ADD 00001186: DUP3 00001187: DUP2 00001188: SUB 00001189: DUP3 0000118a: MSTORE 0000118b: DUP4 0000118c: DUP2 0000118d: DUP2 0000118e: MLOAD 0000118f: DUP2 00001190: MSTORE 00001191: PUSH1 0x20 00001193: ADD 00001194: SWAP2 00001195: POP 00001196: DUP1 00001197: MLOAD 00001198: SWAP1 00001199: PUSH1 0x20 0000119b: ADD 0000119c: SWAP1 0000119d: DUP1 0000119e: DUP4 0000119f: DUP4 000011a0: PUSH1 0x00 000011a2: JUMPDEST 000011a3: DUP4 000011a4: DUP2 000011a5: LT 000011a6: ISZERO 000011a7: PUSH2 0x11bd 000011aa: JUMPI 000011ab: DUP1 000011ac: DUP3 000011ad: ADD 000011ae: MLOAD 000011af: DUP2 000011b0: DUP5 000011b1: ADD 000011b2: MSTORE 000011b3: PUSH1 0x20 000011b5: DUP2 000011b6: ADD 000011b7: SWAP1 000011b8: POP 000011b9: PUSH2 0x11a2 000011bc: JUMP 000011bd: JUMPDEST 000011be: POP 000011bf: POP 000011c0: POP 000011c1: POP 000011c2: SWAP1 000011c3: POP 000011c4: SWAP1 000011c5: DUP2 000011c6: ADD 000011c7: SWAP1 000011c8: PUSH1 0x1f 000011ca: AND 000011cb: DUP1 000011cc: ISZERO 000011cd: PUSH2 0x11ea 000011d0: JUMPI 000011d1: DUP1 000011d2: DUP3 000011d3: SUB 000011d4: DUP1 000011d5: MLOAD 000011d6: PUSH1 0x01 000011d8: DUP4 000011d9: PUSH1 0x20 000011db: SUB 000011dc: PUSH2 0x0100 000011df: EXP 000011e0: SUB 000011e1: NOT 000011e2: AND 000011e3: DUP2 000011e4: MSTORE 000011e5: PUSH1 0x20 000011e7: ADD 000011e8: SWAP2 000011e9: POP 000011ea: JUMPDEST 000011eb: POP 000011ec: SWAP6 000011ed: POP 000011ee: POP 000011ef: POP 000011f0: POP 000011f1: POP 000011f2: POP 000011f3: PUSH1 0x00 000011f5: PUSH1 0x40 000011f7: MLOAD 000011f8: DUP1 000011f9: DUP4 000011fa: SUB 000011fb: DUP2 000011fc: PUSH1 0x00 000011fe: DUP8 000011ff: DUP1 00001200: EXTCODESIZE 00001201: ISZERO 00001202: DUP1 00001203: ISZERO 00001204: PUSH2 0x120c 00001207: JUMPI 00001208: PUSH1 0x00 0000120a: DUP1 0000120b: REVERT 0000120c: JUMPDEST 0000120d: POP 0000120e: GAS 0000120f: CALL 00001210: ISZERO 00001211: DUP1 00001212: ISZERO 00001213: PUSH2 0x1220 00001216: JUMPI 00001217: RETURNDATASIZE 00001218: PUSH1 0x00 0000121a: DUP1 0000121b: RETURNDATACOPY 0000121c: RETURNDATASIZE 0000121d: PUSH1 0x00 0000121f: REVERT 00001220: JUMPDEST 00001221: POP 00001222: POP 00001223: POP 00001224: POP 00001225: JUMPDEST 00001226: DUP5 00001227: PUSH2 0x1296 0000122a: JUMPI 0000122b: DUP11 0000122c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001241: AND 00001242: PUSH4 0x2e1a7d4d 00001247: DUP3 00001248: PUSH1 0x40 0000124a: MLOAD 0000124b: DUP3 0000124c: PUSH4 0xffffffff 00001251: AND 00001252: PUSH1 0xe0 00001254: SHL 00001255: DUP2 00001256: MSTORE 00001257: PUSH1 0x04 00001259: ADD 0000125a: DUP1 0000125b: DUP3 0000125c: DUP2 0000125d: MSTORE 0000125e: PUSH1 0x20 00001260: ADD 00001261: SWAP2 00001262: POP 00001263: POP 00001264: PUSH1 0x00 00001266: PUSH1 0x40 00001268: MLOAD 00001269: DUP1 0000126a: DUP4 0000126b: SUB 0000126c: DUP2 0000126d: PUSH1 0x00 0000126f: DUP8 00001270: DUP1 00001271: EXTCODESIZE 00001272: ISZERO 00001273: DUP1 00001274: ISZERO 00001275: PUSH2 0x127d 00001278: JUMPI 00001279: PUSH1 0x00 0000127b: DUP1 0000127c: REVERT 0000127d: JUMPDEST 0000127e: POP 0000127f: GAS 00001280: CALL 00001281: ISZERO 00001282: DUP1 00001283: ISZERO 00001284: PUSH2 0x1291 00001287: JUMPI 00001288: RETURNDATASIZE 00001289: PUSH1 0x00 0000128b: DUP1 0000128c: RETURNDATACOPY 0000128d: RETURNDATASIZE 0000128e: PUSH1 0x00 00001290: REVERT 00001291: JUMPDEST 00001292: POP 00001293: POP 00001294: POP 00001295: POP 00001296: JUMPDEST 00001297: PUSH1 0x00 00001299: DUP14 0000129a: PUSH1 0x13 0000129c: SIGNEXTEND 0000129d: SGT 0000129e: ISZERO 0000129f: PUSH2 0x1333 000012a2: JUMPI 000012a3: DUP13 000012a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012b9: AND 000012ba: PUSH4 0x6366b936 000012bf: PUSH1 0x03 000012c1: PUSH1 0x40 000012c3: MLOAD 000012c4: DUP3 000012c5: PUSH4 0xffffffff 000012ca: AND 000012cb: PUSH1 0xe0 000012cd: SHL 000012ce: DUP2 000012cf: MSTORE 000012d0: PUSH1 0x04 000012d2: ADD 000012d3: DUP1 000012d4: DUP3 000012d5: DUP2 000012d6: MSTORE 000012d7: PUSH1 0x20 000012d9: ADD 000012da: SWAP2 000012db: POP 000012dc: POP 000012dd: PUSH1 0x20 000012df: PUSH1 0x40 000012e1: MLOAD 000012e2: DUP1 000012e3: DUP4 000012e4: SUB 000012e5: DUP2 000012e6: PUSH1 0x00 000012e8: DUP8 000012e9: DUP1 000012ea: EXTCODESIZE 000012eb: ISZERO 000012ec: DUP1 000012ed: ISZERO 000012ee: PUSH2 0x12f6 000012f1: JUMPI 000012f2: PUSH1 0x00 000012f4: DUP1 000012f5: REVERT 000012f6: JUMPDEST 000012f7: POP 000012f8: GAS 000012f9: CALL 000012fa: ISZERO 000012fb: DUP1 000012fc: ISZERO 000012fd: PUSH2 0x130a 00001300: JUMPI 00001301: RETURNDATASIZE 00001302: PUSH1 0x00 00001304: DUP1 00001305: RETURNDATACOPY 00001306: RETURNDATASIZE 00001307: PUSH1 0x00 00001309: REVERT 0000130a: JUMPDEST 0000130b: POP 0000130c: POP 0000130d: POP 0000130e: POP 0000130f: PUSH1 0x40 00001311: MLOAD 00001312: RETURNDATASIZE 00001313: PUSH1 0x20 00001315: DUP2 00001316: LT 00001317: ISZERO 00001318: PUSH2 0x1320 0000131b: JUMPI 0000131c: PUSH1 0x00 0000131e: DUP1 0000131f: REVERT 00001320: JUMPDEST 00001321: DUP2 00001322: ADD 00001323: SWAP1 00001324: DUP1 00001325: DUP1 00001326: MLOAD 00001327: SWAP1 00001328: PUSH1 0x20 0000132a: ADD 0000132b: SWAP1 0000132c: SWAP3 0000132d: SWAP2 0000132e: SWAP1 0000132f: POP 00001330: POP 00001331: POP 00001332: POP 00001333: JUMPDEST 00001334: POP 00001335: POP 00001336: POP 00001337: POP 00001338: POP 00001339: POP 0000133a: POP 0000133b: POP 0000133c: POP 0000133d: POP 0000133e: POP 0000133f: POP 00001340: POP 00001341: POP 00001342: POP 00001343: POP 00001344: JUMP 00001345: JUMPDEST 00001346: PUSH1 0x00 00001348: DUP1 00001349: PUSH1 0x00 0000134b: DUP8 0000134c: SWAP1 0000134d: POP 0000134e: PUSH1 0x00 00001350: DUP8 00001351: SWAP1 00001352: POP 00001353: DUP6 00001354: ISZERO 00001355: PUSH2 0x1615 00001358: JUMPI 00001359: PUSH1 0x00 0000135b: DUP1 0000135c: DUP4 0000135d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001372: AND 00001373: PUSH4 0x0902f1ac 00001378: PUSH1 0x40 0000137a: MLOAD 0000137b: DUP2 0000137c: PUSH4 0xffffffff 00001381: AND 00001382: PUSH1 0xe0 00001384: SHL 00001385: DUP2 00001386: MSTORE 00001387: PUSH1 0x04 00001389: ADD 0000138a: PUSH1 0x60 0000138c: PUSH1 0x40 0000138e: MLOAD 0000138f: DUP1 00001390: DUP4 00001391: SUB 00001392: DUP2 00001393: DUP7 00001394: DUP1 00001395: EXTCODESIZE 00001396: ISZERO 00001397: DUP1 00001398: ISZERO 00001399: PUSH2 0x13a1 0000139c: JUMPI 0000139d: PUSH1 0x00 0000139f: DUP1 000013a0: REVERT 000013a1: JUMPDEST 000013a2: POP 000013a3: GAS 000013a4: STATICCALL 000013a5: ISZERO 000013a6: DUP1 000013a7: ISZERO 000013a8: PUSH2 0x13b5 000013ab: JUMPI 000013ac: RETURNDATASIZE 000013ad: PUSH1 0x00 000013af: DUP1 000013b0: RETURNDATACOPY 000013b1: RETURNDATASIZE 000013b2: PUSH1 0x00 000013b4: REVERT 000013b5: JUMPDEST 000013b6: POP 000013b7: POP 000013b8: POP 000013b9: POP 000013ba: PUSH1 0x40 000013bc: MLOAD 000013bd: RETURNDATASIZE 000013be: PUSH1 0x60 000013c0: DUP2 000013c1: LT 000013c2: ISZERO 000013c3: PUSH2 0x13cb 000013c6: JUMPI 000013c7: PUSH1 0x00 000013c9: DUP1 000013ca: REVERT 000013cb: JUMPDEST 000013cc: DUP2 000013cd: ADD 000013ce: SWAP1 000013cf: DUP1 000013d0: DUP1 000013d1: MLOAD 000013d2: SWAP1 000013d3: PUSH1 0x20 000013d5: ADD 000013d6: SWAP1 000013d7: SWAP3 000013d8: SWAP2 000013d9: SWAP1 000013da: DUP1 000013db: MLOAD 000013dc: SWAP1 000013dd: PUSH1 0x20 000013df: ADD 000013e0: SWAP1 000013e1: SWAP3 000013e2: SWAP2 000013e3: SWAP1 000013e4: DUP1 000013e5: MLOAD 000013e6: SWAP1 000013e7: PUSH1 0x20 000013e9: ADD 000013ea: SWAP1 000013eb: SWAP3 000013ec: SWAP2 000013ed: SWAP1 000013ee: POP 000013ef: POP 000013f0: POP 000013f1: POP 000013f2: PUSH14 0xffffffffffffffffffffffffffff 00001401: AND 00001402: SWAP2 00001403: POP 00001404: PUSH14 0xffffffffffffffffffffffffffff 00001413: AND 00001414: SWAP2 00001415: POP 00001416: PUSH1 0x00 00001418: PUSH2 0x03e5 0000141b: DUP11 0000141c: MUL 0000141d: PUSH2 0x03e8 00001420: DUP4 00001421: MUL 00001422: ADD 00001423: DUP4 00001424: PUSH2 0x03e5 00001427: DUP13 00001428: MUL 00001429: MUL 0000142a: DUP2 0000142b: PUSH2 0x1430 0000142e: JUMPI 0000142f: INVALID 00001430: JUMPDEST 00001431: DIV 00001432: SWAP1 00001433: POP 00001434: DUP8 00001435: ISZERO 00001436: PUSH2 0x1527 00001439: JUMPI 0000143a: PUSH1 0x00 0000143c: DUP1 0000143d: DUP6 0000143e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001453: AND 00001454: PUSH4 0x0902f1ac 00001459: PUSH1 0x40 0000145b: MLOAD 0000145c: DUP2 0000145d: PUSH4 0xffffffff 00001462: AND 00001463: PUSH1 0xe0 00001465: SHL 00001466: DUP2 00001467: MSTORE 00001468: PUSH1 0x04 0000146a: ADD 0000146b: PUSH1 0x60 0000146d: PUSH1 0x40 0000146f: MLOAD 00001470: DUP1 00001471: DUP4 00001472: SUB 00001473: DUP2 00001474: DUP7 00001475: DUP1 00001476: EXTCODESIZE 00001477: ISZERO 00001478: DUP1 00001479: ISZERO 0000147a: PUSH2 0x1482 0000147d: JUMPI 0000147e: PUSH1 0x00 00001480: DUP1 00001481: REVERT 00001482: JUMPDEST 00001483: POP 00001484: GAS 00001485: STATICCALL 00001486: ISZERO 00001487: DUP1 00001488: ISZERO 00001489: PUSH2 0x1496 0000148c: JUMPI 0000148d: RETURNDATASIZE 0000148e: PUSH1 0x00 00001490: DUP1 00001491: RETURNDATACOPY 00001492: RETURNDATASIZE 00001493: PUSH1 0x00 00001495: REVERT 00001496: JUMPDEST 00001497: POP 00001498: POP 00001499: POP 0000149a: POP 0000149b: PUSH1 0x40 0000149d: MLOAD 0000149e: RETURNDATASIZE 0000149f: PUSH1 0x60 000014a1: DUP2 000014a2: LT 000014a3: ISZERO 000014a4: PUSH2 0x14ac 000014a7: JUMPI 000014a8: PUSH1 0x00 000014aa: DUP1 000014ab: REVERT 000014ac: JUMPDEST 000014ad: DUP2 000014ae: ADD 000014af: SWAP1 000014b0: DUP1 000014b1: DUP1 000014b2: MLOAD 000014b3: SWAP1 000014b4: PUSH1 0x20 000014b6: ADD 000014b7: SWAP1 000014b8: SWAP3 000014b9: SWAP2 000014ba: SWAP1 000014bb: DUP1 000014bc: MLOAD 000014bd: SWAP1 000014be: PUSH1 0x20 000014c0: ADD 000014c1: SWAP1 000014c2: SWAP3 000014c3: SWAP2 000014c4: SWAP1 000014c5: DUP1 000014c6: MLOAD 000014c7: SWAP1 000014c8: PUSH1 0x20 000014ca: ADD 000014cb: SWAP1 000014cc: SWAP3 000014cd: SWAP2 000014ce: SWAP1 000014cf: POP 000014d0: POP 000014d1: POP 000014d2: POP 000014d3: PUSH14 0xffffffffffffffffffffffffffff 000014e2: AND 000014e3: SWAP2 000014e4: POP 000014e5: PUSH14 0xffffffffffffffffffffffffffff 000014f4: AND 000014f5: SWAP2 000014f6: POP 000014f7: PUSH1 0x00 000014f9: PUSH2 0x03e5 000014fc: DUP5 000014fd: MUL 000014fe: PUSH2 0x03e8 00001501: DUP4 00001502: MUL 00001503: ADD 00001504: DUP4 00001505: PUSH2 0x03e5 00001508: DUP7 00001509: MUL 0000150a: MUL 0000150b: DUP2 0000150c: PUSH2 0x1511 0000150f: JUMPI 00001510: INVALID 00001511: JUMPDEST 00001512: DIV 00001513: SWAP1 00001514: POP 00001515: DUP4 00001516: DUP2 00001517: SWAP10 00001518: POP 00001519: SWAP10 0000151a: POP 0000151b: POP 0000151c: POP 0000151d: POP 0000151e: POP 0000151f: POP 00001520: POP 00001521: POP 00001522: POP 00001523: PUSH2 0x18ce 00001526: JUMP 00001527: JUMPDEST 00001528: PUSH1 0x00 0000152a: DUP1 0000152b: DUP6 0000152c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001541: AND 00001542: PUSH4 0x0902f1ac 00001547: PUSH1 0x40 00001549: MLOAD 0000154a: DUP2 0000154b: PUSH4 0xffffffff 00001550: AND 00001551: PUSH1 0xe0 00001553: SHL 00001554: DUP2 00001555: MSTORE 00001556: PUSH1 0x04 00001558: ADD 00001559: PUSH1 0x60 0000155b: PUSH1 0x40 0000155d: MLOAD 0000155e: DUP1 0000155f: DUP4 00001560: SUB 00001561: DUP2 00001562: DUP7 00001563: DUP1 00001564: EXTCODESIZE 00001565: ISZERO 00001566: DUP1 00001567: ISZERO 00001568: PUSH2 0x1570 0000156b: JUMPI 0000156c: PUSH1 0x00 0000156e: DUP1 0000156f: REVERT 00001570: JUMPDEST 00001571: POP 00001572: GAS 00001573: STATICCALL 00001574: ISZERO 00001575: DUP1 00001576: ISZERO 00001577: PUSH2 0x1584 0000157a: JUMPI 0000157b: RETURNDATASIZE 0000157c: PUSH1 0x00 0000157e: DUP1 0000157f: RETURNDATACOPY 00001580: RETURNDATASIZE 00001581: PUSH1 0x00 00001583: REVERT 00001584: JUMPDEST 00001585: POP 00001586: POP 00001587: POP 00001588: POP 00001589: PUSH1 0x40 0000158b: MLOAD 0000158c: RETURNDATASIZE 0000158d: PUSH1 0x60 0000158f: DUP2 00001590: LT 00001591: ISZERO 00001592: PUSH2 0x159a 00001595: JUMPI 00001596: PUSH1 0x00 00001598: DUP1 00001599: REVERT 0000159a: JUMPDEST 0000159b: DUP2 0000159c: ADD 0000159d: SWAP1 0000159e: DUP1 0000159f: DUP1 000015a0: MLOAD 000015a1: SWAP1 000015a2: PUSH1 0x20 000015a4: ADD 000015a5: SWAP1 000015a6: SWAP3 000015a7: SWAP2 000015a8: SWAP1 000015a9: DUP1 000015aa: MLOAD 000015ab: SWAP1 000015ac: PUSH1 0x20 000015ae: ADD 000015af: SWAP1 000015b0: SWAP3 000015b1: SWAP2 000015b2: SWAP1 000015b3: DUP1 000015b4: MLOAD 000015b5: SWAP1 000015b6: PUSH1 0x20 000015b8: ADD 000015b9: SWAP1 000015ba: SWAP3 000015bb: SWAP2 000015bc: SWAP1 000015bd: POP 000015be: POP 000015bf: POP 000015c0: POP 000015c1: PUSH14 0xffffffffffffffffffffffffffff 000015d0: AND 000015d1: SWAP2 000015d2: POP 000015d3: PUSH14 0xffffffffffffffffffffffffffff 000015e2: AND 000015e3: SWAP2 000015e4: POP 000015e5: PUSH1 0x00 000015e7: PUSH2 0x03e5 000015ea: DUP5 000015eb: MUL 000015ec: PUSH2 0x03e8 000015ef: DUP5 000015f0: MUL 000015f1: ADD 000015f2: DUP3 000015f3: PUSH2 0x03e5 000015f6: DUP7 000015f7: MUL 000015f8: MUL 000015f9: DUP2 000015fa: PUSH2 0x15ff 000015fd: JUMPI 000015fe: INVALID 000015ff: JUMPDEST 00001600: DIV 00001601: SWAP1 00001602: POP 00001603: DUP4 00001604: DUP2 00001605: SWAP10 00001606: POP 00001607: SWAP10 00001608: POP 00001609: POP 0000160a: POP 0000160b: POP 0000160c: POP 0000160d: POP 0000160e: POP 0000160f: POP 00001610: POP 00001611: PUSH2 0x18ce 00001614: JUMP 00001615: JUMPDEST 00001616: PUSH1 0x00 00001618: DUP1 00001619: DUP4 0000161a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000162f: AND 00001630: PUSH4 0x0902f1ac 00001635: PUSH1 0x40 00001637: MLOAD 00001638: DUP2 00001639: PUSH4 0xffffffff 0000163e: AND 0000163f: PUSH1 0xe0 00001641: SHL 00001642: DUP2 00001643: MSTORE 00001644: PUSH1 0x04 00001646: ADD 00001647: PUSH1 0x60 00001649: PUSH1 0x40 0000164b: MLOAD 0000164c: DUP1 0000164d: DUP4 0000164e: SUB 0000164f: DUP2 00001650: DUP7 00001651: DUP1 00001652: EXTCODESIZE 00001653: ISZERO 00001654: DUP1 00001655: ISZERO 00001656: PUSH2 0x165e 00001659: JUMPI 0000165a: PUSH1 0x00 0000165c: DUP1 0000165d: REVERT 0000165e: JUMPDEST 0000165f: POP 00001660: GAS 00001661: STATICCALL 00001662: ISZERO 00001663: DUP1 00001664: ISZERO 00001665: PUSH2 0x1672 00001668: JUMPI 00001669: RETURNDATASIZE 0000166a: PUSH1 0x00 0000166c: DUP1 0000166d: RETURNDATACOPY 0000166e: RETURNDATASIZE 0000166f: PUSH1 0x00 00001671: REVERT 00001672: JUMPDEST 00001673: POP 00001674: POP 00001675: POP 00001676: POP 00001677: PUSH1 0x40 00001679: MLOAD 0000167a: RETURNDATASIZE 0000167b: PUSH1 0x60 0000167d: DUP2 0000167e: LT 0000167f: ISZERO 00001680: PUSH2 0x1688 00001683: JUMPI 00001684: PUSH1 0x00 00001686: DUP1 00001687: REVERT 00001688: JUMPDEST 00001689: DUP2 0000168a: ADD 0000168b: SWAP1 0000168c: DUP1 0000168d: DUP1 0000168e: MLOAD 0000168f: SWAP1 00001690: PUSH1 0x20 00001692: ADD 00001693: SWAP1 00001694: SWAP3 00001695: SWAP2 00001696: SWAP1 00001697: DUP1 00001698: MLOAD 00001699: SWAP1 0000169a: PUSH1 0x20 0000169c: ADD 0000169d: SWAP1 0000169e: SWAP3 0000169f: SWAP2 000016a0: SWAP1 000016a1: DUP1 000016a2: MLOAD 000016a3: SWAP1 000016a4: PUSH1 0x20 000016a6: ADD 000016a7: SWAP1 000016a8: SWAP3 000016a9: SWAP2 000016aa: SWAP1 000016ab: POP 000016ac: POP 000016ad: POP 000016ae: POP 000016af: PUSH14 0xffffffffffffffffffffffffffff 000016be: AND 000016bf: SWAP2 000016c0: POP 000016c1: PUSH14 0xffffffffffffffffffffffffffff 000016d0: AND 000016d1: SWAP2 000016d2: POP 000016d3: PUSH1 0x00 000016d5: PUSH2 0x03e5 000016d8: DUP11 000016d9: MUL 000016da: PUSH2 0x03e8 000016dd: DUP5 000016de: MUL 000016df: ADD 000016e0: DUP3 000016e1: PUSH2 0x03e5 000016e4: DUP13 000016e5: MUL 000016e6: MUL 000016e7: DUP2 000016e8: PUSH2 0x16ed 000016eb: JUMPI 000016ec: INVALID 000016ed: JUMPDEST 000016ee: DIV 000016ef: SWAP1 000016f0: POP 000016f1: DUP8 000016f2: ISZERO 000016f3: PUSH2 0x17e4 000016f6: JUMPI 000016f7: PUSH1 0x00 000016f9: DUP1 000016fa: DUP6 000016fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001710: AND 00001711: PUSH4 0x0902f1ac 00001716: PUSH1 0x40 00001718: MLOAD 00001719: DUP2 0000171a: PUSH4 0xffffffff 0000171f: AND 00001720: PUSH1 0xe0 00001722: SHL 00001723: DUP2 00001724: MSTORE 00001725: PUSH1 0x04 00001727: ADD 00001728: PUSH1 0x60 0000172a: PUSH1 0x40 0000172c: MLOAD 0000172d: DUP1 0000172e: DUP4 0000172f: SUB 00001730: DUP2 00001731: DUP7 00001732: DUP1 00001733: EXTCODESIZE 00001734: ISZERO 00001735: DUP1 00001736: ISZERO 00001737: PUSH2 0x173f 0000173a: JUMPI 0000173b: PUSH1 0x00 0000173d: DUP1 0000173e: REVERT 0000173f: JUMPDEST 00001740: POP 00001741: GAS 00001742: STATICCALL 00001743: ISZERO 00001744: DUP1 00001745: ISZERO 00001746: PUSH2 0x1753 00001749: JUMPI 0000174a: RETURNDATASIZE 0000174b: PUSH1 0x00 0000174d: DUP1 0000174e: RETURNDATACOPY 0000174f: RETURNDATASIZE 00001750: PUSH1 0x00 00001752: REVERT 00001753: JUMPDEST 00001754: POP 00001755: POP 00001756: POP 00001757: POP 00001758: PUSH1 0x40 0000175a: MLOAD 0000175b: RETURNDATASIZE 0000175c: PUSH1 0x60 0000175e: DUP2 0000175f: LT 00001760: ISZERO 00001761: PUSH2 0x1769 00001764: JUMPI 00001765: PUSH1 0x00 00001767: DUP1 00001768: REVERT 00001769: JUMPDEST 0000176a: DUP2 0000176b: ADD 0000176c: SWAP1 0000176d: DUP1 0000176e: DUP1 0000176f: MLOAD 00001770: SWAP1 00001771: PUSH1 0x20 00001773: ADD 00001774: SWAP1 00001775: SWAP3 00001776: SWAP2 00001777: SWAP1 00001778: DUP1 00001779: MLOAD 0000177a: SWAP1 0000177b: PUSH1 0x20 0000177d: ADD 0000177e: SWAP1 0000177f: SWAP3 00001780: SWAP2 00001781: SWAP1 00001782: DUP1 00001783: MLOAD 00001784: SWAP1 00001785: PUSH1 0x20 00001787: ADD 00001788: SWAP1 00001789: SWAP3 0000178a: SWAP2 0000178b: SWAP1 0000178c: POP 0000178d: POP 0000178e: POP 0000178f: POP 00001790: PUSH14 0xffffffffffffffffffffffffffff 0000179f: AND 000017a0: SWAP2 000017a1: POP 000017a2: PUSH14 0xffffffffffffffffffffffffffff 000017b1: AND 000017b2: SWAP2 000017b3: POP 000017b4: PUSH1 0x00 000017b6: PUSH2 0x03e5 000017b9: DUP5 000017ba: MUL 000017bb: PUSH2 0x03e8 000017be: DUP4 000017bf: MUL 000017c0: ADD 000017c1: DUP4 000017c2: PUSH2 0x03e5 000017c5: DUP7 000017c6: MUL 000017c7: MUL 000017c8: DUP2 000017c9: PUSH2 0x17ce 000017cc: JUMPI 000017cd: INVALID 000017ce: JUMPDEST 000017cf: DIV 000017d0: SWAP1 000017d1: POP 000017d2: DUP4 000017d3: DUP2 000017d4: SWAP10 000017d5: POP 000017d6: SWAP10 000017d7: POP 000017d8: POP 000017d9: POP 000017da: POP 000017db: POP 000017dc: POP 000017dd: POP 000017de: POP 000017df: POP 000017e0: PUSH2 0x18ce 000017e3: JUMP 000017e4: JUMPDEST 000017e5: PUSH1 0x00 000017e7: DUP1 000017e8: DUP6 000017e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017fe: AND 000017ff: PUSH4 0x0902f1ac 00001804: PUSH1 0x40 00001806: MLOAD 00001807: DUP2 00001808: PUSH4 0xffffffff 0000180d: AND 0000180e: PUSH1 0xe0 00001810: SHL 00001811: DUP2 00001812: MSTORE 00001813: PUSH1 0x04 00001815: ADD 00001816: PUSH1 0x60 00001818: PUSH1 0x40 0000181a: MLOAD 0000181b: DUP1 0000181c: DUP4 0000181d: SUB 0000181e: DUP2 0000181f: DUP7 00001820: DUP1 00001821: EXTCODESIZE 00001822: ISZERO 00001823: DUP1 00001824: ISZERO 00001825: PUSH2 0x182d 00001828: JUMPI 00001829: PUSH1 0x00 0000182b: DUP1 0000182c: REVERT 0000182d: JUMPDEST 0000182e: POP 0000182f: GAS 00001830: STATICCALL 00001831: ISZERO 00001832: DUP1 00001833: ISZERO 00001834: PUSH2 0x1841 00001837: JUMPI 00001838: RETURNDATASIZE 00001839: PUSH1 0x00 0000183b: DUP1 0000183c: RETURNDATACOPY 0000183d: RETURNDATASIZE 0000183e: PUSH1 0x00 00001840: REVERT 00001841: JUMPDEST 00001842: POP 00001843: POP 00001844: POP 00001845: POP 00001846: PUSH1 0x40 00001848: MLOAD 00001849: RETURNDATASIZE 0000184a: PUSH1 0x60 0000184c: DUP2 0000184d: LT 0000184e: ISZERO 0000184f: PUSH2 0x1857 00001852: JUMPI 00001853: PUSH1 0x00 00001855: DUP1 00001856: REVERT 00001857: JUMPDEST 00001858: DUP2 00001859: ADD 0000185a: SWAP1 0000185b: DUP1 0000185c: DUP1 0000185d: MLOAD 0000185e: SWAP1 0000185f: PUSH1 0x20 00001861: ADD 00001862: SWAP1 00001863: SWAP3 00001864: SWAP2 00001865: SWAP1 00001866: DUP1 00001867: MLOAD 00001868: SWAP1 00001869: PUSH1 0x20 0000186b: ADD 0000186c: SWAP1 0000186d: SWAP3 0000186e: SWAP2 0000186f: SWAP1 00001870: DUP1 00001871: MLOAD 00001872: SWAP1 00001873: PUSH1 0x20 00001875: ADD 00001876: SWAP1 00001877: SWAP3 00001878: SWAP2 00001879: SWAP1 0000187a: POP 0000187b: POP 0000187c: POP 0000187d: POP 0000187e: PUSH14 0xffffffffffffffffffffffffffff 0000188d: AND 0000188e: SWAP2 0000188f: POP 00001890: PUSH14 0xffffffffffffffffffffffffffff 0000189f: AND 000018a0: SWAP2 000018a1: POP 000018a2: PUSH1 0x00 000018a4: PUSH2 0x03e5 000018a7: DUP5 000018a8: MUL 000018a9: PUSH2 0x03e8 000018ac: DUP5 000018ad: MUL 000018ae: ADD 000018af: DUP3 000018b0: PUSH2 0x03e5 000018b3: DUP7 000018b4: MUL 000018b5: MUL 000018b6: DUP2 000018b7: PUSH2 0x18bc 000018ba: JUMPI 000018bb: INVALID 000018bc: JUMPDEST 000018bd: DIV 000018be: SWAP1 000018bf: POP 000018c0: DUP4 000018c1: DUP2 000018c2: SWAP10 000018c3: POP 000018c4: SWAP10 000018c5: POP 000018c6: POP 000018c7: POP 000018c8: POP 000018c9: POP 000018ca: POP 000018cb: POP 000018cc: POP 000018cd: POP 000018ce: JUMPDEST 000018cf: SWAP6 000018d0: POP 000018d1: SWAP6 000018d2: SWAP4 000018d3: POP 000018d4: POP 000018d5: POP 000018d6: POP 000018d7: JUMP 000018d8: JUMPDEST 000018d9: PUSH1 0x01 000018db: ISZERO 000018dc: ISZERO 000018dd: PUSH1 0x00 000018df: DUP1 000018e0: CALLER 000018e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018f6: AND 000018f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000190c: AND 0000190d: DUP2 0000190e: MSTORE 0000190f: PUSH1 0x20 00001911: ADD 00001912: SWAP1 00001913: DUP2 00001914: MSTORE 00001915: PUSH1 0x20 00001917: ADD 00001918: PUSH1 0x00 0000191a: KECCAK256 0000191b: PUSH1 0x00 0000191d: SWAP1 0000191e: SLOAD 0000191f: SWAP1 00001920: PUSH2 0x0100 00001923: EXP 00001924: SWAP1 00001925: DIV 00001926: PUSH1 0xff 00001928: AND 00001929: ISZERO 0000192a: ISZERO 0000192b: EQ 0000192c: PUSH2 0x199d 0000192f: JUMPI 00001930: PUSH1 0x40 00001932: MLOAD 00001933: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001954: DUP2 00001955: MSTORE 00001956: PUSH1 0x04 00001958: ADD 00001959: DUP1 0000195a: DUP1 0000195b: PUSH1 0x20 0000195d: ADD 0000195e: DUP3 0000195f: DUP2 00001960: SUB 00001961: DUP3 00001962: MSTORE 00001963: PUSH1 0x02 00001965: DUP2 00001966: MSTORE 00001967: PUSH1 0x20 00001969: ADD 0000196a: DUP1 0000196b: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 0000198c: DUP2 0000198d: MSTORE 0000198e: POP 0000198f: PUSH1 0x20 00001991: ADD 00001992: SWAP2 00001993: POP 00001994: POP 00001995: PUSH1 0x40 00001997: MLOAD 00001998: DUP1 00001999: SWAP2 0000199a: SUB 0000199b: SWAP1 0000199c: REVERT 0000199d: JUMPDEST 0000199e: PUSH1 0x00 000019a0: DUP9 000019a1: DUP13 000019a2: ADD 000019a3: SWAP1 000019a4: POP 000019a5: PUSH1 0x00 000019a7: PUSH2 0x19b1 000019aa: DUP3 000019ab: DUP9 000019ac: DUP8 000019ad: PUSH2 0x20cc 000019b0: JUMP 000019b1: JUMPDEST 000019b2: SWAP1 000019b3: POP 000019b4: DUP6 000019b5: DUP2 000019b6: LT 000019b7: ISZERO 000019b8: PUSH2 0x1a29 000019bb: JUMPI 000019bc: PUSH1 0x40 000019be: MLOAD 000019bf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000019e0: DUP2 000019e1: MSTORE 000019e2: PUSH1 0x04 000019e4: ADD 000019e5: DUP1 000019e6: DUP1 000019e7: PUSH1 0x20 000019e9: ADD 000019ea: DUP3 000019eb: DUP2 000019ec: SUB 000019ed: DUP3 000019ee: MSTORE 000019ef: PUSH1 0x02 000019f1: DUP2 000019f2: MSTORE 000019f3: PUSH1 0x20 000019f5: ADD 000019f6: DUP1 000019f7: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 00001a18: DUP2 00001a19: MSTORE 00001a1a: POP 00001a1b: PUSH1 0x20 00001a1d: ADD 00001a1e: SWAP2 00001a1f: POP 00001a20: POP 00001a21: PUSH1 0x40 00001a23: MLOAD 00001a24: DUP1 00001a25: SWAP2 00001a26: SUB 00001a27: SWAP1 00001a28: REVERT 00001a29: JUMPDEST 00001a2a: DUP4 00001a2b: ISZERO 00001a2c: PUSH2 0x1aa0 00001a2f: JUMPI 00001a30: DUP9 00001a31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a46: AND 00001a47: PUSH4 0xd0e30db0 00001a4c: DUP9 00001a4d: PUSH1 0x40 00001a4f: MLOAD 00001a50: DUP3 00001a51: PUSH4 0xffffffff 00001a56: AND 00001a57: PUSH1 0xe0 00001a59: SHL 00001a5a: DUP2 00001a5b: MSTORE 00001a5c: PUSH1 0x04 00001a5e: ADD 00001a5f: PUSH1 0x00 00001a61: PUSH1 0x40 00001a63: MLOAD 00001a64: DUP1 00001a65: DUP4 00001a66: SUB 00001a67: DUP2 00001a68: DUP6 00001a69: DUP9 00001a6a: DUP1 00001a6b: EXTCODESIZE 00001a6c: ISZERO 00001a6d: DUP1 00001a6e: ISZERO 00001a6f: PUSH2 0x1a77 00001a72: JUMPI 00001a73: PUSH1 0x00 00001a75: DUP1 00001a76: REVERT 00001a77: JUMPDEST 00001a78: POP 00001a79: GAS 00001a7a: CALL 00001a7b: ISZERO 00001a7c: DUP1 00001a7d: ISZERO 00001a7e: PUSH2 0x1a8b 00001a81: JUMPI 00001a82: RETURNDATASIZE 00001a83: PUSH1 0x00 00001a85: DUP1 00001a86: RETURNDATACOPY 00001a87: RETURNDATASIZE 00001a88: PUSH1 0x00 00001a8a: REVERT 00001a8b: JUMPDEST 00001a8c: POP 00001a8d: POP 00001a8e: POP 00001a8f: POP 00001a90: POP 00001a91: PUSH2 0x1a9b 00001a94: DUP10 00001a95: DUP4 00001a96: DUP10 00001a97: PUSH2 0x2402 00001a9a: JUMP 00001a9b: JUMPDEST 00001a9c: PUSH2 0x1b4f 00001a9f: JUMP 00001aa0: JUMPDEST 00001aa1: DUP8 00001aa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ab7: AND 00001ab8: ADDRESS 00001ab9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ace: AND 00001acf: EQ 00001ad0: PUSH2 0x1b41 00001ad3: JUMPI 00001ad4: PUSH1 0x40 00001ad6: MLOAD 00001ad7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001af8: DUP2 00001af9: MSTORE 00001afa: PUSH1 0x04 00001afc: ADD 00001afd: DUP1 00001afe: DUP1 00001aff: PUSH1 0x20 00001b01: ADD 00001b02: DUP3 00001b03: DUP2 00001b04: SUB 00001b05: DUP3 00001b06: MSTORE 00001b07: PUSH1 0x02 00001b09: DUP2 00001b0a: MSTORE 00001b0b: PUSH1 0x20 00001b0d: ADD 00001b0e: DUP1 00001b0f: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 00001b30: DUP2 00001b31: MSTORE 00001b32: POP 00001b33: PUSH1 0x20 00001b35: ADD 00001b36: SWAP2 00001b37: POP 00001b38: POP 00001b39: PUSH1 0x40 00001b3b: MLOAD 00001b3c: DUP1 00001b3d: SWAP2 00001b3e: SUB 00001b3f: SWAP1 00001b40: REVERT 00001b41: JUMPDEST 00001b42: PUSH2 0x1b4e 00001b45: DUP11 00001b46: DUP14 00001b47: ADD 00001b48: DUP4 00001b49: DUP10 00001b4a: PUSH2 0x2402 00001b4d: JUMP 00001b4e: JUMPDEST 00001b4f: JUMPDEST 00001b50: DUP5 00001b51: ISZERO 00001b52: PUSH2 0x1cba 00001b55: JUMPI 00001b56: DUP2 00001b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b6c: AND 00001b6d: PUSH4 0x022c0d9f 00001b72: DUP3 00001b73: PUSH1 0x00 00001b75: DUP12 00001b76: PUSH1 0x00 00001b78: PUSH8 0xffffffffffffffff 00001b81: DUP2 00001b82: GT 00001b83: DUP1 00001b84: ISZERO 00001b85: PUSH2 0x1b8d 00001b88: JUMPI 00001b89: PUSH1 0x00 00001b8b: DUP1 00001b8c: REVERT 00001b8d: JUMPDEST 00001b8e: POP 00001b8f: PUSH1 0x40 00001b91: MLOAD 00001b92: SWAP1 00001b93: DUP1 00001b94: DUP3 00001b95: MSTORE 00001b96: DUP1 00001b97: PUSH1 0x1f 00001b99: ADD 00001b9a: PUSH1 0x1f 00001b9c: NOT 00001b9d: AND 00001b9e: PUSH1 0x20 00001ba0: ADD 00001ba1: DUP3 00001ba2: ADD 00001ba3: PUSH1 0x40 00001ba5: MSTORE 00001ba6: DUP1 00001ba7: ISZERO 00001ba8: PUSH2 0x1bc0 00001bab: JUMPI 00001bac: DUP2 00001bad: PUSH1 0x20 00001baf: ADD 00001bb0: PUSH1 0x01 00001bb2: DUP3 00001bb3: MUL 00001bb4: DUP1 00001bb5: CALLDATASIZE 00001bb6: DUP4 00001bb7: CALLDATACOPY 00001bb8: DUP1 00001bb9: DUP3 00001bba: ADD 00001bbb: SWAP2 00001bbc: POP 00001bbd: POP 00001bbe: SWAP1 00001bbf: POP 00001bc0: JUMPDEST 00001bc1: POP 00001bc2: PUSH1 0x40 00001bc4: MLOAD 00001bc5: DUP6 00001bc6: PUSH4 0xffffffff 00001bcb: AND 00001bcc: PUSH1 0xe0 00001bce: SHL 00001bcf: DUP2 00001bd0: MSTORE 00001bd1: PUSH1 0x04 00001bd3: ADD 00001bd4: DUP1 00001bd5: DUP6 00001bd6: DUP2 00001bd7: MSTORE 00001bd8: PUSH1 0x20 00001bda: ADD 00001bdb: DUP5 00001bdc: DUP2 00001bdd: MSTORE 00001bde: PUSH1 0x20 00001be0: ADD 00001be1: DUP4 00001be2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bf7: AND 00001bf8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c0d: AND 00001c0e: DUP2 00001c0f: MSTORE 00001c10: PUSH1 0x20 00001c12: ADD 00001c13: DUP1 00001c14: PUSH1 0x20 00001c16: ADD 00001c17: DUP3 00001c18: DUP2 00001c19: SUB 00001c1a: DUP3 00001c1b: MSTORE 00001c1c: DUP4 00001c1d: DUP2 00001c1e: DUP2 00001c1f: MLOAD 00001c20: DUP2 00001c21: MSTORE 00001c22: PUSH1 0x20 00001c24: ADD 00001c25: SWAP2 00001c26: POP 00001c27: DUP1 00001c28: MLOAD 00001c29: SWAP1 00001c2a: PUSH1 0x20 00001c2c: ADD 00001c2d: SWAP1 00001c2e: DUP1 00001c2f: DUP4 00001c30: DUP4 00001c31: PUSH1 0x00 00001c33: JUMPDEST 00001c34: DUP4 00001c35: DUP2 00001c36: LT 00001c37: ISZERO 00001c38: PUSH2 0x1c4e 00001c3b: JUMPI 00001c3c: DUP1 00001c3d: DUP3 00001c3e: ADD 00001c3f: MLOAD 00001c40: DUP2 00001c41: DUP5 00001c42: ADD 00001c43: MSTORE 00001c44: PUSH1 0x20 00001c46: DUP2 00001c47: ADD 00001c48: SWAP1 00001c49: POP 00001c4a: PUSH2 0x1c33 00001c4d: JUMP 00001c4e: JUMPDEST 00001c4f: POP 00001c50: POP 00001c51: POP 00001c52: POP 00001c53: SWAP1 00001c54: POP 00001c55: SWAP1 00001c56: DUP2 00001c57: ADD 00001c58: SWAP1 00001c59: PUSH1 0x1f 00001c5b: AND 00001c5c: DUP1 00001c5d: ISZERO 00001c5e: PUSH2 0x1c7b 00001c61: JUMPI 00001c62: DUP1 00001c63: DUP3 00001c64: SUB 00001c65: DUP1 00001c66: MLOAD 00001c67: PUSH1 0x01 00001c69: DUP4 00001c6a: PUSH1 0x20 00001c6c: SUB 00001c6d: PUSH2 0x0100 00001c70: EXP 00001c71: SUB 00001c72: NOT 00001c73: AND 00001c74: DUP2 00001c75: MSTORE 00001c76: PUSH1 0x20 00001c78: ADD 00001c79: SWAP2 00001c7a: POP 00001c7b: JUMPDEST 00001c7c: POP 00001c7d: SWAP6 00001c7e: POP 00001c7f: POP 00001c80: POP 00001c81: POP 00001c82: POP 00001c83: POP 00001c84: PUSH1 0x00 00001c86: PUSH1 0x40 00001c88: MLOAD 00001c89: DUP1 00001c8a: DUP4 00001c8b: SUB 00001c8c: DUP2 00001c8d: PUSH1 0x00 00001c8f: DUP8 00001c90: DUP1 00001c91: EXTCODESIZE 00001c92: ISZERO 00001c93: DUP1 00001c94: ISZERO 00001c95: PUSH2 0x1c9d 00001c98: JUMPI 00001c99: PUSH1 0x00 00001c9b: DUP1 00001c9c: REVERT 00001c9d: JUMPDEST 00001c9e: POP 00001c9f: GAS 00001ca0: CALL 00001ca1: ISZERO 00001ca2: DUP1 00001ca3: ISZERO 00001ca4: PUSH2 0x1cb1 00001ca7: JUMPI 00001ca8: RETURNDATASIZE 00001ca9: PUSH1 0x00 00001cab: DUP1 00001cac: RETURNDATACOPY 00001cad: RETURNDATASIZE 00001cae: PUSH1 0x00 00001cb0: REVERT 00001cb1: JUMPDEST 00001cb2: POP 00001cb3: POP 00001cb4: POP 00001cb5: POP 00001cb6: PUSH2 0x1e1b 00001cb9: JUMP 00001cba: JUMPDEST 00001cbb: DUP2 00001cbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cd1: AND 00001cd2: PUSH4 0x022c0d9f 00001cd7: PUSH1 0x00 00001cd9: DUP4 00001cda: DUP12 00001cdb: PUSH1 0x00 00001cdd: PUSH8 0xffffffffffffffff 00001ce6: DUP2 00001ce7: GT 00001ce8: DUP1 00001ce9: ISZERO 00001cea: PUSH2 0x1cf2 00001ced: JUMPI 00001cee: PUSH1 0x00 00001cf0: DUP1 00001cf1: REVERT 00001cf2: JUMPDEST 00001cf3: POP 00001cf4: PUSH1 0x40 00001cf6: MLOAD 00001cf7: SWAP1 00001cf8: DUP1 00001cf9: DUP3 00001cfa: MSTORE 00001cfb: DUP1 00001cfc: PUSH1 0x1f 00001cfe: ADD 00001cff: PUSH1 0x1f 00001d01: NOT 00001d02: AND 00001d03: PUSH1 0x20 00001d05: ADD 00001d06: DUP3 00001d07: ADD 00001d08: PUSH1 0x40 00001d0a: MSTORE 00001d0b: DUP1 00001d0c: ISZERO 00001d0d: PUSH2 0x1d25 00001d10: JUMPI 00001d11: DUP2 00001d12: PUSH1 0x20 00001d14: ADD 00001d15: PUSH1 0x01 00001d17: DUP3 00001d18: MUL 00001d19: DUP1 00001d1a: CALLDATASIZE 00001d1b: DUP4 00001d1c: CALLDATACOPY 00001d1d: DUP1 00001d1e: DUP3 00001d1f: ADD 00001d20: SWAP2 00001d21: POP 00001d22: POP 00001d23: SWAP1 00001d24: POP 00001d25: JUMPDEST 00001d26: POP 00001d27: PUSH1 0x40 00001d29: MLOAD 00001d2a: DUP6 00001d2b: PUSH4 0xffffffff 00001d30: AND 00001d31: PUSH1 0xe0 00001d33: SHL 00001d34: DUP2 00001d35: MSTORE 00001d36: PUSH1 0x04 00001d38: ADD 00001d39: DUP1 00001d3a: DUP6 00001d3b: DUP2 00001d3c: MSTORE 00001d3d: PUSH1 0x20 00001d3f: ADD 00001d40: DUP5 00001d41: DUP2 00001d42: MSTORE 00001d43: PUSH1 0x20 00001d45: ADD 00001d46: DUP4 00001d47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d5c: AND 00001d5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d72: AND 00001d73: DUP2 00001d74: MSTORE 00001d75: PUSH1 0x20 00001d77: ADD 00001d78: DUP1 00001d79: PUSH1 0x20 00001d7b: ADD 00001d7c: DUP3 00001d7d: DUP2 00001d7e: SUB 00001d7f: DUP3 00001d80: MSTORE 00001d81: DUP4 00001d82: DUP2 00001d83: DUP2 00001d84: MLOAD 00001d85: DUP2 00001d86: MSTORE 00001d87: PUSH1 0x20 00001d89: ADD 00001d8a: SWAP2 00001d8b: POP 00001d8c: DUP1 00001d8d: MLOAD 00001d8e: SWAP1 00001d8f: PUSH1 0x20 00001d91: ADD 00001d92: SWAP1 00001d93: DUP1 00001d94: DUP4 00001d95: DUP4 00001d96: PUSH1 0x00 00001d98: JUMPDEST 00001d99: DUP4 00001d9a: DUP2 00001d9b: LT 00001d9c: ISZERO 00001d9d: PUSH2 0x1db3 00001da0: JUMPI 00001da1: DUP1 00001da2: DUP3 00001da3: ADD 00001da4: MLOAD 00001da5: DUP2 00001da6: DUP5 00001da7: ADD 00001da8: MSTORE 00001da9: PUSH1 0x20 00001dab: DUP2 00001dac: ADD 00001dad: SWAP1 00001dae: POP 00001daf: PUSH2 0x1d98 00001db2: JUMP 00001db3: JUMPDEST 00001db4: POP 00001db5: POP 00001db6: POP 00001db7: POP 00001db8: SWAP1 00001db9: POP 00001dba: SWAP1 00001dbb: DUP2 00001dbc: ADD 00001dbd: SWAP1 00001dbe: PUSH1 0x1f 00001dc0: AND 00001dc1: DUP1 00001dc2: ISZERO 00001dc3: PUSH2 0x1de0 00001dc6: JUMPI 00001dc7: DUP1 00001dc8: DUP3 00001dc9: SUB 00001dca: DUP1 00001dcb: MLOAD 00001dcc: PUSH1 0x01 00001dce: DUP4 00001dcf: PUSH1 0x20 00001dd1: SUB 00001dd2: PUSH2 0x0100 00001dd5: EXP 00001dd6: SUB 00001dd7: NOT 00001dd8: AND 00001dd9: DUP2 00001dda: MSTORE 00001ddb: PUSH1 0x20 00001ddd: ADD 00001dde: SWAP2 00001ddf: POP 00001de0: JUMPDEST 00001de1: POP 00001de2: SWAP6 00001de3: POP 00001de4: POP 00001de5: POP 00001de6: POP 00001de7: POP 00001de8: POP 00001de9: PUSH1 0x00 00001deb: PUSH1 0x40 00001ded: MLOAD 00001dee: DUP1 00001def: DUP4 00001df0: SUB 00001df1: DUP2 00001df2: PUSH1 0x00 00001df4: DUP8 00001df5: DUP1 00001df6: EXTCODESIZE 00001df7: ISZERO 00001df8: DUP1 00001df9: ISZERO 00001dfa: PUSH2 0x1e02 00001dfd: JUMPI 00001dfe: PUSH1 0x00 00001e00: DUP1 00001e01: REVERT 00001e02: JUMPDEST 00001e03: POP 00001e04: GAS 00001e05: CALL 00001e06: ISZERO 00001e07: DUP1 00001e08: ISZERO 00001e09: PUSH2 0x1e16 00001e0c: JUMPI 00001e0d: RETURNDATASIZE 00001e0e: PUSH1 0x00 00001e10: DUP1 00001e11: RETURNDATACOPY 00001e12: RETURNDATASIZE 00001e13: PUSH1 0x00 00001e15: REVERT 00001e16: JUMPDEST 00001e17: POP 00001e18: POP 00001e19: POP 00001e1a: POP 00001e1b: JUMPDEST 00001e1c: DUP4 00001e1d: PUSH2 0x1e8c 00001e20: JUMPI 00001e21: DUP9 00001e22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e37: AND 00001e38: PUSH4 0x2e1a7d4d 00001e3d: DUP3 00001e3e: PUSH1 0x40 00001e40: MLOAD 00001e41: DUP3 00001e42: PUSH4 0xffffffff 00001e47: AND 00001e48: PUSH1 0xe0 00001e4a: SHL 00001e4b: DUP2 00001e4c: MSTORE 00001e4d: PUSH1 0x04 00001e4f: ADD 00001e50: DUP1 00001e51: DUP3 00001e52: DUP2 00001e53: MSTORE 00001e54: PUSH1 0x20 00001e56: ADD 00001e57: SWAP2 00001e58: POP 00001e59: POP 00001e5a: PUSH1 0x00 00001e5c: PUSH1 0x40 00001e5e: MLOAD 00001e5f: DUP1 00001e60: DUP4 00001e61: SUB 00001e62: DUP2 00001e63: PUSH1 0x00 00001e65: DUP8 00001e66: DUP1 00001e67: EXTCODESIZE 00001e68: ISZERO 00001e69: DUP1 00001e6a: ISZERO 00001e6b: PUSH2 0x1e73 00001e6e: JUMPI 00001e6f: PUSH1 0x00 00001e71: DUP1 00001e72: REVERT 00001e73: JUMPDEST 00001e74: POP 00001e75: GAS 00001e76: CALL 00001e77: ISZERO 00001e78: DUP1 00001e79: ISZERO 00001e7a: PUSH2 0x1e87 00001e7d: JUMPI 00001e7e: RETURNDATASIZE 00001e7f: PUSH1 0x00 00001e81: DUP1 00001e82: RETURNDATACOPY 00001e83: RETURNDATASIZE 00001e84: PUSH1 0x00 00001e86: REVERT 00001e87: JUMPDEST 00001e88: POP 00001e89: POP 00001e8a: POP 00001e8b: POP 00001e8c: JUMPDEST 00001e8d: PUSH1 0x00 00001e8f: DUP4 00001e90: PUSH1 0xff 00001e92: AND 00001e93: GT 00001e94: ISZERO 00001e95: PUSH2 0x1f2b 00001e98: JUMPI 00001e99: DUP11 00001e9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eaf: AND 00001eb0: PUSH4 0x6366b936 00001eb5: DUP5 00001eb6: PUSH1 0x40 00001eb8: MLOAD 00001eb9: DUP3 00001eba: PUSH4 0xffffffff 00001ebf: AND 00001ec0: PUSH1 0xe0 00001ec2: SHL 00001ec3: DUP2 00001ec4: MSTORE 00001ec5: PUSH1 0x04 00001ec7: ADD 00001ec8: DUP1 00001ec9: DUP3 00001eca: PUSH1 0xff 00001ecc: AND 00001ecd: DUP2 00001ece: MSTORE 00001ecf: PUSH1 0x20 00001ed1: ADD 00001ed2: SWAP2 00001ed3: POP 00001ed4: POP 00001ed5: PUSH1 0x20 00001ed7: PUSH1 0x40 00001ed9: MLOAD 00001eda: DUP1 00001edb: DUP4 00001edc: SUB 00001edd: DUP2 00001ede: PUSH1 0x00 00001ee0: DUP8 00001ee1: DUP1 00001ee2: EXTCODESIZE 00001ee3: ISZERO 00001ee4: DUP1 00001ee5: ISZERO 00001ee6: PUSH2 0x1eee 00001ee9: JUMPI 00001eea: PUSH1 0x00 00001eec: DUP1 00001eed: REVERT 00001eee: JUMPDEST 00001eef: POP 00001ef0: GAS 00001ef1: CALL 00001ef2: ISZERO 00001ef3: DUP1 00001ef4: ISZERO 00001ef5: PUSH2 0x1f02 00001ef8: JUMPI 00001ef9: RETURNDATASIZE 00001efa: PUSH1 0x00 00001efc: DUP1 00001efd: RETURNDATACOPY 00001efe: RETURNDATASIZE 00001eff: PUSH1 0x00 00001f01: REVERT 00001f02: JUMPDEST 00001f03: POP 00001f04: POP 00001f05: POP 00001f06: POP 00001f07: PUSH1 0x40 00001f09: MLOAD 00001f0a: RETURNDATASIZE 00001f0b: PUSH1 0x20 00001f0d: DUP2 00001f0e: LT 00001f0f: ISZERO 00001f10: PUSH2 0x1f18 00001f13: JUMPI 00001f14: PUSH1 0x00 00001f16: DUP1 00001f17: REVERT 00001f18: JUMPDEST 00001f19: DUP2 00001f1a: ADD 00001f1b: SWAP1 00001f1c: DUP1 00001f1d: DUP1 00001f1e: MLOAD 00001f1f: SWAP1 00001f20: PUSH1 0x20 00001f22: ADD 00001f23: SWAP1 00001f24: SWAP3 00001f25: SWAP2 00001f26: SWAP1 00001f27: POP 00001f28: POP 00001f29: POP 00001f2a: POP 00001f2b: JUMPDEST 00001f2c: POP 00001f2d: POP 00001f2e: POP 00001f2f: POP 00001f30: POP 00001f31: POP 00001f32: POP 00001f33: POP 00001f34: POP 00001f35: POP 00001f36: POP 00001f37: POP 00001f38: POP 00001f39: JUMP 00001f3a: JUMPDEST 00001f3b: PUSH1 0x01 00001f3d: ISZERO 00001f3e: ISZERO 00001f3f: PUSH1 0x00 00001f41: DUP1 00001f42: CALLER 00001f43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f58: AND 00001f59: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f6e: AND 00001f6f: DUP2 00001f70: MSTORE 00001f71: PUSH1 0x20 00001f73: ADD 00001f74: SWAP1 00001f75: DUP2 00001f76: MSTORE 00001f77: PUSH1 0x20 00001f79: ADD 00001f7a: PUSH1 0x00 00001f7c: KECCAK256 00001f7d: PUSH1 0x00 00001f7f: SWAP1 00001f80: SLOAD 00001f81: SWAP1 00001f82: PUSH2 0x0100 00001f85: EXP 00001f86: SWAP1 00001f87: DIV 00001f88: PUSH1 0xff 00001f8a: AND 00001f8b: ISZERO 00001f8c: ISZERO 00001f8d: EQ 00001f8e: ISZERO 00001f8f: PUSH2 0x1fee 00001f92: JUMPI 00001f93: PUSH1 0x01 00001f95: PUSH1 0x00 00001f97: DUP1 00001f98: DUP4 00001f99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fae: AND 00001faf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fc4: AND 00001fc5: DUP2 00001fc6: MSTORE 00001fc7: PUSH1 0x20 00001fc9: ADD 00001fca: SWAP1 00001fcb: DUP2 00001fcc: MSTORE 00001fcd: PUSH1 0x20 00001fcf: ADD 00001fd0: PUSH1 0x00 00001fd2: KECCAK256 00001fd3: PUSH1 0x00 00001fd5: PUSH2 0x0100 00001fd8: EXP 00001fd9: DUP2 00001fda: SLOAD 00001fdb: DUP2 00001fdc: PUSH1 0xff 00001fde: MUL 00001fdf: NOT 00001fe0: AND 00001fe1: SWAP1 00001fe2: DUP4 00001fe3: ISZERO 00001fe4: ISZERO 00001fe5: MUL 00001fe6: OR 00001fe7: SWAP1 00001fe8: SSTORE 00001fe9: POP 00001fea: PUSH2 0x1ff3 00001fed: JUMP 00001fee: JUMPDEST 00001fef: PUSH2 0x1ff4 00001ff2: JUMP 00001ff3: JUMPDEST 00001ff4: JUMPDEST 00001ff5: POP 00001ff6: JUMP 00001ff7: JUMPDEST 00001ff8: PUSH1 0x01 00001ffa: ISZERO 00001ffb: ISZERO 00001ffc: PUSH1 0x00 00001ffe: DUP1 00001fff: CALLER 00002000: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002015: AND 00002016: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000202b: AND 0000202c: DUP2 0000202d: MSTORE 0000202e: PUSH1 0x20 00002030: ADD 00002031: SWAP1 00002032: DUP2 00002033: MSTORE 00002034: PUSH1 0x20 00002036: ADD 00002037: PUSH1 0x00 00002039: KECCAK256 0000203a: PUSH1 0x00 0000203c: SWAP1 0000203d: SLOAD 0000203e: SWAP1 0000203f: PUSH2 0x0100 00002042: EXP 00002043: SWAP1 00002044: DIV 00002045: PUSH1 0xff 00002047: AND 00002048: ISZERO 00002049: ISZERO 0000204a: EQ 0000204b: PUSH2 0x20bc 0000204e: JUMPI 0000204f: PUSH1 0x40 00002051: MLOAD 00002052: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002073: DUP2 00002074: MSTORE 00002075: PUSH1 0x04 00002077: ADD 00002078: DUP1 00002079: DUP1 0000207a: PUSH1 0x20 0000207c: ADD 0000207d: DUP3 0000207e: DUP2 0000207f: SUB 00002080: DUP3 00002081: MSTORE 00002082: PUSH1 0x02 00002084: DUP2 00002085: MSTORE 00002086: PUSH1 0x20 00002088: ADD 00002089: DUP1 0000208a: PUSH32 0x4f6f000000000000000000000000000000000000000000000000000000000000 000020ab: DUP2 000020ac: MSTORE 000020ad: POP 000020ae: PUSH1 0x20 000020b0: ADD 000020b1: SWAP2 000020b2: POP 000020b3: POP 000020b4: PUSH1 0x40 000020b6: MLOAD 000020b7: DUP1 000020b8: SWAP2 000020b9: SUB 000020ba: SWAP1 000020bb: REVERT 000020bc: JUMPDEST 000020bd: PUSH2 0x20c7 000020c0: DUP4 000020c1: DUP4 000020c2: DUP4 000020c3: PUSH2 0x2402 000020c6: JUMP 000020c7: JUMPDEST 000020c8: POP 000020c9: POP 000020ca: POP 000020cb: JUMP 000020cc: JUMPDEST 000020cd: PUSH1 0x00 000020cf: DUP2 000020d0: ISZERO 000020d1: PUSH2 0x21ba 000020d4: JUMPI 000020d5: PUSH1 0x00 000020d7: DUP1 000020d8: DUP6 000020d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020ee: AND 000020ef: PUSH4 0x0902f1ac 000020f4: PUSH1 0x40 000020f6: MLOAD 000020f7: DUP2 000020f8: PUSH4 0xffffffff 000020fd: AND 000020fe: PUSH1 0xe0 00002100: SHL 00002101: DUP2 00002102: MSTORE 00002103: PUSH1 0x04 00002105: ADD 00002106: PUSH1 0x60 00002108: PUSH1 0x40 0000210a: MLOAD 0000210b: DUP1 0000210c: DUP4 0000210d: SUB 0000210e: DUP2 0000210f: DUP7 00002110: DUP1 00002111: EXTCODESIZE 00002112: ISZERO 00002113: DUP1 00002114: ISZERO 00002115: PUSH2 0x211d 00002118: JUMPI 00002119: PUSH1 0x00 0000211b: DUP1 0000211c: REVERT 0000211d: JUMPDEST 0000211e: POP 0000211f: GAS 00002120: STATICCALL 00002121: ISZERO 00002122: DUP1 00002123: ISZERO 00002124: PUSH2 0x2131 00002127: JUMPI 00002128: RETURNDATASIZE 00002129: PUSH1 0x00 0000212b: DUP1 0000212c: RETURNDATACOPY 0000212d: RETURNDATASIZE 0000212e: PUSH1 0x00 00002130: REVERT 00002131: JUMPDEST 00002132: POP 00002133: POP 00002134: POP 00002135: POP 00002136: PUSH1 0x40 00002138: MLOAD 00002139: RETURNDATASIZE 0000213a: PUSH1 0x60 0000213c: DUP2 0000213d: LT 0000213e: ISZERO 0000213f: PUSH2 0x2147 00002142: JUMPI 00002143: PUSH1 0x00 00002145: DUP1 00002146: REVERT 00002147: JUMPDEST 00002148: DUP2 00002149: ADD 0000214a: SWAP1 0000214b: DUP1 0000214c: DUP1 0000214d: MLOAD 0000214e: SWAP1 0000214f: PUSH1 0x20 00002151: ADD 00002152: SWAP1 00002153: SWAP3 00002154: SWAP2 00002155: SWAP1 00002156: DUP1 00002157: MLOAD 00002158: SWAP1 00002159: PUSH1 0x20 0000215b: ADD 0000215c: SWAP1 0000215d: SWAP3 0000215e: SWAP2 0000215f: SWAP1 00002160: DUP1 00002161: MLOAD 00002162: SWAP1 00002163: PUSH1 0x20 00002165: ADD 00002166: SWAP1 00002167: SWAP3 00002168: SWAP2 00002169: SWAP1 0000216a: POP 0000216b: POP 0000216c: POP 0000216d: POP 0000216e: PUSH14 0xffffffffffffffffffffffffffff 0000217d: AND 0000217e: SWAP2 0000217f: POP 00002180: PUSH14 0xffffffffffffffffffffffffffff 0000218f: AND 00002190: SWAP2 00002191: POP 00002192: PUSH1 0x00 00002194: PUSH2 0x03e5 00002197: DUP7 00002198: MUL 00002199: PUSH2 0x03e8 0000219c: DUP4 0000219d: MUL 0000219e: ADD 0000219f: DUP4 000021a0: PUSH2 0x03e5 000021a3: DUP9 000021a4: MUL 000021a5: MUL 000021a6: DUP2 000021a7: PUSH2 0x21ac 000021aa: JUMPI 000021ab: INVALID 000021ac: JUMPDEST 000021ad: DIV 000021ae: SWAP1 000021af: POP 000021b0: DUP1 000021b1: SWAP4 000021b2: POP 000021b3: POP 000021b4: POP 000021b5: POP 000021b6: PUSH2 0x229c 000021b9: JUMP 000021ba: JUMPDEST 000021bb: PUSH1 0x00 000021bd: DUP1 000021be: DUP6 000021bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021d4: AND 000021d5: PUSH4 0x0902f1ac 000021da: PUSH1 0x40 000021dc: MLOAD 000021dd: DUP2 000021de: PUSH4 0xffffffff 000021e3: AND 000021e4: PUSH1 0xe0 000021e6: SHL 000021e7: DUP2 000021e8: MSTORE 000021e9: PUSH1 0x04 000021eb: ADD 000021ec: PUSH1 0x60 000021ee: PUSH1 0x40 000021f0: MLOAD 000021f1: DUP1 000021f2: DUP4 000021f3: SUB 000021f4: DUP2 000021f5: DUP7 000021f6: DUP1 000021f7: EXTCODESIZE 000021f8: ISZERO 000021f9: DUP1 000021fa: ISZERO 000021fb: PUSH2 0x2203 000021fe: JUMPI 000021ff: PUSH1 0x00 00002201: DUP1 00002202: REVERT 00002203: JUMPDEST 00002204: POP 00002205: GAS 00002206: STATICCALL 00002207: ISZERO 00002208: DUP1 00002209: ISZERO 0000220a: PUSH2 0x2217 0000220d: JUMPI 0000220e: RETURNDATASIZE 0000220f: PUSH1 0x00 00002211: DUP1 00002212: RETURNDATACOPY 00002213: RETURNDATASIZE 00002214: PUSH1 0x00 00002216: REVERT 00002217: JUMPDEST 00002218: POP 00002219: POP 0000221a: POP 0000221b: POP 0000221c: PUSH1 0x40 0000221e: MLOAD 0000221f: RETURNDATASIZE 00002220: PUSH1 0x60 00002222: DUP2 00002223: LT 00002224: ISZERO 00002225: PUSH2 0x222d 00002228: JUMPI 00002229: PUSH1 0x00 0000222b: DUP1 0000222c: REVERT 0000222d: JUMPDEST 0000222e: DUP2 0000222f: ADD 00002230: SWAP1 00002231: DUP1 00002232: DUP1 00002233: MLOAD 00002234: SWAP1 00002235: PUSH1 0x20 00002237: ADD 00002238: SWAP1 00002239: SWAP3 0000223a: SWAP2 0000223b: SWAP1 0000223c: DUP1 0000223d: MLOAD 0000223e: SWAP1 0000223f: PUSH1 0x20 00002241: ADD 00002242: SWAP1 00002243: SWAP3 00002244: SWAP2 00002245: SWAP1 00002246: DUP1 00002247: MLOAD 00002248: SWAP1 00002249: PUSH1 0x20 0000224b: ADD 0000224c: SWAP1 0000224d: SWAP3 0000224e: SWAP2 0000224f: SWAP1 00002250: POP 00002251: POP 00002252: POP 00002253: POP 00002254: PUSH14 0xffffffffffffffffffffffffffff 00002263: AND 00002264: SWAP2 00002265: POP 00002266: PUSH14 0xffffffffffffffffffffffffffff 00002275: AND 00002276: SWAP2 00002277: POP 00002278: PUSH1 0x00 0000227a: PUSH2 0x03e5 0000227d: DUP7 0000227e: MUL 0000227f: PUSH2 0x03e8 00002282: DUP5 00002283: MUL 00002284: ADD 00002285: DUP3 00002286: PUSH2 0x03e5 00002289: DUP9 0000228a: MUL 0000228b: MUL 0000228c: DUP2 0000228d: PUSH2 0x2292 00002290: JUMPI 00002291: INVALID 00002292: JUMPDEST 00002293: DIV 00002294: SWAP1 00002295: POP 00002296: DUP1 00002297: SWAP4 00002298: POP 00002299: POP 0000229a: POP 0000229b: POP 0000229c: JUMPDEST 0000229d: SWAP4 0000229e: SWAP3 0000229f: POP 000022a0: POP 000022a1: POP 000022a2: JUMP 000022a3: JUMPDEST 000022a4: PUSH1 0x00 000022a6: DUP3 000022a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022bc: AND 000022bd: DUP3 000022be: PUSH1 0x00 000022c0: PUSH8 0xffffffffffffffff 000022c9: DUP2 000022ca: GT 000022cb: DUP1 000022cc: ISZERO 000022cd: PUSH2 0x22d5 000022d0: JUMPI 000022d1: PUSH1 0x00 000022d3: DUP1 000022d4: REVERT 000022d5: JUMPDEST 000022d6: POP 000022d7: PUSH1 0x40 000022d9: MLOAD 000022da: SWAP1 000022db: DUP1 000022dc: DUP3 000022dd: MSTORE 000022de: DUP1 000022df: PUSH1 0x1f 000022e1: ADD 000022e2: PUSH1 0x1f 000022e4: NOT 000022e5: AND 000022e6: PUSH1 0x20 000022e8: ADD 000022e9: DUP3 000022ea: ADD 000022eb: PUSH1 0x40 000022ed: MSTORE 000022ee: DUP1 000022ef: ISZERO 000022f0: PUSH2 0x2308 000022f3: JUMPI 000022f4: DUP2 000022f5: PUSH1 0x20 000022f7: ADD 000022f8: PUSH1 0x01 000022fa: DUP3 000022fb: MUL 000022fc: DUP1 000022fd: CALLDATASIZE 000022fe: DUP4 000022ff: CALLDATACOPY 00002300: DUP1 00002301: DUP3 00002302: ADD 00002303: SWAP2 00002304: POP 00002305: POP 00002306: SWAP1 00002307: POP 00002308: JUMPDEST 00002309: POP 0000230a: PUSH1 0x40 0000230c: MLOAD 0000230d: DUP1 0000230e: DUP3 0000230f: DUP1 00002310: MLOAD 00002311: SWAP1 00002312: PUSH1 0x20 00002314: ADD 00002315: SWAP1 00002316: DUP1 00002317: DUP4 00002318: DUP4 00002319: JUMPDEST 0000231a: PUSH1 0x20 0000231c: DUP4 0000231d: LT 0000231e: PUSH2 0x233c 00002321: JUMPI 00002322: DUP1 00002323: MLOAD 00002324: DUP3 00002325: MSTORE 00002326: PUSH1 0x20 00002328: DUP3 00002329: ADD 0000232a: SWAP2 0000232b: POP 0000232c: PUSH1 0x20 0000232e: DUP2 0000232f: ADD 00002330: SWAP1 00002331: POP 00002332: PUSH1 0x20 00002334: DUP4 00002335: SUB 00002336: SWAP3 00002337: POP 00002338: PUSH2 0x2319 0000233b: JUMP 0000233c: JUMPDEST 0000233d: PUSH1 0x01 0000233f: DUP4 00002340: PUSH1 0x20 00002342: SUB 00002343: PUSH2 0x0100 00002346: EXP 00002347: SUB 00002348: DUP1 00002349: NOT 0000234a: DUP3 0000234b: MLOAD 0000234c: AND 0000234d: DUP2 0000234e: DUP5 0000234f: MLOAD 00002350: AND 00002351: DUP1 00002352: DUP3 00002353: OR 00002354: DUP6 00002355: MSTORE 00002356: POP 00002357: POP 00002358: POP 00002359: POP 0000235a: POP 0000235b: POP 0000235c: SWAP1 0000235d: POP 0000235e: ADD 0000235f: SWAP2 00002360: POP 00002361: POP 00002362: PUSH1 0x00 00002364: PUSH1 0x40 00002366: MLOAD 00002367: DUP1 00002368: DUP4 00002369: SUB 0000236a: DUP2 0000236b: DUP6 0000236c: DUP8 0000236d: GAS 0000236e: CALL 0000236f: SWAP3 00002370: POP 00002371: POP 00002372: POP 00002373: RETURNDATASIZE 00002374: DUP1 00002375: PUSH1 0x00 00002377: DUP2 00002378: EQ 00002379: PUSH2 0x239e 0000237c: JUMPI 0000237d: PUSH1 0x40 0000237f: MLOAD 00002380: SWAP2 00002381: POP 00002382: PUSH1 0x1f 00002384: NOT 00002385: PUSH1 0x3f 00002387: RETURNDATASIZE 00002388: ADD 00002389: AND 0000238a: DUP3 0000238b: ADD 0000238c: PUSH1 0x40 0000238e: MSTORE 0000238f: RETURNDATASIZE 00002390: DUP3 00002391: MSTORE 00002392: RETURNDATASIZE 00002393: PUSH1 0x00 00002395: PUSH1 0x20 00002397: DUP5 00002398: ADD 00002399: RETURNDATACOPY 0000239a: PUSH2 0x23a3 0000239d: JUMP 0000239e: JUMPDEST 0000239f: PUSH1 0x60 000023a1: SWAP2 000023a2: POP 000023a3: JUMPDEST 000023a4: POP 000023a5: POP 000023a6: SWAP1 000023a7: POP 000023a8: DUP1 000023a9: PUSH2 0x23fd 000023ac: JUMPI 000023ad: PUSH1 0x40 000023af: MLOAD 000023b0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000023d1: DUP2 000023d2: MSTORE 000023d3: PUSH1 0x04 000023d5: ADD 000023d6: DUP1 000023d7: DUP1 000023d8: PUSH1 0x20 000023da: ADD 000023db: DUP3 000023dc: DUP2 000023dd: SUB 000023de: DUP3 000023df: MSTORE 000023e0: PUSH1 0x23 000023e2: DUP2 000023e3: MSTORE 000023e4: PUSH1 0x20 000023e6: ADD 000023e7: DUP1 000023e8: PUSH2 0x25fc 000023eb: PUSH1 0x23 000023ed: SWAP2 000023ee: CODECOPY 000023ef: PUSH1 0x40 000023f1: ADD 000023f2: SWAP2 000023f3: POP 000023f4: POP 000023f5: PUSH1 0x40 000023f7: MLOAD 000023f8: DUP1 000023f9: SWAP2 000023fa: SUB 000023fb: SWAP1 000023fc: REVERT 000023fd: JUMPDEST 000023fe: POP 000023ff: POP 00002400: POP 00002401: JUMP 00002402: JUMPDEST 00002403: PUSH1 0x00 00002405: PUSH1 0x60 00002407: DUP5 00002408: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000241d: AND 0000241e: PUSH4 0xa9059cbb 00002423: DUP6 00002424: DUP6 00002425: PUSH1 0x40 00002427: MLOAD 00002428: PUSH1 0x24 0000242a: ADD 0000242b: DUP1 0000242c: DUP4 0000242d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002442: AND 00002443: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002458: AND 00002459: DUP2 0000245a: MSTORE 0000245b: PUSH1 0x20 0000245d: ADD 0000245e: DUP3 0000245f: DUP2 00002460: MSTORE 00002461: PUSH1 0x20 00002463: ADD 00002464: SWAP3 00002465: POP 00002466: POP 00002467: POP 00002468: PUSH1 0x40 0000246a: MLOAD 0000246b: PUSH1 0x20 0000246d: DUP2 0000246e: DUP4 0000246f: SUB 00002470: SUB 00002471: DUP2 00002472: MSTORE 00002473: SWAP1 00002474: PUSH1 0x40 00002476: MSTORE 00002477: SWAP1 00002478: PUSH1 0xe0 0000247a: SHL 0000247b: PUSH1 0x20 0000247d: DUP3 0000247e: ADD 0000247f: DUP1 00002480: MLOAD 00002481: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000249e: DUP4 0000249f: DUP2 000024a0: DUP4 000024a1: AND 000024a2: OR 000024a3: DUP4 000024a4: MSTORE 000024a5: POP 000024a6: POP 000024a7: POP 000024a8: POP 000024a9: PUSH1 0x40 000024ab: MLOAD 000024ac: DUP1 000024ad: DUP3 000024ae: DUP1 000024af: MLOAD 000024b0: SWAP1 000024b1: PUSH1 0x20 000024b3: ADD 000024b4: SWAP1 000024b5: DUP1 000024b6: DUP4 000024b7: DUP4 000024b8: JUMPDEST 000024b9: PUSH1 0x20 000024bb: DUP4 000024bc: LT 000024bd: PUSH2 0x24db 000024c0: JUMPI 000024c1: DUP1 000024c2: MLOAD 000024c3: DUP3 000024c4: MSTORE 000024c5: PUSH1 0x20 000024c7: DUP3 000024c8: ADD 000024c9: SWAP2 000024ca: POP 000024cb: PUSH1 0x20 000024cd: DUP2 000024ce: ADD 000024cf: SWAP1 000024d0: POP 000024d1: PUSH1 0x20 000024d3: DUP4 000024d4: SUB 000024d5: SWAP3 000024d6: POP 000024d7: PUSH2 0x24b8 000024da: JUMP 000024db: JUMPDEST 000024dc: PUSH1 0x01 000024de: DUP4 000024df: PUSH1 0x20 000024e1: SUB 000024e2: PUSH2 0x0100 000024e5: EXP 000024e6: SUB 000024e7: DUP1 000024e8: NOT 000024e9: DUP3 000024ea: MLOAD 000024eb: AND 000024ec: DUP2 000024ed: DUP5 000024ee: MLOAD 000024ef: AND 000024f0: DUP1 000024f1: DUP3 000024f2: OR 000024f3: DUP6 000024f4: MSTORE 000024f5: POP 000024f6: POP 000024f7: POP 000024f8: POP 000024f9: POP 000024fa: POP 000024fb: SWAP1 000024fc: POP 000024fd: ADD 000024fe: SWAP2 000024ff: POP 00002500: POP 00002501: PUSH1 0x00 00002503: PUSH1 0x40 00002505: MLOAD 00002506: DUP1 00002507: DUP4 00002508: SUB 00002509: DUP2 0000250a: PUSH1 0x00 0000250c: DUP7 0000250d: GAS 0000250e: CALL 0000250f: SWAP2 00002510: POP 00002511: POP 00002512: RETURNDATASIZE 00002513: DUP1 00002514: PUSH1 0x00 00002516: DUP2 00002517: EQ 00002518: PUSH2 0x253d 0000251b: JUMPI 0000251c: PUSH1 0x40 0000251e: MLOAD 0000251f: SWAP2 00002520: POP 00002521: PUSH1 0x1f 00002523: NOT 00002524: PUSH1 0x3f 00002526: RETURNDATASIZE 00002527: ADD 00002528: AND 00002529: DUP3 0000252a: ADD 0000252b: PUSH1 0x40 0000252d: MSTORE 0000252e: RETURNDATASIZE 0000252f: DUP3 00002530: MSTORE 00002531: RETURNDATASIZE 00002532: PUSH1 0x00 00002534: PUSH1 0x20 00002536: DUP5 00002537: ADD 00002538: RETURNDATACOPY 00002539: PUSH2 0x2542 0000253c: JUMP 0000253d: JUMPDEST 0000253e: PUSH1 0x60 00002540: SWAP2 00002541: POP 00002542: JUMPDEST 00002543: POP 00002544: SWAP2 00002545: POP 00002546: SWAP2 00002547: POP 00002548: DUP2 00002549: DUP1 0000254a: ISZERO 0000254b: PUSH2 0x2582 0000254e: JUMPI 0000254f: POP 00002550: PUSH1 0x00 00002552: DUP2 00002553: MLOAD 00002554: EQ 00002555: DUP1 00002556: PUSH2 0x2581 00002559: JUMPI 0000255a: POP 0000255b: DUP1 0000255c: DUP1 0000255d: PUSH1 0x20 0000255f: ADD 00002560: SWAP1 00002561: MLOAD 00002562: PUSH1 0x20 00002564: DUP2 00002565: LT 00002566: ISZERO 00002567: PUSH2 0x256f 0000256a: JUMPI 0000256b: PUSH1 0x00 0000256d: DUP1 0000256e: REVERT 0000256f: JUMPDEST 00002570: DUP2 00002571: ADD 00002572: SWAP1 00002573: DUP1 00002574: DUP1 00002575: MLOAD 00002576: SWAP1 00002577: PUSH1 0x20 00002579: ADD 0000257a: SWAP1 0000257b: SWAP3 0000257c: SWAP2 0000257d: SWAP1 0000257e: POP 0000257f: POP 00002580: POP 00002581: JUMPDEST 00002582: JUMPDEST 00002583: PUSH2 0x25f4 00002586: JUMPI 00002587: PUSH1 0x40 00002589: MLOAD 0000258a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000025ab: DUP2 000025ac: MSTORE 000025ad: PUSH1 0x04 000025af: ADD 000025b0: DUP1 000025b1: DUP1 000025b2: PUSH1 0x20 000025b4: ADD 000025b5: DUP3 000025b6: DUP2 000025b7: SUB 000025b8: DUP3 000025b9: MSTORE 000025ba: PUSH1 0x1f 000025bc: DUP2 000025bd: MSTORE 000025be: PUSH1 0x20 000025c0: ADD 000025c1: DUP1 000025c2: PUSH32 0x5472616e7366657248656c7065723a205452414e534645525f4641494c454400 000025e3: DUP2 000025e4: MSTORE 000025e5: POP 000025e6: PUSH1 0x20 000025e8: ADD 000025e9: SWAP2 000025ea: POP 000025eb: POP 000025ec: PUSH1 0x40 000025ee: MLOAD 000025ef: DUP1 000025f0: SWAP2 000025f1: SUB 000025f2: SWAP1 000025f3: REVERT 000025f4: JUMPDEST 000025f5: POP 000025f6: POP 000025f7: POP 000025f8: POP 000025f9: POP 000025fa: JUMP 000025fb: INVALID 000025fc: SLOAD 000025fd: PUSH19 0x616e7366657248656c7065723a204554485f54 00002611: MSTORE 00002612: COINBASE 00002613: UNKNOWN(0x4E) 00002614: MSTORE8 00002615: CHAINID 00002616: GASLIMIT 00002617: MSTORE 00002618: PUSH0 00002619: CHAINID 0000261a: COINBASE 0000261b: BLOBHASH 0000261c: UNKNOWN(0x4C) 0000261d: GASLIMIT 0000261e: DIFFICULTY 0000261f: LOG2 00002620: PUSH5 0x6970667358 00002626: UNKNOWN(0x22) 00002627: SLT 00002628: KECCAK256 00002629: UNKNOWN(0xA8) 0000262a: PUSH4 0xdf732552 0000262f: UNKNOWN(0xE4) 00002630: UNKNOWN(0xC3) 00002631: SUB 00002632: UNKNOWN(0xE3) 00002633: UNKNOWN(0x2F) 00002634: PUSH15 0x1608bd95e96e76a0d0aba715ca373d 00002644: UNKNOWN(0xD8) 00002645: UNKNOWN(0xC3) 00002646: UNKNOWN(0xEF) 00002647: UNKNOWN(0xB4) 00002648: UNKNOWN(0x24) 00002649: PUSH5 0x736f6c6343 0000264f: STOP 00002650: MOD 00002651: MOD 00002652: STOP 00002653: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Untrusted DELEGATECALL target reachable (arbitrary code execution risk) | 90 | no | — |
viewevidence_json{
"evidence": "Detector flags untrusted_delegatecall_count=1 with computed target; guards_detected=[]; DELEGATECALL present in basic block starting at pc 2062.",
"locations": [
"pc:2074"
],
"recommendation": "Ensure the delegatecall target is strictly controlled (e.g., immutable or tightly access-controlled upgrade logic). If this is a proxy, verify EIP-1967-style admin guards and implementation slot integrity; add explicit access checks and events on upgrades.",
"exploit_scenario": "If an attacker can influence the delegatecall target (directly or via storage), they can execute arbitrary code in this contract\u2019s storage context, enabling fund theft, state corruption, or permanent bricking. If this is a proxy, missing/weak admin controls would make upgrade hijacking possible."
}
|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0xdaba696023bdacfdefcb4cd80e35d08a4f9927026c1e977ce21e8ee536081e73
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 120,
"trace_id": "0xdaba696023bdacfdefcb4cd80e35d08a4f9927026c1e977ce21e8ee536081e73",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x649630d8",
"selector": "0x649630d8",
"calldata_variants": [
"0x649630d8",
"0x649630d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69369e9e",
"selector": "0x69369e9e",
"calldata_variants": [
"0x69369e9e",
"0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8d9051d4",
"selector": "0x8d9051d4",
"calldata_variants": [
"0x8d9051d4",
"0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92748e1c",
"selector": "0x92748e1c",
"calldata_variants": [
"0x92748e1c",
"0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x022914a7",
"selector": "0x022914a7",
"calldata_variants": [
"0x022914a7",
"0x022914a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1cff79cd",
"selector": "0x1cff79cd",
"calldata_variants": [
"0x1cff79cd",
"0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2074,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | access_control | codex | SELFDESTRUCT sends funds to CALLER | 85 | no | — |
viewevidence_json{
"evidence": "Opcode sequence includes CALLER then SELFDESTRUCT; detector shows selfdestruct_count=1 and no guards detected. Bytecode evidence shows JUMPDEST ... CALLER ... SELFDESTRUCT.",
"locations": [
"pc:2334"
],
"recommendation": "Restrict any selfdestruct path to a clearly authorized role (or remove it). If intended for emergency use, require timelock/multisig and emit events.",
"exploit_scenario": "If this path is externally reachable without strong access control, any caller can destroy the contract and redirect all ETH to themselves, causing total loss of funds and breaking dependent integrations."
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767
call_targets:
0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c"
],
"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": "0x649630d8",
"selector": "0x649630d8",
"calldata_variants": [
"0x649630d8",
"0x649630d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69369e9e",
"selector": "0x69369e9e",
"calldata_variants": [
"0x69369e9e",
"0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8d9051d4",
"selector": "0x8d9051d4",
"calldata_variants": [
"0x8d9051d4",
"0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92748e1c",
"selector": "0x92748e1c",
"calldata_variants": [
"0x92748e1c",
"0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x022914a7",
"selector": "0x022914a7",
"calldata_variants": [
"0x022914a7",
"0x022914a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1cff79cd",
"selector": "0x1cff79cd",
"calldata_variants": [
"0x1cff79cd",
"0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3000,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3550,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3907,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 14,
"guards_detected": []
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x58b1c6c6494c50b6fbd23bfec06d929962fb7861a27facd3296f03ac1e5117e4
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 20,
"trace_id": "0x58b1c6c6494c50b6fbd23bfec06d929962fb7861a27facd3296f03ac1e5117e4",
"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": "0x649630d8",
"selector": "0x649630d8",
"calldata_variants": [
"0x649630d8",
"0x649630d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69369e9e",
"selector": "0x69369e9e",
"calldata_variants": [
"0x69369e9e",
"0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8d9051d4",
"selector": "0x8d9051d4",
"calldata_variants": [
"0x8d9051d4",
"0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92748e1c",
"selector": "0x92748e1c",
"calldata_variants": [
"0x92748e1c",
"0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x022914a7",
"selector": "0x022914a7",
"calldata_variants": [
"0x022914a7",
"0x022914a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1cff79cd",
"selector": "0x1cff79cd",
"calldata_variants": [
"0x1cff79cd",
"0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767
call_targets:
0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xb7af9e001b54b63d8e96ba496eda35714903c297988cd435ea6a9def9f999767",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c"
],
"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": "0x649630d8",
"selector": "0x649630d8",
"calldata_variants": [
"0x649630d8",
"0x649630d80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x69369e9e",
"selector": "0x69369e9e",
"calldata_variants": [
"0x69369e9e",
"0x69369e9e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7065cb48",
"selector": "0x7065cb48",
"calldata_variants": [
"0x7065cb48",
"0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8d9051d4",
"selector": "0x8d9051d4",
"calldata_variants": [
"0x8d9051d4",
"0x8d9051d40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92748e1c",
"selector": "0x92748e1c",
"calldata_variants": [
"0x92748e1c",
"0x92748e1c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x022914a7",
"selector": "0x022914a7",
"calldata_variants": [
"0x022914a7",
"0x022914a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1cff79cd",
"selector": "0x1cff79cd",
"calldata_variants": [
"0x1cff79cd",
"0x1cff79cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x41c0e1b5",
"selector": "0x41c0e1b5",
"calldata_variants": [
"0x41c0e1b5",
"0x41c0e1b50000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3000,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3550,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3907,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 14,
"guards_detected": [],
"untrusted_call_count": 14
}
|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| medium | reentrancy | codex | Multiple CALLs with computed target/value (reentrancy or arbitrary transfer risk) | 75 | no | — |
viewevidence_json{
"evidence": "Detector reports untrusted_call_count=14 and eth_value_calls=14 with computed target/value and guards_detected=[]. Validation_json shows constant_target=0x30689375f7ae75fb85d3a9cb7058ff231dd9f91c but status is unknown; returndata checking not shown.",
"locations": [
"pc:3000",
"pc:3550",
"pc:3907",
"pc:4266",
"pc:4623",
"pc:4736",
"pc:4857",
"pc:6778",
"pc:7328",
"pc:7685",
"pc:7798",
"pc:7921",
"pc:9070",
"pc:9486"
],
"recommendation": "Audit all CALL sites to confirm target/value are not user-controlled. Apply checks-effects-interactions or reentrancy guards around any state changes; consider restricting call targets to known addresses.",
"exploit_scenario": "If users can influence the call target or value, this enables arbitrary ETH transfers. Any state updates after these calls could be reentered by a malicious callee. The detector\u2019s validation suggested a constant target equal to this contract, but target inference is uncertain from bytecode alone."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 20
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 22
}
|