019ba9bd-975f-73b1-8c6a-5aab9a2fbec6
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 |
|---|---|---|---|---|
| 37960 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 37961 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 37962 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 37963 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 37964 | capability.graph | complete | 1 / 3 | 3 months ago |
| 37965 | detector.run | complete | 1 / 3 | 3 months ago |
| 37966 | validation.fork | complete | 1 / 3 | 3 months ago |
| 38158 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 38159 | tool.slither | failed | 2 / 2 | 3 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-vc9wvnbm)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-vc9wvnbm)
'forge' returned non-zero exit code 1
[2m2026-01-11T00:38:42.934341Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-vc9wvnbm/lib/forge-std/console.sol": No such file or directory (os error 2)
stdout: Unable to resolve imports:
stdout: "forge-std/console.sol" in "/tmp/slither-vc9wvnbm/src/FastTransferGateway.sol"
stdout: with remappings:
stdout: @openzeppelin/contracts-upgradeable/=/tmp/slither-vc9wvnbm/lib/openzeppelin-contracts-upgradeable/contracts/
stdout: @openzeppelin/contracts/=/tmp/slither-vc9wvnbm/lib/openzeppelin-contracts/contracts/
stdout: ds-test/=/tmp/slither-vc9wvnbm/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/
stdout: erc4626-tests/=/tmp/slither-vc9wvnbm/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/
stdout: forge-std/=/tmp/slither-vc9wvnbm/lib/forge-std/
stdout: openzeppelin-contracts-upgradeable/=/tmp/slither-vc9wvnbm/lib/openzeppelin-contracts-upgradeable/
stdout: openzeppelin-contracts/=/tmp/slither-vc9wvnbm/lib/openzeppelin-contracts/
stdout: Compiling 28 files with Solc 0.8.22
stdout: Solc 0.8.22 finished in 29.28ms
Error: Compiler run failed:
stderr: Error (6275): Source "lib/forge-std/console.sol" not found: File not found. Searched the following locations: "/tmp/slither-vc9wvnbm".
stderr: ParserError: Source "lib/forge-std/console.sol" not found: File not found. Searched the following locations: "/tmp/slither-vc9wvnbm".
stderr: --> src/FastTransferGateway.sol:12:1:
stderr: |
stderr: 12 | import {console} from "forge-std/console.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-vc9wvnbm/out/build-info is not a directory.
{"no_findings":false,"summary":"Found two issues: lingering token allowances in GoFastCaller can let prior recipients drain future funds, and permit signatures are tied to a global mutable nonce enabling cheap griefing of permit-based submissions.","findings":[{"severity":"medium","category":"other","title":"GoFastCaller leaves approvals in place, allowing previous recipients to drain future tokens","exploit_scenario":"A malicious recipient contract is called via `fillOrder` with `order.data` and chooses not to pull tokens (or pulls less). The GoFastCaller approval to that recipient remains. Later, other users fill orders that route tokens through GoFastCaller, and the earlier recipient can call `transferFrom` using its leftover allowance to steal those tokens.","recommendation":"After the external call, reset allowance for `_target` back to 0 (or use a pattern that transfers tokens directly to the recipient before the call). Consider using `safeTransfer` + callback with no approval, or clear allowances per call to avoid cross-order token theft.","evidence":"`execute` approves `_target` for `_amount` and never revokes it, leaving residual allowances that persist across calls.","locations":["src/GoFastCaller.sol:25","src/GoFastCaller.sol:30"]},{"severity":"low","category":"auth","title":"Permit-based order submission uses a global nonce that can be cheaply griefed","exploit_scenario":"Users must sign a Permit2 message using the gateway’s current global `nonce`. Any account can submit a zero-amount (or tiny-amount) order to increment this nonce and invalidate a pre-signed permit, repeatedly griefing permit submissions.","recommendation":"Decouple order nonce from Permit2 nonce. Use per-user Permit2 nonces (provided by the signer) and keep a separate order ID nonce, or require the caller to supply a permit nonce and verify it without relying on the shared `nonce`. Also enforce `amountIn > 0` to raise the griefing cost.","evidence":"`submitOrderWithPermit` derives the permit nonce from the shared `nonce` state and increments it for every order, while `submitOrder` allows arbitrary amounts and also increments the same nonce.","locations":["src/FastTransferGateway.sol:160","src/FastTransferGateway.sol:216","src/FastTransferGateway.sol:226","src/FastTransferGateway.sol:233"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-d00ezo5t
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019baa41-0c9e-71d2-a418-d747e0797d2a
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc ls in /tmp/codex-d00ezo5t succeeded in 5ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
lib
src
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-d00ezo5t succeeded in 7ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: src/FastTransferGateway.sol
================================================================================
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {IERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import {UUPSUpgradeable} from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
import {console} from "forge-std/console.sol";
import {TypeCasts} from "./libraries/TypeCasts.sol";
thinking
**Analyzing contract vulnerabilities and logic**
I'm carefully examining potential issues like missing reentrancy guards, improper validation of filler addresses in fillOrder, risks from arbitrary order submissions, and approval leftover in GoFastCaller. I’m diving into how these interact, including upgradeable contract initializations, token calls, and order ID encoding, to spot subtle vulnerabilities or design concerns. There is a lot here, especially around token transfers, order settlement logic, and access controls that I want to make sure I understand thoroughly.
thinking
**Reviewing data handling and upgrade patterns**
I’m sorting through potential edge cases with orderIDs length and memory reads beyond bounds, impact of non-32-byte-aligned inputs, and how Solidity handles memory padding. I’m checking whether upgrade contracts mix non-upgradeable imports with upgradeable initializers, and digging into interactions between fillOrder’s external calls, token approvals, and nonReentrant guards. There's a lot to unpack around nonce usage, wild card parameter handling, and contract initialization flows that I'll keep exploring carefully.
thinking
**Analyzing token approval and message handling risks**
I’m looking into how GoFastCaller’s use of forceApprove might let recipients maintain lingering allowances, risking token drains across orders sharing that contract, and how message handling in initiateTimeout and refund could be disrupted by crafted inputs. I’m also exploring signature validation nuances with permit2 and replay concerns, as well as subtle gaps in order sender validation and allowance management that might affect token flow and refund correctness.
thinking
**Confirming repayment address and permit nonce issues**
I’m focusing on how repaymentAddress can differ from filler without harm due to checks on destination chain, and how shared global nonce usage in submitOrderWithPermit can cause permit signature DoS via nonce invalidation by zero-amount orders. This design quirk affects signature validity timing and is worth noting alongside the GoFastCaller approval concern.
exec
/bin/bash -lc "rg -n \"execute\\(|forceApprove\" -n src/GoFastCaller.sol" in /tmp/codex-d00ezo5t succeeded in 9ms:
25: function execute(address _target, address _token, uint256 _amount, bytes memory _data)
30: IERC20(_token).forceApprove(_target, _amount);
exec
/bin/bash -lc 'nl -ba src/GoFastCaller.sol' in /tmp/codex-d00ezo5t succeeded in 8ms:
1 // SPDX-License-Identifier: UNLICENSED
2 pragma solidity ^0.8.13;
3
4 import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
5 import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
6 import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
7
8 contract GoFastCaller is Ownable {
9 using SafeERC20 for IERC20;
10
11 address public gateway;
12
13 constructor(address _owner) Ownable(_owner) {}
14
15 function setGateway(address _gateway) external onlyOwner {
16 gateway = _gateway;
17 }
18
19 modifier onlyGateway() {
20 require(gateway != address(0), "GoFastCaller: gateway not set");
thinking
**Preparing to add line numbers**
exec
/bin/bash -lc "nl -ba src/FastTransferGateway.sol | sed -n '90,220p'" in /tmp/codex-d00ezo5t succeeded in 8ms:
90
91 mapping(bytes32 => SettlementDetails) public settlementDetails;
92 mapping(bytes32 => OrderStatus) public orderStatuses;
93
94 mapping(bytes32 => OrderFill) public orderFills;
95
96 GoFastCaller public goFastCaller;
97
98 constructor() {
99 _disableInitializers();
100 }
101
102 function initialize(
103 uint32 _localDomain,
104 address _owner,
105 address _token,
106 address _mailbox,
107 address _interchainSecurityModule,
108 address _permit2,
109 address _goFastCaller
exec
/bin/bash -lc "nl -ba src/FastTransferGateway.sol | sed -n '220,320p'" in /tmp/codex-d00ezo5t succeeded in 5ms:
220 bytes32 orderID = _orderID(order);
221
222 // checks
223 require(remoteDomains[destinationDomain] != bytes32(0), "FastTransferGateway: destination domain not found");
224
225 // effects
226 nonce += 1;
227 settlementDetails[orderID] =
228 SettlementDetails(order.sender, order.nonce, order.destinationDomain, order.amountIn);
229
230 emit OrderSubmitted(orderID, OrderEncoder.encode(order));
231
232 // interactions
233 _permitTransferFrom(order.amountIn, permitDeadline, order.nonce, signature);
234
235 return orderID;
236 }
237
238 /// @dev Fills an order
239 /// @param order The details of the order to fill
thinking
**Formulating security findings and JSON output**
codex
{"no_findings":false,"summary":"Found two issues: lingering token allowances in GoFastCaller can let prior recipients drain future funds, and permit signatures are tied to a global mutable nonce enabling cheap griefing of permit-based submissions.","findings":[{"severity":"medium","category":"other","title":"GoFastCaller leaves approvals in place, allowing previous recipients to drain future tokens","exploit_scenario":"A malicious recipient contract is called via `fillOrder` with `order.data` and chooses not to pull tokens (or pulls less). The GoFastCaller approval to that recipient remains. Later, other users fill orders that route tokens through GoFastCaller, and the earlier recipient can call `transferFrom` using its leftover allowance to steal those tokens.","recommendation":"After the external call, reset allowance for `_target` back to 0 (or use a pattern that transfers tokens directly to the recipient before the call). Consider using `safeTransfer` + callback with no approval, or clear allowances per call to avoid cross-order token theft.","evidence":"`execute` approves `_target` for `_amount` and never revokes it, leaving residual allowances that persist across calls.","locations":["src/GoFastCaller.sol:25","src/GoFastCaller.sol:30"]},{"severity":"low","category":"auth","title":"Permit-based order submission uses a global nonce that can be cheaply griefed","exploit_scenario":"Users must sign a Permit2 message using the gateway’s current global `nonce`. Any account can submit a zero-amount (or tiny-amount) order to increment this nonce and invalidate a pre-signed permit, repeatedly griefing permit submissions.","recommendation":"Decouple order nonce from Permit2 nonce. Use per-user Permit2 nonces (provided by the signer) and keep a separate order ID nonce, or require the caller to supply a permit nonce and verify it without relying on the shared `nonce`. Also enforce `amountIn > 0` to raise the griefing cost.","evidence":"`submitOrderWithPermit` derives the permit nonce from the shared `nonce` state and increments it for every order, while `submitOrder` allows arbitrary amounts and also increments the same nonce.","locations":["src/FastTransferGateway.sol:160","src/FastTransferGateway.sol:216","src/FastTransferGateway.sol:226","src/FastTransferGateway.sol:233"]}]}
tokens used
27,724
{
"codex": {
"ran_at": "2026-01-10T23:36:41.686472+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 22,
"import_count": 26,
"first_party_contracts_count": 6
},
"summary": "Found two issues: lingering token allowances in GoFastCaller can let prior recipients drain future funds, and permit signatures are tied to a global mutable nonce enabling cheap griefing of permit-based submissions.",
"raw_final": {
"summary": "Found two issues: lingering token allowances in GoFastCaller can let prior recipients drain future funds, and permit signatures are tied to a global mutable nonce enabling cheap griefing of permit-based submissions.",
"findings": [
{
"title": "GoFastCaller leaves approvals in place, allowing previous recipients to drain future tokens",
"category": "other",
"evidence": "`execute` approves `_target` for `_amount` and never revokes it, leaving residual allowances that persist across calls.",
"severity": "medium",
"locations": [
"src/GoFastCaller.sol:25",
"src/GoFastCaller.sol:30"
],
"recommendation": "After the external call, reset allowance for `_target` back to 0 (or use a pattern that transfers tokens directly to the recipient before the call). Consider using `safeTransfer` + callback with no approval, or clear allowances per call to avoid cross-order token theft.",
"exploit_scenario": "A malicious recipient contract is called via `fillOrder` with `order.data` and chooses not to pull tokens (or pulls less). The GoFastCaller approval to that recipient remains. Later, other users fill orders that route tokens through GoFastCaller, and the earlier recipient can call `transferFrom` using its leftover allowance to steal those tokens."
},
{
"title": "Permit-based order submission uses a global nonce that can be cheaply griefed",
"category": "auth",
"evidence": "`submitOrderWithPermit` derives the permit nonce from the shared `nonce` state and increments it for every order, while `submitOrder` allows arbitrary amounts and also increments the same nonce.",
"severity": "low",
"locations": [
"src/FastTransferGateway.sol:160",
"src/FastTransferGateway.sol:216",
"src/FastTransferGateway.sol:226",
"src/FastTransferGateway.sol:233"
],
"recommendation": "Decouple order nonce from Permit2 nonce. Use per-user Permit2 nonces (provided by the signer) and keep a separate order ID nonce, or require the caller to supply a permit nonce and verify it without relying on the shared `nonce`. Also enforce `amountIn > 0` to raise the griefing cost.",
"exploit_scenario": "Users must sign a Permit2 message using the gateway\u2019s current global `nonce`. Any account can submit a zero-amount (or tiny-amount) order to increment this nonce and invalidate a pre-signed permit, repeatedly griefing permit submissions."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01c2 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x88efb875 00000019: GT 0000001a: PUSH2 0x00f7 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xd5438eae 00000024: GT 00000025: PUSH2 0x0095 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xf2fde38b 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf2fde38b 0000003a: EQ 0000003b: PUSH2 0x059c 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf3c61d6b 00000045: EQ 00000046: PUSH2 0x05bc 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf7213db6 00000050: EQ 00000051: PUSH2 0x05dc 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfc0c546a 0000005b: EQ 0000005c: PUSH2 0x0651 0000005f: JUMPI 00000060: PUSH1 0x00 00000062: DUP1 00000063: REVERT 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xd5438eae 0000006b: EQ 0000006c: PUSH2 0x051c 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xde523cf3 00000076: EQ 00000077: PUSH2 0x053c 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xe5dc8496 00000081: EQ 00000082: PUSH2 0x055c 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xe88787c2 0000008c: EQ 0000008d: PUSH2 0x057c 00000090: JUMPI 00000091: PUSH1 0x00 00000093: DUP1 00000094: REVERT 00000095: JUMPDEST 00000096: DUP1 00000097: PUSH4 0xad3cb1cc 0000009c: GT 0000009d: PUSH2 0x00d1 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xad3cb1cc 000000a7: EQ 000000a8: PUSH2 0x0481 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xaffed0e0 000000b2: EQ 000000b3: PUSH2 0x04bf 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xb549117c 000000bd: EQ 000000be: PUSH2 0x04dc 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xc87d1240 000000c8: EQ 000000c9: PUSH2 0x04fc 000000cc: JUMPI 000000cd: PUSH1 0x00 000000cf: DUP1 000000d0: REVERT 000000d1: JUMPDEST 000000d2: DUP1 000000d3: PUSH4 0x88efb875 000000d8: EQ 000000d9: PUSH2 0x03f8 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x8d3638f4 000000e3: EQ 000000e4: PUSH2 0x040b 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x8da5cb5b 000000ee: EQ 000000ef: PUSH2 0x0444 000000f2: JUMPI 000000f3: PUSH1 0x00 000000f5: DUP1 000000f6: REVERT 000000f7: JUMPDEST 000000f8: DUP1 000000f9: PUSH4 0x52d1902d 000000fe: GT 000000ff: PUSH2 0x0164 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x6afdd850 00000109: GT 0000010a: PUSH2 0x013e 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x6afdd850 00000114: EQ 00000115: PUSH2 0x02f7 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x715018a6 0000011f: EQ 00000120: PUSH2 0x032f 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x7f665ee5 0000012a: EQ 0000012b: PUSH2 0x0344 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x85cf3f93 00000135: EQ 00000136: PUSH2 0x0381 00000139: JUMPI 0000013a: PUSH1 0x00 0000013c: DUP1 0000013d: REVERT 0000013e: JUMPDEST 0000013f: DUP1 00000140: PUSH4 0x52d1902d 00000145: EQ 00000146: PUSH2 0x02af 00000149: JUMPI 0000014a: DUP1 0000014b: PUSH4 0x56d5d475 00000150: EQ 00000151: PUSH2 0x02c4 00000154: JUMPI 00000155: DUP1 00000156: PUSH4 0x6ad1b6ac 0000015b: EQ 0000015c: PUSH2 0x02d7 0000015f: JUMPI 00000160: PUSH1 0x00 00000162: DUP1 00000163: REVERT 00000164: JUMPDEST 00000165: DUP1 00000166: PUSH4 0x1ea9e2e3 0000016b: GT 0000016c: PUSH2 0x01a0 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x1ea9e2e3 00000176: EQ 00000177: PUSH2 0x023c 0000017a: JUMPI 0000017b: DUP1 0000017c: PUSH4 0x30c5b926 00000181: EQ 00000182: PUSH2 0x0269 00000185: JUMPI 00000186: DUP1 00000187: PUSH4 0x4eae2607 0000018c: EQ 0000018d: PUSH2 0x027c 00000190: JUMPI 00000191: DUP1 00000192: PUSH4 0x4f1ef286 00000197: EQ 00000198: PUSH2 0x029c 0000019b: JUMPI 0000019c: PUSH1 0x00 0000019e: DUP1 0000019f: REVERT 000001a0: JUMPDEST 000001a1: DUP1 000001a2: PUSH4 0x061b32c9 000001a7: EQ 000001a8: PUSH2 0x01c7 000001ab: JUMPI 000001ac: DUP1 000001ad: PUSH4 0x0b5e0b68 000001b2: EQ 000001b3: PUSH2 0x01fa 000001b6: JUMPI 000001b7: DUP1 000001b8: PUSH4 0x0e72cc06 000001bd: EQ 000001be: PUSH2 0x021c 000001c1: JUMPI 000001c2: JUMPDEST 000001c3: PUSH1 0x00 000001c5: DUP1 000001c6: REVERT 000001c7: JUMPDEST 000001c8: CALLVALUE 000001c9: DUP1 000001ca: ISZERO 000001cb: PUSH2 0x01d3 000001ce: JUMPI 000001cf: PUSH1 0x00 000001d1: DUP1 000001d2: REVERT 000001d3: JUMPDEST 000001d4: POP 000001d5: PUSH2 0x01e7 000001d8: PUSH2 0x01e2 000001db: CALLDATASIZE 000001dc: PUSH1 0x04 000001de: PUSH2 0x2727 000001e1: JUMP 000001e2: JUMPDEST 000001e3: PUSH2 0x0671 000001e6: JUMP 000001e7: JUMPDEST 000001e8: PUSH1 0x40 000001ea: MLOAD 000001eb: SWAP1 000001ec: DUP2 000001ed: MSTORE 000001ee: PUSH1 0x20 000001f0: ADD 000001f1: JUMPDEST 000001f2: PUSH1 0x40 000001f4: MLOAD 000001f5: DUP1 000001f6: SWAP2 000001f7: SUB 000001f8: SWAP1 000001f9: RETURN 000001fa: JUMPDEST 000001fb: CALLVALUE 000001fc: DUP1 000001fd: ISZERO 000001fe: PUSH2 0x0206 00000201: JUMPI 00000202: PUSH1 0x00 00000204: DUP1 00000205: REVERT 00000206: JUMPDEST 00000207: POP 00000208: PUSH2 0x021a 0000020b: PUSH2 0x0215 0000020e: CALLDATASIZE 0000020f: PUSH1 0x04 00000211: PUSH2 0x2806 00000214: JUMP 00000215: JUMPDEST 00000216: PUSH2 0x0886 00000219: JUMP 0000021a: JUMPDEST 0000021b: STOP 0000021c: JUMPDEST 0000021d: CALLVALUE 0000021e: DUP1 0000021f: ISZERO 00000220: PUSH2 0x0228 00000223: JUMPI 00000224: PUSH1 0x00 00000226: DUP1 00000227: REVERT 00000228: JUMPDEST 00000229: POP 0000022a: PUSH2 0x021a 0000022d: PUSH2 0x0237 00000230: CALLDATASIZE 00000231: PUSH1 0x04 00000233: PUSH2 0x288c 00000236: JUMP 00000237: JUMPDEST 00000238: PUSH2 0x0a9f 0000023b: JUMP 0000023c: JUMPDEST 0000023d: CALLVALUE 0000023e: DUP1 0000023f: ISZERO 00000240: PUSH2 0x0248 00000243: JUMPI 00000244: PUSH1 0x00 00000246: DUP1 00000247: REVERT 00000248: JUMPDEST 00000249: POP 0000024a: PUSH2 0x01e7 0000024d: PUSH2 0x0257 00000250: CALLDATASIZE 00000251: PUSH1 0x04 00000253: PUSH2 0x28a7 00000256: JUMP 00000257: JUMPDEST 00000258: PUSH1 0x04 0000025a: PUSH1 0x20 0000025c: MSTORE 0000025d: PUSH1 0x00 0000025f: SWAP1 00000260: DUP2 00000261: MSTORE 00000262: PUSH1 0x40 00000264: SWAP1 00000265: KECCAK256 00000266: SLOAD 00000267: DUP2 00000268: JUMP 00000269: JUMPDEST 0000026a: PUSH2 0x021a 0000026d: PUSH2 0x0277 00000270: CALLDATASIZE 00000271: PUSH1 0x04 00000273: PUSH2 0x29ae 00000276: JUMP 00000277: JUMPDEST 00000278: PUSH2 0x0ac9 0000027b: JUMP 0000027c: JUMPDEST 0000027d: CALLVALUE 0000027e: DUP1 0000027f: ISZERO 00000280: PUSH2 0x0288 00000283: JUMPI 00000284: PUSH1 0x00 00000286: DUP1 00000287: REVERT 00000288: JUMPDEST 00000289: POP 0000028a: PUSH2 0x01e7 0000028d: PUSH2 0x0297 00000290: CALLDATASIZE 00000291: PUSH1 0x04 00000293: PUSH2 0x2b48 00000296: JUMP 00000297: JUMPDEST 00000298: PUSH2 0x0c84 0000029b: JUMP 0000029c: JUMPDEST 0000029d: PUSH2 0x021a 000002a0: PUSH2 0x02aa 000002a3: CALLDATASIZE 000002a4: PUSH1 0x04 000002a6: PUSH2 0x2b8b 000002a9: JUMP 000002aa: JUMPDEST 000002ab: PUSH2 0x0dba 000002ae: JUMP 000002af: JUMPDEST 000002b0: CALLVALUE 000002b1: DUP1 000002b2: ISZERO 000002b3: PUSH2 0x02bb 000002b6: JUMPI 000002b7: PUSH1 0x00 000002b9: DUP1 000002ba: REVERT 000002bb: JUMPDEST 000002bc: POP 000002bd: PUSH2 0x01e7 000002c0: PUSH2 0x0dd9 000002c3: JUMP 000002c4: JUMPDEST 000002c5: PUSH2 0x021a 000002c8: PUSH2 0x02d2 000002cb: CALLDATASIZE 000002cc: PUSH1 0x04 000002ce: PUSH2 0x2bc2 000002d1: JUMP 000002d2: JUMPDEST 000002d3: PUSH2 0x0df6 000002d6: JUMP 000002d7: JUMPDEST 000002d8: CALLVALUE 000002d9: DUP1 000002da: ISZERO 000002db: PUSH2 0x02e3 000002de: JUMPI 000002df: PUSH1 0x00 000002e1: DUP1 000002e2: REVERT 000002e3: JUMPDEST 000002e4: POP 000002e5: PUSH2 0x01e7 000002e8: PUSH2 0x02f2 000002eb: CALLDATASIZE 000002ec: PUSH1 0x04 000002ee: PUSH2 0x2c1b 000002f1: JUMP 000002f2: JUMPDEST 000002f3: PUSH2 0x108d 000002f6: JUMP 000002f7: JUMPDEST 000002f8: CALLVALUE 000002f9: DUP1 000002fa: ISZERO 000002fb: PUSH2 0x0303 000002fe: JUMPI 000002ff: PUSH1 0x00 00000301: DUP1 00000302: REVERT 00000303: JUMPDEST 00000304: POP 00000305: PUSH1 0x00 00000307: SLOAD 00000308: PUSH2 0x0317 0000030b: SWAP1 0000030c: PUSH1 0x01 0000030e: PUSH1 0x01 00000310: PUSH1 0xa0 00000312: SHL 00000313: SUB 00000314: AND 00000315: DUP2 00000316: JUMP 00000317: JUMPDEST 00000318: PUSH1 0x40 0000031a: MLOAD 0000031b: PUSH1 0x01 0000031d: PUSH1 0x01 0000031f: PUSH1 0xa0 00000321: SHL 00000322: SUB 00000323: SWAP1 00000324: SWAP2 00000325: AND 00000326: DUP2 00000327: MSTORE 00000328: PUSH1 0x20 0000032a: ADD 0000032b: PUSH2 0x01f1 0000032e: JUMP 0000032f: JUMPDEST 00000330: CALLVALUE 00000331: DUP1 00000332: ISZERO 00000333: PUSH2 0x033b 00000336: JUMPI 00000337: PUSH1 0x00 00000339: DUP1 0000033a: REVERT 0000033b: JUMPDEST 0000033c: POP 0000033d: PUSH2 0x021a 00000340: PUSH2 0x12a0 00000343: JUMP 00000344: JUMPDEST 00000345: CALLVALUE 00000346: DUP1 00000347: ISZERO 00000348: PUSH2 0x0350 0000034b: JUMPI 0000034c: PUSH1 0x00 0000034e: DUP1 0000034f: REVERT 00000350: JUMPDEST 00000351: POP 00000352: PUSH2 0x0374 00000355: PUSH2 0x035f 00000358: CALLDATASIZE 00000359: PUSH1 0x04 0000035b: PUSH2 0x2ca5 0000035e: JUMP 0000035f: JUMPDEST 00000360: PUSH1 0x07 00000362: PUSH1 0x20 00000364: MSTORE 00000365: PUSH1 0x00 00000367: SWAP1 00000368: DUP2 00000369: MSTORE 0000036a: PUSH1 0x40 0000036c: SWAP1 0000036d: KECCAK256 0000036e: SLOAD 0000036f: PUSH1 0xff 00000371: AND 00000372: DUP2 00000373: JUMP 00000374: JUMPDEST 00000375: PUSH1 0x40 00000377: MLOAD 00000378: PUSH2 0x01f1 0000037b: SWAP2 0000037c: SWAP1 0000037d: PUSH2 0x2cd4 00000380: JUMP 00000381: JUMPDEST 00000382: CALLVALUE 00000383: DUP1 00000384: ISZERO 00000385: PUSH2 0x038d 00000388: JUMPI 00000389: PUSH1 0x00 0000038b: DUP1 0000038c: REVERT 0000038d: JUMPDEST 0000038e: POP 0000038f: PUSH2 0x03cc 00000392: PUSH2 0x039c 00000395: CALLDATASIZE 00000396: PUSH1 0x04 00000398: PUSH2 0x2ca5 0000039b: JUMP 0000039c: JUMPDEST 0000039d: PUSH1 0x06 0000039f: PUSH1 0x20 000003a1: MSTORE 000003a2: PUSH1 0x00 000003a4: SWAP1 000003a5: DUP2 000003a6: MSTORE 000003a7: PUSH1 0x40 000003a9: SWAP1 000003aa: KECCAK256 000003ab: DUP1 000003ac: SLOAD 000003ad: PUSH1 0x01 000003af: DUP3 000003b0: ADD 000003b1: SLOAD 000003b2: PUSH1 0x02 000003b4: DUP4 000003b5: ADD 000003b6: SLOAD 000003b7: PUSH1 0x03 000003b9: SWAP1 000003ba: SWAP4 000003bb: ADD 000003bc: SLOAD 000003bd: SWAP2 000003be: SWAP3 000003bf: SWAP1 000003c0: SWAP2 000003c1: PUSH4 0xffffffff 000003c6: SWAP1 000003c7: SWAP2 000003c8: AND 000003c9: SWAP1 000003ca: DUP5 000003cb: JUMP 000003cc: JUMPDEST 000003cd: PUSH1 0x40 000003cf: MLOAD 000003d0: PUSH2 0x01f1 000003d3: SWAP5 000003d4: SWAP4 000003d5: SWAP3 000003d6: SWAP2 000003d7: SWAP1 000003d8: SWAP4 000003d9: DUP5 000003da: MSTORE 000003db: PUSH1 0x20 000003dd: DUP5 000003de: ADD 000003df: SWAP3 000003e0: SWAP1 000003e1: SWAP3 000003e2: MSTORE 000003e3: PUSH4 0xffffffff 000003e8: AND 000003e9: PUSH1 0x40 000003eb: DUP4 000003ec: ADD 000003ed: MSTORE 000003ee: PUSH1 0x60 000003f0: DUP3 000003f1: ADD 000003f2: MSTORE 000003f3: PUSH1 0x80 000003f5: ADD 000003f6: SWAP1 000003f7: JUMP 000003f8: JUMPDEST 000003f9: PUSH2 0x021a 000003fc: PUSH2 0x0406 000003ff: CALLDATASIZE 00000400: PUSH1 0x04 00000402: PUSH2 0x2cfc 00000405: JUMP 00000406: JUMPDEST 00000407: PUSH2 0x12b4 0000040a: JUMP 0000040b: JUMPDEST 0000040c: CALLVALUE 0000040d: DUP1 0000040e: ISZERO 0000040f: PUSH2 0x0417 00000412: JUMPI 00000413: PUSH1 0x00 00000415: DUP1 00000416: REVERT 00000417: JUMPDEST 00000418: POP 00000419: PUSH1 0x03 0000041b: SLOAD 0000041c: PUSH2 0x042f 0000041f: SWAP1 00000420: PUSH1 0x01 00000422: PUSH1 0xa0 00000424: SHL 00000425: SWAP1 00000426: DIV 00000427: PUSH4 0xffffffff 0000042c: AND 0000042d: DUP2 0000042e: JUMP 0000042f: JUMPDEST 00000430: PUSH1 0x40 00000432: MLOAD 00000433: PUSH4 0xffffffff 00000438: SWAP1 00000439: SWAP2 0000043a: AND 0000043b: DUP2 0000043c: MSTORE 0000043d: PUSH1 0x20 0000043f: ADD 00000440: PUSH2 0x01f1 00000443: JUMP 00000444: JUMPDEST 00000445: CALLVALUE 00000446: DUP1 00000447: ISZERO 00000448: PUSH2 0x0450 0000044b: JUMPI 0000044c: PUSH1 0x00 0000044e: DUP1 0000044f: REVERT 00000450: JUMPDEST 00000451: POP 00000452: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00000473: SLOAD 00000474: PUSH1 0x01 00000476: PUSH1 0x01 00000478: PUSH1 0xa0 0000047a: SHL 0000047b: SUB 0000047c: AND 0000047d: PUSH2 0x0317 00000480: JUMP 00000481: JUMPDEST 00000482: CALLVALUE 00000483: DUP1 00000484: ISZERO 00000485: PUSH2 0x048d 00000488: JUMPI 00000489: PUSH1 0x00 0000048b: DUP1 0000048c: REVERT 0000048d: JUMPDEST 0000048e: POP 0000048f: PUSH2 0x04b2 00000492: PUSH1 0x40 00000494: MLOAD 00000495: DUP1 00000496: PUSH1 0x40 00000498: ADD 00000499: PUSH1 0x40 0000049b: MSTORE 0000049c: DUP1 0000049d: PUSH1 0x05 0000049f: DUP2 000004a0: MSTORE 000004a1: PUSH1 0x20 000004a3: ADD 000004a4: PUSH5 0x0352e302e3 000004aa: PUSH1 0xdc 000004ac: SHL 000004ad: DUP2 000004ae: MSTORE 000004af: POP 000004b0: DUP2 000004b1: JUMP 000004b2: JUMPDEST 000004b3: PUSH1 0x40 000004b5: MLOAD 000004b6: PUSH2 0x01f1 000004b9: SWAP2 000004ba: SWAP1 000004bb: PUSH2 0x2d88 000004be: JUMP 000004bf: JUMPDEST 000004c0: CALLVALUE 000004c1: DUP1 000004c2: ISZERO 000004c3: PUSH2 0x04cb 000004c6: JUMPI 000004c7: PUSH1 0x00 000004c9: DUP1 000004ca: REVERT 000004cb: JUMPDEST 000004cc: POP 000004cd: PUSH1 0x05 000004cf: SLOAD 000004d0: PUSH2 0x042f 000004d3: SWAP1 000004d4: PUSH4 0xffffffff 000004d9: AND 000004da: DUP2 000004db: JUMP 000004dc: JUMPDEST 000004dd: CALLVALUE 000004de: DUP1 000004df: ISZERO 000004e0: PUSH2 0x04e8 000004e3: JUMPI 000004e4: PUSH1 0x00 000004e6: DUP1 000004e7: REVERT 000004e8: JUMPDEST 000004e9: POP 000004ea: PUSH2 0x021a 000004ed: PUSH2 0x04f7 000004f0: CALLDATASIZE 000004f1: PUSH1 0x04 000004f3: PUSH2 0x2d9b 000004f6: JUMP 000004f7: JUMPDEST 000004f8: PUSH2 0x1519 000004fb: JUMP 000004fc: JUMPDEST 000004fd: CALLVALUE 000004fe: DUP1 000004ff: ISZERO 00000500: PUSH2 0x0508 00000503: JUMPI 00000504: PUSH1 0x00 00000506: DUP1 00000507: REVERT 00000508: JUMPDEST 00000509: POP 0000050a: PUSH1 0x09 0000050c: SLOAD 0000050d: PUSH2 0x0317 00000510: SWAP1 00000511: PUSH1 0x01 00000513: PUSH1 0x01 00000515: PUSH1 0xa0 00000517: SHL 00000518: SUB 00000519: AND 0000051a: DUP2 0000051b: JUMP 0000051c: JUMPDEST 0000051d: CALLVALUE 0000051e: DUP1 0000051f: ISZERO 00000520: PUSH2 0x0528 00000523: JUMPI 00000524: PUSH1 0x00 00000526: DUP1 00000527: REVERT 00000528: JUMPDEST 00000529: POP 0000052a: PUSH1 0x02 0000052c: SLOAD 0000052d: PUSH2 0x0317 00000530: SWAP1 00000531: PUSH1 0x01 00000533: PUSH1 0x01 00000535: PUSH1 0xa0 00000537: SHL 00000538: SUB 00000539: AND 0000053a: DUP2 0000053b: JUMP 0000053c: JUMPDEST 0000053d: CALLVALUE 0000053e: DUP1 0000053f: ISZERO 00000540: PUSH2 0x0548 00000543: JUMPI 00000544: PUSH1 0x00 00000546: DUP1 00000547: REVERT 00000548: JUMPDEST 00000549: POP 0000054a: PUSH1 0x03 0000054c: SLOAD 0000054d: PUSH2 0x0317 00000550: SWAP1 00000551: PUSH1 0x01 00000553: PUSH1 0x01 00000555: PUSH1 0xa0 00000557: SHL 00000558: SUB 00000559: AND 0000055a: DUP2 0000055b: JUMP 0000055c: JUMPDEST 0000055d: CALLVALUE 0000055e: DUP1 0000055f: ISZERO 00000560: PUSH2 0x0568 00000563: JUMPI 00000564: PUSH1 0x00 00000566: DUP1 00000567: REVERT 00000568: JUMPDEST 00000569: POP 0000056a: PUSH2 0x021a 0000056d: PUSH2 0x0577 00000570: CALLDATASIZE 00000571: PUSH1 0x04 00000573: PUSH2 0x2dde 00000576: JUMP 00000577: JUMPDEST 00000578: PUSH2 0x1953 0000057b: JUMP 0000057c: JUMPDEST 0000057d: CALLVALUE 0000057e: DUP1 0000057f: ISZERO 00000580: PUSH2 0x0588 00000583: JUMPI 00000584: PUSH1 0x00 00000586: DUP1 00000587: REVERT 00000588: JUMPDEST 00000589: POP 0000058a: PUSH2 0x01e7 0000058d: PUSH2 0x0597 00000590: CALLDATASIZE 00000591: PUSH1 0x04 00000593: PUSH2 0x2e08 00000596: JUMP 00000597: JUMPDEST 00000598: PUSH2 0x1974 0000059b: JUMP 0000059c: JUMPDEST 0000059d: CALLVALUE 0000059e: DUP1 0000059f: ISZERO 000005a0: PUSH2 0x05a8 000005a3: JUMPI 000005a4: PUSH1 0x00 000005a6: DUP1 000005a7: REVERT 000005a8: JUMPDEST 000005a9: POP 000005aa: PUSH2 0x021a 000005ad: PUSH2 0x05b7 000005b0: CALLDATASIZE 000005b1: PUSH1 0x04 000005b3: PUSH2 0x288c 000005b6: JUMP 000005b7: JUMPDEST 000005b8: PUSH2 0x1a4e 000005bb: JUMP 000005bc: JUMPDEST 000005bd: CALLVALUE 000005be: DUP1 000005bf: ISZERO 000005c0: PUSH2 0x05c8 000005c3: JUMPI 000005c4: PUSH1 0x00 000005c6: DUP1 000005c7: REVERT 000005c8: JUMPDEST 000005c9: POP 000005ca: PUSH2 0x021a 000005cd: PUSH2 0x05d7 000005d0: CALLDATASIZE 000005d1: PUSH1 0x04 000005d3: PUSH2 0x288c 000005d6: JUMP 000005d7: JUMPDEST 000005d8: PUSH2 0x1a8c 000005db: JUMP 000005dc: JUMPDEST 000005dd: CALLVALUE 000005de: DUP1 000005df: ISZERO 000005e0: PUSH2 0x05e8 000005e3: JUMPI 000005e4: PUSH1 0x00 000005e6: DUP1 000005e7: REVERT 000005e8: JUMPDEST 000005e9: POP 000005ea: PUSH2 0x0628 000005ed: PUSH2 0x05f7 000005f0: CALLDATASIZE 000005f1: PUSH1 0x04 000005f3: PUSH2 0x2ca5 000005f6: JUMP 000005f7: JUMPDEST 000005f8: PUSH1 0x08 000005fa: PUSH1 0x20 000005fc: MSTORE 000005fd: PUSH1 0x00 000005ff: SWAP1 00000600: DUP2 00000601: MSTORE 00000602: PUSH1 0x40 00000604: SWAP1 00000605: KECCAK256 00000606: DUP1 00000607: SLOAD 00000608: PUSH1 0x01 0000060a: SWAP1 0000060b: SWAP2 0000060c: ADD 0000060d: SLOAD 0000060e: PUSH1 0x01 00000610: PUSH1 0x01 00000612: PUSH1 0xa0 00000614: SHL 00000615: SUB 00000616: DUP2 00000617: AND 00000618: SWAP1 00000619: PUSH1 0x01 0000061b: PUSH1 0xa0 0000061d: SHL 0000061e: SWAP1 0000061f: DIV 00000620: PUSH4 0xffffffff 00000625: AND 00000626: DUP4 00000627: JUMP 00000628: JUMPDEST 00000629: PUSH1 0x40 0000062b: DUP1 0000062c: MLOAD 0000062d: SWAP4 0000062e: DUP5 0000062f: MSTORE 00000630: PUSH1 0x01 00000632: PUSH1 0x01 00000634: PUSH1 0xa0 00000636: SHL 00000637: SUB 00000638: SWAP1 00000639: SWAP3 0000063a: AND 0000063b: PUSH1 0x20 0000063d: DUP5 0000063e: ADD 0000063f: MSTORE 00000640: PUSH4 0xffffffff 00000645: AND 00000646: SWAP1 00000647: DUP3 00000648: ADD 00000649: MSTORE 0000064a: PUSH1 0x60 0000064c: ADD 0000064d: PUSH2 0x01f1 00000650: JUMP 00000651: JUMPDEST 00000652: CALLVALUE 00000653: DUP1 00000654: ISZERO 00000655: PUSH2 0x065d 00000658: JUMPI 00000659: PUSH1 0x00 0000065b: DUP1 0000065c: REVERT 0000065d: JUMPDEST 0000065e: POP 0000065f: PUSH1 0x01 00000661: SLOAD 00000662: PUSH2 0x0317 00000665: SWAP1 00000666: PUSH1 0x01 00000668: PUSH1 0x01 0000066a: PUSH1 0xa0 0000066c: SHL 0000066d: SUB 0000066e: AND 0000066f: DUP2 00000670: JUMP 00000671: JUMPDEST 00000672: PUSH1 0x00 00000674: TIMESTAMP 00000675: DUP8 00000676: PUSH1 0x01 00000678: PUSH1 0x01 0000067a: PUSH1 0x40 0000067c: SHL 0000067d: SUB 0000067e: AND 0000067f: GT 00000680: PUSH2 0x06a4 00000683: JUMPI 00000684: PUSH1 0x40 00000686: MLOAD 00000687: PUSH3 0x461bcd 0000068b: PUSH1 0xe5 0000068d: SHL 0000068e: DUP2 0000068f: MSTORE 00000690: PUSH1 0x04 00000692: ADD 00000693: PUSH2 0x069b 00000696: SWAP1 00000697: PUSH2 0x2e5e 0000069a: JUMP 0000069b: JUMPDEST 0000069c: PUSH1 0x40 0000069e: MLOAD 0000069f: DUP1 000006a0: SWAP2 000006a1: SUB 000006a2: SWAP1 000006a3: REVERT 000006a4: JUMPDEST 000006a5: PUSH1 0x40 000006a7: DUP1 000006a8: MLOAD 000006a9: PUSH2 0x0120 000006ac: DUP2 000006ad: ADD 000006ae: DUP3 000006af: MSTORE 000006b0: DUP14 000006b1: DUP2 000006b2: MSTORE 000006b3: PUSH1 0x20 000006b5: DUP1 000006b6: DUP3 000006b7: ADD 000006b8: DUP15 000006b9: SWAP1 000006ba: MSTORE 000006bb: DUP2 000006bc: DUP4 000006bd: ADD 000006be: DUP14 000006bf: SWAP1 000006c0: MSTORE 000006c1: PUSH1 0x60 000006c3: DUP3 000006c4: ADD 000006c5: DUP13 000006c6: SWAP1 000006c7: MSTORE 000006c8: PUSH1 0x05 000006ca: SLOAD 000006cb: PUSH4 0xffffffff 000006d0: SWAP1 000006d1: DUP2 000006d2: AND 000006d3: PUSH1 0x80 000006d5: DUP5 000006d6: ADD 000006d7: MSTORE 000006d8: PUSH1 0x03 000006da: SLOAD 000006db: PUSH1 0x01 000006dd: PUSH1 0xa0 000006df: SHL 000006e0: SWAP1 000006e1: DIV 000006e2: DUP2 000006e3: AND 000006e4: PUSH1 0xa0 000006e6: DUP5 000006e7: ADD 000006e8: MSTORE 000006e9: DUP12 000006ea: AND 000006eb: PUSH1 0xc0 000006ed: DUP4 000006ee: ADD 000006ef: MSTORE 000006f0: PUSH1 0x01 000006f2: PUSH1 0x01 000006f4: PUSH1 0x40 000006f6: SHL 000006f7: SUB 000006f8: DUP11 000006f9: AND 000006fa: PUSH1 0xe0 000006fc: DUP4 000006fd: ADD 000006fe: MSTORE 000006ff: DUP3 00000700: MLOAD 00000701: PUSH1 0x1f 00000703: DUP9 00000704: ADD 00000705: DUP3 00000706: SWAP1 00000707: DIV 00000708: DUP3 00000709: MUL 0000070a: DUP2 0000070b: ADD 0000070c: DUP3 0000070d: ADD 0000070e: SWAP1 0000070f: SWAP4 00000710: MSTORE 00000711: DUP7 00000712: DUP4 00000713: MSTORE 00000714: PUSH1 0x00 00000716: SWAP3 00000717: PUSH2 0x0100 0000071a: DUP4 0000071b: ADD 0000071c: SWAP2 0000071d: DUP10 0000071e: SWAP1 0000071f: DUP10 00000720: SWAP1 00000721: DUP2 00000722: SWAP1 00000723: DUP5 00000724: ADD 00000725: DUP4 00000726: DUP3 00000727: DUP1 00000728: DUP3 00000729: DUP5 0000072a: CALLDATACOPY 0000072b: PUSH1 0x00 0000072d: SWAP3 0000072e: ADD 0000072f: DUP3 00000730: SWAP1 00000731: MSTORE 00000732: POP 00000733: SWAP4 00000734: SWAP1 00000735: SWAP5 00000736: MSTORE 00000737: POP 00000738: SWAP3 00000739: SWAP4 0000073a: POP 0000073b: SWAP2 0000073c: POP 0000073d: PUSH2 0x0747 00000740: SWAP1 00000741: POP 00000742: DUP3 00000743: PUSH2 0x1ab6 00000746: JUMP 00000747: JUMPDEST 00000748: PUSH4 0xffffffff 0000074d: DUP12 0000074e: AND 0000074f: PUSH1 0x00 00000751: SWAP1 00000752: DUP2 00000753: MSTORE 00000754: PUSH1 0x04 00000756: PUSH1 0x20 00000758: MSTORE 00000759: PUSH1 0x40 0000075b: SWAP1 0000075c: KECCAK256 0000075d: SLOAD 0000075e: SWAP1 0000075f: SWAP2 00000760: POP 00000761: PUSH2 0x077c 00000764: JUMPI 00000765: PUSH1 0x40 00000767: MLOAD 00000768: PUSH3 0x461bcd 0000076c: PUSH1 0xe5 0000076e: SHL 0000076f: DUP2 00000770: MSTORE 00000771: PUSH1 0x04 00000773: ADD 00000774: PUSH2 0x069b 00000777: SWAP1 00000778: PUSH2 0x2ebb 0000077b: JUMP 0000077c: JUMPDEST 0000077d: PUSH1 0x05 0000077f: DUP1 00000780: SLOAD 00000781: PUSH1 0x01 00000783: SWAP2 00000784: SWAP1 00000785: PUSH1 0x00 00000787: SWAP1 00000788: PUSH2 0x0798 0000078b: SWAP1 0000078c: DUP5 0000078d: SWAP1 0000078e: PUSH4 0xffffffff 00000793: AND 00000794: PUSH2 0x2f22 00000797: JUMP 00000798: JUMPDEST 00000799: DUP3 0000079a: SLOAD 0000079b: PUSH2 0x0100 0000079e: SWAP3 0000079f: SWAP1 000007a0: SWAP3 000007a1: EXP 000007a2: PUSH4 0xffffffff 000007a7: DUP2 000007a8: DUP2 000007a9: MUL 000007aa: NOT 000007ab: SWAP1 000007ac: SWAP4 000007ad: AND 000007ae: SWAP2 000007af: DUP4 000007b0: AND 000007b1: MUL 000007b2: OR 000007b3: SWAP1 000007b4: SWAP2 000007b5: SSTORE 000007b6: PUSH1 0x40 000007b8: DUP1 000007b9: MLOAD 000007ba: PUSH1 0x80 000007bc: DUP1 000007bd: DUP3 000007be: ADD 000007bf: DUP4 000007c0: MSTORE 000007c1: DUP7 000007c2: MLOAD 000007c3: DUP3 000007c4: MSTORE 000007c5: DUP7 000007c6: ADD 000007c7: MLOAD 000007c8: DUP4 000007c9: AND 000007ca: PUSH1 0x20 000007cc: DUP1 000007cd: DUP4 000007ce: ADD 000007cf: SWAP2 000007d0: DUP3 000007d1: MSTORE 000007d2: PUSH1 0xc0 000007d4: DUP9 000007d5: ADD 000007d6: MLOAD 000007d7: DUP6 000007d8: AND 000007d9: DUP4 000007da: DUP6 000007db: ADD 000007dc: SWAP1 000007dd: DUP2 000007de: MSTORE 000007df: DUP9 000007e0: DUP6 000007e1: ADD 000007e2: MLOAD 000007e3: PUSH1 0x60 000007e5: DUP6 000007e6: ADD 000007e7: SWAP1 000007e8: DUP2 000007e9: MSTORE 000007ea: PUSH1 0x00 000007ec: DUP10 000007ed: DUP2 000007ee: MSTORE 000007ef: PUSH1 0x06 000007f1: SWAP1 000007f2: SWAP4 000007f3: MSTORE 000007f4: SWAP5 000007f5: SWAP1 000007f6: SWAP2 000007f7: KECCAK256 000007f8: SWAP3 000007f9: MLOAD 000007fa: DUP4 000007fb: SSTORE 000007fc: SWAP1 000007fd: MLOAD 000007fe: PUSH1 0x01 00000800: DUP4 00000801: ADD 00000802: SSTORE 00000803: MLOAD 00000804: PUSH1 0x02 00000806: DUP3 00000807: ADD 00000808: DUP1 00000809: SLOAD 0000080a: PUSH4 0xffffffff 0000080f: NOT 00000810: AND 00000811: SWAP2 00000812: SWAP1 00000813: SWAP5 00000814: AND 00000815: OR 00000816: SWAP1 00000817: SWAP3 00000818: SSTORE 00000819: MLOAD 0000081a: PUSH1 0x03 0000081c: SWAP1 0000081d: SWAP2 0000081e: ADD 0000081f: SSTORE 00000820: POP 00000821: DUP1 00000822: PUSH32 0x59f858504f8d8ad967dd7453df850e265270474e364b7e2fbd3333e06efdbfc0 00000843: PUSH2 0x084b 00000846: DUP5 00000847: PUSH2 0x1ac1 0000084a: JUMP 0000084b: JUMPDEST 0000084c: PUSH1 0x40 0000084e: MLOAD 0000084f: PUSH2 0x0858 00000852: SWAP2 00000853: SWAP1 00000854: PUSH2 0x2d88 00000857: JUMP 00000858: JUMPDEST 00000859: PUSH1 0x40 0000085b: MLOAD 0000085c: DUP1 0000085d: SWAP2 0000085e: SUB 0000085f: SWAP1 00000860: LOG2 00000861: PUSH2 0x0875 00000864: DUP3 00000865: PUSH1 0x40 00000867: ADD 00000868: MLOAD 00000869: DUP10 0000086a: DUP5 0000086b: PUSH1 0x80 0000086d: ADD 0000086e: MLOAD 0000086f: DUP9 00000870: DUP9 00000871: PUSH2 0x1b1f 00000874: JUMP 00000875: JUMPDEST 00000876: SWAP14 00000877: SWAP13 00000878: POP 00000879: POP 0000087a: POP 0000087b: POP 0000087c: POP 0000087d: POP 0000087e: POP 0000087f: POP 00000880: POP 00000881: POP 00000882: POP 00000883: POP 00000884: POP 00000885: JUMP 00000886: JUMPDEST 00000887: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 000008a8: DUP1 000008a9: SLOAD 000008aa: PUSH1 0x01 000008ac: PUSH1 0x40 000008ae: SHL 000008af: DUP2 000008b0: DIV 000008b1: PUSH1 0xff 000008b3: AND 000008b4: ISZERO 000008b5: SWAP1 000008b6: PUSH1 0x01 000008b8: PUSH1 0x01 000008ba: PUSH1 0x40 000008bc: SHL 000008bd: SUB 000008be: AND 000008bf: PUSH1 0x00 000008c1: DUP2 000008c2: ISZERO 000008c3: DUP1 000008c4: ISZERO 000008c5: PUSH2 0x08cb 000008c8: JUMPI 000008c9: POP 000008ca: DUP3 000008cb: JUMPDEST 000008cc: SWAP1 000008cd: POP 000008ce: PUSH1 0x00 000008d0: DUP3 000008d1: PUSH1 0x01 000008d3: PUSH1 0x01 000008d5: PUSH1 0x40 000008d7: SHL 000008d8: SUB 000008d9: AND 000008da: PUSH1 0x01 000008dc: EQ 000008dd: DUP1 000008de: ISZERO 000008df: PUSH2 0x08e7 000008e2: JUMPI 000008e3: POP 000008e4: ADDRESS 000008e5: EXTCODESIZE 000008e6: ISZERO 000008e7: JUMPDEST 000008e8: SWAP1 000008e9: POP 000008ea: DUP2 000008eb: ISZERO 000008ec: DUP1 000008ed: ISZERO 000008ee: PUSH2 0x08f5 000008f1: JUMPI 000008f2: POP 000008f3: DUP1 000008f4: ISZERO 000008f5: JUMPDEST 000008f6: ISZERO 000008f7: PUSH2 0x0913 000008fa: JUMPI 000008fb: PUSH1 0x40 000008fd: MLOAD 000008fe: PUSH4 0xf92ee8a9 00000903: PUSH1 0xe0 00000905: SHL 00000906: DUP2 00000907: MSTORE 00000908: PUSH1 0x04 0000090a: ADD 0000090b: PUSH1 0x40 0000090d: MLOAD 0000090e: DUP1 0000090f: SWAP2 00000910: SUB 00000911: SWAP1 00000912: REVERT 00000913: JUMPDEST 00000914: DUP5 00000915: SLOAD 00000916: PUSH8 0xffffffffffffffff 0000091f: NOT 00000920: AND 00000921: PUSH1 0x01 00000923: OR 00000924: DUP6 00000925: SSTORE 00000926: DUP4 00000927: ISZERO 00000928: PUSH2 0x093d 0000092b: JUMPI 0000092c: DUP5 0000092d: SLOAD 0000092e: PUSH1 0xff 00000930: PUSH1 0x40 00000932: SHL 00000933: NOT 00000934: AND 00000935: PUSH1 0x01 00000937: PUSH1 0x40 00000939: SHL 0000093a: OR 0000093b: DUP6 0000093c: SSTORE 0000093d: JUMPDEST 0000093e: PUSH2 0x0946 00000941: DUP12 00000942: PUSH2 0x1bd1 00000945: JUMP 00000946: JUMPDEST 00000947: DUP10 00000948: PUSH1 0x01 0000094a: PUSH1 0x00 0000094c: PUSH2 0x0100 0000094f: EXP 00000950: DUP2 00000951: SLOAD 00000952: DUP2 00000953: PUSH1 0x01 00000955: PUSH1 0x01 00000957: PUSH1 0xa0 00000959: SHL 0000095a: SUB 0000095b: MUL 0000095c: NOT 0000095d: AND 0000095e: SWAP1 0000095f: DUP4 00000960: PUSH1 0x01 00000962: PUSH1 0x01 00000964: PUSH1 0xa0 00000966: SHL 00000967: SUB 00000968: AND 00000969: MUL 0000096a: OR 0000096b: SWAP1 0000096c: SSTORE 0000096d: POP 0000096e: DUP9 0000096f: PUSH1 0x02 00000971: PUSH1 0x00 00000973: PUSH2 0x0100 00000976: EXP 00000977: DUP2 00000978: SLOAD 00000979: DUP2 0000097a: PUSH1 0x01 0000097c: PUSH1 0x01 0000097e: PUSH1 0xa0 00000980: SHL 00000981: SUB 00000982: MUL 00000983: NOT 00000984: AND 00000985: SWAP1 00000986: DUP4 00000987: PUSH1 0x01 00000989: PUSH1 0x01 0000098b: PUSH1 0xa0 0000098d: SHL 0000098e: SUB 0000098f: AND 00000990: MUL 00000991: OR 00000992: SWAP1 00000993: SSTORE 00000994: POP 00000995: DUP8 00000996: PUSH1 0x03 00000998: PUSH1 0x00 0000099a: PUSH2 0x0100 0000099d: EXP 0000099e: DUP2 0000099f: SLOAD 000009a0: DUP2 000009a1: PUSH1 0x01 000009a3: PUSH1 0x01 000009a5: PUSH1 0xa0 000009a7: SHL 000009a8: SUB 000009a9: MUL 000009aa: NOT 000009ab: AND 000009ac: SWAP1 000009ad: DUP4 000009ae: PUSH1 0x01 000009b0: PUSH1 0x01 000009b2: PUSH1 0xa0 000009b4: SHL 000009b5: SUB 000009b6: AND 000009b7: MUL 000009b8: OR 000009b9: SWAP1 000009ba: SSTORE 000009bb: POP 000009bc: DUP12 000009bd: PUSH1 0x03 000009bf: PUSH1 0x14 000009c1: PUSH2 0x0100 000009c4: EXP 000009c5: DUP2 000009c6: SLOAD 000009c7: DUP2 000009c8: PUSH4 0xffffffff 000009cd: MUL 000009ce: NOT 000009cf: AND 000009d0: SWAP1 000009d1: DUP4 000009d2: PUSH4 0xffffffff 000009d7: AND 000009d8: MUL 000009d9: OR 000009da: SWAP1 000009db: SSTORE 000009dc: POP 000009dd: DUP7 000009de: PUSH1 0x00 000009e0: DUP1 000009e1: PUSH2 0x0100 000009e4: EXP 000009e5: DUP2 000009e6: SLOAD 000009e7: DUP2 000009e8: PUSH1 0x01 000009ea: PUSH1 0x01 000009ec: PUSH1 0xa0 000009ee: SHL 000009ef: SUB 000009f0: MUL 000009f1: NOT 000009f2: AND 000009f3: SWAP1 000009f4: DUP4 000009f5: PUSH1 0x01 000009f7: PUSH1 0x01 000009f9: PUSH1 0xa0 000009fb: SHL 000009fc: SUB 000009fd: AND 000009fe: MUL 000009ff: OR 00000a00: SWAP1 00000a01: SSTORE 00000a02: POP 00000a03: PUSH1 0x01 00000a05: PUSH1 0x05 00000a07: PUSH1 0x00 00000a09: PUSH2 0x0100 00000a0c: EXP 00000a0d: DUP2 00000a0e: SLOAD 00000a0f: DUP2 00000a10: PUSH4 0xffffffff 00000a15: MUL 00000a16: NOT 00000a17: AND 00000a18: SWAP1 00000a19: DUP4 00000a1a: PUSH4 0xffffffff 00000a1f: AND 00000a20: MUL 00000a21: OR 00000a22: SWAP1 00000a23: SSTORE 00000a24: POP 00000a25: DUP6 00000a26: PUSH1 0x09 00000a28: PUSH1 0x00 00000a2a: PUSH2 0x0100 00000a2d: EXP 00000a2e: DUP2 00000a2f: SLOAD 00000a30: DUP2 00000a31: PUSH1 0x01 00000a33: PUSH1 0x01 00000a35: PUSH1 0xa0 00000a37: SHL 00000a38: SUB 00000a39: MUL 00000a3a: NOT 00000a3b: AND 00000a3c: SWAP1 00000a3d: DUP4 00000a3e: PUSH1 0x01 00000a40: PUSH1 0x01 00000a42: PUSH1 0xa0 00000a44: SHL 00000a45: SUB 00000a46: AND 00000a47: MUL 00000a48: OR 00000a49: SWAP1 00000a4a: SSTORE 00000a4b: POP 00000a4c: DUP4 00000a4d: ISZERO 00000a4e: PUSH2 0x0a91 00000a51: JUMPI 00000a52: DUP5 00000a53: SLOAD 00000a54: PUSH1 0xff 00000a56: PUSH1 0x40 00000a58: SHL 00000a59: NOT 00000a5a: AND 00000a5b: DUP6 00000a5c: SSTORE 00000a5d: PUSH1 0x40 00000a5f: MLOAD 00000a60: PUSH1 0x01 00000a62: DUP2 00000a63: MSTORE 00000a64: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00000a85: SWAP1 00000a86: PUSH1 0x20 00000a88: ADD 00000a89: PUSH1 0x40 00000a8b: MLOAD 00000a8c: DUP1 00000a8d: SWAP2 00000a8e: SUB 00000a8f: SWAP1 00000a90: LOG1 00000a91: JUMPDEST 00000a92: POP 00000a93: POP 00000a94: POP 00000a95: POP 00000a96: POP 00000a97: POP 00000a98: POP 00000a99: POP 00000a9a: POP 00000a9b: POP 00000a9c: POP 00000a9d: POP 00000a9e: JUMP 00000a9f: JUMPDEST 00000aa0: PUSH2 0x0aa7 00000aa3: PUSH2 0x1be2 00000aa6: JUMP 00000aa7: JUMPDEST 00000aa8: PUSH1 0x03 00000aaa: DUP1 00000aab: SLOAD 00000aac: PUSH1 0x01 00000aae: PUSH1 0x01 00000ab0: PUSH1 0xa0 00000ab2: SHL 00000ab3: SUB 00000ab4: NOT 00000ab5: AND 00000ab6: PUSH1 0x01 00000ab8: PUSH1 0x01 00000aba: PUSH1 0xa0 00000abc: SHL 00000abd: SUB 00000abe: SWAP3 00000abf: SWAP1 00000ac0: SWAP3 00000ac1: AND 00000ac2: SWAP2 00000ac3: SWAP1 00000ac4: SWAP2 00000ac5: OR 00000ac6: SWAP1 00000ac7: SSTORE 00000ac8: JUMP 00000ac9: JUMPDEST 00000aca: PUSH2 0x0ad2 00000acd: DUP2 00000ace: PUSH2 0x1c3d 00000ad1: JUMP 00000ad2: JUMPDEST 00000ad3: PUSH1 0x00 00000ad5: DUP1 00000ad6: JUMPDEST 00000ad7: DUP3 00000ad8: MLOAD 00000ad9: DUP2 00000ada: LT 00000adb: ISZERO 00000adc: PUSH2 0x0ba9 00000adf: JUMPI 00000ae0: DUP3 00000ae1: DUP2 00000ae2: ADD 00000ae3: PUSH1 0x20 00000ae5: ADD 00000ae6: MLOAD 00000ae7: PUSH1 0x00 00000ae9: PUSH2 0x0af1 00000aec: DUP3 00000aed: PUSH2 0x1cf9 00000af0: JUMP 00000af1: JUMPDEST 00000af2: PUSH1 0x20 00000af4: DUP2 00000af5: ADD 00000af6: MLOAD 00000af7: SWAP1 00000af8: SWAP2 00000af9: POP 00000afa: PUSH1 0x01 00000afc: PUSH1 0x01 00000afe: PUSH1 0xa0 00000b00: SHL 00000b01: SUB 00000b02: AND 00000b03: CALLER 00000b04: EQ 00000b05: PUSH2 0x0b5a 00000b08: JUMPI 00000b09: PUSH1 0x40 00000b0b: MLOAD 00000b0c: PUSH3 0x461bcd 00000b10: PUSH1 0xe5 00000b12: SHL 00000b13: DUP2 00000b14: MSTORE 00000b15: PUSH1 0x20 00000b17: PUSH1 0x04 00000b19: DUP3 00000b1a: ADD 00000b1b: MSTORE 00000b1c: PUSH1 0x21 00000b1e: PUSH1 0x24 00000b20: DUP3 00000b21: ADD 00000b22: MSTORE 00000b23: PUSH32 0x466173745472616e73666572476174657761793a20556e617574686f72697a65 00000b44: PUSH1 0x44 00000b46: DUP3 00000b47: ADD 00000b48: MSTORE 00000b49: PUSH1 0x19 00000b4b: PUSH1 0xfa 00000b4d: SHL 00000b4e: PUSH1 0x64 00000b50: DUP3 00000b51: ADD 00000b52: MSTORE 00000b53: PUSH1 0x84 00000b55: ADD 00000b56: PUSH2 0x069b 00000b59: JUMP 00000b5a: JUMPDEST 00000b5b: DUP3 00000b5c: ISZERO 00000b5d: PUSH2 0x0b8f 00000b60: JUMPI 00000b61: DUP4 00000b62: PUSH4 0xffffffff 00000b67: AND 00000b68: DUP2 00000b69: PUSH1 0x40 00000b6b: ADD 00000b6c: MLOAD 00000b6d: PUSH4 0xffffffff 00000b72: AND 00000b73: EQ 00000b74: PUSH2 0x0b8f 00000b77: JUMPI 00000b78: PUSH1 0x40 00000b7a: MLOAD 00000b7b: PUSH3 0x461bcd 00000b7f: PUSH1 0xe5 00000b81: SHL 00000b82: DUP2 00000b83: MSTORE 00000b84: PUSH1 0x04 00000b86: ADD 00000b87: PUSH2 0x069b 00000b8a: SWAP1 00000b8b: PUSH2 0x2f46 00000b8e: JUMP 00000b8f: JUMPDEST 00000b90: PUSH1 0x40 00000b92: ADD 00000b93: MLOAD 00000b94: SWAP3 00000b95: POP 00000b96: PUSH2 0x0ba2 00000b99: SWAP1 00000b9a: POP 00000b9b: PUSH1 0x20 00000b9d: DUP3 00000b9e: PUSH2 0x2f94 00000ba1: JUMP 00000ba2: JUMPDEST 00000ba3: SWAP1 00000ba4: POP 00000ba5: PUSH2 0x0ad6 00000ba8: JUMP 00000ba9: JUMPDEST 00000baa: POP 00000bab: PUSH4 0xffffffff 00000bb0: DUP2 00000bb1: AND 00000bb2: PUSH1 0x00 00000bb4: SWAP1 00000bb5: DUP2 00000bb6: MSTORE 00000bb7: PUSH1 0x04 00000bb9: PUSH1 0x20 00000bbb: MSTORE 00000bbc: PUSH1 0x40 00000bbe: SWAP1 00000bbf: KECCAK256 00000bc0: SLOAD 00000bc1: DUP1 00000bc2: PUSH2 0x0bdd 00000bc5: JUMPI 00000bc6: PUSH1 0x40 00000bc8: MLOAD 00000bc9: PUSH3 0x461bcd 00000bcd: PUSH1 0xe5 00000bcf: SHL 00000bd0: DUP2 00000bd1: MSTORE 00000bd2: PUSH1 0x04 00000bd4: ADD 00000bd5: PUSH2 0x069b 00000bd8: SWAP1 00000bd9: PUSH2 0x2fa7 00000bdc: JUMP 00000bdd: JUMPDEST 00000bde: PUSH1 0x00 00000be0: DUP1 00000be1: DUP6 00000be2: DUP6 00000be3: PUSH1 0x40 00000be5: MLOAD 00000be6: PUSH1 0x20 00000be8: ADD 00000be9: PUSH2 0x0bf4 00000bec: SWAP4 00000bed: SWAP3 00000bee: SWAP2 00000bef: SWAP1 00000bf0: PUSH2 0x2ff1 00000bf3: JUMP 00000bf4: JUMPDEST 00000bf5: PUSH1 0x40 00000bf7: DUP1 00000bf8: MLOAD 00000bf9: PUSH1 0x1f 00000bfb: NOT 00000bfc: DUP2 00000bfd: DUP5 00000bfe: SUB 00000bff: ADD 00000c00: DUP2 00000c01: MSTORE 00000c02: SWAP1 00000c03: DUP3 00000c04: SWAP1 00000c05: MSTORE 00000c06: PUSH1 0x02 00000c08: SLOAD 00000c09: PUSH4 0xfa31de01 00000c0e: PUSH1 0xe0 00000c10: SHL 00000c11: DUP4 00000c12: MSTORE 00000c13: SWAP1 00000c14: SWAP3 00000c15: POP 00000c16: PUSH1 0x01 00000c18: PUSH1 0x01 00000c1a: PUSH1 0xa0 00000c1c: SHL 00000c1d: SUB 00000c1e: AND 00000c1f: SWAP1 00000c20: PUSH4 0xfa31de01 00000c25: SWAP1 00000c26: CALLVALUE 00000c27: SWAP1 00000c28: PUSH2 0x0c39 00000c2b: SWAP1 00000c2c: DUP8 00000c2d: SWAP1 00000c2e: DUP8 00000c2f: SWAP1 00000c30: DUP8 00000c31: SWAP1 00000c32: PUSH1 0x04 00000c34: ADD 00000c35: PUSH2 0x3027 00000c38: JUMP 00000c39: JUMPDEST 00000c3a: PUSH1 0x20 00000c3c: PUSH1 0x40 00000c3e: MLOAD 00000c3f: DUP1 00000c40: DUP4 00000c41: SUB 00000c42: DUP2 00000c43: DUP6 00000c44: DUP9 00000c45: GAS 00000c46: CALL 00000c47: ISZERO 00000c48: DUP1 00000c49: ISZERO 00000c4a: PUSH2 0x0c57 00000c4d: JUMPI 00000c4e: RETURNDATASIZE 00000c4f: PUSH1 0x00 00000c51: DUP1 00000c52: RETURNDATACOPY 00000c53: RETURNDATASIZE 00000c54: PUSH1 0x00 00000c56: REVERT 00000c57: JUMPDEST 00000c58: POP 00000c59: POP 00000c5a: POP 00000c5b: POP 00000c5c: POP 00000c5d: PUSH1 0x40 00000c5f: MLOAD 00000c60: RETURNDATASIZE 00000c61: PUSH1 0x1f 00000c63: NOT 00000c64: PUSH1 0x1f 00000c66: DUP3 00000c67: ADD 00000c68: AND 00000c69: DUP3 00000c6a: ADD 00000c6b: DUP1 00000c6c: PUSH1 0x40 00000c6e: MSTORE 00000c6f: POP 00000c70: DUP2 00000c71: ADD 00000c72: SWAP1 00000c73: PUSH2 0x0c7c 00000c76: SWAP2 00000c77: SWAP1 00000c78: PUSH2 0x304c 00000c7b: JUMP 00000c7c: JUMPDEST 00000c7d: POP 00000c7e: POP 00000c7f: POP 00000c80: POP 00000c81: POP 00000c82: POP 00000c83: JUMP 00000c84: JUMPDEST 00000c85: PUSH4 0xffffffff 00000c8a: DUP3 00000c8b: AND 00000c8c: PUSH1 0x00 00000c8e: SWAP1 00000c8f: DUP2 00000c90: MSTORE 00000c91: PUSH1 0x04 00000c93: PUSH1 0x20 00000c95: MSTORE 00000c96: PUSH1 0x40 00000c98: DUP2 00000c99: KECCAK256 00000c9a: SLOAD 00000c9b: DUP1 00000c9c: PUSH2 0x0cb7 00000c9f: JUMPI 00000ca0: PUSH1 0x40 00000ca2: MLOAD 00000ca3: PUSH3 0x461bcd 00000ca7: PUSH1 0xe5 00000ca9: SHL 00000caa: DUP2 00000cab: MSTORE 00000cac: PUSH1 0x04 00000cae: ADD 00000caf: PUSH2 0x069b 00000cb2: SWAP1 00000cb3: PUSH2 0x2fa7 00000cb6: JUMP 00000cb7: JUMPDEST 00000cb8: PUSH1 0x60 00000cba: PUSH1 0x00 00000cbc: JUMPDEST 00000cbd: DUP5 00000cbe: MLOAD 00000cbf: DUP2 00000cc0: LT 00000cc1: ISZERO 00000cc2: PUSH2 0x0d13 00000cc5: JUMPI 00000cc6: DUP2 00000cc7: PUSH2 0x0ce8 00000cca: DUP7 00000ccb: DUP4 00000ccc: DUP2 00000ccd: MLOAD 00000cce: DUP2 00000ccf: LT 00000cd0: PUSH2 0x0cdb 00000cd3: JUMPI 00000cd4: PUSH2 0x0cdb 00000cd7: PUSH2 0x3065 00000cda: JUMP 00000cdb: JUMPDEST 00000cdc: PUSH1 0x20 00000cde: MUL 00000cdf: PUSH1 0x20 00000ce1: ADD 00000ce2: ADD 00000ce3: MLOAD 00000ce4: PUSH2 0x1ab6 00000ce7: JUMP 00000ce8: JUMPDEST 00000ce9: PUSH1 0x40 00000ceb: MLOAD 00000cec: PUSH1 0x20 00000cee: ADD 00000cef: PUSH2 0x0cf9 00000cf2: SWAP3 00000cf3: SWAP2 00000cf4: SWAP1 00000cf5: PUSH2 0x307b 00000cf8: JUMP 00000cf9: JUMPDEST 00000cfa: PUSH1 0x40 00000cfc: DUP1 00000cfd: MLOAD 00000cfe: PUSH1 0x1f 00000d00: NOT 00000d01: DUP2 00000d02: DUP5 00000d03: SUB 00000d04: ADD 00000d05: DUP2 00000d06: MSTORE 00000d07: SWAP2 00000d08: SWAP1 00000d09: MSTORE 00000d0a: SWAP2 00000d0b: POP 00000d0c: PUSH1 0x01 00000d0e: ADD 00000d0f: PUSH2 0x0cbc 00000d12: JUMP 00000d13: JUMPDEST 00000d14: POP 00000d15: PUSH1 0x00 00000d17: PUSH1 0x01 00000d19: DUP3 00000d1a: PUSH1 0x40 00000d1c: MLOAD 00000d1d: PUSH1 0x20 00000d1f: ADD 00000d20: PUSH2 0x0d2a 00000d23: SWAP3 00000d24: SWAP2 00000d25: SWAP1 00000d26: PUSH2 0x309d 00000d29: JUMP 00000d2a: JUMPDEST 00000d2b: PUSH1 0x40 00000d2d: DUP1 00000d2e: MLOAD 00000d2f: PUSH1 0x1f 00000d31: NOT 00000d32: DUP2 00000d33: DUP5 00000d34: SUB 00000d35: ADD 00000d36: DUP2 00000d37: MSTORE 00000d38: SWAP1 00000d39: DUP3 00000d3a: SWAP1 00000d3b: MSTORE 00000d3c: PUSH1 0x02 00000d3e: SLOAD 00000d3f: PUSH4 0x138857a3 00000d44: PUSH1 0xe3 00000d46: SHL 00000d47: DUP4 00000d48: MSTORE 00000d49: SWAP1 00000d4a: SWAP3 00000d4b: POP 00000d4c: PUSH1 0x01 00000d4e: PUSH1 0x01 00000d50: PUSH1 0xa0 00000d52: SHL 00000d53: SUB 00000d54: AND 00000d55: SWAP1 00000d56: PUSH4 0x9c42bd18 00000d5b: SWAP1 00000d5c: PUSH2 0x0d6d 00000d5f: SWAP1 00000d60: DUP10 00000d61: SWAP1 00000d62: DUP8 00000d63: SWAP1 00000d64: DUP7 00000d65: SWAP1 00000d66: PUSH1 0x04 00000d68: ADD 00000d69: PUSH2 0x3027 00000d6c: JUMP 00000d6d: JUMPDEST 00000d6e: PUSH1 0x20 00000d70: PUSH1 0x40 00000d72: MLOAD 00000d73: DUP1 00000d74: DUP4 00000d75: SUB 00000d76: DUP2 00000d77: DUP7 00000d78: GAS 00000d79: STATICCALL 00000d7a: ISZERO 00000d7b: DUP1 00000d7c: ISZERO 00000d7d: PUSH2 0x0d8a 00000d80: JUMPI 00000d81: RETURNDATASIZE 00000d82: PUSH1 0x00 00000d84: DUP1 00000d85: RETURNDATACOPY 00000d86: RETURNDATASIZE 00000d87: PUSH1 0x00 00000d89: REVERT 00000d8a: JUMPDEST 00000d8b: POP 00000d8c: POP 00000d8d: POP 00000d8e: POP 00000d8f: PUSH1 0x40 00000d91: MLOAD 00000d92: RETURNDATASIZE 00000d93: PUSH1 0x1f 00000d95: NOT 00000d96: PUSH1 0x1f 00000d98: DUP3 00000d99: ADD 00000d9a: AND 00000d9b: DUP3 00000d9c: ADD 00000d9d: DUP1 00000d9e: PUSH1 0x40 00000da0: MSTORE 00000da1: POP 00000da2: DUP2 00000da3: ADD 00000da4: SWAP1 00000da5: PUSH2 0x0dae 00000da8: SWAP2 00000da9: SWAP1 00000daa: PUSH2 0x304c 00000dad: JUMP 00000dae: JUMPDEST 00000daf: SWAP4 00000db0: POP 00000db1: POP 00000db2: POP 00000db3: POP 00000db4: JUMPDEST 00000db5: SWAP3 00000db6: SWAP2 00000db7: POP 00000db8: POP 00000db9: JUMP 00000dba: JUMPDEST 00000dbb: PUSH2 0x0dc2 00000dbe: PUSH2 0x1db1 00000dc1: JUMP 00000dc2: JUMPDEST 00000dc3: PUSH2 0x0dcb 00000dc6: DUP3 00000dc7: PUSH2 0x1e56 00000dca: JUMP 00000dcb: JUMPDEST 00000dcc: PUSH2 0x0dd5 00000dcf: DUP3 00000dd0: DUP3 00000dd1: PUSH2 0x1e5e 00000dd4: JUMP 00000dd5: JUMPDEST 00000dd6: POP 00000dd7: POP 00000dd8: JUMP 00000dd9: JUMPDEST 00000dda: PUSH1 0x00 00000ddc: PUSH2 0x0de3 00000ddf: PUSH2 0x1f20 00000de2: JUMP 00000de3: JUMPDEST 00000de4: POP 00000de5: PUSH1 0x00 00000de7: DUP1 00000de8: MLOAD 00000de9: PUSH1 0x20 00000deb: PUSH2 0x33bb 00000dee: DUP4 00000def: CODECOPY 00000df0: DUP2 00000df1: MLOAD 00000df2: SWAP2 00000df3: MSTORE 00000df4: SWAP1 00000df5: JUMP 00000df6: JUMPDEST 00000df7: PUSH1 0x02 00000df9: SLOAD 00000dfa: PUSH1 0x01 00000dfc: PUSH1 0x01 00000dfe: PUSH1 0xa0 00000e00: SHL 00000e01: SUB 00000e02: AND 00000e03: CALLER 00000e04: EQ 00000e05: PUSH2 0x0e60 00000e08: JUMPI 00000e09: PUSH1 0x40 00000e0b: MLOAD 00000e0c: PUSH3 0x461bcd 00000e10: PUSH1 0xe5 00000e12: SHL 00000e13: DUP2 00000e14: MSTORE 00000e15: PUSH1 0x20 00000e17: PUSH1 0x04 00000e19: DUP3 00000e1a: ADD 00000e1b: MSTORE 00000e1c: PUSH1 0x27 00000e1e: PUSH1 0x24 00000e20: DUP3 00000e21: ADD 00000e22: MSTORE 00000e23: PUSH32 0x466173745472616e73666572476174657761793a2073656e646572206e6f7420 00000e44: PUSH1 0x44 00000e46: DUP3 00000e47: ADD 00000e48: MSTORE 00000e49: PUSH7 0x0dac2d2d8c4def 00000e51: PUSH1 0xcb 00000e53: SHL 00000e54: PUSH1 0x64 00000e56: DUP3 00000e57: ADD 00000e58: MSTORE 00000e59: PUSH1 0x84 00000e5b: ADD 00000e5c: PUSH2 0x069b 00000e5f: JUMP 00000e60: JUMPDEST 00000e61: PUSH4 0xffffffff 00000e66: DUP5 00000e67: AND 00000e68: PUSH1 0x00 00000e6a: SWAP1 00000e6b: DUP2 00000e6c: MSTORE 00000e6d: PUSH1 0x04 00000e6f: PUSH1 0x20 00000e71: MSTORE 00000e72: PUSH1 0x40 00000e74: SWAP1 00000e75: KECCAK256 00000e76: SLOAD 00000e77: DUP1 00000e78: PUSH2 0x0ed8 00000e7b: JUMPI 00000e7c: PUSH1 0x40 00000e7e: MLOAD 00000e7f: PUSH3 0x461bcd 00000e83: PUSH1 0xe5 00000e85: SHL 00000e86: DUP2 00000e87: MSTORE 00000e88: PUSH1 0x20 00000e8a: PUSH1 0x04 00000e8c: DUP3 00000e8d: ADD 00000e8e: MSTORE 00000e8f: PUSH1 0x2c 00000e91: PUSH1 0x24 00000e93: DUP3 00000e94: ADD 00000e95: MSTORE 00000e96: PUSH32 0x466173745472616e73666572476174657761793a206f726967696e20646f6d61 00000eb7: PUSH1 0x44 00000eb9: DUP3 00000eba: ADD 00000ebb: MSTORE 00000ebc: PUSH12 0x1a5b881b9bdd08199bdd5b99 00000ec9: PUSH1 0xa2 00000ecb: SHL 00000ecc: PUSH1 0x64 00000ece: DUP3 00000ecf: ADD 00000ed0: MSTORE 00000ed1: PUSH1 0x84 00000ed3: ADD 00000ed4: PUSH2 0x069b 00000ed7: JUMP 00000ed8: JUMPDEST 00000ed9: DUP1 00000eda: DUP5 00000edb: EQ 00000edc: PUSH2 0x0f33 00000edf: JUMPI 00000ee0: PUSH1 0x40 00000ee2: MLOAD 00000ee3: PUSH3 0x461bcd 00000ee7: PUSH1 0xe5 00000ee9: SHL 00000eea: DUP2 00000eeb: MSTORE 00000eec: PUSH1 0x20 00000eee: PUSH1 0x04 00000ef0: DUP3 00000ef1: ADD 00000ef2: MSTORE 00000ef3: PUSH1 0x23 00000ef5: PUSH1 0x24 00000ef7: DUP3 00000ef8: ADD 00000ef9: MSTORE 00000efa: PUSH32 0x466173745472616e73666572476174657761793a20696e76616c69642073656e 00000f1b: PUSH1 0x44 00000f1d: DUP3 00000f1e: ADD 00000f1f: MSTORE 00000f20: PUSH3 0x3232b9 00000f24: PUSH1 0xe9 00000f26: SHL 00000f27: PUSH1 0x64 00000f29: DUP3 00000f2a: ADD 00000f2b: MSTORE 00000f2c: PUSH1 0x84 00000f2e: ADD 00000f2f: PUSH2 0x069b 00000f32: JUMP 00000f33: JUMPDEST 00000f34: PUSH1 0x00 00000f36: DUP4 00000f37: DUP4 00000f38: PUSH1 0x00 00000f3a: DUP2 00000f3b: DUP2 00000f3c: LT 00000f3d: PUSH2 0x0f48 00000f40: JUMPI 00000f41: PUSH2 0x0f48 00000f44: PUSH2 0x3065 00000f47: JUMP 00000f48: JUMPDEST 00000f49: SWAP2 00000f4a: SWAP1 00000f4b: SWAP2 00000f4c: ADD 00000f4d: CALLDATALOAD 00000f4e: PUSH1 0xf8 00000f50: SHR 00000f51: SWAP1 00000f52: POP 00000f53: PUSH1 0x01 00000f55: DUP2 00000f56: GT 00000f57: ISZERO 00000f58: PUSH2 0x0f63 00000f5b: JUMPI 00000f5c: PUSH2 0x0f63 00000f5f: PUSH2 0x2cbe 00000f62: JUMP 00000f63: JUMPDEST 00000f64: SWAP1 00000f65: POP 00000f66: PUSH1 0x00 00000f68: DUP2 00000f69: PUSH1 0x01 00000f6b: DUP2 00000f6c: GT 00000f6d: ISZERO 00000f6e: PUSH2 0x0f79 00000f71: JUMPI 00000f72: PUSH2 0x0f79 00000f75: PUSH2 0x2cbe 00000f78: JUMP 00000f79: JUMPDEST 00000f7a: SUB 00000f7b: PUSH2 0x1015 00000f7e: JUMPI 00000f7f: CALLDATASIZE 00000f80: PUSH1 0x00 00000f82: PUSH2 0x0f8e 00000f85: DUP6 00000f86: PUSH1 0x01 00000f88: DUP2 00000f89: DUP10 00000f8a: PUSH2 0x30cc 00000f8d: JUMP 00000f8e: JUMPDEST 00000f8f: SWAP1 00000f90: SWAP3 00000f91: POP 00000f92: SWAP1 00000f93: POP 00000f94: PUSH1 0x00 00000f96: PUSH2 0x0fa2 00000f99: PUSH1 0x20 00000f9b: DUP3 00000f9c: DUP5 00000f9d: DUP7 00000f9e: PUSH2 0x30cc 00000fa1: JUMP 00000fa2: JUMPDEST 00000fa3: PUSH2 0x0fab 00000fa6: SWAP2 00000fa7: PUSH2 0x30f6 00000faa: JUMP 00000fab: JUMPDEST 00000fac: SWAP1 00000fad: POP 00000fae: PUSH1 0x00 00000fb0: PUSH2 0x0fbc 00000fb3: DUP4 00000fb4: PUSH1 0x20 00000fb6: DUP2 00000fb7: DUP8 00000fb8: PUSH2 0x30cc 00000fbb: JUMP 00000fbc: JUMPDEST 00000fbd: DUP1 00000fbe: DUP1 00000fbf: PUSH1 0x1f 00000fc1: ADD 00000fc2: PUSH1 0x20 00000fc4: DUP1 00000fc5: SWAP2 00000fc6: DIV 00000fc7: MUL 00000fc8: PUSH1 0x20 00000fca: ADD 00000fcb: PUSH1 0x40 00000fcd: MLOAD 00000fce: SWAP1 00000fcf: DUP2 00000fd0: ADD 00000fd1: PUSH1 0x40 00000fd3: MSTORE 00000fd4: DUP1 00000fd5: SWAP4 00000fd6: SWAP3 00000fd7: SWAP2 00000fd8: SWAP1 00000fd9: DUP2 00000fda: DUP2 00000fdb: MSTORE 00000fdc: PUSH1 0x20 00000fde: ADD 00000fdf: DUP4 00000fe0: DUP4 00000fe1: DUP1 00000fe2: DUP3 00000fe3: DUP5 00000fe4: CALLDATACOPY 00000fe5: PUSH1 0x00 00000fe7: SWAP3 00000fe8: ADD 00000fe9: DUP3 00000fea: SWAP1 00000feb: MSTORE 00000fec: POP 00000fed: SWAP4 00000fee: SWAP5 00000fef: POP 00000ff0: PUSH2 0x0ffe 00000ff3: SWAP3 00000ff4: POP 00000ff5: DUP6 00000ff6: SWAP2 00000ff7: POP 00000ff8: PUSH2 0x1f69 00000ffb: SWAP1 00000ffc: POP 00000ffd: JUMP 00000ffe: JUMPDEST 00000fff: SWAP1 00001000: POP 00001001: PUSH2 0x100b 00001004: DUP2 00001005: DUP4 00001006: DUP14 00001007: PUSH2 0x1f6c 0000100a: JUMP 0000100b: JUMPDEST 0000100c: POP 0000100d: POP 0000100e: POP 0000100f: POP 00001010: POP 00001011: PUSH2 0x0c7c 00001014: JUMP 00001015: JUMPDEST 00001016: PUSH1 0x01 00001018: DUP2 00001019: PUSH1 0x01 0000101b: DUP2 0000101c: GT 0000101d: ISZERO 0000101e: PUSH2 0x1029 00001021: JUMPI 00001022: PUSH2 0x1029 00001025: PUSH2 0x2cbe 00001028: JUMP 00001029: JUMPDEST 0000102a: SUB 0000102b: PUSH2 0x0c7c 0000102e: JUMPI 0000102f: CALLDATASIZE 00001030: PUSH1 0x00 00001032: PUSH2 0x103e 00001035: DUP6 00001036: PUSH1 0x01 00001038: DUP2 00001039: DUP10 0000103a: PUSH2 0x30cc 0000103d: JUMP 0000103e: JUMPDEST 0000103f: SWAP2 00001040: POP 00001041: SWAP2 00001042: POP 00001043: PUSH2 0x1083 00001046: DUP3 00001047: DUP3 00001048: DUP1 00001049: DUP1 0000104a: PUSH1 0x1f 0000104c: ADD 0000104d: PUSH1 0x20 0000104f: DUP1 00001050: SWAP2 00001051: DIV 00001052: MUL 00001053: PUSH1 0x20 00001055: ADD 00001056: PUSH1 0x40 00001058: MLOAD 00001059: SWAP1 0000105a: DUP2 0000105b: ADD 0000105c: PUSH1 0x40 0000105e: MSTORE 0000105f: DUP1 00001060: SWAP4 00001061: SWAP3 00001062: SWAP2 00001063: SWAP1 00001064: DUP2 00001065: DUP2 00001066: MSTORE 00001067: PUSH1 0x20 00001069: ADD 0000106a: DUP4 0000106b: DUP4 0000106c: DUP1 0000106d: DUP3 0000106e: DUP5 0000106f: CALLDATACOPY 00001070: PUSH1 0x00 00001072: SWAP3 00001073: ADD 00001074: SWAP2 00001075: SWAP1 00001076: SWAP2 00001077: MSTORE 00001078: POP 00001079: DUP13 0000107a: SWAP3 0000107b: POP 0000107c: PUSH2 0x20c6 0000107f: SWAP2 00001080: POP 00001081: POP 00001082: JUMP 00001083: JUMPDEST 00001084: POP 00001085: POP 00001086: POP 00001087: POP 00001088: POP 00001089: POP 0000108a: POP 0000108b: POP 0000108c: JUMP 0000108d: JUMPDEST 0000108e: PUSH1 0x00 00001090: TIMESTAMP 00001091: DUP5 00001092: PUSH1 0x01 00001094: PUSH1 0x01 00001096: PUSH1 0x40 00001098: SHL 00001099: SUB 0000109a: AND 0000109b: GT 0000109c: PUSH2 0x10b7 0000109f: JUMPI 000010a0: PUSH1 0x40 000010a2: MLOAD 000010a3: PUSH3 0x461bcd 000010a7: PUSH1 0xe5 000010a9: SHL 000010aa: DUP2 000010ab: MSTORE 000010ac: PUSH1 0x04 000010ae: ADD 000010af: PUSH2 0x069b 000010b2: SWAP1 000010b3: PUSH2 0x2e5e 000010b6: JUMP 000010b7: JUMPDEST 000010b8: PUSH1 0x40 000010ba: DUP1 000010bb: MLOAD 000010bc: PUSH2 0x0120 000010bf: DUP2 000010c0: ADD 000010c1: DUP3 000010c2: MSTORE 000010c3: DUP11 000010c4: DUP2 000010c5: MSTORE 000010c6: PUSH1 0x20 000010c8: DUP1 000010c9: DUP3 000010ca: ADD 000010cb: DUP12 000010cc: SWAP1 000010cd: MSTORE 000010ce: DUP2 000010cf: DUP4 000010d0: ADD 000010d1: DUP11 000010d2: SWAP1 000010d3: MSTORE 000010d4: PUSH1 0x60 000010d6: DUP3 000010d7: ADD 000010d8: DUP10 000010d9: SWAP1 000010da: MSTORE 000010db: PUSH1 0x05 000010dd: SLOAD 000010de: PUSH4 0xffffffff 000010e3: SWAP1 000010e4: DUP2 000010e5: AND 000010e6: PUSH1 0x80 000010e8: DUP5 000010e9: ADD 000010ea: MSTORE 000010eb: PUSH1 0x03 000010ed: SLOAD 000010ee: PUSH1 0x01 000010f0: PUSH1 0xa0 000010f2: SHL 000010f3: SWAP1 000010f4: DIV 000010f5: DUP2 000010f6: AND 000010f7: PUSH1 0xa0 000010f9: DUP5 000010fa: ADD 000010fb: MSTORE 000010fc: DUP9 000010fd: AND 000010fe: PUSH1 0xc0 00001100: DUP4 00001101: ADD 00001102: MSTORE 00001103: PUSH1 0x01 00001105: PUSH1 0x01 00001107: PUSH1 0x40 00001109: SHL 0000110a: SUB 0000110b: DUP8 0000110c: AND 0000110d: PUSH1 0xe0 0000110f: DUP4 00001110: ADD 00001111: MSTORE 00001112: DUP3 00001113: MLOAD 00001114: PUSH1 0x1f 00001116: DUP7 00001117: ADD 00001118: DUP3 00001119: SWAP1 0000111a: DIV 0000111b: DUP3 0000111c: MUL 0000111d: DUP2 0000111e: ADD 0000111f: DUP3 00001120: ADD 00001121: SWAP1 00001122: SWAP4 00001123: MSTORE 00001124: DUP5 00001125: DUP4 00001126: MSTORE 00001127: PUSH1 0x00 00001129: SWAP3 0000112a: PUSH2 0x0100 0000112d: DUP4 0000112e: ADD 0000112f: SWAP2 00001130: DUP8 00001131: SWAP1 00001132: DUP8 00001133: SWAP1 00001134: DUP2 00001135: SWAP1 00001136: DUP5 00001137: ADD 00001138: DUP4 00001139: DUP3 0000113a: DUP1 0000113b: DUP3 0000113c: DUP5 0000113d: CALLDATACOPY 0000113e: PUSH1 0x00 00001140: SWAP3 00001141: ADD 00001142: DUP3 00001143: SWAP1 00001144: MSTORE 00001145: POP 00001146: SWAP4 00001147: SWAP1 00001148: SWAP5 00001149: MSTORE 0000114a: POP 0000114b: SWAP3 0000114c: SWAP4 0000114d: POP 0000114e: SWAP2 0000114f: POP 00001150: PUSH2 0x115a 00001153: SWAP1 00001154: POP 00001155: DUP3 00001156: PUSH2 0x1ab6 00001159: JUMP 0000115a: JUMPDEST 0000115b: PUSH4 0xffffffff 00001160: DUP9 00001161: AND 00001162: PUSH1 0x00 00001164: SWAP1 00001165: DUP2 00001166: MSTORE 00001167: PUSH1 0x04 00001169: PUSH1 0x20 0000116b: MSTORE 0000116c: PUSH1 0x40 0000116e: SWAP1 0000116f: KECCAK256 00001170: SLOAD 00001171: SWAP1 00001172: SWAP2 00001173: POP 00001174: PUSH2 0x118f 00001177: JUMPI 00001178: PUSH1 0x40 0000117a: MLOAD 0000117b: PUSH3 0x461bcd 0000117f: PUSH1 0xe5 00001181: SHL 00001182: DUP2 00001183: MSTORE 00001184: PUSH1 0x04 00001186: ADD 00001187: PUSH2 0x069b 0000118a: SWAP1 0000118b: PUSH2 0x2ebb 0000118e: JUMP 0000118f: JUMPDEST 00001190: PUSH1 0x05 00001192: DUP1 00001193: SLOAD 00001194: PUSH1 0x01 00001196: SWAP2 00001197: SWAP1 00001198: PUSH1 0x00 0000119a: SWAP1 0000119b: PUSH2 0x11ab 0000119e: SWAP1 0000119f: DUP5 000011a0: SWAP1 000011a1: PUSH4 0xffffffff 000011a6: AND 000011a7: PUSH2 0x2f22 000011aa: JUMP 000011ab: JUMPDEST 000011ac: DUP3 000011ad: SLOAD 000011ae: PUSH2 0x0100 000011b1: SWAP3 000011b2: SWAP1 000011b3: SWAP3 000011b4: EXP 000011b5: PUSH4 0xffffffff 000011ba: DUP2 000011bb: DUP2 000011bc: MUL 000011bd: NOT 000011be: SWAP1 000011bf: SWAP4 000011c0: AND 000011c1: SWAP2 000011c2: DUP4 000011c3: AND 000011c4: MUL 000011c5: OR 000011c6: SWAP1 000011c7: SWAP2 000011c8: SSTORE 000011c9: PUSH1 0x40 000011cb: DUP1 000011cc: MLOAD 000011cd: PUSH1 0x80 000011cf: DUP1 000011d0: DUP3 000011d1: ADD 000011d2: DUP4 000011d3: MSTORE 000011d4: DUP7 000011d5: MLOAD 000011d6: DUP3 000011d7: MSTORE 000011d8: DUP7 000011d9: ADD 000011da: MLOAD 000011db: DUP4 000011dc: AND 000011dd: PUSH1 0x20 000011df: DUP1 000011e0: DUP4 000011e1: ADD 000011e2: SWAP2 000011e3: DUP3 000011e4: MSTORE 000011e5: PUSH1 0xc0 000011e7: DUP9 000011e8: ADD 000011e9: MLOAD 000011ea: DUP6 000011eb: AND 000011ec: DUP4 000011ed: DUP6 000011ee: ADD 000011ef: SWAP1 000011f0: DUP2 000011f1: MSTORE 000011f2: DUP9 000011f3: DUP6 000011f4: ADD 000011f5: MLOAD 000011f6: PUSH1 0x60 000011f8: DUP6 000011f9: ADD 000011fa: SWAP1 000011fb: DUP2 000011fc: MSTORE 000011fd: PUSH1 0x00 000011ff: DUP10 00001200: DUP2 00001201: MSTORE 00001202: PUSH1 0x06 00001204: SWAP1 00001205: SWAP4 00001206: MSTORE 00001207: SWAP5 00001208: SWAP1 00001209: SWAP2 0000120a: KECCAK256 0000120b: SWAP3 0000120c: MLOAD 0000120d: DUP4 0000120e: SSTORE 0000120f: SWAP1 00001210: MLOAD 00001211: PUSH1 0x01 00001213: DUP4 00001214: ADD 00001215: SSTORE 00001216: MLOAD 00001217: PUSH1 0x02 00001219: DUP3 0000121a: ADD 0000121b: DUP1 0000121c: SLOAD 0000121d: PUSH4 0xffffffff 00001222: NOT 00001223: AND 00001224: SWAP2 00001225: SWAP1 00001226: SWAP5 00001227: AND 00001228: OR 00001229: SWAP1 0000122a: SWAP3 0000122b: SSTORE 0000122c: MLOAD 0000122d: PUSH1 0x03 0000122f: SWAP1 00001230: SWAP2 00001231: ADD 00001232: SSTORE 00001233: POP 00001234: DUP1 00001235: PUSH32 0x59f858504f8d8ad967dd7453df850e265270474e364b7e2fbd3333e06efdbfc0 00001256: PUSH2 0x125e 00001259: DUP5 0000125a: PUSH2 0x1ac1 0000125d: JUMP 0000125e: JUMPDEST 0000125f: PUSH1 0x40 00001261: MLOAD 00001262: PUSH2 0x126b 00001265: SWAP2 00001266: SWAP1 00001267: PUSH2 0x2d88 0000126a: JUMP 0000126b: JUMPDEST 0000126c: PUSH1 0x40 0000126e: MLOAD 0000126f: DUP1 00001270: SWAP2 00001271: SUB 00001272: SWAP1 00001273: LOG2 00001274: PUSH1 0x01 00001276: SLOAD 00001277: PUSH1 0x40 00001279: DUP4 0000127a: ADD 0000127b: MLOAD 0000127c: PUSH2 0x1292 0000127f: SWAP2 00001280: PUSH1 0x01 00001282: PUSH1 0x01 00001284: PUSH1 0xa0 00001286: SHL 00001287: SUB 00001288: AND 00001289: SWAP1 0000128a: CALLER 0000128b: SWAP1 0000128c: ADDRESS 0000128d: SWAP1 0000128e: PUSH2 0x20f6 00001291: JUMP 00001292: JUMPDEST 00001293: SWAP11 00001294: SWAP10 00001295: POP 00001296: POP 00001297: POP 00001298: POP 00001299: POP 0000129a: POP 0000129b: POP 0000129c: POP 0000129d: POP 0000129e: POP 0000129f: JUMP 000012a0: JUMPDEST 000012a1: PUSH2 0x12a8 000012a4: PUSH2 0x1be2 000012a7: JUMP 000012a8: JUMPDEST 000012a9: PUSH2 0x12b2 000012ac: PUSH1 0x00 000012ae: PUSH2 0x215d 000012b1: JUMP 000012b2: JUMPDEST 000012b3: JUMP 000012b4: JUMPDEST 000012b5: PUSH1 0x60 000012b7: PUSH1 0x00 000012b9: DUP1 000012ba: JUMPDEST 000012bb: DUP4 000012bc: MLOAD 000012bd: DUP2 000012be: LT 000012bf: ISZERO 000012c0: PUSH2 0x14cf 000012c3: JUMPI 000012c4: PUSH1 0x00 000012c6: DUP5 000012c7: DUP3 000012c8: DUP2 000012c9: MLOAD 000012ca: DUP2 000012cb: LT 000012cc: PUSH2 0x12d7 000012cf: JUMPI 000012d0: PUSH2 0x12d7 000012d3: PUSH2 0x3065 000012d6: JUMP 000012d7: JUMPDEST 000012d8: PUSH1 0x20 000012da: MUL 000012db: PUSH1 0x20 000012dd: ADD 000012de: ADD 000012df: MLOAD 000012e0: SWAP1 000012e1: POP 000012e2: PUSH1 0x03 000012e4: PUSH1 0x14 000012e6: SWAP1 000012e7: SLOAD 000012e8: SWAP1 000012e9: PUSH2 0x0100 000012ec: EXP 000012ed: SWAP1 000012ee: DIV 000012ef: PUSH4 0xffffffff 000012f4: AND 000012f5: PUSH4 0xffffffff 000012fa: AND 000012fb: DUP2 000012fc: PUSH1 0xc0 000012fe: ADD 000012ff: MLOAD 00001300: PUSH4 0xffffffff 00001305: AND 00001306: EQ 00001307: PUSH2 0x1364 0000130a: JUMPI 0000130b: PUSH1 0x40 0000130d: MLOAD 0000130e: PUSH3 0x461bcd 00001312: PUSH1 0xe5 00001314: SHL 00001315: DUP2 00001316: MSTORE 00001317: PUSH1 0x20 00001319: PUSH1 0x04 0000131b: DUP3 0000131c: ADD 0000131d: MSTORE 0000131e: PUSH1 0x29 00001320: PUSH1 0x24 00001322: DUP3 00001323: ADD 00001324: MSTORE 00001325: PUSH32 0x466173745472616e73666572476174657761793a20696e76616c6964206c6f63 00001346: PUSH1 0x44 00001348: DUP3 00001349: ADD 0000134a: MSTORE 0000134b: PUSH9 0x30b6103237b6b0b4b7 00001355: PUSH1 0xb9 00001357: SHL 00001358: PUSH1 0x64 0000135a: DUP3 0000135b: ADD 0000135c: MSTORE 0000135d: PUSH1 0x84 0000135f: ADD 00001360: PUSH2 0x069b 00001363: JUMP 00001364: JUMPDEST 00001365: PUSH1 0x00 00001367: PUSH2 0x136f 0000136a: DUP3 0000136b: PUSH2 0x1ab6 0000136e: JUMP 0000136f: JUMPDEST 00001370: PUSH1 0x00 00001372: DUP2 00001373: DUP2 00001374: MSTORE 00001375: PUSH1 0x07 00001377: PUSH1 0x20 00001379: MSTORE 0000137a: PUSH1 0x40 0000137c: SWAP1 0000137d: KECCAK256 0000137e: SLOAD 0000137f: PUSH1 0xe0 00001381: DUP5 00001382: ADD 00001383: MLOAD 00001384: SWAP2 00001385: SWAP3 00001386: POP 00001387: PUSH1 0xff 00001389: AND 0000138a: SWAP1 0000138b: TIMESTAMP 0000138c: PUSH1 0x01 0000138e: PUSH1 0x01 00001390: PUSH1 0x40 00001392: SHL 00001393: SUB 00001394: SWAP1 00001395: SWAP2 00001396: AND 00001397: LT 00001398: PUSH2 0x13f4 0000139b: JUMPI 0000139c: PUSH1 0x40 0000139e: MLOAD 0000139f: PUSH3 0x461bcd 000013a3: PUSH1 0xe5 000013a5: SHL 000013a6: DUP2 000013a7: MSTORE 000013a8: PUSH1 0x20 000013aa: PUSH1 0x04 000013ac: DUP3 000013ad: ADD 000013ae: MSTORE 000013af: PUSH1 0x28 000013b1: PUSH1 0x24 000013b3: DUP3 000013b4: ADD 000013b5: MSTORE 000013b6: PUSH32 0x466173745472616e73666572476174657761793a206f72646572206e6f742074 000013d7: PUSH1 0x44 000013d9: DUP3 000013da: ADD 000013db: MSTORE 000013dc: PUSH8 0x1a5b5959081bdd5d 000013e5: PUSH1 0xc2 000013e7: SHL 000013e8: PUSH1 0x64 000013ea: DUP3 000013eb: ADD 000013ec: MSTORE 000013ed: PUSH1 0x84 000013ef: ADD 000013f0: PUSH2 0x069b 000013f3: JUMP 000013f4: JUMPDEST 000013f5: PUSH1 0x00 000013f7: DUP2 000013f8: PUSH1 0x02 000013fa: DUP2 000013fb: GT 000013fc: ISZERO 000013fd: PUSH2 0x1408 00001400: JUMPI 00001401: PUSH2 0x1408 00001404: PUSH2 0x2cbe 00001407: JUMP 00001408: JUMPDEST 00001409: EQ 0000140a: PUSH2 0x145f 0000140d: JUMPI 0000140e: PUSH1 0x40 00001410: MLOAD 00001411: PUSH3 0x461bcd 00001415: PUSH1 0xe5 00001417: SHL 00001418: DUP2 00001419: MSTORE 0000141a: PUSH1 0x20 0000141c: PUSH1 0x04 0000141e: DUP3 0000141f: ADD 00001420: MSTORE 00001421: PUSH1 0x21 00001423: PUSH1 0x24 00001425: DUP3 00001426: ADD 00001427: MSTORE 00001428: PUSH32 0x466173745472616e73666572476174657761793a206f726465722066696c6c65 00001449: PUSH1 0x44 0000144b: DUP3 0000144c: ADD 0000144d: MSTORE 0000144e: PUSH1 0x19 00001450: PUSH1 0xfa 00001452: SHL 00001453: PUSH1 0x64 00001455: DUP3 00001456: ADD 00001457: MSTORE 00001458: PUSH1 0x84 0000145a: ADD 0000145b: PUSH2 0x069b 0000145e: JUMP 0000145f: JUMPDEST 00001460: DUP4 00001461: ISZERO 00001462: PUSH2 0x1494 00001465: JUMPI 00001466: DUP5 00001467: PUSH4 0xffffffff 0000146c: AND 0000146d: DUP4 0000146e: PUSH1 0xa0 00001470: ADD 00001471: MLOAD 00001472: PUSH4 0xffffffff 00001477: AND 00001478: EQ 00001479: PUSH2 0x1494 0000147c: JUMPI 0000147d: PUSH1 0x40 0000147f: MLOAD 00001480: PUSH3 0x461bcd 00001484: PUSH1 0xe5 00001486: SHL 00001487: DUP2 00001488: MSTORE 00001489: PUSH1 0x04 0000148b: ADD 0000148c: PUSH2 0x069b 0000148f: SWAP1 00001490: PUSH2 0x2f46 00001493: JUMP 00001494: JUMPDEST 00001495: DUP6 00001496: DUP3 00001497: PUSH1 0x40 00001499: MLOAD 0000149a: PUSH1 0x20 0000149c: ADD 0000149d: PUSH2 0x14a7 000014a0: SWAP3 000014a1: SWAP2 000014a2: SWAP1 000014a3: PUSH2 0x307b 000014a6: JUMP 000014a7: JUMPDEST 000014a8: PUSH1 0x40 000014aa: MLOAD 000014ab: PUSH1 0x20 000014ad: DUP2 000014ae: DUP4 000014af: SUB 000014b0: SUB 000014b1: DUP2 000014b2: MSTORE 000014b3: SWAP1 000014b4: PUSH1 0x40 000014b6: MSTORE 000014b7: SWAP6 000014b8: POP 000014b9: DUP3 000014ba: PUSH1 0xa0 000014bc: ADD 000014bd: MLOAD 000014be: SWAP5 000014bf: POP 000014c0: POP 000014c1: POP 000014c2: POP 000014c3: DUP1 000014c4: DUP1 000014c5: PUSH1 0x01 000014c7: ADD 000014c8: SWAP2 000014c9: POP 000014ca: POP 000014cb: PUSH2 0x12ba 000014ce: JUMP 000014cf: JUMPDEST 000014d0: POP 000014d1: PUSH4 0xffffffff 000014d6: DUP2 000014d7: AND 000014d8: PUSH1 0x00 000014da: SWAP1 000014db: DUP2 000014dc: MSTORE 000014dd: PUSH1 0x04 000014df: PUSH1 0x20 000014e1: MSTORE 000014e2: PUSH1 0x40 000014e4: SWAP1 000014e5: KECCAK256 000014e6: SLOAD 000014e7: DUP1 000014e8: PUSH2 0x1503 000014eb: JUMPI 000014ec: PUSH1 0x40 000014ee: MLOAD 000014ef: PUSH3 0x461bcd 000014f3: PUSH1 0xe5 000014f5: SHL 000014f6: DUP2 000014f7: MSTORE 000014f8: PUSH1 0x04 000014fa: ADD 000014fb: PUSH2 0x069b 000014fe: SWAP1 000014ff: PUSH2 0x2fa7 00001502: JUMP 00001503: JUMPDEST 00001504: PUSH1 0x00 00001506: PUSH1 0x01 00001508: DUP5 00001509: PUSH1 0x40 0000150b: MLOAD 0000150c: PUSH1 0x20 0000150e: ADD 0000150f: PUSH2 0x0bf4 00001512: SWAP3 00001513: SWAP2 00001514: SWAP1 00001515: PUSH2 0x309d 00001518: JUMP 00001519: JUMPDEST 0000151a: PUSH2 0x1521 0000151d: PUSH2 0x21ce 00001520: JUMP 00001521: JUMPDEST 00001522: TIMESTAMP 00001523: DUP2 00001524: PUSH1 0xe0 00001526: ADD 00001527: MLOAD 00001528: PUSH1 0x01 0000152a: PUSH1 0x01 0000152c: PUSH1 0x40 0000152e: SHL 0000152f: SUB 00001530: AND 00001531: GT 00001532: PUSH2 0x1588 00001535: JUMPI 00001536: PUSH1 0x40 00001538: MLOAD 00001539: PUSH3 0x461bcd 0000153d: PUSH1 0xe5 0000153f: SHL 00001540: DUP2 00001541: MSTORE 00001542: PUSH1 0x20 00001544: PUSH1 0x04 00001546: DUP3 00001547: ADD 00001548: MSTORE 00001549: PUSH1 0x22 0000154b: PUSH1 0x24 0000154d: DUP3 0000154e: ADD 0000154f: MSTORE 00001550: PUSH32 0x466173745472616e73666572476174657761793a206f72646572206578706972 00001571: PUSH1 0x44 00001573: DUP3 00001574: ADD 00001575: MSTORE 00001576: PUSH2 0x1959 00001579: PUSH1 0xf2 0000157b: SHL 0000157c: PUSH1 0x64 0000157e: DUP3 0000157f: ADD 00001580: MSTORE 00001581: PUSH1 0x84 00001583: ADD 00001584: PUSH2 0x069b 00001587: JUMP 00001588: JUMPDEST 00001589: PUSH1 0xa0 0000158b: DUP2 0000158c: ADD 0000158d: MLOAD 0000158e: PUSH4 0xffffffff 00001593: AND 00001594: PUSH1 0x00 00001596: SWAP1 00001597: DUP2 00001598: MSTORE 00001599: PUSH1 0x04 0000159b: PUSH1 0x20 0000159d: MSTORE 0000159e: PUSH1 0x40 000015a0: SWAP1 000015a1: KECCAK256 000015a2: SLOAD 000015a3: PUSH2 0x1603 000015a6: JUMPI 000015a7: PUSH1 0x40 000015a9: MLOAD 000015aa: PUSH3 0x461bcd 000015ae: PUSH1 0xe5 000015b0: SHL 000015b1: DUP2 000015b2: MSTORE 000015b3: PUSH1 0x20 000015b5: PUSH1 0x04 000015b7: DUP3 000015b8: ADD 000015b9: MSTORE 000015ba: PUSH1 0x2c 000015bc: PUSH1 0x24 000015be: DUP3 000015bf: ADD 000015c0: MSTORE 000015c1: PUSH32 0x466173745472616e73666572476174657761793a20736f7572636520646f6d61 000015e2: PUSH1 0x44 000015e4: DUP3 000015e5: ADD 000015e6: MSTORE 000015e7: PUSH12 0x1a5b881b9bdd08199bdd5b99 000015f4: PUSH1 0xa2 000015f6: SHL 000015f7: PUSH1 0x64 000015f9: DUP3 000015fa: ADD 000015fb: MSTORE 000015fc: PUSH1 0x84 000015fe: ADD 000015ff: PUSH2 0x069b 00001602: JUMP 00001603: JUMPDEST 00001604: PUSH1 0x03 00001606: SLOAD 00001607: PUSH1 0xc0 00001609: DUP3 0000160a: ADD 0000160b: MLOAD 0000160c: PUSH4 0xffffffff 00001611: SWAP1 00001612: DUP2 00001613: AND 00001614: PUSH1 0x01 00001616: PUSH1 0xa0 00001618: SHL 00001619: SWAP1 0000161a: SWAP3 0000161b: DIV 0000161c: AND 0000161d: EQ 0000161e: PUSH2 0x168f 00001621: JUMPI 00001622: PUSH1 0x40 00001624: MLOAD 00001625: PUSH3 0x461bcd 00001629: PUSH1 0xe5 0000162b: SHL 0000162c: DUP2 0000162d: MSTORE 0000162e: PUSH1 0x20 00001630: PUSH1 0x04 00001632: DUP3 00001633: ADD 00001634: MSTORE 00001635: PUSH1 0x3b 00001637: PUSH1 0x24 00001639: DUP3 0000163a: ADD 0000163b: MSTORE 0000163c: PUSH32 0x466173745472616e73666572476174657761793a20696e636f72726563742064 0000165d: PUSH1 0x44 0000165f: DUP3 00001660: ADD 00001661: MSTORE 00001662: PUSH32 0x657374696e6174696f6e20646f6d61696e20666f72206f726465720000000000 00001683: PUSH1 0x64 00001685: DUP3 00001686: ADD 00001687: MSTORE 00001688: PUSH1 0x84 0000168a: ADD 0000168b: PUSH2 0x069b 0000168e: JUMP 0000168f: JUMPDEST 00001690: PUSH1 0x00 00001692: PUSH2 0x169a 00001695: DUP3 00001696: PUSH2 0x1ab6 00001699: JUMP 0000169a: JUMPDEST 0000169b: SWAP1 0000169c: POP 0000169d: PUSH1 0x00 0000169f: DUP1 000016a0: DUP3 000016a1: DUP2 000016a2: MSTORE 000016a3: PUSH1 0x07 000016a5: PUSH1 0x20 000016a7: MSTORE 000016a8: PUSH1 0x40 000016aa: SWAP1 000016ab: KECCAK256 000016ac: SLOAD 000016ad: PUSH1 0xff 000016af: AND 000016b0: PUSH1 0x02 000016b2: DUP2 000016b3: GT 000016b4: ISZERO 000016b5: PUSH2 0x16c0 000016b8: JUMPI 000016b9: PUSH2 0x16c0 000016bc: PUSH2 0x2cbe 000016bf: JUMP 000016c0: JUMPDEST 000016c1: EQ 000016c2: PUSH2 0x171f 000016c5: JUMPI 000016c6: PUSH1 0x40 000016c8: MLOAD 000016c9: PUSH3 0x461bcd 000016cd: PUSH1 0xe5 000016cf: SHL 000016d0: DUP2 000016d1: MSTORE 000016d2: PUSH1 0x20 000016d4: PUSH1 0x04 000016d6: DUP3 000016d7: ADD 000016d8: MSTORE 000016d9: PUSH1 0x29 000016db: PUSH1 0x24 000016dd: DUP3 000016de: ADD 000016df: MSTORE 000016e0: PUSH32 0x466173745472616e73666572476174657761793a206f7264657220616c726561 00001701: PUSH1 0x44 00001703: DUP3 00001704: ADD 00001705: MSTORE 00001706: PUSH9 0x191e48199a5b1b1959 00001710: PUSH1 0xba 00001712: SHL 00001713: PUSH1 0x64 00001715: DUP3 00001716: ADD 00001717: MSTORE 00001718: PUSH1 0x84 0000171a: ADD 0000171b: PUSH2 0x069b 0000171e: JUMP 0000171f: JUMPDEST 00001720: PUSH1 0x00 00001722: PUSH2 0x172c 00001725: DUP4 00001726: PUSH1 0x20 00001728: ADD 00001729: MLOAD 0000172a: SWAP1 0000172b: JUMP 0000172c: JUMPDEST 0000172d: PUSH1 0x02 0000172f: SLOAD 00001730: SWAP1 00001731: SWAP2 00001732: POP 00001733: PUSH1 0x01 00001735: PUSH1 0x01 00001737: PUSH1 0xa0 00001739: SHL 0000173a: SUB 0000173b: SWAP1 0000173c: DUP2 0000173d: AND 0000173e: SWAP1 0000173f: DUP3 00001740: AND 00001741: SUB 00001742: PUSH2 0x17ac 00001745: JUMPI 00001746: PUSH1 0x40 00001748: MLOAD 00001749: PUSH3 0x461bcd 0000174d: PUSH1 0xe5 0000174f: SHL 00001750: DUP2 00001751: MSTORE 00001752: PUSH1 0x20 00001754: PUSH1 0x04 00001756: DUP3 00001757: ADD 00001758: MSTORE 00001759: PUSH1 0x36 0000175b: PUSH1 0x24 0000175d: DUP3 0000175e: ADD 0000175f: MSTORE 00001760: PUSH32 0x466173745472616e73666572476174657761793a206f72646572207265636970 00001781: PUSH1 0x44 00001783: DUP3 00001784: ADD 00001785: MSTORE 00001786: PUSH22 0x0d2cadce840c6c2dcdcdee840c4ca40dac2d2d8c4def 0000179d: PUSH1 0x53 0000179f: SHL 000017a0: PUSH1 0x64 000017a2: DUP3 000017a3: ADD 000017a4: MSTORE 000017a5: PUSH1 0x84 000017a7: ADD 000017a8: PUSH2 0x069b 000017ab: JUMP 000017ac: JUMPDEST 000017ad: PUSH1 0x00 000017af: DUP3 000017b0: DUP2 000017b1: MSTORE 000017b2: PUSH1 0x07 000017b4: PUSH1 0x20 000017b6: SWAP1 000017b7: DUP2 000017b8: MSTORE 000017b9: PUSH1 0x40 000017bb: DUP1 000017bc: DUP4 000017bd: KECCAK256 000017be: DUP1 000017bf: SLOAD 000017c0: PUSH1 0x01 000017c2: PUSH1 0xff 000017c4: NOT 000017c5: SWAP1 000017c6: SWAP2 000017c7: AND 000017c8: DUP2 000017c9: OR 000017ca: SWAP1 000017cb: SWAP2 000017cc: SSTORE 000017cd: DUP2 000017ce: MLOAD 000017cf: PUSH1 0x60 000017d1: DUP2 000017d2: ADD 000017d3: DUP4 000017d4: MSTORE 000017d5: DUP7 000017d6: DUP2 000017d7: MSTORE 000017d8: PUSH1 0x01 000017da: PUSH1 0x01 000017dc: PUSH1 0xa0 000017de: SHL 000017df: SUB 000017e0: DUP10 000017e1: DUP2 000017e2: AND 000017e3: DUP3 000017e4: DUP7 000017e5: ADD 000017e6: SWAP1 000017e7: DUP2 000017e8: MSTORE 000017e9: PUSH1 0xa0 000017eb: DUP11 000017ec: ADD 000017ed: MLOAD 000017ee: PUSH4 0xffffffff 000017f3: SWAP1 000017f4: DUP2 000017f5: AND 000017f6: DUP5 000017f7: DUP8 000017f8: ADD 000017f9: SWAP1 000017fa: DUP2 000017fb: MSTORE 000017fc: DUP11 000017fd: DUP10 000017fe: MSTORE 000017ff: PUSH1 0x08 00001801: SWAP1 00001802: SWAP8 00001803: MSTORE 00001804: SWAP5 00001805: SWAP1 00001806: SWAP7 00001807: KECCAK256 00001808: SWAP2 00001809: MLOAD 0000180a: DUP3 0000180b: SSTORE 0000180c: SWAP5 0000180d: MLOAD 0000180e: SWAP2 0000180f: ADD 00001810: DUP1 00001811: SLOAD 00001812: SWAP4 00001813: MLOAD 00001814: SWAP1 00001815: SWAP3 00001816: AND 00001817: PUSH1 0x01 00001819: PUSH1 0xa0 0000181b: SHL 0000181c: MUL 0000181d: PUSH1 0x01 0000181f: PUSH1 0x01 00001821: PUSH1 0xc0 00001823: SHL 00001824: SUB 00001825: NOT 00001826: SWAP1 00001827: SWAP4 00001828: AND 00001829: SWAP4 0000182a: AND 0000182b: SWAP3 0000182c: SWAP1 0000182d: SWAP3 0000182e: OR 0000182f: OR 00001830: SWAP1 00001831: SSTORE 00001832: PUSH2 0x0100 00001835: DUP4 00001836: ADD 00001837: MLOAD 00001838: MLOAD 00001839: ISZERO 0000183a: PUSH2 0x1909 0000183d: JUMPI 0000183e: PUSH1 0x01 00001840: SLOAD 00001841: PUSH1 0x09 00001843: SLOAD 00001844: PUSH1 0x60 00001846: DUP6 00001847: ADD 00001848: MLOAD 00001849: PUSH2 0x1862 0000184c: SWAP3 0000184d: PUSH1 0x01 0000184f: PUSH1 0x01 00001851: PUSH1 0xa0 00001853: SHL 00001854: SUB 00001855: SWAP1 00001856: DUP2 00001857: AND 00001858: SWAP3 00001859: CALLER 0000185a: SWAP3 0000185b: SWAP2 0000185c: AND 0000185d: SWAP1 0000185e: PUSH2 0x20f6 00001861: JUMP 00001862: JUMPDEST 00001863: PUSH1 0x09 00001865: SLOAD 00001866: PUSH1 0x01 00001868: SLOAD 00001869: PUSH1 0x60 0000186b: DUP6 0000186c: ADD 0000186d: MLOAD 0000186e: PUSH2 0x0100 00001871: DUP7 00001872: ADD 00001873: MLOAD 00001874: PUSH1 0x40 00001876: MLOAD 00001877: PUSH4 0x135df5ff 0000187c: PUSH1 0xe3 0000187e: SHL 0000187f: DUP2 00001880: MSTORE 00001881: PUSH1 0x00 00001883: SWAP5 00001884: PUSH1 0x01 00001886: PUSH1 0x01 00001888: PUSH1 0xa0 0000188a: SHL 0000188b: SUB 0000188c: SWAP1 0000188d: DUP2 0000188e: AND 0000188f: SWAP5 00001890: PUSH4 0x9aefaff8 00001895: SWAP5 00001896: PUSH2 0x18aa 00001899: SWAP5 0000189a: DUP10 0000189b: SWAP5 0000189c: SWAP3 0000189d: SWAP1 0000189e: SWAP4 0000189f: AND 000018a0: SWAP3 000018a1: SWAP1 000018a2: SWAP2 000018a3: PUSH1 0x04 000018a5: ADD 000018a6: PUSH2 0x3114 000018a9: JUMP 000018aa: JUMPDEST 000018ab: PUSH1 0x00 000018ad: PUSH1 0x40 000018af: MLOAD 000018b0: DUP1 000018b1: DUP4 000018b2: SUB 000018b3: DUP2 000018b4: PUSH1 0x00 000018b6: DUP8 000018b7: GAS 000018b8: CALL 000018b9: ISZERO 000018ba: DUP1 000018bb: ISZERO 000018bc: PUSH2 0x18c9 000018bf: JUMPI 000018c0: RETURNDATASIZE 000018c1: PUSH1 0x00 000018c3: DUP1 000018c4: RETURNDATACOPY 000018c5: RETURNDATASIZE 000018c6: PUSH1 0x00 000018c8: REVERT 000018c9: JUMPDEST 000018ca: POP 000018cb: POP 000018cc: POP 000018cd: POP 000018ce: PUSH1 0x40 000018d0: MLOAD 000018d1: RETURNDATASIZE 000018d2: PUSH1 0x00 000018d4: DUP3 000018d5: RETURNDATACOPY 000018d6: PUSH1 0x1f 000018d8: RETURNDATASIZE 000018d9: SWAP1 000018da: DUP2 000018db: ADD 000018dc: PUSH1 0x1f 000018de: NOT 000018df: AND 000018e0: DUP3 000018e1: ADD 000018e2: PUSH1 0x40 000018e4: MSTORE 000018e5: PUSH2 0x18f1 000018e8: SWAP2 000018e9: SWAP1 000018ea: DUP2 000018eb: ADD 000018ec: SWAP1 000018ed: PUSH2 0x3161 000018f0: JUMP 000018f1: JUMPDEST 000018f2: POP 000018f3: SWAP1 000018f4: POP 000018f5: DUP1 000018f6: PUSH2 0x1903 000018f9: JUMPI 000018fa: RETURNDATASIZE 000018fb: PUSH1 0x00 000018fd: DUP1 000018fe: RETURNDATACOPY 000018ff: RETURNDATASIZE 00001900: PUSH1 0x00 00001902: REVERT 00001903: JUMPDEST 00001904: POP 00001905: PUSH2 0x1928 00001908: JUMP 00001909: JUMPDEST 0000190a: PUSH1 0x01 0000190c: SLOAD 0000190d: PUSH1 0x60 0000190f: DUP5 00001910: ADD 00001911: MLOAD 00001912: PUSH2 0x1928 00001915: SWAP2 00001916: PUSH1 0x01 00001918: PUSH1 0x01 0000191a: PUSH1 0xa0 0000191c: SHL 0000191d: SUB 0000191e: AND 0000191f: SWAP1 00001920: CALLER 00001921: SWAP1 00001922: DUP5 00001923: SWAP1 00001924: PUSH2 0x20f6 00001927: JUMP 00001928: JUMPDEST 00001929: POP 0000192a: POP 0000192b: PUSH2 0x0dd5 0000192e: PUSH1 0x01 00001930: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 00001951: SSTORE 00001952: JUMP 00001953: JUMPDEST 00001954: PUSH2 0x195b 00001957: PUSH2 0x1be2 0000195a: JUMP 0000195b: JUMPDEST 0000195c: PUSH4 0xffffffff 00001961: SWAP1 00001962: SWAP2 00001963: AND 00001964: PUSH1 0x00 00001966: SWAP1 00001967: DUP2 00001968: MSTORE 00001969: PUSH1 0x04 0000196b: PUSH1 0x20 0000196d: MSTORE 0000196e: PUSH1 0x40 00001970: SWAP1 00001971: KECCAK256 00001972: SSTORE 00001973: JUMP 00001974: JUMPDEST 00001975: PUSH4 0xffffffff 0000197a: DUP4 0000197b: AND 0000197c: PUSH1 0x00 0000197e: SWAP1 0000197f: DUP2 00001980: MSTORE 00001981: PUSH1 0x04 00001983: PUSH1 0x20 00001985: MSTORE 00001986: PUSH1 0x40 00001988: DUP2 00001989: KECCAK256 0000198a: SLOAD 0000198b: DUP1 0000198c: PUSH2 0x19a7 0000198f: JUMPI 00001990: PUSH1 0x40 00001992: MLOAD 00001993: PUSH3 0x461bcd 00001997: PUSH1 0xe5 00001999: SHL 0000199a: DUP2 0000199b: MSTORE 0000199c: PUSH1 0x04 0000199e: ADD 0000199f: PUSH2 0x069b 000019a2: SWAP1 000019a3: PUSH2 0x2fa7 000019a6: JUMP 000019a7: JUMPDEST 000019a8: PUSH1 0x00 000019aa: DUP1 000019ab: DUP6 000019ac: DUP6 000019ad: PUSH1 0x40 000019af: MLOAD 000019b0: PUSH1 0x20 000019b2: ADD 000019b3: PUSH2 0x19be 000019b6: SWAP4 000019b7: SWAP3 000019b8: SWAP2 000019b9: SWAP1 000019ba: PUSH2 0x2ff1 000019bd: JUMP 000019be: JUMPDEST 000019bf: PUSH1 0x40 000019c1: DUP1 000019c2: MLOAD 000019c3: PUSH1 0x1f 000019c5: NOT 000019c6: DUP2 000019c7: DUP5 000019c8: SUB 000019c9: ADD 000019ca: DUP2 000019cb: MSTORE 000019cc: SWAP1 000019cd: DUP3 000019ce: SWAP1 000019cf: MSTORE 000019d0: PUSH1 0x02 000019d2: SLOAD 000019d3: PUSH4 0x138857a3 000019d8: PUSH1 0xe3 000019da: SHL 000019db: DUP4 000019dc: MSTORE 000019dd: SWAP1 000019de: SWAP3 000019df: POP 000019e0: PUSH1 0x01 000019e2: PUSH1 0x01 000019e4: PUSH1 0xa0 000019e6: SHL 000019e7: SUB 000019e8: AND 000019e9: SWAP1 000019ea: PUSH4 0x9c42bd18 000019ef: SWAP1 000019f0: PUSH2 0x1a01 000019f3: SWAP1 000019f4: DUP10 000019f5: SWAP1 000019f6: DUP7 000019f7: SWAP1 000019f8: DUP7 000019f9: SWAP1 000019fa: PUSH1 0x04 000019fc: ADD 000019fd: PUSH2 0x3027 00001a00: JUMP 00001a01: JUMPDEST 00001a02: PUSH1 0x20 00001a04: PUSH1 0x40 00001a06: MLOAD 00001a07: DUP1 00001a08: DUP4 00001a09: SUB 00001a0a: DUP2 00001a0b: DUP7 00001a0c: GAS 00001a0d: STATICCALL 00001a0e: ISZERO 00001a0f: DUP1 00001a10: ISZERO 00001a11: PUSH2 0x1a1e 00001a14: JUMPI 00001a15: RETURNDATASIZE 00001a16: PUSH1 0x00 00001a18: DUP1 00001a19: RETURNDATACOPY 00001a1a: RETURNDATASIZE 00001a1b: PUSH1 0x00 00001a1d: REVERT 00001a1e: JUMPDEST 00001a1f: POP 00001a20: POP 00001a21: POP 00001a22: POP 00001a23: PUSH1 0x40 00001a25: MLOAD 00001a26: RETURNDATASIZE 00001a27: PUSH1 0x1f 00001a29: NOT 00001a2a: PUSH1 0x1f 00001a2c: DUP3 00001a2d: ADD 00001a2e: AND 00001a2f: DUP3 00001a30: ADD 00001a31: DUP1 00001a32: PUSH1 0x40 00001a34: MSTORE 00001a35: POP 00001a36: DUP2 00001a37: ADD 00001a38: SWAP1 00001a39: PUSH2 0x1a42 00001a3c: SWAP2 00001a3d: SWAP1 00001a3e: PUSH2 0x304c 00001a41: JUMP 00001a42: JUMPDEST 00001a43: SWAP3 00001a44: POP 00001a45: POP 00001a46: POP 00001a47: JUMPDEST 00001a48: SWAP4 00001a49: SWAP3 00001a4a: POP 00001a4b: POP 00001a4c: POP 00001a4d: JUMP 00001a4e: JUMPDEST 00001a4f: PUSH2 0x1a56 00001a52: PUSH2 0x1be2 00001a55: JUMP 00001a56: JUMPDEST 00001a57: PUSH1 0x01 00001a59: PUSH1 0x01 00001a5b: PUSH1 0xa0 00001a5d: SHL 00001a5e: SUB 00001a5f: DUP2 00001a60: AND 00001a61: PUSH2 0x1a80 00001a64: JUMPI 00001a65: PUSH1 0x40 00001a67: MLOAD 00001a68: PUSH4 0x1e4fbdf7 00001a6d: PUSH1 0xe0 00001a6f: SHL 00001a70: DUP2 00001a71: MSTORE 00001a72: PUSH1 0x00 00001a74: PUSH1 0x04 00001a76: DUP3 00001a77: ADD 00001a78: MSTORE 00001a79: PUSH1 0x24 00001a7b: ADD 00001a7c: PUSH2 0x069b 00001a7f: JUMP 00001a80: JUMPDEST 00001a81: PUSH2 0x1a89 00001a84: DUP2 00001a85: PUSH2 0x215d 00001a88: JUMP 00001a89: JUMPDEST 00001a8a: POP 00001a8b: JUMP 00001a8c: JUMPDEST 00001a8d: PUSH2 0x1a94 00001a90: PUSH2 0x1be2 00001a93: JUMP 00001a94: JUMPDEST 00001a95: PUSH1 0x02 00001a97: DUP1 00001a98: SLOAD 00001a99: PUSH1 0x01 00001a9b: PUSH1 0x01 00001a9d: PUSH1 0xa0 00001a9f: SHL 00001aa0: SUB 00001aa1: NOT 00001aa2: AND 00001aa3: PUSH1 0x01 00001aa5: PUSH1 0x01 00001aa7: PUSH1 0xa0 00001aa9: SHL 00001aaa: SUB 00001aab: SWAP3 00001aac: SWAP1 00001aad: SWAP3 00001aae: AND 00001aaf: SWAP2 00001ab0: SWAP1 00001ab1: SWAP2 00001ab2: OR 00001ab3: SWAP1 00001ab4: SSTORE 00001ab5: JUMP 00001ab6: JUMPDEST 00001ab7: PUSH1 0x00 00001ab9: PUSH2 0x0db4 00001abc: DUP3 00001abd: PUSH2 0x2218 00001ac0: JUMP 00001ac1: JUMPDEST 00001ac2: PUSH1 0x60 00001ac4: DUP2 00001ac5: PUSH1 0x00 00001ac7: ADD 00001ac8: MLOAD 00001ac9: DUP3 00001aca: PUSH1 0x20 00001acc: ADD 00001acd: MLOAD 00001ace: DUP4 00001acf: PUSH1 0x40 00001ad1: ADD 00001ad2: MLOAD 00001ad3: DUP5 00001ad4: PUSH1 0x60 00001ad6: ADD 00001ad7: MLOAD 00001ad8: DUP6 00001ad9: PUSH1 0x80 00001adb: ADD 00001adc: MLOAD 00001add: DUP7 00001ade: PUSH1 0xa0 00001ae0: ADD 00001ae1: MLOAD 00001ae2: DUP8 00001ae3: PUSH1 0xc0 00001ae5: ADD 00001ae6: MLOAD 00001ae7: DUP9 00001ae8: PUSH1 0xe0 00001aea: ADD 00001aeb: MLOAD 00001aec: DUP10 00001aed: PUSH2 0x0100 00001af0: ADD 00001af1: MLOAD 00001af2: PUSH1 0x40 00001af4: MLOAD 00001af5: PUSH1 0x20 00001af7: ADD 00001af8: PUSH2 0x1b09 00001afb: SWAP10 00001afc: SWAP9 00001afd: SWAP8 00001afe: SWAP7 00001aff: SWAP6 00001b00: SWAP5 00001b01: SWAP4 00001b02: SWAP3 00001b03: SWAP2 00001b04: SWAP1 00001b05: PUSH2 0x31ea 00001b08: JUMP 00001b09: JUMPDEST 00001b0a: PUSH1 0x40 00001b0c: MLOAD 00001b0d: PUSH1 0x20 00001b0f: DUP2 00001b10: DUP4 00001b11: SUB 00001b12: SUB 00001b13: DUP2 00001b14: MSTORE 00001b15: SWAP1 00001b16: PUSH1 0x40 00001b18: MSTORE 00001b19: SWAP1 00001b1a: POP 00001b1b: SWAP2 00001b1c: SWAP1 00001b1d: POP 00001b1e: JUMP 00001b1f: JUMPDEST 00001b20: PUSH1 0x00 00001b22: SLOAD 00001b23: PUSH1 0x40 00001b25: DUP1 00001b26: MLOAD 00001b27: PUSH1 0xa0 00001b29: DUP2 00001b2a: ADD 00001b2b: DUP3 00001b2c: MSTORE 00001b2d: PUSH1 0x01 00001b2f: SLOAD 00001b30: PUSH1 0x01 00001b32: PUSH1 0x01 00001b34: PUSH1 0xa0 00001b36: SHL 00001b37: SUB 00001b38: SWAP1 00001b39: DUP2 00001b3a: AND 00001b3b: PUSH1 0x60 00001b3d: DUP4 00001b3e: ADD 00001b3f: SWAP1 00001b40: DUP2 00001b41: MSTORE 00001b42: PUSH1 0x80 00001b44: DUP4 00001b45: ADD 00001b46: DUP11 00001b47: SWAP1 00001b48: MSTORE 00001b49: DUP3 00001b4a: MSTORE 00001b4b: PUSH4 0xffffffff 00001b50: DUP8 00001b51: AND 00001b52: PUSH1 0x20 00001b54: DUP1 00001b55: DUP5 00001b56: ADD 00001b57: SWAP2 00001b58: SWAP1 00001b59: SWAP2 00001b5a: MSTORE 00001b5b: DUP3 00001b5c: DUP5 00001b5d: ADD 00001b5e: DUP10 00001b5f: SWAP1 00001b60: MSTORE 00001b61: DUP4 00001b62: MLOAD 00001b63: DUP1 00001b64: DUP6 00001b65: ADD 00001b66: DUP6 00001b67: MSTORE 00001b68: ADDRESS 00001b69: DUP2 00001b6a: MSTORE 00001b6b: SWAP1 00001b6c: DUP2 00001b6d: ADD 00001b6e: DUP11 00001b6f: SWAP1 00001b70: MSTORE 00001b71: SWAP3 00001b72: MLOAD 00001b73: PUSH4 0x187945bd 00001b78: PUSH1 0xe1 00001b7a: SHL 00001b7b: DUP2 00001b7c: MSTORE 00001b7d: SWAP4 00001b7e: AND 00001b7f: SWAP3 00001b80: PUSH4 0x30f28b7a 00001b85: SWAP3 00001b86: PUSH2 0x1b98 00001b89: SWAP3 00001b8a: SWAP2 00001b8b: CALLER 00001b8c: SWAP1 00001b8d: DUP9 00001b8e: SWAP1 00001b8f: DUP9 00001b90: SWAP1 00001b91: PUSH1 0x04 00001b93: ADD 00001b94: PUSH2 0x3268 00001b97: JUMP 00001b98: JUMPDEST 00001b99: PUSH1 0x00 00001b9b: PUSH1 0x40 00001b9d: MLOAD 00001b9e: DUP1 00001b9f: DUP4 00001ba0: SUB 00001ba1: DUP2 00001ba2: PUSH1 0x00 00001ba4: DUP8 00001ba5: DUP1 00001ba6: EXTCODESIZE 00001ba7: ISZERO 00001ba8: DUP1 00001ba9: ISZERO 00001baa: PUSH2 0x1bb2 00001bad: JUMPI 00001bae: PUSH1 0x00 00001bb0: DUP1 00001bb1: REVERT 00001bb2: JUMPDEST 00001bb3: POP 00001bb4: GAS 00001bb5: CALL 00001bb6: ISZERO 00001bb7: DUP1 00001bb8: ISZERO 00001bb9: PUSH2 0x1bc6 00001bbc: JUMPI 00001bbd: RETURNDATASIZE 00001bbe: PUSH1 0x00 00001bc0: DUP1 00001bc1: RETURNDATACOPY 00001bc2: RETURNDATASIZE 00001bc3: PUSH1 0x00 00001bc5: REVERT 00001bc6: JUMPDEST 00001bc7: POP 00001bc8: POP 00001bc9: POP 00001bca: POP 00001bcb: POP 00001bcc: POP 00001bcd: POP 00001bce: POP 00001bcf: POP 00001bd0: JUMP 00001bd1: JUMPDEST 00001bd2: PUSH2 0x1bd9 00001bd5: PUSH2 0x2231 00001bd8: JUMP 00001bd9: JUMPDEST 00001bda: PUSH2 0x1a89 00001bdd: DUP2 00001bde: PUSH2 0x227a 00001be1: JUMP 00001be2: JUMPDEST 00001be3: CALLER 00001be4: PUSH2 0x1c14 00001be7: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 00001c08: SLOAD 00001c09: PUSH1 0x01 00001c0b: PUSH1 0x01 00001c0d: PUSH1 0xa0 00001c0f: SHL 00001c10: SUB 00001c11: AND 00001c12: SWAP1 00001c13: JUMP 00001c14: JUMPDEST 00001c15: PUSH1 0x01 00001c17: PUSH1 0x01 00001c19: PUSH1 0xa0 00001c1b: SHL 00001c1c: SUB 00001c1d: AND 00001c1e: EQ 00001c1f: PUSH2 0x12b2 00001c22: JUMPI 00001c23: PUSH1 0x40 00001c25: MLOAD 00001c26: PUSH4 0x118cdaa7 00001c2b: PUSH1 0xe0 00001c2d: SHL 00001c2e: DUP2 00001c2f: MSTORE 00001c30: CALLER 00001c31: PUSH1 0x04 00001c33: DUP3 00001c34: ADD 00001c35: MSTORE 00001c36: PUSH1 0x24 00001c38: ADD 00001c39: PUSH2 0x069b 00001c3c: JUMP 00001c3d: JUMPDEST 00001c3e: PUSH1 0x00 00001c40: JUMPDEST 00001c41: DUP2 00001c42: MLOAD 00001c43: DUP2 00001c44: LT 00001c45: ISZERO 00001c46: PUSH2 0x0dd5 00001c49: JUMPI 00001c4a: PUSH1 0x00 00001c4c: DUP2 00001c4d: PUSH1 0x20 00001c4f: ADD 00001c50: DUP4 00001c51: ADD 00001c52: MLOAD 00001c53: SWAP1 00001c54: POP 00001c55: PUSH1 0x00 00001c57: DUP3 00001c58: PUSH1 0x20 00001c5a: PUSH2 0x1c63 00001c5d: SWAP2 00001c5e: SWAP1 00001c5f: PUSH2 0x2f94 00001c62: JUMP 00001c63: JUMPDEST 00001c64: SWAP1 00001c65: POP 00001c66: JUMPDEST 00001c67: DUP4 00001c68: MLOAD 00001c69: DUP2 00001c6a: LT 00001c6b: ISZERO 00001c6c: PUSH2 0x1ce4 00001c6f: JUMPI 00001c70: DUP4 00001c71: DUP2 00001c72: ADD 00001c73: PUSH1 0x20 00001c75: ADD 00001c76: MLOAD 00001c77: DUP3 00001c78: DUP2 00001c79: SUB 00001c7a: PUSH2 0x1cd1 00001c7d: JUMPI 00001c7e: PUSH1 0x40 00001c80: MLOAD 00001c81: PUSH3 0x461bcd 00001c85: PUSH1 0xe5 00001c87: SHL 00001c88: DUP2 00001c89: MSTORE 00001c8a: PUSH1 0x20 00001c8c: PUSH1 0x04 00001c8e: DUP3 00001c8f: ADD 00001c90: MSTORE 00001c91: PUSH1 0x24 00001c93: DUP1 00001c94: DUP3 00001c95: ADD 00001c96: MSTORE 00001c97: PUSH32 0x466173745472616e73666572476174657761793a206475706c6963617465206f 00001cb8: PUSH1 0x44 00001cba: DUP3 00001cbb: ADD 00001cbc: MSTORE 00001cbd: PUSH4 0x393232b9 00001cc2: PUSH1 0xe1 00001cc4: SHL 00001cc5: PUSH1 0x64 00001cc7: DUP3 00001cc8: ADD 00001cc9: MSTORE 00001cca: PUSH1 0x84 00001ccc: ADD 00001ccd: PUSH2 0x069b 00001cd0: JUMP 00001cd1: JUMPDEST 00001cd2: POP 00001cd3: PUSH2 0x1cdd 00001cd6: PUSH1 0x20 00001cd8: DUP3 00001cd9: PUSH2 0x2f94 00001cdc: JUMP 00001cdd: JUMPDEST 00001cde: SWAP1 00001cdf: POP 00001ce0: PUSH2 0x1c66 00001ce3: JUMP 00001ce4: JUMPDEST 00001ce5: POP 00001ce6: PUSH2 0x1cf2 00001ce9: SWAP1 00001cea: POP 00001ceb: PUSH1 0x20 00001ced: DUP3 00001cee: PUSH2 0x2f94 00001cf1: JUMP 00001cf2: JUMPDEST 00001cf3: SWAP1 00001cf4: POP 00001cf5: PUSH2 0x1c40 00001cf8: JUMP 00001cf9: JUMPDEST 00001cfa: PUSH1 0x40 00001cfc: DUP1 00001cfd: MLOAD 00001cfe: PUSH1 0x60 00001d00: DUP1 00001d01: DUP3 00001d02: ADD 00001d03: DUP4 00001d04: MSTORE 00001d05: PUSH1 0x00 00001d07: DUP1 00001d08: DUP4 00001d09: MSTORE 00001d0a: PUSH1 0x20 00001d0c: DUP1 00001d0d: DUP5 00001d0e: ADD 00001d0f: DUP3 00001d10: SWAP1 00001d11: MSTORE 00001d12: DUP4 00001d13: DUP6 00001d14: ADD 00001d15: DUP3 00001d16: SWAP1 00001d17: MSTORE 00001d18: DUP6 00001d19: DUP3 00001d1a: MSTORE 00001d1b: PUSH1 0x08 00001d1d: DUP2 00001d1e: MSTORE 00001d1f: SWAP1 00001d20: DUP5 00001d21: SWAP1 00001d22: KECCAK256 00001d23: DUP5 00001d24: MLOAD 00001d25: SWAP3 00001d26: DUP4 00001d27: ADD 00001d28: DUP6 00001d29: MSTORE 00001d2a: DUP1 00001d2b: SLOAD 00001d2c: DUP4 00001d2d: MSTORE 00001d2e: PUSH1 0x01 00001d30: ADD 00001d31: SLOAD 00001d32: PUSH1 0x01 00001d34: PUSH1 0x01 00001d36: PUSH1 0xa0 00001d38: SHL 00001d39: SUB 00001d3a: DUP2 00001d3b: AND 00001d3c: SWAP2 00001d3d: DUP4 00001d3e: ADD 00001d3f: DUP3 00001d40: SWAP1 00001d41: MSTORE 00001d42: PUSH1 0x01 00001d44: PUSH1 0xa0 00001d46: SHL 00001d47: SWAP1 00001d48: DIV 00001d49: PUSH4 0xffffffff 00001d4e: AND 00001d4f: SWAP4 00001d50: DUP3 00001d51: ADD 00001d52: SWAP4 00001d53: SWAP1 00001d54: SWAP4 00001d55: MSTORE 00001d56: SWAP1 00001d57: SWAP2 00001d58: PUSH2 0x0db4 00001d5b: JUMPI 00001d5c: PUSH1 0x40 00001d5e: MLOAD 00001d5f: PUSH3 0x461bcd 00001d63: PUSH1 0xe5 00001d65: SHL 00001d66: DUP2 00001d67: MSTORE 00001d68: PUSH1 0x20 00001d6a: PUSH1 0x04 00001d6c: DUP3 00001d6d: ADD 00001d6e: MSTORE 00001d6f: PUSH1 0x25 00001d71: PUSH1 0x24 00001d73: DUP3 00001d74: ADD 00001d75: MSTORE 00001d76: PUSH32 0x466173745472616e73666572476174657761793a206f72646572206e6f742066 00001d97: PUSH1 0x44 00001d99: DUP3 00001d9a: ADD 00001d9b: MSTORE 00001d9c: PUSH5 0x1a5b1b1959 00001da2: PUSH1 0xda 00001da4: SHL 00001da5: PUSH1 0x64 00001da7: DUP3 00001da8: ADD 00001da9: MSTORE 00001daa: PUSH1 0x84 00001dac: ADD 00001dad: PUSH2 0x069b 00001db0: JUMP 00001db1: JUMPDEST 00001db2: ADDRESS 00001db3: PUSH1 0x01 00001db5: PUSH1 0x01 00001db7: PUSH1 0xa0 00001db9: SHL 00001dba: SUB 00001dbb: PUSH32 0x0000000000000000000000005afdab84d684a057d359498e40f38f433390e711 00001ddc: AND 00001ddd: EQ 00001dde: DUP1 00001ddf: PUSH2 0x1e38 00001de2: JUMPI 00001de3: POP 00001de4: PUSH32 0x0000000000000000000000005afdab84d684a057d359498e40f38f433390e711 00001e05: PUSH1 0x01 00001e07: PUSH1 0x01 00001e09: PUSH1 0xa0 00001e0b: SHL 00001e0c: SUB 00001e0d: AND 00001e0e: PUSH2 0x1e2c 00001e11: PUSH1 0x00 00001e13: DUP1 00001e14: MLOAD 00001e15: PUSH1 0x20 00001e17: PUSH2 0x33bb 00001e1a: DUP4 00001e1b: CODECOPY 00001e1c: DUP2 00001e1d: MLOAD 00001e1e: SWAP2 00001e1f: MSTORE 00001e20: SLOAD 00001e21: PUSH1 0x01 00001e23: PUSH1 0x01 00001e25: PUSH1 0xa0 00001e27: SHL 00001e28: SUB 00001e29: AND 00001e2a: SWAP1 00001e2b: JUMP 00001e2c: JUMPDEST 00001e2d: PUSH1 0x01 00001e2f: PUSH1 0x01 00001e31: PUSH1 0xa0 00001e33: SHL 00001e34: SUB 00001e35: AND 00001e36: EQ 00001e37: ISZERO 00001e38: JUMPDEST 00001e39: ISZERO 00001e3a: PUSH2 0x12b2 00001e3d: JUMPI 00001e3e: PUSH1 0x40 00001e40: MLOAD 00001e41: PUSH4 0x703e46dd 00001e46: PUSH1 0xe1 00001e48: SHL 00001e49: DUP2 00001e4a: MSTORE 00001e4b: PUSH1 0x04 00001e4d: ADD 00001e4e: PUSH1 0x40 00001e50: MLOAD 00001e51: DUP1 00001e52: SWAP2 00001e53: SUB 00001e54: SWAP1 00001e55: REVERT 00001e56: JUMPDEST 00001e57: PUSH2 0x1a89 00001e5a: PUSH2 0x1be2 00001e5d: JUMP 00001e5e: JUMPDEST 00001e5f: DUP2 00001e60: PUSH1 0x01 00001e62: PUSH1 0x01 00001e64: PUSH1 0xa0 00001e66: SHL 00001e67: SUB 00001e68: AND 00001e69: PUSH4 0x52d1902d 00001e6e: PUSH1 0x40 00001e70: MLOAD 00001e71: DUP2 00001e72: PUSH4 0xffffffff 00001e77: AND 00001e78: PUSH1 0xe0 00001e7a: SHL 00001e7b: DUP2 00001e7c: MSTORE 00001e7d: PUSH1 0x04 00001e7f: ADD 00001e80: PUSH1 0x20 00001e82: PUSH1 0x40 00001e84: MLOAD 00001e85: DUP1 00001e86: DUP4 00001e87: SUB 00001e88: DUP2 00001e89: DUP7 00001e8a: GAS 00001e8b: STATICCALL 00001e8c: SWAP3 00001e8d: POP 00001e8e: POP 00001e8f: POP 00001e90: DUP1 00001e91: ISZERO 00001e92: PUSH2 0x1eb8 00001e95: JUMPI 00001e96: POP 00001e97: PUSH1 0x40 00001e99: DUP1 00001e9a: MLOAD 00001e9b: PUSH1 0x1f 00001e9d: RETURNDATASIZE 00001e9e: SWAP1 00001e9f: DUP2 00001ea0: ADD 00001ea1: PUSH1 0x1f 00001ea3: NOT 00001ea4: AND 00001ea5: DUP3 00001ea6: ADD 00001ea7: SWAP1 00001ea8: SWAP3 00001ea9: MSTORE 00001eaa: PUSH2 0x1eb5 00001ead: SWAP2 00001eae: DUP2 00001eaf: ADD 00001eb0: SWAP1 00001eb1: PUSH2 0x304c 00001eb4: JUMP 00001eb5: JUMPDEST 00001eb6: PUSH1 0x01 00001eb8: JUMPDEST 00001eb9: PUSH2 0x1ee0 00001ebc: JUMPI 00001ebd: PUSH1 0x40 00001ebf: MLOAD 00001ec0: PUSH4 0x4c9c8ce3 00001ec5: PUSH1 0xe0 00001ec7: SHL 00001ec8: DUP2 00001ec9: MSTORE 00001eca: PUSH1 0x01 00001ecc: PUSH1 0x01 00001ece: PUSH1 0xa0 00001ed0: SHL 00001ed1: SUB 00001ed2: DUP4 00001ed3: AND 00001ed4: PUSH1 0x04 00001ed6: DUP3 00001ed7: ADD 00001ed8: MSTORE 00001ed9: PUSH1 0x24 00001edb: ADD 00001edc: PUSH2 0x069b 00001edf: JUMP 00001ee0: JUMPDEST 00001ee1: PUSH1 0x00 00001ee3: DUP1 00001ee4: MLOAD 00001ee5: PUSH1 0x20 00001ee7: PUSH2 0x33bb 00001eea: DUP4 00001eeb: CODECOPY 00001eec: DUP2 00001eed: MLOAD 00001eee: SWAP2 00001eef: MSTORE 00001ef0: DUP2 00001ef1: EQ 00001ef2: PUSH2 0x1f11 00001ef5: JUMPI 00001ef6: PUSH1 0x40 00001ef8: MLOAD 00001ef9: PUSH4 0x2a875269 00001efe: PUSH1 0xe2 00001f00: SHL 00001f01: DUP2 00001f02: MSTORE 00001f03: PUSH1 0x04 00001f05: DUP2 00001f06: ADD 00001f07: DUP3 00001f08: SWAP1 00001f09: MSTORE 00001f0a: PUSH1 0x24 00001f0c: ADD 00001f0d: PUSH2 0x069b 00001f10: JUMP 00001f11: JUMPDEST 00001f12: PUSH2 0x1f1b 00001f15: DUP4 00001f16: DUP4 00001f17: PUSH2 0x2282 00001f1a: JUMP 00001f1b: JUMPDEST 00001f1c: POP 00001f1d: POP 00001f1e: POP 00001f1f: JUMP 00001f20: JUMPDEST 00001f21: ADDRESS 00001f22: PUSH1 0x01 00001f24: PUSH1 0x01 00001f26: PUSH1 0xa0 00001f28: SHL 00001f29: SUB 00001f2a: PUSH32 0x0000000000000000000000005afdab84d684a057d359498e40f38f433390e711 00001f4b: AND 00001f4c: EQ 00001f4d: PUSH2 0x12b2 00001f50: JUMPI 00001f51: PUSH1 0x40 00001f53: MLOAD 00001f54: PUSH4 0x703e46dd 00001f59: PUSH1 0xe1 00001f5b: SHL 00001f5c: DUP2 00001f5d: MSTORE 00001f5e: PUSH1 0x04 00001f60: ADD 00001f61: PUSH1 0x40 00001f63: MLOAD 00001f64: DUP1 00001f65: SWAP2 00001f66: SUB 00001f67: SWAP1 00001f68: REVERT 00001f69: JUMPDEST 00001f6a: SWAP1 00001f6b: JUMP 00001f6c: JUMPDEST 00001f6d: PUSH1 0x00 00001f6f: DUP1 00001f70: JUMPDEST 00001f71: DUP4 00001f72: MLOAD 00001f73: DUP2 00001f74: LT 00001f75: ISZERO 00001f76: PUSH2 0x20a8 00001f79: JUMPI 00001f7a: PUSH1 0x20 00001f7c: DUP2 00001f7d: DUP6 00001f7e: ADD 00001f7f: DUP2 00001f80: ADD 00001f81: MLOAD 00001f82: PUSH1 0x00 00001f84: DUP2 00001f85: DUP2 00001f86: MSTORE 00001f87: PUSH1 0x06 00001f89: DUP4 00001f8a: MSTORE 00001f8b: PUSH1 0x40 00001f8d: DUP1 00001f8e: DUP3 00001f8f: KECCAK256 00001f90: DUP2 00001f91: MLOAD 00001f92: PUSH1 0x80 00001f94: DUP2 00001f95: ADD 00001f96: DUP4 00001f97: MSTORE 00001f98: DUP2 00001f99: SLOAD 00001f9a: DUP2 00001f9b: MSTORE 00001f9c: PUSH1 0x01 00001f9e: DUP3 00001f9f: ADD 00001fa0: SLOAD 00001fa1: DUP2 00001fa2: DUP8 00001fa3: ADD 00001fa4: MSTORE 00001fa5: PUSH1 0x02 00001fa7: DUP1 00001fa8: DUP4 00001fa9: ADD 00001faa: SLOAD 00001fab: PUSH4 0xffffffff 00001fb0: AND 00001fb1: DUP3 00001fb2: DUP6 00001fb3: ADD 00001fb4: MSTORE 00001fb5: PUSH1 0x03 00001fb7: SWAP1 00001fb8: SWAP3 00001fb9: ADD 00001fba: SLOAD 00001fbb: PUSH1 0x60 00001fbd: DUP3 00001fbe: ADD 00001fbf: MSTORE 00001fc0: DUP5 00001fc1: DUP5 00001fc2: MSTORE 00001fc3: PUSH1 0x07 00001fc5: SWAP1 00001fc6: SWAP6 00001fc7: MSTORE 00001fc8: SWAP1 00001fc9: DUP3 00001fca: KECCAK256 00001fcb: SLOAD 00001fcc: SWAP3 00001fcd: SWAP4 00001fce: SWAP3 00001fcf: PUSH1 0xff 00001fd1: AND 00001fd2: SWAP1 00001fd3: DUP2 00001fd4: GT 00001fd5: ISZERO 00001fd6: PUSH2 0x1fe1 00001fd9: JUMPI 00001fda: PUSH2 0x1fe1 00001fdd: PUSH2 0x2cbe 00001fe0: JUMP 00001fe1: JUMPDEST 00001fe2: EQ 00001fe3: PUSH2 0x1fed 00001fe6: JUMPI 00001fe7: POP 00001fe8: POP 00001fe9: PUSH2 0x2096 00001fec: JUMP 00001fed: JUMPDEST 00001fee: PUSH1 0x00 00001ff0: DUP2 00001ff1: PUSH1 0x20 00001ff3: ADD 00001ff4: MLOAD 00001ff5: GT 00001ff6: PUSH2 0x2011 00001ff9: JUMPI 00001ffa: PUSH1 0x40 00001ffc: MLOAD 00001ffd: PUSH3 0x461bcd 00002001: PUSH1 0xe5 00002003: SHL 00002004: DUP2 00002005: MSTORE 00002006: PUSH1 0x04 00002008: ADD 00002009: PUSH2 0x069b 0000200c: SWAP1 0000200d: PUSH2 0x32eb 00002010: JUMP 00002011: JUMPDEST 00002012: DUP5 00002013: PUSH4 0xffffffff 00002018: AND 00002019: DUP2 0000201a: PUSH1 0x40 0000201c: ADD 0000201d: MLOAD 0000201e: PUSH4 0xffffffff 00002023: AND 00002024: EQ 00002025: PUSH2 0x2040 00002028: JUMPI 00002029: PUSH1 0x40 0000202b: MLOAD 0000202c: PUSH3 0x461bcd 00002030: PUSH1 0xe5 00002032: SHL 00002033: DUP2 00002034: MSTORE 00002035: PUSH1 0x04 00002037: ADD 00002038: PUSH2 0x069b 0000203b: SWAP1 0000203c: PUSH2 0x332f 0000203f: JUMP 00002040: JUMPDEST 00002041: PUSH1 0x60 00002043: DUP2 00002044: ADD 00002045: MLOAD 00002046: PUSH2 0x204f 00002049: SWAP1 0000204a: DUP6 0000204b: PUSH2 0x2f94 0000204e: JUMP 0000204f: JUMPDEST 00002050: PUSH1 0x00 00002052: DUP4 00002053: DUP2 00002054: MSTORE 00002055: PUSH1 0x07 00002057: PUSH1 0x20 00002059: MSTORE 0000205a: PUSH1 0x40 0000205c: DUP1 0000205d: DUP3 0000205e: KECCAK256 0000205f: DUP1 00002060: SLOAD 00002061: PUSH1 0xff 00002063: NOT 00002064: AND 00002065: PUSH1 0x01 00002067: OR 00002068: SWAP1 00002069: SSTORE 0000206a: MLOAD 0000206b: SWAP2 0000206c: SWAP6 0000206d: POP 0000206e: DUP4 0000206f: SWAP2 00002070: PUSH32 0xd4250d6114a611e75d68b1c6f14c61e967863d8ac20bc8ebfa4e5f28f6647366 00002091: SWAP2 00002092: SWAP1 00002093: LOG2 00002094: POP 00002095: POP 00002096: JUMPDEST 00002097: PUSH2 0x20a1 0000209a: PUSH1 0x20 0000209c: DUP3 0000209d: PUSH2 0x2f94 000020a0: JUMP 000020a1: JUMPDEST 000020a2: SWAP1 000020a3: POP 000020a4: PUSH2 0x1f70 000020a7: JUMP 000020a8: JUMPDEST 000020a9: POP 000020aa: PUSH1 0x01 000020ac: SLOAD 000020ad: PUSH2 0x20c0 000020b0: SWAP1 000020b1: PUSH1 0x01 000020b3: PUSH1 0x01 000020b5: PUSH1 0xa0 000020b7: SHL 000020b8: SUB 000020b9: AND 000020ba: DUP6 000020bb: DUP4 000020bc: PUSH2 0x22d8 000020bf: JUMP 000020c0: JUMPDEST 000020c1: POP 000020c2: POP 000020c3: POP 000020c4: POP 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH1 0x00 000020c9: JUMPDEST 000020ca: DUP3 000020cb: MLOAD 000020cc: DUP2 000020cd: LT 000020ce: ISZERO 000020cf: PUSH2 0x1f1b 000020d2: JUMPI 000020d3: DUP3 000020d4: DUP2 000020d5: ADD 000020d6: PUSH1 0x20 000020d8: ADD 000020d9: MLOAD 000020da: PUSH2 0x20e3 000020dd: DUP2 000020de: DUP5 000020df: PUSH2 0x2309 000020e2: JUMP 000020e3: JUMPDEST 000020e4: POP 000020e5: PUSH2 0x20ef 000020e8: PUSH1 0x20 000020ea: DUP3 000020eb: PUSH2 0x2f94 000020ee: JUMP 000020ef: JUMPDEST 000020f0: SWAP1 000020f1: POP 000020f2: PUSH2 0x20c9 000020f5: JUMP 000020f6: JUMPDEST 000020f7: PUSH1 0x40 000020f9: MLOAD 000020fa: PUSH1 0x01 000020fc: PUSH1 0x01 000020fe: PUSH1 0xa0 00002100: SHL 00002101: SUB 00002102: DUP5 00002103: DUP2 00002104: AND 00002105: PUSH1 0x24 00002107: DUP4 00002108: ADD 00002109: MSTORE 0000210a: DUP4 0000210b: DUP2 0000210c: AND 0000210d: PUSH1 0x44 0000210f: DUP4 00002110: ADD 00002111: MSTORE 00002112: PUSH1 0x64 00002114: DUP3 00002115: ADD 00002116: DUP4 00002117: SWAP1 00002118: MSTORE 00002119: PUSH2 0x20c0 0000211c: SWAP2 0000211d: DUP7 0000211e: SWAP2 0000211f: DUP3 00002120: AND 00002121: SWAP1 00002122: PUSH4 0x23b872dd 00002127: SWAP1 00002128: PUSH1 0x84 0000212a: ADD 0000212b: JUMPDEST 0000212c: PUSH1 0x40 0000212e: MLOAD 0000212f: PUSH1 0x20 00002131: DUP2 00002132: DUP4 00002133: SUB 00002134: SUB 00002135: DUP2 00002136: MSTORE 00002137: SWAP1 00002138: PUSH1 0x40 0000213a: MSTORE 0000213b: SWAP2 0000213c: POP 0000213d: PUSH1 0xe0 0000213f: SHL 00002140: PUSH1 0x20 00002142: DUP3 00002143: ADD 00002144: DUP1 00002145: MLOAD 00002146: PUSH1 0x01 00002148: PUSH1 0x01 0000214a: PUSH1 0xe0 0000214c: SHL 0000214d: SUB 0000214e: DUP4 0000214f: DUP2 00002150: DUP4 00002151: AND 00002152: OR 00002153: DUP4 00002154: MSTORE 00002155: POP 00002156: POP 00002157: POP 00002158: POP 00002159: PUSH2 0x242c 0000215c: JUMP 0000215d: JUMPDEST 0000215e: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 0000217f: DUP1 00002180: SLOAD 00002181: PUSH1 0x01 00002183: PUSH1 0x01 00002185: PUSH1 0xa0 00002187: SHL 00002188: SUB 00002189: NOT 0000218a: DUP2 0000218b: AND 0000218c: PUSH1 0x01 0000218e: PUSH1 0x01 00002190: PUSH1 0xa0 00002192: SHL 00002193: SUB 00002194: DUP5 00002195: DUP2 00002196: AND 00002197: SWAP2 00002198: DUP3 00002199: OR 0000219a: DUP5 0000219b: SSTORE 0000219c: PUSH1 0x40 0000219e: MLOAD 0000219f: SWAP3 000021a0: AND 000021a1: SWAP2 000021a2: DUP3 000021a3: SWAP1 000021a4: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000021c5: SWAP1 000021c6: PUSH1 0x00 000021c8: SWAP1 000021c9: LOG3 000021ca: POP 000021cb: POP 000021cc: POP 000021cd: JUMP 000021ce: JUMPDEST 000021cf: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 000021f0: DUP1 000021f1: SLOAD 000021f2: PUSH1 0x01 000021f4: NOT 000021f5: ADD 000021f6: PUSH2 0x2212 000021f9: JUMPI 000021fa: PUSH1 0x40 000021fc: MLOAD 000021fd: PUSH4 0x3ee5aeb5 00002202: PUSH1 0xe0 00002204: SHL 00002205: DUP2 00002206: MSTORE 00002207: PUSH1 0x04 00002209: ADD 0000220a: PUSH1 0x40 0000220c: MLOAD 0000220d: DUP1 0000220e: SWAP2 0000220f: SUB 00002210: SWAP1 00002211: REVERT 00002212: JUMPDEST 00002213: PUSH1 0x02 00002215: SWAP1 00002216: SSTORE 00002217: JUMP 00002218: JUMPDEST 00002219: PUSH1 0x00 0000221b: PUSH2 0x2223 0000221e: DUP3 0000221f: PUSH2 0x1ac1 00002222: JUMP 00002223: JUMPDEST 00002224: DUP1 00002225: MLOAD 00002226: SWAP1 00002227: PUSH1 0x20 00002229: ADD 0000222a: KECCAK256 0000222b: SWAP1 0000222c: POP 0000222d: SWAP2 0000222e: SWAP1 0000222f: POP 00002230: JUMP 00002231: JUMPDEST 00002232: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 00002253: SLOAD 00002254: PUSH1 0x01 00002256: PUSH1 0x40 00002258: SHL 00002259: SWAP1 0000225a: DIV 0000225b: PUSH1 0xff 0000225d: AND 0000225e: PUSH2 0x12b2 00002261: JUMPI 00002262: PUSH1 0x40 00002264: MLOAD 00002265: PUSH4 0x1afcd79f 0000226a: PUSH1 0xe3 0000226c: SHL 0000226d: DUP2 0000226e: MSTORE 0000226f: PUSH1 0x04 00002271: ADD 00002272: PUSH1 0x40 00002274: MLOAD 00002275: DUP1 00002276: SWAP2 00002277: SUB 00002278: SWAP1 00002279: REVERT 0000227a: JUMPDEST 0000227b: PUSH2 0x1a56 0000227e: PUSH2 0x2231 00002281: JUMP 00002282: JUMPDEST 00002283: PUSH2 0x228b 00002286: DUP3 00002287: PUSH2 0x248f 0000228a: JUMP 0000228b: JUMPDEST 0000228c: PUSH1 0x40 0000228e: MLOAD 0000228f: PUSH1 0x01 00002291: PUSH1 0x01 00002293: PUSH1 0xa0 00002295: SHL 00002296: SUB 00002297: DUP4 00002298: AND 00002299: SWAP1 0000229a: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 000022bb: SWAP1 000022bc: PUSH1 0x00 000022be: SWAP1 000022bf: LOG2 000022c0: DUP1 000022c1: MLOAD 000022c2: ISZERO 000022c3: PUSH2 0x22d0 000022c6: JUMPI 000022c7: PUSH2 0x1f1b 000022ca: DUP3 000022cb: DUP3 000022cc: PUSH2 0x24f4 000022cf: JUMP 000022d0: JUMPDEST 000022d1: PUSH2 0x0dd5 000022d4: PUSH2 0x256a 000022d7: JUMP 000022d8: JUMPDEST 000022d9: PUSH1 0x40 000022db: MLOAD 000022dc: PUSH1 0x01 000022de: PUSH1 0x01 000022e0: PUSH1 0xa0 000022e2: SHL 000022e3: SUB 000022e4: DUP4 000022e5: DUP2 000022e6: AND 000022e7: PUSH1 0x24 000022e9: DUP4 000022ea: ADD 000022eb: MSTORE 000022ec: PUSH1 0x44 000022ee: DUP3 000022ef: ADD 000022f0: DUP4 000022f1: SWAP1 000022f2: MSTORE 000022f3: PUSH2 0x1f1b 000022f6: SWAP2 000022f7: DUP6 000022f8: SWAP2 000022f9: DUP3 000022fa: AND 000022fb: SWAP1 000022fc: PUSH4 0xa9059cbb 00002301: SWAP1 00002302: PUSH1 0x64 00002304: ADD 00002305: PUSH2 0x212b 00002308: JUMP 00002309: JUMPDEST 0000230a: PUSH1 0x00 0000230c: DUP3 0000230d: DUP2 0000230e: MSTORE 0000230f: PUSH1 0x06 00002311: PUSH1 0x20 00002313: SWAP1 00002314: DUP2 00002315: MSTORE 00002316: PUSH1 0x40 00002318: SWAP2 00002319: DUP3 0000231a: SWAP1 0000231b: KECCAK256 0000231c: DUP3 0000231d: MLOAD 0000231e: PUSH1 0x80 00002320: DUP2 00002321: ADD 00002322: DUP5 00002323: MSTORE 00002324: DUP2 00002325: SLOAD 00002326: DUP2 00002327: MSTORE 00002328: PUSH1 0x01 0000232a: DUP3 0000232b: ADD 0000232c: SLOAD 0000232d: SWAP3 0000232e: DUP2 0000232f: ADD 00002330: DUP4 00002331: SWAP1 00002332: MSTORE 00002333: PUSH1 0x02 00002335: DUP3 00002336: ADD 00002337: SLOAD 00002338: PUSH4 0xffffffff 0000233d: AND 0000233e: SWAP4 0000233f: DUP2 00002340: ADD 00002341: SWAP4 00002342: SWAP1 00002343: SWAP4 00002344: MSTORE 00002345: PUSH1 0x03 00002347: ADD 00002348: SLOAD 00002349: PUSH1 0x60 0000234b: DUP4 0000234c: ADD 0000234d: MSTORE 0000234e: PUSH2 0x2369 00002351: JUMPI 00002352: PUSH1 0x40 00002354: MLOAD 00002355: PUSH3 0x461bcd 00002359: PUSH1 0xe5 0000235b: SHL 0000235c: DUP2 0000235d: MSTORE 0000235e: PUSH1 0x04 00002360: ADD 00002361: PUSH2 0x069b 00002364: SWAP1 00002365: PUSH2 0x32eb 00002368: JUMP 00002369: JUMPDEST 0000236a: DUP2 0000236b: PUSH4 0xffffffff 00002370: AND 00002371: DUP2 00002372: PUSH1 0x40 00002374: ADD 00002375: MLOAD 00002376: PUSH4 0xffffffff 0000237b: AND 0000237c: EQ 0000237d: PUSH2 0x2398 00002380: JUMPI 00002381: PUSH1 0x40 00002383: MLOAD 00002384: PUSH3 0x461bcd 00002388: PUSH1 0xe5 0000238a: SHL 0000238b: DUP2 0000238c: MSTORE 0000238d: PUSH1 0x04 0000238f: ADD 00002390: PUSH2 0x069b 00002393: SWAP1 00002394: PUSH2 0x332f 00002397: JUMP 00002398: JUMPDEST 00002399: PUSH1 0x00 0000239b: DUP4 0000239c: DUP2 0000239d: MSTORE 0000239e: PUSH1 0x07 000023a0: PUSH1 0x20 000023a2: MSTORE 000023a3: PUSH1 0x40 000023a5: DUP2 000023a6: KECCAK256 000023a7: SLOAD 000023a8: PUSH1 0xff 000023aa: AND 000023ab: PUSH1 0x02 000023ad: DUP2 000023ae: GT 000023af: ISZERO 000023b0: PUSH2 0x23bb 000023b3: JUMPI 000023b4: PUSH2 0x23bb 000023b7: PUSH2 0x2cbe 000023ba: JUMP 000023bb: JUMPDEST 000023bc: EQ 000023bd: PUSH2 0x23c5 000023c0: JUMPI 000023c1: POP 000023c2: POP 000023c3: POP 000023c4: JUMP 000023c5: JUMPDEST 000023c6: PUSH1 0x00 000023c8: DUP4 000023c9: DUP2 000023ca: MSTORE 000023cb: PUSH1 0x07 000023cd: PUSH1 0x20 000023cf: MSTORE 000023d0: PUSH1 0x40 000023d2: SWAP1 000023d3: KECCAK256 000023d4: DUP1 000023d5: SLOAD 000023d6: PUSH1 0xff 000023d8: NOT 000023d9: AND 000023da: PUSH1 0x02 000023dc: OR 000023dd: SWAP1 000023de: SSTORE 000023df: PUSH1 0x01 000023e1: SLOAD 000023e2: DUP2 000023e3: MLOAD 000023e4: PUSH1 0x60 000023e6: DUP4 000023e7: ADD 000023e8: MLOAD 000023e9: PUSH2 0x23fc 000023ec: SWAP3 000023ed: PUSH1 0x01 000023ef: PUSH1 0x01 000023f1: PUSH1 0xa0 000023f3: SHL 000023f4: SUB 000023f5: AND 000023f6: SWAP2 000023f7: SWAP1 000023f8: PUSH2 0x22d8 000023fb: JUMP 000023fc: JUMPDEST 000023fd: PUSH1 0x40 000023ff: MLOAD 00002400: DUP4 00002401: SWAP1 00002402: PUSH32 0xa60671d8537ed193e567f86ddf28cf35dc67073b5ad80a2d41359cfa78db0a1e 00002423: SWAP1 00002424: PUSH1 0x00 00002426: SWAP1 00002427: LOG2 00002428: POP 00002429: POP 0000242a: POP 0000242b: JUMP 0000242c: JUMPDEST 0000242d: PUSH1 0x00 0000242f: PUSH2 0x2441 00002432: PUSH1 0x01 00002434: PUSH1 0x01 00002436: PUSH1 0xa0 00002438: SHL 00002439: SUB 0000243a: DUP5 0000243b: AND 0000243c: DUP4 0000243d: PUSH2 0x2589 00002440: JUMP 00002441: JUMPDEST 00002442: SWAP1 00002443: POP 00002444: DUP1 00002445: MLOAD 00002446: PUSH1 0x00 00002448: EQ 00002449: ISZERO 0000244a: DUP1 0000244b: ISZERO 0000244c: PUSH2 0x2466 0000244f: JUMPI 00002450: POP 00002451: DUP1 00002452: DUP1 00002453: PUSH1 0x20 00002455: ADD 00002456: SWAP1 00002457: MLOAD 00002458: DUP2 00002459: ADD 0000245a: SWAP1 0000245b: PUSH2 0x2464 0000245e: SWAP2 0000245f: SWAP1 00002460: PUSH2 0x3383 00002463: JUMP 00002464: JUMPDEST 00002465: ISZERO 00002466: JUMPDEST 00002467: ISZERO 00002468: PUSH2 0x1f1b 0000246b: JUMPI 0000246c: PUSH1 0x40 0000246e: MLOAD 0000246f: PUSH4 0x5274afe7 00002474: PUSH1 0xe0 00002476: SHL 00002477: DUP2 00002478: MSTORE 00002479: PUSH1 0x01 0000247b: PUSH1 0x01 0000247d: PUSH1 0xa0 0000247f: SHL 00002480: SUB 00002481: DUP5 00002482: AND 00002483: PUSH1 0x04 00002485: DUP3 00002486: ADD 00002487: MSTORE 00002488: PUSH1 0x24 0000248a: ADD 0000248b: PUSH2 0x069b 0000248e: JUMP 0000248f: JUMPDEST 00002490: DUP1 00002491: PUSH1 0x01 00002493: PUSH1 0x01 00002495: PUSH1 0xa0 00002497: SHL 00002498: SUB 00002499: AND 0000249a: EXTCODESIZE 0000249b: PUSH1 0x00 0000249d: SUB 0000249e: PUSH2 0x24c5 000024a1: JUMPI 000024a2: PUSH1 0x40 000024a4: MLOAD 000024a5: PUSH4 0x4c9c8ce3 000024aa: PUSH1 0xe0 000024ac: SHL 000024ad: DUP2 000024ae: MSTORE 000024af: PUSH1 0x01 000024b1: PUSH1 0x01 000024b3: PUSH1 0xa0 000024b5: SHL 000024b6: SUB 000024b7: DUP3 000024b8: AND 000024b9: PUSH1 0x04 000024bb: DUP3 000024bc: ADD 000024bd: MSTORE 000024be: PUSH1 0x24 000024c0: ADD 000024c1: PUSH2 0x069b 000024c4: JUMP 000024c5: JUMPDEST 000024c6: PUSH1 0x00 000024c8: DUP1 000024c9: MLOAD 000024ca: PUSH1 0x20 000024cc: PUSH2 0x33bb 000024cf: DUP4 000024d0: CODECOPY 000024d1: DUP2 000024d2: MLOAD 000024d3: SWAP2 000024d4: MSTORE 000024d5: DUP1 000024d6: SLOAD 000024d7: PUSH1 0x01 000024d9: PUSH1 0x01 000024db: PUSH1 0xa0 000024dd: SHL 000024de: SUB 000024df: NOT 000024e0: AND 000024e1: PUSH1 0x01 000024e3: PUSH1 0x01 000024e5: PUSH1 0xa0 000024e7: SHL 000024e8: SUB 000024e9: SWAP3 000024ea: SWAP1 000024eb: SWAP3 000024ec: AND 000024ed: SWAP2 000024ee: SWAP1 000024ef: SWAP2 000024f0: OR 000024f1: SWAP1 000024f2: SSTORE 000024f3: JUMP 000024f4: JUMPDEST 000024f5: PUSH1 0x60 000024f7: PUSH1 0x00 000024f9: DUP1 000024fa: DUP5 000024fb: PUSH1 0x01 000024fd: PUSH1 0x01 000024ff: PUSH1 0xa0 00002501: SHL 00002502: SUB 00002503: AND 00002504: DUP5 00002505: PUSH1 0x40 00002507: MLOAD 00002508: PUSH2 0x2511 0000250b: SWAP2 0000250c: SWAP1 0000250d: PUSH2 0x339e 00002510: JUMP 00002511: JUMPDEST 00002512: PUSH1 0x00 00002514: PUSH1 0x40 00002516: MLOAD 00002517: DUP1 00002518: DUP4 00002519: SUB 0000251a: DUP2 0000251b: DUP6 0000251c: GAS 0000251d: DELEGATECALL 0000251e: SWAP2 0000251f: POP 00002520: POP 00002521: RETURNDATASIZE 00002522: DUP1 00002523: PUSH1 0x00 00002525: DUP2 00002526: EQ 00002527: PUSH2 0x254c 0000252a: JUMPI 0000252b: PUSH1 0x40 0000252d: MLOAD 0000252e: SWAP2 0000252f: POP 00002530: PUSH1 0x1f 00002532: NOT 00002533: PUSH1 0x3f 00002535: RETURNDATASIZE 00002536: ADD 00002537: AND 00002538: DUP3 00002539: ADD 0000253a: PUSH1 0x40 0000253c: MSTORE 0000253d: RETURNDATASIZE 0000253e: DUP3 0000253f: MSTORE 00002540: RETURNDATASIZE 00002541: PUSH1 0x00 00002543: PUSH1 0x20 00002545: DUP5 00002546: ADD 00002547: RETURNDATACOPY 00002548: PUSH2 0x2551 0000254b: JUMP 0000254c: JUMPDEST 0000254d: PUSH1 0x60 0000254f: SWAP2 00002550: POP 00002551: JUMPDEST 00002552: POP 00002553: SWAP2 00002554: POP 00002555: SWAP2 00002556: POP 00002557: PUSH2 0x2561 0000255a: DUP6 0000255b: DUP4 0000255c: DUP4 0000255d: PUSH2 0x2597 00002560: JUMP 00002561: JUMPDEST 00002562: SWAP6 00002563: SWAP5 00002564: POP 00002565: POP 00002566: POP 00002567: POP 00002568: POP 00002569: JUMP 0000256a: JUMPDEST 0000256b: CALLVALUE 0000256c: ISZERO 0000256d: PUSH2 0x12b2 00002570: JUMPI 00002571: PUSH1 0x40 00002573: MLOAD 00002574: PUSH4 0xb398979f 00002579: PUSH1 0xe0 0000257b: SHL 0000257c: DUP2 0000257d: MSTORE 0000257e: PUSH1 0x04 00002580: ADD 00002581: PUSH1 0x40 00002583: MLOAD 00002584: DUP1 00002585: SWAP2 00002586: SUB 00002587: SWAP1 00002588: REVERT 00002589: JUMPDEST 0000258a: PUSH1 0x60 0000258c: PUSH2 0x1a47 0000258f: DUP4 00002590: DUP4 00002591: PUSH1 0x00 00002593: PUSH2 0x25f3 00002596: JUMP 00002597: JUMPDEST 00002598: PUSH1 0x60 0000259a: DUP3 0000259b: PUSH2 0x25ac 0000259e: JUMPI 0000259f: PUSH2 0x25a7 000025a2: DUP3 000025a3: PUSH2 0x2686 000025a6: JUMP 000025a7: JUMPDEST 000025a8: PUSH2 0x1a47 000025ab: JUMP 000025ac: JUMPDEST 000025ad: DUP2 000025ae: MLOAD 000025af: ISZERO 000025b0: DUP1 000025b1: ISZERO 000025b2: PUSH2 0x25c3 000025b5: JUMPI 000025b6: POP 000025b7: PUSH1 0x01 000025b9: PUSH1 0x01 000025bb: PUSH1 0xa0 000025bd: SHL 000025be: SUB 000025bf: DUP5 000025c0: AND 000025c1: EXTCODESIZE 000025c2: ISZERO 000025c3: JUMPDEST 000025c4: ISZERO 000025c5: PUSH2 0x25ec 000025c8: JUMPI 000025c9: PUSH1 0x40 000025cb: MLOAD 000025cc: PUSH4 0x9996b315 000025d1: PUSH1 0xe0 000025d3: SHL 000025d4: DUP2 000025d5: MSTORE 000025d6: PUSH1 0x01 000025d8: PUSH1 0x01 000025da: PUSH1 0xa0 000025dc: SHL 000025dd: SUB 000025de: DUP6 000025df: AND 000025e0: PUSH1 0x04 000025e2: DUP3 000025e3: ADD 000025e4: MSTORE 000025e5: PUSH1 0x24 000025e7: ADD 000025e8: PUSH2 0x069b 000025eb: JUMP 000025ec: JUMPDEST 000025ed: POP 000025ee: DUP1 000025ef: PUSH2 0x1a47 000025f2: JUMP 000025f3: JUMPDEST 000025f4: PUSH1 0x60 000025f6: DUP2 000025f7: SELFBALANCE 000025f8: LT 000025f9: ISZERO 000025fa: PUSH2 0x2618 000025fd: JUMPI 000025fe: PUSH1 0x40 00002600: MLOAD 00002601: PUSH4 0xcd786059 00002606: PUSH1 0xe0 00002608: SHL 00002609: DUP2 0000260a: MSTORE 0000260b: ADDRESS 0000260c: PUSH1 0x04 0000260e: DUP3 0000260f: ADD 00002610: MSTORE 00002611: PUSH1 0x24 00002613: ADD 00002614: PUSH2 0x069b 00002617: JUMP 00002618: JUMPDEST 00002619: PUSH1 0x00 0000261b: DUP1 0000261c: DUP6 0000261d: PUSH1 0x01 0000261f: PUSH1 0x01 00002621: PUSH1 0xa0 00002623: SHL 00002624: SUB 00002625: AND 00002626: DUP5 00002627: DUP7 00002628: PUSH1 0x40 0000262a: MLOAD 0000262b: PUSH2 0x2634 0000262e: SWAP2 0000262f: SWAP1 00002630: PUSH2 0x339e 00002633: JUMP 00002634: JUMPDEST 00002635: PUSH1 0x00 00002637: PUSH1 0x40 00002639: MLOAD 0000263a: DUP1 0000263b: DUP4 0000263c: SUB 0000263d: DUP2 0000263e: DUP6 0000263f: DUP8 00002640: GAS 00002641: CALL 00002642: SWAP3 00002643: POP 00002644: POP 00002645: POP 00002646: RETURNDATASIZE 00002647: DUP1 00002648: PUSH1 0x00 0000264a: DUP2 0000264b: EQ 0000264c: PUSH2 0x2671 0000264f: JUMPI 00002650: PUSH1 0x40 00002652: MLOAD 00002653: SWAP2 00002654: POP 00002655: PUSH1 0x1f 00002657: NOT 00002658: PUSH1 0x3f 0000265a: RETURNDATASIZE 0000265b: ADD 0000265c: AND 0000265d: DUP3 0000265e: ADD 0000265f: PUSH1 0x40 00002661: MSTORE 00002662: RETURNDATASIZE 00002663: DUP3 00002664: MSTORE 00002665: RETURNDATASIZE 00002666: PUSH1 0x00 00002668: PUSH1 0x20 0000266a: DUP5 0000266b: ADD 0000266c: RETURNDATACOPY 0000266d: PUSH2 0x2676 00002670: JUMP 00002671: JUMPDEST 00002672: PUSH1 0x60 00002674: SWAP2 00002675: POP 00002676: JUMPDEST 00002677: POP 00002678: SWAP2 00002679: POP 0000267a: SWAP2 0000267b: POP 0000267c: PUSH2 0x1a42 0000267f: DUP7 00002680: DUP4 00002681: DUP4 00002682: PUSH2 0x2597 00002685: JUMP 00002686: JUMPDEST 00002687: DUP1 00002688: MLOAD 00002689: ISZERO 0000268a: PUSH2 0x2696 0000268d: JUMPI 0000268e: DUP1 0000268f: MLOAD 00002690: DUP1 00002691: DUP3 00002692: PUSH1 0x20 00002694: ADD 00002695: REVERT 00002696: JUMPDEST 00002697: PUSH1 0x40 00002699: MLOAD 0000269a: PUSH4 0x0a12f521 0000269f: PUSH1 0xe1 000026a1: SHL 000026a2: DUP2 000026a3: MSTORE 000026a4: PUSH1 0x04 000026a6: ADD 000026a7: PUSH1 0x40 000026a9: MLOAD 000026aa: DUP1 000026ab: SWAP2 000026ac: SUB 000026ad: SWAP1 000026ae: REVERT 000026af: JUMPDEST 000026b0: DUP1 000026b1: CALLDATALOAD 000026b2: PUSH4 0xffffffff 000026b7: DUP2 000026b8: AND 000026b9: DUP2 000026ba: EQ 000026bb: PUSH2 0x26c3 000026be: JUMPI 000026bf: PUSH1 0x00 000026c1: DUP1 000026c2: REVERT 000026c3: JUMPDEST 000026c4: SWAP2 000026c5: SWAP1 000026c6: POP 000026c7: JUMP 000026c8: JUMPDEST 000026c9: DUP1 000026ca: CALLDATALOAD 000026cb: PUSH1 0x01 000026cd: PUSH1 0x01 000026cf: PUSH1 0x40 000026d1: SHL 000026d2: SUB 000026d3: DUP2 000026d4: AND 000026d5: DUP2 000026d6: EQ 000026d7: PUSH2 0x26c3 000026da: JUMPI 000026db: PUSH1 0x00 000026dd: DUP1 000026de: REVERT 000026df: JUMPDEST 000026e0: PUSH1 0x00 000026e2: DUP1 000026e3: DUP4 000026e4: PUSH1 0x1f 000026e6: DUP5 000026e7: ADD 000026e8: SLT 000026e9: PUSH2 0x26f1 000026ec: JUMPI 000026ed: PUSH1 0x00 000026ef: DUP1 000026f0: REVERT 000026f1: JUMPDEST 000026f2: POP 000026f3: DUP2 000026f4: CALLDATALOAD 000026f5: PUSH1 0x01 000026f7: PUSH1 0x01 000026f9: PUSH1 0x40 000026fb: SHL 000026fc: SUB 000026fd: DUP2 000026fe: GT 000026ff: ISZERO 00002700: PUSH2 0x2708 00002703: JUMPI 00002704: PUSH1 0x00 00002706: DUP1 00002707: REVERT 00002708: JUMPDEST 00002709: PUSH1 0x20 0000270b: DUP4 0000270c: ADD 0000270d: SWAP2 0000270e: POP 0000270f: DUP4 00002710: PUSH1 0x20 00002712: DUP3 00002713: DUP6 00002714: ADD 00002715: ADD 00002716: GT 00002717: ISZERO 00002718: PUSH2 0x2720 0000271b: JUMPI 0000271c: PUSH1 0x00 0000271e: DUP1 0000271f: REVERT 00002720: JUMPDEST 00002721: SWAP3 00002722: POP 00002723: SWAP3 00002724: SWAP1 00002725: POP 00002726: JUMP 00002727: JUMPDEST 00002728: PUSH1 0x00 0000272a: DUP1 0000272b: PUSH1 0x00 0000272d: DUP1 0000272e: PUSH1 0x00 00002730: DUP1 00002731: PUSH1 0x00 00002733: DUP1 00002734: PUSH1 0x00 00002736: DUP1 00002737: PUSH1 0x00 00002739: PUSH2 0x0120 0000273c: DUP13 0000273d: DUP15 0000273e: SUB 0000273f: SLT 00002740: ISZERO 00002741: PUSH2 0x2749 00002744: JUMPI 00002745: PUSH1 0x00 00002747: DUP1 00002748: REVERT 00002749: JUMPDEST 0000274a: DUP12 0000274b: CALLDATALOAD 0000274c: SWAP11 0000274d: POP 0000274e: PUSH1 0x20 00002750: DUP13 00002751: ADD 00002752: CALLDATALOAD 00002753: SWAP10 00002754: POP 00002755: PUSH1 0x40 00002757: DUP13 00002758: ADD 00002759: CALLDATALOAD 0000275a: SWAP9 0000275b: POP 0000275c: PUSH1 0x60 0000275e: DUP13 0000275f: ADD 00002760: CALLDATALOAD 00002761: SWAP8 00002762: POP 00002763: PUSH2 0x276e 00002766: PUSH1 0x80 00002768: DUP14 00002769: ADD 0000276a: PUSH2 0x26af 0000276d: JUMP 0000276e: JUMPDEST 0000276f: SWAP7 00002770: POP 00002771: PUSH2 0x277c 00002774: PUSH1 0xa0 00002776: DUP14 00002777: ADD 00002778: PUSH2 0x26c8 0000277b: JUMP 0000277c: JUMPDEST 0000277d: SWAP6 0000277e: POP 0000277f: PUSH1 0xc0 00002781: DUP13 00002782: ADD 00002783: CALLDATALOAD 00002784: SWAP5 00002785: POP 00002786: PUSH1 0x01 00002788: PUSH1 0x01 0000278a: PUSH1 0x40 0000278c: SHL 0000278d: SUB 0000278e: DUP1 0000278f: PUSH1 0xe0 00002791: DUP15 00002792: ADD 00002793: CALLDATALOAD 00002794: GT 00002795: ISZERO 00002796: PUSH2 0x279e 00002799: JUMPI 0000279a: PUSH1 0x00 0000279c: DUP1 0000279d: REVERT 0000279e: JUMPDEST 0000279f: PUSH2 0x27ae 000027a2: DUP15 000027a3: PUSH1 0xe0 000027a5: DUP16 000027a6: ADD 000027a7: CALLDATALOAD 000027a8: DUP16 000027a9: ADD 000027aa: PUSH2 0x26df 000027ad: JUMP 000027ae: JUMPDEST 000027af: SWAP1 000027b0: SWAP6 000027b1: POP 000027b2: SWAP4 000027b3: POP 000027b4: PUSH2 0x0100 000027b7: DUP14 000027b8: ADD 000027b9: CALLDATALOAD 000027ba: DUP2 000027bb: LT 000027bc: ISZERO 000027bd: PUSH2 0x27c5 000027c0: JUMPI 000027c1: PUSH1 0x00 000027c3: DUP1 000027c4: REVERT 000027c5: JUMPDEST 000027c6: POP 000027c7: PUSH2 0x27d7 000027ca: DUP14 000027cb: PUSH2 0x0100 000027ce: DUP15 000027cf: ADD 000027d0: CALLDATALOAD 000027d1: DUP15 000027d2: ADD 000027d3: PUSH2 0x26df 000027d6: JUMP 000027d7: JUMPDEST 000027d8: DUP2 000027d9: SWAP4 000027da: POP 000027db: DUP1 000027dc: SWAP3 000027dd: POP 000027de: POP 000027df: POP 000027e0: SWAP3 000027e1: SWAP6 000027e2: SWAP9 000027e3: SWAP12 000027e4: POP 000027e5: SWAP3 000027e6: SWAP6 000027e7: SWAP9 000027e8: SWAP12 000027e9: SWAP1 000027ea: SWAP4 000027eb: SWAP7 000027ec: SWAP10 000027ed: POP 000027ee: JUMP 000027ef: JUMPDEST 000027f0: DUP1 000027f1: CALLDATALOAD 000027f2: PUSH1 0x01 000027f4: PUSH1 0x01 000027f6: PUSH1 0xa0 000027f8: SHL 000027f9: SUB 000027fa: DUP2 000027fb: AND 000027fc: DUP2 000027fd: EQ 000027fe: PUSH2 0x26c3 00002801: JUMPI 00002802: PUSH1 0x00 00002804: DUP1 00002805: REVERT 00002806: JUMPDEST 00002807: PUSH1 0x00 00002809: DUP1 0000280a: PUSH1 0x00 0000280c: DUP1 0000280d: PUSH1 0x00 0000280f: DUP1 00002810: PUSH1 0x00 00002812: PUSH1 0xe0 00002814: DUP9 00002815: DUP11 00002816: SUB 00002817: SLT 00002818: ISZERO 00002819: PUSH2 0x2821 0000281c: JUMPI 0000281d: PUSH1 0x00 0000281f: DUP1 00002820: REVERT 00002821: JUMPDEST 00002822: PUSH2 0x282a 00002825: DUP9 00002826: PUSH2 0x26af 00002829: JUMP 0000282a: JUMPDEST 0000282b: SWAP7 0000282c: POP 0000282d: PUSH2 0x2838 00002830: PUSH1 0x20 00002832: DUP10 00002833: ADD 00002834: PUSH2 0x27ef 00002837: JUMP 00002838: JUMPDEST 00002839: SWAP6 0000283a: POP 0000283b: PUSH2 0x2846 0000283e: PUSH1 0x40 00002840: DUP10 00002841: ADD 00002842: PUSH2 0x27ef 00002845: JUMP 00002846: JUMPDEST 00002847: SWAP5 00002848: POP 00002849: PUSH2 0x2854 0000284c: PUSH1 0x60 0000284e: DUP10 0000284f: ADD 00002850: PUSH2 0x27ef 00002853: JUMP 00002854: JUMPDEST 00002855: SWAP4 00002856: POP 00002857: PUSH2 0x2862 0000285a: PUSH1 0x80 0000285c: DUP10 0000285d: ADD 0000285e: PUSH2 0x27ef 00002861: JUMP 00002862: JUMPDEST 00002863: SWAP3 00002864: POP 00002865: PUSH2 0x2870 00002868: PUSH1 0xa0 0000286a: DUP10 0000286b: ADD 0000286c: PUSH2 0x27ef 0000286f: JUMP 00002870: JUMPDEST 00002871: SWAP2 00002872: POP 00002873: PUSH2 0x287e 00002876: PUSH1 0xc0 00002878: DUP10 00002879: ADD 0000287a: PUSH2 0x27ef 0000287d: JUMP 0000287e: JUMPDEST 0000287f: SWAP1 00002880: POP 00002881: SWAP3 00002882: SWAP6 00002883: SWAP9 00002884: SWAP2 00002885: SWAP5 00002886: SWAP8 00002887: POP 00002888: SWAP3 00002889: SWAP6 0000288a: POP 0000288b: JUMP 0000288c: JUMPDEST 0000288d: PUSH1 0x00 0000288f: PUSH1 0x20 00002891: DUP3 00002892: DUP5 00002893: SUB 00002894: SLT 00002895: ISZERO 00002896: PUSH2 0x289e 00002899: JUMPI 0000289a: PUSH1 0x00 0000289c: DUP1 0000289d: REVERT 0000289e: JUMPDEST 0000289f: PUSH2 0x1a47 000028a2: DUP3 000028a3: PUSH2 0x27ef 000028a6: JUMP 000028a7: JUMPDEST 000028a8: PUSH1 0x00 000028aa: PUSH1 0x20 000028ac: DUP3 000028ad: DUP5 000028ae: SUB 000028af: SLT 000028b0: ISZERO 000028b1: PUSH2 0x28b9 000028b4: JUMPI 000028b5: PUSH1 0x00 000028b7: DUP1 000028b8: REVERT 000028b9: JUMPDEST 000028ba: PUSH2 0x1a47 000028bd: DUP3 000028be: PUSH2 0x26af 000028c1: JUMP 000028c2: JUMPDEST 000028c3: PUSH4 0x4e487b71 000028c8: PUSH1 0xe0 000028ca: SHL 000028cb: PUSH1 0x00 000028cd: MSTORE 000028ce: PUSH1 0x41 000028d0: PUSH1 0x04 000028d2: MSTORE 000028d3: PUSH1 0x24 000028d5: PUSH1 0x00 000028d7: REVERT 000028d8: JUMPDEST 000028d9: PUSH1 0x40 000028db: MLOAD 000028dc: PUSH2 0x0120 000028df: DUP2 000028e0: ADD 000028e1: PUSH1 0x01 000028e3: PUSH1 0x01 000028e5: PUSH1 0x40 000028e7: SHL 000028e8: SUB 000028e9: DUP2 000028ea: GT 000028eb: DUP3 000028ec: DUP3 000028ed: LT 000028ee: OR 000028ef: ISZERO 000028f0: PUSH2 0x28fb 000028f3: JUMPI 000028f4: PUSH2 0x28fb 000028f7: PUSH2 0x28c2 000028fa: JUMP 000028fb: JUMPDEST 000028fc: PUSH1 0x40 000028fe: MSTORE 000028ff: SWAP1 00002900: JUMP 00002901: JUMPDEST 00002902: PUSH1 0x40 00002904: MLOAD 00002905: PUSH1 0x1f 00002907: DUP3 00002908: ADD 00002909: PUSH1 0x1f 0000290b: NOT 0000290c: AND 0000290d: DUP2 0000290e: ADD 0000290f: PUSH1 0x01 00002911: PUSH1 0x01 00002913: PUSH1 0x40 00002915: SHL 00002916: SUB 00002917: DUP2 00002918: GT 00002919: DUP3 0000291a: DUP3 0000291b: LT 0000291c: OR 0000291d: ISZERO 0000291e: PUSH2 0x2929 00002921: JUMPI 00002922: PUSH2 0x2929 00002925: PUSH2 0x28c2 00002928: JUMP 00002929: JUMPDEST 0000292a: PUSH1 0x40 0000292c: MSTORE 0000292d: SWAP2 0000292e: SWAP1 0000292f: POP 00002930: JUMP 00002931: JUMPDEST 00002932: PUSH1 0x00 00002934: PUSH1 0x01 00002936: PUSH1 0x01 00002938: PUSH1 0x40 0000293a: SHL 0000293b: SUB 0000293c: DUP3 0000293d: GT 0000293e: ISZERO 0000293f: PUSH2 0x294a 00002942: JUMPI 00002943: PUSH2 0x294a 00002946: PUSH2 0x28c2 00002949: JUMP 0000294a: JUMPDEST 0000294b: POP 0000294c: PUSH1 0x1f 0000294e: ADD 0000294f: PUSH1 0x1f 00002951: NOT 00002952: AND 00002953: PUSH1 0x20 00002955: ADD 00002956: SWAP1 00002957: JUMP 00002958: JUMPDEST 00002959: PUSH1 0x00 0000295b: DUP3 0000295c: PUSH1 0x1f 0000295e: DUP4 0000295f: ADD 00002960: SLT 00002961: PUSH2 0x2969 00002964: JUMPI 00002965: PUSH1 0x00 00002967: DUP1 00002968: REVERT 00002969: JUMPDEST 0000296a: DUP2 0000296b: CALLDATALOAD 0000296c: PUSH2 0x297c 0000296f: PUSH2 0x2977 00002972: DUP3 00002973: PUSH2 0x2931 00002976: JUMP 00002977: JUMPDEST 00002978: PUSH2 0x2901 0000297b: JUMP 0000297c: JUMPDEST 0000297d: DUP2 0000297e: DUP2 0000297f: MSTORE 00002980: DUP5 00002981: PUSH1 0x20 00002983: DUP4 00002984: DUP7 00002985: ADD 00002986: ADD 00002987: GT 00002988: ISZERO 00002989: PUSH2 0x2991 0000298c: JUMPI 0000298d: PUSH1 0x00 0000298f: DUP1 00002990: REVERT 00002991: JUMPDEST 00002992: DUP2 00002993: PUSH1 0x20 00002995: DUP6 00002996: ADD 00002997: PUSH1 0x20 00002999: DUP4 0000299a: ADD 0000299b: CALLDATACOPY 0000299c: PUSH1 0x00 0000299e: SWAP2 0000299f: DUP2 000029a0: ADD 000029a1: PUSH1 0x20 000029a3: ADD 000029a4: SWAP2 000029a5: SWAP1 000029a6: SWAP2 000029a7: MSTORE 000029a8: SWAP4 000029a9: SWAP3 000029aa: POP 000029ab: POP 000029ac: POP 000029ad: JUMP 000029ae: JUMPDEST 000029af: PUSH1 0x00 000029b1: DUP1 000029b2: PUSH1 0x40 000029b4: DUP4 000029b5: DUP6 000029b6: SUB 000029b7: SLT 000029b8: ISZERO 000029b9: PUSH2 0x29c1 000029bc: JUMPI 000029bd: PUSH1 0x00 000029bf: DUP1 000029c0: REVERT 000029c1: JUMPDEST 000029c2: DUP3 000029c3: CALLDATALOAD 000029c4: SWAP2 000029c5: POP 000029c6: PUSH1 0x20 000029c8: DUP4 000029c9: ADD 000029ca: CALLDATALOAD 000029cb: PUSH1 0x01 000029cd: PUSH1 0x01 000029cf: PUSH1 0x40 000029d1: SHL 000029d2: SUB 000029d3: DUP2 000029d4: GT 000029d5: ISZERO 000029d6: PUSH2 0x29de 000029d9: JUMPI 000029da: PUSH1 0x00 000029dc: DUP1 000029dd: REVERT 000029de: JUMPDEST 000029df: PUSH2 0x29ea 000029e2: DUP6 000029e3: DUP3 000029e4: DUP7 000029e5: ADD 000029e6: PUSH2 0x2958 000029e9: JUMP 000029ea: JUMPDEST 000029eb: SWAP2 000029ec: POP 000029ed: POP 000029ee: SWAP3 000029ef: POP 000029f0: SWAP3 000029f1: SWAP1 000029f2: POP 000029f3: JUMP 000029f4: JUMPDEST 000029f5: PUSH1 0x00 000029f7: PUSH2 0x0120 000029fa: DUP3 000029fb: DUP5 000029fc: SUB 000029fd: SLT 000029fe: ISZERO 000029ff: PUSH2 0x2a07 00002a02: JUMPI 00002a03: PUSH1 0x00 00002a05: DUP1 00002a06: REVERT 00002a07: JUMPDEST 00002a08: PUSH2 0x2a0f 00002a0b: PUSH2 0x28d8 00002a0e: JUMP 00002a0f: JUMPDEST 00002a10: SWAP1 00002a11: POP 00002a12: DUP2 00002a13: CALLDATALOAD 00002a14: DUP2 00002a15: MSTORE 00002a16: PUSH1 0x20 00002a18: DUP3 00002a19: ADD 00002a1a: CALLDATALOAD 00002a1b: PUSH1 0x20 00002a1d: DUP3 00002a1e: ADD 00002a1f: MSTORE 00002a20: PUSH1 0x40 00002a22: DUP3 00002a23: ADD 00002a24: CALLDATALOAD 00002a25: PUSH1 0x40 00002a27: DUP3 00002a28: ADD 00002a29: MSTORE 00002a2a: PUSH1 0x60 00002a2c: DUP3 00002a2d: ADD 00002a2e: CALLDATALOAD 00002a2f: PUSH1 0x60 00002a31: DUP3 00002a32: ADD 00002a33: MSTORE 00002a34: PUSH2 0x2a3f 00002a37: PUSH1 0x80 00002a39: DUP4 00002a3a: ADD 00002a3b: PUSH2 0x26af 00002a3e: JUMP 00002a3f: JUMPDEST 00002a40: PUSH1 0x80 00002a42: DUP3 00002a43: ADD 00002a44: MSTORE 00002a45: PUSH2 0x2a50 00002a48: PUSH1 0xa0 00002a4a: DUP4 00002a4b: ADD 00002a4c: PUSH2 0x26af 00002a4f: JUMP 00002a50: JUMPDEST 00002a51: PUSH1 0xa0 00002a53: DUP3 00002a54: ADD 00002a55: MSTORE 00002a56: PUSH2 0x2a61 00002a59: PUSH1 0xc0 00002a5b: DUP4 00002a5c: ADD 00002a5d: PUSH2 0x26af 00002a60: JUMP 00002a61: JUMPDEST 00002a62: PUSH1 0xc0 00002a64: DUP3 00002a65: ADD 00002a66: MSTORE 00002a67: PUSH2 0x2a72 00002a6a: PUSH1 0xe0 00002a6c: DUP4 00002a6d: ADD 00002a6e: PUSH2 0x26c8 00002a71: JUMP 00002a72: JUMPDEST 00002a73: PUSH1 0xe0 00002a75: DUP3 00002a76: ADD 00002a77: MSTORE 00002a78: PUSH2 0x0100 00002a7b: DUP1 00002a7c: DUP4 00002a7d: ADD 00002a7e: CALLDATALOAD 00002a7f: PUSH1 0x01 00002a81: PUSH1 0x01 00002a83: PUSH1 0x40 00002a85: SHL 00002a86: SUB 00002a87: DUP2 00002a88: GT 00002a89: ISZERO 00002a8a: PUSH2 0x2a92 00002a8d: JUMPI 00002a8e: PUSH1 0x00 00002a90: DUP1 00002a91: REVERT 00002a92: JUMPDEST 00002a93: PUSH2 0x2a9e 00002a96: DUP6 00002a97: DUP3 00002a98: DUP7 00002a99: ADD 00002a9a: PUSH2 0x2958 00002a9d: JUMP 00002a9e: JUMPDEST 00002a9f: DUP3 00002aa0: DUP5 00002aa1: ADD 00002aa2: MSTORE 00002aa3: POP 00002aa4: POP 00002aa5: SWAP3 00002aa6: SWAP2 00002aa7: POP 00002aa8: POP 00002aa9: JUMP 00002aaa: JUMPDEST 00002aab: PUSH1 0x00 00002aad: DUP3 00002aae: PUSH1 0x1f 00002ab0: DUP4 00002ab1: ADD 00002ab2: SLT 00002ab3: PUSH2 0x2abb 00002ab6: JUMPI 00002ab7: PUSH1 0x00 00002ab9: DUP1 00002aba: REVERT 00002abb: JUMPDEST 00002abc: DUP2 00002abd: CALLDATALOAD 00002abe: PUSH1 0x20 00002ac0: PUSH1 0x01 00002ac2: PUSH1 0x01 00002ac4: PUSH1 0x40 00002ac6: SHL 00002ac7: SUB 00002ac8: DUP1 00002ac9: DUP4 00002aca: GT 00002acb: ISZERO 00002acc: PUSH2 0x2ad7 00002acf: JUMPI 00002ad0: PUSH2 0x2ad7 00002ad3: PUSH2 0x28c2 00002ad6: JUMP 00002ad7: JUMPDEST 00002ad8: DUP3 00002ad9: PUSH1 0x05 00002adb: SHL 00002adc: PUSH2 0x2ae6 00002adf: DUP4 00002ae0: DUP3 00002ae1: ADD 00002ae2: PUSH2 0x2901 00002ae5: JUMP 00002ae6: JUMPDEST 00002ae7: SWAP4 00002ae8: DUP5 00002ae9: MSTORE 00002aea: DUP6 00002aeb: DUP2 00002aec: ADD 00002aed: DUP4 00002aee: ADD 00002aef: SWAP4 00002af0: DUP4 00002af1: DUP2 00002af2: ADD 00002af3: SWAP1 00002af4: DUP9 00002af5: DUP7 00002af6: GT 00002af7: ISZERO 00002af8: PUSH2 0x2b00 00002afb: JUMPI 00002afc: PUSH1 0x00 00002afe: DUP1 00002aff: REVERT 00002b00: JUMPDEST 00002b01: DUP5 00002b02: DUP9 00002b03: ADD 00002b04: SWAP3 00002b05: POP 00002b06: JUMPDEST 00002b07: DUP6 00002b08: DUP4 00002b09: LT 00002b0a: ISZERO 00002b0b: PUSH2 0x2b3c 00002b0e: JUMPI 00002b0f: DUP3 00002b10: CALLDATALOAD 00002b11: DUP5 00002b12: DUP2 00002b13: GT 00002b14: ISZERO 00002b15: PUSH2 0x2b1e 00002b18: JUMPI 00002b19: PUSH1 0x00 00002b1b: DUP1 00002b1c: DUP2 00002b1d: REVERT 00002b1e: JUMPDEST 00002b1f: PUSH2 0x2b2c 00002b22: DUP11 00002b23: DUP8 00002b24: DUP4 00002b25: DUP13 00002b26: ADD 00002b27: ADD 00002b28: PUSH2 0x29f4 00002b2b: JUMP 00002b2c: JUMPDEST 00002b2d: DUP4 00002b2e: MSTORE 00002b2f: POP 00002b30: SWAP2 00002b31: DUP5 00002b32: ADD 00002b33: SWAP2 00002b34: SWAP1 00002b35: DUP5 00002b36: ADD 00002b37: SWAP1 00002b38: PUSH2 0x2b06 00002b3b: JUMP 00002b3c: JUMPDEST 00002b3d: SWAP9 00002b3e: SWAP8 00002b3f: POP 00002b40: POP 00002b41: POP 00002b42: POP 00002b43: POP 00002b44: POP 00002b45: POP 00002b46: POP 00002b47: JUMP 00002b48: JUMPDEST 00002b49: PUSH1 0x00 00002b4b: DUP1 00002b4c: PUSH1 0x40 00002b4e: DUP4 00002b4f: DUP6 00002b50: SUB 00002b51: SLT 00002b52: ISZERO 00002b53: PUSH2 0x2b5b 00002b56: JUMPI 00002b57: PUSH1 0x00 00002b59: DUP1 00002b5a: REVERT 00002b5b: JUMPDEST 00002b5c: PUSH2 0x2b64 00002b5f: DUP4 00002b60: PUSH2 0x26af 00002b63: JUMP 00002b64: JUMPDEST 00002b65: SWAP2 00002b66: POP 00002b67: PUSH1 0x20 00002b69: DUP4 00002b6a: ADD 00002b6b: CALLDATALOAD 00002b6c: PUSH1 0x01 00002b6e: PUSH1 0x01 00002b70: PUSH1 0x40 00002b72: SHL 00002b73: SUB 00002b74: DUP2 00002b75: GT 00002b76: ISZERO 00002b77: PUSH2 0x2b7f 00002b7a: JUMPI 00002b7b: PUSH1 0x00 00002b7d: DUP1 00002b7e: REVERT 00002b7f: JUMPDEST 00002b80: PUSH2 0x29ea 00002b83: DUP6 00002b84: DUP3 00002b85: DUP7 00002b86: ADD 00002b87: PUSH2 0x2aaa 00002b8a: JUMP 00002b8b: JUMPDEST 00002b8c: PUSH1 0x00 00002b8e: DUP1 00002b8f: PUSH1 0x40 00002b91: DUP4 00002b92: DUP6 00002b93: SUB 00002b94: SLT 00002b95: ISZERO 00002b96: PUSH2 0x2b9e 00002b99: JUMPI 00002b9a: PUSH1 0x00 00002b9c: DUP1 00002b9d: REVERT 00002b9e: JUMPDEST 00002b9f: PUSH2 0x2ba7 00002ba2: DUP4 00002ba3: PUSH2 0x27ef 00002ba6: JUMP 00002ba7: JUMPDEST 00002ba8: SWAP2 00002ba9: POP 00002baa: PUSH1 0x20 00002bac: DUP4 00002bad: ADD 00002bae: CALLDATALOAD 00002baf: PUSH1 0x01 00002bb1: PUSH1 0x01 00002bb3: PUSH1 0x40 00002bb5: SHL 00002bb6: SUB 00002bb7: DUP2 00002bb8: GT 00002bb9: ISZERO 00002bba: PUSH2 0x29de 00002bbd: JUMPI 00002bbe: PUSH1 0x00 00002bc0: DUP1 00002bc1: REVERT 00002bc2: JUMPDEST 00002bc3: PUSH1 0x00 00002bc5: DUP1 00002bc6: PUSH1 0x00 00002bc8: DUP1 00002bc9: PUSH1 0x60 00002bcb: DUP6 00002bcc: DUP8 00002bcd: SUB 00002bce: SLT 00002bcf: ISZERO 00002bd0: PUSH2 0x2bd8 00002bd3: JUMPI 00002bd4: PUSH1 0x00 00002bd6: DUP1 00002bd7: REVERT 00002bd8: JUMPDEST 00002bd9: PUSH2 0x2be1 00002bdc: DUP6 00002bdd: PUSH2 0x26af 00002be0: JUMP 00002be1: JUMPDEST 00002be2: SWAP4 00002be3: POP 00002be4: PUSH1 0x20 00002be6: DUP6 00002be7: ADD 00002be8: CALLDATALOAD 00002be9: SWAP3 00002bea: POP 00002beb: PUSH1 0x40 00002bed: DUP6 00002bee: ADD 00002bef: CALLDATALOAD 00002bf0: PUSH1 0x01 00002bf2: PUSH1 0x01 00002bf4: PUSH1 0x40 00002bf6: SHL 00002bf7: SUB 00002bf8: DUP2 00002bf9: GT 00002bfa: ISZERO 00002bfb: PUSH2 0x2c03 00002bfe: JUMPI 00002bff: PUSH1 0x00 00002c01: DUP1 00002c02: REVERT 00002c03: JUMPDEST 00002c04: PUSH2 0x2c0f 00002c07: DUP8 00002c08: DUP3 00002c09: DUP9 00002c0a: ADD 00002c0b: PUSH2 0x26df 00002c0e: JUMP 00002c0f: JUMPDEST 00002c10: SWAP6 00002c11: SWAP9 00002c12: SWAP5 00002c13: SWAP8 00002c14: POP 00002c15: SWAP6 00002c16: POP 00002c17: POP 00002c18: POP 00002c19: POP 00002c1a: JUMP 00002c1b: JUMPDEST 00002c1c: PUSH1 0x00 00002c1e: DUP1 00002c1f: PUSH1 0x00 00002c21: DUP1 00002c22: PUSH1 0x00 00002c24: DUP1 00002c25: PUSH1 0x00 00002c27: DUP1 00002c28: PUSH1 0xe0 00002c2a: DUP10 00002c2b: DUP12 00002c2c: SUB 00002c2d: SLT 00002c2e: ISZERO 00002c2f: PUSH2 0x2c37 00002c32: JUMPI 00002c33: PUSH1 0x00 00002c35: DUP1 00002c36: REVERT 00002c37: JUMPDEST 00002c38: DUP9 00002c39: CALLDATALOAD 00002c3a: SWAP8 00002c3b: POP 00002c3c: PUSH1 0x20 00002c3e: DUP10 00002c3f: ADD 00002c40: CALLDATALOAD 00002c41: SWAP7 00002c42: POP 00002c43: PUSH1 0x40 00002c45: DUP10 00002c46: ADD 00002c47: CALLDATALOAD 00002c48: SWAP6 00002c49: POP 00002c4a: PUSH1 0x60 00002c4c: DUP10 00002c4d: ADD 00002c4e: CALLDATALOAD 00002c4f: SWAP5 00002c50: POP 00002c51: PUSH2 0x2c5c 00002c54: PUSH1 0x80 00002c56: DUP11 00002c57: ADD 00002c58: PUSH2 0x26af 00002c5b: JUMP 00002c5c: JUMPDEST 00002c5d: SWAP4 00002c5e: POP 00002c5f: PUSH2 0x2c6a 00002c62: PUSH1 0xa0 00002c64: DUP11 00002c65: ADD 00002c66: PUSH2 0x26c8 00002c69: JUMP 00002c6a: JUMPDEST 00002c6b: SWAP3 00002c6c: POP 00002c6d: PUSH1 0xc0 00002c6f: DUP10 00002c70: ADD 00002c71: CALLDATALOAD 00002c72: PUSH1 0x01 00002c74: PUSH1 0x01 00002c76: PUSH1 0x40 00002c78: SHL 00002c79: SUB 00002c7a: DUP2 00002c7b: GT 00002c7c: ISZERO 00002c7d: PUSH2 0x2c85 00002c80: JUMPI 00002c81: PUSH1 0x00 00002c83: DUP1 00002c84: REVERT 00002c85: JUMPDEST 00002c86: PUSH2 0x2c91 00002c89: DUP12 00002c8a: DUP3 00002c8b: DUP13 00002c8c: ADD 00002c8d: PUSH2 0x26df 00002c90: JUMP 00002c91: JUMPDEST 00002c92: SWAP10 00002c93: SWAP13 00002c94: SWAP9 00002c95: SWAP12 00002c96: POP 00002c97: SWAP7 00002c98: SWAP10 00002c99: POP 00002c9a: SWAP5 00002c9b: SWAP8 00002c9c: SWAP4 00002c9d: SWAP7 00002c9e: SWAP3 00002c9f: SWAP6 00002ca0: SWAP5 00002ca1: POP 00002ca2: POP 00002ca3: POP 00002ca4: JUMP 00002ca5: JUMPDEST 00002ca6: PUSH1 0x00 00002ca8: PUSH1 0x20 00002caa: DUP3 00002cab: DUP5 00002cac: SUB 00002cad: SLT 00002cae: ISZERO 00002caf: PUSH2 0x2cb7 00002cb2: JUMPI 00002cb3: PUSH1 0x00 00002cb5: DUP1 00002cb6: REVERT 00002cb7: JUMPDEST 00002cb8: POP 00002cb9: CALLDATALOAD 00002cba: SWAP2 00002cbb: SWAP1 00002cbc: POP 00002cbd: JUMP 00002cbe: JUMPDEST 00002cbf: PUSH4 0x4e487b71 00002cc4: PUSH1 0xe0 00002cc6: SHL 00002cc7: PUSH1 0x00 00002cc9: MSTORE 00002cca: PUSH1 0x21 00002ccc: PUSH1 0x04 00002cce: MSTORE 00002ccf: PUSH1 0x24 00002cd1: PUSH1 0x00 00002cd3: REVERT 00002cd4: JUMPDEST 00002cd5: PUSH1 0x20 00002cd7: DUP2 00002cd8: ADD 00002cd9: PUSH1 0x03 00002cdb: DUP4 00002cdc: LT 00002cdd: PUSH2 0x2cf6 00002ce0: JUMPI 00002ce1: PUSH4 0x4e487b71 00002ce6: PUSH1 0xe0 00002ce8: SHL 00002ce9: PUSH1 0x00 00002ceb: MSTORE 00002cec: PUSH1 0x21 00002cee: PUSH1 0x04 00002cf0: MSTORE 00002cf1: PUSH1 0x24 00002cf3: PUSH1 0x00 00002cf5: REVERT 00002cf6: JUMPDEST 00002cf7: SWAP2 00002cf8: SWAP1 00002cf9: MSTORE 00002cfa: SWAP1 00002cfb: JUMP 00002cfc: JUMPDEST 00002cfd: PUSH1 0x00 00002cff: PUSH1 0x20 00002d01: DUP3 00002d02: DUP5 00002d03: SUB 00002d04: SLT 00002d05: ISZERO 00002d06: PUSH2 0x2d0e 00002d09: JUMPI 00002d0a: PUSH1 0x00 00002d0c: DUP1 00002d0d: REVERT 00002d0e: JUMPDEST 00002d0f: DUP2 00002d10: CALLDATALOAD 00002d11: PUSH1 0x01 00002d13: PUSH1 0x01 00002d15: PUSH1 0x40 00002d17: SHL 00002d18: SUB 00002d19: DUP2 00002d1a: GT 00002d1b: ISZERO 00002d1c: PUSH2 0x2d24 00002d1f: JUMPI 00002d20: PUSH1 0x00 00002d22: DUP1 00002d23: REVERT 00002d24: JUMPDEST 00002d25: PUSH2 0x2d30 00002d28: DUP5 00002d29: DUP3 00002d2a: DUP6 00002d2b: ADD 00002d2c: PUSH2 0x2aaa 00002d2f: JUMP 00002d30: JUMPDEST 00002d31: SWAP5 00002d32: SWAP4 00002d33: POP 00002d34: POP 00002d35: POP 00002d36: POP 00002d37: JUMP 00002d38: JUMPDEST 00002d39: PUSH1 0x00 00002d3b: JUMPDEST 00002d3c: DUP4 00002d3d: DUP2 00002d3e: LT 00002d3f: ISZERO 00002d40: PUSH2 0x2d53 00002d43: JUMPI 00002d44: DUP2 00002d45: DUP2 00002d46: ADD 00002d47: MLOAD 00002d48: DUP4 00002d49: DUP3 00002d4a: ADD 00002d4b: MSTORE 00002d4c: PUSH1 0x20 00002d4e: ADD 00002d4f: PUSH2 0x2d3b 00002d52: JUMP 00002d53: JUMPDEST 00002d54: POP 00002d55: POP 00002d56: PUSH1 0x00 00002d58: SWAP2 00002d59: ADD 00002d5a: MSTORE 00002d5b: JUMP 00002d5c: JUMPDEST 00002d5d: PUSH1 0x00 00002d5f: DUP2 00002d60: MLOAD 00002d61: DUP1 00002d62: DUP5 00002d63: MSTORE 00002d64: PUSH2 0x2d74 00002d67: DUP2 00002d68: PUSH1 0x20 00002d6a: DUP7 00002d6b: ADD 00002d6c: PUSH1 0x20 00002d6e: DUP7 00002d6f: ADD 00002d70: PUSH2 0x2d38 00002d73: JUMP 00002d74: JUMPDEST 00002d75: PUSH1 0x1f 00002d77: ADD 00002d78: PUSH1 0x1f 00002d7a: NOT 00002d7b: AND 00002d7c: SWAP3 00002d7d: SWAP1 00002d7e: SWAP3 00002d7f: ADD 00002d80: PUSH1 0x20 00002d82: ADD 00002d83: SWAP3 00002d84: SWAP2 00002d85: POP 00002d86: POP 00002d87: JUMP 00002d88: JUMPDEST 00002d89: PUSH1 0x20 00002d8b: DUP2 00002d8c: MSTORE 00002d8d: PUSH1 0x00 00002d8f: PUSH2 0x1a47 00002d92: PUSH1 0x20 00002d94: DUP4 00002d95: ADD 00002d96: DUP5 00002d97: PUSH2 0x2d5c 00002d9a: JUMP 00002d9b: JUMPDEST 00002d9c: PUSH1 0x00 00002d9e: DUP1 00002d9f: PUSH1 0x40 00002da1: DUP4 00002da2: DUP6 00002da3: SUB 00002da4: SLT 00002da5: ISZERO 00002da6: PUSH2 0x2dae 00002da9: JUMPI 00002daa: PUSH1 0x00 00002dac: DUP1 00002dad: REVERT 00002dae: JUMPDEST 00002daf: PUSH2 0x2db7 00002db2: DUP4 00002db3: PUSH2 0x27ef 00002db6: JUMP 00002db7: JUMPDEST 00002db8: SWAP2 00002db9: POP 00002dba: PUSH1 0x20 00002dbc: DUP4 00002dbd: ADD 00002dbe: CALLDATALOAD 00002dbf: PUSH1 0x01 00002dc1: PUSH1 0x01 00002dc3: PUSH1 0x40 00002dc5: SHL 00002dc6: SUB 00002dc7: DUP2 00002dc8: GT 00002dc9: ISZERO 00002dca: PUSH2 0x2dd2 00002dcd: JUMPI 00002dce: PUSH1 0x00 00002dd0: DUP1 00002dd1: REVERT 00002dd2: JUMPDEST 00002dd3: PUSH2 0x29ea 00002dd6: DUP6 00002dd7: DUP3 00002dd8: DUP7 00002dd9: ADD 00002dda: PUSH2 0x29f4 00002ddd: JUMP 00002dde: JUMPDEST 00002ddf: PUSH1 0x00 00002de1: DUP1 00002de2: PUSH1 0x40 00002de4: DUP4 00002de5: DUP6 00002de6: SUB 00002de7: SLT 00002de8: ISZERO 00002de9: PUSH2 0x2df1 00002dec: JUMPI 00002ded: PUSH1 0x00 00002def: DUP1 00002df0: REVERT 00002df1: JUMPDEST 00002df2: PUSH2 0x2dfa 00002df5: DUP4 00002df6: PUSH2 0x26af 00002df9: JUMP 00002dfa: JUMPDEST 00002dfb: SWAP5 00002dfc: PUSH1 0x20 00002dfe: SWAP4 00002dff: SWAP1 00002e00: SWAP4 00002e01: ADD 00002e02: CALLDATALOAD 00002e03: SWAP4 00002e04: POP 00002e05: POP 00002e06: POP 00002e07: JUMP 00002e08: JUMPDEST 00002e09: PUSH1 0x00 00002e0b: DUP1 00002e0c: PUSH1 0x00 00002e0e: PUSH1 0x60 00002e10: DUP5 00002e11: DUP7 00002e12: SUB 00002e13: SLT 00002e14: ISZERO 00002e15: PUSH2 0x2e1d 00002e18: JUMPI 00002e19: PUSH1 0x00 00002e1b: DUP1 00002e1c: REVERT 00002e1d: JUMPDEST 00002e1e: PUSH2 0x2e26 00002e21: DUP5 00002e22: PUSH2 0x26af 00002e25: JUMP 00002e26: JUMPDEST 00002e27: SWAP3 00002e28: POP 00002e29: PUSH1 0x20 00002e2b: DUP5 00002e2c: ADD 00002e2d: CALLDATALOAD 00002e2e: SWAP2 00002e2f: POP 00002e30: PUSH1 0x40 00002e32: DUP5 00002e33: ADD 00002e34: CALLDATALOAD 00002e35: PUSH1 0x01 00002e37: PUSH1 0x01 00002e39: PUSH1 0x40 00002e3b: SHL 00002e3c: SUB 00002e3d: DUP2 00002e3e: GT 00002e3f: ISZERO 00002e40: PUSH2 0x2e48 00002e43: JUMPI 00002e44: PUSH1 0x00 00002e46: DUP1 00002e47: REVERT 00002e48: JUMPDEST 00002e49: PUSH2 0x2e54 00002e4c: DUP7 00002e4d: DUP3 00002e4e: DUP8 00002e4f: ADD 00002e50: PUSH2 0x2958 00002e53: JUMP 00002e54: JUMPDEST 00002e55: SWAP2 00002e56: POP 00002e57: POP 00002e58: SWAP3 00002e59: POP 00002e5a: SWAP3 00002e5b: POP 00002e5c: SWAP3 00002e5d: JUMP 00002e5e: JUMPDEST 00002e5f: PUSH1 0x20 00002e61: DUP1 00002e62: DUP3 00002e63: MSTORE 00002e64: PUSH1 0x3c 00002e66: SWAP1 00002e67: DUP3 00002e68: ADD 00002e69: MSTORE 00002e6a: PUSH32 0x466173745472616e73666572476174657761793a2074696d656f75742074696d 00002e8b: PUSH1 0x40 00002e8d: DUP3 00002e8e: ADD 00002e8f: MSTORE 00002e90: PUSH32 0x657374616d70206d75737420626520696e207468652066757475726500000000 00002eb1: PUSH1 0x60 00002eb3: DUP3 00002eb4: ADD 00002eb5: MSTORE 00002eb6: PUSH1 0x80 00002eb8: ADD 00002eb9: SWAP1 00002eba: JUMP 00002ebb: JUMPDEST 00002ebc: PUSH1 0x20 00002ebe: DUP1 00002ebf: DUP3 00002ec0: MSTORE 00002ec1: PUSH1 0x31 00002ec3: SWAP1 00002ec4: DUP3 00002ec5: ADD 00002ec6: MSTORE 00002ec7: PUSH32 0x466173745472616e73666572476174657761793a2064657374696e6174696f6e 00002ee8: PUSH1 0x40 00002eea: DUP3 00002eeb: ADD 00002eec: MSTORE 00002eed: PUSH17 0x08191bdb585a5b881b9bdd08199bdd5b99 00002eff: PUSH1 0x7a 00002f01: SHL 00002f02: PUSH1 0x60 00002f04: DUP3 00002f05: ADD 00002f06: MSTORE 00002f07: PUSH1 0x80 00002f09: ADD 00002f0a: SWAP1 00002f0b: JUMP 00002f0c: JUMPDEST 00002f0d: PUSH4 0x4e487b71 00002f12: PUSH1 0xe0 00002f14: SHL 00002f15: PUSH1 0x00 00002f17: MSTORE 00002f18: PUSH1 0x11 00002f1a: PUSH1 0x04 00002f1c: MSTORE 00002f1d: PUSH1 0x24 00002f1f: PUSH1 0x00 00002f21: REVERT 00002f22: JUMPDEST 00002f23: PUSH4 0xffffffff 00002f28: DUP2 00002f29: DUP2 00002f2a: AND 00002f2b: DUP4 00002f2c: DUP3 00002f2d: AND 00002f2e: ADD 00002f2f: SWAP1 00002f30: DUP1 00002f31: DUP3 00002f32: GT 00002f33: ISZERO 00002f34: PUSH2 0x2f3f 00002f37: JUMPI 00002f38: PUSH2 0x2f3f 00002f3b: PUSH2 0x2f0c 00002f3e: JUMP 00002f3f: JUMPDEST 00002f40: POP 00002f41: SWAP3 00002f42: SWAP2 00002f43: POP 00002f44: POP 00002f45: JUMP 00002f46: JUMPDEST 00002f47: PUSH1 0x20 00002f49: DUP1 00002f4a: DUP3 00002f4b: MSTORE 00002f4c: PUSH1 0x2e 00002f4e: SWAP1 00002f4f: DUP3 00002f50: ADD 00002f51: MSTORE 00002f52: PUSH32 0x466173745472616e73666572476174657761793a20536f7572636520646f6d61 00002f73: PUSH1 0x40 00002f75: DUP3 00002f76: ADD 00002f77: MSTORE 00002f78: PUSH14 0x0d2dce640daeae6e840dac2e8c6d 00002f87: PUSH1 0x93 00002f89: SHL 00002f8a: PUSH1 0x60 00002f8c: DUP3 00002f8d: ADD 00002f8e: MSTORE 00002f8f: PUSH1 0x80 00002f91: ADD 00002f92: SWAP1 00002f93: JUMP 00002f94: JUMPDEST 00002f95: DUP1 00002f96: DUP3 00002f97: ADD 00002f98: DUP1 00002f99: DUP3 00002f9a: GT 00002f9b: ISZERO 00002f9c: PUSH2 0x0db4 00002f9f: JUMPI 00002fa0: PUSH2 0x0db4 00002fa3: PUSH2 0x2f0c 00002fa6: JUMP 00002fa7: JUMPDEST 00002fa8: PUSH1 0x20 00002faa: DUP1 00002fab: DUP3 00002fac: MSTORE 00002fad: PUSH1 0x2a 00002faf: SWAP1 00002fb0: DUP3 00002fb1: ADD 00002fb2: MSTORE 00002fb3: PUSH32 0x466173745472616e73666572476174657761793a20756e6b6e6f776e20736f75 00002fd4: PUSH1 0x40 00002fd6: DUP3 00002fd7: ADD 00002fd8: MSTORE 00002fd9: PUSH10 0x3931b2903237b6b0b4b7 00002fe4: PUSH1 0xb1 00002fe6: SHL 00002fe7: PUSH1 0x60 00002fe9: DUP3 00002fea: ADD 00002feb: MSTORE 00002fec: PUSH1 0x80 00002fee: ADD 00002fef: SWAP1 00002ff0: JUMP 00002ff1: JUMPDEST 00002ff2: PUSH1 0xff 00002ff4: PUSH1 0xf8 00002ff6: SHL 00002ff7: DUP5 00002ff8: PUSH1 0xf8 00002ffa: SHL 00002ffb: AND 00002ffc: DUP2 00002ffd: MSTORE 00002ffe: DUP3 00002fff: PUSH1 0x01 00003001: DUP3 00003002: ADD 00003003: MSTORE 00003004: PUSH1 0x00 00003006: DUP3 00003007: MLOAD 00003008: PUSH2 0x3018 0000300b: DUP2 0000300c: PUSH1 0x21 0000300e: DUP6 0000300f: ADD 00003010: PUSH1 0x20 00003012: DUP8 00003013: ADD 00003014: PUSH2 0x2d38 00003017: JUMP 00003018: JUMPDEST 00003019: SWAP2 0000301a: SWAP1 0000301b: SWAP2 0000301c: ADD 0000301d: PUSH1 0x21 0000301f: ADD 00003020: SWAP5 00003021: SWAP4 00003022: POP 00003023: POP 00003024: POP 00003025: POP 00003026: JUMP 00003027: JUMPDEST 00003028: PUSH4 0xffffffff 0000302d: DUP5 0000302e: AND 0000302f: DUP2 00003030: MSTORE 00003031: DUP3 00003032: PUSH1 0x20 00003034: DUP3 00003035: ADD 00003036: MSTORE 00003037: PUSH1 0x60 00003039: PUSH1 0x40 0000303b: DUP3 0000303c: ADD 0000303d: MSTORE 0000303e: PUSH1 0x00 00003040: PUSH2 0x2561 00003043: PUSH1 0x60 00003045: DUP4 00003046: ADD 00003047: DUP5 00003048: PUSH2 0x2d5c 0000304b: JUMP 0000304c: JUMPDEST 0000304d: PUSH1 0x00 0000304f: PUSH1 0x20 00003051: DUP3 00003052: DUP5 00003053: SUB 00003054: SLT 00003055: ISZERO 00003056: PUSH2 0x305e 00003059: JUMPI 0000305a: PUSH1 0x00 0000305c: DUP1 0000305d: REVERT 0000305e: JUMPDEST 0000305f: POP 00003060: MLOAD 00003061: SWAP2 00003062: SWAP1 00003063: POP 00003064: JUMP 00003065: JUMPDEST 00003066: PUSH4 0x4e487b71 0000306b: PUSH1 0xe0 0000306d: SHL 0000306e: PUSH1 0x00 00003070: MSTORE 00003071: PUSH1 0x32 00003073: PUSH1 0x04 00003075: MSTORE 00003076: PUSH1 0x24 00003078: PUSH1 0x00 0000307a: REVERT 0000307b: JUMPDEST 0000307c: PUSH1 0x00 0000307e: DUP4 0000307f: MLOAD 00003080: PUSH2 0x308d 00003083: DUP2 00003084: DUP5 00003085: PUSH1 0x20 00003087: DUP9 00003088: ADD 00003089: PUSH2 0x2d38 0000308c: JUMP 0000308d: JUMPDEST 0000308e: SWAP2 0000308f: SWAP1 00003090: SWAP2 00003091: ADD 00003092: SWAP2 00003093: DUP3 00003094: MSTORE 00003095: POP 00003096: PUSH1 0x20 00003098: ADD 00003099: SWAP2 0000309a: SWAP1 0000309b: POP 0000309c: JUMP 0000309d: JUMPDEST 0000309e: PUSH1 0xff 000030a0: PUSH1 0xf8 000030a2: SHL 000030a3: DUP4 000030a4: PUSH1 0xf8 000030a6: SHL 000030a7: AND 000030a8: DUP2 000030a9: MSTORE 000030aa: PUSH1 0x00 000030ac: DUP3 000030ad: MLOAD 000030ae: PUSH2 0x30be 000030b1: DUP2 000030b2: PUSH1 0x01 000030b4: DUP6 000030b5: ADD 000030b6: PUSH1 0x20 000030b8: DUP8 000030b9: ADD 000030ba: PUSH2 0x2d38 000030bd: JUMP 000030be: JUMPDEST 000030bf: SWAP2 000030c0: SWAP1 000030c1: SWAP2 000030c2: ADD 000030c3: PUSH1 0x01 000030c5: ADD 000030c6: SWAP4 000030c7: SWAP3 000030c8: POP 000030c9: POP 000030ca: POP 000030cb: JUMP 000030cc: JUMPDEST 000030cd: PUSH1 0x00 000030cf: DUP1 000030d0: DUP6 000030d1: DUP6 000030d2: GT 000030d3: ISZERO 000030d4: PUSH2 0x30dc 000030d7: JUMPI 000030d8: PUSH1 0x00 000030da: DUP1 000030db: REVERT 000030dc: JUMPDEST 000030dd: DUP4 000030de: DUP7 000030df: GT 000030e0: ISZERO 000030e1: PUSH2 0x30e9 000030e4: JUMPI 000030e5: PUSH1 0x00 000030e7: DUP1 000030e8: REVERT 000030e9: JUMPDEST 000030ea: POP 000030eb: POP 000030ec: DUP3 000030ed: ADD 000030ee: SWAP4 000030ef: SWAP2 000030f0: SWAP1 000030f1: SWAP3 000030f2: SUB 000030f3: SWAP2 000030f4: POP 000030f5: JUMP 000030f6: JUMPDEST 000030f7: DUP1 000030f8: CALLDATALOAD 000030f9: PUSH1 0x20 000030fb: DUP4 000030fc: LT 000030fd: ISZERO 000030fe: PUSH2 0x0db4 00003101: JUMPI 00003102: PUSH1 0x00 00003104: NOT 00003105: PUSH1 0x20 00003107: DUP5 00003108: SWAP1 00003109: SUB 0000310a: PUSH1 0x03 0000310c: SHL 0000310d: SHL 0000310e: AND 0000310f: SWAP3 00003110: SWAP2 00003111: POP 00003112: POP 00003113: JUMP 00003114: JUMPDEST 00003115: PUSH1 0x01 00003117: PUSH1 0x01 00003119: PUSH1 0xa0 0000311b: SHL 0000311c: SUB 0000311d: DUP6 0000311e: DUP2 0000311f: AND 00003120: DUP3 00003121: MSTORE 00003122: DUP5 00003123: AND 00003124: PUSH1 0x20 00003126: DUP3 00003127: ADD 00003128: MSTORE 00003129: PUSH1 0x40 0000312b: DUP2 0000312c: ADD 0000312d: DUP4 0000312e: SWAP1 0000312f: MSTORE 00003130: PUSH1 0x80 00003132: PUSH1 0x60 00003134: DUP3 00003135: ADD 00003136: DUP2 00003137: SWAP1 00003138: MSTORE 00003139: PUSH1 0x00 0000313b: SWAP1 0000313c: PUSH2 0x3147 0000313f: SWAP1 00003140: DUP4 00003141: ADD 00003142: DUP5 00003143: PUSH2 0x2d5c 00003146: JUMP 00003147: JUMPDEST 00003148: SWAP7 00003149: SWAP6 0000314a: POP 0000314b: POP 0000314c: POP 0000314d: POP 0000314e: POP 0000314f: POP 00003150: JUMP 00003151: JUMPDEST 00003152: DUP1 00003153: MLOAD 00003154: DUP1 00003155: ISZERO 00003156: ISZERO 00003157: DUP2 00003158: EQ 00003159: PUSH2 0x26c3 0000315c: JUMPI 0000315d: PUSH1 0x00 0000315f: DUP1 00003160: REVERT 00003161: JUMPDEST 00003162: PUSH1 0x00 00003164: DUP1 00003165: PUSH1 0x40 00003167: DUP4 00003168: DUP6 00003169: SUB 0000316a: SLT 0000316b: ISZERO 0000316c: PUSH2 0x3174 0000316f: JUMPI 00003170: PUSH1 0x00 00003172: DUP1 00003173: REVERT 00003174: JUMPDEST 00003175: PUSH2 0x317d 00003178: DUP4 00003179: PUSH2 0x3151 0000317c: JUMP 0000317d: JUMPDEST 0000317e: SWAP2 0000317f: POP 00003180: PUSH1 0x20 00003182: DUP4 00003183: ADD 00003184: MLOAD 00003185: PUSH1 0x01 00003187: PUSH1 0x01 00003189: PUSH1 0x40 0000318b: SHL 0000318c: SUB 0000318d: DUP2 0000318e: GT 0000318f: ISZERO 00003190: PUSH2 0x3198 00003193: JUMPI 00003194: PUSH1 0x00 00003196: DUP1 00003197: REVERT 00003198: JUMPDEST 00003199: DUP4 0000319a: ADD 0000319b: PUSH1 0x1f 0000319d: DUP2 0000319e: ADD 0000319f: DUP6 000031a0: SGT 000031a1: PUSH2 0x31a9 000031a4: JUMPI 000031a5: PUSH1 0x00 000031a7: DUP1 000031a8: REVERT 000031a9: JUMPDEST 000031aa: DUP1 000031ab: MLOAD 000031ac: PUSH2 0x31b7 000031af: PUSH2 0x2977 000031b2: DUP3 000031b3: PUSH2 0x2931 000031b6: JUMP 000031b7: JUMPDEST 000031b8: DUP2 000031b9: DUP2 000031ba: MSTORE 000031bb: DUP7 000031bc: PUSH1 0x20 000031be: DUP4 000031bf: DUP6 000031c0: ADD 000031c1: ADD 000031c2: GT 000031c3: ISZERO 000031c4: PUSH2 0x31cc 000031c7: JUMPI 000031c8: PUSH1 0x00 000031ca: DUP1 000031cb: REVERT 000031cc: JUMPDEST 000031cd: PUSH2 0x31dd 000031d0: DUP3 000031d1: PUSH1 0x20 000031d3: DUP4 000031d4: ADD 000031d5: PUSH1 0x20 000031d7: DUP7 000031d8: ADD 000031d9: PUSH2 0x2d38 000031dc: JUMP 000031dd: JUMPDEST 000031de: DUP1 000031df: SWAP4 000031e0: POP 000031e1: POP 000031e2: POP 000031e3: POP 000031e4: SWAP3 000031e5: POP 000031e6: SWAP3 000031e7: SWAP1 000031e8: POP 000031e9: JUMP 000031ea: JUMPDEST 000031eb: DUP10 000031ec: DUP2 000031ed: MSTORE 000031ee: DUP9 000031ef: PUSH1 0x20 000031f1: DUP3 000031f2: ADD 000031f3: MSTORE 000031f4: DUP8 000031f5: PUSH1 0x40 000031f7: DUP3 000031f8: ADD 000031f9: MSTORE 000031fa: DUP7 000031fb: PUSH1 0x60 000031fd: DUP3 000031fe: ADD 000031ff: MSTORE 00003200: PUSH1 0x00 00003202: PUSH4 0xffffffff 00003207: PUSH1 0xe0 00003209: SHL 0000320a: DUP1 0000320b: DUP9 0000320c: PUSH1 0xe0 0000320e: SHL 0000320f: AND 00003210: PUSH1 0x80 00003212: DUP5 00003213: ADD 00003214: MSTORE 00003215: DUP1 00003216: DUP8 00003217: PUSH1 0xe0 00003219: SHL 0000321a: AND 0000321b: PUSH1 0x84 0000321d: DUP5 0000321e: ADD 0000321f: MSTORE 00003220: DUP1 00003221: DUP7 00003222: PUSH1 0xe0 00003224: SHL 00003225: AND 00003226: PUSH1 0x88 00003228: DUP5 00003229: ADD 0000322a: MSTORE 0000322b: POP 0000322c: PUSH1 0x01 0000322e: PUSH1 0x01 00003230: PUSH1 0x40 00003232: SHL 00003233: SUB 00003234: PUSH1 0xc0 00003236: SHL 00003237: DUP5 00003238: PUSH1 0xc0 0000323a: SHL 0000323b: AND 0000323c: PUSH1 0x8c 0000323e: DUP4 0000323f: ADD 00003240: MSTORE 00003241: DUP3 00003242: MLOAD 00003243: PUSH2 0x3253 00003246: DUP2 00003247: PUSH1 0x94 00003249: DUP6 0000324a: ADD 0000324b: PUSH1 0x20 0000324d: DUP8 0000324e: ADD 0000324f: PUSH2 0x2d38 00003252: JUMP 00003253: JUMPDEST 00003254: SWAP2 00003255: SWAP1 00003256: SWAP2 00003257: ADD 00003258: PUSH1 0x94 0000325a: ADD 0000325b: SWAP11 0000325c: SWAP10 0000325d: POP 0000325e: POP 0000325f: POP 00003260: POP 00003261: POP 00003262: POP 00003263: POP 00003264: POP 00003265: POP 00003266: POP 00003267: JUMP 00003268: JUMPDEST 00003269: DUP6 0000326a: MLOAD 0000326b: DUP1 0000326c: MLOAD 0000326d: PUSH1 0x01 0000326f: PUSH1 0x01 00003271: PUSH1 0xa0 00003273: SHL 00003274: SUB 00003275: SWAP1 00003276: DUP2 00003277: AND 00003278: DUP4 00003279: MSTORE 0000327a: PUSH1 0x20 0000327c: SWAP2 0000327d: DUP3 0000327e: ADD 0000327f: MLOAD 00003280: DUP3 00003281: DUP5 00003282: ADD 00003283: MSTORE 00003284: DUP2 00003285: DUP9 00003286: ADD 00003287: MLOAD 00003288: PUSH1 0x40 0000328a: DUP1 0000328b: DUP6 0000328c: ADD 0000328d: SWAP2 0000328e: SWAP1 0000328f: SWAP2 00003290: MSTORE 00003291: DUP9 00003292: ADD 00003293: MLOAD 00003294: PUSH1 0x60 00003296: DUP5 00003297: ADD 00003298: MSTORE 00003299: DUP7 0000329a: MLOAD 0000329b: DUP2 0000329c: AND 0000329d: PUSH1 0x80 0000329f: DUP5 000032a0: ADD 000032a1: MSTORE 000032a2: SWAP1 000032a3: DUP7 000032a4: ADD 000032a5: MLOAD 000032a6: PUSH1 0xa0 000032a8: DUP4 000032a9: ADD 000032aa: MSTORE 000032ab: DUP5 000032ac: AND 000032ad: PUSH1 0xc0 000032af: DUP3 000032b0: ADD 000032b1: MSTORE 000032b2: PUSH2 0x0100 000032b5: PUSH1 0xe0 000032b7: DUP3 000032b8: ADD 000032b9: DUP2 000032ba: SWAP1 000032bb: MSTORE 000032bc: DUP2 000032bd: ADD 000032be: DUP3 000032bf: SWAP1 000032c0: MSTORE 000032c1: PUSH1 0x00 000032c3: PUSH2 0x0120 000032c6: DUP4 000032c7: DUP6 000032c8: DUP3 000032c9: DUP6 000032ca: ADD 000032cb: CALLDATACOPY 000032cc: PUSH1 0x00 000032ce: DUP4 000032cf: DUP6 000032d0: ADD 000032d1: DUP3 000032d2: ADD 000032d3: MSTORE 000032d4: PUSH1 0x1f 000032d6: SWAP1 000032d7: SWAP4 000032d8: ADD 000032d9: PUSH1 0x1f 000032db: NOT 000032dc: AND 000032dd: SWAP1 000032de: SWAP2 000032df: ADD 000032e0: SWAP1 000032e1: SWAP2 000032e2: ADD 000032e3: SWAP6 000032e4: SWAP5 000032e5: POP 000032e6: POP 000032e7: POP 000032e8: POP 000032e9: POP 000032ea: JUMP 000032eb: JUMPDEST 000032ec: PUSH1 0x20 000032ee: DUP1 000032ef: DUP3 000032f0: MSTORE 000032f1: PUSH1 0x24 000032f3: SWAP1 000032f4: DUP3 000032f5: ADD 000032f6: MSTORE 000032f7: PUSH32 0x466173745472616e73666572476174657761793a206f72646572206e6f742066 00003318: PUSH1 0x40 0000331a: DUP3 0000331b: ADD 0000331c: MSTORE 0000331d: PUSH4 0x1bdd5b99 00003322: PUSH1 0xe2 00003324: SHL 00003325: PUSH1 0x60 00003327: DUP3 00003328: ADD 00003329: MSTORE 0000332a: PUSH1 0x80 0000332c: ADD 0000332d: SWAP1 0000332e: JUMP 0000332f: JUMPDEST 00003330: PUSH1 0x20 00003332: DUP1 00003333: DUP3 00003334: MSTORE 00003335: PUSH1 0x34 00003337: SWAP1 00003338: DUP3 00003339: ADD 0000333a: MSTORE 0000333b: PUSH32 0x466173745472616e73666572476174657761793a20696e636f72726563742064 0000335c: PUSH1 0x40 0000335e: DUP3 0000335f: ADD 00003360: MSTORE 00003361: PUSH20 0x1bdb585a5b88199bdc881cd95d1d1b195b595b9d 00003376: PUSH1 0x62 00003378: SHL 00003379: PUSH1 0x60 0000337b: DUP3 0000337c: ADD 0000337d: MSTORE 0000337e: PUSH1 0x80 00003380: ADD 00003381: SWAP1 00003382: JUMP 00003383: JUMPDEST 00003384: PUSH1 0x00 00003386: PUSH1 0x20 00003388: DUP3 00003389: DUP5 0000338a: SUB 0000338b: SLT 0000338c: ISZERO 0000338d: PUSH2 0x3395 00003390: JUMPI 00003391: PUSH1 0x00 00003393: DUP1 00003394: REVERT 00003395: JUMPDEST 00003396: PUSH2 0x1a47 00003399: DUP3 0000339a: PUSH2 0x3151 0000339d: JUMP 0000339e: JUMPDEST 0000339f: PUSH1 0x00 000033a1: DUP3 000033a2: MLOAD 000033a3: PUSH2 0x33b0 000033a6: DUP2 000033a7: DUP5 000033a8: PUSH1 0x20 000033aa: DUP8 000033ab: ADD 000033ac: PUSH2 0x2d38 000033af: JUMP 000033b0: JUMPDEST 000033b1: SWAP2 000033b2: SWAP1 000033b3: SWAP2 000033b4: ADD 000033b5: SWAP3 000033b6: SWAP2 000033b7: POP 000033b8: POP 000033b9: JUMP 000033ba: INVALID 000033bb: CALLDATASIZE 000033bc: ADDMOD 000033bd: SWAP5 000033be: LOG1 000033bf: EXTCODESIZE 000033c0: LOG1 000033c1: LOG3 000033c2: UNKNOWN(0x21) 000033c3: MOD 000033c4: PUSH8 0xc828492db98dca3e 000033cd: KECCAK256 000033ce: PUSH23 0xcc3735a920a3ca505d382bbca2646970667358221220eb 000033e6: UNKNOWN(0xCC) 000033e7: RETURN 000033e8: RETURNDATASIZE 000033e9: BLOCKHASH 000033ea: PUSH28 0xe8f083a3554a8531703d101e75f965f4baee99bd51ee5234e18d6473 00003407: PUSH16
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0xa7d28def7259e989a528b6139d1952a224b61d90affa478df95718a9b0fdc249
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0xa7d28def7259e989a528b6139d1952a224b61d90affa478df95718a9b0fdc249",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3c61d6b",
"selector": "0xf3c61d6b",
"calldata_variants": [
"0xf3c61d6b",
"0xf3c61d6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7213db6",
"selector": "0xf7213db6",
"calldata_variants": [
"0xf7213db6",
"0xf7213db60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd5438eae",
"selector": "0xd5438eae",
"calldata_variants": [
"0xd5438eae",
"0xd5438eae0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde523cf3",
"selector": "0xde523cf3",
"calldata_variants": [
"0xde523cf3",
"0xde523cf30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5dc8496",
"selector": "0xe5dc8496",
"calldata_variants": [
"0xe5dc8496",
"0xe5dc84960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe88787c2",
"selector": "0xe88787c2",
"calldata_variants": [
"0xe88787c2",
"0xe88787c20000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 9501,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xf554ba11daba23f6d6214f62334f66839d07420ac88d8ddbe4c1fa0a7256b196
call_targets:
0x5afdab84d684a057d359498e40f38f433390e711
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf554ba11daba23f6d6214f62334f66839d07420ac88d8ddbe4c1fa0a7256b196",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5afdab84d684a057d359498e40f38f433390e711"
],
"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": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3c61d6b",
"selector": "0xf3c61d6b",
"calldata_variants": [
"0xf3c61d6b",
"0xf3c61d6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7213db6",
"selector": "0xf7213db6",
"calldata_variants": [
"0xf7213db6",
"0xf7213db60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd5438eae",
"selector": "0xd5438eae",
"calldata_variants": [
"0xd5438eae",
"0xd5438eae0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde523cf3",
"selector": "0xde523cf3",
"calldata_variants": [
"0xde523cf3",
"0xde523cf30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5dc8496",
"selector": "0xe5dc8496",
"calldata_variants": [
"0xe5dc8496",
"0xe5dc84960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe88787c2",
"selector": "0xe88787c2",
"calldata_variants": [
"0xe88787c2",
"0xe88787c20000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3142,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6328,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7093,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [],
"untrusted_call_count": 4
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xf554ba11daba23f6d6214f62334f66839d07420ac88d8ddbe4c1fa0a7256b196
call_targets:
0x5afdab84d684a057d359498e40f38f433390e711
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xf554ba11daba23f6d6214f62334f66839d07420ac88d8ddbe4c1fa0a7256b196",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5afdab84d684a057d359498e40f38f433390e711"
],
"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": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3c61d6b",
"selector": "0xf3c61d6b",
"calldata_variants": [
"0xf3c61d6b",
"0xf3c61d6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7213db6",
"selector": "0xf7213db6",
"calldata_variants": [
"0xf7213db6",
"0xf7213db60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd5438eae",
"selector": "0xd5438eae",
"calldata_variants": [
"0xd5438eae",
"0xd5438eae0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde523cf3",
"selector": "0xde523cf3",
"calldata_variants": [
"0xde523cf3",
"0xde523cf30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5dc8496",
"selector": "0xe5dc8496",
"calldata_variants": [
"0xe5dc8496",
"0xe5dc84960000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe88787c2",
"selector": "0xe88787c2",
"calldata_variants": [
"0xe88787c2",
"0xe88787c20000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3142,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6328,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7093,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": []
}
|
| medium | other | codex | GoFastCaller leaves approvals in place, allowing previous recipients to drain future tokens | 75 | no | — |
viewevidence_json{
"evidence": "`execute` approves `_target` for `_amount` and never revokes it, leaving residual allowances that persist across calls.",
"locations": [
"src/GoFastCaller.sol:25",
"src/GoFastCaller.sol:30"
],
"recommendation": "After the external call, reset allowance for `_target` back to 0 (or use a pattern that transfers tokens directly to the recipient before the call). Consider using `safeTransfer` + callback with no approval, or clear allowances per call to avoid cross-order token theft.",
"exploit_scenario": "A malicious recipient contract is called via `fillOrder` with `order.data` and chooses not to pull tokens (or pulls less). The GoFastCaller approval to that recipient remains. Later, other users fill orders that route tokens through GoFastCaller, and the earlier recipient can call `transferFrom` using its leftover allowance to steal those tokens."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| low | auth | codex | Permit-based order submission uses a global nonce that can be cheaply griefed | 65 | no | — |
viewevidence_json{
"evidence": "`submitOrderWithPermit` derives the permit nonce from the shared `nonce` state and increments it for every order, while `submitOrder` allows arbitrary amounts and also increments the same nonce.",
"locations": [
"src/FastTransferGateway.sol:160",
"src/FastTransferGateway.sol:216",
"src/FastTransferGateway.sol:226",
"src/FastTransferGateway.sol:233"
],
"recommendation": "Decouple order nonce from Permit2 nonce. Use per-user Permit2 nonces (provided by the signer) and keep a separate order ID nonce, or require the caller to supply a permit nonce and verify it without relying on the shared `nonce`. Also enforce `amountIn > 0` to raise the griefing cost.",
"exploit_scenario": "Users must sign a Permit2 message using the gateway\u2019s current global `nonce`. Any account can submit a zero-amount (or tiny-amount) order to increment this nonce and invalidate a pre-signed permit, repeatedly griefing permit submissions."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 5
}
|