019ba9bd-3bd2-7165-b27e-350fe4b4d11c
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 |
|---|---|---|---|---|
| 37912 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 37913 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 37914 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 37915 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 37916 | capability.graph | complete | 1 / 3 | 3 months ago |
| 37917 | detector.run | complete | 1 / 3 | 3 months ago |
| 37918 | validation.fork | complete | 1 / 3 | 3 months ago |
| 38152 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.","findings":[{"severity":"medium","category":"other","title":"Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values","exploit_scenario":"An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap.","recommendation":"Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.","evidence":"`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.","locations":["contracts/reserve/main.sol:238","contracts/reserve/main.sol:250"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-qd9lvvmu
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019baa2e-1bd4-7ad3-a18d-5479514a9180
--------
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
**Preparing to audit AGENTS and bundle files**
exec
/bin/bash -lc ls in /tmp/codex-qd9lvvmu succeeded in 8ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
@openzeppelin
thinking
**Locating AUDIT_BUNDLE**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-qd9lvvmu succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/infiniteProxy/interfaces/iProxy.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.21 <=0.8.29;
interface IProxy {
function setAdmin(address newAdmin_) external;
function setDummyImplementation(address newDummyImplementation_) external;
function addImplementation(address implementation_, bytes4[] calldata sigs_) external;
function removeImplementation(address implementation_) external;
function getAdmin() external view returns (address);
thinking
**Checking for audit bundle files**
exec
/bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-qd9lvvmu succeeded in 20ms:
5:FILE: contracts/infiniteProxy/interfaces/iProxy.sol
31:FILE: contracts/libraries/errorTypes.sol
69:FILE: contracts/libraries/safeTransfer.sol
170:FILE: contracts/liquidity/adminModule/structs.sol
319:FILE: contracts/liquidity/interfaces/iLiquidity.sol
452:FILE: contracts/protocols/lending/interfaces/iFToken.sol
676:FILE: contracts/protocols/lending/interfaces/iLendingFactory.sol
744:FILE: contracts/protocols/lending/interfaces/iLendingRewardsRateModel.sol
773:FILE: contracts/protocols/lending/interfaces/permit2/iAllowanceTransfer.sol
953:FILE: contracts/protocols/vault/interfaces/iVault.sol
1053:FILE: contracts/protocols/vault/interfaces/iVaultT1.sol
1159:FILE: contracts/reserve/error.sol
1169:FILE: contracts/reserve/errorTypes.sol
1199:FILE: contracts/reserve/events.sol
1231:FILE: contracts/reserve/main.sol
1628:FILE: contracts/reserve/structs.sol
1646:FILE: contracts/reserve/variables.sol
thinking
**Inspecting main contract files**
exec
/bin/bash -lc "sed -n '1199,1628p' AUDIT_BUNDLE.txt" in /tmp/codex-qd9lvvmu succeeded in 10ms:
FILE: contracts/reserve/events.sol
================================================================================
// SPDX-License-Identifier: BUSL-1.1
pragma solidity 0.8.21;
abstract contract Events {
/// @notice Emitted when an address is added or removed from the auths
event LogUpdateAuth(address indexed auth, bool isAuth);
/// @notice Emitted when an address is added or removed from the rebalancers
event LogUpdateRebalancer(address indexed rebalancer, bool isRebalancer);
/// @notice Emitted when a token is approved for use by a protocol
event LogAllow(address indexed protocol, address indexed token, uint256 newAllowance, uint existingAllowance);
/// @notice Emitted when a token is revoked for use by a protocol
event LogRevoke(address indexed protocol, address indexed token);
/// @notice Emitted when fToken is rebalanced
event LogRebalanceFToken(address indexed protocol, uint amount);
thinking
**Analyzing reentrancy and allowance risks**
I'm carefully examining the contract’s external calls, especially in rebalanceDexVault, to spot potential reentrancy vulnerabilities tied to allowance accounting. I notice that allowance decrements depend on protocol return values, which a malicious protocol could manipulate to overspend ETH without reducing allowances. This could lead to multiple drains beyond set limits by an authorized rebalancer using a compromised protocol, representing a medium severity issue worth flagging.
thinking
**Reviewing token approval patterns and multisig withdrawals**
I'm evaluating how safeApprove handles tokens like USDT that require zeroing allowances first, noting it’s done correctly but could revert with non-standard tokens. I also consider privilege restrictions on functions like withdrawFunds and approve to assess reentrancy exposure. Finally, I plan to produce a JSON report with findings referencing approximate line numbers from the reserve main contract.
exec
/bin/bash -lc "nl -ba contracts/reserve/main.sol | sed -n '1,260p'" in /tmp/codex-qd9lvvmu succeeded in 14ms:
1 // SPDX-License-Identifier: BUSL-1.1
2 pragma solidity 0.8.21;
3
4 import { UUPSUpgradeable } from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
5 import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
6 import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
7 import { EnumerableSet } from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
8
9 import { IFTokenAdmin } from "../protocols/lending/interfaces/iFToken.sol";
10 import { IFluidVaultT1 } from "../protocols/vault/interfaces/iVaultT1.sol";
11 import { IFluidVault } from "../protocols/vault/interfaces/iVault.sol";
12 import { SafeTransfer } from "../libraries/safeTransfer.sol";
13
14 import { Variables } from "./variables.sol";
15 import { Events } from "./events.sol";
16 import { ErrorTypes } from "./errorTypes.sol";
17 import { Error } from "./error.sol";
18
19 abstract contract ReserveContractAuth is Variables, Error, Events {
20 using EnumerableSet for EnumerableSet.AddressSet;
thinking
**Requesting more lines**
exec
/bin/bash -lc "nl -ba contracts/reserve/main.sol | sed -n '260,520p'" in /tmp/codex-qd9lvvmu succeeded in 31ms:
260 nativeTokenAllowances[protocol_] -= usedBalance_;
261 }
262 }
263
264 emit LogRebalanceVault(protocol_, colAmount_, debtAmount_);
265 }
266
267 /// @notice calls `rebalanceFToken` multiple times
268 /// @dev don't need onlyRebalancer modifier as it is already checked in `rebalanceFToken` function
269 function rebalanceFTokens(address[] calldata protocols_, uint256[] calldata values_) external payable {
270 if (protocols_.length != values_.length) {
271 revert FluidReserveContractError(ErrorTypes.ReserveContract__InvalidInputLenghts);
272 }
273
274 for (uint256 i = 0; i < protocols_.length; i++) {
275 rebalanceFToken(protocols_[i], values_[i]);
276 }
277 }
278
279 /// @notice calls `rebalanceVault` multiple times
thinking
**Analyzing allowance and rebalancer risks**
I'm evaluating the implications of immutable addresses in an upgradeable proxy setup, focusing on native and ERC20 allowances tied to rebalancer calls. It seems the rebalancer can call any approved protocol, which may pose a medium-severity risk if a malicious protocol falsifies return values to bypass native allowance restrictions during vault rebalances. I'll summarize this as a finding, categorize it as "other," and prepare a JSON output highlighting the potential accounting invariant break and recommended safeguards.
codex
{"no_findings":false,"summary":"Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.","findings":[{"severity":"medium","category":"other","title":"Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values","exploit_scenario":"An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap.","recommendation":"Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.","evidence":"`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.","locations":["contracts/reserve/main.sol:238","contracts/reserve/main.sol:250"]}]}
tokens used
34,322
{
"codex": {
"ran_at": "2026-01-10T23:13:48.537265+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 33,
"import_count": 35,
"first_party_contracts_count": 17
},
"summary": "Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.",
"raw_final": {
"summary": "Found one medium issue where native-token allowance accounting for dex vault rebalances can be bypassed by a malicious protocol returning misleading values, enabling spending beyond configured limits.",
"findings": [
{
"title": "Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values",
"category": "other",
"evidence": "`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.",
"severity": "medium",
"locations": [
"contracts/reserve/main.sol:238",
"contracts/reserve/main.sol:250"
],
"recommendation": "Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.",
"exploit_scenario": "An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01a5 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x4f1ef286 00000019: GT 0000001a: PUSH2 0x00e1 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x8da5cb5b 00000024: GT 00000025: PUSH2 0x008a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xe9c771b2 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe9c771b2 0000003a: EQ 0000003b: PUSH2 0x04b7 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xec1a9dd4 00000045: EQ 00000046: PUSH2 0x04d7 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xef33e9db 00000050: EQ 00000051: PUSH2 0x0504 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf2fde38b 0000005b: EQ 0000005c: PUSH2 0x0526 0000005f: JUMPI 00000060: PUSH1 0x00 00000062: DUP1 00000063: REVERT 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0x8da5cb5b 0000006b: EQ 0000006c: PUSH2 0x042b 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xc11b353c 00000076: EQ 00000077: PUSH2 0x0456 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xc8354898 00000081: EQ 00000082: PUSH2 0x0483 00000085: JUMPI 00000086: PUSH1 0x00 00000088: DUP1 00000089: REVERT 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0x702b5175 00000091: GT 00000092: PUSH2 0x00bb 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x702b5175 0000009c: EQ 0000009d: PUSH2 0x03c9 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x715018a6 000000a7: EQ 000000a8: PUSH2 0x03e9 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x801ca144 000000b2: EQ 000000b3: PUSH2 0x03fe 000000b6: JUMPI 000000b7: PUSH1 0x00 000000b9: DUP1 000000ba: REVERT 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0x4f1ef286 000000c2: EQ 000000c3: PUSH2 0x0373 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0x5274ac3f 000000cd: EQ 000000ce: PUSH2 0x0386 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x52d1902d 000000d8: EQ 000000d9: PUSH2 0x03a6 000000dc: JUMPI 000000dd: PUSH1 0x00 000000df: DUP1 000000e0: REVERT 000000e1: JUMPDEST 000000e2: DUP1 000000e3: PUSH4 0x2bb39399 000000e8: GT 000000e9: PUSH2 0x014e 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x392094fc 000000f3: GT 000000f4: PUSH2 0x0128 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x392094fc 000000fe: EQ 000000ff: PUSH2 0x02fd 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x3ee1f1ea 00000109: EQ 0000010a: PUSH2 0x0310 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x432abd56 00000114: EQ 00000115: PUSH2 0x0330 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x467c9eff 0000011f: EQ 00000120: PUSH2 0x0343 00000123: JUMPI 00000124: PUSH1 0x00 00000126: DUP1 00000127: REVERT 00000128: JUMPDEST 00000129: DUP1 0000012a: PUSH4 0x2bb39399 0000012f: EQ 00000130: PUSH2 0x02b7 00000133: JUMPI 00000134: DUP1 00000135: PUSH4 0x3659cfe6 0000013a: EQ 0000013b: PUSH2 0x02ca 0000013e: JUMPI 0000013f: DUP1 00000140: PUSH4 0x386b8e6f 00000145: EQ 00000146: PUSH2 0x02ea 00000149: JUMPI 0000014a: PUSH1 0x00 0000014c: DUP1 0000014d: REVERT 0000014e: JUMPDEST 0000014f: DUP1 00000150: PUSH4 0x111a399b 00000155: GT 00000156: PUSH2 0x017f 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0x111a399b 00000160: EQ 00000161: PUSH2 0x0251 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0x13b14ebb 0000016b: EQ 0000016c: PUSH2 0x0264 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x2520e7ff 00000176: EQ 00000177: PUSH2 0x0277 0000017a: JUMPI 0000017b: PUSH1 0x00 0000017d: DUP1 0000017e: REVERT 0000017f: JUMPDEST 00000180: DUP1 00000181: PUSH4 0x03e80461 00000186: EQ 00000187: PUSH2 0x01b1 0000018a: JUMPI 0000018b: DUP1 0000018c: PUSH4 0x07604b1a 00000191: EQ 00000192: PUSH2 0x01d3 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0x0de30836 0000019c: EQ 0000019d: PUSH2 0x0231 000001a0: JUMPI 000001a1: PUSH1 0x00 000001a3: DUP1 000001a4: REVERT 000001a5: JUMPDEST 000001a6: CALLDATASIZE 000001a7: PUSH2 0x01ac 000001aa: JUMPI 000001ab: STOP 000001ac: JUMPDEST 000001ad: PUSH1 0x00 000001af: DUP1 000001b0: REVERT 000001b1: JUMPDEST 000001b2: CALLVALUE 000001b3: DUP1 000001b4: ISZERO 000001b5: PUSH2 0x01bd 000001b8: JUMPI 000001b9: PUSH1 0x00 000001bb: DUP1 000001bc: REVERT 000001bd: JUMPDEST 000001be: POP 000001bf: PUSH2 0x01d1 000001c2: PUSH2 0x01cc 000001c5: CALLDATASIZE 000001c6: PUSH1 0x04 000001c8: PUSH2 0x3754 000001cb: JUMP 000001cc: JUMPDEST 000001cd: PUSH2 0x0546 000001d0: JUMP 000001d1: JUMPDEST 000001d2: STOP 000001d3: JUMPDEST 000001d4: CALLVALUE 000001d5: DUP1 000001d6: ISZERO 000001d7: PUSH2 0x01df 000001da: JUMPI 000001db: PUSH1 0x00 000001dd: DUP1 000001de: REVERT 000001df: JUMPDEST 000001e0: POP 000001e1: PUSH2 0x0207 000001e4: PUSH32 0x00000000000000000000000028849d2b63fa8d361e5fc15cb8abb13019884d09 00000205: DUP2 00000206: JUMP 00000207: JUMPDEST 00000208: PUSH1 0x40 0000020a: MLOAD 0000020b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000220: SWAP1 00000221: SWAP2 00000222: AND 00000223: DUP2 00000224: MSTORE 00000225: PUSH1 0x20 00000227: ADD 00000228: JUMPDEST 00000229: PUSH1 0x40 0000022b: MLOAD 0000022c: DUP1 0000022d: SWAP2 0000022e: SUB 0000022f: SWAP1 00000230: RETURN 00000231: JUMPDEST 00000232: CALLVALUE 00000233: DUP1 00000234: ISZERO 00000235: PUSH2 0x023d 00000238: JUMPI 00000239: PUSH1 0x00 0000023b: DUP1 0000023c: REVERT 0000023d: JUMPDEST 0000023e: POP 0000023f: PUSH2 0x01d1 00000242: PUSH2 0x024c 00000245: CALLDATASIZE 00000246: PUSH1 0x04 00000248: PUSH2 0x37ea 0000024b: JUMP 0000024c: JUMPDEST 0000024d: PUSH2 0x0882 00000250: JUMP 00000251: JUMPDEST 00000252: PUSH2 0x01d1 00000255: PUSH2 0x025f 00000258: CALLDATASIZE 00000259: PUSH1 0x04 0000025b: PUSH2 0x3823 0000025e: JUMP 0000025f: JUMPDEST 00000260: PUSH2 0x09f1 00000263: JUMP 00000264: JUMPDEST 00000265: PUSH2 0x01d1 00000268: PUSH2 0x0272 0000026b: CALLDATASIZE 0000026c: PUSH1 0x04 0000026e: PUSH2 0x3823 00000271: JUMP 00000272: JUMPDEST 00000273: PUSH2 0x0dc7 00000276: JUMP 00000277: JUMPDEST 00000278: CALLVALUE 00000279: DUP1 0000027a: ISZERO 0000027b: PUSH2 0x0283 0000027e: JUMPI 0000027f: PUSH1 0x00 00000281: DUP1 00000282: REVERT 00000283: JUMPDEST 00000284: POP 00000285: PUSH2 0x02a7 00000288: PUSH2 0x0292 0000028b: CALLDATASIZE 0000028c: PUSH1 0x04 0000028e: PUSH2 0x384f 00000291: JUMP 00000292: JUMPDEST 00000293: PUSH1 0x65 00000295: PUSH1 0x20 00000297: MSTORE 00000298: PUSH1 0x00 0000029a: SWAP1 0000029b: DUP2 0000029c: MSTORE 0000029d: PUSH1 0x40 0000029f: SWAP1 000002a0: KECCAK256 000002a1: SLOAD 000002a2: PUSH1 0xff 000002a4: AND 000002a5: DUP2 000002a6: JUMP 000002a7: JUMPDEST 000002a8: PUSH1 0x40 000002aa: MLOAD 000002ab: SWAP1 000002ac: ISZERO 000002ad: ISZERO 000002ae: DUP2 000002af: MSTORE 000002b0: PUSH1 0x20 000002b2: ADD 000002b3: PUSH2 0x0228 000002b6: JUMP 000002b7: JUMPDEST 000002b8: PUSH2 0x01d1 000002bb: PUSH2 0x02c5 000002be: CALLDATASIZE 000002bf: PUSH1 0x04 000002c1: PUSH2 0x38bf 000002c4: JUMP 000002c5: JUMPDEST 000002c6: PUSH2 0x0f78 000002c9: JUMP 000002ca: JUMPDEST 000002cb: CALLVALUE 000002cc: DUP1 000002cd: ISZERO 000002ce: PUSH2 0x02d6 000002d1: JUMPI 000002d2: PUSH1 0x00 000002d4: DUP1 000002d5: REVERT 000002d6: JUMPDEST 000002d7: POP 000002d8: PUSH2 0x01d1 000002db: PUSH2 0x02e5 000002de: CALLDATASIZE 000002df: PUSH1 0x04 000002e1: PUSH2 0x384f 000002e4: JUMP 000002e5: JUMPDEST 000002e6: PUSH2 0x1022 000002e9: JUMP 000002ea: JUMPDEST 000002eb: PUSH2 0x01d1 000002ee: PUSH2 0x02f8 000002f1: CALLDATASIZE 000002f2: PUSH1 0x04 000002f4: PUSH2 0x392b 000002f7: JUMP 000002f8: JUMPDEST 000002f9: PUSH2 0x1227 000002fc: JUMP 000002fd: JUMPDEST 000002fe: PUSH2 0x01d1 00000301: PUSH2 0x030b 00000304: CALLDATASIZE 00000305: PUSH1 0x04 00000307: PUSH2 0x38bf 0000030a: JUMP 0000030b: JUMPDEST 0000030c: PUSH2 0x1490 0000030f: JUMP 00000310: JUMPDEST 00000311: CALLVALUE 00000312: DUP1 00000313: ISZERO 00000314: PUSH2 0x031c 00000317: JUMPI 00000318: PUSH1 0x00 0000031a: DUP1 0000031b: REVERT 0000031c: JUMPDEST 0000031d: POP 0000031e: PUSH2 0x01d1 00000321: PUSH2 0x032b 00000324: CALLDATASIZE 00000325: PUSH1 0x04 00000327: PUSH2 0x39ed 0000032a: JUMP 0000032b: JUMPDEST 0000032c: PUSH2 0x1533 0000032f: JUMP 00000330: JUMPDEST 00000331: PUSH2 0x01d1 00000334: PUSH2 0x033e 00000337: CALLDATASIZE 00000338: PUSH1 0x04 0000033a: PUSH2 0x3a9e 0000033d: JUMP 0000033e: JUMPDEST 0000033f: PUSH2 0x1870 00000342: JUMP 00000343: JUMPDEST 00000344: CALLVALUE 00000345: DUP1 00000346: ISZERO 00000347: PUSH2 0x034f 0000034a: JUMPI 0000034b: PUSH1 0x00 0000034d: DUP1 0000034e: REVERT 0000034f: JUMPDEST 00000350: POP 00000351: PUSH2 0x02a7 00000354: PUSH2 0x035e 00000357: CALLDATASIZE 00000358: PUSH1 0x04 0000035a: PUSH2 0x384f 0000035d: JUMP 0000035e: JUMPDEST 0000035f: PUSH1 0x66 00000361: PUSH1 0x20 00000363: MSTORE 00000364: PUSH1 0x00 00000366: SWAP1 00000367: DUP2 00000368: MSTORE 00000369: PUSH1 0x40 0000036b: SWAP1 0000036c: KECCAK256 0000036d: SLOAD 0000036e: PUSH1 0xff 00000370: AND 00000371: DUP2 00000372: JUMP 00000373: JUMPDEST 00000374: PUSH2 0x01d1 00000377: PUSH2 0x0381 0000037a: CALLDATASIZE 0000037b: PUSH1 0x04 0000037d: PUSH2 0x3be1 00000380: JUMP 00000381: JUMPDEST 00000382: PUSH2 0x19b4 00000385: JUMP 00000386: JUMPDEST 00000387: CALLVALUE 00000388: DUP1 00000389: ISZERO 0000038a: PUSH2 0x0392 0000038d: JUMPI 0000038e: PUSH1 0x00 00000390: DUP1 00000391: REVERT 00000392: JUMPDEST 00000393: POP 00000394: PUSH2 0x01d1 00000397: PUSH2 0x03a1 0000039a: CALLDATASIZE 0000039b: PUSH1 0x04 0000039d: PUSH2 0x3c45 000003a0: JUMP 000003a1: JUMPDEST 000003a2: PUSH2 0x1baa 000003a5: JUMP 000003a6: JUMPDEST 000003a7: CALLVALUE 000003a8: DUP1 000003a9: ISZERO 000003aa: PUSH2 0x03b2 000003ad: JUMPI 000003ae: PUSH1 0x00 000003b0: DUP1 000003b1: REVERT 000003b2: JUMPDEST 000003b3: POP 000003b4: PUSH2 0x03bb 000003b7: PUSH2 0x1f8b 000003ba: JUMP 000003bb: JUMPDEST 000003bc: PUSH1 0x40 000003be: MLOAD 000003bf: SWAP1 000003c0: DUP2 000003c1: MSTORE 000003c2: PUSH1 0x20 000003c4: ADD 000003c5: PUSH2 0x0228 000003c8: JUMP 000003c9: JUMPDEST 000003ca: CALLVALUE 000003cb: DUP1 000003cc: ISZERO 000003cd: PUSH2 0x03d5 000003d0: JUMPI 000003d1: PUSH1 0x00 000003d3: DUP1 000003d4: REVERT 000003d5: JUMPDEST 000003d6: POP 000003d7: PUSH2 0x01d1 000003da: PUSH2 0x03e4 000003dd: CALLDATASIZE 000003de: PUSH1 0x04 000003e0: PUSH2 0x3cbd 000003e3: JUMP 000003e4: JUMPDEST 000003e5: PUSH2 0x2077 000003e8: JUMP 000003e9: JUMPDEST 000003ea: CALLVALUE 000003eb: DUP1 000003ec: ISZERO 000003ed: PUSH2 0x03f5 000003f0: JUMPI 000003f1: PUSH1 0x00 000003f3: DUP1 000003f4: REVERT 000003f5: JUMPDEST 000003f6: POP 000003f7: PUSH2 0x01d1 000003fa: PUSH2 0x22f3 000003fd: JUMP 000003fe: JUMPDEST 000003ff: CALLVALUE 00000400: DUP1 00000401: ISZERO 00000402: PUSH2 0x040a 00000405: JUMPI 00000406: PUSH1 0x00 00000408: DUP1 00000409: REVERT 0000040a: JUMPDEST 0000040b: POP 0000040c: PUSH2 0x041e 0000040f: PUSH2 0x0419 00000412: CALLDATASIZE 00000413: PUSH1 0x04 00000415: PUSH2 0x384f 00000418: JUMP 00000419: JUMPDEST 0000041a: PUSH2 0x2332 0000041d: JUMP 0000041e: JUMPDEST 0000041f: PUSH1 0x40 00000421: MLOAD 00000422: PUSH2 0x0228 00000425: SWAP2 00000426: SWAP1 00000427: PUSH2 0x3d17 0000042a: JUMP 0000042b: JUMPDEST 0000042c: CALLVALUE 0000042d: DUP1 0000042e: ISZERO 0000042f: PUSH2 0x0437 00000432: JUMPI 00000433: PUSH1 0x00 00000435: DUP1 00000436: REVERT 00000437: JUMPDEST 00000438: POP 00000439: PUSH1 0x33 0000043b: SLOAD 0000043c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000451: AND 00000452: PUSH2 0x0207 00000455: JUMP 00000456: JUMPDEST 00000457: CALLVALUE 00000458: DUP1 00000459: ISZERO 0000045a: PUSH2 0x0462 0000045d: JUMPI 0000045e: PUSH1 0x00 00000460: DUP1 00000461: REVERT 00000462: JUMPDEST 00000463: POP 00000464: PUSH2 0x03bb 00000467: PUSH2 0x0471 0000046a: CALLDATASIZE 0000046b: PUSH1 0x04 0000046d: PUSH2 0x384f 00000470: JUMP 00000471: JUMPDEST 00000472: PUSH1 0x68 00000474: PUSH1 0x20 00000476: MSTORE 00000477: PUSH1 0x00 00000479: SWAP1 0000047a: DUP2 0000047b: MSTORE 0000047c: PUSH1 0x40 0000047e: SWAP1 0000047f: KECCAK256 00000480: SLOAD 00000481: DUP2 00000482: JUMP 00000483: JUMPDEST 00000484: CALLVALUE 00000485: DUP1 00000486: ISZERO 00000487: PUSH2 0x048f 0000048a: JUMPI 0000048b: PUSH1 0x00 0000048d: DUP1 0000048e: REVERT 0000048f: JUMPDEST 00000490: POP 00000491: PUSH2 0x0207 00000494: PUSH32 0x0000000000000000000000009afb8c1798b93a8e04a18553ee65bafa41a012f1 000004b5: DUP2 000004b6: JUMP 000004b7: JUMPDEST 000004b8: CALLVALUE 000004b9: DUP1 000004ba: ISZERO 000004bb: PUSH2 0x04c3 000004be: JUMPI 000004bf: PUSH1 0x00 000004c1: DUP1 000004c2: REVERT 000004c3: JUMPDEST 000004c4: POP 000004c5: PUSH2 0x01d1 000004c8: PUSH2 0x04d2 000004cb: CALLDATASIZE 000004cc: PUSH1 0x04 000004ce: PUSH2 0x37ea 000004d1: JUMP 000004d2: JUMPDEST 000004d3: PUSH2 0x2414 000004d6: JUMP 000004d7: JUMPDEST 000004d8: CALLVALUE 000004d9: DUP1 000004da: ISZERO 000004db: PUSH2 0x04e3 000004de: JUMPI 000004df: PUSH1 0x00 000004e1: DUP1 000004e2: REVERT 000004e3: JUMPDEST 000004e4: POP 000004e5: PUSH2 0x04f7 000004e8: PUSH2 0x04f2 000004eb: CALLDATASIZE 000004ec: PUSH1 0x04 000004ee: PUSH2 0x384f 000004f1: JUMP 000004f2: JUMPDEST 000004f3: PUSH2 0x24f2 000004f6: JUMP 000004f7: JUMPDEST 000004f8: PUSH1 0x40 000004fa: MLOAD 000004fb: PUSH2 0x0228 000004fe: SWAP2 000004ff: SWAP1 00000500: PUSH2 0x3dcd 00000503: JUMP 00000504: JUMPDEST 00000505: CALLVALUE 00000506: DUP1 00000507: ISZERO 00000508: PUSH2 0x0510 0000050b: JUMPI 0000050c: PUSH1 0x00 0000050e: DUP1 0000050f: REVERT 00000510: JUMPDEST 00000511: POP 00000512: PUSH2 0x0519 00000515: PUSH2 0x271f 00000518: JUMP 00000519: JUMPDEST 0000051a: PUSH1 0x40 0000051c: MLOAD 0000051d: PUSH2 0x0228 00000520: SWAP2 00000521: SWAP1 00000522: PUSH2 0x3de0 00000525: JUMP 00000526: JUMPDEST 00000527: CALLVALUE 00000528: DUP1 00000529: ISZERO 0000052a: PUSH2 0x0532 0000052d: JUMPI 0000052e: PUSH1 0x00 00000530: DUP1 00000531: REVERT 00000532: JUMPDEST 00000533: POP 00000534: PUSH2 0x01d1 00000537: PUSH2 0x0541 0000053a: CALLDATASIZE 0000053b: PUSH1 0x04 0000053d: PUSH2 0x384f 00000540: JUMP 00000541: JUMPDEST 00000542: PUSH2 0x2829 00000545: JUMP 00000546: JUMPDEST 00000547: CALLER 00000548: PUSH1 0x00 0000054a: SWAP1 0000054b: DUP2 0000054c: MSTORE 0000054d: PUSH1 0x65 0000054f: PUSH1 0x20 00000551: MSTORE 00000552: PUSH1 0x40 00000554: SWAP1 00000555: KECCAK256 00000556: SLOAD 00000557: PUSH1 0xff 00000559: AND 0000055a: ISZERO 0000055b: DUP1 0000055c: ISZERO 0000055d: PUSH2 0x059a 00000560: JUMPI 00000561: POP 00000562: CALLER 00000563: PUSH2 0x0581 00000566: PUSH1 0x33 00000568: SLOAD 00000569: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000057e: AND 0000057f: SWAP1 00000580: JUMP 00000581: JUMPDEST 00000582: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000597: AND 00000598: EQ 00000599: ISZERO 0000059a: JUMPDEST 0000059b: ISZERO 0000059c: PUSH2 0x05db 0000059f: JUMPI 000005a0: PUSH1 0x40 000005a2: MLOAD 000005a3: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000005c4: DUP2 000005c5: MSTORE 000005c6: PUSH3 0x015f91 000005ca: PUSH1 0x04 000005cc: DUP3 000005cd: ADD 000005ce: MSTORE 000005cf: PUSH1 0x24 000005d1: ADD 000005d2: JUMPDEST 000005d3: PUSH1 0x40 000005d5: MLOAD 000005d6: DUP1 000005d7: SWAP2 000005d8: SUB 000005d9: SWAP1 000005da: REVERT 000005db: JUMPDEST 000005dc: DUP2 000005dd: MLOAD 000005de: DUP4 000005df: MLOAD 000005e0: EQ 000005e1: ISZERO 000005e2: DUP1 000005e3: PUSH2 0x05ee 000005e6: JUMPI 000005e7: POP 000005e8: DUP1 000005e9: MLOAD 000005ea: DUP3 000005eb: MLOAD 000005ec: EQ 000005ed: ISZERO 000005ee: JUMPDEST 000005ef: ISZERO 000005f0: PUSH2 0x062a 000005f3: JUMPI 000005f4: PUSH1 0x40 000005f6: MLOAD 000005f7: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000618: DUP2 00000619: MSTORE 0000061a: PUSH3 0x015f93 0000061e: PUSH1 0x04 00000620: DUP3 00000621: ADD 00000622: MSTORE 00000623: PUSH1 0x24 00000625: ADD 00000626: PUSH2 0x05d2 00000629: JUMP 0000062a: JUMPDEST 0000062b: PUSH1 0x00 0000062d: JUMPDEST 0000062e: DUP4 0000062f: MLOAD 00000630: DUP2 00000631: LT 00000632: ISZERO 00000633: PUSH2 0x087c 00000636: JUMPI 00000637: PUSH1 0x00 00000639: DUP5 0000063a: DUP3 0000063b: DUP2 0000063c: MLOAD 0000063d: DUP2 0000063e: LT 0000063f: PUSH2 0x064a 00000642: JUMPI 00000643: PUSH2 0x064a 00000646: PUSH2 0x3e88 00000649: JUMP 0000064a: JUMPDEST 0000064b: PUSH1 0x20 0000064d: MUL 0000064e: PUSH1 0x20 00000650: ADD 00000651: ADD 00000652: MLOAD 00000653: SWAP1 00000654: POP 00000655: PUSH1 0x00 00000657: DUP5 00000658: DUP4 00000659: DUP2 0000065a: MLOAD 0000065b: DUP2 0000065c: LT 0000065d: PUSH2 0x0668 00000660: JUMPI 00000661: PUSH2 0x0668 00000664: PUSH2 0x3e88 00000667: JUMP 00000668: JUMPDEST 00000669: PUSH1 0x20 0000066b: MUL 0000066c: PUSH1 0x20 0000066e: ADD 0000066f: ADD 00000670: MLOAD 00000671: SWAP1 00000672: POP 00000673: PUSH1 0x00 00000675: DUP5 00000676: DUP5 00000677: DUP2 00000678: MLOAD 00000679: DUP2 0000067a: LT 0000067b: PUSH2 0x0686 0000067e: JUMPI 0000067f: PUSH2 0x0686 00000682: PUSH2 0x3e88 00000685: JUMP 00000686: JUMPDEST 00000687: PUSH1 0x20 00000689: MUL 0000068a: PUSH1 0x20 0000068c: ADD 0000068d: ADD 0000068e: MLOAD 0000068f: SWAP1 00000690: POP 00000691: PUSH1 0x00 00000693: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 000006a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006bd: AND 000006be: DUP4 000006bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006d4: AND 000006d5: SUB 000006d6: PUSH2 0x070a 000006d9: JUMPI 000006da: POP 000006db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006f0: DUP4 000006f1: AND 000006f2: PUSH1 0x00 000006f4: SWAP1 000006f5: DUP2 000006f6: MSTORE 000006f7: PUSH1 0x68 000006f9: PUSH1 0x20 000006fb: MSTORE 000006fc: PUSH1 0x40 000006fe: SWAP1 000006ff: KECCAK256 00000700: DUP1 00000701: SLOAD 00000702: SWAP1 00000703: DUP3 00000704: SWAP1 00000705: SSTORE 00000706: PUSH2 0x07b9 00000709: JUMP 0000070a: JUMPDEST 0000070b: PUSH1 0x40 0000070d: MLOAD 0000070e: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 0000072f: DUP2 00000730: MSTORE 00000731: ADDRESS 00000732: PUSH1 0x04 00000734: DUP3 00000735: ADD 00000736: MSTORE 00000737: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000074c: DUP6 0000074d: DUP2 0000074e: AND 0000074f: PUSH1 0x24 00000751: DUP4 00000752: ADD 00000753: MSTORE 00000754: DUP5 00000755: AND 00000756: SWAP1 00000757: PUSH4 0xdd62ed3e 0000075c: SWAP1 0000075d: PUSH1 0x44 0000075f: ADD 00000760: PUSH1 0x20 00000762: PUSH1 0x40 00000764: MLOAD 00000765: DUP1 00000766: DUP4 00000767: SUB 00000768: DUP2 00000769: DUP7 0000076a: GAS 0000076b: STATICCALL 0000076c: ISZERO 0000076d: DUP1 0000076e: ISZERO 0000076f: PUSH2 0x077c 00000772: JUMPI 00000773: RETURNDATASIZE 00000774: PUSH1 0x00 00000776: DUP1 00000777: RETURNDATACOPY 00000778: RETURNDATASIZE 00000779: PUSH1 0x00 0000077b: REVERT 0000077c: JUMPDEST 0000077d: POP 0000077e: POP 0000077f: POP 00000780: POP 00000781: PUSH1 0x40 00000783: MLOAD 00000784: RETURNDATASIZE 00000785: PUSH1 0x1f 00000787: NOT 00000788: PUSH1 0x1f 0000078a: DUP3 0000078b: ADD 0000078c: AND 0000078d: DUP3 0000078e: ADD 0000078f: DUP1 00000790: PUSH1 0x40 00000792: MSTORE 00000793: POP 00000794: DUP2 00000795: ADD 00000796: SWAP1 00000797: PUSH2 0x07a0 0000079a: SWAP2 0000079b: SWAP1 0000079c: PUSH2 0x3eb7 0000079f: JUMP 000007a0: JUMPDEST 000007a1: SWAP1 000007a2: POP 000007a3: PUSH2 0x07ae 000007a6: DUP4 000007a7: DUP6 000007a8: PUSH1 0x00 000007aa: PUSH2 0x28dd 000007ad: JUMP 000007ae: JUMPDEST 000007af: PUSH2 0x07b9 000007b2: DUP4 000007b3: DUP6 000007b4: DUP5 000007b5: PUSH2 0x28dd 000007b8: JUMP 000007b9: JUMPDEST 000007ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007cf: DUP5 000007d0: AND 000007d1: PUSH1 0x00 000007d3: SWAP1 000007d4: DUP2 000007d5: MSTORE 000007d6: PUSH1 0x67 000007d8: PUSH1 0x20 000007da: MSTORE 000007db: PUSH1 0x40 000007dd: SWAP1 000007de: KECCAK256 000007df: PUSH2 0x07e8 000007e2: SWAP1 000007e3: DUP5 000007e4: PUSH2 0x2a96 000007e7: JUMP 000007e8: JUMPDEST 000007e9: POP 000007ea: PUSH2 0x07f4 000007ed: PUSH1 0x69 000007ef: DUP6 000007f0: PUSH2 0x2a96 000007f3: JUMP 000007f4: JUMPDEST 000007f5: POP 000007f6: DUP3 000007f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000080c: AND 0000080d: DUP5 0000080e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000823: AND 00000824: PUSH32 0xf07829fca7213317a8d0869b30e579887a8d2a7bfd3a28f25075bd01b370d756 00000845: DUP5 00000846: DUP5 00000847: PUSH1 0x40 00000849: MLOAD 0000084a: PUSH2 0x085d 0000084d: SWAP3 0000084e: SWAP2 0000084f: SWAP1 00000850: SWAP2 00000851: DUP3 00000852: MSTORE 00000853: PUSH1 0x20 00000855: DUP3 00000856: ADD 00000857: MSTORE 00000858: PUSH1 0x40 0000085a: ADD 0000085b: SWAP1 0000085c: JUMP 0000085d: JUMPDEST 0000085e: PUSH1 0x40 00000860: MLOAD 00000861: DUP1 00000862: SWAP2 00000863: SUB 00000864: SWAP1 00000865: LOG3 00000866: POP 00000867: POP 00000868: POP 00000869: POP 0000086a: DUP1 0000086b: DUP1 0000086c: PUSH2 0x0874 0000086f: SWAP1 00000870: PUSH2 0x3eff 00000873: JUMP 00000874: JUMPDEST 00000875: SWAP2 00000876: POP 00000877: POP 00000878: PUSH2 0x062d 0000087b: JUMP 0000087c: JUMPDEST 0000087d: POP 0000087e: POP 0000087f: POP 00000880: POP 00000881: JUMP 00000882: JUMPDEST 00000883: CALLER 00000884: PUSH1 0x00 00000886: SWAP1 00000887: DUP2 00000888: MSTORE 00000889: PUSH1 0x65 0000088b: PUSH1 0x20 0000088d: MSTORE 0000088e: PUSH1 0x40 00000890: SWAP1 00000891: KECCAK256 00000892: SLOAD 00000893: PUSH1 0xff 00000895: AND 00000896: ISZERO 00000897: DUP1 00000898: ISZERO 00000899: PUSH2 0x08d6 0000089c: JUMPI 0000089d: POP 0000089e: CALLER 0000089f: PUSH2 0x08bd 000008a2: PUSH1 0x33 000008a4: SLOAD 000008a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008ba: AND 000008bb: SWAP1 000008bc: JUMP 000008bd: JUMPDEST 000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008d3: AND 000008d4: EQ 000008d5: ISZERO 000008d6: JUMPDEST 000008d7: ISZERO 000008d8: PUSH2 0x0912 000008db: JUMPI 000008dc: PUSH1 0x40 000008de: MLOAD 000008df: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000900: DUP2 00000901: MSTORE 00000902: PUSH3 0x015f91 00000906: PUSH1 0x04 00000908: DUP3 00000909: ADD 0000090a: MSTORE 0000090b: PUSH1 0x24 0000090d: ADD 0000090e: PUSH2 0x05d2 00000911: JUMP 00000912: JUMPDEST 00000913: DUP2 00000914: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000929: DUP2 0000092a: AND 0000092b: PUSH2 0x0965 0000092e: JUMPI 0000092f: PUSH1 0x40 00000931: MLOAD 00000932: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000953: DUP2 00000954: MSTORE 00000955: PUSH3 0x015f92 00000959: PUSH1 0x04 0000095b: DUP3 0000095c: ADD 0000095d: MSTORE 0000095e: PUSH1 0x24 00000960: ADD 00000961: PUSH2 0x05d2 00000964: JUMP 00000965: JUMPDEST 00000966: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000097b: DUP4 0000097c: AND 0000097d: PUSH1 0x00 0000097f: DUP2 00000980: DUP2 00000981: MSTORE 00000982: PUSH1 0x66 00000984: PUSH1 0x20 00000986: SWAP1 00000987: DUP2 00000988: MSTORE 00000989: PUSH1 0x40 0000098b: SWAP2 0000098c: DUP3 0000098d: SWAP1 0000098e: KECCAK256 0000098f: DUP1 00000990: SLOAD 00000991: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000009b2: AND 000009b3: DUP7 000009b4: ISZERO 000009b5: ISZERO 000009b6: SWAP1 000009b7: DUP2 000009b8: OR 000009b9: SWAP1 000009ba: SWAP2 000009bb: SSTORE 000009bc: SWAP2 000009bd: MLOAD 000009be: SWAP2 000009bf: DUP3 000009c0: MSTORE 000009c1: PUSH32 0xad476fc62f6b1b5d25b35bd756cfbfcd299b581b8dfb25d5492c4305a0969bd2 000009e2: SWAP2 000009e3: ADD 000009e4: JUMPDEST 000009e5: PUSH1 0x40 000009e7: MLOAD 000009e8: DUP1 000009e9: SWAP2 000009ea: SUB 000009eb: SWAP1 000009ec: LOG2 000009ed: POP 000009ee: POP 000009ef: POP 000009f0: JUMP 000009f1: JUMPDEST 000009f2: CALLER 000009f3: PUSH1 0x00 000009f5: SWAP1 000009f6: DUP2 000009f7: MSTORE 000009f8: PUSH1 0x66 000009fa: PUSH1 0x20 000009fc: MSTORE 000009fd: PUSH1 0x40 000009ff: SWAP1 00000a00: KECCAK256 00000a01: SLOAD 00000a02: PUSH1 0xff 00000a04: AND 00000a05: PUSH2 0x0a3f 00000a08: JUMPI 00000a09: PUSH1 0x40 00000a0b: MLOAD 00000a0c: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000a2d: DUP2 00000a2e: MSTORE 00000a2f: PUSH3 0x015f91 00000a33: PUSH1 0x04 00000a35: DUP3 00000a36: ADD 00000a37: MSTORE 00000a38: PUSH1 0x24 00000a3a: ADD 00000a3b: PUSH2 0x05d2 00000a3e: JUMP 00000a3f: JUMPDEST 00000a40: DUP1 00000a41: ISZERO 00000a42: PUSH2 0x0ae4 00000a45: JUMPI 00000a46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a5b: DUP3 00000a5c: AND 00000a5d: PUSH1 0x00 00000a5f: SWAP1 00000a60: DUP2 00000a61: MSTORE 00000a62: PUSH1 0x68 00000a64: PUSH1 0x20 00000a66: MSTORE 00000a67: PUSH1 0x40 00000a69: SWAP1 00000a6a: KECCAK256 00000a6b: SLOAD 00000a6c: DUP2 00000a6d: GT 00000a6e: ISZERO 00000a6f: PUSH2 0x0aa9 00000a72: JUMPI 00000a73: PUSH1 0x40 00000a75: MLOAD 00000a76: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000a97: DUP2 00000a98: MSTORE 00000a99: PUSH3 0x015f96 00000a9d: PUSH1 0x04 00000a9f: DUP3 00000aa0: ADD 00000aa1: MSTORE 00000aa2: PUSH1 0x24 00000aa4: ADD 00000aa5: PUSH2 0x05d2 00000aa8: JUMP 00000aa9: JUMPDEST 00000aaa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000abf: DUP3 00000ac0: AND 00000ac1: PUSH1 0x00 00000ac3: SWAP1 00000ac4: DUP2 00000ac5: MSTORE 00000ac6: PUSH1 0x68 00000ac8: PUSH1 0x20 00000aca: MSTORE 00000acb: PUSH1 0x40 00000acd: DUP2 00000ace: KECCAK256 00000acf: DUP1 00000ad0: SLOAD 00000ad1: DUP4 00000ad2: SWAP3 00000ad3: SWAP1 00000ad4: PUSH2 0x0ade 00000ad7: SWAP1 00000ad8: DUP5 00000ad9: SWAP1 00000ada: PUSH2 0x3f37 00000add: JUMP 00000ade: JUMPDEST 00000adf: SWAP1 00000ae0: SWAP2 00000ae1: SSTORE 00000ae2: POP 00000ae3: POP 00000ae4: JUMPDEST 00000ae5: PUSH1 0x00 00000ae7: DUP1 00000ae8: DUP4 00000ae9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000afe: AND 00000aff: PUSH4 0x7d7c2a1c 00000b04: DUP5 00000b05: PUSH1 0x40 00000b07: MLOAD 00000b08: DUP3 00000b09: PUSH4 0xffffffff 00000b0e: AND 00000b0f: PUSH1 0xe0 00000b11: SHL 00000b12: DUP2 00000b13: MSTORE 00000b14: PUSH1 0x04 00000b16: ADD 00000b17: PUSH1 0x40 00000b19: DUP1 00000b1a: MLOAD 00000b1b: DUP1 00000b1c: DUP4 00000b1d: SUB 00000b1e: DUP2 00000b1f: DUP6 00000b20: DUP9 00000b21: GAS 00000b22: CALL 00000b23: ISZERO 00000b24: DUP1 00000b25: ISZERO 00000b26: PUSH2 0x0b33 00000b29: JUMPI 00000b2a: RETURNDATASIZE 00000b2b: PUSH1 0x00 00000b2d: DUP1 00000b2e: RETURNDATACOPY 00000b2f: RETURNDATASIZE 00000b30: PUSH1 0x00 00000b32: REVERT 00000b33: JUMPDEST 00000b34: POP 00000b35: POP 00000b36: POP 00000b37: POP 00000b38: POP 00000b39: PUSH1 0x40 00000b3b: MLOAD 00000b3c: RETURNDATASIZE 00000b3d: PUSH1 0x1f 00000b3f: NOT 00000b40: PUSH1 0x1f 00000b42: DUP3 00000b43: ADD 00000b44: AND 00000b45: DUP3 00000b46: ADD 00000b47: DUP1 00000b48: PUSH1 0x40 00000b4a: MSTORE 00000b4b: POP 00000b4c: DUP2 00000b4d: ADD 00000b4e: SWAP1 00000b4f: PUSH2 0x0b58 00000b52: SWAP2 00000b53: SWAP1 00000b54: PUSH2 0x3f4a 00000b57: JUMP 00000b58: JUMPDEST 00000b59: SWAP1 00000b5a: SWAP3 00000b5b: POP 00000b5c: SWAP1 00000b5d: POP 00000b5e: DUP3 00000b5f: ISZERO 00000b60: PUSH2 0x0d70 00000b63: JUMPI 00000b64: PUSH1 0x00 00000b66: DUP5 00000b67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b7c: AND 00000b7d: PUSH4 0xb7791bf2 00000b82: PUSH1 0x40 00000b84: MLOAD 00000b85: DUP2 00000b86: PUSH4 0xffffffff 00000b8b: AND 00000b8c: PUSH1 0xe0 00000b8e: SHL 00000b8f: DUP2 00000b90: MSTORE 00000b91: PUSH1 0x04 00000b93: ADD 00000b94: PUSH2 0x01a0 00000b97: PUSH1 0x40 00000b99: MLOAD 00000b9a: DUP1 00000b9b: DUP4 00000b9c: SUB 00000b9d: DUP2 00000b9e: DUP7 00000b9f: GAS 00000ba0: STATICCALL 00000ba1: ISZERO 00000ba2: DUP1 00000ba3: ISZERO 00000ba4: PUSH2 0x0bb1 00000ba7: JUMPI 00000ba8: RETURNDATASIZE 00000ba9: PUSH1 0x00 00000bab: DUP1 00000bac: RETURNDATACOPY 00000bad: RETURNDATASIZE 00000bae: PUSH1 0x00 00000bb0: REVERT 00000bb1: JUMPDEST 00000bb2: POP 00000bb3: POP 00000bb4: POP 00000bb5: POP 00000bb6: PUSH1 0x40 00000bb8: MLOAD 00000bb9: RETURNDATASIZE 00000bba: PUSH1 0x1f 00000bbc: NOT 00000bbd: PUSH1 0x1f 00000bbf: DUP3 00000bc0: ADD 00000bc1: AND 00000bc2: DUP3 00000bc3: ADD 00000bc4: DUP1 00000bc5: PUSH1 0x40 00000bc7: MSTORE 00000bc8: POP 00000bc9: DUP2 00000bca: ADD 00000bcb: SWAP1 00000bcc: PUSH2 0x0bd5 00000bcf: SWAP2 00000bd0: SWAP1 00000bd1: PUSH2 0x3f8f 00000bd4: JUMP 00000bd5: JUMPDEST 00000bd6: PUSH1 0x80 00000bd8: DUP2 00000bd9: ADD 00000bda: MLOAD 00000bdb: SWAP1 00000bdc: SWAP2 00000bdd: POP 00000bde: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bf3: AND 00000bf4: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00000c09: EQ 00000c0a: DUP1 00000c0b: ISZERO 00000c0c: PUSH2 0x0c15 00000c0f: JUMPI 00000c10: POP 00000c11: PUSH1 0x00 00000c13: DUP4 00000c14: SLT 00000c15: JUMPDEST 00000c16: ISZERO 00000c17: PUSH2 0x0c51 00000c1a: JUMPI 00000c1b: PUSH1 0x40 00000c1d: MLOAD 00000c1e: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000c3f: DUP2 00000c40: MSTORE 00000c41: PUSH3 0x015f95 00000c45: PUSH1 0x04 00000c47: DUP3 00000c48: ADD 00000c49: MSTORE 00000c4a: PUSH1 0x24 00000c4c: ADD 00000c4d: PUSH2 0x05d2 00000c50: JUMP 00000c51: JUMPDEST 00000c52: PUSH1 0xa0 00000c54: DUP2 00000c55: ADD 00000c56: MLOAD 00000c57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c6c: AND 00000c6d: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00000c82: EQ 00000c83: DUP1 00000c84: ISZERO 00000c85: PUSH2 0x0c8e 00000c88: JUMPI 00000c89: POP 00000c8a: PUSH1 0x00 00000c8c: DUP3 00000c8d: SGT 00000c8e: JUMPDEST 00000c8f: ISZERO 00000c90: PUSH2 0x0cca 00000c93: JUMPI 00000c94: PUSH1 0x40 00000c96: MLOAD 00000c97: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000cb8: DUP2 00000cb9: MSTORE 00000cba: PUSH3 0x015f95 00000cbe: PUSH1 0x04 00000cc0: DUP3 00000cc1: ADD 00000cc2: MSTORE 00000cc3: PUSH1 0x24 00000cc5: ADD 00000cc6: PUSH2 0x05d2 00000cc9: JUMP 00000cca: JUMPDEST 00000ccb: PUSH1 0x80 00000ccd: DUP2 00000cce: ADD 00000ccf: MLOAD 00000cd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ce5: AND 00000ce6: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00000cfb: EQ 00000cfc: DUP1 00000cfd: PUSH2 0x0d33 00000d00: JUMPI 00000d01: POP 00000d02: PUSH1 0xa0 00000d04: DUP2 00000d05: ADD 00000d06: MLOAD 00000d07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d1c: AND 00000d1d: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00000d32: EQ 00000d33: JUMPDEST 00000d34: PUSH2 0x0d6e 00000d37: JUMPI 00000d38: PUSH1 0x40 00000d3a: MLOAD 00000d3b: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000d5c: DUP2 00000d5d: MSTORE 00000d5e: PUSH3 0x015f95 00000d62: PUSH1 0x04 00000d64: DUP3 00000d65: ADD 00000d66: MSTORE 00000d67: PUSH1 0x24 00000d69: ADD 00000d6a: PUSH2 0x05d2 00000d6d: JUMP 00000d6e: JUMPDEST 00000d6f: POP 00000d70: JUMPDEST 00000d71: PUSH1 0x40 00000d73: DUP1 00000d74: MLOAD 00000d75: DUP4 00000d76: DUP2 00000d77: MSTORE 00000d78: PUSH1 0x20 00000d7a: DUP2 00000d7b: ADD 00000d7c: DUP4 00000d7d: SWAP1 00000d7e: MSTORE 00000d7f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d94: DUP7 00000d95: AND 00000d96: SWAP2 00000d97: PUSH32 0x1b5a6c038413ee85baaa108b9e0f353fc1fb6dba5c500211baef62b0761e4d88 00000db8: SWAP2 00000db9: ADD 00000dba: PUSH1 0x40 00000dbc: MLOAD 00000dbd: DUP1 00000dbe: SWAP2 00000dbf: SUB 00000dc0: SWAP1 00000dc1: LOG2 00000dc2: POP 00000dc3: POP 00000dc4: POP 00000dc5: POP 00000dc6: JUMP 00000dc7: JUMPDEST 00000dc8: CALLER 00000dc9: PUSH1 0x00 00000dcb: SWAP1 00000dcc: DUP2 00000dcd: MSTORE 00000dce: PUSH1 0x66 00000dd0: PUSH1 0x20 00000dd2: MSTORE 00000dd3: PUSH1 0x40 00000dd5: SWAP1 00000dd6: KECCAK256 00000dd7: SLOAD 00000dd8: PUSH1 0xff 00000dda: AND 00000ddb: PUSH2 0x0e15 00000dde: JUMPI 00000ddf: PUSH1 0x40 00000de1: MLOAD 00000de2: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000e03: DUP2 00000e04: MSTORE 00000e05: PUSH3 0x015f91 00000e09: PUSH1 0x04 00000e0b: DUP3 00000e0c: ADD 00000e0d: MSTORE 00000e0e: PUSH1 0x24 00000e10: ADD 00000e11: PUSH2 0x05d2 00000e14: JUMP 00000e15: JUMPDEST 00000e16: DUP1 00000e17: ISZERO 00000e18: PUSH2 0x0eba 00000e1b: JUMPI 00000e1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e31: DUP3 00000e32: AND 00000e33: PUSH1 0x00 00000e35: SWAP1 00000e36: DUP2 00000e37: MSTORE 00000e38: PUSH1 0x68 00000e3a: PUSH1 0x20 00000e3c: MSTORE 00000e3d: PUSH1 0x40 00000e3f: SWAP1 00000e40: KECCAK256 00000e41: SLOAD 00000e42: DUP2 00000e43: GT 00000e44: ISZERO 00000e45: PUSH2 0x0e7f 00000e48: JUMPI 00000e49: PUSH1 0x40 00000e4b: MLOAD 00000e4c: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000e6d: DUP2 00000e6e: MSTORE 00000e6f: PUSH3 0x015f96 00000e73: PUSH1 0x04 00000e75: DUP3 00000e76: ADD 00000e77: MSTORE 00000e78: PUSH1 0x24 00000e7a: ADD 00000e7b: PUSH2 0x05d2 00000e7e: JUMP 00000e7f: JUMPDEST 00000e80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e95: DUP3 00000e96: AND 00000e97: PUSH1 0x00 00000e99: SWAP1 00000e9a: DUP2 00000e9b: MSTORE 00000e9c: PUSH1 0x68 00000e9e: PUSH1 0x20 00000ea0: MSTORE 00000ea1: PUSH1 0x40 00000ea3: DUP2 00000ea4: KECCAK256 00000ea5: DUP1 00000ea6: SLOAD 00000ea7: DUP4 00000ea8: SWAP3 00000ea9: SWAP1 00000eaa: PUSH2 0x0eb4 00000ead: SWAP1 00000eae: DUP5 00000eaf: SWAP1 00000eb0: PUSH2 0x3f37 00000eb3: JUMP 00000eb4: JUMPDEST 00000eb5: SWAP1 00000eb6: SWAP2 00000eb7: SSTORE 00000eb8: POP 00000eb9: POP 00000eba: JUMPDEST 00000ebb: PUSH1 0x00 00000ebd: DUP3 00000ebe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ed3: AND 00000ed4: PUSH4 0x7d7c2a1c 00000ed9: DUP4 00000eda: PUSH1 0x40 00000edc: MLOAD 00000edd: DUP3 00000ede: PUSH4 0xffffffff 00000ee3: AND 00000ee4: PUSH1 0xe0 00000ee6: SHL 00000ee7: DUP2 00000ee8: MSTORE 00000ee9: PUSH1 0x04 00000eeb: ADD 00000eec: PUSH1 0x20 00000eee: PUSH1 0x40 00000ef0: MLOAD 00000ef1: DUP1 00000ef2: DUP4 00000ef3: SUB 00000ef4: DUP2 00000ef5: DUP6 00000ef6: DUP9 00000ef7: GAS 00000ef8: CALL 00000ef9: ISZERO 00000efa: DUP1 00000efb: ISZERO 00000efc: PUSH2 0x0f09 00000eff: JUMPI 00000f00: RETURNDATASIZE 00000f01: PUSH1 0x00 00000f03: DUP1 00000f04: RETURNDATACOPY 00000f05: RETURNDATASIZE 00000f06: PUSH1 0x00 00000f08: REVERT 00000f09: JUMPDEST 00000f0a: POP 00000f0b: POP 00000f0c: POP 00000f0d: POP 00000f0e: POP 00000f0f: PUSH1 0x40 00000f11: MLOAD 00000f12: RETURNDATASIZE 00000f13: PUSH1 0x1f 00000f15: NOT 00000f16: PUSH1 0x1f 00000f18: DUP3 00000f19: ADD 00000f1a: AND 00000f1b: DUP3 00000f1c: ADD 00000f1d: DUP1 00000f1e: PUSH1 0x40 00000f20: MSTORE 00000f21: POP 00000f22: DUP2 00000f23: ADD 00000f24: SWAP1 00000f25: PUSH2 0x0f2e 00000f28: SWAP2 00000f29: SWAP1 00000f2a: PUSH2 0x3eb7 00000f2d: JUMP 00000f2e: JUMPDEST 00000f2f: SWAP1 00000f30: POP 00000f31: DUP3 00000f32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f47: AND 00000f48: PUSH32 0x2ce777e59f0be485fcc70a4790aa17e9aca8e9e6704e6ab690fc2018c92cca3f 00000f69: DUP3 00000f6a: PUSH1 0x40 00000f6c: MLOAD 00000f6d: PUSH2 0x09e4 00000f70: SWAP2 00000f71: DUP2 00000f72: MSTORE 00000f73: PUSH1 0x20 00000f75: ADD 00000f76: SWAP1 00000f77: JUMP 00000f78: JUMPDEST 00000f79: DUP3 00000f7a: DUP2 00000f7b: EQ 00000f7c: PUSH2 0x0fb6 00000f7f: JUMPI 00000f80: PUSH1 0x40 00000f82: MLOAD 00000f83: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00000fa4: DUP2 00000fa5: MSTORE 00000fa6: PUSH3 0x015f93 00000faa: PUSH1 0x04 00000fac: DUP3 00000fad: ADD 00000fae: MSTORE 00000faf: PUSH1 0x24 00000fb1: ADD 00000fb2: PUSH2 0x05d2 00000fb5: JUMP 00000fb6: JUMPDEST 00000fb7: PUSH1 0x00 00000fb9: JUMPDEST 00000fba: DUP4 00000fbb: DUP2 00000fbc: LT 00000fbd: ISZERO 00000fbe: PUSH2 0x101b 00000fc1: JUMPI 00000fc2: PUSH2 0x1009 00000fc5: DUP6 00000fc6: DUP6 00000fc7: DUP4 00000fc8: DUP2 00000fc9: DUP2 00000fca: LT 00000fcb: PUSH2 0x0fd6 00000fce: JUMPI 00000fcf: PUSH2 0x0fd6 00000fd2: PUSH2 0x3e88 00000fd5: JUMP 00000fd6: JUMPDEST 00000fd7: SWAP1 00000fd8: POP 00000fd9: PUSH1 0x20 00000fdb: MUL 00000fdc: ADD 00000fdd: PUSH1 0x20 00000fdf: DUP2 00000fe0: ADD 00000fe1: SWAP1 00000fe2: PUSH2 0x0feb 00000fe5: SWAP2 00000fe6: SWAP1 00000fe7: PUSH2 0x384f 00000fea: JUMP 00000feb: JUMPDEST 00000fec: DUP5 00000fed: DUP5 00000fee: DUP5 00000fef: DUP2 00000ff0: DUP2 00000ff1: LT 00000ff2: PUSH2 0x0ffd 00000ff5: JUMPI 00000ff6: PUSH2 0x0ffd 00000ff9: PUSH2 0x3e88 00000ffc: JUMP 00000ffd: JUMPDEST 00000ffe: SWAP1 00000fff: POP 00001000: PUSH1 0x20 00001002: MUL 00001003: ADD 00001004: CALLDATALOAD 00001005: PUSH2 0x09f1 00001008: JUMP 00001009: JUMPDEST 0000100a: DUP1 0000100b: PUSH2 0x1013 0000100e: DUP2 0000100f: PUSH2 0x3eff 00001012: JUMP 00001013: JUMPDEST 00001014: SWAP2 00001015: POP 00001016: POP 00001017: PUSH2 0x0fb9 0000101a: JUMP 0000101b: JUMPDEST 0000101c: POP 0000101d: POP 0000101e: POP 0000101f: POP 00001020: POP 00001021: JUMP 00001022: JUMPDEST 00001023: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001038: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2 00001059: AND 0000105a: ADDRESS 0000105b: SUB 0000105c: PUSH2 0x10e7 0000105f: JUMPI 00001060: PUSH1 0x40 00001062: MLOAD 00001063: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001084: DUP2 00001085: MSTORE 00001086: PUSH1 0x20 00001088: PUSH1 0x04 0000108a: DUP3 0000108b: ADD 0000108c: MSTORE 0000108d: PUSH1 0x2c 0000108f: PUSH1 0x24 00001091: DUP3 00001092: ADD 00001093: MSTORE 00001094: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 000010b5: PUSH1 0x44 000010b7: DUP3 000010b8: ADD 000010b9: MSTORE 000010ba: PUSH32 0x64656c656761746563616c6c0000000000000000000000000000000000000000 000010db: PUSH1 0x64 000010dd: DUP3 000010de: ADD 000010df: MSTORE 000010e0: PUSH1 0x84 000010e2: ADD 000010e3: PUSH2 0x05d2 000010e6: JUMP 000010e7: JUMPDEST 000010e8: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2 00001109: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000111e: AND 0000111f: PUSH2 0x115c 00001122: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00001143: SLOAD 00001144: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001159: AND 0000115a: SWAP1 0000115b: JUMP 0000115c: JUMPDEST 0000115d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001172: AND 00001173: EQ 00001174: PUSH2 0x11ff 00001177: JUMPI 00001178: PUSH1 0x40 0000117a: MLOAD 0000117b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000119c: DUP2 0000119d: MSTORE 0000119e: PUSH1 0x20 000011a0: PUSH1 0x04 000011a2: DUP3 000011a3: ADD 000011a4: MSTORE 000011a5: PUSH1 0x2c 000011a7: PUSH1 0x24 000011a9: DUP3 000011aa: ADD 000011ab: MSTORE 000011ac: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 000011cd: PUSH1 0x44 000011cf: DUP3 000011d0: ADD 000011d1: MSTORE 000011d2: PUSH32 0x6163746976652070726f78790000000000000000000000000000000000000000 000011f3: PUSH1 0x64 000011f5: DUP3 000011f6: ADD 000011f7: MSTORE 000011f8: PUSH1 0x84 000011fa: ADD 000011fb: PUSH2 0x05d2 000011fe: JUMP 000011ff: JUMPDEST 00001200: PUSH2 0x1208 00001203: DUP2 00001204: PUSH2 0x2ac1 00001207: JUMP 00001208: JUMPDEST 00001209: PUSH1 0x40 0000120b: DUP1 0000120c: MLOAD 0000120d: PUSH1 0x00 0000120f: DUP1 00001210: DUP3 00001211: MSTORE 00001212: PUSH1 0x20 00001214: DUP3 00001215: ADD 00001216: SWAP1 00001217: SWAP3 00001218: MSTORE 00001219: PUSH2 0x1224 0000121c: SWAP2 0000121d: DUP4 0000121e: SWAP2 0000121f: SWAP1 00001220: PUSH2 0x2ac9 00001223: JUMP 00001224: JUMPDEST 00001225: POP 00001226: JUMP 00001227: JUMPDEST 00001228: CALLER 00001229: PUSH1 0x00 0000122b: SWAP1 0000122c: DUP2 0000122d: MSTORE 0000122e: PUSH1 0x66 00001230: PUSH1 0x20 00001232: MSTORE 00001233: PUSH1 0x40 00001235: SWAP1 00001236: KECCAK256 00001237: SLOAD 00001238: PUSH1 0xff 0000123a: AND 0000123b: PUSH2 0x1275 0000123e: JUMPI 0000123f: PUSH1 0x40 00001241: MLOAD 00001242: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00001263: DUP2 00001264: MSTORE 00001265: PUSH3 0x015f91 00001269: PUSH1 0x04 0000126b: DUP3 0000126c: ADD 0000126d: MSTORE 0000126e: PUSH1 0x24 00001270: ADD 00001271: PUSH2 0x05d2 00001274: JUMP 00001275: JUMPDEST 00001276: SELFBALANCE 00001277: DUP6 00001278: ISZERO 00001279: DUP1 0000127a: ISZERO 0000127b: SWAP1 0000127c: PUSH2 0x12a9 0000127f: JUMPI 00001280: POP 00001281: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001296: DUP8 00001297: AND 00001298: PUSH1 0x00 0000129a: SWAP1 0000129b: DUP2 0000129c: MSTORE 0000129d: PUSH1 0x68 0000129f: PUSH1 0x20 000012a1: MSTORE 000012a2: PUSH1 0x40 000012a4: SWAP1 000012a5: KECCAK256 000012a6: SLOAD 000012a7: DUP7 000012a8: GT 000012a9: JUMPDEST 000012aa: ISZERO 000012ab: PUSH2 0x12e5 000012ae: JUMPI 000012af: PUSH1 0x40 000012b1: MLOAD 000012b2: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000012d3: DUP2 000012d4: MSTORE 000012d5: PUSH3 0x015f96 000012d9: PUSH1 0x04 000012db: DUP3 000012dc: ADD 000012dd: MSTORE 000012de: PUSH1 0x24 000012e0: ADD 000012e1: PUSH2 0x05d2 000012e4: JUMP 000012e5: JUMPDEST 000012e6: PUSH1 0x40 000012e8: MLOAD 000012e9: PUSH32 0x1593a34b00000000000000000000000000000000000000000000000000000000 0000130a: DUP2 0000130b: MSTORE 0000130c: PUSH1 0x04 0000130e: DUP2 0000130f: ADD 00001310: DUP7 00001311: SWAP1 00001312: MSTORE 00001313: PUSH1 0x24 00001315: DUP2 00001316: ADD 00001317: DUP6 00001318: SWAP1 00001319: MSTORE 0000131a: PUSH1 0x44 0000131c: DUP2 0000131d: ADD 0000131e: DUP5 0000131f: SWAP1 00001320: MSTORE 00001321: PUSH1 0x64 00001323: DUP2 00001324: ADD 00001325: DUP4 00001326: SWAP1 00001327: MSTORE 00001328: PUSH1 0x00 0000132a: SWAP1 0000132b: DUP2 0000132c: SWAP1 0000132d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001342: DUP11 00001343: AND 00001344: SWAP1 00001345: PUSH4 0x1593a34b 0000134a: SWAP1 0000134b: DUP11 0000134c: SWAP1 0000134d: PUSH1 0x84 0000134f: ADD 00001350: PUSH1 0x40 00001352: DUP1 00001353: MLOAD 00001354: DUP1 00001355: DUP4 00001356: SUB 00001357: DUP2 00001358: DUP6 00001359: DUP9 0000135a: GAS 0000135b: CALL 0000135c: ISZERO 0000135d: DUP1 0000135e: ISZERO 0000135f: PUSH2 0x136c 00001362: JUMPI 00001363: RETURNDATASIZE 00001364: PUSH1 0x00 00001366: DUP1 00001367: RETURNDATACOPY 00001368: RETURNDATASIZE 00001369: PUSH1 0x00 0000136b: REVERT 0000136c: JUMPDEST 0000136d: POP 0000136e: POP 0000136f: POP 00001370: POP 00001371: POP 00001372: PUSH1 0x40 00001374: MLOAD 00001375: RETURNDATASIZE 00001376: PUSH1 0x1f 00001378: NOT 00001379: PUSH1 0x1f 0000137b: DUP3 0000137c: ADD 0000137d: AND 0000137e: DUP3 0000137f: ADD 00001380: DUP1 00001381: PUSH1 0x40 00001383: MSTORE 00001384: POP 00001385: DUP2 00001386: ADD 00001387: SWAP1 00001388: PUSH2 0x1391 0000138b: SWAP2 0000138c: SWAP1 0000138d: PUSH2 0x3f4a 00001390: JUMP 00001391: JUMPDEST 00001392: SWAP2 00001393: POP 00001394: SWAP2 00001395: POP 00001396: PUSH1 0x00 00001398: DUP9 00001399: GT 0000139a: DUP1 0000139b: ISZERO 0000139c: PUSH2 0x13af 0000139f: JUMPI 000013a0: POP 000013a1: PUSH1 0x00 000013a3: DUP3 000013a4: SGT 000013a5: DUP1 000013a6: PUSH2 0x13af 000013a9: JUMPI 000013aa: POP 000013ab: PUSH1 0x00 000013ad: DUP2 000013ae: SLT 000013af: JUMPDEST 000013b0: ISZERO 000013b1: PUSH2 0x1434 000013b4: JUMPI 000013b5: PUSH1 0x00 000013b7: SELFBALANCE 000013b8: DUP5 000013b9: GT 000013ba: PUSH2 0x13c4 000013bd: JUMPI 000013be: PUSH1 0x00 000013c0: PUSH2 0x13ce 000013c3: JUMP 000013c4: JUMPDEST 000013c5: PUSH2 0x13ce 000013c8: SELFBALANCE 000013c9: DUP6 000013ca: PUSH2 0x3f37 000013cd: JUMP 000013ce: JUMPDEST 000013cf: SWAP1 000013d0: POP 000013d1: CALLVALUE 000013d2: ISZERO 000013d3: PUSH2 0x13f1 000013d6: JUMPI 000013d7: CALLVALUE 000013d8: DUP2 000013d9: GT 000013da: PUSH2 0x13e4 000013dd: JUMPI 000013de: PUSH1 0x00 000013e0: PUSH2 0x13ee 000013e3: JUMP 000013e4: JUMPDEST 000013e5: PUSH2 0x13ee 000013e8: CALLVALUE 000013e9: DUP3 000013ea: PUSH2 0x3f37 000013ed: JUMP 000013ee: JUMPDEST 000013ef: SWAP1 000013f0: POP 000013f1: JUMPDEST 000013f2: DUP1 000013f3: ISZERO 000013f4: PUSH2 0x1432 000013f7: JUMPI 000013f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000140d: DUP11 0000140e: AND 0000140f: PUSH1 0x00 00001411: SWAP1 00001412: DUP2 00001413: MSTORE 00001414: PUSH1 0x68 00001416: PUSH1 0x20 00001418: MSTORE 00001419: PUSH1 0x40 0000141b: DUP2 0000141c: KECCAK256 0000141d: DUP1 0000141e: SLOAD 0000141f: DUP4 00001420: SWAP3 00001421: SWAP1 00001422: PUSH2 0x142c 00001425: SWAP1 00001426: DUP5 00001427: SWAP1 00001428: PUSH2 0x3f37 0000142b: JUMP 0000142c: JUMPDEST 0000142d: SWAP1 0000142e: SWAP2 0000142f: SSTORE 00001430: POP 00001431: POP 00001432: JUMPDEST 00001433: POP 00001434: JUMPDEST 00001435: PUSH1 0x40 00001437: DUP1 00001438: MLOAD 00001439: DUP4 0000143a: DUP2 0000143b: MSTORE 0000143c: PUSH1 0x20 0000143e: DUP2 0000143f: ADD 00001440: DUP4 00001441: SWAP1 00001442: MSTORE 00001443: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001458: DUP12 00001459: AND 0000145a: SWAP2 0000145b: PUSH32 0x1b5a6c038413ee85baaa108b9e0f353fc1fb6dba5c500211baef62b0761e4d88 0000147c: SWAP2 0000147d: ADD 0000147e: PUSH1 0x40 00001480: MLOAD 00001481: DUP1 00001482: SWAP2 00001483: SUB 00001484: SWAP1 00001485: LOG2 00001486: POP 00001487: POP 00001488: POP 00001489: POP 0000148a: POP 0000148b: POP 0000148c: POP 0000148d: POP 0000148e: POP 0000148f: JUMP 00001490: JUMPDEST 00001491: DUP3 00001492: DUP2 00001493: EQ 00001494: PUSH2 0x14ce 00001497: JUMPI 00001498: PUSH1 0x40 0000149a: MLOAD 0000149b: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000014bc: DUP2 000014bd: MSTORE 000014be: PUSH3 0x015f93 000014c2: PUSH1 0x04 000014c4: DUP3 000014c5: ADD 000014c6: MSTORE 000014c7: PUSH1 0x24 000014c9: ADD 000014ca: PUSH2 0x05d2 000014cd: JUMP 000014ce: JUMPDEST 000014cf: PUSH1 0x00 000014d1: JUMPDEST 000014d2: DUP4 000014d3: DUP2 000014d4: LT 000014d5: ISZERO 000014d6: PUSH2 0x101b 000014d9: JUMPI 000014da: PUSH2 0x1521 000014dd: DUP6 000014de: DUP6 000014df: DUP4 000014e0: DUP2 000014e1: DUP2 000014e2: LT 000014e3: PUSH2 0x14ee 000014e6: JUMPI 000014e7: PUSH2 0x14ee 000014ea: PUSH2 0x3e88 000014ed: JUMP 000014ee: JUMPDEST 000014ef: SWAP1 000014f0: POP 000014f1: PUSH1 0x20 000014f3: MUL 000014f4: ADD 000014f5: PUSH1 0x20 000014f7: DUP2 000014f8: ADD 000014f9: SWAP1 000014fa: PUSH2 0x1503 000014fd: SWAP2 000014fe: SWAP1 000014ff: PUSH2 0x384f 00001502: JUMP 00001503: JUMPDEST 00001504: DUP5 00001505: DUP5 00001506: DUP5 00001507: DUP2 00001508: DUP2 00001509: LT 0000150a: PUSH2 0x1515 0000150d: JUMPI 0000150e: PUSH2 0x1515 00001511: PUSH2 0x3e88 00001514: JUMP 00001515: JUMPDEST 00001516: SWAP1 00001517: POP 00001518: PUSH1 0x20 0000151a: MUL 0000151b: ADD 0000151c: CALLDATALOAD 0000151d: PUSH2 0x0dc7 00001520: JUMP 00001521: JUMPDEST 00001522: DUP1 00001523: PUSH2 0x152b 00001526: DUP2 00001527: PUSH2 0x3eff 0000152a: JUMP 0000152b: JUMPDEST 0000152c: SWAP2 0000152d: POP 0000152e: POP 0000152f: PUSH2 0x14d1 00001532: JUMP 00001533: JUMPDEST 00001534: CALLER 00001535: PUSH20 0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e 0000154a: EQ 0000154b: DUP1 0000154c: ISZERO 0000154d: SWAP1 0000154e: PUSH2 0x158b 00001551: JUMPI 00001552: POP 00001553: CALLER 00001554: PUSH2 0x1572 00001557: PUSH1 0x33 00001559: SLOAD 0000155a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000156f: AND 00001570: SWAP1 00001571: JUMP 00001572: JUMPDEST 00001573: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001588: AND 00001589: EQ 0000158a: ISZERO 0000158b: JUMPDEST 0000158c: ISZERO 0000158d: PUSH2 0x15c7 00001590: JUMPI 00001591: PUSH1 0x40 00001593: MLOAD 00001594: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000015b5: DUP2 000015b6: MSTORE 000015b7: PUSH3 0x015f91 000015bb: PUSH1 0x04 000015bd: DUP3 000015be: ADD 000015bf: MSTORE 000015c0: PUSH1 0x24 000015c2: ADD 000015c3: PUSH2 0x05d2 000015c6: JUMP 000015c7: JUMPDEST 000015c8: CALLER 000015c9: PUSH20 0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e 000015de: EQ 000015df: DUP1 000015e0: ISZERO 000015e1: PUSH2 0x1636 000015e4: JUMPI 000015e5: POP 000015e6: PUSH32 0x00000000000000000000000028849d2b63fa8d361e5fc15cb8abb13019884d09 00001607: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000161c: AND 0000161d: DUP3 0000161e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001633: AND 00001634: EQ 00001635: ISZERO 00001636: JUMPDEST 00001637: DUP1 00001638: ISZERO 00001639: PUSH2 0x168e 0000163c: JUMPI 0000163d: POP 0000163e: PUSH32 0x0000000000000000000000009afb8c1798b93a8e04a18553ee65bafa41a012f1 0000165f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001674: AND 00001675: DUP3 00001676: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000168b: AND 0000168c: EQ 0000168d: ISZERO 0000168e: JUMPDEST 0000168f: ISZERO 00001690: PUSH2 0x16ca 00001693: JUMPI 00001694: PUSH1 0x40 00001696: MLOAD 00001697: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000016b8: DUP2 000016b9: MSTORE 000016ba: PUSH3 0x015f91 000016be: PUSH1 0x04 000016c0: DUP3 000016c1: ADD 000016c2: MSTORE 000016c3: PUSH1 0x24 000016c5: ADD 000016c6: PUSH2 0x05d2 000016c9: JUMP 000016ca: JUMPDEST 000016cb: DUP3 000016cc: MLOAD 000016cd: DUP5 000016ce: MLOAD 000016cf: EQ 000016d0: PUSH2 0x170a 000016d3: JUMPI 000016d4: PUSH1 0x40 000016d6: MLOAD 000016d7: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000016f8: DUP2 000016f9: MSTORE 000016fa: PUSH3 0x015f93 000016fe: PUSH1 0x04 00001700: DUP3 00001701: ADD 00001702: MSTORE 00001703: PUSH1 0x24 00001705: ADD 00001706: PUSH2 0x05d2 00001709: JUMP 0000170a: JUMPDEST 0000170b: PUSH1 0x00 0000170d: JUMPDEST 0000170e: DUP5 0000170f: MLOAD 00001710: DUP2 00001711: LT 00001712: ISZERO 00001713: PUSH2 0x101b 00001716: JUMPI 00001717: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 0000172c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001741: AND 00001742: DUP6 00001743: DUP3 00001744: DUP2 00001745: MLOAD 00001746: DUP2 00001747: LT 00001748: PUSH2 0x1753 0000174b: JUMPI 0000174c: PUSH2 0x1753 0000174f: PUSH2 0x3e88 00001752: JUMP 00001753: JUMPDEST 00001754: PUSH1 0x20 00001756: MUL 00001757: PUSH1 0x20 00001759: ADD 0000175a: ADD 0000175b: MLOAD 0000175c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001771: AND 00001772: SUB 00001773: PUSH2 0x179e 00001776: JUMPI 00001777: PUSH2 0x1799 0000177a: DUP4 0000177b: DUP6 0000177c: DUP4 0000177d: DUP2 0000177e: MLOAD 0000177f: DUP2 00001780: LT 00001781: PUSH2 0x178c 00001784: JUMPI 00001785: PUSH2 0x178c 00001788: PUSH2 0x3e88 0000178b: JUMP 0000178c: JUMPDEST 0000178d: PUSH1 0x20 0000178f: MUL 00001790: PUSH1 0x20 00001792: ADD 00001793: ADD 00001794: MLOAD 00001795: PUSH2 0x2cc8 00001798: JUMP 00001799: JUMPDEST 0000179a: PUSH2 0x17db 0000179d: JUMP 0000179e: JUMPDEST 0000179f: PUSH2 0x17db 000017a2: DUP6 000017a3: DUP3 000017a4: DUP2 000017a5: MLOAD 000017a6: DUP2 000017a7: LT 000017a8: PUSH2 0x17b3 000017ab: JUMPI 000017ac: PUSH2 0x17b3 000017af: PUSH2 0x3e88 000017b2: JUMP 000017b3: JUMPDEST 000017b4: PUSH1 0x20 000017b6: MUL 000017b7: PUSH1 0x20 000017b9: ADD 000017ba: ADD 000017bb: MLOAD 000017bc: DUP5 000017bd: DUP7 000017be: DUP5 000017bf: DUP2 000017c0: MLOAD 000017c1: DUP2 000017c2: LT 000017c3: PUSH2 0x17ce 000017c6: JUMPI 000017c7: PUSH2 0x17ce 000017ca: PUSH2 0x3e88 000017cd: JUMP 000017ce: JUMPDEST 000017cf: PUSH1 0x20 000017d1: MUL 000017d2: PUSH1 0x20 000017d4: ADD 000017d5: ADD 000017d6: MLOAD 000017d7: PUSH2 0x2d14 000017da: JUMP 000017db: JUMPDEST 000017dc: DUP4 000017dd: DUP2 000017de: DUP2 000017df: MLOAD 000017e0: DUP2 000017e1: LT 000017e2: PUSH2 0x17ed 000017e5: JUMPI 000017e6: PUSH2 0x17ed 000017e9: PUSH2 0x3e88 000017ec: JUMP 000017ed: JUMPDEST 000017ee: PUSH1 0x20 000017f0: MUL 000017f1: PUSH1 0x20 000017f3: ADD 000017f4: ADD 000017f5: MLOAD 000017f6: DUP6 000017f7: DUP3 000017f8: DUP2 000017f9: MLOAD 000017fa: DUP2 000017fb: LT 000017fc: PUSH2 0x1807 000017ff: JUMPI 00001800: PUSH2 0x1807 00001803: PUSH2 0x3e88 00001806: JUMP 00001807: JUMPDEST 00001808: PUSH1 0x20 0000180a: MUL 0000180b: PUSH1 0x20 0000180d: ADD 0000180e: ADD 0000180f: MLOAD 00001810: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001825: AND 00001826: PUSH32 0x1004e9c55ebcf7a4988e9e157a510c1a2e7fb431eeda4802633c0904dca6a4e4 00001847: DUP6 00001848: DUP6 00001849: PUSH1 0x40 0000184b: MLOAD 0000184c: PUSH2 0x1856 0000184f: SWAP3 00001850: SWAP2 00001851: SWAP1 00001852: PUSH2 0x40da 00001855: JUMP 00001856: JUMPDEST 00001857: PUSH1 0x40 00001859: MLOAD 0000185a: DUP1 0000185b: SWAP2 0000185c: SUB 0000185d: SWAP1 0000185e: LOG3 0000185f: DUP1 00001860: PUSH2 0x1868 00001863: DUP2 00001864: PUSH2 0x3eff 00001867: JUMP 00001868: JUMPDEST 00001869: SWAP2 0000186a: POP 0000186b: POP 0000186c: PUSH2 0x170d 0000186f: JUMP 00001870: JUMPDEST 00001871: DUP11 00001872: DUP10 00001873: EQ 00001874: ISZERO 00001875: DUP1 00001876: PUSH2 0x187f 00001879: JUMPI 0000187a: POP 0000187b: DUP11 0000187c: DUP8 0000187d: EQ 0000187e: ISZERO 0000187f: JUMPDEST 00001880: DUP1 00001881: PUSH2 0x188a 00001884: JUMPI 00001885: POP 00001886: DUP11 00001887: DUP6 00001888: EQ 00001889: ISZERO 0000188a: JUMPDEST 0000188b: DUP1 0000188c: PUSH2 0x1895 0000188f: JUMPI 00001890: POP 00001891: DUP11 00001892: DUP4 00001893: EQ 00001894: ISZERO 00001895: JUMPDEST 00001896: DUP1 00001897: PUSH2 0x18a0 0000189a: JUMPI 0000189b: POP 0000189c: DUP11 0000189d: DUP2 0000189e: EQ 0000189f: ISZERO 000018a0: JUMPDEST 000018a1: ISZERO 000018a2: PUSH2 0x18dc 000018a5: JUMPI 000018a6: PUSH1 0x40 000018a8: MLOAD 000018a9: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000018ca: DUP2 000018cb: MSTORE 000018cc: PUSH3 0x015f93 000018d0: PUSH1 0x04 000018d2: DUP3 000018d3: ADD 000018d4: MSTORE 000018d5: PUSH1 0x24 000018d7: ADD 000018d8: PUSH2 0x05d2 000018db: JUMP 000018dc: JUMPDEST 000018dd: PUSH1 0x00 000018df: JUMPDEST 000018e0: DUP12 000018e1: DUP2 000018e2: LT 000018e3: ISZERO 000018e4: PUSH2 0x19a5 000018e7: JUMPI 000018e8: PUSH2 0x1993 000018eb: DUP14 000018ec: DUP14 000018ed: DUP4 000018ee: DUP2 000018ef: DUP2 000018f0: LT 000018f1: PUSH2 0x18fc 000018f4: JUMPI 000018f5: PUSH2 0x18fc 000018f8: PUSH2 0x3e88 000018fb: JUMP 000018fc: JUMPDEST 000018fd: SWAP1 000018fe: POP 000018ff: PUSH1 0x20 00001901: MUL 00001902: ADD 00001903: PUSH1 0x20 00001905: DUP2 00001906: ADD 00001907: SWAP1 00001908: PUSH2 0x1911 0000190b: SWAP2 0000190c: SWAP1 0000190d: PUSH2 0x384f 00001910: JUMP 00001911: JUMPDEST 00001912: DUP13 00001913: DUP13 00001914: DUP5 00001915: DUP2 00001916: DUP2 00001917: LT 00001918: PUSH2 0x1923 0000191b: JUMPI 0000191c: PUSH2 0x1923 0000191f: PUSH2 0x3e88 00001922: JUMP 00001923: JUMPDEST 00001924: SWAP1 00001925: POP 00001926: PUSH1 0x20 00001928: MUL 00001929: ADD 0000192a: CALLDATALOAD 0000192b: DUP12 0000192c: DUP12 0000192d: DUP6 0000192e: DUP2 0000192f: DUP2 00001930: LT 00001931: PUSH2 0x193c 00001934: JUMPI 00001935: PUSH2 0x193c 00001938: PUSH2 0x3e88 0000193b: JUMP 0000193c: JUMPDEST 0000193d: SWAP1 0000193e: POP 0000193f: PUSH1 0x20 00001941: MUL 00001942: ADD 00001943: CALLDATALOAD 00001944: DUP11 00001945: DUP11 00001946: DUP7 00001947: DUP2 00001948: DUP2 00001949: LT 0000194a: PUSH2 0x1955 0000194d: JUMPI 0000194e: PUSH2 0x1955 00001951: PUSH2 0x3e88 00001954: JUMP 00001955: JUMPDEST 00001956: SWAP1 00001957: POP 00001958: PUSH1 0x20 0000195a: MUL 0000195b: ADD 0000195c: CALLDATALOAD 0000195d: DUP10 0000195e: DUP10 0000195f: DUP8 00001960: DUP2 00001961: DUP2 00001962: LT 00001963: PUSH2 0x196e 00001966: JUMPI 00001967: PUSH2 0x196e 0000196a: PUSH2 0x3e88 0000196d: JUMP 0000196e: JUMPDEST 0000196f: SWAP1 00001970: POP 00001971: PUSH1 0x20 00001973: MUL 00001974: ADD 00001975: CALLDATALOAD 00001976: DUP9 00001977: DUP9 00001978: DUP9 00001979: DUP2 0000197a: DUP2 0000197b: LT 0000197c: PUSH2 0x1987 0000197f: JUMPI 00001980: PUSH2 0x1987 00001983: PUSH2 0x3e88 00001986: JUMP 00001987: JUMPDEST 00001988: SWAP1 00001989: POP 0000198a: PUSH1 0x20 0000198c: MUL 0000198d: ADD 0000198e: CALLDATALOAD 0000198f: PUSH2 0x1227 00001992: JUMP 00001993: JUMPDEST 00001994: DUP1 00001995: PUSH2 0x199d 00001998: DUP2 00001999: PUSH2 0x3eff 0000199c: JUMP 0000199d: JUMPDEST 0000199e: SWAP2 0000199f: POP 000019a0: POP 000019a1: PUSH2 0x18df 000019a4: JUMP 000019a5: JUMPDEST 000019a6: POP 000019a7: POP 000019a8: POP 000019a9: POP 000019aa: POP 000019ab: POP 000019ac: POP 000019ad: POP 000019ae: POP 000019af: POP 000019b0: POP 000019b1: POP 000019b2: POP 000019b3: JUMP 000019b4: JUMPDEST 000019b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019ca: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2 000019eb: AND 000019ec: ADDRESS 000019ed: SUB 000019ee: PUSH2 0x1a79 000019f1: JUMPI 000019f2: PUSH1 0x40 000019f4: MLOAD 000019f5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a16: DUP2 00001a17: MSTORE 00001a18: PUSH1 0x20 00001a1a: PUSH1 0x04 00001a1c: DUP3 00001a1d: ADD 00001a1e: MSTORE 00001a1f: PUSH1 0x2c 00001a21: PUSH1 0x24 00001a23: DUP3 00001a24: ADD 00001a25: MSTORE 00001a26: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 00001a47: PUSH1 0x44 00001a49: DUP3 00001a4a: ADD 00001a4b: MSTORE 00001a4c: PUSH32 0x64656c656761746563616c6c0000000000000000000000000000000000000000 00001a6d: PUSH1 0x64 00001a6f: DUP3 00001a70: ADD 00001a71: MSTORE 00001a72: PUSH1 0x84 00001a74: ADD 00001a75: PUSH2 0x05d2 00001a78: JUMP 00001a79: JUMPDEST 00001a7a: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2 00001a9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ab0: AND 00001ab1: PUSH2 0x1aee 00001ab4: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00001ad5: SLOAD 00001ad6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001aeb: AND 00001aec: SWAP1 00001aed: JUMP 00001aee: JUMPDEST 00001aef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b04: AND 00001b05: EQ 00001b06: PUSH2 0x1b91 00001b09: JUMPI 00001b0a: PUSH1 0x40 00001b0c: MLOAD 00001b0d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001b2e: DUP2 00001b2f: MSTORE 00001b30: PUSH1 0x20 00001b32: PUSH1 0x04 00001b34: DUP3 00001b35: ADD 00001b36: MSTORE 00001b37: PUSH1 0x2c 00001b39: PUSH1 0x24 00001b3b: DUP3 00001b3c: ADD 00001b3d: MSTORE 00001b3e: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 00001b5f: PUSH1 0x44 00001b61: DUP3 00001b62: ADD 00001b63: MSTORE 00001b64: PUSH32 0x6163746976652070726f78790000000000000000000000000000000000000000 00001b85: PUSH1 0x64 00001b87: DUP3 00001b88: ADD 00001b89: MSTORE 00001b8a: PUSH1 0x84 00001b8c: ADD 00001b8d: PUSH2 0x05d2 00001b90: JUMP 00001b91: JUMPDEST 00001b92: PUSH2 0x1b9a 00001b95: DUP3 00001b96: PUSH2 0x2ac1 00001b99: JUMP 00001b9a: JUMPDEST 00001b9b: PUSH2 0x1ba6 00001b9e: DUP3 00001b9f: DUP3 00001ba0: PUSH1 0x01 00001ba2: PUSH2 0x2ac9 00001ba5: JUMP 00001ba6: JUMPDEST 00001ba7: POP 00001ba8: POP 00001ba9: JUMP 00001baa: JUMPDEST 00001bab: PUSH1 0x00 00001bad: SLOAD 00001bae: PUSH2 0x0100 00001bb1: SWAP1 00001bb2: DIV 00001bb3: PUSH1 0xff 00001bb5: AND 00001bb6: ISZERO 00001bb7: DUP1 00001bb8: DUP1 00001bb9: ISZERO 00001bba: PUSH2 0x1bca 00001bbd: JUMPI 00001bbe: POP 00001bbf: PUSH1 0x00 00001bc1: SLOAD 00001bc2: PUSH1 0x01 00001bc4: PUSH1 0xff 00001bc6: SWAP1 00001bc7: SWAP2 00001bc8: AND 00001bc9: LT 00001bca: JUMPDEST 00001bcb: DUP1 00001bcc: PUSH2 0x1be4 00001bcf: JUMPI 00001bd0: POP 00001bd1: ADDRESS 00001bd2: EXTCODESIZE 00001bd3: ISZERO 00001bd4: DUP1 00001bd5: ISZERO 00001bd6: PUSH2 0x1be4 00001bd9: JUMPI 00001bda: POP 00001bdb: PUSH1 0x00 00001bdd: SLOAD 00001bde: PUSH1 0xff 00001be0: AND 00001be1: PUSH1 0x01 00001be3: EQ 00001be4: JUMPDEST 00001be5: PUSH2 0x1c70 00001be8: JUMPI 00001be9: PUSH1 0x40 00001beb: MLOAD 00001bec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c0d: DUP2 00001c0e: MSTORE 00001c0f: PUSH1 0x20 00001c11: PUSH1 0x04 00001c13: DUP3 00001c14: ADD 00001c15: MSTORE 00001c16: PUSH1 0x2e 00001c18: PUSH1 0x24 00001c1a: DUP3 00001c1b: ADD 00001c1c: MSTORE 00001c1d: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00001c3e: PUSH1 0x44 00001c40: DUP3 00001c41: ADD 00001c42: MSTORE 00001c43: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000 00001c64: PUSH1 0x64 00001c66: DUP3 00001c67: ADD 00001c68: MSTORE 00001c69: PUSH1 0x84 00001c6b: ADD 00001c6c: PUSH2 0x05d2 00001c6f: JUMP 00001c70: JUMPDEST 00001c71: PUSH1 0x00 00001c73: DUP1 00001c74: SLOAD 00001c75: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001c96: AND 00001c97: PUSH1 0x01 00001c99: OR 00001c9a: SWAP1 00001c9b: SSTORE 00001c9c: DUP1 00001c9d: ISZERO 00001c9e: PUSH2 0x1cce 00001ca1: JUMPI 00001ca2: PUSH1 0x00 00001ca4: DUP1 00001ca5: SLOAD 00001ca6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001cc7: AND 00001cc8: PUSH2 0x0100 00001ccb: OR 00001ccc: SWAP1 00001ccd: SSTORE 00001cce: JUMPDEST 00001ccf: DUP2 00001cd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ce5: DUP2 00001ce6: AND 00001ce7: PUSH2 0x1d21 00001cea: JUMPI 00001ceb: PUSH1 0x40 00001ced: MLOAD 00001cee: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00001d0f: DUP2 00001d10: MSTORE 00001d11: PUSH3 0x015f92 00001d15: PUSH1 0x04 00001d17: DUP3 00001d18: ADD 00001d19: MSTORE 00001d1a: PUSH1 0x24 00001d1c: ADD 00001d1d: PUSH2 0x05d2 00001d20: JUMP 00001d21: JUMPDEST 00001d22: PUSH1 0x00 00001d24: JUMPDEST 00001d25: DUP6 00001d26: MLOAD 00001d27: DUP2 00001d28: LT 00001d29: ISZERO 00001d2a: PUSH2 0x1e1c 00001d2d: JUMPI 00001d2e: PUSH1 0x01 00001d30: PUSH1 0x65 00001d32: PUSH1 0x00 00001d34: DUP9 00001d35: DUP5 00001d36: DUP2 00001d37: MLOAD 00001d38: DUP2 00001d39: LT 00001d3a: PUSH2 0x1d45 00001d3d: JUMPI 00001d3e: PUSH2 0x1d45 00001d41: PUSH2 0x3e88 00001d44: JUMP 00001d45: JUMPDEST 00001d46: PUSH1 0x20 00001d48: MUL 00001d49: PUSH1 0x20 00001d4b: ADD 00001d4c: ADD 00001d4d: MLOAD 00001d4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d63: AND 00001d64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d79: AND 00001d7a: DUP2 00001d7b: MSTORE 00001d7c: PUSH1 0x20 00001d7e: ADD 00001d7f: SWAP1 00001d80: DUP2 00001d81: MSTORE 00001d82: PUSH1 0x20 00001d84: ADD 00001d85: PUSH1 0x00 00001d87: KECCAK256 00001d88: PUSH1 0x00 00001d8a: PUSH2 0x0100 00001d8d: EXP 00001d8e: DUP2 00001d8f: SLOAD 00001d90: DUP2 00001d91: PUSH1 0xff 00001d93: MUL 00001d94: NOT 00001d95: AND 00001d96: SWAP1 00001d97: DUP4 00001d98: ISZERO 00001d99: ISZERO 00001d9a: MUL 00001d9b: OR 00001d9c: SWAP1 00001d9d: SSTORE 00001d9e: POP 00001d9f: DUP6 00001da0: DUP2 00001da1: DUP2 00001da2: MLOAD 00001da3: DUP2 00001da4: LT 00001da5: PUSH2 0x1db0 00001da8: JUMPI 00001da9: PUSH2 0x1db0 00001dac: PUSH2 0x3e88 00001daf: JUMP 00001db0: JUMPDEST 00001db1: PUSH1 0x20 00001db3: MUL 00001db4: PUSH1 0x20 00001db6: ADD 00001db7: ADD 00001db8: MLOAD 00001db9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dce: AND 00001dcf: PUSH32 0xb873643b3104ddd26927dec7f9a08aa22d03ac20ada0295a2de7e1a6c60f2a51 00001df0: PUSH1 0x01 00001df2: PUSH1 0x40 00001df4: MLOAD 00001df5: PUSH2 0x1e02 00001df8: SWAP2 00001df9: ISZERO 00001dfa: ISZERO 00001dfb: DUP2 00001dfc: MSTORE 00001dfd: PUSH1 0x20 00001dff: ADD 00001e00: SWAP1 00001e01: JUMP 00001e02: JUMPDEST 00001e03: PUSH1 0x40 00001e05: MLOAD 00001e06: DUP1 00001e07: SWAP2 00001e08: SUB 00001e09: SWAP1 00001e0a: LOG2 00001e0b: DUP1 00001e0c: PUSH2 0x1e14 00001e0f: DUP2 00001e10: PUSH2 0x3eff 00001e13: JUMP 00001e14: JUMPDEST 00001e15: SWAP2 00001e16: POP 00001e17: POP 00001e18: PUSH2 0x1d24 00001e1b: JUMP 00001e1c: JUMPDEST 00001e1d: POP 00001e1e: PUSH1 0x00 00001e20: JUMPDEST 00001e21: DUP5 00001e22: MLOAD 00001e23: DUP2 00001e24: LT 00001e25: ISZERO 00001e26: PUSH2 0x1f18 00001e29: JUMPI 00001e2a: PUSH1 0x01 00001e2c: PUSH1 0x66 00001e2e: PUSH1 0x00 00001e30: DUP8 00001e31: DUP5 00001e32: DUP2 00001e33: MLOAD 00001e34: DUP2 00001e35: LT 00001e36: PUSH2 0x1e41 00001e39: JUMPI 00001e3a: PUSH2 0x1e41 00001e3d: PUSH2 0x3e88 00001e40: JUMP 00001e41: JUMPDEST 00001e42: PUSH1 0x20 00001e44: MUL 00001e45: PUSH1 0x20 00001e47: ADD 00001e48: ADD 00001e49: MLOAD 00001e4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e5f: AND 00001e60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e75: AND 00001e76: DUP2 00001e77: MSTORE 00001e78: PUSH1 0x20 00001e7a: ADD 00001e7b: SWAP1 00001e7c: DUP2 00001e7d: MSTORE 00001e7e: PUSH1 0x20 00001e80: ADD 00001e81: PUSH1 0x00 00001e83: KECCAK256 00001e84: PUSH1 0x00 00001e86: PUSH2 0x0100 00001e89: EXP 00001e8a: DUP2 00001e8b: SLOAD 00001e8c: DUP2 00001e8d: PUSH1 0xff 00001e8f: MUL 00001e90: NOT 00001e91: AND 00001e92: SWAP1 00001e93: DUP4 00001e94: ISZERO 00001e95: ISZERO 00001e96: MUL 00001e97: OR 00001e98: SWAP1 00001e99: SSTORE 00001e9a: POP 00001e9b: DUP5 00001e9c: DUP2 00001e9d: DUP2 00001e9e: MLOAD 00001e9f: DUP2 00001ea0: LT 00001ea1: PUSH2 0x1eac 00001ea4: JUMPI 00001ea5: PUSH2 0x1eac 00001ea8: PUSH2 0x3e88 00001eab: JUMP 00001eac: JUMPDEST 00001ead: PUSH1 0x20 00001eaf: MUL 00001eb0: PUSH1 0x20 00001eb2: ADD 00001eb3: ADD 00001eb4: MLOAD 00001eb5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eca: AND 00001ecb: PUSH32 0xad476fc62f6b1b5d25b35bd756cfbfcd299b581b8dfb25d5492c4305a0969bd2 00001eec: PUSH1 0x01 00001eee: PUSH1 0x40 00001ef0: MLOAD 00001ef1: PUSH2 0x1efe 00001ef4: SWAP2 00001ef5: ISZERO 00001ef6: ISZERO 00001ef7: DUP2 00001ef8: MSTORE 00001ef9: PUSH1 0x20 00001efb: ADD 00001efc: SWAP1 00001efd: JUMP 00001efe: JUMPDEST 00001eff: PUSH1 0x40 00001f01: MLOAD 00001f02: DUP1 00001f03: SWAP2 00001f04: SUB 00001f05: SWAP1 00001f06: LOG2 00001f07: DUP1 00001f08: PUSH2 0x1f10 00001f0b: DUP2 00001f0c: PUSH2 0x3eff 00001f0f: JUMP 00001f10: JUMPDEST 00001f11: SWAP2 00001f12: POP 00001f13: POP 00001f14: PUSH2 0x1e20 00001f17: JUMP 00001f18: JUMPDEST 00001f19: POP 00001f1a: PUSH2 0x1f22 00001f1d: DUP4 00001f1e: PUSH2 0x2db8 00001f21: JUMP 00001f22: JUMPDEST 00001f23: POP 00001f24: DUP1 00001f25: ISZERO 00001f26: PUSH2 0x087c 00001f29: JUMPI 00001f2a: PUSH1 0x00 00001f2c: DUP1 00001f2d: SLOAD 00001f2e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001f4f: AND 00001f50: SWAP1 00001f51: SSTORE 00001f52: PUSH1 0x40 00001f54: MLOAD 00001f55: PUSH1 0x01 00001f57: DUP2 00001f58: MSTORE 00001f59: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00001f7a: SWAP1 00001f7b: PUSH1 0x20 00001f7d: ADD 00001f7e: PUSH1 0x40 00001f80: MLOAD 00001f81: DUP1 00001f82: SWAP2 00001f83: SUB 00001f84: SWAP1 00001f85: LOG1 00001f86: POP 00001f87: POP 00001f88: POP 00001f89: POP 00001f8a: JUMP 00001f8b: JUMPDEST 00001f8c: PUSH1 0x00 00001f8e: ADDRESS 00001f8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fa4: PUSH32 0x000000000000000000000000fb3102759f2d57f547b9c519db49ce1ffde15db2 00001fc5: AND 00001fc6: EQ 00001fc7: PUSH2 0x2052 00001fca: JUMPI 00001fcb: PUSH1 0x40 00001fcd: MLOAD 00001fce: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001fef: DUP2 00001ff0: MSTORE 00001ff1: PUSH1 0x20 00001ff3: PUSH1 0x04 00001ff5: DUP3 00001ff6: ADD 00001ff7: MSTORE 00001ff8: PUSH1 0x38 00001ffa: PUSH1 0x24 00001ffc: DUP3 00001ffd: ADD 00001ffe: MSTORE 00001fff: PUSH32 0x555550535570677261646561626c653a206d757374206e6f742062652063616c 00002020: PUSH1 0x44 00002022: DUP3 00002023: ADD 00002024: MSTORE 00002025: PUSH32 0x6c6564207468726f7567682064656c656761746563616c6c0000000000000000 00002046: PUSH1 0x64 00002048: DUP3 00002049: ADD 0000204a: MSTORE 0000204b: PUSH1 0x84 0000204d: ADD 0000204e: PUSH2 0x05d2 00002051: JUMP 00002052: JUMPDEST 00002053: POP 00002054: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00002075: SWAP1 00002076: JUMP 00002077: JUMPDEST 00002078: CALLER 00002079: PUSH1 0x00 0000207b: SWAP1 0000207c: DUP2 0000207d: MSTORE 0000207e: PUSH1 0x65 00002080: PUSH1 0x20 00002082: MSTORE 00002083: PUSH1 0x40 00002085: SWAP1 00002086: KECCAK256 00002087: SLOAD 00002088: PUSH1 0xff 0000208a: AND 0000208b: ISZERO 0000208c: DUP1 0000208d: ISZERO 0000208e: PUSH2 0x20cb 00002091: JUMPI 00002092: POP 00002093: CALLER 00002094: PUSH2 0x20b2 00002097: PUSH1 0x33 00002099: SLOAD 0000209a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020af: AND 000020b0: SWAP1 000020b1: JUMP 000020b2: JUMPDEST 000020b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020c8: AND 000020c9: EQ 000020ca: ISZERO 000020cb: JUMPDEST 000020cc: ISZERO 000020cd: PUSH2 0x2107 000020d0: JUMPI 000020d1: PUSH1 0x40 000020d3: MLOAD 000020d4: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 000020f5: DUP2 000020f6: MSTORE 000020f7: PUSH3 0x015f91 000020fb: PUSH1 0x04 000020fd: DUP3 000020fe: ADD 000020ff: MSTORE 00002100: PUSH1 0x24 00002102: ADD 00002103: PUSH2 0x05d2 00002106: JUMP 00002107: JUMPDEST 00002108: DUP1 00002109: MLOAD 0000210a: DUP3 0000210b: MLOAD 0000210c: EQ 0000210d: PUSH2 0x2147 00002110: JUMPI 00002111: PUSH1 0x40 00002113: MLOAD 00002114: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00002135: DUP2 00002136: MSTORE 00002137: PUSH3 0x015f93 0000213b: PUSH1 0x04 0000213d: DUP3 0000213e: ADD 0000213f: MSTORE 00002140: PUSH1 0x24 00002142: ADD 00002143: PUSH2 0x05d2 00002146: JUMP 00002147: JUMPDEST 00002148: PUSH1 0x00 0000214a: JUMPDEST 0000214b: DUP3 0000214c: MLOAD 0000214d: DUP2 0000214e: LT 0000214f: ISZERO 00002150: PUSH2 0x22ee 00002153: JUMPI 00002154: PUSH1 0x00 00002156: DUP4 00002157: DUP3 00002158: DUP2 00002159: MLOAD 0000215a: DUP2 0000215b: LT 0000215c: PUSH2 0x2167 0000215f: JUMPI 00002160: PUSH2 0x2167 00002163: PUSH2 0x3e88 00002166: JUMP 00002167: JUMPDEST 00002168: PUSH1 0x20 0000216a: MUL 0000216b: PUSH1 0x20 0000216d: ADD 0000216e: ADD 0000216f: MLOAD 00002170: SWAP1 00002171: POP 00002172: PUSH1 0x00 00002174: DUP4 00002175: DUP4 00002176: DUP2 00002177: MLOAD 00002178: DUP2 00002179: LT 0000217a: PUSH2 0x2185 0000217d: JUMPI 0000217e: PUSH2 0x2185 00002181: PUSH2 0x3e88 00002184: JUMP 00002185: JUMPDEST 00002186: PUSH1 0x20 00002188: MUL 00002189: PUSH1 0x20 0000218b: ADD 0000218c: ADD 0000218d: MLOAD 0000218e: SWAP1 0000218f: POP 00002190: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 000021a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021ba: AND 000021bb: DUP2 000021bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021d1: AND 000021d2: SUB 000021d3: PUSH2 0x2201 000021d6: JUMPI 000021d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021ec: DUP3 000021ed: AND 000021ee: PUSH1 0x00 000021f0: SWAP1 000021f1: DUP2 000021f2: MSTORE 000021f3: PUSH1 0x68 000021f5: PUSH1 0x20 000021f7: MSTORE 000021f8: PUSH1 0x40 000021fa: DUP2 000021fb: KECCAK256 000021fc: SSTORE 000021fd: PUSH2 0x220d 00002200: JUMP 00002201: JUMPDEST 00002202: PUSH2 0x220d 00002205: DUP2 00002206: DUP4 00002207: PUSH1 0x00 00002209: PUSH2 0x28dd 0000220c: JUMP 0000220d: JUMPDEST 0000220e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002223: DUP3 00002224: AND 00002225: PUSH1 0x00 00002227: SWAP1 00002228: DUP2 00002229: MSTORE 0000222a: PUSH1 0x67 0000222c: PUSH1 0x20 0000222e: MSTORE 0000222f: PUSH1 0x40 00002231: SWAP1 00002232: KECCAK256 00002233: PUSH2 0x223c 00002236: SWAP1 00002237: DUP3 00002238: PUSH2 0x2e2f 0000223b: JUMP 0000223c: JUMPDEST 0000223d: POP 0000223e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002253: DUP3 00002254: AND 00002255: PUSH1 0x00 00002257: SWAP1 00002258: DUP2 00002259: MSTORE 0000225a: PUSH1 0x67 0000225c: PUSH1 0x20 0000225e: MSTORE 0000225f: PUSH1 0x40 00002261: SWAP1 00002262: KECCAK256 00002263: PUSH2 0x226b 00002266: SWAP1 00002267: PUSH2 0x2e51 0000226a: JUMP 0000226b: JUMPDEST 0000226c: PUSH1 0x00 0000226e: SUB 0000226f: PUSH2 0x227f 00002272: JUMPI 00002273: PUSH2 0x227d 00002276: PUSH1 0x69 00002278: DUP4 00002279: PUSH2 0x2e2f 0000227c: JUMP 0000227d: JUMPDEST 0000227e: POP 0000227f: JUMPDEST 00002280: DUP1 00002281: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002296: AND 00002297: DUP3 00002298: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022ad: AND 000022ae: PUSH32 0xd54cf739d89b84837b7ca6e1402410c3497b29b0a5fbe452e57008b3abd8874d 000022cf: PUSH1 0x40 000022d1: MLOAD 000022d2: PUSH1 0x40 000022d4: MLOAD 000022d5: DUP1 000022d6: SWAP2 000022d7: SUB 000022d8: SWAP1 000022d9: LOG3 000022da: POP 000022db: POP 000022dc: DUP1 000022dd: DUP1 000022de: PUSH2 0x22e6 000022e1: SWAP1 000022e2: PUSH2 0x3eff 000022e5: JUMP 000022e6: JUMPDEST 000022e7: SWAP2 000022e8: POP 000022e9: POP 000022ea: PUSH2 0x214a 000022ed: JUMP 000022ee: JUMPDEST 000022ef: POP 000022f0: POP 000022f1: POP 000022f2: JUMP 000022f3: JUMPDEST 000022f4: PUSH2 0x22fb 000022f7: PUSH2 0x2e5b 000022fa: JUMP 000022fb: JUMPDEST 000022fc: PUSH1 0x40 000022fe: MLOAD 000022ff: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 00002320: DUP2 00002321: MSTORE 00002322: PUSH3 0x015f94 00002326: PUSH1 0x04 00002328: DUP3 00002329: ADD 0000232a: MSTORE 0000232b: PUSH1 0x24 0000232d: ADD 0000232e: PUSH2 0x05d2 00002331: JUMP 00002332: JUMPDEST 00002333: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002348: DUP2 00002349: AND 0000234a: PUSH1 0x00 0000234c: SWAP1 0000234d: DUP2 0000234e: MSTORE 0000234f: PUSH1 0x67 00002351: PUSH1 0x20 00002353: MSTORE 00002354: PUSH1 0x40 00002356: SWAP1 00002357: KECCAK256 00002358: PUSH1 0x60 0000235a: SWAP1 0000235b: PUSH2 0x2363 0000235e: DUP2 0000235f: PUSH2 0x2e51 00002362: JUMP 00002363: JUMPDEST 00002364: PUSH8 0xffffffffffffffff 0000236d: DUP2 0000236e: GT 0000236f: ISZERO 00002370: PUSH2 0x237b 00002373: JUMPI 00002374: PUSH2 0x237b 00002377: PUSH2 0x3597 0000237a: JUMP 0000237b: JUMPDEST 0000237c: PUSH1 0x40 0000237e: MLOAD 0000237f: SWAP1 00002380: DUP1 00002381: DUP3 00002382: MSTORE 00002383: DUP1 00002384: PUSH1 0x20 00002386: MUL 00002387: PUSH1 0x20 00002389: ADD 0000238a: DUP3 0000238b: ADD 0000238c: PUSH1 0x40 0000238e: MSTORE 0000238f: DUP1 00002390: ISZERO 00002391: PUSH2 0x23a4 00002394: JUMPI 00002395: DUP2 00002396: PUSH1 0x20 00002398: ADD 00002399: PUSH1 0x20 0000239b: DUP3 0000239c: MUL 0000239d: DUP1 0000239e: CALLDATASIZE 0000239f: DUP4 000023a0: CALLDATACOPY 000023a1: ADD 000023a2: SWAP1 000023a3: POP 000023a4: JUMPDEST 000023a5: POP 000023a6: SWAP2 000023a7: POP 000023a8: PUSH1 0x00 000023aa: JUMPDEST 000023ab: PUSH2 0x23b3 000023ae: DUP3 000023af: PUSH2 0x2e51 000023b2: JUMP 000023b3: JUMPDEST 000023b4: DUP2 000023b5: LT 000023b6: ISZERO 000023b7: PUSH2 0x240d 000023ba: JUMPI 000023bb: PUSH2 0x23c4 000023be: DUP3 000023bf: DUP3 000023c0: PUSH2 0x2ede 000023c3: JUMP 000023c4: JUMPDEST 000023c5: DUP4 000023c6: DUP3 000023c7: DUP2 000023c8: MLOAD 000023c9: DUP2 000023ca: LT 000023cb: PUSH2 0x23d6 000023ce: JUMPI 000023cf: PUSH2 0x23d6 000023d2: PUSH2 0x3e88 000023d5: JUMP 000023d6: JUMPDEST 000023d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023ec: SWAP1 000023ed: SWAP3 000023ee: AND 000023ef: PUSH1 0x20 000023f1: SWAP3 000023f2: DUP4 000023f3: MUL 000023f4: SWAP2 000023f5: SWAP1 000023f6: SWAP2 000023f7: ADD 000023f8: SWAP1 000023f9: SWAP2 000023fa: ADD 000023fb: MSTORE 000023fc: DUP1 000023fd: PUSH2 0x2405 00002400: DUP2 00002401: PUSH2 0x3eff 00002404: JUMP 00002405: JUMPDEST 00002406: SWAP2 00002407: POP 00002408: POP 00002409: PUSH2 0x23aa 0000240c: JUMP 0000240d: JUMPDEST 0000240e: POP 0000240f: POP 00002410: SWAP2 00002411: SWAP1 00002412: POP 00002413: JUMP 00002414: JUMPDEST 00002415: PUSH2 0x241c 00002418: PUSH2 0x2e5b 0000241b: JUMP 0000241c: JUMPDEST 0000241d: DUP2 0000241e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002433: DUP2 00002434: AND 00002435: PUSH2 0x246f 00002438: JUMPI 00002439: PUSH1 0x40 0000243b: MLOAD 0000243c: PUSH32 0xc25348e000000000000000000000000000000000000000000000000000000000 0000245d: DUP2 0000245e: MSTORE 0000245f: PUSH3 0x015f92 00002463: PUSH1 0x04 00002465: DUP3 00002466: ADD 00002467: MSTORE 00002468: PUSH1 0x24 0000246a: ADD 0000246b: PUSH2 0x05d2 0000246e: JUMP 0000246f: JUMPDEST 00002470: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002485: DUP4 00002486: AND 00002487: PUSH1 0x00 00002489: DUP2 0000248a: DUP2 0000248b: MSTORE 0000248c: PUSH1 0x65 0000248e: PUSH1 0x20 00002490: SWAP1 00002491: DUP2 00002492: MSTORE 00002493: PUSH1 0x40 00002495: SWAP2 00002496: DUP3 00002497: SWAP1 00002498: KECCAK256 00002499: DUP1 0000249a: SLOAD 0000249b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000024bc: AND 000024bd: DUP7 000024be: ISZERO 000024bf: ISZERO 000024c0: SWAP1 000024c1: DUP2 000024c2: OR 000024c3: SWAP1 000024c4: SWAP2 000024c5: SSTORE 000024c6: SWAP2 000024c7: MLOAD 000024c8: SWAP2 000024c9: DUP3 000024ca: MSTORE 000024cb: PUSH32 0xb873643b3104ddd26927dec7f9a08aa22d03ac20ada0295a2de7e1a6c60f2a51 000024ec: SWAP2 000024ed: ADD 000024ee: PUSH2 0x09e4 000024f1: JUMP 000024f2: JUMPDEST 000024f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002508: DUP2 00002509: AND 0000250a: PUSH1 0x00 0000250c: SWAP1 0000250d: DUP2 0000250e: MSTORE 0000250f: PUSH1 0x67 00002511: PUSH1 0x20 00002513: MSTORE 00002514: PUSH1 0x40 00002516: SWAP1 00002517: KECCAK256 00002518: PUSH1 0x60 0000251a: SWAP1 0000251b: PUSH2 0x2523 0000251e: DUP2 0000251f: PUSH2 0x2e51 00002522: JUMP 00002523: JUMPDEST 00002524: PUSH8 0xffffffffffffffff 0000252d: DUP2 0000252e: GT 0000252f: ISZERO 00002530: PUSH2 0x253b 00002533: JUMPI 00002534: PUSH2 0x253b 00002537: PUSH2 0x3597 0000253a: JUMP 0000253b: JUMPDEST 0000253c: PUSH1 0x40 0000253e: MLOAD 0000253f: SWAP1 00002540: DUP1 00002541: DUP3 00002542: MSTORE 00002543: DUP1 00002544: PUSH1 0x20 00002546: MUL 00002547: PUSH1 0x20 00002549: ADD 0000254a: DUP3 0000254b: ADD 0000254c: PUSH1 0x40 0000254e: MSTORE 0000254f: DUP1 00002550: ISZERO 00002551: PUSH2 0x2580 00002554: JUMPI 00002555: DUP2 00002556: PUSH1 0x20 00002558: ADD 00002559: JUMPDEST 0000255a: PUSH1 0x40 0000255c: DUP1 0000255d: MLOAD 0000255e: DUP1 0000255f: DUP3 00002560: ADD 00002561: SWAP1 00002562: SWAP2 00002563: MSTORE 00002564: PUSH1 0x00 00002566: DUP1 00002567: DUP3 00002568: MSTORE 00002569: PUSH1 0x20 0000256b: DUP3 0000256c: ADD 0000256d: MSTORE 0000256e: DUP2 0000256f: MSTORE 00002570: PUSH1 0x20 00002572: ADD 00002573: SWAP1 00002574: PUSH1 0x01 00002576: SWAP1 00002577: SUB 00002578: SWAP1 00002579: DUP2 0000257a: PUSH2 0x2559 0000257d: JUMPI 0000257e: SWAP1 0000257f: POP 00002580: JUMPDEST 00002581: POP 00002582: SWAP2 00002583: POP 00002584: PUSH1 0x00 00002586: JUMPDEST 00002587: PUSH2 0x258f 0000258a: DUP3 0000258b: PUSH2 0x2e51 0000258e: JUMP 0000258f: JUMPDEST 00002590: DUP2 00002591: LT 00002592: ISZERO 00002593: PUSH2 0x240d 00002596: JUMPI 00002597: PUSH1 0x00 00002599: PUSH2 0x25a2 0000259c: DUP4 0000259d: DUP4 0000259e: PUSH2 0x2ede 000025a1: JUMP 000025a2: JUMPDEST 000025a3: SWAP1 000025a4: POP 000025a5: DUP1 000025a6: DUP5 000025a7: DUP4 000025a8: DUP2 000025a9: MLOAD 000025aa: DUP2 000025ab: LT 000025ac: PUSH2 0x25b7 000025af: JUMPI 000025b0: PUSH2 0x25b7 000025b3: PUSH2 0x3e88 000025b6: JUMP 000025b7: JUMPDEST 000025b8: PUSH1 0x20 000025ba: SWAP1 000025bb: DUP2 000025bc: MUL 000025bd: SWAP2 000025be: SWAP1 000025bf: SWAP2 000025c0: ADD 000025c1: ADD 000025c2: MLOAD 000025c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025d8: SWAP2 000025d9: DUP3 000025da: AND 000025db: SWAP1 000025dc: MSTORE 000025dd: DUP2 000025de: AND 000025df: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112 00002600: ADD 00002601: PUSH2 0x2653 00002604: JUMPI 00002605: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000261a: DUP6 0000261b: AND 0000261c: PUSH1 0x00 0000261e: SWAP1 0000261f: DUP2 00002620: MSTORE 00002621: PUSH1 0x68 00002623: PUSH1 0x20 00002625: MSTORE 00002626: PUSH1 0x40 00002628: SWAP1 00002629: KECCAK256 0000262a: SLOAD 0000262b: DUP5 0000262c: MLOAD 0000262d: DUP6 0000262e: SWAP1 0000262f: DUP5 00002630: SWAP1 00002631: DUP2 00002632: LT 00002633: PUSH2 0x263e 00002636: JUMPI 00002637: PUSH2 0x263e 0000263a: PUSH2 0x3e88 0000263d: JUMP 0000263e: JUMPDEST 0000263f: PUSH1 0x20 00002641: MUL 00002642: PUSH1 0x20 00002644: ADD 00002645: ADD 00002646: MLOAD 00002647: PUSH1 0x20 00002649: ADD 0000264a: DUP2 0000264b: DUP2 0000264c: MSTORE 0000264d: POP 0000264e: POP 0000264f: PUSH2 0x270c 00002652: JUMP 00002653: JUMPDEST 00002654: PUSH1 0x40 00002656: MLOAD 00002657: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 00002678: DUP2 00002679: MSTORE 0000267a: ADDRESS 0000267b: PUSH1 0x04 0000267d: DUP3 0000267e: ADD 0000267f: MSTORE 00002680: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002695: DUP7 00002696: DUP2 00002697: AND 00002698: PUSH1 0x24 0000269a: DUP4 0000269b: ADD 0000269c: MSTORE 0000269d: DUP3 0000269e: AND 0000269f: SWAP1 000026a0: PUSH4 0xdd62ed3e 000026a5: SWAP1 000026a6: PUSH1 0x44 000026a8: ADD 000026a9: PUSH1 0x20 000026ab: PUSH1 0x40 000026ad: MLOAD 000026ae: DUP1 000026af: DUP4 000026b0: SUB 000026b1: DUP2 000026b2: DUP7 000026b3: GAS 000026b4: STATICCALL 000026b5: ISZERO 000026b6: DUP1 000026b7: ISZERO 000026b8: PUSH2 0x26c5 000026bb: JUMPI 000026bc: RETURNDATASIZE 000026bd: PUSH1 0x00 000026bf: DUP1 000026c0: RETURNDATACOPY 000026c1: RETURNDATASIZE 000026c2: PUSH1 0x00 000026c4: REVERT 000026c5: JUMPDEST 000026c6: POP 000026c7: POP 000026c8: POP 000026c9: POP 000026ca: PUSH1 0x40 000026cc: MLOAD 000026cd: RETURNDATASIZE 000026ce: PUSH1 0x1f 000026d0: NOT 000026d1: PUSH1 0x1f 000026d3: DUP3 000026d4: ADD 000026d5: AND 000026d6: DUP3 000026d7: ADD 000026d8: DUP1 000026d9: PUSH1 0x40 000026db: MSTORE 000026dc: POP 000026dd: DUP2 000026de: ADD 000026df: SWAP1 000026e0: PUSH2 0x26e9 000026e3: SWAP2 000026e4: SWAP1 000026e5: PUSH2 0x3eb7 000026e8: JUMP 000026e9: JUMPDEST 000026ea: DUP5 000026eb: DUP4 000026ec: DUP2 000026ed: MLOAD 000026ee: DUP2 000026ef: LT 000026f0: PUSH2 0x26fb 000026f3: JUMPI 000026f4: PUSH2 0x26fb 000026f7: PUSH2 0x3e88 000026fa: JUMP 000026fb: JUMPDEST 000026fc: PUSH1 0x20 000026fe: MUL 000026ff: PUSH1 0x20 00002701: ADD 00002702: ADD 00002703: MLOAD 00002704: PUSH1 0x20 00002706: ADD 00002707: DUP2 00002708: DUP2 00002709: MSTORE 0000270a: POP 0000270b: POP 0000270c: JUMPDEST 0000270d: POP 0000270e: DUP1 0000270f: PUSH2 0x2717 00002712: DUP2 00002713: PUSH2 0x3eff 00002716: JUMP 00002717: JUMPDEST 00002718: SWAP2 00002719: POP 0000271a: POP 0000271b: PUSH2 0x2586 0000271e: JUMP 0000271f: JUMPDEST 00002720: PUSH1 0x60 00002722: PUSH2 0x272b 00002725: PUSH1 0x69 00002727: PUSH2 0x2e51 0000272a: JUMP 0000272b: JUMPDEST 0000272c: PUSH8 0xffffffffffffffff 00002735: DUP2 00002736: GT 00002737: ISZERO 00002738: PUSH2 0x2743 0000273b: JUMPI 0000273c: PUSH2 0x2743 0000273f: PUSH2 0x3597 00002742: JUMP 00002743: JUMPDEST 00002744: PUSH1 0x40 00002746: MLOAD 00002747: SWAP1 00002748: DUP1 00002749: DUP3 0000274a: MSTORE 0000274b: DUP1 0000274c: PUSH1 0x20 0000274e: MUL 0000274f: PUSH1 0x20 00002751: ADD 00002752: DUP3 00002753: ADD 00002754: PUSH1 0x40 00002756: MSTORE 00002757: DUP1 00002758: ISZERO 00002759: PUSH2 0x2789 0000275c: JUMPI 0000275d: DUP2 0000275e: PUSH1 0x20 00002760: ADD 00002761: JUMPDEST 00002762: PUSH1 0x40 00002764: DUP1 00002765: MLOAD 00002766: DUP1 00002767: DUP3 00002768: ADD 00002769: SWAP1 0000276a: SWAP2 0000276b: MSTORE 0000276c: PUSH1 0x00 0000276e: DUP2 0000276f: MSTORE 00002770: PUSH1 0x60 00002772: PUSH1 0x20 00002774: DUP3 00002775: ADD 00002776: MSTORE 00002777: DUP2 00002778: MSTORE 00002779: PUSH1 0x20 0000277b: ADD 0000277c: SWAP1 0000277d: PUSH1 0x01 0000277f: SWAP1 00002780: SUB 00002781: SWAP1 00002782: DUP2 00002783: PUSH2 0x2761 00002786: JUMPI 00002787: SWAP1 00002788: POP 00002789: JUMPDEST 0000278a: POP 0000278b: SWAP1 0000278c: POP 0000278d: PUSH1 0x00 0000278f: JUMPDEST 00002790: PUSH2 0x2799 00002793: PUSH1 0x69 00002795: PUSH2 0x2e51 00002798: JUMP 00002799: JUMPDEST 0000279a: DUP2 0000279b: LT 0000279c: ISZERO 0000279d: PUSH2 0x2825 000027a0: JUMPI 000027a1: PUSH1 0x00 000027a3: PUSH2 0x27ad 000027a6: PUSH1 0x69 000027a8: DUP4 000027a9: PUSH2 0x2ede 000027ac: JUMP 000027ad: JUMPDEST 000027ae: SWAP1 000027af: POP 000027b0: DUP1 000027b1: DUP4 000027b2: DUP4 000027b3: DUP2 000027b4: MLOAD 000027b5: DUP2 000027b6: LT 000027b7: PUSH2 0x27c2 000027ba: JUMPI 000027bb: PUSH2 0x27c2 000027be: PUSH2 0x3e88 000027c1: JUMP 000027c2: JUMPDEST 000027c3: PUSH1 0x20 000027c5: SWAP1 000027c6: DUP2 000027c7: MUL 000027c8: SWAP2 000027c9: SWAP1 000027ca: SWAP2 000027cb: ADD 000027cc: ADD 000027cd: MLOAD 000027ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027e3: SWAP1 000027e4: SWAP2 000027e5: AND 000027e6: SWAP1 000027e7: MSTORE 000027e8: PUSH2 0x27f0 000027eb: DUP2 000027ec: PUSH2 0x24f2 000027ef: JUMP 000027f0: JUMPDEST 000027f1: DUP4 000027f2: DUP4 000027f3: DUP2 000027f4: MLOAD 000027f5: DUP2 000027f6: LT 000027f7: PUSH2 0x2802 000027fa: JUMPI 000027fb: PUSH2 0x2802 000027fe: PUSH2 0x3e88 00002801: JUMP 00002802: JUMPDEST 00002803: PUSH1 0x20 00002805: MUL 00002806: PUSH1 0x20 00002808: ADD 00002809: ADD 0000280a: MLOAD 0000280b: PUSH1 0x20 0000280d: ADD 0000280e: DUP2 0000280f: SWAP1 00002810: MSTORE 00002811: POP 00002812: POP 00002813: DUP1 00002814: DUP1 00002815: PUSH2 0x281d 00002818: SWAP1 00002819: PUSH2 0x3eff 0000281c: JUMP 0000281d: JUMPDEST 0000281e: SWAP2 0000281f: POP 00002820: POP 00002821: PUSH2 0x278f 00002824: JUMP 00002825: JUMPDEST 00002826: POP 00002827: SWAP1 00002828: JUMP 00002829: JUMPDEST 0000282a: PUSH2 0x2831 0000282d: PUSH2 0x2e5b 00002830: JUMP 00002831: JUMPDEST 00002832: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002847: DUP2 00002848: AND 00002849: PUSH2 0x28d4 0000284c: JUMPI 0000284d: PUSH1 0x40 0000284f: MLOAD 00002850: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002871: DUP2 00002872: MSTORE 00002873: PUSH1 0x20 00002875: PUSH1 0x04 00002877: DUP3 00002878: ADD 00002879: MSTORE 0000287a: PUSH1 0x26 0000287c: PUSH1 0x24 0000287e: DUP3 0000287f: ADD 00002880: MSTORE 00002881: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 000028a2: PUSH1 0x44 000028a4: DUP3 000028a5: ADD 000028a6: MSTORE 000028a7: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 000028c8: PUSH1 0x64 000028ca: DUP3 000028cb: ADD 000028cc: MSTORE 000028cd: PUSH1 0x84 000028cf: ADD 000028d0: PUSH2 0x05d2 000028d3: JUMP 000028d4: JUMPDEST 000028d5: PUSH2 0x1224 000028d8: DUP2 000028d9: PUSH2 0x2db8 000028dc: JUMP 000028dd: JUMPDEST 000028de: DUP1 000028df: ISZERO 000028e0: DUP1 000028e1: PUSH2 0x297d 000028e4: JUMPI 000028e5: POP 000028e6: PUSH1 0x40 000028e8: MLOAD 000028e9: PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 0000290a: DUP2 0000290b: MSTORE 0000290c: ADDRESS 0000290d: PUSH1 0x04 0000290f: DUP3 00002910: ADD 00002911: MSTORE 00002912: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002927: DUP4 00002928: DUP2 00002929: AND 0000292a: PUSH1 0x24 0000292c: DUP4 0000292d: ADD 0000292e: MSTORE 0000292f: DUP5 00002930: AND 00002931: SWAP1 00002932: PUSH4 0xdd62ed3e 00002937: SWAP1 00002938: PUSH1 0x44 0000293a: ADD 0000293b: PUSH1 0x20 0000293d: PUSH1 0x40 0000293f: MLOAD 00002940: DUP1 00002941: DUP4 00002942: SUB 00002943: DUP2 00002944: DUP7 00002945: GAS 00002946: STATICCALL 00002947: ISZERO 00002948: DUP1 00002949: ISZERO 0000294a: PUSH2 0x2957 0000294d: JUMPI 0000294e: RETURNDATASIZE 0000294f: PUSH1 0x00 00002951: DUP1 00002952: RETURNDATACOPY 00002953: RETURNDATASIZE 00002954: PUSH1 0x00 00002956: REVERT 00002957: JUMPDEST 00002958: POP 00002959: POP 0000295a: POP 0000295b: POP 0000295c: PUSH1 0x40 0000295e: MLOAD 0000295f: RETURNDATASIZE 00002960: PUSH1 0x1f 00002962: NOT 00002963: PUSH1 0x1f 00002965: DUP3 00002966: ADD 00002967: AND 00002968: DUP3 00002969: ADD 0000296a: DUP1 0000296b: PUSH1 0x40 0000296d: MSTORE 0000296e: POP 0000296f: DUP2 00002970: ADD 00002971: SWAP1 00002972: PUSH2 0x297b 00002975: SWAP2 00002976: SWAP1 00002977: PUSH2 0x3eb7 0000297a: JUMP 0000297b: JUMPDEST 0000297c: ISZERO 0000297d: JUMPDEST 0000297e: PUSH2 0x2a09 00002981: JUMPI 00002982: PUSH1 0x40 00002984: MLOAD 00002985: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000029a6: DUP2 000029a7: MSTORE 000029a8: PUSH1 0x20 000029aa: PUSH1 0x04 000029ac: DUP3 000029ad: ADD 000029ae: MSTORE 000029af: PUSH1 0x36 000029b1: PUSH1 0x24 000029b3: DUP3 000029b4: ADD 000029b5: MSTORE 000029b6: PUSH32 0x5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f 000029d7: PUSH1 0x44 000029d9: DUP3 000029da: ADD 000029db: MSTORE 000029dc: PUSH32 0x20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000 000029fd: PUSH1 0x64 000029ff: DUP3 00002a00: ADD 00002a01: MSTORE 00002a02: PUSH1 0x84 00002a04: ADD 00002a05: PUSH2 0x05d2 00002a08: JUMP 00002a09: JUMPDEST 00002a0a: PUSH1 0x40 00002a0c: DUP1 00002a0d: MLOAD 00002a0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a23: DUP5 00002a24: AND 00002a25: PUSH1 0x24 00002a27: DUP3 00002a28: ADD 00002a29: MSTORE 00002a2a: PUSH1 0x44 00002a2c: DUP1 00002a2d: DUP3 00002a2e: ADD 00002a2f: DUP5 00002a30: SWAP1 00002a31: MSTORE 00002a32: DUP3 00002a33: MLOAD 00002a34: DUP1 00002a35: DUP4 00002a36: SUB 00002a37: SWAP1 00002a38: SWAP2 00002a39: ADD 00002a3a: DUP2 00002a3b: MSTORE 00002a3c: PUSH1 0x64 00002a3e: SWAP1 00002a3f: SWAP2 00002a40: ADD 00002a41: SWAP1 00002a42: SWAP2 00002a43: MSTORE 00002a44: PUSH1 0x20 00002a46: DUP2 00002a47: ADD 00002a48: DUP1 00002a49: MLOAD 00002a4a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002a67: AND 00002a68: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00002a89: OR 00002a8a: SWAP1 00002a8b: MSTORE 00002a8c: PUSH2 0x22ee 00002a8f: SWAP1 00002a90: DUP5 00002a91: SWAP1 00002a92: PUSH2 0x2eea 00002a95: JUMP 00002a96: JUMPDEST 00002a97: PUSH1 0x00 00002a99: PUSH2 0x2ab8 00002a9c: DUP4 00002a9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ab2: DUP5 00002ab3: AND 00002ab4: PUSH2 0x2ff6 00002ab7: JUMP 00002ab8: JUMPDEST 00002ab9: SWAP1 00002aba: POP 00002abb: JUMPDEST 00002abc: SWAP3 00002abd: SWAP2 00002abe: POP 00002abf: POP 00002ac0: JUMP 00002ac1: JUMPDEST 00002ac2: PUSH2 0x1224 00002ac5: PUSH2 0x2e5b 00002ac8: JUMP 00002ac9: JUMPDEST 00002aca: PUSH32 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143 00002aeb: SLOAD 00002aec: PUSH1 0xff 00002aee: AND 00002aef: ISZERO 00002af0: PUSH2 0x2afc 00002af3: JUMPI 00002af4: PUSH2 0x22ee 00002af7: DUP4 00002af8: PUSH2 0x3045 00002afb: JUMP 00002afc: JUMPDEST 00002afd: DUP3 00002afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b13: AND 00002b14: PUSH4 0x52d1902d 00002b19: PUSH1 0x40 00002b1b: MLOAD 00002b1c: DUP2 00002b1d: PUSH4 0xffffffff 00002b22: AND 00002b23: PUSH1 0xe0 00002b25: SHL 00002b26: DUP2 00002b27: MSTORE 00002b28: PUSH1 0x04 00002b2a: ADD 00002b2b: PUSH1 0x20 00002b2d: PUSH1 0x40 00002b2f: MLOAD 00002b30: DUP1 00002b31: DUP4 00002b32: SUB 00002b33: DUP2 00002b34: DUP7 00002b35: GAS 00002b36: STATICCALL 00002b37: SWAP3 00002b38: POP 00002b39: POP 00002b3a: POP 00002b3b: DUP1 00002b3c: ISZERO 00002b3d: PUSH2 0x2b81 00002b40: JUMPI 00002b41: POP 00002b42: PUSH1 0x40 00002b44: DUP1 00002b45: MLOAD 00002b46: PUSH1 0x1f 00002b48: RETURNDATASIZE 00002b49: SWAP1 00002b4a: DUP2 00002b4b: ADD 00002b4c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002b6d: AND 00002b6e: DUP3 00002b6f: ADD 00002b70: SWAP1 00002b71: SWAP3 00002b72: MSTORE 00002b73: PUSH2 0x2b7e 00002b76: SWAP2 00002b77: DUP2 00002b78: ADD 00002b79: SWAP1 00002b7a: PUSH2 0x3eb7 00002b7d: JUMP 00002b7e: JUMPDEST 00002b7f: PUSH1 0x01 00002b81: JUMPDEST 00002b82: PUSH2 0x2c0d 00002b85: JUMPI 00002b86: PUSH1 0x40 00002b88: MLOAD 00002b89: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002baa: DUP2 00002bab: MSTORE 00002bac: PUSH1 0x20 00002bae: PUSH1 0x04 00002bb0: DUP3 00002bb1: ADD 00002bb2: MSTORE 00002bb3: PUSH1 0x2e 00002bb5: PUSH1 0x24 00002bb7: DUP3 00002bb8: ADD 00002bb9: MSTORE 00002bba: PUSH32 0x45524331393637557067726164653a206e657720696d706c656d656e74617469 00002bdb: PUSH1 0x44 00002bdd: DUP3 00002bde: ADD 00002bdf: MSTORE 00002be0: PUSH32 0x6f6e206973206e6f742055555053000000000000000000000000000000000000 00002c01: PUSH1 0x64 00002c03: DUP3 00002c04: ADD 00002c05: MSTORE 00002c06: PUSH1 0x84 00002c08: ADD 00002c09: PUSH2 0x05d2 00002c0c: JUMP 00002c0d: JUMPDEST 00002c0e: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00002c2f: DUP2 00002c30: EQ 00002c31: PUSH2 0x2cbc 00002c34: JUMPI 00002c35: PUSH1 0x40 00002c37: MLOAD 00002c38: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002c59: DUP2 00002c5a: MSTORE 00002c5b: PUSH1 0x20 00002c5d: PUSH1 0x04 00002c5f: DUP3 00002c60: ADD 00002c61: MSTORE 00002c62: PUSH1 0x29 00002c64: PUSH1 0x24 00002c66: DUP3 00002c67: ADD 00002c68: MSTORE 00002c69: PUSH32 0x45524331393637557067726164653a20756e737570706f727465642070726f78 00002c8a: PUSH1 0x44 00002c8c: DUP3 00002c8d: ADD 00002c8e: MSTORE 00002c8f: PUSH32 0x6961626c65555549440000000000000000000000000000000000000000000000 00002cb0: PUSH1 0x64 00002cb2: DUP3 00002cb3: ADD 00002cb4: MSTORE 00002cb5: PUSH1 0x84 00002cb7: ADD 00002cb8: PUSH2 0x05d2 00002cbb: JUMP 00002cbc: JUMPDEST 00002cbd: POP 00002cbe: PUSH2 0x22ee 00002cc1: DUP4 00002cc2: DUP4 00002cc3: DUP4 00002cc4: PUSH2 0x314f 00002cc7: JUMP 00002cc8: JUMPDEST 00002cc9: PUSH1 0x00 00002ccb: DUP1 00002ccc: PUSH1 0x00 00002cce: DUP1 00002ccf: PUSH1 0x00 00002cd1: DUP6 00002cd2: DUP8 00002cd3: PUSH2 0x4e20 00002cd6: CALL 00002cd7: SWAP1 00002cd8: POP 00002cd9: DUP1 00002cda: PUSH2 0x22ee 00002cdd: JUMPI 00002cde: PUSH1 0x40 00002ce0: MLOAD 00002ce1: PUSH32 0xdee51a8a00000000000000000000000000000000000000000000000000000000 00002d02: DUP2 00002d03: MSTORE 00002d04: PUSH3 0x01155a 00002d08: PUSH1 0x04 00002d0a: DUP3 00002d0b: ADD 00002d0c: MSTORE 00002d0d: PUSH1 0x24 00002d0f: ADD 00002d10: PUSH2 0x05d2 00002d13: JUMP 00002d14: JUMPDEST 00002d15: PUSH1 0x00 00002d17: PUSH1 0x40 00002d19: MLOAD 00002d1a: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00002d3b: DUP2 00002d3c: MSTORE 00002d3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d52: DUP5 00002d53: AND 00002d54: PUSH1 0x04 00002d56: DUP3 00002d57: ADD 00002d58: MSTORE 00002d59: DUP3 00002d5a: PUSH1 0x24 00002d5c: DUP3 00002d5d: ADD 00002d5e: MSTORE 00002d5f: PUSH1 0x20 00002d61: PUSH1 0x00 00002d63: PUSH1 0x44 00002d65: DUP4 00002d66: PUSH1 0x00 00002d68: DUP10 00002d69: GAS 00002d6a: CALL 00002d6b: RETURNDATASIZE 00002d6c: ISZERO 00002d6d: PUSH1 0x1f 00002d6f: RETURNDATASIZE 00002d70: GT 00002d71: PUSH1 0x01 00002d73: PUSH1 0x00 00002d75: MLOAD 00002d76: EQ 00002d77: AND 00002d78: OR 00002d79: AND 00002d7a: SWAP2 00002d7b: POP 00002d7c: POP 00002d7d: DUP1 00002d7e: PUSH2 0x087c 00002d81: JUMPI 00002d82: PUSH1 0x40 00002d84: MLOAD 00002d85: PUSH32 0xdee51a8a00000000000000000000000000000000000000000000000000000000 00002da6: DUP2 00002da7: MSTORE 00002da8: PUSH3 0x01155a 00002dac: PUSH1 0x04 00002dae: DUP3 00002daf: ADD 00002db0: MSTORE 00002db1: PUSH1 0x24 00002db3: ADD 00002db4: PUSH2 0x05d2 00002db7: JUMP 00002db8: JUMPDEST 00002db9: PUSH1 0x33 00002dbb: DUP1 00002dbc: SLOAD 00002dbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002dd2: DUP4 00002dd3: DUP2 00002dd4: AND 00002dd5: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002df6: DUP4 00002df7: AND 00002df8: DUP2 00002df9: OR 00002dfa: SWAP1 00002dfb: SWAP4 00002dfc: SSTORE 00002dfd: PUSH1 0x40 00002dff: MLOAD 00002e00: SWAP2 00002e01: AND 00002e02: SWAP2 00002e03: SWAP1 00002e04: DUP3 00002e05: SWAP1 00002e06: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002e27: SWAP1 00002e28: PUSH1 0x00 00002e2a: SWAP1 00002e2b: LOG3 00002e2c: POP 00002e2d: POP 00002e2e: JUMP 00002e2f: JUMPDEST 00002e30: PUSH1 0x00 00002e32: PUSH2 0x2ab8 00002e35: DUP4 00002e36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e4b: DUP5 00002e4c: AND 00002e4d: PUSH2 0x3174 00002e50: JUMP 00002e51: JUMPDEST 00002e52: PUSH1 0x00 00002e54: PUSH2 0x2abb 00002e57: DUP3 00002e58: SLOAD 00002e59: SWAP1 00002e5a: JUMP 00002e5b: JUMPDEST 00002e5c: PUSH1 0x33 00002e5e: SLOAD 00002e5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e74: AND 00002e75: CALLER 00002e76: EQ 00002e77: PUSH2 0x2edc 00002e7a: JUMPI 00002e7b: PUSH1 0x40 00002e7d: MLOAD 00002e7e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002e9f: DUP2 00002ea0: MSTORE 00002ea1: PUSH1 0x20 00002ea3: PUSH1 0x04 00002ea5: DUP3 00002ea6: ADD 00002ea7: DUP2 00002ea8: SWAP1 00002ea9: MSTORE 00002eaa: PUSH1 0x24 00002eac: DUP3 00002ead: ADD 00002eae: MSTORE 00002eaf: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00002ed0: PUSH1 0x44 00002ed2: DUP3 00002ed3: ADD 00002ed4: MSTORE 00002ed5: PUSH1 0x64 00002ed7: ADD 00002ed8: PUSH2 0x05d2 00002edb: JUMP 00002edc: JUMPDEST 00002edd: JUMP 00002ede: JUMPDEST 00002edf: PUSH1 0x00 00002ee1: PUSH2 0x2ab8 00002ee4: DUP4 00002ee5: DUP4 00002ee6: PUSH2 0x3267 00002ee9: JUMP 00002eea: JUMPDEST 00002eeb: PUSH1 0x00 00002eed: PUSH2 0x2f4c 00002ef0: DUP3 00002ef1: PUSH1 0x40 00002ef3: MLOAD 00002ef4: DUP1 00002ef5: PUSH1 0x40 00002ef7: ADD 00002ef8: PUSH1 0x40 00002efa: MSTORE 00002efb: DUP1 00002efc: PUSH1 0x20 00002efe: DUP2 00002eff: MSTORE 00002f00: PUSH1 0x20 00002f02: ADD 00002f03: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00002f24: DUP2 00002f25: MSTORE 00002f26: POP 00002f27: DUP6 00002f28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f3d: AND 00002f3e: PUSH2 0x3291 00002f41: SWAP1 00002f42: SWAP3 00002f43: SWAP2 00002f44: SWAP1 00002f45: PUSH4 0xffffffff 00002f4a: AND 00002f4b: JUMP 00002f4c: JUMPDEST 00002f4d: DUP1 00002f4e: MLOAD 00002f4f: SWAP1 00002f50: SWAP2 00002f51: POP 00002f52: ISZERO 00002f53: PUSH2 0x22ee 00002f56: JUMPI 00002f57: DUP1 00002f58: DUP1 00002f59: PUSH1 0x20 00002f5b: ADD 00002f5c: SWAP1 00002f5d: MLOAD 00002f5e: DUP2 00002f5f: ADD 00002f60: SWAP1 00002f61: PUSH2 0x2f6a 00002f64: SWAP2 00002f65: SWAP1 00002f66: PUSH2 0x4109 00002f69: JUMP 00002f6a: JUMPDEST 00002f6b: PUSH2 0x22ee 00002f6e: JUMPI 00002f6f: PUSH1 0x40 00002f71: MLOAD 00002f72: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002f93: DUP2 00002f94: MSTORE 00002f95: PUSH1 0x20 00002f97: PUSH1 0x04 00002f99: DUP3 00002f9a: ADD 00002f9b: MSTORE 00002f9c: PUSH1 0x2a 00002f9e: PUSH1 0x24 00002fa0: DUP3 00002fa1: ADD 00002fa2: MSTORE 00002fa3: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00002fc4: PUSH1 0x44 00002fc6: DUP3 00002fc7: ADD 00002fc8: MSTORE 00002fc9: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 00002fea: PUSH1 0x64 00002fec: DUP3 00002fed: ADD 00002fee: MSTORE 00002fef: PUSH1 0x84 00002ff1: ADD 00002ff2: PUSH2 0x05d2 00002ff5: JUMP 00002ff6: JUMPDEST 00002ff7: PUSH1 0x00 00002ff9: DUP2 00002ffa: DUP2 00002ffb: MSTORE 00002ffc: PUSH1 0x01 00002ffe: DUP4 00002fff: ADD 00003000: PUSH1 0x20 00003002: MSTORE 00003003: PUSH1 0x40 00003005: DUP2 00003006: KECCAK256 00003007: SLOAD 00003008: PUSH2 0x303d 0000300b: JUMPI 0000300c: POP 0000300d: DUP2 0000300e: SLOAD 0000300f: PUSH1 0x01 00003011: DUP2 00003012: DUP2 00003013: ADD 00003014: DUP5 00003015: SSTORE 00003016: PUSH1 0x00 00003018: DUP5 00003019: DUP2 0000301a: MSTORE 0000301b: PUSH1 0x20 0000301d: DUP1 0000301e: DUP3 0000301f: KECCAK256 00003020: SWAP1 00003021: SWAP4 00003022: ADD 00003023: DUP5 00003024: SWAP1 00003025: SSTORE 00003026: DUP5 00003027: SLOAD 00003028: DUP5 00003029: DUP3 0000302a: MSTORE 0000302b: DUP3 0000302c: DUP7 0000302d: ADD 0000302e: SWAP1 0000302f: SWAP4 00003030: MSTORE 00003031: PUSH1 0x40 00003033: SWAP1 00003034: KECCAK256 00003035: SWAP2 00003036: SWAP1 00003037: SWAP2 00003038: SSTORE 00003039: PUSH2 0x2abb 0000303c: JUMP 0000303d: JUMPDEST 0000303e: POP 0000303f: PUSH1 0x00 00003041: PUSH2 0x2abb 00003044: JUMP 00003045: JUMPDEST 00003046: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000305b: DUP2 0000305c: AND 0000305d: EXTCODESIZE 0000305e: PUSH2 0x30e9 00003061: JUMPI 00003062: PUSH1 0x40 00003064: MLOAD 00003065: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003086: DUP2 00003087: MSTORE 00003088: PUSH1 0x20 0000308a: PUSH1 0x04 0000308c: DUP3 0000308d: ADD 0000308e: MSTORE 0000308f: PUSH1 0x2d 00003091: PUSH1 0x24 00003093: DUP3 00003094: ADD 00003095: MSTORE 00003096: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e 000030b7: PUSH1 0x44 000030b9: DUP3 000030ba: ADD 000030bb: MSTORE 000030bc: PUSH32 0x6f74206120636f6e747261637400000000000000000000000000000000000000 000030dd: PUSH1 0x64 000030df: DUP3 000030e0: ADD 000030e1: MSTORE 000030e2: PUSH1 0x84 000030e4: ADD 000030e5: PUSH2 0x05d2 000030e8: JUMP 000030e9: JUMPDEST 000030ea: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 0000310b: DUP1 0000310c: SLOAD 0000310d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 0000312e: AND 0000312f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003144: SWAP3 00003145: SWAP1 00003146: SWAP3 00003147: AND 00003148: SWAP2 00003149: SWAP1 0000314a: SWAP2 0000314b: OR 0000314c: SWAP1 0000314d: SSTORE 0000314e: JUMP 0000314f: JUMPDEST 00003150: PUSH2 0x3158 00003153: DUP4 00003154: PUSH2 0x32a8 00003157: JUMP 00003158: JUMPDEST 00003159: PUSH1 0x00 0000315b: DUP3 0000315c: MLOAD 0000315d: GT 0000315e: DUP1 0000315f: PUSH2 0x3165 00003162: JUMPI 00003163: POP 00003164: DUP1 00003165: JUMPDEST 00003166: ISZERO 00003167: PUSH2 0x22ee 0000316a: JUMPI 0000316b: PUSH2 0x087c 0000316e: DUP4 0000316f: DUP4 00003170: PUSH2 0x32f5 00003173: JUMP 00003174: JUMPDEST 00003175: PUSH1 0x00 00003177: DUP2 00003178: DUP2 00003179: MSTORE 0000317a: PUSH1 0x01 0000317c: DUP4 0000317d: ADD 0000317e: PUSH1 0x20 00003180: MSTORE 00003181: PUSH1 0x40 00003183: DUP2 00003184: KECCAK256 00003185: SLOAD 00003186: DUP1 00003187: ISZERO 00003188: PUSH2 0x325d 0000318b: JUMPI 0000318c: PUSH1 0x00 0000318e: PUSH2 0x3198 00003191: PUSH1 0x01 00003193: DUP4 00003194: PUSH2 0x3f37 00003197: JUMP 00003198: JUMPDEST 00003199: DUP6 0000319a: SLOAD 0000319b: SWAP1 0000319c: SWAP2 0000319d: POP 0000319e: PUSH1 0x00 000031a0: SWAP1 000031a1: PUSH2 0x31ac 000031a4: SWAP1 000031a5: PUSH1 0x01 000031a7: SWAP1 000031a8: PUSH2 0x3f37 000031ab: JUMP 000031ac: JUMPDEST 000031ad: SWAP1 000031ae: POP 000031af: DUP2 000031b0: DUP2 000031b1: EQ 000031b2: PUSH2 0x3211 000031b5: JUMPI 000031b6: PUSH1 0x00 000031b8: DUP7 000031b9: PUSH1 0x00 000031bb: ADD 000031bc: DUP3 000031bd: DUP2 000031be: SLOAD 000031bf: DUP2 000031c0: LT 000031c1: PUSH2 0x31cc 000031c4: JUMPI 000031c5: PUSH2 0x31cc 000031c8: PUSH2 0x3e88 000031cb: JUMP 000031cc: JUMPDEST 000031cd: SWAP1 000031ce: PUSH1 0x00 000031d0: MSTORE 000031d1: PUSH1 0x20 000031d3: PUSH1 0x00 000031d5: KECCAK256 000031d6: ADD 000031d7: SLOAD 000031d8: SWAP1 000031d9: POP 000031da: DUP1 000031db: DUP8 000031dc: PUSH1 0x00 000031de: ADD 000031df: DUP5 000031e0: DUP2 000031e1: SLOAD 000031e2: DUP2 000031e3: LT 000031e4: PUSH2 0x31ef 000031e7: JUMPI 000031e8: PUSH2 0x31ef 000031eb: PUSH2 0x3e88 000031ee: JUMP 000031ef: JUMPDEST 000031f0: PUSH1 0x00 000031f2: SWAP2 000031f3: DUP3 000031f4: MSTORE 000031f5: PUSH1 0x20 000031f7: DUP1 000031f8: DUP4 000031f9: KECCAK256 000031fa: SWAP1 000031fb: SWAP2 000031fc: ADD 000031fd: SWAP3 000031fe: SWAP1 000031ff: SWAP3 00003200: SSTORE 00003201: SWAP2 00003202: DUP3 00003203: MSTORE 00003204: PUSH1 0x01 00003206: DUP9 00003207: ADD 00003208: SWAP1 00003209: MSTORE 0000320a: PUSH1 0x40 0000320c: SWAP1 0000320d: KECCAK256 0000320e: DUP4 0000320f: SWAP1 00003210: SSTORE 00003211: JUMPDEST 00003212: DUP6 00003213: SLOAD 00003214: DUP7 00003215: SWAP1 00003216: DUP1 00003217: PUSH2 0x3222 0000321a: JUMPI 0000321b: PUSH2 0x3222 0000321e: PUSH2 0x4126 00003221: JUMP 00003222: JUMPDEST 00003223: PUSH1 0x01 00003225: SWAP1 00003226: SUB 00003227: DUP2 00003228: DUP2 00003229: SWAP1 0000322a: PUSH1 0x00 0000322c: MSTORE 0000322d: PUSH1 0x20 0000322f: PUSH1 0x00 00003231: KECCAK256 00003232: ADD 00003233: PUSH1 0x00 00003235: SWAP1 00003236: SSTORE 00003237: SWAP1 00003238: SSTORE 00003239: DUP6 0000323a: PUSH1 0x01 0000323c: ADD 0000323d: PUSH1 0x00 0000323f: DUP7 00003240: DUP2 00003241: MSTORE 00003242: PUSH1 0x20 00003244: ADD 00003245: SWAP1 00003246: DUP2 00003247: MSTORE 00003248: PUSH1 0x20 0000324a: ADD 0000324b: PUSH1 0x00 0000324d: KECCAK256 0000324e: PUSH1 0x00 00003250: SWAP1 00003251: SSTORE 00003252: PUSH1 0x01 00003254: SWAP4 00003255: POP 00003256: POP 00003257: POP 00003258: POP 00003259: PUSH2 0x2abb 0000325c: JUMP 0000325d: JUMPDEST 0000325e: PUSH1 0x00 00003260: SWAP2 00003261: POP 00003262: POP 00003263: PUSH2 0x2abb 00003266: JUMP 00003267: JUMPDEST 00003268: PUSH1 0x00 0000326a: DUP3 0000326b: PUSH1 0x00 0000326d: ADD 0000326e: DUP3 0000326f: DUP2 00003270: SLOAD 00003271: DUP2 00003272: LT 00003273: PUSH2 0x327e 00003276: JUMPI 00003277: PUSH2 0x327e 0000327a: PUSH2 0x3e88 0000327d: JUMP 0000327e: JUMPDEST 0000327f: SWAP1 00003280: PUSH1 0x00 00003282: MSTORE 00003283: PUSH1 0x20 00003285: PUSH1 0x00 00003287: KECCAK256 00003288: ADD 00003289: SLOAD 0000328a: SWAP1 0000328b: POP 0000328c: SWAP3 0000328d: SWAP2 0000328e: POP 0000328f: POP 00003290: JUMP 00003291: JUMPDEST 00003292: PUSH1 0x60 00003294: PUSH2 0x32a0 00003297: DUP5 00003298: DUP5 00003299: PUSH1 0x00 0000329b: DUP6 0000329c: PUSH2 0x331a 0000329f: JUMP 000032a0: JUMPDEST 000032a1: SWAP5 000032a2: SWAP4 000032a3: POP 000032a4: POP 000032a5: POP 000032a6: POP 000032a7: JUMP 000032a8: JUMPDEST 000032a9: PUSH2 0x32b1 000032ac: DUP2 000032ad: PUSH2 0x3045 000032b0: JUMP 000032b1: JUMPDEST 000032b2: PUSH1 0x40 000032b4: MLOAD 000032b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000032ca: DUP3 000032cb: AND 000032cc: SWAP1 000032cd: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 000032ee: SWAP1 000032ef: PUSH1 0x00 000032f1: SWAP1 000032f2: LOG2 000032f3: POP 000032f4: JUMP 000032f5: JUMPDEST 000032f6: PUSH1 0x60 000032f8: PUSH2 0x2ab8 000032fb: DUP4 000032fc: DUP4 000032fd: PUSH1 0x40 000032ff: MLOAD 00003300: DUP1 00003301: PUSH1 0x60 00003303: ADD 00003304: PUSH1 0x40 00003306: MSTORE 00003307: DUP1 00003308: PUSH1 0x27 0000330a: DUP2 0000330b: MSTORE 0000330c: PUSH1 0x20 0000330e: ADD 0000330f: PUSH2 0x4185 00003312: PUSH1 0x27 00003314: SWAP2 00003315: CODECOPY 00003316: PUSH2 0x3433 00003319: JUMP 0000331a: JUMPDEST 0000331b: PUSH1 0x60 0000331d: DUP3 0000331e: SELFBALANCE 0000331f: LT 00003320: ISZERO 00003321: PUSH2 0x33ac 00003324: JUMPI 00003325: PUSH1 0x40 00003327: MLOAD 00003328: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003349: DUP2 0000334a: MSTORE 0000334b: PUSH1 0x20 0000334d: PUSH1 0x04 0000334f: DUP3 00003350: ADD 00003351: MSTORE 00003352: PUSH1 0x26 00003354: PUSH1 0x24 00003356: DUP3 00003357: ADD 00003358: MSTORE 00003359: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 0000337a: PUSH1 0x44 0000337c: DUP3 0000337d: ADD 0000337e: MSTORE 0000337f: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 000033a0: PUSH1 0x64 000033a2: DUP3 000033a3: ADD 000033a4: MSTORE 000033a5: PUSH1 0x84 000033a7: ADD 000033a8: PUSH2 0x05d2 000033ab: JUMP 000033ac: JUMPDEST 000033ad: PUSH1 0x00 000033af: DUP1 000033b0: DUP7 000033b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033c6: AND 000033c7: DUP6 000033c8: DUP8 000033c9: PUSH1 0x40 000033cb: MLOAD 000033cc: PUSH2 0x33d5 000033cf: SWAP2 000033d0: SWAP1 000033d1: PUSH2 0x4155 000033d4: JUMP 000033d5: JUMPDEST 000033d6: PUSH1 0x00 000033d8: PUSH1 0x40 000033da: MLOAD 000033db: DUP1 000033dc: DUP4 000033dd: SUB 000033de: DUP2 000033df: DUP6 000033e0: DUP8 000033e1: GAS 000033e2: CALL 000033e3: SWAP3 000033e4: POP 000033e5: POP 000033e6: POP 000033e7: RETURNDATASIZE 000033e8: DUP1 000033e9: PUSH1 0x00 000033eb: DUP2 000033ec: EQ 000033ed: PUSH2 0x3412 000033f0: JUMPI 000033f1: PUSH1 0x40 000033f3: MLOAD 000033f4: SWAP2 000033f5: POP 000033f6: PUSH1 0x1f 000033f8: NOT 000033f9: PUSH1 0x3f 000033fb: RETURNDATASIZE 000033fc: ADD 000033fd: AND 000033fe: DUP3 000033ff: ADD 00003400: PUSH1 0x40 00003402: MSTORE 00003403: RETURNDATASIZE 00003404: DUP3 00003405: MSTORE 00003406: RETURNDATASIZE 00003407: PUSH1 0x00 00003409: PUSH1 0x20 0000340b: DUP5 0000340c: ADD 0000340d: RETURNDATACOPY 0000340e: PUSH2 0x3417 00003411: JUMP 00003412: JUMPDEST 00003413: PUSH1 0x60 00003415: SWAP2 00003416: POP 00003417: JUMPDEST 00003418: POP 00003419: SWAP2 0000341a: POP 0000341b: SWAP2 0000341c: POP 0000341d: PUSH2 0x3428 00003420: DUP8 00003421: DUP4 00003422: DUP4 00003423: DUP8 00003424: PUSH2 0x34b8 00003427: JUMP 00003428: JUMPDEST 00003429: SWAP8 0000342a: SWAP7 0000342b: POP 0000342c: POP 0000342d: POP 0000342e: POP 0000342f: POP 00003430: POP 00003431: POP 00003432: JUMP 00003433: JUMPDEST 00003434: PUSH1 0x60 00003436: PUSH1 0x00 00003438: DUP1 00003439: DUP6 0000343a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000344f: AND 00003450: DUP6 00003451: PUSH1 0x40 00003453: MLOAD 00003454: PUSH2 0x345d 00003457: SWAP2 00003458: SWAP1 00003459: PUSH2 0x4155 0000345c: JUMP 0000345d: JUMPDEST 0000345e: PUSH1 0x00 00003460: PUSH1 0x40 00003462: MLOAD 00003463: DUP1 00003464: DUP4 00003465: SUB 00003466: DUP2 00003467: DUP6 00003468: GAS 00003469: DELEGATECALL 0000346a: SWAP2 0000346b: POP 0000346c: POP 0000346d: RETURNDATASIZE 0000346e: DUP1 0000346f: PUSH1 0x00 00003471: DUP2 00003472: EQ 00003473: PUSH2 0x3498 00003476: JUMPI 00003477: PUSH1 0x40 00003479: MLOAD 0000347a: SWAP2 0000347b: POP 0000347c: PUSH1 0x1f 0000347e: NOT 0000347f: PUSH1 0x3f 00003481: RETURNDATASIZE 00003482: ADD 00003483: AND 00003484: DUP3 00003485: ADD 00003486: PUSH1 0x40 00003488: MSTORE 00003489: RETURNDATASIZE 0000348a: DUP3 0000348b: MSTORE 0000348c: RETURNDATASIZE 0000348d: PUSH1 0x00 0000348f: PUSH1 0x20 00003491: DUP5 00003492: ADD 00003493: RETURNDATACOPY 00003494: PUSH2 0x349d 00003497: JUMP 00003498: JUMPDEST 00003499: PUSH1 0x60 0000349b: SWAP2 0000349c: POP 0000349d: JUMPDEST 0000349e: POP 0000349f: SWAP2 000034a0: POP 000034a1: SWAP2 000034a2: POP 000034a3: PUSH2 0x34ae 000034a6: DUP7 000034a7: DUP4 000034a8: DUP4 000034a9: DUP8 000034aa: PUSH2 0x34b8 000034ad: JUMP 000034ae: JUMPDEST 000034af: SWAP7 000034b0: SWAP6 000034b1: POP 000034b2: POP 000034b3: POP 000034b4: POP 000034b5: POP 000034b6: POP 000034b7: JUMP 000034b8: JUMPDEST 000034b9: PUSH1 0x60 000034bb: DUP4 000034bc: ISZERO 000034bd: PUSH2 0x354e 000034c0: JUMPI 000034c1: DUP3 000034c2: MLOAD 000034c3: PUSH1 0x00 000034c5: SUB 000034c6: PUSH2 0x3547 000034c9: JUMPI 000034ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034df: DUP6 000034e0: AND 000034e1: EXTCODESIZE 000034e2: PUSH2 0x3547 000034e5: JUMPI 000034e6: PUSH1 0x40 000034e8: MLOAD 000034e9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000350a: DUP2 0000350b: MSTORE 0000350c: PUSH1 0x20 0000350e: PUSH1 0x04 00003510: DUP3 00003511: ADD 00003512: MSTORE 00003513: PUSH1 0x1d 00003515: PUSH1 0x24 00003517: DUP3 00003518: ADD 00003519: MSTORE 0000351a: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 0000353b: PUSH1 0x44 0000353d: DUP3 0000353e: ADD 0000353f: MSTORE 00003540: PUSH1 0x64 00003542: ADD 00003543: PUSH2 0x05d2 00003546: JUMP 00003547: JUMPDEST 00003548: POP 00003549: DUP2 0000354a: PUSH2 0x32a0 0000354d: JUMP 0000354e: JUMPDEST 0000354f: PUSH2 0x32a0 00003552: DUP4 00003553: DUP4 00003554: DUP2 00003555: MLOAD 00003556: ISZERO 00003557: PUSH2 0x3563 0000355a: JUMPI 0000355b: DUP2 0000355c: MLOAD 0000355d: DUP1 0000355e: DUP4 0000355f: PUSH1 0x20 00003561: ADD 00003562: REVERT 00003563: JUMPDEST 00003564: DUP1 00003565: PUSH1 0x40 00003567: MLOAD 00003568: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003589: DUP2 0000358a: MSTORE 0000358b: PUSH1 0x04 0000358d: ADD 0000358e: PUSH2 0x05d2 00003591: SWAP2 00003592: SWAP1 00003593: PUSH2 0x4171 00003596: JUMP 00003597: JUMPDEST 00003598: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000035b9: PUSH1 0x00 000035bb: MSTORE 000035bc: PUSH1 0x41 000035be: PUSH1 0x04 000035c0: MSTORE 000035c1: PUSH1 0x24 000035c3: PUSH1 0x00 000035c5: REVERT 000035c6: JUMPDEST 000035c7: PUSH1 0x40 000035c9: MLOAD 000035ca: PUSH2 0x01a0 000035cd: DUP2 000035ce: ADD 000035cf: PUSH8 0xffffffffffffffff 000035d8: DUP2 000035d9: GT 000035da: DUP3 000035db: DUP3 000035dc: LT 000035dd: OR 000035de: ISZERO 000035df: PUSH2 0x35ea 000035e2: JUMPI 000035e3: PUSH2 0x35ea 000035e6: PUSH2 0x3597 000035e9: JUMP 000035ea: JUMPDEST 000035eb: PUSH1 0x40 000035ed: MSTORE 000035ee: SWAP1 000035ef: JUMP 000035f0: JUMPDEST 000035f1: PUSH1 0x40 000035f3: MLOAD 000035f4: PUSH1 0x1f 000035f6: DUP3 000035f7: ADD 000035f8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003619: AND 0000361a: DUP2 0000361b: ADD 0000361c: PUSH8 0xffffffffffffffff 00003625: DUP2 00003626: GT 00003627: DUP3 00003628: DUP3 00003629: LT 0000362a: OR 0000362b: ISZERO 0000362c: PUSH2 0x3637 0000362f: JUMPI 00003630: PUSH2 0x3637 00003633: PUSH2 0x3597 00003636: JUMP 00003637: JUMPDEST 00003638: PUSH1 0x40 0000363a: MSTORE 0000363b: SWAP2 0000363c: SWAP1 0000363d: POP 0000363e: JUMP 0000363f: JUMPDEST 00003640: PUSH1 0x00 00003642: PUSH8 0xffffffffffffffff 0000364b: DUP3 0000364c: GT 0000364d: ISZERO 0000364e: PUSH2 0x3659 00003651: JUMPI 00003652: PUSH2 0x3659 00003655: PUSH2 0x3597 00003658: JUMP 00003659: JUMPDEST 0000365a: POP 0000365b: PUSH1 0x05 0000365d: SHL 0000365e: PUSH1 0x20 00003660: ADD 00003661: SWAP1 00003662: JUMP 00003663: JUMPDEST 00003664: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003679: DUP2 0000367a: AND 0000367b: DUP2 0000367c: EQ 0000367d: PUSH2 0x1224 00003680: JUMPI 00003681: PUSH1 0x00 00003683: DUP1 00003684: REVERT 00003685: JUMPDEST 00003686: PUSH1 0x00 00003688: DUP3 00003689: PUSH1 0x1f 0000368b: DUP4 0000368c: ADD 0000368d: SLT 0000368e: PUSH2 0x3696 00003691: JUMPI 00003692: PUSH1 0x00 00003694: DUP1 00003695: REVERT 00003696: JUMPDEST 00003697: DUP2 00003698: CALLDATALOAD 00003699: PUSH1 0x20 0000369b: PUSH2 0x36ab 0000369e: PUSH2 0x36a6 000036a1: DUP4 000036a2: PUSH2 0x363f 000036a5: JUMP 000036a6: JUMPDEST 000036a7: PUSH2 0x35f0 000036aa: JUMP 000036ab: JUMPDEST 000036ac: DUP3 000036ad: DUP2 000036ae: MSTORE 000036af: PUSH1 0x05 000036b1: SWAP3 000036b2: SWAP1 000036b3: SWAP3 000036b4: SHL 000036b5: DUP5 000036b6: ADD 000036b7: DUP2 000036b8: ADD 000036b9: SWAP2 000036ba: DUP2 000036bb: DUP2 000036bc: ADD 000036bd: SWAP1 000036be: DUP7 000036bf: DUP5 000036c0: GT 000036c1: ISZERO 000036c2: PUSH2 0x36ca 000036c5: JUMPI 000036c6: PUSH1 0x00 000036c8: DUP1 000036c9: REVERT 000036ca: JUMPDEST 000036cb: DUP3 000036cc: DUP7 000036cd: ADD 000036ce: JUMPDEST 000036cf: DUP5 000036d0: DUP2 000036d1: LT 000036d2: ISZERO 000036d3: PUSH2 0x36ee 000036d6: JUMPI 000036d7: DUP1 000036d8: CALLDATALOAD 000036d9: PUSH2 0x36e1 000036dc: DUP2 000036dd: PUSH2 0x3663 000036e0: JUMP 000036e1: JUMPDEST 000036e2: DUP4 000036e3: MSTORE 000036e4: SWAP2 000036e5: DUP4 000036e6: ADD 000036e7: SWAP2 000036e8: DUP4 000036e9: ADD 000036ea: PUSH2 0x36ce 000036ed: JUMP 000036ee: JUMPDEST 000036ef: POP 000036f0: SWAP7 000036f1: SWAP6 000036f2: POP 000036f3: POP 000036f4: POP 000036f5: POP 000036f6: POP 000036f7: POP 000036f8: JUMP 000036f9: JUMPDEST 000036fa: PUSH1 0x00 000036fc: DUP3 000036fd: PUSH1 0x1f 000036ff: DUP4 00003700: ADD 00003701: SLT 00003702: PUSH2 0x370a 00003705: JUMPI 00003706: PUSH1 0x00 00003708: DUP1 00003709: REVERT 0000370a: JUMPDEST 0000370b: DUP2 0000370c: CALLDATALOAD 0000370d: PUSH1 0x20 0000370f: PUSH2 0x371a 00003712: PUSH2 0x36a6 00003715: DUP4 00003716: PUSH2 0x363f 00003719: JUMP 0000371a: JUMPDEST 0000371b: DUP3 0000371c: DUP2 0000371d: MSTORE 0000371e: PUSH1 0x05 00003720: SWAP3 00003721: SWAP1 00003722: SWAP3 00003723: SHL 00003724: DUP5 00003725: ADD 00003726: DUP2 00003727: ADD 00003728: SWAP2 00003729: DUP2 0000372a: DUP2 0000372b: ADD 0000372c: SWAP1 0000372d: DUP7 0000372e: DUP5 0000372f: GT 00003730: ISZERO 00003731: PUSH2 0x3739 00003734: JUMPI 00003735: PUSH1 0x00 00003737: DUP1 00003738: REVERT 00003739: JUMPDEST 0000373a: DUP3 0000373b: DUP7 0000373c: ADD 0000373d: JUMPDEST 0000373e: DUP5 0000373f: DUP2 00003740: LT 00003741: ISZERO 00003742: PUSH2 0x36ee 00003745: JUMPI 00003746: DUP1 00003747: CALLDATALOAD 00003748: DUP4 00003749: MSTORE 0000374a: SWAP2 0000374b: DUP4 0000374c: ADD 0000374d: SWAP2 0000374e: DUP4 0000374f: ADD 00003750: PUSH2 0x373d 00003753: JUMP 00003754: JUMPDEST 00003755: PUSH1 0x00 00003757: DUP1 00003758: PUSH1 0x00 0000375a: PUSH1 0x60 0000375c: DUP5 0000375d: DUP7 0000375e: SUB 0000375f: SLT 00003760: ISZERO 00003761: PUSH2 0x3769 00003764: JUMPI 00003765: PUSH1 0x00 00003767: DUP1 00003768: REVERT 00003769: JUMPDEST 0000376a: DUP4 0000376b: CALLDATALOAD 0000376c: PUSH8 0xffffffffffffffff 00003775: DUP1 00003776: DUP3 00003777: GT 00003778: ISZERO 00003779: PUSH2 0x3781 0000377c: JUMPI 0000377d: PUSH1 0x00 0000377f: DUP1 00003780: REVERT 00003781: JUMPDEST 00003782: PUSH2 0x378d 00003785: DUP8 00003786: DUP4 00003787: DUP9 00003788: ADD 00003789: PUSH2 0x3685 0000378c: JUMP 0000378d: JUMPDEST 0000378e: SWAP5 0000378f: POP 00003790: PUSH1 0x20 00003792: DUP7 00003793: ADD 00003794: CALLDATALOAD 00003795: SWAP2 00003796: POP 00003797: DUP1 00003798: DUP3 00003799: GT 0000379a: ISZERO 0000379b: PUSH2 0x37a3 0000379e: JUMPI 0000379f: PUSH1 0x00 000037a1: DUP1 000037a2: REVERT 000037a3: JUMPDEST 000037a4: PUSH2 0x37af 000037a7: DUP8 000037a8: DUP4 000037a9: DUP9 000037aa: ADD 000037ab: PUSH2 0x3685 000037ae: JUMP 000037af: JUMPDEST 000037b0: SWAP4 000037b1: POP 000037b2: PUSH1 0x40 000037b4: DUP7 000037b5: ADD 000037b6: CALLDATALOAD 000037b7: SWAP2 000037b8: POP 000037b9: DUP1 000037ba: DUP3 000037bb: GT 000037bc: ISZERO 000037bd: PUSH2 0x37c5 000037c0: JUMPI 000037c1: PUSH1 0x00 000037c3: DUP1 000037c4: REVERT 000037c5: JUMPDEST 000037c6: POP 000037c7: PUSH2 0x37d2 000037ca: DUP7 000037cb: DUP3 000037cc: DUP8 000037cd: ADD 000037ce: PUSH2 0x36f9 000037d1: JUMP 000037d2: JUMPDEST 000037d3: SWAP2 000037d4: POP 000037d5: POP 000037d6: SWAP3 000037d7: POP 000037d8: SWAP3 000037d9: POP 000037da: SWAP3 000037db: JUMP 000037dc: JUMPDEST 000037dd: DUP1 000037de: ISZERO 000037df: ISZERO 000037e0: DUP2 000037e1: EQ 000037e2: PUSH2 0x1224 000037e5: JUMPI 000037e6: PUSH1 0x00 000037e8: DUP1 000037e9: REVERT 000037ea: JUMPDEST 000037eb: PUSH1 0x00 000037ed: DUP1 000037ee: PUSH1 0x40 000037f0: DUP4 000037f1: DUP6 000037f2: SUB 000037f3: SLT 000037f4: ISZERO 000037f5: PUSH2 0x37fd 000037f8: JUMPI 000037f9: PUSH1 0x00 000037fb: DUP1 000037fc: REVERT 000037fd: JUMPDEST 000037fe: DUP3 000037ff: CALLDATALOAD 00003800: PUSH2 0x3808 00003803: DUP2 00003804: PUSH2 0x3663 00003807: JUMP 00003808: JUMPDEST 00003809: SWAP2 0000380a: POP 0000380b: PUSH1 0x20 0000380d: DUP4 0000380e: ADD 0000380f: CALLDATALOAD 00003810: PUSH2 0x3818 00003813: DUP2 00003814: PUSH2 0x37dc 00003817: JUMP 00003818: JUMPDEST 00003819: DUP1 0000381a: SWAP2 0000381b: POP 0000381c: POP 0000381d: SWAP3 0000381e: POP 0000381f: SWAP3 00003820: SWAP1 00003821: POP 00003822: JUMP 00003823: JUMPDEST 00003824: PUSH1 0x00 00003826: DUP1 00003827: PUSH1 0x40 00003829: DUP4 0000382a: DUP6 0000382b: SUB 0000382c: SLT 0000382d: ISZERO 0000382e: PUSH2 0x3836 00003831: JUMPI 00003832: PUSH1 0x00 00003834: DUP1 00003835: REVERT 00003836: JUMPDEST 00003837: DUP3 00003838: CALLDATALOAD 00003839: PUSH2 0x3841 0000383c: DUP2 0000383d: PUSH2 0x3663 00003840: JUMP 00003841: JUMPDEST 00003842: SWAP5 00003843: PUSH1 0x20 00003845: SWAP4 00003846: SWAP1 00003847: SWAP4 00003848: ADD 00003849: CALLDATALOAD 0000384a: SWAP4 0000384b: POP 0000384c: POP 0000384d: POP 0000384e: JUMP 0000384f: JUMPDEST 00003850: PUSH1 0x00 00003852: PUSH1 0x20 00003854: DUP3 00003855: DUP5 00003856: SUB 00003857: SLT 00003858: ISZERO 00003859: PUSH2 0x3861 0000385c: JUMPI 0000385d: PUSH1 0x00 0000385f: DUP1 00003860: REVERT 00003861: JUMPDEST 00003862: DUP2 00003863: CALLDATALOAD 00003864: PUSH2 0x386c 00003867: DUP2 00003868: PUSH2 0x3663 0000386b: JUMP 0000386c: JUMPDEST 0000386d: SWAP4 0000386e: SWAP3 0000386f: POP 00003870: POP 00003871: POP 00003872: JUMP 00003873: JUMPDEST 00003874: PUSH1 0x00 00003876: DUP1 00003877: DUP4 00003878: PUSH1 0x1f 0000387a: DUP5 0000387b: ADD 0000387c: SLT 0000387d: PUSH2 0x3885 00003880: JUMPI 00003881: PUSH1 0x00 00003883: DUP1 00003884: REVERT 00003885: JUMPDEST 00003886: POP 00003887: DUP2 00003888: CALLDATALOAD 00003889: PUSH8 0xffffffffffffffff 00003892: DUP2 00003893: GT 00003894: ISZERO 00003895: PUSH2 0x389d 00003898: JUMPI 00003899: PUSH1 0x00 0000389b: DUP1 0000389c: REVERT 0000389d: JUMPDEST 0000389e: PUSH1 0x20 000038a0: DUP4 000038a1: ADD 000038a2: SWAP2 000038a3: POP 000038a4: DUP4 000038a5: PUSH1 0x20 000038a7: DUP3 000038a8: PUSH1 0x05 000038aa: SHL 000038ab: DUP6 000038ac: ADD 000038ad: ADD 000038ae: GT 000038af: ISZERO 000038b0: PUSH2 0x38b8 000038b3: JUMPI 000038b4: PUSH1 0x00 000038b6: DUP1 000038b7: REVERT 000038b8: JUMPDEST 000038b9: SWAP3 000038ba: POP 000038bb: SWAP3 000038bc: SWAP1 000038bd: POP 000038be: JUMP 000038bf: JUMPDEST 000038c0: PUSH1 0x00 000038c2: DUP1 000038c3: PUSH1 0x00 000038c5: DUP1 000038c6: PUSH1 0x40 000038c8: DUP6 000038c9: DUP8 000038ca: SUB 000038cb: SLT 000038cc: ISZERO 000038cd: PUSH2 0x38d5 000038d0: JUMPI 000038d1: PUSH1 0x00 000038d3: DUP1 000038d4: REVERT 000038d5: JUMPDEST 000038d6: DUP5 000038d7: CALLDATALOAD 000038d8: PUSH8 0xffffffffffffffff 000038e1: DUP1 000038e2: DUP3 000038e3: GT 000038e4: ISZERO 000038e5: PUSH2 0x38ed 000038e8: JUMPI 000038e9: PUSH1 0x00 000038eb: DUP1 000038ec: REVERT 000038ed: JUMPDEST 000038ee: PUSH2 0x38f9 000038f1: DUP9 000038f2: DUP4 000038f3: DUP10 000038f4: ADD 000038f5: PUSH2 0x3873 000038f8: JUMP 000038f9: JUMPDEST 000038fa: SWAP1 000038fb: SWAP7 000038fc: POP 000038fd: SWAP5 000038fe: POP 000038ff: PUSH1 0x20 00003901: DUP8 00003902: ADD 00003903: CALLDATALOAD 00003904: SWAP2 00003905: POP 00003906: DUP1 00003907: DUP3 00003908: GT 00003909: ISZERO 0000390a: PUSH2 0x3912 0000390d: JUMPI 0000390e: PUSH1 0x00 00003910: DUP1 00003911: REVERT 00003912: JUMPDEST 00003913: POP 00003914: PUSH2 0x391f 00003917: DUP8 00003918: DUP3 00003919: DUP9 0000391a: ADD 0000391b: PUSH2 0x3873 0000391e: JUMP 0000391f: JUMPDEST 00003920: SWAP6 00003921: SWAP9 00003922: SWAP5 00003923: SWAP8 00003924: POP 00003925: SWAP6 00003926: POP 00003927: POP 00003928: POP 00003929: POP 0000392a: JUMP 0000392b: JUMPDEST 0000392c: PUSH1 0x00 0000392e: DUP1 0000392f: PUSH1 0x00 00003931: DUP1 00003932: PUSH1 0x00 00003934: DUP1 00003935: PUSH1 0xc0 00003937: DUP8 00003938: DUP10 00003939: SUB 0000393a: SLT 0000393b: ISZERO 0000393c: PUSH2 0x3944 0000393f: JUMPI 00003940: PUSH1 0x00 00003942: DUP1 00003943: REVERT 00003944: JUMPDEST 00003945: DUP7 00003946: CALLDATALOAD 00003947: PUSH2 0x394f 0000394a: DUP2 0000394b: PUSH2 0x3663 0000394e: JUMP 0000394f: JUMPDEST 00003950: SWAP9 00003951: PUSH1 0x20 00003953: DUP9 00003954: ADD 00003955: CALLDATALOAD 00003956: SWAP9 00003957: POP 00003958: PUSH1 0x40 0000395a: DUP9 0000395b: ADD 0000395c: CALLDATALOAD 0000395d: SWAP8 0000395e: PUSH1 0x60 00003960: DUP2 00003961: ADD 00003962: CALLDATALOAD 00003963: SWAP8 00003964: POP 00003965: PUSH1 0x80 00003967: DUP2 00003968: ADD 00003969: CALLDATALOAD 0000396a: SWAP7 0000396b: POP 0000396c: PUSH1 0xa0 0000396e: ADD 0000396f: CALLDATALOAD 00003970: SWAP5 00003971: POP 00003972: SWAP3 00003973: POP 00003974: POP 00003975: POP 00003976: JUMP 00003977: JUMPDEST 00003978: PUSH1 0x00 0000397a: PUSH8 0xffffffffffffffff 00003983: DUP4 00003984: GT 00003985: ISZERO 00003986: PUSH2 0x3991 00003989: JUMPI 0000398a: PUSH2 0x3991 0000398d: PUSH2 0x3597 00003990: JUMP 00003991: JUMPDEST 00003992: PUSH2 0x39c2 00003995: PUSH1 0x20 00003997: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000039b8: PUSH1 0x1f 000039ba: DUP7 000039bb: ADD 000039bc: AND 000039bd: ADD 000039be: PUSH2 0x35f0 000039c1: JUMP 000039c2: JUMPDEST 000039c3: SWAP1 000039c4: POP 000039c5: DUP3 000039c6: DUP2 000039c7: MSTORE 000039c8: DUP4 000039c9: DUP4 000039ca: DUP4 000039cb: ADD 000039cc: GT 000039cd: ISZERO 000039ce: PUSH2 0x39d6 000039d1: JUMPI 000039d2: PUSH1 0x00 000039d4: DUP1 000039d5: REVERT 000039d6: JUMPDEST 000039d7: DUP3 000039d8: DUP3 000039d9: PUSH1 0x20 000039db: DUP4 000039dc: ADD 000039dd: CALLDATACOPY 000039de: PUSH1 0x00 000039e0: PUSH1 0x20 000039e2: DUP5 000039e3: DUP4 000039e4: ADD 000039e5: ADD 000039e6: MSTORE 000039e7: SWAP4 000039e8: SWAP3 000039e9: POP 000039ea: POP 000039eb: POP 000039ec: JUMP 000039ed: JUMPDEST 000039ee: PUSH1 0x00 000039f0: DUP1 000039f1: PUSH1 0x00 000039f3: DUP1 000039f4: PUSH1 0x80 000039f6: DUP6 000039f7: DUP8 000039f8: SUB 000039f9: SLT 000039fa: ISZERO 000039fb: PUSH2 0x3a03 000039fe: JUMPI 000039ff: PUSH1 0x00 00003a01: DUP1 00003a02: REVERT 00003a03: JUMPDEST 00003a04: DUP5 00003a05: CALLDATALOAD 00003a06: PUSH8 0xffffffffffffffff 00003a0f: DUP1 00003a10: DUP3 00003a11: GT 00003a12: ISZERO 00003a13: PUSH2 0x3a1b 00003a16: JUMPI 00003a17: PUSH1 0x00 00003a19: DUP1 00003a1a: REVERT 00003a1b: JUMPDEST 00003a1c: PUSH2 0x3a27 00003a1f: DUP9 00003a20: DUP4 00003a21: DUP10 00003a22: ADD 00003a23: PUSH2 0x3685 00003a26: JUMP 00003a27: JUMPDEST 00003a28: SWAP6 00003a29: POP 00003a2a: PUSH1 0x20 00003a2c: DUP8 00003a2d: ADD 00003a2e: CALLDATALOAD 00003a2f: SWAP2 00003a30: POP 00003a31: DUP1 00003a32: DUP3 00003a33: GT 00003a34: ISZERO 00003a35: PUSH2 0x3a3d 00003a38: JUMPI 00003a39: PUSH1 0x00 00003a3b: DUP1 00003a3c: REVERT 00003a3d: JUMPDEST 00003a3e: PUSH2 0x3a49 00003a41: DUP9 00003a42: DUP4 00003a43: DUP10 00003a44: ADD 00003a45: PUSH2 0x36f9 00003a48: JUMP 00003a49: JUMPDEST 00003a4a: SWAP5 00003a4b: POP 00003a4c: PUSH1 0x40 00003a4e: DUP8 00003a4f: ADD 00003a50: CALLDATALOAD 00003a51: SWAP2 00003a52: POP 00003a53: PUSH2 0x3a5b 00003a56: DUP3 00003a57: PUSH2 0x3663 00003a5a: JUMP 00003a5b: JUMPDEST 00003a5c: SWAP1 00003a5d: SWAP3 00003a5e: POP 00003a5f: PUSH1 0x60 00003a61: DUP7 00003a62: ADD 00003a63: CALLDATALOAD 00003a64: SWAP1 00003a65: DUP1 00003a66: DUP3 00003a67: GT 00003a68: ISZERO 00003a69: PUSH2 0x3a71 00003a6c: JUMPI 00003a6d: PUSH1 0x00 00003a6f: DUP1 00003a70: REVERT 00003a71: JUMPDEST 00003a72: POP 00003a73: DUP6 00003a74: ADD 00003a75: PUSH1 0x1f 00003a77: DUP2 00003a78: ADD 00003a79: DUP8 00003a7a: SGT 00003a7b: PUSH2 0x3a83 00003a7e: JUMPI 00003a7f: PUSH1 0x00 00003a81: DUP1 00003a82: REVERT 00003a83: JUMPDEST 00003a84: PUSH2 0x3a92 00003a87: DUP8 00003a88: DUP3 00003a89: CALLDATALOAD 00003a8a: PUSH1 0x20 00003a8c: DUP5 00003a8d: ADD 00003a8e: PUSH2 0x3977 00003a91: JUMP 00003a92: JUMPDEST 00003a93: SWAP2 00003a94: POP 00003a95: POP 00003a96: SWAP3 00003a97: SWAP6 00003a98: SWAP2 00003a99: SWAP5 00003a9a: POP 00003a9b: SWAP3 00003a9c: POP 00003a9d: JUMP 00003a9e: JUMPDEST 00003a9f: PUSH1 0x00 00003aa1: DUP1 00003aa2: PUSH1 0x00 00003aa4: DUP1 00003aa5: PUSH1 0x00 00003aa7: DUP1 00003aa8: PUSH1 0x00 00003aaa: DUP1 00003aab: PUSH1 0x00 00003aad: DUP1 00003aae: PUSH1 0x00 00003ab0: DUP1 00003ab1: PUSH1 0xc0 00003ab3: DUP14 00003ab4: DUP16 00003ab5: SUB 00003ab6: SLT 00003ab7: ISZERO 00003ab8: PUSH2 0x3ac0 00003abb: JUMPI 00003abc: PUSH1 0x00 00003abe: DUP1 00003abf: REVERT 00003ac0: JUMPDEST 00003ac1: PUSH8 0xffffffffffffffff 00003aca: DUP14 00003acb: CALLDATALOAD 00003acc: GT 00003acd: ISZERO 00003ace: PUSH2 0x3ad6 00003ad1: JUMPI 00003ad2: PUSH1 0x00 00003ad4: DUP1 00003ad5: REVERT 00003ad6: JUMPDEST 00003ad7: PUSH2 0x3ae3 00003ada: DUP15 00003adb: DUP15 00003adc: CALLDATALOAD 00003add: DUP16 00003ade: ADD 00003adf: PUSH2 0x3873 00003ae2: JUMP 00003ae3: JUMPDEST 00003ae4: SWAP1 00003ae5: SWAP13 00003ae6: POP 00003ae7: SWAP11 00003ae8: POP 00003ae9: PUSH8 0xffffffffffffffff 00003af2: PUSH1 0x20 00003af4: DUP15 00003af5: ADD 00003af6: CALLDATALOAD 00003af7: GT 00003af8: ISZERO 00003af9: PUSH2 0x3b01 00003afc: JUMPI 00003afd: PUSH1 0x00 00003aff: DUP1 00003b00: REVERT 00003b01: JUMPDEST 00003b02: PUSH2 0x3b11 00003b05: DUP15 00003b06: PUSH1 0x20 00003b08: DUP16 00003b09: ADD 00003b0a: CALLDATALOAD 00003b0b: DUP16 00003b0c: ADD 00003b0d: PUSH2 0x3873 00003b10: JUMP 00003b11: JUMPDEST 00003b12: SWAP1 00003b13: SWAP11 00003b14: POP 00003b15: SWAP9 00003b16: POP 00003b17: PUSH8 0xffffffffffffffff 00003b20: PUSH1 0x40 00003b22: DUP15 00003b23: ADD 00003b24: CALLDATALOAD 00003b25: GT 00003b26: ISZERO 00003b27: PUSH2 0x3b2f 00003b2a: JUMPI 00003b2b: PUSH1 0x00 00003b2d: DUP1 00003b2e: REVERT 00003b2f: JUMPDEST 00003b30: PUSH2 0x3b3f 00003b33: DUP15 00003b34: PUSH1 0x40 00003b36: DUP16 00003b37: ADD 00003b38: CALLDATALOAD 00003b39: DUP16 00003b3a: ADD 00003b3b: PUSH2 0x3873 00003b3e: JUMP 00003b3f: JUMPDEST 00003b40: SWAP1 00003b41: SWAP9 00003b42: POP 00003b43: SWAP7 00003b44: POP 00003b45: PUSH8 0xffffffffffffffff 00003b4e: PUSH1 0x60 00003b50: DUP15 00003b51: ADD 00003b52: CALLDATALOAD 00003b53: GT 00003b54: ISZERO 00003b55: PUSH2 0x3b5d 00003b58: JUMPI 00003b59: PUSH1 0x00 00003b5b: DUP1 00003b5c: REVERT 00003b5d: JUMPDEST 00003b5e: PUSH2 0x3b6d 00003b61: DUP15 00003b62: PUSH1 0x60 00003b64: DUP16 00003b65: ADD 00003b66: CALLDATALOAD 00003b67: DUP16 00003b68: ADD 00003b69: PUSH2 0x3873 00003b6c: JUMP 00003b6d: JUMPDEST 00003b6e: SWAP1 00003b6f: SWAP7 00003b70: POP 00003b71: SWAP5 00003b72: POP 00003b73: PUSH8 0xffffffffffffffff 00003b7c: PUSH1 0x80 00003b7e: DUP15 00003b7f: ADD 00003b80: CALLDATALOAD 00003b81: GT 00003b82: ISZERO 00003b83: PUSH2 0x3b8b 00003b86: JUMPI 00003b87: PUSH1 0x00 00003b89: DUP1 00003b8a: REVERT 00003b8b: JUMPDEST 00003b8c: PUSH2 0x3b9b 00003b8f: DUP15 00003b90: PUSH1 0x80 00003b92: DUP16 00003b93: ADD 00003b94: CALLDATALOAD 00003b95: DUP16 00003b96: ADD 00003b97: PUSH2 0x3873 00003b9a: JUMP 00003b9b: JUMPDEST 00003b9c: SWAP1 00003b9d: SWAP5 00003b9e: POP 00003b9f: SWAP3 00003ba0: POP 00003ba1: PUSH8 0xffffffffffffffff 00003baa: PUSH1 0xa0 00003bac: DUP15 00003bad: ADD 00003bae: CALLDATALOAD 00003baf: GT 00003bb0: ISZERO 00003bb1: PUSH2 0x3bb9 00003bb4: JUMPI 00003bb5: PUSH1 0x00 00003bb7: DUP1 00003bb8: REVERT 00003bb9: JUMPDEST 00003bba: PUSH2 0x3bc9 00003bbd: DUP15 00003bbe: PUSH1 0xa0 00003bc0: DUP16 00003bc1: ADD 00003bc2: CALLDATALOAD 00003bc3: DUP16 00003bc4: ADD 00003bc5: PUSH2 0x3873 00003bc8: JUMP 00003bc9: JUMPDEST 00003bca: DUP2 00003bcb: SWAP4 00003bcc: POP 00003bcd: DUP1 00003bce: SWAP3 00003bcf: POP 00003bd0: POP 00003bd1: POP 00003bd2: SWAP3 00003bd3: SWAP6 00003bd4: SWAP9 00003bd5: SWAP12 00003bd6: POP 00003bd7: SWAP3 00003bd8: SWAP6 00003bd9: SWAP9 00003bda: SWAP12 00003bdb: POP 00003bdc: SWAP3 00003bdd: SWAP6 00003bde: SWAP9 00003bdf: SWAP12 00003be0: JUMP 00003be1: JUMPDEST 00003be2: PUSH1 0x00 00003be4: DUP1 00003be5: PUSH1 0x40 00003be7: DUP4 00003be8: DUP6 00003be9: SUB 00003bea: SLT 00003beb: ISZERO 00003bec: PUSH2 0x3bf4 00003bef: JUMPI 00003bf0: PUSH1 0x00 00003bf2: DUP1 00003bf3: REVERT 00003bf4: JUMPDEST 00003bf5: DUP3 00003bf6: CALLDATALOAD 00003bf7: PUSH2 0x3bff 00003bfa: DUP2 00003bfb: PUSH2 0x3663 00003bfe: JUMP 00003bff: JUMPDEST 00003c00: SWAP2 00003c01: POP 00003c02: PUSH1 0x20 00003c04: DUP4 00003c05: ADD 00003c06: CALLDATALOAD 00003c07: PUSH8 0xffffffffffffffff 00003c10: DUP2 00003c11: GT 00003c12: ISZERO 00003c13: PUSH2 0x3c1b 00003c16: JUMPI 00003c17: PUSH1 0x00 00003c19: DUP1 00003c1a: REVERT 00003c1b: JUMPDEST 00003c1c: DUP4 00003c1d: ADD 00003c1e: PUSH1 0x1f 00003c20: DUP2 00003c21: ADD 00003c22: DUP6 00003c23: SGT 00003c24: PUSH2 0x3c2c 00003c27: JUMPI 00003c28: PUSH1 0x00 00003c2a: DUP1 00003c2b: REVERT 00003c2c: JUMPDEST 00003c2d: PUSH2 0x3c3b 00003c30: DUP6 00003c31: DUP3 00003c32: CALLDATALOAD 00003c33: PUSH1 0x20 00003c35: DUP5 00003c36: ADD 00003c37: PUSH2 0x3977 00003c3a: JUMP 00003c3b: JUMPDEST 00003c3c: SWAP2 00003c3d: POP 00003c3e: POP 00003c3f: SWAP3 00003c40: POP 00003c41: SWAP3 00003c42: SWAP1 00003c43: POP 00003c44: JUMP 00003c45: JUMPDEST 00003c46: PUSH1 0x00 00003c48: DUP1 00003c49: PUSH1 0x00 00003c4b: PUSH1 0x60 00003c4d: DUP5 00003c4e: DUP7 00003c4f: SUB 00003c50: SLT 00003c51: ISZERO 00003c52: PUSH2 0x3c5a 00003c55: JUMPI 00003c56: PUSH1 0x00 00003c58: DUP1 00003c59: REVERT 00003c5a: JUMPDEST 00003c5b: DUP4 00003c5c: CALLDATALOAD 00003c5d: PUSH8 0xffffffffffffffff 00003c66: DUP1 00003c67: DUP3 00003c68: GT 00003c69: ISZERO 00003c6a: PUSH2 0x3c72 00003c6d: JUMPI 00003c6e: PUSH1 0x00 00003c70: DUP1 00003c71: REVERT 00003c72: JUMPDEST 00003c73: PUSH2 0x3c7e 00003c76: DUP8 00003c77: DUP4 00003c78: DUP9 00003c79: ADD 00003c7a: PUSH2 0x3685 00003c7d: JUMP 00003c7e: JUMPDEST 00003c7f: SWAP5 00003c80: POP 00003c81: PUSH1 0x20 00003c83: DUP7 00003c84: ADD 00003c85: CALLDATALOAD 00003c86: SWAP2 00003c87: POP 00003c88: DUP1 00003c89: DUP3 00003c8a: GT 00003c8b: ISZERO 00003c8c: PUSH2 0x3c94 00003c8f: JUMPI 00003c90: PUSH1 0x00 00003c92: DUP1 00003c93: REVERT 00003c94: JUMPDEST 00003c95: POP 00003c96: PUSH2 0x3ca1 00003c99: DUP7 00003c9a: DUP3 00003c9b: DUP8 00003c9c: ADD 00003c9d: PUSH2 0x3685 00003ca0: JUMP 00003ca1: JUMPDEST 00003ca2: SWAP3 00003ca3: POP 00003ca4: POP 00003ca5: PUSH1 0x40 00003ca7: DUP5 00003ca8: ADD 00003ca9: CALLDATALOAD 00003caa: PUSH2 0x3cb2 00003cad: DUP2 00003cae: PUSH2 0x3663 00003cb1: JUMP 00003cb2: JUMPDEST 00003cb3: DUP1 00003cb4: SWAP2 00003cb5: POP 00003cb6: POP 00003cb7: SWAP3 00003cb8: POP 00003cb9: SWAP3 00003cba: POP 00003cbb: SWAP3 00003cbc: JUMP 00003cbd: JUMPDEST 00003cbe: PUSH1 0x00 00003cc0: DUP1 00003cc1: PUSH1 0x40 00003cc3: DUP4 00003cc4: DUP6 00003cc5: SUB 00003cc6: SLT 00003cc7: ISZERO 00003cc8: PUSH2 0x3cd0 00003ccb: JUMPI 00003ccc: PUSH1 0x00 00003cce: DUP1 00003ccf: REVERT 00003cd0: JUMPDEST 00003cd1: DUP3 00003cd2: CALLDATALOAD 00003cd3: PUSH8 0xffffffffffffffff 00003cdc: DUP1 00003cdd: DUP3 00003cde: GT 00003cdf: ISZERO 00003ce0: PUSH2 0x3ce8 00003ce3: JUMPI 00003ce4: PUSH1 0x00 00003ce6: DUP1 00003ce7: REVERT 00003ce8: JUMPDEST 00003ce9: PUSH2 0x3cf4 00003cec: DUP7 00003ced: DUP4 00003cee: DUP8 00003cef: ADD 00003cf0: PUSH2 0x3685 00003cf3: JUMP 00003cf4: JUMPDEST 00003cf5: SWAP4 00003cf6: POP 00003cf7: PUSH1 0x20 00003cf9: DUP6 00003cfa: ADD 00003cfb: CALLDATALOAD 00003cfc: SWAP2 00003cfd: POP 00003cfe: DUP1 00003cff: DUP3 00003d00: GT 00003d01: ISZERO 00003d02: PUSH2 0x3d0a 00003d05: JUMPI 00003d06: PUSH1 0x00 00003d08: DUP1 00003d09: REVERT 00003d0a: JUMPDEST 00003d0b: POP 00003d0c: PUSH2 0x3c3b 00003d0f: DUP6 00003d10: DUP3 00003d11: DUP7 00003d12: ADD 00003d13: PUSH2 0x3685 00003d16: JUMP 00003d17: JUMPDEST 00003d18: PUSH1 0x20 00003d1a: DUP1 00003d1b: DUP3 00003d1c: MSTORE 00003d1d: DUP3 00003d1e: MLOAD 00003d1f: DUP3 00003d20: DUP3 00003d21: ADD 00003d22: DUP2 00003d23: SWAP1 00003d24: MSTORE 00003d25: PUSH1 0x00 00003d27: SWAP2 00003d28: SWAP1 00003d29: DUP5 00003d2a: DUP3 00003d2b: ADD 00003d2c: SWAP1 00003d2d: PUSH1 0x40 00003d2f: DUP6 00003d30: ADD 00003d31: SWAP1 00003d32: DUP5 00003d33: JUMPDEST 00003d34: DUP2 00003d35: DUP2 00003d36: LT 00003d37: ISZERO 00003d38: PUSH2 0x3d65 00003d3b: JUMPI 00003d3c: DUP4 00003d3d: MLOAD 00003d3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003d53: AND 00003d54: DUP4 00003d55: MSTORE 00003d56: SWAP3 00003d57: DUP5 00003d58: ADD 00003d59: SWAP3 00003d5a: SWAP2 00003d5b: DUP5 00003d5c: ADD 00003d5d: SWAP2 00003d5e: PUSH1 0x01 00003d60: ADD 00003d61: PUSH2 0x3d33 00003d64: JUMP 00003d65: JUMPDEST 00003d66: POP 00003d67: SWAP1 00003d68: SWAP7 00003d69: SWAP6 00003d6a: POP 00003d6b: POP 00003d6c: POP 00003d6d: POP 00003d6e: POP 00003d6f: POP 00003d70: JUMP 00003d71: JUMPDEST 00003d72: PUSH1 0x00 00003d74: DUP2 00003d75: MLOAD 00003d76: DUP1 00003d77: DUP5 00003d78: MSTORE 00003d79: PUSH1 0x20 00003d7b: DUP1 00003d7c: DUP6 00003d7d: ADD 00003d7e: SWAP5 00003d7f: POP 00003d80: DUP1 00003d81: DUP5 00003d82: ADD 00003d83: PUSH1 0x00 00003d85: JUMPDEST 00003d86: DUP4 00003d87: DUP2 00003d88: LT 00003d89: ISZERO 00003d8a: PUSH2 0x3dc2 00003d8d: JUMPI 00003d8e: DUP2 00003d8f: MLOAD 00003d90: DUP1 00003d91: MLOAD 00003d92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003da7: AND 00003da8: DUP9 00003da9: MSTORE 00003daa: DUP4 00003dab: ADD 00003dac: MLOAD 00003dad: DUP4 00003dae: DUP9 00003daf: ADD 00003db0: MSTORE 00003db1: PUSH1 0x40 00003db3: SWAP1 00003db4: SWAP7 00003db5: ADD 00003db6: SWAP6 00003db7: SWAP1 00003db8: DUP3 00003db9: ADD 00003dba: SWAP1 00003dbb: PUSH1 0x01 00003dbd: ADD 00003dbe: PUSH2 0x3d85 00003dc1: JUMP 00003dc2: JUMPDEST 00003dc3: POP 00003dc4: SWAP5 00003dc5: SWAP6 00003dc6: SWAP5 00003dc7: POP 00003dc8: POP 00003dc9: POP 00003dca: POP 00003dcb: POP 00003dcc: JUMP 00003dcd: JUMPDEST 00003dce: PUSH1 0x20 00003dd0: DUP2 00003dd1: MSTORE 00003dd2: PUSH1 0x00 00003dd4: PUSH2 0x2ab8 00003dd7: PUSH1 0x20 00003dd9: DUP4 00003dda: ADD 00003ddb: DUP5 00003ddc: PUSH2 0x3d71 00003ddf: JUMP 00003de0: JUMPDEST 00003de1: PUSH1 0x00 00003de3: PUSH1 0x20 00003de5: DUP1 00003de6: DUP4 00003de7: ADD 00003de8: DUP2 00003de9: DUP5 00003dea: MSTORE 00003deb: DUP1 00003dec: DUP6 00003ded: MLOAD 00003dee: DUP1 00003def: DUP4 00003df0: MSTORE 00003df1: PUSH1 0x40 00003df3: SWAP3 00003df4: POP 00003df5: DUP3 00003df6: DUP7 00003df7: ADD 00003df8: SWAP2 00003df9: POP 00003dfa: DUP3 00003dfb: DUP2 00003dfc: PUSH1 0x05 00003dfe: SHL 00003dff: DUP8 00003e00: ADD 00003e01: ADD 00003e02: DUP5 00003e03: DUP9 00003e04: ADD 00003e05: PUSH1 0x00 00003e07: JUMPDEST 00003e08: DUP4 00003e09: DUP2 00003e0a: LT 00003e0b: ISZERO 00003e0c: PUSH2 0x3e7a 00003e0f: JUMPI 00003e10: DUP9 00003e11: DUP4 00003e12: SUB 00003e13: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 00003e34: ADD 00003e35: DUP6 00003e36: MSTORE 00003e37: DUP2 00003e38: MLOAD 00003e39: DUP1 00003e3a: MLOAD 00003e3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003e50: AND 00003e51: DUP5 00003e52: MSTORE 00003e53: DUP8 00003e54: ADD 00003e55: MLOAD 00003e56: DUP8 00003e57: DUP5 00003e58: ADD 00003e59: DUP8 00003e5a: SWAP1 00003e5b: MSTORE 00003e5c: PUSH2 0x3e67 00003e5f: DUP8 00003e60: DUP6 00003e61: ADD 00003e62: DUP3 00003e63: PUSH2 0x3d71 00003e66: JUMP 00003e67: JUMPDEST 00003e68: SWAP6 00003e69: DUP9 00003e6a: ADD 00003e6b: SWAP6 00003e6c: SWAP4 00003e6d: POP 00003e6e: POP 00003e6f: SWAP1 00003e70: DUP7 00003e71: ADD 00003e72: SWAP1 00003e73: PUSH1 0x01 00003e75: ADD 00003e76: PUSH2 0x3e07 00003e79: JUMP 00003e7a: JUMPDEST 00003e7b: POP 00003e7c: SWAP1 00003e7d: SWAP9 00003e7e: SWAP8 00003e7f: POP 00003e80: POP 00003e81: POP 00003e82: POP 00003e83: POP 00003e84: POP 00003e85: POP 00003e86: POP 00003e87: JUMP 00003e88: JUMPDEST 00003e89: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003eaa: PUSH1 0x00 00003eac: MSTORE 00003ead: PUSH1 0x32 00003eaf: PUSH1 0x04 00003eb1: MSTORE 00003eb2: PUSH1 0x24 00003eb4: PUSH1 0x00 00003eb6: REVERT 00003eb7: JUMPDEST 00003eb8: PUSH1 0x00 00003eba: PUSH1 0x20 00003ebc: DUP3 00003ebd: DUP5 00003ebe: SUB 00003ebf: SLT 00003ec0: ISZERO 00003ec1: PUSH2 0x3ec9 00003ec4: JUMPI 00003ec5: PUSH1 0x00 00003ec7: DUP1 00003ec8: REVERT 00003ec9: JUMPDEST 00003eca: POP 00003ecb: MLOAD 00003ecc: SWAP2 00003ecd: SWAP1 00003ece: POP 00003ecf: JUMP 00003ed0: JUMPDEST 00003ed1: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003ef2: PUSH1 0x00 00003ef4: MSTORE 00003ef5: PUSH1 0x11 00003ef7: PUSH1 0x04 00003ef9: MSTORE 00003efa: PUSH1 0x24 00003efc: PUSH1 0x00 00003efe: REVERT 00003eff: JUMPDEST 00003f00: PUSH1 0x00 00003f02: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003f23: DUP3 00003f24: SUB 00003f25: PUSH2 0x3f30 00003f28: JUMPI 00003f29: PUSH2 0x3f30 00003f2c: PUSH2 0x3ed0 00003f2f: JUMP 00003f30: JUMPDEST 00003f31: POP 00003f32: PUSH1 0x01 00003f34: ADD 00003f35: SWAP1 00003f36: JUMP 00003f37: JUMPDEST 00003f38: DUP2 00003f39: DUP2 00003f3a: SUB 00003f3b: DUP2 00003f3c: DUP2 00003f3d: GT 00003f3e: ISZERO 00003f3f: PUSH2 0x2abb 00003f42: JUMPI 00003f43: PUSH2 0x2abb 00003f46: PUSH2 0x3ed0 00003f49: JUMP 00003f4a: JUMPDEST 00003f4b: PUSH1 0x00 00003f4d: DUP1 00003f4e: PUSH1 0x40 00003f50: DUP4 00003f51: DUP6 00003f52: SUB 00003f53: SLT 00003f54: ISZERO 00003f55: PUSH2 0x3f5d 00003f58: JUMPI 00003f59: PUSH1 0x00 00003f5b: DUP1 00003f5c: REVERT 00003f5d: JUMPDEST 00003f5e: POP 00003f5f: POP 00003f60: DUP1 00003f61: MLOAD 00003f62: PUSH1 0x20 00003f64: SWAP1 00003f65: SWAP2 00003f66: ADD 00003f67: MLOAD 00003f68: SWAP1 00003f69: SWAP3 00003f6a: SWAP1 00003f6b: SWAP2 00003f6c: POP 00003f6d: JUMP 00003f6e: JUMPDEST 00003f6f: DUP1 00003f70: MLOAD 00003f71: PUSH2 0x3f79 00003f74: DUP2 00003f75: PUSH2 0x3663 00003f78: JUMP 00003f79: JUMPDEST 00003f7a: SWAP2 00003f7b: SWAP1 00003f7c: POP 00003f7d: JUMP 00003f7e: JUMPDEST 00003f7f: DUP1 00003f80: MLOAD 00003f81: PUSH1 0xff 00003f83: DUP2 00003f84: AND 00003f85: DUP2 00003f86: EQ 00003f87: PUSH2 0x3f79 00003f8a: JUMPI 00003f8b: PUSH1 0x00 00003f8d: DUP1 00003f8e: REVERT 00003f8f: JUMPDEST 00003f90: PUSH1 0x00 00003f92: PUSH2 0x01a0 00003f95: DUP3 00003f96: DUP5 00003f97: SUB 00003f98: SLT 00003f99: ISZERO 00003f9a: PUSH2 0x3fa2 00003f9d: JUMPI 00003f9e: PUSH1 0x00 00003fa0: DUP1 00003fa1: REVERT 00003fa2: JUMPDEST 00003fa3: PUSH2 0x3faa 00003fa6: PUSH2 0x35c6 00003fa9: JUMP 00003faa: JUMPDEST 00003fab: PUSH2 0x3fb3 00003fae: DUP4 00003faf: PUSH2 0x3f6e 00003fb2: JUMP 00003fb3: JUMPDEST 00003fb4: DUP2 00003fb5: MSTORE 00003fb6: PUSH2 0x3fc1 00003fb9: PUSH1 0x20 00003fbb: DUP5 00003fbc: ADD 00003fbd: PUSH2 0x3f6e 00003fc0: JUMP 00003fc1: JUMPDEST 00003fc2: PUSH1 0x20 00003fc4: DUP3 00003fc5: ADD 00003fc6: MSTORE 00003fc7: PUSH2 0x3fd2 00003fca: PUSH1 0x40 00003fcc: DUP5 00003fcd: ADD 00003fce: PUSH2 0x3f6e 00003fd1: JUMP 00003fd2: JUMPDEST 00003fd3: PUSH1 0x40 00003fd5: DUP3 00003fd6: ADD 00003fd7: MSTORE 00003fd8: PUSH2 0x3fe3 00003fdb: PUSH1 0x60 00003fdd: DUP5 00003fde: ADD 00003fdf: PUSH2 0x3f6e 00003fe2: JUMP 00003fe3: JUMPDEST 00003fe4: PUSH1 0x60 00003fe6: DUP3 00003fe7: ADD 00003fe8: MSTORE 00003fe9: PUSH2 0x3ff4 00003fec: PUSH1 0x80 00003fee: DUP5 00003fef: ADD 00003ff0: PUSH2 0x3f6e 00003ff3: JUMP 00003ff4: JUMPDEST 00003ff5: PUSH1 0x80 00003ff7: DUP3 00003ff8: ADD 00003ff9: MSTORE 00003ffa: PUSH2 0x4005 00003ffd: PUSH1 0xa0 00003fff: DUP5 00004000: ADD 00004001: PUSH2 0x3f6e 00004004: JUMP 00004005: JUMPDEST 00004006: PUSH1 0xa0 00004008: DUP3 00004009: ADD 0000400a: MSTORE 0000400b: PUSH2 0x4016 0000400e: PUSH1 0xc0 00004010: DUP5 00004011: ADD 00004012: PUSH2 0x3f7e 00004015: JUMP 00004016: JUMPDEST 00004017: PUSH1 0xc0 00004019: DUP3 0000401a: ADD 0000401b: MSTORE 0000401c: PUSH2 0x4027 0000401f: PUSH1 0xe0 00004021: DUP5 00004022: ADD 00004023: PUSH2 0x3f7e 00004026: JUMP 00004027: JUMPDEST 00004028: PUSH1 0xe0 0000402a: DUP3 0000402b: ADD 0000402c: MSTORE 0000402d: PUSH2 0x0100 00004030: DUP4 00004031: DUP2 00004032: ADD 00004033: MLOAD 00004034: SWAP1 00004035: DUP3 00004036: ADD 00004037: MSTORE 00004038: PUSH2 0x0120 0000403b: DUP1 0000403c: DUP5 0000403d: ADD 0000403e: MLOAD 0000403f: SWAP1 00004040: DUP3 00004041: ADD 00004042: MSTORE 00004043: PUSH2 0x0140 00004046: DUP1 00004047: DUP5 00004048: ADD 00004049: MLOAD 0000404a: SWAP1 0000404b: DUP3 0000404c: ADD 0000404d: MSTORE 0000404e: PUSH2 0x0160 00004051: DUP1 00004052: DUP5 00004053: ADD 00004054: MLOAD 00004055: SWAP1 00004056: DUP3 00004057: ADD 00004058: MSTORE 00004059: PUSH2 0x0180 0000405c: SWAP3 0000405d: DUP4 0000405e: ADD 0000405f: MLOAD 00004060: SWAP3 00004061: DUP2 00004062: ADD 00004063: SWAP3 00004064: SWAP1 00004065: SWAP3 00004066: MSTORE 00004067: POP 00004068: SWAP2 00004069: SWAP1 0000406a: POP 0000406b: JUMP 0000406c: JUMPDEST 0000406d: PUSH1 0x00 0000406f: JUMPDEST 00004070: DUP4 00004071: DUP2 00004072: LT 00004073: ISZERO 00004074: PUSH2 0x4087 00004077: JUMPI 00004078: DUP2 00004079: DUP2 0000407a: ADD 0000407b: MLOAD 0000407c: DUP4 0000407d: DUP3 0000407e: ADD 0000407f: MSTORE 00004080: PUSH1 0x20 00004082: ADD 00004083: PUSH2 0x406f 00004086: JUMP 00004087: JUMPDEST 00004088: POP 00004089: POP 0000408a: PUSH1 0x00 0000408c: SWAP2 0000408d: ADD 0000408e: MSTORE 0000408f: JUMP 00004090: JUMPDEST 00004091: PUSH1 0x00 00004093: DUP2 00004094: MLOAD 00004095: DUP1 00004096: DUP5 00004097: MSTORE 00004098: PUSH2 0x40a8 0000409b: DUP2 0000409c: PUSH1 0x20 0000409e: DUP7 0000409f: ADD 000040a0: PUSH1 0x20 000040a2: DUP7 000040a3: ADD 000040a4: PUSH2 0x406c 000040a7: JUMP 000040a8: JUMPDEST 000040a9: PUSH1 0x1f 000040ab: ADD 000040ac: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000040cd: AND 000040ce: SWAP3 000040cf: SWAP1 000040d0: SWAP3 000040d1: ADD 000040d2: PUSH1 0x20 000040d4: ADD 000040d5: SWAP3 000040d6: SWAP2 000040d7: POP 000040d8: POP 000040d9: JUMP 000040da: JUMPDEST 000040db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000040f0: DUP4 000040f1: AND 000040f2: DUP2 000040f3: MSTORE 000040f4: PUSH1 0x40 000040f6: PUSH1 0x20 000040f8: DUP3 000040f9: ADD 000040fa: MSTORE 000040fb: PUSH1 0x00 000040fd: PUSH2 0x32a0 00004100: PUSH1 0x40 00004102: DUP4 00004103: ADD 00004104: DUP5 00004105: PUSH2 0x4090 00004108: JUMP 00004109: JUMPDEST 0000410a: PUSH1 0x00 0000410c: PUSH1 0x20 0000410e: DUP3 0000410f: DUP5 00004110: SUB 00004111: SLT 00004112: ISZERO 00004113: PUSH2 0x411b 00004116: JUMPI 00004117: PUSH1 0x00 00004119: DUP1 0000411a: REVERT 0000411b: JUMPDEST 0000411c: DUP2 0000411d: MLOAD 0000411e: PUSH2 0x386c 00004121: DUP2 00004122: PUSH2 0x37dc 00004125: JUMP 00004126: JUMPDEST 00004127: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004148: PUSH1 0x00 0000414a: MSTORE 0000414b: PUSH1 0x31 0000414d: PUSH1 0x04 0000414f: MSTORE 00004150: PUSH1 0x24 00004152: PUSH1 0x00 00004154: REVERT 00004155: JUMPDEST 00004156: PUSH1 0x00 00004158: DUP3 00004159: MLOAD 0000415a: PUSH2 0x4167 0000415d: DUP2 0000415e: DUP5 0000415f: PUSH1 0x20 00004161: DUP8 00004162: ADD 00004163: PUSH2 0x406c 00004166: JUMP 00004167: JUMPDEST 00004168: SWAP2 00004169: SWAP1 0000416a: SWAP2 0000416b: ADD 0000416c: SWAP3 0000416d: SWAP2 0000416e: POP 0000416f: POP 00004170: JUMP 00004171: JUMPDEST 00004172: PUSH1 0x20 00004174: DUP2 00004175: MSTORE 00004176: PUSH1 0x00 00004178: PUSH2 0x2ab8 0000417b: PUSH1 0x20 0000417d: DUP4 0000417e: ADD 0000417f: DUP5 00004180: PUSH2 0x4090 00004183: JUMP 00004184: INVALID 00004185: COINBASE 00004186: PUSH5 0x6472657373 0000418c: GASPRICE 0000418d: KECCAK256 0000418e: PUSH13 0x6f772d6c6576656c2064656c65 0000419c: PUSH8 0x6174652063616c6c 000041a5: KECCAK256 000041a6: PUSH7 0x61696c6564a264 000041ae: PUSH10 0x70667358221220423e83 000041b9: EXTCODECOPY 000041ba: UNKNOWN(0xDA) 000041bb: PUSH31 0x978d94ecbbbfed2b01087c1e0e354c7d1d019e54a1cdee12c89f64736f6c63 000041db: NUMBER 000041dc: STOP 000041dd: ADDMOD 000041de: ISZERO 000041df: STOP 000041e0: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x8b8fc93d903b7f6a511e225e4e7214816816d706d9a1ed770b7c79d0e16049ee
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x8b8fc93d903b7f6a511e225e4e7214816816d706d9a1ed770b7c79d0e16049ee",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xe9c771b2",
"selector": "0xe9c771b2",
"calldata_variants": [
"0xe9c771b2",
"0xe9c771b20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec1a9dd4",
"selector": "0xec1a9dd4",
"calldata_variants": [
"0xec1a9dd4",
"0xec1a9dd40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef33e9db",
"selector": "0xef33e9db",
"calldata_variants": [
"0xef33e9db",
"0xef33e9db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc11b353c",
"selector": "0xc11b353c",
"calldata_variants": [
"0xc11b353c",
"0xc11b353c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc8354898",
"selector": "0xc8354898",
"calldata_variants": [
"0xc8354898",
"0xc83548980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x702b5175",
"selector": "0x702b5175",
"calldata_variants": [
"0x702b5175",
"0x702b51750000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 13417,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 5450,
"type": "msg_sender_eq_const",
"value": 4.534988493553221e+47
},
{
"pc": 5598,
"type": "msg_sender_eq_const",
"value": 4.534988493553221e+47
},
{
"pc": 5428,
"type": "msg_sender_eq_const",
"value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
},
{
"pc": 5576,
"type": "msg_sender_eq_const",
"value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
}
],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806
call_targets:
0xfb3102759f2d57f547b9c519db49ce1ffde15db2
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfb3102759f2d57f547b9c519db49ce1ffde15db2"
],
"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": "0xe9c771b2",
"selector": "0xe9c771b2",
"calldata_variants": [
"0xe9c771b2",
"0xe9c771b20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec1a9dd4",
"selector": "0xec1a9dd4",
"calldata_variants": [
"0xec1a9dd4",
"0xec1a9dd40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef33e9db",
"selector": "0xef33e9db",
"calldata_variants": [
"0xef33e9db",
"0xef33e9db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc11b353c",
"selector": "0xc11b353c",
"calldata_variants": [
"0xc11b353c",
"0xc11b353c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc8354898",
"selector": "0xc8354898",
"calldata_variants": [
"0xc8354898",
"0xc83548980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x702b5175",
"selector": "0x702b5175",
"calldata_variants": [
"0x702b5175",
"0x702b51750000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2850,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3832,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4955,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 6,
"guards_detected": [
{
"pc": 5450,
"type": "msg_sender_eq_const",
"value": 4.534988493553221e+47
},
{
"pc": 5598,
"type": "msg_sender_eq_const",
"value": 4.534988493553221e+47
},
{
"pc": 5428,
"type": "msg_sender_eq_const",
"value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
},
{
"pc": 5576,
"type": "msg_sender_eq_const",
"value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
}
],
"untrusted_call_count": 6
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806
call_targets:
0xfb3102759f2d57f547b9c519db49ce1ffde15db2
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x10d0a116c6c6ba4d787645b8fe622e6c44c6a65210c7edebbea6e6fdb8e6f806",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfb3102759f2d57f547b9c519db49ce1ffde15db2"
],
"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": "0xe9c771b2",
"selector": "0xe9c771b2",
"calldata_variants": [
"0xe9c771b2",
"0xe9c771b20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec1a9dd4",
"selector": "0xec1a9dd4",
"calldata_variants": [
"0xec1a9dd4",
"0xec1a9dd40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef33e9db",
"selector": "0xef33e9db",
"calldata_variants": [
"0xef33e9db",
"0xef33e9db0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc11b353c",
"selector": "0xc11b353c",
"calldata_variants": [
"0xc11b353c",
"0xc11b353c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc8354898",
"selector": "0xc8354898",
"calldata_variants": [
"0xc8354898",
"0xc83548980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x702b5175",
"selector": "0x702b5175",
"calldata_variants": [
"0x702b5175",
"0x702b51750000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2850,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3832,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4955,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 6,
"guards_detected": [
{
"pc": 5450,
"type": "msg_sender_eq_const",
"value": 4.534988493553221e+47
},
{
"pc": 5598,
"type": "msg_sender_eq_const",
"value": 4.534988493553221e+47
},
{
"pc": 5428,
"type": "msg_sender_eq_const",
"value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
},
{
"pc": 5576,
"type": "msg_sender_eq_const",
"value": "0x4f6f977acdd1177dcd81ab83074855ecb9c2d49e"
}
]
}
|
| medium | other | codex | Dex vault rebalance can skip native allowance decrement based on protocol-supplied return values | 75 | no | — |
viewevidence_json{
"evidence": "`rebalanceDexVault` only reduces `nativeTokenAllowances` inside a conditional that depends on `colAmount_`/`debtAmount_` returned by the external protocol, so a malicious protocol can avoid decrement while still consuming ETH.",
"locations": [
"contracts/reserve/main.sol:238",
"contracts/reserve/main.sol:250"
],
"recommendation": "Always decrement the native allowance based on actual balance delta whenever `value_ > 0`, regardless of the returned `colAmount_`/`debtAmount_` signs. Alternatively, pre-decrement by `value_` like the other rebalance functions and refund any unused amount after the call.",
"exploit_scenario": "An authorized rebalancer calls `rebalanceDexVault` on a malicious or compromised vault. The vault consumes ETH sent via `value_` but returns `colAmount_ <= 0` and `debtAmount_ >= 0`, causing the allowance decrement block to be skipped. The same protocol can then be called repeatedly to spend additional ETH beyond its configured `nativeTokenAllowances[protocol_]`, effectively bypassing the allowance cap."
}
|