019ba9e0-be27-70f7-98f5-d834a3811afc
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 |
|---|---|---|---|---|
| 38075 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38076 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38077 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38078 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38079 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38080 | detector.run | complete | 1 / 3 | 3 months ago |
| 38081 | validation.fork | complete | 1 / 3 | 3 months ago |
| 38178 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 38179 | tool.slither | failed | 2 / 2 | 3 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-nud0t0fi)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-nud0t0fi)
'forge' returned non-zero exit code 1
Compiling 1 files with Solc 0.4.19
stdout: Solc 0.4.19 finished in 13.71ms
Error: Compiler run failed:
stderr: Error: Expected token Semicolon got 'LParen'
stderr: contracts/Contract.sol:94:32: ParserError: Expected token Semicolon got 'LParen'
stderr: emit SetFuturesContract(futuresContract, isFuturesContract);
stderr: ^
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-nud0t0fi/out/build-info is not a directory.
{"no_findings":false,"summary":"Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).","findings":[{"severity":"medium","category":"auth","title":"Packed hashing with string enables signature collisions in pTokenRedeemForUser","exploit_scenario":"A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended.","recommendation":"Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.","evidence":"`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.","locations":["contracts/Contract.sol:427"]},{"severity":"medium","category":"other","title":"Token deposits credit full amount without verifying actual tokens received","exploit_scenario":"For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token.","recommendation":"Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.","evidence":"Balances are incremented before `transferFrom` and no balance-delta check is performed.","locations":["contracts/Contract.sol:295","contracts/Contract.sol:304","contracts/Contract.sol:312"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-8jnw2cba
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019baa6b-bb49-7833-9b61-a4a77389a75b
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat /tmp/codex-8jnw2cba/AUDIT_BUNDLE.txt' in /tmp/codex-8jnw2cba succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.4.19;
/* Interface for ERC20 Tokens */
contract Token {
bytes32 public standard;
bytes32 public name;
bytes32 public symbol;
uint256 public totalSupply;
uint8 public decimals;
bool public allowTransactions;
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) public allowance;
function transfer(address _to, uint256 _value) returns (bool success);
function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success);
thinking
**Analyzing Solidity 0.4.19 vulnerabilities**
I'm carefully examining the DMEX_Base contract for issues like reentrancy, signature collisions, accounting bugs, and access control problems. I notice potential vulnerabilities with packed data overflows, unchecked token behaviors (like deflationary tokens causing imbalances), logic bugs in the destroyContract function that prevent proper contract disablement, and subtle risks in ecrecover usage and calldata encoding that might be exploitable under certain conditions. It’s a dense set of findings, but I’m focusing on the interplay of external calls, state updates, and signature validations to highlight real security concerns.
thinking
**Examining encoding, control flow, and reentrancy details**
There is a nuanced issue with hash collisions between withdrawForUser and pTokenRedeemForUser due to packed encoding of dynamic strings, enabling potential replay of user signatures across functions when the destinationAddress is empty. I’m also noticing ignored destroyed flags preventing proper contract disablement, public functions lacking destroyed checks, and subtle reentrancy possibilities via malicious token contracts interacting during external calls. The interplay of fixed- and dynamic-length arguments in hashing and careful state management highlights real concerns worth flagging.
thinking
**Highlighting key contract risks and next steps**
I'm pinpointing core issues: denial-of-service potential from using `.send` with limited gas, medium-severity signature replay via packed encoding ambiguity, and accounting mismatches with fee-on-transfer tokens causing internal ledger imbalances. Also, the destroy flag is never set properly, creating logical dead-ends for contract disablement. I'll detail these findings with relevant function references and prepare to provide a structured JSON summary including file locations for clarity.
exec
/bin/bash -lc 'rg --files' in /tmp/codex-8jnw2cba succeeded in 44ms:
codex-output-schema.json
AUDIT_BUNDLE.txt
contracts/Contract.sol
thinking
**Planning to number lines in Contract.sol**
exec
/bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-8jnw2cba succeeded in 6ms:
1 pragma solidity ^0.4.19;
2
3 /* Interface for ERC20 Tokens */
4 contract Token {
5 bytes32 public standard;
6 bytes32 public name;
7 bytes32 public symbol;
8 uint256 public totalSupply;
9 uint8 public decimals;
10 bool public allowTransactions;
11 mapping (address => uint256) public balanceOf;
12 mapping (address => mapping (address => uint256)) public allowance;
13 function transfer(address _to, uint256 _value) returns (bool success);
14 function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success);
15 function approve(address _spender, uint256 _value) returns (bool success);
16 function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
17 }
18
19 /* Interface for pTokens contract */
20 contract pToken {
thinking
**Summarizing audit findings for vulnerabilities**
I'll organize the key vulnerabilities found: signature hash collision due to packed encoding causing parameter substitution and cross-function replay, and deposit accounting trusting transferFrom amount that can break with fee-on-transfer tokens. I'll also note severity, categories, and provide exploit scenarios and recommendations clearly with line references.
codex
{"no_findings":false,"summary":"Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).","findings":[{"severity":"medium","category":"auth","title":"Packed hashing with string enables signature collisions in pTokenRedeemForUser","exploit_scenario":"A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended.","recommendation":"Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.","evidence":"`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.","locations":["contracts/Contract.sol:427"]},{"severity":"medium","category":"other","title":"Token deposits credit full amount without verifying actual tokens received","exploit_scenario":"For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token.","recommendation":"Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.","evidence":"Balances are incremented before `transferFrom` and no balance-delta check is performed.","locations":["contracts/Contract.sol:295","contracts/Contract.sol:304","contracts/Contract.sol:312"]}]}
tokens used
26,221
{
"codex": {
"ran_at": "2026-01-11T00:22:20.146867+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).",
"raw_final": {
"summary": "Two issues: signature hashing for pToken redemptions is collision-prone, and token deposit accounting assumes full transfer amounts (breaks on fee-on-transfer tokens).",
"findings": [
{
"title": "Packed hashing with string enables signature collisions in pTokenRedeemForUser",
"category": "auth",
"evidence": "`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:427"
],
"recommendation": "Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.",
"exploit_scenario": "A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended."
},
{
"title": "Token deposits credit full amount without verifying actual tokens received",
"category": "other",
"evidence": "Balances are incremented before `transferFrom` and no balance-delta check is performed.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:295",
"contracts/Contract.sol:304",
"contracts/Contract.sol:312"
],
"recommendation": "Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.",
"exploit_scenario": "For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x022f 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH4 0x02ce8c4d 0000003a: DUP2 0000003b: EQ 0000003c: PUSH2 0x0241 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x0674763c 00000046: EQ 00000047: PUSH2 0x0276 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x06c5ac42 00000051: EQ 00000052: PUSH2 0x0292 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x092a5cce 0000005c: EQ 0000005d: PUSH2 0x02c6 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x13af4035 00000067: EQ 00000068: PUSH2 0x02db 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x14fe6af9 00000072: EQ 00000073: PUSH2 0x02fc 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x1db89da1 0000007d: EQ 0000007e: PUSH2 0x0323 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x1e452a90 00000088: EQ 00000089: PUSH2 0x0354 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x20a0851f 00000093: EQ 00000094: PUSH2 0x0381 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x2a7575ee 0000009e: EQ 0000009f: PUSH2 0x03a7 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x359cbbc9 000000a9: EQ 000000aa: PUSH2 0x03ce 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x3823d66c 000000b4: EQ 000000b5: PUSH2 0x03e3 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x3aa9f991 000000bf: EQ 000000c0: PUSH2 0x03fb 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x3e3a5b96 000000ca: EQ 000000cb: PUSH2 0x0425 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x429b62e5 000000d5: EQ 000000d6: PUSH2 0x0609 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x4b0bddd2 000000e0: EQ 000000e1: PUSH2 0x062a 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0x4e5978e1 000000eb: EQ 000000ec: PUSH2 0x0650 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0x5278366a 000000f6: EQ 000000f7: PUSH2 0x067d 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x5d44ec0a 00000101: EQ 00000102: PUSH2 0x06aa 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0x664fcc3e 0000010c: EQ 0000010d: PUSH2 0x0713 00000110: JUMPI 00000111: DUP1 00000112: PUSH4 0x6a523c5e 00000117: EQ 00000118: PUSH2 0x074a 0000011b: JUMPI 0000011c: DUP1 0000011d: PUSH4 0x893d20e8 00000122: EQ 00000123: PUSH2 0x075e 00000126: JUMPI 00000127: DUP1 00000128: PUSH4 0x8da5cb5b 0000012d: EQ 0000012e: PUSH2 0x0773 00000131: JUMPI 00000132: DUP1 00000133: PUSH4 0x92c60611 00000138: EQ 00000139: PUSH2 0x0788 0000013c: JUMPI 0000013d: DUP1 0000013e: PUSH4 0xa293d1e8 00000143: EQ 00000144: PUSH2 0x07ed 00000147: JUMPI 00000148: DUP1 00000149: PUSH4 0xa7a278b1 0000014e: EQ 0000014f: PUSH2 0x0808 00000152: JUMPI 00000153: DUP1 00000154: PUSH4 0xa874fe2f 00000159: EQ 0000015a: PUSH2 0x081d 0000015d: JUMPI 0000015e: DUP1 0000015f: PUSH4 0xa99463bc 00000164: EQ 00000165: PUSH2 0x084a 00000168: JUMPI 00000169: DUP1 0000016a: PUSH4 0xad895d7e 0000016f: EQ 00000170: PUSH2 0x086b 00000173: JUMPI 00000174: DUP1 00000175: PUSH4 0xb5c9cbbe 0000017a: EQ 0000017b: PUSH2 0x0898 0000017e: JUMPI 0000017f: DUP1 00000180: PUSH4 0xc23f001f 00000185: EQ 00000186: PUSH2 0x08c2 00000189: JUMPI 0000018a: DUP1 0000018b: PUSH4 0xc719e57f 00000190: EQ 00000191: PUSH2 0x08e9 00000194: JUMPI 00000195: DUP1 00000196: PUSH4 0xcb2ec549 0000019b: EQ 0000019c: PUSH2 0x0927 0000019f: JUMPI 000001a0: DUP1 000001a1: PUSH4 0xcbc3ab53 000001a6: EQ 000001a7: PUSH2 0x094b 000001aa: JUMPI 000001ab: DUP1 000001ac: PUSH4 0xcc9ff632 000001b1: EQ 000001b2: PUSH2 0x0972 000001b5: JUMPI 000001b6: DUP1 000001b7: PUSH4 0xce4ff5e9 000001bc: EQ 000001bd: PUSH2 0x0987 000001c0: JUMPI 000001c1: DUP1 000001c2: PUSH4 0xd05c78da 000001c7: EQ 000001c8: PUSH2 0x09ae 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0xd0e30db0 000001d2: EQ 000001d3: PUSH2 0x09c9 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0xd8c67819 000001dd: EQ 000001de: PUSH2 0x09d1 000001e1: JUMPI 000001e2: DUP1 000001e3: PUSH4 0xdbb7dc95 000001e8: EQ 000001e9: PUSH2 0x0a5b 000001ec: JUMPI 000001ed: DUP1 000001ee: PUSH4 0xdd93c74a 000001f3: EQ 000001f4: PUSH2 0x0a98 000001f7: JUMPI 000001f8: DUP1 000001f9: PUSH4 0xe6cb9013 000001fe: EQ 000001ff: PUSH2 0x0ab0 00000202: JUMPI 00000203: DUP1 00000204: PUSH4 0xf31174ee 00000209: EQ 0000020a: PUSH2 0x0acb 0000020d: JUMPI 0000020e: DUP1 0000020f: PUSH4 0xf3fef3a3 00000214: EQ 00000215: PUSH2 0x0ae0 00000218: JUMPI 00000219: DUP1 0000021a: PUSH4 0xf7888aec 0000021f: EQ 00000220: PUSH2 0x0b04 00000223: JUMPI 00000224: DUP1 00000225: PUSH4 0xfe053772 0000022a: EQ 0000022b: PUSH2 0x0b2b 0000022e: JUMPI 0000022f: JUMPDEST 00000230: CALLVALUE 00000231: DUP1 00000232: ISZERO 00000233: PUSH2 0x023b 00000236: JUMPI 00000237: PUSH1 0x00 00000239: DUP1 0000023a: REVERT 0000023b: JUMPDEST 0000023c: POP 0000023d: PUSH1 0x00 0000023f: DUP1 00000240: REVERT 00000241: JUMPDEST 00000242: CALLVALUE 00000243: DUP1 00000244: ISZERO 00000245: PUSH2 0x024d 00000248: JUMPI 00000249: PUSH1 0x00 0000024b: DUP1 0000024c: REVERT 0000024d: JUMPDEST 0000024e: POP 0000024f: PUSH2 0x0262 00000252: PUSH1 0x01 00000254: PUSH1 0xa0 00000256: PUSH1 0x02 00000258: EXP 00000259: SUB 0000025a: PUSH1 0x04 0000025c: CALLDATALOAD 0000025d: AND 0000025e: PUSH2 0x0b40 00000261: JUMP 00000262: JUMPDEST 00000263: PUSH1 0x40 00000265: DUP1 00000266: MLOAD 00000267: SWAP2 00000268: ISZERO 00000269: ISZERO 0000026a: DUP3 0000026b: MSTORE 0000026c: MLOAD 0000026d: SWAP1 0000026e: DUP2 0000026f: SWAP1 00000270: SUB 00000271: PUSH1 0x20 00000273: ADD 00000274: SWAP1 00000275: RETURN 00000276: JUMPDEST 00000277: CALLVALUE 00000278: DUP1 00000279: ISZERO 0000027a: PUSH2 0x0282 0000027d: JUMPI 0000027e: PUSH1 0x00 00000280: DUP1 00000281: REVERT 00000282: JUMPDEST 00000283: POP 00000284: PUSH2 0x0290 00000287: PUSH1 0x04 00000289: CALLDATALOAD 0000028a: ISZERO 0000028b: ISZERO 0000028c: PUSH2 0x0b55 0000028f: JUMP 00000290: JUMPDEST 00000291: STOP 00000292: JUMPDEST 00000293: CALLVALUE 00000294: DUP1 00000295: ISZERO 00000296: PUSH2 0x029e 00000299: JUMPI 0000029a: PUSH1 0x00 0000029c: DUP1 0000029d: REVERT 0000029e: JUMPDEST 0000029f: POP 000002a0: PUSH2 0x0290 000002a3: PUSH1 0x01 000002a5: PUSH1 0xa0 000002a7: PUSH1 0x02 000002a9: EXP 000002aa: SUB 000002ab: PUSH1 0x04 000002ad: CALLDATALOAD 000002ae: DUP2 000002af: AND 000002b0: SWAP1 000002b1: PUSH1 0x01 000002b3: PUSH1 0x80 000002b5: PUSH1 0x02 000002b7: EXP 000002b8: SUB 000002b9: PUSH1 0x24 000002bb: CALLDATALOAD 000002bc: AND 000002bd: SWAP1 000002be: PUSH1 0x44 000002c0: CALLDATALOAD 000002c1: AND 000002c2: PUSH2 0x0b64 000002c5: JUMP 000002c6: JUMPDEST 000002c7: CALLVALUE 000002c8: DUP1 000002c9: ISZERO 000002ca: PUSH2 0x02d2 000002cd: JUMPI 000002ce: PUSH1 0x00 000002d0: DUP1 000002d1: REVERT 000002d2: JUMPDEST 000002d3: POP 000002d4: PUSH2 0x0262 000002d7: PUSH2 0x0c7a 000002da: JUMP 000002db: JUMPDEST 000002dc: CALLVALUE 000002dd: DUP1 000002de: ISZERO 000002df: PUSH2 0x02e7 000002e2: JUMPI 000002e3: PUSH1 0x00 000002e5: DUP1 000002e6: REVERT 000002e7: JUMPDEST 000002e8: POP 000002e9: PUSH2 0x0290 000002ec: PUSH1 0x01 000002ee: PUSH1 0xa0 000002f0: PUSH1 0x02 000002f2: EXP 000002f3: SUB 000002f4: PUSH1 0x04 000002f6: CALLDATALOAD 000002f7: AND 000002f8: PUSH2 0x0cac 000002fb: JUMP 000002fc: JUMPDEST 000002fd: CALLVALUE 000002fe: DUP1 000002ff: ISZERO 00000300: PUSH2 0x0308 00000303: JUMPI 00000304: PUSH1 0x00 00000306: DUP1 00000307: REVERT 00000308: JUMPDEST 00000309: POP 0000030a: PUSH2 0x0311 0000030d: PUSH2 0x0d2b 00000310: JUMP 00000311: JUMPDEST 00000312: PUSH1 0x40 00000314: DUP1 00000315: MLOAD 00000316: SWAP2 00000317: DUP3 00000318: MSTORE 00000319: MLOAD 0000031a: SWAP1 0000031b: DUP2 0000031c: SWAP1 0000031d: SUB 0000031e: PUSH1 0x20 00000320: ADD 00000321: SWAP1 00000322: RETURN 00000323: JUMPDEST 00000324: CALLVALUE 00000325: DUP1 00000326: ISZERO 00000327: PUSH2 0x032f 0000032a: JUMPI 0000032b: PUSH1 0x00 0000032d: DUP1 0000032e: REVERT 0000032f: JUMPDEST 00000330: POP 00000331: PUSH2 0x0338 00000334: PUSH2 0x0d31 00000337: JUMP 00000338: JUMPDEST 00000339: PUSH1 0x40 0000033b: DUP1 0000033c: MLOAD 0000033d: PUSH1 0x01 0000033f: PUSH1 0xa0 00000341: PUSH1 0x02 00000343: EXP 00000344: SUB 00000345: SWAP1 00000346: SWAP3 00000347: AND 00000348: DUP3 00000349: MSTORE 0000034a: MLOAD 0000034b: SWAP1 0000034c: DUP2 0000034d: SWAP1 0000034e: SUB 0000034f: PUSH1 0x20 00000351: ADD 00000352: SWAP1 00000353: RETURN 00000354: JUMPDEST 00000355: CALLVALUE 00000356: DUP1 00000357: ISZERO 00000358: PUSH2 0x0360 0000035b: JUMPI 0000035c: PUSH1 0x00 0000035e: DUP1 0000035f: REVERT 00000360: JUMPDEST 00000361: POP 00000362: PUSH2 0x0262 00000365: PUSH1 0x01 00000367: PUSH1 0xa0 00000369: PUSH1 0x02 0000036b: EXP 0000036c: SUB 0000036d: PUSH1 0x04 0000036f: CALLDATALOAD 00000370: DUP2 00000371: AND 00000372: SWAP1 00000373: PUSH1 0x24 00000375: CALLDATALOAD 00000376: AND 00000377: PUSH1 0x44 00000379: CALLDATALOAD 0000037a: PUSH1 0x64 0000037c: CALLDATALOAD 0000037d: PUSH2 0x0d40 00000380: JUMP 00000381: JUMPDEST 00000382: CALLVALUE 00000383: DUP1 00000384: ISZERO 00000385: PUSH2 0x038d 00000388: JUMPI 00000389: PUSH1 0x00 0000038b: DUP1 0000038c: REVERT 0000038d: JUMPDEST 0000038e: POP 0000038f: PUSH2 0x0290 00000392: PUSH1 0x01 00000394: PUSH1 0xa0 00000396: PUSH1 0x02 00000398: EXP 00000399: SUB 0000039a: PUSH1 0x04 0000039c: CALLDATALOAD 0000039d: AND 0000039e: PUSH1 0x24 000003a0: CALLDATALOAD 000003a1: ISZERO 000003a2: ISZERO 000003a3: PUSH2 0x0db3 000003a6: JUMP 000003a7: JUMPDEST 000003a8: CALLVALUE 000003a9: DUP1 000003aa: ISZERO 000003ab: PUSH2 0x03b3 000003ae: JUMPI 000003af: PUSH1 0x00 000003b1: DUP1 000003b2: REVERT 000003b3: JUMPDEST 000003b4: POP 000003b5: PUSH2 0x0311 000003b8: PUSH1 0x01 000003ba: PUSH1 0xa0 000003bc: PUSH1 0x02 000003be: EXP 000003bf: SUB 000003c0: PUSH1 0x04 000003c2: CALLDATALOAD 000003c3: DUP2 000003c4: AND 000003c5: SWAP1 000003c6: PUSH1 0x24 000003c8: CALLDATALOAD 000003c9: AND 000003ca: PUSH2 0x0e72 000003cd: JUMP 000003ce: JUMPDEST 000003cf: CALLVALUE 000003d0: DUP1 000003d1: ISZERO 000003d2: PUSH2 0x03da 000003d5: JUMPI 000003d6: PUSH1 0x00 000003d8: DUP1 000003d9: REVERT 000003da: JUMPDEST 000003db: POP 000003dc: PUSH2 0x0262 000003df: PUSH2 0x0e99 000003e2: JUMP 000003e3: JUMPDEST 000003e4: CALLVALUE 000003e5: DUP1 000003e6: ISZERO 000003e7: PUSH2 0x03ef 000003ea: JUMPI 000003eb: PUSH1 0x00 000003ed: DUP1 000003ee: REVERT 000003ef: JUMPDEST 000003f0: POP 000003f1: PUSH2 0x0262 000003f4: PUSH1 0x04 000003f6: CALLDATALOAD 000003f7: PUSH2 0x0ea2 000003fa: JUMP 000003fb: JUMPDEST 000003fc: CALLVALUE 000003fd: DUP1 000003fe: ISZERO 000003ff: PUSH2 0x0407 00000402: JUMPI 00000403: PUSH1 0x00 00000405: DUP1 00000406: REVERT 00000407: JUMPDEST 00000408: POP 00000409: PUSH2 0x0262 0000040c: PUSH1 0x01 0000040e: PUSH1 0xa0 00000410: PUSH1 0x02 00000412: EXP 00000413: SUB 00000414: PUSH1 0x04 00000416: CALLDATALOAD 00000417: DUP2 00000418: AND 00000419: SWAP1 0000041a: PUSH1 0x24 0000041c: CALLDATALOAD 0000041d: AND 0000041e: PUSH1 0x44 00000420: CALLDATALOAD 00000421: PUSH2 0x0eb7 00000424: JUMP 00000425: JUMPDEST 00000426: CALLVALUE 00000427: DUP1 00000428: ISZERO 00000429: PUSH2 0x0431 0000042c: JUMPI 0000042d: PUSH1 0x00 0000042f: DUP1 00000430: REVERT 00000431: JUMPDEST 00000432: POP 00000433: PUSH1 0x40 00000435: DUP1 00000436: MLOAD 00000437: PUSH1 0x20 00000439: PUSH1 0x04 0000043b: DUP1 0000043c: CALLDATALOAD 0000043d: DUP1 0000043e: DUP3 0000043f: ADD 00000440: CALLDATALOAD 00000441: DUP4 00000442: DUP2 00000443: MUL 00000444: DUP1 00000445: DUP7 00000446: ADD 00000447: DUP6 00000448: ADD 00000449: SWAP1 0000044a: SWAP7 0000044b: MSTORE 0000044c: DUP1 0000044d: DUP6 0000044e: MSTORE 0000044f: PUSH2 0x0290 00000452: SWAP6 00000453: CALLDATASIZE 00000454: SWAP6 00000455: SWAP4 00000456: SWAP5 00000457: PUSH1 0x24 00000459: SWAP5 0000045a: SWAP4 0000045b: DUP6 0000045c: ADD 0000045d: SWAP3 0000045e: SWAP2 0000045f: DUP3 00000460: SWAP2 00000461: DUP6 00000462: ADD 00000463: SWAP1 00000464: DUP5 00000465: SWAP1 00000466: DUP1 00000467: DUP3 00000468: DUP5 00000469: CALLDATACOPY 0000046a: POP 0000046b: POP 0000046c: PUSH1 0x40 0000046e: DUP1 0000046f: MLOAD 00000470: DUP8 00000471: CALLDATALOAD 00000472: DUP10 00000473: ADD 00000474: DUP1 00000475: CALLDATALOAD 00000476: PUSH1 0x20 00000478: DUP2 00000479: DUP2 0000047a: MUL 0000047b: DUP5 0000047c: DUP2 0000047d: ADD 0000047e: DUP3 0000047f: ADD 00000480: SWAP1 00000481: SWAP6 00000482: MSTORE 00000483: DUP2 00000484: DUP5 00000485: MSTORE 00000486: SWAP9 00000487: SWAP12 00000488: SWAP11 00000489: SWAP10 0000048a: DUP10 0000048b: ADD 0000048c: SWAP9 0000048d: SWAP3 0000048e: SWAP8 0000048f: POP 00000490: SWAP1 00000491: DUP3 00000492: ADD 00000493: SWAP6 00000494: POP 00000495: SWAP4 00000496: POP 00000497: DUP4 00000498: SWAP3 00000499: POP 0000049a: DUP6 0000049b: ADD 0000049c: SWAP1 0000049d: DUP5 0000049e: SWAP1 0000049f: DUP1 000004a0: DUP3 000004a1: DUP5 000004a2: CALLDATACOPY 000004a3: POP 000004a4: POP 000004a5: PUSH1 0x40 000004a7: DUP1 000004a8: MLOAD 000004a9: DUP8 000004aa: CALLDATALOAD 000004ab: DUP10 000004ac: ADD 000004ad: DUP1 000004ae: CALLDATALOAD 000004af: PUSH1 0x20 000004b1: DUP2 000004b2: DUP2 000004b3: MUL 000004b4: DUP5 000004b5: DUP2 000004b6: ADD 000004b7: DUP3 000004b8: ADD 000004b9: SWAP1 000004ba: SWAP6 000004bb: MSTORE 000004bc: DUP2 000004bd: DUP5 000004be: MSTORE 000004bf: SWAP9 000004c0: SWAP12 000004c1: SWAP11 000004c2: SWAP10 000004c3: DUP10 000004c4: ADD 000004c5: SWAP9 000004c6: SWAP3 000004c7: SWAP8 000004c8: POP 000004c9: SWAP1 000004ca: DUP3 000004cb: ADD 000004cc: SWAP6 000004cd: POP 000004ce: SWAP4 000004cf: POP 000004d0: DUP4 000004d1: SWAP3 000004d2: POP 000004d3: DUP6 000004d4: ADD 000004d5: SWAP1 000004d6: DUP5 000004d7: SWAP1 000004d8: DUP1 000004d9: DUP3 000004da: DUP5 000004db: CALLDATACOPY 000004dc: POP 000004dd: POP 000004de: PUSH1 0x40 000004e0: DUP1 000004e1: MLOAD 000004e2: DUP8 000004e3: CALLDATALOAD 000004e4: DUP10 000004e5: ADD 000004e6: DUP1 000004e7: CALLDATALOAD 000004e8: PUSH1 0x20 000004ea: DUP2 000004eb: DUP2 000004ec: MUL 000004ed: DUP5 000004ee: DUP2 000004ef: ADD 000004f0: DUP3 000004f1: ADD 000004f2: SWAP1 000004f3: SWAP6 000004f4: MSTORE 000004f5: DUP2 000004f6: DUP5 000004f7: MSTORE 000004f8: SWAP9 000004f9: SWAP12 000004fa: SWAP11 000004fb: SWAP10 000004fc: DUP10 000004fd: ADD 000004fe: SWAP9 000004ff: SWAP3 00000500: SWAP8 00000501: POP 00000502: SWAP1 00000503: DUP3 00000504: ADD 00000505: SWAP6 00000506: POP 00000507: SWAP4 00000508: POP 00000509: DUP4 0000050a: SWAP3 0000050b: POP 0000050c: DUP6 0000050d: ADD 0000050e: SWAP1 0000050f: DUP5 00000510: SWAP1 00000511: DUP1 00000512: DUP3 00000513: DUP5 00000514: CALLDATACOPY 00000515: POP 00000516: POP 00000517: PUSH1 0x40 00000519: DUP1 0000051a: MLOAD 0000051b: DUP8 0000051c: CALLDATALOAD 0000051d: DUP10 0000051e: ADD 0000051f: DUP1 00000520: CALLDATALOAD 00000521: PUSH1 0x20 00000523: DUP2 00000524: DUP2 00000525: MUL 00000526: DUP5 00000527: DUP2 00000528: ADD 00000529: DUP3 0000052a: ADD 0000052b: SWAP1 0000052c: SWAP6 0000052d: MSTORE 0000052e: DUP2 0000052f: DUP5 00000530: MSTORE 00000531: SWAP9 00000532: SWAP12 00000533: SWAP11 00000534: SWAP10 00000535: DUP10 00000536: ADD 00000537: SWAP9 00000538: SWAP3 00000539: SWAP8 0000053a: POP 0000053b: SWAP1 0000053c: DUP3 0000053d: ADD 0000053e: SWAP6 0000053f: POP 00000540: SWAP4 00000541: POP 00000542: DUP4 00000543: SWAP3 00000544: POP 00000545: DUP6 00000546: ADD 00000547: SWAP1 00000548: DUP5 00000549: SWAP1 0000054a: DUP1 0000054b: DUP3 0000054c: DUP5 0000054d: CALLDATACOPY 0000054e: POP 0000054f: POP 00000550: PUSH1 0x40 00000552: DUP1 00000553: MLOAD 00000554: DUP8 00000555: CALLDATALOAD 00000556: DUP10 00000557: ADD 00000558: DUP1 00000559: CALLDATALOAD 0000055a: PUSH1 0x20 0000055c: DUP2 0000055d: DUP2 0000055e: MUL 0000055f: DUP5 00000560: DUP2 00000561: ADD 00000562: DUP3 00000563: ADD 00000564: SWAP1 00000565: SWAP6 00000566: MSTORE 00000567: DUP2 00000568: DUP5 00000569: MSTORE 0000056a: SWAP9 0000056b: SWAP12 0000056c: SWAP11 0000056d: SWAP10 0000056e: DUP10 0000056f: ADD 00000570: SWAP9 00000571: SWAP3 00000572: SWAP8 00000573: POP 00000574: SWAP1 00000575: DUP3 00000576: ADD 00000577: SWAP6 00000578: POP 00000579: SWAP4 0000057a: POP 0000057b: DUP4 0000057c: SWAP3 0000057d: POP 0000057e: DUP6 0000057f: ADD 00000580: SWAP1 00000581: DUP5 00000582: SWAP1 00000583: DUP1 00000584: DUP3 00000585: DUP5 00000586: CALLDATACOPY 00000587: POP 00000588: POP 00000589: PUSH1 0x40 0000058b: DUP1 0000058c: MLOAD 0000058d: DUP8 0000058e: CALLDATALOAD 0000058f: DUP10 00000590: ADD 00000591: DUP1 00000592: CALLDATALOAD 00000593: PUSH1 0x20 00000595: DUP2 00000596: DUP2 00000597: MUL 00000598: DUP5 00000599: DUP2 0000059a: ADD 0000059b: DUP3 0000059c: ADD 0000059d: SWAP1 0000059e: SWAP6 0000059f: MSTORE 000005a0: DUP2 000005a1: DUP5 000005a2: MSTORE 000005a3: SWAP9 000005a4: SWAP12 000005a5: SWAP11 000005a6: SWAP10 000005a7: DUP10 000005a8: ADD 000005a9: SWAP9 000005aa: SWAP3 000005ab: SWAP8 000005ac: POP 000005ad: SWAP1 000005ae: DUP3 000005af: ADD 000005b0: SWAP6 000005b1: POP 000005b2: SWAP4 000005b3: POP 000005b4: DUP4 000005b5: SWAP3 000005b6: POP 000005b7: DUP6 000005b8: ADD 000005b9: SWAP1 000005ba: DUP5 000005bb: SWAP1 000005bc: DUP1 000005bd: DUP3 000005be: DUP5 000005bf: CALLDATACOPY 000005c0: POP 000005c1: POP 000005c2: PUSH1 0x40 000005c4: DUP1 000005c5: MLOAD 000005c6: DUP8 000005c7: CALLDATALOAD 000005c8: DUP10 000005c9: ADD 000005ca: DUP1 000005cb: CALLDATALOAD 000005cc: PUSH1 0x20 000005ce: DUP2 000005cf: DUP2 000005d0: MUL 000005d1: DUP5 000005d2: DUP2 000005d3: ADD 000005d4: DUP3 000005d5: ADD 000005d6: SWAP1 000005d7: SWAP6 000005d8: MSTORE 000005d9: DUP2 000005da: DUP5 000005db: MSTORE 000005dc: SWAP9 000005dd: SWAP12 000005de: SWAP11 000005df: SWAP10 000005e0: DUP10 000005e1: ADD 000005e2: SWAP9 000005e3: SWAP3 000005e4: SWAP8 000005e5: POP 000005e6: SWAP1 000005e7: DUP3 000005e8: ADD 000005e9: SWAP6 000005ea: POP 000005eb: SWAP4 000005ec: POP 000005ed: DUP4 000005ee: SWAP3 000005ef: POP 000005f0: DUP6 000005f1: ADD 000005f2: SWAP1 000005f3: DUP5 000005f4: SWAP1 000005f5: DUP1 000005f6: DUP3 000005f7: DUP5 000005f8: CALLDATACOPY 000005f9: POP 000005fa: SWAP5 000005fb: SWAP8 000005fc: POP 000005fd: PUSH2 0x0eea 00000600: SWAP7 00000601: POP 00000602: POP 00000603: POP 00000604: POP 00000605: POP 00000606: POP 00000607: POP 00000608: JUMP 00000609: JUMPDEST 0000060a: CALLVALUE 0000060b: DUP1 0000060c: ISZERO 0000060d: PUSH2 0x0615 00000610: JUMPI 00000611: PUSH1 0x00 00000613: DUP1 00000614: REVERT 00000615: JUMPDEST 00000616: POP 00000617: PUSH2 0x0262 0000061a: PUSH1 0x01 0000061c: PUSH1 0xa0 0000061e: PUSH1 0x02 00000620: EXP 00000621: SUB 00000622: PUSH1 0x04 00000624: CALLDATALOAD 00000625: AND 00000626: PUSH2 0x1009 00000629: JUMP 0000062a: JUMPDEST 0000062b: CALLVALUE 0000062c: DUP1 0000062d: ISZERO 0000062e: PUSH2 0x0636 00000631: JUMPI 00000632: PUSH1 0x00 00000634: DUP1 00000635: REVERT 00000636: JUMPDEST 00000637: POP 00000638: PUSH2 0x0290 0000063b: PUSH1 0x01 0000063d: PUSH1 0xa0 0000063f: PUSH1 0x02 00000641: EXP 00000642: SUB 00000643: PUSH1 0x04 00000645: CALLDATALOAD 00000646: AND 00000647: PUSH1 0x24 00000649: CALLDATALOAD 0000064a: ISZERO 0000064b: ISZERO 0000064c: PUSH2 0x101e 0000064f: JUMP 00000650: JUMPDEST 00000651: CALLVALUE 00000652: DUP1 00000653: ISZERO 00000654: PUSH2 0x065c 00000657: JUMPI 00000658: PUSH1 0x00 0000065a: DUP1 0000065b: REVERT 0000065c: JUMPDEST 0000065d: POP 0000065e: PUSH2 0x0262 00000661: PUSH1 0x01 00000663: PUSH1 0xa0 00000665: PUSH1 0x02 00000667: EXP 00000668: SUB 00000669: PUSH1 0x04 0000066b: CALLDATALOAD 0000066c: DUP2 0000066d: AND 0000066e: SWAP1 0000066f: PUSH1 0x24 00000671: CALLDATALOAD 00000672: AND 00000673: PUSH1 0x44 00000675: CALLDATALOAD 00000676: PUSH1 0x64 00000678: CALLDATALOAD 00000679: PUSH2 0x1060 0000067c: JUMP 0000067d: JUMPDEST 0000067e: CALLVALUE 0000067f: DUP1 00000680: ISZERO 00000681: PUSH2 0x0689 00000684: JUMPI 00000685: PUSH1 0x00 00000687: DUP1 00000688: REVERT 00000689: JUMPDEST 0000068a: POP 0000068b: PUSH2 0x0262 0000068e: PUSH1 0x01 00000690: PUSH1 0xa0 00000692: PUSH1 0x02 00000694: EXP 00000695: SUB 00000696: PUSH1 0x04 00000698: CALLDATALOAD 00000699: DUP2 0000069a: AND 0000069b: SWAP1 0000069c: PUSH1 0x24 0000069e: CALLDATALOAD 0000069f: AND 000006a0: PUSH1 0x44 000006a2: CALLDATALOAD 000006a3: PUSH1 0x64 000006a5: CALLDATALOAD 000006a6: PUSH2 0x10c9 000006a9: JUMP 000006aa: JUMPDEST 000006ab: CALLVALUE 000006ac: DUP1 000006ad: ISZERO 000006ae: PUSH2 0x06b6 000006b1: JUMPI 000006b2: PUSH1 0x00 000006b4: DUP1 000006b5: REVERT 000006b6: JUMPDEST 000006b7: POP 000006b8: PUSH1 0x40 000006ba: DUP1 000006bb: MLOAD 000006bc: PUSH1 0x20 000006be: PUSH1 0x04 000006c0: PUSH1 0x44 000006c2: CALLDATALOAD 000006c3: DUP2 000006c4: DUP2 000006c5: ADD 000006c6: CALLDATALOAD 000006c7: PUSH1 0x1f 000006c9: DUP2 000006ca: ADD 000006cb: DUP5 000006cc: SWAP1 000006cd: DIV 000006ce: DUP5 000006cf: MUL 000006d0: DUP6 000006d1: ADD 000006d2: DUP5 000006d3: ADD 000006d4: SWAP1 000006d5: SWAP6 000006d6: MSTORE 000006d7: DUP5 000006d8: DUP5 000006d9: MSTORE 000006da: PUSH2 0x0262 000006dd: SWAP5 000006de: DUP3 000006df: CALLDATALOAD 000006e0: PUSH1 0x01 000006e2: PUSH1 0xa0 000006e4: PUSH1 0x02 000006e6: EXP 000006e7: SUB 000006e8: AND 000006e9: SWAP5 000006ea: PUSH1 0x24 000006ec: DUP1 000006ed: CALLDATALOAD 000006ee: SWAP6 000006ef: CALLDATASIZE 000006f0: SWAP6 000006f1: SWAP5 000006f2: PUSH1 0x64 000006f4: SWAP5 000006f5: SWAP3 000006f6: ADD 000006f7: SWAP2 000006f8: SWAP1 000006f9: DUP2 000006fa: SWAP1 000006fb: DUP5 000006fc: ADD 000006fd: DUP4 000006fe: DUP3 000006ff: DUP1 00000700: DUP3 00000701: DUP5 00000702: CALLDATACOPY 00000703: POP 00000704: SWAP5 00000705: SWAP8 00000706: POP 00000707: PUSH2 0x1112 0000070a: SWAP7 0000070b: POP 0000070c: POP 0000070d: POP 0000070e: POP 0000070f: POP 00000710: POP 00000711: POP 00000712: JUMP 00000713: JUMPDEST 00000714: CALLVALUE 00000715: DUP1 00000716: ISZERO 00000717: PUSH2 0x071f 0000071a: JUMPI 0000071b: PUSH1 0x00 0000071d: DUP1 0000071e: REVERT 0000071f: JUMPDEST 00000720: POP 00000721: PUSH2 0x0290 00000724: PUSH1 0x01 00000726: PUSH1 0xa0 00000728: PUSH1 0x02 0000072a: EXP 0000072b: SUB 0000072c: PUSH1 0x04 0000072e: CALLDATALOAD 0000072f: DUP2 00000730: AND 00000731: SWAP1 00000732: PUSH1 0x01 00000734: PUSH1 0x80 00000736: PUSH1 0x02 00000738: EXP 00000739: SUB 0000073a: PUSH1 0x24 0000073c: CALLDATALOAD 0000073d: AND 0000073e: SWAP1 0000073f: PUSH1 0x44 00000741: CALLDATALOAD 00000742: AND 00000743: PUSH1 0x64 00000745: CALLDATALOAD 00000746: PUSH2 0x12f2 00000749: JUMP 0000074a: JUMPDEST 0000074b: PUSH2 0x0290 0000074e: PUSH1 0x01 00000750: PUSH1 0xa0 00000752: PUSH1 0x02 00000754: EXP 00000755: SUB 00000756: PUSH1 0x04 00000758: CALLDATALOAD 00000759: AND 0000075a: PUSH2 0x146c 0000075d: JUMP 0000075e: JUMPDEST 0000075f: CALLVALUE 00000760: DUP1 00000761: ISZERO 00000762: PUSH2 0x076a 00000765: JUMPI 00000766: PUSH1 0x00 00000768: DUP1 00000769: REVERT 0000076a: JUMPDEST 0000076b: POP 0000076c: PUSH2 0x0338 0000076f: PUSH2 0x14c9 00000772: JUMP 00000773: JUMPDEST 00000774: CALLVALUE 00000775: DUP1 00000776: ISZERO 00000777: PUSH2 0x077f 0000077a: JUMPI 0000077b: PUSH1 0x00 0000077d: DUP1 0000077e: REVERT 0000077f: JUMPDEST 00000780: POP 00000781: PUSH2 0x0338 00000784: PUSH2 0x14d8 00000787: JUMP 00000788: JUMPDEST 00000789: CALLVALUE 0000078a: DUP1 0000078b: ISZERO 0000078c: PUSH2 0x0794 0000078f: JUMPI 00000790: PUSH1 0x00 00000792: DUP1 00000793: REVERT 00000794: JUMPDEST 00000795: POP 00000796: PUSH2 0x07b5 00000799: PUSH1 0x01 0000079b: PUSH1 0xa0 0000079d: PUSH1 0x02 0000079f: EXP 000007a0: SUB 000007a1: PUSH1 0x04 000007a3: CALLDATALOAD 000007a4: DUP2 000007a5: AND 000007a6: SWAP1 000007a7: PUSH1 0x24 000007a9: CALLDATALOAD 000007aa: DUP2 000007ab: AND 000007ac: SWAP1 000007ad: PUSH1 0x44 000007af: CALLDATALOAD 000007b0: AND 000007b1: PUSH2 0x14e7 000007b4: JUMP 000007b5: JUMPDEST 000007b6: PUSH1 0x40 000007b8: MLOAD 000007b9: DUP1 000007ba: DUP3 000007bb: PUSH1 0x80 000007bd: DUP1 000007be: DUP4 000007bf: DUP4 000007c0: PUSH1 0x00 000007c2: JUMPDEST 000007c3: DUP4 000007c4: DUP2 000007c5: LT 000007c6: ISZERO 000007c7: PUSH2 0x07da 000007ca: JUMPI 000007cb: DUP2 000007cc: DUP2 000007cd: ADD 000007ce: MLOAD 000007cf: DUP4 000007d0: DUP3 000007d1: ADD 000007d2: MSTORE 000007d3: PUSH1 0x20 000007d5: ADD 000007d6: PUSH2 0x07c2 000007d9: JUMP 000007da: JUMPDEST 000007db: POP 000007dc: POP 000007dd: POP 000007de: POP 000007df: SWAP1 000007e0: POP 000007e1: ADD 000007e2: SWAP2 000007e3: POP 000007e4: POP 000007e5: PUSH1 0x40 000007e7: MLOAD 000007e8: DUP1 000007e9: SWAP2 000007ea: SUB 000007eb: SWAP1 000007ec: RETURN 000007ed: JUMPDEST 000007ee: CALLVALUE 000007ef: DUP1 000007f0: ISZERO 000007f1: PUSH2 0x07f9 000007f4: JUMPI 000007f5: PUSH1 0x00 000007f7: DUP1 000007f8: REVERT 000007f9: JUMPDEST 000007fa: POP 000007fb: PUSH2 0x0311 000007fe: PUSH1 0x04 00000800: CALLDATALOAD 00000801: PUSH1 0x24 00000803: CALLDATALOAD 00000804: PUSH2 0x153c 00000807: JUMP 00000808: JUMPDEST 00000809: CALLVALUE 0000080a: DUP1 0000080b: ISZERO 0000080c: PUSH2 0x0814 0000080f: JUMPI 00000810: PUSH1 0x00 00000812: DUP1 00000813: REVERT 00000814: JUMPDEST 00000815: POP 00000816: PUSH2 0x0311 00000819: PUSH2 0x1550 0000081c: JUMP 0000081d: JUMPDEST 0000081e: CALLVALUE 0000081f: DUP1 00000820: ISZERO 00000821: PUSH2 0x0829 00000824: JUMPI 00000825: PUSH1 0x00 00000827: DUP1 00000828: REVERT 00000829: JUMPDEST 0000082a: POP 0000082b: PUSH2 0x0262 0000082e: PUSH1 0x01 00000830: PUSH1 0xa0 00000832: PUSH1 0x02 00000834: EXP 00000835: SUB 00000836: PUSH1 0x04 00000838: CALLDATALOAD 00000839: DUP2 0000083a: AND 0000083b: SWAP1 0000083c: PUSH1 0x24 0000083e: CALLDATALOAD 0000083f: AND 00000840: PUSH1 0x44 00000842: CALLDATALOAD 00000843: PUSH1 0x64 00000845: CALLDATALOAD 00000846: PUSH2 0x1556 00000849: JUMP 0000084a: JUMPDEST 0000084b: CALLVALUE 0000084c: DUP1 0000084d: ISZERO 0000084e: PUSH2 0x0856 00000851: JUMPI 00000852: PUSH1 0x00 00000854: DUP1 00000855: REVERT 00000856: JUMPDEST 00000857: POP 00000858: PUSH2 0x0311 0000085b: PUSH1 0x01 0000085d: PUSH1 0xa0 0000085f: PUSH1 0x02 00000861: EXP 00000862: SUB 00000863: PUSH1 0x04 00000865: CALLDATALOAD 00000866: AND 00000867: PUSH2 0x1586 0000086a: JUMP 0000086b: JUMPDEST 0000086c: CALLVALUE 0000086d: DUP1 0000086e: ISZERO 0000086f: PUSH2 0x0877 00000872: JUMPI 00000873: PUSH1 0x00 00000875: DUP1 00000876: REVERT 00000877: JUMPDEST 00000878: POP 00000879: PUSH2 0x0290 0000087c: PUSH1 0x01 0000087e: PUSH1 0xa0 00000880: PUSH1 0x02 00000882: EXP 00000883: SUB 00000884: PUSH1 0x04 00000886: CALLDATALOAD 00000887: AND 00000888: PUSH1 0x01 0000088a: PUSH1 0x80 0000088c: PUSH1 0x02 0000088e: EXP 0000088f: SUB 00000890: PUSH1 0x24 00000892: CALLDATALOAD 00000893: AND 00000894: PUSH2 0x1598 00000897: JUMP 00000898: JUMPDEST 00000899: CALLVALUE 0000089a: DUP1 0000089b: ISZERO 0000089c: PUSH2 0x08a4 0000089f: JUMPI 000008a0: PUSH1 0x00 000008a2: DUP1 000008a3: REVERT 000008a4: JUMPDEST 000008a5: POP 000008a6: PUSH2 0x0262 000008a9: PUSH1 0x01 000008ab: PUSH1 0xa0 000008ad: PUSH1 0x02 000008af: EXP 000008b0: SUB 000008b1: PUSH1 0x04 000008b3: CALLDATALOAD 000008b4: DUP2 000008b5: AND 000008b6: SWAP1 000008b7: PUSH1 0x24 000008b9: CALLDATALOAD 000008ba: AND 000008bb: PUSH1 0x44 000008bd: CALLDATALOAD 000008be: PUSH2 0x16b4 000008c1: JUMP 000008c2: JUMPDEST 000008c3: CALLVALUE 000008c4: DUP1 000008c5: ISZERO 000008c6: PUSH2 0x08ce 000008c9: JUMPI 000008ca: PUSH1 0x00 000008cc: DUP1 000008cd: REVERT 000008ce: JUMPDEST 000008cf: POP 000008d0: PUSH2 0x0311 000008d3: PUSH1 0x01 000008d5: PUSH1 0xa0 000008d7: PUSH1 0x02 000008d9: EXP 000008da: SUB 000008db: PUSH1 0x04 000008dd: CALLDATALOAD 000008de: DUP2 000008df: AND 000008e0: SWAP1 000008e1: PUSH1 0x24 000008e3: CALLDATALOAD 000008e4: AND 000008e5: PUSH2 0x16dd 000008e8: JUMP 000008e9: JUMPDEST 000008ea: CALLVALUE 000008eb: DUP1 000008ec: ISZERO 000008ed: PUSH2 0x08f5 000008f0: JUMPI 000008f1: PUSH1 0x00 000008f3: DUP1 000008f4: REVERT 000008f5: JUMPDEST 000008f6: POP 000008f7: PUSH2 0x0910 000008fa: PUSH1 0x01 000008fc: PUSH1 0xa0 000008fe: PUSH1 0x02 00000900: EXP 00000901: SUB 00000902: PUSH1 0x04 00000904: CALLDATALOAD 00000905: DUP2 00000906: AND 00000907: SWAP1 00000908: PUSH1 0x24 0000090a: CALLDATALOAD 0000090b: AND 0000090c: PUSH2 0x16fa 0000090f: JUMP 00000910: JUMPDEST 00000911: PUSH1 0x40 00000913: DUP1 00000914: MLOAD 00000915: DUP3 00000916: MLOAD 00000917: DUP2 00000918: MSTORE 00000919: SWAP1 0000091a: DUP2 0000091b: SWAP1 0000091c: DUP4 0000091d: SWAP1 0000091e: DUP1 0000091f: DUP4 00000920: DUP4 00000921: PUSH1 0x20 00000923: PUSH2 0x07c2 00000926: JUMP 00000927: JUMPDEST 00000928: CALLVALUE 00000929: DUP1 0000092a: ISZERO 0000092b: PUSH2 0x0933 0000092e: JUMPI 0000092f: PUSH1 0x00 00000931: DUP1 00000932: REVERT 00000933: JUMPDEST 00000934: POP 00000935: PUSH2 0x0262 00000938: PUSH1 0x01 0000093a: PUSH1 0xa0 0000093c: PUSH1 0x02 0000093e: EXP 0000093f: SUB 00000940: PUSH1 0x04 00000942: CALLDATALOAD 00000943: AND 00000944: PUSH1 0x24 00000946: CALLDATALOAD 00000947: PUSH2 0x172f 0000094a: JUMP 0000094b: JUMPDEST 0000094c: CALLVALUE 0000094d: DUP1 0000094e: ISZERO 0000094f: PUSH2 0x0957 00000952: JUMPI 00000953: PUSH1 0x00 00000955: DUP1 00000956: REVERT 00000957: JUMPDEST 00000958: POP 00000959: PUSH2 0x0311 0000095c: PUSH1 0x01 0000095e: PUSH1 0xa0 00000960: PUSH1 0x02 00000962: EXP 00000963: SUB 00000964: PUSH1 0x04 00000966: CALLDATALOAD 00000967: DUP2 00000968: AND 00000969: SWAP1 0000096a: PUSH1 0x24 0000096c: CALLDATALOAD 0000096d: AND 0000096e: PUSH2 0x184d 00000971: JUMP 00000972: JUMPDEST 00000973: CALLVALUE 00000974: DUP1 00000975: ISZERO 00000976: PUSH2 0x097e 00000979: JUMPI 0000097a: PUSH1 0x00 0000097c: DUP1 0000097d: REVERT 0000097e: JUMPDEST 0000097f: POP 00000980: PUSH2 0x0311 00000983: PUSH2 0x1868 00000986: JUMP 00000987: JUMPDEST 00000988: CALLVALUE 00000989: DUP1 0000098a: ISZERO 0000098b: PUSH2 0x0993 0000098e: JUMPI 0000098f: PUSH1 0x00 00000991: DUP1 00000992: REVERT 00000993: JUMPDEST 00000994: POP 00000995: PUSH2 0x0910 00000998: PUSH1 0x01 0000099a: PUSH1 0xa0 0000099c: PUSH1 0x02 0000099e: EXP 0000099f: SUB 000009a0: PUSH1 0x04 000009a2: CALLDATALOAD 000009a3: DUP2 000009a4: AND 000009a5: SWAP1 000009a6: PUSH1 0x24 000009a8: CALLDATALOAD 000009a9: AND 000009aa: PUSH2 0x186e 000009ad: JUMP 000009ae: JUMPDEST 000009af: CALLVALUE 000009b0: DUP1 000009b1: ISZERO 000009b2: PUSH2 0x09ba 000009b5: JUMPI 000009b6: PUSH1 0x00 000009b8: DUP1 000009b9: REVERT 000009ba: JUMPDEST 000009bb: POP 000009bc: PUSH2 0x0311 000009bf: PUSH1 0x04 000009c1: CALLDATALOAD 000009c2: PUSH1 0x24 000009c4: CALLDATALOAD 000009c5: PUSH2 0x18d2 000009c8: JUMP 000009c9: JUMPDEST 000009ca: PUSH2 0x0290 000009cd: PUSH2 0x18fd 000009d0: JUMP 000009d1: JUMPDEST 000009d2: CALLVALUE 000009d3: DUP1 000009d4: ISZERO 000009d5: PUSH2 0x09dd 000009d8: JUMPI 000009d9: PUSH1 0x00 000009db: DUP1 000009dc: REVERT 000009dd: JUMPDEST 000009de: POP 000009df: PUSH1 0x40 000009e1: DUP1 000009e2: MLOAD 000009e3: PUSH1 0x20 000009e5: PUSH1 0x1f 000009e7: PUSH1 0x64 000009e9: CALLDATALOAD 000009ea: PUSH1 0x04 000009ec: DUP2 000009ed: DUP2 000009ee: ADD 000009ef: CALLDATALOAD 000009f0: SWAP3 000009f1: DUP4 000009f2: ADD 000009f3: DUP5 000009f4: SWAP1 000009f5: DIV 000009f6: DUP5 000009f7: MUL 000009f8: DUP6 000009f9: ADD 000009fa: DUP5 000009fb: ADD 000009fc: SWAP1 000009fd: SWAP6 000009fe: MSTORE 000009ff: DUP2 00000a00: DUP5 00000a01: MSTORE 00000a02: PUSH2 0x0262 00000a05: SWAP5 00000a06: PUSH1 0x01 00000a08: PUSH1 0xa0 00000a0a: PUSH1 0x02 00000a0c: EXP 00000a0d: SUB 00000a0e: DUP2 00000a0f: CALLDATALOAD 00000a10: DUP2 00000a11: AND 00000a12: SWAP6 00000a13: PUSH1 0x24 00000a15: DUP1 00000a16: CALLDATALOAD 00000a17: SWAP7 00000a18: PUSH1 0x44 00000a1a: CALLDATALOAD 00000a1b: SWAP1 00000a1c: SWAP4 00000a1d: AND 00000a1e: SWAP6 00000a1f: CALLDATASIZE 00000a20: SWAP6 00000a21: PUSH1 0x84 00000a23: SWAP5 00000a24: SWAP3 00000a25: ADD 00000a26: SWAP2 00000a27: DUP2 00000a28: SWAP1 00000a29: DUP5 00000a2a: ADD 00000a2b: DUP4 00000a2c: DUP3 00000a2d: DUP1 00000a2e: DUP3 00000a2f: DUP5 00000a30: CALLDATACOPY 00000a31: POP 00000a32: SWAP5 00000a33: SWAP8 00000a34: POP 00000a35: POP 00000a36: DUP5 00000a37: CALLDATALOAD 00000a38: SWAP6 00000a39: POP 00000a3a: POP 00000a3b: POP 00000a3c: POP 00000a3d: PUSH1 0x20 00000a3f: DUP3 00000a40: ADD 00000a41: CALLDATALOAD 00000a42: PUSH1 0xff 00000a44: AND 00000a45: SWAP2 00000a46: PUSH1 0x40 00000a48: DUP2 00000a49: ADD 00000a4a: CALLDATALOAD 00000a4b: SWAP2 00000a4c: POP 00000a4d: PUSH1 0x60 00000a4f: DUP2 00000a50: ADD 00000a51: CALLDATALOAD 00000a52: SWAP1 00000a53: PUSH1 0x80 00000a55: ADD 00000a56: CALLDATALOAD 00000a57: PUSH2 0x1979 00000a5a: JUMP 00000a5b: JUMPDEST 00000a5c: CALLVALUE 00000a5d: DUP1 00000a5e: ISZERO 00000a5f: PUSH2 0x0a67 00000a62: JUMPI 00000a63: PUSH1 0x00 00000a65: DUP1 00000a66: REVERT 00000a67: JUMPDEST 00000a68: POP 00000a69: PUSH2 0x0262 00000a6c: PUSH1 0x01 00000a6e: PUSH1 0xa0 00000a70: PUSH1 0x02 00000a72: EXP 00000a73: SUB 00000a74: PUSH1 0x04 00000a76: CALLDATALOAD 00000a77: DUP2 00000a78: AND 00000a79: SWAP1 00000a7a: PUSH1 0x24 00000a7c: CALLDATALOAD 00000a7d: SWAP1 00000a7e: PUSH1 0x44 00000a80: CALLDATALOAD 00000a81: AND 00000a82: PUSH1 0x64 00000a84: CALLDATALOAD 00000a85: PUSH1 0xff 00000a87: PUSH1 0x84 00000a89: CALLDATALOAD 00000a8a: AND 00000a8b: PUSH1 0xa4 00000a8d: CALLDATALOAD 00000a8e: PUSH1 0xc4 00000a90: CALLDATALOAD 00000a91: PUSH1 0xe4 00000a93: CALLDATALOAD 00000a94: PUSH2 0x1d88 00000a97: JUMP 00000a98: JUMPDEST 00000a99: CALLVALUE 00000a9a: DUP1 00000a9b: ISZERO 00000a9c: PUSH2 0x0aa4 00000a9f: JUMPI 00000aa0: PUSH1 0x00 00000aa2: DUP1 00000aa3: REVERT 00000aa4: JUMPDEST 00000aa5: POP 00000aa6: PUSH2 0x0262 00000aa9: PUSH1 0x04 00000aab: CALLDATALOAD 00000aac: PUSH2 0x20ac 00000aaf: JUMP 00000ab0: JUMPDEST 00000ab1: CALLVALUE 00000ab2: DUP1 00000ab3: ISZERO 00000ab4: PUSH2 0x0abc 00000ab7: JUMPI 00000ab8: PUSH1 0x00 00000aba: DUP1 00000abb: REVERT 00000abc: JUMPDEST 00000abd: POP 00000abe: PUSH2 0x0311 00000ac1: PUSH1 0x04 00000ac3: CALLDATALOAD 00000ac4: PUSH1 0x24 00000ac6: CALLDATALOAD 00000ac7: PUSH2 0x2114 00000aca: JUMP 00000acb: JUMPDEST 00000acc: CALLVALUE 00000acd: DUP1 00000ace: ISZERO 00000acf: PUSH2 0x0ad7 00000ad2: JUMPI 00000ad3: PUSH1 0x00 00000ad5: DUP1 00000ad6: REVERT 00000ad7: JUMPDEST 00000ad8: POP 00000ad9: PUSH2 0x0311 00000adc: PUSH2 0x2130 00000adf: JUMP 00000ae0: JUMPDEST 00000ae1: CALLVALUE 00000ae2: DUP1 00000ae3: ISZERO 00000ae4: PUSH2 0x0aec 00000ae7: JUMPI 00000ae8: PUSH1 0x00 00000aea: DUP1 00000aeb: REVERT 00000aec: JUMPDEST 00000aed: POP 00000aee: PUSH2 0x0262 00000af1: PUSH1 0x01 00000af3: PUSH1 0xa0 00000af5: PUSH1 0x02 00000af7: EXP 00000af8: SUB 00000af9: PUSH1 0x04 00000afb: CALLDATALOAD 00000afc: AND 00000afd: PUSH1 0x24 00000aff: CALLDATALOAD 00000b00: PUSH2 0x2136 00000b03: JUMP 00000b04: JUMPDEST 00000b05: CALLVALUE 00000b06: DUP1 00000b07: ISZERO 00000b08: PUSH2 0x0b10 00000b0b: JUMPI 00000b0c: PUSH1 0x00 00000b0e: DUP1 00000b0f: REVERT 00000b10: JUMPDEST 00000b11: POP 00000b12: PUSH2 0x0311 00000b15: PUSH1 0x01 00000b17: PUSH1 0xa0 00000b19: PUSH1 0x02 00000b1b: EXP 00000b1c: SUB 00000b1d: PUSH1 0x04 00000b1f: CALLDATALOAD 00000b20: DUP2 00000b21: AND 00000b22: SWAP1 00000b23: PUSH1 0x24 00000b25: CALLDATALOAD 00000b26: AND 00000b27: PUSH2 0x2290 00000b2a: JUMP 00000b2b: JUMPDEST 00000b2c: CALLVALUE 00000b2d: DUP1 00000b2e: ISZERO 00000b2f: PUSH2 0x0b37 00000b32: JUMPI 00000b33: PUSH1 0x00 00000b35: DUP1 00000b36: REVERT 00000b37: JUMPDEST 00000b38: POP 00000b39: PUSH2 0x0338 00000b3c: PUSH2 0x22a3 00000b3f: JUMP 00000b40: JUMPDEST 00000b41: PUSH1 0x02 00000b43: PUSH1 0x20 00000b45: MSTORE 00000b46: PUSH1 0x00 00000b48: SWAP1 00000b49: DUP2 00000b4a: MSTORE 00000b4b: PUSH1 0x40 00000b4d: SWAP1 00000b4e: KECCAK256 00000b4f: SLOAD 00000b50: PUSH1 0xff 00000b52: AND 00000b53: DUP2 00000b54: JUMP 00000b55: JUMPDEST 00000b56: DUP1 00000b57: ISZERO 00000b58: ISZERO 00000b59: PUSH2 0x0b61 00000b5c: JUMPI 00000b5d: PUSH1 0x00 00000b5f: DUP1 00000b60: REVERT 00000b61: JUMPDEST 00000b62: POP 00000b63: JUMP 00000b64: JUMPDEST 00000b65: PUSH2 0x0b78 00000b68: DUP4 00000b69: DUP3 00000b6a: DUP5 00000b6b: PUSH1 0x01 00000b6d: PUSH1 0x80 00000b6f: PUSH1 0x02 00000b71: EXP 00000b72: SUB 00000b73: AND 00000b74: PUSH2 0x22b2 00000b77: JUMP 00000b78: JUMPDEST 00000b79: PUSH1 0x40 00000b7b: DUP1 00000b7c: MLOAD 00000b7d: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00000b9e: DUP2 00000b9f: MSTORE 00000ba0: CALLER 00000ba1: PUSH1 0x04 00000ba3: DUP3 00000ba4: ADD 00000ba5: MSTORE 00000ba6: ADDRESS 00000ba7: PUSH1 0x24 00000ba9: DUP3 00000baa: ADD 00000bab: MSTORE 00000bac: PUSH1 0x01 00000bae: PUSH1 0x80 00000bb0: PUSH1 0x02 00000bb2: EXP 00000bb3: SUB 00000bb4: DUP5 00000bb5: AND 00000bb6: PUSH1 0x44 00000bb8: DUP3 00000bb9: ADD 00000bba: MSTORE 00000bbb: SWAP1 00000bbc: MLOAD 00000bbd: PUSH1 0x01 00000bbf: PUSH1 0xa0 00000bc1: PUSH1 0x02 00000bc3: EXP 00000bc4: SUB 00000bc5: DUP6 00000bc6: AND 00000bc7: SWAP2 00000bc8: PUSH4 0x23b872dd 00000bcd: SWAP2 00000bce: PUSH1 0x64 00000bd0: DUP1 00000bd1: DUP4 00000bd2: ADD 00000bd3: SWAP3 00000bd4: PUSH1 0x20 00000bd6: SWAP3 00000bd7: SWAP2 00000bd8: SWAP1 00000bd9: DUP3 00000bda: SWAP1 00000bdb: SUB 00000bdc: ADD 00000bdd: DUP2 00000bde: PUSH1 0x00 00000be0: DUP8 00000be1: DUP1 00000be2: EXTCODESIZE 00000be3: ISZERO 00000be4: DUP1 00000be5: ISZERO 00000be6: PUSH2 0x0bee 00000be9: JUMPI 00000bea: PUSH1 0x00 00000bec: DUP1 00000bed: REVERT 00000bee: JUMPDEST 00000bef: POP 00000bf0: GAS 00000bf1: CALL 00000bf2: ISZERO 00000bf3: DUP1 00000bf4: ISZERO 00000bf5: PUSH2 0x0c02 00000bf8: JUMPI 00000bf9: RETURNDATASIZE 00000bfa: PUSH1 0x00 00000bfc: DUP1 00000bfd: RETURNDATACOPY 00000bfe: RETURNDATASIZE 00000bff: PUSH1 0x00 00000c01: REVERT 00000c02: JUMPDEST 00000c03: POP 00000c04: POP 00000c05: POP 00000c06: POP 00000c07: PUSH1 0x40 00000c09: MLOAD 00000c0a: RETURNDATASIZE 00000c0b: PUSH1 0x20 00000c0d: DUP2 00000c0e: LT 00000c0f: ISZERO 00000c10: PUSH2 0x0c18 00000c13: JUMPI 00000c14: PUSH1 0x00 00000c16: DUP1 00000c17: REVERT 00000c18: JUMPDEST 00000c19: POP 00000c1a: MLOAD 00000c1b: ISZERO 00000c1c: ISZERO 00000c1d: PUSH2 0x0c25 00000c20: JUMPI 00000c21: PUSH1 0x00 00000c23: DUP1 00000c24: REVERT 00000c25: JUMPDEST 00000c26: DUP1 00000c27: PUSH1 0x01 00000c29: PUSH1 0xa0 00000c2b: PUSH1 0x02 00000c2d: EXP 00000c2e: SUB 00000c2f: AND 00000c30: DUP4 00000c31: PUSH1 0x01 00000c33: PUSH1 0xa0 00000c35: PUSH1 0x02 00000c37: EXP 00000c38: SUB 00000c39: AND 00000c3a: PUSH1 0x00 00000c3c: DUP1 00000c3d: MLOAD 00000c3e: PUSH1 0x20 00000c40: PUSH2 0x2425 00000c43: DUP4 00000c44: CODECOPY 00000c45: DUP2 00000c46: MLOAD 00000c47: SWAP2 00000c48: MSTORE 00000c49: DUP5 00000c4a: PUSH2 0x0c53 00000c4d: DUP8 00000c4e: DUP7 00000c4f: PUSH2 0x2290 00000c52: JUMP 00000c53: JUMPDEST 00000c54: PUSH1 0x40 00000c56: DUP1 00000c57: MLOAD 00000c58: PUSH1 0x01 00000c5a: PUSH1 0x80 00000c5c: PUSH1 0x02 00000c5e: EXP 00000c5f: SUB 00000c60: SWAP1 00000c61: SWAP4 00000c62: AND 00000c63: DUP4 00000c64: MSTORE 00000c65: PUSH1 0x20 00000c67: DUP4 00000c68: ADD 00000c69: SWAP2 00000c6a: SWAP1 00000c6b: SWAP2 00000c6c: MSTORE 00000c6d: DUP1 00000c6e: MLOAD 00000c6f: SWAP2 00000c70: DUP3 00000c71: SWAP1 00000c72: SUB 00000c73: ADD 00000c74: SWAP1 00000c75: LOG3 00000c76: POP 00000c77: POP 00000c78: POP 00000c79: JUMP 00000c7a: JUMPDEST 00000c7b: PUSH1 0x00 00000c7d: DUP1 00000c7e: SLOAD 00000c7f: PUSH2 0x0c92 00000c82: SWAP1 00000c83: PUSH1 0x01 00000c85: PUSH1 0xa0 00000c87: PUSH1 0x02 00000c89: EXP 00000c8a: SUB 00000c8b: AND 00000c8c: CALLER 00000c8d: EQ 00000c8e: PUSH2 0x0b55 00000c91: JUMP 00000c92: JUMPDEST 00000c93: PUSH1 0x09 00000c95: SLOAD 00000c96: PUSH1 0xff 00000c98: AND 00000c99: ISZERO 00000c9a: PUSH2 0x0ca2 00000c9d: JUMPI 00000c9e: PUSH1 0x00 00000ca0: DUP1 00000ca1: REVERT 00000ca2: JUMPDEST 00000ca3: POP 00000ca4: NUMBER 00000ca5: PUSH1 0x0b 00000ca7: SSTORE 00000ca8: PUSH1 0x01 00000caa: SWAP1 00000cab: JUMP 00000cac: JUMPDEST 00000cad: PUSH1 0x00 00000caf: SLOAD 00000cb0: PUSH2 0x0cc3 00000cb3: SWAP1 00000cb4: PUSH1 0x01 00000cb6: PUSH1 0xa0 00000cb8: PUSH1 0x02 00000cba: EXP 00000cbb: SUB 00000cbc: AND 00000cbd: CALLER 00000cbe: EQ 00000cbf: PUSH2 0x0b55 00000cc2: JUMP 00000cc3: JUMPDEST 00000cc4: PUSH1 0x00 00000cc6: DUP1 00000cc7: SLOAD 00000cc8: PUSH1 0x40 00000cca: MLOAD 00000ccb: PUSH1 0x01 00000ccd: PUSH1 0xa0 00000ccf: PUSH1 0x02 00000cd1: EXP 00000cd2: SUB 00000cd3: DUP1 00000cd4: DUP6 00000cd5: AND 00000cd6: SWAP4 00000cd7: SWAP3 00000cd8: AND 00000cd9: SWAP2 00000cda: PUSH32 0xcbf985117192c8f614a58aaf97226bb80a754772f5f6edf06f87c675f2e6c663 00000cfb: SWAP2 00000cfc: LOG3 00000cfd: PUSH1 0x00 00000cff: DUP1 00000d00: SLOAD 00000d01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d16: NOT 00000d17: AND 00000d18: PUSH1 0x01 00000d1a: PUSH1 0xa0 00000d1c: PUSH1 0x02 00000d1e: EXP 00000d1f: SUB 00000d20: SWAP3 00000d21: SWAP1 00000d22: SWAP3 00000d23: AND 00000d24: SWAP2 00000d25: SWAP1 00000d26: SWAP2 00000d27: OR 00000d28: SWAP1 00000d29: SSTORE 00000d2a: JUMP 00000d2b: JUMPDEST 00000d2c: PUSH1 0x0b 00000d2e: SLOAD 00000d2f: DUP2 00000d30: JUMP 00000d31: JUMPDEST 00000d32: PUSH1 0x05 00000d34: SLOAD 00000d35: PUSH1 0x01 00000d37: PUSH1 0xa0 00000d39: PUSH1 0x02 00000d3b: EXP 00000d3c: SUB 00000d3d: AND 00000d3e: DUP2 00000d3f: JUMP 00000d40: JUMPDEST 00000d41: CALLER 00000d42: PUSH1 0x00 00000d44: SWAP1 00000d45: DUP2 00000d46: MSTORE 00000d47: PUSH1 0x02 00000d49: PUSH1 0x20 00000d4b: MSTORE 00000d4c: PUSH1 0x40 00000d4e: DUP2 00000d4f: KECCAK256 00000d50: SLOAD 00000d51: PUSH1 0xff 00000d53: AND 00000d54: ISZERO 00000d55: ISZERO 00000d56: PUSH2 0x0d5e 00000d59: JUMPI 00000d5a: PUSH1 0x00 00000d5c: DUP1 00000d5d: REVERT 00000d5e: JUMPDEST 00000d5f: DUP3 00000d60: PUSH2 0x0d69 00000d63: DUP7 00000d64: DUP7 00000d65: PUSH2 0x2290 00000d68: JUMP 00000d69: JUMPDEST 00000d6a: LT 00000d6b: ISZERO 00000d6c: PUSH2 0x0d77 00000d6f: JUMPI 00000d70: POP 00000d71: PUSH1 0x00 00000d73: PUSH2 0x0dab 00000d76: JUMP 00000d77: JUMPDEST 00000d78: PUSH2 0x0da7 00000d7b: DUP6 00000d7c: DUP6 00000d7d: PUSH2 0x0d8f 00000d80: PUSH2 0x0d89 00000d83: DUP10 00000d84: DUP10 00000d85: PUSH2 0x2290 00000d88: JUMP 00000d89: JUMPDEST 00000d8a: DUP8 00000d8b: PUSH2 0x153c 00000d8e: JUMP 00000d8f: JUMPDEST 00000d90: PUSH2 0x0da2 00000d93: PUSH2 0x0d9c 00000d96: DUP11 00000d97: DUP11 00000d98: PUSH2 0x184d 00000d9b: JUMP 00000d9c: JUMPDEST 00000d9d: DUP8 00000d9e: PUSH2 0x2114 00000da1: JUMP 00000da2: JUMPDEST 00000da3: PUSH2 0x22d5 00000da6: JUMP 00000da7: JUMPDEST 00000da8: POP 00000da9: PUSH1 0x01 00000dab: JUMPDEST 00000dac: SWAP5 00000dad: SWAP4 00000dae: POP 00000daf: POP 00000db0: POP 00000db1: POP 00000db2: JUMP 00000db3: JUMPDEST 00000db4: PUSH1 0x00 00000db6: SLOAD 00000db7: PUSH2 0x0dca 00000dba: SWAP1 00000dbb: PUSH1 0x01 00000dbd: PUSH1 0xa0 00000dbf: PUSH1 0x02 00000dc1: EXP 00000dc2: SUB 00000dc3: AND 00000dc4: CALLER 00000dc5: EQ 00000dc6: PUSH2 0x0b55 00000dc9: JUMP 00000dca: JUMPDEST 00000dcb: PUSH1 0x06 00000dcd: SLOAD 00000dce: PUSH1 0x01 00000dd0: PUSH1 0xa0 00000dd2: PUSH1 0x02 00000dd4: EXP 00000dd5: SUB 00000dd6: AND 00000dd7: ISZERO 00000dd8: ISZERO 00000dd9: PUSH2 0x0e09 00000ddc: JUMPI 00000ddd: PUSH1 0x06 00000ddf: DUP1 00000de0: SLOAD 00000de1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000df6: NOT 00000df7: AND 00000df8: PUSH1 0x01 00000dfa: PUSH1 0xa0 00000dfc: PUSH1 0x02 00000dfe: EXP 00000dff: SUB 00000e00: DUP5 00000e01: AND 00000e02: OR 00000e03: SWAP1 00000e04: SSTORE 00000e05: PUSH2 0x0e0e 00000e08: JUMP 00000e09: JUMPDEST 00000e0a: PUSH1 0x00 00000e0c: DUP1 00000e0d: REVERT 00000e0e: JUMPDEST 00000e0f: PUSH1 0x01 00000e11: PUSH1 0xa0 00000e13: PUSH1 0x02 00000e15: EXP 00000e16: SUB 00000e17: DUP3 00000e18: AND 00000e19: PUSH1 0x00 00000e1b: DUP2 00000e1c: DUP2 00000e1d: MSTORE 00000e1e: PUSH1 0x02 00000e20: PUSH1 0x20 00000e22: SWAP1 00000e23: DUP2 00000e24: MSTORE 00000e25: PUSH1 0x40 00000e27: SWAP2 00000e28: DUP3 00000e29: SWAP1 00000e2a: KECCAK256 00000e2b: DUP1 00000e2c: SLOAD 00000e2d: PUSH1 0xff 00000e2f: NOT 00000e30: AND 00000e31: DUP6 00000e32: ISZERO 00000e33: ISZERO 00000e34: SWAP1 00000e35: DUP2 00000e36: OR 00000e37: SWAP1 00000e38: SWAP2 00000e39: SSTORE 00000e3a: DUP3 00000e3b: MLOAD 00000e3c: SWAP4 00000e3d: DUP5 00000e3e: MSTORE 00000e3f: SWAP1 00000e40: DUP4 00000e41: ADD 00000e42: MSTORE 00000e43: DUP1 00000e44: MLOAD 00000e45: PUSH32 0xd52650aadc7286c5cbc5259bdddd3d967821bd6bfd78babe1d68ba30a0474367 00000e66: SWAP3 00000e67: DUP2 00000e68: SWAP1 00000e69: SUB 00000e6a: SWAP1 00000e6b: SWAP2 00000e6c: ADD 00000e6d: SWAP1 00000e6e: LOG1 00000e6f: POP 00000e70: POP 00000e71: JUMP 00000e72: JUMPDEST 00000e73: PUSH1 0x00 00000e75: PUSH2 0x0e90 00000e78: PUSH2 0x0e81 00000e7b: DUP5 00000e7c: DUP5 00000e7d: PUSH2 0x2290 00000e80: JUMP 00000e81: JUMPDEST 00000e82: PUSH2 0x0e8b 00000e85: DUP6 00000e86: DUP6 00000e87: PUSH2 0x184d 00000e8a: JUMP 00000e8b: JUMPDEST 00000e8c: PUSH2 0x153c 00000e8f: JUMP 00000e90: JUMPDEST 00000e91: SWAP1 00000e92: POP 00000e93: JUMPDEST 00000e94: SWAP3 00000e95: SWAP2 00000e96: POP 00000e97: POP 00000e98: JUMP 00000e99: JUMPDEST 00000e9a: PUSH1 0x09 00000e9c: SLOAD 00000e9d: PUSH1 0xff 00000e9f: AND 00000ea0: DUP2 00000ea1: JUMP 00000ea2: JUMPDEST 00000ea3: PUSH1 0x08 00000ea5: PUSH1 0x20 00000ea7: MSTORE 00000ea8: PUSH1 0x00 00000eaa: SWAP1 00000eab: DUP2 00000eac: MSTORE 00000ead: PUSH1 0x40 00000eaf: SWAP1 00000eb0: KECCAK256 00000eb1: SLOAD 00000eb2: PUSH1 0xff 00000eb4: AND 00000eb5: DUP2 00000eb6: JUMP 00000eb7: JUMPDEST 00000eb8: CALLER 00000eb9: PUSH1 0x00 00000ebb: SWAP1 00000ebc: DUP2 00000ebd: MSTORE 00000ebe: PUSH1 0x02 00000ec0: PUSH1 0x20 00000ec2: MSTORE 00000ec3: PUSH1 0x40 00000ec5: DUP2 00000ec6: KECCAK256 00000ec7: SLOAD 00000ec8: PUSH1 0xff 00000eca: AND 00000ecb: ISZERO 00000ecc: ISZERO 00000ecd: PUSH2 0x0ed5 00000ed0: JUMPI 00000ed1: PUSH1 0x00 00000ed3: DUP1 00000ed4: REVERT 00000ed5: JUMPDEST 00000ed6: PUSH2 0x0ee0 00000ed9: DUP5 00000eda: DUP5 00000edb: DUP5 00000edc: PUSH2 0x2319 00000edf: JUMP 00000ee0: JUMPDEST 00000ee1: POP 00000ee2: PUSH1 0x01 00000ee4: SWAP4 00000ee5: SWAP3 00000ee6: POP 00000ee7: POP 00000ee8: POP 00000ee9: JUMP 00000eea: JUMPDEST 00000eeb: PUSH1 0x00 00000eed: DUP1 00000eee: SLOAD 00000eef: PUSH1 0x01 00000ef1: PUSH1 0xa0 00000ef3: PUSH1 0x02 00000ef5: EXP 00000ef6: SUB 00000ef7: AND 00000ef8: CALLER 00000ef9: EQ 00000efa: DUP1 00000efb: ISZERO 00000efc: SWAP1 00000efd: PUSH2 0x0f16 00000f00: JUMPI 00000f01: POP 00000f02: CALLER 00000f03: PUSH1 0x00 00000f05: SWAP1 00000f06: DUP2 00000f07: MSTORE 00000f08: PUSH1 0x01 00000f0a: PUSH1 0x20 00000f0c: MSTORE 00000f0d: PUSH1 0x40 00000f0f: SWAP1 00000f10: KECCAK256 00000f11: SLOAD 00000f12: PUSH1 0xff 00000f14: AND 00000f15: ISZERO 00000f16: JUMPDEST 00000f17: ISZERO 00000f18: PUSH2 0x0f20 00000f1b: JUMPI 00000f1c: PUSH1 0x00 00000f1e: DUP1 00000f1f: REVERT 00000f20: JUMPDEST 00000f21: POP 00000f22: PUSH1 0x00 00000f24: JUMPDEST 00000f25: DUP8 00000f26: MLOAD 00000f27: DUP2 00000f28: LT 00000f29: ISZERO 00000f2a: PUSH2 0x0ffe 00000f2d: JUMPI 00000f2e: PUSH2 0x0ff5 00000f31: DUP10 00000f32: DUP3 00000f33: DUP2 00000f34: MLOAD 00000f35: DUP2 00000f36: LT 00000f37: ISZERO 00000f38: ISZERO 00000f39: PUSH2 0x0f3e 00000f3c: JUMPI 00000f3d: INVALID 00000f3e: JUMPDEST 00000f3f: SWAP1 00000f40: PUSH1 0x20 00000f42: ADD 00000f43: SWAP1 00000f44: PUSH1 0x20 00000f46: MUL 00000f47: ADD 00000f48: MLOAD 00000f49: DUP10 00000f4a: DUP4 00000f4b: DUP2 00000f4c: MLOAD 00000f4d: DUP2 00000f4e: LT 00000f4f: ISZERO 00000f50: ISZERO 00000f51: PUSH2 0x0f56 00000f54: JUMPI 00000f55: INVALID 00000f56: JUMPDEST 00000f57: SWAP1 00000f58: PUSH1 0x20 00000f5a: ADD 00000f5b: SWAP1 00000f5c: PUSH1 0x20 00000f5e: MUL 00000f5f: ADD 00000f60: MLOAD 00000f61: DUP10 00000f62: DUP5 00000f63: DUP2 00000f64: MLOAD 00000f65: DUP2 00000f66: LT 00000f67: ISZERO 00000f68: ISZERO 00000f69: PUSH2 0x0f6e 00000f6c: JUMPI 00000f6d: INVALID 00000f6e: JUMPDEST 00000f6f: SWAP1 00000f70: PUSH1 0x20 00000f72: ADD 00000f73: SWAP1 00000f74: PUSH1 0x20 00000f76: MUL 00000f77: ADD 00000f78: MLOAD 00000f79: DUP10 00000f7a: DUP6 00000f7b: DUP2 00000f7c: MLOAD 00000f7d: DUP2 00000f7e: LT 00000f7f: ISZERO 00000f80: ISZERO 00000f81: PUSH2 0x0f86 00000f84: JUMPI 00000f85: INVALID 00000f86: JUMPDEST 00000f87: SWAP1 00000f88: PUSH1 0x20 00000f8a: ADD 00000f8b: SWAP1 00000f8c: PUSH1 0x20 00000f8e: MUL 00000f8f: ADD 00000f90: MLOAD 00000f91: DUP10 00000f92: DUP7 00000f93: DUP2 00000f94: MLOAD 00000f95: DUP2 00000f96: LT 00000f97: ISZERO 00000f98: ISZERO 00000f99: PUSH2 0x0f9e 00000f9c: JUMPI 00000f9d: INVALID 00000f9e: JUMPDEST 00000f9f: SWAP1 00000fa0: PUSH1 0x20 00000fa2: ADD 00000fa3: SWAP1 00000fa4: PUSH1 0x20 00000fa6: MUL 00000fa7: ADD 00000fa8: MLOAD 00000fa9: DUP10 00000faa: DUP8 00000fab: DUP2 00000fac: MLOAD 00000fad: DUP2 00000fae: LT 00000faf: ISZERO 00000fb0: ISZERO 00000fb1: PUSH2 0x0fb6 00000fb4: JUMPI 00000fb5: INVALID 00000fb6: JUMPDEST 00000fb7: SWAP1 00000fb8: PUSH1 0x20 00000fba: ADD 00000fbb: SWAP1 00000fbc: PUSH1 0x20 00000fbe: MUL 00000fbf: ADD 00000fc0: MLOAD 00000fc1: DUP10 00000fc2: DUP9 00000fc3: DUP2 00000fc4: MLOAD 00000fc5: DUP2 00000fc6: LT 00000fc7: ISZERO 00000fc8: ISZERO 00000fc9: PUSH2 0x0fce 00000fcc: JUMPI 00000fcd: INVALID 00000fce: JUMPDEST 00000fcf: SWAP1 00000fd0: PUSH1 0x20 00000fd2: ADD 00000fd3: SWAP1 00000fd4: PUSH1 0x20 00000fd6: MUL 00000fd7: ADD 00000fd8: MLOAD 00000fd9: DUP10 00000fda: DUP10 00000fdb: DUP2 00000fdc: MLOAD 00000fdd: DUP2 00000fde: LT 00000fdf: ISZERO 00000fe0: ISZERO 00000fe1: PUSH2 0x0fe6 00000fe4: JUMPI 00000fe5: INVALID 00000fe6: JUMPDEST 00000fe7: SWAP1 00000fe8: PUSH1 0x20 00000fea: ADD 00000feb: SWAP1 00000fec: PUSH1 0x20 00000fee: MUL 00000fef: ADD 00000ff0: MLOAD 00000ff1: PUSH2 0x1d88 00000ff4: JUMP 00000ff5: JUMPDEST 00000ff6: POP 00000ff7: PUSH1 0x01 00000ff9: ADD 00000ffa: PUSH2 0x0f24 00000ffd: JUMP 00000ffe: JUMPDEST 00000fff: POP 00001000: POP 00001001: POP 00001002: POP 00001003: POP 00001004: POP 00001005: POP 00001006: POP 00001007: POP 00001008: JUMP 00001009: JUMPDEST 0000100a: PUSH1 0x01 0000100c: PUSH1 0x20 0000100e: MSTORE 0000100f: PUSH1 0x00 00001011: SWAP1 00001012: DUP2 00001013: MSTORE 00001014: PUSH1 0x40 00001016: SWAP1 00001017: KECCAK256 00001018: SLOAD 00001019: PUSH1 0xff 0000101b: AND 0000101c: DUP2 0000101d: JUMP 0000101e: JUMPDEST 0000101f: PUSH1 0x00 00001021: SLOAD 00001022: PUSH2 0x1035 00001025: SWAP1 00001026: PUSH1 0x01 00001028: PUSH1 0xa0 0000102a: PUSH1 0x02 0000102c: EXP 0000102d: SUB 0000102e: AND 0000102f: CALLER 00001030: EQ 00001031: PUSH2 0x0b55 00001034: JUMP 00001035: JUMPDEST 00001036: PUSH1 0x01 00001038: PUSH1 0xa0 0000103a: PUSH1 0x02 0000103c: EXP 0000103d: SUB 0000103e: SWAP2 0000103f: SWAP1 00001040: SWAP2 00001041: AND 00001042: PUSH1 0x00 00001044: SWAP1 00001045: DUP2 00001046: MSTORE 00001047: PUSH1 0x01 00001049: PUSH1 0x20 0000104b: MSTORE 0000104c: PUSH1 0x40 0000104e: SWAP1 0000104f: KECCAK256 00001050: DUP1 00001051: SLOAD 00001052: PUSH1 0xff 00001054: NOT 00001055: AND 00001056: SWAP2 00001057: ISZERO 00001058: ISZERO 00001059: SWAP2 0000105a: SWAP1 0000105b: SWAP2 0000105c: OR 0000105d: SWAP1 0000105e: SSTORE 0000105f: JUMP 00001060: JUMPDEST 00001061: CALLER 00001062: PUSH1 0x00 00001064: SWAP1 00001065: DUP2 00001066: MSTORE 00001067: PUSH1 0x02 00001069: PUSH1 0x20 0000106b: MSTORE 0000106c: PUSH1 0x40 0000106e: DUP2 0000106f: KECCAK256 00001070: SLOAD 00001071: PUSH1 0xff 00001073: AND 00001074: ISZERO 00001075: ISZERO 00001076: PUSH2 0x107e 00001079: JUMPI 0000107a: PUSH1 0x00 0000107c: DUP1 0000107d: REVERT 0000107e: JUMPDEST 0000107f: DUP3 00001080: PUSH2 0x1089 00001083: DUP7 00001084: DUP7 00001085: PUSH2 0x2290 00001088: JUMP 00001089: JUMPDEST 0000108a: LT 0000108b: DUP1 0000108c: PUSH2 0x109d 0000108f: JUMPI 00001090: POP 00001091: DUP2 00001092: PUSH2 0x109b 00001095: DUP7 00001096: DUP7 00001097: PUSH2 0x184d 0000109a: JUMP 0000109b: JUMPDEST 0000109c: LT 0000109d: JUMPDEST 0000109e: ISZERO 0000109f: PUSH2 0x10aa 000010a2: JUMPI 000010a3: POP 000010a4: PUSH1 0x00 000010a6: PUSH2 0x0dab 000010a9: JUMP 000010aa: JUMPDEST 000010ab: PUSH2 0x0da7 000010ae: DUP6 000010af: DUP6 000010b0: PUSH2 0x10bc 000010b3: PUSH2 0x0d89 000010b6: DUP10 000010b7: DUP10 000010b8: PUSH2 0x2290 000010bb: JUMP 000010bc: JUMPDEST 000010bd: PUSH2 0x0da2 000010c0: PUSH2 0x0d89 000010c3: DUP11 000010c4: DUP11 000010c5: PUSH2 0x184d 000010c8: JUMP 000010c9: JUMPDEST 000010ca: CALLER 000010cb: PUSH1 0x00 000010cd: SWAP1 000010ce: DUP2 000010cf: MSTORE 000010d0: PUSH1 0x02 000010d2: PUSH1 0x20 000010d4: MSTORE 000010d5: PUSH1 0x40 000010d7: DUP2 000010d8: KECCAK256 000010d9: SLOAD 000010da: PUSH1 0xff 000010dc: AND 000010dd: ISZERO 000010de: ISZERO 000010df: PUSH2 0x10e7 000010e2: JUMPI 000010e3: PUSH1 0x00 000010e5: DUP1 000010e6: REVERT 000010e7: JUMPDEST 000010e8: DUP2 000010e9: PUSH2 0x10f2 000010ec: DUP7 000010ed: DUP7 000010ee: PUSH2 0x184d 000010f1: JUMP 000010f2: JUMPDEST 000010f3: LT 000010f4: ISZERO 000010f5: PUSH2 0x1100 000010f8: JUMPI 000010f9: POP 000010fa: PUSH1 0x00 000010fc: PUSH2 0x0dab 000010ff: JUMP 00001100: JUMPDEST 00001101: PUSH2 0x0da7 00001104: DUP6 00001105: DUP6 00001106: PUSH2 0x10bc 00001109: PUSH2 0x0d9c 0000110c: DUP10 0000110d: DUP10 0000110e: PUSH2 0x2290 00001111: JUMP 00001112: JUMPDEST 00001113: PUSH1 0x00 00001115: DUP3 00001116: PUSH2 0x111f 00001119: DUP6 0000111a: CALLER 0000111b: PUSH2 0x0e72 0000111e: JUMP 0000111f: JUMPDEST 00001120: LT 00001121: ISZERO 00001122: PUSH2 0x112a 00001125: JUMPI 00001126: PUSH1 0x00 00001128: DUP1 00001129: REVERT 0000112a: JUMPDEST 0000112b: PUSH2 0x1135 0000112e: DUP5 0000112f: CALLER 00001130: DUP6 00001131: PUSH2 0x236d 00001134: JUMP 00001135: JUMPDEST 00001136: PUSH1 0x40 00001138: DUP1 00001139: MLOAD 0000113a: PUSH32 0x24b76fd500000000000000000000000000000000000000000000000000000000 0000115b: DUP2 0000115c: MSTORE 0000115d: PUSH1 0x04 0000115f: DUP2 00001160: ADD 00001161: DUP6 00001162: DUP2 00001163: MSTORE 00001164: PUSH1 0x24 00001166: DUP3 00001167: ADD 00001168: SWAP3 00001169: DUP4 0000116a: MSTORE 0000116b: DUP5 0000116c: MLOAD 0000116d: PUSH1 0x44 0000116f: DUP4 00001170: ADD 00001171: MSTORE 00001172: DUP5 00001173: MLOAD 00001174: PUSH1 0x01 00001176: PUSH1 0xa0 00001178: PUSH1 0x02 0000117a: EXP 0000117b: SUB 0000117c: DUP9 0000117d: AND 0000117e: SWAP4 0000117f: PUSH4 0x24b76fd5 00001184: SWAP4 00001185: DUP9 00001186: SWAP4 00001187: DUP9 00001188: SWAP4 00001189: SWAP1 0000118a: SWAP3 0000118b: SWAP2 0000118c: PUSH1 0x64 0000118e: ADD 0000118f: SWAP1 00001190: PUSH1 0x20 00001192: DUP6 00001193: ADD 00001194: SWAP1 00001195: DUP1 00001196: DUP4 00001197: DUP4 00001198: PUSH1 0x00 0000119a: JUMPDEST 0000119b: DUP4 0000119c: DUP2 0000119d: LT 0000119e: ISZERO 0000119f: PUSH2 0x11b2 000011a2: JUMPI 000011a3: DUP2 000011a4: DUP2 000011a5: ADD 000011a6: MLOAD 000011a7: DUP4 000011a8: DUP3 000011a9: ADD 000011aa: MSTORE 000011ab: PUSH1 0x20 000011ad: ADD 000011ae: PUSH2 0x119a 000011b1: JUMP 000011b2: JUMPDEST 000011b3: POP 000011b4: POP 000011b5: POP 000011b6: POP 000011b7: SWAP1 000011b8: POP 000011b9: SWAP1 000011ba: DUP2 000011bb: ADD 000011bc: SWAP1 000011bd: PUSH1 0x1f 000011bf: AND 000011c0: DUP1 000011c1: ISZERO 000011c2: PUSH2 0x11df 000011c5: JUMPI 000011c6: DUP1 000011c7: DUP3 000011c8: SUB 000011c9: DUP1 000011ca: MLOAD 000011cb: PUSH1 0x01 000011cd: DUP4 000011ce: PUSH1 0x20 000011d0: SUB 000011d1: PUSH2 0x0100 000011d4: EXP 000011d5: SUB 000011d6: NOT 000011d7: AND 000011d8: DUP2 000011d9: MSTORE 000011da: PUSH1 0x20 000011dc: ADD 000011dd: SWAP2 000011de: POP 000011df: JUMPDEST 000011e0: POP 000011e1: SWAP4 000011e2: POP 000011e3: POP 000011e4: POP 000011e5: POP 000011e6: PUSH1 0x20 000011e8: PUSH1 0x40 000011ea: MLOAD 000011eb: DUP1 000011ec: DUP4 000011ed: SUB 000011ee: DUP2 000011ef: PUSH1 0x00 000011f1: DUP8 000011f2: DUP1 000011f3: EXTCODESIZE 000011f4: ISZERO 000011f5: DUP1 000011f6: ISZERO 000011f7: PUSH2 0x11ff 000011fa: JUMPI 000011fb: PUSH1 0x00 000011fd: DUP1 000011fe: REVERT 000011ff: JUMPDEST 00001200: POP 00001201: GAS 00001202: CALL 00001203: ISZERO 00001204: DUP1 00001205: ISZERO 00001206: PUSH2 0x1213 00001209: JUMPI 0000120a: RETURNDATASIZE 0000120b: PUSH1 0x00 0000120d: DUP1 0000120e: RETURNDATACOPY 0000120f: RETURNDATASIZE 00001210: PUSH1 0x00 00001212: REVERT 00001213: JUMPDEST 00001214: POP 00001215: POP 00001216: POP 00001217: POP 00001218: PUSH1 0x40 0000121a: MLOAD 0000121b: RETURNDATASIZE 0000121c: PUSH1 0x20 0000121e: DUP2 0000121f: LT 00001220: ISZERO 00001221: PUSH2 0x1229 00001224: JUMPI 00001225: PUSH1 0x00 00001227: DUP1 00001228: REVERT 00001229: JUMPDEST 0000122a: POP 0000122b: MLOAD 0000122c: ISZERO 0000122d: ISZERO 0000122e: PUSH2 0x1236 00001231: JUMPI 00001232: PUSH1 0x00 00001234: DUP1 00001235: REVERT 00001236: JUMPDEST 00001237: CALLER 00001238: PUSH1 0x01 0000123a: PUSH1 0xa0 0000123c: PUSH1 0x02 0000123e: EXP 0000123f: SUB 00001240: AND 00001241: DUP5 00001242: PUSH1 0x01 00001244: PUSH1 0xa0 00001246: PUSH1 0x02 00001248: EXP 00001249: SUB 0000124a: AND 0000124b: PUSH32 0x9dfa686b7b2937e4fd677c02d58d6360465783882b284ba8378d52d957031f48 0000126c: DUP6 0000126d: DUP6 0000126e: PUSH1 0x40 00001270: MLOAD 00001271: DUP1 00001272: DUP4 00001273: DUP2 00001274: MSTORE 00001275: PUSH1 0x20 00001277: ADD 00001278: DUP1 00001279: PUSH1 0x20 0000127b: ADD 0000127c: DUP3 0000127d: DUP2 0000127e: SUB 0000127f: DUP3 00001280: MSTORE 00001281: DUP4 00001282: DUP2 00001283: DUP2 00001284: MLOAD 00001285: DUP2 00001286: MSTORE 00001287: PUSH1 0x20 00001289: ADD 0000128a: SWAP2 0000128b: POP 0000128c: DUP1 0000128d: MLOAD 0000128e: SWAP1 0000128f: PUSH1 0x20 00001291: ADD 00001292: SWAP1 00001293: DUP1 00001294: DUP4 00001295: DUP4 00001296: PUSH1 0x00 00001298: JUMPDEST 00001299: DUP4 0000129a: DUP2 0000129b: LT 0000129c: ISZERO 0000129d: PUSH2 0x12b0 000012a0: JUMPI 000012a1: DUP2 000012a2: DUP2 000012a3: ADD 000012a4: MLOAD 000012a5: DUP4 000012a6: DUP3 000012a7: ADD 000012a8: MSTORE 000012a9: PUSH1 0x20 000012ab: ADD 000012ac: PUSH2 0x1298 000012af: JUMP 000012b0: JUMPDEST 000012b1: POP 000012b2: POP 000012b3: POP 000012b4: POP 000012b5: SWAP1 000012b6: POP 000012b7: SWAP1 000012b8: DUP2 000012b9: ADD 000012ba: SWAP1 000012bb: PUSH1 0x1f 000012bd: AND 000012be: DUP1 000012bf: ISZERO 000012c0: PUSH2 0x12dd 000012c3: JUMPI 000012c4: DUP1 000012c5: DUP3 000012c6: SUB 000012c7: DUP1 000012c8: MLOAD 000012c9: PUSH1 0x01 000012cb: DUP4 000012cc: PUSH1 0x20 000012ce: SUB 000012cf: PUSH2 0x0100 000012d2: EXP 000012d3: SUB 000012d4: NOT 000012d5: AND 000012d6: DUP2 000012d7: MSTORE 000012d8: PUSH1 0x20 000012da: ADD 000012db: SWAP2 000012dc: POP 000012dd: JUMPDEST 000012de: POP 000012df: SWAP4 000012e0: POP 000012e1: POP 000012e2: POP 000012e3: POP 000012e4: PUSH1 0x40 000012e6: MLOAD 000012e7: DUP1 000012e8: SWAP2 000012e9: SUB 000012ea: SWAP1 000012eb: LOG3 000012ec: SWAP4 000012ed: SWAP3 000012ee: POP 000012ef: POP 000012f0: POP 000012f1: JUMP 000012f2: JUMPDEST 000012f3: PUSH8 0x016345785d8a0000 000012fc: DUP4 000012fd: PUSH1 0x01 000012ff: PUSH1 0x80 00001301: PUSH1 0x02 00001303: EXP 00001304: SUB 00001305: AND 00001306: PUSH2 0x1317 00001309: DUP4 0000130a: PUSH8 0x0de0b6b3a7640000 00001313: PUSH2 0x18d2 00001316: JUMP 00001317: JUMPDEST 00001318: DUP2 00001319: ISZERO 0000131a: ISZERO 0000131b: PUSH2 0x1320 0000131e: JUMPI 0000131f: INVALID 00001320: JUMPDEST 00001321: DIV 00001322: GT 00001323: ISZERO 00001324: PUSH2 0x132c 00001327: JUMPI 00001328: PUSH1 0x00 0000132a: DUP1 0000132b: REVERT 0000132c: JUMPDEST 0000132d: PUSH2 0x1349 00001330: DUP5 00001331: DUP4 00001332: PUSH2 0x1344 00001335: DUP7 00001336: PUSH1 0x01 00001338: PUSH1 0x80 0000133a: PUSH1 0x02 0000133c: EXP 0000133d: SUB 0000133e: AND 0000133f: DUP6 00001340: PUSH2 0x153c 00001343: JUMP 00001344: JUMPDEST 00001345: PUSH2 0x22b2 00001348: JUMP 00001349: JUMPDEST 0000134a: PUSH1 0x05 0000134c: SLOAD 0000134d: PUSH2 0x1361 00001350: SWAP1 00001351: DUP6 00001352: SWAP1 00001353: PUSH1 0x01 00001355: PUSH1 0xa0 00001357: PUSH1 0x02 00001359: EXP 0000135a: SUB 0000135b: AND 0000135c: DUP4 0000135d: PUSH2 0x22b2 00001360: JUMP 00001361: JUMPDEST 00001362: PUSH1 0x40 00001364: DUP1 00001365: MLOAD 00001366: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00001387: DUP2 00001388: MSTORE 00001389: CALLER 0000138a: PUSH1 0x04 0000138c: DUP3 0000138d: ADD 0000138e: MSTORE 0000138f: ADDRESS 00001390: PUSH1 0x24 00001392: DUP3 00001393: ADD 00001394: MSTORE 00001395: PUSH1 0x01 00001397: PUSH1 0x80 00001399: PUSH1 0x02 0000139b: EXP 0000139c: SUB 0000139d: DUP6 0000139e: AND 0000139f: PUSH1 0x44 000013a1: DUP3 000013a2: ADD 000013a3: MSTORE 000013a4: SWAP1 000013a5: MLOAD 000013a6: PUSH1 0x01 000013a8: PUSH1 0xa0 000013aa: PUSH1 0x02 000013ac: EXP 000013ad: SUB 000013ae: DUP7 000013af: AND 000013b0: SWAP2 000013b1: PUSH4 0x23b872dd 000013b6: SWAP2 000013b7: PUSH1 0x64 000013b9: DUP1 000013ba: DUP4 000013bb: ADD 000013bc: SWAP3 000013bd: PUSH1 0x20 000013bf: SWAP3 000013c0: SWAP2 000013c1: SWAP1 000013c2: DUP3 000013c3: SWAP1 000013c4: SUB 000013c5: ADD 000013c6: DUP2 000013c7: PUSH1 0x00 000013c9: DUP8 000013ca: DUP1 000013cb: EXTCODESIZE 000013cc: ISZERO 000013cd: DUP1 000013ce: ISZERO 000013cf: PUSH2 0x13d7 000013d2: JUMPI 000013d3: PUSH1 0x00 000013d5: DUP1 000013d6: REVERT 000013d7: JUMPDEST 000013d8: POP 000013d9: GAS 000013da: CALL 000013db: ISZERO 000013dc: DUP1 000013dd: ISZERO 000013de: PUSH2 0x13eb 000013e1: JUMPI 000013e2: RETURNDATASIZE 000013e3: PUSH1 0x00 000013e5: DUP1 000013e6: RETURNDATACOPY 000013e7: RETURNDATASIZE 000013e8: PUSH1 0x00 000013ea: REVERT 000013eb: JUMPDEST 000013ec: POP 000013ed: POP 000013ee: POP 000013ef: POP 000013f0: PUSH1 0x40 000013f2: MLOAD 000013f3: RETURNDATASIZE 000013f4: PUSH1 0x20 000013f6: DUP2 000013f7: LT 000013f8: ISZERO 000013f9: PUSH2 0x1401 000013fc: JUMPI 000013fd: PUSH1 0x00 000013ff: DUP1 00001400: REVERT 00001401: JUMPDEST 00001402: POP 00001403: MLOAD 00001404: ISZERO 00001405: ISZERO 00001406: PUSH2 0x140e 00001409: JUMPI 0000140a: PUSH1 0x00 0000140c: DUP1 0000140d: REVERT 0000140e: JUMPDEST 0000140f: DUP2 00001410: PUSH1 0x01 00001412: PUSH1 0xa0 00001414: PUSH1 0x02 00001416: EXP 00001417: SUB 00001418: AND 00001419: DUP5 0000141a: PUSH1 0x01 0000141c: PUSH1 0xa0 0000141e: PUSH1 0x02 00001420: EXP 00001421: SUB 00001422: AND 00001423: PUSH1 0x00 00001425: DUP1 00001426: MLOAD 00001427: PUSH1 0x20 00001429: PUSH2 0x2425 0000142c: DUP4 0000142d: CODECOPY 0000142e: DUP2 0000142f: MLOAD 00001430: SWAP2 00001431: MSTORE 00001432: PUSH2 0x1444 00001435: DUP7 00001436: PUSH1 0x01 00001438: PUSH1 0x80 0000143a: PUSH1 0x02 0000143c: EXP 0000143d: SUB 0000143e: AND 0000143f: DUP6 00001440: PUSH2 0x153c 00001443: JUMP 00001444: JUMPDEST 00001445: PUSH2 0x144e 00001448: DUP9 00001449: DUP8 0000144a: PUSH2 0x2290 0000144d: JUMP 0000144e: JUMPDEST 0000144f: PUSH1 0x40 00001451: DUP1 00001452: MLOAD 00001453: SWAP3 00001454: DUP4 00001455: MSTORE 00001456: PUSH1 0x20 00001458: DUP4 00001459: ADD 0000145a: SWAP2 0000145b: SWAP1 0000145c: SWAP2 0000145d: MSTORE 0000145e: DUP1 0000145f: MLOAD 00001460: SWAP2 00001461: DUP3 00001462: SWAP1 00001463: SUB 00001464: ADD 00001465: SWAP1 00001466: LOG3 00001467: POP 00001468: POP 00001469: POP 0000146a: POP 0000146b: JUMP 0000146c: JUMPDEST 0000146d: PUSH1 0x09 0000146f: SLOAD 00001470: PUSH1 0xff 00001472: AND 00001473: ISZERO 00001474: PUSH2 0x147c 00001477: JUMPI 00001478: PUSH1 0x00 0000147a: DUP1 0000147b: REVERT 0000147c: JUMPDEST 0000147d: PUSH2 0x1488 00001480: PUSH1 0x00 00001482: DUP3 00001483: CALLVALUE 00001484: PUSH2 0x22b2 00001487: JUMP 00001488: JUMPDEST 00001489: PUSH1 0x01 0000148b: PUSH1 0xa0 0000148d: PUSH1 0x02 0000148f: EXP 00001490: SUB 00001491: DUP2 00001492: AND 00001493: PUSH1 0x00 00001495: PUSH1 0x00 00001497: DUP1 00001498: MLOAD 00001499: PUSH1 0x20 0000149b: PUSH2 0x2425 0000149e: DUP4 0000149f: CODECOPY 000014a0: DUP2 000014a1: MLOAD 000014a2: SWAP2 000014a3: MSTORE 000014a4: CALLVALUE 000014a5: PUSH2 0x14ae 000014a8: DUP4 000014a9: DUP7 000014aa: PUSH2 0x2290 000014ad: JUMP 000014ae: JUMPDEST 000014af: PUSH1 0x40 000014b1: DUP1 000014b2: MLOAD 000014b3: SWAP3 000014b4: DUP4 000014b5: MSTORE 000014b6: PUSH1 0x20 000014b8: DUP4 000014b9: ADD 000014ba: SWAP2 000014bb: SWAP1 000014bc: SWAP2 000014bd: MSTORE 000014be: DUP1 000014bf: MLOAD 000014c0: SWAP2 000014c1: DUP3 000014c2: SWAP1 000014c3: SUB 000014c4: ADD 000014c5: SWAP1 000014c6: LOG3 000014c7: POP 000014c8: JUMP 000014c9: JUMPDEST 000014ca: PUSH1 0x00 000014cc: SLOAD 000014cd: PUSH1 0x01 000014cf: PUSH1 0xa0 000014d1: PUSH1 0x02 000014d3: EXP 000014d4: SUB 000014d5: AND 000014d6: SWAP1 000014d7: JUMP 000014d8: JUMPDEST 000014d9: PUSH1 0x00 000014db: SLOAD 000014dc: PUSH1 0x01 000014de: PUSH1 0xa0 000014e0: PUSH1 0x02 000014e2: EXP 000014e3: SUB 000014e4: AND 000014e5: DUP2 000014e6: JUMP 000014e7: JUMPDEST 000014e8: PUSH2 0x14ef 000014eb: PUSH2 0x23ea 000014ee: JUMP 000014ef: JUMPDEST 000014f0: PUSH1 0x80 000014f2: PUSH1 0x40 000014f4: MLOAD 000014f5: SWAP1 000014f6: DUP2 000014f7: ADD 000014f8: PUSH1 0x40 000014fa: MSTORE 000014fb: DUP1 000014fc: PUSH2 0x1505 000014ff: DUP7 00001500: DUP7 00001501: PUSH2 0x2290 00001504: JUMP 00001505: JUMPDEST 00001506: DUP2 00001507: MSTORE 00001508: PUSH1 0x20 0000150a: ADD 0000150b: PUSH2 0x1514 0000150e: DUP7 0000150f: DUP6 00001510: PUSH2 0x2290 00001513: JUMP 00001514: JUMPDEST 00001515: DUP2 00001516: MSTORE 00001517: PUSH1 0x20 00001519: ADD 0000151a: PUSH2 0x1523 0000151d: DUP7 0000151e: DUP7 0000151f: PUSH2 0x184d 00001522: JUMP 00001523: JUMPDEST 00001524: DUP2 00001525: MSTORE 00001526: PUSH1 0x20 00001528: ADD 00001529: PUSH2 0x1532 0000152c: DUP7 0000152d: DUP6 0000152e: PUSH2 0x184d 00001531: JUMP 00001532: JUMPDEST 00001533: SWAP1 00001534: MSTORE 00001535: SWAP5 00001536: SWAP4 00001537: POP 00001538: POP 00001539: POP 0000153a: POP 0000153b: JUMP 0000153c: JUMPDEST 0000153d: PUSH1 0x00 0000153f: PUSH2 0x154a 00001542: DUP4 00001543: DUP4 00001544: GT 00001545: ISZERO 00001546: PUSH2 0x0b55 00001549: JUMP 0000154a: JUMPDEST 0000154b: POP 0000154c: SWAP1 0000154d: SUB 0000154e: SWAP1 0000154f: JUMP 00001550: JUMPDEST 00001551: PUSH1 0x07 00001553: SLOAD 00001554: SWAP1 00001555: JUMP 00001556: JUMPDEST 00001557: CALLER 00001558: PUSH1 0x00 0000155a: SWAP1 0000155b: DUP2 0000155c: MSTORE 0000155d: PUSH1 0x02 0000155f: PUSH1 0x20 00001561: MSTORE 00001562: PUSH1 0x40 00001564: DUP2 00001565: KECCAK256 00001566: SLOAD 00001567: PUSH1 0xff 00001569: AND 0000156a: ISZERO 0000156b: ISZERO 0000156c: PUSH2 0x1574 0000156f: JUMPI 00001570: PUSH1 0x00 00001572: DUP1 00001573: REVERT 00001574: JUMPDEST 00001575: PUSH2 0x0dab 00001578: DUP6 00001579: DUP6 0000157a: PUSH2 0x0d8f 0000157d: PUSH2 0x0d9c 00001580: DUP10 00001581: DUP10 00001582: PUSH2 0x2290 00001585: JUMP 00001586: JUMPDEST 00001587: PUSH1 0x04 00001589: PUSH1 0x20 0000158b: MSTORE 0000158c: PUSH1 0x00 0000158e: SWAP1 0000158f: DUP2 00001590: MSTORE 00001591: PUSH1 0x40 00001593: SWAP1 00001594: KECCAK256 00001595: SLOAD 00001596: DUP2 00001597: JUMP 00001598: JUMPDEST 00001599: PUSH1 0x09 0000159b: SLOAD 0000159c: PUSH1 0xff 0000159e: AND 0000159f: ISZERO 000015a0: PUSH2 0x15a8 000015a3: JUMPI 000015a4: PUSH1 0x00 000015a6: DUP1 000015a7: REVERT 000015a8: JUMPDEST 000015a9: PUSH2 0x15bc 000015ac: DUP3 000015ad: CALLER 000015ae: DUP4 000015af: PUSH1 0x01 000015b1: PUSH1 0x80 000015b3: PUSH1 0x02 000015b5: EXP 000015b6: SUB 000015b7: AND 000015b8: PUSH2 0x22b2 000015bb: JUMP 000015bc: JUMPDEST 000015bd: PUSH1 0x40 000015bf: DUP1 000015c0: MLOAD 000015c1: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 000015e2: DUP2 000015e3: MSTORE 000015e4: CALLER 000015e5: PUSH1 0x04 000015e7: DUP3 000015e8: ADD 000015e9: MSTORE 000015ea: ADDRESS 000015eb: PUSH1 0x24 000015ed: DUP3 000015ee: ADD 000015ef: MSTORE 000015f0: PUSH1 0x01 000015f2: PUSH1 0x80 000015f4: PUSH1 0x02 000015f6: EXP 000015f7: SUB 000015f8: DUP4 000015f9: AND 000015fa: PUSH1 0x44 000015fc: DUP3 000015fd: ADD 000015fe: MSTORE 000015ff: SWAP1 00001600: MLOAD 00001601: PUSH1 0x01 00001603: PUSH1 0xa0 00001605: PUSH1 0x02 00001607: EXP 00001608: SUB 00001609: DUP5 0000160a: AND 0000160b: SWAP2 0000160c: PUSH4 0x23b872dd 00001611: SWAP2 00001612: PUSH1 0x64 00001614: DUP1 00001615: DUP4 00001616: ADD 00001617: SWAP3 00001618: PUSH1 0x20 0000161a: SWAP3 0000161b: SWAP2 0000161c: SWAP1 0000161d: DUP3 0000161e: SWAP1 0000161f: SUB 00001620: ADD 00001621: DUP2 00001622: PUSH1 0x00 00001624: DUP8 00001625: DUP1 00001626: EXTCODESIZE 00001627: ISZERO 00001628: DUP1 00001629: ISZERO 0000162a: PUSH2 0x1632 0000162d: JUMPI 0000162e: PUSH1 0x00 00001630: DUP1 00001631: REVERT 00001632: JUMPDEST 00001633: POP 00001634: GAS 00001635: CALL 00001636: ISZERO 00001637: DUP1 00001638: ISZERO 00001639: PUSH2 0x1646 0000163c: JUMPI 0000163d: RETURNDATASIZE 0000163e: PUSH1 0x00 00001640: DUP1 00001641: RETURNDATACOPY 00001642: RETURNDATASIZE 00001643: PUSH1 0x00 00001645: REVERT 00001646: JUMPDEST 00001647: POP 00001648: POP 00001649: POP 0000164a: POP 0000164b: PUSH1 0x40 0000164d: MLOAD 0000164e: RETURNDATASIZE 0000164f: PUSH1 0x20 00001651: DUP2 00001652: LT 00001653: ISZERO 00001654: PUSH2 0x165c 00001657: JUMPI 00001658: PUSH1 0x00 0000165a: DUP1 0000165b: REVERT 0000165c: JUMPDEST 0000165d: POP 0000165e: MLOAD 0000165f: ISZERO 00001660: ISZERO 00001661: PUSH2 0x1669 00001664: JUMPI 00001665: PUSH1 0x00 00001667: DUP1 00001668: REVERT 00001669: JUMPDEST 0000166a: CALLER 0000166b: PUSH1 0x01 0000166d: PUSH1 0xa0 0000166f: PUSH1 0x02 00001671: EXP 00001672: SUB 00001673: DUP4 00001674: AND 00001675: PUSH1 0x00 00001677: DUP1 00001678: MLOAD 00001679: PUSH1 0x20 0000167b: PUSH2 0x2425 0000167e: DUP4 0000167f: CODECOPY 00001680: DUP2 00001681: MLOAD 00001682: SWAP2 00001683: MSTORE 00001684: DUP4 00001685: PUSH2 0x168e 00001688: DUP7 00001689: DUP6 0000168a: PUSH2 0x2290 0000168d: JUMP 0000168e: JUMPDEST 0000168f: PUSH1 0x40 00001691: DUP1 00001692: MLOAD 00001693: PUSH1 0x01 00001695: PUSH1 0x80 00001697: PUSH1 0x02 00001699: EXP 0000169a: SUB 0000169b: SWAP1 0000169c: SWAP4 0000169d: AND 0000169e: DUP4 0000169f: MSTORE 000016a0: PUSH1 0x20 000016a2: DUP4 000016a3: ADD 000016a4: SWAP2 000016a5: SWAP1 000016a6: SWAP2 000016a7: MSTORE 000016a8: DUP1 000016a9: MLOAD 000016aa: SWAP2 000016ab: DUP3 000016ac: SWAP1 000016ad: SUB 000016ae: ADD 000016af: SWAP1 000016b0: LOG3 000016b1: POP 000016b2: POP 000016b3: JUMP 000016b4: JUMPDEST 000016b5: CALLER 000016b6: PUSH1 0x00 000016b8: SWAP1 000016b9: DUP2 000016ba: MSTORE 000016bb: PUSH1 0x02 000016bd: PUSH1 0x20 000016bf: MSTORE 000016c0: PUSH1 0x40 000016c2: DUP2 000016c3: KECCAK256 000016c4: SLOAD 000016c5: PUSH1 0xff 000016c7: AND 000016c8: ISZERO 000016c9: ISZERO 000016ca: PUSH2 0x16d2 000016cd: JUMPI 000016ce: PUSH1 0x00 000016d0: DUP1 000016d1: REVERT 000016d2: JUMPDEST 000016d3: PUSH2 0x0da7 000016d6: DUP5 000016d7: DUP5 000016d8: DUP5 000016d9: PUSH2 0x239b 000016dc: JUMP 000016dd: JUMPDEST 000016de: PUSH1 0x03 000016e0: PUSH1 0x20 000016e2: SWAP1 000016e3: DUP2 000016e4: MSTORE 000016e5: PUSH1 0x00 000016e7: SWAP3 000016e8: DUP4 000016e9: MSTORE 000016ea: PUSH1 0x40 000016ec: DUP1 000016ed: DUP5 000016ee: KECCAK256 000016ef: SWAP1 000016f0: SWAP2 000016f1: MSTORE 000016f2: SWAP1 000016f3: DUP3 000016f4: MSTORE 000016f5: SWAP1 000016f6: KECCAK256 000016f7: SLOAD 000016f8: DUP2 000016f9: JUMP 000016fa: JUMPDEST 000016fb: PUSH2 0x1702 000016fe: PUSH2 0x2409 00001701: JUMP 00001702: JUMPDEST 00001703: PUSH1 0x40 00001705: DUP1 00001706: MLOAD 00001707: SWAP1 00001708: DUP2 00001709: ADD 0000170a: PUSH1 0x40 0000170c: MSTORE 0000170d: DUP1 0000170e: PUSH2 0x1717 00001711: DUP6 00001712: DUP6 00001713: PUSH2 0x2290 00001716: JUMP 00001717: JUMPDEST 00001718: DUP2 00001719: MSTORE 0000171a: PUSH1 0x20 0000171c: ADD 0000171d: PUSH2 0x1726 00001720: DUP6 00001721: DUP6 00001722: PUSH2 0x184d 00001725: JUMP 00001726: JUMPDEST 00001727: SWAP1 00001728: MSTORE 00001729: SWAP4 0000172a: SWAP3 0000172b: POP 0000172c: POP 0000172d: POP 0000172e: JUMP 0000172f: JUMPDEST 00001730: PUSH1 0x00 00001732: DUP1 00001733: SLOAD 00001734: PUSH2 0x1747 00001737: SWAP1 00001738: PUSH1 0x01 0000173a: PUSH1 0xa0 0000173c: PUSH1 0x02 0000173e: EXP 0000173f: SUB 00001740: AND 00001741: CALLER 00001742: EQ 00001743: PUSH2 0x0b55 00001746: JUMP 00001747: JUMPDEST 00001748: PUSH1 0x09 0000174a: SLOAD 0000174b: PUSH1 0xff 0000174d: AND 0000174e: ISZERO 0000174f: ISZERO 00001750: PUSH2 0x1758 00001753: JUMPI 00001754: PUSH1 0x00 00001756: DUP1 00001757: REVERT 00001758: JUMPDEST 00001759: NUMBER 0000175a: PUSH2 0x1767 0000175d: PUSH1 0x0b 0000175f: SLOAD 00001760: PUSH1 0x0a 00001762: SLOAD 00001763: PUSH2 0x2114 00001766: JUMP 00001767: JUMPDEST 00001768: GT 00001769: ISZERO 0000176a: PUSH2 0x1772 0000176d: JUMPI 0000176e: PUSH1 0x00 00001770: DUP1 00001771: REVERT 00001772: JUMPDEST 00001773: PUSH1 0x01 00001775: PUSH1 0xa0 00001777: PUSH1 0x02 00001779: EXP 0000177a: SUB 0000177b: DUP4 0000177c: AND 0000177d: ISZERO 0000177e: ISZERO 0000177f: PUSH2 0x17ae 00001782: JUMPI 00001783: PUSH1 0x40 00001785: MLOAD 00001786: CALLER 00001787: SWAP1 00001788: DUP4 00001789: ISZERO 0000178a: PUSH2 0x08fc 0000178d: MUL 0000178e: SWAP1 0000178f: DUP5 00001790: SWAP1 00001791: PUSH1 0x00 00001793: DUP2 00001794: DUP2 00001795: DUP2 00001796: DUP6 00001797: DUP9 00001798: DUP9 00001799: CALL 0000179a: SWAP4 0000179b: POP 0000179c: POP 0000179d: POP 0000179e: POP 0000179f: ISZERO 000017a0: ISZERO 000017a1: PUSH2 0x17a9 000017a4: JUMPI 000017a5: PUSH1 0x00 000017a7: DUP1 000017a8: REVERT 000017a9: JUMPDEST 000017aa: PUSH2 0x0e93 000017ad: JUMP 000017ae: JUMPDEST 000017af: PUSH1 0x40 000017b1: DUP1 000017b2: MLOAD 000017b3: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000017d4: DUP2 000017d5: MSTORE 000017d6: CALLER 000017d7: PUSH1 0x04 000017d9: DUP3 000017da: ADD 000017db: MSTORE 000017dc: PUSH1 0x24 000017de: DUP2 000017df: ADD 000017e0: DUP5 000017e1: SWAP1 000017e2: MSTORE 000017e3: SWAP1 000017e4: MLOAD 000017e5: PUSH1 0x01 000017e7: PUSH1 0xa0 000017e9: PUSH1 0x02 000017eb: EXP 000017ec: SUB 000017ed: DUP6 000017ee: AND 000017ef: SWAP2 000017f0: PUSH4 0xa9059cbb 000017f5: SWAP2 000017f6: PUSH1 0x44 000017f8: DUP1 000017f9: DUP4 000017fa: ADD 000017fb: SWAP3 000017fc: PUSH1 0x20 000017fe: SWAP3 000017ff: SWAP2 00001800: SWAP1 00001801: DUP3 00001802: SWAP1 00001803: SUB 00001804: ADD 00001805: DUP2 00001806: PUSH1 0x00 00001808: DUP8 00001809: DUP1 0000180a: EXTCODESIZE 0000180b: ISZERO 0000180c: DUP1 0000180d: ISZERO 0000180e: PUSH2 0x1816 00001811: JUMPI 00001812: PUSH1 0x00 00001814: DUP1 00001815: REVERT 00001816: JUMPDEST 00001817: POP 00001818: GAS 00001819: CALL 0000181a: ISZERO 0000181b: DUP1 0000181c: ISZERO 0000181d: PUSH2 0x182a 00001820: JUMPI 00001821: RETURNDATASIZE 00001822: PUSH1 0x00 00001824: DUP1 00001825: RETURNDATACOPY 00001826: RETURNDATASIZE 00001827: PUSH1 0x00 00001829: REVERT 0000182a: JUMPDEST 0000182b: POP 0000182c: POP 0000182d: POP 0000182e: POP 0000182f: PUSH1 0x40 00001831: MLOAD 00001832: RETURNDATASIZE 00001833: PUSH1 0x20 00001835: DUP2 00001836: LT 00001837: ISZERO 00001838: PUSH2 0x1840 0000183b: JUMPI 0000183c: PUSH1 0x00 0000183e: DUP1 0000183f: REVERT 00001840: JUMPDEST 00001841: POP 00001842: MLOAD 00001843: ISZERO 00001844: ISZERO 00001845: PUSH2 0x0e93 00001848: JUMPI 00001849: PUSH1 0x00 0000184b: DUP1 0000184c: REVERT 0000184d: JUMPDEST 0000184e: PUSH1 0x00 00001850: PUSH2 0x1859 00001853: DUP4 00001854: DUP4 00001855: PUSH2 0x186e 00001858: JUMP 00001859: JUMPDEST 0000185a: PUSH1 0x01 0000185c: JUMPDEST 0000185d: PUSH1 0x20 0000185f: MUL 00001860: ADD 00001861: MLOAD 00001862: SWAP4 00001863: SWAP3 00001864: POP 00001865: POP 00001866: POP 00001867: JUMP 00001868: JUMPDEST 00001869: PUSH1 0x0a 0000186b: SLOAD 0000186c: DUP2 0000186d: JUMP 0000186e: JUMPDEST 0000186f: PUSH2 0x1876 00001872: PUSH2 0x2409 00001875: JUMP 00001876: JUMPDEST 00001877: POP 00001878: PUSH1 0x01 0000187a: PUSH1 0xa0 0000187c: PUSH1 0x02 0000187e: EXP 0000187f: SUB 00001880: SWAP2 00001881: DUP3 00001882: AND 00001883: PUSH1 0x00 00001885: SWAP1 00001886: DUP2 00001887: MSTORE 00001888: PUSH1 0x03 0000188a: PUSH1 0x20 0000188c: SWAP1 0000188d: DUP2 0000188e: MSTORE 0000188f: PUSH1 0x40 00001891: DUP1 00001892: DUP4 00001893: KECCAK256 00001894: SWAP4 00001895: SWAP1 00001896: SWAP5 00001897: AND 00001898: DUP3 00001899: MSTORE 0000189a: SWAP2 0000189b: DUP3 0000189c: MSTORE 0000189d: DUP3 0000189e: SWAP1 0000189f: KECCAK256 000018a0: SLOAD 000018a1: DUP3 000018a2: MLOAD 000018a3: DUP1 000018a4: DUP5 000018a5: ADD 000018a6: SWAP1 000018a7: SWAP4 000018a8: MSTORE 000018a9: PUSH1 0x01 000018ab: PUSH1 0x80 000018ad: PUSH1 0x02 000018af: EXP 000018b0: SUB 000018b1: DUP1 000018b2: DUP3 000018b3: AND 000018b4: DUP5 000018b5: MSTORE 000018b6: PUSH17 0x0100000000000000000000000000000000 000018c8: SWAP1 000018c9: SWAP2 000018ca: DIV 000018cb: AND 000018cc: SWAP1 000018cd: DUP3 000018ce: ADD 000018cf: MSTORE 000018d0: SWAP1 000018d1: JUMP 000018d2: JUMPDEST 000018d3: PUSH1 0x00 000018d5: DUP3 000018d6: DUP3 000018d7: MUL 000018d8: PUSH2 0x18f6 000018db: DUP5 000018dc: ISZERO 000018dd: DUP1 000018de: PUSH2 0x18f1 000018e1: JUMPI 000018e2: POP 000018e3: DUP4 000018e4: DUP6 000018e5: DUP4 000018e6: DUP2 000018e7: ISZERO 000018e8: ISZERO 000018e9: PUSH2 0x18ee 000018ec: JUMPI 000018ed: INVALID 000018ee: JUMPDEST 000018ef: DIV 000018f0: EQ 000018f1: JUMPDEST 000018f2: PUSH2 0x0b55 000018f5: JUMP 000018f6: JUMPDEST 000018f7: SWAP4 000018f8: SWAP3 000018f9: POP 000018fa: POP 000018fb: POP 000018fc: JUMP 000018fd: JUMPDEST 000018fe: PUSH1 0x09 00001900: SLOAD 00001901: PUSH1 0xff 00001903: AND 00001904: ISZERO 00001905: PUSH2 0x190d 00001908: JUMPI 00001909: PUSH1 0x00 0000190b: DUP1 0000190c: REVERT 0000190d: JUMPDEST 0000190e: PUSH2 0x1919 00001911: PUSH1 0x00 00001913: CALLER 00001914: CALLVALUE 00001915: PUSH2 0x22b2 00001918: JUMP 00001919: JUMPDEST 0000191a: CALLER 0000191b: PUSH1 0x00 0000191d: SWAP1 0000191e: DUP2 0000191f: MSTORE 00001920: PUSH1 0x04 00001922: PUSH1 0x20 00001924: MSTORE 00001925: PUSH1 0x40 00001927: SWAP1 00001928: KECCAK256 00001929: SLOAD 0000192a: ISZERO 0000192b: ISZERO 0000192c: PUSH2 0x1942 0000192f: JUMPI 00001930: CALLER 00001931: PUSH1 0x00 00001933: SWAP1 00001934: DUP2 00001935: MSTORE 00001936: PUSH1 0x04 00001938: PUSH1 0x20 0000193a: MSTORE 0000193b: PUSH1 0x40 0000193d: SWAP1 0000193e: KECCAK256 0000193f: NUMBER 00001940: SWAP1 00001941: SSTORE 00001942: JUMPDEST 00001943: CALLER 00001944: PUSH1 0x00 00001946: PUSH1 0x00 00001948: DUP1 00001949: MLOAD 0000194a: PUSH1 0x20 0000194c: PUSH2 0x2425 0000194f: DUP4 00001950: CODECOPY 00001951: DUP2 00001952: MLOAD 00001953: SWAP2 00001954: MSTORE 00001955: CALLVALUE 00001956: PUSH2 0x195f 00001959: DUP4 0000195a: DUP6 0000195b: PUSH2 0x2290 0000195e: JUMP 0000195f: JUMPDEST 00001960: PUSH1 0x40 00001962: DUP1 00001963: MLOAD 00001964: SWAP3 00001965: DUP4 00001966: MSTORE 00001967: PUSH1 0x20 00001969: DUP4 0000196a: ADD 0000196b: SWAP2 0000196c: SWAP1 0000196d: SWAP2 0000196e: MSTORE 0000196f: DUP1 00001970: MLOAD 00001971: SWAP2 00001972: DUP3 00001973: SWAP1 00001974: SUB 00001975: ADD 00001976: SWAP1 00001977: LOG3 00001978: JUMP 00001979: JUMPDEST 0000197a: PUSH1 0x00 0000197c: DUP1 0000197d: SLOAD 0000197e: DUP2 0000197f: SWAP1 00001980: PUSH1 0x01 00001982: PUSH1 0xa0 00001984: PUSH1 0x02 00001986: EXP 00001987: SUB 00001988: AND 00001989: CALLER 0000198a: EQ 0000198b: DUP1 0000198c: ISZERO 0000198d: SWAP1 0000198e: PUSH2 0x19a7 00001991: JUMPI 00001992: POP 00001993: CALLER 00001994: PUSH1 0x00 00001996: SWAP1 00001997: DUP2 00001998: MSTORE 00001999: PUSH1 0x01 0000199b: PUSH1 0x20 0000199d: MSTORE 0000199e: PUSH1 0x40 000019a0: SWAP1 000019a1: KECCAK256 000019a2: SLOAD 000019a3: PUSH1 0xff 000019a5: AND 000019a6: ISZERO 000019a7: JUMPDEST 000019a8: ISZERO 000019a9: PUSH2 0x19b1 000019ac: JUMPI 000019ad: PUSH1 0x00 000019af: DUP1 000019b0: REVERT 000019b1: JUMPDEST 000019b2: ADDRESS 000019b3: DUP12 000019b4: DUP12 000019b5: DUP12 000019b6: DUP11 000019b7: DUP13 000019b8: DUP9 000019b9: PUSH1 0x40 000019bb: MLOAD 000019bc: DUP1 000019bd: DUP9 000019be: PUSH1 0x01 000019c0: PUSH1 0xa0 000019c2: PUSH1 0x02 000019c4: EXP 000019c5: SUB 000019c6: AND 000019c7: PUSH1 0x01 000019c9: PUSH1 0xa0 000019cb: PUSH1 0x02 000019cd: EXP 000019ce: SUB 000019cf: AND 000019d0: PUSH13 0x01000000000000000000000000 000019de: MUL 000019df: DUP2 000019e0: MSTORE 000019e1: PUSH1 0x14 000019e3: ADD 000019e4: DUP8 000019e5: PUSH1 0x01 000019e7: PUSH1 0xa0 000019e9: PUSH1 0x02 000019eb: EXP 000019ec: SUB 000019ed: AND 000019ee: PUSH1 0x01 000019f0: PUSH1 0xa0 000019f2: PUSH1 0x02 000019f4: EXP 000019f5: SUB 000019f6: AND 000019f7: PUSH13 0x01000000000000000000000000 00001a05: MUL 00001a06: DUP2 00001a07: MSTORE 00001a08: PUSH1 0x14 00001a0a: ADD 00001a0b: DUP7 00001a0c: DUP2 00001a0d: MSTORE 00001a0e: PUSH1 0x20 00001a10: ADD 00001a11: DUP6 00001a12: PUSH1 0x01 00001a14: PUSH1 0xa0 00001a16: PUSH1 0x02 00001a18: EXP 00001a19: SUB 00001a1a: AND 00001a1b: PUSH1 0x01 00001a1d: PUSH1 0xa0 00001a1f: PUSH1 0x02 00001a21: EXP 00001a22: SUB 00001a23: AND 00001a24: PUSH13 0x01000000000000000000000000 00001a32: MUL 00001a33: DUP2 00001a34: MSTORE 00001a35: PUSH1 0x14 00001a37: ADD 00001a38: DUP5 00001a39: DUP2 00001a3a: MSTORE 00001a3b: PUSH1 0x20 00001a3d: ADD 00001a3e: DUP4 00001a3f: DUP1 00001a40: MLOAD 00001a41: SWAP1 00001a42: PUSH1 0x20 00001a44: ADD 00001a45: SWAP1 00001a46: DUP1 00001a47: DUP4 00001a48: DUP4 00001a49: JUMPDEST 00001a4a: PUSH1 0x20 00001a4c: DUP4 00001a4d: LT 00001a4e: PUSH2 0x1a68 00001a51: JUMPI 00001a52: DUP1 00001a53: MLOAD 00001a54: DUP3 00001a55: MSTORE 00001a56: PUSH1 0x1f 00001a58: NOT 00001a59: SWAP1 00001a5a: SWAP3 00001a5b: ADD 00001a5c: SWAP2 00001a5d: PUSH1 0x20 00001a5f: SWAP2 00001a60: DUP3 00001a61: ADD 00001a62: SWAP2 00001a63: ADD 00001a64: PUSH2 0x1a49 00001a67: JUMP 00001a68: JUMPDEST 00001a69: MLOAD 00001a6a: DUP2 00001a6b: MLOAD 00001a6c: PUSH1 0x20 00001a6e: SWAP4 00001a6f: DUP5 00001a70: SUB 00001a71: PUSH2 0x0100 00001a74: EXP 00001a75: PUSH1 0x00 00001a77: NOT 00001a78: ADD 00001a79: DUP1 00001a7a: NOT 00001a7b: SWAP1 00001a7c: SWAP3 00001a7d: AND 00001a7e: SWAP2 00001a7f: AND 00001a80: OR 00001a81: SWAP1 00001a82: MSTORE 00001a83: SWAP3 00001a84: ADD 00001a85: SWAP4 00001a86: DUP5 00001a87: MSTORE 00001a88: POP 00001a89: PUSH1 0x40 00001a8b: DUP1 00001a8c: MLOAD 00001a8d: SWAP4 00001a8e: DUP5 00001a8f: SWAP1 00001a90: SUB 00001a91: DUP3 00001a92: ADD 00001a93: SWAP1 00001a94: SWAP4 00001a95: KECCAK256 00001a96: PUSH1 0x00 00001a98: DUP2 00001a99: DUP2 00001a9a: MSTORE 00001a9b: PUSH1 0x08 00001a9d: SWAP1 00001a9e: SWAP3 00001a9f: MSTORE 00001aa0: SWAP3 00001aa1: SWAP1 00001aa2: KECCAK256 00001aa3: SLOAD 00001aa4: SWAP2 00001aa5: SWAP9 00001aa6: POP 00001aa7: POP 00001aa8: PUSH1 0xff 00001aaa: AND 00001aab: ISZERO 00001aac: SWAP6 00001aad: POP 00001aae: PUSH2 0x1abc 00001ab1: SWAP5 00001ab2: POP 00001ab3: POP 00001ab4: POP 00001ab5: POP 00001ab6: POP 00001ab7: JUMPI 00001ab8: PUSH1 0x00 00001aba: DUP1 00001abb: REVERT 00001abc: JUMPDEST 00001abd: PUSH1 0x00 00001abf: DUP2 00001ac0: DUP2 00001ac1: MSTORE 00001ac2: PUSH1 0x08 00001ac4: PUSH1 0x20 00001ac6: SWAP1 00001ac7: DUP2 00001ac8: MSTORE 00001ac9: PUSH1 0x40 00001acb: DUP1 00001acc: DUP4 00001acd: KECCAK256 00001ace: DUP1 00001acf: SLOAD 00001ad0: PUSH1 0xff 00001ad2: NOT 00001ad3: AND 00001ad4: PUSH1 0x01 00001ad6: SWAP1 00001ad7: DUP2 00001ad8: OR 00001ad9: SWAP1 00001ada: SWAP2 00001adb: SSTORE 00001adc: DUP2 00001add: MLOAD 00001ade: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00001aff: DUP2 00001b00: MSTORE 00001b01: PUSH1 0x1c 00001b03: DUP2 00001b04: ADD 00001b05: DUP7 00001b06: SWAP1 00001b07: MSTORE 00001b08: DUP3 00001b09: MLOAD 00001b0a: SWAP1 00001b0b: DUP2 00001b0c: SWAP1 00001b0d: SUB 00001b0e: PUSH1 0x3c 00001b10: ADD 00001b11: DUP2 00001b12: KECCAK256 00001b13: DUP6 00001b14: DUP3 00001b15: MSTORE 00001b16: DUP2 00001b17: DUP6 00001b18: ADD 00001b19: DUP1 00001b1a: DUP6 00001b1b: MSTORE 00001b1c: MSTORE 00001b1d: PUSH1 0xff 00001b1f: DUP12 00001b20: AND 00001b21: DUP2 00001b22: DUP5 00001b23: ADD 00001b24: MSTORE 00001b25: PUSH1 0x60 00001b27: DUP2 00001b28: ADD 00001b29: DUP11 00001b2a: SWAP1 00001b2b: MSTORE 00001b2c: PUSH1 0x80 00001b2e: DUP2 00001b2f: ADD 00001b30: DUP10 00001b31: SWAP1 00001b32: MSTORE 00001b33: SWAP2 00001b34: MLOAD 00001b35: PUSH1 0x01 00001b37: PUSH1 0xa0 00001b39: PUSH1 0x02 00001b3b: EXP 00001b3c: SUB 00001b3d: DUP15 00001b3e: AND 00001b3f: SWAP5 00001b40: SWAP2 00001b41: SWAP4 00001b42: PUSH1 0xa0 00001b44: DUP1 00001b45: DUP6 00001b46: ADD 00001b47: SWAP5 00001b48: SWAP2 00001b49: SWAP4 00001b4a: PUSH1 0x1f 00001b4c: NOT 00001b4d: DUP5 00001b4e: ADD 00001b4f: SWAP4 00001b50: SWAP3 00001b51: DUP4 00001b52: SWAP1 00001b53: SUB 00001b54: SWAP1 00001b55: SWAP2 00001b56: ADD 00001b57: SWAP2 00001b58: SWAP1 00001b59: DUP7 00001b5a: GAS 00001b5b: CALL 00001b5c: ISZERO 00001b5d: DUP1 00001b5e: ISZERO 00001b5f: PUSH2 0x1b6c 00001b62: JUMPI 00001b63: RETURNDATASIZE 00001b64: PUSH1 0x00 00001b66: DUP1 00001b67: RETURNDATACOPY 00001b68: RETURNDATASIZE 00001b69: PUSH1 0x00 00001b6b: REVERT 00001b6c: JUMPDEST 00001b6d: POP 00001b6e: POP 00001b6f: POP 00001b70: PUSH1 0x20 00001b72: PUSH1 0x40 00001b74: MLOAD 00001b75: SUB 00001b76: MLOAD 00001b77: PUSH1 0x01 00001b79: PUSH1 0xa0 00001b7b: PUSH1 0x02 00001b7d: EXP 00001b7e: SUB 00001b7f: AND 00001b80: EQ 00001b81: ISZERO 00001b82: ISZERO 00001b83: PUSH2 0x1b8b 00001b86: JUMPI 00001b87: PUSH1 0x00 00001b89: DUP1 00001b8a: REVERT 00001b8b: JUMPDEST 00001b8c: DUP10 00001b8d: PUSH2 0x1b96 00001b90: DUP13 00001b91: DUP12 00001b92: PUSH2 0x0e72 00001b95: JUMP 00001b96: JUMPDEST 00001b97: LT 00001b98: ISZERO 00001b99: PUSH2 0x1ba1 00001b9c: JUMPI 00001b9d: PUSH1 0x00 00001b9f: DUP1 00001ba0: REVERT 00001ba1: JUMPDEST 00001ba2: PUSH2 0x1bac 00001ba5: DUP12 00001ba6: DUP11 00001ba7: DUP13 00001ba8: PUSH2 0x236d 00001bab: JUMP 00001bac: JUMPDEST 00001bad: PUSH1 0x05 00001baf: SLOAD 00001bb0: PUSH2 0x1bc4 00001bb3: SWAP1 00001bb4: DUP13 00001bb5: SWAP1 00001bb6: PUSH1 0x01 00001bb8: PUSH1 0xa0 00001bba: PUSH1 0x02 00001bbc: EXP 00001bbd: SUB 00001bbe: AND 00001bbf: DUP6 00001bc0: PUSH2 0x22b2 00001bc3: JUMP 00001bc4: JUMPDEST 00001bc5: PUSH1 0x40 00001bc7: DUP1 00001bc8: MLOAD 00001bc9: PUSH32 0x24b76fd500000000000000000000000000000000000000000000000000000000 00001bea: DUP2 00001beb: MSTORE 00001bec: PUSH1 0x04 00001bee: DUP2 00001bef: ADD 00001bf0: DUP13 00001bf1: DUP2 00001bf2: MSTORE 00001bf3: PUSH1 0x24 00001bf5: DUP3 00001bf6: ADD 00001bf7: SWAP3 00001bf8: DUP4 00001bf9: MSTORE 00001bfa: DUP11 00001bfb: MLOAD 00001bfc: PUSH1 0x44 00001bfe: DUP4 00001bff: ADD 00001c00: MSTORE 00001c01: DUP11 00001c02: MLOAD 00001c03: PUSH1 0x01 00001c05: PUSH1 0xa0 00001c07: PUSH1 0x02 00001c09: EXP 00001c0a: SUB 00001c0b: DUP16 00001c0c: AND 00001c0d: SWAP4 00001c0e: PUSH4 0x24b76fd5 00001c13: SWAP4 00001c14: DUP16 00001c15: SWAP4 00001c16: DUP15 00001c17: SWAP4 00001c18: SWAP1 00001c19: SWAP3 00001c1a: SWAP2 00001c1b: PUSH1 0x64 00001c1d: ADD 00001c1e: SWAP1 00001c1f: PUSH1 0x20 00001c21: DUP6 00001c22: ADD 00001c23: SWAP1 00001c24: DUP1 00001c25: DUP4 00001c26: DUP4 00001c27: PUSH1 0x00 00001c29: JUMPDEST 00001c2a: DUP4 00001c2b: DUP2 00001c2c: LT 00001c2d: ISZERO 00001c2e: PUSH2 0x1c41 00001c31: JUMPI 00001c32: DUP2 00001c33: DUP2 00001c34: ADD 00001c35: MLOAD 00001c36: DUP4 00001c37: DUP3 00001c38: ADD 00001c39: MSTORE 00001c3a: PUSH1 0x20 00001c3c: ADD 00001c3d: PUSH2 0x1c29 00001c40: JUMP 00001c41: JUMPDEST 00001c42: POP 00001c43: POP 00001c44: POP 00001c45: POP 00001c46: SWAP1 00001c47: POP 00001c48: SWAP1 00001c49: DUP2 00001c4a: ADD 00001c4b: SWAP1 00001c4c: PUSH1 0x1f 00001c4e: AND 00001c4f: DUP1 00001c50: ISZERO 00001c51: PUSH2 0x1c6e 00001c54: JUMPI 00001c55: DUP1 00001c56: DUP3 00001c57: SUB 00001c58: DUP1 00001c59: MLOAD 00001c5a: PUSH1 0x01 00001c5c: DUP4 00001c5d: PUSH1 0x20 00001c5f: SUB 00001c60: PUSH2 0x0100 00001c63: EXP 00001c64: SUB 00001c65: NOT 00001c66: AND 00001c67: DUP2 00001c68: MSTORE 00001c69: PUSH1 0x20 00001c6b: ADD 00001c6c: SWAP2 00001c6d: POP 00001c6e: JUMPDEST 00001c6f: POP 00001c70: SWAP4 00001c71: POP 00001c72: POP 00001c73: POP 00001c74: POP 00001c75: PUSH1 0x20 00001c77: PUSH1 0x40 00001c79: MLOAD 00001c7a: DUP1 00001c7b: DUP4 00001c7c: SUB 00001c7d: DUP2 00001c7e: PUSH1 0x00 00001c80: DUP8 00001c81: DUP1 00001c82: EXTCODESIZE 00001c83: ISZERO 00001c84: DUP1 00001c85: ISZERO 00001c86: PUSH2 0x1c8e 00001c89: JUMPI 00001c8a: PUSH1 0x00 00001c8c: DUP1 00001c8d: REVERT 00001c8e: JUMPDEST 00001c8f: POP 00001c90: GAS 00001c91: CALL 00001c92: ISZERO 00001c93: DUP1 00001c94: ISZERO 00001c95: PUSH2 0x1ca2 00001c98: JUMPI 00001c99: RETURNDATASIZE 00001c9a: PUSH1 0x00 00001c9c: DUP1 00001c9d: RETURNDATACOPY 00001c9e: RETURNDATASIZE 00001c9f: PUSH1 0x00 00001ca1: REVERT 00001ca2: JUMPDEST 00001ca3: POP 00001ca4: POP 00001ca5: POP 00001ca6: POP 00001ca7: PUSH1 0x40 00001ca9: MLOAD 00001caa: RETURNDATASIZE 00001cab: PUSH1 0x20 00001cad: DUP2 00001cae: LT 00001caf: ISZERO 00001cb0: PUSH2 0x1cb8 00001cb3: JUMPI 00001cb4: PUSH1 0x00 00001cb6: DUP1 00001cb7: REVERT 00001cb8: JUMPDEST 00001cb9: POP 00001cba: MLOAD 00001cbb: ISZERO 00001cbc: ISZERO 00001cbd: PUSH2 0x1cc5 00001cc0: JUMPI 00001cc1: PUSH1 0x00 00001cc3: DUP1 00001cc4: REVERT 00001cc5: JUMPDEST 00001cc6: DUP9 00001cc7: PUSH1 0x01 00001cc9: PUSH1 0xa0 00001ccb: PUSH1 0x02 00001ccd: EXP 00001cce: SUB 00001ccf: AND 00001cd0: DUP12 00001cd1: PUSH1 0x01 00001cd3: PUSH1 0xa0 00001cd5: PUSH1 0x02 00001cd7: EXP 00001cd8: SUB 00001cd9: AND 00001cda: PUSH32 0x9dfa686b7b2937e4fd677c02d58d6360465783882b284ba8378d52d957031f48 00001cfb: DUP13 00001cfc: DUP12 00001cfd: PUSH1 0x40 00001cff: MLOAD 00001d00: DUP1 00001d01: DUP4 00001d02: DUP2 00001d03: MSTORE 00001d04: PUSH1 0x20 00001d06: ADD 00001d07: DUP1 00001d08: PUSH1 0x20 00001d0a: ADD 00001d0b: DUP3 00001d0c: DUP2 00001d0d: SUB 00001d0e: DUP3 00001d0f: MSTORE 00001d10: DUP4 00001d11: DUP2 00001d12: DUP2 00001d13: MLOAD 00001d14: DUP2 00001d15: MSTORE 00001d16: PUSH1 0x20 00001d18: ADD 00001d19: SWAP2 00001d1a: POP 00001d1b: DUP1 00001d1c: MLOAD 00001d1d: SWAP1 00001d1e: PUSH1 0x20 00001d20: ADD 00001d21: SWAP1 00001d22: DUP1 00001d23: DUP4 00001d24: DUP4 00001d25: PUSH1 0x00 00001d27: JUMPDEST 00001d28: DUP4 00001d29: DUP2 00001d2a: LT 00001d2b: ISZERO 00001d2c: PUSH2 0x1d3f 00001d2f: JUMPI 00001d30: DUP2 00001d31: DUP2 00001d32: ADD 00001d33: MLOAD 00001d34: DUP4 00001d35: DUP3 00001d36: ADD 00001d37: MSTORE 00001d38: PUSH1 0x20 00001d3a: ADD 00001d3b: PUSH2 0x1d27 00001d3e: JUMP 00001d3f: JUMPDEST 00001d40: POP 00001d41: POP 00001d42: POP 00001d43: POP 00001d44: SWAP1 00001d45: POP 00001d46: SWAP1 00001d47: DUP2 00001d48: ADD 00001d49: SWAP1 00001d4a: PUSH1 0x1f 00001d4c: AND 00001d4d: DUP1 00001d4e: ISZERO 00001d4f: PUSH2 0x1d6c 00001d52: JUMPI 00001d53: DUP1 00001d54: DUP3 00001d55: SUB 00001d56: DUP1 00001d57: MLOAD 00001d58: PUSH1 0x01 00001d5a: DUP4 00001d5b: PUSH1 0x20 00001d5d: SUB 00001d5e: PUSH2 0x0100 00001d61: EXP 00001d62: SUB 00001d63: NOT 00001d64: AND 00001d65: DUP2 00001d66: MSTORE 00001d67: PUSH1 0x20 00001d69: ADD 00001d6a: SWAP2 00001d6b: POP 00001d6c: JUMPDEST 00001d6d: POP 00001d6e: SWAP4 00001d6f: POP 00001d70: POP 00001d71: POP 00001d72: POP 00001d73: PUSH1 0x40 00001d75: MLOAD 00001d76: DUP1 00001d77: SWAP2 00001d78: SUB 00001d79: SWAP1 00001d7a: LOG3 00001d7b: POP 00001d7c: SWAP10 00001d7d: SWAP9 00001d7e: POP 00001d7f: POP 00001d80: POP 00001d81: POP 00001d82: POP 00001d83: POP 00001d84: POP 00001d85: POP 00001d86: POP 00001d87: JUMP 00001d88: JUMPDEST 00001d89: PUSH1 0x00 00001d8b: DUP1 00001d8c: SLOAD 00001d8d: DUP2 00001d8e: SWAP1 00001d8f: PUSH1 0x01 00001d91: PUSH1 0xa0 00001d93: PUSH1 0x02 00001d95: EXP 00001d96: SUB 00001d97: AND 00001d98: CALLER 00001d99: EQ 00001d9a: DUP1 00001d9b: ISZERO 00001d9c: SWAP1 00001d9d: PUSH2 0x1db6 00001da0: JUMPI 00001da1: POP 00001da2: CALLER 00001da3: PUSH1 0x00 00001da5: SWAP1 00001da6: DUP2 00001da7: MSTORE 00001da8: PUSH1 0x01 00001daa: PUSH1 0x20 00001dac: MSTORE 00001dad: PUSH1 0x40 00001daf: SWAP1 00001db0: KECCAK256 00001db1: SLOAD 00001db2: PUSH1 0xff 00001db4: AND 00001db5: ISZERO 00001db6: JUMPDEST 00001db7: ISZERO 00001db8: PUSH2 0x1dc0 00001dbb: JUMPI 00001dbc: PUSH1 0x00 00001dbe: DUP1 00001dbf: REVERT 00001dc0: JUMPDEST 00001dc1: POP 00001dc2: PUSH1 0x40 00001dc4: DUP1 00001dc5: MLOAD 00001dc6: PUSH13 0x01000000000000000000000000 00001dd4: ADDRESS 00001dd5: DUP2 00001dd6: MUL 00001dd7: DUP3 00001dd8: MSTORE 00001dd9: PUSH1 0x01 00001ddb: PUSH1 0xa0 00001ddd: PUSH1 0x02 00001ddf: EXP 00001de0: SUB 00001de1: DUP1 00001de2: DUP14 00001de3: AND 00001de4: DUP3 00001de5: MUL 00001de6: PUSH1 0x14 00001de8: DUP5 00001de9: ADD 00001dea: MSTORE 00001deb: PUSH1 0x28 00001ded: DUP4 00001dee: ADD 00001def: DUP13 00001df0: SWAP1 00001df1: MSTORE 00001df2: DUP11 00001df3: AND 00001df4: MUL 00001df5: PUSH1 0x48 00001df7: DUP3 00001df8: ADD 00001df9: MSTORE 00001dfa: PUSH1 0x5c 00001dfc: DUP2 00001dfd: ADD 00001dfe: DUP9 00001dff: SWAP1 00001e00: MSTORE 00001e01: PUSH1 0x7c 00001e03: DUP2 00001e04: ADD 00001e05: DUP5 00001e06: SWAP1 00001e07: MSTORE 00001e08: DUP2 00001e09: MLOAD 00001e0a: SWAP1 00001e0b: DUP2 00001e0c: SWAP1 00001e0d: SUB 00001e0e: PUSH1 0x9c 00001e10: ADD 00001e11: SWAP1 00001e12: KECCAK256 00001e13: PUSH1 0x00 00001e15: DUP2 00001e16: DUP2 00001e17: MSTORE 00001e18: PUSH1 0x08 00001e1a: PUSH1 0x20 00001e1c: MSTORE 00001e1d: SWAP2 00001e1e: SWAP1 00001e1f: SWAP2 00001e20: KECCAK256 00001e21: SLOAD 00001e22: PUSH1 0xff 00001e24: AND 00001e25: ISZERO 00001e26: PUSH2 0x1e2e 00001e29: JUMPI 00001e2a: PUSH1 0x00 00001e2c: DUP1 00001e2d: REVERT 00001e2e: JUMPDEST 00001e2f: PUSH1 0x00 00001e31: DUP2 00001e32: DUP2 00001e33: MSTORE 00001e34: PUSH1 0x08 00001e36: PUSH1 0x20 00001e38: SWAP1 00001e39: DUP2 00001e3a: MSTORE 00001e3b: PUSH1 0x40 00001e3d: DUP1 00001e3e: DUP4 00001e3f: KECCAK256 00001e40: DUP1 00001e41: SLOAD 00001e42: PUSH1 0xff 00001e44: NOT 00001e45: AND 00001e46: PUSH1 0x01 00001e48: SWAP1 00001e49: DUP2 00001e4a: OR 00001e4b: SWAP1 00001e4c: SWAP2 00001e4d: SSTORE 00001e4e: DUP2 00001e4f: MLOAD 00001e50: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000 00001e71: DUP2 00001e72: MSTORE 00001e73: PUSH1 0x1c 00001e75: DUP2 00001e76: ADD 00001e77: DUP7 00001e78: SWAP1 00001e79: MSTORE 00001e7a: DUP3 00001e7b: MLOAD 00001e7c: SWAP1 00001e7d: DUP2 00001e7e: SWAP1 00001e7f: SUB 00001e80: PUSH1 0x3c 00001e82: ADD 00001e83: DUP2 00001e84: KECCAK256 00001e85: DUP6 00001e86: DUP3 00001e87: MSTORE 00001e88: DUP2 00001e89: DUP6 00001e8a: ADD 00001e8b: DUP1 00001e8c: DUP6 00001e8d: MSTORE 00001e8e: MSTORE 00001e8f: PUSH1 0xff 00001e91: DUP12 00001e92: AND 00001e93: DUP2 00001e94: DUP5 00001e95: ADD 00001e96: MSTORE 00001e97: PUSH1 0x60 00001e99: DUP2 00001e9a: ADD 00001e9b: DUP11 00001e9c: SWAP1 00001e9d: MSTORE 00001e9e: PUSH1 0x80 00001ea0: DUP2 00001ea1: ADD 00001ea2: DUP10 00001ea3: SWAP1 00001ea4: MSTORE 00001ea5: SWAP2 00001ea6: MLOAD 00001ea7: PUSH1 0x01 00001ea9: PUSH1 0xa0 00001eab: PUSH1 0x02 00001ead: EXP 00001eae: SUB 00001eaf: DUP14 00001eb0: AND 00001eb1: SWAP5 00001eb2: SWAP2 00001eb3: SWAP4 00001eb4: PUSH1 0xa0 00001eb6: DUP1 00001eb7: DUP6 00001eb8: ADD 00001eb9: SWAP5 00001eba: SWAP2 00001ebb: SWAP4 00001ebc: PUSH1 0x1f 00001ebe: NOT 00001ebf: DUP5 00001ec0: ADD 00001ec1: SWAP4 00001ec2: SWAP3 00001ec3: DUP4 00001ec4: SWAP1 00001ec5: SUB 00001ec6: SWAP1 00001ec7: SWAP2 00001ec8: ADD 00001ec9: SWAP2 00001eca: SWAP1 00001ecb: DUP7 00001ecc: GAS 00001ecd: CALL 00001ece: ISZERO 00001ecf: DUP1 00001ed0: ISZERO 00001ed1: PUSH2 0x1ede 00001ed4: JUMPI 00001ed5: RETURNDATASIZE 00001ed6: PUSH1 0x00 00001ed8: DUP1 00001ed9: RETURNDATACOPY 00001eda: RETURNDATASIZE 00001edb: PUSH1 0x00 00001edd: REVERT 00001ede: JUMPDEST 00001edf: POP 00001ee0: POP 00001ee1: POP 00001ee2: PUSH1 0x20 00001ee4: PUSH1 0x40 00001ee6: MLOAD 00001ee7: SUB 00001ee8: MLOAD 00001ee9: PUSH1 0x01 00001eeb: PUSH1 0xa0 00001eed: PUSH1 0x02 00001eef: EXP 00001ef0: SUB 00001ef1: AND 00001ef2: EQ 00001ef3: ISZERO 00001ef4: ISZERO 00001ef5: PUSH2 0x1efd 00001ef8: JUMPI 00001ef9: PUSH1 0x00 00001efb: DUP1 00001efc: REVERT 00001efd: JUMPDEST 00001efe: DUP9 00001eff: PUSH2 0x1f08 00001f02: DUP12 00001f03: DUP11 00001f04: PUSH2 0x0e72 00001f07: JUMP 00001f08: JUMPDEST 00001f09: LT 00001f0a: ISZERO 00001f0b: PUSH2 0x1f13 00001f0e: JUMPI 00001f0f: PUSH1 0x00 00001f11: DUP1 00001f12: REVERT 00001f13: JUMPDEST 00001f14: PUSH2 0x1f1e 00001f17: DUP11 00001f18: DUP10 00001f19: DUP12 00001f1a: PUSH2 0x236d 00001f1d: JUMP 00001f1e: JUMPDEST 00001f1f: PUSH1 0x05 00001f21: SLOAD 00001f22: PUSH2 0x1f36 00001f25: SWAP1 00001f26: DUP12 00001f27: SWAP1 00001f28: PUSH1 0x01 00001f2a: PUSH1 0xa0 00001f2c: PUSH1 0x02 00001f2e: EXP 00001f2f: SUB 00001f30: AND 00001f31: DUP6 00001f32: PUSH2 0x22b2 00001f35: JUMP 00001f36: JUMPDEST 00001f37: PUSH1 0x01 00001f39: PUSH1 0xa0 00001f3b: PUSH1 0x02 00001f3d: EXP 00001f3e: SUB 00001f3f: DUP11 00001f40: AND 00001f41: ISZERO 00001f42: ISZERO 00001f43: PUSH2 0x1f84 00001f46: JUMPI 00001f47: DUP8 00001f48: PUSH1 0x01 00001f4a: PUSH1 0xa0 00001f4c: PUSH1 0x02 00001f4e: EXP 00001f4f: SUB 00001f50: AND 00001f51: PUSH2 0x08fc 00001f54: PUSH2 0x1f5d 00001f57: DUP12 00001f58: DUP7 00001f59: PUSH2 0x153c 00001f5c: JUMP 00001f5d: JUMPDEST 00001f5e: PUSH1 0x40 00001f60: MLOAD 00001f61: DUP2 00001f62: ISZERO 00001f63: SWAP1 00001f64: SWAP3 00001f65: MUL 00001f66: SWAP2 00001f67: PUSH1 0x00 00001f69: DUP2 00001f6a: DUP2 00001f6b: DUP2 00001f6c: DUP6 00001f6d: DUP9 00001f6e: DUP9 00001f6f: CALL 00001f70: SWAP4 00001f71: POP 00001f72: POP 00001f73: POP 00001f74: POP 00001f75: ISZERO 00001f76: ISZERO 00001f77: PUSH2 0x1f7f 00001f7a: JUMPI 00001f7b: PUSH1 0x00 00001f7d: DUP1 00001f7e: REVERT 00001f7f: JUMPDEST 00001f80: PUSH2 0x2040 00001f83: JUMP 00001f84: JUMPDEST 00001f85: DUP10 00001f86: PUSH1 0x01 00001f88: PUSH1 0xa0 00001f8a: PUSH1 0x02 00001f8c: EXP 00001f8d: SUB 00001f8e: AND 00001f8f: PUSH4 0xa9059cbb 00001f94: DUP10 00001f95: PUSH2 0x1f9e 00001f98: DUP13 00001f99: DUP8 00001f9a: PUSH2 0x153c 00001f9d: JUMP 00001f9e: JUMPDEST 00001f9f: PUSH1 0x40 00001fa1: MLOAD 00001fa2: DUP4 00001fa3: PUSH4 0xffffffff 00001fa8: AND 00001fa9: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001fc7: MUL 00001fc8: DUP2 00001fc9: MSTORE 00001fca: PUSH1 0x04 00001fcc: ADD 00001fcd: DUP1 00001fce: DUP4 00001fcf: PUSH1 0x01 00001fd1: PUSH1 0xa0 00001fd3: PUSH1 0x02 00001fd5: EXP 00001fd6: SUB 00001fd7: AND 00001fd8: PUSH1 0x01 00001fda: PUSH1 0xa0 00001fdc: PUSH1 0x02 00001fde: EXP 00001fdf: SUB 00001fe0: AND 00001fe1: DUP2 00001fe2: MSTORE 00001fe3: PUSH1 0x20 00001fe5: ADD 00001fe6: DUP3 00001fe7: DUP2 00001fe8: MSTORE 00001fe9: PUSH1 0x20 00001feb: ADD 00001fec: SWAP3 00001fed: POP 00001fee: POP 00001fef: POP 00001ff0: PUSH1 0x20 00001ff2: PUSH1 0x40 00001ff4: MLOAD 00001ff5: DUP1 00001ff6: DUP4 00001ff7: SUB 00001ff8: DUP2 00001ff9: PUSH1 0x00 00001ffb: DUP8 00001ffc: DUP1 00001ffd: EXTCODESIZE 00001ffe: ISZERO 00001fff: DUP1 00002000: ISZERO 00002001: PUSH2 0x2009 00002004: JUMPI 00002005: PUSH1 0x00 00002007: DUP1 00002008: REVERT 00002009: JUMPDEST 0000200a: POP 0000200b: GAS 0000200c: CALL 0000200d: ISZERO 0000200e: DUP1 0000200f: ISZERO 00002010: PUSH2 0x201d 00002013: JUMPI 00002014: RETURNDATASIZE 00002015: PUSH1 0x00 00002017: DUP1 00002018: RETURNDATACOPY 00002019: RETURNDATASIZE 0000201a: PUSH1 0x00 0000201c: REVERT 0000201d: JUMPDEST 0000201e: POP 0000201f: POP 00002020: POP 00002021: POP 00002022: PUSH1 0x40 00002024: MLOAD 00002025: RETURNDATASIZE 00002026: PUSH1 0x20 00002028: DUP2 00002029: LT 0000202a: ISZERO 0000202b: PUSH2 0x2033 0000202e: JUMPI 0000202f: PUSH1 0x00 00002031: DUP1 00002032: REVERT 00002033: JUMPDEST 00002034: POP 00002035: MLOAD 00002036: ISZERO 00002037: ISZERO 00002038: PUSH2 0x2040 0000203b: JUMPI 0000203c: PUSH1 0x00 0000203e: DUP1 0000203f: REVERT 00002040: JUMPDEST 00002041: DUP8 00002042: PUSH1 0x01 00002044: PUSH1 0xa0 00002046: PUSH1 0x02 00002048: EXP 00002049: SUB 0000204a: AND 0000204b: DUP11 0000204c: PUSH1 0x01 0000204e: PUSH1 0xa0 00002050: PUSH1 0x02 00002052: EXP 00002053: SUB 00002054: AND 00002055: PUSH32 0xebff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f 00002076: DUP12 00002077: PUSH2 0x2080 0000207a: DUP15 0000207b: DUP14 0000207c: PUSH2 0x2290 0000207f: JUMP 00002080: JUMPDEST 00002081: PUSH1 0x40 00002083: DUP1 00002084: MLOAD 00002085: SWAP3 00002086: DUP4 00002087: MSTORE 00002088: PUSH1 0x20 0000208a: DUP4 0000208b: ADD 0000208c: SWAP2 0000208d: SWAP1 0000208e: SWAP2 0000208f: MSTORE 00002090: DUP2 00002091: DUP2 00002092: ADD 00002093: DUP9 00002094: SWAP1 00002095: MSTORE 00002096: MLOAD 00002097: SWAP1 00002098: DUP2 00002099: SWAP1 0000209a: SUB 0000209b: PUSH1 0x60 0000209d: ADD 0000209e: SWAP1 0000209f: LOG3 000020a0: POP 000020a1: SWAP9 000020a2: SWAP8 000020a3: POP 000020a4: POP 000020a5: POP 000020a6: POP 000020a7: POP 000020a8: POP 000020a9: POP 000020aa: POP 000020ab: JUMP 000020ac: JUMPDEST 000020ad: PUSH1 0x00 000020af: DUP1 000020b0: SLOAD 000020b1: PUSH2 0x20c4 000020b4: SWAP1 000020b5: PUSH1 0x01 000020b7: PUSH1 0xa0 000020b9: PUSH1 0x02 000020bb: EXP 000020bc: SUB 000020bd: AND 000020be: CALLER 000020bf: EQ 000020c0: PUSH2 0x0b55 000020c3: JUMP 000020c4: JUMPDEST 000020c5: PUSH3 0x0f4240 000020c9: DUP3 000020ca: GT 000020cb: ISZERO 000020cc: PUSH2 0x20d4 000020cf: JUMPI 000020d0: PUSH1 0x00 000020d2: DUP1 000020d3: REVERT 000020d4: JUMPDEST 000020d5: PUSH1 0x07 000020d7: DUP3 000020d8: SWAP1 000020d9: SSTORE 000020da: PUSH1 0x40 000020dc: DUP1 000020dd: MLOAD 000020de: DUP4 000020df: DUP2 000020e0: MSTORE 000020e1: SWAP1 000020e2: MLOAD 000020e3: PUSH32 0x19ead489622e1c2974a8b824d87f439caa95e609c9ec1beff8e3641b546781d3 00002104: SWAP2 00002105: DUP2 00002106: SWAP1 00002107: SUB 00002108: PUSH1 0x20 0000210a: ADD 0000210b: SWAP1 0000210c: LOG1 0000210d: POP 0000210e: PUSH1 0x01 00002110: SWAP2 00002111: SWAP1 00002112: POP 00002113: JUMP 00002114: JUMPDEST 00002115: PUSH1 0x00 00002117: DUP3 00002118: DUP3 00002119: ADD 0000211a: PUSH2 0x18f6 0000211d: DUP5 0000211e: DUP3 0000211f: LT 00002120: DUP1 00002121: ISZERO 00002122: SWAP1 00002123: PUSH2 0x18f1 00002126: JUMPI 00002127: POP 00002128: DUP4 00002129: DUP3 0000212a: LT 0000212b: ISZERO 0000212c: PUSH2 0x0b55 0000212f: JUMP 00002130: JUMPDEST 00002131: PUSH1 0x07 00002133: SLOAD 00002134: DUP2 00002135: JUMP 00002136: JUMPDEST 00002137: PUSH1 0x00 00002139: DUP2 0000213a: PUSH2 0x2143 0000213d: DUP5 0000213e: CALLER 0000213f: PUSH2 0x0e72 00002142: JUMP 00002143: JUMPDEST 00002144: LT 00002145: ISZERO 00002146: PUSH2 0x214e 00002149: JUMPI 0000214a: PUSH1 0x00 0000214c: DUP1 0000214d: REVERT 0000214e: JUMPDEST 0000214f: PUSH2 0x2159 00002152: DUP4 00002153: CALLER 00002154: DUP5 00002155: PUSH2 0x236d 00002158: JUMP 00002159: JUMPDEST 0000215a: PUSH1 0x01 0000215c: PUSH1 0xa0 0000215e: PUSH1 0x02 00002160: EXP 00002161: SUB 00002162: DUP4 00002163: AND 00002164: ISZERO 00002165: ISZERO 00002166: PUSH2 0x2195 00002169: JUMPI 0000216a: PUSH1 0x40 0000216c: MLOAD 0000216d: CALLER 0000216e: SWAP1 0000216f: DUP4 00002170: ISZERO 00002171: PUSH2 0x08fc 00002174: MUL 00002175: SWAP1 00002176: DUP5 00002177: SWAP1 00002178: PUSH1 0x00 0000217a: DUP2 0000217b: DUP2 0000217c: DUP2 0000217d: DUP6 0000217e: DUP9 0000217f: DUP9 00002180: CALL 00002181: SWAP4 00002182: POP 00002183: POP 00002184: POP 00002185: POP 00002186: ISZERO 00002187: ISZERO 00002188: PUSH2 0x2190 0000218b: JUMPI 0000218c: PUSH1 0x00 0000218e: DUP1 0000218f: REVERT 00002190: JUMPDEST 00002191: PUSH2 0x2234 00002194: JUMP 00002195: JUMPDEST 00002196: PUSH1 0x40 00002198: DUP1 00002199: MLOAD 0000219a: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000021bb: DUP2 000021bc: MSTORE 000021bd: CALLER 000021be: PUSH1 0x04 000021c0: DUP3 000021c1: ADD 000021c2: MSTORE 000021c3: PUSH1 0x24 000021c5: DUP2 000021c6: ADD 000021c7: DUP5 000021c8: SWAP1 000021c9: MSTORE 000021ca: SWAP1 000021cb: MLOAD 000021cc: PUSH1 0x01 000021ce: PUSH1 0xa0 000021d0: PUSH1 0x02 000021d2: EXP 000021d3: SUB 000021d4: DUP6 000021d5: AND 000021d6: SWAP2 000021d7: PUSH4 0xa9059cbb 000021dc: SWAP2 000021dd: PUSH1 0x44 000021df: DUP1 000021e0: DUP4 000021e1: ADD 000021e2: SWAP3 000021e3: PUSH1 0x20 000021e5: SWAP3 000021e6: SWAP2 000021e7: SWAP1 000021e8: DUP3 000021e9: SWAP1 000021ea: SUB 000021eb: ADD 000021ec: DUP2 000021ed: PUSH1 0x00 000021ef: DUP8 000021f0: DUP1 000021f1: EXTCODESIZE 000021f2: ISZERO 000021f3: DUP1 000021f4: ISZERO 000021f5: PUSH2 0x21fd 000021f8: JUMPI 000021f9: PUSH1 0x00 000021fb: DUP1 000021fc: REVERT 000021fd: JUMPDEST 000021fe: POP 000021ff: GAS 00002200: CALL 00002201: ISZERO 00002202: DUP1 00002203: ISZERO 00002204: PUSH2 0x2211 00002207: JUMPI 00002208: RETURNDATASIZE 00002209: PUSH1 0x00 0000220b: DUP1 0000220c: RETURNDATACOPY 0000220d: RETURNDATASIZE 0000220e: PUSH1 0x00 00002210: REVERT 00002211: JUMPDEST 00002212: POP 00002213: POP 00002214: POP 00002215: POP 00002216: PUSH1 0x40 00002218: MLOAD 00002219: RETURNDATASIZE 0000221a: PUSH1 0x20 0000221c: DUP2 0000221d: LT 0000221e: ISZERO 0000221f: PUSH2 0x2227 00002222: JUMPI 00002223: PUSH1 0x00 00002225: DUP1 00002226: REVERT 00002227: JUMPDEST 00002228: POP 00002229: MLOAD 0000222a: ISZERO 0000222b: ISZERO 0000222c: PUSH2 0x2234 0000222f: JUMPI 00002230: PUSH1 0x00 00002232: DUP1 00002233: REVERT 00002234: JUMPDEST 00002235: CALLER 00002236: PUSH1 0x01 00002238: PUSH1 0xa0 0000223a: PUSH1 0x02 0000223c: EXP 0000223d: SUB 0000223e: DUP5 0000223f: AND 00002240: PUSH32 0xebff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f 00002261: DUP5 00002262: PUSH2 0x226b 00002265: DUP8 00002266: DUP6 00002267: PUSH2 0x2290 0000226a: JUMP 0000226b: JUMPDEST 0000226c: PUSH1 0x40 0000226e: DUP1 0000226f: MLOAD 00002270: SWAP3 00002271: DUP4 00002272: MSTORE 00002273: PUSH1 0x20 00002275: DUP4 00002276: ADD 00002277: SWAP2 00002278: SWAP1 00002279: SWAP2 0000227a: MSTORE 0000227b: PUSH1 0x00 0000227d: DUP3 0000227e: DUP3 0000227f: ADD 00002280: MSTORE 00002281: MLOAD 00002282: SWAP1 00002283: DUP2 00002284: SWAP1 00002285: SUB 00002286: PUSH1 0x60 00002288: ADD 00002289: SWAP1 0000228a: LOG3 0000228b: SWAP3 0000228c: SWAP2 0000228d: POP 0000228e: POP 0000228f: JUMP 00002290: JUMPDEST 00002291: PUSH1 0x00 00002293: PUSH2 0x229c 00002296: DUP4 00002297: DUP4 00002298: PUSH2 0x186e 0000229b: JUMP 0000229c: JUMPDEST 0000229d: PUSH1 0x00 0000229f: PUSH2 0x185c 000022a2: JUMP 000022a3: JUMPDEST 000022a4: PUSH1 0x06 000022a6: SLOAD 000022a7: PUSH1 0x01 000022a9: PUSH1 0xa0 000022ab: PUSH1 0x02 000022ad: EXP 000022ae: SUB 000022af: AND 000022b0: DUP2 000022b1: JUMP 000022b2: JUMPDEST 000022b3: PUSH2 0x22cf 000022b6: DUP4 000022b7: DUP4 000022b8: PUSH2 0x22ca 000022bb: PUSH2 0x22c4 000022be: DUP8 000022bf: DUP8 000022c0: PUSH2 0x2290 000022c3: JUMP 000022c4: JUMPDEST 000022c5: DUP6 000022c6: PUSH2 0x2114 000022c9: JUMP 000022ca: JUMPDEST 000022cb: PUSH2 0x239b 000022ce: JUMP 000022cf: JUMPDEST 000022d0: POP 000022d1: POP 000022d2: POP 000022d3: POP 000022d4: JUMP 000022d5: JUMPDEST 000022d6: PUSH1 0x01 000022d8: PUSH1 0xa0 000022da: PUSH1 0x02 000022dc: EXP 000022dd: SUB 000022de: SWAP4 000022df: DUP5 000022e0: AND 000022e1: PUSH1 0x00 000022e3: SWAP1 000022e4: DUP2 000022e5: MSTORE 000022e6: PUSH1 0x03 000022e8: PUSH1 0x20 000022ea: SWAP1 000022eb: DUP2 000022ec: MSTORE 000022ed: PUSH1 0x40 000022ef: DUP1 000022f0: DUP4 000022f1: KECCAK256 000022f2: SWAP6 000022f3: SWAP1 000022f4: SWAP7 000022f5: AND 000022f6: DUP3 000022f7: MSTORE 000022f8: SWAP4 000022f9: SWAP1 000022fa: SWAP4 000022fb: MSTORE 000022fc: SWAP3 000022fd: SWAP1 000022fe: SWAP2 000022ff: KECCAK256 00002300: PUSH17 0x0100000000000000000000000000000000 00002312: SWAP1 00002313: SWAP3 00002314: MUL 00002315: OR 00002316: SWAP1 00002317: SSTORE 00002318: JUMP 00002319: JUMPDEST 0000231a: PUSH1 0x00 0000231c: PUSH2 0x2325 0000231f: DUP5 00002320: DUP5 00002321: PUSH2 0x2290 00002324: JUMP 00002325: JUMPDEST 00002326: PUSH1 0x01 00002328: PUSH1 0xa0 0000232a: PUSH1 0x02 0000232c: EXP 0000232d: SUB 0000232e: SWAP5 0000232f: DUP6 00002330: AND 00002331: PUSH1 0x00 00002333: SWAP1 00002334: DUP2 00002335: MSTORE 00002336: PUSH1 0x03 00002338: PUSH1 0x20 0000233a: SWAP1 0000233b: DUP2 0000233c: MSTORE 0000233d: PUSH1 0x40 0000233f: DUP1 00002340: DUP4 00002341: KECCAK256 00002342: SWAP7 00002343: SWAP1 00002344: SWAP8 00002345: AND 00002346: DUP3 00002347: MSTORE 00002348: SWAP5 00002349: SWAP1 0000234a: SWAP5 0000234b: MSTORE 0000234c: SWAP4 0000234d: SWAP1 0000234e: SWAP3 0000234f: KECCAK256 00002350: PUSH17 0x0100000000000000000000000000000000 00002362: SWAP1 00002363: SWAP2 00002364: MUL 00002365: SWAP1 00002366: SWAP3 00002367: OR 00002368: SWAP1 00002369: SWAP2 0000236a: SSTORE 0000236b: POP 0000236c: JUMP 0000236d: JUMPDEST 0000236e: DUP1 0000236f: PUSH2 0x2378 00002372: DUP5 00002373: DUP5 00002374: PUSH2 0x0e72 00002377: JUMP 00002378: JUMPDEST 00002379: LT 0000237a: ISZERO 0000237b: PUSH2 0x2383 0000237e: JUMPI 0000237f: PUSH1 0x00 00002381: DUP1 00002382: REVERT 00002383: JUMPDEST 00002384: PUSH2 0x22cf 00002387: DUP4 00002388: DUP4 00002389: PUSH2 0x22ca 0000238c: PUSH2 0x2395 0000238f: DUP8 00002390: DUP8 00002391: PUSH2 0x2290 00002394: JUMP 00002395: JUMPDEST 00002396: DUP6 00002397: PUSH2 0x153c 0000239a: JUMP 0000239b: JUMPDEST 0000239c: PUSH1 0x00 0000239e: DUP2 0000239f: PUSH1 0x80 000023a1: PUSH2 0x23aa 000023a4: DUP7 000023a5: DUP7 000023a6: PUSH2 0x184d 000023a9: JUMP 000023aa: JUMPDEST 000023ab: PUSH1 0x01 000023ad: PUSH1 0xa0 000023af: PUSH1 0x02 000023b1: EXP 000023b2: SUB 000023b3: DUP1 000023b4: DUP9 000023b5: AND 000023b6: PUSH1 0x00 000023b8: SWAP1 000023b9: DUP2 000023ba: MSTORE 000023bb: PUSH1 0x03 000023bd: PUSH1 0x20 000023bf: SWAP1 000023c0: DUP2 000023c1: MSTORE 000023c2: PUSH1 0x40 000023c4: DUP1 000023c5: DUP4 000023c6: KECCAK256 000023c7: SWAP4 000023c8: DUP11 000023c9: AND 000023ca: DUP4 000023cb: MSTORE 000023cc: SWAP3 000023cd: SWAP1 000023ce: MSTORE 000023cf: KECCAK256 000023d0: PUSH1 0x02 000023d2: SWAP3 000023d3: SWAP1 000023d4: SWAP3 000023d5: EXP 000023d6: MUL 000023d7: SWAP2 000023d8: SWAP1 000023d9: SWAP2 000023da: OR 000023db: SWAP1 000023dc: DUP2 000023dd: SWAP1 000023de: SSTORE 000023df: PUSH1 0x01 000023e1: SWAP2 000023e2: POP 000023e3: POP 000023e4: SWAP4 000023e5: SWAP3 000023e6: POP 000023e7: POP 000023e8: POP 000023e9: JUMP 000023ea: JUMPDEST 000023eb: PUSH1 0x80 000023ed: PUSH1 0x40 000023ef: MLOAD 000023f0: SWAP1 000023f1: DUP2 000023f2: ADD 000023f3: PUSH1 0x40 000023f5: MSTORE 000023f6: DUP1 000023f7: PUSH1 0x04 000023f9: SWAP1 000023fa: PUSH1 0x20 000023fc: DUP3 000023fd: MUL 000023fe: DUP1 000023ff: CODESIZE 00002400: DUP4 00002401: CODECOPY 00002402: POP 00002403: SWAP2 00002404: SWAP3 00002405: SWAP2 00002406: POP 00002407: POP 00002408: JUMP 00002409: JUMPDEST 0000240a: PUSH1 0x40 0000240c: DUP1 0000240d: MLOAD 0000240e: DUP1 0000240f: DUP3 00002410: ADD 00002411: DUP3 00002412: MSTORE 00002413: SWAP1 00002414: PUSH1 0x02 00002416: SWAP1 00002417: DUP3 00002418: SWAP1 00002419: DUP1 0000241a: CODESIZE 0000241b: DUP4 0000241c: CODECOPY 0000241d: POP 0000241e: SWAP2 0000241f: SWAP3 00002420: SWAP2 00002421: POP 00002422: POP 00002423: JUMP 00002424: STOP 00002425: UNKNOWN(0xDC) 00002426: UNKNOWN(0xBC) 00002427: SHR 00002428: SDIV 00002429: UNKNOWN(0x24) 0000242a: UNKNOWN(0x0F) 0000242b: BALANCE 0000242c: SELFDESTRUCT 0000242d: GASPRICE 0000242e: UNKNOWN(0xD0) 0000242f: PUSH8 0xef1ee35ce4997762 00002438: PUSH22 0x2e3a095284754544f4c709d7a165627a7a7230582082 0000244f: UNKNOWN(0xE8) 00002450: PUSH12 0xab0e1b4a29fb7d7791db1dd8 0000245d: XOR 0000245e: DUP2 0000245f: SELFBALANCE 00002460: INVALID 00002461: UNKNOWN(0xAE) 00002462: JUMP 00002463: UNKNOWN(0xCC) 00002464: MSTORE8 00002465: UNKNOWN(0xD8) 00002466: UNKNOWN(0xDA) 00002467: NUMBER 00002468: UNKNOWN(0xCD) 00002469: UNKNOWN(0xC2) 0000246a: UNKNOWN(0x22) 0000246b: UNKNOWN(0xD8) 0000246c: SAR 0000246d: CREATE2 0000246e: STOP 0000246f: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9
call_targets:
0x2101e480e22c953b37b9d0fe6551c1354fe705e6
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2101e480e22c953b37b9d0fe6551c1354fe705e6"
],
"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": "0x02ce8c4d",
"selector": "0x02ce8c4d",
"calldata_variants": [
"0x02ce8c4d",
"0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0674763c",
"selector": "0x0674763c",
"calldata_variants": [
"0x0674763c",
"0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06c5ac42",
"selector": "0x06c5ac42",
"calldata_variants": [
"0x06c5ac42",
"0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x092a5cce",
"selector": "0x092a5cce",
"calldata_variants": [
"0x092a5cce",
"0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13af4035",
"selector": "0x13af4035",
"calldata_variants": [
"0x13af4035",
"0x13af40350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14fe6af9",
"selector": "0x14fe6af9",
"calldata_variants": [
"0x14fe6af9",
"0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1db89da1",
"selector": "0x1db89da1",
"calldata_variants": [
"0x1db89da1",
"0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1e452a90",
"selector": "0x1e452a90",
"calldata_variants": [
"0x1e452a90",
"0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3057,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4610,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5082,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 13,
"guards_detected": [],
"untrusted_call_count": 13
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9
call_targets:
0x2101e480e22c953b37b9d0fe6551c1354fe705e6
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x7781fcf19966ea5b5990d61eb8c0160b080de48d5a55cdbc3fb552e626bcdeb9",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2101e480e22c953b37b9d0fe6551c1354fe705e6"
],
"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": "0x02ce8c4d",
"selector": "0x02ce8c4d",
"calldata_variants": [
"0x02ce8c4d",
"0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0674763c",
"selector": "0x0674763c",
"calldata_variants": [
"0x0674763c",
"0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06c5ac42",
"selector": "0x06c5ac42",
"calldata_variants": [
"0x06c5ac42",
"0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x092a5cce",
"selector": "0x092a5cce",
"calldata_variants": [
"0x092a5cce",
"0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13af4035",
"selector": "0x13af4035",
"calldata_variants": [
"0x13af4035",
"0x13af40350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14fe6af9",
"selector": "0x14fe6af9",
"calldata_variants": [
"0x14fe6af9",
"0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1db89da1",
"selector": "0x1db89da1",
"calldata_variants": [
"0x1db89da1",
"0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1e452a90",
"selector": "0x1e452a90",
"calldata_variants": [
"0x1e452a90",
"0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3057,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4610,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5082,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 13,
"guards_detected": []
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6",
"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": "0x02ce8c4d",
"selector": "0x02ce8c4d",
"calldata_variants": [
"0x02ce8c4d",
"0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0674763c",
"selector": "0x0674763c",
"calldata_variants": [
"0x0674763c",
"0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06c5ac42",
"selector": "0x06c5ac42",
"calldata_variants": [
"0x06c5ac42",
"0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x092a5cce",
"selector": "0x092a5cce",
"calldata_variants": [
"0x092a5cce",
"0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13af4035",
"selector": "0x13af4035",
"calldata_variants": [
"0x13af4035",
"0x13af40350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14fe6af9",
"selector": "0x14fe6af9",
"calldata_variants": [
"0x14fe6af9",
"0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1db89da1",
"selector": "0x1db89da1",
"calldata_variants": [
"0x1db89da1",
"0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1e452a90",
"selector": "0x1e452a90",
"calldata_variants": [
"0x1e452a90",
"0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|
| medium | other | codex | Token deposits credit full amount without verifying actual tokens received | 75 | no | — |
viewevidence_json{
"evidence": "Balances are incremented before `transferFrom` and no balance-delta check is performed.",
"locations": [
"contracts/Contract.sol:295",
"contracts/Contract.sol:304",
"contracts/Contract.sol:312"
],
"recommendation": "Credit based on actual balance delta (`balanceAfter - balanceBefore`), or explicitly whitelist standard ERC20s that do not charge transfer fees.",
"exploit_scenario": "For fee-on-transfer or deflationary tokens, `transferFrom` can deliver fewer tokens than `amount`, yet the contract credits the full `amount` to the user. The user can then withdraw the inflated balance, draining pooled liquidity or causing insolvency for that token."
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x5997c1c8b6e0bed0891d56438a09116806ebdae3375f65f4bd5ac634f73207c6",
"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": "0x02ce8c4d",
"selector": "0x02ce8c4d",
"calldata_variants": [
"0x02ce8c4d",
"0x02ce8c4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0674763c",
"selector": "0x0674763c",
"calldata_variants": [
"0x0674763c",
"0x0674763c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06c5ac42",
"selector": "0x06c5ac42",
"calldata_variants": [
"0x06c5ac42",
"0x06c5ac420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x092a5cce",
"selector": "0x092a5cce",
"calldata_variants": [
"0x092a5cce",
"0x092a5cce0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13af4035",
"selector": "0x13af4035",
"calldata_variants": [
"0x13af4035",
"0x13af40350000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14fe6af9",
"selector": "0x14fe6af9",
"calldata_variants": [
"0x14fe6af9",
"0x14fe6af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1db89da1",
"selector": "0x1db89da1",
"calldata_variants": [
"0x1db89da1",
"0x1db89da10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1e452a90",
"selector": "0x1e452a90",
"calldata_variants": [
"0x1e452a90",
"0x1e452a900000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | auth | codex | Packed hashing with string enables signature collisions in pTokenRedeemForUser | 75 | no | — |
viewevidence_json{
"evidence": "`bytes32 hash = keccak256(this, token, amount, user, nonce, destinationAddress, feeWithdrawal);` uses packed encoding with a dynamic string.",
"locations": [
"contracts/Contract.sol:427"
],
"recommendation": "Switch to `keccak256(abi.encode(...))` with typed fields, or hash the destination string separately (`keccak256(bytes(destinationAddress))`) and include a function-specific domain separator/EIP-712 typed data so parameters cannot be reinterpreted.",
"exploit_scenario": "A user signs a pToken redemption request, but the hash is built with packed encoding of a dynamic string (`destinationAddress`). Because packed encoding has no length delimiter, an attacker who controls the withdrawal relay (or a compromised admin) can craft a different `(destinationAddress, feeWithdrawal)` pair that yields the same hash, or even reuse a withdraw signature for pTokenRedeemForUser with an empty destination string. This allows redemptions to a different BTC address or with altered fees than the user intended."
}
|
| 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
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 9
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 13
}
|