019bb2d5-fced-72a8-b292-cf03c66350e4
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 |
|---|---|---|---|---|
| 39531 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 39532 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 39533 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 39534 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 39535 | capability.graph | complete | 1 / 3 | 3 months ago |
| 39536 | detector.run | complete | 1 / 3 | 3 months ago |
| 39537 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39706 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 39707 | 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-rnl8ga97)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-rnl8ga97)
'forge' returned non-zero exit code 1
Compiling 4 files with Solc 0.8.30
stdout: Solc 0.8.30 finished in 234.44ms
Error: Compiler run failed:
stderr: Error: Compiler error (/solidity/libsolidity/codegen/LValue.cpp:50): Stack too deep. Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` (standard JSON) while enabling the optimizer. Otherwise, try removing local variables.
stderr: --> src/ZAMM.sol:349:45:
stderr: |
stderr: 349 | credited = _useTransientBalance(poolKey.token0, poolKey.id0, amountIn);
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-rnl8ga97/out/build-info is not a directory.
{"no_findings":false,"summary":"Unchecked ERC6909 transfer return values allow non-compliant or malicious tokens to spoof transfers, desyncing reserves and enabling loss of the paired asset.","findings":[{"severity":"medium","category":"other","title":"Unchecked ERC6909 transfer/transferFrom allows spoofed transfers and reserve desync","exploit_scenario":"An attacker deploys an ERC6909-like token that returns false (or returns no value) without transferring. They create a pool with a real asset and this token, then add liquidity or swap using the malicious token. Because the AMM ignores the return value, it updates reserves as if tokens were received and transfers out the real asset, letting the attacker drain the pool or fill orders without paying.","recommendation":"Check the boolean return value for ERC6909 `transfer`/`transferFrom` and revert on failure, or wrap them with a SafeTransfer-style helper that verifies return data. Alternatively, enforce an allowlist of compliant ERC6909 tokens.","evidence":"`ZERC6909(token).transfer(...)` and `ZERC6909(token).transferFrom(...)` are called without checking the return value.","locations":["src/ZAMM.sol:62","src/ZAMM.sol:84","src/ZAMM.sol:858","src/ZAMM.sol:876"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-3mpmqfsu
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb2d6-bed9-7a53-98b5-54de27f318a3
--------
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
**Starting audit by reading AUDIT_BUNDLE**
exec
/bin/bash -lc ls in /tmp/codex-3mpmqfsu succeeded in 8ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
src
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-3mpmqfsu 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: src/ZAMM.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;
import "./ZERC6909.sol";
import "./utils/Math.sol";
import "./utils/TransferHelper.sol";
// maximally simple constant product AMM singleton
// minted by z0r0z as concentric liquidity backend
// with a native coin path for efficient pool swap
// as well as embedded orderbook and timelock mech
contract ZAMM is ZERC6909 {
// constants
uint256 constant MINIMUM_LIQUIDITY = 1000;
thinking
**Preparing to access full ZAMM file**
exec
/bin/bash -lc 'rg -n "contract ZAMM" -n src/ZAMM.sol' in /tmp/codex-3mpmqfsu succeeded in 18ms:
12:contract ZAMM is ZERC6909 {
thinking
**Using sed to read file segments**
exec
/bin/bash -lc "sed -n '1,240p' src/ZAMM.sol" in /tmp/codex-3mpmqfsu succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.30;
import "./ZERC6909.sol";
import "./utils/Math.sol";
import "./utils/TransferHelper.sol";
// maximally simple constant product AMM singleton
// minted by z0r0z as concentric liquidity backend
// with a native coin path for efficient pool swap
// as well as embedded orderbook and timelock mech
contract ZAMM is ZERC6909 {
// constants
uint256 constant MINIMUM_LIQUIDITY = 1000;
uint256 constant MAX_FEE = 10000; // 100%
// - hook flags
uint256 constant FLAG_BEFORE = 1 << 255;
uint256 constant FLAG_AFTER = 1 << 254;
uint256 constant ADDR_MASK = (1 << 160) - 1;
thinking
**Continuing exploration of ZAMM functions**
exec
/bin/bash -lc "sed -n '240,520p' src/ZAMM.sol" in /tmp/codex-3mpmqfsu succeeded in 5ms:
}
Pool storage pool = pools[poolId];
(uint112 reserve0, uint112 reserve1) = (pool.reserve0, pool.reserve1);
bool credited;
if (zeroForOne) {
credited = _useTransientBalance(poolKey.token0, poolKey.id0, amountIn);
if (credited) require(msg.value == 0, InvalidMsgVal());
} else {
credited = _useTransientBalance(poolKey.token1, poolKey.id1, amountIn);
}
if (!credited) {
if (zeroForOne) {
if (poolKey.token0 == address(0)) {
require(msg.value == amountIn, InvalidMsgVal());
} else {
require(msg.value == 0, InvalidMsgVal());
_safeTransferFrom(
thinking
**Continuing the process**
exec
/bin/bash -lc "sed -n '520,1040p' src/ZAMM.sol" in /tmp/codex-3mpmqfsu succeeded in 6ms:
feeOn = _mintFee(pool, poolId, reserve0, reserve1);
supply = pool.supply;
} else {
assembly ("memory-safe") {
feeOn := iszero(iszero(sload(0x20)))
}
}
if (supply == 0) {
(amount0, amount1) = (amount0Desired, amount1Desired);
} else {
uint256 amount1Optimal = mulDiv(amount0Desired, reserve1, reserve0);
if (amount1Optimal <= amount1Desired) {
require(amount1Optimal >= amount1Min, InsufficientOutputAmount());
(amount0, amount1) = (amount0Desired, amount1Optimal);
} else {
uint256 amount0Optimal = mulDiv(amount1Desired, reserve0, reserve1);
assert(amount0Optimal <= amount0Desired);
require(amount0Optimal >= amount0Min, InsufficientOutputAmount());
(amount0, amount1) = (amount0Optimal, amount1Desired);
thinking
**Analyzing contract reentrancy and transfer risks**
I'm carefully examining potential reentrancy vulnerabilities around the deposit function which lacks the reentrancy lock, and how external token calls might allow nested swaps or balance manipulations via transient storage. I’m also scrutinizing unchecked return values in token transfers, especially for ERC6909 tokens, and access control nuances involving fee setters, signature absence in order fills, and transient balance usage for multihop swaps. There’s a lot to unpack about whether external calls and hooks might expose subtle attack vectors despite the existing lock patterns.
thinking
**Assessing transient storage and token handling details**
I'm digging into how transient storage is used both for reentrancy guards and for tracking transient balances, confirming these don't conflict. I’m exploring the nuanced token mint/burn logic for internal tokens, flash swap repayment via transient balances, and how external direct token transfers don’t affect reserves. Also, I’m reviewing orderbook escrow mechanics, fee and hook handling, and how deposit’s unlocked state impacts reentrancy and flash swap design. There’s a complex interaction of these mechanisms around token accounting and swap callbacks that I want to fully untangle.
thinking
**Examining liquidity, swaps, and transient balance edge cases**
I’m analyzing subtle behaviors in addLiquidity when initial supply is zero, how canonical token ordering avoids ETH as token1, and how swapExactOut handles ETH input and transient balances. I’m curious about transient balance recovery, minting limits, and how `lock` interacts with transaction reverts. Also, I’m checking if swap calls can be manipulated via crafted inputs, transient balance accounting in multi-step swaps, and correctness of ZERC6909 token allowances and interface support. There’s a lot around fee calculations, orderbook payment flows, and how the contract uses tx.origin for owner logic. It’s a deep dive into contract logic nuances and potential edge cases!
thinking
**Analyzing reentrancy and unchecked token call risks**
I'm exploring reentrancy paths involving refund calls and deposit, noting deposit lacks a reentrancy guard while functions like addLiquidity and swap do have one. There's concern about unchecked return values when calling transfer/transferFrom on ERC6909 tokens, which could let malicious tokens fool the contract into transferring assets incorrectly during swaps or liquidity provision. I'm also checking feeOrHook handling tied to pool IDs, external call patterns in hooks, and subtle uses of transient balances that interact with reentrancy and transient storage. This is a careful look at call ordering, transient balance manipulation, and transfer checks that might create exploitable edge cases.
thinking
**Reviewing transient balance and orderbook edge cases**
I'm examining how transient balances interact with the lock mechanism, noting deposit uses transient storage per caller without locking, which might enable subtle reentrancy between deposit and other functions. I'm also verifying orderbook partial fill logic, ETH handling in payouts, and the possibility of denial-of-service via lockup parameter reuse. Importantly, unchecked return values on ERC6909 token transfers remain a clear concern, alongside nuanced feeOrHook handling and pool initialization checks. This is a thorough look at accounting, invariant consistency, and subtle access patterns.
thinking
**Analyzing ZERC6909 operator checks and allowance logic**
I'm carefully comparing the memory layouts used in operator approval checks within ZERC6909's transferFrom and isOperator functions to ensure they align correctly. I verified the keccak hash inputs and concluded the operator checks are implemented as intended, with no immediate bypass. I’m also reflecting on the transferFrom behavior requiring allowance even when the caller is the token owner, which might be a design nuance rather than vulnerability. The unchecked return values on ERC6909 transfers remain the main concrete issue to highlight.
exec
/bin/bash -lc "nl -ba src/ZAMM.sol | sed -n '40,120p'" in /tmp/codex-3mpmqfsu succeeded in 13ms:
40 uint256 supply;
41 }
42
43 // Solady (https://github.com/Vectorized/soledge/blob/main/src/utils/ReentrancyGuard.sol)
44 error Reentrancy();
45
46 modifier lock() {
47 assembly ("memory-safe") {
48 if tload(0x929eee149b4bd21268) {
49 mstore(0x00, 0xab143c06) // `Reentrancy()`
50 revert(0x1c, 0x04)
51 }
52 tstore(0x929eee149b4bd21268, address())
53 }
54 _;
55 assembly ("memory-safe") {
56 tstore(0x929eee149b4bd21268, 0)
57 }
58 }
59
thinking
**Identifying relevant code sections**
exec
/bin/bash -lc "nl -ba src/ZAMM.sol | sed -n '820,940p'" in /tmp/codex-3mpmqfsu succeeded in 23ms:
820
821 _payOut(tokenOut, idOut, sliceOut, maker);
822 _payIn(tokenIn, idIn, sliceIn, maker);
823
824 if (newOutDone == amtOut) delete orders[orderHash];
825
826 emit Fill(msg.sender, orderHash);
827 }
828
829 /*════════════ maker: cancel order ════════════════════*/
830 function cancelOrder(
831 address tokenIn,
832 uint256 idIn,
833 uint96 amtIn,
834 address tokenOut,
835 uint256 idOut,
836 uint96 amtOut,
837 uint56 deadline,
838 bool partialFill
839 ) public lock {
thinking
**Summarizing unchecked ERC6909 token transfer vulnerability**
I'm outlining a key finding about unchecked return values in ERC6909 token transfers affecting reserve synchronization, with a detailed exploit scenario involving malicious tokens bypassing transfer checks and draining pools. I'll create a clear JSON report including severity, evidence, locations, and recommendations to address this medium-risk issue.
codex
{"no_findings":false,"summary":"Unchecked ERC6909 transfer return values allow non-compliant or malicious tokens to spoof transfers, desyncing reserves and enabling loss of the paired asset.","findings":[{"severity":"medium","category":"other","title":"Unchecked ERC6909 transfer/transferFrom allows spoofed transfers and reserve desync","exploit_scenario":"An attacker deploys an ERC6909-like token that returns false (or returns no value) without transferring. They create a pool with a real asset and this token, then add liquidity or swap using the malicious token. Because the AMM ignores the return value, it updates reserves as if tokens were received and transfers out the real asset, letting the attacker drain the pool or fill orders without paying.","recommendation":"Check the boolean return value for ERC6909 `transfer`/`transferFrom` and revert on failure, or wrap them with a SafeTransfer-style helper that verifies return data. Alternatively, enforce an allowlist of compliant ERC6909 tokens.","evidence":"`ZERC6909(token).transfer(...)` and `ZERC6909(token).transferFrom(...)` are called without checking the return value.","locations":["src/ZAMM.sol:62","src/ZAMM.sol:84","src/ZAMM.sol:858","src/ZAMM.sol:876"]}]}
tokens used
55,430
{
"codex": {
"ran_at": "2026-01-12T15:41:08.006804+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 4,
"import_count": 3,
"first_party_contracts_count": 4
},
"summary": "Unchecked ERC6909 transfer return values allow non-compliant or malicious tokens to spoof transfers, desyncing reserves and enabling loss of the paired asset.",
"raw_final": {
"summary": "Unchecked ERC6909 transfer return values allow non-compliant or malicious tokens to spoof transfers, desyncing reserves and enabling loss of the paired asset.",
"findings": [
{
"title": "Unchecked ERC6909 transfer/transferFrom allows spoofed transfers and reserve desync",
"category": "other",
"evidence": "`ZERC6909(token).transfer(...)` and `ZERC6909(token).transferFrom(...)` are called without checking the return value.",
"severity": "medium",
"locations": [
"src/ZAMM.sol:62",
"src/ZAMM.sol:84",
"src/ZAMM.sol:858",
"src/ZAMM.sol:876"
],
"recommendation": "Check the boolean return value for ERC6909 `transfer`/`transferFrom` and revert on failure, or wrap them with a SafeTransfer-style helper that verifies return data. Alternatively, enforce an allowlist of compliant ERC6909 tokens.",
"exploit_scenario": "An attacker deploys an ERC6909-like token that returns false (or returns no value) without transferring. They create a pool with a real asset and this token, then add liquidity or swap using the malicious token. Because the AMM ignores the return value, it updates reserves as if tokens were received and transfers out the real asset, letting the attacker drain the pool or fill orders without paying."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: DUP1 00000003: PUSH1 0x40 00000005: MSTORE 00000006: PUSH1 0x04 00000008: CALLDATASIZE 00000009: LT 0000000a: ISZERO 0000000b: PUSH2 0x0031 0000000e: JUMPI 0000000f: JUMPDEST 00000010: POP 00000011: CALLDATASIZE 00000012: ISZERO 00000013: PUSH2 0x001a 00000016: JUMPI 00000017: PUSH0 00000018: DUP1 00000019: REVERT 0000001a: JUMPDEST 0000001b: CALLER 0000001c: PUSH0 0000001d: MSTORE 0000001e: PUSH0 0000001f: PUSH1 0x20 00000021: MSTORE 00000022: PUSH0 00000023: PUSH1 0x40 00000025: MSTORE 00000026: PUSH1 0x60 00000028: PUSH0 00000029: KECCAK256 0000002a: CALLVALUE 0000002b: DUP2 0000002c: TLOAD 0000002d: ADD 0000002e: SWAP1 0000002f: TSTORE 00000030: STOP 00000031: JUMPDEST 00000032: PUSH0 00000033: SWAP1 00000034: PUSH0 00000035: CALLDATALOAD 00000036: PUSH1 0xe0 00000038: SHR 00000039: SWAP1 0000003a: DUP2 0000003b: PUSH3 0xfdd58e 0000003f: EQ 00000040: PUSH2 0x3722 00000043: JUMPI 00000044: POP 00000045: DUP1 00000046: PUSH4 0x01ffc9a7 0000004b: EQ 0000004c: PUSH2 0x36a8 0000004f: JUMPI 00000050: DUP1 00000051: PUSH4 0x07b99000 00000056: EQ 00000057: PUSH2 0x346b 0000005a: JUMPI 0000005b: DUP1 0000005c: PUSH4 0x095bcdb6 00000061: EQ 00000062: PUSH2 0x33b7 00000065: JUMPI 00000066: DUP1 00000067: PUSH4 0x0efe6a8b 0000006c: EQ 0000006d: PUSH2 0x3354 00000070: JUMPI 00000071: DUP1 00000072: PUSH4 0x2dd1a516 00000077: EQ 00000078: PUSH2 0x30e2 0000007b: JUMPI 0000007c: DUP1 0000007d: PUSH4 0x346cfccc 00000082: EQ 00000083: PUSH2 0x309a 00000086: JUMPI 00000087: DUP1 00000088: PUSH4 0x38c3f8db 0000008d: EQ 0000008e: PUSH2 0x2a76 00000091: JUMPI 00000092: DUP1 00000093: PUSH4 0x3c5eec50 00000098: EQ 00000099: PUSH2 0x24ad 0000009c: JUMPI 0000009d: DUP1 0000009e: PUSH4 0x426a8493 000000a3: EQ 000000a4: PUSH2 0x244b 000000a7: JUMPI 000000a8: DUP1 000000a9: PUSH4 0x4f05d57b 000000ae: EQ 000000af: PUSH2 0x1d75 000000b2: JUMPI 000000b3: DUP1 000000b4: PUSH4 0x50ab148f 000000b9: EQ 000000ba: PUSH2 0x1cbf 000000bd: JUMPI 000000be: DUP1 000000bf: PUSH4 0x558a7297 000000c4: EQ 000000c5: PUSH2 0x1c2b 000000c8: JUMPI 000000c9: DUP1 000000ca: PUSH4 0x598af9e7 000000cf: EQ 000000d0: PUSH2 0x1bd5 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x76615b80 000000da: EQ 000000db: PUSH2 0x1ab8 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x8c1e8f57 000000e5: EQ 000000e6: PUSH2 0x1751 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x9c3f1e90 000000f0: EQ 000000f1: PUSH2 0x16d1 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0xa2e74af6 000000fb: EQ 000000fc: PUSH2 0x1691 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0xa647fc2a 00000106: EQ 00000107: PUSH2 0x15ad 0000010a: JUMPI 0000010b: DUP1 0000010c: PUSH4 0xa7b49197 00000111: EQ 00000112: PUSH2 0x0e3f 00000115: JUMPI 00000116: DUP1 00000117: PUSH4 0xac4afa38 0000011c: EQ 0000011d: PUSH2 0x0d9a 00000120: JUMPI 00000121: DUP1 00000122: PUSH4 0xb6363cf2 00000127: EQ 00000128: PUSH2 0x0d30 0000012b: JUMPI 0000012c: DUP1 0000012d: PUSH4 0xc42957a8 00000132: EQ 00000133: PUSH2 0x04cd 00000136: JUMPI 00000137: DUP1 00000138: PUSH4 0xf46901ed 0000013d: EQ 0000013e: PUSH2 0x047f 00000141: JUMPI 00000142: DUP1 00000143: PUSH4 0xf565b772 00000148: EQ 00000149: PUSH2 0x0294 0000014c: JUMPI 0000014d: PUSH4 0xfe99049a 00000152: SUB 00000153: PUSH2 0x000f 00000156: JUMPI 00000157: CALLVALUE 00000158: PUSH2 0x0291 0000015b: JUMPI 0000015c: PUSH1 0x80 0000015e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000017f: CALLDATASIZE 00000180: ADD 00000181: SLT 00000182: PUSH2 0x0291 00000185: JUMPI 00000186: PUSH2 0x018d 00000189: PUSH2 0x3778 0000018c: JUMP 0000018d: JUMPDEST 0000018e: SWAP1 0000018f: PUSH2 0x0196 00000192: PUSH2 0x379b 00000195: JUMP 00000196: JUMPDEST 00000197: SWAP2 00000198: PUSH1 0x44 0000019a: CALLDATALOAD 0000019b: SWAP1 0000019c: PUSH1 0x64 0000019e: CALLDATALOAD 0000019f: PUSH8 0xedcaa89a82293940 000001a8: PUSH1 0x34 000001aa: MSTORE 000001ab: DUP2 000001ac: PUSH1 0x28 000001ae: MSTORE 000001af: CALLER 000001b0: PUSH1 0x14 000001b2: MSTORE 000001b3: PUSH1 0x34 000001b5: PUSH1 0x20 000001b7: KECCAK256 000001b8: SLOAD 000001b9: ISZERO 000001ba: PUSH2 0x0258 000001bd: JUMPI 000001be: JUMPDEST 000001bf: DUP3 000001c0: PUSH1 0x14 000001c2: MSTORE 000001c3: PUSH1 0x40 000001c5: PUSH1 0x14 000001c7: KECCAK256 000001c8: DUP1 000001c9: SLOAD 000001ca: DUP1 000001cb: DUP4 000001cc: GT 000001cd: PUSH2 0x024b 000001d0: JUMPI 000001d1: DUP3 000001d2: SWAP1 000001d3: SUB 000001d4: SWAP1 000001d5: SSTORE 000001d6: DUP5 000001d7: PUSH1 0x28 000001d9: MSTORE 000001da: DUP3 000001db: PUSH1 0x14 000001dd: MSTORE 000001de: PUSH1 0x40 000001e0: PUSH1 0x14 000001e2: KECCAK256 000001e3: DUP1 000001e4: SLOAD 000001e5: SWAP1 000001e6: DUP3 000001e7: DUP3 000001e8: ADD 000001e9: SWAP2 000001ea: DUP3 000001eb: LT 000001ec: PUSH2 0x023e 000001ef: JUMPI 000001f0: SSTORE 000001f1: CALLER 000001f2: DUP5 000001f3: MSTORE 000001f4: PUSH1 0x20 000001f6: SWAP1 000001f7: DUP2 000001f8: MSTORE 000001f9: SWAP4 000001fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000020f: SWAP1 00000210: DUP2 00000211: AND 00000212: SWAP2 00000213: AND 00000214: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859 00000235: PUSH1 0x40 00000237: DUP6 00000238: LOG4 00000239: PUSH1 0x01 0000023b: DUP2 0000023c: MSTORE 0000023d: RETURN 0000023e: JUMPDEST 0000023f: PUSH4 0x89560ca1 00000244: DUP7 00000245: MSTORE 00000246: PUSH1 0x04 00000248: PUSH1 0x1c 0000024a: REVERT 0000024b: JUMPDEST 0000024c: PUSH4 0xf4d678b8 00000251: DUP7 00000252: MSTORE 00000253: PUSH1 0x04 00000255: PUSH1 0x1c 00000257: REVERT 00000258: JUMPDEST 00000259: DUP3 0000025a: DUP5 0000025b: MSTORE 0000025c: PUSH1 0x54 0000025e: DUP5 0000025f: KECCAK256 00000260: DUP1 00000261: SLOAD 00000262: PUSH1 0x01 00000264: DUP2 00000265: ADD 00000266: PUSH2 0x0271 00000269: JUMPI 0000026a: JUMPDEST 0000026b: POP 0000026c: POP 0000026d: PUSH2 0x01be 00000270: JUMP 00000271: JUMPDEST 00000272: DUP1 00000273: DUP4 00000274: GT 00000275: PUSH2 0x0284 00000278: JUMPI 00000279: DUP3 0000027a: SWAP1 0000027b: SUB 0000027c: SWAP1 0000027d: SSTORE 0000027e: PUSH0 0000027f: DUP1 00000280: PUSH2 0x026a 00000283: JUMP 00000284: JUMPDEST 00000285: PUSH4 0xdeda9030 0000028a: DUP7 0000028b: MSTORE 0000028c: PUSH1 0x04 0000028e: PUSH1 0x1c 00000290: REVERT 00000291: JUMPDEST 00000292: DUP1 00000293: REVERT 00000294: JUMPDEST 00000295: POP 00000296: PUSH2 0x029e 00000299: CALLDATASIZE 0000029a: PUSH2 0x397e 0000029d: JUMP 0000029e: JUMPDEST 0000029f: SWAP3 000002a0: SWAP4 000002a1: SWAP2 000002a2: PUSH9 0x929eee149b4bd21268 000002ac: TLOAD 000002ad: PUSH2 0x0472 000002b0: JUMPI 000002b1: ADDRESS 000002b2: PUSH9 0x929eee149b4bd21268 000002bc: TSTORE 000002bd: TIMESTAMP 000002be: DUP5 000002bf: GT 000002c0: ISZERO 000002c1: PUSH2 0x044a 000002c4: JUMPI 000002c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002da: DUP4 000002db: AND 000002dc: ISZERO 000002dd: DUP1 000002de: ISZERO 000002df: PUSH2 0x0444 000002e2: JUMPI 000002e3: DUP3 000002e4: JUMPDEST 000002e5: CALLVALUE 000002e6: SUB 000002e7: PUSH2 0x041c 000002ea: JUMPI 000002eb: SWAP1 000002ec: PUSH2 0x036e 000002ef: SWAP2 000002f0: ISZERO 000002f1: PUSH2 0x040a 000002f4: JUMPI 000002f5: JUMPDEST 000002f6: PUSH2 0x0342 000002f9: DUP6 000002fa: PUSH1 0x40 000002fc: MLOAD 000002fd: SWAP5 000002fe: DUP6 000002ff: SWAP4 00000300: DUP10 00000301: PUSH1 0x20 00000303: DUP7 00000304: ADD 00000305: SWAP9 00000306: DUP10 00000307: SWAP2 00000308: SWAP3 00000309: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000031e: PUSH1 0x80 00000320: SWAP5 00000321: SWAP8 00000322: SWAP7 00000323: SWAP6 00000324: SWAP3 00000325: SWAP8 00000326: DUP2 00000327: PUSH1 0xa0 00000329: DUP7 0000032a: ADD 0000032b: SWAP10 0000032c: AND 0000032d: DUP6 0000032e: MSTORE 0000032f: AND 00000330: PUSH1 0x20 00000332: DUP5 00000333: ADD 00000334: MSTORE 00000335: PUSH1 0x40 00000337: DUP4 00000338: ADD 00000339: MSTORE 0000033a: PUSH1 0x60 0000033c: DUP3 0000033d: ADD 0000033e: MSTORE 0000033f: ADD 00000340: MSTORE 00000341: JUMP 00000342: JUMPDEST 00000343: SUB 00000344: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00000365: DUP2 00000366: ADD 00000367: DUP4 00000368: MSTORE 00000369: DUP3 0000036a: PUSH2 0x3a14 0000036d: JUMP 0000036e: JUMPDEST 0000036f: MLOAD 00000370: SWAP1 00000371: KECCAK256 00000372: SWAP1 00000373: DUP2 00000374: DUP5 00000375: MSTORE 00000376: PUSH1 0x02 00000378: PUSH1 0x20 0000037a: MSTORE 0000037b: PUSH1 0x40 0000037d: DUP5 0000037e: KECCAK256 0000037f: SLOAD 00000380: PUSH2 0x03e2 00000383: JUMPI 00000384: SWAP3 00000385: PUSH1 0x20 00000387: SWAP4 00000388: DUP3 00000389: DUP3 0000038a: MSTORE 0000038b: PUSH1 0x02 0000038d: DUP6 0000038e: MSTORE 0000038f: PUSH1 0x40 00000391: DUP3 00000392: KECCAK256 00000393: SSTORE 00000394: DUP2 00000395: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003aa: PUSH1 0x40 000003ac: MLOAD 000003ad: SWAP5 000003ae: AND 000003af: CALLER 000003b0: PUSH32 0x7375ddc9249cdd8667d03af7de29e75689d227d975eb90b025554cde79d6bf28 000003d1: DUP5 000003d2: DUP1 000003d3: LOG4 000003d4: PUSH9 0x929eee149b4bd21268 000003de: TSTORE 000003df: DUP2 000003e0: MSTORE 000003e1: RETURN 000003e2: JUMPDEST 000003e3: PUSH1 0x04 000003e5: DUP5 000003e6: PUSH32 0x6df2039000000000000000000000000000000000000000000000000000000000 00000407: DUP2 00000408: MSTORE 00000409: REVERT 0000040a: JUMPDEST 0000040b: PUSH2 0x0417 0000040e: DUP4 0000040f: DUP3 00000410: ADDRESS 00000411: CALLER 00000412: DUP9 00000413: PUSH2 0x3c99 00000416: JUMP 00000417: JUMPDEST 00000418: PUSH2 0x02f5 0000041b: JUMP 0000041c: JUMPDEST 0000041d: PUSH1 0x04 0000041f: DUP8 00000420: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 00000441: DUP2 00000442: MSTORE 00000443: REVERT 00000444: JUMPDEST 00000445: DUP7 00000446: PUSH2 0x02e4 00000449: JUMP 0000044a: JUMPDEST 0000044b: PUSH1 0x04 0000044d: DUP7 0000044e: PUSH32 0x203d82d800000000000000000000000000000000000000000000000000000000 0000046f: DUP2 00000470: MSTORE 00000471: REVERT 00000472: JUMPDEST 00000473: PUSH4 0xab143c06 00000478: DUP7 00000479: MSTORE 0000047a: PUSH1 0x04 0000047c: PUSH1 0x1c 0000047e: REVERT 0000047f: JUMPDEST 00000480: POP 00000481: PUSH1 0x20 00000483: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000004a4: CALLDATASIZE 000004a5: ADD 000004a6: SLT 000004a7: PUSH2 0x0291 000004aa: JUMPI 000004ab: PUSH2 0x04b2 000004ae: PUSH2 0x3778 000004b1: JUMP 000004b2: JUMPDEST 000004b3: DUP2 000004b4: SLOAD 000004b5: CALLER 000004b6: SUB 000004b7: PUSH2 0x04c0 000004ba: JUMPI 000004bb: PUSH1 0x20 000004bd: SSTORE 000004be: DUP1 000004bf: RETURN 000004c0: JUMPDEST 000004c1: PUSH4 0x82b42900 000004c6: DUP3 000004c7: MSTORE 000004c8: PUSH1 0x04 000004ca: PUSH1 0x1c 000004cc: REVERT 000004cd: JUMPDEST 000004ce: POP 000004cf: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000004f0: CALLDATASIZE 000004f1: ADD 000004f2: PUSH2 0x0160 000004f5: DUP2 000004f6: SLT 000004f7: PUSH2 0x0d2c 000004fa: JUMPI 000004fb: PUSH1 0xa0 000004fd: SGT 000004fe: PUSH2 0x0291 00000501: JUMPI 00000502: PUSH2 0x0124 00000505: CALLDATALOAD 00000506: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000051b: DUP2 0000051c: AND 0000051d: DUP2 0000051e: SUB 0000051f: PUSH2 0x0d28 00000522: JUMPI 00000523: PUSH9 0x929eee149b4bd21268 0000052d: TLOAD 0000052e: PUSH2 0x0d1b 00000531: JUMPI 00000532: ADDRESS 00000533: PUSH9 0x929eee149b4bd21268 0000053d: TSTORE 0000053e: TIMESTAMP 0000053f: PUSH2 0x0144 00000542: CALLDATALOAD 00000543: LT 00000544: PUSH2 0x0cf3 00000547: JUMPI 00000548: PUSH1 0xa0 0000054a: PUSH1 0x40 0000054c: MLOAD 0000054d: DUP2 0000054e: PUSH1 0x04 00000550: DUP3 00000551: CALLDATACOPY 00000552: KECCAK256 00000553: SWAP1 00000554: PUSH2 0x055e 00000557: PUSH1 0x84 00000559: CALLDATALOAD 0000055a: PUSH2 0x3d67 0000055d: JUMP 0000055e: JUMPDEST 0000055f: SWAP3 00000560: POP 00000561: SWAP5 00000562: SWAP1 00000563: SWAP5 00000564: PUSH2 0x0c1f 00000567: JUMPI 00000568: JUMPDEST 00000569: DUP4 0000056a: DUP2 0000056b: MSTORE 0000056c: DUP1 0000056d: PUSH1 0x20 0000056f: MSTORE 00000570: PUSH1 0x40 00000572: DUP2 00000573: KECCAK256 00000574: SWAP4 00000575: DUP5 00000576: SLOAD 00000577: SWAP6 00000578: PUSH1 0x04 0000057a: DUP7 0000057b: ADD 0000057c: SLOAD 0000057d: DUP1 0000057e: ISZERO 0000057f: ISZERO 00000580: PUSH0 00000581: EQ 00000582: PUSH2 0x0c12 00000585: JUMPI 00000586: POP 00000587: PUSH2 0x05b5 0000058a: PUSH14 0xffffffffffffffffffffffffffff 00000599: DUP9 0000059a: PUSH1 0x70 0000059c: SHR 0000059d: AND 0000059e: PUSH14 0xffffffffffffffffffffffffffff 000005ad: DUP10 000005ae: AND 000005af: DUP5 000005b0: DUP10 000005b1: PUSH2 0x45cf 000005b4: JUMP 000005b5: JUMPDEST 000005b6: SWAP4 000005b7: PUSH1 0x04 000005b9: DUP8 000005ba: ADD 000005bb: SLOAD 000005bc: SWAP7 000005bd: JUMPDEST 000005be: DUP8 000005bf: PUSH2 0x0b22 000005c2: JUMPI 000005c3: PUSH1 0xc4 000005c5: CALLDATALOAD 000005c6: SWAP6 000005c7: PUSH1 0xa4 000005c9: CALLDATALOAD 000005ca: SWAP9 000005cb: JUMPDEST 000005cc: PUSH2 0x05e0 000005cf: DUP11 000005d0: PUSH2 0x05d7 000005d3: PUSH2 0x3abb 000005d6: JUMP 000005d7: JUMPDEST 000005d8: PUSH1 0x04 000005da: CALLDATALOAD 000005db: SWAP1 000005dc: PUSH2 0x3e8d 000005df: JUMP 000005e0: JUMPDEST 000005e1: DUP1 000005e2: PUSH2 0x0af4 000005e5: JUMPI 000005e6: JUMPDEST 000005e7: ISZERO 000005e8: PUSH2 0x0a94 000005eb: JUMPI 000005ec: JUMPDEST 000005ed: PUSH2 0x0601 000005f0: DUP9 000005f1: PUSH2 0x05f8 000005f4: PUSH2 0x3ade 000005f7: JUMP 000005f8: JUMPDEST 000005f9: PUSH1 0x24 000005fb: CALLDATALOAD 000005fc: SWAP1 000005fd: PUSH2 0x3e8d 00000600: JUMP 00000601: JUMPDEST 00000602: ISZERO 00000603: PUSH2 0x0a76 00000606: JUMPI 00000607: JUMPDEST 00000608: DUP1 00000609: PUSH2 0x09da 0000060c: JUMPI 0000060d: POP 0000060e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000623: PUSH2 0x062a 00000626: PUSH2 0x3abb 00000629: JUMP 0000062a: JUMPDEST 0000062b: AND 0000062c: ISZERO 0000062d: PUSH2 0x09aa 00000630: JUMPI 00000631: JUMPDEST 00000632: PUSH2 0x0639 00000635: PUSH2 0x3abb 00000638: JUMP 00000639: JUMPDEST 0000063a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000064f: DUP1 00000650: PUSH2 0x0657 00000653: PUSH2 0x3ade 00000656: JUMP 00000657: JUMPDEST 00000658: AND 00000659: SWAP2 0000065a: AND 0000065b: LT 0000065c: DUP1 0000065d: ISZERO 0000065e: PUSH2 0x094a 00000661: JUMPI 00000662: JUMPDEST 00000663: ISZERO 00000664: PUSH2 0x0922 00000667: JUMPI 00000668: PUSH2 0x2710 0000066b: PUSH1 0x84 0000066d: CALLDATALOAD 0000066e: GT 0000066f: DUP1 00000670: ISZERO 00000671: SWAP1 00000672: PUSH2 0x08f6 00000675: JUMPI 00000676: JUMPDEST 00000677: ISZERO 00000678: PUSH2 0x08ce 0000067b: JUMPI 0000067c: PUSH2 0x0719 0000067f: PUSH2 0x0688 00000682: DUP9 00000683: DUP12 00000684: PUSH2 0x3c3a 00000687: JUMP 00000688: JUMPDEST 00000689: DUP1 0000068a: PUSH17 0xffffffffffffffffffffffffffffffffff 0000069c: LT 0000069d: PUSH1 0x07 0000069f: SHL 000006a0: DUP2 000006a1: DUP2 000006a2: SHR 000006a3: PUSH9 0xffffffffffffffffff 000006ad: LT 000006ae: PUSH1 0x06 000006b0: SHL 000006b1: OR 000006b2: DUP2 000006b3: DUP2 000006b4: SHR 000006b5: PUSH5 0xffffffffff 000006bb: LT 000006bc: PUSH1 0x05 000006be: SHL 000006bf: OR 000006c0: DUP2 000006c1: DUP2 000006c2: SHR 000006c3: PUSH3 0xffffff 000006c7: LT 000006c8: PUSH1 0x04 000006ca: SHL 000006cb: OR 000006cc: PUSH1 0xb5 000006ce: PUSH3 0x010000 000006d2: DUP4 000006d3: DUP4 000006d4: SHR 000006d5: ADD 000006d6: SWAP2 000006d7: PUSH1 0x01 000006d9: SHR 000006da: SHL 000006db: MUL 000006dc: PUSH1 0x12 000006de: SHR 000006df: DUP1 000006e0: DUP3 000006e1: DIV 000006e2: ADD 000006e3: PUSH1 0x01 000006e5: SHR 000006e6: DUP1 000006e7: DUP3 000006e8: DIV 000006e9: ADD 000006ea: PUSH1 0x01 000006ec: SHR 000006ed: DUP1 000006ee: DUP3 000006ef: DIV 000006f0: ADD 000006f1: PUSH1 0x01 000006f3: SHR 000006f4: DUP1 000006f5: DUP3 000006f6: DIV 000006f7: ADD 000006f8: PUSH1 0x01 000006fa: SHR 000006fb: DUP1 000006fc: DUP3 000006fd: DIV 000006fe: ADD 000006ff: PUSH1 0x01 00000701: SHR 00000702: DUP1 00000703: DUP3 00000704: DIV 00000705: ADD 00000706: PUSH1 0x01 00000708: SHR 00000709: DUP1 0000070a: DUP3 0000070b: DIV 0000070c: ADD 0000070d: PUSH1 0x01 0000070f: SHR 00000710: DUP1 00000711: DUP1 00000712: SWAP3 00000713: DIV 00000714: LT 00000715: SWAP1 00000716: SUB 00000717: SWAP1 00000718: JUMP 00000719: JUMPDEST 0000071a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18 0000073b: DUP2 0000073c: ADD 0000073d: DUP2 0000073e: DUP2 0000073f: GT 00000740: PUSH2 0x08a1 00000743: JUMPI 00000744: DUP1 00000745: SWAP10 00000746: DUP2 00000747: ISZERO 00000748: PUSH2 0x0879 0000074b: JUMPI 0000074c: SWAP2 0000074d: PUSH2 0x075d 00000750: PUSH1 0x60 00000752: SWAP14 00000753: SWAP3 00000754: DUP10 00000755: PUSH2 0x07a8 00000758: SWAP6 00000759: PUSH2 0x4570 0000075c: JUMP 0000075d: JUMPDEST 0000075e: PUSH1 0x04 00000760: DUP6 00000761: ADD 00000762: SSTORE 00000763: JUMPDEST 00000764: PUSH2 0x077d 00000767: PUSH14 0xffffffffffffffffffffffffffff 00000776: DUP3 00000777: AND 00000778: DUP13 00000779: PUSH2 0x3b2f 0000077c: JUMP 0000077d: JUMPDEST 0000077e: PUSH14 0xffffffffffffffffffffffffffff 0000078d: PUSH1 0x70 0000078f: DUP4 00000790: SWAP1 00000791: SHR 00000792: DUP2 00000793: AND 00000794: SWAP3 00000795: AND 00000796: SWAP1 00000797: PUSH2 0x07a0 0000079a: DUP4 0000079b: DUP13 0000079c: PUSH2 0x3b2f 0000079f: JUMP 000007a0: JUMPDEST 000007a1: SWAP1 000007a2: DUP10 000007a3: DUP8 000007a4: PUSH2 0x3ffd 000007a7: JUMP 000007a8: JUMPDEST 000007a9: PUSH2 0x084d 000007ac: JUMPI 000007ad: JUMPDEST 000007ae: POP 000007af: PUSH2 0x0804 000007b2: JUMPI 000007b3: JUMPDEST 000007b4: POP 000007b5: PUSH1 0x40 000007b7: MLOAD 000007b8: SWAP1 000007b9: DUP6 000007ba: DUP3 000007bb: MSTORE 000007bc: DUP4 000007bd: PUSH1 0x20 000007bf: DUP4 000007c0: ADD 000007c1: MSTORE 000007c2: PUSH32 0x5a3e96f397e68b20a43c25f664b628805b877334dadfcc925c6c1a3ad4340458 000007e3: PUSH1 0x40 000007e5: CALLER 000007e6: SWAP4 000007e7: LOG3 000007e8: PUSH9 0x929eee149b4bd21268 000007f2: TSTORE 000007f3: PUSH1 0x40 000007f5: MLOAD 000007f6: SWAP3 000007f7: DUP4 000007f8: MSTORE 000007f9: PUSH1 0x20 000007fb: DUP4 000007fc: ADD 000007fd: MSTORE 000007fe: PUSH1 0x40 00000800: DUP3 00000801: ADD 00000802: MSTORE 00000803: RETURN 00000804: JUMPDEST 00000805: PUSH2 0x0847 00000808: SWAP1 00000809: PUSH1 0x40 0000080b: MLOAD 0000080c: PUSH2 0x0816 0000080f: PUSH1 0x20 00000811: DUP3 00000812: PUSH2 0x3a14 00000815: JUMP 00000816: JUMPDEST 00000817: DUP5 00000818: DUP2 00000819: MSTORE 0000081a: DUP7 0000081b: DUP7 0000081c: DUP10 0000081d: CALLER 0000081e: DUP8 0000081f: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000840: PUSH0 00000841: CALLDATALOAD 00000842: AND 00000843: PUSH2 0x42cd 00000846: JUMP 00000847: JUMPDEST 00000848: PUSH0 00000849: PUSH2 0x07b3 0000084c: JUMP 0000084d: JUMPDEST 0000084e: PUSH1 0x03 00000850: PUSH2 0x0870 00000853: DUP3 00000854: SLOAD 00000855: PUSH14 0xffffffffffffffffffffffffffff 00000864: DUP1 00000865: DUP3 00000866: PUSH1 0x70 00000868: SHR 00000869: AND 0000086a: SWAP2 0000086b: AND 0000086c: PUSH2 0x3c3a 0000086f: JUMP 00000870: JUMPDEST 00000871: SWAP2 00000872: ADD 00000873: SSTORE 00000874: PUSH0 00000875: PUSH2 0x07ad 00000878: JUMP 00000879: JUMPDEST 0000087a: PUSH1 0x04 0000087c: DUP10 0000087d: PUSH32 0xd226f9d400000000000000000000000000000000000000000000000000000000 0000089e: DUP2 0000089f: MSTORE 000008a0: REVERT 000008a1: JUMPDEST 000008a2: PUSH1 0x24 000008a4: DUP9 000008a5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000008c6: DUP2 000008c7: MSTORE 000008c8: PUSH1 0x11 000008ca: PUSH1 0x04 000008cc: MSTORE 000008cd: REVERT 000008ce: JUMPDEST 000008cf: PUSH1 0x04 000008d1: DUP7 000008d2: PUSH32 0x2e1740be00000000000000000000000000000000000000000000000000000000 000008f3: DUP2 000008f4: MSTORE 000008f5: REVERT 000008f6: JUMPDEST 000008f7: POP 000008f8: PUSH32 0x3fffffffffffffffffffffff0000000000000000000000000000000000000000 00000919: PUSH1 0x84 0000091b: CALLDATALOAD 0000091c: AND 0000091d: ISZERO 0000091e: PUSH2 0x0676 00000921: JUMP 00000922: JUMPDEST 00000923: PUSH1 0x04 00000925: DUP7 00000926: PUSH32 0x0ab6dd1200000000000000000000000000000000000000000000000000000000 00000947: DUP2 00000948: MSTORE 00000949: REVERT 0000094a: JUMPDEST 0000094b: POP 0000094c: PUSH2 0x0953 0000094f: PUSH2 0x3abb 00000952: JUMP 00000953: JUMPDEST 00000954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000969: DUP1 0000096a: PUSH2 0x0971 0000096d: PUSH2 0x3ade 00000970: JUMP 00000971: JUMPDEST 00000972: AND 00000973: SWAP2 00000974: AND 00000975: EQ 00000976: DUP1 00000977: PUSH2 0x099f 0000097a: JUMPI 0000097b: JUMPDEST 0000097c: DUP1 0000097d: PUSH2 0x0994 00000980: JUMPI 00000981: JUMPDEST 00000982: DUP1 00000983: ISZERO 00000984: PUSH2 0x0662 00000987: JUMPI 00000988: POP 00000989: PUSH1 0x24 0000098b: CALLDATALOAD 0000098c: PUSH1 0x04 0000098e: CALLDATALOAD 0000098f: LT 00000990: PUSH2 0x0662 00000993: JUMP 00000994: JUMPDEST 00000995: POP 00000996: PUSH1 0x24 00000998: CALLDATALOAD 00000999: ISZERO 0000099a: ISZERO 0000099b: PUSH2 0x0981 0000099e: JUMP 0000099f: JUMPDEST 000009a0: POP 000009a1: PUSH1 0x04 000009a3: CALLDATALOAD 000009a4: ISZERO 000009a5: ISZERO 000009a6: PUSH2 0x097b 000009a9: JUMP 000009aa: JUMPDEST 000009ab: PUSH1 0x04 000009ad: CALLDATALOAD 000009ae: ISZERO 000009af: PUSH2 0x0631 000009b2: JUMPI 000009b3: PUSH1 0x04 000009b5: DUP7 000009b6: PUSH32 0x0ab6dd1200000000000000000000000000000000000000000000000000000000 000009d7: DUP2 000009d8: MSTORE 000009d9: REVERT 000009da: JUMPDEST 000009db: SWAP8 000009dc: PUSH2 0x0a15 000009df: PUSH2 0x09f9 000009e2: PUSH14 0xffffffffffffffffffffffffffff 000009f1: DUP14 000009f2: AND 000009f3: DUP12 000009f4: DUP14 000009f5: PUSH2 0x4434 000009f8: JUMP 000009f9: JUMPDEST 000009fa: SWAP10 000009fb: PUSH14 0xffffffffffffffffffffffffffff 00000a0a: DUP14 00000a0b: PUSH1 0x70 00000a0d: SHR 00000a0e: AND 00000a0f: SWAP1 00000a10: DUP11 00000a11: PUSH2 0x4434 00000a14: JUMP 00000a15: JUMPDEST 00000a16: DUP10 00000a17: DUP2 00000a18: LT 00000a19: SWAP1 00000a1a: DUP11 00000a1b: XOR 00000a1c: MUL 00000a1d: DUP1 00000a1e: DUP11 00000a1f: XOR 00000a20: SWAP10 00000a21: EQ 00000a22: PUSH2 0x0a4e 00000a25: JUMPI 00000a26: PUSH1 0x60 00000a28: SWAP11 00000a29: PUSH2 0x0a36 00000a2c: DUP11 00000a2d: DUP9 00000a2e: PUSH2 0x07a8 00000a31: SWAP5 00000a32: PUSH2 0x47c8 00000a35: JUMP 00000a36: JUMPDEST 00000a37: PUSH2 0x0a44 00000a3a: DUP11 00000a3b: PUSH1 0x04 00000a3d: DUP7 00000a3e: ADD 00000a3f: SLOAD 00000a40: PUSH2 0x3b2f 00000a43: JUMP 00000a44: JUMPDEST 00000a45: PUSH1 0x04 00000a47: DUP6 00000a48: ADD 00000a49: SSTORE 00000a4a: PUSH2 0x0763 00000a4d: JUMP 00000a4e: JUMPDEST 00000a4f: PUSH1 0x04 00000a51: DUP8 00000a52: PUSH32 0xd226f9d400000000000000000000000000000000000000000000000000000000 00000a73: DUP2 00000a74: MSTORE 00000a75: REVERT 00000a76: JUMPDEST 00000a77: PUSH2 0x0a8f 00000a7a: DUP9 00000a7b: PUSH2 0x0a82 00000a7e: PUSH2 0x3ade 00000a81: JUMP 00000a82: JUMPDEST 00000a83: PUSH1 0x24 00000a85: CALLDATALOAD 00000a86: SWAP1 00000a87: ADDRESS 00000a88: SWAP1 00000a89: CALLER 00000a8a: SWAP1 00000a8b: PUSH2 0x3c99 00000a8e: JUMP 00000a8f: JUMPDEST 00000a90: PUSH2 0x0607 00000a93: JUMP 00000a94: JUMPDEST 00000a95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aaa: PUSH2 0x0ab1 00000aad: PUSH2 0x3abb 00000ab0: JUMP 00000ab1: JUMPDEST 00000ab2: AND 00000ab3: PUSH2 0x0ad6 00000ab6: JUMPI 00000ab7: DUP10 00000ab8: CALLVALUE 00000ab9: LT 00000aba: PUSH2 0x041c 00000abd: JUMPI 00000abe: DUP10 00000abf: CALLVALUE 00000ac0: GT 00000ac1: PUSH2 0x0aca 00000ac4: JUMPI 00000ac5: JUMPDEST 00000ac6: PUSH2 0x05ec 00000ac9: JUMP 00000aca: JUMPDEST 00000acb: PUSH2 0x0ac5 00000ace: DUP11 00000acf: CALLVALUE 00000ad0: SUB 00000ad1: CALLER 00000ad2: PUSH2 0x3c65 00000ad5: JUMP 00000ad6: JUMPDEST 00000ad7: CALLVALUE 00000ad8: PUSH2 0x041c 00000adb: JUMPI 00000adc: PUSH2 0x0ac5 00000adf: DUP11 00000ae0: PUSH2 0x0ae7 00000ae3: PUSH2 0x3abb 00000ae6: JUMP 00000ae7: JUMPDEST 00000ae8: PUSH1 0x04 00000aea: CALLDATALOAD 00000aeb: SWAP1 00000aec: ADDRESS 00000aed: SWAP1 00000aee: CALLER 00000aef: SWAP1 00000af0: PUSH2 0x3c99 00000af3: JUMP 00000af4: JUMPDEST 00000af5: CALLVALUE 00000af6: ISZERO 00000af7: PUSH2 0x05e6 00000afa: JUMPI 00000afb: PUSH1 0x04 00000afd: DUP9 00000afe: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 00000b1f: DUP2 00000b20: MSTORE 00000b21: REVERT 00000b22: JUMPDEST 00000b23: PUSH2 0x0b52 00000b26: PUSH14 0xffffffffffffffffffffffffffff 00000b35: DUP11 00000b36: AND 00000b37: PUSH14 0xffffffffffffffffffffffffffff 00000b46: DUP12 00000b47: PUSH1 0x70 00000b49: SHR 00000b4a: AND 00000b4b: PUSH1 0xa4 00000b4d: CALLDATALOAD 00000b4e: PUSH2 0x4434 00000b51: JUMP 00000b52: JUMPDEST 00000b53: PUSH1 0xc4 00000b55: CALLDATALOAD 00000b56: DUP2 00000b57: GT 00000b58: PUSH2 0x0b97 00000b5b: JUMPI 00000b5c: PUSH2 0x0104 00000b5f: CALLDATALOAD 00000b60: DUP2 00000b61: LT 00000b62: PUSH2 0x0b6f 00000b65: JUMPI 00000b66: SWAP6 00000b67: PUSH1 0xa4 00000b69: CALLDATALOAD 00000b6a: SWAP9 00000b6b: PUSH2 0x05cb 00000b6e: JUMP 00000b6f: JUMPDEST 00000b70: PUSH1 0x04 00000b72: DUP7 00000b73: PUSH32 0x42301c2300000000000000000000000000000000000000000000000000000000 00000b94: DUP2 00000b95: MSTORE 00000b96: REVERT 00000b97: JUMPDEST 00000b98: POP 00000b99: PUSH2 0x0bc8 00000b9c: PUSH14 0xffffffffffffffffffffffffffff 00000bab: DUP11 00000bac: PUSH1 0x70 00000bae: SHR 00000baf: AND 00000bb0: PUSH14 0xffffffffffffffffffffffffffff 00000bbf: DUP12 00000bc0: AND 00000bc1: PUSH1 0xc4 00000bc3: CALLDATALOAD 00000bc4: PUSH2 0x4434 00000bc7: JUMP 00000bc8: JUMPDEST 00000bc9: SWAP6 00000bca: PUSH1 0xa4 00000bcc: CALLDATALOAD 00000bcd: DUP8 00000bce: GT 00000bcf: PUSH2 0x0be5 00000bd2: JUMPI 00000bd3: PUSH1 0xe4 00000bd5: CALLDATALOAD 00000bd6: DUP8 00000bd7: LT 00000bd8: PUSH2 0x0b6f 00000bdb: JUMPI 00000bdc: PUSH1 0xc4 00000bde: CALLDATALOAD 00000bdf: SWAP7 00000be0: SWAP9 00000be1: PUSH2 0x05cb 00000be4: JUMP 00000be5: JUMPDEST 00000be6: PUSH1 0x24 00000be8: DUP7 00000be9: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000c0a: DUP2 00000c0b: MSTORE 00000c0c: PUSH1 0x01 00000c0e: PUSH1 0x04 00000c10: MSTORE 00000c11: REVERT 00000c12: JUMPDEST 00000c13: SWAP6 00000c14: SWAP4 00000c15: PUSH1 0x20 00000c17: SLOAD 00000c18: ISZERO 00000c19: ISZERO 00000c1a: SWAP5 00000c1b: PUSH2 0x05bd 00000c1e: JUMP 00000c1f: JUMPDEST 00000c20: PUSH1 0x40 00000c22: MLOAD 00000c23: PUSH32 0x6e5f773000000000000000000000000000000000000000000000000000000000 00000c44: DUP2 00000c45: MSTORE 00000c46: PUSH0 00000c47: DUP1 00000c48: CALLDATALOAD 00000c49: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000c6a: AND 00000c6b: PUSH1 0x04 00000c6d: DUP4 00000c6e: ADD 00000c6f: MSTORE 00000c70: PUSH1 0x24 00000c72: DUP3 00000c73: ADD 00000c74: DUP7 00000c75: SWAP1 00000c76: MSTORE 00000c77: CALLER 00000c78: PUSH1 0x44 00000c7a: DUP4 00000c7b: ADD 00000c7c: MSTORE 00000c7d: PUSH1 0x80 00000c7f: PUSH1 0x64 00000c81: DUP4 00000c82: ADD 00000c83: MSTORE 00000c84: PUSH1 0x84 00000c86: DUP3 00000c87: ADD 00000c88: MSTORE 00000c89: PUSH1 0x20 00000c8b: DUP2 00000c8c: PUSH1 0xa4 00000c8e: DUP2 00000c8f: DUP6 00000c90: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca5: DUP12 00000ca6: AND 00000ca7: GAS 00000ca8: CALL 00000ca9: DUP1 00000caa: ISZERO 00000cab: PUSH2 0x0ce8 00000cae: JUMPI 00000caf: PUSH2 0x0cb9 00000cb2: JUMPI 00000cb3: JUMPDEST 00000cb4: POP 00000cb5: PUSH2 0x0568 00000cb8: JUMP 00000cb9: JUMPDEST 00000cba: PUSH2 0x0cda 00000cbd: SWAP1 00000cbe: PUSH1 0x20 00000cc0: RETURNDATASIZE 00000cc1: PUSH1 0x20 00000cc3: GT 00000cc4: PUSH2 0x0ce1 00000cc7: JUMPI 00000cc8: JUMPDEST 00000cc9: PUSH2 0x0cd2 00000ccc: DUP2 00000ccd: DUP4 00000cce: PUSH2 0x3a14 00000cd1: JUMP 00000cd2: JUMPDEST 00000cd3: DUP2 00000cd4: ADD 00000cd5: SWAP1 00000cd6: PUSH2 0x3aac 00000cd9: JUMP 00000cda: JUMPDEST 00000cdb: POP 00000cdc: PUSH0 00000cdd: PUSH2 0x0cb3 00000ce0: JUMP 00000ce1: JUMPDEST 00000ce2: POP 00000ce3: RETURNDATASIZE 00000ce4: PUSH2 0x0cc8 00000ce7: JUMP 00000ce8: JUMPDEST 00000ce9: PUSH1 0x40 00000ceb: MLOAD 00000cec: RETURNDATASIZE 00000ced: DUP5 00000cee: DUP3 00000cef: RETURNDATACOPY 00000cf0: RETURNDATASIZE 00000cf1: SWAP1 00000cf2: REVERT 00000cf3: JUMPDEST 00000cf4: PUSH1 0x04 00000cf6: DUP3 00000cf7: PUSH32 0x203d82d800000000000000000000000000000000000000000000000000000000 00000d18: DUP2 00000d19: MSTORE 00000d1a: REVERT 00000d1b: JUMPDEST 00000d1c: PUSH4 0xab143c06 00000d21: DUP3 00000d22: MSTORE 00000d23: PUSH1 0x04 00000d25: PUSH1 0x1c 00000d27: REVERT 00000d28: JUMPDEST 00000d29: PUSH0 00000d2a: DUP1 00000d2b: REVERT 00000d2c: JUMPDEST 00000d2d: POP 00000d2e: DUP1 00000d2f: REVERT 00000d30: JUMPDEST 00000d31: POP 00000d32: CALLVALUE 00000d33: PUSH2 0x0291 00000d36: JUMPI 00000d37: PUSH1 0x40 00000d39: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000d5a: CALLDATASIZE 00000d5b: ADD 00000d5c: SLT 00000d5d: PUSH2 0x0291 00000d60: JUMPI 00000d61: PUSH1 0x20 00000d63: PUSH2 0x0d90 00000d66: PUSH2 0x0d6d 00000d69: PUSH2 0x3778 00000d6c: JUMP 00000d6d: JUMPDEST 00000d6e: PUSH2 0x0d75 00000d71: PUSH2 0x379b 00000d74: JUMP 00000d75: JUMPDEST 00000d76: SWAP1 00000d77: PUSH8 0xedcaa89a82293940 00000d80: PUSH1 0x20 00000d82: MSTORE 00000d83: PUSH1 0x14 00000d85: MSTORE 00000d86: PUSH0 00000d87: MSTORE 00000d88: PUSH1 0x34 00000d8a: PUSH1 0x0c 00000d8c: KECCAK256 00000d8d: SLOAD 00000d8e: SWAP1 00000d8f: JUMP 00000d90: JUMPDEST 00000d91: PUSH1 0x40 00000d93: MLOAD 00000d94: SWAP1 00000d95: ISZERO 00000d96: ISZERO 00000d97: DUP2 00000d98: MSTORE 00000d99: RETURN 00000d9a: JUMPDEST 00000d9b: POP 00000d9c: CALLVALUE 00000d9d: PUSH2 0x0291 00000da0: JUMPI 00000da1: PUSH1 0x20 00000da3: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000dc4: CALLDATASIZE 00000dc5: ADD 00000dc6: SLT 00000dc7: PUSH2 0x0291 00000dca: JUMPI 00000dcb: PUSH1 0x40 00000dcd: PUSH1 0xe0 00000dcf: SWAP2 00000dd0: PUSH1 0x04 00000dd2: CALLDATALOAD 00000dd3: DUP2 00000dd4: MSTORE 00000dd5: DUP1 00000dd6: PUSH1 0x20 00000dd8: MSTORE 00000dd9: KECCAK256 00000dda: DUP1 00000ddb: SLOAD 00000ddc: SWAP1 00000ddd: PUSH1 0x01 00000ddf: DUP2 00000de0: ADD 00000de1: SLOAD 00000de2: SWAP1 00000de3: PUSH1 0x02 00000de5: DUP2 00000de6: ADD 00000de7: SLOAD 00000de8: PUSH1 0x04 00000dea: PUSH1 0x03 00000dec: DUP4 00000ded: ADD 00000dee: SLOAD 00000def: SWAP3 00000df0: ADD 00000df1: SLOAD 00000df2: SWAP3 00000df3: PUSH1 0x40 00000df5: MLOAD 00000df6: SWAP5 00000df7: PUSH14 0xffffffffffffffffffffffffffff 00000e06: DUP2 00000e07: AND 00000e08: DUP7 00000e09: MSTORE 00000e0a: PUSH14 0xffffffffffffffffffffffffffff 00000e19: DUP2 00000e1a: PUSH1 0x70 00000e1c: SHR 00000e1d: AND 00000e1e: PUSH1 0x20 00000e20: DUP8 00000e21: ADD 00000e22: MSTORE 00000e23: DUP7 00000e24: SHR 00000e25: PUSH1 0x40 00000e27: DUP7 00000e28: ADD 00000e29: MSTORE 00000e2a: PUSH1 0x60 00000e2c: DUP6 00000e2d: ADD 00000e2e: MSTORE 00000e2f: PUSH1 0x80 00000e31: DUP5 00000e32: ADD 00000e33: MSTORE 00000e34: PUSH1 0xa0 00000e36: DUP4 00000e37: ADD 00000e38: MSTORE 00000e39: PUSH1 0xc0 00000e3b: DUP3 00000e3c: ADD 00000e3d: MSTORE 00000e3e: RETURN 00000e3f: JUMPDEST 00000e40: POP 00000e41: CALLVALUE 00000e42: PUSH2 0x0291 00000e45: JUMPI 00000e46: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00000e67: CALLDATASIZE 00000e68: ADD 00000e69: PUSH2 0x0120 00000e6c: DUP2 00000e6d: SLT 00000e6e: PUSH2 0x0d2c 00000e71: JUMPI 00000e72: PUSH1 0xa0 00000e74: SGT 00000e75: PUSH2 0x0291 00000e78: JUMPI 00000e79: PUSH1 0xe4 00000e7b: CALLDATALOAD 00000e7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e91: DUP2 00000e92: AND 00000e93: DUP2 00000e94: SUB 00000e95: PUSH2 0x0d28 00000e98: JUMPI 00000e99: PUSH2 0x0104 00000e9c: CALLDATALOAD 00000e9d: PUSH8 0xffffffffffffffff 00000ea6: DUP2 00000ea7: GT 00000ea8: PUSH2 0x15a9 00000eab: JUMPI 00000eac: PUSH2 0x0eb9 00000eaf: SWAP1 00000eb0: CALLDATASIZE 00000eb1: SWAP1 00000eb2: PUSH1 0x04 00000eb4: ADD 00000eb5: PUSH2 0x3950 00000eb8: JUMP 00000eb9: JUMPDEST 00000eba: SWAP2 00000ebb: SWAP1 00000ebc: PUSH9 0x929eee149b4bd21268 00000ec6: TLOAD 00000ec7: PUSH2 0x159c 00000eca: JUMPI 00000ecb: ADDRESS 00000ecc: PUSH9 0x929eee149b4bd21268 00000ed6: TSTORE 00000ed7: PUSH1 0xa4 00000ed9: CALLDATALOAD 00000eda: ISZERO 00000edb: SWAP2 00000edc: DUP3 00000edd: ISZERO 00000ede: DUP1 00000edf: SWAP4 00000ee0: PUSH2 0x1591 00000ee3: JUMPI 00000ee4: JUMPDEST 00000ee5: ISZERO 00000ee6: PUSH2 0x1569 00000ee9: JUMPI 00000eea: PUSH1 0xa0 00000eec: PUSH1 0x40 00000eee: MLOAD 00000eef: DUP2 00000ef0: PUSH1 0x04 00000ef2: DUP3 00000ef3: CALLDATACOPY 00000ef4: KECCAK256 00000ef5: SWAP4 00000ef6: PUSH2 0x0f00 00000ef9: PUSH1 0x84 00000efb: CALLDATALOAD 00000efc: PUSH2 0x3d67 00000eff: JUMP 00000f00: JUMPDEST 00000f01: SWAP1 00000f02: SWAP4 00000f03: SWAP3 00000f04: SWAP4 00000f05: PUSH2 0x1479 00000f08: JUMPI 00000f09: JUMPDEST 00000f0a: DUP8 00000f0b: DUP10 00000f0c: MSTORE 00000f0d: DUP9 00000f0e: PUSH1 0x20 00000f10: MSTORE 00000f11: PUSH1 0x40 00000f13: DUP10 00000f14: KECCAK256 00000f15: SWAP7 00000f16: DUP8 00000f17: SLOAD 00000f18: SWAP1 00000f19: PUSH14 0xffffffffffffffffffffffffffff 00000f28: DUP3 00000f29: AND 00000f2a: PUSH1 0xa4 00000f2c: CALLDATALOAD 00000f2d: LT 00000f2e: ISZERO 00000f2f: PUSH2 0x1451 00000f32: JUMPI 00000f33: PUSH14 0xffffffffffffffffffffffffffff 00000f42: DUP3 00000f43: PUSH1 0x70 00000f45: SHR 00000f46: AND 00000f47: PUSH1 0xc4 00000f49: CALLDATALOAD 00000f4a: LT 00000f4b: ISZERO 00000f4c: PUSH2 0x1451 00000f4f: JUMPI 00000f50: PUSH2 0x1433 00000f53: JUMPI 00000f54: JUMPDEST 00000f55: PUSH1 0xc4 00000f57: CALLDATALOAD 00000f58: PUSH2 0x1415 00000f5b: JUMPI 00000f5c: JUMPDEST 00000f5d: DUP4 00000f5e: PUSH2 0x1346 00000f61: JUMPI 00000f62: JUMPDEST 00000f63: PUSH2 0x0f9b 00000f66: PUSH2 0x0f6d 00000f69: PUSH2 0x3abb 00000f6c: JUMP 00000f6d: JUMPDEST 00000f6e: PUSH2 0x0f96 00000f71: PUSH2 0x0f80 00000f74: PUSH1 0xa4 00000f76: CALLDATALOAD 00000f77: SWAP3 00000f78: PUSH1 0x04 00000f7a: CALLDATALOAD 00000f7b: SWAP1 00000f7c: PUSH2 0x479c 00000f7f: JUMP 00000f80: JUMPDEST 00000f81: PUSH14 0xffffffffffffffffffffffffffff 00000f90: DUP6 00000f91: AND 00000f92: PUSH2 0x3b2f 00000f95: JUMP 00000f96: JUMPDEST 00000f97: PUSH2 0x3b22 00000f9a: JUMP 00000f9b: JUMPDEST 00000f9c: SWAP8 00000f9d: PUSH2 0x0fd3 00000fa0: PUSH2 0x0fa7 00000fa3: PUSH2 0x3ade 00000fa6: JUMP 00000fa7: JUMPDEST 00000fa8: PUSH2 0x0f96 00000fab: PUSH2 0x0fba 00000fae: PUSH1 0xc4 00000fb0: CALLDATALOAD 00000fb1: SWAP3 00000fb2: PUSH1 0x24 00000fb4: CALLDATALOAD 00000fb5: SWAP1 00000fb6: PUSH2 0x479c 00000fb9: JUMP 00000fba: JUMPDEST 00000fbb: PUSH14 0xffffffffffffffffffffffffffff 00000fca: DUP7 00000fcb: PUSH1 0x70 00000fcd: SHR 00000fce: AND 00000fcf: PUSH2 0x3b2f 00000fd2: JUMP 00000fd3: JUMPDEST 00000fd4: PUSH1 0xa4 00000fd6: CALLDATALOAD 00000fd7: PUSH14 0xffffffffffffffffffffffffffff 00000fe6: DUP5 00000fe7: AND 00000fe8: SUB 00000fe9: DUP1 00000fea: DUP12 00000feb: GT 00000fec: ISZERO 00000fed: PUSH2 0x133e 00000ff0: JUMPI 00000ff1: DUP11 00000ff2: SUB 00000ff3: SWAP10 00000ff4: JUMPDEST 00000ff5: PUSH1 0xc4 00000ff7: CALLDATALOAD 00000ff8: PUSH14 0xffffffffffffffffffffffffffff 00001007: DUP6 00001008: PUSH1 0x70 0000100a: SHR 0000100b: AND 0000100c: SUB 0000100d: DUP1 0000100e: DUP4 0000100f: GT 00001010: PUSH0 00001011: EQ 00001012: PUSH2 0x1336 00001015: JUMPI 00001016: DUP3 00001017: SUB 00001018: SWAP8 00001019: JUMPDEST 0000101a: DUP12 0000101b: ISZERO 0000101c: DUP1 0000101d: ISZERO 0000101e: SWAP1 0000101f: PUSH2 0x132d 00001022: JUMPI 00001023: JUMPDEST 00001024: ISZERO 00001025: PUSH2 0x1305 00001028: JUMPI 00001029: DUP2 0000102a: PUSH2 0x2710 0000102d: DUP2 0000102e: MUL 0000102f: DIV 00001030: PUSH2 0x2710 00001033: EQ 00001034: DUP3 00001035: ISZERO 00001036: OR 00001037: ISZERO 00001038: PUSH2 0x12d8 0000103b: JUMPI 0000103c: PUSH2 0x1052 0000103f: PUSH2 0x1048 00001042: DUP3 00001043: DUP15 00001044: PUSH2 0x3c3a 00001047: JUMP 00001048: JUMPDEST 00001049: PUSH2 0x2710 0000104c: DUP5 0000104d: MUL 0000104e: PUSH2 0x3b22 00001051: JUMP 00001052: JUMPDEST 00001053: SWAP1 00001054: PUSH2 0x2710 00001057: DUP5 00001058: MUL 00001059: SWAP1 0000105a: DUP5 0000105b: DUP3 0000105c: DIV 0000105d: PUSH2 0x2710 00001060: EQ 00001061: DUP6 00001062: ISZERO 00001063: OR 00001064: ISZERO 00001065: PUSH2 0x12aa 00001068: JUMPI 00001069: PUSH2 0x1086 0000106c: SWAP3 0000106d: SWAP2 0000106e: PUSH2 0x107a 00001071: PUSH2 0x1080 00001074: SWAP3 00001075: DUP14 00001076: PUSH2 0x3c3a 00001079: JUMP 0000107a: JUMPDEST 0000107b: SWAP1 0000107c: PUSH2 0x3b22 0000107f: JUMP 00001080: JUMPDEST 00001081: SWAP1 00001082: PUSH2 0x3c3a 00001085: JUMP 00001086: JUMPDEST 00001087: PUSH2 0x10b3 0000108a: PUSH14 0xffffffffffffffffffffffffffff 00001099: DUP7 0000109a: PUSH1 0x70 0000109c: SHR 0000109d: AND 0000109e: PUSH14 0xffffffffffffffffffffffffffff 000010ad: DUP8 000010ae: AND 000010af: PUSH2 0x3c3a 000010b2: JUMP 000010b3: JUMPDEST 000010b4: SWAP1 000010b5: PUSH4 0x05f5e100 000010ba: DUP3 000010bb: MUL 000010bc: SWAP2 000010bd: DUP1 000010be: DUP4 000010bf: DIV 000010c0: PUSH4 0x05f5e100 000010c5: EQ 000010c6: SWAP1 000010c7: ISZERO 000010c8: OR 000010c9: ISZERO 000010ca: PUSH2 0x127d 000010cd: JUMPI 000010ce: LT 000010cf: PUSH2 0x1255 000010d2: JUMPI 000010d3: SWAP1 000010d4: DUP4 000010d5: SWAP3 000010d6: SWAP2 000010d7: DUP13 000010d8: PUSH14 0xffffffffffffffffffffffffffff 000010e7: DUP1 000010e8: PUSH2 0x10f7 000010eb: SWAP8 000010ec: PUSH1 0x70 000010ee: SHR 000010ef: AND 000010f0: SWAP6 000010f1: AND 000010f2: SWAP4 000010f3: PUSH2 0x3ffd 000010f6: JUMP 000010f7: JUMPDEST 000010f8: PUSH2 0x1167 000010fb: JUMPI 000010fc: JUMPDEST 000010fd: POP 000010fe: POP 000010ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001114: SWAP3 00001115: POP 00001116: PUSH1 0x40 00001118: MLOAD 00001119: SWAP4 0000111a: DUP5 0000111b: MSTORE 0000111c: PUSH1 0x20 0000111e: DUP5 0000111f: ADD 00001120: MSTORE 00001121: PUSH1 0xa4 00001123: CALLDATALOAD 00001124: PUSH1 0x40 00001126: DUP5 00001127: ADD 00001128: MSTORE 00001129: PUSH1 0xc4 0000112b: CALLDATALOAD 0000112c: PUSH1 0x60 0000112e: DUP5 0000112f: ADD 00001130: MSTORE 00001131: AND 00001132: SWAP2 00001133: PUSH32 0xf51245804459075de3f63c42324c8ba2021175781c7477a5d8f4f08fb5584a56 00001154: PUSH1 0x80 00001156: CALLER 00001157: SWAP4 00001158: LOG4 00001159: DUP1 0000115a: PUSH9 0x929eee149b4bd21268 00001164: TSTORE 00001165: DUP1 00001166: RETURN 00001167: JUMPDEST 00001168: PUSH2 0x1173 0000116b: PUSH1 0xa4 0000116d: CALLDATALOAD 0000116e: DUP8 0000116f: PUSH2 0x3c4d 00001172: JUMP 00001173: JUMPDEST 00001174: PUSH2 0x117f 00001177: PUSH1 0xc4 00001179: CALLDATALOAD 0000117a: DUP6 0000117b: PUSH2 0x3c4d 0000117e: JUMP 0000117f: JUMPDEST 00001180: PUSH8 0xffffffffffffffff 00001189: DUP5 0000118a: GT 0000118b: PUSH2 0x1228 0000118e: JUMPI 0000118f: PUSH1 0x40 00001191: MLOAD 00001192: SWAP2 00001193: PUSH2 0x11c4 00001196: PUSH1 0x1f 00001198: DUP7 00001199: ADD 0000119a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000011bb: AND 000011bc: PUSH1 0x20 000011be: ADD 000011bf: DUP5 000011c0: PUSH2 0x3a14 000011c3: JUMP 000011c4: JUMPDEST 000011c5: DUP5 000011c6: DUP4 000011c7: MSTORE 000011c8: DUP11 000011c9: CALLDATASIZE 000011ca: DUP7 000011cb: DUP11 000011cc: ADD 000011cd: GT 000011ce: PUSH2 0x0291 000011d1: JUMPI 000011d2: PUSH1 0x20 000011d4: DUP7 000011d5: PUSH2 0x1221 000011d8: SWAP8 000011d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011ee: SWAP12 000011ef: DUP4 000011f0: DUP9 000011f1: ADD 000011f2: CALLDATACOPY 000011f3: DUP6 000011f4: ADD 000011f5: ADD 000011f6: MSTORE 000011f7: CALLER 000011f8: DUP11 000011f9: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000121a: PUSH0 0000121b: CALLDATALOAD 0000121c: AND 0000121d: PUSH2 0x41a9 00001220: JUMP 00001221: JUMPDEST 00001222: PUSH0 00001223: DUP1 00001224: PUSH2 0x10fc 00001227: JUMP 00001228: JUMPDEST 00001229: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000124a: PUSH0 0000124b: MSTORE 0000124c: PUSH1 0x41 0000124e: PUSH1 0x04 00001250: MSTORE 00001251: PUSH1 0x24 00001253: PUSH0 00001254: REVERT 00001255: JUMPDEST 00001256: PUSH1 0x04 00001258: DUP14 00001259: PUSH32 0xa932492f00000000000000000000000000000000000000000000000000000000 0000127a: DUP2 0000127b: MSTORE 0000127c: REVERT 0000127d: JUMPDEST 0000127e: PUSH1 0x24 00001280: DUP16 00001281: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000012a2: DUP2 000012a3: MSTORE 000012a4: PUSH1 0x11 000012a6: PUSH1 0x04 000012a8: MSTORE 000012a9: REVERT 000012aa: JUMPDEST 000012ab: POP 000012ac: PUSH1 0x24 000012ae: DUP16 000012af: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000012d0: DUP2 000012d1: MSTORE 000012d2: PUSH1 0x11 000012d4: PUSH1 0x04 000012d6: MSTORE 000012d7: REVERT 000012d8: JUMPDEST 000012d9: PUSH1 0x24 000012db: DUP15 000012dc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000012fd: DUP2 000012fe: MSTORE 000012ff: PUSH1 0x11 00001301: PUSH1 0x04 00001303: MSTORE 00001304: REVERT 00001305: JUMPDEST 00001306: PUSH1 0x04 00001308: DUP15 00001309: PUSH32 0x098fb56100000000000000000000000000000000000000000000000000000000 0000132a: DUP2 0000132b: MSTORE 0000132c: REVERT 0000132d: JUMPDEST 0000132e: POP 0000132f: DUP9 00001330: ISZERO 00001331: ISZERO 00001332: PUSH2 0x1023 00001335: JUMP 00001336: JUMPDEST 00001337: POP 00001338: DUP13 00001339: SWAP8 0000133a: PUSH2 0x1019 0000133d: JUMP 0000133e: JUMPDEST 0000133f: POP 00001340: DUP12 00001341: SWAP10 00001342: PUSH2 0x0ff4 00001345: JUMP 00001346: JUMPDEST 00001347: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000135c: DUP7 0000135d: AND 0000135e: EXTCODESIZE 0000135f: ISZERO 00001360: PUSH2 0x1404 00001363: JUMPI 00001364: PUSH1 0x40 00001366: MLOAD 00001367: PUSH32 0xfe2cbab700000000000000000000000000000000000000000000000000000000 00001388: DUP2 00001389: MSTORE 0000138a: DUP10 0000138b: PUSH1 0x04 0000138d: DUP3 0000138e: ADD 0000138f: MSTORE 00001390: CALLER 00001391: PUSH1 0x24 00001393: DUP3 00001394: ADD 00001395: MSTORE 00001396: PUSH1 0xa4 00001398: CALLDATALOAD 00001399: PUSH1 0x44 0000139b: DUP3 0000139c: ADD 0000139d: MSTORE 0000139e: PUSH1 0xc4 000013a0: CALLDATALOAD 000013a1: PUSH1 0x64 000013a3: DUP3 000013a4: ADD 000013a5: MSTORE 000013a6: PUSH1 0xa0 000013a8: PUSH1 0x84 000013aa: DUP3 000013ab: ADD 000013ac: MSTORE 000013ad: DUP11 000013ae: DUP1 000013af: DUP3 000013b0: DUP1 000013b1: PUSH2 0x13bf 000013b4: DUP13 000013b5: DUP11 000013b6: PUSH1 0xa4 000013b8: DUP5 000013b9: ADD 000013ba: SWAP2 000013bb: PUSH2 0x3b92 000013be: JUMP 000013bf: JUMPDEST 000013c0: SUB 000013c1: DUP2 000013c2: DUP4 000013c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013d8: DUP14 000013d9: AND 000013da: GAS 000013db: CALL 000013dc: DUP1 000013dd: ISZERO 000013de: PUSH2 0x1408 000013e1: JUMPI 000013e2: PUSH2 0x13ed 000013e5: JUMPI 000013e6: JUMPDEST 000013e7: POP 000013e8: POP 000013e9: PUSH2 0x0f62 000013ec: JUMP 000013ed: JUMPDEST 000013ee: PUSH2 0x13f6 000013f1: SWAP2 000013f2: PUSH2 0x3a14 000013f5: JUMP 000013f6: JUMPDEST 000013f7: DUP10 000013f8: PUSH0 000013f9: SLT 000013fa: PUSH2 0x1404 000013fd: JUMPI 000013fe: PUSH0 000013ff: DUP11 00001400: PUSH2 0x13e6 00001403: JUMP 00001404: JUMPDEST 00001405: DUP10 00001406: DUP1 00001407: REVERT 00001408: JUMPDEST 00001409: POP 0000140a: PUSH1 0x40 0000140c: MLOAD 0000140d: SWAP1 0000140e: RETURNDATASIZE 0000140f: SWAP1 00001410: DUP3 00001411: RETURNDATACOPY 00001412: RETURNDATASIZE 00001413: SWAP1 00001414: REVERT 00001415: JUMPDEST 00001416: PUSH2 0x142e 00001419: PUSH2 0x1420 0000141c: PUSH2 0x3ade 0000141f: JUMP 00001420: JUMPDEST 00001421: PUSH1 0xc4 00001423: CALLDATALOAD 00001424: SWAP1 00001425: DUP9 00001426: PUSH1 0x24 00001428: CALLDATALOAD 00001429: SWAP2 0000142a: PUSH2 0x3eca 0000142d: JUMP 0000142e: JUMPDEST 0000142f: PUSH2 0x0f5c 00001432: JUMP 00001433: JUMPDEST 00001434: PUSH2 0x144c 00001437: PUSH2 0x143e 0000143a: PUSH2 0x3abb 0000143d: JUMP 0000143e: JUMPDEST 0000143f: PUSH1 0xa4 00001441: CALLDATALOAD 00001442: SWAP1 00001443: DUP9 00001444: PUSH1 0x04 00001446: CALLDATALOAD 00001447: SWAP2 00001448: PUSH2 0x3eca 0000144b: JUMP 0000144c: JUMPDEST 0000144d: PUSH2 0x0f54 00001450: JUMP 00001451: JUMPDEST 00001452: PUSH1 0x04 00001454: DUP12 00001455: PUSH32 0xbb55fd2700000000000000000000000000000000000000000000000000000000 00001476: DUP2 00001477: MSTORE 00001478: REVERT 00001479: JUMPDEST 0000147a: PUSH1 0x40 0000147c: MLOAD 0000147d: PUSH32 0x6e5f773000000000000000000000000000000000000000000000000000000000 0000149e: DUP2 0000149f: MSTORE 000014a0: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 000014c1: PUSH0 000014c2: CALLDATALOAD 000014c3: AND 000014c4: PUSH1 0x04 000014c6: DUP3 000014c7: ADD 000014c8: MSTORE 000014c9: DUP9 000014ca: PUSH1 0x24 000014cc: DUP3 000014cd: ADD 000014ce: MSTORE 000014cf: CALLER 000014d0: PUSH1 0x44 000014d2: DUP3 000014d3: ADD 000014d4: MSTORE 000014d5: PUSH1 0x80 000014d7: PUSH1 0x64 000014d9: DUP3 000014da: ADD 000014db: MSTORE 000014dc: PUSH1 0x20 000014de: DUP2 000014df: DUP1 000014e0: PUSH2 0x14ed 000014e3: PUSH1 0x84 000014e5: DUP3 000014e6: ADD 000014e7: DUP9 000014e8: DUP13 000014e9: PUSH2 0x3b92 000014ec: JUMP 000014ed: JUMPDEST 000014ee: SUB 000014ef: DUP2 000014f0: DUP14 000014f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001506: DUP9 00001507: AND 00001508: GAS 00001509: CALL 0000150a: SWAP1 0000150b: DUP2 0000150c: ISZERO 0000150d: PUSH2 0x155e 00001510: JUMPI 00001511: DUP11 00001512: SWAP2 00001513: PUSH2 0x152c 00001516: JUMPI 00001517: JUMPDEST 00001518: POP 00001519: DUP1 0000151a: PUSH2 0x1524 0000151d: JUMPI 0000151e: JUMPDEST 0000151f: POP 00001520: PUSH2 0x0f09 00001523: JUMP 00001524: JUMPDEST 00001525: SWAP4 00001526: POP 00001527: PUSH0 00001528: PUSH2 0x151e 0000152b: JUMP 0000152c: JUMPDEST 0000152d: SWAP1 0000152e: POP 0000152f: PUSH1 0x20 00001531: DUP2 00001532: RETURNDATASIZE 00001533: PUSH1 0x20 00001535: GT 00001536: PUSH2 0x1556 00001539: JUMPI 0000153a: JUMPDEST 0000153b: DUP2 0000153c: PUSH2 0x1547 0000153f: PUSH1 0x20 00001541: SWAP4 00001542: DUP4 00001543: PUSH2 0x3a14 00001546: JUMP 00001547: JUMPDEST 00001548: DUP2 00001549: ADD 0000154a: SUB 0000154b: SLT 0000154c: PUSH2 0x0d28 0000154f: JUMPI 00001550: MLOAD 00001551: PUSH0 00001552: PUSH2 0x1517 00001555: JUMP 00001556: JUMPDEST 00001557: RETURNDATASIZE 00001558: SWAP2 00001559: POP 0000155a: PUSH2 0x153a 0000155d: JUMP 0000155e: JUMPDEST 0000155f: PUSH1 0x40 00001561: MLOAD 00001562: RETURNDATASIZE 00001563: DUP13 00001564: DUP3 00001565: RETURNDATACOPY 00001566: RETURNDATASIZE 00001567: SWAP1 00001568: REVERT 00001569: JUMPDEST 0000156a: PUSH1 0x04 0000156c: DUP6 0000156d: PUSH32 0x42301c2300000000000000000000000000000000000000000000000000000000 0000158e: DUP2 0000158f: MSTORE 00001590: REVERT 00001591: JUMPDEST 00001592: POP 00001593: PUSH1 0xc4 00001595: CALLDATALOAD 00001596: ISZERO 00001597: ISZERO 00001598: PUSH2 0x0ee4 0000159b: JUMP 0000159c: JUMPDEST 0000159d: PUSH4 0xab143c06 000015a2: DUP5 000015a3: MSTORE 000015a4: PUSH1 0x04 000015a6: PUSH1 0x1c 000015a8: REVERT 000015a9: JUMPDEST 000015aa: DUP3 000015ab: DUP1 000015ac: REVERT 000015ad: JUMPDEST 000015ae: POP 000015af: CALLVALUE 000015b0: PUSH2 0x0291 000015b3: JUMPI 000015b4: PUSH1 0x60 000015b6: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000015d7: CALLDATASIZE 000015d8: ADD 000015d9: SLT 000015da: PUSH2 0x0291 000015dd: JUMPI 000015de: PUSH2 0x15e5 000015e1: PUSH2 0x3778 000015e4: JUMP 000015e5: JUMPDEST 000015e6: SWAP1 000015e7: PUSH1 0x44 000015e9: CALLDATALOAD 000015ea: PUSH1 0x24 000015ec: CALLDATALOAD 000015ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001602: DUP3 00001603: AND 00001604: DUP3 00001605: SUB 00001606: PUSH2 0x0d28 00001609: JUMPI 0000160a: PUSH9 0x929eee149b4bd21268 00001614: TLOAD 00001615: PUSH2 0x1684 00001618: JUMPI 00001619: SWAP3 0000161a: DUP3 0000161b: SWAP2 0000161c: PUSH1 0x20 0000161e: SWAP5 0000161f: ADDRESS 00001620: PUSH9 0x929eee149b4bd21268 0000162a: TSTORE 0000162b: PUSH1 0x40 0000162d: MLOAD 0000162e: SWAP2 0000162f: CALLER 00001630: DUP6 00001631: MSTORE 00001632: DUP4 00001633: DUP8 00001634: MSTORE 00001635: DUP2 00001636: PUSH1 0x40 00001638: MSTORE 00001639: PUSH1 0x60 0000163b: DUP6 0000163c: KECCAK256 0000163d: SWAP3 0000163e: DUP4 0000163f: TLOAD 00001640: SWAP7 00001641: DUP8 00001642: SWAP5 00001643: DUP6 00001644: PUSH2 0x167c 00001647: JUMPI 00001648: JUMPDEST 00001649: POP 0000164a: POP 0000164b: PUSH1 0x40 0000164d: MSTORE 0000164e: DUP3 0000164f: PUSH2 0x166a 00001652: JUMPI 00001653: JUMPDEST 00001654: POP 00001655: POP 00001656: POP 00001657: POP 00001658: PUSH9 0x929eee149b4bd21268 00001662: TSTORE 00001663: PUSH1 0x40 00001665: MLOAD 00001666: SWAP1 00001667: DUP2 00001668: MSTORE 00001669: RETURN 0000166a: JUMPDEST 0000166b: PUSH2 0x1673 0000166e: SWAP4 0000166f: PUSH2 0x3eca 00001672: JUMP 00001673: JUMPDEST 00001674: PUSH0 00001675: DUP3 00001676: DUP2 00001677: DUP1 00001678: PUSH2 0x1653 0000167b: JUMP 0000167c: JUMPDEST 0000167d: TSTORE 0000167e: DUP6 0000167f: PUSH0 00001680: PUSH2 0x1648 00001683: JUMP 00001684: JUMPDEST 00001685: PUSH4 0xab143c06 0000168a: DUP4 0000168b: MSTORE 0000168c: PUSH1 0x04 0000168e: PUSH1 0x1c 00001690: REVERT 00001691: JUMPDEST 00001692: POP 00001693: PUSH1 0x20 00001695: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000016b6: CALLDATASIZE 000016b7: ADD 000016b8: SLT 000016b9: PUSH2 0x0291 000016bc: JUMPI 000016bd: PUSH2 0x16c4 000016c0: PUSH2 0x3778 000016c3: JUMP 000016c4: JUMPDEST 000016c5: DUP2 000016c6: SLOAD 000016c7: CALLER 000016c8: SUB 000016c9: PUSH2 0x04c0 000016cc: JUMPI 000016cd: DUP2 000016ce: SSTORE 000016cf: DUP1 000016d0: RETURN 000016d1: JUMPDEST 000016d2: POP 000016d3: CALLVALUE 000016d4: PUSH2 0x0291 000016d7: JUMPI 000016d8: PUSH1 0x20 000016da: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000016fb: CALLDATASIZE 000016fc: ADD 000016fd: SLT 000016fe: PUSH2 0x0291 00001701: JUMPI 00001702: PUSH1 0x40 00001704: PUSH1 0x80 00001706: SWAP2 00001707: PUSH1 0x04 00001709: CALLDATALOAD 0000170a: DUP2 0000170b: MSTORE 0000170c: PUSH1 0x03 0000170e: PUSH1 0x20 00001710: MSTORE 00001711: KECCAK256 00001712: SLOAD 00001713: PUSH1 0x40 00001715: MLOAD 00001716: SWAP1 00001717: PUSH1 0xff 00001719: DUP2 0000171a: AND 0000171b: ISZERO 0000171c: ISZERO 0000171d: DUP3 0000171e: MSTORE 0000171f: PUSH7 0xffffffffffffff 00001727: DUP2 00001728: PUSH1 0x08 0000172a: SHR 0000172b: AND 0000172c: PUSH1 0x20 0000172e: DUP4 0000172f: ADD 00001730: MSTORE 00001731: PUSH12 0xffffffffffffffffffffffff 0000173e: DUP2 0000173f: PUSH1 0x40 00001741: SHR 00001742: AND 00001743: PUSH1 0x40 00001745: DUP4 00001746: ADD 00001747: MSTORE 00001748: PUSH1 0xa0 0000174a: SHR 0000174b: PUSH1 0x60 0000174d: DUP3 0000174e: ADD 0000174f: MSTORE 00001750: RETURN 00001751: JUMPDEST 00001752: POP 00001753: CALLVALUE 00001754: PUSH2 0x0291 00001757: JUMPI 00001758: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001779: CALLDATASIZE 0000177a: ADD 0000177b: PUSH2 0x0140 0000177e: DUP2 0000177f: SLT 00001780: PUSH2 0x0d2c 00001783: JUMPI 00001784: PUSH1 0xa0 00001786: SGT 00001787: PUSH2 0x0291 0000178a: JUMPI 0000178b: PUSH1 0xa4 0000178d: CALLDATALOAD 0000178e: SWAP1 0000178f: PUSH2 0x0104 00001792: CALLDATALOAD 00001793: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017a8: DUP2 000017a9: AND 000017aa: SWAP2 000017ab: DUP3 000017ac: DUP3 000017ad: SUB 000017ae: PUSH2 0x0d28 000017b1: JUMPI 000017b2: PUSH9 0x929eee149b4bd21268 000017bc: TLOAD 000017bd: PUSH2 0x1aab 000017c0: JUMPI 000017c1: ADDRESS 000017c2: PUSH9 0x929eee149b4bd21268 000017cc: TSTORE 000017cd: TIMESTAMP 000017ce: PUSH2 0x0124 000017d1: CALLDATALOAD 000017d2: LT 000017d3: PUSH2 0x1a83 000017d6: JUMPI 000017d7: PUSH1 0xa0 000017d9: PUSH1 0x40 000017db: MLOAD 000017dc: DUP2 000017dd: PUSH1 0x04 000017df: DUP3 000017e0: CALLDATACOPY 000017e1: KECCAK256 000017e2: SWAP3 000017e3: PUSH2 0x17ed 000017e6: PUSH1 0x84 000017e8: CALLDATALOAD 000017e9: PUSH2 0x3d67 000017ec: JUMP 000017ed: JUMPDEST 000017ee: SWAP7 000017ef: SWAP3 000017f0: POP 000017f1: SWAP7 000017f2: SWAP1 000017f3: SWAP7 000017f4: PUSH2 0x19bf 000017f7: JUMPI 000017f8: JUMPDEST 000017f9: DUP2 000017fa: DUP5 000017fb: MSTORE 000017fc: DUP4 000017fd: PUSH1 0x20 000017ff: MSTORE 00001800: PUSH1 0x40 00001802: DUP5 00001803: KECCAK256 00001804: SWAP7 00001805: DUP8 00001806: SLOAD 00001807: SWAP7 00001808: PUSH14 0xffffffffffffffffffffffffffff 00001817: DUP1 00001818: DUP10 00001819: AND 0000181a: SWAP9 0000181b: PUSH1 0x70 0000181d: SHR 0000181e: AND 0000181f: SWAP9 00001820: DUP9 00001821: PUSH2 0x182d 00001824: DUP12 00001825: DUP1 00001826: SWAP12 00001827: DUP9 00001828: DUP6 00001829: PUSH2 0x45cf 0000182c: JUMP 0000182d: JUMPDEST 0000182e: SWAP1 0000182f: PUSH1 0x04 00001831: DUP4 00001832: ADD 00001833: SWAP10 00001834: PUSH2 0x184a 00001837: DUP12 00001838: SLOAD 00001839: PUSH2 0x1843 0000183c: DUP2 0000183d: DUP6 0000183e: DUP12 0000183f: PUSH2 0x4434 00001842: JUMP 00001843: JUMPDEST 00001844: SWAP14 00001845: DUP10 00001846: PUSH2 0x4434 00001849: JUMP 0000184a: JUMPDEST 0000184b: SWAP11 0000184c: PUSH1 0xc4 0000184e: CALLDATALOAD 0000184f: DUP14 00001850: LT 00001851: PUSH2 0x1997 00001854: JUMPI 00001855: PUSH1 0xe4 00001857: CALLDATALOAD 00001858: DUP13 00001859: LT 0000185a: PUSH2 0x1997 0000185d: JUMPI 0000185e: SWAP2 0000185f: PUSH2 0x18a5 00001862: DUP13 00001863: PUSH1 0x40 00001865: SWAP16 00001866: SWAP4 00001867: DUP16 00001868: PUSH2 0x1893 0000186b: SWAP1 0000186c: PUSH2 0x18b2 0000186f: SWAP8 00001870: PUSH2 0x187b 00001873: DUP16 00001874: DUP16 00001875: SWAP1 00001876: CALLER 00001877: PUSH2 0x472e 0000187a: JUMP 0000187b: JUMPDEST 0000187c: DUP14 0000187d: DUP2 0000187e: SLOAD 0000187f: SUB 00001880: SWAP1 00001881: SSTORE 00001882: PUSH2 0x1889 00001885: PUSH2 0x3abb 00001888: JUMP 00001889: JUMPDEST 0000188a: DUP4 0000188b: PUSH1 0x04 0000188d: CALLDATALOAD 0000188e: SWAP2 0000188f: PUSH2 0x3eca 00001892: JUMP 00001893: JUMPDEST 00001894: PUSH2 0x189b 00001897: PUSH2 0x3ade 0000189a: JUMP 0000189b: JUMPDEST 0000189c: SWAP1 0000189d: PUSH1 0x24 0000189f: CALLDATALOAD 000018a0: SWAP2 000018a1: PUSH2 0x3eca 000018a4: JUMP 000018a5: JUMPDEST 000018a6: DUP12 000018a7: DUP3 000018a8: SUB 000018a9: DUP14 000018aa: DUP3 000018ab: SUB 000018ac: DUP11 000018ad: DUP8 000018ae: PUSH2 0x3ffd 000018b1: JUMP 000018b2: JUMPDEST 000018b3: PUSH2 0x196b 000018b6: JUMPI 000018b7: JUMPDEST 000018b8: POP 000018b9: PUSH2 0x1907 000018bc: JUMPI 000018bd: JUMPDEST 000018be: POP 000018bf: POP 000018c0: DUP6 000018c1: MLOAD 000018c2: SWAP1 000018c3: DUP6 000018c4: DUP3 000018c5: MSTORE 000018c6: DUP5 000018c7: PUSH1 0x20 000018c9: DUP4 000018ca: ADD 000018cb: MSTORE 000018cc: PUSH32 0xd72b7803f66104fa4755cf48b28b9408682e97a0b000dd97c8ee3219aa8454ec 000018ed: DUP8 000018ee: CALLER 000018ef: SWAP4 000018f0: LOG4 000018f1: PUSH9 0x929eee149b4bd21268 000018fb: TSTORE 000018fc: DUP3 000018fd: MLOAD 000018fe: SWAP2 000018ff: DUP3 00001900: MSTORE 00001901: PUSH1 0x20 00001903: DUP3 00001904: ADD 00001905: MSTORE 00001906: RETURN 00001907: JUMPDEST 00001908: PUSH2 0x1964 0000190b: SWAP2 0000190c: PUSH2 0x1914 0000190f: DUP9 00001910: PUSH2 0x3b3c 00001913: JUMP 00001914: JUMPDEST 00001915: SWAP1 00001916: PUSH2 0x1927 00001919: PUSH2 0x1921 0000191c: DUP10 0000191d: PUSH2 0x3b3c 00001920: JUMP 00001921: JUMPDEST 00001922: SWAP2 00001923: PUSH2 0x3b3c 00001926: JUMP 00001927: JUMPDEST 00001928: SWAP1 00001929: DUP11 0000192a: MLOAD 0000192b: SWAP3 0000192c: PUSH2 0x1936 0000192f: PUSH1 0x20 00001931: DUP6 00001932: PUSH2 0x3a14 00001935: JUMP 00001936: JUMPDEST 00001937: DUP9 00001938: DUP5 00001939: MSTORE 0000193a: CALLER 0000193b: DUP8 0000193c: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000195d: PUSH0 0000195e: CALLDATALOAD 0000195f: AND 00001960: PUSH2 0x42cd 00001963: JUMP 00001964: JUMPDEST 00001965: PUSH0 00001966: DUP1 00001967: PUSH2 0x18bd 0000196a: JUMP 0000196b: JUMPDEST 0000196c: PUSH1 0x03 0000196e: PUSH2 0x198e 00001971: DUP3 00001972: SLOAD 00001973: PUSH14 0xffffffffffffffffffffffffffff 00001982: DUP1 00001983: DUP3 00001984: PUSH1 0x70 00001986: SHR 00001987: AND 00001988: SWAP2 00001989: AND 0000198a: PUSH2 0x3c3a 0000198d: JUMP 0000198e: JUMPDEST 0000198f: SWAP2 00001990: ADD 00001991: SSTORE 00001992: PUSH0 00001993: PUSH2 0x18b7 00001996: JUMP 00001997: JUMPDEST 00001998: PUSH1 0x04 0000199a: DUP12 0000199b: PUSH32 0x42301c2300000000000000000000000000000000000000000000000000000000 000019bc: DUP2 000019bd: MSTORE 000019be: REVERT 000019bf: JUMPDEST 000019c0: PUSH1 0x40 000019c2: MLOAD 000019c3: PUSH32 0x6e5f773000000000000000000000000000000000000000000000000000000000 000019e4: DUP2 000019e5: MSTORE 000019e6: PUSH0 000019e7: DUP1 000019e8: CALLDATALOAD 000019e9: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00001a0a: AND 00001a0b: PUSH1 0x04 00001a0d: DUP4 00001a0e: ADD 00001a0f: MSTORE 00001a10: PUSH1 0x24 00001a12: DUP3 00001a13: ADD 00001a14: DUP5 00001a15: SWAP1 00001a16: MSTORE 00001a17: CALLER 00001a18: PUSH1 0x44 00001a1a: DUP4 00001a1b: ADD 00001a1c: MSTORE 00001a1d: PUSH1 0x80 00001a1f: PUSH1 0x64 00001a21: DUP4 00001a22: ADD 00001a23: MSTORE 00001a24: PUSH1 0x84 00001a26: DUP3 00001a27: ADD 00001a28: MSTORE 00001a29: PUSH1 0x20 00001a2b: DUP2 00001a2c: PUSH1 0xa4 00001a2e: DUP2 00001a2f: DUP9 00001a30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a45: DUP14 00001a46: AND 00001a47: GAS 00001a48: CALL 00001a49: DUP1 00001a4a: ISZERO 00001a4b: PUSH2 0x1a78 00001a4e: JUMPI 00001a4f: PUSH2 0x1a59 00001a52: JUMPI 00001a53: JUMPDEST 00001a54: POP 00001a55: PUSH2 0x17f8 00001a58: JUMP 00001a59: JUMPDEST 00001a5a: PUSH2 0x1a71 00001a5d: SWAP1 00001a5e: PUSH1 0x20 00001a60: RETURNDATASIZE 00001a61: PUSH1 0x20 00001a63: GT 00001a64: PUSH2 0x0ce1 00001a67: JUMPI 00001a68: PUSH2 0x0cd2 00001a6b: DUP2 00001a6c: DUP4 00001a6d: PUSH2 0x3a14 00001a70: JUMP 00001a71: JUMPDEST 00001a72: POP 00001a73: PUSH0 00001a74: PUSH2 0x1a53 00001a77: JUMP 00001a78: JUMPDEST 00001a79: PUSH1 0x40 00001a7b: MLOAD 00001a7c: RETURNDATASIZE 00001a7d: DUP8 00001a7e: DUP3 00001a7f: RETURNDATACOPY 00001a80: RETURNDATASIZE 00001a81: SWAP1 00001a82: REVERT 00001a83: JUMPDEST 00001a84: DUP1 00001a85: PUSH32 0x203d82d800000000000000000000000000000000000000000000000000000000 00001aa6: PUSH1 0x04 00001aa8: SWAP3 00001aa9: MSTORE 00001aaa: REVERT 00001aab: JUMPDEST 00001aac: PUSH4 0xab143c06 00001ab1: SWAP1 00001ab2: MSTORE 00001ab3: PUSH1 0x04 00001ab5: PUSH1 0x1c 00001ab7: REVERT 00001ab8: JUMPDEST 00001ab9: POP 00001aba: CALLVALUE 00001abb: PUSH2 0x0291 00001abe: JUMPI 00001abf: PUSH2 0x1ac7 00001ac2: CALLDATASIZE 00001ac3: PUSH2 0x397e 00001ac6: JUMP 00001ac7: JUMPDEST 00001ac8: SWAP5 00001ac9: SWAP4 00001aca: PUSH9 0x929eee149b4bd21268 00001ad4: SWAP4 00001ad5: SWAP2 00001ad6: SWAP4 00001ad7: TLOAD 00001ad8: PUSH2 0x1bc8 00001adb: JUMPI 00001adc: ADDRESS 00001add: PUSH9 0x929eee149b4bd21268 00001ae7: TSTORE 00001ae8: PUSH1 0x40 00001aea: DUP1 00001aeb: MLOAD 00001aec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b01: DUP1 00001b02: DUP5 00001b03: AND 00001b04: PUSH1 0x20 00001b06: DUP4 00001b07: ADD 00001b08: SWAP1 00001b09: DUP2 00001b0a: MSTORE 00001b0b: SWAP1 00001b0c: DUP6 00001b0d: AND 00001b0e: SWAP3 00001b0f: DUP3 00001b10: ADD 00001b11: SWAP3 00001b12: SWAP1 00001b13: SWAP3 00001b14: MSTORE 00001b15: PUSH1 0x60 00001b17: DUP2 00001b18: ADD 00001b19: DUP6 00001b1a: SWAP1 00001b1b: MSTORE 00001b1c: PUSH1 0x80 00001b1e: DUP2 00001b1f: ADD 00001b20: DUP7 00001b21: SWAP1 00001b22: MSTORE 00001b23: PUSH1 0xa0 00001b25: DUP2 00001b26: ADD 00001b27: DUP9 00001b28: SWAP1 00001b29: MSTORE 00001b2a: PUSH2 0x1b36 00001b2d: DUP2 00001b2e: PUSH1 0xc0 00001b30: DUP2 00001b31: ADD 00001b32: PUSH2 0x0342 00001b35: JUMP 00001b36: JUMPDEST 00001b37: MLOAD 00001b38: SWAP1 00001b39: KECCAK256 00001b3a: SWAP6 00001b3b: DUP7 00001b3c: DUP7 00001b3d: MSTORE 00001b3e: PUSH1 0x02 00001b40: PUSH1 0x20 00001b42: MSTORE 00001b43: PUSH1 0x40 00001b45: DUP7 00001b46: KECCAK256 00001b47: SLOAD 00001b48: ISZERO 00001b49: PUSH2 0x1ba0 00001b4c: JUMPI 00001b4d: TIMESTAMP 00001b4e: LT 00001b4f: PUSH2 0x1b78 00001b52: JUMPI 00001b53: DUP5 00001b54: SWAP6 00001b55: PUSH2 0x1b69 00001b58: SWAP6 00001b59: MSTORE 00001b5a: PUSH1 0x02 00001b5c: PUSH1 0x20 00001b5e: MSTORE 00001b5f: DUP6 00001b60: PUSH1 0x40 00001b62: DUP2 00001b63: KECCAK256 00001b64: SSTORE 00001b65: PUSH2 0x3eca 00001b68: JUMP 00001b69: JUMPDEST 00001b6a: DUP1 00001b6b: PUSH9 0x929eee149b4bd21268 00001b75: TSTORE 00001b76: DUP1 00001b77: RETURN 00001b78: JUMPDEST 00001b79: PUSH1 0x04 00001b7b: DUP6 00001b7c: PUSH32 0x6df2039000000000000000000000000000000000000000000000000000000000 00001b9d: DUP2 00001b9e: MSTORE 00001b9f: REVERT 00001ba0: JUMPDEST 00001ba1: PUSH1 0x04 00001ba3: DUP7 00001ba4: PUSH32 0x82b4290000000000000000000000000000000000000000000000000000000000 00001bc5: DUP2 00001bc6: MSTORE 00001bc7: REVERT 00001bc8: JUMPDEST 00001bc9: PUSH4 0xab143c06 00001bce: DUP6 00001bcf: MSTORE 00001bd0: PUSH1 0x04 00001bd2: PUSH1 0x1c 00001bd4: REVERT 00001bd5: JUMPDEST 00001bd6: POP 00001bd7: CALLVALUE 00001bd8: PUSH2 0x0291 00001bdb: JUMPI 00001bdc: PUSH1 0x60 00001bde: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001bff: CALLDATASIZE 00001c00: ADD 00001c01: SLT 00001c02: PUSH2 0x0291 00001c05: JUMPI 00001c06: PUSH1 0x20 00001c08: PUSH2 0x1c23 00001c0b: PUSH2 0x1c12 00001c0e: PUSH2 0x3778 00001c11: JUMP 00001c12: JUMPDEST 00001c13: PUSH2 0x1c1a 00001c16: PUSH2 0x379b 00001c19: JUMP 00001c1a: JUMPDEST 00001c1b: PUSH1 0x44 00001c1d: CALLDATALOAD 00001c1e: SWAP2 00001c1f: PUSH2 0x3bd0 00001c22: JUMP 00001c23: JUMPDEST 00001c24: PUSH1 0x40 00001c26: MLOAD 00001c27: SWAP1 00001c28: DUP2 00001c29: MSTORE 00001c2a: RETURN 00001c2b: JUMPDEST 00001c2c: POP 00001c2d: CALLVALUE 00001c2e: PUSH2 0x0291 00001c31: JUMPI 00001c32: PUSH1 0x40 00001c34: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001c55: CALLDATASIZE 00001c56: ADD 00001c57: SLT 00001c58: PUSH2 0x0291 00001c5b: JUMPI 00001c5c: PUSH2 0x1c63 00001c5f: PUSH2 0x3778 00001c62: JUMP 00001c63: JUMPDEST 00001c64: SWAP1 00001c65: PUSH1 0x24 00001c67: CALLDATALOAD 00001c68: DUP1 00001c69: ISZERO 00001c6a: ISZERO 00001c6b: DUP1 00001c6c: SWAP2 00001c6d: SUB 00001c6e: PUSH2 0x0d28 00001c71: JUMPI 00001c72: PUSH1 0x20 00001c74: SWAP3 00001c75: PUSH8 0xedcaa89a82293940 00001c7e: DUP5 00001c7f: MSTORE 00001c80: CALLER 00001c81: PUSH1 0x14 00001c83: MSTORE 00001c84: DUP3 00001c85: MSTORE 00001c86: DUP1 00001c87: PUSH1 0x34 00001c89: PUSH1 0x0c 00001c8b: KECCAK256 00001c8c: SSTORE 00001c8d: DUP3 00001c8e: MSTORE 00001c8f: PUSH1 0x0c 00001c91: MLOAD 00001c92: PUSH1 0x60 00001c94: SHR 00001c95: CALLER 00001c96: PUSH32 0xceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa267 00001cb7: DUP5 00001cb8: DUP1 00001cb9: LOG3 00001cba: PUSH1 0x01 00001cbc: DUP2 00001cbd: MSTORE 00001cbe: RETURN 00001cbf: JUMPDEST 00001cc0: POP 00001cc1: CALLVALUE 00001cc2: PUSH2 0x0291 00001cc5: JUMPI 00001cc6: PUSH1 0x60 00001cc8: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001ce9: CALLDATASIZE 00001cea: ADD 00001ceb: SLT 00001cec: PUSH2 0x0291 00001cef: JUMPI 00001cf0: PUSH2 0x1cf7 00001cf3: PUSH2 0x3778 00001cf6: JUMP 00001cf7: JUMPDEST 00001cf8: SWAP1 00001cf9: PUSH1 0x44 00001cfb: CALLDATALOAD 00001cfc: SWAP1 00001cfd: PUSH8 0xffffffffffffffff 00001d06: DUP3 00001d07: GT 00001d08: PUSH2 0x0291 00001d0b: JUMPI 00001d0c: PUSH1 0x20 00001d0e: PUSH2 0x1d55 00001d11: DUP5 00001d12: PUSH32 0x6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b 00001d33: PUSH2 0x1d3f 00001d36: CALLDATASIZE 00001d37: PUSH1 0x04 00001d39: DUP9 00001d3a: ADD 00001d3b: PUSH2 0x3950 00001d3e: JUMP 00001d3f: JUMPDEST 00001d40: PUSH1 0x01 00001d42: DUP1 00001d43: SLOAD 00001d44: ADD 00001d45: SWAP5 00001d46: DUP6 00001d47: SWAP5 00001d48: DUP6 00001d49: PUSH1 0x01 00001d4b: SSTORE 00001d4c: DUP6 00001d4d: PUSH1 0x24 00001d4f: CALLDATALOAD 00001d50: SWAP2 00001d51: PUSH2 0x4570 00001d54: JUMP 00001d55: JUMPDEST 00001d56: PUSH2 0x1d6a 00001d59: PUSH1 0x40 00001d5b: MLOAD 00001d5c: SWAP3 00001d5d: DUP4 00001d5e: SWAP3 00001d5f: DUP9 00001d60: DUP5 00001d61: MSTORE 00001d62: DUP9 00001d63: DUP5 00001d64: ADD 00001d65: SWAP2 00001d66: PUSH2 0x3b92 00001d69: JUMP 00001d6a: JUMPDEST 00001d6b: SUB 00001d6c: SWAP1 00001d6d: LOG2 00001d6e: PUSH1 0x40 00001d70: MLOAD 00001d71: SWAP1 00001d72: DUP2 00001d73: MSTORE 00001d74: RETURN 00001d75: JUMPDEST 00001d76: POP 00001d77: PUSH2 0x0140 00001d7a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 00001d9b: CALLDATASIZE 00001d9c: ADD 00001d9d: SLT 00001d9e: PUSH2 0x0291 00001da1: JUMPI 00001da2: PUSH2 0x1da9 00001da5: PUSH2 0x3778 00001da8: JUMP 00001da9: JUMPDEST 00001daa: SWAP1 00001dab: PUSH2 0x1db2 00001dae: PUSH2 0x379b 00001db1: JUMP 00001db2: JUMPDEST 00001db3: SWAP2 00001db4: PUSH1 0x64 00001db6: CALLDATALOAD 00001db7: SWAP1 00001db8: PUSH12 0xffffffffffffffffffffffff 00001dc5: DUP3 00001dc6: AND 00001dc7: DUP3 00001dc8: SUB 00001dc9: PUSH2 0x0d28 00001dcc: JUMPI 00001dcd: PUSH1 0x84 00001dcf: CALLDATALOAD 00001dd0: SWAP4 00001dd1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001de6: DUP6 00001de7: AND 00001de8: SWAP2 00001de9: DUP3 00001dea: DUP7 00001deb: SUB 00001dec: PUSH2 0x0d28 00001def: JUMPI 00001df0: PUSH1 0xc4 00001df2: CALLDATALOAD 00001df3: SWAP2 00001df4: PUSH12 0xffffffffffffffffffffffff 00001e01: DUP4 00001e02: AND 00001e03: DUP4 00001e04: SUB 00001e05: PUSH2 0x0d28 00001e08: JUMPI 00001e09: PUSH1 0xe4 00001e0b: CALLDATALOAD 00001e0c: SWAP7 00001e0d: PUSH7 0xffffffffffffff 00001e15: DUP9 00001e16: AND 00001e17: DUP9 00001e18: SUB 00001e19: PUSH2 0x0d28 00001e1c: JUMPI 00001e1d: PUSH2 0x0104 00001e20: CALLDATALOAD 00001e21: SWAP8 00001e22: DUP9 00001e23: ISZERO 00001e24: DUP1 00001e25: ISZERO 00001e26: DUP11 00001e27: SUB 00001e28: PUSH2 0x0d28 00001e2b: JUMPI 00001e2c: PUSH2 0x0124 00001e2f: CALLDATALOAD 00001e30: SWAP7 00001e31: PUSH12 0xffffffffffffffffffffffff 00001e3e: DUP9 00001e3f: AND 00001e40: DUP9 00001e41: SUB 00001e42: PUSH2 0x0d28 00001e45: JUMPI 00001e46: PUSH9 0x929eee149b4bd21268 00001e50: TLOAD 00001e51: PUSH2 0x243e 00001e54: JUMPI 00001e55: ADDRESS 00001e56: PUSH9 0x929eee149b4bd21268 00001e60: TSTORE 00001e61: PUSH2 0x2410 00001e64: JUMPI 00001e65: JUMPDEST 00001e66: PUSH2 0x23a8 00001e69: JUMPI 00001e6a: JUMPDEST 00001e6b: PUSH1 0x40 00001e6d: DUP1 00001e6e: MLOAD 00001e6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e84: DUP1 00001e85: DUP8 00001e86: AND 00001e87: PUSH1 0x20 00001e89: DUP4 00001e8a: ADD 00001e8b: SWAP1 00001e8c: DUP2 00001e8d: MSTORE 00001e8e: DUP2 00001e8f: DUP8 00001e90: AND 00001e91: SWAP4 00001e92: DUP4 00001e93: ADD 00001e94: SWAP4 00001e95: SWAP1 00001e96: SWAP4 00001e97: MSTORE 00001e98: PUSH1 0x44 00001e9a: CALLDATALOAD 00001e9b: PUSH1 0x60 00001e9d: DUP4 00001e9e: ADD 00001e9f: MSTORE 00001ea0: PUSH12 0xffffffffffffffffffffffff 00001ead: DUP1 00001eae: DUP12 00001eaf: AND 00001eb0: PUSH1 0x80 00001eb2: DUP5 00001eb3: ADD 00001eb4: MSTORE 00001eb5: SWAP1 00001eb6: DUP6 00001eb7: AND 00001eb8: PUSH1 0xa0 00001eba: DUP4 00001ebb: ADD 00001ebc: MSTORE 00001ebd: PUSH1 0xa4 00001ebf: CALLDATALOAD 00001ec0: PUSH1 0xc0 00001ec2: DUP4 00001ec3: ADD 00001ec4: MSTORE 00001ec5: DUP8 00001ec6: AND 00001ec7: PUSH1 0xe0 00001ec9: DUP3 00001eca: ADD 00001ecb: MSTORE 00001ecc: PUSH7 0xffffffffffffff 00001ed4: SWAP1 00001ed5: SWAP3 00001ed6: AND 00001ed7: PUSH2 0x0100 00001eda: DUP4 00001edb: ADD 00001edc: MSTORE 00001edd: DUP10 00001ede: ISZERO 00001edf: ISZERO 00001ee0: PUSH2 0x0120 00001ee3: DUP4 00001ee4: ADD 00001ee5: MSTORE 00001ee6: SWAP1 00001ee7: PUSH2 0x1ef4 00001eea: DUP2 00001eeb: PUSH2 0x0140 00001eee: DUP2 00001eef: ADD 00001ef0: PUSH2 0x0342 00001ef3: JUMP 00001ef4: JUMPDEST 00001ef5: MLOAD 00001ef6: SWAP1 00001ef7: KECCAK256 00001ef8: SWAP6 00001ef9: DUP7 00001efa: DUP9 00001efb: MSTORE 00001efc: PUSH1 0x03 00001efe: PUSH1 0x20 00001f00: MSTORE 00001f01: PUSH1 0x40 00001f03: DUP9 00001f04: KECCAK256 00001f05: SLOAD 00001f06: SWAP6 00001f07: PUSH7 0xffffffffffffff 00001f0f: DUP8 00001f10: PUSH1 0x08 00001f12: SHR 00001f13: AND 00001f14: ISZERO 00001f15: PUSH2 0x2380 00001f18: JUMPI 00001f19: PUSH7 0xffffffffffffff 00001f21: DUP8 00001f22: PUSH1 0x08 00001f24: SHR 00001f25: AND 00001f26: TIMESTAMP 00001f27: GT 00001f28: PUSH2 0x2358 00001f2b: JUMPI 00001f2c: DUP10 00001f2d: ISZERO 00001f2e: PUSH2 0x2351 00001f31: JUMPI 00001f32: PUSH12 0xffffffffffffffffffffffff 00001f3f: DUP2 00001f40: AND 00001f41: PUSH2 0x234b 00001f44: JUMPI 00001f45: PUSH2 0x1f51 00001f48: DUP8 00001f49: PUSH1 0xa0 00001f4b: SHR 00001f4c: DUP8 00001f4d: PUSH2 0x3a55 00001f50: JUMP 00001f51: JUMPDEST 00001f52: SWAP10 00001f53: JUMPDEST 00001f54: PUSH12 0xffffffffffffffffffffffff 00001f61: DUP12 00001f62: AND 00001f63: ISZERO 00001f64: ISZERO 00001f65: DUP1 00001f66: PUSH2 0x2319 00001f69: JUMPI 00001f6a: JUMPDEST 00001f6b: ISZERO 00001f6c: PUSH2 0x22f1 00001f6f: JUMPI 00001f70: ISZERO 00001f71: PUSH2 0x22ea 00001f74: JUMPI 00001f75: PUSH12 0xffffffffffffffffffffffff 00001f82: AND 00001f83: PUSH2 0x22c4 00001f86: JUMPI 00001f87: PUSH2 0x1fa2 00001f8a: SWAP1 00001f8b: PUSH12 0xffffffffffffffffffffffff 00001f98: DUP8 00001f99: PUSH1 0x40 00001f9b: SHR 00001f9c: AND 00001f9d: SWAP1 00001f9e: PUSH2 0x3a55 00001fa1: JUMP 00001fa2: JUMPDEST 00001fa3: SWAP1 00001fa4: JUMPDEST 00001fa5: PUSH12 0xffffffffffffffffffffffff 00001fb2: DUP3 00001fb3: AND 00001fb4: SWAP6 00001fb5: DUP7 00001fb6: ISZERO 00001fb7: PUSH2 0x229c 00001fba: JUMPI 00001fbb: DUP10 00001fbc: DUP10 00001fbd: DUP3 00001fbe: DUP11 00001fbf: SWAP12 00001fc0: SWAP13 00001fc1: DUP9 00001fc2: SWAP5 00001fc3: PUSH1 0xa0 00001fc5: SHR 00001fc6: SWAP1 00001fc7: PUSH2 0x1fcf 00001fca: SWAP2 00001fcb: PUSH2 0x3b68 00001fce: JUMP 00001fcf: JUMPDEST 00001fd0: PUSH2 0x1feb 00001fd3: DUP8 00001fd4: PUSH12 0xffffffffffffffffffffffff 00001fe1: PUSH1 0x40 00001fe3: DUP6 00001fe4: SWAP1 00001fe5: SHR 00001fe6: AND 00001fe7: PUSH2 0x3b68 00001fea: JUMP 00001feb: JUMPDEST 00001fec: PUSH1 0x40 00001fee: MLOAD 00001fef: SWAP4 00001ff0: PUSH2 0x1ff8 00001ff3: DUP6 00001ff4: PUSH2 0x39f8 00001ff7: JUMP 00001ff8: JUMPDEST 00001ff9: PUSH1 0xff 00001ffb: DUP5 00001ffc: AND 00001ffd: ISZERO 00001ffe: ISZERO 00001fff: DUP6 00002000: MSTORE 00002001: PUSH1 0x20 00002003: DUP6 00002004: ADD 00002005: SWAP4 00002006: PUSH1 0x08 00002008: SHR 00002009: PUSH7 0xffffffffffffff 00002011: AND 00002012: DUP5 00002013: MSTORE 00002014: PUSH1 0x40 00002016: DUP6 00002017: ADD 00002018: SWAP2 00002019: PUSH12 0xffffffffffffffffffffffff 00002026: AND 00002027: DUP3 00002028: MSTORE 00002029: PUSH1 0x60 0000202b: DUP6 0000202c: ADD 0000202d: SWAP3 0000202e: PUSH12 0xffffffffffffffffffffffff 0000203b: AND 0000203c: SWAP14 0000203d: DUP15 0000203e: DUP5 0000203f: MSTORE 00002040: DUP2 00002041: MSTORE 00002042: PUSH1 0x03 00002044: PUSH1 0x20 00002046: MSTORE 00002047: PUSH1 0x40 00002049: SWAP1 0000204a: KECCAK256 0000204b: SWAP4 0000204c: MLOAD 0000204d: ISZERO 0000204e: ISZERO 0000204f: SWAP3 00002050: DUP5 00002051: SLOAD 00002052: SWAP1 00002053: MLOAD 00002054: PUSH1 0x08 00002056: SHL 00002057: PUSH8 0xffffffffffffff00 00002060: AND 00002061: SWAP2 00002062: MLOAD 00002063: PUSH1 0x40 00002065: SHL 00002066: PUSH20 0xffffffffffffffffffffffff0000000000000000 0000207b: AND 0000207c: SWAP3 0000207d: MLOAD 0000207e: PUSH1 0xa0 00002080: SHL 00002081: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000020a2: AND 000020a3: SWAP4 000020a4: PUSH1 0xff 000020a6: AND 000020a7: SWAP1 000020a8: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000020c9: AND 000020ca: OR 000020cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020e0: AND 000020e1: OR 000020e2: OR 000020e3: OR 000020e4: SWAP1 000020e5: SSTORE 000020e6: PUSH1 0xa4 000020e8: CALLDATALOAD 000020e9: PUSH2 0x20f1 000020ec: SWAP4 000020ed: PUSH2 0x4457 000020f0: JUMP 000020f1: JUMPDEST 000020f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002107: DUP3 00002108: AND 00002109: ADDRESS 0000210a: DUP2 0000210b: SUB 0000210c: PUSH2 0x2188 0000210f: JUMPI 00002110: POP 00002111: POP 00002112: POP 00002113: DUP3 00002114: PUSH2 0x2131 00002117: PUSH12 0xffffffffffffffffffffffff 00002124: SWAP5 00002125: PUSH2 0x213a 00002128: SWAP4 00002129: PUSH1 0x44 0000212b: CALLDATALOAD 0000212c: SWAP1 0000212d: PUSH2 0x472e 00002130: JUMP 00002131: JUMPDEST 00002132: PUSH1 0x44 00002134: CALLDATALOAD 00002135: CALLER 00002136: PUSH2 0x47c8 00002139: JUMP 0000213a: JUMPDEST 0000213b: AND 0000213c: EQ 0000213d: PUSH2 0x2175 00002140: JUMPI 00002141: JUMPDEST 00002142: CALLER 00002143: PUSH32 0xb9bc607e0e2118f141379d1e3c8ffcb670231b2fad00c82a9b48456501bd40fd 00002164: DUP4 00002165: DUP1 00002166: LOG3 00002167: DUP1 00002168: PUSH9 0x929eee149b4bd21268 00002172: TSTORE 00002173: DUP1 00002174: RETURN 00002175: JUMPDEST 00002176: DUP1 00002177: DUP3 00002178: MSTORE 00002179: PUSH1 0x03 0000217b: PUSH1 0x20 0000217d: MSTORE 0000217e: DUP2 0000217f: PUSH1 0x40 00002181: DUP2 00002182: KECCAK256 00002183: SSTORE 00002184: PUSH2 0x2141 00002187: JUMP 00002188: JUMPDEST 00002189: SWAP2 0000218a: SWAP3 0000218b: SWAP2 0000218c: DUP1 0000218d: PUSH2 0x21b0 00002190: JUMPI 00002191: POP 00002192: POP 00002193: POP 00002194: POP 00002195: PUSH2 0x21ab 00002198: PUSH12 0xffffffffffffffffffffffff 000021a5: SWAP3 000021a6: CALLER 000021a7: PUSH2 0x3c65 000021aa: JUMP 000021ab: JUMPDEST 000021ac: PUSH2 0x213a 000021af: JUMP 000021b0: JUMPDEST 000021b1: PUSH1 0x44 000021b3: CALLDATALOAD 000021b4: PUSH2 0x21d3 000021b7: JUMPI 000021b8: POP 000021b9: POP 000021ba: SWAP3 000021bb: PUSH2 0x21ab 000021be: SWAP2 000021bf: PUSH12 0xffffffffffffffffffffffff 000021cc: SWAP5 000021cd: CALLER 000021ce: SWAP2 000021cf: PUSH2 0x4835 000021d2: JUMP 000021d3: JUMPDEST 000021d4: PUSH1 0x40 000021d6: MLOAD 000021d7: PUSH32 0xfe99049a00000000000000000000000000000000000000000000000000000000 000021f8: DUP2 000021f9: MSTORE 000021fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000220f: SWAP1 00002210: SWAP4 00002211: AND 00002212: PUSH1 0x04 00002214: DUP5 00002215: ADD 00002216: MSTORE 00002217: CALLER 00002218: PUSH1 0x24 0000221a: DUP5 0000221b: ADD 0000221c: MSTORE 0000221d: PUSH1 0x44 0000221f: DUP1 00002220: CALLDATALOAD 00002221: SWAP1 00002222: DUP5 00002223: ADD 00002224: MSTORE 00002225: PUSH12 0xffffffffffffffffffffffff 00002232: SWAP1 00002233: SWAP2 00002234: AND 00002235: PUSH1 0x64 00002237: DUP4 00002238: ADD 00002239: MSTORE 0000223a: SWAP1 0000223b: SWAP4 0000223c: POP 0000223d: PUSH1 0x20 0000223f: SWAP2 00002240: POP 00002241: DUP4 00002242: SWAP1 00002243: DUP2 00002244: DUP9 00002245: DUP2 00002246: PUSH1 0x84 00002248: DUP2 00002249: ADD 0000224a: SUB 0000224b: SWAP3 0000224c: GAS 0000224d: CALL 0000224e: SWAP2 0000224f: DUP3 00002250: ISZERO 00002251: PUSH2 0x1a78 00002254: JUMPI 00002255: PUSH12 0xffffffffffffffffffffffff 00002262: SWAP3 00002263: PUSH2 0x226d 00002266: JUMPI 00002267: JUMPDEST 00002268: POP 00002269: PUSH2 0x213a 0000226c: JUMP 0000226d: JUMPDEST 0000226e: PUSH2 0x228e 00002271: SWAP1 00002272: PUSH1 0x20 00002274: RETURNDATASIZE 00002275: PUSH1 0x20 00002277: GT 00002278: PUSH2 0x2295 0000227b: JUMPI 0000227c: JUMPDEST 0000227d: PUSH2 0x2286 00002280: DUP2 00002281: DUP4 00002282: PUSH2 0x3a14 00002285: JUMP 00002286: JUMPDEST 00002287: DUP2 00002288: ADD 00002289: SWAP1 0000228a: PUSH2 0x3c81 0000228d: JUMP 0000228e: JUMPDEST 0000228f: POP 00002290: PUSH0 00002291: PUSH2 0x2267 00002294: JUMP 00002295: JUMPDEST 00002296: POP 00002297: RETURNDATASIZE 00002298: PUSH2 0x227c 0000229b: JUMP 0000229c: JUMPDEST 0000229d: PUSH1 0x04 0000229f: DUP10 000022a0: PUSH32 0x6cd3dc2500000000000000000000000000000000000000000000000000000000 000022c1: DUP2 000022c2: MSTORE 000022c3: REVERT 000022c4: JUMPDEST 000022c5: PUSH2 0x22e4 000022c8: PUSH12 0xffffffffffffffffffffffff 000022d5: SWAP2 000022d6: DUP3 000022d7: DUP8 000022d8: AND 000022d9: SWAP1 000022da: DUP4 000022db: DUP1 000022dc: DUP14 000022dd: AND 000022de: SWAP2 000022df: AND 000022e0: PUSH2 0x4434 000022e3: JUMP 000022e4: JUMPDEST 000022e5: AND 000022e6: PUSH2 0x1fa2 000022e9: JUMP 000022ea: JUMPDEST 000022eb: POP 000022ec: SWAP1 000022ed: PUSH2 0x1fa4 000022f0: JUMP 000022f1: JUMPDEST 000022f2: PUSH1 0x04 000022f4: DUP11 000022f5: PUSH32 0x35278d1200000000000000000000000000000000000000000000000000000000 00002316: DUP2 00002317: MSTORE 00002318: REVERT 00002319: JUMPDEST 0000231a: POP 0000231b: PUSH12 0xffffffffffffffffffffffff 00002328: DUP8 00002329: AND 0000232a: PUSH12 0xffffffffffffffffffffffff 00002337: PUSH2 0x2343 0000233a: DUP14 0000233b: DUP12 0000233c: PUSH1 0xa0 0000233e: SHR 0000233f: PUSH2 0x3b68 00002342: JUMP 00002343: JUMPDEST 00002344: AND 00002345: GT 00002346: ISZERO 00002347: PUSH2 0x1f6a 0000234a: JUMP 0000234b: JUMPDEST 0000234c: DUP1 0000234d: PUSH2 0x1f51 00002350: JUMP 00002351: JUMPDEST 00002352: DUP6 00002353: SWAP10 00002354: PUSH2 0x1f53 00002357: JUMP 00002358: JUMPDEST 00002359: PUSH1 0x04 0000235b: DUP10 0000235c: PUSH32 0x203d82d800000000000000000000000000000000000000000000000000000000 0000237d: DUP2 0000237e: MSTORE 0000237f: REVERT 00002380: JUMPDEST 00002381: PUSH1 0x04 00002383: DUP10 00002384: PUSH32 0x82b4290000000000000000000000000000000000000000000000000000000000 000023a5: DUP2 000023a6: MSTORE 000023a7: REVERT 000023a8: JUMPDEST 000023a9: PUSH12 0xffffffffffffffffffffffff 000023b6: DUP7 000023b7: AND 000023b8: ISZERO 000023b9: DUP1 000023ba: ISZERO 000023bb: PUSH2 0x23eb 000023be: JUMPI 000023bf: JUMPDEST 000023c0: PUSH2 0x1e6a 000023c3: JUMPI 000023c4: PUSH1 0x04 000023c6: DUP9 000023c7: PUSH32 0x6cd3dc2500000000000000000000000000000000000000000000000000000000 000023e8: DUP2 000023e9: MSTORE 000023ea: REVERT 000023eb: JUMPDEST 000023ec: POP 000023ed: PUSH12 0xffffffffffffffffffffffff 000023fa: DUP6 000023fb: AND 000023fc: PUSH12 0xffffffffffffffffffffffff 00002409: DUP8 0000240a: AND 0000240b: EQ 0000240c: PUSH2 0x23bf 0000240f: JUMP 00002410: JUMPDEST 00002411: CALLVALUE 00002412: ISZERO 00002413: PUSH2 0x1e65 00002416: JUMPI 00002417: PUSH1 0x04 00002419: DUP10 0000241a: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 0000243b: DUP2 0000243c: MSTORE 0000243d: REVERT 0000243e: JUMPDEST 0000243f: PUSH4 0xab143c06 00002444: DUP11 00002445: MSTORE 00002446: PUSH1 0x04 00002448: PUSH1 0x1c 0000244a: REVERT 0000244b: JUMPDEST 0000244c: POP 0000244d: CALLVALUE 0000244e: PUSH2 0x0291 00002451: JUMPI 00002452: PUSH1 0x20 00002454: SWAP1 00002455: PUSH2 0x245d 00002458: CALLDATASIZE 00002459: PUSH2 0x3888 0000245c: JUMP 0000245d: JUMPDEST 0000245e: SWAP1 0000245f: SWAP2 00002460: PUSH8 0xedcaa89a82293940 00002469: PUSH1 0x34 0000246b: MSTORE 0000246c: CALLER 0000246d: PUSH1 0x28 0000246f: MSTORE 00002470: PUSH1 0x14 00002472: MSTORE 00002473: DUP2 00002474: DUP4 00002475: MSTORE 00002476: DUP1 00002477: PUSH1 0x54 00002479: DUP5 0000247a: KECCAK256 0000247b: SSTORE 0000247c: DUP3 0000247d: MSTORE 0000247e: DUP3 0000247f: MLOAD 00002480: PUSH1 0x60 00002482: SHR 00002483: CALLER 00002484: PUSH32 0xb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a7 000024a5: DUP6 000024a6: DUP6 000024a7: LOG4 000024a8: PUSH1 0x01 000024aa: DUP2 000024ab: MSTORE 000024ac: RETURN 000024ad: JUMPDEST 000024ae: POP 000024af: PUSH2 0x24b7 000024b2: CALLDATASIZE 000024b3: PUSH2 0x38dd 000024b6: JUMP 000024b7: JUMPDEST 000024b8: SWAP1 000024b9: SWAP6 000024ba: SWAP4 000024bb: SWAP2 000024bc: SWAP3 000024bd: SWAP5 000024be: PUSH9 0x929eee149b4bd21268 000024c8: TLOAD 000024c9: PUSH2 0x1bc8 000024cc: JUMPI 000024cd: ADDRESS 000024ce: PUSH9 0x929eee149b4bd21268 000024d8: TSTORE 000024d9: DUP4 000024da: SWAP2 000024db: TIMESTAMP 000024dc: GT 000024dd: PUSH2 0x2a4e 000024e0: JUMPI 000024e1: DUP3 000024e2: ISZERO 000024e3: PUSH2 0x2a26 000024e6: JUMPI 000024e7: PUSH1 0xa0 000024e9: PUSH1 0x40 000024eb: MLOAD 000024ec: DUP2 000024ed: DUP4 000024ee: DUP3 000024ef: CALLDATACOPY 000024f0: KECCAK256 000024f1: SWAP4 000024f2: PUSH2 0x24fe 000024f5: PUSH1 0x80 000024f7: DUP4 000024f8: ADD 000024f9: CALLDATALOAD 000024fa: PUSH2 0x3d67 000024fd: JUMP 000024fe: JUMPDEST 000024ff: SWAP4 00002500: SWAP3 00002501: SWAP5 00002502: SWAP1 00002503: SWAP2 00002504: SWAP5 00002505: SWAP2 00002506: PUSH2 0x2948 00002509: JUMPI 0000250a: JUMPDEST 0000250b: DUP8 0000250c: DUP10 0000250d: MSTORE 0000250e: DUP9 0000250f: PUSH1 0x20 00002511: MSTORE 00002512: PUSH1 0x40 00002514: DUP10 00002515: KECCAK256 00002516: SWAP1 00002517: DUP2 00002518: SLOAD 00002519: SWAP3 0000251a: PUSH14 0xffffffffffffffffffffffffffff 00002529: DUP1 0000252a: DUP6 0000252b: AND 0000252c: SWAP5 0000252d: PUSH1 0x70 0000252f: SHR 00002530: AND 00002531: SWAP5 00002532: DUP1 00002533: PUSH0 00002534: EQ 00002535: PUSH2 0x2928 00002538: JUMPI 00002539: PUSH2 0x2550 0000253c: DUP11 0000253d: PUSH2 0x2548 00002540: PUSH1 0x40 00002542: DUP7 00002543: ADD 00002544: PUSH2 0x3b01 00002547: JUMP 00002548: JUMPDEST 00002549: DUP6 0000254a: CALLDATALOAD 0000254b: SWAP1 0000254c: PUSH2 0x3e8d 0000254f: JUMP 00002550: JUMPDEST 00002551: DUP1 00002552: PUSH2 0x28fa 00002555: JUMPI 00002556: JUMPDEST 00002557: ISZERO 00002558: PUSH2 0x282d 0000255b: JUMPI 0000255c: JUMPDEST 0000255d: ISZERO 0000255e: PUSH2 0x26fa 00002561: JUMPI 00002562: PUSH2 0x256d 00002565: SWAP1 00002566: DUP6 00002567: DUP6 00002568: DUP12 00002569: PUSH2 0x43e9 0000256c: JUMP 0000256d: JUMPDEST 0000256e: SWAP11 0000256f: DUP12 00002570: ISZERO 00002571: PUSH2 0x1997 00002574: JUMPI 00002575: DUP12 00002576: LT 00002577: PUSH2 0x26d2 0000257a: JUMPI 0000257b: DUP4 0000257c: DUP12 0000257d: LT 0000257e: ISZERO 0000257f: PUSH2 0x26aa 00002582: JUMPI 00002583: SWAP3 00002584: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002599: SWAP7 0000259a: SWAP5 0000259b: SWAP3 0000259c: PUSH2 0x25dd 0000259f: SWAP3 000025a0: PUSH2 0x25c1 000025a3: DUP14 000025a4: PUSH1 0x20 000025a6: SWAP16 000025a7: SWAP10 000025a8: SWAP8 000025a9: PUSH1 0x20 000025ab: DUP12 000025ac: SWAP1 000025ad: PUSH2 0x25b8 000025b0: PUSH1 0x60 000025b2: DUP5 000025b3: ADD 000025b4: PUSH2 0x3b01 000025b7: JUMP 000025b8: JUMPDEST 000025b9: SWAP3 000025ba: ADD 000025bb: CALLDATALOAD 000025bc: SWAP2 000025bd: PUSH2 0x3eca 000025c0: JUMP 000025c1: JUMPDEST 000025c2: DUP13 000025c3: DUP12 000025c4: PUSH2 0x25d7 000025c7: PUSH2 0x25d0 000025ca: DUP14 000025cb: DUP7 000025cc: PUSH2 0x3b2f 000025cf: JUMP 000025d0: JUMPDEST 000025d1: SWAP3 000025d2: DUP7 000025d3: PUSH2 0x3b22 000025d6: JUMP 000025d7: JUMPDEST 000025d8: SWAP3 000025d9: PUSH2 0x3ffd 000025dc: JUMP 000025dd: JUMPDEST 000025de: PUSH2 0x2637 000025e1: JUMPI 000025e2: JUMPDEST 000025e3: POP 000025e4: POP 000025e5: PUSH1 0x40 000025e7: MLOAD 000025e8: SWAP3 000025e9: DUP4 000025ea: MSTORE 000025eb: DUP5 000025ec: DUP8 000025ed: DUP5 000025ee: ADD 000025ef: MSTORE 000025f0: DUP5 000025f1: PUSH1 0x40 000025f3: DUP5 000025f4: ADD 000025f5: MSTORE 000025f6: DUP6 000025f7: PUSH1 0x60 000025f9: DUP5 000025fa: ADD 000025fb: MSTORE 000025fc: AND 000025fd: SWAP2 000025fe: PUSH32 0xf51245804459075de3f63c42324c8ba2021175781c7477a5d8f4f08fb5584a56 0000261f: PUSH1 0x80 00002621: CALLER 00002622: SWAP4 00002623: LOG4 00002624: JUMPDEST 00002625: PUSH9 0x929eee149b4bd21268 0000262f: TSTORE 00002630: PUSH1 0x40 00002632: MLOAD 00002633: SWAP1 00002634: DUP2 00002635: MSTORE 00002636: RETURN 00002637: JUMPDEST 00002638: PUSH2 0x268e 0000263b: SWAP2 0000263c: DUP1 0000263d: ISZERO 0000263e: PUSH2 0x269b 00002641: JUMPI 00002642: DUP6 00002643: SWAP1 00002644: JUMPDEST 00002645: ISZERO 00002646: PUSH2 0x2695 00002649: JUMPI 0000264a: PUSH2 0x2652 0000264d: DUP10 0000264e: PUSH2 0x3b3c 00002651: JUMP 00002652: JUMPDEST 00002653: PUSH1 0x40 00002655: MLOAD 00002656: SWAP2 00002657: PUSH2 0x2660 0000265a: DUP13 0000265b: DUP5 0000265c: PUSH2 0x3a14 0000265f: JUMP 00002660: JUMPDEST 00002661: DUP10 00002662: DUP4 00002663: MSTORE 00002664: CALLER 00002665: DUP10 00002666: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002687: PUSH0 00002688: CALLDATALOAD 00002689: AND 0000268a: PUSH2 0x41a9 0000268d: JUMP 0000268e: JUMPDEST 0000268f: PUSH0 00002690: DUP1 00002691: PUSH2 0x25e2 00002694: JUMP 00002695: JUMPDEST 00002696: DUP6 00002697: PUSH2 0x2652 0000269a: JUMP 0000269b: JUMPDEST 0000269c: PUSH2 0x26a4 0000269f: DUP10 000026a0: PUSH2 0x3b3c 000026a3: JUMP 000026a4: JUMPDEST 000026a5: SWAP1 000026a6: PUSH2 0x2644 000026a9: JUMP 000026aa: JUMPDEST 000026ab: PUSH1 0x04 000026ad: DUP11 000026ae: PUSH32 0xbb55fd2700000000000000000000000000000000000000000000000000000000 000026cf: DUP2 000026d0: MSTORE 000026d1: REVERT 000026d2: JUMPDEST 000026d3: PUSH1 0x04 000026d5: DUP11 000026d6: PUSH32 0x42301c2300000000000000000000000000000000000000000000000000000000 000026f7: DUP2 000026f8: MSTORE 000026f9: REVERT 000026fa: JUMPDEST 000026fb: DUP5 000026fc: SWAP6 000026fd: SWAP7 000026fe: SWAP8 000026ff: POP 00002700: DUP4 00002701: PUSH2 0x270d 00002704: SWAP3 00002705: SWAP4 00002706: SWAP5 00002707: SWAP6 00002708: DUP11 00002709: PUSH2 0x43e9 0000270c: JUMP 0000270d: JUMPDEST 0000270e: SWAP10 0000270f: DUP11 00002710: ISZERO 00002711: PUSH2 0x26d2 00002714: JUMPI 00002715: DUP11 00002716: LT 00002717: PUSH2 0x2805 0000271a: JUMPI 0000271b: DUP3 0000271c: DUP11 0000271d: LT 0000271e: ISZERO 0000271f: PUSH2 0x27dd 00002722: JUMPI 00002723: SWAP3 00002724: DUP11 00002725: SWAP5 00002726: SWAP3 00002727: PUSH2 0x2771 0000272a: SWAP3 0000272b: PUSH2 0x275c 0000272e: DUP13 0000272f: DUP8 00002730: PUSH1 0x20 00002732: SWAP16 00002733: PUSH2 0x2754 00002736: PUSH1 0x40 00002738: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000274d: SWAP14 0000274e: SWAP12 0000274f: ADD 00002750: PUSH2 0x3b01 00002753: JUMP 00002754: JUMPDEST 00002755: SWAP2 00002756: CALLDATALOAD 00002757: SWAP2 00002758: PUSH2 0x3eca 0000275b: JUMP 0000275c: JUMPDEST 0000275d: PUSH2 0x2766 00002760: DUP13 00002761: DUP4 00002762: PUSH2 0x3b22 00002765: JUMP 00002766: JUMPDEST 00002767: DUP11 00002768: PUSH2 0x25d7 0000276b: DUP12 0000276c: DUP7 0000276d: PUSH2 0x3b2f 00002770: JUMP 00002771: JUMPDEST 00002772: PUSH2 0x27bb 00002775: JUMPI 00002776: JUMPDEST 00002777: POP 00002778: PUSH1 0x40 0000277a: MLOAD 0000277b: SWAP3 0000277c: DUP6 0000277d: DUP5 0000277e: MSTORE 0000277f: DUP8 00002780: DUP5 00002781: ADD 00002782: MSTORE 00002783: DUP6 00002784: PUSH1 0x40 00002786: DUP5 00002787: ADD 00002788: MSTORE 00002789: DUP5 0000278a: PUSH1 0x60 0000278c: DUP5 0000278d: ADD 0000278e: MSTORE 0000278f: AND 00002790: SWAP2 00002791: PUSH32 0xf51245804459075de3f63c42324c8ba2021175781c7477a5d8f4f08fb5584a56 000027b2: PUSH1 0x80 000027b4: CALLER 000027b5: SWAP4 000027b6: LOG4 000027b7: PUSH2 0x2624 000027ba: JUMP 000027bb: JUMPDEST 000027bc: PUSH2 0x27d7 000027bf: SWAP1 000027c0: PUSH2 0x27c8 000027c3: DUP9 000027c4: PUSH2 0x3b3c 000027c7: JUMP 000027c8: JUMPDEST 000027c9: DUP8 000027ca: ISZERO 000027cb: PUSH2 0x2695 000027ce: JUMPI 000027cf: PUSH2 0x2652 000027d2: DUP10 000027d3: PUSH2 0x3b3c 000027d6: JUMP 000027d7: JUMPDEST 000027d8: PUSH0 000027d9: PUSH2 0x2776 000027dc: JUMP 000027dd: JUMPDEST 000027de: PUSH1 0x04 000027e0: DUP10 000027e1: PUSH32 0xbb55fd2700000000000000000000000000000000000000000000000000000000 00002802: DUP2 00002803: MSTORE 00002804: REVERT 00002805: JUMPDEST 00002806: PUSH1 0x04 00002808: DUP10 00002809: PUSH32 0x42301c2300000000000000000000000000000000000000000000000000000000 0000282a: DUP2 0000282b: MSTORE 0000282c: REVERT 0000282d: JUMPDEST 0000282e: DUP1 0000282f: ISZERO 00002830: PUSH2 0x28d6 00002833: JUMPI 00002834: PUSH1 0x40 00002836: DUP4 00002837: ADD 00002838: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000284d: PUSH2 0x2855 00002850: DUP3 00002851: PUSH2 0x3b01 00002854: JUMP 00002855: JUMPDEST 00002856: AND 00002857: PUSH2 0x2890 0000285a: JUMPI 0000285b: POP 0000285c: DUP10 0000285d: CALLVALUE 0000285e: SUB 0000285f: PUSH2 0x2868 00002862: JUMPI 00002863: JUMPDEST 00002864: PUSH2 0x255c 00002867: JUMP 00002868: JUMPDEST 00002869: PUSH1 0x04 0000286b: DUP13 0000286c: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 0000288d: DUP2 0000288e: MSTORE 0000288f: REVERT 00002890: JUMPDEST 00002891: CALLVALUE 00002892: PUSH2 0x28ae 00002895: JUMPI 00002896: DUP11 00002897: PUSH2 0x28a2 0000289a: PUSH2 0x2863 0000289d: SWAP3 0000289e: PUSH2 0x3b01 000028a1: JUMP 000028a2: JUMPDEST 000028a3: DUP6 000028a4: CALLDATALOAD 000028a5: SWAP1 000028a6: ADDRESS 000028a7: SWAP1 000028a8: CALLER 000028a9: SWAP1 000028aa: PUSH2 0x3c99 000028ad: JUMP 000028ae: JUMPDEST 000028af: PUSH1 0x04 000028b1: DUP14 000028b2: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 000028d3: DUP2 000028d4: MSTORE 000028d5: REVERT 000028d6: JUMPDEST 000028d7: CALLVALUE 000028d8: PUSH2 0x2868 000028db: JUMPI 000028dc: PUSH2 0x2863 000028df: DUP11 000028e0: PUSH2 0x28eb 000028e3: PUSH1 0x60 000028e5: DUP7 000028e6: ADD 000028e7: PUSH2 0x3b01 000028ea: JUMP 000028eb: JUMPDEST 000028ec: PUSH1 0x20 000028ee: DUP7 000028ef: ADD 000028f0: CALLDATALOAD 000028f1: SWAP1 000028f2: ADDRESS 000028f3: SWAP1 000028f4: CALLER 000028f5: SWAP1 000028f6: PUSH2 0x3c99 000028f9: JUMP 000028fa: JUMPDEST 000028fb: CALLVALUE 000028fc: ISZERO 000028fd: PUSH2 0x2556 00002900: JUMPI 00002901: PUSH1 0x04 00002903: DUP14 00002904: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 00002925: DUP2 00002926: MSTORE 00002927: REVERT 00002928: JUMPDEST 00002929: PUSH2 0x2943 0000292c: DUP11 0000292d: PUSH2 0x2938 00002930: PUSH1 0x60 00002932: DUP7 00002933: ADD 00002934: PUSH2 0x3b01 00002937: JUMP 00002938: JUMPDEST 00002939: PUSH1 0x20 0000293b: DUP7 0000293c: ADD 0000293d: CALLDATALOAD 0000293e: SWAP1 0000293f: PUSH2 0x3e8d 00002942: JUMP 00002943: JUMPDEST 00002944: PUSH2 0x2556 00002947: JUMP 00002948: JUMPDEST 00002949: PUSH1 0x40 0000294b: MLOAD 0000294c: PUSH32 0x6e5f773000000000000000000000000000000000000000000000000000000000 0000296d: DUP2 0000296e: MSTORE 0000296f: PUSH0 00002970: DUP1 00002971: CALLDATALOAD 00002972: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002993: AND 00002994: PUSH1 0x04 00002996: DUP4 00002997: ADD 00002998: MSTORE 00002999: PUSH1 0x24 0000299b: DUP3 0000299c: ADD 0000299d: DUP11 0000299e: SWAP1 0000299f: MSTORE 000029a0: CALLER 000029a1: PUSH1 0x44 000029a3: DUP4 000029a4: ADD 000029a5: MSTORE 000029a6: PUSH1 0x80 000029a8: PUSH1 0x64 000029aa: DUP4 000029ab: ADD 000029ac: MSTORE 000029ad: PUSH1 0x84 000029af: DUP3 000029b0: ADD 000029b1: MSTORE 000029b2: PUSH1 0x20 000029b4: DUP2 000029b5: PUSH1 0xa4 000029b7: DUP2 000029b8: DUP14 000029b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029ce: DUP12 000029cf: AND 000029d0: GAS 000029d1: CALL 000029d2: SWAP1 000029d3: DUP2 000029d4: ISZERO 000029d5: PUSH2 0x155e 000029d8: JUMPI 000029d9: DUP11 000029da: SWAP2 000029db: PUSH2 0x29f4 000029de: JUMPI 000029df: JUMPDEST 000029e0: POP 000029e1: DUP1 000029e2: PUSH2 0x29ec 000029e5: JUMPI 000029e6: JUMPDEST 000029e7: POP 000029e8: PUSH2 0x250a 000029eb: JUMP 000029ec: JUMPDEST 000029ed: SWAP2 000029ee: POP 000029ef: PUSH0 000029f0: PUSH2 0x29e6 000029f3: JUMP 000029f4: JUMPDEST 000029f5: SWAP1 000029f6: POP 000029f7: PUSH1 0x20 000029f9: DUP2 000029fa: RETURNDATASIZE 000029fb: PUSH1 0x20 000029fd: GT 000029fe: PUSH2 0x2a1e 00002a01: JUMPI 00002a02: JUMPDEST 00002a03: DUP2 00002a04: PUSH2 0x2a0f 00002a07: PUSH1 0x20 00002a09: SWAP4 00002a0a: DUP4 00002a0b: PUSH2 0x3a14 00002a0e: JUMP 00002a0f: JUMPDEST 00002a10: DUP2 00002a11: ADD 00002a12: SUB 00002a13: SLT 00002a14: PUSH2 0x0d28 00002a17: JUMPI 00002a18: MLOAD 00002a19: PUSH0 00002a1a: PUSH2 0x29df 00002a1d: JUMP 00002a1e: JUMPDEST 00002a1f: RETURNDATASIZE 00002a20: SWAP2 00002a21: POP 00002a22: PUSH2 0x2a02 00002a25: JUMP 00002a26: JUMPDEST 00002a27: PUSH1 0x04 00002a29: DUP6 00002a2a: PUSH32 0x098fb56100000000000000000000000000000000000000000000000000000000 00002a4b: DUP2 00002a4c: MSTORE 00002a4d: REVERT 00002a4e: JUMPDEST 00002a4f: PUSH1 0x04 00002a51: DUP6 00002a52: PUSH32 0x203d82d800000000000000000000000000000000000000000000000000000000 00002a73: DUP2 00002a74: MSTORE 00002a75: REVERT 00002a76: JUMPDEST 00002a77: POP 00002a78: PUSH2 0x2a80 00002a7b: CALLDATASIZE 00002a7c: PUSH2 0x38dd 00002a7f: JUMP 00002a80: JUMPDEST 00002a81: SWAP1 00002a82: SWAP6 00002a83: SWAP4 00002a84: SWAP2 00002a85: SWAP3 00002a86: SWAP5 00002a87: PUSH9 0x929eee149b4bd21268 00002a91: TLOAD 00002a92: PUSH2 0x308d 00002a95: JUMPI 00002a96: ADDRESS 00002a97: PUSH9 0x929eee149b4bd21268 00002aa1: TSTORE 00002aa2: DUP4 00002aa3: SWAP2 00002aa4: TIMESTAMP 00002aa5: GT 00002aa6: PUSH2 0x3065 00002aa9: JUMPI 00002aaa: DUP3 00002aab: ISZERO 00002aac: PUSH2 0x303d 00002aaf: JUMPI 00002ab0: PUSH1 0xa0 00002ab2: PUSH1 0x40 00002ab4: MLOAD 00002ab5: DUP2 00002ab6: DUP4 00002ab7: DUP3 00002ab8: CALLDATACOPY 00002ab9: KECCAK256 00002aba: SWAP4 00002abb: PUSH2 0x2ac7 00002abe: PUSH1 0x80 00002ac0: DUP4 00002ac1: ADD 00002ac2: CALLDATALOAD 00002ac3: PUSH2 0x3d67 00002ac6: JUMP 00002ac7: JUMPDEST 00002ac8: SWAP4 00002ac9: SWAP3 00002aca: SWAP5 00002acb: SWAP1 00002acc: SWAP2 00002acd: SWAP5 00002ace: SWAP2 00002acf: PUSH2 0x2f50 00002ad2: JUMPI 00002ad3: JUMPDEST 00002ad4: DUP8 00002ad5: PUSH0 00002ad6: MSTORE 00002ad7: PUSH0 00002ad8: PUSH1 0x20 00002ada: MSTORE 00002adb: PUSH1 0x40 00002add: PUSH0 00002ade: KECCAK256 00002adf: SWAP1 00002ae0: DUP2 00002ae1: SLOAD 00002ae2: SWAP3 00002ae3: PUSH14 0xffffffffffffffffffffffffffff 00002af2: DUP1 00002af3: DUP6 00002af4: AND 00002af5: SWAP5 00002af6: PUSH1 0x70 00002af8: SHR 00002af9: AND 00002afa: SWAP5 00002afb: PUSH0 00002afc: EQ 00002afd: PUSH2 0x2d66 00002b00: JUMPI 00002b01: DUP5 00002b02: DUP10 00002b03: LT 00002b04: ISZERO 00002b05: PUSH2 0x1451 00002b08: JUMPI 00002b09: PUSH2 0x2b14 00002b0c: SWAP1 00002b0d: DUP6 00002b0e: DUP6 00002b0f: DUP12 00002b10: PUSH2 0x3e32 00002b13: JUMP 00002b14: JUMPDEST 00002b15: SWAP11 00002b16: DUP12 00002b17: GT 00002b18: PUSH2 0x2d3e 00002b1b: JUMPI 00002b1c: PUSH1 0x40 00002b1e: DUP2 00002b1f: ADD 00002b20: PUSH2 0x2b28 00002b23: DUP2 00002b24: PUSH2 0x3b01 00002b27: JUMP 00002b28: JUMPDEST 00002b29: SWAP1 00002b2a: PUSH2 0x2b36 00002b2d: DUP14 00002b2e: DUP5 00002b2f: CALLDATALOAD 00002b30: DUP1 00002b31: SWAP5 00002b32: PUSH2 0x3e8d 00002b35: JUMP 00002b36: JUMPDEST 00002b37: DUP1 00002b38: PUSH2 0x2d10 00002b3b: JUMPI 00002b3c: JUMPDEST 00002b3d: ISZERO 00002b3e: PUSH2 0x2c1f 00002b41: JUMPI 00002b42: JUMPDEST 00002b43: POP 00002b44: POP 00002b45: SWAP3 00002b46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b5b: SWAP7 00002b5c: SWAP5 00002b5d: SWAP3 00002b5e: PUSH2 0x2b8f 00002b61: SWAP3 00002b62: PUSH2 0x2b7a 00002b65: DUP11 00002b66: PUSH1 0x20 00002b68: SWAP16 00002b69: SWAP10 00002b6a: SWAP8 00002b6b: PUSH1 0x20 00002b6d: DUP12 00002b6e: SWAP1 00002b6f: PUSH2 0x25b8 00002b72: PUSH1 0x60 00002b74: DUP5 00002b75: ADD 00002b76: PUSH2 0x3b01 00002b79: JUMP 00002b7a: JUMPDEST 00002b7b: PUSH2 0x2b84 00002b7e: DUP14 00002b7f: DUP4 00002b80: PUSH2 0x3b2f 00002b83: JUMP 00002b84: JUMPDEST 00002b85: DUP12 00002b86: PUSH2 0x25d7 00002b89: DUP13 00002b8a: DUP7 00002b8b: PUSH2 0x3b22 00002b8e: JUMP 00002b8f: JUMPDEST 00002b90: PUSH2 0x2be8 00002b93: JUMPI 00002b94: JUMPDEST 00002b95: POP 00002b96: POP 00002b97: PUSH1 0x40 00002b99: MLOAD 00002b9a: SWAP3 00002b9b: DUP7 00002b9c: DUP5 00002b9d: MSTORE 00002b9e: DUP6 00002b9f: DUP9 00002ba0: DUP6 00002ba1: ADD 00002ba2: MSTORE 00002ba3: DUP6 00002ba4: PUSH1 0x40 00002ba6: DUP6 00002ba7: ADD 00002ba8: MSTORE 00002ba9: PUSH1 0x60 00002bab: DUP5 00002bac: ADD 00002bad: MSTORE 00002bae: AND 00002baf: SWAP2 00002bb0: PUSH32 0xf51245804459075de3f63c42324c8ba2021175781c7477a5d8f4f08fb5584a56 00002bd1: PUSH1 0x80 00002bd3: CALLER 00002bd4: SWAP4 00002bd5: LOG4 00002bd6: PUSH9 0x929eee149b4bd21268 00002be0: TSTORE 00002be1: PUSH1 0x40 00002be3: MLOAD 00002be4: SWAP1 00002be5: DUP2 00002be6: MSTORE 00002be7: RETURN 00002be8: JUMPDEST 00002be9: PUSH2 0x2c03 00002bec: SWAP2 00002bed: DUP1 00002bee: ISZERO 00002bef: PUSH2 0x2c10 00002bf2: JUMPI 00002bf3: DUP9 00002bf4: SWAP1 00002bf5: JUMPDEST 00002bf6: ISZERO 00002bf7: PUSH2 0x2c0a 00002bfa: JUMPI 00002bfb: PUSH2 0x2652 00002bfe: DUP7 00002bff: PUSH2 0x3b3c 00002c02: JUMP 00002c03: JUMPDEST 00002c04: PUSH0 00002c05: DUP1 00002c06: PUSH2 0x2b94 00002c09: JUMP 00002c0a: JUMPDEST 00002c0b: DUP9 00002c0c: PUSH2 0x2652 00002c0f: JUMP 00002c10: JUMPDEST 00002c11: PUSH2 0x2c19 00002c14: DUP7 00002c15: PUSH2 0x3b3c 00002c18: JUMP 00002c19: JUMPDEST 00002c1a: SWAP1 00002c1b: PUSH2 0x2bf5 00002c1e: JUMP 00002c1f: JUMPDEST 00002c20: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c35: PUSH2 0x2c3d 00002c38: DUP3 00002c39: PUSH2 0x3b01 00002c3c: JUMP 00002c3d: JUMPDEST 00002c3e: AND 00002c3f: PUSH2 0x2cc8 00002c42: JUMPI 00002c43: POP 00002c44: POP 00002c45: DUP11 00002c46: CALLVALUE 00002c47: LT 00002c48: PUSH2 0x2ca0 00002c4b: JUMPI 00002c4c: SWAP3 00002c4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c62: SWAP7 00002c63: SWAP5 00002c64: SWAP3 00002c65: PUSH2 0x2b8f 00002c68: SWAP3 00002c69: PUSH2 0x2b7a 00002c6c: DUP11 00002c6d: PUSH1 0x20 00002c6f: SWAP16 00002c70: SWAP10 00002c71: SWAP8 00002c72: DUP16 00002c73: DUP1 00002c74: CALLVALUE 00002c75: GT 00002c76: PUSH2 0x2c8e 00002c79: JUMPI 00002c7a: JUMPDEST 00002c7b: POP 00002c7c: JUMPDEST 00002c7d: SWAP5 00002c7e: SWAP8 00002c7f: SWAP10 00002c80: SWAP16 00002c81: POP 00002c82: POP 00002c83: POP 00002c84: SWAP3 00002c85: DUP2 00002c86: SWAP5 00002c87: SWAP7 00002c88: SWAP9 00002c89: POP 00002c8a: PUSH2 0x2b42 00002c8d: JUMP 00002c8e: JUMPDEST 00002c8f: PUSH2 0x2c9a 00002c92: SWAP1 00002c93: CALLVALUE 00002c94: SUB 00002c95: CALLER 00002c96: PUSH2 0x3c65 00002c99: JUMP 00002c9a: JUMPDEST 00002c9b: DUP16 00002c9c: PUSH2 0x2c7a 00002c9f: JUMP 00002ca0: JUMPDEST 00002ca1: PUSH1 0x04 00002ca3: DUP11 00002ca4: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 00002cc5: DUP2 00002cc6: MSTORE 00002cc7: REVERT 00002cc8: JUMPDEST 00002cc9: CALLVALUE 00002cca: PUSH2 0x2868 00002ccd: JUMPI 00002cce: SWAP3 00002ccf: PUSH2 0x2b7a 00002cd2: DUP11 00002cd3: PUSH1 0x20 00002cd5: SWAP16 00002cd6: SWAP10 00002cd7: SWAP8 00002cd8: SWAP5 00002cd9: DUP16 00002cda: PUSH2 0x2d0b 00002cdd: SWAP1 00002cde: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cf3: SWAP14 00002cf4: SWAP12 00002cf5: SWAP10 00002cf6: SWAP7 00002cf7: PUSH2 0x2d02 00002cfa: PUSH2 0x2b8f 00002cfd: SWAP11 00002cfe: PUSH2 0x3b01 00002d01: JUMP 00002d02: JUMPDEST 00002d03: ADDRESS 00002d04: SWAP1 00002d05: CALLER 00002d06: SWAP1 00002d07: PUSH2 0x3c99 00002d0a: JUMP 00002d0b: JUMPDEST 00002d0c: PUSH2 0x2c7c 00002d0f: JUMP 00002d10: JUMPDEST 00002d11: CALLVALUE 00002d12: ISZERO 00002d13: PUSH2 0x2b3c 00002d16: JUMPI 00002d17: PUSH1 0x04 00002d19: DUP14 00002d1a: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 00002d3b: DUP2 00002d3c: MSTORE 00002d3d: REVERT 00002d3e: JUMPDEST 00002d3f: PUSH1 0x04 00002d41: DUP11 00002d42: PUSH32 0x098fb56100000000000000000000000000000000000000000000000000000000 00002d63: DUP2 00002d64: MSTORE 00002d65: REVERT 00002d66: JUMPDEST 00002d67: SWAP1 00002d68: SWAP2 00002d69: SWAP3 00002d6a: DUP1 00002d6b: SWAP13 00002d6c: SWAP8 00002d6d: POP 00002d6e: DUP9 00002d6f: LT 00002d70: ISZERO 00002d71: PUSH2 0x2f28 00002d74: JUMPI 00002d75: PUSH2 0x2d80 00002d78: SWAP1 00002d79: DUP13 00002d7a: DUP6 00002d7b: DUP11 00002d7c: PUSH2 0x3e32 00002d7f: JUMP 00002d80: JUMPDEST 00002d81: SWAP10 00002d82: DUP11 00002d83: GT 00002d84: PUSH2 0x2f00 00002d87: JUMPI 00002d88: PUSH1 0x60 00002d8a: DUP2 00002d8b: ADD 00002d8c: PUSH2 0x2d94 00002d8f: DUP2 00002d90: PUSH2 0x3b01 00002d93: JUMP 00002d94: JUMPDEST 00002d95: PUSH2 0x2da4 00002d98: DUP13 00002d99: PUSH1 0x20 00002d9b: DUP6 00002d9c: ADD 00002d9d: CALLDATALOAD 00002d9e: DUP1 00002d9f: SWAP4 00002da0: PUSH2 0x3e8d 00002da3: JUMP 00002da4: JUMPDEST 00002da5: ISZERO 00002da6: PUSH2 0x2ea6 00002da9: JUMPI 00002daa: JUMPDEST 00002dab: POP 00002dac: POP 00002dad: SWAP10 00002dae: PUSH2 0x2ddc 00002db1: SWAP3 00002db2: SWAP2 00002db3: PUSH2 0x2dc7 00002db6: DUP9 00002db7: DUP14 00002db8: DUP10 00002db9: PUSH1 0x20 00002dbb: SWAP16 00002dbc: PUSH1 0x40 00002dbe: PUSH2 0x2754 00002dc1: SWAP2 00002dc2: ADD 00002dc3: PUSH2 0x3b01 00002dc6: JUMP 00002dc7: JUMPDEST 00002dc8: PUSH2 0x2dd1 00002dcb: DUP9 00002dcc: DUP4 00002dcd: PUSH2 0x3b22 00002dd0: JUMP 00002dd1: JUMPDEST 00002dd2: DUP10 00002dd3: PUSH2 0x25d7 00002dd6: DUP14 00002dd7: DUP7 00002dd8: PUSH2 0x3b2f 00002ddb: JUMP 00002ddc: JUMPDEST 00002ddd: PUSH2 0x2e3c 00002de0: JUMPI 00002de1: JUMPDEST 00002de2: POP 00002de3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002df8: SWAP1 00002df9: PUSH1 0x40 00002dfb: MLOAD 00002dfc: SWAP3 00002dfd: DUP6 00002dfe: DUP5 00002dff: MSTORE 00002e00: DUP7 00002e01: DUP9 00002e02: DUP6 00002e03: ADD 00002e04: MSTORE 00002e05: PUSH1 0x40 00002e07: DUP5 00002e08: ADD 00002e09: MSTORE 00002e0a: DUP5 00002e0b: PUSH1 0x60 00002e0d: DUP5 00002e0e: ADD 00002e0f: MSTORE 00002e10: AND 00002e11: SWAP2 00002e12: PUSH32 0xf51245804459075de3f63c42324c8ba2021175781c7477a5d8f4f08fb5584a56 00002e33: PUSH1 0x80 00002e35: CALLER 00002e36: SWAP4 00002e37: LOG4 00002e38: PUSH2 0x2624 00002e3b: JUMP 00002e3c: JUMPDEST 00002e3d: SWAP4 00002e3e: POP 00002e3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e54: SWAP1 00002e55: PUSH2 0x2ea0 00002e58: PUSH2 0x2e60 00002e5b: DUP5 00002e5c: PUSH2 0x3b3c 00002e5f: JUMP 00002e60: JUMPDEST 00002e61: SWAP6 00002e62: PUSH0 00002e63: SWAP7 00002e64: DUP9 00002e65: PUSH1 0x40 00002e67: MLOAD 00002e68: SWAP2 00002e69: PUSH2 0x2e72 00002e6c: DUP13 00002e6d: DUP5 00002e6e: PUSH2 0x3a14 00002e71: JUMP 00002e72: JUMPDEST 00002e73: PUSH0 00002e74: DUP4 00002e75: MSTORE 00002e76: CALLER 00002e77: DUP10 00002e78: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002e99: PUSH0 00002e9a: CALLDATALOAD 00002e9b: AND 00002e9c: PUSH2 0x41a9 00002e9f: JUMP 00002ea0: JUMPDEST 00002ea1: SWAP1 00002ea2: PUSH2 0x2de1 00002ea5: JUMP 00002ea6: JUMPDEST 00002ea7: SWAP12 00002ea8: SWAP2 00002ea9: SWAP4 00002eaa: SWAP3 00002eab: SWAP1 00002eac: SWAP12 00002ead: CALLVALUE 00002eae: PUSH2 0x2ed8 00002eb1: JUMPI 00002eb2: DUP9 00002eb3: PUSH2 0x2ddc 00002eb6: SWAP6 00002eb7: PUSH2 0x2ecb 00002eba: PUSH1 0x20 00002ebc: SWAP16 00002ebd: DUP16 00002ebe: SWAP1 00002ebf: SWAP5 00002ec0: PUSH2 0x2d02 00002ec3: PUSH2 0x2dc7 00002ec6: SWAP7 00002ec7: PUSH2 0x3b01 00002eca: JUMP 00002ecb: JUMPDEST 00002ecc: SWAP4 00002ecd: SWAP14 00002ece: POP 00002ecf: POP 00002ed0: DUP2 00002ed1: SWAP4 00002ed2: SWAP5 00002ed3: POP 00002ed4: PUSH2 0x2daa 00002ed7: JUMP 00002ed8: JUMPDEST 00002ed9: PUSH32 0x85cf0a3500000000000000000000000000000000000000000000000000000000 00002efa: PUSH0 00002efb: MSTORE 00002efc: PUSH1 0x04 00002efe: PUSH0 00002eff: REVERT 00002f00: JUMPDEST 00002f01: PUSH32 0x098fb56100000000000000000000000000000000000000000000000000000000 00002f22: PUSH0 00002f23: MSTORE 00002f24: PUSH1 0x04 00002f26: PUSH0 00002f27: REVERT 00002f28: JUMPDEST 00002f29: PUSH32 0xbb55fd2700000000000000000000000000000000000000000000000000000000 00002f4a: PUSH0 00002f4b: MSTORE 00002f4c: PUSH1 0x04 00002f4e: PUSH0 00002f4f: REVERT 00002f50: JUMPDEST 00002f51: PUSH1 0x40 00002f53: MLOAD 00002f54: PUSH32 0x6e5f773000000000000000000000000000000000000000000000000000000000 00002f75: DUP2 00002f76: MSTORE 00002f77: PUSH0 00002f78: DUP1 00002f79: CALLDATALOAD 00002f7a: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002f9b: AND 00002f9c: PUSH1 0x04 00002f9e: DUP4 00002f9f: ADD 00002fa0: MSTORE 00002fa1: PUSH1 0x24 00002fa3: DUP3 00002fa4: ADD 00002fa5: DUP11 00002fa6: SWAP1 00002fa7: MSTORE 00002fa8: CALLER 00002fa9: PUSH1 0x44 00002fab: DUP4 00002fac: ADD 00002fad: MSTORE 00002fae: PUSH1 0x80 00002fb0: PUSH1 0x64 00002fb2: DUP4 00002fb3: ADD 00002fb4: MSTORE 00002fb5: PUSH1 0x84 00002fb7: DUP3 00002fb8: ADD 00002fb9: MSTORE 00002fba: PUSH1 0x20 00002fbc: DUP2 00002fbd: DUP1 00002fbe: PUSH1 0xa4 00002fc0: DUP2 00002fc1: ADD 00002fc2: SUB 00002fc3: DUP2 00002fc4: PUSH0 00002fc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fda: DUP12 00002fdb: AND 00002fdc: GAS 00002fdd: CALL 00002fde: SWAP1 00002fdf: DUP2 00002fe0: ISZERO 00002fe1: PUSH2 0x3032 00002fe4: JUMPI 00002fe5: PUSH0 00002fe6: SWAP2 00002fe7: PUSH2 0x3000 00002fea: JUMPI 00002feb: JUMPDEST 00002fec: POP 00002fed: DUP1 00002fee: PUSH2 0x2ff8 00002ff1: JUMPI 00002ff2: JUMPDEST 00002ff3: POP 00002ff4: PUSH2 0x2ad3 00002ff7: JUMP 00002ff8: JUMPDEST 00002ff9: SWAP2 00002ffa: POP 00002ffb: PUSH0 00002ffc: PUSH2 0x2ff2 00002fff: JUMP 00003000: JUMPDEST 00003001: SWAP1 00003002: POP 00003003: PUSH1 0x20 00003005: DUP2 00003006: RETURNDATASIZE 00003007: PUSH1 0x20 00003009: GT 0000300a: PUSH2 0x302a 0000300d: JUMPI 0000300e: JUMPDEST 0000300f: DUP2 00003010: PUSH2 0x301b 00003013: PUSH1 0x20 00003015: SWAP4 00003016: DUP4 00003017: PUSH2 0x3a14 0000301a: JUMP 0000301b: JUMPDEST 0000301c: DUP2 0000301d: ADD 0000301e: SUB 0000301f: SLT 00003020: PUSH2 0x0d28 00003023: JUMPI 00003024: MLOAD 00003025: PUSH0 00003026: PUSH2 0x2feb 00003029: JUMP 0000302a: JUMPDEST 0000302b: RETURNDATASIZE 0000302c: SWAP2 0000302d: POP 0000302e: PUSH2 0x300e 00003031: JUMP 00003032: JUMPDEST 00003033: PUSH1 0x40 00003035: MLOAD 00003036: RETURNDATASIZE 00003037: PUSH0 00003038: DUP3 00003039: RETURNDATACOPY 0000303a: RETURNDATASIZE 0000303b: SWAP1 0000303c: REVERT 0000303d: JUMPDEST 0000303e: PUSH32 0x42301c2300000000000000000000000000000000000000000000000000000000 0000305f: PUSH0 00003060: MSTORE 00003061: PUSH1 0x04 00003063: PUSH0 00003064: REVERT 00003065: JUMPDEST 00003066: PUSH32 0x203d82d800000000000000000000000000000000000000000000000000000000 00003087: PUSH0 00003088: MSTORE 00003089: PUSH1 0x04 0000308b: PUSH0 0000308c: REVERT 0000308d: JUMPDEST 0000308e: PUSH4 0xab143c06 00003093: PUSH0 00003094: MSTORE 00003095: PUSH1 0x04 00003097: PUSH1 0x1c 00003099: REVERT 0000309a: JUMPDEST 0000309b: CALLVALUE 0000309c: PUSH2 0x0d28 0000309f: JUMPI 000030a0: PUSH1 0x20 000030a2: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000030c3: CALLDATASIZE 000030c4: ADD 000030c5: SLT 000030c6: PUSH2 0x0d28 000030c9: JUMPI 000030ca: PUSH1 0x04 000030cc: CALLDATALOAD 000030cd: PUSH0 000030ce: MSTORE 000030cf: PUSH1 0x02 000030d1: PUSH1 0x20 000030d3: MSTORE 000030d4: PUSH1 0x20 000030d6: PUSH1 0x40 000030d8: PUSH0 000030d9: KECCAK256 000030da: SLOAD 000030db: PUSH1 0x40 000030dd: MLOAD 000030de: SWAP1 000030df: DUP2 000030e0: MSTORE 000030e1: RETURN 000030e2: JUMPDEST 000030e3: PUSH2 0x30eb 000030e6: CALLDATASIZE 000030e7: PUSH2 0x37be 000030ea: JUMP 000030eb: JUMPDEST 000030ec: SWAP6 000030ed: SWAP2 000030ee: SWAP3 000030ef: SWAP1 000030f0: SWAP7 000030f1: SWAP5 000030f2: SWAP4 000030f3: PUSH9 0x929eee149b4bd21268 000030fd: TLOAD 000030fe: PUSH2 0x308d 00003101: JUMPI 00003102: ADDRESS 00003103: PUSH9 0x929eee149b4bd21268 0000310d: TSTORE 0000310e: PUSH7 0xffffffffffffff 00003116: DUP9 00003117: AND 00003118: SWAP8 00003119: TIMESTAMP 0000311a: DUP10 0000311b: GT 0000311c: ISZERO 0000311d: PUSH2 0x3065 00003120: JUMPI 00003121: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003136: DUP8 00003137: AND 00003138: PUSH2 0x3341 0000313b: JUMPI 0000313c: PUSH12 0xffffffffffffffffffffffff 00003149: DUP7 0000314a: JUMPDEST 0000314b: AND 0000314c: CALLVALUE 0000314d: SUB 0000314e: PUSH2 0x2ed8 00003151: JUMPI 00003152: PUSH2 0x320f 00003155: SWAP5 00003156: PUSH2 0x0342 00003159: SWAP4 0000315a: DUP10 0000315b: SWAP4 0000315c: PUSH1 0x40 0000315e: MLOAD 0000315f: SWAP9 00003160: DUP10 00003161: SWAP8 00003162: PUSH1 0x20 00003164: DUP10 00003165: ADD 00003166: SWAP12 00003167: CALLER 00003168: DUP14 00003169: SWAP8 0000316a: SWAP6 0000316b: SWAP4 0000316c: SWAP2 0000316d: SWAP10 0000316e: SWAP9 0000316f: SWAP7 00003170: SWAP5 00003171: SWAP3 00003172: SWAP1 00003173: SWAP10 00003174: PUSH2 0x0120 00003177: DUP10 00003178: ADD 00003179: SWAP11 0000317a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000318f: AND 00003190: DUP10 00003191: MSTORE 00003192: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000031a7: AND 000031a8: PUSH1 0x20 000031aa: DUP10 000031ab: ADD 000031ac: MSTORE 000031ad: PUSH1 0x40 000031af: DUP9 000031b0: ADD 000031b1: MSTORE 000031b2: PUSH12 0xffffffffffffffffffffffff 000031bf: AND 000031c0: PUSH1 0x60 000031c2: DUP8 000031c3: ADD 000031c4: MSTORE 000031c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000031da: AND 000031db: PUSH1 0x80 000031dd: DUP7 000031de: ADD 000031df: MSTORE 000031e0: PUSH1 0xa0 000031e2: DUP6 000031e3: ADD 000031e4: MSTORE 000031e5: PUSH12 0xffffffffffffffffffffffff 000031f2: AND 000031f3: PUSH1 0xc0 000031f5: DUP5 000031f6: ADD 000031f7: MSTORE 000031f8: PUSH7 0xffffffffffffff 00003200: AND 00003201: PUSH1 0xe0 00003203: DUP4 00003204: ADD 00003205: MSTORE 00003206: ISZERO 00003207: ISZERO 00003208: SWAP1 00003209: PUSH2 0x0100 0000320c: ADD 0000320d: MSTORE 0000320e: JUMP 0000320f: JUMPDEST 00003210: MLOAD 00003211: SWAP1 00003212: KECCAK256 00003213: SWAP1 00003214: DUP2 00003215: PUSH0 00003216: MSTORE 00003217: PUSH1 0x03 00003219: PUSH1 0x20 0000321b: MSTORE 0000321c: PUSH7 0xffffffffffffff 00003224: PUSH1 0x40 00003226: PUSH0 00003227: KECCAK256 00003228: SLOAD 00003229: PUSH1 0x08 0000322b: SHR 0000322c: AND 0000322d: PUSH2 0x3319 00003230: JUMPI 00003231: PUSH1 0x20 00003233: SWAP3 00003234: PUSH1 0x40 00003236: MLOAD 00003237: SWAP2 00003238: PUSH2 0x3240 0000323b: DUP4 0000323c: PUSH2 0x39f8 0000323f: JUMP 00003240: JUMPDEST 00003241: ISZERO 00003242: ISZERO 00003243: DUP3 00003244: MSTORE 00003245: DUP4 00003246: DUP3 00003247: ADD 00003248: SWAP1 00003249: DUP2 0000324a: MSTORE 0000324b: PUSH1 0x40 0000324d: DUP3 0000324e: ADD 0000324f: PUSH0 00003250: DUP2 00003251: MSTORE 00003252: PUSH1 0x60 00003254: DUP4 00003255: ADD 00003256: SWAP1 00003257: PUSH0 00003258: DUP3 00003259: MSTORE 0000325a: DUP5 0000325b: PUSH0 0000325c: MSTORE 0000325d: PUSH1 0x03 0000325f: DUP7 00003260: MSTORE 00003261: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003276: PUSH1 0x40 00003278: PUSH0 00003279: KECCAK256 0000327a: SWAP5 0000327b: MLOAD 0000327c: ISZERO 0000327d: ISZERO 0000327e: SWAP4 0000327f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000032a0: PUSH1 0xff 000032a2: DUP2 000032a3: PUSH20 0xffffffffffffffffffffffff0000000000000000 000032b8: PUSH8 0xffffffffffffff00 000032c1: DUP11 000032c2: SLOAD 000032c3: SWAP6 000032c4: MLOAD 000032c5: PUSH1 0x08 000032c7: SHL 000032c8: AND 000032c9: SWAP7 000032ca: MLOAD 000032cb: PUSH1 0x40 000032cd: SHL 000032ce: AND 000032cf: SWAP7 000032d0: MLOAD 000032d1: PUSH1 0xa0 000032d3: SHL 000032d4: AND 000032d5: SWAP7 000032d6: AND 000032d7: SWAP2 000032d8: AND 000032d9: OR 000032da: AND 000032db: OR 000032dc: OR 000032dd: OR 000032de: SWAP1 000032df: SSTORE 000032e0: PUSH1 0x40 000032e2: MLOAD 000032e3: SWAP1 000032e4: DUP1 000032e5: CALLER 000032e6: PUSH32 0x1fa192562e5fbdce807069b18275dc0d672cacd78576602b47d21730975635a1 00003307: PUSH0 00003308: DUP1 00003309: LOG3 0000330a: PUSH0 0000330b: PUSH9 0x929eee149b4bd21268 00003315: TSTORE 00003316: DUP2 00003317: MSTORE 00003318: RETURN 00003319: JUMPDEST 0000331a: PUSH32 0x6df2039000000000000000000000000000000000000000000000000000000000 0000333b: PUSH0 0000333c: MSTORE 0000333d: PUSH1 0x04 0000333f: PUSH0 00003340: REVERT 00003341: JUMPDEST 00003342: PUSH12 0xffffffffffffffffffffffff 0000334f: PUSH0 00003350: PUSH2 0x314a 00003353: JUMP 00003354: JUMPDEST 00003355: PUSH2 0x335d 00003358: CALLDATASIZE 00003359: PUSH2 0x3888 0000335c: JUMP 0000335d: JUMPDEST 0000335e: SWAP2 0000335f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003374: DUP2 00003375: AND 00003376: ISZERO 00003377: DUP1 00003378: ISZERO 00003379: PUSH2 0x33b1 0000337c: JUMPI 0000337d: DUP4 0000337e: JUMPDEST 0000337f: CALLVALUE 00003380: SUB 00003381: PUSH2 0x2ed8 00003384: JUMPI 00003385: ISZERO 00003386: PUSH2 0x339f 00003389: JUMPI 0000338a: JUMPDEST 0000338b: CALLER 0000338c: PUSH0 0000338d: MSTORE 0000338e: PUSH1 0x20 00003390: MSTORE 00003391: PUSH1 0x40 00003393: MSTORE 00003394: PUSH1 0x60 00003396: PUSH0 00003397: KECCAK256 00003398: SWAP1 00003399: DUP2 0000339a: TLOAD 0000339b: ADD 0000339c: SWAP1 0000339d: TSTORE 0000339e: STOP 0000339f: JUMPDEST 000033a0: PUSH2 0x33ac 000033a3: DUP4 000033a4: DUP4 000033a5: ADDRESS 000033a6: CALLER 000033a7: DUP6 000033a8: PUSH2 0x3c99 000033ab: JUMP 000033ac: JUMPDEST 000033ad: PUSH2 0x338a 000033b0: JUMP 000033b1: JUMPDEST 000033b2: PUSH0 000033b3: PUSH2 0x337e 000033b6: JUMP 000033b7: JUMPDEST 000033b8: CALLVALUE 000033b9: PUSH2 0x0d28 000033bc: JUMPI 000033bd: PUSH2 0x33c5 000033c0: CALLDATASIZE 000033c1: PUSH2 0x3888 000033c4: JUMP 000033c5: JUMPDEST 000033c6: SWAP1 000033c7: SWAP2 000033c8: PUSH8 0xedcaa89a82293940 000033d1: PUSH1 0x20 000033d3: MSTORE 000033d4: CALLER 000033d5: PUSH1 0x14 000033d7: MSTORE 000033d8: DUP3 000033d9: PUSH0 000033da: MSTORE 000033db: PUSH1 0x40 000033dd: PUSH0 000033de: KECCAK256 000033df: DUP1 000033e0: SLOAD 000033e1: DUP1 000033e2: DUP5 000033e3: GT 000033e4: PUSH2 0x345e 000033e7: JUMPI 000033e8: DUP4 000033e9: SWAP1 000033ea: SUB 000033eb: SWAP1 000033ec: SSTORE 000033ed: DUP1 000033ee: PUSH1 0x14 000033f0: MSTORE 000033f1: DUP3 000033f2: PUSH0 000033f3: MSTORE 000033f4: PUSH1 0x40 000033f6: PUSH0 000033f7: KECCAK256 000033f8: SWAP2 000033f9: DUP3 000033fa: SLOAD 000033fb: DUP2 000033fc: DUP2 000033fd: ADD 000033fe: SWAP1 000033ff: DUP2 00003400: LT 00003401: PUSH2 0x3451 00003404: JUMPI 00003405: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000341a: SWAP4 0000341b: SSTORE 0000341c: CALLER 0000341d: PUSH0 0000341e: MSTORE 0000341f: PUSH1 0x20 00003421: MSTORE 00003422: AND 00003423: CALLER 00003424: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859 00003445: PUSH1 0x40 00003447: PUSH0 00003448: LOG4 00003449: PUSH1 0x01 0000344b: PUSH0 0000344c: MSTORE 0000344d: PUSH1 0x20 0000344f: PUSH0 00003450: RETURN 00003451: JUMPDEST 00003452: PUSH4 0x89560ca1 00003457: PUSH0 00003458: MSTORE 00003459: PUSH1 0x04 0000345b: PUSH1 0x1c 0000345d: REVERT 0000345e: JUMPDEST 0000345f: PUSH4 0xf4d678b8 00003464: PUSH0 00003465: MSTORE 00003466: PUSH1 0x04 00003468: PUSH1 0x1c 0000346a: REVERT 0000346b: JUMPDEST 0000346c: CALLVALUE 0000346d: PUSH2 0x0d28 00003470: JUMPI 00003471: PUSH2 0x3479 00003474: CALLDATASIZE 00003475: PUSH2 0x37be 00003478: JUMP 00003479: JUMPDEST 0000347a: SWAP7 0000347b: SWAP5 0000347c: SWAP4 0000347d: PUSH9 0x929eee149b4bd21268 00003487: SWAP7 00003488: SWAP4 00003489: SWAP3 0000348a: SWAP7 0000348b: TLOAD 0000348c: PUSH2 0x308d 0000348f: JUMPI 00003490: PUSH2 0x0342 00003493: DUP9 00003494: PUSH2 0x355b 00003497: SWAP4 00003498: ADDRESS 00003499: PUSH9 0x929eee149b4bd21268 000034a3: TSTORE 000034a4: DUP8 000034a5: SWAP10 000034a6: PUSH1 0x40 000034a8: MLOAD 000034a9: SWAP7 000034aa: DUP8 000034ab: SWAP6 000034ac: DUP11 000034ad: PUSH1 0x20 000034af: DUP9 000034b0: ADD 000034b1: SWAP11 000034b2: DUP14 000034b3: CALLER 000034b4: DUP14 000034b5: SWAP8 000034b6: SWAP6 000034b7: SWAP4 000034b8: SWAP2 000034b9: SWAP10 000034ba: SWAP9 000034bb: SWAP7 000034bc: SWAP5 000034bd: SWAP3 000034be: SWAP1 000034bf: SWAP10 000034c0: PUSH2 0x0120 000034c3: DUP10 000034c4: ADD 000034c5: SWAP11 000034c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034db: AND 000034dc: DUP10 000034dd: MSTORE 000034de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034f3: AND 000034f4: PUSH1 0x20 000034f6: DUP10 000034f7: ADD 000034f8: MSTORE 000034f9: PUSH1 0x40 000034fb: DUP9 000034fc: ADD 000034fd: MSTORE 000034fe: PUSH12 0xffffffffffffffffffffffff 0000350b: AND 0000350c: PUSH1 0x60 0000350e: DUP8 0000350f: ADD 00003510: MSTORE 00003511: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003526: AND 00003527: PUSH1 0x80 00003529: DUP7 0000352a: ADD 0000352b: MSTORE 0000352c: PUSH1 0xa0 0000352e: DUP6 0000352f: ADD 00003530: MSTORE 00003531: PUSH12 0xffffffffffffffffffffffff 0000353e: AND 0000353f: PUSH1 0xc0 00003541: DUP5 00003542: ADD 00003543: MSTORE 00003544: PUSH7 0xffffffffffffff 0000354c: AND 0000354d: PUSH1 0xe0 0000354f: DUP4 00003550: ADD 00003551: MSTORE 00003552: ISZERO 00003553: ISZERO 00003554: SWAP1 00003555: PUSH2 0x0100 00003558: ADD 00003559: MSTORE 0000355a: JUMP 0000355b: JUMPDEST 0000355c: MLOAD 0000355d: SWAP1 0000355e: KECCAK256 0000355f: SWAP4 00003560: DUP5 00003561: PUSH0 00003562: MSTORE 00003563: PUSH1 0x03 00003565: PUSH1 0x20 00003567: MSTORE 00003568: PUSH1 0x40 0000356a: PUSH0 0000356b: KECCAK256 0000356c: SWAP1 0000356d: PUSH1 0x40 0000356f: MLOAD 00003570: SWAP2 00003571: PUSH2 0x3579 00003574: DUP4 00003575: PUSH2 0x39f8 00003578: JUMP 00003579: JUMPDEST 0000357a: SLOAD 0000357b: SWAP2 0000357c: PUSH1 0xff 0000357e: DUP4 0000357f: AND 00003580: ISZERO 00003581: ISZERO 00003582: DUP2 00003583: MSTORE 00003584: PUSH7 0xffffffffffffff 0000358c: DUP4 0000358d: PUSH1 0x08 0000358f: SHR 00003590: AND 00003591: SWAP1 00003592: DUP2 00003593: PUSH1 0x20 00003595: DUP3 00003596: ADD 00003597: MSTORE 00003598: PUSH1 0x60 0000359a: PUSH1 0x40 0000359c: DUP3 0000359d: ADD 0000359e: SWAP5 0000359f: PUSH12 0xffffffffffffffffffffffff 000035ac: DUP2 000035ad: PUSH1 0x40 000035af: SHR 000035b0: AND 000035b1: DUP7 000035b2: MSTORE 000035b3: PUSH1 0xa0 000035b5: SHR 000035b6: SWAP2 000035b7: ADD 000035b8: MSTORE 000035b9: ISZERO 000035ba: PUSH2 0x3680 000035bd: JUMPI 000035be: DUP6 000035bf: PUSH0 000035c0: MSTORE 000035c1: PUSH1 0x03 000035c3: PUSH1 0x20 000035c5: MSTORE 000035c6: PUSH0 000035c7: PUSH1 0x40 000035c9: DUP2 000035ca: KECCAK256 000035cb: SSTORE 000035cc: PUSH2 0x3646 000035cf: JUMPI 000035d0: JUMPDEST 000035d1: POP 000035d2: POP 000035d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000035e8: AND 000035e9: ISZERO 000035ea: PUSH2 0x3622 000035ed: JUMPI 000035ee: JUMPDEST 000035ef: POP 000035f0: CALLER 000035f1: PUSH32 0xdb2b33dd6349739e1f3cd6dc90cf093af6a3dfb1838aced380528b0aefe6093c 00003612: PUSH0 00003613: DUP1 00003614: LOG3 00003615: PUSH0 00003616: PUSH9 0x929eee149b4bd21268 00003620: TSTORE 00003621: STOP 00003622: JUMPDEST 00003623: PUSH12 0xffffffffffffffffffffffff 00003630: AND 00003631: DUP1 00003632: ISZERO 00003633: PUSH2 0x35ee 00003636: JUMPI 00003637: PUSH2 0x3640 0000363a: SWAP1 0000363b: CALLER 0000363c: PUSH2 0x3c65 0000363f: JUMP 00003640: JUMPDEST 00003641: DUP2 00003642: PUSH2 0x35ee 00003645: JUMP 00003646: JUMPDEST 00003647: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000365c: SWAP3 0000365d: SWAP4 0000365e: POP 0000365f: SWAP1 00003660: PUSH12 0xffffffffffffffffffffffff 0000366d: PUSH2 0x3678 00003670: SWAP3 00003671: MLOAD 00003672: AND 00003673: SWAP1 00003674: PUSH2 0x3a55 00003677: JUMP 00003678: JUMPDEST 00003679: SWAP2 0000367a: SWAP1 0000367b: DUP5 0000367c: PUSH2 0x35d0 0000367f: JUMP 00003680: JUMPDEST 00003681: PUSH32 0x82b4290000000000000000000000000000000000000000000000000000000000 000036a2: PUSH0 000036a3: MSTORE 000036a4: PUSH1 0x04 000036a6: PUSH0 000036a7: REVERT 000036a8: JUMPDEST 000036a9: CALLVALUE 000036aa: PUSH2 0x0d28 000036ad: JUMPI 000036ae: PUSH1 0x20 000036b0: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000036d1: CALLDATASIZE 000036d2: ADD 000036d3: SLT 000036d4: PUSH2 0x0d28 000036d7: JUMPI 000036d8: PUSH1 0x04 000036da: CALLDATALOAD 000036db: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 000036fc: DUP2 000036fd: AND 000036fe: DUP2 000036ff: SUB 00003700: PUSH2 0x0d28 00003703: JUMPI 00003704: PUSH1 0x20 00003706: SWAP1 00003707: PUSH1 0xe0 00003709: SHR 0000370a: PUSH1 0x40 0000370c: MLOAD 0000370d: SWAP1 0000370e: PUSH4 0x01ffc9a7 00003713: PUSH4 0x0f632fb3 00003718: DUP3 00003719: EQ 0000371a: SWAP2 0000371b: EQ 0000371c: OR 0000371d: ISZERO 0000371e: ISZERO 0000371f: DUP2 00003720: MSTORE 00003721: RETURN 00003722: JUMPDEST 00003723: CALLVALUE 00003724: PUSH2 0x0d28 00003727: JUMPI 00003728: PUSH1 0x40 0000372a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 0000374b: CALLDATASIZE 0000374c: ADD 0000374d: SLT 0000374e: PUSH2 0x0d28 00003751: JUMPI 00003752: PUSH1 0x20 00003754: SWAP1 00003755: PUSH2 0x375c 00003758: PUSH2 0x3778 0000375b: JUMP 0000375c: JUMPDEST 0000375d: PUSH8 0xedcaa89a82293940 00003766: DUP4 00003767: MSTORE 00003768: PUSH1 0x14 0000376a: MSTORE 0000376b: PUSH1 0x24 0000376d: CALLDATALOAD 0000376e: PUSH0 0000376f: MSTORE 00003770: PUSH1 0x40 00003772: PUSH0 00003773: KECCAK256 00003774: SLOAD 00003775: DUP2 00003776: MSTORE 00003777: RETURN 00003778: JUMPDEST 00003779: PUSH1 0x04 0000377b: CALLDATALOAD 0000377c: SWAP1 0000377d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003792: DUP3 00003793: AND 00003794: DUP3 00003795: SUB 00003796: PUSH2 0x0d28 00003799: JUMPI 0000379a: JUMP 0000379b: JUMPDEST 0000379c: PUSH1 0x24 0000379e: CALLDATALOAD 0000379f: SWAP1 000037a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000037b5: DUP3 000037b6: AND 000037b7: DUP3 000037b8: SUB 000037b9: PUSH2 0x0d28 000037bc: JUMPI 000037bd: JUMP 000037be: JUMPDEST 000037bf: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000037e0: PUSH2 0x0100 000037e3: SWAP2 000037e4: ADD 000037e5: SLT 000037e6: PUSH2 0x0d28 000037e9: JUMPI 000037ea: PUSH1 0x04 000037ec: CALLDATALOAD 000037ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003802: DUP2 00003803: AND 00003804: DUP2 00003805: SUB 00003806: PUSH2 0x0d28 00003809: JUMPI 0000380a: SWAP1 0000380b: PUSH1 0x24 0000380d: CALLDATALOAD 0000380e: SWAP1 0000380f: PUSH1 0x44 00003811: CALLDATALOAD 00003812: PUSH12 0xffffffffffffffffffffffff 0000381f: DUP2 00003820: AND 00003821: DUP2 00003822: SUB 00003823: PUSH2 0x0d28 00003826: JUMPI 00003827: SWAP1 00003828: PUSH1 0x64 0000382a: CALLDATALOAD 0000382b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003840: DUP2 00003841: AND 00003842: DUP2 00003843: SUB 00003844: PUSH2 0x0d28 00003847: JUMPI 00003848: SWAP1 00003849: PUSH1 0x84 0000384b: CALLDATALOAD 0000384c: SWAP1 0000384d: PUSH1 0xa4 0000384f: CALLDATALOAD 00003850: PUSH12 0xffffffffffffffffffffffff 0000385d: DUP2 0000385e: AND 0000385f: DUP2 00003860: SUB 00003861: PUSH2 0x0d28 00003864: JUMPI 00003865: SWAP1 00003866: PUSH1 0xc4 00003868: CALLDATALOAD 00003869: PUSH7 0xffffffffffffff 00003871: DUP2 00003872: AND 00003873: DUP2 00003874: SUB 00003875: PUSH2 0x0d28 00003878: JUMPI 00003879: SWAP1 0000387a: PUSH1 0xe4 0000387c: CALLDATALOAD 0000387d: DUP1 0000387e: ISZERO 0000387f: ISZERO 00003880: DUP2 00003881: SUB 00003882: PUSH2 0x0d28 00003885: JUMPI 00003886: SWAP1 00003887: JUMP 00003888: JUMPDEST 00003889: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000038aa: PUSH1 0x60 000038ac: SWAP2 000038ad: ADD 000038ae: SLT 000038af: PUSH2 0x0d28 000038b2: JUMPI 000038b3: PUSH1 0x04 000038b5: CALLDATALOAD 000038b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000038cb: DUP2 000038cc: AND 000038cd: DUP2 000038ce: SUB 000038cf: PUSH2 0x0d28 000038d2: JUMPI 000038d3: SWAP1 000038d4: PUSH1 0x24 000038d6: CALLDATALOAD 000038d7: SWAP1 000038d8: PUSH1 0x44 000038da: CALLDATALOAD 000038db: SWAP1 000038dc: JUMP 000038dd: JUMPDEST 000038de: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000038ff: ADD 00003900: PUSH2 0x0140 00003903: DUP2 00003904: SLT 00003905: PUSH2 0x0d28 00003908: JUMPI 00003909: PUSH1 0xa0 0000390b: SGT 0000390c: PUSH2 0x0d28 0000390f: JUMPI 00003910: PUSH1 0x04 00003912: SWAP1 00003913: PUSH1 0xa4 00003915: CALLDATALOAD 00003916: SWAP1 00003917: PUSH1 0xc4 00003919: CALLDATALOAD 0000391a: SWAP1 0000391b: PUSH1 0xe4 0000391d: CALLDATALOAD 0000391e: DUP1 0000391f: ISZERO 00003920: ISZERO 00003921: DUP2 00003922: SUB 00003923: PUSH2 0x0d28 00003926: JUMPI 00003927: SWAP1 00003928: PUSH2 0x0104 0000392b: CALLDATALOAD 0000392c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003941: DUP2 00003942: AND 00003943: DUP2 00003944: SUB 00003945: PUSH2 0x0d28 00003948: JUMPI 00003949: SWAP1 0000394a: PUSH2 0x0124 0000394d: CALLDATALOAD 0000394e: SWAP1 0000394f: JUMP 00003950: JUMPDEST 00003951: SWAP2 00003952: DUP2 00003953: PUSH1 0x1f 00003955: DUP5 00003956: ADD 00003957: SLT 00003958: ISZERO 00003959: PUSH2 0x0d28 0000395c: JUMPI 0000395d: DUP3 0000395e: CALLDATALOAD 0000395f: SWAP2 00003960: PUSH8 0xffffffffffffffff 00003969: DUP4 0000396a: GT 0000396b: PUSH2 0x0d28 0000396e: JUMPI 0000396f: PUSH1 0x20 00003971: DUP4 00003972: DUP2 00003973: DUP7 00003974: ADD 00003975: SWAP6 00003976: ADD 00003977: ADD 00003978: GT 00003979: PUSH2 0x0d28 0000397c: JUMPI 0000397d: JUMP 0000397e: JUMPDEST 0000397f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc 000039a0: PUSH1 0xa0 000039a2: SWAP2 000039a3: ADD 000039a4: SLT 000039a5: PUSH2 0x0d28 000039a8: JUMPI 000039a9: PUSH1 0x04 000039ab: CALLDATALOAD 000039ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000039c1: DUP2 000039c2: AND 000039c3: DUP2 000039c4: SUB 000039c5: PUSH2 0x0d28 000039c8: JUMPI 000039c9: SWAP1 000039ca: PUSH1 0x24 000039cc: CALLDATALOAD 000039cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000039e2: DUP2 000039e3: AND 000039e4: DUP2 000039e5: SUB 000039e6: PUSH2 0x0d28 000039e9: JUMPI 000039ea: SWAP1 000039eb: PUSH1 0x44 000039ed: CALLDATALOAD 000039ee: SWAP1 000039ef: PUSH1 0x64 000039f1: CALLDATALOAD 000039f2: SWAP1 000039f3: PUSH1 0x84 000039f5: CALLDATALOAD 000039f6: SWAP1 000039f7: JUMP 000039f8: JUMPDEST 000039f9: PUSH1 0x80 000039fb: DUP2 000039fc: ADD 000039fd: SWAP1 000039fe: DUP2 000039ff: LT 00003a00: PUSH8 0xffffffffffffffff 00003a09: DUP3 00003a0a: GT 00003a0b: OR 00003a0c: PUSH2 0x1228 00003a0f: JUMPI 00003a10: PUSH1 0x40 00003a12: MSTORE 00003a13: JUMP 00003a14: JUMPDEST 00003a15: SWAP1 00003a16: PUSH1 0x1f 00003a18: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003a39: SWAP2 00003a3a: ADD 00003a3b: AND 00003a3c: DUP2 00003a3d: ADD 00003a3e: SWAP1 00003a3f: DUP2 00003a40: LT 00003a41: PUSH8 0xffffffffffffffff 00003a4a: DUP3 00003a4b: GT 00003a4c: OR 00003a4d: PUSH2 0x1228 00003a50: JUMPI 00003a51: PUSH1 0x40 00003a53: MSTORE 00003a54: JUMP 00003a55: JUMPDEST 00003a56: SWAP1 00003a57: PUSH12 0xffffffffffffffffffffffff 00003a64: DUP1 00003a65: SWAP2 00003a66: AND 00003a67: SWAP2 00003a68: AND 00003a69: SUB 00003a6a: SWAP1 00003a6b: PUSH12 0xffffffffffffffffffffffff 00003a78: DUP3 00003a79: GT 00003a7a: PUSH2 0x3a7f 00003a7d: JUMPI 00003a7e: JUMP 00003a7f: JUMPDEST 00003a80: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003aa1: PUSH0 00003aa2: MSTORE 00003aa3: PUSH1 0x11 00003aa5: PUSH1 0x04 00003aa7: MSTORE 00003aa8: PUSH1 0x24 00003aaa: PUSH0 00003aab: REVERT 00003aac: JUMPDEST 00003aad: SWAP1 00003aae: DUP2 00003aaf: PUSH1 0x20 00003ab1: SWAP2 00003ab2: SUB 00003ab3: SLT 00003ab4: PUSH2 0x0d28 00003ab7: JUMPI 00003ab8: MLOAD 00003ab9: SWAP1 00003aba: JUMP 00003abb: JUMPDEST 00003abc: PUSH1 0x44 00003abe: CALLDATALOAD 00003abf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003ad4: DUP2 00003ad5: AND 00003ad6: DUP2 00003ad7: SUB 00003ad8: PUSH2 0x0d28 00003adb: JUMPI 00003adc: SWAP1 00003add: JUMP 00003ade: JUMPDEST 00003adf: PUSH1 0x64 00003ae1: CALLDATALOAD 00003ae2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003af7: DUP2 00003af8: AND 00003af9: DUP2 00003afa: SUB 00003afb: PUSH2 0x0d28 00003afe: JUMPI 00003aff: SWAP1 00003b00: JUMP 00003b01: JUMPDEST 00003b02: CALLDATALOAD 00003b03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003b18: DUP2 00003b19: AND 00003b1a: DUP2 00003b1b: SUB 00003b1c: PUSH2 0x0d28 00003b1f: JUMPI 00003b20: SWAP1 00003b21: JUMP 00003b22: JUMPDEST 00003b23: SWAP2 00003b24: SWAP1 00003b25: DUP3 00003b26: SUB 00003b27: SWAP2 00003b28: DUP3 00003b29: GT 00003b2a: PUSH2 0x3a7f 00003b2d: JUMPI 00003b2e: JUMP 00003b2f: JUMPDEST 00003b30: SWAP2 00003b31: SWAP1 00003b32: DUP3 00003b33: ADD 00003b34: DUP1 00003b35: SWAP3 00003b36: GT 00003b37: PUSH2 0x3a7f 00003b3a: JUMPI 00003b3b: JUMP 00003b3c: JUMPDEST 00003b3d: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00003b5e: DUP2 00003b5f: EQ 00003b60: PUSH2 0x3a7f 00003b63: JUMPI 00003b64: PUSH0 00003b65: SUB 00003b66: SWAP1 00003b67: JUMP 00003b68: JUMPDEST 00003b69: SWAP1 00003b6a: PUSH12 0xffffffffffffffffffffffff 00003b77: DUP1 00003b78: SWAP2 00003b79: AND 00003b7a: SWAP2 00003b7b: AND 00003b7c: ADD 00003b7d: SWAP1 00003b7e: PUSH12 0xffffffffffffffffffffffff 00003b8b: DUP3 00003b8c: GT 00003b8d: PUSH2 0x3a7f 00003b90: JUMPI 00003b91: JUMP 00003b92: JUMPDEST 00003b93: PUSH1 0x1f 00003b95: DUP3 00003b96: PUSH1 0x20 00003b98: SWAP5 00003b99: SWAP4 00003b9a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003bbb: SWAP4 00003bbc: DUP2 00003bbd: DUP7 00003bbe: MSTORE 00003bbf: DUP7 00003bc0: DUP7 00003bc1: ADD 00003bc2: CALLDATACOPY 00003bc3: PUSH0 00003bc4: DUP6 00003bc5: DUP3 00003bc6: DUP7 00003bc7: ADD 00003bc8: ADD 00003bc9: MSTORE 00003bca: ADD 00003bcb: AND 00003bcc: ADD 00003bcd: ADD 00003bce: SWAP1 00003bcf: JUMP 00003bd0: JUMPDEST 00003bd1: PUSH2 0x3bef 00003bd4: DUP3 00003bd5: DUP3 00003bd6: PUSH8 0xedcaa89a82293940 00003bdf: PUSH1 0x20 00003be1: MSTORE 00003be2: PUSH1 0x14 00003be4: MSTORE 00003be5: PUSH0 00003be6: MSTORE 00003be7: PUSH1 0x34 00003be9: PUSH1 0x0c 00003beb: KECCAK256 00003bec: SLOAD 00003bed: SWAP1 00003bee: JUMP 00003bef: JUMPDEST 00003bf0: PUSH2 0x3c13 00003bf3: JUMPI 00003bf4: PUSH8 0xedcaa89a82293940 00003bfd: PUSH1 0x34 00003bff: MSTORE 00003c00: PUSH1 0x28 00003c02: MSTORE 00003c03: PUSH1 0x14 00003c05: MSTORE 00003c06: PUSH0 00003c07: MSTORE 00003c08: PUSH1 0x54 00003c0a: PUSH0 00003c0b: KECCAK256 00003c0c: SLOAD 00003c0d: SWAP1 00003c0e: PUSH0 00003c0f: PUSH1 0x34 00003c11: MSTORE 00003c12: JUMP 00003c13: JUMPDEST 00003c14: POP 00003c15: POP 00003c16: POP 00003c17: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003c38: SWAP1 00003c39: JUMP 00003c3a: JUMPDEST 00003c3b: DUP2 00003c3c: DUP2 00003c3d: MUL 00003c3e: SWAP3 00003c3f: SWAP2 00003c40: DUP2 00003c41: ISZERO 00003c42: SWAP2 00003c43: DUP5 00003c44: DIV 00003c45: EQ 00003c46: OR 00003c47: ISZERO 00003c48: PUSH2 0x3a7f 00003c4b: JUMPI 00003c4c: JUMP 00003c4d: JUMPDEST 00003c4e: DUP2 00003c4f: DUP2 00003c50: SUB 00003c51: SWAP3 00003c52: SWAP2 00003c53: PUSH0 00003c54: SGT 00003c55: DUP1 00003c56: ISZERO 00003c57: DUP3 00003c58: DUP6 00003c59: SGT 00003c5a: AND 00003c5b: SWAP2 00003c5c: DUP5 00003c5d: SLT 00003c5e: AND 00003c5f: OR 00003c60: PUSH2 0x3a7f 00003c63: JUMPI 00003c64: JUMP 00003c65: JUMPDEST 00003c66: PUSH0 00003c67: DUP1 00003c68: DUP1 00003c69: SWAP4 00003c6a: CODESIZE 00003c6b: SWAP4 00003c6c: GAS 00003c6d: CALL 00003c6e: ISZERO 00003c6f: PUSH2 0x3c74 00003c72: JUMPI 00003c73: JUMP 00003c74: JUMPDEST 00003c75: PUSH4 0xb12d13eb 00003c7a: PUSH0 00003c7b: MSTORE 00003c7c: PUSH1 0x04 00003c7e: PUSH1 0x1c 00003c80: REVERT 00003c81: JUMPDEST 00003c82: SWAP1 00003c83: DUP2 00003c84: PUSH1 0x20 00003c86: SWAP2 00003c87: SUB 00003c88: SLT 00003c89: PUSH2 0x0d28 00003c8c: JUMPI 00003c8d: MLOAD 00003c8e: DUP1 00003c8f: ISZERO 00003c90: ISZERO 00003c91: DUP2 00003c92: SUB 00003c93: PUSH2 0x0d28 00003c96: JUMPI 00003c97: SWAP1 00003c98: JUMP 00003c99: JUMPDEST 00003c9a: SWAP4 00003c9b: SWAP3 00003c9c: SWAP2 00003c9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003cb2: DUP6 00003cb3: AND 00003cb4: ADDRESS 00003cb5: DUP2 00003cb6: SUB 00003cb7: PUSH2 0x3cc8 00003cba: JUMPI 00003cbb: POP 00003cbc: POP 00003cbd: PUSH2 0x3cc6 00003cc0: SWAP4 00003cc1: POP 00003cc2: PUSH2 0x472e 00003cc5: JUMP 00003cc6: JUMPDEST 00003cc7: JUMP 00003cc8: JUMPDEST 00003cc9: SWAP1 00003cca: SWAP3 00003ccb: DUP1 00003ccc: PUSH2 0x3cda 00003ccf: JUMPI 00003cd0: POP 00003cd1: POP 00003cd2: PUSH2 0x3cc6 00003cd5: SWAP4 00003cd6: PUSH2 0x4835 00003cd9: JUMP 00003cda: JUMPDEST 00003cdb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003cf0: SWAP4 00003cf1: SWAP6 00003cf2: POP 00003cf3: PUSH1 0x84 00003cf5: SWAP3 00003cf6: SWAP2 00003cf7: PUSH1 0x20 00003cf9: SWAP6 00003cfa: PUSH0 00003cfb: SWAP3 00003cfc: DUP7 00003cfd: PUSH1 0x40 00003cff: MLOAD 00003d00: SWAP10 00003d01: DUP11 00003d02: SWAP9 00003d03: DUP10 00003d04: SWAP8 00003d05: PUSH32 0xfe99049a00000000000000000000000000000000000000000000000000000000 00003d26: DUP10 00003d27: MSTORE 00003d28: AND 00003d29: PUSH1 0x04 00003d2b: DUP9 00003d2c: ADD 00003d2d: MSTORE 00003d2e: AND 00003d2f: PUSH1 0x24 00003d31: DUP7 00003d32: ADD 00003d33: MSTORE 00003d34: PUSH1 0x44 00003d36: DUP6 00003d37: ADD 00003d38: MSTORE 00003d39: PUSH1 0x64 00003d3b: DUP5 00003d3c: ADD 00003d3d: MSTORE 00003d3e: GAS 00003d3f: CALL 00003d40: DUP1 00003d41: ISZERO 00003d42: PUSH2 0x3032 00003d45: JUMPI 00003d46: PUSH2 0x3d4c 00003d49: JUMPI 00003d4a: POP 00003d4b: JUMP 00003d4c: JUMPDEST 00003d4d: PUSH2 0x3d64 00003d50: SWAP1 00003d51: PUSH1 0x20 00003d53: RETURNDATASIZE 00003d54: PUSH1 0x20 00003d56: GT 00003d57: PUSH2 0x2295 00003d5a: JUMPI 00003d5b: PUSH2 0x2286 00003d5e: DUP2 00003d5f: DUP4 00003d60: PUSH2 0x3a14 00003d63: JUMP 00003d64: JUMPDEST 00003d65: POP 00003d66: JUMP 00003d67: JUMPDEST 00003d68: PUSH0 00003d69: SWAP1 00003d6a: DUP2 00003d6b: SWAP1 00003d6c: DUP2 00003d6d: SWAP1 00003d6e: DUP2 00003d6f: PUSH2 0x2710 00003d72: DUP3 00003d73: GT 00003d74: PUSH2 0x3d7b 00003d77: JUMPI 00003d78: POP 00003d79: SWAP4 00003d7a: JUMP 00003d7b: JUMPDEST 00003d7c: SWAP5 00003d7d: SWAP4 00003d7e: POP 00003d7f: DUP1 00003d80: SWAP3 00003d81: POP 00003d82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003d97: SWAP2 00003d98: POP 00003d99: AND 00003d9a: SWAP2 00003d9b: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00003dbc: DUP3 00003dbd: AND 00003dbe: ISZERO 00003dbf: SWAP1 00003dc0: PUSH32 0x4000000000000000000000000000000000000000000000000000000000000000 00003de1: DUP3 00003de2: ISZERO 00003de3: SWAP4 00003de4: AND 00003de5: ISZERO 00003de6: DUP1 00003de7: ISZERO 00003de8: SWAP3 00003de9: PUSH2 0x3def 00003dec: JUMPI 00003ded: POP 00003dee: JUMP 00003def: JUMPDEST 00003df0: PUSH2 0x3df5 00003df3: JUMPI 00003df4: JUMP 00003df5: JUMPDEST 00003df6: PUSH1 0x01 00003df8: SWAP2 00003df9: POP 00003dfa: JUMP 00003dfb: JUMPDEST 00003dfc: DUP2 00003dfd: ISZERO 00003dfe: PUSH2 0x3e05 00003e01: JUMPI 00003e02: DIV 00003e03: SWAP1 00003e04: JUMP 00003e05: JUMPDEST 00003e06: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003e27: PUSH0 00003e28: MSTORE 00003e29: PUSH1 0x12 00003e2b: PUSH1 0x04 00003e2d: MSTORE 00003e2e: PUSH1 0x24 00003e30: PUSH0 00003e31: REVERT 00003e32: JUMPDEST 00003e33: SWAP2 00003e34: SWAP1 00003e35: DUP3 00003e36: PUSH2 0x3e3e 00003e39: SWAP2 00003e3a: PUSH2 0x3c3a 00003e3d: JUMP 00003e3e: JUMPDEST 00003e3f: SWAP2 00003e40: PUSH2 0x2710 00003e43: DUP4 00003e44: MUL 00003e45: SWAP3 00003e46: DUP1 00003e47: DUP5 00003e48: DIV 00003e49: PUSH2 0x2710 00003e4c: EQ 00003e4d: SWAP1 00003e4e: ISZERO 00003e4f: OR 00003e50: ISZERO 00003e51: PUSH2 0x3a7f 00003e54: JUMPI 00003e55: PUSH2 0x3e5d 00003e58: SWAP2 00003e59: PUSH2 0x3b22 00003e5c: JUMP 00003e5d: JUMPDEST 00003e5e: SWAP2 00003e5f: PUSH2 0x2710 00003e62: SUB 00003e63: SWAP2 00003e64: PUSH2 0x2710 00003e67: DUP4 00003e68: GT 00003e69: PUSH2 0x3a7f 00003e6c: JUMPI 00003e6d: PUSH2 0x3e7f 00003e70: SWAP3 00003e71: PUSH2 0x3e79 00003e74: SWAP2 00003e75: PUSH2 0x3c3a 00003e78: JUMP 00003e79: JUMPDEST 00003e7a: SWAP1 00003e7b: PUSH2 0x3dfb 00003e7e: JUMP 00003e7f: JUMPDEST 00003e80: PUSH1 0x01 00003e82: DUP2 00003e83: ADD 00003e84: DUP1 00003e85: SWAP2 00003e86: GT 00003e87: PUSH2 0x3a7f 00003e8a: JUMPI 00003e8b: SWAP1 00003e8c: JUMP 00003e8d: JUMPDEST 00003e8e: SWAP1 00003e8f: SWAP3 00003e90: SWAP2 00003e91: PUSH0 00003e92: SWAP4 00003e93: PUSH1 0x40 00003e95: MLOAD 00003e96: SWAP3 00003e97: CALLER 00003e98: PUSH0 00003e99: MSTORE 00003e9a: PUSH1 0x20 00003e9c: MSTORE 00003e9d: PUSH1 0x40 00003e9f: MSTORE 00003ea0: PUSH1 0x60 00003ea2: PUSH0 00003ea3: KECCAK256 00003ea4: SWAP1 00003ea5: DUP2 00003ea6: TLOAD 00003ea7: DUP2 00003ea8: DUP2 00003ea9: LT 00003eaa: ISZERO 00003eab: PUSH2 0x3eb7 00003eae: JUMPI 00003eaf: JUMPDEST 00003eb0: POP 00003eb1: POP 00003eb2: POP 00003eb3: PUSH1 0x40 00003eb5: MSTORE 00003eb6: JUMP 00003eb7: JUMPDEST 00003eb8: SWAP1 00003eb9: SWAP2 00003eba: SWAP3 00003ebb: SWAP5 00003ebc: POP 00003ebd: SUB 00003ebe: SWAP1 00003ebf: TSTORE 00003ec0: PUSH1 0x01 00003ec2: SWAP2 00003ec3: PUSH0 00003ec4: DUP1 00003ec5: DUP1 00003ec6: PUSH2 0x3eaf 00003ec9: JUMP 00003eca: JUMPDEST 00003ecb: SWAP3 00003ecc: SWAP2 00003ecd: SWAP1 00003ece: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003ee3: DUP2 00003ee4: AND 00003ee5: ADDRESS 00003ee6: DUP2 00003ee7: SUB 00003ee8: PUSH2 0x3f09 00003eeb: JUMPI 00003eec: POP 00003eed: POP 00003eee: PUSH1 0x40 00003ef0: MLOAD 00003ef1: SWAP3 00003ef2: CALLER 00003ef3: PUSH0 00003ef4: MSTORE 00003ef5: PUSH1 0x20 00003ef7: MSTORE 00003ef8: PUSH1 0x40 00003efa: MSTORE 00003efb: PUSH1 0x60 00003efd: PUSH0 00003efe: KECCAK256 00003eff: SWAP1 00003f00: DUP2 00003f01: TLOAD 00003f02: ADD 00003f03: SWAP1 00003f04: TSTORE 00003f05: PUSH1 0x40 00003f07: MSTORE 00003f08: JUMP 00003f09: JUMPDEST 00003f0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003f1f: DUP6 00003f20: AND 00003f21: ADDRESS 00003f22: DUP2 00003f23: SUB 00003f24: PUSH2 0x3f33 00003f27: JUMPI 00003f28: POP 00003f29: POP 00003f2a: PUSH2 0x3cc6 00003f2d: SWAP4 00003f2e: POP 00003f2f: PUSH2 0x47c8 00003f32: JUMP 00003f33: JUMPDEST 00003f34: SWAP2 00003f35: SWAP3 00003f36: SWAP2 00003f37: DUP1 00003f38: PUSH2 0x3f48 00003f3b: JUMPI 00003f3c: POP 00003f3d: POP 00003f3e: POP 00003f3f: PUSH2 0x3cc6 00003f42: SWAP3 00003f43: POP 00003f44: PUSH2 0x3c65 00003f47: JUMP 00003f48: JUMPDEST 00003f49: DUP3 00003f4a: PUSH2 0x3fa8 00003f4d: JUMPI 00003f4e: POP 00003f4f: POP 00003f50: POP 00003f51: PUSH1 0x14 00003f53: MSTORE 00003f54: PUSH1 0x34 00003f56: MSTORE 00003f57: PUSH16 0xa9059cbb000000000000000000000000 00003f68: PUSH0 00003f69: MSTORE 00003f6a: PUSH1 0x20 00003f6c: PUSH0 00003f6d: PUSH1 0x44 00003f6f: PUSH1 0x10 00003f71: DUP3 00003f72: DUP6 00003f73: GAS 00003f74: CALL 00003f75: SWAP1 00003f76: DUP2 00003f77: PUSH1 0x01 00003f79: PUSH0 00003f7a: MLOAD 00003f7b: EQ 00003f7c: AND 00003f7d: ISZERO 00003f7e: PUSH2 0x3f8a 00003f81: JUMPI 00003f82: JUMPDEST 00003f83: POP 00003f84: POP 00003f85: PUSH0 00003f86: PUSH1 0x34 00003f88: MSTORE 00003f89: JUMP 00003f8a: JUMPDEST 00003f8b: EXTCODESIZE 00003f8c: ISZERO 00003f8d: RETURNDATASIZE 00003f8e: OR 00003f8f: LT 00003f90: ISZERO 00003f91: PUSH2 0x3f9b 00003f94: JUMPI 00003f95: PUSH0 00003f96: DUP1 00003f97: PUSH2 0x3f82 00003f9a: JUMP 00003f9b: JUMPDEST 00003f9c: PUSH4 0x90b8ec18 00003fa1: PUSH0 00003fa2: MSTORE 00003fa3: PUSH1 0x04 00003fa5: PUSH1 0x1c 00003fa7: REVERT 00003fa8: JUMPDEST 00003fa9: PUSH1 0x20 00003fab: SWAP5 00003fac: SWAP6 00003fad: POP 00003fae: PUSH1 0x64 00003fb0: SWAP3 00003fb1: SWAP4 00003fb2: POP 00003fb3: PUSH0 00003fb4: SWAP1 00003fb5: PUSH1 0x40 00003fb7: MLOAD 00003fb8: SWAP7 00003fb9: DUP8 00003fba: SWAP6 00003fbb: DUP7 00003fbc: SWAP5 00003fbd: PUSH32 0x095bcdb600000000000000000000000000000000000000000000000000000000 00003fde: DUP7 00003fdf: MSTORE 00003fe0: PUSH1 0x04 00003fe2: DUP7 00003fe3: ADD 00003fe4: MSTORE 00003fe5: PUSH1 0x24 00003fe7: DUP6 00003fe8: ADD 00003fe9: MSTORE 00003fea: PUSH1 0x44 00003fec: DUP5 00003fed: ADD 00003fee: MSTORE 00003fef: GAS 00003ff0: CALL 00003ff1: DUP1 00003ff2: ISZERO 00003ff3: PUSH2 0x3032 00003ff6: JUMPI 00003ff7: PUSH2 0x3d4c 00003ffa: JUMPI 00003ffb: POP 00003ffc: JUMP 00003ffd: JUMPDEST 00003ffe: SWAP4 00003fff: SWAP3 00004000: SWAP5 00004001: SWAP2 00004002: SWAP1 00004003: SWAP5 00004004: PUSH14 0xffffffffffffffffffffffffffff 00004013: DUP3 00004014: GT 00004015: PUSH2 0x4181 00004018: JUMPI 00004019: PUSH14 0xffffffffffffffffffffffffffff 00004028: DUP2 00004029: GT 0000402a: PUSH2 0x4181 0000402d: JUMPI 0000402e: DUP5 0000402f: PUSH14 0xffffffffffffffffffffffffffff 0000403e: PUSH28 0xffffffffffffffffffffffffffff0000000000000000000000000000 0000405b: SWAP5 0000405c: DUP2 0000405d: SWAP5 0000405e: PUSH1 0x40 00004060: SWAP8 00004061: PUSH32 0x1857d6b557d31cf8c2bf0cb9e6bf60aaeb9d8a0c5829169328ccf950adc4496f 00004082: SWAP10 00004083: SLOAD 00004084: SWAP3 00004085: PUSH4 0xffffffff 0000408a: DUP5 0000408b: PUSH1 0xe0 0000408d: SHR 0000408e: DUP2 0000408f: TIMESTAMP 00004090: AND 00004091: SUB 00004092: AND 00004093: SWAP2 00004094: DUP3 00004095: ISZERO 00004096: ISZERO 00004097: DUP1 00004098: PUSH2 0x4176 0000409b: JUMPI 0000409c: JUMPDEST 0000409d: DUP1 0000409e: PUSH2 0x416b 000040a1: JUMPI 000040a2: JUMPDEST 000040a3: PUSH2 0x410e 000040a6: JUMPI 000040a7: JUMPDEST 000040a8: POP 000040a9: POP 000040aa: POP 000040ab: SWAP1 000040ac: SWAP2 000040ad: AND 000040ae: TIMESTAMP 000040af: PUSH1 0xe0 000040b1: SHL 000040b2: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 000040d3: AND 000040d4: DUP2 000040d5: OR 000040d6: PUSH1 0x70 000040d8: DUP6 000040d9: SWAP1 000040da: SHL 000040db: PUSH28 0xffffffffffffffffffffffffffff0000000000000000000000000000 000040f8: AND 000040f9: OR 000040fa: SWAP1 000040fb: SWAP3 000040fc: SSTORE 000040fd: POP 000040fe: DUP5 000040ff: MLOAD 00004100: SWAP1 00004101: DUP2 00004102: MSTORE 00004103: SWAP2 00004104: AND 00004105: PUSH1 0x20 00004107: DUP3 00004108: ADD 00004109: MSTORE 0000410a: SWAP1 0000410b: POP 0000410c: LOG2 0000410d: JUMP 0000410e: JUMPDEST 0000410f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000412c: SWAP2 0000412d: DUP11 0000412e: PUSH2 0x4157 00004131: SWAP3 00004132: DUP6 00004133: DUP6 00004134: PUSH2 0x4142 00004137: DUP4 00004138: DUP6 00004139: DUP8 0000413a: PUSH1 0x70 0000413c: SHL 0000413d: AND 0000413e: PUSH2 0x489c 00004141: JUMP 00004142: JUMPDEST 00004143: AND 00004144: MUL 00004145: PUSH1 0x01 00004147: DUP12 00004148: ADD 00004149: SWAP1 0000414a: DUP2 0000414b: SLOAD 0000414c: ADD 0000414d: SWAP1 0000414e: SSTORE 0000414f: PUSH1 0x70 00004151: SHL 00004152: AND 00004153: PUSH2 0x489c 00004156: JUMP 00004157: JUMPDEST 00004158: AND 00004159: MUL 0000415a: PUSH1 0x02 0000415c: DUP6 0000415d: ADD 0000415e: SWAP1 0000415f: DUP2 00004160: SLOAD 00004161: ADD 00004162: SWAP1 00004163: SSTORE 00004164: PUSH0 00004165: DUP1 00004166: DUP1 00004167: PUSH2 0x40a7 0000416a: JUMP 0000416b: JUMPDEST 0000416c: POP 0000416d: DUP6 0000416e: DUP3 0000416f: AND 00004170: ISZERO 00004171: ISZERO 00004172: PUSH2 0x40a2 00004175: JUMP 00004176: JUMPDEST 00004177: POP 00004178: DUP6 00004179: DUP2 0000417a: AND 0000417b: ISZERO 0000417c: ISZERO 0000417d: PUSH2 0x409c 00004180: JUMP 00004181: JUMPDEST 00004182: PUSH32 0x35278d1200000000000000000000000000000000000000000000000000000000 000041a3: PUSH0 000041a4: MSTORE 000041a5: PUSH1 0x04 000041a7: PUSH0 000041a8: REVERT 000041a9: JUMPDEST 000041aa: SWAP5 000041ab: SWAP2 000041ac: SWAP6 000041ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000041c2: SWAP1 000041c3: SWAP5 000041c4: SWAP2 000041c5: SWAP5 000041c6: AND 000041c7: SWAP3 000041c8: DUP4 000041c9: ISZERO 000041ca: PUSH2 0x42c4 000041cd: JUMPI 000041ce: DUP4 000041cf: EXTCODESIZE 000041d0: ISZERO 000041d1: PUSH2 0x0d28 000041d4: JUMPI 000041d5: PUSH0 000041d6: SWAP6 000041d7: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000041f8: PUSH1 0x1f 000041fa: PUSH1 0x20 000041fc: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000421d: SWAP7 0000421e: DUP11 0000421f: SWAP7 00004220: PUSH2 0x0104 00004223: SWAP7 00004224: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004239: PUSH1 0x40 0000423b: MLOAD 0000423c: SWAP15 0000423d: DUP16 0000423e: SWAP14 0000423f: DUP15 00004240: SWAP13 00004241: DUP14 00004242: SWAP11 00004243: PUSH32 0x6673247200000000000000000000000000000000000000000000000000000000 00004264: DUP13 00004265: MSTORE 00004266: AND 00004267: PUSH1 0x04 00004269: DUP12 0000426a: ADD 0000426b: MSTORE 0000426c: PUSH1 0x24 0000426e: DUP11 0000426f: ADD 00004270: MSTORE 00004271: AND 00004272: PUSH1 0x44 00004274: DUP9 00004275: ADD 00004276: MSTORE 00004277: PUSH1 0x64 00004279: DUP8 0000427a: ADD 0000427b: MSTORE 0000427c: PUSH1 0x84 0000427e: DUP7 0000427f: ADD 00004280: MSTORE 00004281: DUP7 00004282: PUSH1 0xa4 00004284: DUP7 00004285: ADD 00004286: MSTORE 00004287: PUSH1 0xe0 00004289: PUSH1 0xc4 0000428b: DUP7 0000428c: ADD 0000428d: MSTORE 0000428e: DUP1 0000428f: MLOAD 00004290: SWAP2 00004291: DUP3 00004292: SWAP2 00004293: DUP3 00004294: PUSH1 0xe4 00004296: DUP9 00004297: ADD 00004298: MSTORE 00004299: ADD 0000429a: DUP7 0000429b: DUP7 0000429c: ADD 0000429d: MCOPY 0000429e: DUP6 0000429f: DUP6 000042a0: DUP3 000042a1: DUP7 000042a2: ADD 000042a3: ADD 000042a4: MSTORE 000042a5: ADD 000042a6: AND 000042a7: DUP2 000042a8: ADD 000042a9: SUB 000042aa: ADD 000042ab: SWAP3 000042ac: GAS 000042ad: CALL 000042ae: DUP1 000042af: ISZERO 000042b0: PUSH2 0x3032 000042b3: JUMPI 000042b4: PUSH2 0x42ba 000042b7: JUMPI 000042b8: POP 000042b9: JUMP 000042ba: JUMPDEST 000042bb: PUSH0 000042bc: PUSH2 0x3cc6 000042bf: SWAP2 000042c0: PUSH2 0x3a14 000042c3: JUMP 000042c4: JUMPDEST 000042c5: POP 000042c6: POP 000042c7: POP 000042c8: POP 000042c9: POP 000042ca: POP 000042cb: POP 000042cc: JUMP 000042cd: JUMPDEST 000042ce: SWAP2 000042cf: SWAP7 000042d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000042e5: AND 000042e6: SWAP6 000042e7: SWAP1 000042e8: SWAP5 000042e9: SWAP2 000042ea: SWAP4 000042eb: SWAP1 000042ec: SWAP3 000042ed: DUP7 000042ee: ISZERO 000042ef: PUSH2 0x43df 000042f2: JUMPI 000042f3: DUP7 000042f4: EXTCODESIZE 000042f5: ISZERO 000042f6: PUSH2 0x0d28 000042f9: JUMPI 000042fa: PUSH1 0x40 000042fc: MLOAD 000042fd: SWAP8 000042fe: DUP9 000042ff: SWAP7 00004300: DUP8 00004301: SWAP7 00004302: PUSH32 0x6673247200000000000000000000000000000000000000000000000000000000 00004323: DUP9 00004324: MSTORE 00004325: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00004346: AND 00004347: PUSH1 0x04 00004349: DUP9 0000434a: ADD 0000434b: MSTORE 0000434c: PUSH1 0x24 0000434e: DUP8 0000434f: ADD 00004350: MSTORE 00004351: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004366: AND 00004367: PUSH1 0x44 00004369: DUP7 0000436a: ADD 0000436b: MSTORE 0000436c: PUSH1 0x64 0000436e: DUP6 0000436f: ADD 00004370: MSTORE 00004371: PUSH1 0x84 00004373: DUP5 00004374: ADD 00004375: MSTORE 00004376: PUSH1 0xa4 00004378: DUP4 00004379: ADD 0000437a: MSTORE 0000437b: PUSH1 0xc4 0000437d: DUP3 0000437e: ADD 0000437f: PUSH1 0xe0 00004381: SWAP1 00004382: MSTORE 00004383: DUP1 00004384: MLOAD 00004385: DUP1 00004386: SWAP2 00004387: DUP2 00004388: PUSH1 0xe4 0000438a: DUP6 0000438b: ADD 0000438c: MSTORE 0000438d: PUSH1 0x20 0000438f: ADD 00004390: PUSH2 0x0104 00004393: DUP5 00004394: ADD 00004395: MCOPY 00004396: DUP1 00004397: DUP3 00004398: ADD 00004399: PUSH2 0x0104 0000439c: ADD 0000439d: PUSH0 0000439e: SWAP1 0000439f: MSTORE 000043a0: PUSH1 0x1f 000043a2: ADD 000043a3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000043c4: AND 000043c5: DUP2 000043c6: ADD 000043c7: SUB 000043c8: PUSH2 0x0104 000043cb: ADD 000043cc: DUP2 000043cd: GAS 000043ce: PUSH0 000043cf: SWAP5 000043d0: DUP6 000043d1: SWAP2 000043d2: CALL 000043d3: DUP1 000043d4: ISZERO 000043d5: PUSH2 0x3032 000043d8: JUMPI 000043d9: PUSH2 0x42ba 000043dc: JUMPI 000043dd: POP 000043de: JUMP 000043df: JUMPDEST 000043e0: POP 000043e1: POP 000043e2: POP 000043e3: POP 000043e4: POP 000043e5: POP 000043e6: POP 000043e7: POP 000043e8: JUMP 000043e9: JUMPDEST 000043ea: SWAP1 000043eb: SWAP2 000043ec: SWAP3 000043ed: PUSH2 0x2710 000043f0: SUB 000043f1: SWAP1 000043f2: PUSH2 0x2710 000043f5: DUP3 000043f6: GT 000043f7: PUSH2 0x3a7f 000043fa: JUMPI 000043fb: PUSH2 0x440e 000043fe: SWAP2 000043ff: PUSH2 0x4407 00004402: SWAP2 00004403: PUSH2 0x3c3a 00004406: JUMP 00004407: JUMPDEST 00004408: SWAP3 00004409: DUP4 0000440a: PUSH2 0x3c3a 0000440d: JUMP 0000440e: JUMPDEST 0000440f: SWAP1 00004410: PUSH2 0x2710 00004413: DUP2 00004414: MUL 00004415: SWAP1 00004416: DUP1 00004417: DUP3 00004418: DIV 00004419: PUSH2 0x2710 0000441c: EQ 0000441d: SWAP1 0000441e: ISZERO 0000441f: OR 00004420: ISZERO 00004421: PUSH2 0x3a7f 00004424: JUMPI 00004425: PUSH2 0x4431 00004428: SWAP3 00004429: PUSH2 0x3e79 0000442c: SWAP2 0000442d: PUSH2 0x3b2f 00004430: JUMP 00004431: JUMPDEST 00004432: SWAP1 00004433: JUMP 00004434: JUMPDEST 00004435: DUP2 00004436: DUP2 00004437: MUL 00004438: SWAP2 00004439: DUP2 0000443a: ISZERO 0000443b: SWAP2 0000443c: DUP4 0000443d: DIV 0000443e: EQ 0000443f: OR 00004440: DUP3 00004441: MUL 00004442: ISZERO 00004443: PUSH2 0x444a 00004446: JUMPI 00004447: DIV 00004448: SWAP1 00004449: JUMP 0000444a: JUMPDEST 0000444b: PUSH4 0xad251c27 00004450: PUSH0 00004451: MSTORE 00004452: PUSH1 0x04 00004454: PUSH1 0x1c 00004456: REVERT 00004457: JUMPDEST 00004458: SWAP2 00004459: PUSH12 0xffffffffffffffffffffffff 00004466: DUP2 00004467: AND 00004468: SWAP3 00004469: PUSH2 0x4473 0000446c: DUP5 0000446d: DUP5 0000446e: DUP4 0000446f: PUSH2 0x3e8d 00004472: JUMP 00004473: JUMPDEST 00004474: PUSH2 0x4564 00004477: JUMPI 00004478: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000448d: DUP2 0000448e: AND 0000448f: ADDRESS 00004490: DUP2 00004491: SUB 00004492: PUSH2 0x44ac 00004495: JUMPI 00004496: POP 00004497: POP 00004498: POP 00004499: PUSH2 0x3cc6 0000449c: SWAP3 0000449d: PUSH2 0x44a7 000044a0: DUP4 000044a1: DUP4 000044a2: CALLER 000044a3: PUSH2 0x472e 000044a6: JUMP 000044a7: JUMPDEST 000044a8: PUSH2 0x47c8 000044ab: JUMP 000044ac: JUMPDEST 000044ad: SWAP1 000044ae: SWAP2 000044af: SWAP3 000044b0: DUP2 000044b1: ISZERO 000044b2: PUSH0 000044b3: EQ 000044b4: PUSH2 0x44cb 000044b7: JUMPI 000044b8: POP 000044b9: POP 000044ba: POP 000044bb: POP 000044bc: DUP1 000044bd: CALLVALUE 000044be: SUB 000044bf: PUSH2 0x2ed8 000044c2: JUMPI 000044c3: PUSH2 0x3cc6 000044c6: SWAP2 000044c7: PUSH2 0x3c65 000044ca: JUMP 000044cb: JUMPDEST 000044cc: SWAP3 000044cd: SWAP5 000044ce: SWAP3 000044cf: DUP1 000044d0: PUSH2 0x44e1 000044d3: JUMPI 000044d4: POP 000044d5: POP 000044d6: PUSH2 0x3cc6 000044d9: SWAP4 000044da: POP 000044db: CALLER 000044dc: SWAP1 000044dd: PUSH2 0x4835 000044e0: JUMP 000044e1: JUMPDEST 000044e2: PUSH1 0x40 000044e4: MLOAD 000044e5: PUSH32 0xfe99049a00000000000000000000000000000000000000000000000000000000 00004506: DUP2 00004507: MSTORE 00004508: CALLER 00004509: PUSH1 0x04 0000450b: DUP3 0000450c: ADD 0000450d: MSTORE 0000450e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004523: SWAP1 00004524: SWAP5 00004525: AND 00004526: PUSH1 0x24 00004528: DUP6 00004529: ADD 0000452a: MSTORE 0000452b: PUSH1 0x44 0000452d: DUP5 0000452e: ADD 0000452f: MSTORE 00004530: PUSH12 0xffffffffffffffffffffffff 0000453d: SWAP1 0000453e: SWAP5 0000453f: AND 00004540: PUSH1 0x64 00004542: DUP4 00004543: ADD 00004544: MSTORE 00004545: POP 00004546: SWAP2 00004547: PUSH1 0x20 00004549: SWAP2 0000454a: POP 0000454b: DUP3 0000454c: SWAP1 0000454d: DUP2 0000454e: PUSH0 0000454f: DUP2 00004550: PUSH1 0x84 00004552: DUP2 00004553: ADD 00004554: SUB 00004555: SWAP3 00004556: GAS 00004557: CALL 00004558: DUP1 00004559: ISZERO 0000455a: PUSH2 0x3032 0000455d: JUMPI 0000455e: PUSH2 0x3d4c 00004561: JUMPI 00004562: POP 00004563: JUMP 00004564: JUMPDEST 00004565: POP 00004566: POP 00004567: POP 00004568: POP 00004569: POP 0000456a: CALLVALUE 0000456b: PUSH2 0x2ed8 0000456e: JUMPI 0000456f: JUMP 00004570: JUMPDEST 00004571: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004586: SWAP2 00004587: SWAP3 00004588: PUSH8 0xedcaa89a82293940 00004591: PUSH1 0x20 00004593: MSTORE 00004594: DUP2 00004595: PUSH1 0x14 00004597: MSTORE 00004598: DUP4 00004599: PUSH0 0000459a: MSTORE 0000459b: DUP1 0000459c: PUSH1 0x40 0000459e: PUSH0 0000459f: KECCAK256 000045a0: SSTORE 000045a1: CALLER 000045a2: PUSH0 000045a3: MSTORE 000045a4: PUSH1 0x20 000045a6: MSTORE 000045a7: AND 000045a8: PUSH0 000045a9: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859 000045ca: PUSH1 0x40 000045cc: DUP3 000045cd: LOG4 000045ce: JUMP 000045cf: JUMPDEST 000045d0: PUSH1 0x20 000045d2: SLOAD 000045d3: DUP1 000045d4: ISZERO 000045d5: DUP1 000045d6: ISZERO 000045d7: SWAP7 000045d8: SWAP6 000045d9: SWAP2 000045da: SWAP3 000045db: SWAP2 000045dc: SWAP1 000045dd: PUSH2 0x4717 000045e0: JUMPI 000045e1: PUSH1 0x03 000045e3: DUP3 000045e4: ADD 000045e5: SLOAD 000045e6: SWAP5 000045e7: DUP6 000045e8: PUSH2 0x45f4 000045eb: JUMPI 000045ec: JUMPDEST 000045ed: POP 000045ee: POP 000045ef: POP 000045f0: POP 000045f1: POP 000045f2: POP 000045f3: JUMP 000045f4: JUMPDEST 000045f5: PUSH2 0x0688 000045f8: PUSH2 0x4617 000045fb: SWAP2 000045fc: PUSH14 0xffffffffffffffffffffffffffff 0000460b: DUP1 0000460c: PUSH2 0x46a9 0000460f: SWAP6 00004610: AND 00004611: SWAP2 00004612: AND 00004613: PUSH2 0x3c3a 00004616: JUMP 00004617: JUMPDEST 00004618: SWAP5 00004619: DUP1 0000461a: PUSH17 0xffffffffffffffffffffffffffffffffff 0000462c: LT 0000462d: PUSH1 0x07 0000462f: SHL 00004630: DUP2 00004631: DUP2 00004632: SHR 00004633: PUSH9 0xffffffffffffffffff 0000463d: LT 0000463e: PUSH1 0x06 00004640: SHL 00004641: OR 00004642: DUP2 00004643: DUP2 00004644: SHR 00004645: PUSH5 0xffffffffff 0000464b: LT 0000464c: PUSH1 0x05 0000464e: SHL 0000464f: OR 00004650: DUP2 00004651: DUP2 00004652: SHR 00004653: PUSH3 0xffffff 00004657: LT 00004658: PUSH1 0x04 0000465a: SHL 0000465b: OR 0000465c: PUSH1 0xb5 0000465e: PUSH3 0x010000 00004662: DUP4 00004663: DUP4 00004664: SHR 00004665: ADD 00004666: SWAP2 00004667: PUSH1 0x01 00004669: SHR 0000466a: SHL 0000466b: MUL 0000466c: PUSH1 0x12 0000466e: SHR 0000466f: DUP1 00004670: DUP3 00004671: DIV 00004672: ADD 00004673: PUSH1 0x01 00004675: SHR 00004676: DUP1 00004677: DUP3 00004678: DIV 00004679: ADD 0000467a: PUSH1 0x01 0000467c: SHR 0000467d: DUP1 0000467e: DUP3 0000467f: DIV 00004680: ADD 00004681: PUSH1 0x01 00004683: SHR 00004684: DUP1 00004685: DUP3 00004686: DIV 00004687: ADD 00004688: PUSH1 0x01 0000468a: SHR 0000468b: DUP1 0000468c: DUP3 0000468d: DIV 0000468e: ADD 0000468f: PUSH1 0x01 00004691: SHR 00004692: DUP1 00004693: DUP3 00004694: DIV 00004695: ADD 00004696: PUSH1 0x01 00004698: SHR 00004699: DUP1 0000469a: DUP3 0000469b: DIV 0000469c: ADD 0000469d: PUSH1 0x01 0000469f: SHR 000046a0: DUP1 000046a1: DUP1 000046a2: SWAP3 000046a3: DIV 000046a4: LT 000046a5: SWAP1 000046a6: SUB 000046a7: SWAP1 000046a8: JUMP 000046a9: JUMPDEST 000046aa: SWAP1 000046ab: DUP2 000046ac: DUP6 000046ad: GT 000046ae: PUSH2 0x46b8 000046b1: JUMPI 000046b2: JUMPDEST 000046b3: DUP1 000046b4: PUSH2 0x45ec 000046b7: JUMP 000046b8: JUMPDEST 000046b9: PUSH1 0x04 000046bb: ADD 000046bc: SWAP4 000046bd: PUSH2 0x46cb 000046c0: DUP6 000046c1: SLOAD 000046c2: PUSH2 0x1080 000046c5: DUP5 000046c6: DUP5 000046c7: PUSH2 0x3b22 000046ca: JUMP 000046cb: JUMPDEST 000046cc: SWAP1 000046cd: PUSH1 0x05 000046cf: DUP2 000046d0: MUL 000046d1: SWAP1 000046d2: DUP1 000046d3: DUP3 000046d4: DIV 000046d5: PUSH1 0x05 000046d7: EQ 000046d8: SWAP1 000046d9: ISZERO 000046da: OR 000046db: ISZERO 000046dc: PUSH2 0x3a7f 000046df: JUMPI 000046e0: PUSH2 0x46ec 000046e3: SWAP3 000046e4: PUSH2 0x3e79 000046e7: SWAP2 000046e8: PUSH2 0x3b2f 000046eb: JUMP 000046ec: JUMPDEST 000046ed: DUP1 000046ee: SWAP3 000046ef: DUP2 000046f0: PUSH2 0x4706 000046f3: JUMPI 000046f4: JUMPDEST 000046f5: POP 000046f6: POP 000046f7: POP 000046f8: DUP2 000046f9: SLOAD 000046fa: ADD 000046fb: SWAP1 000046fc: SSTORE 000046fd: PUSH0 000046fe: DUP1 000046ff: DUP1 00004700: DUP1 00004701: DUP1 00004702: PUSH2 0x46b2 00004705: JUMP 00004706: JUMPDEST 00004707: PUSH2 0x470f 0000470a: SWAP3 0000470b: PUSH2 0x47c8 0000470e: JUMP 0000470f: JUMPDEST 00004710: PUSH0 00004711: DUP2 00004712: DUP2 00004713: PUSH2 0x46f4 00004716: JUMP 00004717: JUMPDEST 00004718: POP 00004719: SWAP2 0000471a: POP 0000471b: POP 0000471c: PUSH1 0x03 0000471e: SWAP2 0000471f: POP 00004720: ADD 00004721: DUP1 00004722: SLOAD 00004723: PUSH2 0x4729 00004726: JUMPI 00004727: POP 00004728: JUMP 00004729: JUMPDEST 0000472a: PUSH0 0000472b: SWAP1 0000472c: SSTORE 0000472d: JUMP 0000472e: JUMPDEST 0000472f: SWAP1 00004730: SWAP2 00004731: PUSH8 0xedcaa89a82293940 0000473a: PUSH1 0x20 0000473c: MSTORE 0000473d: DUP2 0000473e: PUSH1 0x14 00004740: MSTORE 00004741: DUP3 00004742: PUSH0 00004743: MSTORE 00004744: PUSH1 0x40 00004746: PUSH0 00004747: KECCAK256 00004748: SWAP2 00004749: DUP3 0000474a: SLOAD 0000474b: SWAP2 0000474c: DUP3 0000474d: DUP2 0000474e: GT 0000474f: PUSH2 0x345e 00004752: JUMPI 00004753: PUSH0 00004754: SWAP4 00004755: DUP2 00004756: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000476b: SWAP5 0000476c: SUB 0000476d: SWAP1 0000476e: SSTORE 0000476f: CALLER 00004770: DUP5 00004771: MSTORE 00004772: PUSH1 0x20 00004774: MSTORE 00004775: AND 00004776: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859 00004797: PUSH1 0x40 00004799: DUP4 0000479a: LOG4 0000479b: JUMP 0000479c: JUMPDEST 0000479d: SWAP2 0000479e: SWAP1 0000479f: PUSH1 0x40 000047a1: MLOAD 000047a2: SWAP3 000047a3: CALLER 000047a4: PUSH0 000047a5: MSTORE 000047a6: PUSH1 0x20 000047a8: MSTORE 000047a9: PUSH1 0x40 000047ab: MSTORE 000047ac: PUSH1 0x60 000047ae: PUSH0 000047af: KECCAK256 000047b0: SWAP2 000047b1: DUP3 000047b2: TLOAD 000047b3: SWAP3 000047b4: DUP4 000047b5: PUSH2 0x47bf 000047b8: JUMPI 000047b9: JUMPDEST 000047ba: POP 000047bb: PUSH1 0x40 000047bd: MSTORE 000047be: JUMP 000047bf: JUMPDEST 000047c0: PUSH0 000047c1: SWAP1 000047c2: TSTORE 000047c3: PUSH0 000047c4: PUSH2 0x47b9 000047c7: JUMP 000047c8: JUMPDEST 000047c9: SWAP2 000047ca: SWAP1 000047cb: SWAP2 000047cc: PUSH8 0xedcaa89a82293940 000047d5: PUSH1 0x20 000047d7: MSTORE 000047d8: DUP1 000047d9: PUSH1 0x14 000047db: MSTORE 000047dc: DUP3 000047dd: PUSH0 000047de: MSTORE 000047df: PUSH1 0x40 000047e1: PUSH0 000047e2: KECCAK256 000047e3: SWAP2 000047e4: DUP3 000047e5: SLOAD 000047e6: DUP2 000047e7: DUP2 000047e8: ADD 000047e9: SWAP1 000047ea: DUP2 000047eb: LT 000047ec: PUSH2 0x3451 000047ef: JUMPI 000047f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004805: SWAP4 00004806: SSTORE 00004807: CALLER 00004808: PUSH0 00004809: MSTORE 0000480a: PUSH1 0x20 0000480c: MSTORE 0000480d: AND 0000480e: PUSH0 0000480f: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859 00004830: PUSH1 0x40 00004832: DUP3 00004833: LOG4 00004834: JUMP 00004835: JUMPDEST 00004836: SWAP2 00004837: PUSH1 0x40 00004839: MLOAD 0000483a: SWAP4 0000483b: PUSH1 0x60 0000483d: MSTORE 0000483e: PUSH1 0x40 00004840: MSTORE 00004841: PUSH1 0x60 00004843: SHL 00004844: PUSH1 0x2c 00004846: MSTORE 00004847: PUSH16 0x23b872dd000000000000000000000000 00004858: PUSH1 0x0c 0000485a: MSTORE 0000485b: PUSH1 0x20 0000485d: PUSH0 0000485e: PUSH1 0x64 00004860: PUSH1 0x1c 00004862: DUP3 00004863: DUP6 00004864: GAS 00004865: CALL 00004866: SWAP1 00004867: DUP2 00004868: PUSH1 0x01 0000486a: PUSH0 0000486b: MLOAD 0000486c: EQ 0000486d: AND 0000486e: ISZERO 0000486f: PUSH2 0x487e 00004872: JUMPI 00004873: JUMPDEST 00004874: POP 00004875: POP 00004876: PUSH0 00004877: PUSH1 0x60 00004879: MSTORE 0000487a: PUSH1 0x40 0000487c: MSTORE 0000487d: JUMP 0000487e: JUMPDEST 0000487f: EXTCODESIZE 00004880: ISZERO 00004881: RETURNDATASIZE 00004882: OR 00004883: LT 00004884: ISZERO 00004885: PUSH2 0x488f 00004888: JUMPI 00004889: PUSH0 0000488a: DUP1 0000488b: PUSH2 0x4873 0000488e: JUMP 0000488f: JUMPDEST 00004890: PUSH4 0x7939f424 00004895: PUSH0 00004896: MSTORE 00004897: PUSH1 0x04 00004899: PUSH1 0x1c 0000489b: REVERT 0000489c: JUMPDEST 0000489d: SWAP1 0000489e: PUSH14 0xffffffffffffffffffffffffffff 000048ad: AND 000048ae: SWAP1 000048af: DUP2 000048b0: ISZERO 000048b1: PUSH2 0x3e05 000048b4: JUMPI 000048b5: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000048d2: AND 000048d3: DIV 000048d4: SWAP1 000048d5: JUMP 000048d6: INVALID 000048d7: LOG2 000048d8: PUSH5 0x6970667358 000048de: UNKNOWN(0x22) 000048df: SLT 000048e0: KECCAK256 000048e1: GASPRICE 000048e2: MUL 000048e3: UNKNOWN(0xEE) 000048e4: STATICCALL 000048e5: XOR 000048e6: DUP9 000048e7: SWAP8 000048e8: RETURN 000048e9: GASPRICE 000048ea: DUP9 000048eb: UNKNOWN(0xB1) 000048ec: UNKNOWN(0xA8) 000048ed: UNKNOWN(0xCF) 000048ee: BLOCKHASH 000048ef: CHAINID 000048f0: SWAP3 000048f1: UNKNOWN(0xB9) 000048f2: SWAP2 000048f3: UNKNOWN(0xE8) 000048f4: BALANCE 000048f5: UNKNOWN(0xB1) 000048f6: UNKNOWN(0x4C) 000048f7: UNKNOWN(0x2E) 000048f8: CLZ 000048f9: UNKNOWN(0xF6) 000048fa: ORIGIN 000048fb: STATICCALL 000048fc: UNKNOWN(0xEC) 000048fd: UNKNOWN(0xA9) 000048fe: ORIGIN 000048ff: LT 00004900: UNKNOWN(0xDA) 00004901: PUSH5 0x736f6c6343 00004907: STOP 00004908: ADDMOD 00004909: CLZ 0000490a: STOP 0000490b: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01ffc9a7",
"selector": "0x01ffc9a7",
"calldata_variants": [
"0x01ffc9a7",
"0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07b99000",
"selector": "0x07b99000",
"calldata_variants": [
"0x07b99000",
"0x07b990000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095bcdb6",
"selector": "0x095bcdb6",
"calldata_variants": [
"0x095bcdb6",
"0x095bcdb60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0efe6a8b",
"selector": "0x0efe6a8b",
"calldata_variants": [
"0x0efe6a8b",
"0x0efe6a8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2dd1a516",
"selector": "0x2dd1a516",
"calldata_variants": [
"0x2dd1a516",
"0x2dd1a5160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x346cfccc",
"selector": "0x346cfccc",
"calldata_variants": [
"0x346cfccc",
"0x346cfccc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38c3f8db",
"selector": "0x38c3f8db",
"calldata_variants": [
"0x38c3f8db",
"0x38c3f8db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3c5eec50",
"selector": "0x3c5eec50",
"calldata_variants": [
"0x3c5eec50",
"0x3c5eec500000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 18682,
"type": "tx_origin_used"
},
{
"pc": 18686,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x0b3f7dad8847d8d5f31fceee8af726fc23ed3f7995bdcb73f1d134ab95145258
call_targets:
0x000000000000040470635eb91b7ce4d132d616ed
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0b3f7dad8847d8d5f31fceee8af726fc23ed3f7995bdcb73f1d134ab95145258",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x000000000000040470635eb91b7ce4d132d616ed"
],
"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": "0x01ffc9a7",
"selector": "0x01ffc9a7",
"calldata_variants": [
"0x01ffc9a7",
"0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07b99000",
"selector": "0x07b99000",
"calldata_variants": [
"0x07b99000",
"0x07b990000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095bcdb6",
"selector": "0x095bcdb6",
"calldata_variants": [
"0x095bcdb6",
"0x095bcdb60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0efe6a8b",
"selector": "0x0efe6a8b",
"calldata_variants": [
"0x0efe6a8b",
"0x0efe6a8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2dd1a516",
"selector": "0x2dd1a516",
"calldata_variants": [
"0x2dd1a516",
"0x2dd1a5160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x346cfccc",
"selector": "0x346cfccc",
"calldata_variants": [
"0x346cfccc",
"0x346cfccc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38c3f8db",
"selector": "0x38c3f8db",
"calldata_variants": [
"0x38c3f8db",
"0x38c3f8db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3c5eec50",
"selector": "0x3c5eec50",
"calldata_variants": [
"0x3c5eec50",
"0x3c5eec500000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3240,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5083,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5385,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 15,
"guards_detected": [
{
"pc": 18682,
"type": "tx_origin_used"
},
{
"pc": 18686,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 15
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x0b3f7dad8847d8d5f31fceee8af726fc23ed3f7995bdcb73f1d134ab95145258
call_targets:
0x000000000000040470635eb91b7ce4d132d616ed
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0b3f7dad8847d8d5f31fceee8af726fc23ed3f7995bdcb73f1d134ab95145258",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x000000000000040470635eb91b7ce4d132d616ed"
],
"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": "0x01ffc9a7",
"selector": "0x01ffc9a7",
"calldata_variants": [
"0x01ffc9a7",
"0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07b99000",
"selector": "0x07b99000",
"calldata_variants": [
"0x07b99000",
"0x07b990000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095bcdb6",
"selector": "0x095bcdb6",
"calldata_variants": [
"0x095bcdb6",
"0x095bcdb60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0efe6a8b",
"selector": "0x0efe6a8b",
"calldata_variants": [
"0x0efe6a8b",
"0x0efe6a8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2dd1a516",
"selector": "0x2dd1a516",
"calldata_variants": [
"0x2dd1a516",
"0x2dd1a5160000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x346cfccc",
"selector": "0x346cfccc",
"calldata_variants": [
"0x346cfccc",
"0x346cfccc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x38c3f8db",
"selector": "0x38c3f8db",
"calldata_variants": [
"0x38c3f8db",
"0x38c3f8db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3c5eec50",
"selector": "0x3c5eec50",
"calldata_variants": [
"0x3c5eec50",
"0x3c5eec500000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3240,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5083,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5385,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 15,
"guards_detected": [
{
"pc": 18682,
"type": "tx_origin_used"
},
{
"pc": 18686,
"type": "tx_origin_used"
}
]
}
|
| medium | other | codex | Unchecked ERC6909 transfer/transferFrom allows spoofed transfers and reserve desync | 75 | no | — |
viewevidence_json{
"evidence": "`ZERC6909(token).transfer(...)` and `ZERC6909(token).transferFrom(...)` are called without checking the return value.",
"locations": [
"src/ZAMM.sol:62",
"src/ZAMM.sol:84",
"src/ZAMM.sol:858",
"src/ZAMM.sol:876"
],
"recommendation": "Check the boolean return value for ERC6909 `transfer`/`transferFrom` and revert on failure, or wrap them with a SafeTransfer-style helper that verifies return data. Alternatively, enforce an allowlist of compliant ERC6909 tokens.",
"exploit_scenario": "An attacker deploys an ERC6909-like token that returns false (or returns no value) without transferring. They create a pool with a real asset and this token, then add liquidity or swap using the malicious token. Because the AMM ignores the return value, it updates reserves as if tokens were received and transfers out the real asset, letting the attacker drain the pool or fill orders without paying."
}
|
| 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": 6
}
|
| 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": 17
}
|