a63772f1-048a-4d9c-860a-5b89e63f052c
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 |
|---|---|---|---|---|
| 30637 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74818 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 74819 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 74820 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 74821 | capability.graph | complete | 1 / 3 | 1 week ago |
| 74822 | detector.run | complete | 1 / 3 | 1 week ago |
| 74823 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:784445] OpenAI Codex v0.77.0 (research preview)
[codex:784445] --------
[codex:784445] workdir: /tmp/codex-multi-g6xxlh_0
[codex:784445] model: gpt-5.2-codex
[codex:784445] provider: openai
[codex:784445] approval: never
[codex:784445] sandbox: read-only
[codex:784445] reasoning effort: xhigh
[codex:784445] reasoning summaries: auto
[codex:784445] session id: 019b6cbb-a098-7a70-89ad-66252e80d958
[codex:784445] --------
[codex:784445] user
[codex:784445] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:784445] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:784445] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:784445]
[codex:784445] Scope rules:
[codex:784445] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:784445] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:784445]
[codex:784445] Output MUST be valid JSON matching the provided schema.
[codex:784445] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:784445] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:784445]
[codex:784445] Output constraints (IMPORTANT):
[codex:784445] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:784445] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:784445] mcp startup: no servers
[codex:784445]
[codex:784445] thinking
[codex:784445] **Preparing to review audit bundle**
[codex:784445] exec
[codex:784445] /bin/bash -lc ls in /tmp/codex-multi-g6xxlh_0 succeeded in 5ms:
[codex:784445] AUDIT_BUNDLE.txt
[codex:784445] codex-output-schema.json
[codex:784445] contracts
[codex:784445] exec
[codex:784445] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-g6xxlh_0 succeeded in 5ms:
[codex:784445] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:784445]
[codex:784445] ================================================================================
[codex:784445] FILE: contracts/IERC20.sol
[codex:784445] ================================================================================
[codex:784445] // SPDX-License-Identifier: BCOM
[codex:784445]
[codex:784445] pragma solidity =0.8.14;
[codex:784445]
[codex:784445] interface IERC20 {
[codex:784445]
[codex:784445] function balanceOf(
[codex:784445] address _owner
[codex:784445] )
[codex:784445] external
[codex:784445] view
[codex:784445] returns (uint256);
[codex:784445] }
[codex:784445]
[codex:784445] ================================================================================
[codex:784445]
[codex:784445]
[codex:784445] thinking
[codex:784445] **Reviewing potential contract issues**
[codex:784445] thinking
[codex:784445] **Summarizing key contract concerns**
[codex:784445]
[codex:784445] I’m considering a few main points: the initialize function lacks caller restrictions which might let attackers hijack contract setup if not used atomically; the protocol fee logic always mints fees even when it should be off, causing silent dilution of liquidity providers; and the swap function allows sending tokens to token contracts themselves, which isn’t prevented here although the lock modifier might protect against reentrancy. There are signature and nonce usage details but they seem standard. Overall, these seem like medium-to-low risk design or accounting issues worth highlighting.
[codex:784445] exec
[codex:784445] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-g6xxlh_0 succeeded in 5ms:
[codex:784445] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:784445]
[codex:784445] thinking
[codex:784445] **Preparing audit output format**
[codex:784445] exec
[codex:784445] /bin/bash -lc 'nl -ba contracts/SwapsPair.sol' in /tmp/codex-multi-g6xxlh_0 succeeded in 5ms:
[codex:784445] 1 // SPDX-License-Identifier: BCOM
[codex:784445] 2
[codex:784445] 3 pragma solidity =0.8.14;
[codex:784445] 4
[codex:784445] 5 import "./IERC20.sol";
[codex:784445] 6 import "./ISwapsFactory.sol";
[codex:784445] 7 import "./ISwapsCallee.sol";
[codex:784445] 8 import "./SwapsERC20.sol";
[codex:784445] 9
[codex:784445] 10 contract SwapsPair is SwapsERC20 {
[codex:784445] 11
[codex:784445] 12 uint224 constant Q112 = 2 ** 112;
[codex:784445] 13 uint112 constant UINT112_MAX = type(uint112).max;
[codex:784445] 14 uint256 public constant MINIMUM_LIQUIDITY = 10 ** 3;
[codex:784445] 15
[codex:784445] 16 bytes4 private constant SELECTOR = bytes4(
[codex:784445] 17 keccak256(bytes('transfer(address,uint256)'))
[codex:784445] 18 );
[codex:784445] 19
[codex:784445] 20 address public factory;
[codex:784445]
[codex:784445] thinking
[codex:784445] **Reviewing SwapsERC20 lines**
[codex:784445] exec
[codex:784445] /bin/bash -lc 'nl -ba contracts/SwapsERC20.sol' in /tmp/codex-multi-g6xxlh_0 succeeded in 5ms:
[codex:784445] 1 // SPDX-License-Identifier: BCOM
[codex:784445] 2
[codex:784445] 3 pragma solidity =0.8.14;
[codex:784445] 4
[codex:784445] 5 contract SwapsERC20 {
[codex:784445] 6
[codex:784445] 7 string public constant name = "Verse Exchange";
[codex:784445] 8 string public constant symbol = "VERSE-X";
[codex:784445] 9 uint8 public constant decimals = 18;
[codex:784445] 10
[codex:784445] 11 address constant ZERO_ADDRESS = address(0);
[codex:784445] 12 uint256 constant UINT256_MAX = type(uint256).max;
[codex:784445] 13
[codex:784445] 14 uint256 public totalSupply;
[codex:784445] 15
[codex:784445] 16 mapping(address => uint256) public balanceOf;
[codex:784445] 17 mapping(address => mapping(address => uint256)) public allowance;
[codex:784445] 18 mapping(address => uint256) public nonces;
[codex:784445] 19
[codex:784445] 20 bytes32 public immutable DOMAIN_SEPARATOR;
[codex:784445]
[codex:784445] thinking
[codex:784445] **Analyzing critical contract initialization and cloning risks**
[codex:784445]
[codex:784445] I'm examining some subtle vulnerabilities around unprotected initialization of pairs, fee minting behavior, and how cloning patterns affect the immutable domain separator used in permit signatures. There’s a serious risk that if a pair contract isn’t initialized immediately by a trusted factory, attackers could hijack it by calling initialize first, setting arbitrary tokens and factory addresses. Also, if pairs are deployed as clones, the immutable domain separator stays tied to the implementation, enabling permit signature replay across pairs and causing authorization issues. These findings look significant enough to report as access control and auth vulnerabilities depending on deployment patterns.
[codex:784445] exec
[codex:784445] /bin/bash -lc 'nl -ba contracts/ISwapsFactory.sol' in /tmp/codex-multi-g6xxlh_0 succeeded in 5ms:
[codex:784445] 1 // SPDX-License-Identifier: BCOM
[codex:784445] 2
[codex:784445] 3 pragma solidity =0.8.14;
[codex:784445] 4
[codex:784445] 5 interface ISwapsFactory {
[codex:784445] 6
[codex:784445] 7 function feeTo()
[codex:784445] 8 external
[codex:784445] 9 view
[codex:784445] 10 returns (address);
[codex:784445] 11
[codex:784445] 12 function feeToSetter()
[codex:784445] 13 external
[codex:784445] 14 view
[codex:784445] 15 returns (address);
[codex:784445] 16
[codex:784445] 17 function getPair(
[codex:784445] 18 address _tokenA,
[codex:784445] 19 address _tokenB
[codex:784445] 20 )
[codex:784445]
[codex:784445] thinking
[codex:784445] **Summarizing audit findings and crafting JSON report**
[codex:784445]
[codex:784445] I'm gathering details for three audit issues: unprotected initialization allowing hijack, immutable DOMAIN_SEPARATOR causing permit replay in clones, and protocol fee minting even when fees are disabled causing LP dilution. I'll assemble a clear JSON report to neatly represent severity, categories, exploit scenarios, recommendations, evidence, and file locations for each finding.
[codex:784445] codex
[codex:784445] {"no_findings":false,"summary":"Identified 3 issues: unprotected pair initialization, permit domain separator unsafe with clone deployments, and protocol fee minting when feeTo is unset causing LP dilution.","findings":[{"severity":"medium","category":"access_control","title":"initialize is permissionless and can be front-run to hijack a pair","exploit_scenario":"If a pair is deployed without being initialized in the same transaction, an attacker can call initialize first, set token0/token1 and factory to themselves, and permanently block the intended factory. This can strand users who send assets to the expected pair address or cause swaps/liquidity to operate on attacker-chosen tokens.","recommendation":"Restrict initialize to the factory (e.g., set factory in the constructor or require msg.sender == factory), and ensure factory deploys+initializes atomically. Also validate token addresses are non-zero and distinct.","evidence":"initialize only checks factory == ZERO_ADDRESS and then sets token0/token1 and factory to msg.sender with no access control.","locations":["contracts/SwapsPair.sol:71","contracts/SwapsPair.sol:82","contracts/SwapsPair.sol:84"]},{"severity":"medium","category":"auth","title":"Permit DOMAIN_SEPARATOR is immutable; clone deployments allow cross-pair signature replay","exploit_scenario":"If pairs are deployed as minimal-proxy clones (as implied by cloneTarget), the SwapsERC20 constructor is not executed per clone, so DOMAIN_SEPARATOR is baked to the implementation address. A permit signature intended for one pair can be replayed on other pairs with matching nonces, unintentionally approving a spender on multiple LP tokens the signer holds.","recommendation":"Store DOMAIN_SEPARATOR in storage and initialize it per clone (e.g., in initialize) using address(this), or compute it on-the-fly. Avoid immutables for domain separator when deploying via proxies/clones.","evidence":"DOMAIN_SEPARATOR is immutable and set in the constructor using address(this), while the factory interface exposes cloneTarget suggesting clone-based deployment.","locations":["contracts/SwapsERC20.sol:20","contracts/SwapsERC20.sol:37","contracts/ISwapsFactory.sol:52"]},{"severity":"low","category":"other","title":"Protocol fee mints even when feeTo is unset, causing LP dilution","exploit_scenario":"When feeTo is address(0) (fees intended off), mint/burn still calls _mintFee, which mints liquidity to feeTo. This permanently inflates totalSupply and dilutes LPs; any user can trigger this by minting/burning after k grows.","recommendation":"Gate _mintFee on feeTo != address(0), and when fees are off set kLast = 0 (Uniswap V2 behavior) to avoid unintended fee minting.","evidence":"_mintFee mints to ISwapsFactory(factory).feeTo() without checking for address(0) and is called from mint and burn.","locations":["contracts/SwapsPair.sol:139","contracts/SwapsPair.sol:159","contracts/SwapsPair.sol:185","contracts/SwapsPair.sol:262"]}]}
[codex:784445] tokens used
[codex:784445] 47,013
[codex:784445] {"no_findings":false,"summary":"Identified 3 issues: unprotected pair initialization, permit domain separator unsafe with clone deployments, and protocol fee minting when feeTo is unset causing LP dilution.","findings":[{"severity":"medium","category":"access_control","title":"initialize is permissionless and can be front-run to hijack a pair","exploit_scenario":"If a pair is deployed without being initialized in the same transaction, an attacker can call initialize first, set token0/token1 and factory to themselves, and permanently block the intended factory. This can strand users who send assets to the expected pair address or cause swaps/liquidity to operate on attacker-chosen tokens.","recommendation":"Restrict initialize to the factory (e.g., set factory in the constructor or require msg.sender == factory), and ensure factory deploys+initializes atomically. Also validate token addresses are non-zero and distinct.","evidence":"initialize only checks factory == ZERO_ADDRESS and then sets token0/token1 and factory to msg.sender with no access control.","locations":["contracts/SwapsPair.sol:71","contracts/SwapsPair.sol:82","contracts/SwapsPair.sol:84"]},{"severity":"medium","category":"auth","title":"Permit DOMAIN_SEPARATOR is immutable; clone deployments allow cross-pair signature replay","exploit_scenario":"If pairs are deployed as minimal-proxy clones (as implied by cloneTarget), the SwapsERC20 constructor is not executed per clone, so DOMAIN_SEPARATOR is baked to the implementation address. A permit signature intended for one pair can be replayed on other pairs with matching nonces, unintentionally approving a spender on multiple LP tokens the signer holds.","recommendation":"Store DOMAIN_SEPARATOR in storage and initialize it per clone (e.g., in initialize) using address(this), or compute it on-the-fly. Avoid immutables for domain separator when deploying via proxies/clones.","evidence":"DOMAIN_SEPARATOR is immutable and set in the constructor using address(this), while the factory interface exposes cloneTarget suggesting clone-based deployment.","locations":["contracts/SwapsERC20.sol:20","contracts/SwapsERC20.sol:37","contracts/ISwapsFactory.sol:52"]},{"severity":"low","category":"other","title":"Protocol fee mints even when feeTo is unset, causing LP dilution","exploit_scenario":"When feeTo is address(0) (fees intended off), mint/burn still calls _mintFee, which mints liquidity to feeTo. This permanently inflates totalSupply and dilutes LPs; any user can trigger this by minting/burning after k grows.","recommendation":"Gate _mintFee on feeTo != address(0), and when fees are off set kLast = 0 (Uniswap V2 behavior) to avoid unintended fee minting.","evidence":"_mintFee mints to ISwapsFactory(factory).feeTo() without checking for address(0) and is called from mint and burn.","locations":["contracts/SwapsPair.sol:139","contracts/SwapsPair.sol:159","contracts/SwapsPair.sol:185","contracts/SwapsPair.sol:262"]}]}
{
"codex": {
"ran_at": "2025-12-30T00:53:30.629535+00:00",
"returncode": 0
},
"summary": "Identified 3 issues: unprotected pair initialization, permit domain separator unsafe with clone deployments, and protocol fee minting when feeTo is unset causing LP dilution.",
"raw_final": {
"summary": "Identified 3 issues: unprotected pair initialization, permit domain separator unsafe with clone deployments, and protocol fee minting when feeTo is unset causing LP dilution.",
"findings": [
{
"title": "initialize is permissionless and can be front-run to hijack a pair",
"category": "access_control",
"evidence": "initialize only checks factory == ZERO_ADDRESS and then sets token0/token1 and factory to msg.sender with no access control.",
"severity": "medium",
"locations": [
"contracts/SwapsPair.sol:71",
"contracts/SwapsPair.sol:82",
"contracts/SwapsPair.sol:84"
],
"recommendation": "Restrict initialize to the factory (e.g., set factory in the constructor or require msg.sender == factory), and ensure factory deploys+initializes atomically. Also validate token addresses are non-zero and distinct.",
"exploit_scenario": "If a pair is deployed without being initialized in the same transaction, an attacker can call initialize first, set token0/token1 and factory to themselves, and permanently block the intended factory. This can strand users who send assets to the expected pair address or cause swaps/liquidity to operate on attacker-chosen tokens."
},
{
"title": "Permit DOMAIN_SEPARATOR is immutable; clone deployments allow cross-pair signature replay",
"category": "auth",
"evidence": "DOMAIN_SEPARATOR is immutable and set in the constructor using address(this), while the factory interface exposes cloneTarget suggesting clone-based deployment.",
"severity": "medium",
"locations": [
"contracts/SwapsERC20.sol:20",
"contracts/SwapsERC20.sol:37",
"contracts/ISwapsFactory.sol:52"
],
"recommendation": "Store DOMAIN_SEPARATOR in storage and initialize it per clone (e.g., in initialize) using address(this), or compute it on-the-fly. Avoid immutables for domain separator when deploying via proxies/clones.",
"exploit_scenario": "If pairs are deployed as minimal-proxy clones (as implied by cloneTarget), the SwapsERC20 constructor is not executed per clone, so DOMAIN_SEPARATOR is baked to the implementation address. A permit signature intended for one pair can be replayed on other pairs with matching nonces, unintentionally approving a spender on multiple LP tokens the signer holds."
},
{
"title": "Protocol fee mints even when feeTo is unset, causing LP dilution",
"category": "other",
"evidence": "_mintFee mints to ISwapsFactory(factory).feeTo() without checking for address(0) and is called from mint and burn.",
"severity": "low",
"locations": [
"contracts/SwapsPair.sol:139",
"contracts/SwapsPair.sol:159",
"contracts/SwapsPair.sol:185",
"contracts/SwapsPair.sol:262"
],
"recommendation": "Gate _mintFee on feeTo != address(0), and when fees are off set kLast = 0 (Uniswap V2 behavior) to avoid unintended fee minting.",
"exploit_scenario": "When feeTo is address(0) (fees intended off), mint/burn still calls _mintFee, which mints liquidity to feeTo. This permanently inflates totalSupply and dilutes LPs; any user can trigger this by minting/burning after k grows."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x01a9 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x5a3d5493 00000026: GT 00000027: PUSH2 0x00f9 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xa9059cbb 00000031: GT 00000032: PUSH2 0x0097 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xd21220a7 0000003c: GT 0000003d: PUSH2 0x0071 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xd21220a7 00000047: EQ 00000048: PUSH2 0x0420 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xd505accf 00000052: EQ 00000053: PUSH2 0x0433 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xdd62ed3e 0000005d: EQ 0000005e: PUSH2 0x0446 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xfff6cae9 00000068: EQ 00000069: PUSH2 0x0471 0000006c: JUMPI 0000006d: PUSH1 0x00 0000006f: DUP1 00000070: REVERT 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0xa9059cbb 00000078: EQ 00000079: PUSH2 0x03f1 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xba9a7a56 00000083: EQ 00000084: PUSH2 0x0404 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xc45a0155 0000008e: EQ 0000008f: PUSH2 0x040d 00000092: JUMPI 00000093: PUSH1 0x00 00000095: DUP1 00000096: REVERT 00000097: JUMPDEST 00000098: DUP1 00000099: PUSH4 0x7464fc3d 0000009e: GT 0000009f: PUSH2 0x00d3 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x7464fc3d 000000a9: EQ 000000aa: PUSH2 0x037a 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x7ecebe00 000000b4: EQ 000000b5: PUSH2 0x0383 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x89afcb44 000000bf: EQ 000000c0: PUSH2 0x03a3 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x95d89b41 000000ca: EQ 000000cb: PUSH2 0x03cb 000000ce: JUMPI 000000cf: PUSH1 0x00 000000d1: DUP1 000000d2: REVERT 000000d3: JUMPDEST 000000d4: DUP1 000000d5: PUSH4 0x5a3d5493 000000da: EQ 000000db: PUSH2 0x033e 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x6a627842 000000e5: EQ 000000e6: PUSH2 0x0347 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x70a08231 000000f0: EQ 000000f1: PUSH2 0x035a 000000f4: JUMPI 000000f5: PUSH1 0x00 000000f7: DUP1 000000f8: REVERT 000000f9: JUMPDEST 000000fa: DUP1 000000fb: PUSH4 0x1dd19cb4 00000100: GT 00000101: PUSH2 0x0166 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x313ce567 0000010b: GT 0000010c: PUSH2 0x0140 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x313ce567 00000116: EQ 00000117: PUSH2 0x02e1 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x3644e515 00000121: EQ 00000122: PUSH2 0x02fb 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x485cc955 0000012c: EQ 0000012d: PUSH2 0x0322 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x5909c0d5 00000137: EQ 00000138: PUSH2 0x0335 0000013b: JUMPI 0000013c: PUSH1 0x00 0000013e: DUP1 0000013f: REVERT 00000140: JUMPDEST 00000141: DUP1 00000142: PUSH4 0x1dd19cb4 00000147: EQ 00000148: PUSH2 0x029f 0000014b: JUMPI 0000014c: DUP1 0000014d: PUSH4 0x23b872dd 00000152: EQ 00000153: PUSH2 0x02a7 00000156: JUMPI 00000157: DUP1 00000158: PUSH4 0x30adf81f 0000015d: EQ 0000015e: PUSH2 0x02ba 00000161: JUMPI 00000162: PUSH1 0x00 00000164: DUP1 00000165: REVERT 00000166: JUMPDEST 00000167: DUP1 00000168: PUSH4 0x022c0d9f 0000016d: EQ 0000016e: PUSH2 0x01ae 00000171: JUMPI 00000172: DUP1 00000173: PUSH4 0x06fdde03 00000178: EQ 00000179: PUSH2 0x01c3 0000017c: JUMPI 0000017d: DUP1 0000017e: PUSH4 0x0902f1ac 00000183: EQ 00000184: PUSH2 0x0206 00000187: JUMPI 00000188: DUP1 00000189: PUSH4 0x095ea7b3 0000018e: EQ 0000018f: PUSH2 0x023a 00000192: JUMPI 00000193: DUP1 00000194: PUSH4 0x0dfe1681 00000199: EQ 0000019a: PUSH2 0x025d 0000019d: JUMPI 0000019e: DUP1 0000019f: PUSH4 0x18160ddd 000001a4: EQ 000001a5: PUSH2 0x0288 000001a8: JUMPI 000001a9: JUMPDEST 000001aa: PUSH1 0x00 000001ac: DUP1 000001ad: REVERT 000001ae: JUMPDEST 000001af: PUSH2 0x01c1 000001b2: PUSH2 0x01bc 000001b5: CALLDATASIZE 000001b6: PUSH1 0x04 000001b8: PUSH2 0x1c27 000001bb: JUMP 000001bc: JUMPDEST 000001bd: PUSH2 0x0479 000001c0: JUMP 000001c1: JUMPDEST 000001c2: STOP 000001c3: JUMPDEST 000001c4: PUSH2 0x01f0 000001c7: PUSH1 0x40 000001c9: MLOAD 000001ca: DUP1 000001cb: PUSH1 0x40 000001cd: ADD 000001ce: PUSH1 0x40 000001d0: MSTORE 000001d1: DUP1 000001d2: PUSH1 0x0e 000001d4: DUP2 000001d5: MSTORE 000001d6: PUSH1 0x20 000001d8: ADD 000001d9: PUSH14 0x56657273652045786368616e6765 000001e8: PUSH1 0x90 000001ea: SHL 000001eb: DUP2 000001ec: MSTORE 000001ed: POP 000001ee: DUP2 000001ef: JUMP 000001f0: JUMPDEST 000001f1: PUSH1 0x40 000001f3: MLOAD 000001f4: PUSH2 0x01fd 000001f7: SWAP2 000001f8: SWAP1 000001f9: PUSH2 0x1ced 000001fc: JUMP 000001fd: JUMPDEST 000001fe: PUSH1 0x40 00000200: MLOAD 00000201: DUP1 00000202: SWAP2 00000203: SUB 00000204: SWAP1 00000205: RETURN 00000206: JUMPDEST 00000207: PUSH2 0x020e 0000020a: PUSH2 0x08cc 0000020d: JUMP 0000020e: JUMPDEST 0000020f: PUSH1 0x40 00000211: DUP1 00000212: MLOAD 00000213: PUSH1 0x01 00000215: PUSH1 0x01 00000217: PUSH1 0x70 00000219: SHL 0000021a: SUB 0000021b: SWAP5 0000021c: DUP6 0000021d: AND 0000021e: DUP2 0000021f: MSTORE 00000220: SWAP4 00000221: SWAP1 00000222: SWAP3 00000223: AND 00000224: PUSH1 0x20 00000226: DUP5 00000227: ADD 00000228: MSTORE 00000229: PUSH4 0xffffffff 0000022e: AND 0000022f: SWAP1 00000230: DUP3 00000231: ADD 00000232: MSTORE 00000233: PUSH1 0x60 00000235: ADD 00000236: PUSH2 0x01fd 00000239: JUMP 0000023a: JUMPDEST 0000023b: PUSH2 0x024d 0000023e: PUSH2 0x0248 00000241: CALLDATASIZE 00000242: PUSH1 0x04 00000244: PUSH2 0x1d20 00000247: JUMP 00000248: JUMPDEST 00000249: PUSH2 0x08f6 0000024c: JUMP 0000024d: JUMPDEST 0000024e: PUSH1 0x40 00000250: MLOAD 00000251: SWAP1 00000252: ISZERO 00000253: ISZERO 00000254: DUP2 00000255: MSTORE 00000256: PUSH1 0x20 00000258: ADD 00000259: PUSH2 0x01fd 0000025c: JUMP 0000025d: JUMPDEST 0000025e: PUSH1 0x05 00000260: SLOAD 00000261: PUSH2 0x0270 00000264: SWAP1 00000265: PUSH1 0x01 00000267: PUSH1 0x01 00000269: PUSH1 0xa0 0000026b: SHL 0000026c: SUB 0000026d: AND 0000026e: DUP2 0000026f: JUMP 00000270: JUMPDEST 00000271: PUSH1 0x40 00000273: MLOAD 00000274: PUSH1 0x01 00000276: PUSH1 0x01 00000278: PUSH1 0xa0 0000027a: SHL 0000027b: SUB 0000027c: SWAP1 0000027d: SWAP2 0000027e: AND 0000027f: DUP2 00000280: MSTORE 00000281: PUSH1 0x20 00000283: ADD 00000284: PUSH2 0x01fd 00000287: JUMP 00000288: JUMPDEST 00000289: PUSH2 0x0291 0000028c: PUSH1 0x00 0000028e: SLOAD 0000028f: DUP2 00000290: JUMP 00000291: JUMPDEST 00000292: PUSH1 0x40 00000294: MLOAD 00000295: SWAP1 00000296: DUP2 00000297: MSTORE 00000298: PUSH1 0x20 0000029a: ADD 0000029b: PUSH2 0x01fd 0000029e: JUMP 0000029f: JUMPDEST 000002a0: PUSH2 0x01c1 000002a3: PUSH2 0x090c 000002a6: JUMP 000002a7: JUMPDEST 000002a8: PUSH2 0x024d 000002ab: PUSH2 0x02b5 000002ae: CALLDATASIZE 000002af: PUSH1 0x04 000002b1: PUSH2 0x1d4c 000002b4: JUMP 000002b5: JUMPDEST 000002b6: PUSH2 0x0a91 000002b9: JUMP 000002ba: JUMPDEST 000002bb: PUSH2 0x0291 000002be: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 000002df: DUP2 000002e0: JUMP 000002e1: JUMPDEST 000002e2: PUSH2 0x02e9 000002e5: PUSH1 0x12 000002e7: DUP2 000002e8: JUMP 000002e9: JUMPDEST 000002ea: PUSH1 0x40 000002ec: MLOAD 000002ed: PUSH1 0xff 000002ef: SWAP1 000002f0: SWAP2 000002f1: AND 000002f2: DUP2 000002f3: MSTORE 000002f4: PUSH1 0x20 000002f6: ADD 000002f7: PUSH2 0x01fd 000002fa: JUMP 000002fb: JUMPDEST 000002fc: PUSH2 0x0291 000002ff: PUSH32 0x8d38bff3de880885f7638027341cf8dbbdbf33f05204f0f79849a330f262a9e0 00000320: DUP2 00000321: JUMP 00000322: JUMPDEST 00000323: PUSH2 0x01c1 00000326: PUSH2 0x0330 00000329: CALLDATASIZE 0000032a: PUSH1 0x04 0000032c: PUSH2 0x1d8d 0000032f: JUMP 00000330: JUMPDEST 00000331: PUSH2 0x0b0b 00000334: JUMP 00000335: JUMPDEST 00000336: PUSH2 0x0291 00000339: PUSH1 0x08 0000033b: SLOAD 0000033c: DUP2 0000033d: JUMP 0000033e: JUMPDEST 0000033f: PUSH2 0x0291 00000342: PUSH1 0x09 00000344: SLOAD 00000345: DUP2 00000346: JUMP 00000347: JUMPDEST 00000348: PUSH2 0x0291 0000034b: PUSH2 0x0355 0000034e: CALLDATASIZE 0000034f: PUSH1 0x04 00000351: PUSH2 0x1dc6 00000354: JUMP 00000355: JUMPDEST 00000356: PUSH2 0x0ba7 00000359: JUMP 0000035a: JUMPDEST 0000035b: PUSH2 0x0291 0000035e: PUSH2 0x0368 00000361: CALLDATASIZE 00000362: PUSH1 0x04 00000364: PUSH2 0x1dc6 00000367: JUMP 00000368: JUMPDEST 00000369: PUSH1 0x01 0000036b: PUSH1 0x20 0000036d: MSTORE 0000036e: PUSH1 0x00 00000370: SWAP1 00000371: DUP2 00000372: MSTORE 00000373: PUSH1 0x40 00000375: SWAP1 00000376: KECCAK256 00000377: SLOAD 00000378: DUP2 00000379: JUMP 0000037a: JUMPDEST 0000037b: PUSH2 0x0291 0000037e: PUSH1 0x0a 00000380: SLOAD 00000381: DUP2 00000382: JUMP 00000383: JUMPDEST 00000384: PUSH2 0x0291 00000387: PUSH2 0x0391 0000038a: CALLDATASIZE 0000038b: PUSH1 0x04 0000038d: PUSH2 0x1dc6 00000390: JUMP 00000391: JUMPDEST 00000392: PUSH1 0x03 00000394: PUSH1 0x20 00000396: MSTORE 00000397: PUSH1 0x00 00000399: SWAP1 0000039a: DUP2 0000039b: MSTORE 0000039c: PUSH1 0x40 0000039e: SWAP1 0000039f: KECCAK256 000003a0: SLOAD 000003a1: DUP2 000003a2: JUMP 000003a3: JUMPDEST 000003a4: PUSH2 0x03b6 000003a7: PUSH2 0x03b1 000003aa: CALLDATASIZE 000003ab: PUSH1 0x04 000003ad: PUSH2 0x1dc6 000003b0: JUMP 000003b1: JUMPDEST 000003b2: PUSH2 0x0e5b 000003b5: JUMP 000003b6: JUMPDEST 000003b7: PUSH1 0x40 000003b9: DUP1 000003ba: MLOAD 000003bb: SWAP3 000003bc: DUP4 000003bd: MSTORE 000003be: PUSH1 0x20 000003c0: DUP4 000003c1: ADD 000003c2: SWAP2 000003c3: SWAP1 000003c4: SWAP2 000003c5: MSTORE 000003c6: ADD 000003c7: PUSH2 0x01fd 000003ca: JUMP 000003cb: JUMPDEST 000003cc: PUSH2 0x01f0 000003cf: PUSH1 0x40 000003d1: MLOAD 000003d2: DUP1 000003d3: PUSH1 0x40 000003d5: ADD 000003d6: PUSH1 0x40 000003d8: MSTORE 000003d9: DUP1 000003da: PUSH1 0x07 000003dc: DUP2 000003dd: MSTORE 000003de: PUSH1 0x20 000003e0: ADD 000003e1: PUSH7 0x0ac8aa4a68a5ab 000003e9: PUSH1 0xcb 000003eb: SHL 000003ec: DUP2 000003ed: MSTORE 000003ee: POP 000003ef: DUP2 000003f0: JUMP 000003f1: JUMPDEST 000003f2: PUSH2 0x024d 000003f5: PUSH2 0x03ff 000003f8: CALLDATASIZE 000003f9: PUSH1 0x04 000003fb: PUSH2 0x1d20 000003fe: JUMP 000003ff: JUMPDEST 00000400: PUSH2 0x11ab 00000403: JUMP 00000404: JUMPDEST 00000405: PUSH2 0x0291 00000408: PUSH2 0x03e8 0000040b: DUP2 0000040c: JUMP 0000040d: JUMPDEST 0000040e: PUSH1 0x04 00000410: SLOAD 00000411: PUSH2 0x0270 00000414: SWAP1 00000415: PUSH1 0x01 00000417: PUSH1 0x01 00000419: PUSH1 0xa0 0000041b: SHL 0000041c: SUB 0000041d: AND 0000041e: DUP2 0000041f: JUMP 00000420: JUMPDEST 00000421: PUSH1 0x06 00000423: SLOAD 00000424: PUSH2 0x0270 00000427: SWAP1 00000428: PUSH1 0x01 0000042a: PUSH1 0x01 0000042c: PUSH1 0xa0 0000042e: SHL 0000042f: SUB 00000430: AND 00000431: DUP2 00000432: JUMP 00000433: JUMPDEST 00000434: PUSH2 0x01c1 00000437: PUSH2 0x0441 0000043a: CALLDATASIZE 0000043b: PUSH1 0x04 0000043d: PUSH2 0x1de3 00000440: JUMP 00000441: JUMPDEST 00000442: PUSH2 0x11b8 00000445: JUMP 00000446: JUMPDEST 00000447: PUSH2 0x0291 0000044a: PUSH2 0x0454 0000044d: CALLDATASIZE 0000044e: PUSH1 0x04 00000450: PUSH2 0x1d8d 00000453: JUMP 00000454: JUMPDEST 00000455: PUSH1 0x02 00000457: PUSH1 0x20 00000459: SWAP1 0000045a: DUP2 0000045b: MSTORE 0000045c: PUSH1 0x00 0000045e: SWAP3 0000045f: DUP4 00000460: MSTORE 00000461: PUSH1 0x40 00000463: DUP1 00000464: DUP5 00000465: KECCAK256 00000466: SWAP1 00000467: SWAP2 00000468: MSTORE 00000469: SWAP1 0000046a: DUP3 0000046b: MSTORE 0000046c: SWAP1 0000046d: KECCAK256 0000046e: SLOAD 0000046f: DUP2 00000470: JUMP 00000471: JUMPDEST 00000472: PUSH2 0x01c1 00000475: PUSH2 0x1466 00000478: JUMP 00000479: JUMPDEST 0000047a: PUSH1 0x0b 0000047c: SLOAD 0000047d: PUSH1 0x01 0000047f: EQ 00000480: PUSH2 0x04a4 00000483: JUMPI 00000484: PUSH1 0x40 00000486: MLOAD 00000487: PUSH3 0x461bcd 0000048b: PUSH1 0xe5 0000048d: SHL 0000048e: DUP2 0000048f: MSTORE 00000490: PUSH1 0x04 00000492: ADD 00000493: PUSH2 0x049b 00000496: SWAP1 00000497: PUSH2 0x1e5a 0000049a: JUMP 0000049b: JUMPDEST 0000049c: PUSH1 0x40 0000049e: MLOAD 0000049f: DUP1 000004a0: SWAP2 000004a1: SUB 000004a2: SWAP1 000004a3: REVERT 000004a4: JUMPDEST 000004a5: PUSH1 0x00 000004a7: PUSH1 0x0b 000004a9: SSTORE 000004aa: DUP5 000004ab: ISZERO 000004ac: ISZERO 000004ad: DUP1 000004ae: PUSH2 0x04b7 000004b1: JUMPI 000004b2: POP 000004b3: PUSH1 0x00 000004b5: DUP5 000004b6: GT 000004b7: JUMPDEST 000004b8: PUSH2 0x0503 000004bb: JUMPI 000004bc: PUSH1 0x40 000004be: MLOAD 000004bf: PUSH3 0x461bcd 000004c3: PUSH1 0xe5 000004c5: SHL 000004c6: DUP2 000004c7: MSTORE 000004c8: PUSH1 0x20 000004ca: PUSH1 0x04 000004cc: DUP3 000004cd: ADD 000004ce: MSTORE 000004cf: PUSH1 0x1a 000004d1: PUSH1 0x24 000004d3: DUP3 000004d4: ADD 000004d5: MSTORE 000004d6: PUSH32 0x494e53554646494349454e545f4f55545055545f414d4f554e54000000000000 000004f7: PUSH1 0x44 000004f9: DUP3 000004fa: ADD 000004fb: MSTORE 000004fc: PUSH1 0x64 000004fe: ADD 000004ff: PUSH2 0x049b 00000502: JUMP 00000503: JUMPDEST 00000504: PUSH1 0x00 00000506: DUP1 00000507: PUSH2 0x050e 0000050a: PUSH2 0x08cc 0000050d: JUMP 0000050e: JUMPDEST 0000050f: POP 00000510: SWAP2 00000511: POP 00000512: SWAP2 00000513: POP 00000514: DUP2 00000515: PUSH1 0x01 00000517: PUSH1 0x01 00000519: PUSH1 0x70 0000051b: SHL 0000051c: SUB 0000051d: AND 0000051e: DUP8 0000051f: LT 00000520: DUP1 00000521: ISZERO 00000522: PUSH2 0x0533 00000525: JUMPI 00000526: POP 00000527: DUP1 00000528: PUSH1 0x01 0000052a: PUSH1 0x01 0000052c: PUSH1 0x70 0000052e: SHL 0000052f: SUB 00000530: AND 00000531: DUP7 00000532: LT 00000533: JUMPDEST 00000534: PUSH2 0x0578 00000537: JUMPI 00000538: PUSH1 0x40 0000053a: MLOAD 0000053b: PUSH3 0x461bcd 0000053f: PUSH1 0xe5 00000541: SHL 00000542: DUP2 00000543: MSTORE 00000544: PUSH1 0x20 00000546: PUSH1 0x04 00000548: DUP3 00000549: ADD 0000054a: MSTORE 0000054b: PUSH1 0x16 0000054d: PUSH1 0x24 0000054f: DUP3 00000550: ADD 00000551: MSTORE 00000552: PUSH22 0x494e53554646494349454e545f4c4951554944495459 00000569: PUSH1 0x50 0000056b: SHL 0000056c: PUSH1 0x44 0000056e: DUP3 0000056f: ADD 00000570: MSTORE 00000571: PUSH1 0x64 00000573: ADD 00000574: PUSH2 0x049b 00000577: JUMP 00000578: JUMPDEST 00000579: PUSH1 0x05 0000057b: SLOAD 0000057c: PUSH1 0x06 0000057e: SLOAD 0000057f: PUSH1 0x00 00000581: SWAP2 00000582: DUP3 00000583: SWAP2 00000584: PUSH1 0x01 00000586: PUSH1 0x01 00000588: PUSH1 0xa0 0000058a: SHL 0000058b: SUB 0000058c: SWAP2 0000058d: DUP3 0000058e: AND 0000058f: SWAP2 00000590: AND 00000591: DUP11 00000592: ISZERO 00000593: PUSH2 0x05a1 00000596: JUMPI 00000597: PUSH2 0x05a1 0000059a: DUP3 0000059b: DUP11 0000059c: DUP14 0000059d: PUSH2 0x158a 000005a0: JUMP 000005a1: JUMPDEST 000005a2: DUP10 000005a3: ISZERO 000005a4: PUSH2 0x05b2 000005a7: JUMPI 000005a8: PUSH2 0x05b2 000005ab: DUP2 000005ac: DUP11 000005ad: DUP13 000005ae: PUSH2 0x158a 000005b1: JUMP 000005b2: JUMPDEST 000005b3: DUP7 000005b4: ISZERO 000005b5: PUSH2 0x061f 000005b8: JUMPI 000005b9: PUSH1 0x40 000005bb: MLOAD 000005bc: PUSH4 0x84645f79 000005c1: PUSH1 0xe0 000005c3: SHL 000005c4: DUP2 000005c5: MSTORE 000005c6: PUSH1 0x01 000005c8: PUSH1 0x01 000005ca: PUSH1 0xa0 000005cc: SHL 000005cd: SUB 000005ce: DUP11 000005cf: AND 000005d0: SWAP1 000005d1: PUSH4 0x84645f79 000005d6: SWAP1 000005d7: PUSH2 0x05ec 000005da: SWAP1 000005db: CALLER 000005dc: SWAP1 000005dd: DUP16 000005de: SWAP1 000005df: DUP16 000005e0: SWAP1 000005e1: DUP15 000005e2: SWAP1 000005e3: DUP15 000005e4: SWAP1 000005e5: PUSH1 0x04 000005e7: ADD 000005e8: PUSH2 0x1e85 000005eb: JUMP 000005ec: JUMPDEST 000005ed: PUSH1 0x00 000005ef: PUSH1 0x40 000005f1: MLOAD 000005f2: DUP1 000005f3: DUP4 000005f4: SUB 000005f5: DUP2 000005f6: PUSH1 0x00 000005f8: DUP8 000005f9: DUP1 000005fa: EXTCODESIZE 000005fb: ISZERO 000005fc: DUP1 000005fd: ISZERO 000005fe: PUSH2 0x0606 00000601: JUMPI 00000602: PUSH1 0x00 00000604: DUP1 00000605: REVERT 00000606: JUMPDEST 00000607: POP 00000608: GAS 00000609: CALL 0000060a: ISZERO 0000060b: DUP1 0000060c: ISZERO 0000060d: PUSH2 0x061a 00000610: JUMPI 00000611: RETURNDATASIZE 00000612: PUSH1 0x00 00000614: DUP1 00000615: RETURNDATACOPY 00000616: RETURNDATASIZE 00000617: PUSH1 0x00 00000619: REVERT 0000061a: JUMPDEST 0000061b: POP 0000061c: POP 0000061d: POP 0000061e: POP 0000061f: JUMPDEST 00000620: PUSH1 0x40 00000622: MLOAD 00000623: PUSH4 0x70a08231 00000628: PUSH1 0xe0 0000062a: SHL 0000062b: DUP2 0000062c: MSTORE 0000062d: ADDRESS 0000062e: PUSH1 0x04 00000630: DUP3 00000631: ADD 00000632: MSTORE 00000633: PUSH1 0x01 00000635: PUSH1 0x01 00000637: PUSH1 0xa0 00000639: SHL 0000063a: SUB 0000063b: DUP4 0000063c: AND 0000063d: SWAP1 0000063e: PUSH4 0x70a08231 00000643: SWAP1 00000644: PUSH1 0x24 00000646: ADD 00000647: PUSH1 0x20 00000649: PUSH1 0x40 0000064b: MLOAD 0000064c: DUP1 0000064d: DUP4 0000064e: SUB 0000064f: DUP2 00000650: DUP7 00000651: GAS 00000652: STATICCALL 00000653: ISZERO 00000654: DUP1 00000655: ISZERO 00000656: PUSH2 0x0663 00000659: JUMPI 0000065a: RETURNDATASIZE 0000065b: PUSH1 0x00 0000065d: DUP1 0000065e: RETURNDATACOPY 0000065f: RETURNDATASIZE 00000660: PUSH1 0x00 00000662: REVERT 00000663: JUMPDEST 00000664: POP 00000665: POP 00000666: POP 00000667: POP 00000668: PUSH1 0x40 0000066a: MLOAD 0000066b: RETURNDATASIZE 0000066c: PUSH1 0x1f 0000066e: NOT 0000066f: PUSH1 0x1f 00000671: DUP3 00000672: ADD 00000673: AND 00000674: DUP3 00000675: ADD 00000676: DUP1 00000677: PUSH1 0x40 00000679: MSTORE 0000067a: POP 0000067b: DUP2 0000067c: ADD 0000067d: SWAP1 0000067e: PUSH2 0x0687 00000681: SWAP2 00000682: SWAP1 00000683: PUSH2 0x1ed1 00000686: JUMP 00000687: JUMPDEST 00000688: PUSH1 0x40 0000068a: MLOAD 0000068b: PUSH4 0x70a08231 00000690: PUSH1 0xe0 00000692: SHL 00000693: DUP2 00000694: MSTORE 00000695: ADDRESS 00000696: PUSH1 0x04 00000698: DUP3 00000699: ADD 0000069a: MSTORE 0000069b: SWAP1 0000069c: SWAP5 0000069d: POP 0000069e: PUSH1 0x01 000006a0: PUSH1 0x01 000006a2: PUSH1 0xa0 000006a4: SHL 000006a5: SUB 000006a6: DUP3 000006a7: AND 000006a8: SWAP1 000006a9: PUSH4 0x70a08231 000006ae: SWAP1 000006af: PUSH1 0x24 000006b1: ADD 000006b2: PUSH1 0x20 000006b4: PUSH1 0x40 000006b6: MLOAD 000006b7: DUP1 000006b8: DUP4 000006b9: SUB 000006ba: DUP2 000006bb: DUP7 000006bc: GAS 000006bd: STATICCALL 000006be: ISZERO 000006bf: DUP1 000006c0: ISZERO 000006c1: PUSH2 0x06ce 000006c4: JUMPI 000006c5: RETURNDATASIZE 000006c6: PUSH1 0x00 000006c8: DUP1 000006c9: RETURNDATACOPY 000006ca: RETURNDATASIZE 000006cb: PUSH1 0x00 000006cd: REVERT 000006ce: JUMPDEST 000006cf: POP 000006d0: POP 000006d1: POP 000006d2: POP 000006d3: PUSH1 0x40 000006d5: MLOAD 000006d6: RETURNDATASIZE 000006d7: PUSH1 0x1f 000006d9: NOT 000006da: PUSH1 0x1f 000006dc: DUP3 000006dd: ADD 000006de: AND 000006df: DUP3 000006e0: ADD 000006e1: DUP1 000006e2: PUSH1 0x40 000006e4: MSTORE 000006e5: POP 000006e6: DUP2 000006e7: ADD 000006e8: SWAP1 000006e9: PUSH2 0x06f2 000006ec: SWAP2 000006ed: SWAP1 000006ee: PUSH2 0x1ed1 000006f1: JUMP 000006f2: JUMPDEST 000006f3: SWAP3 000006f4: POP 000006f5: POP 000006f6: POP 000006f7: PUSH1 0x00 000006f9: DUP10 000006fa: DUP6 000006fb: PUSH1 0x01 000006fd: PUSH1 0x01 000006ff: PUSH1 0x70 00000701: SHL 00000702: SUB 00000703: AND 00000704: PUSH2 0x070d 00000707: SWAP2 00000708: SWAP1 00000709: PUSH2 0x1f00 0000070c: JUMP 0000070d: JUMPDEST 0000070e: DUP4 0000070f: GT 00000710: PUSH2 0x071a 00000713: JUMPI 00000714: PUSH1 0x00 00000716: PUSH2 0x0737 00000719: JUMP 0000071a: JUMPDEST 0000071b: PUSH2 0x072d 0000071e: DUP11 0000071f: PUSH1 0x01 00000721: PUSH1 0x01 00000723: PUSH1 0x70 00000725: SHL 00000726: SUB 00000727: DUP8 00000728: AND 00000729: PUSH2 0x1f00 0000072c: JUMP 0000072d: JUMPDEST 0000072e: PUSH2 0x0737 00000731: SWAP1 00000732: DUP5 00000733: PUSH2 0x1f00 00000736: JUMP 00000737: JUMPDEST 00000738: SWAP1 00000739: POP 0000073a: PUSH1 0x00 0000073c: PUSH2 0x074e 0000073f: DUP11 00000740: PUSH1 0x01 00000742: PUSH1 0x01 00000744: PUSH1 0x70 00000746: SHL 00000747: SUB 00000748: DUP8 00000749: AND 0000074a: PUSH2 0x1f00 0000074d: JUMP 0000074e: JUMPDEST 0000074f: DUP4 00000750: GT 00000751: PUSH2 0x075b 00000754: JUMPI 00000755: PUSH1 0x00 00000757: PUSH2 0x0778 0000075a: JUMP 0000075b: JUMPDEST 0000075c: PUSH2 0x076e 0000075f: DUP11 00000760: PUSH1 0x01 00000762: PUSH1 0x01 00000764: PUSH1 0x70 00000766: SHL 00000767: SUB 00000768: DUP8 00000769: AND 0000076a: PUSH2 0x1f00 0000076d: JUMP 0000076e: JUMPDEST 0000076f: PUSH2 0x0778 00000772: SWAP1 00000773: DUP5 00000774: PUSH2 0x1f00 00000777: JUMP 00000778: JUMPDEST 00000779: SWAP1 0000077a: POP 0000077b: PUSH1 0x00 0000077d: DUP3 0000077e: GT 0000077f: DUP1 00000780: PUSH2 0x0789 00000783: JUMPI 00000784: POP 00000785: PUSH1 0x00 00000787: DUP2 00000788: GT 00000789: JUMPDEST 0000078a: PUSH2 0x07d5 0000078d: JUMPI 0000078e: PUSH1 0x40 00000790: MLOAD 00000791: PUSH3 0x461bcd 00000795: PUSH1 0xe5 00000797: SHL 00000798: DUP2 00000799: MSTORE 0000079a: PUSH1 0x20 0000079c: PUSH1 0x04 0000079e: DUP3 0000079f: ADD 000007a0: MSTORE 000007a1: PUSH1 0x19 000007a3: PUSH1 0x24 000007a5: DUP3 000007a6: ADD 000007a7: MSTORE 000007a8: PUSH32 0x494e53554646494349454e545f494e5055545f414d4f554e5400000000000000 000007c9: PUSH1 0x44 000007cb: DUP3 000007cc: ADD 000007cd: MSTORE 000007ce: PUSH1 0x64 000007d0: ADD 000007d1: PUSH2 0x049b 000007d4: JUMP 000007d5: JUMPDEST 000007d6: PUSH1 0x00 000007d8: PUSH2 0x07e2 000007db: DUP4 000007dc: PUSH1 0x03 000007de: PUSH2 0x1f17 000007e1: JUMP 000007e2: JUMPDEST 000007e3: PUSH2 0x07ee 000007e6: DUP7 000007e7: PUSH2 0x03e8 000007ea: PUSH2 0x1f17 000007ed: JUMP 000007ee: JUMPDEST 000007ef: PUSH2 0x07f8 000007f2: SWAP2 000007f3: SWAP1 000007f4: PUSH2 0x1f00 000007f7: JUMP 000007f8: JUMPDEST 000007f9: SWAP1 000007fa: POP 000007fb: PUSH1 0x00 000007fd: PUSH2 0x0807 00000800: DUP4 00000801: PUSH1 0x03 00000803: PUSH2 0x1f17 00000806: JUMP 00000807: JUMPDEST 00000808: PUSH2 0x0813 0000080b: DUP7 0000080c: PUSH2 0x03e8 0000080f: PUSH2 0x1f17 00000812: JUMP 00000813: JUMPDEST 00000814: PUSH2 0x081d 00000817: SWAP2 00000818: SWAP1 00000819: PUSH2 0x1f00 0000081c: JUMP 0000081d: JUMPDEST 0000081e: SWAP1 0000081f: POP 00000820: PUSH2 0x0835 00000823: PUSH1 0x01 00000825: PUSH1 0x01 00000827: PUSH1 0x70 00000829: SHL 0000082a: SUB 0000082b: DUP1 0000082c: DUP10 0000082d: AND 0000082e: SWAP1 0000082f: DUP11 00000830: AND 00000831: PUSH2 0x1f17 00000834: JUMP 00000835: JUMPDEST 00000836: PUSH2 0x0842 00000839: SWAP1 0000083a: PUSH3 0x0f4240 0000083e: PUSH2 0x1f17 00000841: JUMP 00000842: JUMPDEST 00000843: PUSH2 0x084c 00000846: DUP3 00000847: DUP5 00000848: PUSH2 0x1f17 0000084b: JUMP 0000084c: JUMPDEST 0000084d: LT 0000084e: ISZERO 0000084f: PUSH2 0x0857 00000852: JUMPI 00000853: PUSH1 0x00 00000855: DUP1 00000856: REVERT 00000857: JUMPDEST 00000858: POP 00000859: POP 0000085a: PUSH2 0x0865 0000085d: DUP5 0000085e: DUP5 0000085f: DUP9 00000860: DUP9 00000861: PUSH2 0x16d5 00000864: JUMP 00000865: JUMPDEST 00000866: PUSH1 0x40 00000868: DUP1 00000869: MLOAD 0000086a: DUP4 0000086b: DUP2 0000086c: MSTORE 0000086d: PUSH1 0x20 0000086f: DUP2 00000870: ADD 00000871: DUP4 00000872: SWAP1 00000873: MSTORE 00000874: SWAP1 00000875: DUP2 00000876: ADD 00000877: DUP13 00000878: SWAP1 00000879: MSTORE 0000087a: PUSH1 0x60 0000087c: DUP2 0000087d: ADD 0000087e: DUP12 0000087f: SWAP1 00000880: MSTORE 00000881: PUSH1 0x01 00000883: PUSH1 0x01 00000885: PUSH1 0xa0 00000887: SHL 00000888: SUB 00000889: DUP11 0000088a: AND 0000088b: SWAP1 0000088c: CALLER 0000088d: SWAP1 0000088e: PUSH32 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822 000008af: SWAP1 000008b0: PUSH1 0x80 000008b2: ADD 000008b3: PUSH1 0x40 000008b5: MLOAD 000008b6: DUP1 000008b7: SWAP2 000008b8: SUB 000008b9: SWAP1 000008ba: LOG3 000008bb: POP 000008bc: POP 000008bd: PUSH1 0x01 000008bf: PUSH1 0x0b 000008c1: SSTORE 000008c2: POP 000008c3: POP 000008c4: POP 000008c5: POP 000008c6: POP 000008c7: POP 000008c8: POP 000008c9: POP 000008ca: POP 000008cb: JUMP 000008cc: JUMPDEST 000008cd: PUSH1 0x07 000008cf: SLOAD 000008d0: PUSH1 0x01 000008d2: PUSH1 0x01 000008d4: PUSH1 0x70 000008d6: SHL 000008d7: SUB 000008d8: DUP1 000008d9: DUP3 000008da: AND 000008db: SWAP3 000008dc: PUSH1 0x01 000008de: PUSH1 0x70 000008e0: SHL 000008e1: DUP4 000008e2: DIV 000008e3: SWAP1 000008e4: SWAP2 000008e5: AND 000008e6: SWAP2 000008e7: PUSH1 0x01 000008e9: PUSH1 0xe0 000008eb: SHL 000008ec: SWAP1 000008ed: DIV 000008ee: PUSH4 0xffffffff 000008f3: AND 000008f4: SWAP1 000008f5: JUMP 000008f6: JUMPDEST 000008f7: PUSH1 0x00 000008f9: PUSH2 0x0903 000008fc: CALLER 000008fd: DUP5 000008fe: DUP5 000008ff: PUSH2 0x1896 00000902: JUMP 00000903: JUMPDEST 00000904: POP 00000905: PUSH1 0x01 00000907: SWAP3 00000908: SWAP2 00000909: POP 0000090a: POP 0000090b: JUMP 0000090c: JUMPDEST 0000090d: PUSH1 0x0b 0000090f: SLOAD 00000910: PUSH1 0x01 00000912: EQ 00000913: PUSH2 0x092e 00000916: JUMPI 00000917: PUSH1 0x40 00000919: MLOAD 0000091a: PUSH3 0x461bcd 0000091e: PUSH1 0xe5 00000920: SHL 00000921: DUP2 00000922: MSTORE 00000923: PUSH1 0x04 00000925: ADD 00000926: PUSH2 0x049b 00000929: SWAP1 0000092a: PUSH2 0x1e5a 0000092d: JUMP 0000092e: JUMPDEST 0000092f: PUSH1 0x00 00000931: PUSH1 0x0b 00000933: DUP2 00000934: SWAP1 00000935: SSTORE 00000936: PUSH1 0x05 00000938: SLOAD 00000939: PUSH1 0x06 0000093b: SLOAD 0000093c: PUSH1 0x04 0000093e: DUP1 0000093f: SLOAD 00000940: PUSH1 0x40 00000942: DUP1 00000943: MLOAD 00000944: PUSH3 0x2fcfcb 00000948: PUSH1 0xe3 0000094a: SHL 0000094b: DUP2 0000094c: MSTORE 0000094d: SWAP1 0000094e: MLOAD 0000094f: PUSH1 0x01 00000951: PUSH1 0x01 00000953: PUSH1 0xa0 00000955: SHL 00000956: SUB 00000957: SWAP6 00000958: DUP7 00000959: AND 0000095a: SWAP7 0000095b: SWAP5 0000095c: DUP7 0000095d: AND 0000095e: SWAP6 0000095f: SWAP1 00000960: SWAP3 00000961: AND 00000962: SWAP3 00000963: PUSH4 0x017e7e58 00000968: SWAP3 00000969: DUP3 0000096a: DUP3 0000096b: ADD 0000096c: SWAP3 0000096d: PUSH1 0x20 0000096f: SWAP3 00000970: SWAP1 00000971: DUP3 00000972: SWAP1 00000973: SUB 00000974: ADD 00000975: DUP2 00000976: DUP7 00000977: GAS 00000978: STATICCALL 00000979: ISZERO 0000097a: DUP1 0000097b: ISZERO 0000097c: PUSH2 0x0989 0000097f: JUMPI 00000980: RETURNDATASIZE 00000981: PUSH1 0x00 00000983: DUP1 00000984: RETURNDATACOPY 00000985: RETURNDATASIZE 00000986: PUSH1 0x00 00000988: REVERT 00000989: JUMPDEST 0000098a: POP 0000098b: POP 0000098c: POP 0000098d: POP 0000098e: PUSH1 0x40 00000990: MLOAD 00000991: RETURNDATASIZE 00000992: PUSH1 0x1f 00000994: NOT 00000995: PUSH1 0x1f 00000997: DUP3 00000998: ADD 00000999: AND 0000099a: DUP3 0000099b: ADD 0000099c: DUP1 0000099d: PUSH1 0x40 0000099f: MSTORE 000009a0: POP 000009a1: DUP2 000009a2: ADD 000009a3: SWAP1 000009a4: PUSH2 0x09ad 000009a7: SWAP2 000009a8: SWAP1 000009a9: PUSH2 0x1f36 000009ac: JUMP 000009ad: JUMPDEST 000009ae: PUSH1 0x07 000009b0: SLOAD 000009b1: PUSH1 0x40 000009b3: MLOAD 000009b4: PUSH4 0x70a08231 000009b9: PUSH1 0xe0 000009bb: SHL 000009bc: DUP2 000009bd: MSTORE 000009be: ADDRESS 000009bf: PUSH1 0x04 000009c1: DUP3 000009c2: ADD 000009c3: MSTORE 000009c4: SWAP2 000009c5: SWAP3 000009c6: POP 000009c7: PUSH2 0x0a3f 000009ca: SWAP2 000009cb: DUP6 000009cc: SWAP2 000009cd: DUP5 000009ce: SWAP2 000009cf: PUSH1 0x01 000009d1: PUSH1 0x01 000009d3: PUSH1 0x70 000009d5: SHL 000009d6: SUB 000009d7: SWAP1 000009d8: SWAP2 000009d9: AND 000009da: SWAP1 000009db: PUSH1 0x01 000009dd: PUSH1 0x01 000009df: PUSH1 0xa0 000009e1: SHL 000009e2: SUB 000009e3: DUP5 000009e4: AND 000009e5: SWAP1 000009e6: PUSH4 0x70a08231 000009eb: SWAP1 000009ec: PUSH1 0x24 000009ee: ADD 000009ef: JUMPDEST 000009f0: PUSH1 0x20 000009f2: PUSH1 0x40 000009f4: MLOAD 000009f5: DUP1 000009f6: DUP4 000009f7: SUB 000009f8: DUP2 000009f9: DUP7 000009fa: GAS 000009fb: STATICCALL 000009fc: ISZERO 000009fd: DUP1 000009fe: ISZERO 000009ff: PUSH2 0x0a0c 00000a02: JUMPI 00000a03: RETURNDATASIZE 00000a04: PUSH1 0x00 00000a06: DUP1 00000a07: RETURNDATACOPY 00000a08: RETURNDATASIZE 00000a09: PUSH1 0x00 00000a0b: REVERT 00000a0c: JUMPDEST 00000a0d: POP 00000a0e: POP 00000a0f: POP 00000a10: POP 00000a11: PUSH1 0x40 00000a13: MLOAD 00000a14: RETURNDATASIZE 00000a15: PUSH1 0x1f 00000a17: NOT 00000a18: PUSH1 0x1f 00000a1a: DUP3 00000a1b: ADD 00000a1c: AND 00000a1d: DUP3 00000a1e: ADD 00000a1f: DUP1 00000a20: PUSH1 0x40 00000a22: MSTORE 00000a23: POP 00000a24: DUP2 00000a25: ADD 00000a26: SWAP1 00000a27: PUSH2 0x0a30 00000a2a: SWAP2 00000a2b: SWAP1 00000a2c: PUSH2 0x1ed1 00000a2f: JUMP 00000a30: JUMPDEST 00000a31: PUSH2 0x0a3a 00000a34: SWAP2 00000a35: SWAP1 00000a36: PUSH2 0x1f00 00000a39: JUMP 00000a3a: JUMPDEST 00000a3b: PUSH2 0x158a 00000a3e: JUMP 00000a3f: JUMPDEST 00000a40: PUSH1 0x07 00000a42: SLOAD 00000a43: PUSH1 0x40 00000a45: MLOAD 00000a46: PUSH4 0x70a08231 00000a4b: PUSH1 0xe0 00000a4d: SHL 00000a4e: DUP2 00000a4f: MSTORE 00000a50: ADDRESS 00000a51: PUSH1 0x04 00000a53: DUP3 00000a54: ADD 00000a55: MSTORE 00000a56: PUSH2 0x0a87 00000a59: SWAP2 00000a5a: DUP5 00000a5b: SWAP2 00000a5c: DUP5 00000a5d: SWAP2 00000a5e: PUSH1 0x01 00000a60: PUSH1 0x70 00000a62: SHL 00000a63: SWAP1 00000a64: DIV 00000a65: PUSH1 0x01 00000a67: PUSH1 0x01 00000a69: PUSH1 0x70 00000a6b: SHL 00000a6c: SUB 00000a6d: AND 00000a6e: SWAP1 00000a6f: PUSH1 0x01 00000a71: PUSH1 0x01 00000a73: PUSH1 0xa0 00000a75: SHL 00000a76: SUB 00000a77: DUP5 00000a78: AND 00000a79: SWAP1 00000a7a: PUSH4 0x70a08231 00000a7f: SWAP1 00000a80: PUSH1 0x24 00000a82: ADD 00000a83: PUSH2 0x09ef 00000a86: JUMP 00000a87: JUMPDEST 00000a88: POP 00000a89: POP 00000a8a: PUSH1 0x01 00000a8c: PUSH1 0x0b 00000a8e: SSTORE 00000a8f: POP 00000a90: JUMP 00000a91: JUMPDEST 00000a92: PUSH1 0x01 00000a94: PUSH1 0x01 00000a96: PUSH1 0xa0 00000a98: SHL 00000a99: SUB 00000a9a: DUP4 00000a9b: AND 00000a9c: PUSH1 0x00 00000a9e: SWAP1 00000a9f: DUP2 00000aa0: MSTORE 00000aa1: PUSH1 0x02 00000aa3: PUSH1 0x20 00000aa5: SWAP1 00000aa6: DUP2 00000aa7: MSTORE 00000aa8: PUSH1 0x40 00000aaa: DUP1 00000aab: DUP4 00000aac: KECCAK256 00000aad: CALLER 00000aae: DUP5 00000aaf: MSTORE 00000ab0: SWAP1 00000ab1: SWAP2 00000ab2: MSTORE 00000ab3: DUP2 00000ab4: KECCAK256 00000ab5: SLOAD 00000ab6: PUSH1 0x00 00000ab8: NOT 00000ab9: EQ 00000aba: PUSH2 0x0af6 00000abd: JUMPI 00000abe: PUSH1 0x01 00000ac0: PUSH1 0x01 00000ac2: PUSH1 0xa0 00000ac4: SHL 00000ac5: SUB 00000ac6: DUP5 00000ac7: AND 00000ac8: PUSH1 0x00 00000aca: SWAP1 00000acb: DUP2 00000acc: MSTORE 00000acd: PUSH1 0x02 00000acf: PUSH1 0x20 00000ad1: SWAP1 00000ad2: DUP2 00000ad3: MSTORE 00000ad4: PUSH1 0x40 00000ad6: DUP1 00000ad7: DUP4 00000ad8: KECCAK256 00000ad9: CALLER 00000ada: DUP5 00000adb: MSTORE 00000adc: SWAP1 00000add: SWAP2 00000ade: MSTORE 00000adf: DUP2 00000ae0: KECCAK256 00000ae1: DUP1 00000ae2: SLOAD 00000ae3: DUP5 00000ae4: SWAP3 00000ae5: SWAP1 00000ae6: PUSH2 0x0af0 00000ae9: SWAP1 00000aea: DUP5 00000aeb: SWAP1 00000aec: PUSH2 0x1f00 00000aef: JUMP 00000af0: JUMPDEST 00000af1: SWAP1 00000af2: SWAP2 00000af3: SSTORE 00000af4: POP 00000af5: POP 00000af6: JUMPDEST 00000af7: PUSH2 0x0b01 00000afa: DUP5 00000afb: DUP5 00000afc: DUP5 00000afd: PUSH2 0x18f8 00000b00: JUMP 00000b01: JUMPDEST 00000b02: POP 00000b03: PUSH1 0x01 00000b05: SWAP4 00000b06: SWAP3 00000b07: POP 00000b08: POP 00000b09: POP 00000b0a: JUMP 00000b0b: JUMPDEST 00000b0c: PUSH1 0x04 00000b0e: SLOAD 00000b0f: PUSH1 0x01 00000b11: PUSH1 0x01 00000b13: PUSH1 0xa0 00000b15: SHL 00000b16: SUB 00000b17: AND 00000b18: ISZERO 00000b19: PUSH2 0x0b64 00000b1c: JUMPI 00000b1d: PUSH1 0x40 00000b1f: MLOAD 00000b20: PUSH3 0x461bcd 00000b24: PUSH1 0xe5 00000b26: SHL 00000b27: DUP2 00000b28: MSTORE 00000b29: PUSH1 0x20 00000b2b: PUSH1 0x04 00000b2d: DUP3 00000b2e: ADD 00000b2f: MSTORE 00000b30: PUSH1 0x1e 00000b32: PUSH1 0x24 00000b34: DUP3 00000b35: ADD 00000b36: MSTORE 00000b37: PUSH32 0x5377617073506169723a20414c52454144595f494e495449414c495a45440000 00000b58: PUSH1 0x44 00000b5a: DUP3 00000b5b: ADD 00000b5c: MSTORE 00000b5d: PUSH1 0x64 00000b5f: ADD 00000b60: PUSH2 0x049b 00000b63: JUMP 00000b64: JUMPDEST 00000b65: PUSH1 0x05 00000b67: DUP1 00000b68: SLOAD 00000b69: PUSH1 0x01 00000b6b: PUSH1 0x01 00000b6d: PUSH1 0xa0 00000b6f: SHL 00000b70: SUB 00000b71: SWAP4 00000b72: DUP5 00000b73: AND 00000b74: PUSH1 0x01 00000b76: PUSH1 0x01 00000b78: PUSH1 0xa0 00000b7a: SHL 00000b7b: SUB 00000b7c: NOT 00000b7d: SWAP2 00000b7e: DUP3 00000b7f: AND 00000b80: OR 00000b81: SWAP1 00000b82: SWAP2 00000b83: SSTORE 00000b84: PUSH1 0x06 00000b86: DUP1 00000b87: SLOAD 00000b88: SWAP3 00000b89: SWAP1 00000b8a: SWAP4 00000b8b: AND 00000b8c: SWAP2 00000b8d: DUP2 00000b8e: AND 00000b8f: SWAP2 00000b90: SWAP1 00000b91: SWAP2 00000b92: OR 00000b93: SWAP1 00000b94: SWAP2 00000b95: SSTORE 00000b96: PUSH1 0x04 00000b98: DUP1 00000b99: SLOAD 00000b9a: SWAP1 00000b9b: SWAP2 00000b9c: AND 00000b9d: CALLER 00000b9e: OR 00000b9f: SWAP1 00000ba0: SSTORE 00000ba1: PUSH1 0x01 00000ba3: PUSH1 0x0b 00000ba5: SSTORE 00000ba6: JUMP 00000ba7: JUMPDEST 00000ba8: PUSH1 0x00 00000baa: PUSH1 0x0b 00000bac: SLOAD 00000bad: PUSH1 0x01 00000baf: EQ 00000bb0: PUSH2 0x0bcb 00000bb3: JUMPI 00000bb4: PUSH1 0x40 00000bb6: MLOAD 00000bb7: PUSH3 0x461bcd 00000bbb: PUSH1 0xe5 00000bbd: SHL 00000bbe: DUP2 00000bbf: MSTORE 00000bc0: PUSH1 0x04 00000bc2: ADD 00000bc3: PUSH2 0x049b 00000bc6: SWAP1 00000bc7: PUSH2 0x1e5a 00000bca: JUMP 00000bcb: JUMPDEST 00000bcc: PUSH1 0x00 00000bce: PUSH1 0x0b 00000bd0: DUP2 00000bd1: SWAP1 00000bd2: SSTORE 00000bd3: DUP1 00000bd4: PUSH2 0x0bdb 00000bd7: PUSH2 0x08cc 00000bda: JUMP 00000bdb: JUMPDEST 00000bdc: POP 00000bdd: PUSH1 0x05 00000bdf: SLOAD 00000be0: PUSH1 0x40 00000be2: MLOAD 00000be3: PUSH4 0x70a08231 00000be8: PUSH1 0xe0 00000bea: SHL 00000beb: DUP2 00000bec: MSTORE 00000bed: ADDRESS 00000bee: PUSH1 0x04 00000bf0: DUP3 00000bf1: ADD 00000bf2: MSTORE 00000bf3: SWAP3 00000bf4: SWAP5 00000bf5: POP 00000bf6: SWAP1 00000bf7: SWAP3 00000bf8: POP 00000bf9: PUSH1 0x00 00000bfb: SWAP2 00000bfc: PUSH1 0x01 00000bfe: PUSH1 0x01 00000c00: PUSH1 0xa0 00000c02: SHL 00000c03: SUB 00000c04: SWAP1 00000c05: SWAP2 00000c06: AND 00000c07: SWAP1 00000c08: PUSH4 0x70a08231 00000c0d: SWAP1 00000c0e: PUSH1 0x24 00000c10: ADD 00000c11: PUSH1 0x20 00000c13: PUSH1 0x40 00000c15: MLOAD 00000c16: DUP1 00000c17: DUP4 00000c18: SUB 00000c19: DUP2 00000c1a: DUP7 00000c1b: GAS 00000c1c: STATICCALL 00000c1d: ISZERO 00000c1e: DUP1 00000c1f: ISZERO 00000c20: PUSH2 0x0c2d 00000c23: JUMPI 00000c24: RETURNDATASIZE 00000c25: PUSH1 0x00 00000c27: DUP1 00000c28: RETURNDATACOPY 00000c29: RETURNDATASIZE 00000c2a: PUSH1 0x00 00000c2c: REVERT 00000c2d: JUMPDEST 00000c2e: POP 00000c2f: POP 00000c30: POP 00000c31: POP 00000c32: PUSH1 0x40 00000c34: MLOAD 00000c35: RETURNDATASIZE 00000c36: PUSH1 0x1f 00000c38: NOT 00000c39: PUSH1 0x1f 00000c3b: DUP3 00000c3c: ADD 00000c3d: AND 00000c3e: DUP3 00000c3f: ADD 00000c40: DUP1 00000c41: PUSH1 0x40 00000c43: MSTORE 00000c44: POP 00000c45: DUP2 00000c46: ADD 00000c47: SWAP1 00000c48: PUSH2 0x0c51 00000c4b: SWAP2 00000c4c: SWAP1 00000c4d: PUSH2 0x1ed1 00000c50: JUMP 00000c51: JUMPDEST 00000c52: PUSH1 0x06 00000c54: SLOAD 00000c55: PUSH1 0x40 00000c57: MLOAD 00000c58: PUSH4 0x70a08231 00000c5d: PUSH1 0xe0 00000c5f: SHL 00000c60: DUP2 00000c61: MSTORE 00000c62: ADDRESS 00000c63: PUSH1 0x04 00000c65: DUP3 00000c66: ADD 00000c67: MSTORE 00000c68: SWAP2 00000c69: SWAP3 00000c6a: POP 00000c6b: PUSH1 0x00 00000c6d: SWAP2 00000c6e: PUSH1 0x01 00000c70: PUSH1 0x01 00000c72: PUSH1 0xa0 00000c74: SHL 00000c75: SUB 00000c76: SWAP1 00000c77: SWAP2 00000c78: AND 00000c79: SWAP1 00000c7a: PUSH4 0x70a08231 00000c7f: SWAP1 00000c80: PUSH1 0x24 00000c82: ADD 00000c83: PUSH1 0x20 00000c85: PUSH1 0x40 00000c87: MLOAD 00000c88: DUP1 00000c89: DUP4 00000c8a: SUB 00000c8b: DUP2 00000c8c: DUP7 00000c8d: GAS 00000c8e: STATICCALL 00000c8f: ISZERO 00000c90: DUP1 00000c91: ISZERO 00000c92: PUSH2 0x0c9f 00000c95: JUMPI 00000c96: RETURNDATASIZE 00000c97: PUSH1 0x00 00000c99: DUP1 00000c9a: RETURNDATACOPY 00000c9b: RETURNDATASIZE 00000c9c: PUSH1 0x00 00000c9e: REVERT 00000c9f: JUMPDEST 00000ca0: POP 00000ca1: POP 00000ca2: POP 00000ca3: POP 00000ca4: PUSH1 0x40 00000ca6: MLOAD 00000ca7: RETURNDATASIZE 00000ca8: PUSH1 0x1f 00000caa: NOT 00000cab: PUSH1 0x1f 00000cad: DUP3 00000cae: ADD 00000caf: AND 00000cb0: DUP3 00000cb1: ADD 00000cb2: DUP1 00000cb3: PUSH1 0x40 00000cb5: MSTORE 00000cb6: POP 00000cb7: DUP2 00000cb8: ADD 00000cb9: SWAP1 00000cba: PUSH2 0x0cc3 00000cbd: SWAP2 00000cbe: SWAP1 00000cbf: PUSH2 0x1ed1 00000cc2: JUMP 00000cc3: JUMPDEST 00000cc4: SWAP1 00000cc5: POP 00000cc6: PUSH1 0x00 00000cc8: PUSH2 0x0cda 00000ccb: PUSH1 0x01 00000ccd: PUSH1 0x01 00000ccf: PUSH1 0x70 00000cd1: SHL 00000cd2: SUB 00000cd3: DUP7 00000cd4: AND 00000cd5: DUP5 00000cd6: PUSH2 0x1f00 00000cd9: JUMP 00000cda: JUMPDEST 00000cdb: SWAP1 00000cdc: POP 00000cdd: PUSH1 0x00 00000cdf: PUSH2 0x0cf1 00000ce2: PUSH1 0x01 00000ce4: PUSH1 0x01 00000ce6: PUSH1 0x70 00000ce8: SHL 00000ce9: SUB 00000cea: DUP7 00000ceb: AND 00000cec: DUP5 00000ced: PUSH2 0x1f00 00000cf0: JUMP 00000cf1: JUMPDEST 00000cf2: SWAP1 00000cf3: POP 00000cf4: PUSH2 0x0d00 00000cf7: DUP7 00000cf8: DUP7 00000cf9: PUSH1 0x0a 00000cfb: SLOAD 00000cfc: PUSH2 0x197b 00000cff: JUMP 00000d00: JUMPDEST 00000d01: PUSH1 0x00 00000d03: DUP1 00000d04: SLOAD 00000d05: SWAP1 00000d06: DUP2 00000d07: SWAP1 00000d08: SUB 00000d09: PUSH2 0x0d3f 00000d0c: JUMPI 00000d0d: PUSH2 0x03e8 00000d10: PUSH2 0x0d21 00000d13: PUSH2 0x0d1c 00000d16: DUP5 00000d17: DUP7 00000d18: PUSH2 0x1f17 00000d1b: JUMP 00000d1c: JUMPDEST 00000d1d: PUSH2 0x1a8d 00000d20: JUMP 00000d21: JUMPDEST 00000d22: PUSH2 0x0d2b 00000d25: SWAP2 00000d26: SWAP1 00000d27: PUSH2 0x1f00 00000d2a: JUMP 00000d2b: JUMPDEST 00000d2c: SWAP8 00000d2d: POP 00000d2e: PUSH2 0x0d3a 00000d31: PUSH1 0x00 00000d33: PUSH2 0x03e8 00000d36: PUSH2 0x1aeb 00000d39: JUMP 00000d3a: JUMPDEST 00000d3b: PUSH2 0x0d86 00000d3e: JUMP 00000d3f: JUMPDEST 00000d40: PUSH2 0x0d83 00000d43: PUSH1 0x01 00000d45: PUSH1 0x01 00000d47: PUSH1 0x70 00000d49: SHL 00000d4a: SUB 00000d4b: DUP9 00000d4c: AND 00000d4d: PUSH2 0x0d56 00000d50: DUP4 00000d51: DUP7 00000d52: PUSH2 0x1f17 00000d55: JUMP 00000d56: JUMPDEST 00000d57: PUSH2 0x0d60 00000d5a: SWAP2 00000d5b: SWAP1 00000d5c: PUSH2 0x1f69 00000d5f: JUMP 00000d60: JUMPDEST 00000d61: PUSH1 0x01 00000d63: PUSH1 0x01 00000d65: PUSH1 0x70 00000d67: SHL 00000d68: SUB 00000d69: DUP9 00000d6a: AND 00000d6b: PUSH2 0x0d74 00000d6e: DUP5 00000d6f: DUP7 00000d70: PUSH2 0x1f17 00000d73: JUMP 00000d74: JUMPDEST 00000d75: PUSH2 0x0d7e 00000d78: SWAP2 00000d79: SWAP1 00000d7a: PUSH2 0x1f69 00000d7d: JUMP 00000d7e: JUMPDEST 00000d7f: PUSH2 0x1b54 00000d82: JUMP 00000d83: JUMPDEST 00000d84: SWAP8 00000d85: POP 00000d86: JUMPDEST 00000d87: PUSH1 0x00 00000d89: DUP9 00000d8a: GT 00000d8b: PUSH2 0x0dd6 00000d8e: JUMPI 00000d8f: PUSH1 0x40 00000d91: MLOAD 00000d92: PUSH3 0x461bcd 00000d96: PUSH1 0xe5 00000d98: SHL 00000d99: DUP2 00000d9a: MSTORE 00000d9b: PUSH1 0x20 00000d9d: PUSH1 0x04 00000d9f: DUP3 00000da0: ADD 00000da1: MSTORE 00000da2: PUSH1 0x1d 00000da4: PUSH1 0x24 00000da6: DUP3 00000da7: ADD 00000da8: MSTORE 00000da9: PUSH32 0x494e53554646494349454e545f4c49515549444954595f4d494e544544000000 00000dca: PUSH1 0x44 00000dcc: DUP3 00000dcd: ADD 00000dce: MSTORE 00000dcf: PUSH1 0x64 00000dd1: ADD 00000dd2: PUSH2 0x049b 00000dd5: JUMP 00000dd6: JUMPDEST 00000dd7: PUSH2 0x0de0 00000dda: DUP10 00000ddb: DUP10 00000ddc: PUSH2 0x1aeb 00000ddf: JUMP 00000de0: JUMPDEST 00000de1: PUSH2 0x0dec 00000de4: DUP6 00000de5: DUP6 00000de6: DUP10 00000de7: DUP10 00000de8: PUSH2 0x16d5 00000deb: JUMP 00000dec: JUMPDEST 00000ded: PUSH1 0x07 00000def: SLOAD 00000df0: PUSH2 0x0e0b 00000df3: SWAP1 00000df4: PUSH1 0x01 00000df6: PUSH1 0x01 00000df8: PUSH1 0x70 00000dfa: SHL 00000dfb: SUB 00000dfc: PUSH1 0x01 00000dfe: PUSH1 0x70 00000e00: SHL 00000e01: DUP3 00000e02: DIV 00000e03: DUP2 00000e04: AND 00000e05: SWAP2 00000e06: AND 00000e07: PUSH2 0x1f17 00000e0a: JUMP 00000e0b: JUMPDEST 00000e0c: PUSH1 0x0a 00000e0e: SSTORE 00000e0f: PUSH1 0x40 00000e11: DUP1 00000e12: MLOAD 00000e13: DUP5 00000e14: DUP2 00000e15: MSTORE 00000e16: PUSH1 0x20 00000e18: DUP2 00000e19: ADD 00000e1a: DUP5 00000e1b: SWAP1 00000e1c: MSTORE 00000e1d: CALLER 00000e1e: SWAP2 00000e1f: PUSH32 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f 00000e40: SWAP2 00000e41: ADD 00000e42: PUSH1 0x40 00000e44: MLOAD 00000e45: DUP1 00000e46: SWAP2 00000e47: SUB 00000e48: SWAP1 00000e49: LOG2 00000e4a: POP 00000e4b: POP 00000e4c: PUSH1 0x01 00000e4e: PUSH1 0x0b 00000e50: SSTORE 00000e51: POP 00000e52: SWAP4 00000e53: SWAP6 00000e54: SWAP5 00000e55: POP 00000e56: POP 00000e57: POP 00000e58: POP 00000e59: POP 00000e5a: JUMP 00000e5b: JUMPDEST 00000e5c: PUSH1 0x00 00000e5e: DUP1 00000e5f: PUSH1 0x0b 00000e61: SLOAD 00000e62: PUSH1 0x01 00000e64: EQ 00000e65: PUSH2 0x0e80 00000e68: JUMPI 00000e69: PUSH1 0x40 00000e6b: MLOAD 00000e6c: PUSH3 0x461bcd 00000e70: PUSH1 0xe5 00000e72: SHL 00000e73: DUP2 00000e74: MSTORE 00000e75: PUSH1 0x04 00000e77: ADD 00000e78: PUSH2 0x049b 00000e7b: SWAP1 00000e7c: PUSH2 0x1e5a 00000e7f: JUMP 00000e80: JUMPDEST 00000e81: PUSH1 0x00 00000e83: PUSH1 0x0b 00000e85: DUP2 00000e86: SWAP1 00000e87: SSTORE 00000e88: DUP1 00000e89: PUSH2 0x0e90 00000e8c: PUSH2 0x08cc 00000e8f: JUMP 00000e90: JUMPDEST 00000e91: POP 00000e92: PUSH1 0x05 00000e94: SLOAD 00000e95: PUSH1 0x06 00000e97: SLOAD 00000e98: PUSH1 0x40 00000e9a: MLOAD 00000e9b: PUSH4 0x70a08231 00000ea0: PUSH1 0xe0 00000ea2: SHL 00000ea3: DUP2 00000ea4: MSTORE 00000ea5: ADDRESS 00000ea6: PUSH1 0x04 00000ea8: DUP3 00000ea9: ADD 00000eaa: MSTORE 00000eab: SWAP4 00000eac: SWAP6 00000ead: POP 00000eae: SWAP2 00000eaf: SWAP4 00000eb0: POP 00000eb1: PUSH1 0x01 00000eb3: PUSH1 0x01 00000eb5: PUSH1 0xa0 00000eb7: SHL 00000eb8: SUB 00000eb9: SWAP1 00000eba: DUP2 00000ebb: AND 00000ebc: SWAP3 00000ebd: SWAP2 00000ebe: AND 00000ebf: SWAP1 00000ec0: PUSH1 0x00 00000ec2: SWAP1 00000ec3: DUP4 00000ec4: SWAP1 00000ec5: PUSH4 0x70a08231 00000eca: SWAP1 00000ecb: PUSH1 0x24 00000ecd: ADD 00000ece: PUSH1 0x20 00000ed0: PUSH1 0x40 00000ed2: MLOAD 00000ed3: DUP1 00000ed4: DUP4 00000ed5: SUB 00000ed6: DUP2 00000ed7: DUP7 00000ed8: GAS 00000ed9: STATICCALL 00000eda: ISZERO 00000edb: DUP1 00000edc: ISZERO 00000edd: PUSH2 0x0eea 00000ee0: JUMPI 00000ee1: RETURNDATASIZE 00000ee2: PUSH1 0x00 00000ee4: DUP1 00000ee5: RETURNDATACOPY 00000ee6: RETURNDATASIZE 00000ee7: PUSH1 0x00 00000ee9: REVERT 00000eea: JUMPDEST 00000eeb: POP 00000eec: POP 00000eed: POP 00000eee: POP 00000eef: PUSH1 0x40 00000ef1: MLOAD 00000ef2: RETURNDATASIZE 00000ef3: PUSH1 0x1f 00000ef5: NOT 00000ef6: PUSH1 0x1f 00000ef8: DUP3 00000ef9: ADD 00000efa: AND 00000efb: DUP3 00000efc: ADD 00000efd: DUP1 00000efe: PUSH1 0x40 00000f00: MSTORE 00000f01: POP 00000f02: DUP2 00000f03: ADD 00000f04: SWAP1 00000f05: PUSH2 0x0f0e 00000f08: SWAP2 00000f09: SWAP1 00000f0a: PUSH2 0x1ed1 00000f0d: JUMP 00000f0e: JUMPDEST 00000f0f: PUSH1 0x40 00000f11: MLOAD 00000f12: PUSH4 0x70a08231 00000f17: PUSH1 0xe0 00000f19: SHL 00000f1a: DUP2 00000f1b: MSTORE 00000f1c: ADDRESS 00000f1d: PUSH1 0x04 00000f1f: DUP3 00000f20: ADD 00000f21: MSTORE 00000f22: SWAP1 00000f23: SWAP2 00000f24: POP 00000f25: PUSH1 0x00 00000f27: SWAP1 00000f28: PUSH1 0x01 00000f2a: PUSH1 0x01 00000f2c: PUSH1 0xa0 00000f2e: SHL 00000f2f: SUB 00000f30: DUP5 00000f31: AND 00000f32: SWAP1 00000f33: PUSH4 0x70a08231 00000f38: SWAP1 00000f39: PUSH1 0x24 00000f3b: ADD 00000f3c: PUSH1 0x20 00000f3e: PUSH1 0x40 00000f40: MLOAD 00000f41: DUP1 00000f42: DUP4 00000f43: SUB 00000f44: DUP2 00000f45: DUP7 00000f46: GAS 00000f47: STATICCALL 00000f48: ISZERO 00000f49: DUP1 00000f4a: ISZERO 00000f4b: PUSH2 0x0f58 00000f4e: JUMPI 00000f4f: RETURNDATASIZE 00000f50: PUSH1 0x00 00000f52: DUP1 00000f53: RETURNDATACOPY 00000f54: RETURNDATASIZE 00000f55: PUSH1 0x00 00000f57: REVERT 00000f58: JUMPDEST 00000f59: POP 00000f5a: POP 00000f5b: POP 00000f5c: POP 00000f5d: PUSH1 0x40 00000f5f: MLOAD 00000f60: RETURNDATASIZE 00000f61: PUSH1 0x1f 00000f63: NOT 00000f64: PUSH1 0x1f 00000f66: DUP3 00000f67: ADD 00000f68: AND 00000f69: DUP3 00000f6a: ADD 00000f6b: DUP1 00000f6c: PUSH1 0x40 00000f6e: MSTORE 00000f6f: POP 00000f70: DUP2 00000f71: ADD 00000f72: SWAP1 00000f73: PUSH2 0x0f7c 00000f76: SWAP2 00000f77: SWAP1 00000f78: PUSH2 0x1ed1 00000f7b: JUMP 00000f7c: JUMPDEST 00000f7d: ADDRESS 00000f7e: PUSH1 0x00 00000f80: SWAP1 00000f81: DUP2 00000f82: MSTORE 00000f83: PUSH1 0x01 00000f85: PUSH1 0x20 00000f87: MSTORE 00000f88: PUSH1 0x40 00000f8a: SWAP1 00000f8b: KECCAK256 00000f8c: SLOAD 00000f8d: PUSH1 0x0a 00000f8f: SLOAD 00000f90: SWAP2 00000f91: SWAP3 00000f92: POP 00000f93: SWAP1 00000f94: PUSH2 0x0fa0 00000f97: SWAP1 00000f98: DUP9 00000f99: SWAP1 00000f9a: DUP9 00000f9b: SWAP1 00000f9c: PUSH2 0x197b 00000f9f: JUMP 00000fa0: JUMPDEST 00000fa1: PUSH1 0x00 00000fa3: SLOAD 00000fa4: DUP1 00000fa5: PUSH2 0x0fae 00000fa8: DUP6 00000fa9: DUP5 00000faa: PUSH2 0x1f17 00000fad: JUMP 00000fae: JUMPDEST 00000faf: PUSH2 0x0fb8 00000fb2: SWAP2 00000fb3: SWAP1 00000fb4: PUSH2 0x1f69 00000fb7: JUMP 00000fb8: JUMPDEST 00000fb9: SWAP10 00000fba: POP 00000fbb: DUP1 00000fbc: PUSH2 0x0fc5 00000fbf: DUP5 00000fc0: DUP5 00000fc1: PUSH2 0x1f17 00000fc4: JUMP 00000fc5: JUMPDEST 00000fc6: PUSH2 0x0fcf 00000fc9: SWAP2 00000fca: SWAP1 00000fcb: PUSH2 0x1f69 00000fce: JUMP 00000fcf: JUMPDEST 00000fd0: SWAP9 00000fd1: POP 00000fd2: PUSH1 0x00 00000fd4: DUP11 00000fd5: GT 00000fd6: DUP1 00000fd7: ISZERO 00000fd8: PUSH2 0x0fe1 00000fdb: JUMPI 00000fdc: POP 00000fdd: PUSH1 0x00 00000fdf: DUP10 00000fe0: GT 00000fe1: JUMPDEST 00000fe2: PUSH2 0x102d 00000fe5: JUMPI 00000fe6: PUSH1 0x40 00000fe8: MLOAD 00000fe9: PUSH3 0x461bcd 00000fed: PUSH1 0xe5 00000fef: SHL 00000ff0: DUP2 00000ff1: MSTORE 00000ff2: PUSH1 0x20 00000ff4: PUSH1 0x04 00000ff6: DUP3 00000ff7: ADD 00000ff8: MSTORE 00000ff9: PUSH1 0x1d 00000ffb: PUSH1 0x24 00000ffd: DUP3 00000ffe: ADD 00000fff: MSTORE 00001000: PUSH32 0x494e53554646494349454e545f4c49515549444954595f4255524e4544000000 00001021: PUSH1 0x44 00001023: DUP3 00001024: ADD 00001025: MSTORE 00001026: PUSH1 0x64 00001028: ADD 00001029: PUSH2 0x049b 0000102c: JUMP 0000102d: JUMPDEST 0000102e: PUSH2 0x1037 00001031: ADDRESS 00001032: DUP4 00001033: PUSH2 0x1b6c 00001036: JUMP 00001037: JUMPDEST 00001038: PUSH2 0x1042 0000103b: DUP7 0000103c: DUP13 0000103d: DUP13 0000103e: PUSH2 0x158a 00001041: JUMP 00001042: JUMPDEST 00001043: PUSH2 0x104d 00001046: DUP6 00001047: DUP13 00001048: DUP12 00001049: PUSH2 0x158a 0000104c: JUMP 0000104d: JUMPDEST 0000104e: PUSH1 0x40 00001050: MLOAD 00001051: PUSH4 0x70a08231 00001056: PUSH1 0xe0 00001058: SHL 00001059: DUP2 0000105a: MSTORE 0000105b: ADDRESS 0000105c: PUSH1 0x04 0000105e: DUP3 0000105f: ADD 00001060: MSTORE 00001061: PUSH1 0x01 00001063: PUSH1 0x01 00001065: PUSH1 0xa0 00001067: SHL 00001068: SUB 00001069: DUP8 0000106a: AND 0000106b: SWAP1 0000106c: PUSH4 0x70a08231 00001071: SWAP1 00001072: PUSH1 0x24 00001074: ADD 00001075: PUSH1 0x20 00001077: PUSH1 0x40 00001079: MLOAD 0000107a: DUP1 0000107b: DUP4 0000107c: SUB 0000107d: DUP2 0000107e: DUP7 0000107f: GAS 00001080: STATICCALL 00001081: ISZERO 00001082: DUP1 00001083: ISZERO 00001084: PUSH2 0x1091 00001087: JUMPI 00001088: RETURNDATASIZE 00001089: PUSH1 0x00 0000108b: DUP1 0000108c: RETURNDATACOPY 0000108d: RETURNDATASIZE 0000108e: PUSH1 0x00 00001090: REVERT 00001091: JUMPDEST 00001092: POP 00001093: POP 00001094: POP 00001095: POP 00001096: PUSH1 0x40 00001098: MLOAD 00001099: RETURNDATASIZE 0000109a: PUSH1 0x1f 0000109c: NOT 0000109d: PUSH1 0x1f 0000109f: DUP3 000010a0: ADD 000010a1: AND 000010a2: DUP3 000010a3: ADD 000010a4: DUP1 000010a5: PUSH1 0x40 000010a7: MSTORE 000010a8: POP 000010a9: DUP2 000010aa: ADD 000010ab: SWAP1 000010ac: PUSH2 0x10b5 000010af: SWAP2 000010b0: SWAP1 000010b1: PUSH2 0x1ed1 000010b4: JUMP 000010b5: JUMPDEST 000010b6: PUSH1 0x40 000010b8: MLOAD 000010b9: PUSH4 0x70a08231 000010be: PUSH1 0xe0 000010c0: SHL 000010c1: DUP2 000010c2: MSTORE 000010c3: ADDRESS 000010c4: PUSH1 0x04 000010c6: DUP3 000010c7: ADD 000010c8: MSTORE 000010c9: SWAP1 000010ca: SWAP5 000010cb: POP 000010cc: PUSH1 0x01 000010ce: PUSH1 0x01 000010d0: PUSH1 0xa0 000010d2: SHL 000010d3: SUB 000010d4: DUP7 000010d5: AND 000010d6: SWAP1 000010d7: PUSH4 0x70a08231 000010dc: SWAP1 000010dd: PUSH1 0x24 000010df: ADD 000010e0: PUSH1 0x20 000010e2: PUSH1 0x40 000010e4: MLOAD 000010e5: DUP1 000010e6: DUP4 000010e7: SUB 000010e8: DUP2 000010e9: DUP7 000010ea: GAS 000010eb: STATICCALL 000010ec: ISZERO 000010ed: DUP1 000010ee: ISZERO 000010ef: PUSH2 0x10fc 000010f2: JUMPI 000010f3: RETURNDATASIZE 000010f4: PUSH1 0x00 000010f6: DUP1 000010f7: RETURNDATACOPY 000010f8: RETURNDATASIZE 000010f9: PUSH1 0x00 000010fb: REVERT 000010fc: JUMPDEST 000010fd: POP 000010fe: POP 000010ff: POP 00001100: POP 00001101: PUSH1 0x40 00001103: MLOAD 00001104: RETURNDATASIZE 00001105: PUSH1 0x1f 00001107: NOT 00001108: PUSH1 0x1f 0000110a: DUP3 0000110b: ADD 0000110c: AND 0000110d: DUP3 0000110e: ADD 0000110f: DUP1 00001110: PUSH1 0x40 00001112: MSTORE 00001113: POP 00001114: DUP2 00001115: ADD 00001116: SWAP1 00001117: PUSH2 0x1120 0000111a: SWAP2 0000111b: SWAP1 0000111c: PUSH2 0x1ed1 0000111f: JUMP 00001120: JUMPDEST 00001121: SWAP3 00001122: POP 00001123: PUSH2 0x112e 00001126: DUP5 00001127: DUP5 00001128: DUP11 00001129: DUP11 0000112a: PUSH2 0x16d5 0000112d: JUMP 0000112e: JUMPDEST 0000112f: PUSH1 0x07 00001131: SLOAD 00001132: PUSH2 0x114d 00001135: SWAP1 00001136: PUSH1 0x01 00001138: PUSH1 0x01 0000113a: PUSH1 0x70 0000113c: SHL 0000113d: SUB 0000113e: PUSH1 0x01 00001140: PUSH1 0x70 00001142: SHL 00001143: DUP3 00001144: DIV 00001145: DUP2 00001146: AND 00001147: SWAP2 00001148: AND 00001149: PUSH2 0x1f17 0000114c: JUMP 0000114d: JUMPDEST 0000114e: PUSH1 0x0a 00001150: SSTORE 00001151: PUSH1 0x40 00001153: DUP1 00001154: MLOAD 00001155: DUP12 00001156: DUP2 00001157: MSTORE 00001158: PUSH1 0x20 0000115a: DUP2 0000115b: ADD 0000115c: DUP12 0000115d: SWAP1 0000115e: MSTORE 0000115f: PUSH1 0x01 00001161: PUSH1 0x01 00001163: PUSH1 0xa0 00001165: SHL 00001166: SUB 00001167: DUP14 00001168: AND 00001169: SWAP2 0000116a: CALLER 0000116b: SWAP2 0000116c: PUSH32 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496 0000118d: SWAP2 0000118e: ADD 0000118f: PUSH1 0x40 00001191: MLOAD 00001192: DUP1 00001193: SWAP2 00001194: SUB 00001195: SWAP1 00001196: LOG3 00001197: POP 00001198: POP 00001199: POP 0000119a: POP 0000119b: POP 0000119c: POP 0000119d: POP 0000119e: POP 0000119f: PUSH1 0x01 000011a1: PUSH1 0x0b 000011a3: DUP2 000011a4: SWAP1 000011a5: SSTORE 000011a6: POP 000011a7: SWAP2 000011a8: POP 000011a9: SWAP2 000011aa: JUMP 000011ab: JUMPDEST 000011ac: PUSH1 0x00 000011ae: PUSH2 0x0903 000011b1: CALLER 000011b2: DUP5 000011b3: DUP5 000011b4: PUSH2 0x18f8 000011b7: JUMP 000011b8: JUMPDEST 000011b9: TIMESTAMP 000011ba: DUP5 000011bb: LT 000011bc: ISZERO 000011bd: PUSH2 0x1208 000011c0: JUMPI 000011c1: PUSH1 0x40 000011c3: MLOAD 000011c4: PUSH3 0x461bcd 000011c8: PUSH1 0xe5 000011ca: SHL 000011cb: DUP2 000011cc: MSTORE 000011cd: PUSH1 0x20 000011cf: PUSH1 0x04 000011d1: DUP3 000011d2: ADD 000011d3: MSTORE 000011d4: PUSH1 0x1f 000011d6: PUSH1 0x24 000011d8: DUP3 000011d9: ADD 000011da: MSTORE 000011db: PUSH32 0x537761707345524332303a205045524d49545f43414c4c5f4558504952454400 000011fc: PUSH1 0x44 000011fe: DUP3 000011ff: ADD 00001200: MSTORE 00001201: PUSH1 0x64 00001203: ADD 00001204: PUSH2 0x049b 00001207: JUMP 00001208: JUMPDEST 00001209: PUSH1 0x01 0000120b: PUSH1 0x01 0000120d: PUSH1 0xa0 0000120f: SHL 00001210: SUB 00001211: DUP8 00001212: AND 00001213: PUSH1 0x00 00001215: SWAP1 00001216: DUP2 00001217: MSTORE 00001218: PUSH1 0x03 0000121a: PUSH1 0x20 0000121c: MSTORE 0000121d: PUSH1 0x40 0000121f: DUP2 00001220: KECCAK256 00001221: DUP1 00001222: SLOAD 00001223: PUSH32 0x8d38bff3de880885f7638027341cf8dbbdbf33f05204f0f79849a330f262a9e0 00001244: SWAP2 00001245: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 00001266: SWAP2 00001267: DUP12 00001268: SWAP2 00001269: DUP12 0000126a: SWAP2 0000126b: DUP12 0000126c: SWAP2 0000126d: DUP8 0000126e: PUSH2 0x1276 00001271: DUP4 00001272: PUSH2 0x1f7d 00001275: JUMP 00001276: JUMPDEST 00001277: SWAP1 00001278: SWAP2 00001279: SSTORE 0000127a: POP 0000127b: PUSH1 0x40 0000127d: DUP1 0000127e: MLOAD 0000127f: PUSH1 0x20 00001281: DUP2 00001282: ADD 00001283: SWAP7 00001284: SWAP1 00001285: SWAP7 00001286: MSTORE 00001287: PUSH1 0x01 00001289: PUSH1 0x01 0000128b: PUSH1 0xa0 0000128d: SHL 0000128e: SUB 0000128f: SWAP5 00001290: DUP6 00001291: AND 00001292: SWAP1 00001293: DUP7 00001294: ADD 00001295: MSTORE 00001296: SWAP3 00001297: SWAP1 00001298: SWAP2 00001299: AND 0000129a: PUSH1 0x60 0000129c: DUP5 0000129d: ADD 0000129e: MSTORE 0000129f: PUSH1 0x80 000012a1: DUP4 000012a2: ADD 000012a3: MSTORE 000012a4: PUSH1 0xa0 000012a6: DUP3 000012a7: ADD 000012a8: MSTORE 000012a9: PUSH1 0xc0 000012ab: DUP2 000012ac: ADD 000012ad: DUP8 000012ae: SWAP1 000012af: MSTORE 000012b0: PUSH1 0xe0 000012b2: ADD 000012b3: PUSH1 0x40 000012b5: MLOAD 000012b6: PUSH1 0x20 000012b8: DUP2 000012b9: DUP4 000012ba: SUB 000012bb: SUB 000012bc: DUP2 000012bd: MSTORE 000012be: SWAP1 000012bf: PUSH1 0x40 000012c1: MSTORE 000012c2: DUP1 000012c3: MLOAD 000012c4: SWAP1 000012c5: PUSH1 0x20 000012c7: ADD 000012c8: KECCAK256 000012c9: PUSH1 0x40 000012cb: MLOAD 000012cc: PUSH1 0x20 000012ce: ADD 000012cf: PUSH2 0x12ef 000012d2: SWAP3 000012d3: SWAP2 000012d4: SWAP1 000012d5: PUSH2 0x1901 000012d8: PUSH1 0xf0 000012da: SHL 000012db: DUP2 000012dc: MSTORE 000012dd: PUSH1 0x02 000012df: DUP2 000012e0: ADD 000012e1: SWAP3 000012e2: SWAP1 000012e3: SWAP3 000012e4: MSTORE 000012e5: PUSH1 0x22 000012e7: DUP3 000012e8: ADD 000012e9: MSTORE 000012ea: PUSH1 0x42 000012ec: ADD 000012ed: SWAP1 000012ee: JUMP 000012ef: JUMPDEST 000012f0: PUSH1 0x40 000012f2: MLOAD 000012f3: PUSH1 0x20 000012f5: DUP2 000012f6: DUP4 000012f7: SUB 000012f8: SUB 000012f9: DUP2 000012fa: MSTORE 000012fb: SWAP1 000012fc: PUSH1 0x40 000012fe: MSTORE 000012ff: DUP1 00001300: MLOAD 00001301: SWAP1 00001302: PUSH1 0x20 00001304: ADD 00001305: KECCAK256 00001306: SWAP1 00001307: POP 00001308: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 00001329: DUP3 0000132a: PUSH1 0x00 0000132c: SHR 0000132d: GT 0000132e: ISZERO 0000132f: PUSH2 0x137a 00001332: JUMPI 00001333: PUSH1 0x40 00001335: MLOAD 00001336: PUSH3 0x461bcd 0000133a: PUSH1 0xe5 0000133c: SHL 0000133d: DUP2 0000133e: MSTORE 0000133f: PUSH1 0x20 00001341: PUSH1 0x04 00001343: DUP3 00001344: ADD 00001345: MSTORE 00001346: PUSH1 0x1d 00001348: PUSH1 0x24 0000134a: DUP3 0000134b: ADD 0000134c: MSTORE 0000134d: PUSH32 0x537761707345524332303a20494e56414c49445f5349474e4154555245000000 0000136e: PUSH1 0x44 00001370: DUP3 00001371: ADD 00001372: MSTORE 00001373: PUSH1 0x64 00001375: ADD 00001376: PUSH2 0x049b 00001379: JUMP 0000137a: JUMPDEST 0000137b: PUSH1 0x40 0000137d: DUP1 0000137e: MLOAD 0000137f: PUSH1 0x00 00001381: DUP1 00001382: DUP3 00001383: MSTORE 00001384: PUSH1 0x20 00001386: DUP3 00001387: ADD 00001388: DUP1 00001389: DUP5 0000138a: MSTORE 0000138b: DUP5 0000138c: SWAP1 0000138d: MSTORE 0000138e: PUSH1 0xff 00001390: DUP8 00001391: AND 00001392: SWAP3 00001393: DUP3 00001394: ADD 00001395: SWAP3 00001396: SWAP1 00001397: SWAP3 00001398: MSTORE 00001399: PUSH1 0x60 0000139b: DUP2 0000139c: ADD 0000139d: DUP6 0000139e: SWAP1 0000139f: MSTORE 000013a0: PUSH1 0x80 000013a2: DUP2 000013a3: ADD 000013a4: DUP5 000013a5: SWAP1 000013a6: MSTORE 000013a7: PUSH1 0x01 000013a9: SWAP1 000013aa: PUSH1 0xa0 000013ac: ADD 000013ad: PUSH1 0x20 000013af: PUSH1 0x40 000013b1: MLOAD 000013b2: PUSH1 0x20 000013b4: DUP2 000013b5: SUB 000013b6: SWAP1 000013b7: DUP1 000013b8: DUP5 000013b9: SUB 000013ba: SWAP1 000013bb: DUP6 000013bc: GAS 000013bd: STATICCALL 000013be: ISZERO 000013bf: DUP1 000013c0: ISZERO 000013c1: PUSH2 0x13ce 000013c4: JUMPI 000013c5: RETURNDATASIZE 000013c6: PUSH1 0x00 000013c8: DUP1 000013c9: RETURNDATACOPY 000013ca: RETURNDATASIZE 000013cb: PUSH1 0x00 000013cd: REVERT 000013ce: JUMPDEST 000013cf: POP 000013d0: POP 000013d1: PUSH1 0x40 000013d3: MLOAD 000013d4: PUSH1 0x1f 000013d6: NOT 000013d7: ADD 000013d8: MLOAD 000013d9: SWAP2 000013da: POP 000013db: POP 000013dc: PUSH1 0x01 000013de: PUSH1 0x01 000013e0: PUSH1 0xa0 000013e2: SHL 000013e3: SUB 000013e4: DUP2 000013e5: AND 000013e6: ISZERO 000013e7: DUP1 000013e8: ISZERO 000013e9: SWAP1 000013ea: PUSH2 0x1404 000013ed: JUMPI 000013ee: POP 000013ef: DUP9 000013f0: PUSH1 0x01 000013f2: PUSH1 0x01 000013f4: PUSH1 0xa0 000013f6: SHL 000013f7: SUB 000013f8: AND 000013f9: DUP2 000013fa: PUSH1 0x01 000013fc: PUSH1 0x01 000013fe: PUSH1 0xa0 00001400: SHL 00001401: SUB 00001402: AND 00001403: EQ 00001404: JUMPDEST 00001405: PUSH2 0x1450 00001408: JUMPI 00001409: PUSH1 0x40 0000140b: MLOAD 0000140c: PUSH3 0x461bcd 00001410: PUSH1 0xe5 00001412: SHL 00001413: DUP2 00001414: MSTORE 00001415: PUSH1 0x20 00001417: PUSH1 0x04 00001419: DUP3 0000141a: ADD 0000141b: MSTORE 0000141c: PUSH1 0x1d 0000141e: PUSH1 0x24 00001420: DUP3 00001421: ADD 00001422: MSTORE 00001423: PUSH32 0x537761707345524332303a20494e56414c49445f5349474e4154555245000000 00001444: PUSH1 0x44 00001446: DUP3 00001447: ADD 00001448: MSTORE 00001449: PUSH1 0x64 0000144b: ADD 0000144c: PUSH2 0x049b 0000144f: JUMP 00001450: JUMPDEST 00001451: PUSH2 0x145b 00001454: DUP10 00001455: DUP10 00001456: DUP10 00001457: PUSH2 0x1896 0000145a: JUMP 0000145b: JUMPDEST 0000145c: POP 0000145d: POP 0000145e: POP 0000145f: POP 00001460: POP 00001461: POP 00001462: POP 00001463: POP 00001464: POP 00001465: JUMP 00001466: JUMPDEST 00001467: PUSH1 0x0b 00001469: SLOAD 0000146a: PUSH1 0x01 0000146c: EQ 0000146d: PUSH2 0x1488 00001470: JUMPI 00001471: PUSH1 0x40 00001473: MLOAD 00001474: PUSH3 0x461bcd 00001478: PUSH1 0xe5 0000147a: SHL 0000147b: DUP2 0000147c: MSTORE 0000147d: PUSH1 0x04 0000147f: ADD 00001480: PUSH2 0x049b 00001483: SWAP1 00001484: PUSH2 0x1e5a 00001487: JUMP 00001488: JUMPDEST 00001489: PUSH1 0x00 0000148b: PUSH1 0x0b 0000148d: SSTORE 0000148e: PUSH1 0x05 00001490: SLOAD 00001491: PUSH1 0x40 00001493: MLOAD 00001494: PUSH4 0x70a08231 00001499: PUSH1 0xe0 0000149b: SHL 0000149c: DUP2 0000149d: MSTORE 0000149e: ADDRESS 0000149f: PUSH1 0x04 000014a1: DUP3 000014a2: ADD 000014a3: MSTORE 000014a4: PUSH2 0x1583 000014a7: SWAP2 000014a8: PUSH1 0x01 000014aa: PUSH1 0x01 000014ac: PUSH1 0xa0 000014ae: SHL 000014af: SUB 000014b0: AND 000014b1: SWAP1 000014b2: PUSH4 0x70a08231 000014b7: SWAP1 000014b8: PUSH1 0x24 000014ba: ADD 000014bb: PUSH1 0x20 000014bd: PUSH1 0x40 000014bf: MLOAD 000014c0: DUP1 000014c1: DUP4 000014c2: SUB 000014c3: DUP2 000014c4: DUP7 000014c5: GAS 000014c6: STATICCALL 000014c7: ISZERO 000014c8: DUP1 000014c9: ISZERO 000014ca: PUSH2 0x14d7 000014cd: JUMPI 000014ce: RETURNDATASIZE 000014cf: PUSH1 0x00 000014d1: DUP1 000014d2: RETURNDATACOPY 000014d3: RETURNDATASIZE 000014d4: PUSH1 0x00 000014d6: REVERT 000014d7: JUMPDEST 000014d8: POP 000014d9: POP 000014da: POP 000014db: POP 000014dc: PUSH1 0x40 000014de: MLOAD 000014df: RETURNDATASIZE 000014e0: PUSH1 0x1f 000014e2: NOT 000014e3: PUSH1 0x1f 000014e5: DUP3 000014e6: ADD 000014e7: AND 000014e8: DUP3 000014e9: ADD 000014ea: DUP1 000014eb: PUSH1 0x40 000014ed: MSTORE 000014ee: POP 000014ef: DUP2 000014f0: ADD 000014f1: SWAP1 000014f2: PUSH2 0x14fb 000014f5: SWAP2 000014f6: SWAP1 000014f7: PUSH2 0x1ed1 000014fa: JUMP 000014fb: JUMPDEST 000014fc: PUSH1 0x06 000014fe: SLOAD 000014ff: PUSH1 0x40 00001501: MLOAD 00001502: PUSH4 0x70a08231 00001507: PUSH1 0xe0 00001509: SHL 0000150a: DUP2 0000150b: MSTORE 0000150c: ADDRESS 0000150d: PUSH1 0x04 0000150f: DUP3 00001510: ADD 00001511: MSTORE 00001512: PUSH1 0x01 00001514: PUSH1 0x01 00001516: PUSH1 0xa0 00001518: SHL 00001519: SUB 0000151a: SWAP1 0000151b: SWAP2 0000151c: AND 0000151d: SWAP1 0000151e: PUSH4 0x70a08231 00001523: SWAP1 00001524: PUSH1 0x24 00001526: ADD 00001527: PUSH1 0x20 00001529: PUSH1 0x40 0000152b: MLOAD 0000152c: DUP1 0000152d: DUP4 0000152e: SUB 0000152f: DUP2 00001530: DUP7 00001531: GAS 00001532: STATICCALL 00001533: ISZERO 00001534: DUP1 00001535: ISZERO 00001536: PUSH2 0x1543 00001539: JUMPI 0000153a: RETURNDATASIZE 0000153b: PUSH1 0x00 0000153d: DUP1 0000153e: RETURNDATACOPY 0000153f: RETURNDATASIZE 00001540: PUSH1 0x00 00001542: REVERT 00001543: JUMPDEST 00001544: POP 00001545: POP 00001546: POP 00001547: POP 00001548: PUSH1 0x40 0000154a: MLOAD 0000154b: RETURNDATASIZE 0000154c: PUSH1 0x1f 0000154e: NOT 0000154f: PUSH1 0x1f 00001551: DUP3 00001552: ADD 00001553: AND 00001554: DUP3 00001555: ADD 00001556: DUP1 00001557: PUSH1 0x40 00001559: MSTORE 0000155a: POP 0000155b: DUP2 0000155c: ADD 0000155d: SWAP1 0000155e: PUSH2 0x1567 00001561: SWAP2 00001562: SWAP1 00001563: PUSH2 0x1ed1 00001566: JUMP 00001567: JUMPDEST 00001568: PUSH1 0x07 0000156a: SLOAD 0000156b: PUSH1 0x01 0000156d: PUSH1 0x01 0000156f: PUSH1 0x70 00001571: SHL 00001572: SUB 00001573: DUP1 00001574: DUP3 00001575: AND 00001576: SWAP2 00001577: PUSH1 0x01 00001579: PUSH1 0x70 0000157b: SHL 0000157c: SWAP1 0000157d: DIV 0000157e: AND 0000157f: PUSH2 0x16d5 00001582: JUMP 00001583: JUMPDEST 00001584: PUSH1 0x01 00001586: PUSH1 0x0b 00001588: SSTORE 00001589: JUMP 0000158a: JUMPDEST 0000158b: PUSH1 0x40 0000158d: DUP1 0000158e: MLOAD 0000158f: DUP1 00001590: DUP3 00001591: ADD 00001592: DUP3 00001593: MSTORE 00001594: PUSH1 0x19 00001596: DUP2 00001597: MSTORE 00001598: PUSH32 0x7472616e7366657228616464726573732c75696e743235362900000000000000 000015b9: PUSH1 0x20 000015bb: SWAP2 000015bc: DUP3 000015bd: ADD 000015be: MSTORE 000015bf: DUP2 000015c0: MLOAD 000015c1: PUSH1 0x01 000015c3: PUSH1 0x01 000015c5: PUSH1 0xa0 000015c7: SHL 000015c8: SUB 000015c9: DUP6 000015ca: DUP2 000015cb: AND 000015cc: PUSH1 0x24 000015ce: DUP4 000015cf: ADD 000015d0: MSTORE 000015d1: PUSH1 0x44 000015d3: DUP1 000015d4: DUP4 000015d5: ADD 000015d6: DUP7 000015d7: SWAP1 000015d8: MSTORE 000015d9: DUP5 000015da: MLOAD 000015db: DUP1 000015dc: DUP5 000015dd: SUB 000015de: SWAP1 000015df: SWAP2 000015e0: ADD 000015e1: DUP2 000015e2: MSTORE 000015e3: PUSH1 0x64 000015e5: SWAP1 000015e6: SWAP3 000015e7: ADD 000015e8: DUP5 000015e9: MSTORE 000015ea: SWAP2 000015eb: DUP2 000015ec: ADD 000015ed: DUP1 000015ee: MLOAD 000015ef: PUSH1 0x01 000015f1: PUSH1 0x01 000015f3: PUSH1 0xe0 000015f5: SHL 000015f6: SUB 000015f7: AND 000015f8: PUSH4 0xa9059cbb 000015fd: PUSH1 0xe0 000015ff: SHL 00001600: OR 00001601: SWAP1 00001602: MSTORE 00001603: SWAP2 00001604: MLOAD 00001605: PUSH1 0x00 00001607: SWAP3 00001608: DUP4 00001609: SWAP3 0000160a: DUP8 0000160b: AND 0000160c: SWAP2 0000160d: PUSH2 0x1616 00001610: SWAP2 00001611: SWAP1 00001612: PUSH2 0x1f96 00001615: JUMP 00001616: JUMPDEST 00001617: PUSH1 0x00 00001619: PUSH1 0x40 0000161b: MLOAD 0000161c: DUP1 0000161d: DUP4 0000161e: SUB 0000161f: DUP2 00001620: PUSH1 0x00 00001622: DUP7 00001623: GAS 00001624: CALL 00001625: SWAP2 00001626: POP 00001627: POP 00001628: RETURNDATASIZE 00001629: DUP1 0000162a: PUSH1 0x00 0000162c: DUP2 0000162d: EQ 0000162e: PUSH2 0x1653 00001631: JUMPI 00001632: PUSH1 0x40 00001634: MLOAD 00001635: SWAP2 00001636: POP 00001637: PUSH1 0x1f 00001639: NOT 0000163a: PUSH1 0x3f 0000163c: RETURNDATASIZE 0000163d: ADD 0000163e: AND 0000163f: DUP3 00001640: ADD 00001641: PUSH1 0x40 00001643: MSTORE 00001644: RETURNDATASIZE 00001645: DUP3 00001646: MSTORE 00001647: RETURNDATASIZE 00001648: PUSH1 0x00 0000164a: PUSH1 0x20 0000164c: DUP5 0000164d: ADD 0000164e: RETURNDATACOPY 0000164f: PUSH2 0x1658 00001652: JUMP 00001653: JUMPDEST 00001654: PUSH1 0x60 00001656: SWAP2 00001657: POP 00001658: JUMPDEST 00001659: POP 0000165a: SWAP2 0000165b: POP 0000165c: SWAP2 0000165d: POP 0000165e: DUP2 0000165f: DUP1 00001660: ISZERO 00001661: PUSH2 0x1682 00001664: JUMPI 00001665: POP 00001666: DUP1 00001667: MLOAD 00001668: ISZERO 00001669: DUP1 0000166a: PUSH2 0x1682 0000166d: JUMPI 0000166e: POP 0000166f: DUP1 00001670: DUP1 00001671: PUSH1 0x20 00001673: ADD 00001674: SWAP1 00001675: MLOAD 00001676: DUP2 00001677: ADD 00001678: SWAP1 00001679: PUSH2 0x1682 0000167c: SWAP2 0000167d: SWAP1 0000167e: PUSH2 0x1fb2 00001681: JUMP 00001682: JUMPDEST 00001683: PUSH2 0x16ce 00001686: JUMPI 00001687: PUSH1 0x40 00001689: MLOAD 0000168a: PUSH3 0x461bcd 0000168e: PUSH1 0xe5 00001690: SHL 00001691: DUP2 00001692: MSTORE 00001693: PUSH1 0x20 00001695: PUSH1 0x04 00001697: DUP3 00001698: ADD 00001699: MSTORE 0000169a: PUSH1 0x1a 0000169c: PUSH1 0x24 0000169e: DUP3 0000169f: ADD 000016a0: MSTORE 000016a1: PUSH32 0x5377617073506169723a205452414e534645525f4641494c4544000000000000 000016c2: PUSH1 0x44 000016c4: DUP3 000016c5: ADD 000016c6: MSTORE 000016c7: PUSH1 0x64 000016c9: ADD 000016ca: PUSH2 0x049b 000016cd: JUMP 000016ce: JUMPDEST 000016cf: POP 000016d0: POP 000016d1: POP 000016d2: POP 000016d3: POP 000016d4: JUMP 000016d5: JUMPDEST 000016d6: PUSH1 0x01 000016d8: PUSH1 0x01 000016da: PUSH1 0x70 000016dc: SHL 000016dd: SUB 000016de: DUP5 000016df: GT 000016e0: DUP1 000016e1: ISZERO 000016e2: SWAP1 000016e3: PUSH2 0x16f3 000016e6: JUMPI 000016e7: POP 000016e8: PUSH1 0x01 000016ea: PUSH1 0x01 000016ec: PUSH1 0x70 000016ee: SHL 000016ef: SUB 000016f0: DUP4 000016f1: GT 000016f2: ISZERO 000016f3: JUMPDEST 000016f4: PUSH2 0x1735 000016f7: JUMPI 000016f8: PUSH1 0x40 000016fa: MLOAD 000016fb: PUSH3 0x461bcd 000016ff: PUSH1 0xe5 00001701: SHL 00001702: DUP2 00001703: MSTORE 00001704: PUSH1 0x20 00001706: PUSH1 0x04 00001708: DUP3 00001709: ADD 0000170a: MSTORE 0000170b: PUSH1 0x13 0000170d: PUSH1 0x24 0000170f: DUP3 00001710: ADD 00001711: MSTORE 00001712: PUSH19 0x5377617073506169723a204f564552464c4f57 00001726: PUSH1 0x68 00001728: SHL 00001729: PUSH1 0x44 0000172b: DUP3 0000172c: ADD 0000172d: MSTORE 0000172e: PUSH1 0x64 00001730: ADD 00001731: PUSH2 0x049b 00001734: JUMP 00001735: JUMPDEST 00001736: PUSH1 0x00 00001738: PUSH2 0x1746 0000173b: PUSH5 0x0100000000 00001741: TIMESTAMP 00001742: PUSH2 0x1fd4 00001745: JUMP 00001746: JUMPDEST 00001747: PUSH1 0x07 00001749: SLOAD 0000174a: SWAP1 0000174b: SWAP2 0000174c: POP 0000174d: PUSH4 0xffffffff 00001752: PUSH1 0x01 00001754: PUSH1 0xe0 00001756: SHL 00001757: SWAP1 00001758: SWAP2 00001759: DIV 0000175a: DUP2 0000175b: AND 0000175c: DUP3 0000175d: SUB 0000175e: SWAP1 0000175f: DUP2 00001760: AND 00001761: ISZERO 00001762: DUP1 00001763: ISZERO 00001764: SWAP1 00001765: PUSH2 0x1776 00001768: JUMPI 00001769: POP 0000176a: PUSH1 0x01 0000176c: PUSH1 0x01 0000176e: PUSH1 0x70 00001770: SHL 00001771: SUB 00001772: DUP5 00001773: AND 00001774: ISZERO 00001775: ISZERO 00001776: JUMPDEST 00001777: DUP1 00001778: ISZERO 00001779: PUSH2 0x178a 0000177c: JUMPI 0000177d: POP 0000177e: PUSH1 0x01 00001780: PUSH1 0x01 00001782: PUSH1 0x70 00001784: SHL 00001785: SUB 00001786: DUP4 00001787: AND 00001788: ISZERO 00001789: ISZERO 0000178a: JUMPDEST 0000178b: ISZERO 0000178c: PUSH2 0x17fe 0000178f: JUMPI 00001790: PUSH4 0xffffffff 00001795: DUP2 00001796: AND 00001797: PUSH2 0x17af 0000179a: PUSH1 0x01 0000179c: PUSH1 0x70 0000179e: SHL 0000179f: PUSH1 0x01 000017a1: PUSH1 0x01 000017a3: PUSH1 0x70 000017a5: SHL 000017a6: SUB 000017a7: DUP7 000017a8: AND 000017a9: MUL 000017aa: DUP7 000017ab: PUSH2 0x1be4 000017ae: JUMP 000017af: JUMPDEST 000017b0: PUSH1 0x08 000017b2: DUP1 000017b3: SLOAD 000017b4: PUSH1 0x01 000017b6: PUSH1 0x01 000017b8: PUSH1 0xe0 000017ba: SHL 000017bb: SUB 000017bc: SWAP3 000017bd: SWAP1 000017be: SWAP3 000017bf: AND 000017c0: SWAP3 000017c1: SWAP1 000017c2: SWAP3 000017c3: MUL 000017c4: ADD 000017c5: SWAP1 000017c6: SSTORE 000017c7: PUSH4 0xffffffff 000017cc: DUP2 000017cd: AND 000017ce: PUSH2 0x17e6 000017d1: PUSH1 0x01 000017d3: PUSH1 0x70 000017d5: SHL 000017d6: PUSH1 0x01 000017d8: PUSH1 0x01 000017da: PUSH1 0x70 000017dc: SHL 000017dd: SUB 000017de: DUP8 000017df: AND 000017e0: MUL 000017e1: DUP6 000017e2: PUSH2 0x1be4 000017e5: JUMP 000017e6: JUMPDEST 000017e7: PUSH1 0x09 000017e9: DUP1 000017ea: SLOAD 000017eb: PUSH1 0x01 000017ed: PUSH1 0x01 000017ef: PUSH1 0xe0 000017f1: SHL 000017f2: SUB 000017f3: SWAP3 000017f4: SWAP1 000017f5: SWAP3 000017f6: AND 000017f7: SWAP3 000017f8: SWAP1 000017f9: SWAP3 000017fa: MUL 000017fb: ADD 000017fc: SWAP1 000017fd: SSTORE 000017fe: JUMPDEST 000017ff: POP 00001800: PUSH1 0x07 00001802: DUP1 00001803: SLOAD 00001804: PUSH4 0xffffffff 00001809: DUP4 0000180a: AND 0000180b: PUSH1 0x01 0000180d: PUSH1 0xe0 0000180f: SHL 00001810: MUL 00001811: PUSH1 0x01 00001813: PUSH1 0x01 00001815: PUSH1 0xe0 00001817: SHL 00001818: SUB 00001819: PUSH1 0x01 0000181b: PUSH1 0x01 0000181d: PUSH1 0x70 0000181f: SHL 00001820: SUB 00001821: DUP9 00001822: DUP2 00001823: AND 00001824: PUSH1 0x01 00001826: PUSH1 0x70 00001828: SHL 00001829: SWAP1 0000182a: DUP2 0000182b: MUL 0000182c: PUSH1 0x01 0000182e: PUSH1 0x01 00001830: PUSH1 0xe0 00001832: SHL 00001833: SUB 00001834: NOT 00001835: SWAP1 00001836: SWAP6 00001837: AND 00001838: DUP12 00001839: DUP4 0000183a: AND 0000183b: OR 0000183c: SWAP5 0000183d: SWAP1 0000183e: SWAP5 0000183f: OR 00001840: SWAP2 00001841: DUP3 00001842: AND 00001843: DUP4 00001844: OR 00001845: SWAP5 00001846: DUP6 00001847: SWAP1 00001848: SSTORE 00001849: PUSH1 0x40 0000184b: DUP1 0000184c: MLOAD 0000184d: SWAP4 0000184e: DUP3 0000184f: AND 00001850: SWAP3 00001851: DUP3 00001852: AND 00001853: SWAP3 00001854: SWAP1 00001855: SWAP3 00001856: OR 00001857: DUP4 00001858: MSTORE 00001859: SWAP3 0000185a: SWAP1 0000185b: SWAP4 0000185c: DIV 0000185d: SWAP1 0000185e: SWAP2 0000185f: AND 00001860: PUSH1 0x20 00001862: DUP3 00001863: ADD 00001864: MSTORE 00001865: PUSH32 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1 00001886: SWAP2 00001887: ADD 00001888: PUSH1 0x40 0000188a: MLOAD 0000188b: DUP1 0000188c: SWAP2 0000188d: SUB 0000188e: SWAP1 0000188f: LOG1 00001890: POP 00001891: POP 00001892: POP 00001893: POP 00001894: POP 00001895: JUMP 00001896: JUMPDEST 00001897: PUSH1 0x01 00001899: PUSH1 0x01 0000189b: PUSH1 0xa0 0000189d: SHL 0000189e: SUB 0000189f: DUP4 000018a0: DUP2 000018a1: AND 000018a2: PUSH1 0x00 000018a4: DUP2 000018a5: DUP2 000018a6: MSTORE 000018a7: PUSH1 0x02 000018a9: PUSH1 0x20 000018ab: SWAP1 000018ac: DUP2 000018ad: MSTORE 000018ae: PUSH1 0x40 000018b0: DUP1 000018b1: DUP4 000018b2: KECCAK256 000018b3: SWAP5 000018b4: DUP8 000018b5: AND 000018b6: DUP1 000018b7: DUP5 000018b8: MSTORE 000018b9: SWAP5 000018ba: DUP3 000018bb: MSTORE 000018bc: SWAP2 000018bd: DUP3 000018be: SWAP1 000018bf: KECCAK256 000018c0: DUP6 000018c1: SWAP1 000018c2: SSTORE 000018c3: SWAP1 000018c4: MLOAD 000018c5: DUP5 000018c6: DUP2 000018c7: MSTORE 000018c8: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000018e9: SWAP2 000018ea: ADD 000018eb: JUMPDEST 000018ec: PUSH1 0x40 000018ee: MLOAD 000018ef: DUP1 000018f0: SWAP2 000018f1: SUB 000018f2: SWAP1 000018f3: LOG3 000018f4: POP 000018f5: POP 000018f6: POP 000018f7: JUMP 000018f8: JUMPDEST 000018f9: PUSH1 0x01 000018fb: PUSH1 0x01 000018fd: PUSH1 0xa0 000018ff: SHL 00001900: SUB 00001901: DUP4 00001902: AND 00001903: PUSH1 0x00 00001905: SWAP1 00001906: DUP2 00001907: MSTORE 00001908: PUSH1 0x01 0000190a: PUSH1 0x20 0000190c: MSTORE 0000190d: PUSH1 0x40 0000190f: SWAP1 00001910: KECCAK256 00001911: SLOAD 00001912: PUSH2 0x191c 00001915: SWAP1 00001916: DUP3 00001917: SWAP1 00001918: PUSH2 0x1f00 0000191b: JUMP 0000191c: JUMPDEST 0000191d: PUSH1 0x01 0000191f: PUSH1 0x01 00001921: PUSH1 0xa0 00001923: SHL 00001924: SUB 00001925: DUP5 00001926: DUP2 00001927: AND 00001928: PUSH1 0x00 0000192a: DUP2 0000192b: DUP2 0000192c: MSTORE 0000192d: PUSH1 0x01 0000192f: PUSH1 0x20 00001931: SWAP1 00001932: DUP2 00001933: MSTORE 00001934: PUSH1 0x40 00001936: DUP1 00001937: DUP4 00001938: KECCAK256 00001939: SWAP6 0000193a: SWAP1 0000193b: SWAP6 0000193c: SSTORE 0000193d: SWAP3 0000193e: DUP7 0000193f: AND 00001940: DUP1 00001941: DUP3 00001942: MSTORE 00001943: SWAP1 00001944: DUP5 00001945: SWAP1 00001946: KECCAK256 00001947: DUP1 00001948: SLOAD 00001949: DUP7 0000194a: ADD 0000194b: SWAP1 0000194c: SSTORE 0000194d: SWAP3 0000194e: MLOAD 0000194f: DUP5 00001950: DUP2 00001951: MSTORE 00001952: SWAP1 00001953: SWAP2 00001954: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001975: SWAP2 00001976: ADD 00001977: PUSH2 0x18eb 0000197a: JUMP 0000197b: JUMPDEST 0000197c: DUP1 0000197d: PUSH1 0x00 0000197f: SUB 00001980: PUSH2 0x1988 00001983: JUMPI 00001984: POP 00001985: POP 00001986: POP 00001987: JUMP 00001988: JUMPDEST 00001989: PUSH1 0x00 0000198b: PUSH2 0x19a3 0000198e: PUSH2 0x0d1c 00001991: PUSH1 0x01 00001993: PUSH1 0x01 00001995: PUSH1 0x70 00001997: SHL 00001998: SUB 00001999: DUP1 0000199a: DUP7 0000199b: AND 0000199c: SWAP1 0000199d: DUP8 0000199e: AND 0000199f: PUSH2 0x1f17 000019a2: JUMP 000019a3: JUMPDEST 000019a4: SWAP1 000019a5: POP 000019a6: PUSH1 0x00 000019a8: PUSH2 0x19b0 000019ab: DUP4 000019ac: PUSH2 0x1a8d 000019af: JUMP 000019b0: JUMPDEST 000019b1: SWAP1 000019b2: POP 000019b3: DUP1 000019b4: DUP3 000019b5: GT 000019b6: ISZERO 000019b7: PUSH2 0x16ce 000019ba: JUMPI 000019bb: PUSH1 0x00 000019bd: DUP2 000019be: PUSH2 0x19c8 000019c1: DUP5 000019c2: PUSH1 0x05 000019c4: PUSH2 0x1f17 000019c7: JUMP 000019c8: JUMPDEST 000019c9: PUSH2 0x19d2 000019cc: SWAP2 000019cd: SWAP1 000019ce: PUSH2 0x1fe8 000019d1: JUMP 000019d2: JUMPDEST 000019d3: PUSH2 0x19dc 000019d6: DUP4 000019d7: DUP6 000019d8: PUSH2 0x1f00 000019db: JUMP 000019dc: JUMPDEST 000019dd: PUSH1 0x00 000019df: SLOAD 000019e0: PUSH2 0x19e9 000019e3: SWAP2 000019e4: SWAP1 000019e5: PUSH2 0x1f17 000019e8: JUMP 000019e9: JUMPDEST 000019ea: PUSH2 0x19f3 000019ed: SWAP2 000019ee: SWAP1 000019ef: PUSH2 0x1f69 000019f2: JUMP 000019f3: JUMPDEST 000019f4: SWAP1 000019f5: POP 000019f6: DUP1 000019f7: PUSH1 0x00 000019f9: SUB 000019fa: PUSH2 0x1a05 000019fd: JUMPI 000019fe: POP 000019ff: POP 00001a00: POP 00001a01: POP 00001a02: POP 00001a03: POP 00001a04: JUMP 00001a05: JUMPDEST 00001a06: PUSH2 0x1a85 00001a09: PUSH1 0x04 00001a0b: PUSH1 0x00 00001a0d: SWAP1 00001a0e: SLOAD 00001a0f: SWAP1 00001a10: PUSH2 0x0100 00001a13: EXP 00001a14: SWAP1 00001a15: DIV 00001a16: PUSH1 0x01 00001a18: PUSH1 0x01 00001a1a: PUSH1 0xa0 00001a1c: SHL 00001a1d: SUB 00001a1e: AND 00001a1f: PUSH1 0x01 00001a21: PUSH1 0x01 00001a23: PUSH1 0xa0 00001a25: SHL 00001a26: SUB 00001a27: AND 00001a28: PUSH4 0x017e7e58 00001a2d: PUSH1 0x40 00001a2f: MLOAD 00001a30: DUP2 00001a31: PUSH4 0xffffffff 00001a36: AND 00001a37: PUSH1 0xe0 00001a39: SHL 00001a3a: DUP2 00001a3b: MSTORE 00001a3c: PUSH1 0x04 00001a3e: ADD 00001a3f: PUSH1 0x20 00001a41: PUSH1 0x40 00001a43: MLOAD 00001a44: DUP1 00001a45: DUP4 00001a46: SUB 00001a47: DUP2 00001a48: DUP7 00001a49: GAS 00001a4a: STATICCALL 00001a4b: ISZERO 00001a4c: DUP1 00001a4d: ISZERO 00001a4e: PUSH2 0x1a5b 00001a51: JUMPI 00001a52: RETURNDATASIZE 00001a53: PUSH1 0x00 00001a55: DUP1 00001a56: RETURNDATACOPY 00001a57: RETURNDATASIZE 00001a58: PUSH1 0x00 00001a5a: REVERT 00001a5b: JUMPDEST 00001a5c: POP 00001a5d: POP 00001a5e: POP 00001a5f: POP 00001a60: PUSH1 0x40 00001a62: MLOAD 00001a63: RETURNDATASIZE 00001a64: PUSH1 0x1f 00001a66: NOT 00001a67: PUSH1 0x1f 00001a69: DUP3 00001a6a: ADD 00001a6b: AND 00001a6c: DUP3 00001a6d: ADD 00001a6e: DUP1 00001a6f: PUSH1 0x40 00001a71: MSTORE 00001a72: POP 00001a73: DUP2 00001a74: ADD 00001a75: SWAP1 00001a76: PUSH2 0x1a7f 00001a79: SWAP2 00001a7a: SWAP1 00001a7b: PUSH2 0x1f36 00001a7e: JUMP 00001a7f: JUMPDEST 00001a80: DUP3 00001a81: PUSH2 0x1aeb 00001a84: JUMP 00001a85: JUMPDEST 00001a86: POP 00001a87: POP 00001a88: POP 00001a89: POP 00001a8a: POP 00001a8b: POP 00001a8c: JUMP 00001a8d: JUMPDEST 00001a8e: PUSH1 0x00 00001a90: PUSH1 0x03 00001a92: DUP3 00001a93: GT 00001a94: ISZERO 00001a95: PUSH2 0x1adc 00001a98: JUMPI 00001a99: POP 00001a9a: DUP1 00001a9b: PUSH1 0x01 00001a9d: PUSH1 0x02 00001a9f: DUP3 00001aa0: DIV 00001aa1: ADD 00001aa2: JUMPDEST 00001aa3: DUP2 00001aa4: DUP2 00001aa5: LT 00001aa6: ISZERO 00001aa7: PUSH2 0x1ad6 00001aaa: JUMPI 00001aab: DUP1 00001aac: SWAP2 00001aad: POP 00001aae: PUSH1 0x02 00001ab0: DUP2 00001ab1: DUP3 00001ab2: DUP6 00001ab3: DUP2 00001ab4: PUSH2 0x1abf 00001ab7: JUMPI 00001ab8: PUSH2 0x1abf 00001abb: PUSH2 0x1f53 00001abe: JUMP 00001abf: JUMPDEST 00001ac0: DIV 00001ac1: ADD 00001ac2: DUP2 00001ac3: PUSH2 0x1ace 00001ac6: JUMPI 00001ac7: PUSH2 0x1ace 00001aca: PUSH2 0x1f53 00001acd: JUMP 00001ace: JUMPDEST 00001acf: DIV 00001ad0: SWAP1 00001ad1: POP 00001ad2: PUSH2 0x1aa2 00001ad5: JUMP 00001ad6: JUMPDEST 00001ad7: POP 00001ad8: SWAP2 00001ad9: SWAP1 00001ada: POP 00001adb: JUMP 00001adc: JUMPDEST 00001add: DUP2 00001ade: ISZERO 00001adf: PUSH2 0x1ae6 00001ae2: JUMPI 00001ae3: POP 00001ae4: PUSH1 0x01 00001ae6: JUMPDEST 00001ae7: SWAP2 00001ae8: SWAP1 00001ae9: POP 00001aea: JUMP 00001aeb: JUMPDEST 00001aec: DUP1 00001aed: PUSH1 0x00 00001aef: SLOAD 00001af0: PUSH2 0x1af9 00001af3: SWAP2 00001af4: SWAP1 00001af5: PUSH2 0x1fe8 00001af8: JUMP 00001af9: JUMPDEST 00001afa: PUSH1 0x00 00001afc: SWAP1 00001afd: DUP2 00001afe: SSTORE 00001aff: PUSH1 0x01 00001b01: PUSH1 0x01 00001b03: PUSH1 0xa0 00001b05: SHL 00001b06: SUB 00001b07: DUP4 00001b08: AND 00001b09: DUP1 00001b0a: DUP3 00001b0b: MSTORE 00001b0c: PUSH1 0x01 00001b0e: PUSH1 0x20 00001b10: SWAP1 00001b11: DUP2 00001b12: MSTORE 00001b13: PUSH1 0x40 00001b15: DUP1 00001b16: DUP5 00001b17: KECCAK256 00001b18: DUP1 00001b19: SLOAD 00001b1a: DUP7 00001b1b: ADD 00001b1c: SWAP1 00001b1d: SSTORE 00001b1e: MLOAD 00001b1f: DUP5 00001b20: DUP2 00001b21: MSTORE 00001b22: SWAP2 00001b23: SWAP3 00001b24: SWAP2 00001b25: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001b46: SWAP2 00001b47: ADD 00001b48: JUMPDEST 00001b49: PUSH1 0x40 00001b4b: MLOAD 00001b4c: DUP1 00001b4d: SWAP2 00001b4e: SUB 00001b4f: SWAP1 00001b50: LOG3 00001b51: POP 00001b52: POP 00001b53: JUMP 00001b54: JUMPDEST 00001b55: PUSH1 0x00 00001b57: DUP2 00001b58: DUP4 00001b59: LT 00001b5a: PUSH2 0x1b63 00001b5d: JUMPI 00001b5e: DUP2 00001b5f: PUSH2 0x1b65 00001b62: JUMP 00001b63: JUMPDEST 00001b64: DUP3 00001b65: JUMPDEST 00001b66: SWAP4 00001b67: SWAP3 00001b68: POP 00001b69: POP 00001b6a: POP 00001b6b: JUMP 00001b6c: JUMPDEST 00001b6d: PUSH1 0x00 00001b6f: DUP1 00001b70: SLOAD 00001b71: DUP3 00001b72: SWAP1 00001b73: SUB 00001b74: DUP2 00001b75: SSTORE 00001b76: PUSH1 0x01 00001b78: PUSH1 0x01 00001b7a: PUSH1 0xa0 00001b7c: SHL 00001b7d: SUB 00001b7e: DUP4 00001b7f: AND 00001b80: DUP2 00001b81: MSTORE 00001b82: PUSH1 0x01 00001b84: PUSH1 0x20 00001b86: MSTORE 00001b87: PUSH1 0x40 00001b89: SWAP1 00001b8a: KECCAK256 00001b8b: SLOAD 00001b8c: PUSH2 0x1b96 00001b8f: SWAP1 00001b90: DUP3 00001b91: SWAP1 00001b92: PUSH2 0x1f00 00001b95: JUMP 00001b96: JUMPDEST 00001b97: PUSH1 0x01 00001b99: PUSH1 0x01 00001b9b: PUSH1 0xa0 00001b9d: SHL 00001b9e: SUB 00001b9f: DUP4 00001ba0: AND 00001ba1: PUSH1 0x00 00001ba3: DUP2 00001ba4: DUP2 00001ba5: MSTORE 00001ba6: PUSH1 0x01 00001ba8: PUSH1 0x20 00001baa: MSTORE 00001bab: PUSH1 0x40 00001bad: DUP1 00001bae: DUP3 00001baf: KECCAK256 00001bb0: SWAP4 00001bb1: SWAP1 00001bb2: SWAP4 00001bb3: SSTORE 00001bb4: SWAP2 00001bb5: MLOAD 00001bb6: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001bd7: SWAP1 00001bd8: PUSH2 0x1b48 00001bdb: SWAP1 00001bdc: DUP6 00001bdd: DUP2 00001bde: MSTORE 00001bdf: PUSH1 0x20 00001be1: ADD 00001be2: SWAP1 00001be3: JUMP 00001be4: JUMPDEST 00001be5: PUSH1 0x00 00001be7: PUSH1 0x01 00001be9: PUSH1 0x01 00001beb: PUSH1 0x70 00001bed: SHL 00001bee: SUB 00001bef: DUP3 00001bf0: AND 00001bf1: PUSH1 0x01 00001bf3: PUSH1 0x01 00001bf5: PUSH1 0xe0 00001bf7: SHL 00001bf8: SUB 00001bf9: DUP5 00001bfa: AND 00001bfb: DUP2 00001bfc: PUSH2 0x1c07 00001bff: JUMPI 00001c00: PUSH2 0x1c07 00001c03: PUSH2 0x1f53 00001c06: JUMP 00001c07: JUMPDEST 00001c08: DIV 00001c09: SWAP4 00001c0a: SWAP3 00001c0b: POP 00001c0c: POP 00001c0d: POP 00001c0e: JUMP 00001c0f: JUMPDEST 00001c10: PUSH1 0x01 00001c12: PUSH1 0x01 00001c14: PUSH1 0xa0 00001c16: SHL 00001c17: SUB 00001c18: DUP2 00001c19: AND 00001c1a: DUP2 00001c1b: EQ 00001c1c: PUSH2 0x1c24 00001c1f: JUMPI 00001c20: PUSH1 0x00 00001c22: DUP1 00001c23: REVERT 00001c24: JUMPDEST 00001c25: POP 00001c26: JUMP 00001c27: JUMPDEST 00001c28: PUSH1 0x00 00001c2a: DUP1 00001c2b: PUSH1 0x00 00001c2d: DUP1 00001c2e: PUSH1 0x00 00001c30: PUSH1 0x80 00001c32: DUP7 00001c33: DUP9 00001c34: SUB 00001c35: SLT 00001c36: ISZERO 00001c37: PUSH2 0x1c3f 00001c3a: JUMPI 00001c3b: PUSH1 0x00 00001c3d: DUP1 00001c3e: REVERT 00001c3f: JUMPDEST 00001c40: DUP6 00001c41: CALLDATALOAD 00001c42: SWAP5 00001c43: POP 00001c44: PUSH1 0x20 00001c46: DUP7 00001c47: ADD 00001c48: CALLDATALOAD 00001c49: SWAP4 00001c4a: POP 00001c4b: PUSH1 0x40 00001c4d: DUP7 00001c4e: ADD 00001c4f: CALLDATALOAD 00001c50: PUSH2 0x1c58 00001c53: DUP2 00001c54: PUSH2 0x1c0f 00001c57: JUMP 00001c58: JUMPDEST 00001c59: SWAP3 00001c5a: POP 00001c5b: PUSH1 0x60 00001c5d: DUP7 00001c5e: ADD 00001c5f: CALLDATALOAD 00001c60: PUSH8 0xffffffffffffffff 00001c69: DUP1 00001c6a: DUP3 00001c6b: GT 00001c6c: ISZERO 00001c6d: PUSH2 0x1c75 00001c70: JUMPI 00001c71: PUSH1 0x00 00001c73: DUP1 00001c74: REVERT 00001c75: JUMPDEST 00001c76: DUP2 00001c77: DUP9 00001c78: ADD 00001c79: SWAP2 00001c7a: POP 00001c7b: DUP9 00001c7c: PUSH1 0x1f 00001c7e: DUP4 00001c7f: ADD 00001c80: SLT 00001c81: PUSH2 0x1c89 00001c84: JUMPI 00001c85: PUSH1 0x00 00001c87: DUP1 00001c88: REVERT 00001c89: JUMPDEST 00001c8a: DUP2 00001c8b: CALLDATALOAD 00001c8c: DUP2 00001c8d: DUP2 00001c8e: GT 00001c8f: ISZERO 00001c90: PUSH2 0x1c98 00001c93: JUMPI 00001c94: PUSH1 0x00 00001c96: DUP1 00001c97: REVERT 00001c98: JUMPDEST 00001c99: DUP10 00001c9a: PUSH1 0x20 00001c9c: DUP3 00001c9d: DUP6 00001c9e: ADD 00001c9f: ADD 00001ca0: GT 00001ca1: ISZERO 00001ca2: PUSH2 0x1caa 00001ca5: JUMPI 00001ca6: PUSH1 0x00 00001ca8: DUP1 00001ca9: REVERT 00001caa: JUMPDEST 00001cab: SWAP7 00001cac: SWAP10 00001cad: SWAP6 00001cae: SWAP9 00001caf: POP 00001cb0: SWAP4 00001cb1: SWAP7 00001cb2: POP 00001cb3: PUSH1 0x20 00001cb5: ADD 00001cb6: SWAP5 00001cb7: SWAP4 00001cb8: SWAP3 00001cb9: POP 00001cba: POP 00001cbb: POP 00001cbc: JUMP 00001cbd: JUMPDEST 00001cbe: PUSH1 0x00 00001cc0: JUMPDEST 00001cc1: DUP4 00001cc2: DUP2 00001cc3: LT 00001cc4: ISZERO 00001cc5: PUSH2 0x1cd8 00001cc8: JUMPI 00001cc9: DUP2 00001cca: DUP2 00001ccb: ADD 00001ccc: MLOAD 00001ccd: DUP4 00001cce: DUP3 00001ccf: ADD 00001cd0: MSTORE 00001cd1: PUSH1 0x20 00001cd3: ADD 00001cd4: PUSH2 0x1cc0 00001cd7: JUMP 00001cd8: JUMPDEST 00001cd9: DUP4 00001cda: DUP2 00001cdb: GT 00001cdc: ISZERO 00001cdd: PUSH2 0x1ce7 00001ce0: JUMPI 00001ce1: PUSH1 0x00 00001ce3: DUP5 00001ce4: DUP5 00001ce5: ADD 00001ce6: MSTORE 00001ce7: JUMPDEST 00001ce8: POP 00001ce9: POP 00001cea: POP 00001ceb: POP 00001cec: JUMP 00001ced: JUMPDEST 00001cee: PUSH1 0x20 00001cf0: DUP2 00001cf1: MSTORE 00001cf2: PUSH1 0x00 00001cf4: DUP3 00001cf5: MLOAD 00001cf6: DUP1 00001cf7: PUSH1 0x20 00001cf9: DUP5 00001cfa: ADD 00001cfb: MSTORE 00001cfc: PUSH2 0x1d0c 00001cff: DUP2 00001d00: PUSH1 0x40 00001d02: DUP6 00001d03: ADD 00001d04: PUSH1 0x20 00001d06: DUP8 00001d07: ADD 00001d08: PUSH2 0x1cbd 00001d0b: JUMP 00001d0c: JUMPDEST 00001d0d: PUSH1 0x1f 00001d0f: ADD 00001d10: PUSH1 0x1f 00001d12: NOT 00001d13: AND 00001d14: SWAP2 00001d15: SWAP1 00001d16: SWAP2 00001d17: ADD 00001d18: PUSH1 0x40 00001d1a: ADD 00001d1b: SWAP3 00001d1c: SWAP2 00001d1d: POP 00001d1e: POP 00001d1f: JUMP 00001d20: JUMPDEST 00001d21: PUSH1 0x00 00001d23: DUP1 00001d24: PUSH1 0x40 00001d26: DUP4 00001d27: DUP6 00001d28: SUB 00001d29: SLT 00001d2a: ISZERO 00001d2b: PUSH2 0x1d33 00001d2e: JUMPI 00001d2f: PUSH1 0x00 00001d31: DUP1 00001d32: REVERT 00001d33: JUMPDEST 00001d34: DUP3 00001d35: CALLDATALOAD 00001d36: PUSH2 0x1d3e 00001d39: DUP2 00001d3a: PUSH2 0x1c0f 00001d3d: JUMP 00001d3e: JUMPDEST 00001d3f: SWAP5 00001d40: PUSH1 0x20 00001d42: SWAP4 00001d43: SWAP1 00001d44: SWAP4 00001d45: ADD 00001d46: CALLDATALOAD 00001d47: SWAP4 00001d48: POP 00001d49: POP 00001d4a: POP 00001d4b: JUMP 00001d4c: JUMPDEST 00001d4d: PUSH1 0x00 00001d4f: DUP1 00001d50: PUSH1 0x00 00001d52: PUSH1 0x60 00001d54: DUP5 00001d55: DUP7 00001d56: SUB 00001d57: SLT 00001d58: ISZERO 00001d59: PUSH2 0x1d61 00001d5c: JUMPI 00001d5d: PUSH1 0x00 00001d5f: DUP1 00001d60: REVERT 00001d61: JUMPDEST 00001d62: DUP4 00001d63: CALLDATALOAD 00001d64: PUSH2 0x1d6c 00001d67: DUP2 00001d68: PUSH2 0x1c0f 00001d6b: JUMP 00001d6c: JUMPDEST 00001d6d: SWAP3 00001d6e: POP 00001d6f: PUSH1 0x20 00001d71: DUP5 00001d72: ADD 00001d73: CALLDATALOAD 00001d74: PUSH2 0x1d7c 00001d77: DUP2 00001d78: PUSH2 0x1c0f 00001d7b: JUMP 00001d7c: JUMPDEST 00001d7d: SWAP3 00001d7e: SWAP6 00001d7f: SWAP3 00001d80: SWAP5 00001d81: POP 00001d82: POP 00001d83: POP 00001d84: PUSH1 0x40 00001d86: SWAP2 00001d87: SWAP1 00001d88: SWAP2 00001d89: ADD 00001d8a: CALLDATALOAD 00001d8b: SWAP1 00001d8c: JUMP 00001d8d: JUMPDEST 00001d8e: PUSH1 0x00 00001d90: DUP1 00001d91: PUSH1 0x40 00001d93: DUP4 00001d94: DUP6 00001d95: SUB 00001d96: SLT 00001d97: ISZERO 00001d98: PUSH2 0x1da0 00001d9b: JUMPI 00001d9c: PUSH1 0x00 00001d9e: DUP1 00001d9f: REVERT 00001da0: JUMPDEST 00001da1: DUP3 00001da2: CALLDATALOAD 00001da3: PUSH2 0x1dab 00001da6: DUP2 00001da7: PUSH2 0x1c0f 00001daa: JUMP 00001dab: JUMPDEST 00001dac: SWAP2 00001dad: POP 00001dae: PUSH1 0x20 00001db0: DUP4 00001db1: ADD 00001db2: CALLDATALOAD 00001db3: PUSH2 0x1dbb 00001db6: DUP2 00001db7: PUSH2 0x1c0f 00001dba: JUMP 00001dbb: JUMPDEST 00001dbc: DUP1 00001dbd: SWAP2 00001dbe: POP 00001dbf: POP 00001dc0: SWAP3 00001dc1: POP 00001dc2: SWAP3 00001dc3: SWAP1 00001dc4: POP 00001dc5: JUMP 00001dc6: JUMPDEST 00001dc7: PUSH1 0x00 00001dc9: PUSH1 0x20 00001dcb: DUP3 00001dcc: DUP5 00001dcd: SUB 00001dce: SLT 00001dcf: ISZERO 00001dd0: PUSH2 0x1dd8 00001dd3: JUMPI 00001dd4: PUSH1 0x00 00001dd6: DUP1 00001dd7: REVERT 00001dd8: JUMPDEST 00001dd9: DUP2 00001dda: CALLDATALOAD 00001ddb: PUSH2 0x1b65 00001dde: DUP2 00001ddf: PUSH2 0x1c0f 00001de2: JUMP 00001de3: JUMPDEST 00001de4: PUSH1 0x00 00001de6: DUP1 00001de7: PUSH1 0x00 00001de9: DUP1 00001dea: PUSH1 0x00 00001dec: DUP1 00001ded: PUSH1 0x00 00001def: PUSH1 0xe0 00001df1: DUP9 00001df2: DUP11 00001df3: SUB 00001df4: SLT 00001df5: ISZERO 00001df6: PUSH2 0x1dfe 00001df9: JUMPI 00001dfa: PUSH1 0x00 00001dfc: DUP1 00001dfd: REVERT 00001dfe: JUMPDEST 00001dff: DUP8 00001e00: CALLDATALOAD 00001e01: PUSH2 0x1e09 00001e04: DUP2 00001e05: PUSH2 0x1c0f 00001e08: JUMP 00001e09: JUMPDEST 00001e0a: SWAP7 00001e0b: POP 00001e0c: PUSH1 0x20 00001e0e: DUP9 00001e0f: ADD 00001e10: CALLDATALOAD 00001e11: PUSH2 0x1e19 00001e14: DUP2 00001e15: PUSH2 0x1c0f 00001e18: JUMP 00001e19: JUMPDEST 00001e1a: SWAP6 00001e1b: POP 00001e1c: PUSH1 0x40 00001e1e: DUP9 00001e1f: ADD 00001e20: CALLDATALOAD 00001e21: SWAP5 00001e22: POP 00001e23: PUSH1 0x60 00001e25: DUP9 00001e26: ADD 00001e27: CALLDATALOAD 00001e28: SWAP4 00001e29: POP 00001e2a: PUSH1 0x80 00001e2c: DUP9 00001e2d: ADD 00001e2e: CALLDATALOAD 00001e2f: PUSH1 0xff 00001e31: DUP2 00001e32: AND 00001e33: DUP2 00001e34: EQ 00001e35: PUSH2 0x1e3d 00001e38: JUMPI 00001e39: PUSH1 0x00 00001e3b: DUP1 00001e3c: REVERT 00001e3d: JUMPDEST 00001e3e: SWAP7 00001e3f: SWAP10 00001e40: SWAP6 00001e41: SWAP9 00001e42: POP 00001e43: SWAP4 00001e44: SWAP7 00001e45: SWAP3 00001e46: SWAP6 00001e47: SWAP5 00001e48: PUSH1 0xa0 00001e4a: DUP5 00001e4b: ADD 00001e4c: CALLDATALOAD 00001e4d: SWAP5 00001e4e: POP 00001e4f: PUSH1 0xc0 00001e51: SWAP1 00001e52: SWAP4 00001e53: ADD 00001e54: CALLDATALOAD 00001e55: SWAP3 00001e56: SWAP2 00001e57: POP 00001e58: POP 00001e59: JUMP 00001e5a: JUMPDEST 00001e5b: PUSH1 0x20 00001e5d: DUP1 00001e5e: DUP3 00001e5f: MSTORE 00001e60: PUSH1 0x11 00001e62: SWAP1 00001e63: DUP3 00001e64: ADD 00001e65: MSTORE 00001e66: PUSH17 0x14ddd85c1cd4185a5c8e881313d0d2d151 00001e78: PUSH1 0x7a 00001e7a: SHL 00001e7b: PUSH1 0x40 00001e7d: DUP3 00001e7e: ADD 00001e7f: MSTORE 00001e80: PUSH1 0x60 00001e82: ADD 00001e83: SWAP1 00001e84: JUMP 00001e85: JUMPDEST 00001e86: PUSH1 0x01 00001e88: DUP1 00001e89: PUSH1 0xa0 00001e8b: SHL 00001e8c: SUB 00001e8d: DUP7 00001e8e: AND 00001e8f: DUP2 00001e90: MSTORE 00001e91: DUP5 00001e92: PUSH1 0x20 00001e94: DUP3 00001e95: ADD 00001e96: MSTORE 00001e97: DUP4 00001e98: PUSH1 0x40 00001e9a: DUP3 00001e9b: ADD 00001e9c: MSTORE 00001e9d: PUSH1 0x80 00001e9f: PUSH1 0x60 00001ea1: DUP3 00001ea2: ADD 00001ea3: MSTORE 00001ea4: DUP2 00001ea5: PUSH1 0x80 00001ea7: DUP3 00001ea8: ADD 00001ea9: MSTORE 00001eaa: DUP2 00001eab: DUP4 00001eac: PUSH1 0xa0 00001eae: DUP4 00001eaf: ADD 00001eb0: CALLDATACOPY 00001eb1: PUSH1 0x00 00001eb3: DUP2 00001eb4: DUP4 00001eb5: ADD 00001eb6: PUSH1 0xa0 00001eb8: SWAP1 00001eb9: DUP2 00001eba: ADD 00001ebb: SWAP2 00001ebc: SWAP1 00001ebd: SWAP2 00001ebe: MSTORE 00001ebf: PUSH1 0x1f 00001ec1: SWAP1 00001ec2: SWAP3 00001ec3: ADD 00001ec4: PUSH1 0x1f 00001ec6: NOT 00001ec7: AND 00001ec8: ADD 00001ec9: ADD 00001eca: SWAP5 00001ecb: SWAP4 00001ecc: POP 00001ecd: POP 00001ece: POP 00001ecf: POP 00001ed0: JUMP 00001ed1: JUMPDEST 00001ed2: PUSH1 0x00 00001ed4: PUSH1 0x20 00001ed6: DUP3 00001ed7: DUP5 00001ed8: SUB 00001ed9: SLT 00001eda: ISZERO 00001edb: PUSH2 0x1ee3 00001ede: JUMPI 00001edf: PUSH1 0x00 00001ee1: DUP1 00001ee2: REVERT 00001ee3: JUMPDEST 00001ee4: POP 00001ee5: MLOAD 00001ee6: SWAP2 00001ee7: SWAP1 00001ee8: POP 00001ee9: JUMP 00001eea: JUMPDEST 00001eeb: PUSH4 0x4e487b71 00001ef0: PUSH1 0xe0 00001ef2: SHL 00001ef3: PUSH1 0x00 00001ef5: MSTORE 00001ef6: PUSH1 0x11 00001ef8: PUSH1 0x04 00001efa: MSTORE 00001efb: PUSH1 0x24 00001efd: PUSH1 0x00 00001eff: REVERT 00001f00: JUMPDEST 00001f01: PUSH1 0x00 00001f03: DUP3 00001f04: DUP3 00001f05: LT 00001f06: ISZERO 00001f07: PUSH2 0x1f12 00001f0a: JUMPI 00001f0b: PUSH2 0x1f12 00001f0e: PUSH2 0x1eea 00001f11: JUMP 00001f12: JUMPDEST 00001f13: POP 00001f14: SUB 00001f15: SWAP1 00001f16: JUMP 00001f17: JUMPDEST 00001f18: PUSH1 0x00 00001f1a: DUP2 00001f1b: PUSH1 0x00 00001f1d: NOT 00001f1e: DIV 00001f1f: DUP4 00001f20: GT 00001f21: DUP3 00001f22: ISZERO 00001f23: ISZERO 00001f24: AND 00001f25: ISZERO 00001f26: PUSH2 0x1f31 00001f29: JUMPI 00001f2a: PUSH2 0x1f31 00001f2d: PUSH2 0x1eea 00001f30: JUMP 00001f31: JUMPDEST 00001f32: POP 00001f33: MUL 00001f34: SWAP1 00001f35: JUMP 00001f36: JUMPDEST 00001f37: PUSH1 0x00 00001f39: PUSH1 0x20 00001f3b: DUP3 00001f3c: DUP5 00001f3d: SUB 00001f3e: SLT 00001f3f: ISZERO 00001f40: PUSH2 0x1f48 00001f43: JUMPI 00001f44: PUSH1 0x00 00001f46: DUP1 00001f47: REVERT 00001f48: JUMPDEST 00001f49: DUP2 00001f4a: MLOAD 00001f4b: PUSH2 0x1b65 00001f4e: DUP2 00001f4f: PUSH2 0x1c0f 00001f52: JUMP 00001f53: JUMPDEST 00001f54: PUSH4 0x4e487b71 00001f59: PUSH1 0xe0 00001f5b: SHL 00001f5c: PUSH1 0x00 00001f5e: MSTORE 00001f5f: PUSH1 0x12 00001f61: PUSH1 0x04 00001f63: MSTORE 00001f64: PUSH1 0x24 00001f66: PUSH1 0x00 00001f68: REVERT 00001f69: JUMPDEST 00001f6a: PUSH1 0x00 00001f6c: DUP3 00001f6d: PUSH2 0x1f78 00001f70: JUMPI 00001f71: PUSH2 0x1f78 00001f74: PUSH2 0x1f53 00001f77: JUMP 00001f78: JUMPDEST 00001f79: POP 00001f7a: DIV 00001f7b: SWAP1 00001f7c: JUMP 00001f7d: JUMPDEST 00001f7e: PUSH1 0x00 00001f80: PUSH1 0x01 00001f82: DUP3 00001f83: ADD 00001f84: PUSH2 0x1f8f 00001f87: JUMPI 00001f88: PUSH2 0x1f8f 00001f8b: PUSH2 0x1eea 00001f8e: JUMP 00001f8f: JUMPDEST 00001f90: POP 00001f91: PUSH1 0x01 00001f93: ADD 00001f94: SWAP1 00001f95: JUMP 00001f96: JUMPDEST 00001f97: PUSH1 0x00 00001f99: DUP3 00001f9a: MLOAD 00001f9b: PUSH2 0x1fa8 00001f9e: DUP2 00001f9f: DUP5 00001fa0: PUSH1 0x20 00001fa2: DUP8 00001fa3: ADD 00001fa4: PUSH2 0x1cbd 00001fa7: JUMP 00001fa8: JUMPDEST 00001fa9: SWAP2 00001faa: SWAP1 00001fab: SWAP2 00001fac: ADD 00001fad: SWAP3 00001fae: SWAP2 00001faf: POP 00001fb0: POP 00001fb1: JUMP 00001fb2: JUMPDEST 00001fb3: PUSH1 0x00 00001fb5: PUSH1 0x20 00001fb7: DUP3 00001fb8: DUP5 00001fb9: SUB 00001fba: SLT 00001fbb: ISZERO 00001fbc: PUSH2 0x1fc4 00001fbf: JUMPI 00001fc0: PUSH1 0x00 00001fc2: DUP1 00001fc3: REVERT 00001fc4: JUMPDEST 00001fc5: DUP2 00001fc6: MLOAD 00001fc7: DUP1 00001fc8: ISZERO 00001fc9: ISZERO 00001fca: DUP2 00001fcb: EQ 00001fcc: PUSH2 0x1b65 00001fcf: JUMPI 00001fd0: PUSH1 0x00 00001fd2: DUP1 00001fd3: REVERT 00001fd4: JUMPDEST 00001fd5: PUSH1 0x00 00001fd7: DUP3 00001fd8: PUSH2 0x1fe3 00001fdb: JUMPI 00001fdc: PUSH2 0x1fe3 00001fdf: PUSH2 0x1f53 00001fe2: JUMP 00001fe3: JUMPDEST 00001fe4: POP 00001fe5: MOD 00001fe6: SWAP1 00001fe7: JUMP 00001fe8: JUMPDEST 00001fe9: PUSH1 0x00 00001feb: DUP3 00001fec: NOT 00001fed: DUP3 00001fee: GT 00001fef: ISZERO 00001ff0: PUSH2 0x1ffb 00001ff3: JUMPI 00001ff4: PUSH2 0x1ffb 00001ff7: PUSH2 0x1eea 00001ffa: JUMP 00001ffb: JUMPDEST 00001ffc: POP 00001ffd: ADD 00001ffe: SWAP1 00001fff: JUMP 00002000: INVALID 00002001: LOG2 00002002: PUSH5 0x6970667358 00002008: UNKNOWN(0x22) 00002009: SLT 0000200a: KECCAK256 0000200b: STATICCALL 0000200c: ADDMOD 0000200d: SAR 0000200e: CREATE2 0000200f: UNKNOWN(0xE1) 00002010: PUSH28 0x676f55079757c12e1bfb8cfff147f8ec82075a71c156c872c3286473 0000202d: PUSH16
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x5ac6befab28db8d56430513bbf9e69ee443bc957d7067e725291255751b169a4
call_targets:
0x7290367aa694703220516a35e68e3d339ee7d193
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5ac6befab28db8d56430513bbf9e69ee443bc957d7067e725291255751b169a4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7290367aa694703220516a35e68e3d339ee7d193"
],
"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": "0xd21220a7",
"selector": "0xd21220a7",
"calldata_variants": [
"0xd21220a7",
"0xd21220a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd505accf",
"selector": "0xd505accf",
"calldata_variants": [
"0xd505accf",
"0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfff6cae9",
"selector": "0xfff6cae9",
"calldata_variants": [
"0xfff6cae9",
"0xfff6cae90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xba9a7a56",
"selector": "0xba9a7a56",
"calldata_variants": [
"0xba9a7a56",
"0xba9a7a560000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc45a0155",
"selector": "0xc45a0155",
"calldata_variants": [
"0xc45a0155",
"0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7464fc3d",
"selector": "0x7464fc3d",
"calldata_variants": [
"0x7464fc3d",
"0x7464fc3d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1545,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5668,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x5ac6befab28db8d56430513bbf9e69ee443bc957d7067e725291255751b169a4
call_targets:
0x7290367aa694703220516a35e68e3d339ee7d193
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x5ac6befab28db8d56430513bbf9e69ee443bc957d7067e725291255751b169a4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7290367aa694703220516a35e68e3d339ee7d193"
],
"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": "0xd21220a7",
"selector": "0xd21220a7",
"calldata_variants": [
"0xd21220a7",
"0xd21220a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd505accf",
"selector": "0xd505accf",
"calldata_variants": [
"0xd505accf",
"0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfff6cae9",
"selector": "0xfff6cae9",
"calldata_variants": [
"0xfff6cae9",
"0xfff6cae90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xba9a7a56",
"selector": "0xba9a7a56",
"calldata_variants": [
"0xba9a7a56",
"0xba9a7a560000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc45a0155",
"selector": "0xc45a0155",
"calldata_variants": [
"0xc45a0155",
"0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7464fc3d",
"selector": "0x7464fc3d",
"calldata_variants": [
"0x7464fc3d",
"0x7464fc3d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1545,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5668,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xc203d9710524f82114b4ccdafe43a32ac19c95dcd374740878aefc028bf51e42
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xc203d9710524f82114b4ccdafe43a32ac19c95dcd374740878aefc028bf51e42",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xd21220a7",
"selector": "0xd21220a7",
"calldata_variants": [
"0xd21220a7",
"0xd21220a70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd505accf",
"selector": "0xd505accf",
"calldata_variants": [
"0xd505accf",
"0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfff6cae9",
"selector": "0xfff6cae9",
"calldata_variants": [
"0xfff6cae9",
"0xfff6cae90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xba9a7a56",
"selector": "0xba9a7a56",
"calldata_variants": [
"0xba9a7a56",
"0xba9a7a560000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc45a0155",
"selector": "0xc45a0155",
"calldata_variants": [
"0xc45a0155",
"0xc45a01550000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7464fc3d",
"selector": "0x7464fc3d",
"calldata_variants": [
"0x7464fc3d",
"0x7464fc3d0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | access_control | codex | initialize is permissionless and can be front-run to hijack a pair | 75 | no | — |
viewevidence_json{
"evidence": "initialize only checks factory == ZERO_ADDRESS and then sets token0/token1 and factory to msg.sender with no access control.",
"locations": [
"contracts/SwapsPair.sol:71",
"contracts/SwapsPair.sol:82",
"contracts/SwapsPair.sol:84"
],
"recommendation": "Restrict initialize to the factory (e.g., set factory in the constructor or require msg.sender == factory), and ensure factory deploys+initializes atomically. Also validate token addresses are non-zero and distinct.",
"exploit_scenario": "If a pair is deployed without being initialized in the same transaction, an attacker can call initialize first, set token0/token1 and factory to themselves, and permanently block the intended factory. This can strand users who send assets to the expected pair address or cause swaps/liquidity to operate on attacker-chosen tokens."
}
|
| medium | auth | codex | Permit DOMAIN_SEPARATOR is immutable; clone deployments allow cross-pair signature replay | 75 | no | — |
viewevidence_json{
"evidence": "DOMAIN_SEPARATOR is immutable and set in the constructor using address(this), while the factory interface exposes cloneTarget suggesting clone-based deployment.",
"locations": [
"contracts/SwapsERC20.sol:20",
"contracts/SwapsERC20.sol:37",
"contracts/ISwapsFactory.sol:52"
],
"recommendation": "Store DOMAIN_SEPARATOR in storage and initialize it per clone (e.g., in initialize) using address(this), or compute it on-the-fly. Avoid immutables for domain separator when deploying via proxies/clones.",
"exploit_scenario": "If pairs are deployed as minimal-proxy clones (as implied by cloneTarget), the SwapsERC20 constructor is not executed per clone, so DOMAIN_SEPARATOR is baked to the implementation address. A permit signature intended for one pair can be replayed on other pairs with matching nonces, unintentionally approving a spender on multiple LP tokens the signer holds."
}
|
| low | other | codex | Protocol fee mints even when feeTo is unset, causing LP dilution | 65 | no | — |
viewevidence_json{
"evidence": "_mintFee mints to ISwapsFactory(factory).feeTo() without checking for address(0) and is called from mint and burn.",
"locations": [
"contracts/SwapsPair.sol:139",
"contracts/SwapsPair.sol:159",
"contracts/SwapsPair.sol:185",
"contracts/SwapsPair.sol:262"
],
"recommendation": "Gate _mintFee on feeTo != address(0), and when fees are off set kLast = 0 (Uniswap V2 behavior) to avoid unintended fee minting.",
"exploit_scenario": "When feeTo is address(0) (fees intended off), mint/burn still calls _mintFee, which mints liquidity to feeTo. This permanently inflates totalSupply and dilutes LPs; any user can trigger this by minting/burning after k grows."
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 17
}
|