019bb491-3724-7173-a4ff-65108bf7b085
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 |
|---|---|---|---|---|
| 40189 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 40190 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 40191 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 40192 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 40193 | capability.graph | complete | 1 / 3 | 3 months ago |
| 40194 | detector.run | complete | 1 / 3 | 3 months ago |
| 40195 | validation.fork | complete | 1 / 3 | 3 months ago |
| 40266 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.","findings":[{"severity":"medium","category":"auth","title":"Authorization uses tx.origin (phishable)","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed.","recommendation":"Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.","evidence":"Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.","locations":["pc:0x2906"]},{"severity":"medium","category":"upgradeability","title":"DELEGATECALL to computed target without confirmed access control","exploit_scenario":"Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract’s storage context and seize control. Bytecode-only: access control around target-setting is unknown.","recommendation":"Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.","evidence":"Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.","locations":["pc:0x229c","pc:0x24ba"]},{"severity":"low","category":"reentrancy","title":"External CALL with nonzero value to a constant target (likely self)","exploit_scenario":"A CALL with nonzero ETH value to the contract’s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown.","recommendation":"Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.","evidence":"Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.","locations":["pc:0x28e3"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-7ngyy4ed
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb4c5-f1dc-75c1-907b-7f90e36c7c3c
--------
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
**Reading BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-7ngyy4ed succeeded in 5ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 9ms:
{
"analysis_artifact": {
"address": "0xa1dff47e3e9c4a18d341e386c6707a18686fb834",
"artifact_hash": "0x57accd8cd17643101a7aae699ddcdc328ab0622d76dbe662eb9e23bf630fbd49",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 4735,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6777,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 8709,
"type": "msg_sender_eq_const",
thinking
**Investigating detector findings and evidence**
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 12ms:
13412: "storage": {
13796: "storage": {
14180: "storage": {
14564: "storage": {
14948: "storage": {
15332: "storage": {
15716: "storage": {
16100: "storage": {
16484: "storage": {
16868: "storage": {
17252: "storage": {
17636: "storage": {
18020: "storage": {
18404: "storage": {
18788: "storage": {
19172: "storage": {
19556: "storage": {
19940: "storage": {
20324: "storage": {
20708: "storage": {
thinking
**Searching for evidence bundles**
exec
/bin/bash -lc 'rg -n "evidence" BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 32ms:
41897: "proxy_evidence": {
50542: "evidence_json": {
50583: "evidence_json": {
50651: "evidence_json": {
50714: "evidence_json": {
thinking
**Examining proxy evidence**
exec
/bin/bash -lc "sed -n '41870,42050p' BYTECODE_BUNDLE.json" in /tmp/codex-7ngyy4ed succeeded in 12ms:
"block_number": null,
"chain_id": 1,
"created_at": "2026-01-12T23:35:56.000000Z",
"id": "019bb490-f330-732b-874c-9489d47f6791",
"status": "complete",
"updated_at": "2026-01-12T23:46:17.000000Z"
},
"parent_run_id": "019bb490-f330-732b-874c-9489d47f6791",
"updated_at": "2026-01-12T23:36:14.000000Z"
}
],
"status": "running",
"updated_at": "2026-01-12T23:41:52.000000Z"
},
"artifact": {
"codehash": "0x47be58f58b3fd30fa0598b71ccd455b09e290a5a2e323027aaa96d0caf60891f",
"compiler_json": {
"compiler_version": null,
"etherscan": {
"contract_name": null,
thinking
**Analyzing proxy patterns and bytecode behavior**
I'm piecing together whether this contract is a proxy or an implementation by investigating delegatecalls, admin functions, EIP-1967 slots, and the large dispatch table; it looks like a proxy with upgradeability features despite the artifact saying otherwise, so I’m focusing on possible security findings around untrusted delegatecall, tx.origin usage, and upgrade admin controls while carefully noting the uncertainty from bytecode-only data.
exec
/bin/bash -lc "sed -n '41492,41560p' BYTECODE_BUNDLE.json" in /tmp/codex-7ngyy4ed succeeded in 10ms:
"storage": {
"keccak_count": 44,
"reads": 105,
"slots": [
{
"op": "SLOAD",
"pc": 4214,
"slot": "0x000000000000000000000000000000000000000000000000000000000000002e"
},
{
"op": "SLOAD",
"pc": 4284,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000009"
},
{
"op": "SLOAD",
"pc": 4314,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000009"
},
{
thinking
**Analyzing storage slot patterns**
exec
/bin/bash -lc 'rg -n "10d6a54a" BYTECODE_BUNDLE.json' in /tmp/codex-7ngyy4ed succeeded in 6ms:
13743: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
14127: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
14511: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
14895: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
15279: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
15663: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
16047: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
16431: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
16815: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
17199: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
17583: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
17967: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
18351: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
18735: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
19119: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
19503: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
19887: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
20271: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
20655: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
21039: "slot": "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"
thinking
**Analyzing proxy and upgradeability patterns**
codex
{"no_findings":false,"summary":"Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.","findings":[{"severity":"medium","category":"auth","title":"Authorization uses tx.origin (phishable)","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed.","recommendation":"Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.","evidence":"Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.","locations":["pc:0x2906"]},{"severity":"medium","category":"upgradeability","title":"DELEGATECALL to computed target without confirmed access control","exploit_scenario":"Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract’s storage context and seize control. Bytecode-only: access control around target-setting is unknown.","recommendation":"Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.","evidence":"Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.","locations":["pc:0x229c","pc:0x24ba"]},{"severity":"low","category":"reentrancy","title":"External CALL with nonzero value to a constant target (likely self)","exploit_scenario":"A CALL with nonzero ETH value to the contract’s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown.","recommendation":"Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.","evidence":"Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.","locations":["pc:0x28e3"]}]}
tokens used
49,077
{
"codex": {
"ran_at": "2026-01-13T00:36:39.009674+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 21008,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.",
"raw_final": {
"summary": "Bytecode-only review flags a tx.origin-based auth pattern and computed DELEGATECALL targets (proxy/plugin style). There is also a CALL with nonzero ETH value to a constant target (likely self), which could enable reentrancy depending on state-update ordering.",
"findings": [
{
"title": "Authorization uses tx.origin (phishable)",
"category": "auth",
"evidence": "Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.",
"severity": "medium",
"locations": [
"pc:0x2906"
],
"recommendation": "Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.",
"exploit_scenario": "If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed."
},
{
"title": "DELEGATECALL to computed target without confirmed access control",
"category": "upgradeability",
"evidence": "Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.",
"severity": "medium",
"locations": [
"pc:0x229c",
"pc:0x24ba"
],
"recommendation": "Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.",
"exploit_scenario": "Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract\u2019s storage context and seize control. Bytecode-only: access control around target-setting is unknown."
},
{
"title": "External CALL with nonzero value to a constant target (likely self)",
"category": "reentrancy",
"evidence": "Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.",
"severity": "low",
"locations": [
"pc:0x28e3"
],
"recommendation": "Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.",
"exploit_scenario": "A CALL with nonzero ETH value to the contract\u2019s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown."
}
],
"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 0x04b6 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x83ae86cb 00000019: GT 0000001a: PUSH2 0x0279 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xba20715a 00000024: GT 00000025: PUSH2 0x015e 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xdc87454c 0000002f: GT 00000030: PUSH2 0x00d6 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf2fde38b 0000003a: GT 0000003b: PUSH2 0x008a 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf99eec8d 00000045: GT 00000046: PUSH2 0x006f 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf99eec8d 00000050: EQ 00000051: PUSH2 0x0f25 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfa845ca9 0000005b: EQ 0000005c: PUSH2 0x1004 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xfbf35f46 00000066: EQ 00000067: PUSH2 0x1044 0000006a: JUMPI 0000006b: PUSH2 0x04b6 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0xf2fde38b 00000076: EQ 00000077: PUSH2 0x0eac 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xf6558b00 00000081: EQ 00000082: PUSH2 0x0eec 00000085: JUMPI 00000086: PUSH2 0x04b6 00000089: JUMP 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0xe8df077d 00000091: GT 00000092: PUSH2 0x00bb 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xe8df077d 0000009c: EQ 0000009d: PUSH2 0x0e25 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xf09a4016 000000a7: EQ 000000a8: PUSH2 0x0e3a 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xf1a153a1 000000b2: EQ 000000b3: PUSH2 0x0e82 000000b6: JUMPI 000000b7: PUSH2 0x04b6 000000ba: JUMP 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0xdc87454c 000000c2: EQ 000000c3: PUSH2 0x0dfb 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0xe2a4157c 000000cd: EQ 000000ce: PUSH2 0x0e10 000000d1: JUMPI 000000d2: PUSH2 0x04b6 000000d5: JUMP 000000d6: JUMPDEST 000000d7: DUP1 000000d8: PUSH4 0xd60851a2 000000dd: GT 000000de: PUSH2 0x012d 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xd7da6b56 000000e8: GT 000000e9: PUSH2 0x0112 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xd7da6b56 000000f3: EQ 000000f4: PUSH2 0x0dbc 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xd8e9f45d 000000fe: EQ 000000ff: PUSH2 0x0dd1 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0xdb3d1ccf 00000109: EQ 0000010a: PUSH2 0x0de6 0000010d: JUMPI 0000010e: PUSH2 0x04b6 00000111: JUMP 00000112: JUMPDEST 00000113: DUP1 00000114: PUSH4 0xd60851a2 00000119: EQ 0000011a: PUSH2 0x0d92 0000011d: JUMPI 0000011e: DUP1 0000011f: PUSH4 0xd7615d37 00000124: EQ 00000125: PUSH2 0x0da7 00000128: JUMPI 00000129: PUSH2 0x04b6 0000012c: JUMP 0000012d: JUMPDEST 0000012e: DUP1 0000012f: PUSH4 0xba20715a 00000134: EQ 00000135: PUSH2 0x0cdc 00000138: JUMPI 00000139: DUP1 0000013a: PUSH4 0xbdbcb576 0000013f: EQ 00000140: PUSH2 0x0cf1 00000143: JUMPI 00000144: DUP1 00000145: PUSH4 0xc3ea3575 0000014a: EQ 0000014b: PUSH2 0x0d37 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0xce977bc2 00000155: EQ 00000156: PUSH2 0x0d4c 00000159: JUMPI 0000015a: PUSH2 0x04b6 0000015d: JUMP 0000015e: JUMPDEST 0000015f: DUP1 00000160: PUSH4 0xa7a53243 00000165: GT 00000166: PUSH2 0x01f1 00000169: JUMPI 0000016a: DUP1 0000016b: PUSH4 0xae2f89c2 00000170: GT 00000171: PUSH2 0x01c0 00000174: JUMPI 00000175: DUP1 00000176: PUSH4 0xb5050ea8 0000017b: GT 0000017c: PUSH2 0x01a5 0000017f: JUMPI 00000180: DUP1 00000181: PUSH4 0xb5050ea8 00000186: EQ 00000187: PUSH2 0x0c9d 0000018a: JUMPI 0000018b: DUP1 0000018c: PUSH4 0xb693c3be 00000191: EQ 00000192: PUSH2 0x0cb2 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0xb7ac4ff3 0000019c: EQ 0000019d: PUSH2 0x0cc7 000001a0: JUMPI 000001a1: PUSH2 0x04b6 000001a4: JUMP 000001a5: JUMPDEST 000001a6: DUP1 000001a7: PUSH4 0xae2f89c2 000001ac: EQ 000001ad: PUSH2 0x0c73 000001b0: JUMPI 000001b1: DUP1 000001b2: PUSH4 0xb1ace0b0 000001b7: EQ 000001b8: PUSH2 0x0c88 000001bb: JUMPI 000001bc: PUSH2 0x04b6 000001bf: JUMP 000001c0: JUMPDEST 000001c1: DUP1 000001c2: PUSH4 0xa7a53243 000001c7: EQ 000001c8: PUSH2 0x0bd9 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0xa8b6b2b6 000001d2: EQ 000001d3: PUSH2 0x0bee 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0xa940646d 000001dd: EQ 000001de: PUSH2 0x0c03 000001e1: JUMPI 000001e2: DUP1 000001e3: PUSH4 0xa9e74344 000001e8: EQ 000001e9: PUSH2 0x0c2d 000001ec: JUMPI 000001ed: PUSH2 0x04b6 000001f0: JUMP 000001f1: JUMPDEST 000001f2: DUP1 000001f3: PUSH4 0x9244adcd 000001f8: GT 000001f9: PUSH2 0x0248 000001fc: JUMPI 000001fd: DUP1 000001fe: PUSH4 0x9a8a2145 00000203: GT 00000204: PUSH2 0x022d 00000207: JUMPI 00000208: DUP1 00000209: PUSH4 0x9a8a2145 0000020e: EQ 0000020f: PUSH2 0x0b6f 00000212: JUMPI 00000213: DUP1 00000214: PUSH4 0x9f712f2f 00000219: EQ 0000021a: PUSH2 0x0b84 0000021d: JUMPI 0000021e: DUP1 0000021f: PUSH4 0xa03040c3 00000224: EQ 00000225: PUSH2 0x0bc4 00000228: JUMPI 00000229: PUSH2 0x04b6 0000022c: JUMP 0000022d: JUMPDEST 0000022e: DUP1 0000022f: PUSH4 0x9244adcd 00000234: EQ 00000235: PUSH2 0x0ab4 00000238: JUMPI 00000239: DUP1 0000023a: PUSH4 0x933dbf85 0000023f: EQ 00000240: PUSH2 0x0b5a 00000243: JUMPI 00000244: PUSH2 0x04b6 00000247: JUMP 00000248: JUMPDEST 00000249: DUP1 0000024a: PUSH4 0x83ae86cb 0000024f: EQ 00000250: PUSH2 0x0a60 00000253: JUMPI 00000254: DUP1 00000255: PUSH4 0x8a177973 0000025a: EQ 0000025b: PUSH2 0x0a75 0000025e: JUMPI 0000025f: DUP1 00000260: PUSH4 0x8da5cb5b 00000265: EQ 00000266: PUSH2 0x0a8a 00000269: JUMPI 0000026a: DUP1 0000026b: PUSH4 0x8f32d59b 00000270: EQ 00000271: PUSH2 0x0a9f 00000274: JUMPI 00000275: PUSH2 0x04b6 00000278: JUMP 00000279: JUMPDEST 0000027a: DUP1 0000027b: PUSH4 0x44841f4f 00000280: GT 00000281: PUSH2 0x039f 00000284: JUMPI 00000285: DUP1 00000286: PUSH4 0x5f88967b 0000028b: GT 0000028c: PUSH2 0x0317 0000028f: JUMPI 00000290: DUP1 00000291: PUSH4 0x7496780f 00000296: GT 00000297: PUSH2 0x02e6 0000029a: JUMPI 0000029b: DUP1 0000029c: PUSH4 0x789bc8e2 000002a1: GT 000002a2: PUSH2 0x02cb 000002a5: JUMPI 000002a6: DUP1 000002a7: PUSH4 0x789bc8e2 000002ac: EQ 000002ad: PUSH2 0x09e1 000002b0: JUMPI 000002b1: DUP1 000002b2: PUSH4 0x7cd9fb1c 000002b7: EQ 000002b8: PUSH2 0x09f6 000002bb: JUMPI 000002bc: DUP1 000002bd: PUSH4 0x821f9824 000002c2: EQ 000002c3: PUSH2 0x0a20 000002c6: JUMPI 000002c7: PUSH2 0x04b6 000002ca: JUMP 000002cb: JUMPDEST 000002cc: DUP1 000002cd: PUSH4 0x7496780f 000002d2: EQ 000002d3: PUSH2 0x09b7 000002d6: JUMPI 000002d7: DUP1 000002d8: PUSH4 0x751a2238 000002dd: EQ 000002de: PUSH2 0x09cc 000002e1: JUMPI 000002e2: PUSH2 0x04b6 000002e5: JUMP 000002e6: JUMPDEST 000002e7: DUP1 000002e8: PUSH4 0x5f88967b 000002ed: EQ 000002ee: PUSH2 0x0963 000002f1: JUMPI 000002f2: DUP1 000002f3: PUSH4 0x63b7bf20 000002f8: EQ 000002f9: PUSH2 0x0978 000002fc: JUMPI 000002fd: DUP1 000002fe: PUSH4 0x675fb9c4 00000303: EQ 00000304: PUSH2 0x098d 00000307: JUMPI 00000308: DUP1 00000309: PUSH4 0x715018a6 0000030e: EQ 0000030f: PUSH2 0x09a2 00000312: JUMPI 00000313: PUSH2 0x04b6 00000316: JUMP 00000317: JUMPDEST 00000318: DUP1 00000319: PUSH4 0x56f7e7ff 0000031e: GT 0000031f: PUSH2 0x036e 00000322: JUMPI 00000323: DUP1 00000324: PUSH4 0x5825b04c 00000329: GT 0000032a: PUSH2 0x0353 0000032d: JUMPI 0000032e: DUP1 0000032f: PUSH4 0x5825b04c 00000334: EQ 00000335: PUSH2 0x0884 00000338: JUMPI 00000339: DUP1 0000033a: PUSH4 0x5e068da5 0000033f: EQ 00000340: PUSH2 0x08c4 00000343: JUMPI 00000344: DUP1 00000345: PUSH4 0x5f2e5b46 0000034a: EQ 0000034b: PUSH2 0x094e 0000034e: JUMPI 0000034f: PUSH2 0x04b6 00000352: JUMP 00000353: JUMPDEST 00000354: DUP1 00000355: PUSH4 0x56f7e7ff 0000035a: EQ 0000035b: PUSH2 0x0814 0000035e: JUMPI 0000035f: DUP1 00000360: PUSH4 0x573c8409 00000365: EQ 00000366: PUSH2 0x083e 00000369: JUMPI 0000036a: PUSH2 0x04b6 0000036d: JUMP 0000036e: JUMPDEST 0000036f: DUP1 00000370: PUSH4 0x44841f4f 00000375: EQ 00000376: PUSH2 0x07c0 00000379: JUMPI 0000037a: DUP1 0000037b: PUSH4 0x467f0e06 00000380: EQ 00000381: PUSH2 0x07d5 00000384: JUMPI 00000385: DUP1 00000386: PUSH4 0x48ea7638 0000038b: EQ 0000038c: PUSH2 0x07ea 0000038f: JUMPI 00000390: DUP1 00000391: PUSH4 0x4f2094a1 00000396: EQ 00000397: PUSH2 0x07ff 0000039a: JUMPI 0000039b: PUSH2 0x04b6 0000039e: JUMP 0000039f: JUMPDEST 000003a0: DUP1 000003a1: PUSH4 0x1dbeef7c 000003a6: GT 000003a7: PUSH2 0x0432 000003aa: JUMPI 000003ab: DUP1 000003ac: PUSH4 0x3131be90 000003b1: GT 000003b2: PUSH2 0x0401 000003b5: JUMPI 000003b6: DUP1 000003b7: PUSH4 0x392e53cd 000003bc: GT 000003bd: PUSH2 0x03e6 000003c0: JUMPI 000003c1: DUP1 000003c2: PUSH4 0x392e53cd 000003c7: EQ 000003c8: PUSH2 0x0750 000003cb: JUMPI 000003cc: DUP1 000003cd: PUSH4 0x3e47158c 000003d2: EQ 000003d3: PUSH2 0x0765 000003d6: JUMPI 000003d7: DUP1 000003d8: PUSH4 0x404c568f 000003dd: EQ 000003de: PUSH2 0x077a 000003e1: JUMPI 000003e2: PUSH2 0x04b6 000003e5: JUMP 000003e6: JUMPDEST 000003e7: DUP1 000003e8: PUSH4 0x3131be90 000003ed: EQ 000003ee: PUSH2 0x06a1 000003f1: JUMPI 000003f2: DUP1 000003f3: PUSH4 0x32952b66 000003f8: EQ 000003f9: PUSH2 0x06b6 000003fc: JUMPI 000003fd: PUSH2 0x04b6 00000400: JUMP 00000401: JUMPDEST 00000402: DUP1 00000403: PUSH4 0x1dbeef7c 00000408: EQ 00000409: PUSH2 0x0622 0000040c: JUMPI 0000040d: DUP1 0000040e: PUSH4 0x25f842c5 00000413: EQ 00000414: PUSH2 0x0637 00000417: JUMPI 00000418: DUP1 00000419: PUSH4 0x2893f5cc 0000041e: EQ 0000041f: PUSH2 0x064c 00000422: JUMPI 00000423: DUP1 00000424: PUSH4 0x2f884710 00000429: EQ 0000042a: PUSH2 0x068c 0000042d: JUMPI 0000042e: PUSH2 0x04b6 00000431: JUMP 00000432: JUMPDEST 00000433: DUP1 00000434: PUSH4 0x0e187cac 00000439: GT 0000043a: PUSH2 0x0489 0000043d: JUMPI 0000043e: DUP1 0000043f: PUSH4 0x1476e600 00000444: GT 00000445: PUSH2 0x046e 00000448: JUMPI 00000449: DUP1 0000044a: PUSH4 0x1476e600 0000044f: EQ 00000450: PUSH2 0x05e3 00000453: JUMPI 00000454: DUP1 00000455: PUSH4 0x17ddc578 0000045a: EQ 0000045b: PUSH2 0x05f8 0000045e: JUMPI 0000045f: DUP1 00000460: PUSH4 0x1a454ea6 00000465: EQ 00000466: PUSH2 0x060d 00000469: JUMPI 0000046a: PUSH2 0x04b6 0000046d: JUMP 0000046e: JUMPDEST 0000046f: DUP1 00000470: PUSH4 0x0e187cac 00000475: EQ 00000476: PUSH2 0x057a 00000479: JUMPI 0000047a: DUP1 0000047b: PUSH4 0x13d3d00e 00000480: EQ 00000481: PUSH2 0x05ce 00000484: JUMPI 00000485: PUSH2 0x04b6 00000488: JUMP 00000489: JUMPDEST 0000048a: DUP1 0000048b: PUSH4 0x057fe949 00000490: EQ 00000491: PUSH2 0x04c0 00000494: JUMPI 00000495: DUP1 00000496: PUSH4 0x06d34c60 0000049b: EQ 0000049c: PUSH2 0x04fe 0000049f: JUMPI 000004a0: DUP1 000004a1: PUSH4 0x0bafd60e 000004a6: EQ 000004a7: PUSH2 0x0550 000004aa: JUMPI 000004ab: DUP1 000004ac: PUSH4 0x0c870f91 000004b1: EQ 000004b2: PUSH2 0x0565 000004b5: JUMPI 000004b6: JUMPDEST 000004b7: PUSH2 0x04be 000004ba: PUSH2 0x1059 000004bd: JUMP 000004be: JUMPDEST 000004bf: STOP 000004c0: JUMPDEST 000004c1: CALLVALUE 000004c2: DUP1 000004c3: ISZERO 000004c4: PUSH2 0x04cc 000004c7: JUMPI 000004c8: PUSH1 0x00 000004ca: DUP1 000004cb: REVERT 000004cc: JUMPDEST 000004cd: POP 000004ce: PUSH2 0x04d5 000004d1: PUSH2 0x1073 000004d4: JUMP 000004d5: JUMPDEST 000004d6: PUSH1 0x40 000004d8: DUP1 000004d9: MLOAD 000004da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004ef: SWAP1 000004f0: SWAP3 000004f1: AND 000004f2: DUP3 000004f3: MSTORE 000004f4: MLOAD 000004f5: SWAP1 000004f6: DUP2 000004f7: SWAP1 000004f8: SUB 000004f9: PUSH1 0x20 000004fb: ADD 000004fc: SWAP1 000004fd: RETURN 000004fe: JUMPDEST 000004ff: CALLVALUE 00000500: DUP1 00000501: ISZERO 00000502: PUSH2 0x050a 00000505: JUMPI 00000506: PUSH1 0x00 00000508: DUP1 00000509: REVERT 0000050a: JUMPDEST 0000050b: POP 0000050c: PUSH2 0x053e 0000050f: PUSH1 0x04 00000511: DUP1 00000512: CALLDATASIZE 00000513: SUB 00000514: PUSH1 0x20 00000516: DUP2 00000517: LT 00000518: ISZERO 00000519: PUSH2 0x0521 0000051c: JUMPI 0000051d: PUSH1 0x00 0000051f: DUP1 00000520: REVERT 00000521: JUMPDEST 00000522: POP 00000523: CALLDATALOAD 00000524: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000539: AND 0000053a: PUSH2 0x108f 0000053d: JUMP 0000053e: JUMPDEST 0000053f: PUSH1 0x40 00000541: DUP1 00000542: MLOAD 00000543: SWAP2 00000544: DUP3 00000545: MSTORE 00000546: MLOAD 00000547: SWAP1 00000548: DUP2 00000549: SWAP1 0000054a: SUB 0000054b: PUSH1 0x20 0000054d: ADD 0000054e: SWAP1 0000054f: RETURN 00000550: JUMPDEST 00000551: CALLVALUE 00000552: DUP1 00000553: ISZERO 00000554: PUSH2 0x055c 00000557: JUMPI 00000558: PUSH1 0x00 0000055a: DUP1 0000055b: REVERT 0000055c: JUMPDEST 0000055d: POP 0000055e: PUSH2 0x04d5 00000561: PUSH2 0x11b2 00000564: JUMP 00000565: JUMPDEST 00000566: CALLVALUE 00000567: DUP1 00000568: ISZERO 00000569: PUSH2 0x0571 0000056c: JUMPI 0000056d: PUSH1 0x00 0000056f: DUP1 00000570: REVERT 00000571: JUMPDEST 00000572: POP 00000573: PUSH2 0x04d5 00000576: PUSH2 0x11d4 00000579: JUMP 0000057a: JUMPDEST 0000057b: CALLVALUE 0000057c: DUP1 0000057d: ISZERO 0000057e: PUSH2 0x0586 00000581: JUMPI 00000582: PUSH1 0x00 00000584: DUP1 00000585: REVERT 00000586: JUMPDEST 00000587: POP 00000588: PUSH2 0x05ba 0000058b: PUSH1 0x04 0000058d: DUP1 0000058e: CALLDATASIZE 0000058f: SUB 00000590: PUSH1 0x20 00000592: DUP2 00000593: LT 00000594: ISZERO 00000595: PUSH2 0x059d 00000598: JUMPI 00000599: PUSH1 0x00 0000059b: DUP1 0000059c: REVERT 0000059d: JUMPDEST 0000059e: POP 0000059f: CALLDATALOAD 000005a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005b5: AND 000005b6: PUSH2 0x11e4 000005b9: JUMP 000005ba: JUMPDEST 000005bb: PUSH1 0x40 000005bd: DUP1 000005be: MLOAD 000005bf: SWAP2 000005c0: ISZERO 000005c1: ISZERO 000005c2: DUP3 000005c3: MSTORE 000005c4: MLOAD 000005c5: SWAP1 000005c6: DUP2 000005c7: SWAP1 000005c8: SUB 000005c9: PUSH1 0x20 000005cb: ADD 000005cc: SWAP1 000005cd: RETURN 000005ce: JUMPDEST 000005cf: CALLVALUE 000005d0: DUP1 000005d1: ISZERO 000005d2: PUSH2 0x05da 000005d5: JUMPI 000005d6: PUSH1 0x00 000005d8: DUP1 000005d9: REVERT 000005da: JUMPDEST 000005db: POP 000005dc: PUSH2 0x053e 000005df: PUSH2 0x11f9 000005e2: JUMP 000005e3: JUMPDEST 000005e4: CALLVALUE 000005e5: DUP1 000005e6: ISZERO 000005e7: PUSH2 0x05ef 000005ea: JUMPI 000005eb: PUSH1 0x00 000005ed: DUP1 000005ee: REVERT 000005ef: JUMPDEST 000005f0: POP 000005f1: PUSH2 0x053e 000005f4: PUSH2 0x11ff 000005f7: JUMP 000005f8: JUMPDEST 000005f9: CALLVALUE 000005fa: DUP1 000005fb: ISZERO 000005fc: PUSH2 0x0604 000005ff: JUMPI 00000600: PUSH1 0x00 00000602: DUP1 00000603: REVERT 00000604: JUMPDEST 00000605: POP 00000606: PUSH2 0x053e 00000609: PUSH2 0x120b 0000060c: JUMP 0000060d: JUMPDEST 0000060e: CALLVALUE 0000060f: DUP1 00000610: ISZERO 00000611: PUSH2 0x0619 00000614: JUMPI 00000615: PUSH1 0x00 00000617: DUP1 00000618: REVERT 00000619: JUMPDEST 0000061a: POP 0000061b: PUSH2 0x053e 0000061e: PUSH2 0x1211 00000621: JUMP 00000622: JUMPDEST 00000623: CALLVALUE 00000624: DUP1 00000625: ISZERO 00000626: PUSH2 0x062e 00000629: JUMPI 0000062a: PUSH1 0x00 0000062c: DUP1 0000062d: REVERT 0000062e: JUMPDEST 0000062f: POP 00000630: PUSH2 0x053e 00000633: PUSH2 0x121d 00000636: JUMP 00000637: JUMPDEST 00000638: CALLVALUE 00000639: DUP1 0000063a: ISZERO 0000063b: PUSH2 0x0643 0000063e: JUMPI 0000063f: PUSH1 0x00 00000641: DUP1 00000642: REVERT 00000643: JUMPDEST 00000644: POP 00000645: PUSH2 0x053e 00000648: PUSH2 0x1223 0000064b: JUMP 0000064c: JUMPDEST 0000064d: CALLVALUE 0000064e: DUP1 0000064f: ISZERO 00000650: PUSH2 0x0658 00000653: JUMPI 00000654: PUSH1 0x00 00000656: DUP1 00000657: REVERT 00000658: JUMPDEST 00000659: POP 0000065a: PUSH2 0x05ba 0000065d: PUSH1 0x04 0000065f: DUP1 00000660: CALLDATASIZE 00000661: SUB 00000662: PUSH1 0x20 00000664: DUP2 00000665: LT 00000666: ISZERO 00000667: PUSH2 0x066f 0000066a: JUMPI 0000066b: PUSH1 0x00 0000066d: DUP1 0000066e: REVERT 0000066f: JUMPDEST 00000670: POP 00000671: CALLDATALOAD 00000672: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000687: AND 00000688: PUSH2 0x1229 0000068b: JUMP 0000068c: JUMPDEST 0000068d: CALLVALUE 0000068e: DUP1 0000068f: ISZERO 00000690: PUSH2 0x0698 00000693: JUMPI 00000694: PUSH1 0x00 00000696: DUP1 00000697: REVERT 00000698: JUMPDEST 00000699: POP 0000069a: PUSH2 0x053e 0000069d: PUSH2 0x123e 000006a0: JUMP 000006a1: JUMPDEST 000006a2: CALLVALUE 000006a3: DUP1 000006a4: ISZERO 000006a5: PUSH2 0x06ad 000006a8: JUMPI 000006a9: PUSH1 0x00 000006ab: DUP1 000006ac: REVERT 000006ad: JUMPDEST 000006ae: POP 000006af: PUSH2 0x04d5 000006b2: PUSH2 0x1244 000006b5: JUMP 000006b6: JUMPDEST 000006b7: CALLVALUE 000006b8: DUP1 000006b9: ISZERO 000006ba: PUSH2 0x06c2 000006bd: JUMPI 000006be: PUSH1 0x00 000006c0: DUP1 000006c1: REVERT 000006c2: JUMPDEST 000006c3: POP 000006c4: PUSH2 0x04be 000006c7: PUSH1 0x04 000006c9: DUP1 000006ca: CALLDATASIZE 000006cb: SUB 000006cc: PUSH1 0x40 000006ce: DUP2 000006cf: LT 000006d0: ISZERO 000006d1: PUSH2 0x06d9 000006d4: JUMPI 000006d5: PUSH1 0x00 000006d7: DUP1 000006d8: REVERT 000006d9: JUMPDEST 000006da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ef: DUP3 000006f0: CALLDATALOAD 000006f1: AND 000006f2: SWAP2 000006f3: SWAP1 000006f4: DUP2 000006f5: ADD 000006f6: SWAP1 000006f7: PUSH1 0x40 000006f9: DUP2 000006fa: ADD 000006fb: PUSH1 0x20 000006fd: DUP3 000006fe: ADD 000006ff: CALLDATALOAD 00000700: PUSH5 0x0100000000 00000706: DUP2 00000707: GT 00000708: ISZERO 00000709: PUSH2 0x0711 0000070c: JUMPI 0000070d: PUSH1 0x00 0000070f: DUP1 00000710: REVERT 00000711: JUMPDEST 00000712: DUP3 00000713: ADD 00000714: DUP4 00000715: PUSH1 0x20 00000717: DUP3 00000718: ADD 00000719: GT 0000071a: ISZERO 0000071b: PUSH2 0x0723 0000071e: JUMPI 0000071f: PUSH1 0x00 00000721: DUP1 00000722: REVERT 00000723: JUMPDEST 00000724: DUP1 00000725: CALLDATALOAD 00000726: SWAP1 00000727: PUSH1 0x20 00000729: ADD 0000072a: SWAP2 0000072b: DUP5 0000072c: PUSH1 0x01 0000072e: DUP4 0000072f: MUL 00000730: DUP5 00000731: ADD 00000732: GT 00000733: PUSH5 0x0100000000 00000739: DUP4 0000073a: GT 0000073b: OR 0000073c: ISZERO 0000073d: PUSH2 0x0745 00000740: JUMPI 00000741: PUSH1 0x00 00000743: DUP1 00000744: REVERT 00000745: JUMPDEST 00000746: POP 00000747: SWAP1 00000748: SWAP3 00000749: POP 0000074a: SWAP1 0000074b: POP 0000074c: PUSH2 0x1260 0000074f: JUMP 00000750: JUMPDEST 00000751: CALLVALUE 00000752: DUP1 00000753: ISZERO 00000754: PUSH2 0x075c 00000757: JUMPI 00000758: PUSH1 0x00 0000075a: DUP1 0000075b: REVERT 0000075c: JUMPDEST 0000075d: POP 0000075e: PUSH2 0x05ba 00000761: PUSH2 0x12ed 00000764: JUMP 00000765: JUMPDEST 00000766: CALLVALUE 00000767: DUP1 00000768: ISZERO 00000769: PUSH2 0x0771 0000076c: JUMPI 0000076d: PUSH1 0x00 0000076f: DUP1 00000770: REVERT 00000771: JUMPDEST 00000772: POP 00000773: PUSH2 0x04d5 00000776: PUSH2 0x1310 00000779: JUMP 0000077a: JUMPDEST 0000077b: CALLVALUE 0000077c: DUP1 0000077d: ISZERO 0000077e: PUSH2 0x0786 00000781: JUMPI 00000782: PUSH1 0x00 00000784: DUP1 00000785: REVERT 00000786: JUMPDEST 00000787: POP 00000788: PUSH2 0x04d5 0000078b: PUSH1 0x04 0000078d: DUP1 0000078e: CALLDATASIZE 0000078f: SUB 00000790: PUSH1 0x40 00000792: DUP2 00000793: LT 00000794: ISZERO 00000795: PUSH2 0x079d 00000798: JUMPI 00000799: PUSH1 0x00 0000079b: DUP1 0000079c: REVERT 0000079d: JUMPDEST 0000079e: POP 0000079f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007b4: DUP2 000007b5: CALLDATALOAD 000007b6: AND 000007b7: SWAP1 000007b8: PUSH1 0x20 000007ba: ADD 000007bb: CALLDATALOAD 000007bc: PUSH2 0x131a 000007bf: JUMP 000007c0: JUMPDEST 000007c1: CALLVALUE 000007c2: DUP1 000007c3: ISZERO 000007c4: PUSH2 0x07cc 000007c7: JUMPI 000007c8: PUSH1 0x00 000007ca: DUP1 000007cb: REVERT 000007cc: JUMPDEST 000007cd: POP 000007ce: PUSH2 0x053e 000007d1: PUSH2 0x135c 000007d4: JUMP 000007d5: JUMPDEST 000007d6: CALLVALUE 000007d7: DUP1 000007d8: ISZERO 000007d9: PUSH2 0x07e1 000007dc: JUMPI 000007dd: PUSH1 0x00 000007df: DUP1 000007e0: REVERT 000007e1: JUMPDEST 000007e2: POP 000007e3: PUSH2 0x04d5 000007e6: PUSH2 0x1362 000007e9: JUMP 000007ea: JUMPDEST 000007eb: CALLVALUE 000007ec: DUP1 000007ed: ISZERO 000007ee: PUSH2 0x07f6 000007f1: JUMPI 000007f2: PUSH1 0x00 000007f4: DUP1 000007f5: REVERT 000007f6: JUMPDEST 000007f7: POP 000007f8: PUSH2 0x053e 000007fb: PUSH2 0x137e 000007fe: JUMP 000007ff: JUMPDEST 00000800: CALLVALUE 00000801: DUP1 00000802: ISZERO 00000803: PUSH2 0x080b 00000806: JUMPI 00000807: PUSH1 0x00 00000809: DUP1 0000080a: REVERT 0000080b: JUMPDEST 0000080c: POP 0000080d: PUSH2 0x053e 00000810: PUSH2 0x1384 00000813: JUMP 00000814: JUMPDEST 00000815: CALLVALUE 00000816: DUP1 00000817: ISZERO 00000818: PUSH2 0x0820 0000081b: JUMPI 0000081c: PUSH1 0x00 0000081e: DUP1 0000081f: REVERT 00000820: JUMPDEST 00000821: POP 00000822: PUSH2 0x053e 00000825: PUSH1 0x04 00000827: DUP1 00000828: CALLDATASIZE 00000829: SUB 0000082a: PUSH1 0x20 0000082c: DUP2 0000082d: LT 0000082e: ISZERO 0000082f: PUSH2 0x0837 00000832: JUMPI 00000833: PUSH1 0x00 00000835: DUP1 00000836: REVERT 00000837: JUMPDEST 00000838: POP 00000839: CALLDATALOAD 0000083a: PUSH2 0x138b 0000083d: JUMP 0000083e: JUMPDEST 0000083f: CALLVALUE 00000840: DUP1 00000841: ISZERO 00000842: PUSH2 0x084a 00000845: JUMPI 00000846: PUSH1 0x00 00000848: DUP1 00000849: REVERT 0000084a: JUMPDEST 0000084b: POP 0000084c: PUSH2 0x05ba 0000084f: PUSH1 0x04 00000851: DUP1 00000852: CALLDATASIZE 00000853: SUB 00000854: PUSH1 0x40 00000856: DUP2 00000857: LT 00000858: ISZERO 00000859: PUSH2 0x0861 0000085c: JUMPI 0000085d: PUSH1 0x00 0000085f: DUP1 00000860: REVERT 00000861: JUMPDEST 00000862: POP 00000863: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000878: DUP2 00000879: CALLDATALOAD 0000087a: AND 0000087b: SWAP1 0000087c: PUSH1 0x20 0000087e: ADD 0000087f: CALLDATALOAD 00000880: PUSH2 0x139f 00000883: JUMP 00000884: JUMPDEST 00000885: CALLVALUE 00000886: DUP1 00000887: ISZERO 00000888: PUSH2 0x0890 0000088b: JUMPI 0000088c: PUSH1 0x00 0000088e: DUP1 0000088f: REVERT 00000890: JUMPDEST 00000891: POP 00000892: PUSH2 0x053e 00000895: PUSH1 0x04 00000897: DUP1 00000898: CALLDATASIZE 00000899: SUB 0000089a: PUSH1 0x20 0000089c: DUP2 0000089d: LT 0000089e: ISZERO 0000089f: PUSH2 0x08a7 000008a2: JUMPI 000008a3: PUSH1 0x00 000008a5: DUP1 000008a6: REVERT 000008a7: JUMPDEST 000008a8: POP 000008a9: CALLDATALOAD 000008aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008bf: AND 000008c0: PUSH2 0x14e6 000008c3: JUMP 000008c4: JUMPDEST 000008c5: CALLVALUE 000008c6: DUP1 000008c7: ISZERO 000008c8: PUSH2 0x08d0 000008cb: JUMPI 000008cc: PUSH1 0x00 000008ce: DUP1 000008cf: REVERT 000008d0: JUMPDEST 000008d1: POP 000008d2: PUSH2 0x08d9 000008d5: PUSH2 0x15ca 000008d8: JUMP 000008d9: JUMPDEST 000008da: PUSH1 0x40 000008dc: DUP1 000008dd: MLOAD 000008de: PUSH1 0x20 000008e0: DUP1 000008e1: DUP3 000008e2: MSTORE 000008e3: DUP4 000008e4: MLOAD 000008e5: DUP2 000008e6: DUP4 000008e7: ADD 000008e8: MSTORE 000008e9: DUP4 000008ea: MLOAD 000008eb: SWAP2 000008ec: SWAP3 000008ed: DUP4 000008ee: SWAP3 000008ef: SWAP1 000008f0: DUP4 000008f1: ADD 000008f2: SWAP2 000008f3: DUP6 000008f4: ADD 000008f5: SWAP1 000008f6: DUP1 000008f7: DUP4 000008f8: DUP4 000008f9: PUSH1 0x00 000008fb: JUMPDEST 000008fc: DUP4 000008fd: DUP2 000008fe: LT 000008ff: ISZERO 00000900: PUSH2 0x0913 00000903: JUMPI 00000904: DUP2 00000905: DUP2 00000906: ADD 00000907: MLOAD 00000908: DUP4 00000909: DUP3 0000090a: ADD 0000090b: MSTORE 0000090c: PUSH1 0x20 0000090e: ADD 0000090f: PUSH2 0x08fb 00000912: JUMP 00000913: JUMPDEST 00000914: POP 00000915: POP 00000916: POP 00000917: POP 00000918: SWAP1 00000919: POP 0000091a: SWAP1 0000091b: DUP2 0000091c: ADD 0000091d: SWAP1 0000091e: PUSH1 0x1f 00000920: AND 00000921: DUP1 00000922: ISZERO 00000923: PUSH2 0x0940 00000926: JUMPI 00000927: DUP1 00000928: DUP3 00000929: SUB 0000092a: DUP1 0000092b: MLOAD 0000092c: PUSH1 0x01 0000092e: DUP4 0000092f: PUSH1 0x20 00000931: SUB 00000932: PUSH2 0x0100 00000935: EXP 00000936: SUB 00000937: NOT 00000938: AND 00000939: DUP2 0000093a: MSTORE 0000093b: PUSH1 0x20 0000093d: ADD 0000093e: SWAP2 0000093f: POP 00000940: JUMPDEST 00000941: POP 00000942: SWAP3 00000943: POP 00000944: POP 00000945: POP 00000946: PUSH1 0x40 00000948: MLOAD 00000949: DUP1 0000094a: SWAP2 0000094b: SUB 0000094c: SWAP1 0000094d: RETURN 0000094e: JUMPDEST 0000094f: CALLVALUE 00000950: DUP1 00000951: ISZERO 00000952: PUSH2 0x095a 00000955: JUMPI 00000956: PUSH1 0x00 00000958: DUP1 00000959: REVERT 0000095a: JUMPDEST 0000095b: POP 0000095c: PUSH2 0x053e 0000095f: PUSH2 0x167e 00000962: JUMP 00000963: JUMPDEST 00000964: CALLVALUE 00000965: DUP1 00000966: ISZERO 00000967: PUSH2 0x096f 0000096a: JUMPI 0000096b: PUSH1 0x00 0000096d: DUP1 0000096e: REVERT 0000096f: JUMPDEST 00000970: POP 00000971: PUSH2 0x05ba 00000974: PUSH2 0x1684 00000977: JUMP 00000978: JUMPDEST 00000979: CALLVALUE 0000097a: DUP1 0000097b: ISZERO 0000097c: PUSH2 0x0984 0000097f: JUMPI 00000980: PUSH1 0x00 00000982: DUP1 00000983: REVERT 00000984: JUMPDEST 00000985: POP 00000986: PUSH2 0x053e 00000989: PUSH2 0x1692 0000098c: JUMP 0000098d: JUMPDEST 0000098e: CALLVALUE 0000098f: DUP1 00000990: ISZERO 00000991: PUSH2 0x0999 00000994: JUMPI 00000995: PUSH1 0x00 00000997: DUP1 00000998: REVERT 00000999: JUMPDEST 0000099a: POP 0000099b: PUSH2 0x053e 0000099e: PUSH2 0x1698 000009a1: JUMP 000009a2: JUMPDEST 000009a3: CALLVALUE 000009a4: DUP1 000009a5: ISZERO 000009a6: PUSH2 0x09ae 000009a9: JUMPI 000009aa: PUSH1 0x00 000009ac: DUP1 000009ad: REVERT 000009ae: JUMPDEST 000009af: POP 000009b0: PUSH2 0x04be 000009b3: PUSH2 0x16a4 000009b6: JUMP 000009b7: JUMPDEST 000009b8: CALLVALUE 000009b9: DUP1 000009ba: ISZERO 000009bb: PUSH2 0x09c3 000009be: JUMPI 000009bf: PUSH1 0x00 000009c1: DUP1 000009c2: REVERT 000009c3: JUMPDEST 000009c4: POP 000009c5: PUSH2 0x053e 000009c8: PUSH2 0x1786 000009cb: JUMP 000009cc: JUMPDEST 000009cd: CALLVALUE 000009ce: DUP1 000009cf: ISZERO 000009d0: PUSH2 0x09d8 000009d3: JUMPI 000009d4: PUSH1 0x00 000009d6: DUP1 000009d7: REVERT 000009d8: JUMPDEST 000009d9: POP 000009da: PUSH2 0x053e 000009dd: PUSH2 0x1792 000009e0: JUMP 000009e1: JUMPDEST 000009e2: CALLVALUE 000009e3: DUP1 000009e4: ISZERO 000009e5: PUSH2 0x09ed 000009e8: JUMPI 000009e9: PUSH1 0x00 000009eb: DUP1 000009ec: REVERT 000009ed: JUMPDEST 000009ee: POP 000009ef: PUSH2 0x053e 000009f2: PUSH2 0x1798 000009f5: JUMP 000009f6: JUMPDEST 000009f7: CALLVALUE 000009f8: DUP1 000009f9: ISZERO 000009fa: PUSH2 0x0a02 000009fd: JUMPI 000009fe: PUSH1 0x00 00000a00: DUP1 00000a01: REVERT 00000a02: JUMPDEST 00000a03: POP 00000a04: PUSH2 0x053e 00000a07: PUSH1 0x04 00000a09: DUP1 00000a0a: CALLDATASIZE 00000a0b: SUB 00000a0c: PUSH1 0x20 00000a0e: DUP2 00000a0f: LT 00000a10: ISZERO 00000a11: PUSH2 0x0a19 00000a14: JUMPI 00000a15: PUSH1 0x00 00000a17: DUP1 00000a18: REVERT 00000a19: JUMPDEST 00000a1a: POP 00000a1b: CALLDATALOAD 00000a1c: PUSH2 0x179d 00000a1f: JUMP 00000a20: JUMPDEST 00000a21: CALLVALUE 00000a22: DUP1 00000a23: ISZERO 00000a24: PUSH2 0x0a2c 00000a27: JUMPI 00000a28: PUSH1 0x00 00000a2a: DUP1 00000a2b: REVERT 00000a2c: JUMPDEST 00000a2d: POP 00000a2e: PUSH2 0x053e 00000a31: PUSH1 0x04 00000a33: DUP1 00000a34: CALLDATASIZE 00000a35: SUB 00000a36: PUSH1 0x20 00000a38: DUP2 00000a39: LT 00000a3a: ISZERO 00000a3b: PUSH2 0x0a43 00000a3e: JUMPI 00000a3f: PUSH1 0x00 00000a41: DUP1 00000a42: REVERT 00000a43: JUMPDEST 00000a44: POP 00000a45: CALLDATALOAD 00000a46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a5b: AND 00000a5c: PUSH2 0x1853 00000a5f: JUMP 00000a60: JUMPDEST 00000a61: CALLVALUE 00000a62: DUP1 00000a63: ISZERO 00000a64: PUSH2 0x0a6c 00000a67: JUMPI 00000a68: PUSH1 0x00 00000a6a: DUP1 00000a6b: REVERT 00000a6c: JUMPDEST 00000a6d: POP 00000a6e: PUSH2 0x053e 00000a71: PUSH2 0x1937 00000a74: JUMP 00000a75: JUMPDEST 00000a76: CALLVALUE 00000a77: DUP1 00000a78: ISZERO 00000a79: PUSH2 0x0a81 00000a7c: JUMPI 00000a7d: PUSH1 0x00 00000a7f: DUP1 00000a80: REVERT 00000a81: JUMPDEST 00000a82: POP 00000a83: PUSH2 0x04d5 00000a86: PUSH2 0x193d 00000a89: JUMP 00000a8a: JUMPDEST 00000a8b: CALLVALUE 00000a8c: DUP1 00000a8d: ISZERO 00000a8e: PUSH2 0x0a96 00000a91: JUMPI 00000a92: PUSH1 0x00 00000a94: DUP1 00000a95: REVERT 00000a96: JUMPDEST 00000a97: POP 00000a98: PUSH2 0x04d5 00000a9b: PUSH2 0x1959 00000a9e: JUMP 00000a9f: JUMPDEST 00000aa0: CALLVALUE 00000aa1: DUP1 00000aa2: ISZERO 00000aa3: PUSH2 0x0aab 00000aa6: JUMPI 00000aa7: PUSH1 0x00 00000aa9: DUP1 00000aaa: REVERT 00000aab: JUMPDEST 00000aac: POP 00000aad: PUSH2 0x05ba 00000ab0: PUSH2 0x1975 00000ab3: JUMP 00000ab4: JUMPDEST 00000ab5: CALLVALUE 00000ab6: DUP1 00000ab7: ISZERO 00000ab8: PUSH2 0x0ac0 00000abb: JUMPI 00000abc: PUSH1 0x00 00000abe: DUP1 00000abf: REVERT 00000ac0: JUMPDEST 00000ac1: POP 00000ac2: PUSH2 0x0afa 00000ac5: PUSH1 0x04 00000ac7: DUP1 00000ac8: CALLDATASIZE 00000ac9: SUB 00000aca: PUSH1 0x40 00000acc: DUP2 00000acd: LT 00000ace: ISZERO 00000acf: PUSH2 0x0ad7 00000ad2: JUMPI 00000ad3: PUSH1 0x00 00000ad5: DUP1 00000ad6: REVERT 00000ad7: JUMPDEST 00000ad8: POP 00000ad9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aee: DUP2 00000aef: CALLDATALOAD 00000af0: AND 00000af1: SWAP1 00000af2: PUSH1 0x20 00000af4: ADD 00000af5: CALLDATALOAD 00000af6: PUSH2 0x19b3 00000af9: JUMP 00000afa: JUMPDEST 00000afb: PUSH1 0x40 00000afd: DUP1 00000afe: MLOAD 00000aff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b14: SWAP1 00000b15: SWAP11 00000b16: AND 00000b17: DUP11 00000b18: MSTORE 00000b19: PUSH1 0x20 00000b1b: DUP11 00000b1c: ADD 00000b1d: SWAP9 00000b1e: SWAP1 00000b1f: SWAP9 00000b20: MSTORE 00000b21: DUP9 00000b22: DUP9 00000b23: ADD 00000b24: SWAP7 00000b25: SWAP1 00000b26: SWAP7 00000b27: MSTORE 00000b28: PUSH1 0x60 00000b2a: DUP9 00000b2b: ADD 00000b2c: SWAP5 00000b2d: SWAP1 00000b2e: SWAP5 00000b2f: MSTORE 00000b30: PUSH1 0x80 00000b32: DUP8 00000b33: ADD 00000b34: SWAP3 00000b35: SWAP1 00000b36: SWAP3 00000b37: MSTORE 00000b38: PUSH1 0xa0 00000b3a: DUP7 00000b3b: ADD 00000b3c: MSTORE 00000b3d: PUSH1 0xc0 00000b3f: DUP6 00000b40: ADD 00000b41: MSTORE 00000b42: PUSH1 0xe0 00000b44: DUP5 00000b45: ADD 00000b46: MSTORE 00000b47: ISZERO 00000b48: ISZERO 00000b49: PUSH2 0x0100 00000b4c: DUP4 00000b4d: ADD 00000b4e: MSTORE 00000b4f: MLOAD 00000b50: SWAP1 00000b51: DUP2 00000b52: SWAP1 00000b53: SUB 00000b54: PUSH2 0x0120 00000b57: ADD 00000b58: SWAP1 00000b59: RETURN 00000b5a: JUMPDEST 00000b5b: CALLVALUE 00000b5c: DUP1 00000b5d: ISZERO 00000b5e: PUSH2 0x0b66 00000b61: JUMPI 00000b62: PUSH1 0x00 00000b64: DUP1 00000b65: REVERT 00000b66: JUMPDEST 00000b67: POP 00000b68: PUSH2 0x053e 00000b6b: PUSH2 0x1a32 00000b6e: JUMP 00000b6f: JUMPDEST 00000b70: CALLVALUE 00000b71: DUP1 00000b72: ISZERO 00000b73: PUSH2 0x0b7b 00000b76: JUMPI 00000b77: PUSH1 0x00 00000b79: DUP1 00000b7a: REVERT 00000b7b: JUMPDEST 00000b7c: POP 00000b7d: PUSH2 0x04d5 00000b80: PUSH2 0x1a3e 00000b83: JUMP 00000b84: JUMPDEST 00000b85: CALLVALUE 00000b86: DUP1 00000b87: ISZERO 00000b88: PUSH2 0x0b90 00000b8b: JUMPI 00000b8c: PUSH1 0x00 00000b8e: DUP1 00000b8f: REVERT 00000b90: JUMPDEST 00000b91: POP 00000b92: PUSH2 0x04be 00000b95: PUSH1 0x04 00000b97: DUP1 00000b98: CALLDATASIZE 00000b99: SUB 00000b9a: PUSH1 0x20 00000b9c: DUP2 00000b9d: LT 00000b9e: ISZERO 00000b9f: PUSH2 0x0ba7 00000ba2: JUMPI 00000ba3: PUSH1 0x00 00000ba5: DUP1 00000ba6: REVERT 00000ba7: JUMPDEST 00000ba8: POP 00000ba9: CALLDATALOAD 00000baa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bbf: AND 00000bc0: PUSH2 0x1a5a 00000bc3: JUMP 00000bc4: JUMPDEST 00000bc5: CALLVALUE 00000bc6: DUP1 00000bc7: ISZERO 00000bc8: PUSH2 0x0bd0 00000bcb: JUMPI 00000bcc: PUSH1 0x00 00000bce: DUP1 00000bcf: REVERT 00000bd0: JUMPDEST 00000bd1: POP 00000bd2: PUSH2 0x04d5 00000bd5: PUSH2 0x1b72 00000bd8: JUMP 00000bd9: JUMPDEST 00000bda: CALLVALUE 00000bdb: DUP1 00000bdc: ISZERO 00000bdd: PUSH2 0x0be5 00000be0: JUMPI 00000be1: PUSH1 0x00 00000be3: DUP1 00000be4: REVERT 00000be5: JUMPDEST 00000be6: POP 00000be7: PUSH2 0x053e 00000bea: PUSH2 0x1b8e 00000bed: JUMP 00000bee: JUMPDEST 00000bef: CALLVALUE 00000bf0: DUP1 00000bf1: ISZERO 00000bf2: PUSH2 0x0bfa 00000bf5: JUMPI 00000bf6: PUSH1 0x00 00000bf8: DUP1 00000bf9: REVERT 00000bfa: JUMPDEST 00000bfb: POP 00000bfc: PUSH2 0x053e 00000bff: PUSH2 0x1b9a 00000c02: JUMP 00000c03: JUMPDEST 00000c04: CALLVALUE 00000c05: DUP1 00000c06: ISZERO 00000c07: PUSH2 0x0c0f 00000c0a: JUMPI 00000c0b: PUSH1 0x00 00000c0d: DUP1 00000c0e: REVERT 00000c0f: JUMPDEST 00000c10: POP 00000c11: PUSH2 0x053e 00000c14: PUSH1 0x04 00000c16: DUP1 00000c17: CALLDATASIZE 00000c18: SUB 00000c19: PUSH1 0x20 00000c1b: DUP2 00000c1c: LT 00000c1d: ISZERO 00000c1e: PUSH2 0x0c26 00000c21: JUMPI 00000c22: PUSH1 0x00 00000c24: DUP1 00000c25: REVERT 00000c26: JUMPDEST 00000c27: POP 00000c28: CALLDATALOAD 00000c29: PUSH2 0x1ba6 00000c2c: JUMP 00000c2d: JUMPDEST 00000c2e: CALLVALUE 00000c2f: DUP1 00000c30: ISZERO 00000c31: PUSH2 0x0c39 00000c34: JUMPI 00000c35: PUSH1 0x00 00000c37: DUP1 00000c38: REVERT 00000c39: JUMPDEST 00000c3a: POP 00000c3b: PUSH2 0x05ba 00000c3e: PUSH1 0x04 00000c40: DUP1 00000c41: CALLDATASIZE 00000c42: SUB 00000c43: PUSH1 0x40 00000c45: DUP2 00000c46: LT 00000c47: ISZERO 00000c48: PUSH2 0x0c50 00000c4b: JUMPI 00000c4c: PUSH1 0x00 00000c4e: DUP1 00000c4f: REVERT 00000c50: JUMPDEST 00000c51: POP 00000c52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c67: DUP2 00000c68: CALLDATALOAD 00000c69: AND 00000c6a: SWAP1 00000c6b: PUSH1 0x20 00000c6d: ADD 00000c6e: CALLDATALOAD 00000c6f: PUSH2 0x1c5a 00000c72: JUMP 00000c73: JUMPDEST 00000c74: CALLVALUE 00000c75: DUP1 00000c76: ISZERO 00000c77: PUSH2 0x0c7f 00000c7a: JUMPI 00000c7b: PUSH1 0x00 00000c7d: DUP1 00000c7e: REVERT 00000c7f: JUMPDEST 00000c80: POP 00000c81: PUSH2 0x053e 00000c84: PUSH2 0x1c7a 00000c87: JUMP 00000c88: JUMPDEST 00000c89: CALLVALUE 00000c8a: DUP1 00000c8b: ISZERO 00000c8c: PUSH2 0x0c94 00000c8f: JUMPI 00000c90: PUSH1 0x00 00000c92: DUP1 00000c93: REVERT 00000c94: JUMPDEST 00000c95: POP 00000c96: PUSH2 0x053e 00000c99: PUSH2 0x1c80 00000c9c: JUMP 00000c9d: JUMPDEST 00000c9e: CALLVALUE 00000c9f: DUP1 00000ca0: ISZERO 00000ca1: PUSH2 0x0ca9 00000ca4: JUMPI 00000ca5: PUSH1 0x00 00000ca7: DUP1 00000ca8: REVERT 00000ca9: JUMPDEST 00000caa: POP 00000cab: PUSH2 0x053e 00000cae: PUSH2 0x1c8b 00000cb1: JUMP 00000cb2: JUMPDEST 00000cb3: CALLVALUE 00000cb4: DUP1 00000cb5: ISZERO 00000cb6: PUSH2 0x0cbe 00000cb9: JUMPI 00000cba: PUSH1 0x00 00000cbc: DUP1 00000cbd: REVERT 00000cbe: JUMPDEST 00000cbf: POP 00000cc0: PUSH2 0x04d5 00000cc3: PUSH2 0x1c90 00000cc6: JUMP 00000cc7: JUMPDEST 00000cc8: CALLVALUE 00000cc9: DUP1 00000cca: ISZERO 00000ccb: PUSH2 0x0cd3 00000cce: JUMPI 00000ccf: PUSH1 0x00 00000cd1: DUP1 00000cd2: REVERT 00000cd3: JUMPDEST 00000cd4: POP 00000cd5: PUSH2 0x05ba 00000cd8: PUSH2 0x1cac 00000cdb: JUMP 00000cdc: JUMPDEST 00000cdd: CALLVALUE 00000cde: DUP1 00000cdf: ISZERO 00000ce0: PUSH2 0x0ce8 00000ce3: JUMPI 00000ce4: PUSH1 0x00 00000ce6: DUP1 00000ce7: REVERT 00000ce8: JUMPDEST 00000ce9: POP 00000cea: PUSH2 0x053e 00000ced: PUSH2 0x1cce 00000cf0: JUMP 00000cf1: JUMPDEST 00000cf2: CALLVALUE 00000cf3: DUP1 00000cf4: ISZERO 00000cf5: PUSH2 0x0cfd 00000cf8: JUMPI 00000cf9: PUSH1 0x00 00000cfb: DUP1 00000cfc: REVERT 00000cfd: JUMPDEST 00000cfe: POP 00000cff: PUSH2 0x053e 00000d02: PUSH1 0x04 00000d04: DUP1 00000d05: CALLDATASIZE 00000d06: SUB 00000d07: PUSH1 0x40 00000d09: DUP2 00000d0a: LT 00000d0b: ISZERO 00000d0c: PUSH2 0x0d14 00000d0f: JUMPI 00000d10: PUSH1 0x00 00000d12: DUP1 00000d13: REVERT 00000d14: JUMPDEST 00000d15: POP 00000d16: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d2b: DUP2 00000d2c: CALLDATALOAD 00000d2d: AND 00000d2e: SWAP1 00000d2f: PUSH1 0x20 00000d31: ADD 00000d32: CALLDATALOAD 00000d33: PUSH2 0x1cd4 00000d36: JUMP 00000d37: JUMPDEST 00000d38: CALLVALUE 00000d39: DUP1 00000d3a: ISZERO 00000d3b: PUSH2 0x0d43 00000d3e: JUMPI 00000d3f: PUSH1 0x00 00000d41: DUP1 00000d42: REVERT 00000d43: JUMPDEST 00000d44: POP 00000d45: PUSH2 0x04d5 00000d48: PUSH2 0x1dd7 00000d4b: JUMP 00000d4c: JUMPDEST 00000d4d: CALLVALUE 00000d4e: DUP1 00000d4f: ISZERO 00000d50: PUSH2 0x0d58 00000d53: JUMPI 00000d54: PUSH1 0x00 00000d56: DUP1 00000d57: REVERT 00000d58: JUMPDEST 00000d59: POP 00000d5a: PUSH2 0x05ba 00000d5d: PUSH1 0x04 00000d5f: DUP1 00000d60: CALLDATASIZE 00000d61: SUB 00000d62: PUSH1 0x40 00000d64: DUP2 00000d65: LT 00000d66: ISZERO 00000d67: PUSH2 0x0d6f 00000d6a: JUMPI 00000d6b: PUSH1 0x00 00000d6d: DUP1 00000d6e: REVERT 00000d6f: JUMPDEST 00000d70: POP 00000d71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d86: DUP2 00000d87: CALLDATALOAD 00000d88: AND 00000d89: SWAP1 00000d8a: PUSH1 0x20 00000d8c: ADD 00000d8d: CALLDATALOAD 00000d8e: PUSH2 0x1df3 00000d91: JUMP 00000d92: JUMPDEST 00000d93: CALLVALUE 00000d94: DUP1 00000d95: ISZERO 00000d96: PUSH2 0x0d9e 00000d99: JUMPI 00000d9a: PUSH1 0x00 00000d9c: DUP1 00000d9d: REVERT 00000d9e: JUMPDEST 00000d9f: POP 00000da0: PUSH2 0x053e 00000da3: PUSH2 0x1efc 00000da6: JUMP 00000da7: JUMPDEST 00000da8: CALLVALUE 00000da9: DUP1 00000daa: ISZERO 00000dab: PUSH2 0x0db3 00000dae: JUMPI 00000daf: PUSH1 0x00 00000db1: DUP1 00000db2: REVERT 00000db3: JUMPDEST 00000db4: POP 00000db5: PUSH2 0x04d5 00000db8: PUSH2 0x1f02 00000dbb: JUMP 00000dbc: JUMPDEST 00000dbd: CALLVALUE 00000dbe: DUP1 00000dbf: ISZERO 00000dc0: PUSH2 0x0dc8 00000dc3: JUMPI 00000dc4: PUSH1 0x00 00000dc6: DUP1 00000dc7: REVERT 00000dc8: JUMPDEST 00000dc9: POP 00000dca: PUSH2 0x053e 00000dcd: PUSH2 0x1f1e 00000dd0: JUMP 00000dd1: JUMPDEST 00000dd2: CALLVALUE 00000dd3: DUP1 00000dd4: ISZERO 00000dd5: PUSH2 0x0ddd 00000dd8: JUMPI 00000dd9: PUSH1 0x00 00000ddb: DUP1 00000ddc: REVERT 00000ddd: JUMPDEST 00000dde: POP 00000ddf: PUSH2 0x053e 00000de2: PUSH2 0x1f24 00000de5: JUMP 00000de6: JUMPDEST 00000de7: CALLVALUE 00000de8: DUP1 00000de9: ISZERO 00000dea: PUSH2 0x0df2 00000ded: JUMPI 00000dee: PUSH1 0x00 00000df0: DUP1 00000df1: REVERT 00000df2: JUMPDEST 00000df3: POP 00000df4: PUSH2 0x04d5 00000df7: PUSH2 0x1f2a 00000dfa: JUMP 00000dfb: JUMPDEST 00000dfc: CALLVALUE 00000dfd: DUP1 00000dfe: ISZERO 00000dff: PUSH2 0x0e07 00000e02: JUMPI 00000e03: PUSH1 0x00 00000e05: DUP1 00000e06: REVERT 00000e07: JUMPDEST 00000e08: POP 00000e09: PUSH2 0x04d5 00000e0c: PUSH2 0x1f46 00000e0f: JUMP 00000e10: JUMPDEST 00000e11: CALLVALUE 00000e12: DUP1 00000e13: ISZERO 00000e14: PUSH2 0x0e1c 00000e17: JUMPI 00000e18: PUSH1 0x00 00000e1a: DUP1 00000e1b: REVERT 00000e1c: JUMPDEST 00000e1d: POP 00000e1e: PUSH2 0x05ba 00000e21: PUSH2 0x1f62 00000e24: JUMP 00000e25: JUMPDEST 00000e26: CALLVALUE 00000e27: DUP1 00000e28: ISZERO 00000e29: PUSH2 0x0e31 00000e2c: JUMPI 00000e2d: PUSH1 0x00 00000e2f: DUP1 00000e30: REVERT 00000e31: JUMPDEST 00000e32: POP 00000e33: PUSH2 0x05ba 00000e36: PUSH2 0x1f83 00000e39: JUMP 00000e3a: JUMPDEST 00000e3b: CALLVALUE 00000e3c: DUP1 00000e3d: ISZERO 00000e3e: PUSH2 0x0e46 00000e41: JUMPI 00000e42: PUSH1 0x00 00000e44: DUP1 00000e45: REVERT 00000e46: JUMPDEST 00000e47: POP 00000e48: PUSH2 0x04be 00000e4b: PUSH1 0x04 00000e4d: DUP1 00000e4e: CALLDATASIZE 00000e4f: SUB 00000e50: PUSH1 0x40 00000e52: DUP2 00000e53: LT 00000e54: ISZERO 00000e55: PUSH2 0x0e5d 00000e58: JUMPI 00000e59: PUSH1 0x00 00000e5b: DUP1 00000e5c: REVERT 00000e5d: JUMPDEST 00000e5e: POP 00000e5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e74: DUP2 00000e75: CALLDATALOAD 00000e76: DUP2 00000e77: AND 00000e78: SWAP2 00000e79: PUSH1 0x20 00000e7b: ADD 00000e7c: CALLDATALOAD 00000e7d: AND 00000e7e: PUSH2 0x1f8c 00000e81: JUMP 00000e82: JUMPDEST 00000e83: CALLVALUE 00000e84: DUP1 00000e85: ISZERO 00000e86: PUSH2 0x0e8e 00000e89: JUMPI 00000e8a: PUSH1 0x00 00000e8c: DUP1 00000e8d: REVERT 00000e8e: JUMPDEST 00000e8f: POP 00000e90: PUSH2 0x053e 00000e93: PUSH1 0x04 00000e95: DUP1 00000e96: CALLDATASIZE 00000e97: SUB 00000e98: PUSH1 0x20 00000e9a: DUP2 00000e9b: LT 00000e9c: ISZERO 00000e9d: PUSH2 0x0ea5 00000ea0: JUMPI 00000ea1: PUSH1 0x00 00000ea3: DUP1 00000ea4: REVERT 00000ea5: JUMPDEST 00000ea6: POP 00000ea7: CALLDATALOAD 00000ea8: PUSH2 0x20ab 00000eab: JUMP 00000eac: JUMPDEST 00000ead: CALLVALUE 00000eae: DUP1 00000eaf: ISZERO 00000eb0: PUSH2 0x0eb8 00000eb3: JUMPI 00000eb4: PUSH1 0x00 00000eb6: DUP1 00000eb7: REVERT 00000eb8: JUMPDEST 00000eb9: POP 00000eba: PUSH2 0x04be 00000ebd: PUSH1 0x04 00000ebf: DUP1 00000ec0: CALLDATASIZE 00000ec1: SUB 00000ec2: PUSH1 0x20 00000ec4: DUP2 00000ec5: LT 00000ec6: ISZERO 00000ec7: PUSH2 0x0ecf 00000eca: JUMPI 00000ecb: PUSH1 0x00 00000ecd: DUP1 00000ece: REVERT 00000ecf: JUMPDEST 00000ed0: POP 00000ed1: CALLDATALOAD 00000ed2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ee7: AND 00000ee8: PUSH2 0x2161 00000eeb: JUMP 00000eec: JUMPDEST 00000eed: CALLVALUE 00000eee: DUP1 00000eef: ISZERO 00000ef0: PUSH2 0x0ef8 00000ef3: JUMPI 00000ef4: PUSH1 0x00 00000ef6: DUP1 00000ef7: REVERT 00000ef8: JUMPDEST 00000ef9: POP 00000efa: PUSH2 0x0f01 00000efd: PUSH2 0x21dd 00000f00: JUMP 00000f01: JUMPDEST 00000f02: PUSH1 0x40 00000f04: MLOAD 00000f05: DUP1 00000f06: DUP3 00000f07: PUSH1 0x01 00000f09: DUP2 00000f0a: GT 00000f0b: ISZERO 00000f0c: PUSH2 0x0f11 00000f0f: JUMPI 00000f10: INVALID 00000f11: JUMPDEST 00000f12: PUSH1 0xff 00000f14: AND 00000f15: DUP2 00000f16: MSTORE 00000f17: PUSH1 0x20 00000f19: ADD 00000f1a: SWAP2 00000f1b: POP 00000f1c: POP 00000f1d: PUSH1 0x40 00000f1f: MLOAD 00000f20: DUP1 00000f21: SWAP2 00000f22: SUB 00000f23: SWAP1 00000f24: RETURN 00000f25: JUMPDEST 00000f26: PUSH2 0x04be 00000f29: PUSH1 0x04 00000f2b: DUP1 00000f2c: CALLDATASIZE 00000f2d: SUB 00000f2e: PUSH1 0x60 00000f30: DUP2 00000f31: LT 00000f32: ISZERO 00000f33: PUSH2 0x0f3b 00000f36: JUMPI 00000f37: PUSH1 0x00 00000f39: DUP1 00000f3a: REVERT 00000f3b: JUMPDEST 00000f3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f51: DUP3 00000f52: CALLDATALOAD 00000f53: AND 00000f54: SWAP2 00000f55: SWAP1 00000f56: DUP2 00000f57: ADD 00000f58: SWAP1 00000f59: PUSH1 0x40 00000f5b: DUP2 00000f5c: ADD 00000f5d: PUSH1 0x20 00000f5f: DUP3 00000f60: ADD 00000f61: CALLDATALOAD 00000f62: PUSH5 0x0100000000 00000f68: DUP2 00000f69: GT 00000f6a: ISZERO 00000f6b: PUSH2 0x0f73 00000f6e: JUMPI 00000f6f: PUSH1 0x00 00000f71: DUP1 00000f72: REVERT 00000f73: JUMPDEST 00000f74: DUP3 00000f75: ADD 00000f76: DUP4 00000f77: PUSH1 0x20 00000f79: DUP3 00000f7a: ADD 00000f7b: GT 00000f7c: ISZERO 00000f7d: PUSH2 0x0f85 00000f80: JUMPI 00000f81: PUSH1 0x00 00000f83: DUP1 00000f84: REVERT 00000f85: JUMPDEST 00000f86: DUP1 00000f87: CALLDATALOAD 00000f88: SWAP1 00000f89: PUSH1 0x20 00000f8b: ADD 00000f8c: SWAP2 00000f8d: DUP5 00000f8e: PUSH1 0x01 00000f90: DUP4 00000f91: MUL 00000f92: DUP5 00000f93: ADD 00000f94: GT 00000f95: PUSH5 0x0100000000 00000f9b: DUP4 00000f9c: GT 00000f9d: OR 00000f9e: ISZERO 00000f9f: PUSH2 0x0fa7 00000fa2: JUMPI 00000fa3: PUSH1 0x00 00000fa5: DUP1 00000fa6: REVERT 00000fa7: JUMPDEST 00000fa8: SWAP2 00000fa9: SWAP4 00000faa: SWAP1 00000fab: SWAP3 00000fac: SWAP1 00000fad: SWAP2 00000fae: PUSH1 0x20 00000fb0: DUP2 00000fb1: ADD 00000fb2: SWAP1 00000fb3: CALLDATALOAD 00000fb4: PUSH5 0x0100000000 00000fba: DUP2 00000fbb: GT 00000fbc: ISZERO 00000fbd: PUSH2 0x0fc5 00000fc0: JUMPI 00000fc1: PUSH1 0x00 00000fc3: DUP1 00000fc4: REVERT 00000fc5: JUMPDEST 00000fc6: DUP3 00000fc7: ADD 00000fc8: DUP4 00000fc9: PUSH1 0x20 00000fcb: DUP3 00000fcc: ADD 00000fcd: GT 00000fce: ISZERO 00000fcf: PUSH2 0x0fd7 00000fd2: JUMPI 00000fd3: PUSH1 0x00 00000fd5: DUP1 00000fd6: REVERT 00000fd7: JUMPDEST 00000fd8: DUP1 00000fd9: CALLDATALOAD 00000fda: SWAP1 00000fdb: PUSH1 0x20 00000fdd: ADD 00000fde: SWAP2 00000fdf: DUP5 00000fe0: PUSH1 0x01 00000fe2: DUP4 00000fe3: MUL 00000fe4: DUP5 00000fe5: ADD 00000fe6: GT 00000fe7: PUSH5 0x0100000000 00000fed: DUP4 00000fee: GT 00000fef: OR 00000ff0: ISZERO 00000ff1: PUSH2 0x0ff9 00000ff4: JUMPI 00000ff5: PUSH1 0x00 00000ff7: DUP1 00000ff8: REVERT 00000ff9: JUMPDEST 00000ffa: POP 00000ffb: SWAP1 00000ffc: SWAP3 00000ffd: POP 00000ffe: SWAP1 00000fff: POP 00001000: PUSH2 0x21e6 00001003: JUMP 00001004: JUMPDEST 00001005: CALLVALUE 00001006: DUP1 00001007: ISZERO 00001008: PUSH2 0x1010 0000100b: JUMPI 0000100c: PUSH1 0x00 0000100e: DUP1 0000100f: REVERT 00001010: JUMPDEST 00001011: POP 00001012: PUSH2 0x053e 00001015: PUSH1 0x04 00001017: DUP1 00001018: CALLDATASIZE 00001019: SUB 0000101a: PUSH1 0x20 0000101c: DUP2 0000101d: LT 0000101e: ISZERO 0000101f: PUSH2 0x1027 00001022: JUMPI 00001023: PUSH1 0x00 00001025: DUP1 00001026: REVERT 00001027: JUMPDEST 00001028: POP 00001029: CALLDATALOAD 0000102a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000103f: AND 00001040: PUSH2 0x22f3 00001043: JUMP 00001044: JUMPDEST 00001045: CALLVALUE 00001046: DUP1 00001047: ISZERO 00001048: PUSH2 0x1050 0000104b: JUMPI 0000104c: PUSH1 0x00 0000104e: DUP1 0000104f: REVERT 00001050: JUMPDEST 00001051: POP 00001052: PUSH2 0x04d5 00001055: PUSH2 0x23d7 00001058: JUMP 00001059: JUMPDEST 0000105a: PUSH2 0x1061 0000105d: PUSH2 0x23f3 00001060: JUMP 00001061: JUMPDEST 00001062: PUSH2 0x1071 00001065: PUSH2 0x106c 00001068: PUSH2 0x2487 0000106b: JUMP 0000106c: JUMPDEST 0000106d: PUSH2 0x24ac 00001070: JUMP 00001071: JUMPDEST 00001072: JUMP 00001073: JUMPDEST 00001074: PUSH1 0x2e 00001076: SLOAD 00001077: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000108c: AND 0000108d: DUP2 0000108e: JUMP 0000108f: JUMPDEST 00001090: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010a5: DUP2 000010a6: AND 000010a7: PUSH1 0x00 000010a9: SWAP1 000010aa: DUP2 000010ab: MSTORE 000010ac: PUSH1 0x2b 000010ae: PUSH1 0x20 000010b0: MSTORE 000010b1: PUSH1 0x40 000010b3: DUP2 000010b4: KECCAK256 000010b5: SLOAD 000010b6: PUSH2 0x1185 000010b9: JUMPI 000010ba: PUSH1 0x09 000010bc: SLOAD 000010bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010d2: AND 000010d3: ISZERO 000010d4: PUSH2 0x117b 000010d7: JUMPI 000010d8: PUSH1 0x09 000010da: SLOAD 000010db: PUSH1 0x40 000010dd: DUP1 000010de: MLOAD 000010df: PUSH32 0x06d34c6000000000000000000000000000000000000000000000000000000000 00001100: DUP2 00001101: MSTORE 00001102: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001117: DUP6 00001118: DUP2 00001119: AND 0000111a: PUSH1 0x04 0000111c: DUP4 0000111d: ADD 0000111e: MSTORE 0000111f: SWAP2 00001120: MLOAD 00001121: SWAP2 00001122: SWAP1 00001123: SWAP3 00001124: AND 00001125: SWAP2 00001126: PUSH4 0x06d34c60 0000112b: SWAP2 0000112c: PUSH1 0x24 0000112e: DUP1 0000112f: DUP4 00001130: ADD 00001131: SWAP3 00001132: PUSH1 0x20 00001134: SWAP3 00001135: SWAP2 00001136: SWAP1 00001137: DUP3 00001138: SWAP1 00001139: SUB 0000113a: ADD 0000113b: DUP2 0000113c: DUP7 0000113d: DUP1 0000113e: EXTCODESIZE 0000113f: ISZERO 00001140: DUP1 00001141: ISZERO 00001142: PUSH2 0x114a 00001145: JUMPI 00001146: PUSH1 0x00 00001148: DUP1 00001149: REVERT 0000114a: JUMPDEST 0000114b: POP 0000114c: GAS 0000114d: STATICCALL 0000114e: ISZERO 0000114f: DUP1 00001150: ISZERO 00001151: PUSH2 0x115e 00001154: JUMPI 00001155: RETURNDATASIZE 00001156: PUSH1 0x00 00001158: DUP1 00001159: RETURNDATACOPY 0000115a: RETURNDATASIZE 0000115b: PUSH1 0x00 0000115d: REVERT 0000115e: JUMPDEST 0000115f: POP 00001160: POP 00001161: POP 00001162: POP 00001163: PUSH1 0x40 00001165: MLOAD 00001166: RETURNDATASIZE 00001167: PUSH1 0x20 00001169: DUP2 0000116a: LT 0000116b: ISZERO 0000116c: PUSH2 0x1174 0000116f: JUMPI 00001170: PUSH1 0x00 00001172: DUP1 00001173: REVERT 00001174: JUMPDEST 00001175: POP 00001176: MLOAD 00001177: PUSH2 0x117e 0000117a: JUMP 0000117b: JUMPDEST 0000117c: PUSH1 0x00 0000117e: JUMPDEST 0000117f: SWAP1 00001180: POP 00001181: PUSH2 0x11ad 00001184: JUMP 00001185: JUMPDEST 00001186: POP 00001187: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000119c: DUP2 0000119d: AND 0000119e: PUSH1 0x00 000011a0: SWAP1 000011a1: DUP2 000011a2: MSTORE 000011a3: PUSH1 0x2b 000011a5: PUSH1 0x20 000011a7: MSTORE 000011a8: PUSH1 0x40 000011aa: SWAP1 000011ab: KECCAK256 000011ac: SLOAD 000011ad: JUMPDEST 000011ae: SWAP2 000011af: SWAP1 000011b0: POP 000011b1: JUMP 000011b2: JUMPDEST 000011b3: PUSH1 0x24 000011b5: SLOAD 000011b6: PUSH3 0x010000 000011ba: SWAP1 000011bb: DIV 000011bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011d1: AND 000011d2: DUP2 000011d3: JUMP 000011d4: JUMPDEST 000011d5: PUSH1 0x00 000011d7: PUSH2 0x11de 000011da: PUSH2 0x2487 000011dd: JUMP 000011de: JUMPDEST 000011df: SWAP1 000011e0: POP 000011e1: JUMPDEST 000011e2: SWAP1 000011e3: JUMP 000011e4: JUMPDEST 000011e5: PUSH1 0x22 000011e7: PUSH1 0x20 000011e9: MSTORE 000011ea: PUSH1 0x00 000011ec: SWAP1 000011ed: DUP2 000011ee: MSTORE 000011ef: PUSH1 0x40 000011f1: SWAP1 000011f2: KECCAK256 000011f3: SLOAD 000011f4: PUSH1 0xff 000011f6: AND 000011f7: DUP2 000011f8: JUMP 000011f9: JUMPDEST 000011fa: PUSH1 0x11 000011fc: SLOAD 000011fd: DUP2 000011fe: JUMP 000011ff: JUMPDEST 00001200: PUSH8 0x03782dace9d90000 00001209: DUP2 0000120a: JUMP 0000120b: JUMPDEST 0000120c: PUSH1 0x28 0000120e: SLOAD 0000120f: DUP2 00001210: JUMP 00001211: JUMPDEST 00001212: PUSH8 0x0214e8348c4f0000 0000121b: DUP2 0000121c: JUMP 0000121d: JUMPDEST 0000121e: PUSH1 0x18 00001220: SLOAD 00001221: DUP2 00001222: JUMP 00001223: JUMPDEST 00001224: PUSH1 0x0f 00001226: SLOAD 00001227: DUP2 00001228: JUMP 00001229: JUMPDEST 0000122a: PUSH1 0x23 0000122c: PUSH1 0x20 0000122e: MSTORE 0000122f: PUSH1 0x00 00001231: SWAP1 00001232: DUP2 00001233: MSTORE 00001234: PUSH1 0x40 00001236: SWAP1 00001237: KECCAK256 00001238: SLOAD 00001239: PUSH1 0xff 0000123b: AND 0000123c: DUP2 0000123d: JUMP 0000123e: JUMPDEST 0000123f: PUSH1 0x0a 00001241: SLOAD 00001242: DUP2 00001243: JUMP 00001244: JUMPDEST 00001245: PUSH1 0x2f 00001247: SLOAD 00001248: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000125d: AND 0000125e: DUP2 0000125f: JUMP 00001260: JUMPDEST 00001261: PUSH2 0x1268 00001264: PUSH2 0x24d0 00001267: JUMP 00001268: JUMPDEST 00001269: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000127e: AND 0000127f: CALLER 00001280: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001295: AND 00001296: EQ 00001297: ISZERO 00001298: PUSH2 0x12e0 0000129b: JUMPI 0000129c: PUSH2 0x12db 0000129f: DUP4 000012a0: DUP4 000012a1: DUP4 000012a2: DUP1 000012a3: DUP1 000012a4: PUSH1 0x1f 000012a6: ADD 000012a7: PUSH1 0x20 000012a9: DUP1 000012aa: SWAP2 000012ab: DIV 000012ac: MUL 000012ad: PUSH1 0x20 000012af: ADD 000012b0: PUSH1 0x40 000012b2: MLOAD 000012b3: SWAP1 000012b4: DUP2 000012b5: ADD 000012b6: PUSH1 0x40 000012b8: MSTORE 000012b9: DUP1 000012ba: SWAP4 000012bb: SWAP3 000012bc: SWAP2 000012bd: SWAP1 000012be: DUP2 000012bf: DUP2 000012c0: MSTORE 000012c1: PUSH1 0x20 000012c3: ADD 000012c4: DUP4 000012c5: DUP4 000012c6: DUP1 000012c7: DUP3 000012c8: DUP5 000012c9: CALLDATACOPY 000012ca: PUSH1 0x00 000012cc: SWAP3 000012cd: ADD 000012ce: SWAP2 000012cf: SWAP1 000012d0: SWAP2 000012d1: MSTORE 000012d2: POP 000012d3: PUSH2 0x24f5 000012d6: SWAP3 000012d7: POP 000012d8: POP 000012d9: POP 000012da: JUMP 000012db: JUMPDEST 000012dc: PUSH2 0x12e8 000012df: JUMP 000012e0: JUMPDEST 000012e1: PUSH2 0x12e8 000012e4: PUSH2 0x1059 000012e7: JUMP 000012e8: JUMPDEST 000012e9: POP 000012ea: POP 000012eb: POP 000012ec: JUMP 000012ed: JUMPDEST 000012ee: PUSH1 0x00 000012f0: SLOAD 000012f1: PUSH23 0x0100000000000000000000000000000000000000000000 00001309: SWAP1 0000130a: DIV 0000130b: PUSH1 0xff 0000130d: AND 0000130e: DUP2 0000130f: JUMP 00001310: JUMPDEST 00001311: PUSH1 0x00 00001313: PUSH2 0x11de 00001316: PUSH2 0x24d0 00001319: JUMP 0000131a: JUMPDEST 0000131b: PUSH1 0x1e 0000131d: PUSH1 0x20 0000131f: MSTORE 00001320: DUP2 00001321: PUSH1 0x00 00001323: MSTORE 00001324: PUSH1 0x40 00001326: PUSH1 0x00 00001328: KECCAK256 00001329: DUP2 0000132a: DUP2 0000132b: SLOAD 0000132c: DUP2 0000132d: LT 0000132e: PUSH2 0x1333 00001331: JUMPI 00001332: INVALID 00001333: JUMPDEST 00001334: PUSH1 0x00 00001336: SWAP2 00001337: DUP3 00001338: MSTORE 00001339: PUSH1 0x20 0000133b: SWAP1 0000133c: SWAP2 0000133d: KECCAK256 0000133e: ADD 0000133f: SLOAD 00001340: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001355: AND 00001356: SWAP2 00001357: POP 00001358: DUP3 00001359: SWAP1 0000135a: POP 0000135b: JUMP 0000135c: JUMPDEST 0000135d: PUSH1 0x31 0000135f: SLOAD 00001360: DUP2 00001361: JUMP 00001362: JUMPDEST 00001363: PUSH1 0x05 00001365: SLOAD 00001366: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000137b: AND 0000137c: DUP2 0000137d: JUMP 0000137e: JUMPDEST 0000137f: PUSH1 0x16 00001381: SLOAD 00001382: DUP2 00001383: JUMP 00001384: JUMPDEST 00001385: PUSH3 0x03f480 00001389: DUP2 0000138a: JUMP 0000138b: JUMPDEST 0000138c: PUSH1 0x13 0000138e: DUP2 0000138f: PUSH1 0x02 00001391: DUP2 00001392: LT 00001393: PUSH2 0x1398 00001396: JUMPI 00001397: INVALID 00001398: JUMPDEST 00001399: ADD 0000139a: SLOAD 0000139b: SWAP1 0000139c: POP 0000139d: DUP2 0000139e: JUMP 0000139f: JUMPDEST 000013a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013b5: DUP3 000013b6: AND 000013b7: PUSH1 0x00 000013b9: SWAP1 000013ba: DUP2 000013bb: MSTORE 000013bc: PUSH1 0x2c 000013be: PUSH1 0x20 000013c0: SWAP1 000013c1: DUP2 000013c2: MSTORE 000013c3: PUSH1 0x40 000013c5: DUP1 000013c6: DUP4 000013c7: KECCAK256 000013c8: DUP5 000013c9: DUP5 000013ca: MSTORE 000013cb: SWAP1 000013cc: SWAP2 000013cd: MSTORE 000013ce: DUP2 000013cf: KECCAK256 000013d0: SLOAD 000013d1: PUSH1 0xff 000013d3: AND 000013d4: PUSH2 0x14aa 000013d7: JUMPI 000013d8: PUSH1 0x09 000013da: SLOAD 000013db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013f0: AND 000013f1: ISZERO 000013f2: PUSH2 0x14a0 000013f5: JUMPI 000013f6: PUSH1 0x09 000013f8: SLOAD 000013f9: PUSH1 0x40 000013fb: DUP1 000013fc: MLOAD 000013fd: PUSH32 0x573c840900000000000000000000000000000000000000000000000000000000 0000141e: DUP2 0000141f: MSTORE 00001420: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001435: DUP7 00001436: DUP2 00001437: AND 00001438: PUSH1 0x04 0000143a: DUP4 0000143b: ADD 0000143c: MSTORE 0000143d: PUSH1 0x24 0000143f: DUP3 00001440: ADD 00001441: DUP7 00001442: SWAP1 00001443: MSTORE 00001444: SWAP2 00001445: MLOAD 00001446: SWAP2 00001447: SWAP1 00001448: SWAP3 00001449: AND 0000144a: SWAP2 0000144b: PUSH4 0x573c8409 00001450: SWAP2 00001451: PUSH1 0x44 00001453: DUP1 00001454: DUP4 00001455: ADD 00001456: SWAP3 00001457: PUSH1 0x20 00001459: SWAP3 0000145a: SWAP2 0000145b: SWAP1 0000145c: DUP3 0000145d: SWAP1 0000145e: SUB 0000145f: ADD 00001460: DUP2 00001461: DUP7 00001462: DUP1 00001463: EXTCODESIZE 00001464: ISZERO 00001465: DUP1 00001466: ISZERO 00001467: PUSH2 0x146f 0000146a: JUMPI 0000146b: PUSH1 0x00 0000146d: DUP1 0000146e: REVERT 0000146f: JUMPDEST 00001470: POP 00001471: GAS 00001472: STATICCALL 00001473: ISZERO 00001474: DUP1 00001475: ISZERO 00001476: PUSH2 0x1483 00001479: JUMPI 0000147a: RETURNDATASIZE 0000147b: PUSH1 0x00 0000147d: DUP1 0000147e: RETURNDATACOPY 0000147f: RETURNDATASIZE 00001480: PUSH1 0x00 00001482: REVERT 00001483: JUMPDEST 00001484: POP 00001485: POP 00001486: POP 00001487: POP 00001488: PUSH1 0x40 0000148a: MLOAD 0000148b: RETURNDATASIZE 0000148c: PUSH1 0x20 0000148e: DUP2 0000148f: LT 00001490: ISZERO 00001491: PUSH2 0x1499 00001494: JUMPI 00001495: PUSH1 0x00 00001497: DUP1 00001498: REVERT 00001499: JUMPDEST 0000149a: POP 0000149b: MLOAD 0000149c: PUSH2 0x14a3 0000149f: JUMP 000014a0: JUMPDEST 000014a1: PUSH1 0x00 000014a3: JUMPDEST 000014a4: SWAP1 000014a5: POP 000014a6: PUSH2 0x14e0 000014a9: JUMP 000014aa: JUMPDEST 000014ab: POP 000014ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014c1: DUP3 000014c2: AND 000014c3: PUSH1 0x00 000014c5: SWAP1 000014c6: DUP2 000014c7: MSTORE 000014c8: PUSH1 0x2c 000014ca: PUSH1 0x20 000014cc: SWAP1 000014cd: DUP2 000014ce: MSTORE 000014cf: PUSH1 0x40 000014d1: DUP1 000014d2: DUP4 000014d3: KECCAK256 000014d4: DUP5 000014d5: DUP5 000014d6: MSTORE 000014d7: SWAP1 000014d8: SWAP2 000014d9: MSTORE 000014da: SWAP1 000014db: KECCAK256 000014dc: SLOAD 000014dd: PUSH1 0xff 000014df: AND 000014e0: JUMPDEST 000014e1: SWAP3 000014e2: SWAP2 000014e3: POP 000014e4: POP 000014e5: JUMP 000014e6: JUMPDEST 000014e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014fc: DUP2 000014fd: AND 000014fe: PUSH1 0x00 00001500: SWAP1 00001501: DUP2 00001502: MSTORE 00001503: PUSH1 0x1c 00001505: PUSH1 0x20 00001507: MSTORE 00001508: PUSH1 0x40 0000150a: DUP2 0000150b: KECCAK256 0000150c: SLOAD 0000150d: PUSH2 0x15a1 00001510: JUMPI 00001511: PUSH1 0x09 00001513: SLOAD 00001514: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001529: AND 0000152a: ISZERO 0000152b: PUSH2 0x117b 0000152e: JUMPI 0000152f: PUSH1 0x09 00001531: SLOAD 00001532: PUSH1 0x40 00001534: DUP1 00001535: MLOAD 00001536: PUSH32 0x5825b04c00000000000000000000000000000000000000000000000000000000 00001557: DUP2 00001558: MSTORE 00001559: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000156e: DUP6 0000156f: DUP2 00001570: AND 00001571: PUSH1 0x04 00001573: DUP4 00001574: ADD 00001575: MSTORE 00001576: SWAP2 00001577: MLOAD 00001578: SWAP2 00001579: SWAP1 0000157a: SWAP3 0000157b: AND 0000157c: SWAP2 0000157d: PUSH4 0x5825b04c 00001582: SWAP2 00001583: PUSH1 0x24 00001585: DUP1 00001586: DUP4 00001587: ADD 00001588: SWAP3 00001589: PUSH1 0x20 0000158b: SWAP3 0000158c: SWAP2 0000158d: SWAP1 0000158e: DUP3 0000158f: SWAP1 00001590: SUB 00001591: ADD 00001592: DUP2 00001593: DUP7 00001594: DUP1 00001595: EXTCODESIZE 00001596: ISZERO 00001597: DUP1 00001598: ISZERO 00001599: PUSH2 0x114a 0000159c: JUMPI 0000159d: PUSH1 0x00 0000159f: DUP1 000015a0: REVERT 000015a1: JUMPDEST 000015a2: POP 000015a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015b8: AND 000015b9: PUSH1 0x00 000015bb: SWAP1 000015bc: DUP2 000015bd: MSTORE 000015be: PUSH1 0x1c 000015c0: PUSH1 0x20 000015c2: MSTORE 000015c3: PUSH1 0x40 000015c5: SWAP1 000015c6: KECCAK256 000015c7: SLOAD 000015c8: SWAP1 000015c9: JUMP 000015ca: JUMPDEST 000015cb: PUSH1 0x32 000015cd: DUP1 000015ce: SLOAD 000015cf: PUSH1 0x40 000015d1: DUP1 000015d2: MLOAD 000015d3: PUSH1 0x20 000015d5: PUSH1 0x1f 000015d7: PUSH1 0x02 000015d9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000015fa: PUSH2 0x0100 000015fd: PUSH1 0x01 000015ff: DUP9 00001600: AND 00001601: ISZERO 00001602: MUL 00001603: ADD 00001604: SWAP1 00001605: SWAP6 00001606: AND 00001607: SWAP5 00001608: SWAP1 00001609: SWAP5 0000160a: DIV 0000160b: SWAP4 0000160c: DUP5 0000160d: ADD 0000160e: DUP2 0000160f: SWAP1 00001610: DIV 00001611: DUP2 00001612: MUL 00001613: DUP3 00001614: ADD 00001615: DUP2 00001616: ADD 00001617: SWAP1 00001618: SWAP3 00001619: MSTORE 0000161a: DUP3 0000161b: DUP2 0000161c: MSTORE 0000161d: PUSH1 0x60 0000161f: SWAP4 00001620: SWAP1 00001621: SWAP3 00001622: SWAP1 00001623: SWAP2 00001624: DUP4 00001625: ADD 00001626: DUP3 00001627: DUP3 00001628: DUP1 00001629: ISZERO 0000162a: PUSH2 0x1674 0000162d: JUMPI 0000162e: DUP1 0000162f: PUSH1 0x1f 00001631: LT 00001632: PUSH2 0x1649 00001635: JUMPI 00001636: PUSH2 0x0100 00001639: DUP1 0000163a: DUP4 0000163b: SLOAD 0000163c: DIV 0000163d: MUL 0000163e: DUP4 0000163f: MSTORE 00001640: SWAP2 00001641: PUSH1 0x20 00001643: ADD 00001644: SWAP2 00001645: PUSH2 0x1674 00001648: JUMP 00001649: JUMPDEST 0000164a: DUP3 0000164b: ADD 0000164c: SWAP2 0000164d: SWAP1 0000164e: PUSH1 0x00 00001650: MSTORE 00001651: PUSH1 0x20 00001653: PUSH1 0x00 00001655: KECCAK256 00001656: SWAP1 00001657: JUMPDEST 00001658: DUP2 00001659: SLOAD 0000165a: DUP2 0000165b: MSTORE 0000165c: SWAP1 0000165d: PUSH1 0x01 0000165f: ADD 00001660: SWAP1 00001661: PUSH1 0x20 00001663: ADD 00001664: DUP1 00001665: DUP4 00001666: GT 00001667: PUSH2 0x1657 0000166a: JUMPI 0000166b: DUP3 0000166c: SWAP1 0000166d: SUB 0000166e: PUSH1 0x1f 00001670: AND 00001671: DUP3 00001672: ADD 00001673: SWAP2 00001674: JUMPDEST 00001675: POP 00001676: POP 00001677: POP 00001678: POP 00001679: POP 0000167a: SWAP1 0000167b: POP 0000167c: SWAP1 0000167d: JUMP 0000167e: JUMPDEST 0000167f: PUSH1 0x15 00001681: SLOAD 00001682: DUP2 00001683: JUMP 00001684: JUMPDEST 00001685: PUSH1 0x24 00001687: SLOAD 00001688: PUSH2 0x0100 0000168b: SWAP1 0000168c: DIV 0000168d: PUSH1 0xff 0000168f: AND 00001690: DUP2 00001691: JUMP 00001692: JUMPDEST 00001693: PUSH1 0x0c 00001695: SLOAD 00001696: DUP2 00001697: JUMP 00001698: JUMPDEST 00001699: PUSH8 0x0a688906bd8b0000 000016a2: DUP2 000016a3: JUMP 000016a4: JUMPDEST 000016a5: PUSH2 0x16ac 000016a8: PUSH2 0x1975 000016ab: JUMP 000016ac: JUMPDEST 000016ad: PUSH2 0x1717 000016b0: JUMPI 000016b1: PUSH1 0x40 000016b3: DUP1 000016b4: MLOAD 000016b5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000016d6: DUP2 000016d7: MSTORE 000016d8: PUSH1 0x20 000016da: PUSH1 0x04 000016dc: DUP3 000016dd: ADD 000016de: DUP2 000016df: SWAP1 000016e0: MSTORE 000016e1: PUSH1 0x24 000016e3: DUP3 000016e4: ADD 000016e5: MSTORE 000016e6: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001707: PUSH1 0x44 00001709: DUP3 0000170a: ADD 0000170b: MSTORE 0000170c: SWAP1 0000170d: MLOAD 0000170e: SWAP1 0000170f: DUP2 00001710: SWAP1 00001711: SUB 00001712: PUSH1 0x64 00001714: ADD 00001715: SWAP1 00001716: REVERT 00001717: JUMPDEST 00001718: PUSH1 0x00 0000171a: DUP1 0000171b: SLOAD 0000171c: PUSH1 0x40 0000171e: MLOAD 0000171f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001734: SWAP1 00001735: SWAP2 00001736: AND 00001737: SWAP1 00001738: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001759: SWAP1 0000175a: DUP4 0000175b: SWAP1 0000175c: LOG3 0000175d: PUSH1 0x00 0000175f: DUP1 00001760: SLOAD 00001761: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001782: AND 00001783: SWAP1 00001784: SSTORE 00001785: JUMP 00001786: JUMPDEST 00001787: PUSH8 0x06f05b59d3b20000 00001790: DUP2 00001791: JUMP 00001792: JUMPDEST 00001793: PUSH1 0x0e 00001795: SLOAD 00001796: DUP2 00001797: JUMP 00001798: JUMPDEST 00001799: PUSH1 0x06 0000179b: DUP2 0000179c: JUMP 0000179d: JUMPDEST 0000179e: PUSH1 0x00 000017a0: DUP2 000017a1: DUP2 000017a2: MSTORE 000017a3: PUSH1 0x1f 000017a5: PUSH1 0x20 000017a7: MSTORE 000017a8: PUSH1 0x40 000017aa: DUP2 000017ab: KECCAK256 000017ac: SLOAD 000017ad: PUSH2 0x1840 000017b0: JUMPI 000017b1: PUSH1 0x09 000017b3: SLOAD 000017b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017c9: AND 000017ca: ISZERO 000017cb: PUSH2 0x117b 000017ce: JUMPI 000017cf: PUSH1 0x09 000017d1: SLOAD 000017d2: PUSH1 0x40 000017d4: DUP1 000017d5: MLOAD 000017d6: PUSH32 0x7cd9fb1c00000000000000000000000000000000000000000000000000000000 000017f7: DUP2 000017f8: MSTORE 000017f9: PUSH1 0x04 000017fb: DUP2 000017fc: ADD 000017fd: DUP6 000017fe: SWAP1 000017ff: MSTORE 00001800: SWAP1 00001801: MLOAD 00001802: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001817: SWAP1 00001818: SWAP3 00001819: AND 0000181a: SWAP2 0000181b: PUSH4 0x7cd9fb1c 00001820: SWAP2 00001821: PUSH1 0x24 00001823: DUP1 00001824: DUP3 00001825: ADD 00001826: SWAP3 00001827: PUSH1 0x20 00001829: SWAP3 0000182a: SWAP1 0000182b: SWAP2 0000182c: SWAP1 0000182d: DUP3 0000182e: SWAP1 0000182f: SUB 00001830: ADD 00001831: DUP2 00001832: DUP7 00001833: DUP1 00001834: EXTCODESIZE 00001835: ISZERO 00001836: DUP1 00001837: ISZERO 00001838: PUSH2 0x114a 0000183b: JUMPI 0000183c: PUSH1 0x00 0000183e: DUP1 0000183f: REVERT 00001840: JUMPDEST 00001841: POP 00001842: PUSH1 0x00 00001844: SWAP1 00001845: DUP2 00001846: MSTORE 00001847: PUSH1 0x1f 00001849: PUSH1 0x20 0000184b: MSTORE 0000184c: PUSH1 0x40 0000184e: SWAP1 0000184f: KECCAK256 00001850: SLOAD 00001851: SWAP1 00001852: JUMP 00001853: JUMPDEST 00001854: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001869: DUP2 0000186a: AND 0000186b: PUSH1 0x00 0000186d: SWAP1 0000186e: DUP2 0000186f: MSTORE 00001870: PUSH1 0x19 00001872: PUSH1 0x20 00001874: MSTORE 00001875: PUSH1 0x40 00001877: DUP2 00001878: KECCAK256 00001879: SLOAD 0000187a: PUSH2 0x190e 0000187d: JUMPI 0000187e: PUSH1 0x09 00001880: SLOAD 00001881: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001896: AND 00001897: ISZERO 00001898: PUSH2 0x117b 0000189b: JUMPI 0000189c: PUSH1 0x09 0000189e: SLOAD 0000189f: PUSH1 0x40 000018a1: DUP1 000018a2: MLOAD 000018a3: PUSH32 0x821f982400000000000000000000000000000000000000000000000000000000 000018c4: DUP2 000018c5: MSTORE 000018c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018db: DUP6 000018dc: DUP2 000018dd: AND 000018de: PUSH1 0x04 000018e0: DUP4 000018e1: ADD 000018e2: MSTORE 000018e3: SWAP2 000018e4: MLOAD 000018e5: SWAP2 000018e6: SWAP1 000018e7: SWAP3 000018e8: AND 000018e9: SWAP2 000018ea: PUSH4 0x821f9824 000018ef: SWAP2 000018f0: PUSH1 0x24 000018f2: DUP1 000018f3: DUP4 000018f4: ADD 000018f5: SWAP3 000018f6: PUSH1 0x20 000018f8: SWAP3 000018f9: SWAP2 000018fa: SWAP1 000018fb: DUP3 000018fc: SWAP1 000018fd: SUB 000018fe: ADD 000018ff: DUP2 00001900: DUP7 00001901: DUP1 00001902: EXTCODESIZE 00001903: ISZERO 00001904: DUP1 00001905: ISZERO 00001906: PUSH2 0x114a 00001909: JUMPI 0000190a: PUSH1 0x00 0000190c: DUP1 0000190d: REVERT 0000190e: JUMPDEST 0000190f: POP 00001910: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001925: AND 00001926: PUSH1 0x00 00001928: SWAP1 00001929: DUP2 0000192a: MSTORE 0000192b: PUSH1 0x19 0000192d: PUSH1 0x20 0000192f: MSTORE 00001930: PUSH1 0x40 00001932: SWAP1 00001933: KECCAK256 00001934: SLOAD 00001935: SWAP1 00001936: JUMP 00001937: JUMPDEST 00001938: PUSH1 0x29 0000193a: SLOAD 0000193b: DUP2 0000193c: JUMP 0000193d: JUMPDEST 0000193e: PUSH1 0x06 00001940: SLOAD 00001941: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001956: AND 00001957: DUP2 00001958: JUMP 00001959: JUMPDEST 0000195a: PUSH1 0x00 0000195c: SLOAD 0000195d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001972: AND 00001973: SWAP1 00001974: JUMP 00001975: JUMPDEST 00001976: PUSH1 0x00 00001978: DUP1 00001979: SLOAD 0000197a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000198f: AND 00001990: PUSH2 0x1997 00001993: PUSH2 0x2544 00001996: JUMP 00001997: JUMPDEST 00001998: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019ad: AND 000019ae: EQ 000019af: SWAP1 000019b0: POP 000019b1: SWAP1 000019b2: JUMP 000019b3: JUMPDEST 000019b4: PUSH1 0x1d 000019b6: PUSH1 0x20 000019b8: MSTORE 000019b9: DUP2 000019ba: PUSH1 0x00 000019bc: MSTORE 000019bd: PUSH1 0x40 000019bf: PUSH1 0x00 000019c1: KECCAK256 000019c2: DUP2 000019c3: DUP2 000019c4: SLOAD 000019c5: DUP2 000019c6: LT 000019c7: PUSH2 0x19cc 000019ca: JUMPI 000019cb: INVALID 000019cc: JUMPDEST 000019cd: PUSH1 0x00 000019cf: SWAP2 000019d0: DUP3 000019d1: MSTORE 000019d2: PUSH1 0x20 000019d4: SWAP1 000019d5: SWAP2 000019d6: KECCAK256 000019d7: PUSH1 0x09 000019d9: SWAP1 000019da: SWAP2 000019db: MUL 000019dc: ADD 000019dd: DUP1 000019de: SLOAD 000019df: PUSH1 0x01 000019e1: DUP3 000019e2: ADD 000019e3: SLOAD 000019e4: PUSH1 0x02 000019e6: DUP4 000019e7: ADD 000019e8: SLOAD 000019e9: PUSH1 0x03 000019eb: DUP5 000019ec: ADD 000019ed: SLOAD 000019ee: PUSH1 0x04 000019f0: DUP6 000019f1: ADD 000019f2: SLOAD 000019f3: PUSH1 0x05 000019f5: DUP7 000019f6: ADD 000019f7: SLOAD 000019f8: PUSH1 0x06 000019fa: DUP8 000019fb: ADD 000019fc: SLOAD 000019fd: PUSH1 0x07 000019ff: DUP9 00001a00: ADD 00001a01: SLOAD 00001a02: PUSH1 0x08 00001a04: SWAP1 00001a05: SWAP9 00001a06: ADD 00001a07: SLOAD 00001a08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a1d: SWAP1 00001a1e: SWAP8 00001a1f: AND 00001a20: SWAP10 00001a21: POP 00001a22: SWAP5 00001a23: SWAP8 00001a24: POP 00001a25: SWAP3 00001a26: SWAP6 00001a27: SWAP2 00001a28: SWAP5 00001a29: SWAP1 00001a2a: SWAP4 00001a2b: SWAP2 00001a2c: SWAP1 00001a2d: PUSH1 0xff 00001a2f: AND 00001a30: DUP10 00001a31: JUMP 00001a32: JUMPDEST 00001a33: PUSH8 0x016345785d8a0000 00001a3c: DUP2 00001a3d: JUMP 00001a3e: JUMPDEST 00001a3f: PUSH1 0x04 00001a41: SLOAD 00001a42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a57: AND 00001a58: DUP2 00001a59: JUMP 00001a5a: JUMPDEST 00001a5b: PUSH2 0x1a62 00001a5e: PUSH2 0x24d0 00001a61: JUMP 00001a62: JUMPDEST 00001a63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a78: AND 00001a79: CALLER 00001a7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a8f: AND 00001a90: EQ 00001a91: ISZERO 00001a92: PUSH2 0x1b67 00001a95: JUMPI 00001a96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001aab: DUP2 00001aac: AND 00001aad: PUSH2 0x1b01 00001ab0: JUMPI 00001ab1: PUSH1 0x40 00001ab3: MLOAD 00001ab4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001ad5: DUP2 00001ad6: MSTORE 00001ad7: PUSH1 0x04 00001ad9: ADD 00001ada: DUP1 00001adb: DUP1 00001adc: PUSH1 0x20 00001ade: ADD 00001adf: DUP3 00001ae0: DUP2 00001ae1: SUB 00001ae2: DUP3 00001ae3: MSTORE 00001ae4: PUSH1 0x36 00001ae6: DUP2 00001ae7: MSTORE 00001ae8: PUSH1 0x20 00001aea: ADD 00001aeb: DUP1 00001aec: PUSH2 0x283f 00001aef: PUSH1 0x36 00001af1: SWAP2 00001af2: CODECOPY 00001af3: PUSH1 0x40 00001af5: ADD 00001af6: SWAP2 00001af7: POP 00001af8: POP 00001af9: PUSH1 0x40 00001afb: MLOAD 00001afc: DUP1 00001afd: SWAP2 00001afe: SUB 00001aff: SWAP1 00001b00: REVERT 00001b01: JUMPDEST 00001b02: PUSH32 0xe923ce5ee469e989477ed664be643fb92d252573aad00209ddad9452b5414a89 00001b23: PUSH2 0x1b2a 00001b26: PUSH2 0x24d0 00001b29: JUMP 00001b2a: JUMPDEST 00001b2b: PUSH1 0x40 00001b2d: DUP1 00001b2e: MLOAD 00001b2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b44: SWAP3 00001b45: DUP4 00001b46: AND 00001b47: DUP2 00001b48: MSTORE 00001b49: SWAP2 00001b4a: DUP5 00001b4b: AND 00001b4c: PUSH1 0x20 00001b4e: DUP4 00001b4f: ADD 00001b50: MSTORE 00001b51: DUP1 00001b52: MLOAD 00001b53: SWAP2 00001b54: DUP3 00001b55: SWAP1 00001b56: SUB 00001b57: ADD 00001b58: SWAP1 00001b59: LOG1 00001b5a: PUSH2 0x1b62 00001b5d: DUP2 00001b5e: PUSH2 0x2548 00001b61: JUMP 00001b62: JUMPDEST 00001b63: PUSH2 0x1b6f 00001b66: JUMP 00001b67: JUMPDEST 00001b68: PUSH2 0x1b6f 00001b6b: PUSH2 0x1059 00001b6e: JUMP 00001b6f: JUMPDEST 00001b70: POP 00001b71: JUMP 00001b72: JUMPDEST 00001b73: PUSH1 0x03 00001b75: SLOAD 00001b76: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b8b: AND 00001b8c: DUP2 00001b8d: JUMP 00001b8e: JUMPDEST 00001b8f: PUSH8 0x02c68af0bb140000 00001b98: DUP2 00001b99: JUMP 00001b9a: JUMPDEST 00001b9b: PUSH8 0x0de0b6b3a7640000 00001ba4: DUP2 00001ba5: JUMP 00001ba6: JUMPDEST 00001ba7: PUSH1 0x00 00001ba9: DUP2 00001baa: DUP2 00001bab: MSTORE 00001bac: PUSH1 0x20 00001bae: DUP1 00001baf: MSTORE 00001bb0: PUSH1 0x40 00001bb2: DUP2 00001bb3: KECCAK256 00001bb4: SLOAD 00001bb5: PUSH2 0x1c48 00001bb8: JUMPI 00001bb9: PUSH1 0x09 00001bbb: SLOAD 00001bbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bd1: AND 00001bd2: ISZERO 00001bd3: PUSH2 0x117b 00001bd6: JUMPI 00001bd7: PUSH1 0x09 00001bd9: SLOAD 00001bda: PUSH1 0x40 00001bdc: DUP1 00001bdd: MLOAD 00001bde: PUSH32 0xa940646d00000000000000000000000000000000000000000000000000000000 00001bff: DUP2 00001c00: MSTORE 00001c01: PUSH1 0x04 00001c03: DUP2 00001c04: ADD 00001c05: DUP6 00001c06: SWAP1 00001c07: MSTORE 00001c08: SWAP1 00001c09: MLOAD 00001c0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c1f: SWAP1 00001c20: SWAP3 00001c21: AND 00001c22: SWAP2 00001c23: PUSH4 0xa940646d 00001c28: SWAP2 00001c29: PUSH1 0x24 00001c2b: DUP1 00001c2c: DUP3 00001c2d: ADD 00001c2e: SWAP3 00001c2f: PUSH1 0x20 00001c31: SWAP3 00001c32: SWAP1 00001c33: SWAP2 00001c34: SWAP1 00001c35: DUP3 00001c36: SWAP1 00001c37: SUB 00001c38: ADD 00001c39: DUP2 00001c3a: DUP7 00001c3b: DUP1 00001c3c: EXTCODESIZE 00001c3d: ISZERO 00001c3e: DUP1 00001c3f: ISZERO 00001c40: PUSH2 0x114a 00001c43: JUMPI 00001c44: PUSH1 0x00 00001c46: DUP1 00001c47: REVERT 00001c48: JUMPDEST 00001c49: POP 00001c4a: PUSH1 0x00 00001c4c: SWAP1 00001c4d: DUP2 00001c4e: MSTORE 00001c4f: PUSH1 0x20 00001c51: DUP1 00001c52: MSTORE 00001c53: PUSH1 0x40 00001c55: SWAP1 00001c56: KECCAK256 00001c57: SLOAD 00001c58: SWAP1 00001c59: JUMP 00001c5a: JUMPDEST 00001c5b: PUSH1 0x30 00001c5d: PUSH1 0x20 00001c5f: SWAP1 00001c60: DUP2 00001c61: MSTORE 00001c62: PUSH1 0x00 00001c64: SWAP3 00001c65: DUP4 00001c66: MSTORE 00001c67: PUSH1 0x40 00001c69: DUP1 00001c6a: DUP5 00001c6b: KECCAK256 00001c6c: SWAP1 00001c6d: SWAP2 00001c6e: MSTORE 00001c6f: SWAP1 00001c70: DUP3 00001c71: MSTORE 00001c72: SWAP1 00001c73: KECCAK256 00001c74: SLOAD 00001c75: PUSH1 0xff 00001c77: AND 00001c78: DUP2 00001c79: JUMP 00001c7a: JUMPDEST 00001c7b: PUSH1 0x12 00001c7d: SLOAD 00001c7e: DUP2 00001c7f: JUMP 00001c80: JUMPDEST 00001c81: PUSH7 0x038d7ea4c68000 00001c89: DUP2 00001c8a: JUMP 00001c8b: JUMPDEST 00001c8c: PUSH1 0x02 00001c8e: DUP2 00001c8f: JUMP 00001c90: JUMPDEST 00001c91: PUSH1 0x2d 00001c93: SLOAD 00001c94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ca9: AND 00001caa: DUP2 00001cab: JUMP 00001cac: JUMPDEST 00001cad: PUSH1 0x00 00001caf: SLOAD 00001cb0: PUSH22 0x01000000000000000000000000000000000000000000 00001cc7: SWAP1 00001cc8: DIV 00001cc9: PUSH1 0xff 00001ccb: AND 00001ccc: DUP2 00001ccd: JUMP 00001cce: JUMPDEST 00001ccf: PUSH1 0x0b 00001cd1: SLOAD 00001cd2: DUP2 00001cd3: JUMP 00001cd4: JUMPDEST 00001cd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cea: DUP3 00001ceb: AND 00001cec: PUSH1 0x00 00001cee: SWAP1 00001cef: DUP2 00001cf0: MSTORE 00001cf1: PUSH1 0x1b 00001cf3: PUSH1 0x20 00001cf5: SWAP1 00001cf6: DUP2 00001cf7: MSTORE 00001cf8: PUSH1 0x40 00001cfa: DUP1 00001cfb: DUP4 00001cfc: KECCAK256 00001cfd: DUP5 00001cfe: DUP5 00001cff: MSTORE 00001d00: SWAP1 00001d01: SWAP2 00001d02: MSTORE 00001d03: DUP2 00001d04: KECCAK256 00001d05: SLOAD 00001d06: PUSH2 0x1da1 00001d09: JUMPI 00001d0a: PUSH1 0x09 00001d0c: SLOAD 00001d0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d22: AND 00001d23: ISZERO 00001d24: PUSH2 0x14a0 00001d27: JUMPI 00001d28: PUSH1 0x09 00001d2a: SLOAD 00001d2b: PUSH1 0x40 00001d2d: DUP1 00001d2e: MLOAD 00001d2f: PUSH32 0xbdbcb57600000000000000000000000000000000000000000000000000000000 00001d50: DUP2 00001d51: MSTORE 00001d52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d67: DUP7 00001d68: DUP2 00001d69: AND 00001d6a: PUSH1 0x04 00001d6c: DUP4 00001d6d: ADD 00001d6e: MSTORE 00001d6f: PUSH1 0x24 00001d71: DUP3 00001d72: ADD 00001d73: DUP7 00001d74: SWAP1 00001d75: MSTORE 00001d76: SWAP2 00001d77: MLOAD 00001d78: SWAP2 00001d79: SWAP1 00001d7a: SWAP3 00001d7b: AND 00001d7c: SWAP2 00001d7d: PUSH4 0xbdbcb576 00001d82: SWAP2 00001d83: PUSH1 0x44 00001d85: DUP1 00001d86: DUP4 00001d87: ADD 00001d88: SWAP3 00001d89: PUSH1 0x20 00001d8b: SWAP3 00001d8c: SWAP2 00001d8d: SWAP1 00001d8e: DUP3 00001d8f: SWAP1 00001d90: SUB 00001d91: ADD 00001d92: DUP2 00001d93: DUP7 00001d94: DUP1 00001d95: EXTCODESIZE 00001d96: ISZERO 00001d97: DUP1 00001d98: ISZERO 00001d99: PUSH2 0x146f 00001d9c: JUMPI 00001d9d: PUSH1 0x00 00001d9f: DUP1 00001da0: REVERT 00001da1: JUMPDEST 00001da2: POP 00001da3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001db8: SWAP2 00001db9: SWAP1 00001dba: SWAP2 00001dbb: AND 00001dbc: PUSH1 0x00 00001dbe: SWAP1 00001dbf: DUP2 00001dc0: MSTORE 00001dc1: PUSH1 0x1b 00001dc3: PUSH1 0x20 00001dc5: SWAP1 00001dc6: DUP2 00001dc7: MSTORE 00001dc8: PUSH1 0x40 00001dca: DUP1 00001dcb: DUP4 00001dcc: KECCAK256 00001dcd: SWAP4 00001dce: DUP4 00001dcf: MSTORE 00001dd0: SWAP3 00001dd1: SWAP1 00001dd2: MSTORE 00001dd3: KECCAK256 00001dd4: SLOAD 00001dd5: SWAP1 00001dd6: JUMP 00001dd7: JUMPDEST 00001dd8: PUSH1 0x07 00001dda: SLOAD 00001ddb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001df0: AND 00001df1: DUP2 00001df2: JUMP 00001df3: JUMPDEST 00001df4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e09: DUP3 00001e0a: AND 00001e0b: PUSH1 0x00 00001e0d: SWAP1 00001e0e: DUP2 00001e0f: MSTORE 00001e10: PUSH1 0x1a 00001e12: PUSH1 0x20 00001e14: SWAP1 00001e15: DUP2 00001e16: MSTORE 00001e17: PUSH1 0x40 00001e19: DUP1 00001e1a: DUP4 00001e1b: KECCAK256 00001e1c: DUP5 00001e1d: DUP5 00001e1e: MSTORE 00001e1f: SWAP1 00001e20: SWAP2 00001e21: MSTORE 00001e22: DUP2 00001e23: KECCAK256 00001e24: SLOAD 00001e25: PUSH1 0xff 00001e27: AND 00001e28: PUSH2 0x1ec3 00001e2b: JUMPI 00001e2c: PUSH1 0x09 00001e2e: SLOAD 00001e2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e44: AND 00001e45: ISZERO 00001e46: PUSH2 0x14a0 00001e49: JUMPI 00001e4a: PUSH1 0x09 00001e4c: SLOAD 00001e4d: PUSH1 0x40 00001e4f: DUP1 00001e50: MLOAD 00001e51: PUSH32 0xce977bc200000000000000000000000000000000000000000000000000000000 00001e72: DUP2 00001e73: MSTORE 00001e74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e89: DUP7 00001e8a: DUP2 00001e8b: AND 00001e8c: PUSH1 0x04 00001e8e: DUP4 00001e8f: ADD 00001e90: MSTORE 00001e91: PUSH1 0x24 00001e93: DUP3 00001e94: ADD 00001e95: DUP7 00001e96: SWAP1 00001e97: MSTORE 00001e98: SWAP2 00001e99: MLOAD 00001e9a: SWAP2 00001e9b: SWAP1 00001e9c: SWAP3 00001e9d: AND 00001e9e: SWAP2 00001e9f: PUSH4 0xce977bc2 00001ea4: SWAP2 00001ea5: PUSH1 0x44 00001ea7: DUP1 00001ea8: DUP4 00001ea9: ADD 00001eaa: SWAP3 00001eab: PUSH1 0x20 00001ead: SWAP3 00001eae: SWAP2 00001eaf: SWAP1 00001eb0: DUP3 00001eb1: SWAP1 00001eb2: SUB 00001eb3: ADD 00001eb4: DUP2 00001eb5: DUP7 00001eb6: DUP1 00001eb7: EXTCODESIZE 00001eb8: ISZERO 00001eb9: DUP1 00001eba: ISZERO 00001ebb: PUSH2 0x146f 00001ebe: JUMPI 00001ebf: PUSH1 0x00 00001ec1: DUP1 00001ec2: REVERT 00001ec3: JUMPDEST 00001ec4: POP 00001ec5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eda: SWAP2 00001edb: SWAP1 00001edc: SWAP2 00001edd: AND 00001ede: PUSH1 0x00 00001ee0: SWAP1 00001ee1: DUP2 00001ee2: MSTORE 00001ee3: PUSH1 0x1a 00001ee5: PUSH1 0x20 00001ee7: SWAP1 00001ee8: DUP2 00001ee9: MSTORE 00001eea: PUSH1 0x40 00001eec: DUP1 00001eed: DUP4 00001eee: KECCAK256 00001eef: SWAP4 00001ef0: DUP4 00001ef1: MSTORE 00001ef2: SWAP3 00001ef3: SWAP1 00001ef4: MSTORE 00001ef5: KECCAK256 00001ef6: SLOAD 00001ef7: PUSH1 0xff 00001ef9: AND 00001efa: SWAP1 00001efb: JUMP 00001efc: JUMPDEST 00001efd: PUSH1 0x17 00001eff: SLOAD 00001f00: DUP2 00001f01: JUMP 00001f02: JUMPDEST 00001f03: PUSH1 0x02 00001f05: SLOAD 00001f06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f1b: AND 00001f1c: DUP2 00001f1d: JUMP 00001f1e: JUMPDEST 00001f1f: PUSH1 0x0d 00001f21: SLOAD 00001f22: DUP2 00001f23: JUMP 00001f24: JUMPDEST 00001f25: PUSH1 0x10 00001f27: SLOAD 00001f28: DUP2 00001f29: JUMP 00001f2a: JUMPDEST 00001f2b: PUSH1 0x09 00001f2d: SLOAD 00001f2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f43: AND 00001f44: DUP2 00001f45: JUMP 00001f46: JUMPDEST 00001f47: PUSH1 0x01 00001f49: SLOAD 00001f4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f5f: AND 00001f60: DUP2 00001f61: JUMP 00001f62: JUMPDEST 00001f63: PUSH1 0x2f 00001f65: SLOAD 00001f66: PUSH21 0x010000000000000000000000000000000000000000 00001f7c: SWAP1 00001f7d: DIV 00001f7e: PUSH1 0xff 00001f80: AND 00001f81: DUP2 00001f82: JUMP 00001f83: JUMPDEST 00001f84: PUSH1 0x33 00001f86: SLOAD 00001f87: PUSH1 0xff 00001f89: AND 00001f8a: DUP2 00001f8b: JUMP 00001f8c: JUMPDEST 00001f8d: PUSH1 0x33 00001f8f: SLOAD 00001f90: PUSH1 0xff 00001f92: AND 00001f93: ISZERO 00001f94: PUSH2 0x1f99 00001f97: JUMPI 00001f98: INVALID 00001f99: JUMPDEST 00001f9a: PUSH1 0x40 00001f9c: DUP1 00001f9d: MLOAD 00001f9e: PUSH32 0x6f72672e7a657070656c696e6f732e70726f78792e61646d696e000000000000 00001fbf: DUP2 00001fc0: MSTORE 00001fc1: SWAP1 00001fc2: MLOAD 00001fc3: SWAP1 00001fc4: DUP2 00001fc5: SWAP1 00001fc6: SUB 00001fc7: PUSH1 0x1a 00001fc9: ADD 00001fca: SWAP1 00001fcb: KECCAK256 00001fcc: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b 00001fed: EQ 00001fee: PUSH2 0x1ff3 00001ff1: JUMPI 00001ff2: INVALID 00001ff3: JUMPDEST 00001ff4: PUSH1 0x40 00001ff6: MLOAD 00001ff7: DUP1 00001ff8: PUSH1 0x23 00001ffa: PUSH2 0x2875 00001ffd: DUP3 00001ffe: CODECOPY 00001fff: PUSH1 0x40 00002001: MLOAD 00002002: SWAP1 00002003: DUP2 00002004: SWAP1 00002005: SUB 00002006: PUSH1 0x23 00002008: ADD 00002009: SWAP1 0000200a: KECCAK256 0000200b: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3 0000202c: EQ 0000202d: SWAP1 0000202e: POP 0000202f: PUSH2 0x2034 00002032: JUMPI 00002033: INVALID 00002034: JUMPDEST 00002035: PUSH1 0x33 00002037: DUP1 00002038: SLOAD 00002039: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 0000205a: AND 0000205b: PUSH1 0x01 0000205d: OR 0000205e: SWAP1 0000205f: SSTORE 00002060: PUSH2 0x2068 00002063: DUP2 00002064: PUSH2 0x2548 00002067: JUMP 00002068: JUMPDEST 00002069: PUSH2 0x20a7 0000206c: DUP3 0000206d: PUSH1 0x40 0000206f: MLOAD 00002070: DUP1 00002071: PUSH1 0x40 00002073: ADD 00002074: PUSH1 0x40 00002076: MSTORE 00002077: DUP1 00002078: PUSH1 0x05 0000207a: DUP2 0000207b: MSTORE 0000207c: PUSH1 0x20 0000207e: ADD 0000207f: PUSH32 0x312e302e30000000000000000000000000000000000000000000000000000000 000020a0: DUP2 000020a1: MSTORE 000020a2: POP 000020a3: PUSH2 0x256c 000020a6: JUMP 000020a7: JUMPDEST 000020a8: POP 000020a9: POP 000020aa: JUMP 000020ab: JUMPDEST 000020ac: PUSH1 0x00 000020ae: DUP2 000020af: DUP2 000020b0: MSTORE 000020b1: PUSH1 0x2a 000020b3: PUSH1 0x20 000020b5: MSTORE 000020b6: PUSH1 0x40 000020b8: DUP2 000020b9: KECCAK256 000020ba: SLOAD 000020bb: PUSH2 0x214e 000020be: JUMPI 000020bf: PUSH1 0x09 000020c1: SLOAD 000020c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020d7: AND 000020d8: ISZERO 000020d9: PUSH2 0x117b 000020dc: JUMPI 000020dd: PUSH1 0x09 000020df: SLOAD 000020e0: PUSH1 0x40 000020e2: DUP1 000020e3: MLOAD 000020e4: PUSH32 0xf1a153a100000000000000000000000000000000000000000000000000000000 00002105: DUP2 00002106: MSTORE 00002107: PUSH1 0x04 00002109: DUP2 0000210a: ADD 0000210b: DUP6 0000210c: SWAP1 0000210d: MSTORE 0000210e: SWAP1 0000210f: MLOAD 00002110: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002125: SWAP1 00002126: SWAP3 00002127: AND 00002128: SWAP2 00002129: PUSH4 0xf1a153a1 0000212e: SWAP2 0000212f: PUSH1 0x24 00002131: DUP1 00002132: DUP3 00002133: ADD 00002134: SWAP3 00002135: PUSH1 0x20 00002137: SWAP3 00002138: SWAP1 00002139: SWAP2 0000213a: SWAP1 0000213b: DUP3 0000213c: SWAP1 0000213d: SUB 0000213e: ADD 0000213f: DUP2 00002140: DUP7 00002141: DUP1 00002142: EXTCODESIZE 00002143: ISZERO 00002144: DUP1 00002145: ISZERO 00002146: PUSH2 0x114a 00002149: JUMPI 0000214a: PUSH1 0x00 0000214c: DUP1 0000214d: REVERT 0000214e: JUMPDEST 0000214f: POP 00002150: PUSH1 0x00 00002152: SWAP1 00002153: DUP2 00002154: MSTORE 00002155: PUSH1 0x2a 00002157: PUSH1 0x20 00002159: MSTORE 0000215a: PUSH1 0x40 0000215c: SWAP1 0000215d: KECCAK256 0000215e: SLOAD 0000215f: SWAP1 00002160: JUMP 00002161: JUMPDEST 00002162: PUSH2 0x2169 00002165: PUSH2 0x1975 00002168: JUMP 00002169: JUMPDEST 0000216a: PUSH2 0x21d4 0000216d: JUMPI 0000216e: PUSH1 0x40 00002170: DUP1 00002171: MLOAD 00002172: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002193: DUP2 00002194: MSTORE 00002195: PUSH1 0x20 00002197: PUSH1 0x04 00002199: DUP3 0000219a: ADD 0000219b: DUP2 0000219c: SWAP1 0000219d: MSTORE 0000219e: PUSH1 0x24 000021a0: DUP3 000021a1: ADD 000021a2: MSTORE 000021a3: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 000021c4: PUSH1 0x44 000021c6: DUP3 000021c7: ADD 000021c8: MSTORE 000021c9: SWAP1 000021ca: MLOAD 000021cb: SWAP1 000021cc: DUP2 000021cd: SWAP1 000021ce: SUB 000021cf: PUSH1 0x64 000021d1: ADD 000021d2: SWAP1 000021d3: REVERT 000021d4: JUMPDEST 000021d5: PUSH2 0x1b6f 000021d8: DUP2 000021d9: PUSH2 0x2619 000021dc: JUMP 000021dd: JUMPDEST 000021de: PUSH1 0x24 000021e0: SLOAD 000021e1: PUSH1 0xff 000021e3: AND 000021e4: DUP2 000021e5: JUMP 000021e6: JUMPDEST 000021e7: PUSH2 0x21ee 000021ea: PUSH2 0x24d0 000021ed: JUMP 000021ee: JUMPDEST 000021ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002204: AND 00002205: CALLER 00002206: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000221b: AND 0000221c: EQ 0000221d: ISZERO 0000221e: PUSH2 0x22e4 00002221: JUMPI 00002222: PUSH2 0x2261 00002225: DUP6 00002226: DUP6 00002227: DUP6 00002228: DUP1 00002229: DUP1 0000222a: PUSH1 0x1f 0000222c: ADD 0000222d: PUSH1 0x20 0000222f: DUP1 00002230: SWAP2 00002231: DIV 00002232: MUL 00002233: PUSH1 0x20 00002235: ADD 00002236: PUSH1 0x40 00002238: MLOAD 00002239: SWAP1 0000223a: DUP2 0000223b: ADD 0000223c: PUSH1 0x40 0000223e: MSTORE 0000223f: DUP1 00002240: SWAP4 00002241: SWAP3 00002242: SWAP2 00002243: SWAP1 00002244: DUP2 00002245: DUP2 00002246: MSTORE 00002247: PUSH1 0x20 00002249: ADD 0000224a: DUP4 0000224b: DUP4 0000224c: DUP1 0000224d: DUP3 0000224e: DUP5 0000224f: CALLDATACOPY 00002250: PUSH1 0x00 00002252: SWAP3 00002253: ADD 00002254: SWAP2 00002255: SWAP1 00002256: SWAP2 00002257: MSTORE 00002258: POP 00002259: PUSH2 0x24f5 0000225c: SWAP3 0000225d: POP 0000225e: POP 0000225f: POP 00002260: JUMP 00002261: JUMPDEST 00002262: PUSH1 0x00 00002264: DUP6 00002265: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000227a: AND 0000227b: DUP4 0000227c: DUP4 0000227d: PUSH1 0x40 0000227f: MLOAD 00002280: DUP1 00002281: DUP4 00002282: DUP4 00002283: DUP1 00002284: DUP3 00002285: DUP5 00002286: CALLDATACOPY 00002287: PUSH1 0x40 00002289: MLOAD 0000228a: SWAP3 0000228b: ADD 0000228c: SWAP5 0000228d: POP 0000228e: PUSH1 0x00 00002290: SWAP4 00002291: POP 00002292: SWAP1 00002293: SWAP2 00002294: POP 00002295: POP 00002296: DUP1 00002297: DUP4 00002298: SUB 00002299: DUP2 0000229a: DUP6 0000229b: GAS 0000229c: DELEGATECALL 0000229d: SWAP2 0000229e: POP 0000229f: POP 000022a0: RETURNDATASIZE 000022a1: DUP1 000022a2: PUSH1 0x00 000022a4: DUP2 000022a5: EQ 000022a6: PUSH2 0x22cb 000022a9: JUMPI 000022aa: PUSH1 0x40 000022ac: MLOAD 000022ad: SWAP2 000022ae: POP 000022af: PUSH1 0x1f 000022b1: NOT 000022b2: PUSH1 0x3f 000022b4: RETURNDATASIZE 000022b5: ADD 000022b6: AND 000022b7: DUP3 000022b8: ADD 000022b9: PUSH1 0x40 000022bb: MSTORE 000022bc: RETURNDATASIZE 000022bd: DUP3 000022be: MSTORE 000022bf: RETURNDATASIZE 000022c0: PUSH1 0x00 000022c2: PUSH1 0x20 000022c4: DUP5 000022c5: ADD 000022c6: RETURNDATACOPY 000022c7: PUSH2 0x22d0 000022ca: JUMP 000022cb: JUMPDEST 000022cc: PUSH1 0x60 000022ce: SWAP2 000022cf: POP 000022d0: JUMPDEST 000022d1: POP 000022d2: POP 000022d3: SWAP1 000022d4: POP 000022d5: DUP1 000022d6: PUSH2 0x22de 000022d9: JUMPI 000022da: PUSH1 0x00 000022dc: DUP1 000022dd: REVERT 000022de: JUMPDEST 000022df: POP 000022e0: PUSH2 0x22ec 000022e3: JUMP 000022e4: JUMPDEST 000022e5: PUSH2 0x22ec 000022e8: PUSH2 0x1059 000022eb: JUMP 000022ec: JUMPDEST 000022ed: POP 000022ee: POP 000022ef: POP 000022f0: POP 000022f1: POP 000022f2: JUMP 000022f3: JUMPDEST 000022f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002309: DUP2 0000230a: AND 0000230b: PUSH1 0x00 0000230d: SWAP1 0000230e: DUP2 0000230f: MSTORE 00002310: PUSH1 0x21 00002312: PUSH1 0x20 00002314: MSTORE 00002315: PUSH1 0x40 00002317: DUP2 00002318: KECCAK256 00002319: SLOAD 0000231a: PUSH2 0x23ae 0000231d: JUMPI 0000231e: PUSH1 0x09 00002320: SLOAD 00002321: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002336: AND 00002337: ISZERO 00002338: PUSH2 0x117b 0000233b: JUMPI 0000233c: PUSH1 0x09 0000233e: SLOAD 0000233f: PUSH1 0x40 00002341: DUP1 00002342: MLOAD 00002343: PUSH32 0xfa845ca900000000000000000000000000000000000000000000000000000000 00002364: DUP2 00002365: MSTORE 00002366: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000237b: DUP6 0000237c: DUP2 0000237d: AND 0000237e: PUSH1 0x04 00002380: DUP4 00002381: ADD 00002382: MSTORE 00002383: SWAP2 00002384: MLOAD 00002385: SWAP2 00002386: SWAP1 00002387: SWAP3 00002388: AND 00002389: SWAP2 0000238a: PUSH4 0xfa845ca9 0000238f: SWAP2 00002390: PUSH1 0x24 00002392: DUP1 00002393: DUP4 00002394: ADD 00002395: SWAP3 00002396: PUSH1 0x20 00002398: SWAP3 00002399: SWAP2 0000239a: SWAP1 0000239b: DUP3 0000239c: SWAP1 0000239d: SUB 0000239e: ADD 0000239f: DUP2 000023a0: DUP7 000023a1: DUP1 000023a2: EXTCODESIZE 000023a3: ISZERO 000023a4: DUP1 000023a5: ISZERO 000023a6: PUSH2 0x114a 000023a9: JUMPI 000023aa: PUSH1 0x00 000023ac: DUP1 000023ad: REVERT 000023ae: JUMPDEST 000023af: POP 000023b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023c5: AND 000023c6: PUSH1 0x00 000023c8: SWAP1 000023c9: DUP2 000023ca: MSTORE 000023cb: PUSH1 0x21 000023cd: PUSH1 0x20 000023cf: MSTORE 000023d0: PUSH1 0x40 000023d2: SWAP1 000023d3: KECCAK256 000023d4: SLOAD 000023d5: SWAP1 000023d6: JUMP 000023d7: JUMPDEST 000023d8: PUSH1 0x08 000023da: SLOAD 000023db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023f0: AND 000023f1: DUP2 000023f2: JUMP 000023f3: JUMPDEST 000023f4: PUSH2 0x23fb 000023f7: PUSH2 0x24d0 000023fa: JUMP 000023fb: JUMPDEST 000023fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002411: AND 00002412: CALLER 00002413: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002428: AND 00002429: EQ 0000242a: ISZERO 0000242b: PUSH2 0x247f 0000242e: JUMPI 0000242f: PUSH1 0x40 00002431: MLOAD 00002432: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002453: DUP2 00002454: MSTORE 00002455: PUSH1 0x04 00002457: ADD 00002458: DUP1 00002459: DUP1 0000245a: PUSH1 0x20 0000245c: ADD 0000245d: DUP3 0000245e: DUP2 0000245f: SUB 00002460: DUP3 00002461: MSTORE 00002462: PUSH1 0x32 00002464: DUP2 00002465: MSTORE 00002466: PUSH1 0x20 00002468: ADD 00002469: DUP1 0000246a: PUSH2 0x27e7 0000246d: PUSH1 0x32 0000246f: SWAP2 00002470: CODECOPY 00002471: PUSH1 0x40 00002473: ADD 00002474: SWAP2 00002475: POP 00002476: POP 00002477: PUSH1 0x40 00002479: MLOAD 0000247a: DUP1 0000247b: SWAP2 0000247c: SUB 0000247d: SWAP1 0000247e: REVERT 0000247f: JUMPDEST 00002480: PUSH2 0x1071 00002483: PUSH2 0x1071 00002486: JUMP 00002487: JUMPDEST 00002488: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3 000024a9: SLOAD 000024aa: SWAP1 000024ab: JUMP 000024ac: JUMPDEST 000024ad: CALLDATASIZE 000024ae: PUSH1 0x00 000024b0: DUP1 000024b1: CALLDATACOPY 000024b2: PUSH1 0x00 000024b4: DUP1 000024b5: CALLDATASIZE 000024b6: PUSH1 0x00 000024b8: DUP5 000024b9: GAS 000024ba: DELEGATECALL 000024bb: RETURNDATASIZE 000024bc: PUSH1 0x00 000024be: DUP1 000024bf: RETURNDATACOPY 000024c0: DUP1 000024c1: DUP1 000024c2: ISZERO 000024c3: PUSH2 0x24cb 000024c6: JUMPI 000024c7: RETURNDATASIZE 000024c8: PUSH1 0x00 000024ca: RETURN 000024cb: JUMPDEST 000024cc: RETURNDATASIZE 000024cd: PUSH1 0x00 000024cf: REVERT 000024d0: JUMPDEST 000024d1: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b 000024f2: SLOAD 000024f3: SWAP1 000024f4: JUMP 000024f5: JUMPDEST 000024f6: PUSH2 0x24ff 000024f9: DUP3 000024fa: DUP3 000024fb: PUSH2 0x256c 000024fe: JUMP 000024ff: JUMPDEST 00002500: PUSH1 0x40 00002502: MLOAD 00002503: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002518: DUP4 00002519: AND 0000251a: SWAP1 0000251b: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 0000253c: SWAP1 0000253d: PUSH1 0x00 0000253f: SWAP1 00002540: LOG2 00002541: POP 00002542: POP 00002543: JUMP 00002544: JUMPDEST 00002545: CALLER 00002546: SWAP1 00002547: JUMP 00002548: JUMPDEST 00002549: PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b 0000256a: SSTORE 0000256b: JUMP 0000256c: JUMPDEST 0000256d: PUSH2 0x258b 00002570: DUP3 00002571: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002586: AND 00002587: PUSH2 0x2712 0000258a: JUMP 0000258b: JUMPDEST 0000258c: PUSH2 0x25e0 0000258f: JUMPI 00002590: PUSH1 0x40 00002592: MLOAD 00002593: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000025b4: DUP2 000025b5: MSTORE 000025b6: PUSH1 0x04 000025b8: ADD 000025b9: DUP1 000025ba: DUP1 000025bb: PUSH1 0x20 000025bd: ADD 000025be: DUP3 000025bf: DUP2 000025c0: SUB 000025c1: DUP3 000025c2: MSTORE 000025c3: PUSH1 0x3b 000025c5: DUP2 000025c6: MSTORE 000025c7: PUSH1 0x20 000025c9: ADD 000025ca: DUP1 000025cb: PUSH2 0x2898 000025ce: PUSH1 0x3b 000025d0: SWAP2 000025d1: CODECOPY 000025d2: PUSH1 0x40 000025d4: ADD 000025d5: SWAP2 000025d6: POP 000025d7: POP 000025d8: PUSH1 0x40 000025da: MLOAD 000025db: DUP1 000025dc: SWAP2 000025dd: SUB 000025de: SWAP1 000025df: REVERT 000025e0: JUMPDEST 000025e1: DUP1 000025e2: MLOAD 000025e3: PUSH2 0x25f3 000025e6: SWAP1 000025e7: PUSH1 0x32 000025e9: SWAP1 000025ea: PUSH1 0x20 000025ec: DUP5 000025ed: ADD 000025ee: SWAP1 000025ef: PUSH2 0x274e 000025f2: JUMP 000025f3: JUMPDEST 000025f4: POP 000025f5: POP 000025f6: PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3 00002617: SSTORE 00002618: JUMP 00002619: JUMPDEST 0000261a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000262f: DUP2 00002630: AND 00002631: PUSH2 0x2685 00002634: JUMPI 00002635: PUSH1 0x40 00002637: MLOAD 00002638: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002659: DUP2 0000265a: MSTORE 0000265b: PUSH1 0x04 0000265d: ADD 0000265e: DUP1 0000265f: DUP1 00002660: PUSH1 0x20 00002662: ADD 00002663: DUP3 00002664: DUP2 00002665: SUB 00002666: DUP3 00002667: MSTORE 00002668: PUSH1 0x26 0000266a: DUP2 0000266b: MSTORE 0000266c: PUSH1 0x20 0000266e: ADD 0000266f: DUP1 00002670: PUSH2 0x2819 00002673: PUSH1 0x26 00002675: SWAP2 00002676: CODECOPY 00002677: PUSH1 0x40 00002679: ADD 0000267a: SWAP2 0000267b: POP 0000267c: POP 0000267d: PUSH1 0x40 0000267f: MLOAD 00002680: DUP1 00002681: SWAP2 00002682: SUB 00002683: SWAP1 00002684: REVERT 00002685: JUMPDEST 00002686: PUSH1 0x00 00002688: DUP1 00002689: SLOAD 0000268a: PUSH1 0x40 0000268c: MLOAD 0000268d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026a2: DUP1 000026a3: DUP6 000026a4: AND 000026a5: SWAP4 000026a6: SWAP3 000026a7: AND 000026a8: SWAP2 000026a9: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000026ca: SWAP2 000026cb: LOG3 000026cc: PUSH1 0x00 000026ce: DUP1 000026cf: SLOAD 000026d0: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000026f1: AND 000026f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002707: SWAP3 00002708: SWAP1 00002709: SWAP3 0000270a: AND 0000270b: SWAP2 0000270c: SWAP1 0000270d: SWAP2 0000270e: OR 0000270f: SWAP1 00002710: SSTORE 00002711: JUMP 00002712: JUMPDEST 00002713: PUSH1 0x00 00002715: DUP2 00002716: EXTCODEHASH 00002717: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 00002738: DUP2 00002739: DUP2 0000273a: EQ 0000273b: DUP1 0000273c: ISZERO 0000273d: SWAP1 0000273e: PUSH2 0x2746 00002741: JUMPI 00002742: POP 00002743: DUP2 00002744: ISZERO 00002745: ISZERO 00002746: JUMPDEST 00002747: SWAP5 00002748: SWAP4 00002749: POP 0000274a: POP 0000274b: POP 0000274c: POP 0000274d: JUMP 0000274e: JUMPDEST 0000274f: DUP3 00002750: DUP1 00002751: SLOAD 00002752: PUSH1 0x01 00002754: DUP2 00002755: PUSH1 0x01 00002757: AND 00002758: ISZERO 00002759: PUSH2 0x0100 0000275c: MUL 0000275d: SUB 0000275e: AND 0000275f: PUSH1 0x02 00002761: SWAP1 00002762: DIV 00002763: SWAP1 00002764: PUSH1 0x00 00002766: MSTORE 00002767: PUSH1 0x20 00002769: PUSH1 0x00 0000276b: KECCAK256 0000276c: SWAP1 0000276d: PUSH1 0x1f 0000276f: ADD 00002770: PUSH1 0x20 00002772: SWAP1 00002773: DIV 00002774: DUP2 00002775: ADD 00002776: SWAP3 00002777: DUP3 00002778: PUSH1 0x1f 0000277a: LT 0000277b: PUSH2 0x278f 0000277e: JUMPI 0000277f: DUP1 00002780: MLOAD 00002781: PUSH1 0xff 00002783: NOT 00002784: AND 00002785: DUP4 00002786: DUP1 00002787: ADD 00002788: OR 00002789: DUP6 0000278a: SSTORE 0000278b: PUSH2 0x27bc 0000278e: JUMP 0000278f: JUMPDEST 00002790: DUP3 00002791: DUP1 00002792: ADD 00002793: PUSH1 0x01 00002795: ADD 00002796: DUP6 00002797: SSTORE 00002798: DUP3 00002799: ISZERO 0000279a: PUSH2 0x27bc 0000279d: JUMPI 0000279e: SWAP2 0000279f: DUP3 000027a0: ADD 000027a1: JUMPDEST 000027a2: DUP3 000027a3: DUP2 000027a4: GT 000027a5: ISZERO 000027a6: PUSH2 0x27bc 000027a9: JUMPI 000027aa: DUP3 000027ab: MLOAD 000027ac: DUP3 000027ad: SSTORE 000027ae: SWAP2 000027af: PUSH1 0x20 000027b1: ADD 000027b2: SWAP2 000027b3: SWAP1 000027b4: PUSH1 0x01 000027b6: ADD 000027b7: SWAP1 000027b8: PUSH2 0x27a1 000027bb: JUMP 000027bc: JUMPDEST 000027bd: POP 000027be: PUSH2 0x27c8 000027c1: SWAP3 000027c2: SWAP2 000027c3: POP 000027c4: PUSH2 0x27cc 000027c7: JUMP 000027c8: JUMPDEST 000027c9: POP 000027ca: SWAP1 000027cb: JUMP 000027cc: JUMPDEST 000027cd: PUSH2 0x11e1 000027d0: SWAP2 000027d1: SWAP1 000027d2: JUMPDEST 000027d3: DUP1 000027d4: DUP3 000027d5: GT 000027d6: ISZERO 000027d7: PUSH2 0x27c8 000027da: JUMPI 000027db: PUSH1 0x00 000027dd: DUP2 000027de: SSTORE 000027df: PUSH1 0x01 000027e1: ADD 000027e2: PUSH2 0x27d2 000027e5: JUMP 000027e6: INVALID 000027e7: NUMBER 000027e8: PUSH2 0x6e6e 000027eb: PUSH16 0x742063616c6c2066616c6c6261636b20 000027fc: PUSH7 0x756e6374696f6e 00002804: KECCAK256 00002805: PUSH7 0x726f6d20746865 0000280d: KECCAK256 0000280e: PUSH17 0x726f78792061646d696e4f776e61626c65 00002820: GASPRICE 00002821: KECCAK256 00002822: PUSH15 0x6577206f776e657220697320746865 00002832: KECCAK256 00002833: PUSH27 0x65726f206164647265737343616e6e6f74206368616e6765207468 0000284f: PUSH6 0x2061646d696e 00002856: KECCAK256 00002857: PUSH16 0x6620612070726f787920746f20746865 00002868: KECCAK256 00002869: PUSH27 0x65726f20616464726573736f72672e7a657070656c696e6f732e70 00002885: PUSH19 0x6f78792e696d706c656d656e746174696f6e43 00002899: PUSH2 0x6e6e 0000289c: PUSH16 0x742073657420612070726f787920696d 000028ad: PUSH17 0x6c656d656e746174696f6e20746f206120 000028bf: PUSH15 0x6f6e2d636f6e747261637420616464 000028cf: PUSH19 0x657373a265627a7a72315820e4f5010f5a4e8c 000028e3: CALL 000028e4: UNKNOWN(0x2B) 000028e5: MSTORE8 000028e6: EXP 000028e7: UNKNOWN(0x2E) 000028e8: UNKNOWN(0x0D) 000028e9: UNKNOWN(0xD4) 000028ea: RETURNDATASIZE 000028eb: UNKNOWN(0xB8) 000028ec: SWAP5 000028ed: DUP11 000028ee: DUP7 000028ef: EQ 000028f0: UNKNOWN(0xE1) 000028f1: UNKNOWN(0x4D) 000028f2: UNKNOWN(0xB6) 000028f3: PUSH12 0xe28216f8fbc8c8e164736f6c 00002900: PUSH4 0x43000511 00002905: STOP 00002906: ORIGIN
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf99eec8d",
"selector": "0xf99eec8d",
"calldata_variants": [
"0xf99eec8d",
"0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa845ca9",
"selector": "0xfa845ca9",
"calldata_variants": [
"0xfa845ca9",
"0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbf35f46",
"selector": "0xfbf35f46",
"calldata_variants": [
"0xfbf35f46",
"0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6558b00",
"selector": "0xf6558b00",
"calldata_variants": [
"0xf6558b00",
"0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8df077d",
"selector": "0xe8df077d",
"calldata_variants": [
"0xe8df077d",
"0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf09a4016",
"selector": "0xf09a4016",
"calldata_variants": [
"0xf09a4016",
"0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1a153a1",
"selector": "0xf1a153a1",
"calldata_variants": [
"0xf1a153a1",
"0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 4735,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6777,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 8709,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 9234,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10502,
"type": "tx_origin_used"
}
]
}
|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x8a1c2b10b3f909264072e127bc8d6321b938b7dd93dac04d741af03a68b772c8
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x8a1c2b10b3f909264072e127bc8d6321b938b7dd93dac04d741af03a68b772c8",
"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": "0xf99eec8d",
"selector": "0xf99eec8d",
"calldata_variants": [
"0xf99eec8d",
"0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa845ca9",
"selector": "0xfa845ca9",
"calldata_variants": [
"0xfa845ca9",
"0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbf35f46",
"selector": "0xfbf35f46",
"calldata_variants": [
"0xfbf35f46",
"0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6558b00",
"selector": "0xf6558b00",
"calldata_variants": [
"0xf6558b00",
"0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8df077d",
"selector": "0xe8df077d",
"calldata_variants": [
"0xe8df077d",
"0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf09a4016",
"selector": "0xf09a4016",
"calldata_variants": [
"0xf09a4016",
"0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1a153a1",
"selector": "0xf1a153a1",
"calldata_variants": [
"0xf1a153a1",
"0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 8860,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 9402,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 4735,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6777,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 8709,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 9234,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10502,
"type": "tx_origin_used"
}
],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb
call_targets:
0xa1dff47e3e9c4a18d341e386c6707a18686fb834
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa1dff47e3e9c4a18d341e386c6707a18686fb834"
],
"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": "0xf99eec8d",
"selector": "0xf99eec8d",
"calldata_variants": [
"0xf99eec8d",
"0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa845ca9",
"selector": "0xfa845ca9",
"calldata_variants": [
"0xfa845ca9",
"0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbf35f46",
"selector": "0xfbf35f46",
"calldata_variants": [
"0xfbf35f46",
"0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6558b00",
"selector": "0xf6558b00",
"calldata_variants": [
"0xf6558b00",
"0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8df077d",
"selector": "0xe8df077d",
"calldata_variants": [
"0xe8df077d",
"0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf09a4016",
"selector": "0xf09a4016",
"calldata_variants": [
"0xf09a4016",
"0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1a153a1",
"selector": "0xf1a153a1",
"calldata_variants": [
"0xf1a153a1",
"0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 10467,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant",
"target_expression_category": "constant"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 4735,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6777,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 8709,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 9234,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10502,
"type": "tx_origin_used"
}
]
}
|
| medium | auth | codex | Authorization uses tx.origin (phishable) | 75 | no | — |
viewevidence_json{
"evidence": "Detector flagged a tx.origin-based guard at pc 10502 (\"tx_origin_used\"). Validation did not map a specific sink, so this is heuristic.",
"locations": [
"pc:0x2906"
],
"recommendation": "Replace tx.origin checks with msg.sender-based authorization or explicit signature verification (EIP-712). If a whitelist is intended, store and check msg.sender in storage.",
"exploit_scenario": "If a privileged path relies on tx.origin, an attacker can deploy a malicious contract that tricks the privileged EOA into calling it; the malicious contract then calls this contract, bypassing the intended check because tx.origin remains the victim EOA. Bytecode-only: exact sink not confirmed."
}
|
| medium | upgradeability | codex | DELEGATECALL to computed target without confirmed access control | 75 | no | — |
viewevidence_json{
"evidence": "Detector reports 2 DELEGATECALL sites with computed targets at pc 8860 and pc 9402; untrusted_delegatecall_count=2; returndata checks not shown.",
"locations": [
"pc:0x229c",
"pc:0x24ba"
],
"recommendation": "Verify that implementation/target storage slots are only modifiable by a trusted admin and that upgrades validate code size. Consider emitting upgrade events and using standardized EIP-1967/UUPS controls.",
"exploit_scenario": "Two DELEGATECALL sites use computed targets. If an attacker can influence the target address (e.g., via an unprotected upgrade/admin setter or writable storage slot), they can execute arbitrary code in the contract\u2019s storage context and seize control. Bytecode-only: access control around target-setting is unknown."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| low | reentrancy | codex | External CALL with nonzero value to a constant target (likely self) | 65 | no | — |
viewevidence_json{
"evidence": "Detector shows a CALL at pc 10467 with constant target 0xa1dff47e3e9c4a18d341e386c6707a18686fb834 and constant nonzero value; returndata checks unknown.",
"locations": [
"pc:0x28e3"
],
"recommendation": "Audit the surrounding control flow for state changes before the value transfer; if state is mutated first, add reentrancy guards or move state updates after external calls.",
"exploit_scenario": "A CALL with nonzero ETH value to the contract\u2019s own address can re-enter via the fallback/receive path. If state updates occur before this CALL, reentrancy may be possible. Bytecode-only: call context and ordering are unknown."
}
|
| low | other | detector | External CALL present | 40 | no | no |
viewtrace_id: 0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb
call_targets:
0xa1dff47e3e9c4a18d341e386c6707a18686fb834
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x090aa627778d6c287acc5141d4b9c401fb20a33179fcaa2b3702e80b2a545eeb",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa1dff47e3e9c4a18d341e386c6707a18686fb834"
],
"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": "0xf99eec8d",
"selector": "0xf99eec8d",
"calldata_variants": [
"0xf99eec8d",
"0xf99eec8d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa845ca9",
"selector": "0xfa845ca9",
"calldata_variants": [
"0xfa845ca9",
"0xfa845ca90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfbf35f46",
"selector": "0xfbf35f46",
"calldata_variants": [
"0xfbf35f46",
"0xfbf35f460000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6558b00",
"selector": "0xf6558b00",
"calldata_variants": [
"0xf6558b00",
"0xf6558b000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe8df077d",
"selector": "0xe8df077d",
"calldata_variants": [
"0xe8df077d",
"0xe8df077d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf09a4016",
"selector": "0xf09a4016",
"calldata_variants": [
"0xf09a4016",
"0xf09a40160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf1a153a1",
"selector": "0xf1a153a1",
"calldata_variants": [
"0xf1a153a1",
"0xf1a153a10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"call_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": 11
}
|