a6e22563-3c6a-48bc-9056-6d560ad9206b
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 |
|---|---|---|---|---|
| 30196 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 93775 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 93776 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 93777 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 93778 | capability.graph | complete | 1 / 3 | 1 week ago |
| 93779 | detector.run | complete | 1 / 3 | 1 week ago |
| 93780 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1398017] OpenAI Codex v0.77.0 (research preview)
[codex:1398017] --------
[codex:1398017] workdir: /tmp/codex-multi-okkz_8fr
[codex:1398017] model: gpt-5.2-codex
[codex:1398017] provider: openai
[codex:1398017] approval: never
[codex:1398017] sandbox: read-only
[codex:1398017] reasoning effort: xhigh
[codex:1398017] reasoning summaries: auto
[codex:1398017] session id: 019b618f-11a4-77f3-b410-17437bb9cdf2
[codex:1398017] --------
[codex:1398017] user
[codex:1398017] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1398017] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1398017] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1398017]
[codex:1398017] Scope rules:
[codex:1398017] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1398017] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1398017]
[codex:1398017] Output MUST be valid JSON matching the provided schema.
[codex:1398017] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1398017] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1398017]
[codex:1398017] Output constraints (IMPORTANT):
[codex:1398017] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1398017] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1398017] mcp startup: no servers
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc ls in /tmp/codex-multi-okkz_8fr succeeded in 6ms:
[codex:1398017] AUDIT_BUNDLE.txt
[codex:1398017] codex-output-schema.json
[codex:1398017] contracts
[codex:1398017] exec
[codex:1398017] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-okkz_8fr succeeded in 5ms:
[codex:1398017] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1398017]
[codex:1398017] ================================================================================
[codex:1398017] FILE: contracts/src/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol
[codex:1398017] ================================================================================
[codex:1398017] // SPDX-License-Identifier: LGPL-3.0-or-later
[codex:1398017] pragma solidity ^0.8.10;
[codex:1398017]
[codex:1398017] import {IERC20} from '../../openzeppelin/contracts/IERC20.sol';
[codex:1398017]
[codex:1398017] /// @title Gnosis Protocol v2 Safe ERC20 Transfer Library
[codex:1398017] /// @author Gnosis Developers
[codex:1398017] /// @dev Gas-efficient version of Openzeppelin's SafeERC20 contract.
[codex:1398017] library GPv2SafeERC20 {
[codex:1398017] /// @dev Wrapper around a call to the ERC20 function `transfer` that reverts
[codex:1398017] /// also when the token returns `false`.
[codex:1398017] function safeTransfer(IERC20 token, address to, uint256 value) internal {
[codex:1398017] bytes4 selector_ = token.transfer.selector;
[codex:1398017]
[codex:1398017] // solhint-disable-next-line no-inline-assembly
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Preparing to analyze vulnerabilities in audit bundle**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-okkz_8fr succeeded in 6ms:
[codex:1398017] 4:FILE: contracts/src/contracts/dependencies/gnosis/contracts/GPv2SafeERC20.sol
[codex:1398017] 123:FILE: contracts/src/contracts/dependencies/openzeppelin/contracts/Context.sol
[codex:1398017] 150:FILE: contracts/src/contracts/dependencies/openzeppelin/contracts/IERC20.sol
[codex:1398017] 230:FILE: contracts/src/contracts/dependencies/openzeppelin/contracts/IERC20Detailed.sol
[codex:1398017] 246:FILE: contracts/src/contracts/dependencies/openzeppelin/contracts/SafeCast.sol
[codex:1398017] 505:FILE: contracts/src/contracts/instances/ATokenInstance.sol
[codex:1398017] 558:FILE: contracts/src/contracts/interfaces/IACLManager.sol
[codex:1398017] 737:FILE: contracts/src/contracts/interfaces/IAToken.sol
[codex:1398017] 879:FILE: contracts/src/contracts/interfaces/IAaveIncentivesController.sol
[codex:1398017] 902:FILE: contracts/src/contracts/interfaces/IInitializableAToken.sol
[codex:1398017] 962:FILE: contracts/src/contracts/interfaces/IPool.sol
[codex:1398017] 1837:FILE: contracts/src/contracts/interfaces/IPoolAddressesProvider.sol
[codex:1398017] 2068:FILE: contracts/src/contracts/interfaces/IScaledBalanceToken.sol
[codex:1398017] 2144:FILE: contracts/src/contracts/misc/aave-upgradeability/VersionedInitializable.sol
[codex:1398017] 2225:FILE: contracts/src/contracts/protocol/libraries/helpers/Errors.sol
[codex:1398017] 2338:FILE: contracts/src/contracts/protocol/libraries/math/WadRayMath.sol
[codex:1398017] 2468:FILE: contracts/src/contracts/protocol/libraries/types/DataTypes.sol
[codex:1398017] 2802:FILE: contracts/src/contracts/protocol/tokenization/AToken.sol
[codex:1398017] 3033:FILE: contracts/src/contracts/protocol/tokenization/base/EIP712Base.sol
[codex:1398017] 3107:FILE: contracts/src/contracts/protocol/tokenization/base/IncentivizedERC20.sol
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Extracting and inspecting AToken files**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "awk 'NR>=2802 && NR<3033 {print NR \":\" "'$0}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-okkz_8fr succeeded in 8ms:
[codex:1398017] 2802:FILE: contracts/src/contracts/protocol/tokenization/AToken.sol
[codex:1398017] 2803:================================================================================
[codex:1398017] 2804:// SPDX-License-Identifier: BUSL-1.1
[codex:1398017] 2805:pragma solidity ^0.8.10;
[codex:1398017] 2806:
[codex:1398017] 2807:import {IERC20} from '../../dependencies/openzeppelin/contracts/IERC20.sol';
[codex:1398017] 2808:import {GPv2SafeERC20} from '../../dependencies/gnosis/contracts/GPv2SafeERC20.sol';
[codex:1398017] 2809:import {SafeCast} from '../../dependencies/openzeppelin/contracts/SafeCast.sol';
[codex:1398017] 2810:import {VersionedInitializable} from '../../misc/aave-upgradeability/VersionedInitializable.sol';
[codex:1398017] 2811:import {Errors} from '../libraries/helpers/Errors.sol';
[codex:1398017] 2812:import {WadRayMath} from '../libraries/math/WadRayMath.sol';
[codex:1398017] 2813:import {IPool} from '../../interfaces/IPool.sol';
[codex:1398017] 2814:import {IAToken} from '../../interfaces/IAToken.sol';
[codex:1398017] 2815:import {IAaveIncentivesController} from '../../interfaces/IAaveIncentivesController.sol';
[codex:1398017] 2816:import {IInitializableAToken} from '../../interfaces/IInitializableAToken.sol';
[codex:1398017] 2817:import {ScaledBalanceTokenBase} from './base/ScaledBalanceTokenBase.sol';
[codex:1398017] 2818:import {IncentivizedERC20} from './base/IncentivizedERC20.sol';
[codex:1398017] 2819:import {EIP712Base} from './base/EIP712Base.sol';
[codex:1398017] 2820:
[codex:1398017] 2821:/**
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing potential vulnerabilities in token contracts**
[codex:1398017]
[codex:1398017] I'm reviewing common vulnerability areas in the Aave token code like reentrancy, access control, upgradeable proxy nuances, signature malleability in permit, and suspicious external calls. There’s particular attention on permit’s ecrecover usage, safeTransfer reentrancy risks, and domain separator handling in upgradeable contexts. I'm weighing subtle attack scenarios, especially around reentrancy from underlying token calls and domain separator consistency across upgrades. Now I want to further study the VersionedInitializable contract for upgradeability concerns.
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "awk 'NR>=2144 && NR<2225 {print NR \":\" "'$0}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-okkz_8fr succeeded in 8ms:
[codex:1398017] 2144:FILE: contracts/src/contracts/misc/aave-upgradeability/VersionedInitializable.sol
[codex:1398017] 2145:================================================================================
[codex:1398017] 2146:// SPDX-License-Identifier: MIT
[codex:1398017] 2147:pragma solidity ^0.8.10;
[codex:1398017] 2148:
[codex:1398017] 2149:/**
[codex:1398017] 2150: * @title VersionedInitializable
[codex:1398017] 2151: * @author Aave, inspired by the OpenZeppelin Initializable contract
[codex:1398017] 2152: * @notice Helper contract to implement initializer functions. To use it, replace
[codex:1398017] 2153: * the constructor with a function that has the `initializer` modifier.
[codex:1398017] 2154: * @dev WARNING: Unlike constructors, initializer functions must be manually
[codex:1398017] 2155: * invoked. This applies both to deploying an Initializable contract, as well
[codex:1398017] 2156: * as extending an Initializable contract via inheritance.
[codex:1398017] 2157: * WARNING: When used with inheritance, manual care must be taken to not invoke
[codex:1398017] 2158: * a parent initializer twice, or ensure that all initializers are idempotent,
[codex:1398017] 2159: * because this is not dealt with automatically as with constructors.
[codex:1398017] 2160: */
[codex:1398017] 2161:abstract contract VersionedInitializable {
[codex:1398017] 2162: /**
[codex:1398017] 2163: * @dev Indicates that the contract has been initialized.
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing initialization access risks**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "awk 'NR>=962 && NR<1837 {print NR \":\" "'$0}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-okkz_8fr succeeded in 7ms:
[codex:1398017] 962:FILE: contracts/src/contracts/interfaces/IPool.sol
[codex:1398017] 963:================================================================================
[codex:1398017] 964:// SPDX-License-Identifier: MIT
[codex:1398017] 965:pragma solidity ^0.8.0;
[codex:1398017] 966:
[codex:1398017] 967:import {IPoolAddressesProvider} from './IPoolAddressesProvider.sol';
[codex:1398017] 968:import {DataTypes} from '../protocol/libraries/types/DataTypes.sol';
[codex:1398017] 969:
[codex:1398017] 970:/**
[codex:1398017] 971: * @title IPool
[codex:1398017] 972: * @author Aave
[codex:1398017] 973: * @notice Defines the basic interface for an Aave Pool.
[codex:1398017] 974: */
[codex:1398017] 975:interface IPool {
[codex:1398017] 976: /**
[codex:1398017] 977: * @dev Emitted on mintUnbacked()
[codex:1398017] 978: * @param reserve The address of the underlying asset of the reserve
[codex:1398017] 979: * @param user The address initiating the supply
[codex:1398017] 980: * @param onBehalfOf The beneficiary of the supplied assets, receiving the aTokens
[codex:1398017] 981: * @param amount The amount of supplied assets
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Evaluating potential token vulnerabilities**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "awk 'NR>=2338 && NR<2468 {print NR \":\" "'$0}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-okkz_8fr succeeded in 7ms:
[codex:1398017] 2338:FILE: contracts/src/contracts/protocol/libraries/math/WadRayMath.sol
[codex:1398017] 2339:================================================================================
[codex:1398017] 2340:// SPDX-License-Identifier: BUSL-1.1
[codex:1398017] 2341:pragma solidity ^0.8.0;
[codex:1398017] 2342:
[codex:1398017] 2343:/**
[codex:1398017] 2344: * @title WadRayMath library
[codex:1398017] 2345: * @author Aave
[codex:1398017] 2346: * @notice Provides functions to perform calculations with Wad and Ray units
[codex:1398017] 2347: * @dev Provides mul and div function for wads (decimal numbers with 18 digits of precision) and rays (decimal numbers
[codex:1398017] 2348: * with 27 digits of precision)
[codex:1398017] 2349: * @dev Operations are rounded. If a value is >=.5, will be rounded up, otherwise rounded down.
[codex:1398017] 2350: */
[codex:1398017] 2351:library WadRayMath {
[codex:1398017] 2352: // HALF_WAD and HALF_RAY expressed with extended notation as constant with operations are not supported in Yul assembly
[codex:1398017] 2353: uint256 internal constant WAD = 1e18;
[codex:1398017] 2354: uint256 internal constant HALF_WAD = 0.5e18;
[codex:1398017] 2355:
[codex:1398017] 2356: uint256 internal constant RAY = 1e27;
[codex:1398017] 2357: uint256 internal constant HALF_RAY = 0.5e27;
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing potential smart contract risks**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "rg -n \"delegatecall|call\\(\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-okkz_8fr succeeded in 7ms:
[codex:1398017] 27: if iszero(call(gas(), token, 0, freeMemoryPointer, 68, 0, 0)) {
[codex:1398017] 49: if iszero(call(gas(), token, 0, freeMemoryPointer, 100, 0, 0)) {
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Checking for ecrecover usage**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc 'rg -n "ecrecover" AUDIT_BUNDLE.txt' in /tmp/codex-multi-okkz_8fr succeeded in 6ms:
[codex:1398017] 2964: require(owner == ecrecover(digest, v, r, s), Errors.INVALID_SIGNATURE);
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing initialization risks in AToken contract**
[codex:1398017]
[codex:1398017] I'm examining the AToken’s initialization logic, focusing on the public `initialize` method and potential vulnerabilities if the contract is deployed uninitialized. The key concern is that anyone could call `initialize` before a trusted deployer does, setting critical parameters like the treasury or underlying asset maliciously, leading to denial-of-service or fund diversion risks. This hinges on whether the token is safely initialized immediately after deployment, which isn’t guaranteed by the code alone.
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "awk 'NR>=902 && NR<962 {print NR \":\" "'$0}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-okkz_8fr succeeded in 7ms:
[codex:1398017] 902:FILE: contracts/src/contracts/interfaces/IInitializableAToken.sol
[codex:1398017] 903:================================================================================
[codex:1398017] 904:// SPDX-License-Identifier: MIT
[codex:1398017] 905:pragma solidity ^0.8.0;
[codex:1398017] 906:
[codex:1398017] 907:import {IAaveIncentivesController} from './IAaveIncentivesController.sol';
[codex:1398017] 908:import {IPool} from './IPool.sol';
[codex:1398017] 909:
[codex:1398017] 910:/**
[codex:1398017] 911: * @title IInitializableAToken
[codex:1398017] 912: * @author Aave
[codex:1398017] 913: * @notice Interface for the initialize function on AToken
[codex:1398017] 914: */
[codex:1398017] 915:interface IInitializableAToken {
[codex:1398017] 916: /**
[codex:1398017] 917: * @dev Emitted when an aToken is initialized
[codex:1398017] 918: * @param underlyingAsset The address of the underlying asset
[codex:1398017] 919: * @param pool The address of the associated pool
[codex:1398017] 920: * @param treasury The address of the treasury
[codex:1398017] 921: * @param incentivesController The address of the incentives controller for this aToken
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing initialization and transfer logic**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc 'rg -n "emit Transfer" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-okkz_8fr succeeded in 6ms:
[codex:1398017] 3500: emit Transfer(address(0), onBehalfOf, amountToMint);
[codex:1398017] 3529: emit Transfer(address(0), user, amountToMint);
[codex:1398017] 3533: emit Transfer(user, address(0), amountToBurn);
[codex:1398017] 3561: emit Transfer(address(0), sender, senderBalanceIncrease);
[codex:1398017] 3566: emit Transfer(address(0), recipient, recipientBalanceIncrease);
[codex:1398017] 3570: emit Transfer(sender, recipient, amount);
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing event emissions and reentrancy risks**
[codex:1398017]
[codex:1398017] I'm noting that Transfer events aren't emitted in some base functions but are present in scaled token flows like AToken, which aligns with their design. I’m also considering potential reentrancy risks involving external token transfers, especially ERC777 tokens, but without pool code, it’s hard to conclude definitively. Signature malleability in permit is a minor known limitation but likely not exploitable, and the only clear vulnerability seems to be unprotected initialization. I'll keep exploring initialization functions next.
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "rg -n \"initialize\\(\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-okkz_8fr succeeded in 7ms:
[codex:1398017] 523: function initialize(
[codex:1398017] 949: function initialize(
[codex:1398017] 2848: function initialize(
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing unprotected initializer risk**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc 'nl -ba contracts/src/contracts/instances/ATokenInstance.sol' in /tmp/codex-multi-okkz_8fr succeeded in 6ms:
[codex:1398017] 1 // SPDX-License-Identifier: BUSL-1.1
[codex:1398017] 2 pragma solidity ^0.8.0;
[codex:1398017] 3
[codex:1398017] 4 import {AToken, IPool, IAaveIncentivesController, IInitializableAToken, Errors, VersionedInitializable} from '../protocol/tokenization/AToken.sol';
[codex:1398017] 5
[codex:1398017] 6 contract ATokenInstance is AToken {
[codex:1398017] 7 uint256 public constant ATOKEN_REVISION = 2;
[codex:1398017] 8
[codex:1398017] 9 constructor(IPool pool) AToken(pool) {}
[codex:1398017] 10
[codex:1398017] 11 /// @inheritdoc VersionedInitializable
[codex:1398017] 12 function getRevision() internal pure virtual override returns (uint256) {
[codex:1398017] 13 return ATOKEN_REVISION;
[codex:1398017] 14 }
[codex:1398017] 15
[codex:1398017] 16 /// @inheritdoc IInitializableAToken
[codex:1398017] 17 function initialize(
[codex:1398017] 18 IPool initializingPool,
[codex:1398017] 19 address treasury,
[codex:1398017] 20 address underlyingAsset,
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Preparing to reference file locations**
[codex:1398017] exec
[codex:1398017] /bin/bash -lc "nl -ba contracts/src/contracts/protocol/tokenization/AToken.sol | sed -n '140,240p'" in /tmp/codex-multi-okkz_8fr succeeded in 6ms:
[codex:1398017] 140 /// @inheritdoc IAToken
[codex:1398017] 141 function permit(
[codex:1398017] 142 address owner,
[codex:1398017] 143 address spender,
[codex:1398017] 144 uint256 value,
[codex:1398017] 145 uint256 deadline,
[codex:1398017] 146 uint8 v,
[codex:1398017] 147 bytes32 r,
[codex:1398017] 148 bytes32 s
[codex:1398017] 149 ) external virtual override {
[codex:1398017] 150 require(owner != address(0), Errors.ZERO_ADDRESS_NOT_VALID);
[codex:1398017] 151 //solium-disable-next-line
[codex:1398017] 152 require(block.timestamp <= deadline, Errors.INVALID_EXPIRATION);
[codex:1398017] 153 uint256 currentValidNonce = _nonces[owner];
[codex:1398017] 154 bytes32 digest = keccak256(
[codex:1398017] 155 abi.encodePacked(
[codex:1398017] 156 '\x19\x01',
[codex:1398017] 157 DOMAIN_SEPARATOR(),
[codex:1398017] 158 keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, currentValidNonce, deadline))
[codex:1398017] 159 )
[codex:1398017]
[codex:1398017] thinking
[codex:1398017] **Analyzing initialization access control risk**
[codex:1398017] codex
[codex:1398017] {"no_findings":false,"summary":"Found 1 medium-severity access control issue related to an unprotected initializer that can be front-run if initialization is not atomic.","findings":[{"severity":"medium","category":"access_control","title":"Public initializer can be front-run to configure ATokenInstance","exploit_scenario":"If deployment and initialization happen in separate transactions, an attacker can call `initialize` first with `initializingPool == POOL` (a known, non-secret value). They can set `_treasury` to themselves and `_underlyingAsset`/`_incentivesController` to arbitrary addresses, permanently locking the instance in a misconfigured state and redirecting protocol fees or causing DoS for withdrawals/transfers tied to the wrong underlying asset.","recommendation":"Restrict `initialize` to the pool (e.g., `require(msg.sender == address(POOL))`) or a trusted configurator, and/or ensure deployment+initialization are performed atomically by a factory. Consider adding an access-controlled initializer guard to prevent unauthorized first calls.","evidence":"`initialize` is `public` and only checks the `initializingPool` parameter against `POOL`, with no caller restriction.","locations":["contracts/src/contracts/instances/ATokenInstance.sol:17"]}]}
[codex:1398017] tokens used
[codex:1398017] 73,755
[codex:1398017] {"no_findings":false,"summary":"Found 1 medium-severity access control issue related to an unprotected initializer that can be front-run if initialization is not atomic.","findings":[{"severity":"medium","category":"access_control","title":"Public initializer can be front-run to configure ATokenInstance","exploit_scenario":"If deployment and initialization happen in separate transactions, an attacker can call `initialize` first with `initializingPool == POOL` (a known, non-secret value). They can set `_treasury` to themselves and `_underlyingAsset`/`_incentivesController` to arbitrary addresses, permanently locking the instance in a misconfigured state and redirecting protocol fees or causing DoS for withdrawals/transfers tied to the wrong underlying asset.","recommendation":"Restrict `initialize` to the pool (e.g., `require(msg.sender == address(POOL))`) or a trusted configurator, and/or ensure deployment+initialization are performed atomically by a factory. Consider adding an access-controlled initializer guard to prevent unauthorized first calls.","evidence":"`initialize` is `public` and only checks the `initializingPool` parameter against `POOL`, with no caller restriction.","locations":["contracts/src/contracts/instances/ATokenInstance.sol:17"]}]}
{
"codex": {
"ran_at": "2025-12-27T20:49:53.263481+00:00",
"returncode": 0
},
"summary": "Found 1 medium-severity access control issue related to an unprotected initializer that can be front-run if initialization is not atomic.",
"raw_final": {
"summary": "Found 1 medium-severity access control issue related to an unprotected initializer that can be front-run if initialization is not atomic.",
"findings": [
{
"title": "Public initializer can be front-run to configure ATokenInstance",
"category": "access_control",
"evidence": "`initialize` is `public` and only checks the `initializingPool` parameter against `POOL`, with no caller restriction.",
"severity": "medium",
"locations": [
"contracts/src/contracts/instances/ATokenInstance.sol:17"
],
"recommendation": "Restrict `initialize` to the pool (e.g., `require(msg.sender == address(POOL))`) or a trusted configurator, and/or ensure deployment+initialization are performed atomically by a factory. Consider adding an access-controlled initializer guard to prevent unauthorized first calls.",
"exploit_scenario": "If deployment and initialization happen in separate transactions, an attacker can call `initialize` first with `initializingPool == POOL` (a known, non-secret value). They can set `_treasury` to themselves and `_underlyingAsset`/`_incentivesController` to arbitrary addresses, permanently locking the instance in a misconfigured state and redirecting protocol fees or causing DoS for withdrawals/transfers tied to the wrong underlying asset."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x000f 0000000b: JUMPI 0000000c: PUSH0 0000000d: DUP1 0000000e: REVERT 0000000f: JUMPDEST 00000010: POP 00000011: PUSH1 0x04 00000013: CALLDATASIZE 00000014: LT 00000015: PUSH2 0x01fd 00000018: JUMPI 00000019: PUSH0 0000001a: CALLDATALOAD 0000001b: PUSH1 0xe0 0000001d: SHR 0000001e: DUP1 0000001f: PUSH4 0x78160376 00000024: GT 00000025: PUSH2 0x0114 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xb1bf962d 0000002f: GT 00000030: PUSH2 0x00a9 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xd7020d0a 0000003a: GT 0000003b: PUSH2 0x0079 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xd7020d0a 00000045: EQ 00000046: PUSH2 0x047f 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xdd62ed3e 00000050: EQ 00000051: PUSH2 0x0492 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xe0753986 0000005b: EQ 0000005c: PUSH2 0x04ca 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xe655dbd8 00000066: EQ 00000067: PUSH2 0x0502 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0xf866c319 00000071: EQ 00000072: PUSH2 0x0515 00000075: JUMPI 00000076: PUSH0 00000077: DUP1 00000078: REVERT 00000079: JUMPDEST 0000007a: DUP1 0000007b: PUSH4 0xb1bf962d 00000080: EQ 00000081: PUSH2 0x043e 00000084: JUMPI 00000085: DUP1 00000086: PUSH4 0xb3f1c93d 0000008b: EQ 0000008c: PUSH2 0x0446 0000008f: JUMPI 00000090: DUP1 00000091: PUSH4 0xcea9d26f 00000096: EQ 00000097: PUSH2 0x0459 0000009a: JUMPI 0000009b: DUP1 0000009c: PUSH4 0xd505accf 000000a1: EQ 000000a2: PUSH2 0x046c 000000a5: JUMPI 000000a6: PUSH0 000000a7: DUP1 000000a8: REVERT 000000a9: JUMPDEST 000000aa: DUP1 000000ab: PUSH4 0xa457c2d7 000000b0: GT 000000b1: PUSH2 0x00e4 000000b4: JUMPI 000000b5: DUP1 000000b6: PUSH4 0xa457c2d7 000000bb: EQ 000000bc: PUSH2 0x03f6 000000bf: JUMPI 000000c0: DUP1 000000c1: PUSH4 0xa9059cbb 000000c6: EQ 000000c7: PUSH2 0x0409 000000ca: JUMPI 000000cb: DUP1 000000cc: PUSH4 0xae167335 000000d1: EQ 000000d2: PUSH2 0x041c 000000d5: JUMPI 000000d6: DUP1 000000d7: PUSH4 0xb16a19de 000000dc: EQ 000000dd: PUSH2 0x042d 000000e0: JUMPI 000000e1: PUSH0 000000e2: DUP1 000000e3: REVERT 000000e4: JUMPDEST 000000e5: DUP1 000000e6: PUSH4 0x78160376 000000eb: EQ 000000ec: PUSH2 0x03a8 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0x7df5bd3b 000000f6: EQ 000000f7: PUSH2 0x03c8 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x7ecebe00 00000101: EQ 00000102: PUSH2 0x03db 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0x95d89b41 0000010c: EQ 0000010d: PUSH2 0x03ee 00000110: JUMPI 00000111: PUSH0 00000112: DUP1 00000113: REVERT 00000114: JUMPDEST 00000115: DUP1 00000116: PUSH4 0x30adf81f 0000011b: GT 0000011c: PUSH2 0x0195 0000011f: JUMPI 00000120: DUP1 00000121: PUSH4 0x4efecaa5 00000126: GT 00000127: PUSH2 0x0165 0000012a: JUMPI 0000012b: DUP1 0000012c: PUSH4 0x4efecaa5 00000131: EQ 00000132: PUSH2 0x031a 00000135: JUMPI 00000136: DUP1 00000137: PUSH4 0x6fd97676 0000013c: EQ 0000013d: PUSH2 0x032d 00000140: JUMPI 00000141: DUP1 00000142: PUSH4 0x70a08231 00000147: EQ 00000148: PUSH2 0x0340 0000014b: JUMPI 0000014c: DUP1 0000014d: PUSH4 0x7535d246 00000152: EQ 00000153: PUSH2 0x0353 00000156: JUMPI 00000157: DUP1 00000158: PUSH4 0x75d26413 0000015d: EQ 0000015e: PUSH2 0x0392 00000161: JUMPI 00000162: PUSH0 00000163: DUP1 00000164: REVERT 00000165: JUMPDEST 00000166: DUP1 00000167: PUSH4 0x30adf81f 0000016c: EQ 0000016d: PUSH2 0x02c3 00000170: JUMPI 00000171: DUP1 00000172: PUSH4 0x313ce567 00000177: EQ 00000178: PUSH2 0x02ea 0000017b: JUMPI 0000017c: DUP1 0000017d: PUSH4 0x3644e515 00000182: EQ 00000183: PUSH2 0x02ff 00000186: JUMPI 00000187: DUP1 00000188: PUSH4 0x39509351 0000018d: EQ 0000018e: PUSH2 0x0307 00000191: JUMPI 00000192: PUSH0 00000193: DUP1 00000194: REVERT 00000195: JUMPDEST 00000196: DUP1 00000197: PUSH4 0x18160ddd 0000019c: GT 0000019d: PUSH2 0x01d0 000001a0: JUMPI 000001a1: DUP1 000001a2: PUSH4 0x18160ddd 000001a7: EQ 000001a8: PUSH2 0x0280 000001ab: JUMPI 000001ac: DUP1 000001ad: PUSH4 0x183fb413 000001b2: EQ 000001b3: PUSH2 0x0288 000001b6: JUMPI 000001b7: DUP1 000001b8: PUSH4 0x1da24f3e 000001bd: EQ 000001be: PUSH2 0x029d 000001c1: JUMPI 000001c2: DUP1 000001c3: PUSH4 0x23b872dd 000001c8: EQ 000001c9: PUSH2 0x02b0 000001cc: JUMPI 000001cd: PUSH0 000001ce: DUP1 000001cf: REVERT 000001d0: JUMPDEST 000001d1: DUP1 000001d2: PUSH4 0x06fdde03 000001d7: EQ 000001d8: PUSH2 0x0201 000001db: JUMPI 000001dc: DUP1 000001dd: PUSH4 0x095ea7b3 000001e2: EQ 000001e3: PUSH2 0x021f 000001e6: JUMPI 000001e7: DUP1 000001e8: PUSH4 0x0afbcdc9 000001ed: EQ 000001ee: PUSH2 0x0242 000001f1: JUMPI 000001f2: DUP1 000001f3: PUSH4 0x0bd7ad3b 000001f8: EQ 000001f9: PUSH2 0x026a 000001fc: JUMPI 000001fd: JUMPDEST 000001fe: PUSH0 000001ff: DUP1 00000200: REVERT 00000201: JUMPDEST 00000202: PUSH2 0x0209 00000205: PUSH2 0x0528 00000208: JUMP 00000209: JUMPDEST 0000020a: PUSH1 0x40 0000020c: MLOAD 0000020d: PUSH2 0x0216 00000210: SWAP2 00000211: SWAP1 00000212: PUSH2 0x218b 00000215: JUMP 00000216: JUMPDEST 00000217: PUSH1 0x40 00000219: MLOAD 0000021a: DUP1 0000021b: SWAP2 0000021c: SUB 0000021d: SWAP1 0000021e: RETURN 0000021f: JUMPDEST 00000220: PUSH2 0x0232 00000223: PUSH2 0x022d 00000226: CALLDATASIZE 00000227: PUSH1 0x04 00000229: PUSH2 0x21cb 0000022c: JUMP 0000022d: JUMPDEST 0000022e: PUSH2 0x05b8 00000231: JUMP 00000232: JUMPDEST 00000233: PUSH1 0x40 00000235: MLOAD 00000236: SWAP1 00000237: ISZERO 00000238: ISZERO 00000239: DUP2 0000023a: MSTORE 0000023b: PUSH1 0x20 0000023d: ADD 0000023e: PUSH2 0x0216 00000241: JUMP 00000242: JUMPDEST 00000243: PUSH2 0x0255 00000246: PUSH2 0x0250 00000249: CALLDATASIZE 0000024a: PUSH1 0x04 0000024c: PUSH2 0x21f5 0000024f: JUMP 00000250: JUMPDEST 00000251: PUSH2 0x05ce 00000254: JUMP 00000255: JUMPDEST 00000256: PUSH1 0x40 00000258: DUP1 00000259: MLOAD 0000025a: SWAP3 0000025b: DUP4 0000025c: MSTORE 0000025d: PUSH1 0x20 0000025f: DUP4 00000260: ADD 00000261: SWAP2 00000262: SWAP1 00000263: SWAP2 00000264: MSTORE 00000265: ADD 00000266: PUSH2 0x0216 00000269: JUMP 0000026a: JUMPDEST 0000026b: PUSH2 0x0272 0000026e: PUSH1 0x02 00000270: DUP2 00000271: JUMP 00000272: JUMPDEST 00000273: PUSH1 0x40 00000275: MLOAD 00000276: SWAP1 00000277: DUP2 00000278: MSTORE 00000279: PUSH1 0x20 0000027b: ADD 0000027c: PUSH2 0x0216 0000027f: JUMP 00000280: JUMPDEST 00000281: PUSH2 0x0272 00000284: PUSH2 0x05e5 00000287: JUMP 00000288: JUMPDEST 00000289: PUSH2 0x029b 0000028c: PUSH2 0x0296 0000028f: CALLDATASIZE 00000290: PUSH1 0x04 00000292: PUSH2 0x2265 00000295: JUMP 00000296: JUMPDEST 00000297: PUSH2 0x069c 0000029a: JUMP 0000029b: JUMPDEST 0000029c: STOP 0000029d: JUMPDEST 0000029e: PUSH2 0x0272 000002a1: PUSH2 0x02ab 000002a4: CALLDATASIZE 000002a5: PUSH1 0x04 000002a7: PUSH2 0x21f5 000002aa: JUMP 000002ab: JUMPDEST 000002ac: PUSH2 0x092f 000002af: JUMP 000002b0: JUMPDEST 000002b1: PUSH2 0x0232 000002b4: PUSH2 0x02be 000002b7: CALLDATASIZE 000002b8: PUSH1 0x04 000002ba: PUSH2 0x234f 000002bd: JUMP 000002be: JUMPDEST 000002bf: PUSH2 0x0939 000002c2: JUMP 000002c3: JUMPDEST 000002c4: PUSH2 0x0272 000002c7: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 000002e8: DUP2 000002e9: JUMP 000002ea: JUMPDEST 000002eb: PUSH1 0x39 000002ed: SLOAD 000002ee: PUSH1 0x40 000002f0: MLOAD 000002f1: PUSH1 0xff 000002f3: SWAP1 000002f4: SWAP2 000002f5: AND 000002f6: DUP2 000002f7: MSTORE 000002f8: PUSH1 0x20 000002fa: ADD 000002fb: PUSH2 0x0216 000002fe: JUMP 000002ff: JUMPDEST 00000300: PUSH2 0x0272 00000303: PUSH2 0x09a1 00000306: JUMP 00000307: JUMPDEST 00000308: PUSH2 0x0232 0000030b: PUSH2 0x0315 0000030e: CALLDATASIZE 0000030f: PUSH1 0x04 00000311: PUSH2 0x21cb 00000314: JUMP 00000315: JUMPDEST 00000316: PUSH2 0x09af 00000319: JUMP 0000031a: JUMPDEST 0000031b: PUSH2 0x029b 0000031e: PUSH2 0x0328 00000321: CALLDATASIZE 00000322: PUSH1 0x04 00000324: PUSH2 0x21cb 00000327: JUMP 00000328: JUMPDEST 00000329: PUSH2 0x09e5 0000032c: JUMP 0000032d: JUMPDEST 0000032e: PUSH2 0x029b 00000331: PUSH2 0x033b 00000334: CALLDATASIZE 00000335: PUSH1 0x04 00000337: PUSH2 0x234f 0000033a: JUMP 0000033b: JUMPDEST 0000033c: PUSH2 0x0a63 0000033f: JUMP 00000340: JUMPDEST 00000341: PUSH2 0x0272 00000344: PUSH2 0x034e 00000347: CALLDATASIZE 00000348: PUSH1 0x04 0000034a: PUSH2 0x21f5 0000034d: JUMP 0000034e: JUMPDEST 0000034f: PUSH2 0x0acb 00000352: JUMP 00000353: JUMPDEST 00000354: PUSH2 0x037a 00000357: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000378: DUP2 00000379: JUMP 0000037a: JUMPDEST 0000037b: PUSH1 0x40 0000037d: MLOAD 0000037e: PUSH1 0x01 00000380: PUSH1 0x01 00000382: PUSH1 0xa0 00000384: SHL 00000385: SUB 00000386: SWAP1 00000387: SWAP2 00000388: AND 00000389: DUP2 0000038a: MSTORE 0000038b: PUSH1 0x20 0000038d: ADD 0000038e: PUSH2 0x0216 00000391: JUMP 00000392: JUMPDEST 00000393: PUSH1 0x39 00000395: SLOAD 00000396: PUSH2 0x0100 00000399: SWAP1 0000039a: DIV 0000039b: PUSH1 0x01 0000039d: PUSH1 0x01 0000039f: PUSH1 0xa0 000003a1: SHL 000003a2: SUB 000003a3: AND 000003a4: PUSH2 0x037a 000003a7: JUMP 000003a8: JUMPDEST 000003a9: PUSH2 0x0209 000003ac: PUSH1 0x40 000003ae: MLOAD 000003af: DUP1 000003b0: PUSH1 0x40 000003b2: ADD 000003b3: PUSH1 0x40 000003b5: MSTORE 000003b6: DUP1 000003b7: PUSH1 0x01 000003b9: DUP2 000003ba: MSTORE 000003bb: PUSH1 0x20 000003bd: ADD 000003be: PUSH1 0x31 000003c0: PUSH1 0xf8 000003c2: SHL 000003c3: DUP2 000003c4: MSTORE 000003c5: POP 000003c6: DUP2 000003c7: JUMP 000003c8: JUMPDEST 000003c9: PUSH2 0x029b 000003cc: PUSH2 0x03d6 000003cf: CALLDATASIZE 000003d0: PUSH1 0x04 000003d2: PUSH2 0x238d 000003d5: JUMP 000003d6: JUMPDEST 000003d7: PUSH2 0x0b6d 000003da: JUMP 000003db: JUMPDEST 000003dc: PUSH2 0x0272 000003df: PUSH2 0x03e9 000003e2: CALLDATASIZE 000003e3: PUSH1 0x04 000003e5: PUSH2 0x21f5 000003e8: JUMP 000003e9: JUMPDEST 000003ea: PUSH2 0x0c14 000003ed: JUMP 000003ee: JUMPDEST 000003ef: PUSH2 0x0209 000003f2: PUSH2 0x0c31 000003f5: JUMP 000003f6: JUMPDEST 000003f7: PUSH2 0x0232 000003fa: PUSH2 0x0404 000003fd: CALLDATASIZE 000003fe: PUSH1 0x04 00000400: PUSH2 0x21cb 00000403: JUMP 00000404: JUMPDEST 00000405: PUSH2 0x0c40 00000408: JUMP 00000409: JUMPDEST 0000040a: PUSH2 0x0232 0000040d: PUSH2 0x0417 00000410: CALLDATASIZE 00000411: PUSH1 0x04 00000413: PUSH2 0x21cb 00000416: JUMP 00000417: JUMPDEST 00000418: PUSH2 0x0c76 0000041b: JUMP 0000041c: JUMPDEST 0000041d: PUSH1 0x3c 0000041f: SLOAD 00000420: PUSH1 0x01 00000422: PUSH1 0x01 00000424: PUSH1 0xa0 00000426: SHL 00000427: SUB 00000428: AND 00000429: PUSH2 0x037a 0000042c: JUMP 0000042d: JUMPDEST 0000042e: PUSH1 0x3d 00000430: SLOAD 00000431: PUSH1 0x01 00000433: PUSH1 0x01 00000435: PUSH1 0xa0 00000437: SHL 00000438: SUB 00000439: AND 0000043a: PUSH2 0x037a 0000043d: JUMP 0000043e: JUMPDEST 0000043f: PUSH2 0x0272 00000442: PUSH2 0x0c98 00000445: JUMP 00000446: JUMPDEST 00000447: PUSH2 0x0232 0000044a: PUSH2 0x0454 0000044d: CALLDATASIZE 0000044e: PUSH1 0x04 00000450: PUSH2 0x23ad 00000453: JUMP 00000454: JUMPDEST 00000455: PUSH2 0x0ca2 00000458: JUMP 00000459: JUMPDEST 0000045a: PUSH2 0x029b 0000045d: PUSH2 0x0467 00000460: CALLDATASIZE 00000461: PUSH1 0x04 00000463: PUSH2 0x234f 00000466: JUMP 00000467: JUMPDEST 00000468: PUSH2 0x0d1c 0000046b: JUMP 0000046c: JUMPDEST 0000046d: PUSH2 0x029b 00000470: PUSH2 0x047a 00000473: CALLDATASIZE 00000474: PUSH1 0x04 00000476: PUSH2 0x23f0 00000479: JUMP 0000047a: JUMPDEST 0000047b: PUSH2 0x0e9c 0000047e: JUMP 0000047f: JUMPDEST 00000480: PUSH2 0x029b 00000483: PUSH2 0x048d 00000486: CALLDATASIZE 00000487: PUSH1 0x04 00000489: PUSH2 0x23ad 0000048c: JUMP 0000048d: JUMPDEST 0000048e: PUSH2 0x10cb 00000491: JUMP 00000492: JUMPDEST 00000493: PUSH2 0x0272 00000496: PUSH2 0x04a0 00000499: CALLDATASIZE 0000049a: PUSH1 0x04 0000049c: PUSH2 0x2459 0000049f: JUMP 000004a0: JUMPDEST 000004a1: PUSH1 0x01 000004a3: PUSH1 0x01 000004a5: PUSH1 0xa0 000004a7: SHL 000004a8: SUB 000004a9: SWAP2 000004aa: DUP3 000004ab: AND 000004ac: PUSH0 000004ad: SWAP1 000004ae: DUP2 000004af: MSTORE 000004b0: PUSH1 0x35 000004b2: PUSH1 0x20 000004b4: SWAP1 000004b5: DUP2 000004b6: MSTORE 000004b7: PUSH1 0x40 000004b9: DUP1 000004ba: DUP4 000004bb: KECCAK256 000004bc: SWAP4 000004bd: SWAP1 000004be: SWAP5 000004bf: AND 000004c0: DUP3 000004c1: MSTORE 000004c2: SWAP2 000004c3: SWAP1 000004c4: SWAP2 000004c5: MSTORE 000004c6: KECCAK256 000004c7: SLOAD 000004c8: SWAP1 000004c9: JUMP 000004ca: JUMPDEST 000004cb: PUSH2 0x0272 000004ce: PUSH2 0x04d8 000004d1: CALLDATASIZE 000004d2: PUSH1 0x04 000004d4: PUSH2 0x21f5 000004d7: JUMP 000004d8: JUMPDEST 000004d9: PUSH1 0x01 000004db: PUSH1 0x01 000004dd: PUSH1 0xa0 000004df: SHL 000004e0: SUB 000004e1: AND 000004e2: PUSH0 000004e3: SWAP1 000004e4: DUP2 000004e5: MSTORE 000004e6: PUSH1 0x34 000004e8: PUSH1 0x20 000004ea: MSTORE 000004eb: PUSH1 0x40 000004ed: SWAP1 000004ee: KECCAK256 000004ef: SLOAD 000004f0: PUSH1 0x01 000004f2: PUSH1 0x80 000004f4: SHL 000004f5: SWAP1 000004f6: DIV 000004f7: PUSH1 0x01 000004f9: PUSH1 0x01 000004fb: PUSH1 0x80 000004fd: SHL 000004fe: SUB 000004ff: AND 00000500: SWAP1 00000501: JUMP 00000502: JUMPDEST 00000503: PUSH2 0x029b 00000506: PUSH2 0x0510 00000509: CALLDATASIZE 0000050a: PUSH1 0x04 0000050c: PUSH2 0x21f5 0000050f: JUMP 00000510: JUMPDEST 00000511: PUSH2 0x1161 00000514: JUMP 00000515: JUMPDEST 00000516: PUSH2 0x029b 00000519: PUSH2 0x0523 0000051c: CALLDATASIZE 0000051d: PUSH1 0x04 0000051f: PUSH2 0x234f 00000522: JUMP 00000523: JUMPDEST 00000524: PUSH2 0x12ad 00000527: JUMP 00000528: JUMPDEST 00000529: PUSH1 0x60 0000052b: PUSH1 0x37 0000052d: DUP1 0000052e: SLOAD 0000052f: PUSH2 0x0537 00000532: SWAP1 00000533: PUSH2 0x2490 00000536: JUMP 00000537: JUMPDEST 00000538: DUP1 00000539: PUSH1 0x1f 0000053b: ADD 0000053c: PUSH1 0x20 0000053e: DUP1 0000053f: SWAP2 00000540: DIV 00000541: MUL 00000542: PUSH1 0x20 00000544: ADD 00000545: PUSH1 0x40 00000547: MLOAD 00000548: SWAP1 00000549: DUP2 0000054a: ADD 0000054b: PUSH1 0x40 0000054d: MSTORE 0000054e: DUP1 0000054f: SWAP3 00000550: SWAP2 00000551: SWAP1 00000552: DUP2 00000553: DUP2 00000554: MSTORE 00000555: PUSH1 0x20 00000557: ADD 00000558: DUP3 00000559: DUP1 0000055a: SLOAD 0000055b: PUSH2 0x0563 0000055e: SWAP1 0000055f: PUSH2 0x2490 00000562: JUMP 00000563: JUMPDEST 00000564: DUP1 00000565: ISZERO 00000566: PUSH2 0x05ae 00000569: JUMPI 0000056a: DUP1 0000056b: PUSH1 0x1f 0000056d: LT 0000056e: PUSH2 0x0585 00000571: JUMPI 00000572: PUSH2 0x0100 00000575: DUP1 00000576: DUP4 00000577: SLOAD 00000578: DIV 00000579: MUL 0000057a: DUP4 0000057b: MSTORE 0000057c: SWAP2 0000057d: PUSH1 0x20 0000057f: ADD 00000580: SWAP2 00000581: PUSH2 0x05ae 00000584: JUMP 00000585: JUMPDEST 00000586: DUP3 00000587: ADD 00000588: SWAP2 00000589: SWAP1 0000058a: PUSH0 0000058b: MSTORE 0000058c: PUSH1 0x20 0000058e: PUSH0 0000058f: KECCAK256 00000590: SWAP1 00000591: JUMPDEST 00000592: DUP2 00000593: SLOAD 00000594: DUP2 00000595: MSTORE 00000596: SWAP1 00000597: PUSH1 0x01 00000599: ADD 0000059a: SWAP1 0000059b: PUSH1 0x20 0000059d: ADD 0000059e: DUP1 0000059f: DUP4 000005a0: GT 000005a1: PUSH2 0x0591 000005a4: JUMPI 000005a5: DUP3 000005a6: SWAP1 000005a7: SUB 000005a8: PUSH1 0x1f 000005aa: AND 000005ab: DUP3 000005ac: ADD 000005ad: SWAP2 000005ae: JUMPDEST 000005af: POP 000005b0: POP 000005b1: POP 000005b2: POP 000005b3: POP 000005b4: SWAP1 000005b5: POP 000005b6: SWAP1 000005b7: JUMP 000005b8: JUMPDEST 000005b9: PUSH0 000005ba: PUSH2 0x05c4 000005bd: CALLER 000005be: DUP5 000005bf: DUP5 000005c0: PUSH2 0x131c 000005c3: JUMP 000005c4: JUMPDEST 000005c5: POP 000005c6: PUSH1 0x01 000005c8: JUMPDEST 000005c9: SWAP3 000005ca: SWAP2 000005cb: POP 000005cc: POP 000005cd: JUMP 000005ce: JUMPDEST 000005cf: PUSH0 000005d0: DUP1 000005d1: PUSH2 0x05d9 000005d4: DUP4 000005d5: PUSH2 0x137c 000005d8: JUMP 000005d9: JUMPDEST 000005da: PUSH1 0x36 000005dc: SLOAD 000005dd: SWAP2 000005de: POP 000005df: SWAP2 000005e0: POP 000005e1: SWAP2 000005e2: POP 000005e3: SWAP2 000005e4: JUMP 000005e5: JUMPDEST 000005e6: PUSH0 000005e7: DUP1 000005e8: PUSH2 0x05f0 000005eb: PUSH1 0x36 000005ed: SLOAD 000005ee: SWAP1 000005ef: JUMP 000005f0: JUMPDEST 000005f1: SWAP1 000005f2: POP 000005f3: DUP1 000005f4: PUSH0 000005f5: SUB 000005f6: PUSH2 0x0600 000005f9: JUMPI 000005fa: PUSH0 000005fb: SWAP2 000005fc: POP 000005fd: POP 000005fe: SWAP1 000005ff: JUMP 00000600: JUMPDEST 00000601: PUSH1 0x3d 00000603: SLOAD 00000604: PUSH1 0x40 00000606: MLOAD 00000607: PUSH4 0xd15e0053 0000060c: PUSH1 0xe0 0000060e: SHL 0000060f: DUP2 00000610: MSTORE 00000611: PUSH1 0x01 00000613: PUSH1 0x01 00000615: PUSH1 0xa0 00000617: SHL 00000618: SUB 00000619: SWAP2 0000061a: DUP3 0000061b: AND 0000061c: PUSH1 0x04 0000061e: DUP3 0000061f: ADD 00000620: MSTORE 00000621: PUSH2 0x0696 00000624: SWAP2 00000625: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000646: AND 00000647: SWAP1 00000648: PUSH4 0xd15e0053 0000064d: SWAP1 0000064e: PUSH1 0x24 00000650: ADD 00000651: PUSH1 0x20 00000653: PUSH1 0x40 00000655: MLOAD 00000656: DUP1 00000657: DUP4 00000658: SUB 00000659: DUP2 0000065a: DUP7 0000065b: GAS 0000065c: STATICCALL 0000065d: ISZERO 0000065e: DUP1 0000065f: ISZERO 00000660: PUSH2 0x066b 00000663: JUMPI 00000664: RETURNDATASIZE 00000665: PUSH0 00000666: DUP1 00000667: RETURNDATACOPY 00000668: RETURNDATASIZE 00000669: PUSH0 0000066a: REVERT 0000066b: JUMPDEST 0000066c: POP 0000066d: POP 0000066e: POP 0000066f: POP 00000670: PUSH1 0x40 00000672: MLOAD 00000673: RETURNDATASIZE 00000674: PUSH1 0x1f 00000676: NOT 00000677: PUSH1 0x1f 00000679: DUP3 0000067a: ADD 0000067b: AND 0000067c: DUP3 0000067d: ADD 0000067e: DUP1 0000067f: PUSH1 0x40 00000681: MSTORE 00000682: POP 00000683: DUP2 00000684: ADD 00000685: SWAP1 00000686: PUSH2 0x068f 00000689: SWAP2 0000068a: SWAP1 0000068b: PUSH2 0x24c2 0000068e: JUMP 0000068f: JUMPDEST 00000690: DUP3 00000691: SWAP1 00000692: PUSH2 0x139f 00000695: JUMP 00000696: JUMPDEST 00000697: SWAP2 00000698: POP 00000699: POP 0000069a: SWAP1 0000069b: JUMP 0000069c: JUMPDEST 0000069d: PUSH1 0x01 0000069f: SLOAD 000006a0: PUSH1 0x02 000006a2: SWAP1 000006a3: PUSH1 0xff 000006a5: AND 000006a6: DUP1 000006a7: PUSH2 0x06af 000006aa: JUMPI 000006ab: POP 000006ac: ADDRESS 000006ad: EXTCODESIZE 000006ae: ISZERO 000006af: JUMPDEST 000006b0: DUP1 000006b1: PUSH2 0x06ba 000006b4: JUMPI 000006b5: POP 000006b6: PUSH0 000006b7: SLOAD 000006b8: DUP2 000006b9: GT 000006ba: JUMPDEST 000006bb: PUSH2 0x0722 000006be: JUMPI 000006bf: PUSH1 0x40 000006c1: MLOAD 000006c2: PUSH3 0x461bcd 000006c6: PUSH1 0xe5 000006c8: SHL 000006c9: DUP2 000006ca: MSTORE 000006cb: PUSH1 0x20 000006cd: PUSH1 0x04 000006cf: DUP3 000006d0: ADD 000006d1: MSTORE 000006d2: PUSH1 0x2e 000006d4: PUSH1 0x24 000006d6: DUP3 000006d7: ADD 000006d8: MSTORE 000006d9: PUSH32 0x436f6e747261637420696e7374616e63652068617320616c7265616479206265 000006fa: PUSH1 0x44 000006fc: DUP3 000006fd: ADD 000006fe: MSTORE 000006ff: PUSH14 0x195b881a5b9a5d1a585b1a5e9959 0000070e: PUSH1 0x92 00000710: SHL 00000711: PUSH1 0x64 00000713: DUP3 00000714: ADD 00000715: MSTORE 00000716: PUSH1 0x84 00000718: ADD 00000719: JUMPDEST 0000071a: PUSH1 0x40 0000071c: MLOAD 0000071d: DUP1 0000071e: SWAP2 0000071f: SUB 00000720: SWAP1 00000721: REVERT 00000722: JUMPDEST 00000723: PUSH1 0x01 00000725: SLOAD 00000726: PUSH1 0xff 00000728: AND 00000729: ISZERO 0000072a: DUP1 0000072b: ISZERO 0000072c: PUSH2 0x0740 0000072f: JUMPI 00000730: PUSH1 0x01 00000732: DUP1 00000733: SLOAD 00000734: PUSH1 0xff 00000736: NOT 00000737: AND 00000738: DUP2 00000739: OR 0000073a: SWAP1 0000073b: SSTORE 0000073c: PUSH0 0000073d: DUP3 0000073e: SWAP1 0000073f: SSTORE 00000740: JUMPDEST 00000741: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000762: PUSH1 0x01 00000764: PUSH1 0x01 00000766: PUSH1 0xa0 00000768: SHL 00000769: SUB 0000076a: AND 0000076b: DUP14 0000076c: PUSH1 0x01 0000076e: PUSH1 0x01 00000770: PUSH1 0xa0 00000772: SHL 00000773: SUB 00000774: AND 00000775: EQ 00000776: PUSH1 0x40 00000778: MLOAD 00000779: DUP1 0000077a: PUSH1 0x40 0000077c: ADD 0000077d: PUSH1 0x40 0000077f: MSTORE 00000780: DUP1 00000781: PUSH1 0x02 00000783: DUP2 00000784: MSTORE 00000785: PUSH1 0x20 00000787: ADD 00000788: PUSH2 0x3837 0000078b: PUSH1 0xf0 0000078d: SHL 0000078e: DUP2 0000078f: MSTORE 00000790: POP 00000791: SWAP1 00000792: PUSH2 0x07ae 00000795: JUMPI 00000796: PUSH1 0x40 00000798: MLOAD 00000799: PUSH3 0x461bcd 0000079d: PUSH1 0xe5 0000079f: SHL 000007a0: DUP2 000007a1: MSTORE 000007a2: PUSH1 0x04 000007a4: ADD 000007a5: PUSH2 0x0719 000007a8: SWAP2 000007a9: SWAP1 000007aa: PUSH2 0x218b 000007ad: JUMP 000007ae: JUMPDEST 000007af: POP 000007b0: PUSH2 0x07ed 000007b3: DUP9 000007b4: DUP9 000007b5: DUP1 000007b6: DUP1 000007b7: PUSH1 0x1f 000007b9: ADD 000007ba: PUSH1 0x20 000007bc: DUP1 000007bd: SWAP2 000007be: DIV 000007bf: MUL 000007c0: PUSH1 0x20 000007c2: ADD 000007c3: PUSH1 0x40 000007c5: MLOAD 000007c6: SWAP1 000007c7: DUP2 000007c8: ADD 000007c9: PUSH1 0x40 000007cb: MSTORE 000007cc: DUP1 000007cd: SWAP4 000007ce: SWAP3 000007cf: SWAP2 000007d0: SWAP1 000007d1: DUP2 000007d2: DUP2 000007d3: MSTORE 000007d4: PUSH1 0x20 000007d6: ADD 000007d7: DUP4 000007d8: DUP4 000007d9: DUP1 000007da: DUP3 000007db: DUP5 000007dc: CALLDATACOPY 000007dd: PUSH0 000007de: SWAP3 000007df: ADD 000007e0: SWAP2 000007e1: SWAP1 000007e2: SWAP2 000007e3: MSTORE 000007e4: POP 000007e5: PUSH2 0x13e1 000007e8: SWAP3 000007e9: POP 000007ea: POP 000007eb: POP 000007ec: JUMP 000007ed: JUMPDEST 000007ee: PUSH2 0x082b 000007f1: DUP7 000007f2: DUP7 000007f3: DUP1 000007f4: DUP1 000007f5: PUSH1 0x1f 000007f7: ADD 000007f8: PUSH1 0x20 000007fa: DUP1 000007fb: SWAP2 000007fc: DIV 000007fd: MUL 000007fe: PUSH1 0x20 00000800: ADD 00000801: PUSH1 0x40 00000803: MLOAD 00000804: SWAP1 00000805: DUP2 00000806: ADD 00000807: PUSH1 0x40 00000809: MSTORE 0000080a: DUP1 0000080b: SWAP4 0000080c: SWAP3 0000080d: SWAP2 0000080e: SWAP1 0000080f: DUP2 00000810: DUP2 00000811: MSTORE 00000812: PUSH1 0x20 00000814: ADD 00000815: DUP4 00000816: DUP4 00000817: DUP1 00000818: DUP3 00000819: DUP5 0000081a: CALLDATACOPY 0000081b: PUSH0 0000081c: SWAP3 0000081d: ADD 0000081e: SWAP2 0000081f: SWAP1 00000820: SWAP2 00000821: MSTORE 00000822: POP 00000823: PUSH2 0x13ed 00000826: SWAP3 00000827: POP 00000828: POP 00000829: POP 0000082a: JUMP 0000082b: JUMPDEST 0000082c: PUSH1 0x39 0000082e: DUP1 0000082f: SLOAD 00000830: PUSH1 0xff 00000832: NOT 00000833: AND 00000834: PUSH1 0xff 00000836: DUP12 00000837: AND 00000838: OR 00000839: SWAP1 0000083a: SSTORE 0000083b: PUSH1 0x3c 0000083d: DUP1 0000083e: SLOAD 0000083f: PUSH1 0x01 00000841: PUSH1 0x01 00000843: PUSH1 0xa0 00000845: SHL 00000846: SUB 00000847: DUP1 00000848: DUP16 00000849: AND 0000084a: PUSH1 0x01 0000084c: PUSH1 0x01 0000084e: PUSH1 0xa0 00000850: SHL 00000851: SUB 00000852: NOT 00000853: SWAP3 00000854: DUP4 00000855: AND 00000856: OR 00000857: SWAP1 00000858: SWAP3 00000859: SSTORE 0000085a: PUSH1 0x3d 0000085c: DUP1 0000085d: SLOAD 0000085e: DUP15 0000085f: DUP5 00000860: AND 00000861: SWAP3 00000862: AND 00000863: SWAP2 00000864: SWAP1 00000865: SWAP2 00000866: OR 00000867: SWAP1 00000868: SSTORE 00000869: PUSH1 0x39 0000086b: DUP1 0000086c: SLOAD 0000086d: SWAP2 0000086e: DUP13 0000086f: AND 00000870: PUSH2 0x0100 00000873: MUL 00000874: PUSH2 0x0100 00000877: PUSH1 0x01 00000879: PUSH1 0xa8 0000087b: SHL 0000087c: SUB 0000087d: NOT 0000087e: SWAP1 0000087f: SWAP3 00000880: AND 00000881: SWAP2 00000882: SWAP1 00000883: SWAP2 00000884: OR 00000885: SWAP1 00000886: SSTORE 00000887: PUSH2 0x088e 0000088a: PUSH2 0x13f9 0000088d: JUMP 0000088e: JUMPDEST 0000088f: PUSH1 0x3b 00000891: DUP2 00000892: SWAP1 00000893: SSTORE 00000894: POP 00000895: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 000008b6: PUSH1 0x01 000008b8: PUSH1 0x01 000008ba: PUSH1 0xa0 000008bc: SHL 000008bd: SUB 000008be: AND 000008bf: DUP12 000008c0: PUSH1 0x01 000008c2: PUSH1 0x01 000008c4: PUSH1 0xa0 000008c6: SHL 000008c7: SUB 000008c8: AND 000008c9: PUSH32 0xb19e051f8af41150ccccb3fc2c2d8d15f4a4cf434f32a559ba75fe73d6eea20b 000008ea: DUP15 000008eb: DUP14 000008ec: DUP14 000008ed: DUP14 000008ee: DUP14 000008ef: DUP14 000008f0: DUP14 000008f1: DUP14 000008f2: DUP14 000008f3: PUSH1 0x40 000008f5: MLOAD 000008f6: PUSH2 0x0907 000008f9: SWAP10 000008fa: SWAP9 000008fb: SWAP8 000008fc: SWAP7 000008fd: SWAP6 000008fe: SWAP5 000008ff: SWAP4 00000900: SWAP3 00000901: SWAP2 00000902: SWAP1 00000903: PUSH2 0x2501 00000906: JUMP 00000907: JUMPDEST 00000908: PUSH1 0x40 0000090a: MLOAD 0000090b: DUP1 0000090c: SWAP2 0000090d: SUB 0000090e: SWAP1 0000090f: LOG3 00000910: DUP1 00000911: ISZERO 00000912: PUSH2 0x0920 00000915: JUMPI 00000916: PUSH1 0x01 00000918: DUP1 00000919: SLOAD 0000091a: PUSH1 0xff 0000091c: NOT 0000091d: AND 0000091e: SWAP1 0000091f: SSTORE 00000920: JUMPDEST 00000921: POP 00000922: POP 00000923: POP 00000924: POP 00000925: POP 00000926: POP 00000927: POP 00000928: POP 00000929: POP 0000092a: POP 0000092b: POP 0000092c: POP 0000092d: POP 0000092e: JUMP 0000092f: JUMPDEST 00000930: PUSH0 00000931: PUSH2 0x05c8 00000934: DUP3 00000935: PUSH2 0x137c 00000938: JUMP 00000939: JUMPDEST 0000093a: PUSH0 0000093b: DUP1 0000093c: PUSH2 0x0944 0000093f: DUP4 00000940: PUSH2 0x14a1 00000943: JUMP 00000944: JUMPDEST 00000945: PUSH1 0x01 00000947: PUSH1 0x01 00000949: PUSH1 0xa0 0000094b: SHL 0000094c: SUB 0000094d: DUP7 0000094e: AND 0000094f: PUSH0 00000950: SWAP1 00000951: DUP2 00000952: MSTORE 00000953: PUSH1 0x35 00000955: PUSH1 0x20 00000957: SWAP1 00000958: DUP2 00000959: MSTORE 0000095a: PUSH1 0x40 0000095c: DUP1 0000095d: DUP4 0000095e: KECCAK256 0000095f: CALLER 00000960: DUP1 00000961: DUP6 00000962: MSTORE 00000963: SWAP3 00000964: MSTORE 00000965: SWAP1 00000966: SWAP2 00000967: KECCAK256 00000968: SLOAD 00000969: SWAP2 0000096a: SWAP3 0000096b: POP 0000096c: PUSH2 0x098b 0000096f: SWAP2 00000970: DUP8 00000971: SWAP2 00000972: SWAP1 00000973: PUSH2 0x0986 00000976: SWAP1 00000977: PUSH1 0x01 00000979: PUSH1 0x01 0000097b: PUSH1 0x80 0000097d: SHL 0000097e: SUB 0000097f: DUP7 00000980: AND 00000981: SWAP1 00000982: PUSH2 0x2582 00000985: JUMP 00000986: JUMPDEST 00000987: PUSH2 0x131c 0000098a: JUMP 0000098b: JUMPDEST 0000098c: PUSH2 0x0996 0000098f: DUP6 00000990: DUP6 00000991: DUP4 00000992: PUSH2 0x150d 00000995: JUMP 00000996: JUMPDEST 00000997: POP 00000998: PUSH1 0x01 0000099a: SWAP5 0000099b: SWAP4 0000099c: POP 0000099d: POP 0000099e: POP 0000099f: POP 000009a0: JUMP 000009a1: JUMPDEST 000009a2: PUSH0 000009a3: PUSH2 0x09aa 000009a6: PUSH2 0x1523 000009a9: JUMP 000009aa: JUMPDEST 000009ab: SWAP1 000009ac: POP 000009ad: SWAP1 000009ae: JUMP 000009af: JUMPDEST 000009b0: CALLER 000009b1: PUSH0 000009b2: DUP2 000009b3: DUP2 000009b4: MSTORE 000009b5: PUSH1 0x35 000009b7: PUSH1 0x20 000009b9: SWAP1 000009ba: DUP2 000009bb: MSTORE 000009bc: PUSH1 0x40 000009be: DUP1 000009bf: DUP4 000009c0: KECCAK256 000009c1: PUSH1 0x01 000009c3: PUSH1 0x01 000009c5: PUSH1 0xa0 000009c7: SHL 000009c8: SUB 000009c9: DUP8 000009ca: AND 000009cb: DUP5 000009cc: MSTORE 000009cd: SWAP1 000009ce: SWAP2 000009cf: MSTORE 000009d0: DUP2 000009d1: KECCAK256 000009d2: SLOAD 000009d3: SWAP1 000009d4: SWAP2 000009d5: PUSH2 0x05c4 000009d8: SWAP2 000009d9: DUP6 000009da: SWAP1 000009db: PUSH2 0x0986 000009de: SWAP1 000009df: DUP7 000009e0: SWAP1 000009e1: PUSH2 0x2595 000009e4: JUMP 000009e5: JUMPDEST 000009e6: PUSH1 0x40 000009e8: DUP1 000009e9: MLOAD 000009ea: DUP1 000009eb: DUP3 000009ec: ADD 000009ed: SWAP1 000009ee: SWAP2 000009ef: MSTORE 000009f0: PUSH1 0x02 000009f2: DUP2 000009f3: MSTORE 000009f4: PUSH2 0x3233 000009f7: PUSH1 0xf0 000009f9: SHL 000009fa: PUSH1 0x20 000009fc: DUP3 000009fd: ADD 000009fe: MSTORE 000009ff: CALLER 00000a00: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000a21: PUSH1 0x01 00000a23: PUSH1 0x01 00000a25: PUSH1 0xa0 00000a27: SHL 00000a28: SUB 00000a29: AND 00000a2a: EQ 00000a2b: PUSH2 0x0a47 00000a2e: JUMPI 00000a2f: PUSH1 0x40 00000a31: MLOAD 00000a32: PUSH3 0x461bcd 00000a36: PUSH1 0xe5 00000a38: SHL 00000a39: DUP2 00000a3a: MSTORE 00000a3b: PUSH1 0x04 00000a3d: ADD 00000a3e: PUSH2 0x0719 00000a41: SWAP2 00000a42: SWAP1 00000a43: PUSH2 0x218b 00000a46: JUMP 00000a47: JUMPDEST 00000a48: POP 00000a49: PUSH1 0x3d 00000a4b: SLOAD 00000a4c: PUSH2 0x0a5f 00000a4f: SWAP1 00000a50: PUSH1 0x01 00000a52: PUSH1 0x01 00000a54: PUSH1 0xa0 00000a56: SHL 00000a57: SUB 00000a58: AND 00000a59: DUP4 00000a5a: DUP4 00000a5b: PUSH2 0x155a 00000a5e: JUMP 00000a5f: JUMPDEST 00000a60: POP 00000a61: POP 00000a62: JUMP 00000a63: JUMPDEST 00000a64: PUSH1 0x40 00000a66: DUP1 00000a67: MLOAD 00000a68: DUP1 00000a69: DUP3 00000a6a: ADD 00000a6b: SWAP1 00000a6c: SWAP2 00000a6d: MSTORE 00000a6e: PUSH1 0x02 00000a70: DUP2 00000a71: MSTORE 00000a72: PUSH2 0x3233 00000a75: PUSH1 0xf0 00000a77: SHL 00000a78: PUSH1 0x20 00000a7a: DUP3 00000a7b: ADD 00000a7c: MSTORE 00000a7d: CALLER 00000a7e: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000a9f: PUSH1 0x01 00000aa1: PUSH1 0x01 00000aa3: PUSH1 0xa0 00000aa5: SHL 00000aa6: SUB 00000aa7: AND 00000aa8: EQ 00000aa9: PUSH2 0x0ac5 00000aac: JUMPI 00000aad: PUSH1 0x40 00000aaf: MLOAD 00000ab0: PUSH3 0x461bcd 00000ab4: PUSH1 0xe5 00000ab6: SHL 00000ab7: DUP2 00000ab8: MSTORE 00000ab9: PUSH1 0x04 00000abb: ADD 00000abc: PUSH2 0x0719 00000abf: SWAP2 00000ac0: SWAP1 00000ac1: PUSH2 0x218b 00000ac4: JUMP 00000ac5: JUMPDEST 00000ac6: POP 00000ac7: POP 00000ac8: POP 00000ac9: POP 00000aca: JUMP 00000acb: JUMPDEST 00000acc: PUSH1 0x3d 00000ace: SLOAD 00000acf: PUSH1 0x40 00000ad1: MLOAD 00000ad2: PUSH4 0xd15e0053 00000ad7: PUSH1 0xe0 00000ad9: SHL 00000ada: DUP2 00000adb: MSTORE 00000adc: PUSH1 0x01 00000ade: PUSH1 0x01 00000ae0: PUSH1 0xa0 00000ae2: SHL 00000ae3: SUB 00000ae4: SWAP2 00000ae5: DUP3 00000ae6: AND 00000ae7: PUSH1 0x04 00000ae9: DUP3 00000aea: ADD 00000aeb: MSTORE 00000aec: PUSH0 00000aed: SWAP2 00000aee: PUSH2 0x05c8 00000af1: SWAP2 00000af2: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000b13: SWAP1 00000b14: SWAP2 00000b15: AND 00000b16: SWAP1 00000b17: PUSH4 0xd15e0053 00000b1c: SWAP1 00000b1d: PUSH1 0x24 00000b1f: ADD 00000b20: PUSH1 0x20 00000b22: PUSH1 0x40 00000b24: MLOAD 00000b25: DUP1 00000b26: DUP4 00000b27: SUB 00000b28: DUP2 00000b29: DUP7 00000b2a: GAS 00000b2b: STATICCALL 00000b2c: ISZERO 00000b2d: DUP1 00000b2e: ISZERO 00000b2f: PUSH2 0x0b3a 00000b32: JUMPI 00000b33: RETURNDATASIZE 00000b34: PUSH0 00000b35: DUP1 00000b36: RETURNDATACOPY 00000b37: RETURNDATASIZE 00000b38: PUSH0 00000b39: REVERT 00000b3a: JUMPDEST 00000b3b: POP 00000b3c: POP 00000b3d: POP 00000b3e: POP 00000b3f: PUSH1 0x40 00000b41: MLOAD 00000b42: RETURNDATASIZE 00000b43: PUSH1 0x1f 00000b45: NOT 00000b46: PUSH1 0x1f 00000b48: DUP3 00000b49: ADD 00000b4a: AND 00000b4b: DUP3 00000b4c: ADD 00000b4d: DUP1 00000b4e: PUSH1 0x40 00000b50: MSTORE 00000b51: POP 00000b52: DUP2 00000b53: ADD 00000b54: SWAP1 00000b55: PUSH2 0x0b5e 00000b58: SWAP2 00000b59: SWAP1 00000b5a: PUSH2 0x24c2 00000b5d: JUMP 00000b5e: JUMPDEST 00000b5f: PUSH2 0x0b67 00000b62: DUP5 00000b63: PUSH2 0x137c 00000b66: JUMP 00000b67: JUMPDEST 00000b68: SWAP1 00000b69: PUSH2 0x139f 00000b6c: JUMP 00000b6d: JUMPDEST 00000b6e: PUSH1 0x40 00000b70: DUP1 00000b71: MLOAD 00000b72: DUP1 00000b73: DUP3 00000b74: ADD 00000b75: SWAP1 00000b76: SWAP2 00000b77: MSTORE 00000b78: PUSH1 0x02 00000b7a: DUP2 00000b7b: MSTORE 00000b7c: PUSH2 0x3233 00000b7f: PUSH1 0xf0 00000b81: SHL 00000b82: PUSH1 0x20 00000b84: DUP3 00000b85: ADD 00000b86: MSTORE 00000b87: CALLER 00000b88: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000ba9: PUSH1 0x01 00000bab: PUSH1 0x01 00000bad: PUSH1 0xa0 00000baf: SHL 00000bb0: SUB 00000bb1: AND 00000bb2: EQ 00000bb3: PUSH2 0x0bcf 00000bb6: JUMPI 00000bb7: PUSH1 0x40 00000bb9: MLOAD 00000bba: PUSH3 0x461bcd 00000bbe: PUSH1 0xe5 00000bc0: SHL 00000bc1: DUP2 00000bc2: MSTORE 00000bc3: PUSH1 0x04 00000bc5: ADD 00000bc6: PUSH2 0x0719 00000bc9: SWAP2 00000bca: SWAP1 00000bcb: PUSH2 0x218b 00000bce: JUMP 00000bcf: JUMPDEST 00000bd0: POP 00000bd1: DUP2 00000bd2: ISZERO 00000bd3: PUSH2 0x0a5f 00000bd6: JUMPI 00000bd7: PUSH1 0x3c 00000bd9: SLOAD 00000bda: PUSH2 0x0c0f 00000bdd: SWAP1 00000bde: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000bff: SWAP1 00000c00: PUSH1 0x01 00000c02: PUSH1 0x01 00000c04: PUSH1 0xa0 00000c06: SHL 00000c07: SUB 00000c08: AND 00000c09: DUP5 00000c0a: DUP5 00000c0b: PUSH2 0x15e2 00000c0e: JUMP 00000c0f: JUMPDEST 00000c10: POP 00000c11: POP 00000c12: POP 00000c13: JUMP 00000c14: JUMPDEST 00000c15: PUSH1 0x01 00000c17: PUSH1 0x01 00000c19: PUSH1 0xa0 00000c1b: SHL 00000c1c: SUB 00000c1d: DUP2 00000c1e: AND 00000c1f: PUSH0 00000c20: SWAP1 00000c21: DUP2 00000c22: MSTORE 00000c23: PUSH1 0x3a 00000c25: PUSH1 0x20 00000c27: MSTORE 00000c28: PUSH1 0x40 00000c2a: DUP2 00000c2b: KECCAK256 00000c2c: SLOAD 00000c2d: PUSH2 0x05c8 00000c30: JUMP 00000c31: JUMPDEST 00000c32: PUSH1 0x60 00000c34: PUSH1 0x38 00000c36: DUP1 00000c37: SLOAD 00000c38: PUSH2 0x0537 00000c3b: SWAP1 00000c3c: PUSH2 0x2490 00000c3f: JUMP 00000c40: JUMPDEST 00000c41: CALLER 00000c42: PUSH0 00000c43: DUP2 00000c44: DUP2 00000c45: MSTORE 00000c46: PUSH1 0x35 00000c48: PUSH1 0x20 00000c4a: SWAP1 00000c4b: DUP2 00000c4c: MSTORE 00000c4d: PUSH1 0x40 00000c4f: DUP1 00000c50: DUP4 00000c51: KECCAK256 00000c52: PUSH1 0x01 00000c54: PUSH1 0x01 00000c56: PUSH1 0xa0 00000c58: SHL 00000c59: SUB 00000c5a: DUP8 00000c5b: AND 00000c5c: DUP5 00000c5d: MSTORE 00000c5e: SWAP1 00000c5f: SWAP2 00000c60: MSTORE 00000c61: DUP2 00000c62: KECCAK256 00000c63: SLOAD 00000c64: SWAP1 00000c65: SWAP2 00000c66: PUSH2 0x05c4 00000c69: SWAP2 00000c6a: DUP6 00000c6b: SWAP1 00000c6c: PUSH2 0x0986 00000c6f: SWAP1 00000c70: DUP7 00000c71: SWAP1 00000c72: PUSH2 0x2582 00000c75: JUMP 00000c76: JUMPDEST 00000c77: PUSH0 00000c78: DUP1 00000c79: PUSH2 0x0c81 00000c7c: DUP4 00000c7d: PUSH2 0x14a1 00000c80: JUMP 00000c81: JUMPDEST 00000c82: SWAP1 00000c83: POP 00000c84: PUSH2 0x0c8e 00000c87: CALLER 00000c88: DUP6 00000c89: DUP4 00000c8a: PUSH2 0x150d 00000c8d: JUMP 00000c8e: JUMPDEST 00000c8f: POP 00000c90: PUSH1 0x01 00000c92: SWAP4 00000c93: SWAP3 00000c94: POP 00000c95: POP 00000c96: POP 00000c97: JUMP 00000c98: JUMPDEST 00000c99: PUSH0 00000c9a: PUSH2 0x09aa 00000c9d: PUSH1 0x36 00000c9f: SLOAD 00000ca0: SWAP1 00000ca1: JUMP 00000ca2: JUMPDEST 00000ca3: PUSH1 0x40 00000ca5: DUP1 00000ca6: MLOAD 00000ca7: DUP1 00000ca8: DUP3 00000ca9: ADD 00000caa: SWAP1 00000cab: SWAP2 00000cac: MSTORE 00000cad: PUSH1 0x02 00000caf: DUP2 00000cb0: MSTORE 00000cb1: PUSH2 0x3233 00000cb4: PUSH1 0xf0 00000cb6: SHL 00000cb7: PUSH1 0x20 00000cb9: DUP3 00000cba: ADD 00000cbb: MSTORE 00000cbc: PUSH0 00000cbd: SWAP1 00000cbe: CALLER 00000cbf: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00000ce0: PUSH1 0x01 00000ce2: PUSH1 0x01 00000ce4: PUSH1 0xa0 00000ce6: SHL 00000ce7: SUB 00000ce8: AND 00000ce9: EQ 00000cea: PUSH2 0x0d06 00000ced: JUMPI 00000cee: PUSH1 0x40 00000cf0: MLOAD 00000cf1: PUSH3 0x461bcd 00000cf5: PUSH1 0xe5 00000cf7: SHL 00000cf8: DUP2 00000cf9: MSTORE 00000cfa: PUSH1 0x04 00000cfc: ADD 00000cfd: PUSH2 0x0719 00000d00: SWAP2 00000d01: SWAP1 00000d02: PUSH2 0x218b 00000d05: JUMP 00000d06: JUMPDEST 00000d07: POP 00000d08: PUSH2 0x0d13 00000d0b: DUP6 00000d0c: DUP6 00000d0d: DUP6 00000d0e: DUP6 00000d0f: PUSH2 0x15e2 00000d12: JUMP 00000d13: JUMPDEST 00000d14: SWAP6 00000d15: SWAP5 00000d16: POP 00000d17: POP 00000d18: POP 00000d19: POP 00000d1a: POP 00000d1b: JUMP 00000d1c: JUMPDEST 00000d1d: PUSH0 00000d1e: PUSH32 0x0000000000000000000000005d39e06b825c1f2b80bf2756a73e28efaa128ba0 00000d3f: PUSH1 0x01 00000d41: PUSH1 0x01 00000d43: PUSH1 0xa0 00000d45: SHL 00000d46: SUB 00000d47: AND 00000d48: PUSH4 0x707cd716 00000d4d: PUSH1 0x40 00000d4f: MLOAD 00000d50: DUP2 00000d51: PUSH4 0xffffffff 00000d56: AND 00000d57: PUSH1 0xe0 00000d59: SHL 00000d5a: DUP2 00000d5b: MSTORE 00000d5c: PUSH1 0x04 00000d5e: ADD 00000d5f: PUSH1 0x20 00000d61: PUSH1 0x40 00000d63: MLOAD 00000d64: DUP1 00000d65: DUP4 00000d66: SUB 00000d67: DUP2 00000d68: DUP7 00000d69: GAS 00000d6a: STATICCALL 00000d6b: ISZERO 00000d6c: DUP1 00000d6d: ISZERO 00000d6e: PUSH2 0x0d79 00000d71: JUMPI 00000d72: RETURNDATASIZE 00000d73: PUSH0 00000d74: DUP1 00000d75: RETURNDATACOPY 00000d76: RETURNDATASIZE 00000d77: PUSH0 00000d78: REVERT 00000d79: JUMPDEST 00000d7a: POP 00000d7b: POP 00000d7c: POP 00000d7d: POP 00000d7e: PUSH1 0x40 00000d80: MLOAD 00000d81: RETURNDATASIZE 00000d82: PUSH1 0x1f 00000d84: NOT 00000d85: PUSH1 0x1f 00000d87: DUP3 00000d88: ADD 00000d89: AND 00000d8a: DUP3 00000d8b: ADD 00000d8c: DUP1 00000d8d: PUSH1 0x40 00000d8f: MSTORE 00000d90: POP 00000d91: DUP2 00000d92: ADD 00000d93: SWAP1 00000d94: PUSH2 0x0d9d 00000d97: SWAP2 00000d98: SWAP1 00000d99: PUSH2 0x25a8 00000d9c: JUMP 00000d9d: JUMPDEST 00000d9e: PUSH1 0x40 00000da0: MLOAD 00000da1: PUSH4 0x7be53ca1 00000da6: PUSH1 0xe0 00000da8: SHL 00000da9: DUP2 00000daa: MSTORE 00000dab: CALLER 00000dac: PUSH1 0x04 00000dae: DUP3 00000daf: ADD 00000db0: MSTORE 00000db1: SWAP1 00000db2: SWAP2 00000db3: POP 00000db4: PUSH1 0x01 00000db6: PUSH1 0x01 00000db8: PUSH1 0xa0 00000dba: SHL 00000dbb: SUB 00000dbc: DUP3 00000dbd: AND 00000dbe: SWAP1 00000dbf: PUSH4 0x7be53ca1 00000dc4: SWAP1 00000dc5: PUSH1 0x24 00000dc7: ADD 00000dc8: PUSH1 0x20 00000dca: PUSH1 0x40 00000dcc: MLOAD 00000dcd: DUP1 00000dce: DUP4 00000dcf: SUB 00000dd0: DUP2 00000dd1: DUP7 00000dd2: GAS 00000dd3: STATICCALL 00000dd4: ISZERO 00000dd5: DUP1 00000dd6: ISZERO 00000dd7: PUSH2 0x0de2 00000dda: JUMPI 00000ddb: RETURNDATASIZE 00000ddc: PUSH0 00000ddd: DUP1 00000dde: RETURNDATACOPY 00000ddf: RETURNDATASIZE 00000de0: PUSH0 00000de1: REVERT 00000de2: JUMPDEST 00000de3: POP 00000de4: POP 00000de5: POP 00000de6: POP 00000de7: PUSH1 0x40 00000de9: MLOAD 00000dea: RETURNDATASIZE 00000deb: PUSH1 0x1f 00000ded: NOT 00000dee: PUSH1 0x1f 00000df0: DUP3 00000df1: ADD 00000df2: AND 00000df3: DUP3 00000df4: ADD 00000df5: DUP1 00000df6: PUSH1 0x40 00000df8: MSTORE 00000df9: POP 00000dfa: DUP2 00000dfb: ADD 00000dfc: SWAP1 00000dfd: PUSH2 0x0e06 00000e00: SWAP2 00000e01: SWAP1 00000e02: PUSH2 0x25c3 00000e05: JUMP 00000e06: JUMPDEST 00000e07: PUSH1 0x40 00000e09: MLOAD 00000e0a: DUP1 00000e0b: PUSH1 0x40 00000e0d: ADD 00000e0e: PUSH1 0x40 00000e10: MSTORE 00000e11: DUP1 00000e12: PUSH1 0x01 00000e14: DUP2 00000e15: MSTORE 00000e16: PUSH1 0x20 00000e18: ADD 00000e19: PUSH1 0x31 00000e1b: PUSH1 0xf8 00000e1d: SHL 00000e1e: DUP2 00000e1f: MSTORE 00000e20: POP 00000e21: SWAP1 00000e22: PUSH2 0x0e3e 00000e25: JUMPI 00000e26: PUSH1 0x40 00000e28: MLOAD 00000e29: PUSH3 0x461bcd 00000e2d: PUSH1 0xe5 00000e2f: SHL 00000e30: DUP2 00000e31: MSTORE 00000e32: PUSH1 0x04 00000e34: ADD 00000e35: PUSH2 0x0719 00000e38: SWAP2 00000e39: SWAP1 00000e3a: PUSH2 0x218b 00000e3d: JUMP 00000e3e: JUMPDEST 00000e3f: POP 00000e40: PUSH1 0x3d 00000e42: SLOAD 00000e43: PUSH1 0x40 00000e45: DUP1 00000e46: MLOAD 00000e47: DUP1 00000e48: DUP3 00000e49: ADD 00000e4a: SWAP1 00000e4b: SWAP2 00000e4c: MSTORE 00000e4d: PUSH1 0x02 00000e4f: DUP2 00000e50: MSTORE 00000e51: PUSH2 0x3835 00000e54: PUSH1 0xf0 00000e56: SHL 00000e57: PUSH1 0x20 00000e59: DUP3 00000e5a: ADD 00000e5b: MSTORE 00000e5c: SWAP1 00000e5d: PUSH1 0x01 00000e5f: PUSH1 0x01 00000e61: PUSH1 0xa0 00000e63: SHL 00000e64: SUB 00000e65: DUP7 00000e66: DUP2 00000e67: AND 00000e68: SWAP2 00000e69: AND 00000e6a: SUB 00000e6b: PUSH2 0x0e87 00000e6e: JUMPI 00000e6f: PUSH1 0x40 00000e71: MLOAD 00000e72: PUSH3 0x461bcd 00000e76: PUSH1 0xe5 00000e78: SHL 00000e79: DUP2 00000e7a: MSTORE 00000e7b: PUSH1 0x04 00000e7d: ADD 00000e7e: PUSH2 0x0719 00000e81: SWAP2 00000e82: SWAP1 00000e83: PUSH2 0x218b 00000e86: JUMP 00000e87: JUMPDEST 00000e88: POP 00000e89: PUSH2 0x0ac5 00000e8c: PUSH1 0x01 00000e8e: PUSH1 0x01 00000e90: PUSH1 0xa0 00000e92: SHL 00000e93: SUB 00000e94: DUP6 00000e95: AND 00000e96: DUP5 00000e97: DUP5 00000e98: PUSH2 0x155a 00000e9b: JUMP 00000e9c: JUMPDEST 00000e9d: PUSH1 0x40 00000e9f: DUP1 00000ea0: MLOAD 00000ea1: DUP1 00000ea2: DUP3 00000ea3: ADD 00000ea4: SWAP1 00000ea5: SWAP2 00000ea6: MSTORE 00000ea7: PUSH1 0x02 00000ea9: DUP2 00000eaa: MSTORE 00000eab: PUSH2 0x3737 00000eae: PUSH1 0xf0 00000eb0: SHL 00000eb1: PUSH1 0x20 00000eb3: DUP3 00000eb4: ADD 00000eb5: MSTORE 00000eb6: PUSH1 0x01 00000eb8: PUSH1 0x01 00000eba: PUSH1 0xa0 00000ebc: SHL 00000ebd: SUB 00000ebe: DUP9 00000ebf: AND 00000ec0: PUSH2 0x0edc 00000ec3: JUMPI 00000ec4: PUSH1 0x40 00000ec6: MLOAD 00000ec7: PUSH3 0x461bcd 00000ecb: PUSH1 0xe5 00000ecd: SHL 00000ece: DUP2 00000ecf: MSTORE 00000ed0: PUSH1 0x04 00000ed2: ADD 00000ed3: PUSH2 0x0719 00000ed6: SWAP2 00000ed7: SWAP1 00000ed8: PUSH2 0x218b 00000edb: JUMP 00000edc: JUMPDEST 00000edd: POP 00000ede: DUP4 00000edf: TIMESTAMP 00000ee0: GT 00000ee1: ISZERO 00000ee2: PUSH1 0x40 00000ee4: MLOAD 00000ee5: DUP1 00000ee6: PUSH1 0x40 00000ee8: ADD 00000ee9: PUSH1 0x40 00000eeb: MSTORE 00000eec: DUP1 00000eed: PUSH1 0x02 00000eef: DUP2 00000ef0: MSTORE 00000ef1: PUSH1 0x20 00000ef3: ADD 00000ef4: PUSH2 0x06e7 00000ef7: PUSH1 0xf3 00000ef9: SHL 00000efa: DUP2 00000efb: MSTORE 00000efc: POP 00000efd: SWAP1 00000efe: PUSH2 0x0f1a 00000f01: JUMPI 00000f02: PUSH1 0x40 00000f04: MLOAD 00000f05: PUSH3 0x461bcd 00000f09: PUSH1 0xe5 00000f0b: SHL 00000f0c: DUP2 00000f0d: MSTORE 00000f0e: PUSH1 0x04 00000f10: ADD 00000f11: PUSH2 0x0719 00000f14: SWAP2 00000f15: SWAP1 00000f16: PUSH2 0x218b 00000f19: JUMP 00000f1a: JUMPDEST 00000f1b: POP 00000f1c: PUSH1 0x01 00000f1e: PUSH1 0x01 00000f20: PUSH1 0xa0 00000f22: SHL 00000f23: SUB 00000f24: DUP8 00000f25: AND 00000f26: PUSH0 00000f27: SWAP1 00000f28: DUP2 00000f29: MSTORE 00000f2a: PUSH1 0x3a 00000f2c: PUSH1 0x20 00000f2e: MSTORE 00000f2f: PUSH1 0x40 00000f31: DUP2 00000f32: KECCAK256 00000f33: SLOAD 00000f34: SWAP1 00000f35: PUSH2 0x0f3c 00000f38: PUSH2 0x09a1 00000f3b: JUMP 00000f3c: JUMPDEST 00000f3d: PUSH1 0x40 00000f3f: DUP1 00000f40: MLOAD 00000f41: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 00000f62: PUSH1 0x20 00000f64: DUP3 00000f65: ADD 00000f66: MSTORE 00000f67: PUSH1 0x01 00000f69: PUSH1 0x01 00000f6b: PUSH1 0xa0 00000f6d: SHL 00000f6e: SUB 00000f6f: DUP1 00000f70: DUP14 00000f71: AND 00000f72: SWAP3 00000f73: DUP3 00000f74: ADD 00000f75: SWAP3 00000f76: SWAP1 00000f77: SWAP3 00000f78: MSTORE 00000f79: SWAP1 00000f7a: DUP11 00000f7b: AND 00000f7c: PUSH1 0x60 00000f7e: DUP3 00000f7f: ADD 00000f80: MSTORE 00000f81: PUSH1 0x80 00000f83: DUP2 00000f84: ADD 00000f85: DUP10 00000f86: SWAP1 00000f87: MSTORE 00000f88: PUSH1 0xa0 00000f8a: DUP2 00000f8b: ADD 00000f8c: DUP5 00000f8d: SWAP1 00000f8e: MSTORE 00000f8f: PUSH1 0xc0 00000f91: DUP2 00000f92: ADD 00000f93: DUP9 00000f94: SWAP1 00000f95: MSTORE 00000f96: PUSH1 0xe0 00000f98: ADD 00000f99: PUSH1 0x40 00000f9b: MLOAD 00000f9c: PUSH1 0x20 00000f9e: DUP2 00000f9f: DUP4 00000fa0: SUB 00000fa1: SUB 00000fa2: DUP2 00000fa3: MSTORE 00000fa4: SWAP1 00000fa5: PUSH1 0x40 00000fa7: MSTORE 00000fa8: DUP1 00000fa9: MLOAD 00000faa: SWAP1 00000fab: PUSH1 0x20 00000fad: ADD 00000fae: KECCAK256 00000faf: PUSH1 0x40 00000fb1: MLOAD 00000fb2: PUSH1 0x20 00000fb4: ADD 00000fb5: PUSH2 0x0fd5 00000fb8: SWAP3 00000fb9: SWAP2 00000fba: SWAP1 00000fbb: PUSH2 0x1901 00000fbe: PUSH1 0xf0 00000fc0: SHL 00000fc1: DUP2 00000fc2: MSTORE 00000fc3: PUSH1 0x02 00000fc5: DUP2 00000fc6: ADD 00000fc7: SWAP3 00000fc8: SWAP1 00000fc9: SWAP3 00000fca: MSTORE 00000fcb: PUSH1 0x22 00000fcd: DUP3 00000fce: ADD 00000fcf: MSTORE 00000fd0: PUSH1 0x42 00000fd2: ADD 00000fd3: SWAP1 00000fd4: JUMP 00000fd5: JUMPDEST 00000fd6: PUSH1 0x40 00000fd8: DUP1 00000fd9: MLOAD 00000fda: PUSH1 0x1f 00000fdc: NOT 00000fdd: DUP2 00000fde: DUP5 00000fdf: SUB 00000fe0: ADD 00000fe1: DUP2 00000fe2: MSTORE 00000fe3: DUP3 00000fe4: DUP3 00000fe5: MSTORE 00000fe6: DUP1 00000fe7: MLOAD 00000fe8: PUSH1 0x20 00000fea: SWAP2 00000feb: DUP3 00000fec: ADD 00000fed: KECCAK256 00000fee: PUSH0 00000fef: DUP5 00000ff0: MSTORE 00000ff1: SWAP1 00000ff2: DUP4 00000ff3: ADD 00000ff4: DUP1 00000ff5: DUP4 00000ff6: MSTORE 00000ff7: DUP2 00000ff8: SWAP1 00000ff9: MSTORE 00000ffa: PUSH1 0xff 00000ffc: DUP9 00000ffd: AND 00000ffe: SWAP2 00000fff: DUP4 00001000: ADD 00001001: SWAP2 00001002: SWAP1 00001003: SWAP2 00001004: MSTORE 00001005: PUSH1 0x60 00001007: DUP3 00001008: ADD 00001009: DUP7 0000100a: SWAP1 0000100b: MSTORE 0000100c: PUSH1 0x80 0000100e: DUP3 0000100f: ADD 00001010: DUP6 00001011: SWAP1 00001012: MSTORE 00001013: SWAP2 00001014: POP 00001015: PUSH1 0x01 00001017: SWAP1 00001018: PUSH1 0xa0 0000101a: ADD 0000101b: PUSH1 0x20 0000101d: PUSH1 0x40 0000101f: MLOAD 00001020: PUSH1 0x20 00001022: DUP2 00001023: SUB 00001024: SWAP1 00001025: DUP1 00001026: DUP5 00001027: SUB 00001028: SWAP1 00001029: DUP6 0000102a: GAS 0000102b: STATICCALL 0000102c: ISZERO 0000102d: DUP1 0000102e: ISZERO 0000102f: PUSH2 0x103a 00001032: JUMPI 00001033: RETURNDATASIZE 00001034: PUSH0 00001035: DUP1 00001036: RETURNDATACOPY 00001037: RETURNDATASIZE 00001038: PUSH0 00001039: REVERT 0000103a: JUMPDEST 0000103b: POP 0000103c: POP 0000103d: POP 0000103e: PUSH1 0x20 00001040: PUSH1 0x40 00001042: MLOAD 00001043: SUB 00001044: MLOAD 00001045: PUSH1 0x01 00001047: PUSH1 0x01 00001049: PUSH1 0xa0 0000104b: SHL 0000104c: SUB 0000104d: AND 0000104e: DUP10 0000104f: PUSH1 0x01 00001051: PUSH1 0x01 00001053: PUSH1 0xa0 00001055: SHL 00001056: SUB 00001057: AND 00001058: EQ 00001059: PUSH1 0x40 0000105b: MLOAD 0000105c: DUP1 0000105d: PUSH1 0x40 0000105f: ADD 00001060: PUSH1 0x40 00001062: MSTORE 00001063: DUP1 00001064: PUSH1 0x02 00001066: DUP2 00001067: MSTORE 00001068: PUSH1 0x20 0000106a: ADD 0000106b: PUSH2 0x3739 0000106e: PUSH1 0xf0 00001070: SHL 00001071: DUP2 00001072: MSTORE 00001073: POP 00001074: SWAP1 00001075: PUSH2 0x1091 00001078: JUMPI 00001079: PUSH1 0x40 0000107b: MLOAD 0000107c: PUSH3 0x461bcd 00001080: PUSH1 0xe5 00001082: SHL 00001083: DUP2 00001084: MSTORE 00001085: PUSH1 0x04 00001087: ADD 00001088: PUSH2 0x0719 0000108b: SWAP2 0000108c: SWAP1 0000108d: PUSH2 0x218b 00001090: JUMP 00001091: JUMPDEST 00001092: POP 00001093: PUSH2 0x109d 00001096: DUP3 00001097: PUSH1 0x01 00001099: PUSH2 0x2595 0000109c: JUMP 0000109d: JUMPDEST 0000109e: PUSH1 0x01 000010a0: PUSH1 0x01 000010a2: PUSH1 0xa0 000010a4: SHL 000010a5: SUB 000010a6: DUP11 000010a7: AND 000010a8: PUSH0 000010a9: SWAP1 000010aa: DUP2 000010ab: MSTORE 000010ac: PUSH1 0x3a 000010ae: PUSH1 0x20 000010b0: MSTORE 000010b1: PUSH1 0x40 000010b3: SWAP1 000010b4: KECCAK256 000010b5: SSTORE 000010b6: PUSH2 0x10c0 000010b9: DUP10 000010ba: DUP10 000010bb: DUP10 000010bc: PUSH2 0x131c 000010bf: JUMP 000010c0: JUMPDEST 000010c1: POP 000010c2: POP 000010c3: POP 000010c4: POP 000010c5: POP 000010c6: POP 000010c7: POP 000010c8: POP 000010c9: POP 000010ca: JUMP 000010cb: JUMPDEST 000010cc: PUSH1 0x40 000010ce: DUP1 000010cf: MLOAD 000010d0: DUP1 000010d1: DUP3 000010d2: ADD 000010d3: SWAP1 000010d4: SWAP2 000010d5: MSTORE 000010d6: PUSH1 0x02 000010d8: DUP2 000010d9: MSTORE 000010da: PUSH2 0x3233 000010dd: PUSH1 0xf0 000010df: SHL 000010e0: PUSH1 0x20 000010e2: DUP3 000010e3: ADD 000010e4: MSTORE 000010e5: CALLER 000010e6: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00001107: PUSH1 0x01 00001109: PUSH1 0x01 0000110b: PUSH1 0xa0 0000110d: SHL 0000110e: SUB 0000110f: AND 00001110: EQ 00001111: PUSH2 0x112d 00001114: JUMPI 00001115: PUSH1 0x40 00001117: MLOAD 00001118: PUSH3 0x461bcd 0000111c: PUSH1 0xe5 0000111e: SHL 0000111f: DUP2 00001120: MSTORE 00001121: PUSH1 0x04 00001123: ADD 00001124: PUSH2 0x0719 00001127: SWAP2 00001128: SWAP1 00001129: PUSH2 0x218b 0000112c: JUMP 0000112d: JUMPDEST 0000112e: POP 0000112f: PUSH2 0x113a 00001132: DUP5 00001133: DUP5 00001134: DUP5 00001135: DUP5 00001136: PUSH2 0x175f 00001139: JUMP 0000113a: JUMPDEST 0000113b: PUSH1 0x01 0000113d: PUSH1 0x01 0000113f: PUSH1 0xa0 00001141: SHL 00001142: SUB 00001143: DUP4 00001144: AND 00001145: ADDRESS 00001146: EQ 00001147: PUSH2 0x0ac5 0000114a: JUMPI 0000114b: PUSH1 0x3d 0000114d: SLOAD 0000114e: PUSH2 0x0ac5 00001151: SWAP1 00001152: PUSH1 0x01 00001154: PUSH1 0x01 00001156: PUSH1 0xa0 00001158: SHL 00001159: SUB 0000115a: AND 0000115b: DUP5 0000115c: DUP5 0000115d: PUSH2 0x155a 00001160: JUMP 00001161: JUMPDEST 00001162: PUSH0 00001163: PUSH32 0x0000000000000000000000005d39e06b825c1f2b80bf2756a73e28efaa128ba0 00001184: PUSH1 0x01 00001186: PUSH1 0x01 00001188: PUSH1 0xa0 0000118a: SHL 0000118b: SUB 0000118c: AND 0000118d: PUSH4 0x707cd716 00001192: PUSH1 0x40 00001194: MLOAD 00001195: DUP2 00001196: PUSH4 0xffffffff 0000119b: AND 0000119c: PUSH1 0xe0 0000119e: SHL 0000119f: DUP2 000011a0: MSTORE 000011a1: PUSH1 0x04 000011a3: ADD 000011a4: PUSH1 0x20 000011a6: PUSH1 0x40 000011a8: MLOAD 000011a9: DUP1 000011aa: DUP4 000011ab: SUB 000011ac: DUP2 000011ad: DUP7 000011ae: GAS 000011af: STATICCALL 000011b0: ISZERO 000011b1: DUP1 000011b2: ISZERO 000011b3: PUSH2 0x11be 000011b6: JUMPI 000011b7: RETURNDATASIZE 000011b8: PUSH0 000011b9: DUP1 000011ba: RETURNDATACOPY 000011bb: RETURNDATASIZE 000011bc: PUSH0 000011bd: REVERT 000011be: JUMPDEST 000011bf: POP 000011c0: POP 000011c1: POP 000011c2: POP 000011c3: PUSH1 0x40 000011c5: MLOAD 000011c6: RETURNDATASIZE 000011c7: PUSH1 0x1f 000011c9: NOT 000011ca: PUSH1 0x1f 000011cc: DUP3 000011cd: ADD 000011ce: AND 000011cf: DUP3 000011d0: ADD 000011d1: DUP1 000011d2: PUSH1 0x40 000011d4: MSTORE 000011d5: POP 000011d6: DUP2 000011d7: ADD 000011d8: SWAP1 000011d9: PUSH2 0x11e2 000011dc: SWAP2 000011dd: SWAP1 000011de: PUSH2 0x25a8 000011e1: JUMP 000011e2: JUMPDEST 000011e3: PUSH1 0x40 000011e5: MLOAD 000011e6: PUSH4 0x7be53ca1 000011eb: PUSH1 0xe0 000011ed: SHL 000011ee: DUP2 000011ef: MSTORE 000011f0: CALLER 000011f1: PUSH1 0x04 000011f3: DUP3 000011f4: ADD 000011f5: MSTORE 000011f6: SWAP1 000011f7: SWAP2 000011f8: POP 000011f9: PUSH1 0x01 000011fb: PUSH1 0x01 000011fd: PUSH1 0xa0 000011ff: SHL 00001200: SUB 00001201: DUP3 00001202: AND 00001203: SWAP1 00001204: PUSH4 0x7be53ca1 00001209: SWAP1 0000120a: PUSH1 0x24 0000120c: ADD 0000120d: PUSH1 0x20 0000120f: PUSH1 0x40 00001211: MLOAD 00001212: DUP1 00001213: DUP4 00001214: SUB 00001215: DUP2 00001216: DUP7 00001217: GAS 00001218: STATICCALL 00001219: ISZERO 0000121a: DUP1 0000121b: ISZERO 0000121c: PUSH2 0x1227 0000121f: JUMPI 00001220: RETURNDATASIZE 00001221: PUSH0 00001222: DUP1 00001223: RETURNDATACOPY 00001224: RETURNDATASIZE 00001225: PUSH0 00001226: REVERT 00001227: JUMPDEST 00001228: POP 00001229: POP 0000122a: POP 0000122b: POP 0000122c: PUSH1 0x40 0000122e: MLOAD 0000122f: RETURNDATASIZE 00001230: PUSH1 0x1f 00001232: NOT 00001233: PUSH1 0x1f 00001235: DUP3 00001236: ADD 00001237: AND 00001238: DUP3 00001239: ADD 0000123a: DUP1 0000123b: PUSH1 0x40 0000123d: MSTORE 0000123e: POP 0000123f: DUP2 00001240: ADD 00001241: SWAP1 00001242: PUSH2 0x124b 00001245: SWAP2 00001246: SWAP1 00001247: PUSH2 0x25c3 0000124a: JUMP 0000124b: JUMPDEST 0000124c: PUSH1 0x40 0000124e: MLOAD 0000124f: DUP1 00001250: PUSH1 0x40 00001252: ADD 00001253: PUSH1 0x40 00001255: MSTORE 00001256: DUP1 00001257: PUSH1 0x01 00001259: DUP2 0000125a: MSTORE 0000125b: PUSH1 0x20 0000125d: ADD 0000125e: PUSH1 0x31 00001260: PUSH1 0xf8 00001262: SHL 00001263: DUP2 00001264: MSTORE 00001265: POP 00001266: SWAP1 00001267: PUSH2 0x1283 0000126a: JUMPI 0000126b: PUSH1 0x40 0000126d: MLOAD 0000126e: PUSH3 0x461bcd 00001272: PUSH1 0xe5 00001274: SHL 00001275: DUP2 00001276: MSTORE 00001277: PUSH1 0x04 00001279: ADD 0000127a: PUSH2 0x0719 0000127d: SWAP2 0000127e: SWAP1 0000127f: PUSH2 0x218b 00001282: JUMP 00001283: JUMPDEST 00001284: POP 00001285: POP 00001286: PUSH1 0x39 00001288: DUP1 00001289: SLOAD 0000128a: PUSH1 0x01 0000128c: PUSH1 0x01 0000128e: PUSH1 0xa0 00001290: SHL 00001291: SUB 00001292: SWAP1 00001293: SWAP3 00001294: AND 00001295: PUSH2 0x0100 00001298: MUL 00001299: PUSH2 0x0100 0000129c: PUSH1 0x01 0000129e: PUSH1 0xa8 000012a0: SHL 000012a1: SUB 000012a2: NOT 000012a3: SWAP1 000012a4: SWAP3 000012a5: AND 000012a6: SWAP2 000012a7: SWAP1 000012a8: SWAP2 000012a9: OR 000012aa: SWAP1 000012ab: SSTORE 000012ac: JUMP 000012ad: JUMPDEST 000012ae: PUSH1 0x40 000012b0: DUP1 000012b1: MLOAD 000012b2: DUP1 000012b3: DUP3 000012b4: ADD 000012b5: SWAP1 000012b6: SWAP2 000012b7: MSTORE 000012b8: PUSH1 0x02 000012ba: DUP2 000012bb: MSTORE 000012bc: PUSH2 0x3233 000012bf: PUSH1 0xf0 000012c1: SHL 000012c2: PUSH1 0x20 000012c4: DUP3 000012c5: ADD 000012c6: MSTORE 000012c7: CALLER 000012c8: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 000012e9: PUSH1 0x01 000012eb: PUSH1 0x01 000012ed: PUSH1 0xa0 000012ef: SHL 000012f0: SUB 000012f1: AND 000012f2: EQ 000012f3: PUSH2 0x130f 000012f6: JUMPI 000012f7: PUSH1 0x40 000012f9: MLOAD 000012fa: PUSH3 0x461bcd 000012fe: PUSH1 0xe5 00001300: SHL 00001301: DUP2 00001302: MSTORE 00001303: PUSH1 0x04 00001305: ADD 00001306: PUSH2 0x0719 00001309: SWAP2 0000130a: SWAP1 0000130b: PUSH2 0x218b 0000130e: JUMP 0000130f: JUMPDEST 00001310: POP 00001311: PUSH2 0x0c0f 00001314: DUP4 00001315: DUP4 00001316: DUP4 00001317: PUSH0 00001318: PUSH2 0x197d 0000131b: JUMP 0000131c: JUMPDEST 0000131d: PUSH1 0x01 0000131f: PUSH1 0x01 00001321: PUSH1 0xa0 00001323: SHL 00001324: SUB 00001325: DUP4 00001326: DUP2 00001327: AND 00001328: PUSH0 00001329: DUP2 0000132a: DUP2 0000132b: MSTORE 0000132c: PUSH1 0x35 0000132e: PUSH1 0x20 00001330: SWAP1 00001331: DUP2 00001332: MSTORE 00001333: PUSH1 0x40 00001335: DUP1 00001336: DUP4 00001337: KECCAK256 00001338: SWAP5 00001339: DUP8 0000133a: AND 0000133b: DUP1 0000133c: DUP5 0000133d: MSTORE 0000133e: SWAP5 0000133f: DUP3 00001340: MSTORE 00001341: SWAP2 00001342: DUP3 00001343: SWAP1 00001344: KECCAK256 00001345: DUP6 00001346: SWAP1 00001347: SSTORE 00001348: SWAP1 00001349: MLOAD 0000134a: DUP5 0000134b: DUP2 0000134c: MSTORE 0000134d: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 0000136e: SWAP2 0000136f: ADD 00001370: PUSH1 0x40 00001372: MLOAD 00001373: DUP1 00001374: SWAP2 00001375: SUB 00001376: SWAP1 00001377: LOG3 00001378: POP 00001379: POP 0000137a: POP 0000137b: JUMP 0000137c: JUMPDEST 0000137d: PUSH1 0x01 0000137f: PUSH1 0x01 00001381: PUSH1 0xa0 00001383: SHL 00001384: SUB 00001385: AND 00001386: PUSH0 00001387: SWAP1 00001388: DUP2 00001389: MSTORE 0000138a: PUSH1 0x34 0000138c: PUSH1 0x20 0000138e: MSTORE 0000138f: PUSH1 0x40 00001391: SWAP1 00001392: KECCAK256 00001393: SLOAD 00001394: PUSH1 0x01 00001396: PUSH1 0x01 00001398: PUSH1 0x80 0000139a: SHL 0000139b: SUB 0000139c: AND 0000139d: SWAP1 0000139e: JUMP 0000139f: JUMPDEST 000013a0: PUSH0 000013a1: DUP2 000013a2: ISZERO 000013a3: PUSH12 0x019d971e4fe8401e74000000 000013b0: NOT 000013b1: DUP4 000013b2: SWAP1 000013b3: DIV 000013b4: DUP5 000013b5: GT 000013b6: ISZERO 000013b7: OR 000013b8: PUSH2 0x13bf 000013bb: JUMPI 000013bc: PUSH0 000013bd: DUP1 000013be: REVERT 000013bf: JUMPDEST 000013c0: POP 000013c1: PUSH12 0x033b2e3c9fd0803ce8000000 000013ce: SWAP2 000013cf: MUL 000013d0: PUSH12 0x019d971e4fe8401e74000000 000013dd: ADD 000013de: DIV 000013df: SWAP1 000013e0: JUMP 000013e1: JUMPDEST 000013e2: PUSH1 0x37 000013e4: PUSH2 0x0a5f 000013e7: DUP3 000013e8: DUP3 000013e9: PUSH2 0x263a 000013ec: JUMP 000013ed: JUMPDEST 000013ee: PUSH1 0x38 000013f0: PUSH2 0x0a5f 000013f3: DUP3 000013f4: DUP3 000013f5: PUSH2 0x263a 000013f8: JUMP 000013f9: JUMPDEST 000013fa: PUSH0 000013fb: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 0000141c: PUSH2 0x1423 0000141f: PUSH2 0x1b2c 00001422: JUMP 00001423: JUMPDEST 00001424: DUP1 00001425: MLOAD 00001426: PUSH1 0x20 00001428: SWAP2 00001429: DUP3 0000142a: ADD 0000142b: KECCAK256 0000142c: PUSH1 0x40 0000142e: DUP1 0000142f: MLOAD 00001430: DUP1 00001431: DUP3 00001432: ADD 00001433: DUP3 00001434: MSTORE 00001435: PUSH1 0x01 00001437: DUP2 00001438: MSTORE 00001439: PUSH1 0x31 0000143b: PUSH1 0xf8 0000143d: SHL 0000143e: SWAP1 0000143f: DUP5 00001440: ADD 00001441: MSTORE 00001442: DUP1 00001443: MLOAD 00001444: SWAP3 00001445: DUP4 00001446: ADD 00001447: SWAP4 00001448: SWAP1 00001449: SWAP4 0000144a: MSTORE 0000144b: SWAP2 0000144c: DUP2 0000144d: ADD 0000144e: SWAP2 0000144f: SWAP1 00001450: SWAP2 00001451: MSTORE 00001452: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 00001473: PUSH1 0x60 00001475: DUP3 00001476: ADD 00001477: MSTORE 00001478: CHAINID 00001479: PUSH1 0x80 0000147b: DUP3 0000147c: ADD 0000147d: MSTORE 0000147e: ADDRESS 0000147f: PUSH1 0xa0 00001481: DUP3 00001482: ADD 00001483: MSTORE 00001484: PUSH1 0xc0 00001486: ADD 00001487: PUSH1 0x40 00001489: MLOAD 0000148a: PUSH1 0x20 0000148c: DUP2 0000148d: DUP4 0000148e: SUB 0000148f: SUB 00001490: DUP2 00001491: MSTORE 00001492: SWAP1 00001493: PUSH1 0x40 00001495: MSTORE 00001496: DUP1 00001497: MLOAD 00001498: SWAP1 00001499: PUSH1 0x20 0000149b: ADD 0000149c: KECCAK256 0000149d: SWAP1 0000149e: POP 0000149f: SWAP1 000014a0: JUMP 000014a1: JUMPDEST 000014a2: PUSH0 000014a3: PUSH1 0x01 000014a5: PUSH1 0x01 000014a7: PUSH1 0x80 000014a9: SHL 000014aa: SUB 000014ab: DUP3 000014ac: GT 000014ad: ISZERO 000014ae: PUSH2 0x1509 000014b1: JUMPI 000014b2: PUSH1 0x40 000014b4: MLOAD 000014b5: PUSH3 0x461bcd 000014b9: PUSH1 0xe5 000014bb: SHL 000014bc: DUP2 000014bd: MSTORE 000014be: PUSH1 0x20 000014c0: PUSH1 0x04 000014c2: DUP3 000014c3: ADD 000014c4: MSTORE 000014c5: PUSH1 0x27 000014c7: PUSH1 0x24 000014c9: DUP3 000014ca: ADD 000014cb: MSTORE 000014cc: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031 000014ed: PUSH1 0x44 000014ef: DUP3 000014f0: ADD 000014f1: MSTORE 000014f2: PUSH7 0x32382062697473 000014fa: PUSH1 0xc8 000014fc: SHL 000014fd: PUSH1 0x64 000014ff: DUP3 00001500: ADD 00001501: MSTORE 00001502: PUSH1 0x84 00001504: ADD 00001505: PUSH2 0x0719 00001508: JUMP 00001509: JUMPDEST 0000150a: POP 0000150b: SWAP1 0000150c: JUMP 0000150d: JUMPDEST 0000150e: PUSH2 0x0c0f 00001511: DUP4 00001512: DUP4 00001513: DUP4 00001514: PUSH1 0x01 00001516: PUSH1 0x01 00001518: PUSH1 0x80 0000151a: SHL 0000151b: SUB 0000151c: AND 0000151d: PUSH1 0x01 0000151f: PUSH2 0x197d 00001522: JUMP 00001523: JUMPDEST 00001524: PUSH0 00001525: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 00001546: CHAINID 00001547: SUB 00001548: PUSH2 0x1552 0000154b: JUMPI 0000154c: POP 0000154d: PUSH1 0x3b 0000154f: SLOAD 00001550: SWAP1 00001551: JUMP 00001552: JUMPDEST 00001553: PUSH2 0x09aa 00001556: PUSH2 0x13f9 00001559: JUMP 0000155a: JUMPDEST 0000155b: PUSH1 0x40 0000155d: MLOAD 0000155e: PUSH4 0xa9059cbb 00001563: PUSH1 0xe0 00001565: SHL 00001566: DUP1 00001567: DUP3 00001568: MSTORE 00001569: PUSH1 0x01 0000156b: PUSH1 0x01 0000156d: PUSH1 0xa0 0000156f: SHL 00001570: SUB 00001571: DUP5 00001572: AND 00001573: PUSH1 0x04 00001575: DUP4 00001576: ADD 00001577: MSTORE 00001578: PUSH1 0x24 0000157a: DUP3 0000157b: ADD 0000157c: DUP4 0000157d: SWAP1 0000157e: MSTORE 0000157f: SWAP1 00001580: PUSH0 00001581: DUP1 00001582: PUSH1 0x44 00001584: DUP4 00001585: DUP3 00001586: DUP10 00001587: GAS 00001588: CALL 00001589: PUSH2 0x1594 0000158c: JUMPI 0000158d: RETURNDATASIZE 0000158e: PUSH0 0000158f: DUP1 00001590: RETURNDATACOPY 00001591: RETURNDATASIZE 00001592: PUSH0 00001593: REVERT 00001594: JUMPDEST 00001595: POP 00001596: PUSH2 0x159e 00001599: DUP5 0000159a: PUSH2 0x1b36 0000159d: JUMP 0000159e: JUMPDEST 0000159f: PUSH2 0x0ac5 000015a2: JUMPI 000015a3: PUSH1 0x40 000015a5: MLOAD 000015a6: PUSH3 0x461bcd 000015aa: PUSH1 0xe5 000015ac: SHL 000015ad: DUP2 000015ae: MSTORE 000015af: PUSH1 0x20 000015b1: PUSH1 0x04 000015b3: DUP3 000015b4: ADD 000015b5: MSTORE 000015b6: PUSH1 0x15 000015b8: PUSH1 0x24 000015ba: DUP3 000015bb: ADD 000015bc: MSTORE 000015bd: PUSH21 0x23a83b191d103330b4b632b2103a3930b739b332b9 000015d3: PUSH1 0x59 000015d5: SHL 000015d6: PUSH1 0x44 000015d8: DUP3 000015d9: ADD 000015da: MSTORE 000015db: PUSH1 0x64 000015dd: ADD 000015de: PUSH2 0x0719 000015e1: JUMP 000015e2: JUMPDEST 000015e3: PUSH0 000015e4: DUP1 000015e5: PUSH2 0x15ee 000015e8: DUP5 000015e9: DUP5 000015ea: PUSH2 0x1bd9 000015ed: JUMP 000015ee: JUMPDEST 000015ef: PUSH1 0x40 000015f1: DUP1 000015f2: MLOAD 000015f3: DUP1 000015f4: DUP3 000015f5: ADD 000015f6: SWAP1 000015f7: SWAP2 000015f8: MSTORE 000015f9: PUSH1 0x02 000015fb: DUP2 000015fc: MSTORE 000015fd: PUSH2 0x0c8d 00001600: PUSH1 0xf2 00001602: SHL 00001603: PUSH1 0x20 00001605: DUP3 00001606: ADD 00001607: MSTORE 00001608: SWAP1 00001609: SWAP2 0000160a: POP 0000160b: DUP2 0000160c: PUSH2 0x1628 0000160f: JUMPI 00001610: PUSH1 0x40 00001612: MLOAD 00001613: PUSH3 0x461bcd 00001617: PUSH1 0xe5 00001619: SHL 0000161a: DUP2 0000161b: MSTORE 0000161c: PUSH1 0x04 0000161e: ADD 0000161f: PUSH2 0x0719 00001622: SWAP2 00001623: SWAP1 00001624: PUSH2 0x218b 00001627: JUMP 00001628: JUMPDEST 00001629: POP 0000162a: PUSH0 0000162b: PUSH2 0x1633 0000162e: DUP7 0000162f: PUSH2 0x137c 00001632: JUMP 00001633: JUMPDEST 00001634: PUSH1 0x01 00001636: PUSH1 0x01 00001638: PUSH1 0xa0 0000163a: SHL 0000163b: SUB 0000163c: DUP8 0000163d: AND 0000163e: PUSH0 0000163f: SWAP1 00001640: DUP2 00001641: MSTORE 00001642: PUSH1 0x34 00001644: PUSH1 0x20 00001646: MSTORE 00001647: PUSH1 0x40 00001649: DUP2 0000164a: KECCAK256 0000164b: SLOAD 0000164c: SWAP2 0000164d: SWAP3 0000164e: POP 0000164f: SWAP1 00001650: PUSH2 0x166a 00001653: SWAP1 00001654: DUP4 00001655: SWAP1 00001656: PUSH1 0x01 00001658: PUSH1 0x80 0000165a: SHL 0000165b: SWAP1 0000165c: DIV 0000165d: PUSH1 0x01 0000165f: PUSH1 0x01 00001661: PUSH1 0x80 00001663: SHL 00001664: SUB 00001665: AND 00001666: PUSH2 0x139f 00001669: JUMP 0000166a: JUMPDEST 0000166b: PUSH2 0x1674 0000166e: DUP4 0000166f: DUP8 00001670: PUSH2 0x139f 00001673: JUMP 00001674: JUMPDEST 00001675: PUSH2 0x167e 00001678: SWAP2 00001679: SWAP1 0000167a: PUSH2 0x2582 0000167d: JUMP 0000167e: JUMPDEST 0000167f: SWAP1 00001680: POP 00001681: PUSH2 0x1689 00001684: DUP6 00001685: PUSH2 0x14a1 00001688: JUMP 00001689: JUMPDEST 0000168a: PUSH1 0x01 0000168c: PUSH1 0x01 0000168e: PUSH1 0xa0 00001690: SHL 00001691: SUB 00001692: DUP9 00001693: AND 00001694: PUSH0 00001695: SWAP1 00001696: DUP2 00001697: MSTORE 00001698: PUSH1 0x34 0000169a: PUSH1 0x20 0000169c: MSTORE 0000169d: PUSH1 0x40 0000169f: SWAP1 000016a0: KECCAK256 000016a1: DUP1 000016a2: SLOAD 000016a3: PUSH1 0x01 000016a5: PUSH1 0x01 000016a7: PUSH1 0x80 000016a9: SHL 000016aa: SUB 000016ab: SWAP3 000016ac: DUP4 000016ad: AND 000016ae: PUSH1 0x01 000016b0: PUSH1 0x80 000016b2: SHL 000016b3: MUL 000016b4: SWAP3 000016b5: AND 000016b6: SWAP2 000016b7: SWAP1 000016b8: SWAP2 000016b9: OR 000016ba: SWAP1 000016bb: SSTORE 000016bc: PUSH2 0x16cd 000016bf: DUP8 000016c0: PUSH2 0x16c8 000016c3: DUP6 000016c4: PUSH2 0x14a1 000016c7: JUMP 000016c8: JUMPDEST 000016c9: PUSH2 0x1c16 000016cc: JUMP 000016cd: JUMPDEST 000016ce: PUSH0 000016cf: PUSH2 0x16d8 000016d2: DUP3 000016d3: DUP9 000016d4: PUSH2 0x2595 000016d7: JUMP 000016d8: JUMPDEST 000016d9: SWAP1 000016da: POP 000016db: DUP8 000016dc: PUSH1 0x01 000016de: PUSH1 0x01 000016e0: PUSH1 0xa0 000016e2: SHL 000016e3: SUB 000016e4: AND 000016e5: PUSH0 000016e6: PUSH1 0x01 000016e8: PUSH1 0x01 000016ea: PUSH1 0xa0 000016ec: SHL 000016ed: SUB 000016ee: AND 000016ef: PUSH0 000016f0: DUP1 000016f1: MLOAD 000016f2: PUSH1 0x20 000016f4: PUSH2 0x2788 000016f7: DUP4 000016f8: CODECOPY 000016f9: DUP2 000016fa: MLOAD 000016fb: SWAP2 000016fc: MSTORE 000016fd: DUP4 000016fe: PUSH1 0x40 00001700: MLOAD 00001701: PUSH2 0x170c 00001704: SWAP2 00001705: DUP2 00001706: MSTORE 00001707: PUSH1 0x20 00001709: ADD 0000170a: SWAP1 0000170b: JUMP 0000170c: JUMPDEST 0000170d: PUSH1 0x40 0000170f: MLOAD 00001710: DUP1 00001711: SWAP2 00001712: SUB 00001713: SWAP1 00001714: LOG3 00001715: PUSH1 0x40 00001717: DUP1 00001718: MLOAD 00001719: DUP3 0000171a: DUP2 0000171b: MSTORE 0000171c: PUSH1 0x20 0000171e: DUP2 0000171f: ADD 00001720: DUP5 00001721: SWAP1 00001722: MSTORE 00001723: SWAP1 00001724: DUP2 00001725: ADD 00001726: DUP8 00001727: SWAP1 00001728: MSTORE 00001729: PUSH1 0x01 0000172b: PUSH1 0x01 0000172d: PUSH1 0xa0 0000172f: SHL 00001730: SUB 00001731: DUP1 00001732: DUP11 00001733: AND 00001734: SWAP2 00001735: SWAP1 00001736: DUP12 00001737: AND 00001738: SWAP1 00001739: PUSH0 0000173a: DUP1 0000173b: MLOAD 0000173c: PUSH1 0x20 0000173e: PUSH2 0x2768 00001741: DUP4 00001742: CODECOPY 00001743: DUP2 00001744: MLOAD 00001745: SWAP2 00001746: MSTORE 00001747: SWAP1 00001748: PUSH1 0x60 0000174a: ADD 0000174b: PUSH1 0x40 0000174d: MLOAD 0000174e: DUP1 0000174f: SWAP2 00001750: SUB 00001751: SWAP1 00001752: LOG3 00001753: POP 00001754: POP 00001755: ISZERO 00001756: SWAP7 00001757: SWAP6 00001758: POP 00001759: POP 0000175a: POP 0000175b: POP 0000175c: POP 0000175d: POP 0000175e: JUMP 0000175f: JUMPDEST 00001760: PUSH0 00001761: PUSH2 0x176a 00001764: DUP4 00001765: DUP4 00001766: PUSH2 0x1bd9 00001769: JUMP 0000176a: JUMPDEST 0000176b: PUSH1 0x40 0000176d: DUP1 0000176e: MLOAD 0000176f: DUP1 00001770: DUP3 00001771: ADD 00001772: SWAP1 00001773: SWAP2 00001774: MSTORE 00001775: PUSH1 0x02 00001777: DUP2 00001778: MSTORE 00001779: PUSH2 0x3235 0000177c: PUSH1 0xf0 0000177e: SHL 0000177f: PUSH1 0x20 00001781: DUP3 00001782: ADD 00001783: MSTORE 00001784: SWAP1 00001785: SWAP2 00001786: POP 00001787: DUP2 00001788: PUSH2 0x17a4 0000178b: JUMPI 0000178c: PUSH1 0x40 0000178e: MLOAD 0000178f: PUSH3 0x461bcd 00001793: PUSH1 0xe5 00001795: SHL 00001796: DUP2 00001797: MSTORE 00001798: PUSH1 0x04 0000179a: ADD 0000179b: PUSH2 0x0719 0000179e: SWAP2 0000179f: SWAP1 000017a0: PUSH2 0x218b 000017a3: JUMP 000017a4: JUMPDEST 000017a5: POP 000017a6: PUSH0 000017a7: PUSH2 0x17af 000017aa: DUP7 000017ab: PUSH2 0x137c 000017ae: JUMP 000017af: JUMPDEST 000017b0: PUSH1 0x01 000017b2: PUSH1 0x01 000017b4: PUSH1 0xa0 000017b6: SHL 000017b7: SUB 000017b8: DUP8 000017b9: AND 000017ba: PUSH0 000017bb: SWAP1 000017bc: DUP2 000017bd: MSTORE 000017be: PUSH1 0x34 000017c0: PUSH1 0x20 000017c2: MSTORE 000017c3: PUSH1 0x40 000017c5: DUP2 000017c6: KECCAK256 000017c7: SLOAD 000017c8: SWAP2 000017c9: SWAP3 000017ca: POP 000017cb: SWAP1 000017cc: PUSH2 0x17e6 000017cf: SWAP1 000017d0: DUP4 000017d1: SWAP1 000017d2: PUSH1 0x01 000017d4: PUSH1 0x80 000017d6: SHL 000017d7: SWAP1 000017d8: DIV 000017d9: PUSH1 0x01 000017db: PUSH1 0x01 000017dd: PUSH1 0x80 000017df: SHL 000017e0: SUB 000017e1: AND 000017e2: PUSH2 0x139f 000017e5: JUMP 000017e6: JUMPDEST 000017e7: PUSH2 0x17f0 000017ea: DUP4 000017eb: DUP7 000017ec: PUSH2 0x139f 000017ef: JUMP 000017f0: JUMPDEST 000017f1: PUSH2 0x17fa 000017f4: SWAP2 000017f5: SWAP1 000017f6: PUSH2 0x2582 000017f9: JUMP 000017fa: JUMPDEST 000017fb: SWAP1 000017fc: POP 000017fd: PUSH2 0x1805 00001800: DUP5 00001801: PUSH2 0x14a1 00001804: JUMP 00001805: JUMPDEST 00001806: PUSH1 0x01 00001808: PUSH1 0x01 0000180a: PUSH1 0xa0 0000180c: SHL 0000180d: SUB 0000180e: DUP9 0000180f: AND 00001810: PUSH0 00001811: SWAP1 00001812: DUP2 00001813: MSTORE 00001814: PUSH1 0x34 00001816: PUSH1 0x20 00001818: MSTORE 00001819: PUSH1 0x40 0000181b: SWAP1 0000181c: KECCAK256 0000181d: DUP1 0000181e: SLOAD 0000181f: PUSH1 0x01 00001821: PUSH1 0x01 00001823: PUSH1 0x80 00001825: SHL 00001826: SUB 00001827: SWAP3 00001828: DUP4 00001829: AND 0000182a: PUSH1 0x01 0000182c: PUSH1 0x80 0000182e: SHL 0000182f: MUL 00001830: SWAP3 00001831: AND 00001832: SWAP2 00001833: SWAP1 00001834: SWAP2 00001835: OR 00001836: SWAP1 00001837: SSTORE 00001838: PUSH2 0x1849 0000183b: DUP8 0000183c: PUSH2 0x1844 0000183f: DUP6 00001840: PUSH2 0x14a1 00001843: JUMP 00001844: JUMPDEST 00001845: PUSH2 0x1d00 00001848: JUMP 00001849: JUMPDEST 0000184a: DUP5 0000184b: DUP2 0000184c: GT 0000184d: ISZERO 0000184e: PUSH2 0x18d9 00001851: JUMPI 00001852: PUSH0 00001853: PUSH2 0x185c 00001856: DUP7 00001857: DUP4 00001858: PUSH2 0x2582 0000185b: JUMP 0000185c: JUMPDEST 0000185d: SWAP1 0000185e: POP 0000185f: DUP8 00001860: PUSH1 0x01 00001862: PUSH1 0x01 00001864: PUSH1 0xa0 00001866: SHL 00001867: SUB 00001868: AND 00001869: PUSH0 0000186a: PUSH1 0x01 0000186c: PUSH1 0x01 0000186e: PUSH1 0xa0 00001870: SHL 00001871: SUB 00001872: AND 00001873: PUSH0 00001874: DUP1 00001875: MLOAD 00001876: PUSH1 0x20 00001878: PUSH2 0x2788 0000187b: DUP4 0000187c: CODECOPY 0000187d: DUP2 0000187e: MLOAD 0000187f: SWAP2 00001880: MSTORE 00001881: DUP4 00001882: PUSH1 0x40 00001884: MLOAD 00001885: PUSH2 0x1890 00001888: SWAP2 00001889: DUP2 0000188a: MSTORE 0000188b: PUSH1 0x20 0000188d: ADD 0000188e: SWAP1 0000188f: JUMP 00001890: JUMPDEST 00001891: PUSH1 0x40 00001893: MLOAD 00001894: DUP1 00001895: SWAP2 00001896: SUB 00001897: SWAP1 00001898: LOG3 00001899: PUSH1 0x40 0000189b: DUP1 0000189c: MLOAD 0000189d: DUP3 0000189e: DUP2 0000189f: MSTORE 000018a0: PUSH1 0x20 000018a2: DUP2 000018a3: ADD 000018a4: DUP5 000018a5: SWAP1 000018a6: MSTORE 000018a7: SWAP1 000018a8: DUP2 000018a9: ADD 000018aa: DUP7 000018ab: SWAP1 000018ac: MSTORE 000018ad: PUSH1 0x01 000018af: PUSH1 0x01 000018b1: PUSH1 0xa0 000018b3: SHL 000018b4: SUB 000018b5: DUP10 000018b6: AND 000018b7: SWAP1 000018b8: DUP2 000018b9: SWAP1 000018ba: PUSH0 000018bb: DUP1 000018bc: MLOAD 000018bd: PUSH1 0x20 000018bf: PUSH2 0x2768 000018c2: DUP4 000018c3: CODECOPY 000018c4: DUP2 000018c5: MLOAD 000018c6: SWAP2 000018c7: MSTORE 000018c8: SWAP1 000018c9: PUSH1 0x60 000018cb: ADD 000018cc: PUSH1 0x40 000018ce: MLOAD 000018cf: DUP1 000018d0: SWAP2 000018d1: SUB 000018d2: SWAP1 000018d3: LOG3 000018d4: POP 000018d5: PUSH2 0x1974 000018d8: JUMP 000018d9: JUMPDEST 000018da: PUSH0 000018db: PUSH2 0x18e4 000018de: DUP3 000018df: DUP8 000018e0: PUSH2 0x2582 000018e3: JUMP 000018e4: JUMPDEST 000018e5: SWAP1 000018e6: POP 000018e7: PUSH0 000018e8: PUSH1 0x01 000018ea: PUSH1 0x01 000018ec: PUSH1 0xa0 000018ee: SHL 000018ef: SUB 000018f0: AND 000018f1: DUP9 000018f2: PUSH1 0x01 000018f4: PUSH1 0x01 000018f6: PUSH1 0xa0 000018f8: SHL 000018f9: SUB 000018fa: AND 000018fb: PUSH0 000018fc: DUP1 000018fd: MLOAD 000018fe: PUSH1 0x20 00001900: PUSH2 0x2788 00001903: DUP4 00001904: CODECOPY 00001905: DUP2 00001906: MLOAD 00001907: SWAP2 00001908: MSTORE 00001909: DUP4 0000190a: PUSH1 0x40 0000190c: MLOAD 0000190d: PUSH2 0x1918 00001910: SWAP2 00001911: DUP2 00001912: MSTORE 00001913: PUSH1 0x20 00001915: ADD 00001916: SWAP1 00001917: JUMP 00001918: JUMPDEST 00001919: PUSH1 0x40 0000191b: MLOAD 0000191c: DUP1 0000191d: SWAP2 0000191e: SUB 0000191f: SWAP1 00001920: LOG3 00001921: PUSH1 0x40 00001923: DUP1 00001924: MLOAD 00001925: DUP3 00001926: DUP2 00001927: MSTORE 00001928: PUSH1 0x20 0000192a: DUP2 0000192b: ADD 0000192c: DUP5 0000192d: SWAP1 0000192e: MSTORE 0000192f: SWAP1 00001930: DUP2 00001931: ADD 00001932: DUP7 00001933: SWAP1 00001934: MSTORE 00001935: PUSH1 0x01 00001937: PUSH1 0x01 00001939: PUSH1 0xa0 0000193b: SHL 0000193c: SUB 0000193d: DUP1 0000193e: DUP10 0000193f: AND 00001940: SWAP2 00001941: SWAP1 00001942: DUP11 00001943: AND 00001944: SWAP1 00001945: PUSH32 0x4cf25bc1d991c17529c25213d3cc0cda295eeaad5f13f361969b12ea48015f90 00001966: SWAP1 00001967: PUSH1 0x60 00001969: ADD 0000196a: JUMPDEST 0000196b: PUSH1 0x40 0000196d: MLOAD 0000196e: DUP1 0000196f: SWAP2 00001970: SUB 00001971: SWAP1 00001972: LOG3 00001973: POP 00001974: JUMPDEST 00001975: POP 00001976: POP 00001977: POP 00001978: POP 00001979: POP 0000197a: POP 0000197b: POP 0000197c: JUMP 0000197d: JUMPDEST 0000197e: PUSH1 0x3d 00001980: SLOAD 00001981: PUSH1 0x40 00001983: MLOAD 00001984: PUSH4 0xd15e0053 00001989: PUSH1 0xe0 0000198b: SHL 0000198c: DUP2 0000198d: MSTORE 0000198e: PUSH1 0x01 00001990: PUSH1 0x01 00001992: PUSH1 0xa0 00001994: SHL 00001995: SUB 00001996: SWAP2 00001997: DUP3 00001998: AND 00001999: PUSH1 0x04 0000199b: DUP3 0000199c: ADD 0000199d: DUP2 0000199e: SWAP1 0000199f: MSTORE 000019a0: SWAP2 000019a1: PUSH0 000019a2: SWAP2 000019a3: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 000019c4: SWAP1 000019c5: SWAP2 000019c6: AND 000019c7: SWAP1 000019c8: PUSH4 0xd15e0053 000019cd: SWAP1 000019ce: PUSH1 0x24 000019d0: ADD 000019d1: PUSH1 0x20 000019d3: PUSH1 0x40 000019d5: MLOAD 000019d6: DUP1 000019d7: DUP4 000019d8: SUB 000019d9: DUP2 000019da: DUP7 000019db: GAS 000019dc: STATICCALL 000019dd: ISZERO 000019de: DUP1 000019df: ISZERO 000019e0: PUSH2 0x19eb 000019e3: JUMPI 000019e4: RETURNDATASIZE 000019e5: PUSH0 000019e6: DUP1 000019e7: RETURNDATACOPY 000019e8: RETURNDATASIZE 000019e9: PUSH0 000019ea: REVERT 000019eb: JUMPDEST 000019ec: POP 000019ed: POP 000019ee: POP 000019ef: POP 000019f0: PUSH1 0x40 000019f2: MLOAD 000019f3: RETURNDATASIZE 000019f4: PUSH1 0x1f 000019f6: NOT 000019f7: PUSH1 0x1f 000019f9: DUP3 000019fa: ADD 000019fb: AND 000019fc: DUP3 000019fd: ADD 000019fe: DUP1 000019ff: PUSH1 0x40 00001a01: MSTORE 00001a02: POP 00001a03: DUP2 00001a04: ADD 00001a05: SWAP1 00001a06: PUSH2 0x1a0f 00001a09: SWAP2 00001a0a: SWAP1 00001a0b: PUSH2 0x24c2 00001a0e: JUMP 00001a0f: JUMPDEST 00001a10: SWAP1 00001a11: POP 00001a12: PUSH0 00001a13: PUSH2 0x1a1f 00001a16: DUP3 00001a17: PUSH2 0x0b67 00001a1a: DUP10 00001a1b: PUSH2 0x137c 00001a1e: JUMP 00001a1f: JUMPDEST 00001a20: SWAP1 00001a21: POP 00001a22: PUSH0 00001a23: PUSH2 0x1a2f 00001a26: DUP4 00001a27: PUSH2 0x0b67 00001a2a: DUP10 00001a2b: PUSH2 0x137c 00001a2e: JUMP 00001a2f: JUMPDEST 00001a30: SWAP1 00001a31: POP 00001a32: PUSH2 0x1a3d 00001a35: DUP9 00001a36: DUP9 00001a37: DUP9 00001a38: DUP7 00001a39: PUSH2 0x1d44 00001a3c: JUMP 00001a3d: JUMPDEST 00001a3e: DUP5 00001a3f: ISZERO 00001a40: PUSH2 0x1adf 00001a43: JUMPI 00001a44: PUSH1 0x40 00001a46: MLOAD 00001a47: PUSH4 0xd5ed3933 00001a4c: PUSH1 0xe0 00001a4e: SHL 00001a4f: DUP2 00001a50: MSTORE 00001a51: PUSH1 0x01 00001a53: PUSH1 0x01 00001a55: PUSH1 0xa0 00001a57: SHL 00001a58: SUB 00001a59: DUP6 00001a5a: DUP2 00001a5b: AND 00001a5c: PUSH1 0x04 00001a5e: DUP4 00001a5f: ADD 00001a60: MSTORE 00001a61: DUP10 00001a62: DUP2 00001a63: AND 00001a64: PUSH1 0x24 00001a66: DUP4 00001a67: ADD 00001a68: MSTORE 00001a69: DUP9 00001a6a: DUP2 00001a6b: AND 00001a6c: PUSH1 0x44 00001a6e: DUP4 00001a6f: ADD 00001a70: MSTORE 00001a71: PUSH1 0x64 00001a73: DUP3 00001a74: ADD 00001a75: DUP9 00001a76: SWAP1 00001a77: MSTORE 00001a78: PUSH1 0x84 00001a7a: DUP3 00001a7b: ADD 00001a7c: DUP5 00001a7d: SWAP1 00001a7e: MSTORE 00001a7f: PUSH1 0xa4 00001a81: DUP3 00001a82: ADD 00001a83: DUP4 00001a84: SWAP1 00001a85: MSTORE 00001a86: PUSH32 0x000000000000000000000000ae05cd22df81871bc7cc2a04becfb516bfe332c8 00001aa7: AND 00001aa8: SWAP1 00001aa9: PUSH4 0xd5ed3933 00001aae: SWAP1 00001aaf: PUSH1 0xc4 00001ab1: ADD 00001ab2: PUSH0 00001ab3: PUSH1 0x40 00001ab5: MLOAD 00001ab6: DUP1 00001ab7: DUP4 00001ab8: SUB 00001ab9: DUP2 00001aba: PUSH0 00001abb: DUP8 00001abc: DUP1 00001abd: EXTCODESIZE 00001abe: ISZERO 00001abf: DUP1 00001ac0: ISZERO 00001ac1: PUSH2 0x1ac8 00001ac4: JUMPI 00001ac5: PUSH0 00001ac6: DUP1 00001ac7: REVERT 00001ac8: JUMPDEST 00001ac9: POP 00001aca: GAS 00001acb: CALL 00001acc: ISZERO 00001acd: DUP1 00001ace: ISZERO 00001acf: PUSH2 0x1ada 00001ad2: JUMPI 00001ad3: RETURNDATASIZE 00001ad4: PUSH0 00001ad5: DUP1 00001ad6: RETURNDATACOPY 00001ad7: RETURNDATASIZE 00001ad8: PUSH0 00001ad9: REVERT 00001ada: JUMPDEST 00001adb: POP 00001adc: POP 00001add: POP 00001ade: POP 00001adf: JUMPDEST 00001ae0: PUSH1 0x01 00001ae2: PUSH1 0x01 00001ae4: PUSH1 0xa0 00001ae6: SHL 00001ae7: SUB 00001ae8: DUP1 00001ae9: DUP9 00001aea: AND 00001aeb: SWAP1 00001aec: DUP10 00001aed: AND 00001aee: PUSH32 0x4beccb90f994c31aced7a23b5611020728a23d8ec5cddd1a3e9d97b96fda8666 00001b0f: PUSH2 0x1b18 00001b12: DUP10 00001b13: DUP8 00001b14: PUSH2 0x1bd9 00001b17: JUMP 00001b18: JUMPDEST 00001b19: PUSH1 0x40 00001b1b: DUP1 00001b1c: MLOAD 00001b1d: SWAP2 00001b1e: DUP3 00001b1f: MSTORE 00001b20: PUSH1 0x20 00001b22: DUP3 00001b23: ADD 00001b24: DUP9 00001b25: SWAP1 00001b26: MSTORE 00001b27: ADD 00001b28: PUSH2 0x196a 00001b2b: JUMP 00001b2c: JUMPDEST 00001b2d: PUSH1 0x60 00001b2f: PUSH2 0x09aa 00001b32: PUSH2 0x0528 00001b35: JUMP 00001b36: JUMPDEST 00001b37: PUSH0 00001b38: PUSH2 0x1b58 00001b3b: JUMP 00001b3c: JUMPDEST 00001b3d: PUSH3 0x461bcd 00001b41: PUSH1 0xe5 00001b43: SHL 00001b44: PUSH0 00001b45: MSTORE 00001b46: PUSH1 0x20 00001b48: PUSH1 0x04 00001b4a: MSTORE 00001b4b: DUP1 00001b4c: PUSH1 0x24 00001b4e: MSTORE 00001b4f: POP 00001b50: DUP1 00001b51: PUSH1 0x44 00001b53: MSTORE 00001b54: PUSH1 0x64 00001b56: PUSH0 00001b57: REVERT 00001b58: JUMPDEST 00001b59: RETURNDATASIZE 00001b5a: DUP1 00001b5b: ISZERO 00001b5c: PUSH2 0x1b97 00001b5f: JUMPI 00001b60: PUSH1 0x20 00001b62: DUP2 00001b63: EQ 00001b64: PUSH2 0x1bc8 00001b67: JUMPI 00001b68: PUSH2 0x1b92 00001b6b: PUSH32 0x475076323a206d616c666f726d6564207472616e7366657220726573756c7400 00001b8c: PUSH1 0x1f 00001b8e: PUSH2 0x1b3c 00001b91: JUMP 00001b92: JUMPDEST 00001b93: PUSH2 0x1bd3 00001b96: JUMP 00001b97: JUMPDEST 00001b98: DUP3 00001b99: EXTCODESIZE 00001b9a: PUSH2 0x1bbf 00001b9d: JUMPI 00001b9e: PUSH2 0x1bbf 00001ba1: PUSH20 0x11d41d8c8e881b9bdd08184818dbdb9d1c9858dd 00001bb6: PUSH1 0x62 00001bb8: SHL 00001bb9: PUSH1 0x14 00001bbb: PUSH2 0x1b3c 00001bbe: JUMP 00001bbf: JUMPDEST 00001bc0: PUSH1 0x01 00001bc2: SWAP2 00001bc3: POP 00001bc4: PUSH2 0x1bd3 00001bc7: JUMP 00001bc8: JUMPDEST 00001bc9: RETURNDATASIZE 00001bca: PUSH0 00001bcb: DUP1 00001bcc: RETURNDATACOPY 00001bcd: PUSH0 00001bce: MLOAD 00001bcf: ISZERO 00001bd0: ISZERO 00001bd1: SWAP2 00001bd2: POP 00001bd3: JUMPDEST 00001bd4: POP 00001bd5: SWAP2 00001bd6: SWAP1 00001bd7: POP 00001bd8: JUMP 00001bd9: JUMPDEST 00001bda: PUSH0 00001bdb: DUP2 00001bdc: ISZERO 00001bdd: PUSH12 0x033b2e3c9fd0803ce8000000 00001bea: PUSH1 0x02 00001bec: DUP5 00001bed: DIV 00001bee: NOT 00001bef: DIV 00001bf0: DUP5 00001bf1: GT 00001bf2: OR 00001bf3: ISZERO 00001bf4: PUSH2 0x1bfb 00001bf7: JUMPI 00001bf8: PUSH0 00001bf9: DUP1 00001bfa: REVERT 00001bfb: JUMPDEST 00001bfc: POP 00001bfd: PUSH12 0x033b2e3c9fd0803ce8000000 00001c0a: SWAP2 00001c0b: SWAP1 00001c0c: SWAP2 00001c0d: MUL 00001c0e: PUSH1 0x02 00001c10: DUP3 00001c11: DIV 00001c12: ADD 00001c13: DIV 00001c14: SWAP1 00001c15: JUMP 00001c16: JUMPDEST 00001c17: PUSH1 0x36 00001c19: SLOAD 00001c1a: PUSH2 0x1c2c 00001c1d: PUSH1 0x01 00001c1f: PUSH1 0x01 00001c21: PUSH1 0x80 00001c23: SHL 00001c24: SUB 00001c25: DUP4 00001c26: AND 00001c27: DUP3 00001c28: PUSH2 0x2595 00001c2b: JUMP 00001c2c: JUMPDEST 00001c2d: PUSH1 0x36 00001c2f: SSTORE 00001c30: PUSH1 0x01 00001c32: PUSH1 0x01 00001c34: PUSH1 0xa0 00001c36: SHL 00001c37: SUB 00001c38: DUP4 00001c39: AND 00001c3a: PUSH0 00001c3b: SWAP1 00001c3c: DUP2 00001c3d: MSTORE 00001c3e: PUSH1 0x34 00001c40: PUSH1 0x20 00001c42: MSTORE 00001c43: PUSH1 0x40 00001c45: SWAP1 00001c46: KECCAK256 00001c47: SLOAD 00001c48: PUSH1 0x01 00001c4a: PUSH1 0x01 00001c4c: PUSH1 0x80 00001c4e: SHL 00001c4f: SUB 00001c50: AND 00001c51: PUSH2 0x1c5a 00001c54: DUP4 00001c55: DUP3 00001c56: PUSH2 0x26f6 00001c59: JUMP 00001c5a: JUMPDEST 00001c5b: PUSH1 0x01 00001c5d: PUSH1 0x01 00001c5f: PUSH1 0xa0 00001c61: SHL 00001c62: SUB 00001c63: DUP6 00001c64: DUP2 00001c65: AND 00001c66: PUSH0 00001c67: SWAP1 00001c68: DUP2 00001c69: MSTORE 00001c6a: PUSH1 0x34 00001c6c: PUSH1 0x20 00001c6e: MSTORE 00001c6f: PUSH1 0x40 00001c71: SWAP1 00001c72: KECCAK256 00001c73: DUP1 00001c74: SLOAD 00001c75: PUSH1 0x01 00001c77: PUSH1 0x01 00001c79: PUSH1 0x80 00001c7b: SHL 00001c7c: SUB 00001c7d: NOT 00001c7e: AND 00001c7f: PUSH1 0x01 00001c81: PUSH1 0x01 00001c83: PUSH1 0x80 00001c85: SHL 00001c86: SUB 00001c87: SWAP4 00001c88: SWAP1 00001c89: SWAP4 00001c8a: AND 00001c8b: SWAP3 00001c8c: SWAP1 00001c8d: SWAP3 00001c8e: OR 00001c8f: SWAP1 00001c90: SWAP2 00001c91: SSTORE 00001c92: PUSH1 0x39 00001c94: SLOAD 00001c95: PUSH2 0x0100 00001c98: SWAP1 00001c99: DIV 00001c9a: AND 00001c9b: DUP1 00001c9c: ISZERO 00001c9d: PUSH2 0x1cf9 00001ca0: JUMPI 00001ca1: PUSH1 0x40 00001ca3: MLOAD 00001ca4: PUSH4 0x18c39f17 00001ca9: PUSH1 0xe1 00001cab: SHL 00001cac: DUP2 00001cad: MSTORE 00001cae: PUSH1 0x01 00001cb0: PUSH1 0x01 00001cb2: PUSH1 0xa0 00001cb4: SHL 00001cb5: SUB 00001cb6: DUP3 00001cb7: AND 00001cb8: SWAP1 00001cb9: PUSH4 0x31873e2e 00001cbe: SWAP1 00001cbf: PUSH2 0x1cd0 00001cc2: SWAP1 00001cc3: DUP9 00001cc4: SWAP1 00001cc5: DUP8 00001cc6: SWAP1 00001cc7: DUP8 00001cc8: SWAP1 00001cc9: PUSH1 0x04 00001ccb: ADD 00001ccc: PUSH2 0x271d 00001ccf: JUMP 00001cd0: JUMPDEST 00001cd1: PUSH0 00001cd2: PUSH1 0x40 00001cd4: MLOAD 00001cd5: DUP1 00001cd6: DUP4 00001cd7: SUB 00001cd8: DUP2 00001cd9: PUSH0 00001cda: DUP8 00001cdb: DUP1 00001cdc: EXTCODESIZE 00001cdd: ISZERO 00001cde: DUP1 00001cdf: ISZERO 00001ce0: PUSH2 0x1ce7 00001ce3: JUMPI 00001ce4: PUSH0 00001ce5: DUP1 00001ce6: REVERT 00001ce7: JUMPDEST 00001ce8: POP 00001ce9: GAS 00001cea: CALL 00001ceb: ISZERO 00001cec: DUP1 00001ced: ISZERO 00001cee: PUSH2 0x10c0 00001cf1: JUMPI 00001cf2: RETURNDATASIZE 00001cf3: PUSH0 00001cf4: DUP1 00001cf5: RETURNDATACOPY 00001cf6: RETURNDATASIZE 00001cf7: PUSH0 00001cf8: REVERT 00001cf9: JUMPDEST 00001cfa: POP 00001cfb: POP 00001cfc: POP 00001cfd: POP 00001cfe: POP 00001cff: JUMP 00001d00: JUMPDEST 00001d01: PUSH1 0x36 00001d03: SLOAD 00001d04: PUSH2 0x1d16 00001d07: PUSH1 0x01 00001d09: PUSH1 0x01 00001d0b: PUSH1 0x80 00001d0d: SHL 00001d0e: SUB 00001d0f: DUP4 00001d10: AND 00001d11: DUP3 00001d12: PUSH2 0x2582 00001d15: JUMP 00001d16: JUMPDEST 00001d17: PUSH1 0x36 00001d19: SSTORE 00001d1a: PUSH1 0x01 00001d1c: PUSH1 0x01 00001d1e: PUSH1 0xa0 00001d20: SHL 00001d21: SUB 00001d22: DUP4 00001d23: AND 00001d24: PUSH0 00001d25: SWAP1 00001d26: DUP2 00001d27: MSTORE 00001d28: PUSH1 0x34 00001d2a: PUSH1 0x20 00001d2c: MSTORE 00001d2d: PUSH1 0x40 00001d2f: SWAP1 00001d30: KECCAK256 00001d31: SLOAD 00001d32: PUSH1 0x01 00001d34: PUSH1 0x01 00001d36: PUSH1 0x80 00001d38: SHL 00001d39: SUB 00001d3a: AND 00001d3b: PUSH2 0x1c5a 00001d3e: DUP4 00001d3f: DUP3 00001d40: PUSH2 0x2747 00001d43: JUMP 00001d44: JUMPDEST 00001d45: PUSH0 00001d46: PUSH2 0x1d4e 00001d49: DUP6 00001d4a: PUSH2 0x137c 00001d4d: JUMP 00001d4e: JUMPDEST 00001d4f: PUSH1 0x01 00001d51: PUSH1 0x01 00001d53: PUSH1 0xa0 00001d55: SHL 00001d56: SUB 00001d57: DUP7 00001d58: AND 00001d59: PUSH0 00001d5a: SWAP1 00001d5b: DUP2 00001d5c: MSTORE 00001d5d: PUSH1 0x34 00001d5f: PUSH1 0x20 00001d61: MSTORE 00001d62: PUSH1 0x40 00001d64: DUP2 00001d65: KECCAK256 00001d66: SLOAD 00001d67: SWAP2 00001d68: SWAP3 00001d69: POP 00001d6a: SWAP1 00001d6b: PUSH2 0x1d85 00001d6e: SWAP1 00001d6f: DUP4 00001d70: SWAP1 00001d71: PUSH1 0x01 00001d73: PUSH1 0x80 00001d75: SHL 00001d76: SWAP1 00001d77: DIV 00001d78: PUSH1 0x01 00001d7a: PUSH1 0x01 00001d7c: PUSH1 0x80 00001d7e: SHL 00001d7f: SUB 00001d80: AND 00001d81: PUSH2 0x139f 00001d84: JUMP 00001d85: JUMPDEST 00001d86: PUSH2 0x1d8f 00001d89: DUP4 00001d8a: DUP6 00001d8b: PUSH2 0x139f 00001d8e: JUMP 00001d8f: JUMPDEST 00001d90: PUSH2 0x1d99 00001d93: SWAP2 00001d94: SWAP1 00001d95: PUSH2 0x2582 00001d98: JUMP 00001d99: JUMPDEST 00001d9a: SWAP1 00001d9b: POP 00001d9c: PUSH0 00001d9d: PUSH2 0x1da5 00001da0: DUP7 00001da1: PUSH2 0x137c 00001da4: JUMP 00001da5: JUMPDEST 00001da6: PUSH1 0x01 00001da8: PUSH1 0x01 00001daa: PUSH1 0xa0 00001dac: SHL 00001dad: SUB 00001dae: DUP8 00001daf: AND 00001db0: PUSH0 00001db1: SWAP1 00001db2: DUP2 00001db3: MSTORE 00001db4: PUSH1 0x34 00001db6: PUSH1 0x20 00001db8: MSTORE 00001db9: PUSH1 0x40 00001dbb: DUP2 00001dbc: KECCAK256 00001dbd: SLOAD 00001dbe: SWAP2 00001dbf: SWAP3 00001dc0: POP 00001dc1: SWAP1 00001dc2: PUSH2 0x1ddc 00001dc5: SWAP1 00001dc6: DUP4 00001dc7: SWAP1 00001dc8: PUSH1 0x01 00001dca: PUSH1 0x80 00001dcc: SHL 00001dcd: SWAP1 00001dce: DIV 00001dcf: PUSH1 0x01 00001dd1: PUSH1 0x01 00001dd3: PUSH1 0x80 00001dd5: SHL 00001dd6: SUB 00001dd7: AND 00001dd8: PUSH2 0x139f 00001ddb: JUMP 00001ddc: JUMPDEST 00001ddd: PUSH2 0x1de6 00001de0: DUP4 00001de1: DUP8 00001de2: PUSH2 0x139f 00001de5: JUMP 00001de6: JUMPDEST 00001de7: PUSH2 0x1df0 00001dea: SWAP2 00001deb: SWAP1 00001dec: PUSH2 0x2582 00001def: JUMP 00001df0: JUMPDEST 00001df1: SWAP1 00001df2: POP 00001df3: PUSH2 0x1dfb 00001df6: DUP6 00001df7: PUSH2 0x14a1 00001dfa: JUMP 00001dfb: JUMPDEST 00001dfc: PUSH1 0x01 00001dfe: PUSH1 0x01 00001e00: PUSH1 0xa0 00001e02: SHL 00001e03: SUB 00001e04: DUP10 00001e05: AND 00001e06: PUSH0 00001e07: SWAP1 00001e08: DUP2 00001e09: MSTORE 00001e0a: PUSH1 0x34 00001e0c: PUSH1 0x20 00001e0e: MSTORE 00001e0f: PUSH1 0x40 00001e11: SWAP1 00001e12: KECCAK256 00001e13: DUP1 00001e14: SLOAD 00001e15: PUSH1 0x01 00001e17: PUSH1 0x01 00001e19: PUSH1 0x80 00001e1b: SHL 00001e1c: SUB 00001e1d: SWAP3 00001e1e: DUP4 00001e1f: AND 00001e20: PUSH1 0x01 00001e22: PUSH1 0x80 00001e24: SHL 00001e25: MUL 00001e26: SWAP3 00001e27: AND 00001e28: SWAP2 00001e29: SWAP1 00001e2a: SWAP2 00001e2b: OR 00001e2c: SWAP1 00001e2d: SSTORE 00001e2e: PUSH2 0x1e36 00001e31: DUP6 00001e32: PUSH2 0x14a1 00001e35: JUMP 00001e36: JUMPDEST 00001e37: PUSH1 0x01 00001e39: PUSH1 0x01 00001e3b: PUSH1 0xa0 00001e3d: SHL 00001e3e: SUB 00001e3f: DUP9 00001e40: AND 00001e41: PUSH0 00001e42: SWAP1 00001e43: DUP2 00001e44: MSTORE 00001e45: PUSH1 0x34 00001e47: PUSH1 0x20 00001e49: MSTORE 00001e4a: PUSH1 0x40 00001e4c: SWAP1 00001e4d: KECCAK256 00001e4e: DUP1 00001e4f: SLOAD 00001e50: PUSH1 0x01 00001e52: PUSH1 0x01 00001e54: PUSH1 0x80 00001e56: SHL 00001e57: SUB 00001e58: SWAP3 00001e59: DUP4 00001e5a: AND 00001e5b: PUSH1 0x01 00001e5d: PUSH1 0x80 00001e5f: SHL 00001e60: MUL 00001e61: SWAP3 00001e62: AND 00001e63: SWAP2 00001e64: SWAP1 00001e65: SWAP2 00001e66: OR 00001e67: SWAP1 00001e68: SSTORE 00001e69: PUSH2 0x1e84 00001e6c: DUP9 00001e6d: DUP9 00001e6e: PUSH2 0x1e7f 00001e71: PUSH2 0x1e7a 00001e74: DUP11 00001e75: DUP11 00001e76: PUSH2 0x1bd9 00001e79: JUMP 00001e7a: JUMPDEST 00001e7b: PUSH2 0x14a1 00001e7e: JUMP 00001e7f: JUMPDEST 00001e80: PUSH2 0x1fb2 00001e83: JUMP 00001e84: JUMPDEST 00001e85: DUP3 00001e86: ISZERO 00001e87: PUSH2 0x1ef2 00001e8a: JUMPI 00001e8b: PUSH1 0x40 00001e8d: MLOAD 00001e8e: DUP4 00001e8f: DUP2 00001e90: MSTORE 00001e91: PUSH1 0x01 00001e93: PUSH1 0x01 00001e95: PUSH1 0xa0 00001e97: SHL 00001e98: SUB 00001e99: DUP10 00001e9a: AND 00001e9b: SWAP1 00001e9c: PUSH0 00001e9d: SWAP1 00001e9e: PUSH0 00001e9f: DUP1 00001ea0: MLOAD 00001ea1: PUSH1 0x20 00001ea3: PUSH2 0x2788 00001ea6: DUP4 00001ea7: CODECOPY 00001ea8: DUP2 00001ea9: MLOAD 00001eaa: SWAP2 00001eab: MSTORE 00001eac: SWAP1 00001ead: PUSH1 0x20 00001eaf: ADD 00001eb0: PUSH1 0x40 00001eb2: MLOAD 00001eb3: DUP1 00001eb4: SWAP2 00001eb5: SUB 00001eb6: SWAP1 00001eb7: LOG3 00001eb8: PUSH1 0x40 00001eba: DUP1 00001ebb: MLOAD 00001ebc: DUP5 00001ebd: DUP2 00001ebe: MSTORE 00001ebf: PUSH1 0x20 00001ec1: DUP2 00001ec2: ADD 00001ec3: DUP6 00001ec4: SWAP1 00001ec5: MSTORE 00001ec6: DUP1 00001ec7: DUP3 00001ec8: ADD 00001ec9: DUP8 00001eca: SWAP1 00001ecb: MSTORE 00001ecc: SWAP1 00001ecd: MLOAD 00001ece: PUSH1 0x01 00001ed0: PUSH1 0x01 00001ed2: PUSH1 0xa0 00001ed4: SHL 00001ed5: SUB 00001ed6: DUP11 00001ed7: AND 00001ed8: SWAP2 00001ed9: CALLER 00001eda: SWAP2 00001edb: PUSH0 00001edc: DUP1 00001edd: MLOAD 00001ede: PUSH1 0x20 00001ee0: PUSH2 0x2768 00001ee3: DUP4 00001ee4: CODECOPY 00001ee5: DUP2 00001ee6: MLOAD 00001ee7: SWAP2 00001ee8: MSTORE 00001ee9: SWAP2 00001eea: DUP2 00001eeb: SWAP1 00001eec: SUB 00001eed: PUSH1 0x60 00001eef: ADD 00001ef0: SWAP1 00001ef1: LOG3 00001ef2: JUMPDEST 00001ef3: DUP7 00001ef4: PUSH1 0x01 00001ef6: PUSH1 0x01 00001ef8: PUSH1 0xa0 00001efa: SHL 00001efb: SUB 00001efc: AND 00001efd: DUP9 00001efe: PUSH1 0x01 00001f00: PUSH1 0x01 00001f02: PUSH1 0xa0 00001f04: SHL 00001f05: SUB 00001f06: AND 00001f07: EQ 00001f08: ISZERO 00001f09: DUP1 00001f0a: ISZERO 00001f0b: PUSH2 0x1f13 00001f0e: JUMPI 00001f0f: POP 00001f10: PUSH0 00001f11: DUP2 00001f12: GT 00001f13: JUMPDEST 00001f14: ISZERO 00001f15: PUSH2 0x1f80 00001f18: JUMPI 00001f19: PUSH1 0x40 00001f1b: MLOAD 00001f1c: DUP2 00001f1d: DUP2 00001f1e: MSTORE 00001f1f: PUSH1 0x01 00001f21: PUSH1 0x01 00001f23: PUSH1 0xa0 00001f25: SHL 00001f26: SUB 00001f27: DUP9 00001f28: AND 00001f29: SWAP1 00001f2a: PUSH0 00001f2b: SWAP1 00001f2c: PUSH0 00001f2d: DUP1 00001f2e: MLOAD 00001f2f: PUSH1 0x20 00001f31: PUSH2 0x2788 00001f34: DUP4 00001f35: CODECOPY 00001f36: DUP2 00001f37: MLOAD 00001f38: SWAP2 00001f39: MSTORE 00001f3a: SWAP1 00001f3b: PUSH1 0x20 00001f3d: ADD 00001f3e: PUSH1 0x40 00001f40: MLOAD 00001f41: DUP1 00001f42: SWAP2 00001f43: SUB 00001f44: SWAP1 00001f45: LOG3 00001f46: PUSH1 0x40 00001f48: DUP1 00001f49: MLOAD 00001f4a: DUP3 00001f4b: DUP2 00001f4c: MSTORE 00001f4d: PUSH1 0x20 00001f4f: DUP2 00001f50: ADD 00001f51: DUP4 00001f52: SWAP1 00001f53: MSTORE 00001f54: DUP1 00001f55: DUP3 00001f56: ADD 00001f57: DUP8 00001f58: SWAP1 00001f59: MSTORE 00001f5a: SWAP1 00001f5b: MLOAD 00001f5c: PUSH1 0x01 00001f5e: PUSH1 0x01 00001f60: PUSH1 0xa0 00001f62: SHL 00001f63: SUB 00001f64: DUP10 00001f65: AND 00001f66: SWAP2 00001f67: CALLER 00001f68: SWAP2 00001f69: PUSH0 00001f6a: DUP1 00001f6b: MLOAD 00001f6c: PUSH1 0x20 00001f6e: PUSH2 0x2768 00001f71: DUP4 00001f72: CODECOPY 00001f73: DUP2 00001f74: MLOAD 00001f75: SWAP2 00001f76: MSTORE 00001f77: SWAP2 00001f78: DUP2 00001f79: SWAP1 00001f7a: SUB 00001f7b: PUSH1 0x60 00001f7d: ADD 00001f7e: SWAP1 00001f7f: LOG3 00001f80: JUMPDEST 00001f81: DUP7 00001f82: PUSH1 0x01 00001f84: PUSH1 0x01 00001f86: PUSH1 0xa0 00001f88: SHL 00001f89: SUB 00001f8a: AND 00001f8b: DUP9 00001f8c: PUSH1 0x01 00001f8e: PUSH1 0x01 00001f90: PUSH1 0xa0 00001f92: SHL 00001f93: SUB 00001f94: AND 00001f95: PUSH0 00001f96: DUP1 00001f97: MLOAD 00001f98: PUSH1 0x20 00001f9a: PUSH2 0x2788 00001f9d: DUP4 00001f9e: CODECOPY 00001f9f: DUP2 00001fa0: MLOAD 00001fa1: SWAP2 00001fa2: MSTORE 00001fa3: DUP9 00001fa4: PUSH1 0x40 00001fa6: MLOAD 00001fa7: PUSH2 0x196a 00001faa: SWAP2 00001fab: DUP2 00001fac: MSTORE 00001fad: PUSH1 0x20 00001faf: ADD 00001fb0: SWAP1 00001fb1: JUMP 00001fb2: JUMPDEST 00001fb3: PUSH1 0x01 00001fb5: PUSH1 0x01 00001fb7: PUSH1 0xa0 00001fb9: SHL 00001fba: SUB 00001fbb: DUP4 00001fbc: AND 00001fbd: PUSH0 00001fbe: SWAP1 00001fbf: DUP2 00001fc0: MSTORE 00001fc1: PUSH1 0x34 00001fc3: PUSH1 0x20 00001fc5: MSTORE 00001fc6: PUSH1 0x40 00001fc8: SWAP1 00001fc9: KECCAK256 00001fca: SLOAD 00001fcb: PUSH1 0x01 00001fcd: PUSH1 0x01 00001fcf: PUSH1 0x80 00001fd1: SHL 00001fd2: SUB 00001fd3: AND 00001fd4: PUSH2 0x1fdd 00001fd7: DUP3 00001fd8: DUP3 00001fd9: PUSH2 0x2747 00001fdc: JUMP 00001fdd: JUMPDEST 00001fde: PUSH1 0x01 00001fe0: PUSH1 0x01 00001fe2: PUSH1 0xa0 00001fe4: SHL 00001fe5: SUB 00001fe6: DUP6 00001fe7: DUP2 00001fe8: AND 00001fe9: PUSH0 00001fea: SWAP1 00001feb: DUP2 00001fec: MSTORE 00001fed: PUSH1 0x34 00001fef: PUSH1 0x20 00001ff1: MSTORE 00001ff2: PUSH1 0x40 00001ff4: DUP1 00001ff5: DUP3 00001ff6: KECCAK256 00001ff7: DUP1 00001ff8: SLOAD 00001ff9: PUSH1 0x01 00001ffb: PUSH1 0x01 00001ffd: PUSH1 0x80 00001fff: SHL 00002000: SUB 00002001: NOT 00002002: AND 00002003: PUSH1 0x01 00002005: PUSH1 0x01 00002007: PUSH1 0x80 00002009: SHL 0000200a: SUB 0000200b: SWAP6 0000200c: DUP7 0000200d: AND 0000200e: OR 0000200f: SWAP1 00002010: SSTORE 00002011: SWAP2 00002012: DUP7 00002013: AND 00002014: DUP2 00002015: MSTORE 00002016: KECCAK256 00002017: SLOAD 00002018: AND 00002019: PUSH2 0x2022 0000201c: DUP4 0000201d: DUP3 0000201e: PUSH2 0x26f6 00002021: JUMP 00002022: JUMPDEST 00002023: PUSH1 0x01 00002025: PUSH1 0x01 00002027: PUSH1 0xa0 00002029: SHL 0000202a: SUB 0000202b: DUP6 0000202c: DUP2 0000202d: AND 0000202e: PUSH0 0000202f: SWAP1 00002030: DUP2 00002031: MSTORE 00002032: PUSH1 0x34 00002034: PUSH1 0x20 00002036: MSTORE 00002037: PUSH1 0x40 00002039: SWAP1 0000203a: KECCAK256 0000203b: DUP1 0000203c: SLOAD 0000203d: PUSH1 0x01 0000203f: PUSH1 0x01 00002041: PUSH1 0x80 00002043: SHL 00002044: SUB 00002045: NOT 00002046: AND 00002047: PUSH1 0x01 00002049: PUSH1 0x01 0000204b: PUSH1 0x80 0000204d: SHL 0000204e: SUB 0000204f: SWAP4 00002050: SWAP1 00002051: SWAP4 00002052: AND 00002053: SWAP3 00002054: SWAP1 00002055: SWAP3 00002056: OR 00002057: SWAP1 00002058: SWAP2 00002059: SSTORE 0000205a: PUSH1 0x39 0000205c: SLOAD 0000205d: PUSH2 0x0100 00002060: SWAP1 00002061: DIV 00002062: AND 00002063: DUP1 00002064: ISZERO 00002065: PUSH2 0x2140 00002068: JUMPI 00002069: PUSH1 0x36 0000206b: SLOAD 0000206c: PUSH1 0x40 0000206e: MLOAD 0000206f: PUSH4 0x18c39f17 00002074: PUSH1 0xe1 00002076: SHL 00002077: DUP2 00002078: MSTORE 00002079: PUSH1 0x01 0000207b: PUSH1 0x01 0000207d: PUSH1 0xa0 0000207f: SHL 00002080: SUB 00002081: DUP4 00002082: AND 00002083: SWAP1 00002084: PUSH4 0x31873e2e 00002089: SWAP1 0000208a: PUSH2 0x209b 0000208d: SWAP1 0000208e: DUP11 0000208f: SWAP1 00002090: DUP6 00002091: SWAP1 00002092: DUP10 00002093: SWAP1 00002094: PUSH1 0x04 00002096: ADD 00002097: PUSH2 0x271d 0000209a: JUMP 0000209b: JUMPDEST 0000209c: PUSH0 0000209d: PUSH1 0x40 0000209f: MLOAD 000020a0: DUP1 000020a1: DUP4 000020a2: SUB 000020a3: DUP2 000020a4: PUSH0 000020a5: DUP8 000020a6: DUP1 000020a7: EXTCODESIZE 000020a8: ISZERO 000020a9: DUP1 000020aa: ISZERO 000020ab: PUSH2 0x20b2 000020ae: JUMPI 000020af: PUSH0 000020b0: DUP1 000020b1: REVERT 000020b2: JUMPDEST 000020b3: POP 000020b4: GAS 000020b5: CALL 000020b6: ISZERO 000020b7: DUP1 000020b8: ISZERO 000020b9: PUSH2 0x20c4 000020bc: JUMPI 000020bd: RETURNDATASIZE 000020be: PUSH0 000020bf: DUP1 000020c0: RETURNDATACOPY 000020c1: RETURNDATASIZE 000020c2: PUSH0 000020c3: REVERT 000020c4: JUMPDEST 000020c5: POP 000020c6: POP 000020c7: POP 000020c8: POP 000020c9: DUP6 000020ca: PUSH1 0x01 000020cc: PUSH1 0x01 000020ce: PUSH1 0xa0 000020d0: SHL 000020d1: SUB 000020d2: AND 000020d3: DUP8 000020d4: PUSH1 0x01 000020d6: PUSH1 0x01 000020d8: PUSH1 0xa0 000020da: SHL 000020db: SUB 000020dc: AND 000020dd: EQ 000020de: PUSH2 0x1974 000020e1: JUMPI 000020e2: PUSH1 0x40 000020e4: MLOAD 000020e5: PUSH4 0x18c39f17 000020ea: PUSH1 0xe1 000020ec: SHL 000020ed: DUP2 000020ee: MSTORE 000020ef: PUSH1 0x01 000020f1: PUSH1 0x01 000020f3: PUSH1 0xa0 000020f5: SHL 000020f6: SUB 000020f7: DUP4 000020f8: AND 000020f9: SWAP1 000020fa: PUSH4 0x31873e2e 000020ff: SWAP1 00002100: PUSH2 0x2111 00002103: SWAP1 00002104: DUP10 00002105: SWAP1 00002106: DUP6 00002107: SWAP1 00002108: DUP9 00002109: SWAP1 0000210a: PUSH1 0x04 0000210c: ADD 0000210d: PUSH2 0x271d 00002110: JUMP 00002111: JUMPDEST 00002112: PUSH0 00002113: PUSH1 0x40 00002115: MLOAD 00002116: DUP1 00002117: DUP4 00002118: SUB 00002119: DUP2 0000211a: PUSH0 0000211b: DUP8 0000211c: DUP1 0000211d: EXTCODESIZE 0000211e: ISZERO 0000211f: DUP1 00002120: ISZERO 00002121: PUSH2 0x2128 00002124: JUMPI 00002125: PUSH0 00002126: DUP1 00002127: REVERT 00002128: JUMPDEST 00002129: POP 0000212a: GAS 0000212b: CALL 0000212c: ISZERO 0000212d: DUP1 0000212e: ISZERO 0000212f: PUSH2 0x213a 00002132: JUMPI 00002133: RETURNDATASIZE 00002134: PUSH0 00002135: DUP1 00002136: RETURNDATACOPY 00002137: RETURNDATASIZE 00002138: PUSH0 00002139: REVERT 0000213a: JUMPDEST 0000213b: POP 0000213c: POP 0000213d: POP 0000213e: POP 0000213f: POP 00002140: JUMPDEST 00002141: POP 00002142: POP 00002143: POP 00002144: POP 00002145: POP 00002146: POP 00002147: JUMP 00002148: JUMPDEST 00002149: PUSH0 0000214a: DUP2 0000214b: MLOAD 0000214c: DUP1 0000214d: DUP5 0000214e: MSTORE 0000214f: PUSH0 00002150: JUMPDEST 00002151: DUP2 00002152: DUP2 00002153: LT 00002154: ISZERO 00002155: PUSH2 0x216c 00002158: JUMPI 00002159: PUSH1 0x20 0000215b: DUP2 0000215c: DUP6 0000215d: ADD 0000215e: DUP2 0000215f: ADD 00002160: MLOAD 00002161: DUP7 00002162: DUP4 00002163: ADD 00002164: DUP3 00002165: ADD 00002166: MSTORE 00002167: ADD 00002168: PUSH2 0x2150 0000216b: JUMP 0000216c: JUMPDEST 0000216d: POP 0000216e: PUSH0 0000216f: PUSH1 0x20 00002171: DUP3 00002172: DUP7 00002173: ADD 00002174: ADD 00002175: MSTORE 00002176: PUSH1 0x20 00002178: PUSH1 0x1f 0000217a: NOT 0000217b: PUSH1 0x1f 0000217d: DUP4 0000217e: ADD 0000217f: AND 00002180: DUP6 00002181: ADD 00002182: ADD 00002183: SWAP2 00002184: POP 00002185: POP 00002186: SWAP3 00002187: SWAP2 00002188: POP 00002189: POP 0000218a: JUMP 0000218b: JUMPDEST 0000218c: PUSH1 0x20 0000218e: DUP2 0000218f: MSTORE 00002190: PUSH0 00002191: PUSH2 0x219d 00002194: PUSH1 0x20 00002196: DUP4 00002197: ADD 00002198: DUP5 00002199: PUSH2 0x2148 0000219c: JUMP 0000219d: JUMPDEST 0000219e: SWAP4 0000219f: SWAP3 000021a0: POP 000021a1: POP 000021a2: POP 000021a3: JUMP 000021a4: JUMPDEST 000021a5: PUSH1 0x01 000021a7: PUSH1 0x01 000021a9: PUSH1 0xa0 000021ab: SHL 000021ac: SUB 000021ad: DUP2 000021ae: AND 000021af: DUP2 000021b0: EQ 000021b1: PUSH2 0x21b8 000021b4: JUMPI 000021b5: PUSH0 000021b6: DUP1 000021b7: REVERT 000021b8: JUMPDEST 000021b9: POP 000021ba: JUMP 000021bb: JUMPDEST 000021bc: DUP1 000021bd: CALLDATALOAD 000021be: PUSH2 0x21c6 000021c1: DUP2 000021c2: PUSH2 0x21a4 000021c5: JUMP 000021c6: JUMPDEST 000021c7: SWAP2 000021c8: SWAP1 000021c9: POP 000021ca: JUMP 000021cb: JUMPDEST 000021cc: PUSH0 000021cd: DUP1 000021ce: PUSH1 0x40 000021d0: DUP4 000021d1: DUP6 000021d2: SUB 000021d3: SLT 000021d4: ISZERO 000021d5: PUSH2 0x21dc 000021d8: JUMPI 000021d9: PUSH0 000021da: DUP1 000021db: REVERT 000021dc: JUMPDEST 000021dd: DUP3 000021de: CALLDATALOAD 000021df: PUSH2 0x21e7 000021e2: DUP2 000021e3: PUSH2 0x21a4 000021e6: JUMP 000021e7: JUMPDEST 000021e8: SWAP5 000021e9: PUSH1 0x20 000021eb: SWAP4 000021ec: SWAP1 000021ed: SWAP4 000021ee: ADD 000021ef: CALLDATALOAD 000021f0: SWAP4 000021f1: POP 000021f2: POP 000021f3: POP 000021f4: JUMP 000021f5: JUMPDEST 000021f6: PUSH0 000021f7: PUSH1 0x20 000021f9: DUP3 000021fa: DUP5 000021fb: SUB 000021fc: SLT 000021fd: ISZERO 000021fe: PUSH2 0x2205 00002201: JUMPI 00002202: PUSH0 00002203: DUP1 00002204: REVERT 00002205: JUMPDEST 00002206: DUP2 00002207: CALLDATALOAD 00002208: PUSH2 0x219d 0000220b: DUP2 0000220c: PUSH2 0x21a4 0000220f: JUMP 00002210: JUMPDEST 00002211: DUP1 00002212: CALLDATALOAD 00002213: PUSH1 0xff 00002215: DUP2 00002216: AND 00002217: DUP2 00002218: EQ 00002219: PUSH2 0x21c6 0000221c: JUMPI 0000221d: PUSH0 0000221e: DUP1 0000221f: REVERT 00002220: JUMPDEST 00002221: PUSH0 00002222: DUP1 00002223: DUP4 00002224: PUSH1 0x1f 00002226: DUP5 00002227: ADD 00002228: SLT 00002229: PUSH2 0x2230 0000222c: JUMPI 0000222d: PUSH0 0000222e: DUP1 0000222f: REVERT 00002230: JUMPDEST 00002231: POP 00002232: DUP2 00002233: CALLDATALOAD 00002234: PUSH8 0xffffffffffffffff 0000223d: DUP2 0000223e: GT 0000223f: ISZERO 00002240: PUSH2 0x2247 00002243: JUMPI 00002244: PUSH0 00002245: DUP1 00002246: REVERT 00002247: JUMPDEST 00002248: PUSH1 0x20 0000224a: DUP4 0000224b: ADD 0000224c: SWAP2 0000224d: POP 0000224e: DUP4 0000224f: PUSH1 0x20 00002251: DUP3 00002252: DUP6 00002253: ADD 00002254: ADD 00002255: GT 00002256: ISZERO 00002257: PUSH2 0x225e 0000225a: JUMPI 0000225b: PUSH0 0000225c: DUP1 0000225d: REVERT 0000225e: JUMPDEST 0000225f: SWAP3 00002260: POP 00002261: SWAP3 00002262: SWAP1 00002263: POP 00002264: JUMP 00002265: JUMPDEST 00002266: PUSH0 00002267: DUP1 00002268: PUSH0 00002269: DUP1 0000226a: PUSH0 0000226b: DUP1 0000226c: PUSH0 0000226d: DUP1 0000226e: PUSH0 0000226f: DUP1 00002270: PUSH0 00002271: PUSH2 0x0100 00002274: DUP13 00002275: DUP15 00002276: SUB 00002277: SLT 00002278: ISZERO 00002279: PUSH2 0x2280 0000227c: JUMPI 0000227d: PUSH0 0000227e: DUP1 0000227f: REVERT 00002280: JUMPDEST 00002281: PUSH2 0x2289 00002284: DUP13 00002285: PUSH2 0x21bb 00002288: JUMP 00002289: JUMPDEST 0000228a: SWAP11 0000228b: POP 0000228c: PUSH2 0x2297 0000228f: PUSH1 0x20 00002291: DUP14 00002292: ADD 00002293: PUSH2 0x21bb 00002296: JUMP 00002297: JUMPDEST 00002298: SWAP10 00002299: POP 0000229a: PUSH2 0x22a5 0000229d: PUSH1 0x40 0000229f: DUP14 000022a0: ADD 000022a1: PUSH2 0x21bb 000022a4: JUMP 000022a5: JUMPDEST 000022a6: SWAP9 000022a7: POP 000022a8: PUSH2 0x22b3 000022ab: PUSH1 0x60 000022ad: DUP14 000022ae: ADD 000022af: PUSH2 0x21bb 000022b2: JUMP 000022b3: JUMPDEST 000022b4: SWAP8 000022b5: POP 000022b6: PUSH2 0x22c1 000022b9: PUSH1 0x80 000022bb: DUP14 000022bc: ADD 000022bd: PUSH2 0x2210 000022c0: JUMP 000022c1: JUMPDEST 000022c2: SWAP7 000022c3: POP 000022c4: PUSH8 0xffffffffffffffff 000022cd: DUP1 000022ce: PUSH1 0xa0 000022d0: DUP15 000022d1: ADD 000022d2: CALLDATALOAD 000022d3: GT 000022d4: ISZERO 000022d5: PUSH2 0x22dc 000022d8: JUMPI 000022d9: PUSH0 000022da: DUP1 000022db: REVERT 000022dc: JUMPDEST 000022dd: PUSH2 0x22ec 000022e0: DUP15 000022e1: PUSH1 0xa0 000022e3: DUP16 000022e4: ADD 000022e5: CALLDATALOAD 000022e6: DUP16 000022e7: ADD 000022e8: PUSH2 0x2220 000022eb: JUMP 000022ec: JUMPDEST 000022ed: SWAP1 000022ee: SWAP8 000022ef: POP 000022f0: SWAP6 000022f1: POP 000022f2: PUSH1 0xc0 000022f4: DUP14 000022f5: ADD 000022f6: CALLDATALOAD 000022f7: DUP2 000022f8: LT 000022f9: ISZERO 000022fa: PUSH2 0x2301 000022fd: JUMPI 000022fe: PUSH0 000022ff: DUP1 00002300: REVERT 00002301: JUMPDEST 00002302: PUSH2 0x2311 00002305: DUP15 00002306: PUSH1 0xc0 00002308: DUP16 00002309: ADD 0000230a: CALLDATALOAD 0000230b: DUP16 0000230c: ADD 0000230d: PUSH2 0x2220 00002310: JUMP 00002311: JUMPDEST 00002312: SWAP1 00002313: SWAP6 00002314: POP 00002315: SWAP4 00002316: POP 00002317: PUSH1 0xe0 00002319: DUP14 0000231a: ADD 0000231b: CALLDATALOAD 0000231c: DUP2 0000231d: LT 0000231e: ISZERO 0000231f: PUSH2 0x2326 00002322: JUMPI 00002323: PUSH0 00002324: DUP1 00002325: REVERT 00002326: JUMPDEST 00002327: POP 00002328: PUSH2 0x2337 0000232b: DUP14 0000232c: PUSH1 0xe0 0000232e: DUP15 0000232f: ADD 00002330: CALLDATALOAD 00002331: DUP15 00002332: ADD 00002333: PUSH2 0x2220 00002336: JUMP 00002337: JUMPDEST 00002338: DUP2 00002339: SWAP4 0000233a: POP 0000233b: DUP1 0000233c: SWAP3 0000233d: POP 0000233e: POP 0000233f: POP 00002340: SWAP3 00002341: SWAP6 00002342: SWAP9 00002343: SWAP12 00002344: POP 00002345: SWAP3 00002346: SWAP6 00002347: SWAP9 00002348: SWAP12 00002349: SWAP1 0000234a: SWAP4 0000234b: SWAP7 0000234c: SWAP10 0000234d: POP 0000234e: JUMP 0000234f: JUMPDEST 00002350: PUSH0 00002351: DUP1 00002352: PUSH0 00002353: PUSH1 0x60 00002355: DUP5 00002356: DUP7 00002357: SUB 00002358: SLT 00002359: ISZERO 0000235a: PUSH2 0x2361 0000235d: JUMPI 0000235e: PUSH0 0000235f: DUP1 00002360: REVERT 00002361: JUMPDEST 00002362: DUP4 00002363: CALLDATALOAD 00002364: PUSH2 0x236c 00002367: DUP2 00002368: PUSH2 0x21a4 0000236b: JUMP 0000236c: JUMPDEST 0000236d: SWAP3 0000236e: POP 0000236f: PUSH1 0x20 00002371: DUP5 00002372: ADD 00002373: CALLDATALOAD 00002374: PUSH2 0x237c 00002377: DUP2 00002378: PUSH2 0x21a4 0000237b: JUMP 0000237c: JUMPDEST 0000237d: SWAP3 0000237e: SWAP6 0000237f: SWAP3 00002380: SWAP5 00002381: POP 00002382: POP 00002383: POP 00002384: PUSH1 0x40 00002386: SWAP2 00002387: SWAP1 00002388: SWAP2 00002389: ADD 0000238a: CALLDATALOAD 0000238b: SWAP1 0000238c: JUMP 0000238d: JUMPDEST 0000238e: PUSH0 0000238f: DUP1 00002390: PUSH1 0x40 00002392: DUP4 00002393: DUP6 00002394: SUB 00002395: SLT 00002396: ISZERO 00002397: PUSH2 0x239e 0000239a: JUMPI 0000239b: PUSH0 0000239c: DUP1 0000239d: REVERT 0000239e: JUMPDEST 0000239f: POP 000023a0: POP 000023a1: DUP1 000023a2: CALLDATALOAD 000023a3: SWAP3 000023a4: PUSH1 0x20 000023a6: SWAP1 000023a7: SWAP2 000023a8: ADD 000023a9: CALLDATALOAD 000023aa: SWAP2 000023ab: POP 000023ac: JUMP 000023ad: JUMPDEST 000023ae: PUSH0 000023af: DUP1 000023b0: PUSH0 000023b1: DUP1 000023b2: PUSH1 0x80 000023b4: DUP6 000023b5: DUP8 000023b6: SUB 000023b7: SLT 000023b8: ISZERO 000023b9: PUSH2 0x23c0 000023bc: JUMPI 000023bd: PUSH0 000023be: DUP1 000023bf: REVERT 000023c0: JUMPDEST 000023c1: DUP5 000023c2: CALLDATALOAD 000023c3: PUSH2 0x23cb 000023c6: DUP2 000023c7: PUSH2 0x21a4 000023ca: JUMP 000023cb: JUMPDEST 000023cc: SWAP4 000023cd: POP 000023ce: PUSH1 0x20 000023d0: DUP6 000023d1: ADD 000023d2: CALLDATALOAD 000023d3: PUSH2 0x23db 000023d6: DUP2 000023d7: PUSH2 0x21a4 000023da: JUMP 000023db: JUMPDEST 000023dc: SWAP4 000023dd: SWAP7 000023de: SWAP4 000023df: SWAP6 000023e0: POP 000023e1: POP 000023e2: POP 000023e3: POP 000023e4: PUSH1 0x40 000023e6: DUP3 000023e7: ADD 000023e8: CALLDATALOAD 000023e9: SWAP2 000023ea: PUSH1 0x60 000023ec: ADD 000023ed: CALLDATALOAD 000023ee: SWAP1 000023ef: JUMP 000023f0: JUMPDEST 000023f1: PUSH0 000023f2: DUP1 000023f3: PUSH0 000023f4: DUP1 000023f5: PUSH0 000023f6: DUP1 000023f7: PUSH0 000023f8: PUSH1 0xe0 000023fa: DUP9 000023fb: DUP11 000023fc: SUB 000023fd: SLT 000023fe: ISZERO 000023ff: PUSH2 0x2406 00002402: JUMPI 00002403: PUSH0 00002404: DUP1 00002405: REVERT 00002406: JUMPDEST 00002407: DUP8 00002408: CALLDATALOAD 00002409: PUSH2 0x2411 0000240c: DUP2 0000240d: PUSH2 0x21a4 00002410: JUMP 00002411: JUMPDEST 00002412: SWAP7 00002413: POP 00002414: PUSH1 0x20 00002416: DUP9 00002417: ADD 00002418: CALLDATALOAD 00002419: PUSH2 0x2421 0000241c: DUP2 0000241d: PUSH2 0x21a4 00002420: JUMP 00002421: JUMPDEST 00002422: SWAP6 00002423: POP 00002424: PUSH1 0x40 00002426: DUP9 00002427: ADD 00002428: CALLDATALOAD 00002429: SWAP5 0000242a: POP 0000242b: PUSH1 0x60 0000242d: DUP9 0000242e: ADD 0000242f: CALLDATALOAD 00002430: SWAP4 00002431: POP 00002432: PUSH2 0x243d 00002435: PUSH1 0x80 00002437: DUP10 00002438: ADD 00002439: PUSH2 0x2210 0000243c: JUMP 0000243d: JUMPDEST 0000243e: SWAP3 0000243f: POP 00002440: PUSH1 0xa0 00002442: DUP9 00002443: ADD 00002444: CALLDATALOAD 00002445: SWAP2 00002446: POP 00002447: PUSH1 0xc0 00002449: DUP9 0000244a: ADD 0000244b: CALLDATALOAD 0000244c: SWAP1 0000244d: POP 0000244e: SWAP3 0000244f: SWAP6 00002450: SWAP9 00002451: SWAP2 00002452: SWAP5 00002453: SWAP8 00002454: POP 00002455: SWAP3 00002456: SWAP6 00002457: POP 00002458: JUMP 00002459: JUMPDEST 0000245a: PUSH0 0000245b: DUP1 0000245c: PUSH1 0x40 0000245e: DUP4 0000245f: DUP6 00002460: SUB 00002461: SLT 00002462: ISZERO 00002463: PUSH2 0x246a 00002466: JUMPI 00002467: PUSH0 00002468: DUP1 00002469: REVERT 0000246a: JUMPDEST 0000246b: DUP3 0000246c: CALLDATALOAD 0000246d: PUSH2 0x2475 00002470: DUP2 00002471: PUSH2 0x21a4 00002474: JUMP 00002475: JUMPDEST 00002476: SWAP2 00002477: POP 00002478: PUSH1 0x20 0000247a: DUP4 0000247b: ADD 0000247c: CALLDATALOAD 0000247d: PUSH2 0x2485 00002480: DUP2 00002481: PUSH2 0x21a4 00002484: JUMP 00002485: JUMPDEST 00002486: DUP1 00002487: SWAP2 00002488: POP 00002489: POP 0000248a: SWAP3 0000248b: POP 0000248c: SWAP3 0000248d: SWAP1 0000248e: POP 0000248f: JUMP 00002490: JUMPDEST 00002491: PUSH1 0x01 00002493: DUP2 00002494: DUP2 00002495: SHR 00002496: SWAP1 00002497: DUP3 00002498: AND 00002499: DUP1 0000249a: PUSH2 0x24a4 0000249d: JUMPI 0000249e: PUSH1 0x7f 000024a0: DUP3 000024a1: AND 000024a2: SWAP2 000024a3: POP 000024a4: JUMPDEST 000024a5: PUSH1 0x20 000024a7: DUP3 000024a8: LT 000024a9: DUP2 000024aa: SUB 000024ab: PUSH2 0x1bd3 000024ae: JUMPI 000024af: PUSH4 0x4e487b71 000024b4: PUSH1 0xe0 000024b6: SHL 000024b7: PUSH0 000024b8: MSTORE 000024b9: PUSH1 0x22 000024bb: PUSH1 0x04 000024bd: MSTORE 000024be: PUSH1 0x24 000024c0: PUSH0 000024c1: REVERT 000024c2: JUMPDEST 000024c3: PUSH0 000024c4: PUSH1 0x20 000024c6: DUP3 000024c7: DUP5 000024c8: SUB 000024c9: SLT 000024ca: ISZERO 000024cb: PUSH2 0x24d2 000024ce: JUMPI 000024cf: PUSH0 000024d0: DUP1 000024d1: REVERT 000024d2: JUMPDEST 000024d3: POP 000024d4: MLOAD 000024d5: SWAP2 000024d6: SWAP1 000024d7: POP 000024d8: JUMP 000024d9: JUMPDEST 000024da: DUP2 000024db: DUP4 000024dc: MSTORE 000024dd: DUP2 000024de: DUP2 000024df: PUSH1 0x20 000024e1: DUP6 000024e2: ADD 000024e3: CALLDATACOPY 000024e4: POP 000024e5: PUSH0 000024e6: DUP3 000024e7: DUP3 000024e8: ADD 000024e9: PUSH1 0x20 000024eb: SWAP1 000024ec: DUP2 000024ed: ADD 000024ee: SWAP2 000024ef: SWAP1 000024f0: SWAP2 000024f1: MSTORE 000024f2: PUSH1 0x1f 000024f4: SWAP1 000024f5: SWAP2 000024f6: ADD 000024f7: PUSH1 0x1f 000024f9: NOT 000024fa: AND 000024fb: SWAP1 000024fc: SWAP2 000024fd: ADD 000024fe: ADD 000024ff: SWAP1 00002500: JUMP 00002501: JUMPDEST 00002502: PUSH1 0x01 00002504: PUSH1 0x01 00002506: PUSH1 0xa0 00002508: SHL 00002509: SUB 0000250a: DUP11 0000250b: DUP2 0000250c: AND 0000250d: DUP3 0000250e: MSTORE 0000250f: DUP10 00002510: AND 00002511: PUSH1 0x20 00002513: DUP3 00002514: ADD 00002515: MSTORE 00002516: PUSH1 0xff 00002518: DUP9 00002519: AND 0000251a: PUSH1 0x40 0000251c: DUP3 0000251d: ADD 0000251e: MSTORE 0000251f: PUSH1 0xc0 00002521: PUSH1 0x60 00002523: DUP3 00002524: ADD 00002525: DUP2 00002526: SWAP1 00002527: MSTORE 00002528: PUSH0 00002529: SWAP1 0000252a: PUSH2 0x2536 0000252d: SWAP1 0000252e: DUP4 0000252f: ADD 00002530: DUP9 00002531: DUP11 00002532: PUSH2 0x24d9 00002535: JUMP 00002536: JUMPDEST 00002537: DUP3 00002538: DUP2 00002539: SUB 0000253a: PUSH1 0x80 0000253c: DUP5 0000253d: ADD 0000253e: MSTORE 0000253f: PUSH2 0x2549 00002542: DUP2 00002543: DUP8 00002544: DUP10 00002545: PUSH2 0x24d9 00002548: JUMP 00002549: JUMPDEST 0000254a: SWAP1 0000254b: POP 0000254c: DUP3 0000254d: DUP2 0000254e: SUB 0000254f: PUSH1 0xa0 00002551: DUP5 00002552: ADD 00002553: MSTORE 00002554: PUSH2 0x255e 00002557: DUP2 00002558: DUP6 00002559: DUP8 0000255a: PUSH2 0x24d9 0000255d: JUMP 0000255e: JUMPDEST 0000255f: SWAP13 00002560: SWAP12 00002561: POP 00002562: POP 00002563: POP 00002564: POP 00002565: POP 00002566: POP 00002567: POP 00002568: POP 00002569: POP 0000256a: POP 0000256b: POP 0000256c: POP 0000256d: JUMP 0000256e: JUMPDEST 0000256f: PUSH4 0x4e487b71 00002574: PUSH1 0xe0 00002576: SHL 00002577: PUSH0 00002578: MSTORE 00002579: PUSH1 0x11 0000257b: PUSH1 0x04 0000257d: MSTORE 0000257e: PUSH1 0x24 00002580: PUSH0 00002581: REVERT 00002582: JUMPDEST 00002583: DUP2 00002584: DUP2 00002585: SUB 00002586: DUP2 00002587: DUP2 00002588: GT 00002589: ISZERO 0000258a: PUSH2 0x05c8 0000258d: JUMPI 0000258e: PUSH2 0x05c8 00002591: PUSH2 0x256e 00002594: JUMP 00002595: JUMPDEST 00002596: DUP1 00002597: DUP3 00002598: ADD 00002599: DUP1 0000259a: DUP3 0000259b: GT 0000259c: ISZERO 0000259d: PUSH2 0x05c8 000025a0: JUMPI 000025a1: PUSH2 0x05c8 000025a4: PUSH2 0x256e 000025a7: JUMP 000025a8: JUMPDEST 000025a9: PUSH0 000025aa: PUSH1 0x20 000025ac: DUP3 000025ad: DUP5 000025ae: SUB 000025af: SLT 000025b0: ISZERO 000025b1: PUSH2 0x25b8 000025b4: JUMPI 000025b5: PUSH0 000025b6: DUP1 000025b7: REVERT 000025b8: JUMPDEST 000025b9: DUP2 000025ba: MLOAD 000025bb: PUSH2 0x219d 000025be: DUP2 000025bf: PUSH2 0x21a4 000025c2: JUMP 000025c3: JUMPDEST 000025c4: PUSH0 000025c5: PUSH1 0x20 000025c7: DUP3 000025c8: DUP5 000025c9: SUB 000025ca: SLT 000025cb: ISZERO 000025cc: PUSH2 0x25d3 000025cf: JUMPI 000025d0: PUSH0 000025d1: DUP1 000025d2: REVERT 000025d3: JUMPDEST 000025d4: DUP2 000025d5: MLOAD 000025d6: DUP1 000025d7: ISZERO 000025d8: ISZERO 000025d9: DUP2 000025da: EQ 000025db: PUSH2 0x219d 000025de: JUMPI 000025df: PUSH0 000025e0: DUP1 000025e1: REVERT 000025e2: JUMPDEST 000025e3: PUSH4 0x4e487b71 000025e8: PUSH1 0xe0 000025ea: SHL 000025eb: PUSH0 000025ec: MSTORE 000025ed: PUSH1 0x41 000025ef: PUSH1 0x04 000025f1: MSTORE 000025f2: PUSH1 0x24 000025f4: PUSH0 000025f5: REVERT 000025f6: JUMPDEST 000025f7: PUSH1 0x1f 000025f9: DUP3 000025fa: GT 000025fb: ISZERO 000025fc: PUSH2 0x0c0f 000025ff: JUMPI 00002600: DUP1 00002601: PUSH0 00002602: MSTORE 00002603: PUSH1 0x20 00002605: PUSH0 00002606: KECCAK256 00002607: PUSH1 0x1f 00002609: DUP5 0000260a: ADD 0000260b: PUSH1 0x05 0000260d: SHR 0000260e: DUP2 0000260f: ADD 00002610: PUSH1 0x20 00002612: DUP6 00002613: LT 00002614: ISZERO 00002615: PUSH2 0x261b 00002618: JUMPI 00002619: POP 0000261a: DUP1 0000261b: JUMPDEST 0000261c: PUSH1 0x1f 0000261e: DUP5 0000261f: ADD 00002620: PUSH1 0x05 00002622: SHR 00002623: DUP3 00002624: ADD 00002625: SWAP2 00002626: POP 00002627: JUMPDEST 00002628: DUP2 00002629: DUP2 0000262a: LT 0000262b: ISZERO 0000262c: PUSH2 0x1cf9 0000262f: JUMPI 00002630: PUSH0 00002631: DUP2 00002632: SSTORE 00002633: PUSH1 0x01 00002635: ADD 00002636: PUSH2 0x2627 00002639: JUMP 0000263a: JUMPDEST 0000263b: DUP2 0000263c: MLOAD 0000263d: PUSH8 0xffffffffffffffff 00002646: DUP2 00002647: GT 00002648: ISZERO 00002649: PUSH2 0x2654 0000264c: JUMPI 0000264d: PUSH2 0x2654 00002650: PUSH2 0x25e2 00002653: JUMP 00002654: JUMPDEST 00002655: PUSH2 0x2668 00002658: DUP2 00002659: PUSH2 0x2662 0000265c: DUP5 0000265d: SLOAD 0000265e: PUSH2 0x2490 00002661: JUMP 00002662: JUMPDEST 00002663: DUP5 00002664: PUSH2 0x25f6 00002667: JUMP 00002668: JUMPDEST 00002669: PUSH1 0x20 0000266b: DUP1 0000266c: PUSH1 0x1f 0000266e: DUP4 0000266f: GT 00002670: PUSH1 0x01 00002672: DUP2 00002673: EQ 00002674: PUSH2 0x269b 00002677: JUMPI 00002678: PUSH0 00002679: DUP5 0000267a: ISZERO 0000267b: PUSH2 0x2684 0000267e: JUMPI 0000267f: POP 00002680: DUP6 00002681: DUP4 00002682: ADD 00002683: MLOAD 00002684: JUMPDEST 00002685: PUSH0 00002686: NOT 00002687: PUSH1 0x03 00002689: DUP7 0000268a: SWAP1 0000268b: SHL 0000268c: SHR 0000268d: NOT 0000268e: AND 0000268f: PUSH1 0x01 00002691: DUP6 00002692: SWAP1 00002693: SHL 00002694: OR 00002695: DUP6 00002696: SSTORE 00002697: PUSH2 0x2140 0000269a: JUMP 0000269b: JUMPDEST 0000269c: PUSH0 0000269d: DUP6 0000269e: DUP2 0000269f: MSTORE 000026a0: PUSH1 0x20 000026a2: DUP2 000026a3: KECCAK256 000026a4: PUSH1 0x1f 000026a6: NOT 000026a7: DUP7 000026a8: AND 000026a9: SWAP2 000026aa: JUMPDEST 000026ab: DUP3 000026ac: DUP2 000026ad: LT 000026ae: ISZERO 000026af: PUSH2 0x26c9 000026b2: JUMPI 000026b3: DUP9 000026b4: DUP7 000026b5: ADD 000026b6: MLOAD 000026b7: DUP3 000026b8: SSTORE 000026b9: SWAP5 000026ba: DUP5 000026bb: ADD 000026bc: SWAP5 000026bd: PUSH1 0x01 000026bf: SWAP1 000026c0: SWAP2 000026c1: ADD 000026c2: SWAP1 000026c3: DUP5 000026c4: ADD 000026c5: PUSH2 0x26aa 000026c8: JUMP 000026c9: JUMPDEST 000026ca: POP 000026cb: DUP6 000026cc: DUP3 000026cd: LT 000026ce: ISZERO 000026cf: PUSH2 0x26e6 000026d2: JUMPI 000026d3: DUP8 000026d4: DUP6 000026d5: ADD 000026d6: MLOAD 000026d7: PUSH0 000026d8: NOT 000026d9: PUSH1 0x03 000026db: DUP9 000026dc: SWAP1 000026dd: SHL 000026de: PUSH1 0xf8 000026e0: AND 000026e1: SHR 000026e2: NOT 000026e3: AND 000026e4: DUP2 000026e5: SSTORE 000026e6: JUMPDEST 000026e7: POP 000026e8: POP 000026e9: POP 000026ea: POP 000026eb: POP 000026ec: PUSH1 0x01 000026ee: SWAP1 000026ef: DUP2 000026f0: SHL 000026f1: ADD 000026f2: SWAP1 000026f3: SSTORE 000026f4: POP 000026f5: JUMP 000026f6: JUMPDEST 000026f7: PUSH1 0x01 000026f9: PUSH1 0x01 000026fb: PUSH1 0x80 000026fd: SHL 000026fe: SUB 000026ff: DUP2 00002700: DUP2 00002701: AND 00002702: DUP4 00002703: DUP3 00002704: AND 00002705: ADD 00002706: SWAP1 00002707: DUP1 00002708: DUP3 00002709: GT 0000270a: ISZERO 0000270b: PUSH2 0x2716 0000270e: JUMPI 0000270f: PUSH2 0x2716 00002712: PUSH2 0x256e 00002715: JUMP 00002716: JUMPDEST 00002717: POP 00002718: SWAP3 00002719: SWAP2 0000271a: POP 0000271b: POP 0000271c: JUMP 0000271d: JUMPDEST 0000271e: PUSH1 0x01 00002720: PUSH1 0x01 00002722: PUSH1 0xa0 00002724: SHL 00002725: SUB 00002726: SWAP4 00002727: SWAP1 00002728: SWAP4 00002729: AND 0000272a: DUP4 0000272b: MSTORE 0000272c: PUSH1 0x20 0000272e: DUP4 0000272f: ADD 00002730: SWAP2 00002731: SWAP1 00002732: SWAP2 00002733: MSTORE 00002734: PUSH1 0x01 00002736: PUSH1 0x01 00002738: PUSH1 0x80 0000273a: SHL 0000273b: SUB 0000273c: AND 0000273d: PUSH1 0x40 0000273f: DUP3 00002740: ADD 00002741: MSTORE 00002742: PUSH1 0x60 00002744: ADD 00002745: SWAP1 00002746: JUMP 00002747: JUMPDEST 00002748: PUSH1 0x01 0000274a: PUSH1 0x01 0000274c: PUSH1 0x80 0000274e: SHL 0000274f: SUB 00002750: DUP3 00002751: DUP2 00002752: AND 00002753: DUP3 00002754: DUP3 00002755: AND 00002756: SUB 00002757: SWAP1 00002758: DUP1 00002759: DUP3 0000275a: GT 0000275b: ISZERO 0000275c: PUSH2 0x2716 0000275f: JUMPI 00002760: PUSH2 0x2716 00002763: PUSH2 0x256e 00002766: JUMP 00002767: INVALID 00002768: GASLIMIT 00002769: DUP16 0000276a: PUSH0 0000276b: LOG4 0000276c: SLT 0000276d: UNKNOWN(0xD0) 0000276e: UNKNOWN(0xF6) 0000276f: SWAP12 00002770: ADDMOD 00002771: UNKNOWN(0xDD) 00002772: DUP5 00002773: DUP8 00002774: UNKNOWN(0x2B) 00002775: MUL 00002776: ISZERO 00002777: PUSH8 0x5cc67bc1d5b6fd93 00002780: ADDRESS 00002781: EXP 00002782: SHR 00002783: CODESIZE 00002784: PUSH25 0xb86196ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4 0000279e: LOG1 0000279f: AND 000027a0: UNKNOWN(0x28) 000027a1: CREATE2 000027a2: GAS 000027a3: UNKNOWN(0x4D) 000027a4: CREATE2 000027a5: UNKNOWN(0x23) 000027a6: UNKNOWN(0xB3) 000027a7: UNKNOWN(0xEF) 000027a8: LOG1 000027a9: PUSH5 0x736f6c6343 000027af: STOP 000027b0: ADDMOD 000027b1: AND 000027b2: STOP 000027b3: EXP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x6999652f5e03c041c2347740ffe5b5de3048746bfababac1573bc06804e769ec
call_targets:
0xb2668573828029917ffbd1e76270373511818498
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6999652f5e03c041c2347740ffe5b5de3048746bfababac1573bc06804e769ec",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb2668573828029917ffbd1e76270373511818498"
],
"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": "0xd7020d0a",
"selector": "0xd7020d0a",
"calldata_variants": [
"0xd7020d0a",
"0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0753986",
"selector": "0xe0753986",
"calldata_variants": [
"0xe0753986",
"0xe07539860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe655dbd8",
"selector": "0xe655dbd8",
"calldata_variants": [
"0xe655dbd8",
"0xe655dbd80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf866c319",
"selector": "0xf866c319",
"calldata_variants": [
"0xf866c319",
"0xf866c3190000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb1bf962d",
"selector": "0xb1bf962d",
"calldata_variants": [
"0xb1bf962d",
"0xb1bf962d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb3f1c93d",
"selector": "0xb3f1c93d",
"calldata_variants": [
"0xb3f1c93d",
"0xb3f1c93d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcea9d26f",
"selector": "0xcea9d26f",
"calldata_variants": [
"0xcea9d26f",
"0xcea9d26f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5512,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6859,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7402,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x6999652f5e03c041c2347740ffe5b5de3048746bfababac1573bc06804e769ec
call_targets:
0xb2668573828029917ffbd1e76270373511818498
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6999652f5e03c041c2347740ffe5b5de3048746bfababac1573bc06804e769ec",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb2668573828029917ffbd1e76270373511818498"
],
"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": "0xd7020d0a",
"selector": "0xd7020d0a",
"calldata_variants": [
"0xd7020d0a",
"0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0753986",
"selector": "0xe0753986",
"calldata_variants": [
"0xe0753986",
"0xe07539860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe655dbd8",
"selector": "0xe655dbd8",
"calldata_variants": [
"0xe655dbd8",
"0xe655dbd80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf866c319",
"selector": "0xf866c319",
"calldata_variants": [
"0xf866c319",
"0xf866c3190000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb1bf962d",
"selector": "0xb1bf962d",
"calldata_variants": [
"0xb1bf962d",
"0xb1bf962d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb3f1c93d",
"selector": "0xb3f1c93d",
"calldata_variants": [
"0xb3f1c93d",
"0xb3f1c93d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcea9d26f",
"selector": "0xcea9d26f",
"calldata_variants": [
"0xcea9d26f",
"0xcea9d26f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5512,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6859,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7402,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| medium | access_control | codex | Public initializer can be front-run to configure ATokenInstance | 75 | no | — |
viewevidence_json{
"evidence": "`initialize` is `public` and only checks the `initializingPool` parameter against `POOL`, with no caller restriction.",
"locations": [
"contracts/src/contracts/instances/ATokenInstance.sol:17"
],
"recommendation": "Restrict `initialize` to the pool (e.g., `require(msg.sender == address(POOL))`) or a trusted configurator, and/or ensure deployment+initialization are performed atomically by a factory. Consider adding an access-controlled initializer guard to prevent unauthorized first calls.",
"exploit_scenario": "If deployment and initialization happen in separate transactions, an attacker can call `initialize` first with `initializingPool == POOL` (a known, non-secret value). They can set `_treasury` to themselves and `_underlyingAsset`/`_incentivesController` to arbitrary addresses, permanently locking the instance in a misconfigured state and redirecting protocol fees or causing DoS for withdrawals/transfers tied to the wrong underlying asset."
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xa8a1a9743680af8d2a816640ad614dbf57c4e4f114e686fb905499019d867bb4
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xa8a1a9743680af8d2a816640ad614dbf57c4e4f114e686fb905499019d867bb4",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xd7020d0a",
"selector": "0xd7020d0a",
"calldata_variants": [
"0xd7020d0a",
"0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe0753986",
"selector": "0xe0753986",
"calldata_variants": [
"0xe0753986",
"0xe07539860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe655dbd8",
"selector": "0xe655dbd8",
"calldata_variants": [
"0xe655dbd8",
"0xe655dbd80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf866c319",
"selector": "0xf866c319",
"calldata_variants": [
"0xf866c319",
"0xf866c3190000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb1bf962d",
"selector": "0xb1bf962d",
"calldata_variants": [
"0xb1bf962d",
"0xb1bf962d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb3f1c93d",
"selector": "0xb3f1c93d",
"calldata_variants": [
"0xb3f1c93d",
"0xb3f1c93d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcea9d26f",
"selector": "0xcea9d26f",
"calldata_variants": [
"0xcea9d26f",
"0xcea9d26f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 2
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 2
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 13
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|