f2ad6f91-fc56-4ace-b11b-ad00e84a43c0
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 |
|---|---|---|---|---|
| 31378 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 111266 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 111267 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 111268 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 111269 | capability.graph | complete | 1 / 3 | 1 week ago |
| 111270 | detector.run | complete | 1 / 3 | 1 week ago |
| 111271 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:344236] OpenAI Codex v0.77.0 (research preview)
[codex:344236] --------
[codex:344236] workdir: /tmp/codex-multi-xyoi1qny
[codex:344236] model: gpt-5.2-codex
[codex:344236] provider: openai
[codex:344236] approval: never
[codex:344236] sandbox: read-only
[codex:344236] reasoning effort: xhigh
[codex:344236] reasoning summaries: auto
[codex:344236] session id: 019b80f5-9022-7172-8061-548793fa4950
[codex:344236] --------
[codex:344236] user
[codex:344236] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:344236]
[codex:344236] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:344236]
[codex:344236] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:344236] - Gas inefficiency, code quality, naming, or best practices
[codex:344236] - Theoretical vulnerabilities without a clear extraction path
[codex:344236] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:344236] - Front-running unless it enables theft beyond MEV
[codex:344236] - DoS, griefing, or issues that don't result in attacker profit
[codex:344236] - Missing events, view function issues, or informational findings
[codex:344236]
[codex:344236] HIGH-VALUE PATTERNS TO HUNT:
[codex:344236] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:344236] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:344236] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:344236] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:344236] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:344236] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:344236] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:344236] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:344236] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:344236]
[codex:344236] For each finding, you MUST provide:
[codex:344236] 1. Exact file and line numbers of vulnerable code
[codex:344236] 2. Step-by-step exploit transaction sequence
[codex:344236] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:344236]
[codex:344236] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:344236]
[codex:344236] Output MUST be valid JSON matching the provided schema.
[codex:344236] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:344236] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:344236] mcp startup: no servers
[codex:344236]
[codex:344236] thinking
[codex:344236] **Searching for bundle files**
[codex:344236] exec
[codex:344236] /bin/bash -lc ls in /tmp/codex-multi-xyoi1qny succeeded in 6ms:
[codex:344236] AUDIT_BUNDLE.txt
[codex:344236] codex-output-schema.json
[codex:344236] contracts
[codex:344236]
[codex:344236] thinking
[codex:344236] **Reading AUDIT_BUNDLE**
[codex:344236] exec
[codex:344236] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-xyoi1qny succeeded in 5ms:
[codex:344236] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:344236]
[codex:344236] ================================================================================
[codex:344236] FILE: contracts/Contract.sol
[codex:344236] ================================================================================
[codex:344236] pragma solidity ^0.5.2;
[codex:344236]
[codex:344236]
[codex:344236]
[codex:344236] interface IERC165 {
[codex:344236] /**
[codex:344236] * @notice Query if a contract implements an interface
[codex:344236] * @param interfaceId The interface identifier, as specified in ERC-165
[codex:344236] * @dev Interface identification is specified in ERC-165. This function
[codex:344236] * uses less than 30,000 gas.
[codex:344236] */
[codex:344236] function supportsInterface(bytes4 interfaceId) external view returns (bool);
[codex:344236] }
[codex:344236]
[codex:344236] contract ERC165 is IERC165 {
[codex:344236]
[codex:344236] thinking
[codex:344236] **Analyzing ERC721 contract for vulnerabilities**
[codex:344236] codex
[codex:344236] {"no_findings":true,"summary":"No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.","findings":[]}
[codex:344236] tokens used
[codex:344236] 18,875
[codex:344236] {"no_findings":true,"summary":"No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T23:05:47.962265+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.",
"raw_final": {
"summary": "No concrete, exploitable path to extract ETH/tokens/NFTs found in the provided sources.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01d4 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: DUP1 00000031: PUSH4 0x8da5cb5b 00000036: GT 00000037: PUSH2 0x0109 0000003a: JUMPI 0000003b: DUP1 0000003c: PUSH4 0xbf4abd3f 00000041: GT 00000042: PUSH2 0x00a7 00000045: JUMPI 00000046: DUP1 00000047: PUSH4 0xd547cfb7 0000004c: GT 0000004d: PUSH2 0x0081 00000050: JUMPI 00000051: DUP1 00000052: PUSH4 0xd547cfb7 00000057: EQ 00000058: PUSH2 0x0db4 0000005b: JUMPI 0000005c: DUP1 0000005d: PUSH4 0xe40e97a7 00000062: EQ 00000063: PUSH2 0x0e44 00000066: JUMPI 00000067: DUP1 00000068: PUSH4 0xe985e9c5 0000006d: EQ 0000006e: PUSH2 0x0f0c 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0xf2fde38b 00000078: EQ 00000079: PUSH2 0x0f95 0000007c: JUMPI 0000007d: PUSH2 0x01d4 00000080: JUMP 00000081: JUMPDEST 00000082: DUP1 00000083: PUSH4 0xbf4abd3f 00000088: EQ 00000089: PUSH2 0x0c0b 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0xc21ab7f9 00000093: EQ 00000094: PUSH2 0x0c36 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0xc87b56dd 0000009e: EQ 0000009f: PUSH2 0x0d00 000000a2: JUMPI 000000a3: PUSH2 0x01d4 000000a6: JUMP 000000a7: JUMPDEST 000000a8: DUP1 000000a9: PUSH4 0xa035b1fe 000000ae: GT 000000af: PUSH2 0x00e3 000000b2: JUMPI 000000b3: DUP1 000000b4: PUSH4 0xa035b1fe 000000b9: EQ 000000ba: PUSH2 0x0a42 000000bd: JUMPI 000000be: DUP1 000000bf: PUSH4 0xa22cb465 000000c4: EQ 000000c5: PUSH2 0x0a6d 000000c8: JUMPI 000000c9: DUP1 000000ca: PUSH4 0xaf9fefbf 000000cf: EQ 000000d0: PUSH2 0x0aca 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0xb88d4fde 000000da: EQ 000000db: PUSH2 0x0af9 000000de: JUMPI 000000df: PUSH2 0x01d4 000000e2: JUMP 000000e3: JUMPDEST 000000e4: DUP1 000000e5: PUSH4 0x8da5cb5b 000000ea: EQ 000000eb: PUSH2 0x092c 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0x8f32d59b 000000f5: EQ 000000f6: PUSH2 0x0983 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x95d89b41 00000100: EQ 00000101: PUSH2 0x09b2 00000104: JUMPI 00000105: PUSH2 0x01d4 00000108: JUMP 00000109: JUMPDEST 0000010a: DUP1 0000010b: PUSH4 0x2f745c59 00000110: GT 00000111: PUSH2 0x0176 00000114: JUMPI 00000115: DUP1 00000116: PUSH4 0x4f6ccce7 0000011b: GT 0000011c: PUSH2 0x0150 0000011f: JUMPI 00000120: DUP1 00000121: PUSH4 0x4f6ccce7 00000126: EQ 00000127: PUSH2 0x07e6 0000012a: JUMPI 0000012b: DUP1 0000012c: PUSH4 0x6352211e 00000131: EQ 00000132: PUSH2 0x0835 00000135: JUMPI 00000136: DUP1 00000137: PUSH4 0x70a08231 0000013c: EQ 0000013d: PUSH2 0x08b0 00000140: JUMPI 00000141: DUP1 00000142: PUSH4 0x715018a6 00000147: EQ 00000148: PUSH2 0x0915 0000014b: JUMPI 0000014c: PUSH2 0x01d4 0000014f: JUMP 00000150: JUMPDEST 00000151: DUP1 00000152: PUSH4 0x2f745c59 00000157: EQ 00000158: PUSH2 0x066c 0000015b: JUMPI 0000015c: DUP1 0000015d: PUSH4 0x370158ea 00000162: EQ 00000163: PUSH2 0x06db 00000166: JUMPI 00000167: DUP1 00000168: PUSH4 0x42842e0e 0000016d: EQ 0000016e: PUSH2 0x076b 00000171: JUMPI 00000172: PUSH2 0x01d4 00000175: JUMP 00000176: JUMPDEST 00000177: DUP1 00000178: PUSH4 0x095ea7b3 0000017d: GT 0000017e: PUSH2 0x01b2 00000181: JUMPI 00000182: DUP1 00000183: PUSH4 0x095ea7b3 00000188: EQ 00000189: PUSH2 0x04a3 0000018c: JUMPI 0000018d: DUP1 0000018e: PUSH4 0x18160ddd 00000193: EQ 00000194: PUSH2 0x04fe 00000197: JUMPI 00000198: DUP1 00000199: PUSH4 0x19465953 0000019e: EQ 0000019f: PUSH2 0x0529 000001a2: JUMPI 000001a3: DUP1 000001a4: PUSH4 0x23b872dd 000001a9: EQ 000001aa: PUSH2 0x05f1 000001ad: JUMPI 000001ae: PUSH2 0x01d4 000001b1: JUMP 000001b2: JUMPDEST 000001b3: DUP1 000001b4: PUSH4 0x01ffc9a7 000001b9: EQ 000001ba: PUSH2 0x0326 000001bd: JUMPI 000001be: DUP1 000001bf: PUSH4 0x06fdde03 000001c4: EQ 000001c5: PUSH2 0x0398 000001c8: JUMPI 000001c9: DUP1 000001ca: PUSH4 0x081812fc 000001cf: EQ 000001d0: PUSH2 0x0428 000001d3: JUMPI 000001d4: JUMPDEST 000001d5: PUSH1 0x0e 000001d7: SLOAD 000001d8: DUP1 000001d9: CALLVALUE 000001da: LT 000001db: ISZERO 000001dc: ISZERO 000001dd: PUSH2 0x0323 000001e0: JUMPI 000001e1: PUSH20 0x4257d02e2854c9c86d6975fcd14a1af4fa65a652 000001f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000020b: AND 0000020c: PUSH2 0x08fc 0000020f: PUSH1 0x02 00000211: CALLVALUE 00000212: DUP2 00000213: ISZERO 00000214: ISZERO 00000215: PUSH2 0x021a 00000218: JUMPI 00000219: INVALID 0000021a: JUMPDEST 0000021b: DIV 0000021c: SWAP1 0000021d: DUP2 0000021e: ISZERO 0000021f: MUL 00000220: SWAP1 00000221: PUSH1 0x40 00000223: MLOAD 00000224: PUSH1 0x00 00000226: PUSH1 0x40 00000228: MLOAD 00000229: DUP1 0000022a: DUP4 0000022b: SUB 0000022c: DUP2 0000022d: DUP6 0000022e: DUP9 0000022f: DUP9 00000230: CALL 00000231: SWAP4 00000232: POP 00000233: POP 00000234: POP 00000235: POP 00000236: ISZERO 00000237: DUP1 00000238: ISZERO 00000239: PUSH2 0x0246 0000023c: JUMPI 0000023d: RETURNDATASIZE 0000023e: PUSH1 0x00 00000240: DUP1 00000241: RETURNDATACOPY 00000242: RETURNDATASIZE 00000243: PUSH1 0x00 00000245: REVERT 00000246: JUMPDEST 00000247: POP 00000248: PUSH20 0x2ea533314069dc9b4df29e72bd1dfb64cc68456d 0000025d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000272: AND 00000273: PUSH2 0x08fc 00000276: PUSH1 0x02 00000278: CALLVALUE 00000279: DUP2 0000027a: ISZERO 0000027b: ISZERO 0000027c: PUSH2 0x0281 0000027f: JUMPI 00000280: INVALID 00000281: JUMPDEST 00000282: DIV 00000283: SWAP1 00000284: DUP2 00000285: ISZERO 00000286: MUL 00000287: SWAP1 00000288: PUSH1 0x40 0000028a: MLOAD 0000028b: PUSH1 0x00 0000028d: PUSH1 0x40 0000028f: MLOAD 00000290: DUP1 00000291: DUP4 00000292: SUB 00000293: DUP2 00000294: DUP6 00000295: DUP9 00000296: DUP9 00000297: CALL 00000298: SWAP4 00000299: POP 0000029a: POP 0000029b: POP 0000029c: POP 0000029d: ISZERO 0000029e: DUP1 0000029f: ISZERO 000002a0: PUSH2 0x02ad 000002a3: JUMPI 000002a4: RETURNDATASIZE 000002a5: PUSH1 0x00 000002a7: DUP1 000002a8: RETURNDATACOPY 000002a9: RETURNDATASIZE 000002aa: PUSH1 0x00 000002ac: REVERT 000002ad: JUMPDEST 000002ae: POP 000002af: PUSH32 0x6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be770 000002d0: CALLER 000002d1: CALLVALUE 000002d2: PUSH1 0x40 000002d4: MLOAD 000002d5: DUP1 000002d6: DUP4 000002d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002ec: AND 000002ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000302: AND 00000303: DUP2 00000304: MSTORE 00000305: PUSH1 0x20 00000307: ADD 00000308: DUP3 00000309: DUP2 0000030a: MSTORE 0000030b: PUSH1 0x20 0000030d: ADD 0000030e: SWAP3 0000030f: POP 00000310: POP 00000311: POP 00000312: PUSH1 0x40 00000314: MLOAD 00000315: DUP1 00000316: SWAP2 00000317: SUB 00000318: SWAP1 00000319: LOG1 0000031a: PUSH2 0x0322 0000031d: CALLER 0000031e: PUSH2 0x0fe6 00000321: JUMP 00000322: JUMPDEST 00000323: JUMPDEST 00000324: POP 00000325: STOP 00000326: JUMPDEST 00000327: CALLVALUE 00000328: DUP1 00000329: ISZERO 0000032a: PUSH2 0x0332 0000032d: JUMPI 0000032e: PUSH1 0x00 00000330: DUP1 00000331: REVERT 00000332: JUMPDEST 00000333: POP 00000334: PUSH2 0x037e 00000337: PUSH1 0x04 00000339: DUP1 0000033a: CALLDATASIZE 0000033b: SUB 0000033c: PUSH1 0x20 0000033e: DUP2 0000033f: LT 00000340: ISZERO 00000341: PUSH2 0x0349 00000344: JUMPI 00000345: PUSH1 0x00 00000347: DUP1 00000348: REVERT 00000349: JUMPDEST 0000034a: DUP2 0000034b: ADD 0000034c: SWAP1 0000034d: DUP1 0000034e: DUP1 0000034f: CALLDATALOAD 00000350: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000036d: NOT 0000036e: AND 0000036f: SWAP1 00000370: PUSH1 0x20 00000372: ADD 00000373: SWAP1 00000374: SWAP3 00000375: SWAP2 00000376: SWAP1 00000377: POP 00000378: POP 00000379: POP 0000037a: PUSH2 0x10a9 0000037d: JUMP 0000037e: JUMPDEST 0000037f: PUSH1 0x40 00000381: MLOAD 00000382: DUP1 00000383: DUP3 00000384: ISZERO 00000385: ISZERO 00000386: ISZERO 00000387: ISZERO 00000388: DUP2 00000389: MSTORE 0000038a: PUSH1 0x20 0000038c: ADD 0000038d: SWAP2 0000038e: POP 0000038f: POP 00000390: PUSH1 0x40 00000392: MLOAD 00000393: DUP1 00000394: SWAP2 00000395: SUB 00000396: SWAP1 00000397: RETURN 00000398: JUMPDEST 00000399: CALLVALUE 0000039a: DUP1 0000039b: ISZERO 0000039c: PUSH2 0x03a4 0000039f: JUMPI 000003a0: PUSH1 0x00 000003a2: DUP1 000003a3: REVERT 000003a4: JUMPDEST 000003a5: POP 000003a6: PUSH2 0x03ad 000003a9: PUSH2 0x1110 000003ac: JUMP 000003ad: JUMPDEST 000003ae: PUSH1 0x40 000003b0: MLOAD 000003b1: DUP1 000003b2: DUP1 000003b3: PUSH1 0x20 000003b5: ADD 000003b6: DUP3 000003b7: DUP2 000003b8: SUB 000003b9: DUP3 000003ba: MSTORE 000003bb: DUP4 000003bc: DUP2 000003bd: DUP2 000003be: MLOAD 000003bf: DUP2 000003c0: MSTORE 000003c1: PUSH1 0x20 000003c3: ADD 000003c4: SWAP2 000003c5: POP 000003c6: DUP1 000003c7: MLOAD 000003c8: SWAP1 000003c9: PUSH1 0x20 000003cb: ADD 000003cc: SWAP1 000003cd: DUP1 000003ce: DUP4 000003cf: DUP4 000003d0: PUSH1 0x00 000003d2: JUMPDEST 000003d3: DUP4 000003d4: DUP2 000003d5: LT 000003d6: ISZERO 000003d7: PUSH2 0x03ed 000003da: JUMPI 000003db: DUP1 000003dc: DUP3 000003dd: ADD 000003de: MLOAD 000003df: DUP2 000003e0: DUP5 000003e1: ADD 000003e2: MSTORE 000003e3: PUSH1 0x20 000003e5: DUP2 000003e6: ADD 000003e7: SWAP1 000003e8: POP 000003e9: PUSH2 0x03d2 000003ec: JUMP 000003ed: JUMPDEST 000003ee: POP 000003ef: POP 000003f0: POP 000003f1: POP 000003f2: SWAP1 000003f3: POP 000003f4: SWAP1 000003f5: DUP2 000003f6: ADD 000003f7: SWAP1 000003f8: PUSH1 0x1f 000003fa: AND 000003fb: DUP1 000003fc: ISZERO 000003fd: PUSH2 0x041a 00000400: JUMPI 00000401: DUP1 00000402: DUP3 00000403: SUB 00000404: DUP1 00000405: MLOAD 00000406: PUSH1 0x01 00000408: DUP4 00000409: PUSH1 0x20 0000040b: SUB 0000040c: PUSH2 0x0100 0000040f: EXP 00000410: SUB 00000411: NOT 00000412: AND 00000413: DUP2 00000414: MSTORE 00000415: PUSH1 0x20 00000417: ADD 00000418: SWAP2 00000419: POP 0000041a: JUMPDEST 0000041b: POP 0000041c: SWAP3 0000041d: POP 0000041e: POP 0000041f: POP 00000420: PUSH1 0x40 00000422: MLOAD 00000423: DUP1 00000424: SWAP2 00000425: SUB 00000426: SWAP1 00000427: RETURN 00000428: JUMPDEST 00000429: CALLVALUE 0000042a: DUP1 0000042b: ISZERO 0000042c: PUSH2 0x0434 0000042f: JUMPI 00000430: PUSH1 0x00 00000432: DUP1 00000433: REVERT 00000434: JUMPDEST 00000435: POP 00000436: PUSH2 0x0461 00000439: PUSH1 0x04 0000043b: DUP1 0000043c: CALLDATASIZE 0000043d: SUB 0000043e: PUSH1 0x20 00000440: DUP2 00000441: LT 00000442: ISZERO 00000443: PUSH2 0x044b 00000446: JUMPI 00000447: PUSH1 0x00 00000449: DUP1 0000044a: REVERT 0000044b: JUMPDEST 0000044c: DUP2 0000044d: ADD 0000044e: SWAP1 0000044f: DUP1 00000450: DUP1 00000451: CALLDATALOAD 00000452: SWAP1 00000453: PUSH1 0x20 00000455: ADD 00000456: SWAP1 00000457: SWAP3 00000458: SWAP2 00000459: SWAP1 0000045a: POP 0000045b: POP 0000045c: POP 0000045d: PUSH2 0x11b2 00000460: JUMP 00000461: JUMPDEST 00000462: PUSH1 0x40 00000464: MLOAD 00000465: DUP1 00000466: DUP3 00000467: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000047c: AND 0000047d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000492: AND 00000493: DUP2 00000494: MSTORE 00000495: PUSH1 0x20 00000497: ADD 00000498: SWAP2 00000499: POP 0000049a: POP 0000049b: PUSH1 0x40 0000049d: MLOAD 0000049e: DUP1 0000049f: SWAP2 000004a0: SUB 000004a1: SWAP1 000004a2: RETURN 000004a3: JUMPDEST 000004a4: CALLVALUE 000004a5: DUP1 000004a6: ISZERO 000004a7: PUSH2 0x04af 000004aa: JUMPI 000004ab: PUSH1 0x00 000004ad: DUP1 000004ae: REVERT 000004af: JUMPDEST 000004b0: POP 000004b1: PUSH2 0x04fc 000004b4: PUSH1 0x04 000004b6: DUP1 000004b7: CALLDATASIZE 000004b8: SUB 000004b9: PUSH1 0x40 000004bb: DUP2 000004bc: LT 000004bd: ISZERO 000004be: PUSH2 0x04c6 000004c1: JUMPI 000004c2: PUSH1 0x00 000004c4: DUP1 000004c5: REVERT 000004c6: JUMPDEST 000004c7: DUP2 000004c8: ADD 000004c9: SWAP1 000004ca: DUP1 000004cb: DUP1 000004cc: CALLDATALOAD 000004cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004e2: AND 000004e3: SWAP1 000004e4: PUSH1 0x20 000004e6: ADD 000004e7: SWAP1 000004e8: SWAP3 000004e9: SWAP2 000004ea: SWAP1 000004eb: DUP1 000004ec: CALLDATALOAD 000004ed: SWAP1 000004ee: PUSH1 0x20 000004f0: ADD 000004f1: SWAP1 000004f2: SWAP3 000004f3: SWAP2 000004f4: SWAP1 000004f5: POP 000004f6: POP 000004f7: POP 000004f8: PUSH2 0x1203 000004fb: JUMP 000004fc: JUMPDEST 000004fd: STOP 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 0x0513 0000050f: PUSH2 0x1348 00000512: JUMP 00000513: JUMPDEST 00000514: PUSH1 0x40 00000516: MLOAD 00000517: DUP1 00000518: DUP3 00000519: DUP2 0000051a: MSTORE 0000051b: PUSH1 0x20 0000051d: ADD 0000051e: SWAP2 0000051f: POP 00000520: POP 00000521: PUSH1 0x40 00000523: MLOAD 00000524: DUP1 00000525: SWAP2 00000526: SUB 00000527: SWAP1 00000528: RETURN 00000529: JUMPDEST 0000052a: CALLVALUE 0000052b: DUP1 0000052c: ISZERO 0000052d: PUSH2 0x0535 00000530: JUMPI 00000531: PUSH1 0x00 00000533: DUP1 00000534: REVERT 00000535: JUMPDEST 00000536: POP 00000537: PUSH2 0x05ef 0000053a: PUSH1 0x04 0000053c: DUP1 0000053d: CALLDATASIZE 0000053e: SUB 0000053f: PUSH1 0x20 00000541: DUP2 00000542: LT 00000543: ISZERO 00000544: PUSH2 0x054c 00000547: JUMPI 00000548: PUSH1 0x00 0000054a: DUP1 0000054b: REVERT 0000054c: JUMPDEST 0000054d: DUP2 0000054e: ADD 0000054f: SWAP1 00000550: DUP1 00000551: DUP1 00000552: CALLDATALOAD 00000553: SWAP1 00000554: PUSH1 0x20 00000556: ADD 00000557: SWAP1 00000558: PUSH5 0x0100000000 0000055e: DUP2 0000055f: GT 00000560: ISZERO 00000561: PUSH2 0x0569 00000564: JUMPI 00000565: PUSH1 0x00 00000567: DUP1 00000568: REVERT 00000569: JUMPDEST 0000056a: DUP3 0000056b: ADD 0000056c: DUP4 0000056d: PUSH1 0x20 0000056f: DUP3 00000570: ADD 00000571: GT 00000572: ISZERO 00000573: PUSH2 0x057b 00000576: JUMPI 00000577: PUSH1 0x00 00000579: DUP1 0000057a: REVERT 0000057b: JUMPDEST 0000057c: DUP1 0000057d: CALLDATALOAD 0000057e: SWAP1 0000057f: PUSH1 0x20 00000581: ADD 00000582: SWAP2 00000583: DUP5 00000584: PUSH1 0x01 00000586: DUP4 00000587: MUL 00000588: DUP5 00000589: ADD 0000058a: GT 0000058b: PUSH5 0x0100000000 00000591: DUP4 00000592: GT 00000593: OR 00000594: ISZERO 00000595: PUSH2 0x059d 00000598: JUMPI 00000599: PUSH1 0x00 0000059b: DUP1 0000059c: REVERT 0000059d: JUMPDEST 0000059e: SWAP2 0000059f: SWAP1 000005a0: DUP1 000005a1: DUP1 000005a2: PUSH1 0x1f 000005a4: ADD 000005a5: PUSH1 0x20 000005a7: DUP1 000005a8: SWAP2 000005a9: DIV 000005aa: MUL 000005ab: PUSH1 0x20 000005ad: ADD 000005ae: PUSH1 0x40 000005b0: MLOAD 000005b1: SWAP1 000005b2: DUP2 000005b3: ADD 000005b4: PUSH1 0x40 000005b6: MSTORE 000005b7: DUP1 000005b8: SWAP4 000005b9: SWAP3 000005ba: SWAP2 000005bb: SWAP1 000005bc: DUP2 000005bd: DUP2 000005be: MSTORE 000005bf: PUSH1 0x20 000005c1: ADD 000005c2: DUP4 000005c3: DUP4 000005c4: DUP1 000005c5: DUP3 000005c6: DUP5 000005c7: CALLDATACOPY 000005c8: PUSH1 0x00 000005ca: DUP2 000005cb: DUP5 000005cc: ADD 000005cd: MSTORE 000005ce: PUSH1 0x1f 000005d0: NOT 000005d1: PUSH1 0x1f 000005d3: DUP3 000005d4: ADD 000005d5: AND 000005d6: SWAP1 000005d7: POP 000005d8: DUP1 000005d9: DUP4 000005da: ADD 000005db: SWAP3 000005dc: POP 000005dd: POP 000005de: POP 000005df: POP 000005e0: POP 000005e1: POP 000005e2: POP 000005e3: SWAP2 000005e4: SWAP3 000005e5: SWAP2 000005e6: SWAP3 000005e7: SWAP1 000005e8: POP 000005e9: POP 000005ea: POP 000005eb: PUSH2 0x1355 000005ee: JUMP 000005ef: JUMPDEST 000005f0: STOP 000005f1: JUMPDEST 000005f2: CALLVALUE 000005f3: DUP1 000005f4: ISZERO 000005f5: PUSH2 0x05fd 000005f8: JUMPI 000005f9: PUSH1 0x00 000005fb: DUP1 000005fc: REVERT 000005fd: JUMPDEST 000005fe: POP 000005ff: PUSH2 0x066a 00000602: PUSH1 0x04 00000604: DUP1 00000605: CALLDATASIZE 00000606: SUB 00000607: PUSH1 0x60 00000609: DUP2 0000060a: LT 0000060b: ISZERO 0000060c: PUSH2 0x0614 0000060f: JUMPI 00000610: PUSH1 0x00 00000612: DUP1 00000613: REVERT 00000614: JUMPDEST 00000615: DUP2 00000616: ADD 00000617: SWAP1 00000618: DUP1 00000619: DUP1 0000061a: CALLDATALOAD 0000061b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000630: AND 00000631: SWAP1 00000632: PUSH1 0x20 00000634: ADD 00000635: SWAP1 00000636: SWAP3 00000637: SWAP2 00000638: SWAP1 00000639: DUP1 0000063a: CALLDATALOAD 0000063b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000650: AND 00000651: SWAP1 00000652: PUSH1 0x20 00000654: ADD 00000655: SWAP1 00000656: SWAP3 00000657: SWAP2 00000658: SWAP1 00000659: DUP1 0000065a: CALLDATALOAD 0000065b: SWAP1 0000065c: PUSH1 0x20 0000065e: ADD 0000065f: SWAP1 00000660: SWAP3 00000661: SWAP2 00000662: SWAP1 00000663: POP 00000664: POP 00000665: POP 00000666: PUSH2 0x13b8 00000669: JUMP 0000066a: JUMPDEST 0000066b: STOP 0000066c: JUMPDEST 0000066d: CALLVALUE 0000066e: DUP1 0000066f: ISZERO 00000670: PUSH2 0x0678 00000673: JUMPI 00000674: PUSH1 0x00 00000676: DUP1 00000677: REVERT 00000678: JUMPDEST 00000679: POP 0000067a: PUSH2 0x06c5 0000067d: PUSH1 0x04 0000067f: DUP1 00000680: CALLDATASIZE 00000681: SUB 00000682: PUSH1 0x40 00000684: DUP2 00000685: LT 00000686: ISZERO 00000687: PUSH2 0x068f 0000068a: JUMPI 0000068b: PUSH1 0x00 0000068d: DUP1 0000068e: REVERT 0000068f: JUMPDEST 00000690: DUP2 00000691: ADD 00000692: SWAP1 00000693: DUP1 00000694: DUP1 00000695: CALLDATALOAD 00000696: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ab: AND 000006ac: SWAP1 000006ad: PUSH1 0x20 000006af: ADD 000006b0: SWAP1 000006b1: SWAP3 000006b2: SWAP2 000006b3: SWAP1 000006b4: DUP1 000006b5: CALLDATALOAD 000006b6: SWAP1 000006b7: PUSH1 0x20 000006b9: ADD 000006ba: SWAP1 000006bb: SWAP3 000006bc: SWAP2 000006bd: SWAP1 000006be: POP 000006bf: POP 000006c0: POP 000006c1: PUSH2 0x13dd 000006c4: JUMP 000006c5: JUMPDEST 000006c6: PUSH1 0x40 000006c8: MLOAD 000006c9: DUP1 000006ca: DUP3 000006cb: DUP2 000006cc: MSTORE 000006cd: PUSH1 0x20 000006cf: ADD 000006d0: SWAP2 000006d1: POP 000006d2: POP 000006d3: PUSH1 0x40 000006d5: MLOAD 000006d6: DUP1 000006d7: SWAP2 000006d8: SUB 000006d9: SWAP1 000006da: RETURN 000006db: JUMPDEST 000006dc: CALLVALUE 000006dd: DUP1 000006de: ISZERO 000006df: PUSH2 0x06e7 000006e2: JUMPI 000006e3: PUSH1 0x00 000006e5: DUP1 000006e6: REVERT 000006e7: JUMPDEST 000006e8: POP 000006e9: PUSH2 0x06f0 000006ec: PUSH2 0x1454 000006ef: JUMP 000006f0: JUMPDEST 000006f1: PUSH1 0x40 000006f3: MLOAD 000006f4: DUP1 000006f5: DUP1 000006f6: PUSH1 0x20 000006f8: ADD 000006f9: DUP3 000006fa: DUP2 000006fb: SUB 000006fc: DUP3 000006fd: MSTORE 000006fe: DUP4 000006ff: DUP2 00000700: DUP2 00000701: MLOAD 00000702: DUP2 00000703: MSTORE 00000704: PUSH1 0x20 00000706: ADD 00000707: SWAP2 00000708: POP 00000709: DUP1 0000070a: MLOAD 0000070b: SWAP1 0000070c: PUSH1 0x20 0000070e: ADD 0000070f: SWAP1 00000710: DUP1 00000711: DUP4 00000712: DUP4 00000713: PUSH1 0x00 00000715: JUMPDEST 00000716: DUP4 00000717: DUP2 00000718: LT 00000719: ISZERO 0000071a: PUSH2 0x0730 0000071d: JUMPI 0000071e: DUP1 0000071f: DUP3 00000720: ADD 00000721: MLOAD 00000722: DUP2 00000723: DUP5 00000724: ADD 00000725: MSTORE 00000726: PUSH1 0x20 00000728: DUP2 00000729: ADD 0000072a: SWAP1 0000072b: POP 0000072c: PUSH2 0x0715 0000072f: JUMP 00000730: JUMPDEST 00000731: POP 00000732: POP 00000733: POP 00000734: POP 00000735: SWAP1 00000736: POP 00000737: SWAP1 00000738: DUP2 00000739: ADD 0000073a: SWAP1 0000073b: PUSH1 0x1f 0000073d: AND 0000073e: DUP1 0000073f: ISZERO 00000740: PUSH2 0x075d 00000743: JUMPI 00000744: DUP1 00000745: DUP3 00000746: SUB 00000747: DUP1 00000748: MLOAD 00000749: PUSH1 0x01 0000074b: DUP4 0000074c: PUSH1 0x20 0000074e: SUB 0000074f: PUSH2 0x0100 00000752: EXP 00000753: SUB 00000754: NOT 00000755: AND 00000756: DUP2 00000757: MSTORE 00000758: PUSH1 0x20 0000075a: ADD 0000075b: SWAP2 0000075c: POP 0000075d: JUMPDEST 0000075e: POP 0000075f: SWAP3 00000760: POP 00000761: POP 00000762: POP 00000763: PUSH1 0x40 00000765: MLOAD 00000766: DUP1 00000767: SWAP2 00000768: SUB 00000769: SWAP1 0000076a: RETURN 0000076b: JUMPDEST 0000076c: CALLVALUE 0000076d: DUP1 0000076e: ISZERO 0000076f: PUSH2 0x0777 00000772: JUMPI 00000773: PUSH1 0x00 00000775: DUP1 00000776: REVERT 00000777: JUMPDEST 00000778: POP 00000779: PUSH2 0x07e4 0000077c: PUSH1 0x04 0000077e: DUP1 0000077f: CALLDATASIZE 00000780: SUB 00000781: PUSH1 0x60 00000783: DUP2 00000784: LT 00000785: ISZERO 00000786: PUSH2 0x078e 00000789: JUMPI 0000078a: PUSH1 0x00 0000078c: DUP1 0000078d: REVERT 0000078e: JUMPDEST 0000078f: DUP2 00000790: ADD 00000791: SWAP1 00000792: DUP1 00000793: DUP1 00000794: CALLDATALOAD 00000795: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007aa: AND 000007ab: SWAP1 000007ac: PUSH1 0x20 000007ae: ADD 000007af: SWAP1 000007b0: SWAP3 000007b1: SWAP2 000007b2: SWAP1 000007b3: DUP1 000007b4: CALLDATALOAD 000007b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ca: AND 000007cb: SWAP1 000007cc: PUSH1 0x20 000007ce: ADD 000007cf: SWAP1 000007d0: SWAP3 000007d1: SWAP2 000007d2: SWAP1 000007d3: DUP1 000007d4: CALLDATALOAD 000007d5: SWAP1 000007d6: PUSH1 0x20 000007d8: ADD 000007d9: SWAP1 000007da: SWAP3 000007db: SWAP2 000007dc: SWAP1 000007dd: POP 000007de: POP 000007df: POP 000007e0: PUSH2 0x14f2 000007e3: JUMP 000007e4: JUMPDEST 000007e5: STOP 000007e6: JUMPDEST 000007e7: CALLVALUE 000007e8: DUP1 000007e9: ISZERO 000007ea: PUSH2 0x07f2 000007ed: JUMPI 000007ee: PUSH1 0x00 000007f0: DUP1 000007f1: REVERT 000007f2: JUMPDEST 000007f3: POP 000007f4: PUSH2 0x081f 000007f7: PUSH1 0x04 000007f9: DUP1 000007fa: CALLDATASIZE 000007fb: SUB 000007fc: PUSH1 0x20 000007fe: DUP2 000007ff: LT 00000800: ISZERO 00000801: PUSH2 0x0809 00000804: JUMPI 00000805: PUSH1 0x00 00000807: DUP1 00000808: REVERT 00000809: JUMPDEST 0000080a: DUP2 0000080b: ADD 0000080c: SWAP1 0000080d: DUP1 0000080e: DUP1 0000080f: CALLDATALOAD 00000810: SWAP1 00000811: PUSH1 0x20 00000813: ADD 00000814: SWAP1 00000815: SWAP3 00000816: SWAP2 00000817: SWAP1 00000818: POP 00000819: POP 0000081a: POP 0000081b: PUSH2 0x1513 0000081e: JUMP 0000081f: JUMPDEST 00000820: PUSH1 0x40 00000822: MLOAD 00000823: DUP1 00000824: DUP3 00000825: DUP2 00000826: MSTORE 00000827: PUSH1 0x20 00000829: ADD 0000082a: SWAP2 0000082b: POP 0000082c: POP 0000082d: PUSH1 0x40 0000082f: MLOAD 00000830: DUP1 00000831: SWAP2 00000832: SUB 00000833: SWAP1 00000834: RETURN 00000835: JUMPDEST 00000836: CALLVALUE 00000837: DUP1 00000838: ISZERO 00000839: PUSH2 0x0841 0000083c: JUMPI 0000083d: PUSH1 0x00 0000083f: DUP1 00000840: REVERT 00000841: JUMPDEST 00000842: POP 00000843: PUSH2 0x086e 00000846: PUSH1 0x04 00000848: DUP1 00000849: CALLDATASIZE 0000084a: SUB 0000084b: PUSH1 0x20 0000084d: DUP2 0000084e: LT 0000084f: ISZERO 00000850: PUSH2 0x0858 00000853: JUMPI 00000854: PUSH1 0x00 00000856: DUP1 00000857: REVERT 00000858: JUMPDEST 00000859: DUP2 0000085a: ADD 0000085b: SWAP1 0000085c: DUP1 0000085d: DUP1 0000085e: CALLDATALOAD 0000085f: SWAP1 00000860: PUSH1 0x20 00000862: ADD 00000863: SWAP1 00000864: SWAP3 00000865: SWAP2 00000866: SWAP1 00000867: POP 00000868: POP 00000869: POP 0000086a: PUSH2 0x154b 0000086d: JUMP 0000086e: JUMPDEST 0000086f: PUSH1 0x40 00000871: MLOAD 00000872: DUP1 00000873: DUP3 00000874: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000889: AND 0000088a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000089f: AND 000008a0: DUP2 000008a1: MSTORE 000008a2: PUSH1 0x20 000008a4: ADD 000008a5: SWAP2 000008a6: POP 000008a7: POP 000008a8: PUSH1 0x40 000008aa: MLOAD 000008ab: DUP1 000008ac: SWAP2 000008ad: SUB 000008ae: SWAP1 000008af: RETURN 000008b0: JUMPDEST 000008b1: CALLVALUE 000008b2: DUP1 000008b3: ISZERO 000008b4: PUSH2 0x08bc 000008b7: JUMPI 000008b8: PUSH1 0x00 000008ba: DUP1 000008bb: REVERT 000008bc: JUMPDEST 000008bd: POP 000008be: PUSH2 0x08ff 000008c1: PUSH1 0x04 000008c3: DUP1 000008c4: CALLDATASIZE 000008c5: SUB 000008c6: PUSH1 0x20 000008c8: DUP2 000008c9: LT 000008ca: ISZERO 000008cb: PUSH2 0x08d3 000008ce: JUMPI 000008cf: PUSH1 0x00 000008d1: DUP1 000008d2: REVERT 000008d3: JUMPDEST 000008d4: DUP2 000008d5: ADD 000008d6: SWAP1 000008d7: DUP1 000008d8: DUP1 000008d9: CALLDATALOAD 000008da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008ef: AND 000008f0: SWAP1 000008f1: PUSH1 0x20 000008f3: ADD 000008f4: SWAP1 000008f5: SWAP3 000008f6: SWAP2 000008f7: SWAP1 000008f8: POP 000008f9: POP 000008fa: POP 000008fb: PUSH2 0x15c9 000008fe: JUMP 000008ff: JUMPDEST 00000900: PUSH1 0x40 00000902: MLOAD 00000903: DUP1 00000904: DUP3 00000905: DUP2 00000906: MSTORE 00000907: PUSH1 0x20 00000909: ADD 0000090a: SWAP2 0000090b: POP 0000090c: POP 0000090d: PUSH1 0x40 0000090f: MLOAD 00000910: DUP1 00000911: SWAP2 00000912: SUB 00000913: SWAP1 00000914: RETURN 00000915: JUMPDEST 00000916: CALLVALUE 00000917: DUP1 00000918: ISZERO 00000919: PUSH2 0x0921 0000091c: JUMPI 0000091d: PUSH1 0x00 0000091f: DUP1 00000920: REVERT 00000921: JUMPDEST 00000922: POP 00000923: PUSH2 0x092a 00000926: PUSH2 0x1654 00000929: JUMP 0000092a: JUMPDEST 0000092b: STOP 0000092c: JUMPDEST 0000092d: CALLVALUE 0000092e: DUP1 0000092f: ISZERO 00000930: PUSH2 0x0938 00000933: JUMPI 00000934: PUSH1 0x00 00000936: DUP1 00000937: REVERT 00000938: JUMPDEST 00000939: POP 0000093a: PUSH2 0x0941 0000093d: PUSH2 0x1728 00000940: JUMP 00000941: JUMPDEST 00000942: PUSH1 0x40 00000944: MLOAD 00000945: DUP1 00000946: DUP3 00000947: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000095c: AND 0000095d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000972: AND 00000973: DUP2 00000974: MSTORE 00000975: PUSH1 0x20 00000977: ADD 00000978: SWAP2 00000979: POP 0000097a: POP 0000097b: PUSH1 0x40 0000097d: MLOAD 0000097e: DUP1 0000097f: SWAP2 00000980: SUB 00000981: SWAP1 00000982: RETURN 00000983: JUMPDEST 00000984: CALLVALUE 00000985: DUP1 00000986: ISZERO 00000987: PUSH2 0x098f 0000098a: JUMPI 0000098b: PUSH1 0x00 0000098d: DUP1 0000098e: REVERT 0000098f: JUMPDEST 00000990: POP 00000991: PUSH2 0x0998 00000994: PUSH2 0x1752 00000997: JUMP 00000998: JUMPDEST 00000999: PUSH1 0x40 0000099b: MLOAD 0000099c: DUP1 0000099d: DUP3 0000099e: ISZERO 0000099f: ISZERO 000009a0: ISZERO 000009a1: ISZERO 000009a2: DUP2 000009a3: MSTORE 000009a4: PUSH1 0x20 000009a6: ADD 000009a7: SWAP2 000009a8: POP 000009a9: POP 000009aa: PUSH1 0x40 000009ac: MLOAD 000009ad: DUP1 000009ae: SWAP2 000009af: SUB 000009b0: SWAP1 000009b1: RETURN 000009b2: JUMPDEST 000009b3: CALLVALUE 000009b4: DUP1 000009b5: ISZERO 000009b6: PUSH2 0x09be 000009b9: JUMPI 000009ba: PUSH1 0x00 000009bc: DUP1 000009bd: REVERT 000009be: JUMPDEST 000009bf: POP 000009c0: PUSH2 0x09c7 000009c3: PUSH2 0x17aa 000009c6: JUMP 000009c7: JUMPDEST 000009c8: PUSH1 0x40 000009ca: MLOAD 000009cb: DUP1 000009cc: DUP1 000009cd: PUSH1 0x20 000009cf: ADD 000009d0: DUP3 000009d1: DUP2 000009d2: SUB 000009d3: DUP3 000009d4: MSTORE 000009d5: DUP4 000009d6: DUP2 000009d7: DUP2 000009d8: MLOAD 000009d9: DUP2 000009da: MSTORE 000009db: PUSH1 0x20 000009dd: ADD 000009de: SWAP2 000009df: POP 000009e0: DUP1 000009e1: MLOAD 000009e2: SWAP1 000009e3: PUSH1 0x20 000009e5: ADD 000009e6: SWAP1 000009e7: DUP1 000009e8: DUP4 000009e9: DUP4 000009ea: PUSH1 0x00 000009ec: JUMPDEST 000009ed: DUP4 000009ee: DUP2 000009ef: LT 000009f0: ISZERO 000009f1: PUSH2 0x0a07 000009f4: JUMPI 000009f5: DUP1 000009f6: DUP3 000009f7: ADD 000009f8: MLOAD 000009f9: DUP2 000009fa: DUP5 000009fb: ADD 000009fc: MSTORE 000009fd: PUSH1 0x20 000009ff: DUP2 00000a00: ADD 00000a01: SWAP1 00000a02: POP 00000a03: PUSH2 0x09ec 00000a06: JUMP 00000a07: JUMPDEST 00000a08: POP 00000a09: POP 00000a0a: POP 00000a0b: POP 00000a0c: SWAP1 00000a0d: POP 00000a0e: SWAP1 00000a0f: DUP2 00000a10: ADD 00000a11: SWAP1 00000a12: PUSH1 0x1f 00000a14: AND 00000a15: DUP1 00000a16: ISZERO 00000a17: PUSH2 0x0a34 00000a1a: JUMPI 00000a1b: DUP1 00000a1c: DUP3 00000a1d: SUB 00000a1e: DUP1 00000a1f: MLOAD 00000a20: PUSH1 0x01 00000a22: DUP4 00000a23: PUSH1 0x20 00000a25: SUB 00000a26: PUSH2 0x0100 00000a29: EXP 00000a2a: SUB 00000a2b: NOT 00000a2c: AND 00000a2d: DUP2 00000a2e: MSTORE 00000a2f: PUSH1 0x20 00000a31: ADD 00000a32: SWAP2 00000a33: POP 00000a34: JUMPDEST 00000a35: POP 00000a36: SWAP3 00000a37: POP 00000a38: POP 00000a39: POP 00000a3a: PUSH1 0x40 00000a3c: MLOAD 00000a3d: DUP1 00000a3e: SWAP2 00000a3f: SUB 00000a40: SWAP1 00000a41: RETURN 00000a42: JUMPDEST 00000a43: CALLVALUE 00000a44: DUP1 00000a45: ISZERO 00000a46: PUSH2 0x0a4e 00000a49: JUMPI 00000a4a: PUSH1 0x00 00000a4c: DUP1 00000a4d: REVERT 00000a4e: JUMPDEST 00000a4f: POP 00000a50: PUSH2 0x0a57 00000a53: PUSH2 0x184c 00000a56: JUMP 00000a57: JUMPDEST 00000a58: PUSH1 0x40 00000a5a: MLOAD 00000a5b: DUP1 00000a5c: DUP3 00000a5d: DUP2 00000a5e: MSTORE 00000a5f: PUSH1 0x20 00000a61: ADD 00000a62: SWAP2 00000a63: POP 00000a64: POP 00000a65: PUSH1 0x40 00000a67: MLOAD 00000a68: DUP1 00000a69: SWAP2 00000a6a: SUB 00000a6b: SWAP1 00000a6c: RETURN 00000a6d: JUMPDEST 00000a6e: CALLVALUE 00000a6f: DUP1 00000a70: ISZERO 00000a71: PUSH2 0x0a79 00000a74: JUMPI 00000a75: PUSH1 0x00 00000a77: DUP1 00000a78: REVERT 00000a79: JUMPDEST 00000a7a: POP 00000a7b: PUSH2 0x0ac8 00000a7e: PUSH1 0x04 00000a80: DUP1 00000a81: CALLDATASIZE 00000a82: SUB 00000a83: PUSH1 0x40 00000a85: DUP2 00000a86: LT 00000a87: ISZERO 00000a88: PUSH2 0x0a90 00000a8b: JUMPI 00000a8c: PUSH1 0x00 00000a8e: DUP1 00000a8f: REVERT 00000a90: JUMPDEST 00000a91: DUP2 00000a92: ADD 00000a93: SWAP1 00000a94: DUP1 00000a95: DUP1 00000a96: CALLDATALOAD 00000a97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aac: AND 00000aad: SWAP1 00000aae: PUSH1 0x20 00000ab0: ADD 00000ab1: SWAP1 00000ab2: SWAP3 00000ab3: SWAP2 00000ab4: SWAP1 00000ab5: DUP1 00000ab6: CALLDATALOAD 00000ab7: ISZERO 00000ab8: ISZERO 00000ab9: SWAP1 00000aba: PUSH1 0x20 00000abc: ADD 00000abd: SWAP1 00000abe: SWAP3 00000abf: SWAP2 00000ac0: SWAP1 00000ac1: POP 00000ac2: POP 00000ac3: POP 00000ac4: PUSH2 0x1852 00000ac7: JUMP 00000ac8: JUMPDEST 00000ac9: STOP 00000aca: JUMPDEST 00000acb: CALLVALUE 00000acc: DUP1 00000acd: ISZERO 00000ace: PUSH2 0x0ad6 00000ad1: JUMPI 00000ad2: PUSH1 0x00 00000ad4: DUP1 00000ad5: REVERT 00000ad6: JUMPDEST 00000ad7: POP 00000ad8: PUSH2 0x0adf 00000adb: PUSH2 0x198e 00000ade: JUMP 00000adf: JUMPDEST 00000ae0: PUSH1 0x40 00000ae2: MLOAD 00000ae3: DUP1 00000ae4: DUP3 00000ae5: ISZERO 00000ae6: ISZERO 00000ae7: ISZERO 00000ae8: ISZERO 00000ae9: DUP2 00000aea: MSTORE 00000aeb: PUSH1 0x20 00000aed: ADD 00000aee: SWAP2 00000aef: POP 00000af0: POP 00000af1: PUSH1 0x40 00000af3: MLOAD 00000af4: DUP1 00000af5: SWAP2 00000af6: SUB 00000af7: SWAP1 00000af8: RETURN 00000af9: JUMPDEST 00000afa: CALLVALUE 00000afb: DUP1 00000afc: ISZERO 00000afd: PUSH2 0x0b05 00000b00: JUMPI 00000b01: PUSH1 0x00 00000b03: DUP1 00000b04: REVERT 00000b05: JUMPDEST 00000b06: POP 00000b07: PUSH2 0x0c09 00000b0a: PUSH1 0x04 00000b0c: DUP1 00000b0d: CALLDATASIZE 00000b0e: SUB 00000b0f: PUSH1 0x80 00000b11: DUP2 00000b12: LT 00000b13: ISZERO 00000b14: PUSH2 0x0b1c 00000b17: JUMPI 00000b18: PUSH1 0x00 00000b1a: DUP1 00000b1b: REVERT 00000b1c: JUMPDEST 00000b1d: DUP2 00000b1e: ADD 00000b1f: SWAP1 00000b20: DUP1 00000b21: DUP1 00000b22: CALLDATALOAD 00000b23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b38: AND 00000b39: SWAP1 00000b3a: PUSH1 0x20 00000b3c: ADD 00000b3d: SWAP1 00000b3e: SWAP3 00000b3f: SWAP2 00000b40: SWAP1 00000b41: DUP1 00000b42: CALLDATALOAD 00000b43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b58: AND 00000b59: SWAP1 00000b5a: PUSH1 0x20 00000b5c: ADD 00000b5d: SWAP1 00000b5e: SWAP3 00000b5f: SWAP2 00000b60: SWAP1 00000b61: DUP1 00000b62: CALLDATALOAD 00000b63: SWAP1 00000b64: PUSH1 0x20 00000b66: ADD 00000b67: SWAP1 00000b68: SWAP3 00000b69: SWAP2 00000b6a: SWAP1 00000b6b: DUP1 00000b6c: CALLDATALOAD 00000b6d: SWAP1 00000b6e: PUSH1 0x20 00000b70: ADD 00000b71: SWAP1 00000b72: PUSH5 0x0100000000 00000b78: DUP2 00000b79: GT 00000b7a: ISZERO 00000b7b: PUSH2 0x0b83 00000b7e: JUMPI 00000b7f: PUSH1 0x00 00000b81: DUP1 00000b82: REVERT 00000b83: JUMPDEST 00000b84: DUP3 00000b85: ADD 00000b86: DUP4 00000b87: PUSH1 0x20 00000b89: DUP3 00000b8a: ADD 00000b8b: GT 00000b8c: ISZERO 00000b8d: PUSH2 0x0b95 00000b90: JUMPI 00000b91: PUSH1 0x00 00000b93: DUP1 00000b94: REVERT 00000b95: JUMPDEST 00000b96: DUP1 00000b97: CALLDATALOAD 00000b98: SWAP1 00000b99: PUSH1 0x20 00000b9b: ADD 00000b9c: SWAP2 00000b9d: DUP5 00000b9e: PUSH1 0x01 00000ba0: DUP4 00000ba1: MUL 00000ba2: DUP5 00000ba3: ADD 00000ba4: GT 00000ba5: PUSH5 0x0100000000 00000bab: DUP4 00000bac: GT 00000bad: OR 00000bae: ISZERO 00000baf: PUSH2 0x0bb7 00000bb2: JUMPI 00000bb3: PUSH1 0x00 00000bb5: DUP1 00000bb6: REVERT 00000bb7: JUMPDEST 00000bb8: SWAP2 00000bb9: SWAP1 00000bba: DUP1 00000bbb: DUP1 00000bbc: PUSH1 0x1f 00000bbe: ADD 00000bbf: PUSH1 0x20 00000bc1: DUP1 00000bc2: SWAP2 00000bc3: DIV 00000bc4: MUL 00000bc5: PUSH1 0x20 00000bc7: ADD 00000bc8: PUSH1 0x40 00000bca: MLOAD 00000bcb: SWAP1 00000bcc: DUP2 00000bcd: ADD 00000bce: PUSH1 0x40 00000bd0: MSTORE 00000bd1: DUP1 00000bd2: SWAP4 00000bd3: SWAP3 00000bd4: SWAP2 00000bd5: SWAP1 00000bd6: DUP2 00000bd7: DUP2 00000bd8: MSTORE 00000bd9: PUSH1 0x20 00000bdb: ADD 00000bdc: DUP4 00000bdd: DUP4 00000bde: DUP1 00000bdf: DUP3 00000be0: DUP5 00000be1: CALLDATACOPY 00000be2: PUSH1 0x00 00000be4: DUP2 00000be5: DUP5 00000be6: ADD 00000be7: MSTORE 00000be8: PUSH1 0x1f 00000bea: NOT 00000beb: PUSH1 0x1f 00000bed: DUP3 00000bee: ADD 00000bef: AND 00000bf0: SWAP1 00000bf1: POP 00000bf2: DUP1 00000bf3: DUP4 00000bf4: ADD 00000bf5: SWAP3 00000bf6: POP 00000bf7: POP 00000bf8: POP 00000bf9: POP 00000bfa: POP 00000bfb: POP 00000bfc: POP 00000bfd: SWAP2 00000bfe: SWAP3 00000bff: SWAP2 00000c00: SWAP3 00000c01: SWAP1 00000c02: POP 00000c03: POP 00000c04: POP 00000c05: PUSH2 0x19a1 00000c08: JUMP 00000c09: JUMPDEST 00000c0a: STOP 00000c0b: JUMPDEST 00000c0c: CALLVALUE 00000c0d: DUP1 00000c0e: ISZERO 00000c0f: PUSH2 0x0c17 00000c12: JUMPI 00000c13: PUSH1 0x00 00000c15: DUP1 00000c16: REVERT 00000c17: JUMPDEST 00000c18: POP 00000c19: PUSH2 0x0c20 00000c1c: PUSH2 0x19c9 00000c1f: JUMP 00000c20: JUMPDEST 00000c21: PUSH1 0x40 00000c23: MLOAD 00000c24: DUP1 00000c25: DUP3 00000c26: DUP2 00000c27: MSTORE 00000c28: PUSH1 0x20 00000c2a: ADD 00000c2b: SWAP2 00000c2c: POP 00000c2d: POP 00000c2e: PUSH1 0x40 00000c30: MLOAD 00000c31: DUP1 00000c32: SWAP2 00000c33: SUB 00000c34: SWAP1 00000c35: RETURN 00000c36: JUMPDEST 00000c37: CALLVALUE 00000c38: DUP1 00000c39: ISZERO 00000c3a: PUSH2 0x0c42 00000c3d: JUMPI 00000c3e: PUSH1 0x00 00000c40: DUP1 00000c41: REVERT 00000c42: JUMPDEST 00000c43: POP 00000c44: PUSH2 0x0c85 00000c47: PUSH1 0x04 00000c49: DUP1 00000c4a: CALLDATASIZE 00000c4b: SUB 00000c4c: PUSH1 0x20 00000c4e: DUP2 00000c4f: LT 00000c50: ISZERO 00000c51: PUSH2 0x0c59 00000c54: JUMPI 00000c55: PUSH1 0x00 00000c57: DUP1 00000c58: REVERT 00000c59: JUMPDEST 00000c5a: DUP2 00000c5b: ADD 00000c5c: SWAP1 00000c5d: DUP1 00000c5e: DUP1 00000c5f: CALLDATALOAD 00000c60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c75: AND 00000c76: SWAP1 00000c77: PUSH1 0x20 00000c79: ADD 00000c7a: SWAP1 00000c7b: SWAP3 00000c7c: SWAP2 00000c7d: SWAP1 00000c7e: POP 00000c7f: POP 00000c80: POP 00000c81: PUSH2 0x19cf 00000c84: JUMP 00000c85: JUMPDEST 00000c86: PUSH1 0x40 00000c88: MLOAD 00000c89: DUP1 00000c8a: DUP1 00000c8b: PUSH1 0x20 00000c8d: ADD 00000c8e: DUP3 00000c8f: DUP2 00000c90: SUB 00000c91: DUP3 00000c92: MSTORE 00000c93: DUP4 00000c94: DUP2 00000c95: DUP2 00000c96: MLOAD 00000c97: DUP2 00000c98: MSTORE 00000c99: PUSH1 0x20 00000c9b: ADD 00000c9c: SWAP2 00000c9d: POP 00000c9e: DUP1 00000c9f: MLOAD 00000ca0: SWAP1 00000ca1: PUSH1 0x20 00000ca3: ADD 00000ca4: SWAP1 00000ca5: DUP1 00000ca6: DUP4 00000ca7: DUP4 00000ca8: PUSH1 0x00 00000caa: JUMPDEST 00000cab: DUP4 00000cac: DUP2 00000cad: LT 00000cae: ISZERO 00000caf: PUSH2 0x0cc5 00000cb2: JUMPI 00000cb3: DUP1 00000cb4: DUP3 00000cb5: ADD 00000cb6: MLOAD 00000cb7: DUP2 00000cb8: DUP5 00000cb9: ADD 00000cba: MSTORE 00000cbb: PUSH1 0x20 00000cbd: DUP2 00000cbe: ADD 00000cbf: SWAP1 00000cc0: POP 00000cc1: PUSH2 0x0caa 00000cc4: JUMP 00000cc5: JUMPDEST 00000cc6: POP 00000cc7: POP 00000cc8: POP 00000cc9: POP 00000cca: SWAP1 00000ccb: POP 00000ccc: SWAP1 00000ccd: DUP2 00000cce: ADD 00000ccf: SWAP1 00000cd0: PUSH1 0x1f 00000cd2: AND 00000cd3: DUP1 00000cd4: ISZERO 00000cd5: PUSH2 0x0cf2 00000cd8: JUMPI 00000cd9: DUP1 00000cda: DUP3 00000cdb: SUB 00000cdc: DUP1 00000cdd: MLOAD 00000cde: PUSH1 0x01 00000ce0: DUP4 00000ce1: PUSH1 0x20 00000ce3: SUB 00000ce4: PUSH2 0x0100 00000ce7: EXP 00000ce8: SUB 00000ce9: NOT 00000cea: AND 00000ceb: DUP2 00000cec: MSTORE 00000ced: PUSH1 0x20 00000cef: ADD 00000cf0: SWAP2 00000cf1: POP 00000cf2: JUMPDEST 00000cf3: POP 00000cf4: SWAP3 00000cf5: POP 00000cf6: POP 00000cf7: POP 00000cf8: PUSH1 0x40 00000cfa: MLOAD 00000cfb: DUP1 00000cfc: SWAP2 00000cfd: SUB 00000cfe: SWAP1 00000cff: RETURN 00000d00: JUMPDEST 00000d01: CALLVALUE 00000d02: DUP1 00000d03: ISZERO 00000d04: PUSH2 0x0d0c 00000d07: JUMPI 00000d08: PUSH1 0x00 00000d0a: DUP1 00000d0b: REVERT 00000d0c: JUMPDEST 00000d0d: POP 00000d0e: PUSH2 0x0d39 00000d11: PUSH1 0x04 00000d13: DUP1 00000d14: CALLDATASIZE 00000d15: SUB 00000d16: PUSH1 0x20 00000d18: DUP2 00000d19: LT 00000d1a: ISZERO 00000d1b: PUSH2 0x0d23 00000d1e: JUMPI 00000d1f: PUSH1 0x00 00000d21: DUP1 00000d22: REVERT 00000d23: JUMPDEST 00000d24: DUP2 00000d25: ADD 00000d26: SWAP1 00000d27: DUP1 00000d28: DUP1 00000d29: CALLDATALOAD 00000d2a: SWAP1 00000d2b: PUSH1 0x20 00000d2d: ADD 00000d2e: SWAP1 00000d2f: SWAP3 00000d30: SWAP2 00000d31: SWAP1 00000d32: POP 00000d33: POP 00000d34: POP 00000d35: PUSH2 0x1a3c 00000d38: JUMP 00000d39: JUMPDEST 00000d3a: PUSH1 0x40 00000d3c: MLOAD 00000d3d: DUP1 00000d3e: DUP1 00000d3f: PUSH1 0x20 00000d41: ADD 00000d42: DUP3 00000d43: DUP2 00000d44: SUB 00000d45: DUP3 00000d46: MSTORE 00000d47: DUP4 00000d48: DUP2 00000d49: DUP2 00000d4a: MLOAD 00000d4b: DUP2 00000d4c: MSTORE 00000d4d: PUSH1 0x20 00000d4f: ADD 00000d50: SWAP2 00000d51: POP 00000d52: DUP1 00000d53: MLOAD 00000d54: SWAP1 00000d55: PUSH1 0x20 00000d57: ADD 00000d58: SWAP1 00000d59: DUP1 00000d5a: DUP4 00000d5b: DUP4 00000d5c: PUSH1 0x00 00000d5e: JUMPDEST 00000d5f: DUP4 00000d60: DUP2 00000d61: LT 00000d62: ISZERO 00000d63: PUSH2 0x0d79 00000d66: JUMPI 00000d67: DUP1 00000d68: DUP3 00000d69: ADD 00000d6a: MLOAD 00000d6b: DUP2 00000d6c: DUP5 00000d6d: ADD 00000d6e: MSTORE 00000d6f: PUSH1 0x20 00000d71: DUP2 00000d72: ADD 00000d73: SWAP1 00000d74: POP 00000d75: PUSH2 0x0d5e 00000d78: JUMP 00000d79: JUMPDEST 00000d7a: POP 00000d7b: POP 00000d7c: POP 00000d7d: POP 00000d7e: SWAP1 00000d7f: POP 00000d80: SWAP1 00000d81: DUP2 00000d82: ADD 00000d83: SWAP1 00000d84: PUSH1 0x1f 00000d86: AND 00000d87: DUP1 00000d88: ISZERO 00000d89: PUSH2 0x0da6 00000d8c: JUMPI 00000d8d: DUP1 00000d8e: DUP3 00000d8f: SUB 00000d90: DUP1 00000d91: MLOAD 00000d92: PUSH1 0x01 00000d94: DUP4 00000d95: PUSH1 0x20 00000d97: SUB 00000d98: PUSH2 0x0100 00000d9b: EXP 00000d9c: SUB 00000d9d: NOT 00000d9e: AND 00000d9f: DUP2 00000da0: MSTORE 00000da1: PUSH1 0x20 00000da3: ADD 00000da4: SWAP2 00000da5: POP 00000da6: JUMPDEST 00000da7: POP 00000da8: SWAP3 00000da9: POP 00000daa: POP 00000dab: POP 00000dac: PUSH1 0x40 00000dae: MLOAD 00000daf: DUP1 00000db0: SWAP2 00000db1: SUB 00000db2: SWAP1 00000db3: RETURN 00000db4: JUMPDEST 00000db5: CALLVALUE 00000db6: DUP1 00000db7: ISZERO 00000db8: PUSH2 0x0dc0 00000dbb: JUMPI 00000dbc: PUSH1 0x00 00000dbe: DUP1 00000dbf: REVERT 00000dc0: JUMPDEST 00000dc1: POP 00000dc2: PUSH2 0x0dc9 00000dc5: PUSH2 0x1b05 00000dc8: JUMP 00000dc9: JUMPDEST 00000dca: PUSH1 0x40 00000dcc: MLOAD 00000dcd: DUP1 00000dce: DUP1 00000dcf: PUSH1 0x20 00000dd1: ADD 00000dd2: DUP3 00000dd3: DUP2 00000dd4: SUB 00000dd5: DUP3 00000dd6: MSTORE 00000dd7: DUP4 00000dd8: DUP2 00000dd9: DUP2 00000dda: MLOAD 00000ddb: DUP2 00000ddc: MSTORE 00000ddd: PUSH1 0x20 00000ddf: ADD 00000de0: SWAP2 00000de1: POP 00000de2: DUP1 00000de3: MLOAD 00000de4: SWAP1 00000de5: PUSH1 0x20 00000de7: ADD 00000de8: SWAP1 00000de9: DUP1 00000dea: DUP4 00000deb: DUP4 00000dec: PUSH1 0x00 00000dee: JUMPDEST 00000def: DUP4 00000df0: DUP2 00000df1: LT 00000df2: ISZERO 00000df3: PUSH2 0x0e09 00000df6: JUMPI 00000df7: DUP1 00000df8: DUP3 00000df9: ADD 00000dfa: MLOAD 00000dfb: DUP2 00000dfc: DUP5 00000dfd: ADD 00000dfe: MSTORE 00000dff: PUSH1 0x20 00000e01: DUP2 00000e02: ADD 00000e03: SWAP1 00000e04: POP 00000e05: PUSH2 0x0dee 00000e08: JUMP 00000e09: JUMPDEST 00000e0a: POP 00000e0b: POP 00000e0c: POP 00000e0d: POP 00000e0e: SWAP1 00000e0f: POP 00000e10: SWAP1 00000e11: DUP2 00000e12: ADD 00000e13: SWAP1 00000e14: PUSH1 0x1f 00000e16: AND 00000e17: DUP1 00000e18: ISZERO 00000e19: PUSH2 0x0e36 00000e1c: JUMPI 00000e1d: DUP1 00000e1e: DUP3 00000e1f: SUB 00000e20: DUP1 00000e21: MLOAD 00000e22: PUSH1 0x01 00000e24: DUP4 00000e25: PUSH1 0x20 00000e27: SUB 00000e28: PUSH2 0x0100 00000e2b: EXP 00000e2c: SUB 00000e2d: NOT 00000e2e: AND 00000e2f: DUP2 00000e30: MSTORE 00000e31: PUSH1 0x20 00000e33: ADD 00000e34: SWAP2 00000e35: POP 00000e36: JUMPDEST 00000e37: POP 00000e38: SWAP3 00000e39: POP 00000e3a: POP 00000e3b: POP 00000e3c: PUSH1 0x40 00000e3e: MLOAD 00000e3f: DUP1 00000e40: SWAP2 00000e41: SUB 00000e42: SWAP1 00000e43: RETURN 00000e44: JUMPDEST 00000e45: CALLVALUE 00000e46: DUP1 00000e47: ISZERO 00000e48: PUSH2 0x0e50 00000e4b: JUMPI 00000e4c: PUSH1 0x00 00000e4e: DUP1 00000e4f: REVERT 00000e50: JUMPDEST 00000e51: POP 00000e52: PUSH2 0x0f0a 00000e55: PUSH1 0x04 00000e57: DUP1 00000e58: CALLDATASIZE 00000e59: SUB 00000e5a: PUSH1 0x20 00000e5c: DUP2 00000e5d: LT 00000e5e: ISZERO 00000e5f: PUSH2 0x0e67 00000e62: JUMPI 00000e63: PUSH1 0x00 00000e65: DUP1 00000e66: REVERT 00000e67: JUMPDEST 00000e68: DUP2 00000e69: ADD 00000e6a: SWAP1 00000e6b: DUP1 00000e6c: DUP1 00000e6d: CALLDATALOAD 00000e6e: SWAP1 00000e6f: PUSH1 0x20 00000e71: ADD 00000e72: SWAP1 00000e73: PUSH5 0x0100000000 00000e79: DUP2 00000e7a: GT 00000e7b: ISZERO 00000e7c: PUSH2 0x0e84 00000e7f: JUMPI 00000e80: PUSH1 0x00 00000e82: DUP1 00000e83: REVERT 00000e84: JUMPDEST 00000e85: DUP3 00000e86: ADD 00000e87: DUP4 00000e88: PUSH1 0x20 00000e8a: DUP3 00000e8b: ADD 00000e8c: GT 00000e8d: ISZERO 00000e8e: PUSH2 0x0e96 00000e91: JUMPI 00000e92: PUSH1 0x00 00000e94: DUP1 00000e95: REVERT 00000e96: JUMPDEST 00000e97: DUP1 00000e98: CALLDATALOAD 00000e99: SWAP1 00000e9a: PUSH1 0x20 00000e9c: ADD 00000e9d: SWAP2 00000e9e: DUP5 00000e9f: PUSH1 0x01 00000ea1: DUP4 00000ea2: MUL 00000ea3: DUP5 00000ea4: ADD 00000ea5: GT 00000ea6: PUSH5 0x0100000000 00000eac: DUP4 00000ead: GT 00000eae: OR 00000eaf: ISZERO 00000eb0: PUSH2 0x0eb8 00000eb3: JUMPI 00000eb4: PUSH1 0x00 00000eb6: DUP1 00000eb7: REVERT 00000eb8: JUMPDEST 00000eb9: SWAP2 00000eba: SWAP1 00000ebb: DUP1 00000ebc: DUP1 00000ebd: PUSH1 0x1f 00000ebf: ADD 00000ec0: PUSH1 0x20 00000ec2: DUP1 00000ec3: SWAP2 00000ec4: DIV 00000ec5: MUL 00000ec6: PUSH1 0x20 00000ec8: ADD 00000ec9: PUSH1 0x40 00000ecb: MLOAD 00000ecc: SWAP1 00000ecd: DUP2 00000ece: ADD 00000ecf: PUSH1 0x40 00000ed1: MSTORE 00000ed2: DUP1 00000ed3: SWAP4 00000ed4: SWAP3 00000ed5: SWAP2 00000ed6: SWAP1 00000ed7: DUP2 00000ed8: DUP2 00000ed9: MSTORE 00000eda: PUSH1 0x20 00000edc: ADD 00000edd: DUP4 00000ede: DUP4 00000edf: DUP1 00000ee0: DUP3 00000ee1: DUP5 00000ee2: CALLDATACOPY 00000ee3: PUSH1 0x00 00000ee5: DUP2 00000ee6: DUP5 00000ee7: ADD 00000ee8: MSTORE 00000ee9: PUSH1 0x1f 00000eeb: NOT 00000eec: PUSH1 0x1f 00000eee: DUP3 00000eef: ADD 00000ef0: AND 00000ef1: SWAP1 00000ef2: POP 00000ef3: DUP1 00000ef4: DUP4 00000ef5: ADD 00000ef6: SWAP3 00000ef7: POP 00000ef8: POP 00000ef9: POP 00000efa: POP 00000efb: POP 00000efc: POP 00000efd: POP 00000efe: SWAP2 00000eff: SWAP3 00000f00: SWAP2 00000f01: SWAP3 00000f02: SWAP1 00000f03: POP 00000f04: POP 00000f05: POP 00000f06: PUSH2 0x1ba3 00000f09: JUMP 00000f0a: JUMPDEST 00000f0b: STOP 00000f0c: JUMPDEST 00000f0d: CALLVALUE 00000f0e: DUP1 00000f0f: ISZERO 00000f10: PUSH2 0x0f18 00000f13: JUMPI 00000f14: PUSH1 0x00 00000f16: DUP1 00000f17: REVERT 00000f18: JUMPDEST 00000f19: POP 00000f1a: PUSH2 0x0f7b 00000f1d: PUSH1 0x04 00000f1f: DUP1 00000f20: CALLDATASIZE 00000f21: SUB 00000f22: PUSH1 0x40 00000f24: DUP2 00000f25: LT 00000f26: ISZERO 00000f27: PUSH2 0x0f2f 00000f2a: JUMPI 00000f2b: PUSH1 0x00 00000f2d: DUP1 00000f2e: REVERT 00000f2f: JUMPDEST 00000f30: DUP2 00000f31: ADD 00000f32: SWAP1 00000f33: DUP1 00000f34: DUP1 00000f35: CALLDATALOAD 00000f36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f4b: AND 00000f4c: SWAP1 00000f4d: PUSH1 0x20 00000f4f: ADD 00000f50: SWAP1 00000f51: SWAP3 00000f52: SWAP2 00000f53: SWAP1 00000f54: DUP1 00000f55: CALLDATALOAD 00000f56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f6b: AND 00000f6c: SWAP1 00000f6d: PUSH1 0x20 00000f6f: ADD 00000f70: SWAP1 00000f71: SWAP3 00000f72: SWAP2 00000f73: SWAP1 00000f74: POP 00000f75: POP 00000f76: POP 00000f77: PUSH2 0x1bd0 00000f7a: JUMP 00000f7b: JUMPDEST 00000f7c: PUSH1 0x40 00000f7e: MLOAD 00000f7f: DUP1 00000f80: DUP3 00000f81: ISZERO 00000f82: ISZERO 00000f83: ISZERO 00000f84: ISZERO 00000f85: DUP2 00000f86: MSTORE 00000f87: PUSH1 0x20 00000f89: ADD 00000f8a: SWAP2 00000f8b: POP 00000f8c: POP 00000f8d: PUSH1 0x40 00000f8f: MLOAD 00000f90: DUP1 00000f91: SWAP2 00000f92: SUB 00000f93: SWAP1 00000f94: RETURN 00000f95: JUMPDEST 00000f96: CALLVALUE 00000f97: DUP1 00000f98: ISZERO 00000f99: PUSH2 0x0fa1 00000f9c: JUMPI 00000f9d: PUSH1 0x00 00000f9f: DUP1 00000fa0: REVERT 00000fa1: JUMPDEST 00000fa2: POP 00000fa3: PUSH2 0x0fe4 00000fa6: PUSH1 0x04 00000fa8: DUP1 00000fa9: CALLDATASIZE 00000faa: SUB 00000fab: PUSH1 0x20 00000fad: DUP2 00000fae: LT 00000faf: ISZERO 00000fb0: PUSH2 0x0fb8 00000fb3: JUMPI 00000fb4: PUSH1 0x00 00000fb6: DUP1 00000fb7: REVERT 00000fb8: JUMPDEST 00000fb9: DUP2 00000fba: ADD 00000fbb: SWAP1 00000fbc: DUP1 00000fbd: DUP1 00000fbe: CALLDATALOAD 00000fbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fd4: AND 00000fd5: SWAP1 00000fd6: PUSH1 0x20 00000fd8: ADD 00000fd9: SWAP1 00000fda: SWAP3 00000fdb: SWAP2 00000fdc: SWAP1 00000fdd: POP 00000fde: POP 00000fdf: POP 00000fe0: PUSH2 0x1c64 00000fe3: JUMP 00000fe4: JUMPDEST 00000fe5: STOP 00000fe6: JUMPDEST 00000fe7: PUSH2 0x0168 00000fea: PUSH1 0x0d 00000fec: SLOAD 00000fed: GT 00000fee: ISZERO 00000fef: ISZERO 00000ff0: ISZERO 00000ff1: PUSH2 0x0ff9 00000ff4: JUMPI 00000ff5: PUSH1 0x00 00000ff7: DUP1 00000ff8: REVERT 00000ff9: JUMPDEST 00000ffa: PUSH1 0x00 00000ffc: PUSH2 0x1003 00000fff: PUSH2 0x1c83 00001002: JUMP 00001003: JUMPDEST 00001004: SWAP1 00001005: POP 00001006: PUSH2 0x100f 00001009: DUP3 0000100a: DUP3 0000100b: PUSH2 0x1c99 0000100e: JUMP 0000100f: JUMPDEST 00001010: PUSH2 0x1021 00001013: DUP2 00001014: PUSH2 0x101c 00001017: DUP4 00001018: PUSH2 0x1cba 0000101b: JUMP 0000101c: JUMPDEST 0000101d: PUSH2 0x1e13 00001020: JUMP 00001021: JUMPDEST 00001022: PUSH32 0xb9144c96c86541f6fa89c9f2f02495cccf4b08cd6643e26d34ee00aa586558a8 00001043: DUP3 00001044: DUP3 00001045: PUSH1 0x40 00001047: MLOAD 00001048: DUP1 00001049: DUP4 0000104a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000105f: AND 00001060: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001075: AND 00001076: DUP2 00001077: MSTORE 00001078: PUSH1 0x20 0000107a: ADD 0000107b: DUP3 0000107c: DUP2 0000107d: MSTORE 0000107e: PUSH1 0x20 00001080: ADD 00001081: SWAP3 00001082: POP 00001083: POP 00001084: POP 00001085: PUSH1 0x40 00001087: MLOAD 00001088: DUP1 00001089: SWAP2 0000108a: SUB 0000108b: SWAP1 0000108c: LOG1 0000108d: PUSH1 0x4b 0000108f: PUSH1 0x0e 00001091: SLOAD 00001092: DUP2 00001093: ISZERO 00001094: ISZERO 00001095: PUSH2 0x109a 00001098: JUMPI 00001099: INVALID 0000109a: JUMPDEST 0000109b: DIV 0000109c: PUSH1 0x0e 0000109e: SLOAD 0000109f: ADD 000010a0: PUSH1 0x0e 000010a2: DUP2 000010a3: SWAP1 000010a4: SSTORE 000010a5: POP 000010a6: POP 000010a7: POP 000010a8: JUMP 000010a9: JUMPDEST 000010aa: PUSH1 0x00 000010ac: DUP1 000010ad: PUSH1 0x00 000010af: DUP4 000010b0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000010cd: NOT 000010ce: AND 000010cf: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000010ec: NOT 000010ed: AND 000010ee: DUP2 000010ef: MSTORE 000010f0: PUSH1 0x20 000010f2: ADD 000010f3: SWAP1 000010f4: DUP2 000010f5: MSTORE 000010f6: PUSH1 0x20 000010f8: ADD 000010f9: PUSH1 0x00 000010fb: KECCAK256 000010fc: PUSH1 0x00 000010fe: SWAP1 000010ff: SLOAD 00001100: SWAP1 00001101: PUSH2 0x0100 00001104: EXP 00001105: SWAP1 00001106: DIV 00001107: PUSH1 0xff 00001109: AND 0000110a: SWAP1 0000110b: POP 0000110c: SWAP2 0000110d: SWAP1 0000110e: POP 0000110f: JUMP 00001110: JUMPDEST 00001111: PUSH1 0x60 00001113: PUSH1 0x09 00001115: DUP1 00001116: SLOAD 00001117: PUSH1 0x01 00001119: DUP2 0000111a: PUSH1 0x01 0000111c: AND 0000111d: ISZERO 0000111e: PUSH2 0x0100 00001121: MUL 00001122: SUB 00001123: AND 00001124: PUSH1 0x02 00001126: SWAP1 00001127: DIV 00001128: DUP1 00001129: PUSH1 0x1f 0000112b: ADD 0000112c: PUSH1 0x20 0000112e: DUP1 0000112f: SWAP2 00001130: DIV 00001131: MUL 00001132: PUSH1 0x20 00001134: ADD 00001135: PUSH1 0x40 00001137: MLOAD 00001138: SWAP1 00001139: DUP2 0000113a: ADD 0000113b: PUSH1 0x40 0000113d: MSTORE 0000113e: DUP1 0000113f: SWAP3 00001140: SWAP2 00001141: SWAP1 00001142: DUP2 00001143: DUP2 00001144: MSTORE 00001145: PUSH1 0x20 00001147: ADD 00001148: DUP3 00001149: DUP1 0000114a: SLOAD 0000114b: PUSH1 0x01 0000114d: DUP2 0000114e: PUSH1 0x01 00001150: AND 00001151: ISZERO 00001152: PUSH2 0x0100 00001155: MUL 00001156: SUB 00001157: AND 00001158: PUSH1 0x02 0000115a: SWAP1 0000115b: DIV 0000115c: DUP1 0000115d: ISZERO 0000115e: PUSH2 0x11a8 00001161: JUMPI 00001162: DUP1 00001163: PUSH1 0x1f 00001165: LT 00001166: PUSH2 0x117d 00001169: JUMPI 0000116a: PUSH2 0x0100 0000116d: DUP1 0000116e: DUP4 0000116f: SLOAD 00001170: DIV 00001171: MUL 00001172: DUP4 00001173: MSTORE 00001174: SWAP2 00001175: PUSH1 0x20 00001177: ADD 00001178: SWAP2 00001179: PUSH2 0x11a8 0000117c: JUMP 0000117d: JUMPDEST 0000117e: DUP3 0000117f: ADD 00001180: SWAP2 00001181: SWAP1 00001182: PUSH1 0x00 00001184: MSTORE 00001185: PUSH1 0x20 00001187: PUSH1 0x00 00001189: KECCAK256 0000118a: SWAP1 0000118b: JUMPDEST 0000118c: DUP2 0000118d: SLOAD 0000118e: DUP2 0000118f: MSTORE 00001190: SWAP1 00001191: PUSH1 0x01 00001193: ADD 00001194: SWAP1 00001195: PUSH1 0x20 00001197: ADD 00001198: DUP1 00001199: DUP4 0000119a: GT 0000119b: PUSH2 0x118b 0000119e: JUMPI 0000119f: DUP3 000011a0: SWAP1 000011a1: SUB 000011a2: PUSH1 0x1f 000011a4: AND 000011a5: DUP3 000011a6: ADD 000011a7: SWAP2 000011a8: JUMPDEST 000011a9: POP 000011aa: POP 000011ab: POP 000011ac: POP 000011ad: POP 000011ae: SWAP1 000011af: POP 000011b0: SWAP1 000011b1: JUMP 000011b2: JUMPDEST 000011b3: PUSH1 0x00 000011b5: PUSH2 0x11bd 000011b8: DUP3 000011b9: PUSH2 0x1e53 000011bc: JUMP 000011bd: JUMPDEST 000011be: ISZERO 000011bf: ISZERO 000011c0: PUSH2 0x11c8 000011c3: JUMPI 000011c4: PUSH1 0x00 000011c6: DUP1 000011c7: REVERT 000011c8: JUMPDEST 000011c9: PUSH1 0x02 000011cb: PUSH1 0x00 000011cd: DUP4 000011ce: DUP2 000011cf: MSTORE 000011d0: PUSH1 0x20 000011d2: ADD 000011d3: SWAP1 000011d4: DUP2 000011d5: MSTORE 000011d6: PUSH1 0x20 000011d8: ADD 000011d9: PUSH1 0x00 000011db: KECCAK256 000011dc: PUSH1 0x00 000011de: SWAP1 000011df: SLOAD 000011e0: SWAP1 000011e1: PUSH2 0x0100 000011e4: EXP 000011e5: SWAP1 000011e6: DIV 000011e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011fc: AND 000011fd: SWAP1 000011fe: POP 000011ff: SWAP2 00001200: SWAP1 00001201: POP 00001202: JUMP 00001203: JUMPDEST 00001204: PUSH1 0x00 00001206: PUSH2 0x120e 00001209: DUP3 0000120a: PUSH2 0x154b 0000120d: JUMP 0000120e: JUMPDEST 0000120f: SWAP1 00001210: POP 00001211: DUP1 00001212: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001227: AND 00001228: DUP4 00001229: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000123e: AND 0000123f: EQ 00001240: ISZERO 00001241: ISZERO 00001242: ISZERO 00001243: PUSH2 0x124b 00001246: JUMPI 00001247: PUSH1 0x00 00001249: DUP1 0000124a: REVERT 0000124b: JUMPDEST 0000124c: DUP1 0000124d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001262: AND 00001263: CALLER 00001264: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001279: AND 0000127a: EQ 0000127b: DUP1 0000127c: PUSH2 0x128b 0000127f: JUMPI 00001280: POP 00001281: PUSH2 0x128a 00001284: DUP2 00001285: CALLER 00001286: PUSH2 0x1bd0 00001289: JUMP 0000128a: JUMPDEST 0000128b: JUMPDEST 0000128c: ISZERO 0000128d: ISZERO 0000128e: PUSH2 0x1296 00001291: JUMPI 00001292: PUSH1 0x00 00001294: DUP1 00001295: REVERT 00001296: JUMPDEST 00001297: DUP3 00001298: PUSH1 0x02 0000129a: PUSH1 0x00 0000129c: DUP5 0000129d: DUP2 0000129e: MSTORE 0000129f: PUSH1 0x20 000012a1: ADD 000012a2: SWAP1 000012a3: DUP2 000012a4: MSTORE 000012a5: PUSH1 0x20 000012a7: ADD 000012a8: PUSH1 0x00 000012aa: KECCAK256 000012ab: PUSH1 0x00 000012ad: PUSH2 0x0100 000012b0: EXP 000012b1: DUP2 000012b2: SLOAD 000012b3: DUP2 000012b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c9: MUL 000012ca: NOT 000012cb: AND 000012cc: SWAP1 000012cd: DUP4 000012ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012e3: AND 000012e4: MUL 000012e5: OR 000012e6: SWAP1 000012e7: SSTORE 000012e8: POP 000012e9: DUP2 000012ea: DUP4 000012eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001300: AND 00001301: DUP3 00001302: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001317: AND 00001318: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00001339: PUSH1 0x40 0000133b: MLOAD 0000133c: PUSH1 0x40 0000133e: MLOAD 0000133f: DUP1 00001340: SWAP2 00001341: SUB 00001342: SWAP1 00001343: LOG4 00001344: POP 00001345: POP 00001346: POP 00001347: JUMP 00001348: JUMPDEST 00001349: PUSH1 0x00 0000134b: PUSH1 0x07 0000134d: DUP1 0000134e: SLOAD 0000134f: SWAP1 00001350: POP 00001351: SWAP1 00001352: POP 00001353: SWAP1 00001354: JUMP 00001355: JUMPDEST 00001356: PUSH2 0x135d 00001359: PUSH2 0x1752 0000135c: JUMP 0000135d: JUMPDEST 0000135e: ISZERO 0000135f: ISZERO 00001360: PUSH2 0x1368 00001363: JUMPI 00001364: PUSH1 0x00 00001366: DUP1 00001367: REVERT 00001368: JUMPDEST 00001369: PUSH1 0x10 0000136b: PUSH1 0x00 0000136d: SWAP1 0000136e: SLOAD 0000136f: SWAP1 00001370: PUSH2 0x0100 00001373: EXP 00001374: SWAP1 00001375: DIV 00001376: PUSH1 0xff 00001378: AND 00001379: ISZERO 0000137a: ISZERO 0000137b: PUSH2 0x1383 0000137e: JUMPI 0000137f: PUSH1 0x00 00001381: DUP1 00001382: REVERT 00001383: JUMPDEST 00001384: DUP1 00001385: PUSH1 0x0f 00001387: SWAP1 00001388: DUP1 00001389: MLOAD 0000138a: SWAP1 0000138b: PUSH1 0x20 0000138d: ADD 0000138e: SWAP1 0000138f: PUSH2 0x1399 00001392: SWAP3 00001393: SWAP2 00001394: SWAP1 00001395: PUSH2 0x2b36 00001398: JUMP 00001399: JUMPDEST 0000139a: POP 0000139b: PUSH1 0x00 0000139d: PUSH1 0x10 0000139f: PUSH1 0x00 000013a1: PUSH2 0x0100 000013a4: EXP 000013a5: DUP2 000013a6: SLOAD 000013a7: DUP2 000013a8: PUSH1 0xff 000013aa: MUL 000013ab: NOT 000013ac: AND 000013ad: SWAP1 000013ae: DUP4 000013af: ISZERO 000013b0: ISZERO 000013b1: MUL 000013b2: OR 000013b3: SWAP1 000013b4: SSTORE 000013b5: POP 000013b6: POP 000013b7: JUMP 000013b8: JUMPDEST 000013b9: PUSH2 0x13c2 000013bc: CALLER 000013bd: DUP3 000013be: PUSH2 0x1ec5 000013c1: JUMP 000013c2: JUMPDEST 000013c3: ISZERO 000013c4: ISZERO 000013c5: PUSH2 0x13cd 000013c8: JUMPI 000013c9: PUSH1 0x00 000013cb: DUP1 000013cc: REVERT 000013cd: JUMPDEST 000013ce: PUSH2 0x13d8 000013d1: DUP4 000013d2: DUP4 000013d3: DUP4 000013d4: PUSH2 0x1f5a 000013d7: JUMP 000013d8: JUMPDEST 000013d9: POP 000013da: POP 000013db: POP 000013dc: JUMP 000013dd: JUMPDEST 000013de: PUSH1 0x00 000013e0: PUSH2 0x13e8 000013e3: DUP4 000013e4: PUSH2 0x15c9 000013e7: JUMP 000013e8: JUMPDEST 000013e9: DUP3 000013ea: LT 000013eb: ISZERO 000013ec: ISZERO 000013ed: PUSH2 0x13f5 000013f0: JUMPI 000013f1: PUSH1 0x00 000013f3: DUP1 000013f4: REVERT 000013f5: JUMPDEST 000013f6: PUSH1 0x05 000013f8: PUSH1 0x00 000013fa: DUP5 000013fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001410: AND 00001411: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001426: AND 00001427: DUP2 00001428: MSTORE 00001429: PUSH1 0x20 0000142b: ADD 0000142c: SWAP1 0000142d: DUP2 0000142e: MSTORE 0000142f: PUSH1 0x20 00001431: ADD 00001432: PUSH1 0x00 00001434: KECCAK256 00001435: DUP3 00001436: DUP2 00001437: SLOAD 00001438: DUP2 00001439: LT 0000143a: ISZERO 0000143b: ISZERO 0000143c: PUSH2 0x1441 0000143f: JUMPI 00001440: INVALID 00001441: JUMPDEST 00001442: SWAP1 00001443: PUSH1 0x00 00001445: MSTORE 00001446: PUSH1 0x20 00001448: PUSH1 0x00 0000144a: KECCAK256 0000144b: ADD 0000144c: SLOAD 0000144d: SWAP1 0000144e: POP 0000144f: SWAP3 00001450: SWAP2 00001451: POP 00001452: POP 00001453: JUMP 00001454: JUMPDEST 00001455: PUSH1 0x0f 00001457: DUP1 00001458: SLOAD 00001459: PUSH1 0x01 0000145b: DUP2 0000145c: PUSH1 0x01 0000145e: AND 0000145f: ISZERO 00001460: PUSH2 0x0100 00001463: MUL 00001464: SUB 00001465: AND 00001466: PUSH1 0x02 00001468: SWAP1 00001469: DIV 0000146a: DUP1 0000146b: PUSH1 0x1f 0000146d: ADD 0000146e: PUSH1 0x20 00001470: DUP1 00001471: SWAP2 00001472: DIV 00001473: MUL 00001474: PUSH1 0x20 00001476: ADD 00001477: PUSH1 0x40 00001479: MLOAD 0000147a: SWAP1 0000147b: DUP2 0000147c: ADD 0000147d: PUSH1 0x40 0000147f: MSTORE 00001480: DUP1 00001481: SWAP3 00001482: SWAP2 00001483: SWAP1 00001484: DUP2 00001485: DUP2 00001486: MSTORE 00001487: PUSH1 0x20 00001489: ADD 0000148a: DUP3 0000148b: DUP1 0000148c: SLOAD 0000148d: PUSH1 0x01 0000148f: DUP2 00001490: PUSH1 0x01 00001492: AND 00001493: ISZERO 00001494: PUSH2 0x0100 00001497: MUL 00001498: SUB 00001499: AND 0000149a: PUSH1 0x02 0000149c: SWAP1 0000149d: DIV 0000149e: DUP1 0000149f: ISZERO 000014a0: PUSH2 0x14ea 000014a3: JUMPI 000014a4: DUP1 000014a5: PUSH1 0x1f 000014a7: LT 000014a8: PUSH2 0x14bf 000014ab: JUMPI 000014ac: PUSH2 0x0100 000014af: DUP1 000014b0: DUP4 000014b1: SLOAD 000014b2: DIV 000014b3: MUL 000014b4: DUP4 000014b5: MSTORE 000014b6: SWAP2 000014b7: PUSH1 0x20 000014b9: ADD 000014ba: SWAP2 000014bb: PUSH2 0x14ea 000014be: JUMP 000014bf: JUMPDEST 000014c0: DUP3 000014c1: ADD 000014c2: SWAP2 000014c3: SWAP1 000014c4: PUSH1 0x00 000014c6: MSTORE 000014c7: PUSH1 0x20 000014c9: PUSH1 0x00 000014cb: KECCAK256 000014cc: SWAP1 000014cd: JUMPDEST 000014ce: DUP2 000014cf: SLOAD 000014d0: DUP2 000014d1: MSTORE 000014d2: SWAP1 000014d3: PUSH1 0x01 000014d5: ADD 000014d6: SWAP1 000014d7: PUSH1 0x20 000014d9: ADD 000014da: DUP1 000014db: DUP4 000014dc: GT 000014dd: PUSH2 0x14cd 000014e0: JUMPI 000014e1: DUP3 000014e2: SWAP1 000014e3: SUB 000014e4: PUSH1 0x1f 000014e6: AND 000014e7: DUP3 000014e8: ADD 000014e9: SWAP2 000014ea: JUMPDEST 000014eb: POP 000014ec: POP 000014ed: POP 000014ee: POP 000014ef: POP 000014f0: DUP2 000014f1: JUMP 000014f2: JUMPDEST 000014f3: PUSH2 0x150e 000014f6: DUP4 000014f7: DUP4 000014f8: DUP4 000014f9: PUSH1 0x20 000014fb: PUSH1 0x40 000014fd: MLOAD 000014fe: SWAP1 000014ff: DUP2 00001500: ADD 00001501: PUSH1 0x40 00001503: MSTORE 00001504: DUP1 00001505: PUSH1 0x00 00001507: DUP2 00001508: MSTORE 00001509: POP 0000150a: PUSH2 0x19a1 0000150d: JUMP 0000150e: JUMPDEST 0000150f: POP 00001510: POP 00001511: POP 00001512: JUMP 00001513: JUMPDEST 00001514: PUSH1 0x00 00001516: PUSH2 0x151d 00001519: PUSH2 0x1348 0000151c: JUMP 0000151d: JUMPDEST 0000151e: DUP3 0000151f: LT 00001520: ISZERO 00001521: ISZERO 00001522: PUSH2 0x152a 00001525: JUMPI 00001526: PUSH1 0x00 00001528: DUP1 00001529: REVERT 0000152a: JUMPDEST 0000152b: PUSH1 0x07 0000152d: DUP3 0000152e: DUP2 0000152f: SLOAD 00001530: DUP2 00001531: LT 00001532: ISZERO 00001533: ISZERO 00001534: PUSH2 0x1539 00001537: JUMPI 00001538: INVALID 00001539: JUMPDEST 0000153a: SWAP1 0000153b: PUSH1 0x00 0000153d: MSTORE 0000153e: PUSH1 0x20 00001540: PUSH1 0x00 00001542: KECCAK256 00001543: ADD 00001544: SLOAD 00001545: SWAP1 00001546: POP 00001547: SWAP2 00001548: SWAP1 00001549: POP 0000154a: JUMP 0000154b: JUMPDEST 0000154c: PUSH1 0x00 0000154e: DUP1 0000154f: PUSH1 0x01 00001551: PUSH1 0x00 00001553: DUP5 00001554: DUP2 00001555: MSTORE 00001556: PUSH1 0x20 00001558: ADD 00001559: SWAP1 0000155a: DUP2 0000155b: MSTORE 0000155c: PUSH1 0x20 0000155e: ADD 0000155f: PUSH1 0x00 00001561: KECCAK256 00001562: PUSH1 0x00 00001564: SWAP1 00001565: SLOAD 00001566: SWAP1 00001567: PUSH2 0x0100 0000156a: EXP 0000156b: SWAP1 0000156c: DIV 0000156d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001582: AND 00001583: SWAP1 00001584: POP 00001585: PUSH1 0x00 00001587: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000159c: AND 0000159d: DUP2 0000159e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015b3: AND 000015b4: EQ 000015b5: ISZERO 000015b6: ISZERO 000015b7: ISZERO 000015b8: PUSH2 0x15c0 000015bb: JUMPI 000015bc: PUSH1 0x00 000015be: DUP1 000015bf: REVERT 000015c0: JUMPDEST 000015c1: DUP1 000015c2: SWAP2 000015c3: POP 000015c4: POP 000015c5: SWAP2 000015c6: SWAP1 000015c7: POP 000015c8: JUMP 000015c9: JUMPDEST 000015ca: PUSH1 0x00 000015cc: DUP1 000015cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015e2: AND 000015e3: DUP3 000015e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015f9: AND 000015fa: EQ 000015fb: ISZERO 000015fc: ISZERO 000015fd: ISZERO 000015fe: PUSH2 0x1606 00001601: JUMPI 00001602: PUSH1 0x00 00001604: DUP1 00001605: REVERT 00001606: JUMPDEST 00001607: PUSH2 0x164d 0000160a: PUSH1 0x03 0000160c: PUSH1 0x00 0000160e: DUP5 0000160f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001624: AND 00001625: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000163a: AND 0000163b: DUP2 0000163c: MSTORE 0000163d: PUSH1 0x20 0000163f: ADD 00001640: SWAP1 00001641: DUP2 00001642: MSTORE 00001643: PUSH1 0x20 00001645: ADD 00001646: PUSH1 0x00 00001648: KECCAK256 00001649: PUSH2 0x1f7e 0000164c: JUMP 0000164d: JUMPDEST 0000164e: SWAP1 0000164f: POP 00001650: SWAP2 00001651: SWAP1 00001652: POP 00001653: JUMP 00001654: JUMPDEST 00001655: PUSH2 0x165c 00001658: PUSH2 0x1752 0000165b: JUMP 0000165c: JUMPDEST 0000165d: ISZERO 0000165e: ISZERO 0000165f: PUSH2 0x1667 00001662: JUMPI 00001663: PUSH1 0x00 00001665: DUP1 00001666: REVERT 00001667: JUMPDEST 00001668: PUSH1 0x00 0000166a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000167f: AND 00001680: PUSH1 0x0c 00001682: PUSH1 0x00 00001684: SWAP1 00001685: SLOAD 00001686: SWAP1 00001687: PUSH2 0x0100 0000168a: EXP 0000168b: SWAP1 0000168c: DIV 0000168d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016a2: AND 000016a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b8: AND 000016b9: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000016da: PUSH1 0x40 000016dc: MLOAD 000016dd: PUSH1 0x40 000016df: MLOAD 000016e0: DUP1 000016e1: SWAP2 000016e2: SUB 000016e3: SWAP1 000016e4: LOG3 000016e5: PUSH1 0x00 000016e7: PUSH1 0x0c 000016e9: PUSH1 0x00 000016eb: PUSH2 0x0100 000016ee: EXP 000016ef: DUP2 000016f0: SLOAD 000016f1: DUP2 000016f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001707: MUL 00001708: NOT 00001709: AND 0000170a: SWAP1 0000170b: DUP4 0000170c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001721: AND 00001722: MUL 00001723: OR 00001724: SWAP1 00001725: SSTORE 00001726: POP 00001727: JUMP 00001728: JUMPDEST 00001729: PUSH1 0x00 0000172b: PUSH1 0x0c 0000172d: PUSH1 0x00 0000172f: SWAP1 00001730: SLOAD 00001731: SWAP1 00001732: PUSH2 0x0100 00001735: EXP 00001736: SWAP1 00001737: DIV 00001738: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000174d: AND 0000174e: SWAP1 0000174f: POP 00001750: SWAP1 00001751: JUMP 00001752: JUMPDEST 00001753: PUSH1 0x00 00001755: PUSH1 0x0c 00001757: PUSH1 0x00 00001759: SWAP1 0000175a: SLOAD 0000175b: SWAP1 0000175c: PUSH2 0x0100 0000175f: EXP 00001760: SWAP1 00001761: DIV 00001762: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001777: AND 00001778: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000178d: AND 0000178e: CALLER 0000178f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017a4: AND 000017a5: EQ 000017a6: SWAP1 000017a7: POP 000017a8: SWAP1 000017a9: JUMP 000017aa: JUMPDEST 000017ab: PUSH1 0x60 000017ad: PUSH1 0x0a 000017af: DUP1 000017b0: SLOAD 000017b1: PUSH1 0x01 000017b3: DUP2 000017b4: PUSH1 0x01 000017b6: AND 000017b7: ISZERO 000017b8: PUSH2 0x0100 000017bb: MUL 000017bc: SUB 000017bd: AND 000017be: PUSH1 0x02 000017c0: SWAP1 000017c1: DIV 000017c2: DUP1 000017c3: PUSH1 0x1f 000017c5: ADD 000017c6: PUSH1 0x20 000017c8: DUP1 000017c9: SWAP2 000017ca: DIV 000017cb: MUL 000017cc: PUSH1 0x20 000017ce: ADD 000017cf: PUSH1 0x40 000017d1: MLOAD 000017d2: SWAP1 000017d3: DUP2 000017d4: ADD 000017d5: PUSH1 0x40 000017d7: MSTORE 000017d8: DUP1 000017d9: SWAP3 000017da: SWAP2 000017db: SWAP1 000017dc: DUP2 000017dd: DUP2 000017de: MSTORE 000017df: PUSH1 0x20 000017e1: ADD 000017e2: DUP3 000017e3: DUP1 000017e4: SLOAD 000017e5: PUSH1 0x01 000017e7: DUP2 000017e8: PUSH1 0x01 000017ea: AND 000017eb: ISZERO 000017ec: PUSH2 0x0100 000017ef: MUL 000017f0: SUB 000017f1: AND 000017f2: PUSH1 0x02 000017f4: SWAP1 000017f5: DIV 000017f6: DUP1 000017f7: ISZERO 000017f8: PUSH2 0x1842 000017fb: JUMPI 000017fc: DUP1 000017fd: PUSH1 0x1f 000017ff: LT 00001800: PUSH2 0x1817 00001803: JUMPI 00001804: PUSH2 0x0100 00001807: DUP1 00001808: DUP4 00001809: SLOAD 0000180a: DIV 0000180b: MUL 0000180c: DUP4 0000180d: MSTORE 0000180e: SWAP2 0000180f: PUSH1 0x20 00001811: ADD 00001812: SWAP2 00001813: PUSH2 0x1842 00001816: JUMP 00001817: JUMPDEST 00001818: DUP3 00001819: ADD 0000181a: SWAP2 0000181b: SWAP1 0000181c: PUSH1 0x00 0000181e: MSTORE 0000181f: PUSH1 0x20 00001821: PUSH1 0x00 00001823: KECCAK256 00001824: SWAP1 00001825: JUMPDEST 00001826: DUP2 00001827: SLOAD 00001828: DUP2 00001829: MSTORE 0000182a: SWAP1 0000182b: PUSH1 0x01 0000182d: ADD 0000182e: SWAP1 0000182f: PUSH1 0x20 00001831: ADD 00001832: DUP1 00001833: DUP4 00001834: GT 00001835: PUSH2 0x1825 00001838: JUMPI 00001839: DUP3 0000183a: SWAP1 0000183b: SUB 0000183c: PUSH1 0x1f 0000183e: AND 0000183f: DUP3 00001840: ADD 00001841: SWAP2 00001842: JUMPDEST 00001843: POP 00001844: POP 00001845: POP 00001846: POP 00001847: POP 00001848: SWAP1 00001849: POP 0000184a: SWAP1 0000184b: JUMP 0000184c: JUMPDEST 0000184d: PUSH1 0x0e 0000184f: SLOAD 00001850: DUP2 00001851: JUMP 00001852: JUMPDEST 00001853: CALLER 00001854: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001869: AND 0000186a: DUP3 0000186b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001880: AND 00001881: EQ 00001882: ISZERO 00001883: ISZERO 00001884: ISZERO 00001885: PUSH2 0x188d 00001888: JUMPI 00001889: PUSH1 0x00 0000188b: DUP1 0000188c: REVERT 0000188d: JUMPDEST 0000188e: DUP1 0000188f: PUSH1 0x04 00001891: PUSH1 0x00 00001893: CALLER 00001894: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018a9: AND 000018aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018bf: AND 000018c0: DUP2 000018c1: MSTORE 000018c2: PUSH1 0x20 000018c4: ADD 000018c5: SWAP1 000018c6: DUP2 000018c7: MSTORE 000018c8: PUSH1 0x20 000018ca: ADD 000018cb: PUSH1 0x00 000018cd: KECCAK256 000018ce: PUSH1 0x00 000018d0: DUP5 000018d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018e6: AND 000018e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018fc: AND 000018fd: DUP2 000018fe: MSTORE 000018ff: PUSH1 0x20 00001901: ADD 00001902: SWAP1 00001903: DUP2 00001904: MSTORE 00001905: PUSH1 0x20 00001907: ADD 00001908: PUSH1 0x00 0000190a: KECCAK256 0000190b: PUSH1 0x00 0000190d: PUSH2 0x0100 00001910: EXP 00001911: DUP2 00001912: SLOAD 00001913: DUP2 00001914: PUSH1 0xff 00001916: MUL 00001917: NOT 00001918: AND 00001919: SWAP1 0000191a: DUP4 0000191b: ISZERO 0000191c: ISZERO 0000191d: MUL 0000191e: OR 0000191f: SWAP1 00001920: SSTORE 00001921: POP 00001922: DUP2 00001923: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001938: AND 00001939: CALLER 0000193a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000194f: AND 00001950: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 00001971: DUP4 00001972: PUSH1 0x40 00001974: MLOAD 00001975: DUP1 00001976: DUP3 00001977: ISZERO 00001978: ISZERO 00001979: ISZERO 0000197a: ISZERO 0000197b: DUP2 0000197c: MSTORE 0000197d: PUSH1 0x20 0000197f: ADD 00001980: SWAP2 00001981: POP 00001982: POP 00001983: PUSH1 0x40 00001985: MLOAD 00001986: DUP1 00001987: SWAP2 00001988: SUB 00001989: SWAP1 0000198a: LOG3 0000198b: POP 0000198c: POP 0000198d: JUMP 0000198e: JUMPDEST 0000198f: PUSH1 0x10 00001991: PUSH1 0x00 00001993: SWAP1 00001994: SLOAD 00001995: SWAP1 00001996: PUSH2 0x0100 00001999: EXP 0000199a: SWAP1 0000199b: DIV 0000199c: PUSH1 0xff 0000199e: AND 0000199f: DUP2 000019a0: JUMP 000019a1: JUMPDEST 000019a2: PUSH2 0x19ac 000019a5: DUP5 000019a6: DUP5 000019a7: DUP5 000019a8: PUSH2 0x13b8 000019ab: JUMP 000019ac: JUMPDEST 000019ad: PUSH2 0x19b8 000019b0: DUP5 000019b1: DUP5 000019b2: DUP5 000019b3: DUP5 000019b4: PUSH2 0x1f8c 000019b7: JUMP 000019b8: JUMPDEST 000019b9: ISZERO 000019ba: ISZERO 000019bb: PUSH2 0x19c3 000019be: JUMPI 000019bf: PUSH1 0x00 000019c1: DUP1 000019c2: REVERT 000019c3: JUMPDEST 000019c4: POP 000019c5: POP 000019c6: POP 000019c7: POP 000019c8: JUMP 000019c9: JUMPDEST 000019ca: PUSH1 0x0d 000019cc: SLOAD 000019cd: DUP2 000019ce: JUMP 000019cf: JUMPDEST 000019d0: PUSH1 0x60 000019d2: PUSH20 0x1003d51fef31e52262b1e699f03c789ca6dbefdc 000019e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019fc: AND 000019fd: CALLER 000019fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a13: AND 00001a14: EQ 00001a15: DUP1 00001a16: PUSH2 0x1a23 00001a19: JUMPI 00001a1a: POP 00001a1b: PUSH2 0x1a22 00001a1e: PUSH2 0x1752 00001a21: JUMP 00001a22: JUMPDEST 00001a23: JUMPDEST 00001a24: ISZERO 00001a25: ISZERO 00001a26: PUSH2 0x1a2e 00001a29: JUMPI 00001a2a: PUSH1 0x00 00001a2c: DUP1 00001a2d: REVERT 00001a2e: JUMPDEST 00001a2f: PUSH2 0x1a37 00001a32: DUP3 00001a33: PUSH2 0x0fe6 00001a36: JUMP 00001a37: JUMPDEST 00001a38: SWAP2 00001a39: SWAP1 00001a3a: POP 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: PUSH1 0x60 00001a3f: PUSH2 0x1a47 00001a42: DUP3 00001a43: PUSH2 0x1e53 00001a46: JUMP 00001a47: JUMPDEST 00001a48: ISZERO 00001a49: ISZERO 00001a4a: PUSH2 0x1a52 00001a4d: JUMPI 00001a4e: PUSH1 0x00 00001a50: DUP1 00001a51: REVERT 00001a52: JUMPDEST 00001a53: PUSH2 0x1afe 00001a56: PUSH1 0x11 00001a58: DUP1 00001a59: SLOAD 00001a5a: PUSH1 0x01 00001a5c: DUP2 00001a5d: PUSH1 0x01 00001a5f: AND 00001a60: ISZERO 00001a61: PUSH2 0x0100 00001a64: MUL 00001a65: SUB 00001a66: AND 00001a67: PUSH1 0x02 00001a69: SWAP1 00001a6a: DIV 00001a6b: DUP1 00001a6c: PUSH1 0x1f 00001a6e: ADD 00001a6f: PUSH1 0x20 00001a71: DUP1 00001a72: SWAP2 00001a73: DIV 00001a74: MUL 00001a75: PUSH1 0x20 00001a77: ADD 00001a78: PUSH1 0x40 00001a7a: MLOAD 00001a7b: SWAP1 00001a7c: DUP2 00001a7d: ADD 00001a7e: PUSH1 0x40 00001a80: MSTORE 00001a81: DUP1 00001a82: SWAP3 00001a83: SWAP2 00001a84: SWAP1 00001a85: DUP2 00001a86: DUP2 00001a87: MSTORE 00001a88: PUSH1 0x20 00001a8a: ADD 00001a8b: DUP3 00001a8c: DUP1 00001a8d: SLOAD 00001a8e: PUSH1 0x01 00001a90: DUP2 00001a91: PUSH1 0x01 00001a93: AND 00001a94: ISZERO 00001a95: PUSH2 0x0100 00001a98: MUL 00001a99: SUB 00001a9a: AND 00001a9b: PUSH1 0x02 00001a9d: SWAP1 00001a9e: DIV 00001a9f: DUP1 00001aa0: ISZERO 00001aa1: PUSH2 0x1aeb 00001aa4: JUMPI 00001aa5: DUP1 00001aa6: PUSH1 0x1f 00001aa8: LT 00001aa9: PUSH2 0x1ac0 00001aac: JUMPI 00001aad: PUSH2 0x0100 00001ab0: DUP1 00001ab1: DUP4 00001ab2: SLOAD 00001ab3: DIV 00001ab4: MUL 00001ab5: DUP4 00001ab6: MSTORE 00001ab7: SWAP2 00001ab8: PUSH1 0x20 00001aba: ADD 00001abb: SWAP2 00001abc: PUSH2 0x1aeb 00001abf: JUMP 00001ac0: JUMPDEST 00001ac1: DUP3 00001ac2: ADD 00001ac3: SWAP2 00001ac4: SWAP1 00001ac5: PUSH1 0x00 00001ac7: MSTORE 00001ac8: PUSH1 0x20 00001aca: PUSH1 0x00 00001acc: KECCAK256 00001acd: SWAP1 00001ace: JUMPDEST 00001acf: DUP2 00001ad0: SLOAD 00001ad1: DUP2 00001ad2: MSTORE 00001ad3: SWAP1 00001ad4: PUSH1 0x01 00001ad6: ADD 00001ad7: SWAP1 00001ad8: PUSH1 0x20 00001ada: ADD 00001adb: DUP1 00001adc: DUP4 00001add: GT 00001ade: PUSH2 0x1ace 00001ae1: JUMPI 00001ae2: DUP3 00001ae3: SWAP1 00001ae4: SUB 00001ae5: PUSH1 0x1f 00001ae7: AND 00001ae8: DUP3 00001ae9: ADD 00001aea: SWAP2 00001aeb: JUMPDEST 00001aec: POP 00001aed: POP 00001aee: POP 00001aef: POP 00001af0: POP 00001af1: PUSH2 0x1af9 00001af4: DUP5 00001af5: PUSH2 0x21af 00001af8: JUMP 00001af9: JUMPDEST 00001afa: PUSH2 0x2278 00001afd: JUMP 00001afe: JUMPDEST 00001aff: SWAP1 00001b00: POP 00001b01: SWAP2 00001b02: SWAP1 00001b03: POP 00001b04: JUMP 00001b05: JUMPDEST 00001b06: PUSH1 0x11 00001b08: DUP1 00001b09: SLOAD 00001b0a: PUSH1 0x01 00001b0c: DUP2 00001b0d: PUSH1 0x01 00001b0f: AND 00001b10: ISZERO 00001b11: PUSH2 0x0100 00001b14: MUL 00001b15: SUB 00001b16: AND 00001b17: PUSH1 0x02 00001b19: SWAP1 00001b1a: DIV 00001b1b: DUP1 00001b1c: PUSH1 0x1f 00001b1e: ADD 00001b1f: PUSH1 0x20 00001b21: DUP1 00001b22: SWAP2 00001b23: DIV 00001b24: MUL 00001b25: PUSH1 0x20 00001b27: ADD 00001b28: PUSH1 0x40 00001b2a: MLOAD 00001b2b: SWAP1 00001b2c: DUP2 00001b2d: ADD 00001b2e: PUSH1 0x40 00001b30: MSTORE 00001b31: DUP1 00001b32: SWAP3 00001b33: SWAP2 00001b34: SWAP1 00001b35: DUP2 00001b36: DUP2 00001b37: MSTORE 00001b38: PUSH1 0x20 00001b3a: ADD 00001b3b: DUP3 00001b3c: DUP1 00001b3d: SLOAD 00001b3e: PUSH1 0x01 00001b40: DUP2 00001b41: PUSH1 0x01 00001b43: AND 00001b44: ISZERO 00001b45: PUSH2 0x0100 00001b48: MUL 00001b49: SUB 00001b4a: AND 00001b4b: PUSH1 0x02 00001b4d: SWAP1 00001b4e: DIV 00001b4f: DUP1 00001b50: ISZERO 00001b51: PUSH2 0x1b9b 00001b54: JUMPI 00001b55: DUP1 00001b56: PUSH1 0x1f 00001b58: LT 00001b59: PUSH2 0x1b70 00001b5c: JUMPI 00001b5d: PUSH2 0x0100 00001b60: DUP1 00001b61: DUP4 00001b62: SLOAD 00001b63: DIV 00001b64: MUL 00001b65: DUP4 00001b66: MSTORE 00001b67: SWAP2 00001b68: PUSH1 0x20 00001b6a: ADD 00001b6b: SWAP2 00001b6c: PUSH2 0x1b9b 00001b6f: JUMP 00001b70: JUMPDEST 00001b71: DUP3 00001b72: ADD 00001b73: SWAP2 00001b74: SWAP1 00001b75: PUSH1 0x00 00001b77: MSTORE 00001b78: PUSH1 0x20 00001b7a: PUSH1 0x00 00001b7c: KECCAK256 00001b7d: SWAP1 00001b7e: JUMPDEST 00001b7f: DUP2 00001b80: SLOAD 00001b81: DUP2 00001b82: MSTORE 00001b83: SWAP1 00001b84: PUSH1 0x01 00001b86: ADD 00001b87: SWAP1 00001b88: PUSH1 0x20 00001b8a: ADD 00001b8b: DUP1 00001b8c: DUP4 00001b8d: GT 00001b8e: PUSH2 0x1b7e 00001b91: JUMPI 00001b92: DUP3 00001b93: SWAP1 00001b94: SUB 00001b95: PUSH1 0x1f 00001b97: AND 00001b98: DUP3 00001b99: ADD 00001b9a: SWAP2 00001b9b: JUMPDEST 00001b9c: POP 00001b9d: POP 00001b9e: POP 00001b9f: POP 00001ba0: POP 00001ba1: DUP2 00001ba2: JUMP 00001ba3: JUMPDEST 00001ba4: PUSH2 0x1bab 00001ba7: PUSH2 0x1752 00001baa: JUMP 00001bab: JUMPDEST 00001bac: ISZERO 00001bad: ISZERO 00001bae: PUSH2 0x1bb6 00001bb1: JUMPI 00001bb2: PUSH1 0x00 00001bb4: DUP1 00001bb5: REVERT 00001bb6: JUMPDEST 00001bb7: DUP1 00001bb8: PUSH1 0x11 00001bba: SWAP1 00001bbb: DUP1 00001bbc: MLOAD 00001bbd: SWAP1 00001bbe: PUSH1 0x20 00001bc0: ADD 00001bc1: SWAP1 00001bc2: PUSH2 0x1bcc 00001bc5: SWAP3 00001bc6: SWAP2 00001bc7: SWAP1 00001bc8: PUSH2 0x2b36 00001bcb: JUMP 00001bcc: JUMPDEST 00001bcd: POP 00001bce: POP 00001bcf: JUMP 00001bd0: JUMPDEST 00001bd1: PUSH1 0x00 00001bd3: PUSH1 0x04 00001bd5: PUSH1 0x00 00001bd7: DUP5 00001bd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bed: AND 00001bee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c03: AND 00001c04: DUP2 00001c05: MSTORE 00001c06: PUSH1 0x20 00001c08: ADD 00001c09: SWAP1 00001c0a: DUP2 00001c0b: MSTORE 00001c0c: PUSH1 0x20 00001c0e: ADD 00001c0f: PUSH1 0x00 00001c11: KECCAK256 00001c12: PUSH1 0x00 00001c14: DUP4 00001c15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c2a: AND 00001c2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c40: AND 00001c41: DUP2 00001c42: MSTORE 00001c43: PUSH1 0x20 00001c45: ADD 00001c46: SWAP1 00001c47: DUP2 00001c48: MSTORE 00001c49: PUSH1 0x20 00001c4b: ADD 00001c4c: PUSH1 0x00 00001c4e: KECCAK256 00001c4f: PUSH1 0x00 00001c51: SWAP1 00001c52: SLOAD 00001c53: SWAP1 00001c54: PUSH2 0x0100 00001c57: EXP 00001c58: SWAP1 00001c59: DIV 00001c5a: PUSH1 0xff 00001c5c: AND 00001c5d: SWAP1 00001c5e: POP 00001c5f: SWAP3 00001c60: SWAP2 00001c61: POP 00001c62: POP 00001c63: JUMP 00001c64: JUMPDEST 00001c65: PUSH2 0x1c6c 00001c68: PUSH2 0x1752 00001c6b: JUMP 00001c6c: JUMPDEST 00001c6d: ISZERO 00001c6e: ISZERO 00001c6f: PUSH2 0x1c77 00001c72: JUMPI 00001c73: PUSH1 0x00 00001c75: DUP1 00001c76: REVERT 00001c77: JUMPDEST 00001c78: PUSH2 0x1c80 00001c7b: DUP2 00001c7c: PUSH2 0x2344 00001c7f: JUMP 00001c80: JUMPDEST 00001c81: POP 00001c82: JUMP 00001c83: JUMPDEST 00001c84: PUSH1 0x00 00001c86: PUSH1 0x01 00001c88: PUSH1 0x0d 00001c8a: SLOAD 00001c8b: ADD 00001c8c: PUSH1 0x0d 00001c8e: DUP2 00001c8f: SWAP1 00001c90: SSTORE 00001c91: POP 00001c92: PUSH1 0x0d 00001c94: SLOAD 00001c95: SWAP1 00001c96: POP 00001c97: SWAP1 00001c98: JUMP 00001c99: JUMPDEST 00001c9a: PUSH2 0x1ca3 00001c9d: DUP3 00001c9e: DUP3 00001c9f: PUSH2 0x2440 00001ca2: JUMP 00001ca3: JUMPDEST 00001ca4: PUSH2 0x1cad 00001ca7: DUP3 00001ca8: DUP3 00001ca9: PUSH2 0x258a 00001cac: JUMP 00001cad: JUMPDEST 00001cae: PUSH2 0x1cb6 00001cb1: DUP2 00001cb2: PUSH2 0x2651 00001cb5: JUMP 00001cb6: JUMPDEST 00001cb7: POP 00001cb8: POP 00001cb9: JUMP 00001cba: JUMPDEST 00001cbb: PUSH1 0x60 00001cbd: PUSH1 0x00 00001cbf: DUP3 00001cc0: EQ 00001cc1: ISZERO 00001cc2: PUSH2 0x1d02 00001cc5: JUMPI 00001cc6: PUSH1 0x40 00001cc8: DUP1 00001cc9: MLOAD 00001cca: SWAP1 00001ccb: DUP2 00001ccc: ADD 00001ccd: PUSH1 0x40 00001ccf: MSTORE 00001cd0: DUP1 00001cd1: PUSH1 0x01 00001cd3: DUP2 00001cd4: MSTORE 00001cd5: PUSH1 0x20 00001cd7: ADD 00001cd8: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00001cf9: DUP2 00001cfa: MSTORE 00001cfb: POP 00001cfc: SWAP1 00001cfd: POP 00001cfe: PUSH2 0x1e0e 00001d01: JUMP 00001d02: JUMPDEST 00001d03: PUSH1 0x00 00001d05: DUP3 00001d06: SWAP1 00001d07: POP 00001d08: PUSH1 0x00 00001d0a: JUMPDEST 00001d0b: PUSH1 0x00 00001d0d: DUP3 00001d0e: EQ 00001d0f: ISZERO 00001d10: ISZERO 00001d11: PUSH2 0x1d30 00001d14: JUMPI 00001d15: DUP1 00001d16: DUP1 00001d17: PUSH1 0x01 00001d19: ADD 00001d1a: SWAP2 00001d1b: POP 00001d1c: POP 00001d1d: PUSH1 0x0a 00001d1f: DUP3 00001d20: DUP2 00001d21: ISZERO 00001d22: ISZERO 00001d23: PUSH2 0x1d28 00001d26: JUMPI 00001d27: INVALID 00001d28: JUMPDEST 00001d29: DIV 00001d2a: SWAP2 00001d2b: POP 00001d2c: PUSH2 0x1d0a 00001d2f: JUMP 00001d30: JUMPDEST 00001d31: PUSH1 0x60 00001d33: DUP2 00001d34: PUSH1 0x40 00001d36: MLOAD 00001d37: SWAP1 00001d38: DUP1 00001d39: DUP3 00001d3a: MSTORE 00001d3b: DUP1 00001d3c: PUSH1 0x1f 00001d3e: ADD 00001d3f: PUSH1 0x1f 00001d41: NOT 00001d42: AND 00001d43: PUSH1 0x20 00001d45: ADD 00001d46: DUP3 00001d47: ADD 00001d48: PUSH1 0x40 00001d4a: MSTORE 00001d4b: DUP1 00001d4c: ISZERO 00001d4d: PUSH2 0x1d65 00001d50: JUMPI 00001d51: DUP2 00001d52: PUSH1 0x20 00001d54: ADD 00001d55: PUSH1 0x01 00001d57: DUP3 00001d58: MUL 00001d59: DUP1 00001d5a: CODESIZE 00001d5b: DUP4 00001d5c: CODECOPY 00001d5d: DUP1 00001d5e: DUP3 00001d5f: ADD 00001d60: SWAP2 00001d61: POP 00001d62: POP 00001d63: SWAP1 00001d64: POP 00001d65: JUMPDEST 00001d66: POP 00001d67: SWAP1 00001d68: POP 00001d69: PUSH1 0x00 00001d6b: PUSH1 0x01 00001d6d: DUP4 00001d6e: SUB 00001d6f: SWAP1 00001d70: POP 00001d71: JUMPDEST 00001d72: PUSH1 0x00 00001d74: DUP7 00001d75: EQ 00001d76: ISZERO 00001d77: ISZERO 00001d78: PUSH2 0x1e06 00001d7b: JUMPI 00001d7c: PUSH1 0x0a 00001d7e: DUP7 00001d7f: DUP2 00001d80: ISZERO 00001d81: ISZERO 00001d82: PUSH2 0x1d87 00001d85: JUMPI 00001d86: INVALID 00001d87: JUMPDEST 00001d88: MOD 00001d89: PUSH1 0x30 00001d8b: ADD 00001d8c: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000 00001dad: MUL 00001dae: DUP3 00001daf: DUP3 00001db0: DUP1 00001db1: PUSH1 0x01 00001db3: SWAP1 00001db4: SUB 00001db5: SWAP4 00001db6: POP 00001db7: DUP2 00001db8: MLOAD 00001db9: DUP2 00001dba: LT 00001dbb: ISZERO 00001dbc: ISZERO 00001dbd: PUSH2 0x1dc2 00001dc0: JUMPI 00001dc1: INVALID 00001dc2: JUMPDEST 00001dc3: SWAP1 00001dc4: PUSH1 0x20 00001dc6: ADD 00001dc7: ADD 00001dc8: SWAP1 00001dc9: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001de9: NOT 00001dea: AND 00001deb: SWAP1 00001dec: DUP2 00001ded: PUSH1 0x00 00001def: BYTE 00001df0: SWAP1 00001df1: MSTORE8 00001df2: POP 00001df3: PUSH1 0x0a 00001df5: DUP7 00001df6: DUP2 00001df7: ISZERO 00001df8: ISZERO 00001df9: PUSH2 0x1dfe 00001dfc: JUMPI 00001dfd: INVALID 00001dfe: JUMPDEST 00001dff: DIV 00001e00: SWAP6 00001e01: POP 00001e02: PUSH2 0x1d71 00001e05: JUMP 00001e06: JUMPDEST 00001e07: DUP2 00001e08: SWAP5 00001e09: POP 00001e0a: POP 00001e0b: POP 00001e0c: POP 00001e0d: POP 00001e0e: JUMPDEST 00001e0f: SWAP2 00001e10: SWAP1 00001e11: POP 00001e12: JUMP 00001e13: JUMPDEST 00001e14: PUSH2 0x1e1c 00001e17: DUP3 00001e18: PUSH2 0x1e53 00001e1b: JUMP 00001e1c: JUMPDEST 00001e1d: ISZERO 00001e1e: ISZERO 00001e1f: PUSH2 0x1e27 00001e22: JUMPI 00001e23: PUSH1 0x00 00001e25: DUP1 00001e26: REVERT 00001e27: JUMPDEST 00001e28: DUP1 00001e29: PUSH1 0x0b 00001e2b: PUSH1 0x00 00001e2d: DUP5 00001e2e: DUP2 00001e2f: MSTORE 00001e30: PUSH1 0x20 00001e32: ADD 00001e33: SWAP1 00001e34: DUP2 00001e35: MSTORE 00001e36: PUSH1 0x20 00001e38: ADD 00001e39: PUSH1 0x00 00001e3b: KECCAK256 00001e3c: SWAP1 00001e3d: DUP1 00001e3e: MLOAD 00001e3f: SWAP1 00001e40: PUSH1 0x20 00001e42: ADD 00001e43: SWAP1 00001e44: PUSH2 0x1e4e 00001e47: SWAP3 00001e48: SWAP2 00001e49: SWAP1 00001e4a: PUSH2 0x2b36 00001e4d: JUMP 00001e4e: JUMPDEST 00001e4f: POP 00001e50: POP 00001e51: POP 00001e52: JUMP 00001e53: JUMPDEST 00001e54: PUSH1 0x00 00001e56: DUP1 00001e57: PUSH1 0x01 00001e59: PUSH1 0x00 00001e5b: DUP5 00001e5c: DUP2 00001e5d: MSTORE 00001e5e: PUSH1 0x20 00001e60: ADD 00001e61: SWAP1 00001e62: DUP2 00001e63: MSTORE 00001e64: PUSH1 0x20 00001e66: ADD 00001e67: PUSH1 0x00 00001e69: KECCAK256 00001e6a: PUSH1 0x00 00001e6c: SWAP1 00001e6d: SLOAD 00001e6e: SWAP1 00001e6f: PUSH2 0x0100 00001e72: EXP 00001e73: SWAP1 00001e74: DIV 00001e75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e8a: AND 00001e8b: SWAP1 00001e8c: POP 00001e8d: PUSH1 0x00 00001e8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ea4: AND 00001ea5: DUP2 00001ea6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ebb: AND 00001ebc: EQ 00001ebd: ISZERO 00001ebe: SWAP2 00001ebf: POP 00001ec0: POP 00001ec1: SWAP2 00001ec2: SWAP1 00001ec3: POP 00001ec4: JUMP 00001ec5: JUMPDEST 00001ec6: PUSH1 0x00 00001ec8: DUP1 00001ec9: PUSH2 0x1ed1 00001ecc: DUP4 00001ecd: PUSH2 0x154b 00001ed0: JUMP 00001ed1: JUMPDEST 00001ed2: SWAP1 00001ed3: POP 00001ed4: DUP1 00001ed5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eea: AND 00001eeb: DUP5 00001eec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f01: AND 00001f02: EQ 00001f03: DUP1 00001f04: PUSH2 0x1f40 00001f07: JUMPI 00001f08: POP 00001f09: DUP4 00001f0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f1f: AND 00001f20: PUSH2 0x1f28 00001f23: DUP5 00001f24: PUSH2 0x11b2 00001f27: JUMP 00001f28: JUMPDEST 00001f29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f3e: AND 00001f3f: EQ 00001f40: JUMPDEST 00001f41: DUP1 00001f42: PUSH2 0x1f51 00001f45: JUMPI 00001f46: POP 00001f47: PUSH2 0x1f50 00001f4a: DUP2 00001f4b: DUP6 00001f4c: PUSH2 0x1bd0 00001f4f: JUMP 00001f50: JUMPDEST 00001f51: JUMPDEST 00001f52: SWAP2 00001f53: POP 00001f54: POP 00001f55: SWAP3 00001f56: SWAP2 00001f57: POP 00001f58: POP 00001f59: JUMP 00001f5a: JUMPDEST 00001f5b: PUSH2 0x1f65 00001f5e: DUP4 00001f5f: DUP4 00001f60: DUP4 00001f61: PUSH2 0x269d 00001f64: JUMP 00001f65: JUMPDEST 00001f66: PUSH2 0x1f6f 00001f69: DUP4 00001f6a: DUP3 00001f6b: PUSH2 0x2864 00001f6e: JUMP 00001f6f: JUMPDEST 00001f70: PUSH2 0x1f79 00001f73: DUP3 00001f74: DUP3 00001f75: PUSH2 0x258a 00001f78: JUMP 00001f79: JUMPDEST 00001f7a: POP 00001f7b: POP 00001f7c: POP 00001f7d: JUMP 00001f7e: JUMPDEST 00001f7f: PUSH1 0x00 00001f81: DUP2 00001f82: PUSH1 0x00 00001f84: ADD 00001f85: SLOAD 00001f86: SWAP1 00001f87: POP 00001f88: SWAP2 00001f89: SWAP1 00001f8a: POP 00001f8b: JUMP 00001f8c: JUMPDEST 00001f8d: PUSH1 0x00 00001f8f: PUSH2 0x1fad 00001f92: DUP5 00001f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fa8: AND 00001fa9: PUSH2 0x2a08 00001fac: JUMP 00001fad: JUMPDEST 00001fae: ISZERO 00001faf: ISZERO 00001fb0: PUSH2 0x1fbc 00001fb3: JUMPI 00001fb4: PUSH1 0x01 00001fb6: SWAP1 00001fb7: POP 00001fb8: PUSH2 0x21a7 00001fbb: JUMP 00001fbc: JUMPDEST 00001fbd: PUSH1 0x00 00001fbf: DUP5 00001fc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fd5: AND 00001fd6: PUSH4 0x150b7a02 00001fdb: CALLER 00001fdc: DUP9 00001fdd: DUP8 00001fde: DUP8 00001fdf: PUSH1 0x40 00001fe1: MLOAD 00001fe2: DUP6 00001fe3: PUSH4 0xffffffff 00001fe8: AND 00001fe9: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002007: MUL 00002008: DUP2 00002009: MSTORE 0000200a: PUSH1 0x04 0000200c: ADD 0000200d: DUP1 0000200e: DUP6 0000200f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002024: AND 00002025: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000203a: AND 0000203b: DUP2 0000203c: MSTORE 0000203d: PUSH1 0x20 0000203f: ADD 00002040: DUP5 00002041: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002056: AND 00002057: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000206c: AND 0000206d: DUP2 0000206e: MSTORE 0000206f: PUSH1 0x20 00002071: ADD 00002072: DUP4 00002073: DUP2 00002074: MSTORE 00002075: PUSH1 0x20 00002077: ADD 00002078: DUP1 00002079: PUSH1 0x20 0000207b: ADD 0000207c: DUP3 0000207d: DUP2 0000207e: SUB 0000207f: DUP3 00002080: MSTORE 00002081: DUP4 00002082: DUP2 00002083: DUP2 00002084: MLOAD 00002085: DUP2 00002086: MSTORE 00002087: PUSH1 0x20 00002089: ADD 0000208a: SWAP2 0000208b: POP 0000208c: DUP1 0000208d: MLOAD 0000208e: SWAP1 0000208f: PUSH1 0x20 00002091: ADD 00002092: SWAP1 00002093: DUP1 00002094: DUP4 00002095: DUP4 00002096: PUSH1 0x00 00002098: JUMPDEST 00002099: DUP4 0000209a: DUP2 0000209b: LT 0000209c: ISZERO 0000209d: PUSH2 0x20b3 000020a0: JUMPI 000020a1: DUP1 000020a2: DUP3 000020a3: ADD 000020a4: MLOAD 000020a5: DUP2 000020a6: DUP5 000020a7: ADD 000020a8: MSTORE 000020a9: PUSH1 0x20 000020ab: DUP2 000020ac: ADD 000020ad: SWAP1 000020ae: POP 000020af: PUSH2 0x2098 000020b2: JUMP 000020b3: JUMPDEST 000020b4: POP 000020b5: POP 000020b6: POP 000020b7: POP 000020b8: SWAP1 000020b9: POP 000020ba: SWAP1 000020bb: DUP2 000020bc: ADD 000020bd: SWAP1 000020be: PUSH1 0x1f 000020c0: AND 000020c1: DUP1 000020c2: ISZERO 000020c3: PUSH2 0x20e0 000020c6: JUMPI 000020c7: DUP1 000020c8: DUP3 000020c9: SUB 000020ca: DUP1 000020cb: MLOAD 000020cc: PUSH1 0x01 000020ce: DUP4 000020cf: PUSH1 0x20 000020d1: SUB 000020d2: PUSH2 0x0100 000020d5: EXP 000020d6: SUB 000020d7: NOT 000020d8: AND 000020d9: DUP2 000020da: MSTORE 000020db: PUSH1 0x20 000020dd: ADD 000020de: SWAP2 000020df: POP 000020e0: JUMPDEST 000020e1: POP 000020e2: SWAP6 000020e3: POP 000020e4: POP 000020e5: POP 000020e6: POP 000020e7: POP 000020e8: POP 000020e9: PUSH1 0x20 000020eb: PUSH1 0x40 000020ed: MLOAD 000020ee: DUP1 000020ef: DUP4 000020f0: SUB 000020f1: DUP2 000020f2: PUSH1 0x00 000020f4: DUP8 000020f5: DUP1 000020f6: EXTCODESIZE 000020f7: ISZERO 000020f8: DUP1 000020f9: ISZERO 000020fa: PUSH2 0x2102 000020fd: JUMPI 000020fe: PUSH1 0x00 00002100: DUP1 00002101: REVERT 00002102: JUMPDEST 00002103: POP 00002104: GAS 00002105: CALL 00002106: ISZERO 00002107: DUP1 00002108: ISZERO 00002109: PUSH2 0x2116 0000210c: JUMPI 0000210d: RETURNDATASIZE 0000210e: PUSH1 0x00 00002110: DUP1 00002111: RETURNDATACOPY 00002112: RETURNDATASIZE 00002113: PUSH1 0x00 00002115: REVERT 00002116: JUMPDEST 00002117: POP 00002118: POP 00002119: POP 0000211a: POP 0000211b: PUSH1 0x40 0000211d: MLOAD 0000211e: RETURNDATASIZE 0000211f: PUSH1 0x20 00002121: DUP2 00002122: LT 00002123: ISZERO 00002124: PUSH2 0x212c 00002127: JUMPI 00002128: PUSH1 0x00 0000212a: DUP1 0000212b: REVERT 0000212c: JUMPDEST 0000212d: DUP2 0000212e: ADD 0000212f: SWAP1 00002130: DUP1 00002131: DUP1 00002132: MLOAD 00002133: SWAP1 00002134: PUSH1 0x20 00002136: ADD 00002137: SWAP1 00002138: SWAP3 00002139: SWAP2 0000213a: SWAP1 0000213b: POP 0000213c: POP 0000213d: POP 0000213e: SWAP1 0000213f: POP 00002140: PUSH4 0x150b7a02 00002145: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00002163: MUL 00002164: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002181: NOT 00002182: AND 00002183: DUP2 00002184: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000021a1: NOT 000021a2: AND 000021a3: EQ 000021a4: SWAP2 000021a5: POP 000021a6: POP 000021a7: JUMPDEST 000021a8: SWAP5 000021a9: SWAP4 000021aa: POP 000021ab: POP 000021ac: POP 000021ad: POP 000021ae: JUMP 000021af: JUMPDEST 000021b0: PUSH1 0x60 000021b2: PUSH2 0x21ba 000021b5: DUP3 000021b6: PUSH2 0x1e53 000021b9: JUMP 000021ba: JUMPDEST 000021bb: ISZERO 000021bc: ISZERO 000021bd: PUSH2 0x21c5 000021c0: JUMPI 000021c1: PUSH1 0x00 000021c3: DUP1 000021c4: REVERT 000021c5: JUMPDEST 000021c6: PUSH1 0x0b 000021c8: PUSH1 0x00 000021ca: DUP4 000021cb: DUP2 000021cc: MSTORE 000021cd: PUSH1 0x20 000021cf: ADD 000021d0: SWAP1 000021d1: DUP2 000021d2: MSTORE 000021d3: PUSH1 0x20 000021d5: ADD 000021d6: PUSH1 0x00 000021d8: KECCAK256 000021d9: DUP1 000021da: SLOAD 000021db: PUSH1 0x01 000021dd: DUP2 000021de: PUSH1 0x01 000021e0: AND 000021e1: ISZERO 000021e2: PUSH2 0x0100 000021e5: MUL 000021e6: SUB 000021e7: AND 000021e8: PUSH1 0x02 000021ea: SWAP1 000021eb: DIV 000021ec: DUP1 000021ed: PUSH1 0x1f 000021ef: ADD 000021f0: PUSH1 0x20 000021f2: DUP1 000021f3: SWAP2 000021f4: DIV 000021f5: MUL 000021f6: PUSH1 0x20 000021f8: ADD 000021f9: PUSH1 0x40 000021fb: MLOAD 000021fc: SWAP1 000021fd: DUP2 000021fe: ADD 000021ff: PUSH1 0x40 00002201: MSTORE 00002202: DUP1 00002203: SWAP3 00002204: SWAP2 00002205: SWAP1 00002206: DUP2 00002207: DUP2 00002208: MSTORE 00002209: PUSH1 0x20 0000220b: ADD 0000220c: DUP3 0000220d: DUP1 0000220e: SLOAD 0000220f: PUSH1 0x01 00002211: DUP2 00002212: PUSH1 0x01 00002214: AND 00002215: ISZERO 00002216: PUSH2 0x0100 00002219: MUL 0000221a: SUB 0000221b: AND 0000221c: PUSH1 0x02 0000221e: SWAP1 0000221f: DIV 00002220: DUP1 00002221: ISZERO 00002222: PUSH2 0x226c 00002225: JUMPI 00002226: DUP1 00002227: PUSH1 0x1f 00002229: LT 0000222a: PUSH2 0x2241 0000222d: JUMPI 0000222e: PUSH2 0x0100 00002231: DUP1 00002232: DUP4 00002233: SLOAD 00002234: DIV 00002235: MUL 00002236: DUP4 00002237: MSTORE 00002238: SWAP2 00002239: PUSH1 0x20 0000223b: ADD 0000223c: SWAP2 0000223d: PUSH2 0x226c 00002240: JUMP 00002241: JUMPDEST 00002242: DUP3 00002243: ADD 00002244: SWAP2 00002245: SWAP1 00002246: PUSH1 0x00 00002248: MSTORE 00002249: PUSH1 0x20 0000224b: PUSH1 0x00 0000224d: KECCAK256 0000224e: SWAP1 0000224f: JUMPDEST 00002250: DUP2 00002251: SLOAD 00002252: DUP2 00002253: MSTORE 00002254: SWAP1 00002255: PUSH1 0x01 00002257: ADD 00002258: SWAP1 00002259: PUSH1 0x20 0000225b: ADD 0000225c: DUP1 0000225d: DUP4 0000225e: GT 0000225f: PUSH2 0x224f 00002262: JUMPI 00002263: DUP3 00002264: SWAP1 00002265: SUB 00002266: PUSH1 0x1f 00002268: AND 00002269: DUP3 0000226a: ADD 0000226b: SWAP2 0000226c: JUMPDEST 0000226d: POP 0000226e: POP 0000226f: POP 00002270: POP 00002271: POP 00002272: SWAP1 00002273: POP 00002274: SWAP2 00002275: SWAP1 00002276: POP 00002277: JUMP 00002278: JUMPDEST 00002279: PUSH1 0x60 0000227b: DUP3 0000227c: DUP3 0000227d: PUSH1 0x40 0000227f: MLOAD 00002280: PUSH1 0x20 00002282: ADD 00002283: DUP1 00002284: DUP4 00002285: DUP1 00002286: MLOAD 00002287: SWAP1 00002288: PUSH1 0x20 0000228a: ADD 0000228b: SWAP1 0000228c: DUP1 0000228d: DUP4 0000228e: DUP4 0000228f: JUMPDEST 00002290: PUSH1 0x20 00002292: DUP4 00002293: LT 00002294: ISZERO 00002295: ISZERO 00002296: PUSH2 0x22b4 00002299: JUMPI 0000229a: DUP1 0000229b: MLOAD 0000229c: DUP3 0000229d: MSTORE 0000229e: PUSH1 0x20 000022a0: DUP3 000022a1: ADD 000022a2: SWAP2 000022a3: POP 000022a4: PUSH1 0x20 000022a6: DUP2 000022a7: ADD 000022a8: SWAP1 000022a9: POP 000022aa: PUSH1 0x20 000022ac: DUP4 000022ad: SUB 000022ae: SWAP3 000022af: POP 000022b0: PUSH2 0x228f 000022b3: JUMP 000022b4: JUMPDEST 000022b5: PUSH1 0x01 000022b7: DUP4 000022b8: PUSH1 0x20 000022ba: SUB 000022bb: PUSH2 0x0100 000022be: EXP 000022bf: SUB 000022c0: DUP1 000022c1: NOT 000022c2: DUP3 000022c3: MLOAD 000022c4: AND 000022c5: DUP2 000022c6: DUP5 000022c7: MLOAD 000022c8: AND 000022c9: DUP1 000022ca: DUP3 000022cb: OR 000022cc: DUP6 000022cd: MSTORE 000022ce: POP 000022cf: POP 000022d0: POP 000022d1: POP 000022d2: POP 000022d3: POP 000022d4: SWAP1 000022d5: POP 000022d6: ADD 000022d7: DUP3 000022d8: DUP1 000022d9: MLOAD 000022da: SWAP1 000022db: PUSH1 0x20 000022dd: ADD 000022de: SWAP1 000022df: DUP1 000022e0: DUP4 000022e1: DUP4 000022e2: JUMPDEST 000022e3: PUSH1 0x20 000022e5: DUP4 000022e6: LT 000022e7: ISZERO 000022e8: ISZERO 000022e9: PUSH2 0x2307 000022ec: JUMPI 000022ed: DUP1 000022ee: MLOAD 000022ef: DUP3 000022f0: MSTORE 000022f1: PUSH1 0x20 000022f3: DUP3 000022f4: ADD 000022f5: SWAP2 000022f6: POP 000022f7: PUSH1 0x20 000022f9: DUP2 000022fa: ADD 000022fb: SWAP1 000022fc: POP 000022fd: PUSH1 0x20 000022ff: DUP4 00002300: SUB 00002301: SWAP3 00002302: POP 00002303: PUSH2 0x22e2 00002306: JUMP 00002307: JUMPDEST 00002308: PUSH1 0x01 0000230a: DUP4 0000230b: PUSH1 0x20 0000230d: SUB 0000230e: PUSH2 0x0100 00002311: EXP 00002312: SUB 00002313: DUP1 00002314: NOT 00002315: DUP3 00002316: MLOAD 00002317: AND 00002318: DUP2 00002319: DUP5 0000231a: MLOAD 0000231b: AND 0000231c: DUP1 0000231d: DUP3 0000231e: OR 0000231f: DUP6 00002320: MSTORE 00002321: POP 00002322: POP 00002323: POP 00002324: POP 00002325: POP 00002326: POP 00002327: SWAP1 00002328: POP 00002329: ADD 0000232a: SWAP3 0000232b: POP 0000232c: POP 0000232d: POP 0000232e: PUSH1 0x40 00002330: MLOAD 00002331: PUSH1 0x20 00002333: DUP2 00002334: DUP4 00002335: SUB 00002336: SUB 00002337: DUP2 00002338: MSTORE 00002339: SWAP1 0000233a: PUSH1 0x40 0000233c: MSTORE 0000233d: SWAP1 0000233e: POP 0000233f: SWAP3 00002340: SWAP2 00002341: POP 00002342: POP 00002343: JUMP 00002344: JUMPDEST 00002345: PUSH1 0x00 00002347: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000235c: AND 0000235d: DUP2 0000235e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002373: AND 00002374: EQ 00002375: ISZERO 00002376: ISZERO 00002377: ISZERO 00002378: PUSH2 0x2380 0000237b: JUMPI 0000237c: PUSH1 0x00 0000237e: DUP1 0000237f: REVERT 00002380: JUMPDEST 00002381: DUP1 00002382: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002397: AND 00002398: PUSH1 0x0c 0000239a: PUSH1 0x00 0000239c: SWAP1 0000239d: SLOAD 0000239e: SWAP1 0000239f: PUSH2 0x0100 000023a2: EXP 000023a3: SWAP1 000023a4: DIV 000023a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023ba: AND 000023bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023d0: AND 000023d1: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000023f2: PUSH1 0x40 000023f4: MLOAD 000023f5: PUSH1 0x40 000023f7: MLOAD 000023f8: DUP1 000023f9: SWAP2 000023fa: SUB 000023fb: SWAP1 000023fc: LOG3 000023fd: DUP1 000023fe: PUSH1 0x0c 00002400: PUSH1 0x00 00002402: PUSH2 0x0100 00002405: EXP 00002406: DUP2 00002407: SLOAD 00002408: DUP2 00002409: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000241e: MUL 0000241f: NOT 00002420: AND 00002421: SWAP1 00002422: DUP4 00002423: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002438: AND 00002439: MUL 0000243a: OR 0000243b: SWAP1 0000243c: SSTORE 0000243d: POP 0000243e: POP 0000243f: JUMP 00002440: JUMPDEST 00002441: PUSH1 0x00 00002443: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002458: AND 00002459: DUP3 0000245a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000246f: AND 00002470: EQ 00002471: ISZERO 00002472: ISZERO 00002473: ISZERO 00002474: PUSH2 0x247c 00002477: JUMPI 00002478: PUSH1 0x00 0000247a: DUP1 0000247b: REVERT 0000247c: JUMPDEST 0000247d: PUSH2 0x2485 00002480: DUP2 00002481: PUSH2 0x1e53 00002484: JUMP 00002485: JUMPDEST 00002486: ISZERO 00002487: ISZERO 00002488: ISZERO 00002489: PUSH2 0x2491 0000248c: JUMPI 0000248d: PUSH1 0x00 0000248f: DUP1 00002490: REVERT 00002491: JUMPDEST 00002492: DUP2 00002493: PUSH1 0x01 00002495: PUSH1 0x00 00002497: DUP4 00002498: DUP2 00002499: MSTORE 0000249a: PUSH1 0x20 0000249c: ADD 0000249d: SWAP1 0000249e: DUP2 0000249f: MSTORE 000024a0: PUSH1 0x20 000024a2: ADD 000024a3: PUSH1 0x00 000024a5: KECCAK256 000024a6: PUSH1 0x00 000024a8: PUSH2 0x0100 000024ab: EXP 000024ac: DUP2 000024ad: SLOAD 000024ae: DUP2 000024af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024c4: MUL 000024c5: NOT 000024c6: AND 000024c7: SWAP1 000024c8: DUP4 000024c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024de: AND 000024df: MUL 000024e0: OR 000024e1: SWAP1 000024e2: SSTORE 000024e3: POP 000024e4: PUSH2 0x252a 000024e7: PUSH1 0x03 000024e9: PUSH1 0x00 000024eb: DUP5 000024ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002501: AND 00002502: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002517: AND 00002518: DUP2 00002519: MSTORE 0000251a: PUSH1 0x20 0000251c: ADD 0000251d: SWAP1 0000251e: DUP2 0000251f: MSTORE 00002520: PUSH1 0x20 00002522: ADD 00002523: PUSH1 0x00 00002525: KECCAK256 00002526: PUSH2 0x2a1b 00002529: JUMP 0000252a: JUMPDEST 0000252b: DUP1 0000252c: DUP3 0000252d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002542: AND 00002543: PUSH1 0x00 00002545: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000255a: AND 0000255b: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 0000257c: PUSH1 0x40 0000257e: MLOAD 0000257f: PUSH1 0x40 00002581: MLOAD 00002582: DUP1 00002583: SWAP2 00002584: SUB 00002585: SWAP1 00002586: LOG4 00002587: POP 00002588: POP 00002589: JUMP 0000258a: JUMPDEST 0000258b: PUSH1 0x05 0000258d: PUSH1 0x00 0000258f: DUP4 00002590: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025a5: AND 000025a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025bb: AND 000025bc: DUP2 000025bd: MSTORE 000025be: PUSH1 0x20 000025c0: ADD 000025c1: SWAP1 000025c2: DUP2 000025c3: MSTORE 000025c4: PUSH1 0x20 000025c6: ADD 000025c7: PUSH1 0x00 000025c9: KECCAK256 000025ca: DUP1 000025cb: SLOAD 000025cc: SWAP1 000025cd: POP 000025ce: PUSH1 0x06 000025d0: PUSH1 0x00 000025d2: DUP4 000025d3: DUP2 000025d4: MSTORE 000025d5: PUSH1 0x20 000025d7: ADD 000025d8: SWAP1 000025d9: DUP2 000025da: MSTORE 000025db: PUSH1 0x20 000025dd: ADD 000025de: PUSH1 0x00 000025e0: KECCAK256 000025e1: DUP2 000025e2: SWAP1 000025e3: SSTORE 000025e4: POP 000025e5: PUSH1 0x05 000025e7: PUSH1 0x00 000025e9: DUP4 000025ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025ff: AND 00002600: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002615: AND 00002616: DUP2 00002617: MSTORE 00002618: PUSH1 0x20 0000261a: ADD 0000261b: SWAP1 0000261c: DUP2 0000261d: MSTORE 0000261e: PUSH1 0x20 00002620: ADD 00002621: PUSH1 0x00 00002623: KECCAK256 00002624: DUP2 00002625: SWAP1 00002626: DUP1 00002627: PUSH1 0x01 00002629: DUP2 0000262a: SLOAD 0000262b: ADD 0000262c: DUP1 0000262d: DUP3 0000262e: SSTORE 0000262f: DUP1 00002630: SWAP2 00002631: POP 00002632: POP 00002633: SWAP1 00002634: PUSH1 0x01 00002636: DUP3 00002637: SUB 00002638: SWAP1 00002639: PUSH1 0x00 0000263b: MSTORE 0000263c: PUSH1 0x20 0000263e: PUSH1 0x00 00002640: KECCAK256 00002641: ADD 00002642: PUSH1 0x00 00002644: SWAP1 00002645: SWAP2 00002646: SWAP3 00002647: SWAP1 00002648: SWAP2 00002649: SWAP1 0000264a: SWAP2 0000264b: POP 0000264c: SSTORE 0000264d: POP 0000264e: POP 0000264f: POP 00002650: JUMP 00002651: JUMPDEST 00002652: PUSH1 0x07 00002654: DUP1 00002655: SLOAD 00002656: SWAP1 00002657: POP 00002658: PUSH1 0x08 0000265a: PUSH1 0x00 0000265c: DUP4 0000265d: DUP2 0000265e: MSTORE 0000265f: PUSH1 0x20 00002661: ADD 00002662: SWAP1 00002663: DUP2 00002664: MSTORE 00002665: PUSH1 0x20 00002667: ADD 00002668: PUSH1 0x00 0000266a: KECCAK256 0000266b: DUP2 0000266c: SWAP1 0000266d: SSTORE 0000266e: POP 0000266f: PUSH1 0x07 00002671: DUP2 00002672: SWAP1 00002673: DUP1 00002674: PUSH1 0x01 00002676: DUP2 00002677: SLOAD 00002678: ADD 00002679: DUP1 0000267a: DUP3 0000267b: SSTORE 0000267c: DUP1 0000267d: SWAP2 0000267e: POP 0000267f: POP 00002680: SWAP1 00002681: PUSH1 0x01 00002683: DUP3 00002684: SUB 00002685: SWAP1 00002686: PUSH1 0x00 00002688: MSTORE 00002689: PUSH1 0x20 0000268b: PUSH1 0x00 0000268d: KECCAK256 0000268e: ADD 0000268f: PUSH1 0x00 00002691: SWAP1 00002692: SWAP2 00002693: SWAP3 00002694: SWAP1 00002695: SWAP2 00002696: SWAP1 00002697: SWAP2 00002698: POP 00002699: SSTORE 0000269a: POP 0000269b: POP 0000269c: JUMP 0000269d: JUMPDEST 0000269e: DUP3 0000269f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026b4: AND 000026b5: PUSH2 0x26bd 000026b8: DUP3 000026b9: PUSH2 0x154b 000026bc: JUMP 000026bd: JUMPDEST 000026be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026d3: AND 000026d4: EQ 000026d5: ISZERO 000026d6: ISZERO 000026d7: PUSH2 0x26df 000026da: JUMPI 000026db: PUSH1 0x00 000026dd: DUP1 000026de: REVERT 000026df: JUMPDEST 000026e0: PUSH1 0x00 000026e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026f7: AND 000026f8: DUP3 000026f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000270e: AND 0000270f: EQ 00002710: ISZERO 00002711: ISZERO 00002712: ISZERO 00002713: PUSH2 0x271b 00002716: JUMPI 00002717: PUSH1 0x00 00002719: DUP1 0000271a: REVERT 0000271b: JUMPDEST 0000271c: PUSH2 0x2724 0000271f: DUP2 00002720: PUSH2 0x2a31 00002723: JUMP 00002724: JUMPDEST 00002725: PUSH2 0x276b 00002728: PUSH1 0x03 0000272a: PUSH1 0x00 0000272c: DUP6 0000272d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002742: AND 00002743: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002758: AND 00002759: DUP2 0000275a: MSTORE 0000275b: PUSH1 0x20 0000275d: ADD 0000275e: SWAP1 0000275f: DUP2 00002760: MSTORE 00002761: PUSH1 0x20 00002763: ADD 00002764: PUSH1 0x00 00002766: KECCAK256 00002767: PUSH2 0x2af1 0000276a: JUMP 0000276b: JUMPDEST 0000276c: PUSH2 0x27b2 0000276f: PUSH1 0x03 00002771: PUSH1 0x00 00002773: DUP5 00002774: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002789: AND 0000278a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000279f: AND 000027a0: DUP2 000027a1: MSTORE 000027a2: PUSH1 0x20 000027a4: ADD 000027a5: SWAP1 000027a6: DUP2 000027a7: MSTORE 000027a8: PUSH1 0x20 000027aa: ADD 000027ab: PUSH1 0x00 000027ad: KECCAK256 000027ae: PUSH2 0x2a1b 000027b1: JUMP 000027b2: JUMPDEST 000027b3: DUP2 000027b4: PUSH1 0x01 000027b6: PUSH1 0x00 000027b8: DUP4 000027b9: DUP2 000027ba: MSTORE 000027bb: PUSH1 0x20 000027bd: ADD 000027be: SWAP1 000027bf: DUP2 000027c0: MSTORE 000027c1: PUSH1 0x20 000027c3: ADD 000027c4: PUSH1 0x00 000027c6: KECCAK256 000027c7: PUSH1 0x00 000027c9: PUSH2 0x0100 000027cc: EXP 000027cd: DUP2 000027ce: SLOAD 000027cf: DUP2 000027d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027e5: MUL 000027e6: NOT 000027e7: AND 000027e8: SWAP1 000027e9: DUP4 000027ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027ff: AND 00002800: MUL 00002801: OR 00002802: SWAP1 00002803: SSTORE 00002804: POP 00002805: DUP1 00002806: DUP3 00002807: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000281c: AND 0000281d: DUP5 0000281e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002833: AND 00002834: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002855: PUSH1 0x40 00002857: MLOAD 00002858: PUSH1 0x40 0000285a: MLOAD 0000285b: DUP1 0000285c: SWAP2 0000285d: SUB 0000285e: SWAP1 0000285f: LOG4 00002860: POP 00002861: POP 00002862: POP 00002863: JUMP 00002864: JUMPDEST 00002865: PUSH1 0x00 00002867: PUSH2 0x28bc 0000286a: PUSH1 0x01 0000286c: PUSH1 0x05 0000286e: PUSH1 0x00 00002870: DUP7 00002871: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002886: AND 00002887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000289c: AND 0000289d: DUP2 0000289e: MSTORE 0000289f: PUSH1 0x20 000028a1: ADD 000028a2: SWAP1 000028a3: DUP2 000028a4: MSTORE 000028a5: PUSH1 0x20 000028a7: ADD 000028a8: PUSH1 0x00 000028aa: KECCAK256 000028ab: DUP1 000028ac: SLOAD 000028ad: SWAP1 000028ae: POP 000028af: PUSH2 0x2b14 000028b2: SWAP1 000028b3: SWAP2 000028b4: SWAP1 000028b5: PUSH4 0xffffffff 000028ba: AND 000028bb: JUMP 000028bc: JUMPDEST 000028bd: SWAP1 000028be: POP 000028bf: PUSH1 0x00 000028c1: PUSH1 0x06 000028c3: PUSH1 0x00 000028c5: DUP5 000028c6: DUP2 000028c7: MSTORE 000028c8: PUSH1 0x20 000028ca: ADD 000028cb: SWAP1 000028cc: DUP2 000028cd: MSTORE 000028ce: PUSH1 0x20 000028d0: ADD 000028d1: PUSH1 0x00 000028d3: KECCAK256 000028d4: SLOAD 000028d5: SWAP1 000028d6: POP 000028d7: DUP2 000028d8: DUP2 000028d9: EQ 000028da: ISZERO 000028db: ISZERO 000028dc: PUSH2 0x29af 000028df: JUMPI 000028e0: PUSH1 0x00 000028e2: PUSH1 0x05 000028e4: PUSH1 0x00 000028e6: DUP7 000028e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028fc: AND 000028fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002912: AND 00002913: DUP2 00002914: MSTORE 00002915: PUSH1 0x20 00002917: ADD 00002918: SWAP1 00002919: DUP2 0000291a: MSTORE 0000291b: PUSH1 0x20 0000291d: ADD 0000291e: PUSH1 0x00 00002920: KECCAK256 00002921: DUP4 00002922: DUP2 00002923: SLOAD 00002924: DUP2 00002925: LT 00002926: ISZERO 00002927: ISZERO 00002928: PUSH2 0x292d 0000292b: JUMPI 0000292c: INVALID 0000292d: JUMPDEST 0000292e: SWAP1 0000292f: PUSH1 0x00 00002931: MSTORE 00002932: PUSH1 0x20 00002934: PUSH1 0x00 00002936: KECCAK256 00002937: ADD 00002938: SLOAD 00002939: SWAP1 0000293a: POP 0000293b: DUP1 0000293c: PUSH1 0x05 0000293e: PUSH1 0x00 00002940: DUP8 00002941: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002956: AND 00002957: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000296c: AND 0000296d: DUP2 0000296e: MSTORE 0000296f: PUSH1 0x20 00002971: ADD 00002972: SWAP1 00002973: DUP2 00002974: MSTORE 00002975: PUSH1 0x20 00002977: ADD 00002978: PUSH1 0x00 0000297a: KECCAK256 0000297b: DUP4 0000297c: DUP2 0000297d: SLOAD 0000297e: DUP2 0000297f: LT 00002980: ISZERO 00002981: ISZERO 00002982: PUSH2 0x2987 00002985: JUMPI 00002986: INVALID 00002987: JUMPDEST 00002988: SWAP1 00002989: PUSH1 0x00 0000298b: MSTORE 0000298c: PUSH1 0x20 0000298e: PUSH1 0x00 00002990: KECCAK256 00002991: ADD 00002992: DUP2 00002993: SWAP1 00002994: SSTORE 00002995: POP 00002996: DUP2 00002997: PUSH1 0x06 00002999: PUSH1 0x00 0000299b: DUP4 0000299c: DUP2 0000299d: MSTORE 0000299e: PUSH1 0x20 000029a0: ADD 000029a1: SWAP1 000029a2: DUP2 000029a3: MSTORE 000029a4: PUSH1 0x20 000029a6: ADD 000029a7: PUSH1 0x00 000029a9: KECCAK256 000029aa: DUP2 000029ab: SWAP1 000029ac: SSTORE 000029ad: POP 000029ae: POP 000029af: JUMPDEST 000029b0: PUSH1 0x05 000029b2: PUSH1 0x00 000029b4: DUP6 000029b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029ca: AND 000029cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029e0: AND 000029e1: DUP2 000029e2: MSTORE 000029e3: PUSH1 0x20 000029e5: ADD 000029e6: SWAP1 000029e7: DUP2 000029e8: MSTORE 000029e9: PUSH1 0x20 000029eb: ADD 000029ec: PUSH1 0x00 000029ee: KECCAK256 000029ef: DUP1 000029f0: SLOAD 000029f1: DUP1 000029f2: SWAP2 000029f3: SWAP1 000029f4: PUSH1 0x01 000029f6: SWAP1 000029f7: SUB 000029f8: PUSH2 0x2a01 000029fb: SWAP2 000029fc: SWAP1 000029fd: PUSH2 0x2bb6 00002a00: JUMP 00002a01: JUMPDEST 00002a02: POP 00002a03: POP 00002a04: POP 00002a05: POP 00002a06: POP 00002a07: JUMP 00002a08: JUMPDEST 00002a09: PUSH1 0x00 00002a0b: DUP1 00002a0c: DUP3 00002a0d: EXTCODESIZE 00002a0e: SWAP1 00002a0f: POP 00002a10: PUSH1 0x00 00002a12: DUP2 00002a13: GT 00002a14: SWAP2 00002a15: POP 00002a16: POP 00002a17: SWAP2 00002a18: SWAP1 00002a19: POP 00002a1a: JUMP 00002a1b: JUMPDEST 00002a1c: PUSH1 0x01 00002a1e: DUP2 00002a1f: PUSH1 0x00 00002a21: ADD 00002a22: PUSH1 0x00 00002a24: DUP3 00002a25: DUP3 00002a26: SLOAD 00002a27: ADD 00002a28: SWAP3 00002a29: POP 00002a2a: POP 00002a2b: DUP2 00002a2c: SWAP1 00002a2d: SSTORE 00002a2e: POP 00002a2f: POP 00002a30: JUMP 00002a31: JUMPDEST 00002a32: PUSH1 0x00 00002a34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a49: AND 00002a4a: PUSH1 0x02 00002a4c: PUSH1 0x00 00002a4e: DUP4 00002a4f: DUP2 00002a50: MSTORE 00002a51: PUSH1 0x20 00002a53: ADD 00002a54: SWAP1 00002a55: DUP2 00002a56: MSTORE 00002a57: PUSH1 0x20 00002a59: ADD 00002a5a: PUSH1 0x00 00002a5c: KECCAK256 00002a5d: PUSH1 0x00 00002a5f: SWAP1 00002a60: SLOAD 00002a61: SWAP1 00002a62: PUSH2 0x0100 00002a65: EXP 00002a66: SWAP1 00002a67: DIV 00002a68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a7d: AND 00002a7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a93: AND 00002a94: EQ 00002a95: ISZERO 00002a96: ISZERO 00002a97: PUSH2 0x2aee 00002a9a: JUMPI 00002a9b: PUSH1 0x00 00002a9d: PUSH1 0x02 00002a9f: PUSH1 0x00 00002aa1: DUP4 00002aa2: DUP2 00002aa3: MSTORE 00002aa4: PUSH1 0x20 00002aa6: ADD 00002aa7: SWAP1 00002aa8: DUP2 00002aa9: MSTORE 00002aaa: PUSH1 0x20 00002aac: ADD 00002aad: PUSH1 0x00 00002aaf: KECCAK256 00002ab0: PUSH1 0x00 00002ab2: PUSH2 0x0100 00002ab5: EXP 00002ab6: DUP2 00002ab7: SLOAD 00002ab8: DUP2 00002ab9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ace: MUL 00002acf: NOT 00002ad0: AND 00002ad1: SWAP1 00002ad2: DUP4 00002ad3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ae8: AND 00002ae9: MUL 00002aea: OR 00002aeb: SWAP1 00002aec: SSTORE 00002aed: POP 00002aee: JUMPDEST 00002aef: POP 00002af0: JUMP 00002af1: JUMPDEST 00002af2: PUSH2 0x2b09 00002af5: PUSH1 0x01 00002af7: DUP3 00002af8: PUSH1 0x00 00002afa: ADD 00002afb: SLOAD 00002afc: PUSH2 0x2b14 00002aff: SWAP1 00002b00: SWAP2 00002b01: SWAP1 00002b02: PUSH4 0xffffffff 00002b07: AND 00002b08: JUMP 00002b09: JUMPDEST 00002b0a: DUP2 00002b0b: PUSH1 0x00 00002b0d: ADD 00002b0e: DUP2 00002b0f: SWAP1 00002b10: SSTORE 00002b11: POP 00002b12: POP 00002b13: JUMP 00002b14: JUMPDEST 00002b15: PUSH1 0x00 00002b17: DUP3 00002b18: DUP3 00002b19: GT 00002b1a: ISZERO 00002b1b: ISZERO 00002b1c: ISZERO 00002b1d: PUSH2 0x2b25 00002b20: JUMPI 00002b21: PUSH1 0x00 00002b23: DUP1 00002b24: REVERT 00002b25: JUMPDEST 00002b26: PUSH1 0x00 00002b28: DUP3 00002b29: DUP5 00002b2a: SUB 00002b2b: SWAP1 00002b2c: POP 00002b2d: DUP1 00002b2e: SWAP2 00002b2f: POP 00002b30: POP 00002b31: SWAP3 00002b32: SWAP2 00002b33: POP 00002b34: POP 00002b35: JUMP 00002b36: JUMPDEST 00002b37: DUP3 00002b38: DUP1 00002b39: SLOAD 00002b3a: PUSH1 0x01 00002b3c: DUP2 00002b3d: PUSH1 0x01 00002b3f: AND 00002b40: ISZERO 00002b41: PUSH2 0x0100 00002b44: MUL 00002b45: SUB 00002b46: AND 00002b47: PUSH1 0x02 00002b49: SWAP1 00002b4a: DIV 00002b4b: SWAP1 00002b4c: PUSH1 0x00 00002b4e: MSTORE 00002b4f: PUSH1 0x20 00002b51: PUSH1 0x00 00002b53: KECCAK256 00002b54: SWAP1 00002b55: PUSH1 0x1f 00002b57: ADD 00002b58: PUSH1 0x20 00002b5a: SWAP1 00002b5b: DIV 00002b5c: DUP2 00002b5d: ADD 00002b5e: SWAP3 00002b5f: DUP3 00002b60: PUSH1 0x1f 00002b62: LT 00002b63: PUSH2 0x2b77 00002b66: JUMPI 00002b67: DUP1 00002b68: MLOAD 00002b69: PUSH1 0xff 00002b6b: NOT 00002b6c: AND 00002b6d: DUP4 00002b6e: DUP1 00002b6f: ADD 00002b70: OR 00002b71: DUP6 00002b72: SSTORE 00002b73: PUSH2 0x2ba5 00002b76: JUMP 00002b77: JUMPDEST 00002b78: DUP3 00002b79: DUP1 00002b7a: ADD 00002b7b: PUSH1 0x01 00002b7d: ADD 00002b7e: DUP6 00002b7f: SSTORE 00002b80: DUP3 00002b81: ISZERO 00002b82: PUSH2 0x2ba5 00002b85: JUMPI 00002b86: SWAP2 00002b87: DUP3 00002b88: ADD 00002b89: JUMPDEST 00002b8a: DUP3 00002b8b: DUP2 00002b8c: GT 00002b8d: ISZERO 00002b8e: PUSH2 0x2ba4 00002b91: JUMPI 00002b92: DUP3 00002b93: MLOAD 00002b94: DUP3 00002b95: SSTORE 00002b96: SWAP2 00002b97: PUSH1 0x20 00002b99: ADD 00002b9a: SWAP2 00002b9b: SWAP1 00002b9c: PUSH1 0x01 00002b9e: ADD 00002b9f: SWAP1 00002ba0: PUSH2 0x2b89 00002ba3: JUMP 00002ba4: JUMPDEST 00002ba5: JUMPDEST 00002ba6: POP 00002ba7: SWAP1 00002ba8: POP 00002ba9: PUSH2 0x2bb2 00002bac: SWAP2 00002bad: SWAP1 00002bae: PUSH2 0x2be2 00002bb1: JUMP 00002bb2: JUMPDEST 00002bb3: POP 00002bb4: SWAP1 00002bb5: JUMP 00002bb6: JUMPDEST 00002bb7: DUP2 00002bb8: SLOAD 00002bb9: DUP2 00002bba: DUP4 00002bbb: SSTORE 00002bbc: DUP2 00002bbd: DUP2 00002bbe: GT 00002bbf: ISZERO 00002bc0: PUSH2 0x2bdd 00002bc3: JUMPI 00002bc4: DUP2 00002bc5: DUP4 00002bc6: PUSH1 0x00 00002bc8: MSTORE 00002bc9: PUSH1 0x20 00002bcb: PUSH1 0x00 00002bcd: KECCAK256 00002bce: SWAP2 00002bcf: DUP3 00002bd0: ADD 00002bd1: SWAP2 00002bd2: ADD 00002bd3: PUSH2 0x2bdc 00002bd6: SWAP2 00002bd7: SWAP1 00002bd8: PUSH2 0x2be2 00002bdb: JUMP 00002bdc: JUMPDEST 00002bdd: JUMPDEST 00002bde: POP 00002bdf: POP 00002be0: POP 00002be1: JUMP 00002be2: JUMPDEST 00002be3: PUSH2 0x2c04 00002be6: SWAP2 00002be7: SWAP1 00002be8: JUMPDEST 00002be9: DUP1 00002bea: DUP3 00002beb: GT 00002bec: ISZERO 00002bed: PUSH2 0x2c00 00002bf0: JUMPI 00002bf1: PUSH1 0x00 00002bf3: DUP2 00002bf4: PUSH1 0x00 00002bf6: SWAP1 00002bf7: SSTORE 00002bf8: POP 00002bf9: PUSH1 0x01 00002bfb: ADD 00002bfc: PUSH2 0x2be8 00002bff: JUMP 00002c00: JUMPDEST 00002c01: POP 00002c02: SWAP1 00002c03: JUMP 00002c04: JUMPDEST 00002c05: SWAP1 00002c06: JUMP 00002c07: INVALID 00002c08: LOG1 00002c09: PUSH6 0x627a7a723058 00002c10: KECCAK256 00002c11: PUSH19 0xdf4fc3c79e3886006abe9f9457b81b2a3f649d 00002c25: BLOCKHASH 00002c26: UNKNOWN(0xBF) 00002c27: LOG2 00002c28: UNKNOWN(0xCE) 00002c29: UNKNOWN(0xC8) 00002c2a: PUSH2 0x036c 00002c2d: CREATE2 00002c2e: UNKNOWN(0xE1) 00002c2f: UNKNOWN(0x4B) 00002c30: COINBASE 00002c31: STOP 00002c32: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xc751e435f53bfc446cbd861eda783a45e3db7ce98bfd5d598e87b71dfe07801e
call_targets:
0x63658cc84a5b2b969b8df9bea129a1c933e1439f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc751e435f53bfc446cbd861eda783a45e3db7ce98bfd5d598e87b71dfe07801e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x63658cc84a5b2b969b8df9bea129a1c933e1439f"
],
"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": "0xd547cfb7",
"selector": "0xd547cfb7",
"calldata_variants": [
"0xd547cfb7",
"0xd547cfb70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe40e97a7",
"selector": "0xe40e97a7",
"calldata_variants": [
"0xe40e97a7",
"0xe40e97a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbf4abd3f",
"selector": "0xbf4abd3f",
"calldata_variants": [
"0xbf4abd3f",
"0xbf4abd3f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc21ab7f9",
"selector": "0xc21ab7f9",
"calldata_variants": [
"0xc21ab7f9",
"0xc21ab7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa035b1fe",
"selector": "0xa035b1fe",
"calldata_variants": [
"0xa035b1fe",
"0xa035b1fe0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 560,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 663,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8453,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [
{
"pc": 4707,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6030,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6653,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 3
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xc751e435f53bfc446cbd861eda783a45e3db7ce98bfd5d598e87b71dfe07801e
call_targets:
0x63658cc84a5b2b969b8df9bea129a1c933e1439f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc751e435f53bfc446cbd861eda783a45e3db7ce98bfd5d598e87b71dfe07801e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x63658cc84a5b2b969b8df9bea129a1c933e1439f"
],
"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": "0xd547cfb7",
"selector": "0xd547cfb7",
"calldata_variants": [
"0xd547cfb7",
"0xd547cfb70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe40e97a7",
"selector": "0xe40e97a7",
"calldata_variants": [
"0xe40e97a7",
"0xe40e97a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbf4abd3f",
"selector": "0xbf4abd3f",
"calldata_variants": [
"0xbf4abd3f",
"0xbf4abd3f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc21ab7f9",
"selector": "0xc21ab7f9",
"calldata_variants": [
"0xc21ab7f9",
"0xc21ab7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa035b1fe",
"selector": "0xa035b1fe",
"calldata_variants": [
"0xa035b1fe",
"0xa035b1fe0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 560,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 663,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8453,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": [
{
"pc": 4707,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6030,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6653,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x821eb8004eda6e2d87805e6070fa07b6fb05a0d3296cb116a6a0985f6fbb3da1
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x821eb8004eda6e2d87805e6070fa07b6fb05a0d3296cb116a6a0985f6fbb3da1",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xd547cfb7",
"selector": "0xd547cfb7",
"calldata_variants": [
"0xd547cfb7",
"0xd547cfb70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe40e97a7",
"selector": "0xe40e97a7",
"calldata_variants": [
"0xe40e97a7",
"0xe40e97a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbf4abd3f",
"selector": "0xbf4abd3f",
"calldata_variants": [
"0xbf4abd3f",
"0xbf4abd3f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc21ab7f9",
"selector": "0xc21ab7f9",
"calldata_variants": [
"0xc21ab7f9",
"0xc21ab7f90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa035b1fe",
"selector": "0xa035b1fe",
"calldata_variants": [
"0xa035b1fe",
"0xa035b1fe0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|