019ba92a-2eeb-70f8-844a-5c395e4e1794
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 |
|---|---|---|---|---|
| 35613 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 35614 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 35615 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 35616 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 35617 | capability.graph | complete | 1 / 3 | 3 months ago |
| 35618 | detector.run | complete | 1 / 3 | 3 months ago |
| 35619 | validation.fork | complete | 1 / 3 | 3 months ago |
| 36019 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.","findings":[{"severity":"medium","category":"oracle","title":"Chainlink price feeds used without freshness/positivity checks","exploit_scenario":"If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly.","recommendation":"Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.","evidence":"PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.","locations":["src/steth/PriceConverter.sol:67","src/steth/PriceConverter.sol:83","src/steth/PriceConverter.sol:91"]},{"severity":"medium","category":"access_control","title":"Flashloan callback not restricted to Balancer vault","exploit_scenario":"During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode.","recommendation":"Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.","evidence":"`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.","locations":["src/steth/scWETHv2.sol:225","src/sc4626.sol:109"]},{"severity":"medium","category":"math","title":"Division-by-zero in `_withdrawToVault` when adapter net assets are zero","exploit_scenario":"If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds.","recommendation":"Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.","evidence":"`repayPerProtocol` divides by `assets` without a zero check.","locations":["src/steth/scWETHv2.sol:336","src/steth/scWETHv2.sol:356"]},{"severity":"low","category":"upgradeability","title":"Delegatecall to adapter/swapper trusts upgradeable targets with full storage access","exploit_scenario":"Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code.","recommendation":"Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.","evidence":"Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.","locations":["src/steth/BaseV2Vault.sol:100","src/steth/BaseV2Vault.sol:183","src/steth/BaseV2Vault.sol:196"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-n3mhbuje
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: xhigh
reasoning summaries: auto
session id: 019ba92d-c805-7a83-8afa-8ac5d4216cdc
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-n3mhbuje succeeded in 9ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: src/errors/scErrors.sol
================================================================================
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.10;
error InvalidTargetLtv();
error InvalidMaxLtv();
error InvalidFlashLoanCaller();
error InvalidSlippageTolerance();
error InvalidFloatPercentage();
error ZeroAddress();
error PleaseUseRedeemMethod();
error FeesTooHigh();
error TreasuryCannotBeZero();
error VaultNotUnderwater();
error CallerNotAdmin();
thinking
**Planning full AUDIT_BUNDLE read**
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-n3mhbuje succeeded in 14ms:
5:FILE: src/errors/scErrors.sol
33:FILE: src/interfaces/balancer/IFlashLoanRecipient.sol
59:FILE: src/interfaces/balancer/IVault.sol
82:FILE: src/interfaces/chainlink/AggregatorV3Interface.sol
106:FILE: src/interfaces/curve/ICurvePool.sol
116:FILE: src/interfaces/lido/ILido.sol
135:FILE: src/interfaces/lido/IwstETH.sol
183:FILE: src/interfaces/uniswap/ISwapRouter.sol
225:FILE: src/lib/Constants.sol
329:FILE: src/sc4626.sol
457:FILE: src/steth/BaseV2Vault.sol
676:FILE: src/steth/IAdapter.sol
749:FILE: src/steth/PriceConverter.sol
860:FILE: src/steth/Swapper.sol
1019:FILE: src/steth/scWETHv2.sol
thinking
**Continuing to review key contracts**
exec
/bin/bash -lc "sed -n '457,760p' AUDIT_BUNDLE.txt" in /tmp/codex-n3mhbuje succeeded in 6ms:
FILE: src/steth/BaseV2Vault.sol
================================================================================
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.19;
import {TokenOutNotAllowed} from "../errors/scErrors.sol";
import {ERC20} from "solmate/tokens/ERC20.sol";
import {Address} from "openzeppelin-contracts/utils/Address.sol";
import {EnumerableMap} from "openzeppelin-contracts/utils/structs/EnumerableMap.sol";
import {ProtocolNotSupported, ProtocolInUse, ZeroAddress} from "../errors/scErrors.sol";
import {Constants as C} from "../lib/Constants.sol";
import {IVault} from "../interfaces/balancer/IVault.sol";
import {IFlashLoanRecipient} from "../interfaces/balancer/IFlashLoanRecipient.sol";
import {IAdapter} from "./IAdapter.sol";
import {PriceConverter} from "./PriceConverter.sol";
import {Swapper} from "./Swapper.sol";
import {sc4626} from "../sc4626.sol";
thinking
**Continuing file extraction**
exec
/bin/bash -lc "sed -n '760,1060p' AUDIT_BUNDLE.txt" in /tmp/codex-n3mhbuje succeeded in 6ms:
import {IwstETH} from "../interfaces/lido/IwstETH.sol";
/**
* @title Price Converter
* @notice Contract for price conversion between assets used by staking vaults.
*/
contract PriceConverter is AccessControl {
using FixedPointMathLib for uint256;
IwstETH constant wstETH = IwstETH(C.WSTETH);
event UsdcToEthPriceFeedUpdated(address indexed admin, address newPriceFeed);
event StEthToEthPriceFeedUpdated(address indexed admin, address newPriceFeed);
// Chainlink price feed (USDC -> ETH)
AggregatorV3Interface public usdcToEthPriceFeed = AggregatorV3Interface(C.CHAINLINK_USDC_ETH_PRICE_FEED);
// Chainlink price feed (stETH -> ETH)
AggregatorV3Interface public stEThToEthPriceFeed = AggregatorV3Interface(C.CHAINLINK_STETH_ETH_PRICE_FEED);
thinking
**Continuing to review scWETHv2 file**
exec
/bin/bash -lc "sed -n '1060,1458p' AUDIT_BUNDLE.txt" in /tmp/codex-n3mhbuje succeeded in 5ms:
event Harvested(uint256 profitSinceLastHarvest, uint256 performanceFee);
event MinFloatAmountUpdated(address indexed user, uint256 newMinFloatAmount);
event Rebalanced(uint256 totalCollateral, uint256 totalDebt, uint256 floatBalance);
event SuppliedAndBorrowed(uint256 adapterId, uint256 supplyAmount, uint256 borrowAmount);
event RepaidAndWithdrawn(uint256 adapterId, uint256 repayAmount, uint256 withdrawAmount);
event WithdrawnToVault(uint256 amount);
// total invested during last harvest/rebalance
uint256 public totalInvested;
// total profit generated for this vault
uint256 public totalProfit;
// since the totalAssets increases after profit, the floatRequired also increases proportionally in case of using a percentage float
// this will cause the receiveFlashloan method to fail on reinvesting profits (using rebalance) after the multicall, since the actual float in the contract remain unchanged after the multicall
// this can be fixed by also withdrawing float into the contract in the reinvesting profits multicall but that makes the calculations very complex on the backend
// a simple solution to that is just using minimumFloatAmount instead of a percentage float
uint256 public minimumFloatAmount = 1 ether;
IwstETH constant wstETH = IwstETH(C.WSTETH);
thinking
**Analyzing smart contract security risks**
I'm reviewing potential vulnerabilities in the vault contracts, focusing on access controls, delegatecalls, flashloan reentrancy, and oracle data validation. There are concerns about missing msg.sender checks on receiveFlashLoan, risky delegatecalls to adapters/swappers, and unvalidated Chainlink price feeds that may allow oracle manipulation. I'll continue assessing whether these pose exploitable issues or rely on trusted roles.
thinking
**Examining reentrancy and swap risks**
There is potential for reentrancy during flashloans via external calls, especially with zeroExSwap’s flexible swapData that could redirect tokens to attacker-controlled addresses. Since receiveFlashLoan lacks msg.sender validation and relies on a boolean flag, an attacker able to reenter during a flashloan might misuse privileged functions. I’m parsing these complex interaction paths and allowance resets to understand if they can be weaponized despite trusted roles like keeper and admin.
thinking
**Analyzing oracle handling and access control nuances**
I’m exploring how missing sender checks on receiveFlashLoan and unvalidated oracles might enable unexpected behavior, like unauthorized multicalls or mispriced shares. It’s interesting how delegatecalls and external calls interplay here, revealing subtle access and reentrancy considerations that could affect vault integrity under certain conditions.
thinking
**Identifying division-by-zero and oracle validation risks**
I’m focusing on how division-by-zero errors in withdrawal calculations can cause transaction reverts and potentially lock funds, especially when protocol positions hit max loan-to-value ratios. Alongside that, missing price feed validations create a risk of stale or incorrect pricing affecting asset valuation and share accounting.
thinking
**Highlighting dangerous delegatecall and oracle validation gaps**
I’m outlining how delegatecalls to admin-configurable swapper and adapters can risk vault storage if upgraded maliciously, plus missing oracle response checks that might let stale or negative prices skew share valuations and withdrawals. These combined create important upgradeability and pricing concerns worth noting.
exec
/bin/bash -lc "nl -ba src/steth/PriceConverter.sol | sed -n '1,200p'" in /tmp/codex-n3mhbuje succeeded in 11ms:
1 // SPDX-License-Identifier: AGPL-3.0-only
2 pragma solidity ^0.8.19;
3
4 import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol";
5 import {AccessControl} from "openzeppelin-contracts/access/AccessControl.sol";
6
7 import {ZeroAddress, CallerNotAdmin} from "../errors/scErrors.sol";
8 import {Constants as C} from "../lib/Constants.sol";
9 import {AggregatorV3Interface} from "../interfaces/chainlink/AggregatorV3Interface.sol";
10 import {IwstETH} from "../interfaces/lido/IwstETH.sol";
11
12 /**
13 * @title Price Converter
14 * @notice Contract for price conversion between assets used by staking vaults.
15 */
16 contract PriceConverter is AccessControl {
17 using FixedPointMathLib for uint256;
18
19 IwstETH constant wstETH = IwstETH(C.WSTETH);
20
thinking
**Searching for receiveFlashLoan in scWETHv2**
exec
/bin/bash -lc "nl -ba src/steth/scWETHv2.sol | sed -n '140,320p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
140 );
141 }
142
143 /// @notice withdraw deposited funds from the lending markets to the vault
144 /// @param _amount : amount of assets to withdraw to the vault
145 function withdrawToVault(uint256 _amount) external {
146 _onlyKeeper();
147
148 _withdrawToVault(_amount);
149 }
150
151 /// @notice returns the adapter address given the adapterId (only if the adaapterId is supported else returns zero address)
152 /// @param _adapterId the id of the adapter to check
153 function getAdapter(uint256 _adapterId) external view returns (address adapter) {
154 (, adapter) = protocolAdapters.tryGet(_adapterId);
155 }
156
157 /// @notice returns the total assets (in WETH) held by the strategy
158 function totalAssets() public view override returns (uint256 assets) {
159 // value of the supplied collateral in eth terms using chainlink oracle
thinking
**Locating _withdrawToVault usage**
exec
/bin/bash -lc "nl -ba src/steth/scWETHv2.sol | sed -n '320,520p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
320 // since during withdrawing everything,
321 // actual withdrawn amount might be less than totalAsssets
322 // (due to slippage incurred during wstEth to weth swap)
323 if (assets > balance) {
324 assets = balance;
325 }
326
327 emit Withdraw(msg.sender, receiver, owner, assets, shares);
328
329 asset.safeTransfer(receiver, assets);
330 }
331
332 /*//////////////////////////////////////////////////////////////
333 INTERNAL API
334 //////////////////////////////////////////////////////////////*/
335
336 function _withdrawToVault(uint256 _amount) internal {
337 uint256 n = protocolAdapters.length();
338 uint256 flashLoanAmount;
339 uint256 totalInvested_ = _totalCollateralInWeth() - totalDebt();
thinking
**Identifying delegatecall locations in BaseV2Vault**
exec
/bin/bash -lc "nl -ba src/steth/BaseV2Vault.sol | sed -n '1,220p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
1 // SPDX-License-Identifier: AGPL-3.0-only
2 pragma solidity ^0.8.19;
3
4 import {TokenOutNotAllowed} from "../errors/scErrors.sol";
5
6 import {ERC20} from "solmate/tokens/ERC20.sol";
7 import {Address} from "openzeppelin-contracts/utils/Address.sol";
8 import {EnumerableMap} from "openzeppelin-contracts/utils/structs/EnumerableMap.sol";
9
10 import {ProtocolNotSupported, ProtocolInUse, ZeroAddress} from "../errors/scErrors.sol";
11 import {Constants as C} from "../lib/Constants.sol";
12 import {IVault} from "../interfaces/balancer/IVault.sol";
13 import {IFlashLoanRecipient} from "../interfaces/balancer/IFlashLoanRecipient.sol";
14 import {IAdapter} from "./IAdapter.sol";
15 import {PriceConverter} from "./PriceConverter.sol";
16 import {Swapper} from "./Swapper.sol";
17 import {sc4626} from "../sc4626.sol";
18
19 /**
20 * @title BaseV2Vault
thinking
**Identifying multiple security and logic concerns**
exec
/bin/bash -lc "nl -ba src/sc4626.sol | sed -n '1,200p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
1 // SPDX-License-Identifier: AGPL-3.0-only
2 pragma solidity ^0.8.10;
3
4 import {ERC20} from "solmate/tokens/ERC20.sol";
5 import {ERC4626} from "solmate/mixins/ERC4626.sol";
6 import {AccessControl} from "openzeppelin-contracts/access/AccessControl.sol";
7 import {Constants as C} from "./lib/Constants.sol";
8 import {
9 CallerNotAdmin,
10 CallerNotKeeper,
11 ZeroAddress,
12 InvalidFlashLoanCaller,
13 TreasuryCannotBeZero,
14 FeesTooHigh,
15 InvalidFloatPercentage,
16 InvalidSlippageTolerance
17 } from "./errors/scErrors.sol";
18
19 abstract contract sc4626 is ERC4626, AccessControl {
20 constructor(address _admin, address _keeper, ERC20 _asset, string memory _name, string memory _symbol)
thinking
**Preparing JSON report for findings**
codex
{"no_findings":false,"summary":"Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.","findings":[{"severity":"medium","category":"oracle","title":"Chainlink price feeds used without freshness/positivity checks","exploit_scenario":"If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly.","recommendation":"Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.","evidence":"PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.","locations":["src/steth/PriceConverter.sol:67","src/steth/PriceConverter.sol:83","src/steth/PriceConverter.sol:91"]},{"severity":"medium","category":"access_control","title":"Flashloan callback not restricted to Balancer vault","exploit_scenario":"During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode.","recommendation":"Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.","evidence":"`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.","locations":["src/steth/scWETHv2.sol:225","src/sc4626.sol:109"]},{"severity":"medium","category":"math","title":"Division-by-zero in `_withdrawToVault` when adapter net assets are zero","exploit_scenario":"If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds.","recommendation":"Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.","evidence":"`repayPerProtocol` divides by `assets` without a zero check.","locations":["src/steth/scWETHv2.sol:336","src/steth/scWETHv2.sol:356"]},{"severity":"low","category":"upgradeability","title":"Delegatecall to adapter/swapper trusts upgradeable targets with full storage access","exploit_scenario":"Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code.","recommendation":"Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.","evidence":"Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.","locations":["src/steth/BaseV2Vault.sol:100","src/steth/BaseV2Vault.sol:183","src/steth/BaseV2Vault.sol:196"]}]}
tokens used
57,640
{
"codex": {
"ran_at": "2026-01-10T18:39:38.210597+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 31,
"import_count": 35,
"first_party_contracts_count": 15
},
"summary": "Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.",
"raw_final": {
"summary": "Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.",
"findings": [
{
"title": "Chainlink price feeds used without freshness/positivity checks",
"category": "oracle",
"evidence": "PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.",
"severity": "medium",
"locations": [
"src/steth/PriceConverter.sol:67",
"src/steth/PriceConverter.sol:83",
"src/steth/PriceConverter.sol:91"
],
"recommendation": "Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.",
"exploit_scenario": "If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly."
},
{
"title": "Flashloan callback not restricted to Balancer vault",
"category": "access_control",
"evidence": "`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.",
"severity": "medium",
"locations": [
"src/steth/scWETHv2.sol:225",
"src/sc4626.sol:109"
],
"recommendation": "Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.",
"exploit_scenario": "During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode."
},
{
"title": "Division-by-zero in `_withdrawToVault` when adapter net assets are zero",
"category": "math",
"evidence": "`repayPerProtocol` divides by `assets` without a zero check.",
"severity": "medium",
"locations": [
"src/steth/scWETHv2.sol:336",
"src/steth/scWETHv2.sol:356"
],
"recommendation": "Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.",
"exploit_scenario": "If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds."
},
{
"title": "Delegatecall to adapter/swapper trusts upgradeable targets with full storage access",
"category": "upgradeability",
"evidence": "Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.",
"severity": "low",
"locations": [
"src/steth/BaseV2Vault.sol:100",
"src/steth/BaseV2Vault.sol:183",
"src/steth/BaseV2Vault.sol:196"
],
"recommendation": "Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.",
"exploit_scenario": "Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x04ba 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8d60cded 00000019: GT 0000001a: PUSH2 0x0279 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xc63d75b6 00000024: GT 00000025: PUSH2 0x015e 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xd505accf 0000002f: GT 00000030: PUSH2 0x00d6 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xef8b30f7 0000003a: GT 0000003b: PUSH2 0x008a 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf0f44260 00000045: GT 00000046: PUSH2 0x006f 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf0f44260 00000050: EQ 00000051: PUSH2 0x0e96 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf340fa01 0000005b: EQ 0000005c: PUSH2 0x0eb6 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xfc7b9c18 00000066: EQ 00000067: PUSH2 0x0ec9 0000006a: JUMPI 0000006b: PUSH1 0x00 0000006d: DUP1 0000006e: REVERT 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0xef8b30f7 00000076: EQ 00000077: PUSH2 0x0e56 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xf04f2707 00000081: EQ 00000082: PUSH2 0x0e76 00000085: JUMPI 00000086: PUSH1 0x00 00000088: DUP1 00000089: REVERT 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0xd905777e 00000091: GT 00000092: PUSH2 0x00bb 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xd905777e 0000009c: EQ 0000009d: PUSH2 0x0dbb 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xdd62ed3e 000000a7: EQ 000000a8: PUSH2 0x0dfe 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xddeadbb6 000000b2: EQ 000000b3: PUSH2 0x0e36 000000b6: JUMPI 000000b7: PUSH1 0x00 000000b9: DUP1 000000ba: REVERT 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0xd505accf 000000c2: EQ 000000c3: PUSH2 0x0d7b 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0xd547741f 000000cd: EQ 000000ce: PUSH2 0x0d9b 000000d1: JUMPI 000000d2: PUSH1 0x00 000000d4: DUP1 000000d5: REVERT 000000d6: JUMPDEST 000000d7: DUP1 000000d8: PUSH4 0xc923299a 000000dd: GT 000000de: PUSH2 0x012d 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xce8c42e8 000000e8: GT 000000e9: PUSH2 0x0112 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xce8c42e8 000000f3: EQ 000000f4: PUSH2 0x0d25 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xce96cb77 000000fe: EQ 000000ff: PUSH2 0x0d45 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0xd03153aa 00000109: EQ 0000010a: PUSH2 0x0d65 0000010d: JUMPI 0000010e: PUSH1 0x00 00000110: DUP1 00000111: REVERT 00000112: JUMPDEST 00000113: DUP1 00000114: PUSH4 0xc923299a 00000119: EQ 0000011a: PUSH2 0x0ce5 0000011d: JUMPI 0000011e: DUP1 0000011f: PUSH4 0xc9dd1f3c 00000124: EQ 00000125: PUSH2 0x0d05 00000128: JUMPI 00000129: PUSH1 0x00 0000012b: DUP1 0000012c: REVERT 0000012d: JUMPDEST 0000012e: DUP1 0000012f: PUSH4 0xc63d75b6 00000134: EQ 00000135: PUSH2 0x0805 00000138: JUMPI 00000139: DUP1 0000013a: PUSH4 0xc6e6f592 0000013f: EQ 00000140: PUSH2 0x0c85 00000143: JUMPI 00000144: DUP1 00000145: PUSH4 0xc7e106d8 0000014a: EQ 0000014b: PUSH2 0x0ca5 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0xc8b28776 00000155: EQ 00000156: PUSH2 0x0cc5 00000159: JUMPI 0000015a: PUSH1 0x00 0000015c: DUP1 0000015d: REVERT 0000015e: JUMPDEST 0000015f: DUP1 00000160: PUSH4 0x9ef00906 00000165: GT 00000166: PUSH2 0x01f1 00000169: JUMPI 0000016a: DUP1 0000016b: PUSH4 0xb460af94 00000170: GT 00000171: PUSH2 0x01c0 00000174: JUMPI 00000175: DUP1 00000176: PUSH4 0xb9385510 0000017b: GT 0000017c: PUSH2 0x01a5 0000017f: JUMPI 00000180: DUP1 00000181: PUSH4 0xb9385510 00000186: EQ 00000187: PUSH2 0x0c1b 0000018a: JUMPI 0000018b: DUP1 0000018c: PUSH4 0xba087652 00000191: EQ 00000192: PUSH2 0x0c4f 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0xc2458234 0000019c: EQ 0000019d: PUSH2 0x0c6f 000001a0: JUMPI 000001a1: PUSH1 0x00 000001a3: DUP1 000001a4: REVERT 000001a5: JUMPDEST 000001a6: DUP1 000001a7: PUSH4 0xb460af94 000001ac: EQ 000001ad: PUSH2 0x0bb5 000001b0: JUMPI 000001b1: DUP1 000001b2: PUSH4 0xb5af090f 000001b7: EQ 000001b8: PUSH2 0x0bd5 000001bb: JUMPI 000001bc: PUSH1 0x00 000001be: DUP1 000001bf: REVERT 000001c0: JUMPDEST 000001c1: DUP1 000001c2: PUSH4 0x9ef00906 000001c7: EQ 000001c8: PUSH2 0x0b40 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0xa217fddf 000001d2: EQ 000001d3: PUSH2 0x0b60 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0xa9059cbb 000001dd: EQ 000001de: PUSH2 0x0b75 000001e1: JUMPI 000001e2: DUP1 000001e3: PUSH4 0xb3d7f6b9 000001e8: EQ 000001e9: PUSH2 0x0b95 000001ec: JUMPI 000001ed: PUSH1 0x00 000001ef: DUP1 000001f0: REVERT 000001f1: JUMPDEST 000001f2: DUP1 000001f3: PUSH4 0x94bf804d 000001f8: GT 000001f9: PUSH2 0x0248 000001fc: JUMPI 000001fd: DUP1 000001fe: PUSH4 0x9c82f2a4 00000203: GT 00000204: PUSH2 0x022d 00000207: JUMPI 00000208: DUP1 00000209: PUSH4 0x9c82f2a4 0000020e: EQ 0000020f: PUSH2 0x0ae0 00000212: JUMPI 00000213: DUP1 00000214: PUSH4 0x9ceffcde 00000219: EQ 0000021a: PUSH2 0x0b00 0000021d: JUMPI 0000021e: DUP1 0000021f: PUSH4 0x9e507673 00000224: EQ 00000225: PUSH2 0x0b20 00000228: JUMPI 00000229: PUSH1 0x00 0000022b: DUP1 0000022c: REVERT 0000022d: JUMPDEST 0000022e: DUP1 0000022f: PUSH4 0x94bf804d 00000234: EQ 00000235: PUSH2 0x0aab 00000238: JUMPI 00000239: DUP1 0000023a: PUSH4 0x95d89b41 0000023f: EQ 00000240: PUSH2 0x0acb 00000243: JUMPI 00000244: PUSH1 0x00 00000246: DUP1 00000247: REVERT 00000248: JUMPDEST 00000249: DUP1 0000024a: PUSH4 0x8d60cded 0000024f: EQ 00000250: PUSH2 0x09f8 00000253: JUMPI 00000254: DUP1 00000255: PUSH4 0x902d14a0 0000025a: EQ 0000025b: PUSH2 0x0a18 0000025e: JUMPI 0000025f: DUP1 00000260: PUSH4 0x91d14854 00000265: EQ 00000266: PUSH2 0x0a38 00000269: JUMPI 0000026a: DUP1 0000026b: PUSH4 0x9356966d 00000270: EQ 00000271: PUSH2 0x0a8b 00000274: JUMPI 00000275: PUSH1 0x00 00000277: DUP1 00000278: REVERT 00000279: JUMPDEST 0000027a: DUP1 0000027b: PUSH4 0x364bc15a 00000280: GT 00000281: PUSH2 0x039f 00000284: JUMPI 00000285: DUP1 00000286: PUSH4 0x60d54d41 0000028b: GT 0000028c: PUSH2 0x0317 0000028f: JUMPI 00000290: DUP1 00000291: PUSH4 0x70897b23 00000296: GT 00000297: PUSH2 0x02e6 0000029a: JUMPI 0000029b: DUP1 0000029c: PUSH4 0x7ecebe00 000002a1: GT 000002a2: PUSH2 0x02cb 000002a5: JUMPI 000002a6: DUP1 000002a7: PUSH4 0x7ecebe00 000002ac: EQ 000002ad: PUSH2 0x099f 000002b0: JUMPI 000002b1: DUP1 000002b2: PUSH4 0x86001519 000002b7: EQ 000002b8: PUSH2 0x09cc 000002bb: JUMPI 000002bc: DUP1 000002bd: PUSH4 0x87788782 000002c2: EQ 000002c3: PUSH2 0x09e2 000002c6: JUMPI 000002c7: PUSH1 0x00 000002c9: DUP1 000002ca: REVERT 000002cb: JUMPDEST 000002cc: DUP1 000002cd: PUSH4 0x70897b23 000002d2: EQ 000002d3: PUSH2 0x0952 000002d6: JUMPI 000002d7: DUP1 000002d8: PUSH4 0x70a08231 000002dd: EQ 000002de: PUSH2 0x0972 000002e1: JUMPI 000002e2: PUSH1 0x00 000002e4: DUP1 000002e5: REVERT 000002e6: JUMPDEST 000002e7: DUP1 000002e8: PUSH4 0x60d54d41 000002ed: EQ 000002ee: PUSH2 0x08c6 000002f1: JUMPI 000002f2: DUP1 000002f3: PUSH4 0x61d027b3 000002f8: EQ 000002f9: PUSH2 0x08e6 000002fc: JUMPI 000002fd: DUP1 000002fe: PUSH4 0x6457f755 00000303: EQ 00000304: PUSH2 0x0918 00000307: JUMPI 00000308: DUP1 00000309: PUSH4 0x6e553f65 0000030e: EQ 0000030f: PUSH2 0x0932 00000312: JUMPI 00000313: PUSH1 0x00 00000315: DUP1 00000316: REVERT 00000317: JUMPDEST 00000318: DUP1 00000319: PUSH4 0x4ac8eb5f 0000031e: GT 0000031f: PUSH2 0x036e 00000322: JUMPI 00000323: DUP1 00000324: PUSH4 0x5216aeec 00000329: GT 0000032a: PUSH2 0x0353 0000032d: JUMPI 0000032e: DUP1 0000032f: PUSH4 0x5216aeec 00000334: EQ 00000335: PUSH2 0x087a 00000338: JUMPI 00000339: DUP1 0000033a: PUSH4 0x549dd8c3 0000033f: EQ 00000340: PUSH2 0x0890 00000343: JUMPI 00000344: DUP1 00000345: PUSH4 0x5892457d 0000034a: EQ 0000034b: PUSH2 0x08b0 0000034e: JUMPI 0000034f: PUSH1 0x00 00000351: DUP1 00000352: REVERT 00000353: JUMPDEST 00000354: DUP1 00000355: PUSH4 0x4ac8eb5f 0000035a: EQ 0000035b: PUSH2 0x0845 0000035e: JUMPI 0000035f: DUP1 00000360: PUSH4 0x4cdad506 00000365: EQ 00000366: PUSH2 0x085a 00000369: JUMPI 0000036a: PUSH1 0x00 0000036c: DUP1 0000036d: REVERT 0000036e: JUMPDEST 0000036f: DUP1 00000370: PUSH4 0x364bc15a 00000375: EQ 00000376: PUSH2 0x077d 00000379: JUMPI 0000037a: DUP1 0000037b: PUSH4 0x36568abe 00000380: EQ 00000381: PUSH2 0x07b1 00000384: JUMPI 00000385: DUP1 00000386: PUSH4 0x38d52e0f 0000038b: EQ 0000038c: PUSH2 0x07d1 0000038f: JUMPI 00000390: DUP1 00000391: PUSH4 0x402d267d 00000396: EQ 00000397: PUSH2 0x0805 0000039a: JUMPI 0000039b: PUSH1 0x00 0000039d: DUP1 0000039e: REVERT 0000039f: JUMPDEST 000003a0: DUP1 000003a1: PUSH4 0x18160ddd 000003a6: GT 000003a7: PUSH2 0x0432 000003aa: JUMPI 000003ab: DUP1 000003ac: PUSH4 0x2b3297f9 000003b1: GT 000003b2: PUSH2 0x0401 000003b5: JUMPI 000003b6: DUP1 000003b7: PUSH4 0x2f2ff15d 000003bc: GT 000003bd: PUSH2 0x03e6 000003c0: JUMPI 000003c1: DUP1 000003c2: PUSH4 0x2f2ff15d 000003c7: EQ 000003c8: PUSH2 0x0702 000003cb: JUMPI 000003cc: DUP1 000003cd: PUSH4 0x313ce567 000003d2: EQ 000003d3: PUSH2 0x0722 000003d6: JUMPI 000003d7: DUP1 000003d8: PUSH4 0x3644e515 000003dd: EQ 000003de: PUSH2 0x0768 000003e1: JUMPI 000003e2: PUSH1 0x00 000003e4: DUP1 000003e5: REVERT 000003e6: JUMPDEST 000003e7: DUP1 000003e8: PUSH4 0x2b3297f9 000003ed: EQ 000003ee: PUSH2 0x06b5 000003f1: JUMPI 000003f2: DUP1 000003f3: PUSH4 0x2e2ddd45 000003f8: EQ 000003f9: PUSH2 0x06e2 000003fc: JUMPI 000003fd: PUSH1 0x00 000003ff: DUP1 00000400: REVERT 00000401: JUMPDEST 00000402: DUP1 00000403: PUSH4 0x18160ddd 00000408: EQ 00000409: PUSH2 0x062f 0000040c: JUMPI 0000040d: DUP1 0000040e: PUSH4 0x23b872dd 00000413: EQ 00000414: PUSH2 0x0645 00000417: JUMPI 00000418: DUP1 00000419: PUSH4 0x248a9ca3 0000041e: EQ 0000041f: PUSH2 0x0665 00000422: JUMPI 00000423: DUP1 00000424: PUSH4 0x2a62a490 00000429: EQ 0000042a: PUSH2 0x0695 0000042d: JUMPI 0000042e: PUSH1 0x00 00000430: DUP1 00000431: REVERT 00000432: JUMPDEST 00000433: DUP1 00000434: PUSH4 0x095ea7b3 00000439: GT 0000043a: PUSH2 0x0489 0000043d: JUMPI 0000043e: DUP1 0000043f: PUSH4 0x0e567c81 00000444: GT 00000445: PUSH2 0x046e 00000448: JUMPI 00000449: DUP1 0000044a: PUSH4 0x0e567c81 0000044f: EQ 00000450: PUSH2 0x05a0 00000453: JUMPI 00000454: DUP1 00000455: PUSH4 0x117da1ee 0000045a: EQ 0000045b: PUSH2 0x05c2 0000045e: JUMPI 0000045f: DUP1 00000460: PUSH4 0x158274a5 00000465: EQ 00000466: PUSH2 0x05e2 00000469: JUMPI 0000046a: PUSH1 0x00 0000046c: DUP1 0000046d: REVERT 0000046e: JUMPDEST 0000046f: DUP1 00000470: PUSH4 0x095ea7b3 00000475: EQ 00000476: PUSH2 0x0560 00000479: JUMPI 0000047a: DUP1 0000047b: PUSH4 0x0a28a477 00000480: EQ 00000481: PUSH2 0x0580 00000484: JUMPI 00000485: PUSH1 0x00 00000487: DUP1 00000488: REVERT 00000489: JUMPDEST 0000048a: DUP1 0000048b: PUSH4 0x01e1d114 00000490: EQ 00000491: PUSH2 0x04c6 00000494: JUMPI 00000495: DUP1 00000496: PUSH4 0x01ffc9a7 0000049b: EQ 0000049c: PUSH2 0x04ee 0000049f: JUMPI 000004a0: DUP1 000004a1: PUSH4 0x06fdde03 000004a6: EQ 000004a7: PUSH2 0x051e 000004aa: JUMPI 000004ab: DUP1 000004ac: PUSH4 0x07a2d13a 000004b1: EQ 000004b2: PUSH2 0x0540 000004b5: JUMPI 000004b6: PUSH1 0x00 000004b8: DUP1 000004b9: REVERT 000004ba: JUMPDEST 000004bb: CALLDATASIZE 000004bc: PUSH2 0x04c1 000004bf: JUMPI 000004c0: STOP 000004c1: JUMPDEST 000004c2: PUSH1 0x00 000004c4: DUP1 000004c5: REVERT 000004c6: JUMPDEST 000004c7: CALLVALUE 000004c8: DUP1 000004c9: ISZERO 000004ca: PUSH2 0x04d2 000004cd: JUMPI 000004ce: PUSH1 0x00 000004d0: DUP1 000004d1: REVERT 000004d2: JUMPDEST 000004d3: POP 000004d4: PUSH2 0x04db 000004d7: PUSH2 0x0ede 000004da: JUMP 000004db: JUMPDEST 000004dc: PUSH1 0x40 000004de: MLOAD 000004df: SWAP1 000004e0: DUP2 000004e1: MSTORE 000004e2: PUSH1 0x20 000004e4: ADD 000004e5: JUMPDEST 000004e6: PUSH1 0x40 000004e8: MLOAD 000004e9: DUP1 000004ea: SWAP2 000004eb: SUB 000004ec: SWAP1 000004ed: RETURN 000004ee: JUMPDEST 000004ef: CALLVALUE 000004f0: DUP1 000004f1: ISZERO 000004f2: PUSH2 0x04fa 000004f5: JUMPI 000004f6: PUSH1 0x00 000004f8: DUP1 000004f9: REVERT 000004fa: JUMPDEST 000004fb: POP 000004fc: PUSH2 0x050e 000004ff: PUSH2 0x0509 00000502: CALLDATASIZE 00000503: PUSH1 0x04 00000505: PUSH2 0x504c 00000508: JUMP 00000509: JUMPDEST 0000050a: PUSH2 0x0fbc 0000050d: JUMP 0000050e: JUMPDEST 0000050f: PUSH1 0x40 00000511: MLOAD 00000512: SWAP1 00000513: ISZERO 00000514: ISZERO 00000515: DUP2 00000516: MSTORE 00000517: PUSH1 0x20 00000519: ADD 0000051a: PUSH2 0x04e5 0000051d: JUMP 0000051e: JUMPDEST 0000051f: CALLVALUE 00000520: DUP1 00000521: ISZERO 00000522: PUSH2 0x052a 00000525: JUMPI 00000526: PUSH1 0x00 00000528: DUP1 00000529: REVERT 0000052a: JUMPDEST 0000052b: POP 0000052c: PUSH2 0x0533 0000052f: PUSH2 0x1055 00000532: JUMP 00000533: JUMPDEST 00000534: PUSH1 0x40 00000536: MLOAD 00000537: PUSH2 0x04e5 0000053a: SWAP2 0000053b: SWAP1 0000053c: PUSH2 0x50fc 0000053f: JUMP 00000540: JUMPDEST 00000541: CALLVALUE 00000542: DUP1 00000543: ISZERO 00000544: PUSH2 0x054c 00000547: JUMPI 00000548: PUSH1 0x00 0000054a: DUP1 0000054b: REVERT 0000054c: JUMPDEST 0000054d: POP 0000054e: PUSH2 0x04db 00000551: PUSH2 0x055b 00000554: CALLDATASIZE 00000555: PUSH1 0x04 00000557: PUSH2 0x510f 0000055a: JUMP 0000055b: JUMPDEST 0000055c: PUSH2 0x10e3 0000055f: JUMP 00000560: JUMPDEST 00000561: CALLVALUE 00000562: DUP1 00000563: ISZERO 00000564: PUSH2 0x056c 00000567: JUMPI 00000568: PUSH1 0x00 0000056a: DUP1 0000056b: REVERT 0000056c: JUMPDEST 0000056d: POP 0000056e: PUSH2 0x050e 00000571: PUSH2 0x057b 00000574: CALLDATASIZE 00000575: PUSH1 0x04 00000577: PUSH2 0x514a 0000057a: JUMP 0000057b: JUMPDEST 0000057c: PUSH2 0x1110 0000057f: JUMP 00000580: JUMPDEST 00000581: CALLVALUE 00000582: DUP1 00000583: ISZERO 00000584: PUSH2 0x058c 00000587: JUMPI 00000588: PUSH1 0x00 0000058a: DUP1 0000058b: REVERT 0000058c: JUMPDEST 0000058d: POP 0000058e: PUSH2 0x04db 00000591: PUSH2 0x059b 00000594: CALLDATASIZE 00000595: PUSH1 0x04 00000597: PUSH2 0x510f 0000059a: JUMP 0000059b: JUMPDEST 0000059c: PUSH2 0x1189 0000059f: JUMP 000005a0: JUMPDEST 000005a1: CALLVALUE 000005a2: DUP1 000005a3: ISZERO 000005a4: PUSH2 0x05ac 000005a7: JUMPI 000005a8: PUSH1 0x00 000005aa: DUP1 000005ab: REVERT 000005ac: JUMPDEST 000005ad: POP 000005ae: PUSH2 0x05c0 000005b1: PUSH2 0x05bb 000005b4: CALLDATASIZE 000005b5: PUSH1 0x04 000005b7: PUSH2 0x510f 000005ba: JUMP 000005bb: JUMPDEST 000005bc: PUSH2 0x11a9 000005bf: JUMP 000005c0: JUMPDEST 000005c1: STOP 000005c2: JUMPDEST 000005c3: CALLVALUE 000005c4: DUP1 000005c5: ISZERO 000005c6: PUSH2 0x05ce 000005c9: JUMPI 000005ca: PUSH1 0x00 000005cc: DUP1 000005cd: REVERT 000005ce: JUMPDEST 000005cf: POP 000005d0: PUSH2 0x05c0 000005d3: PUSH2 0x05dd 000005d6: CALLDATASIZE 000005d7: PUSH1 0x04 000005d9: PUSH2 0x510f 000005dc: JUMP 000005dd: JUMPDEST 000005de: PUSH2 0x1285 000005e1: JUMP 000005e2: JUMPDEST 000005e3: CALLVALUE 000005e4: DUP1 000005e5: ISZERO 000005e6: PUSH2 0x05ee 000005e9: JUMPI 000005ea: PUSH1 0x00 000005ec: DUP1 000005ed: REVERT 000005ee: JUMPDEST 000005ef: POP 000005f0: PUSH2 0x060a 000005f3: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8 00000608: DUP2 00000609: JUMP 0000060a: JUMPDEST 0000060b: PUSH1 0x40 0000060d: MLOAD 0000060e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000623: SWAP1 00000624: SWAP2 00000625: AND 00000626: DUP2 00000627: MSTORE 00000628: PUSH1 0x20 0000062a: ADD 0000062b: PUSH2 0x04e5 0000062e: JUMP 0000062f: JUMPDEST 00000630: CALLVALUE 00000631: DUP1 00000632: ISZERO 00000633: PUSH2 0x063b 00000636: JUMPI 00000637: PUSH1 0x00 00000639: DUP1 0000063a: REVERT 0000063b: JUMPDEST 0000063c: POP 0000063d: PUSH2 0x04db 00000640: PUSH1 0x02 00000642: SLOAD 00000643: DUP2 00000644: JUMP 00000645: JUMPDEST 00000646: CALLVALUE 00000647: DUP1 00000648: ISZERO 00000649: PUSH2 0x0651 0000064c: JUMPI 0000064d: PUSH1 0x00 0000064f: DUP1 00000650: REVERT 00000651: JUMPDEST 00000652: POP 00000653: PUSH2 0x050e 00000656: PUSH2 0x0660 00000659: CALLDATASIZE 0000065a: PUSH1 0x04 0000065c: PUSH2 0x5176 0000065f: JUMP 00000660: JUMPDEST 00000661: PUSH2 0x130d 00000664: JUMP 00000665: JUMPDEST 00000666: CALLVALUE 00000667: DUP1 00000668: ISZERO 00000669: PUSH2 0x0671 0000066c: JUMPI 0000066d: PUSH1 0x00 0000066f: DUP1 00000670: REVERT 00000671: JUMPDEST 00000672: POP 00000673: PUSH2 0x04db 00000676: PUSH2 0x0680 00000679: CALLDATASIZE 0000067a: PUSH1 0x04 0000067c: PUSH2 0x510f 0000067f: JUMP 00000680: JUMPDEST 00000681: PUSH1 0x00 00000683: SWAP1 00000684: DUP2 00000685: MSTORE 00000686: PUSH1 0x06 00000688: PUSH1 0x20 0000068a: MSTORE 0000068b: PUSH1 0x40 0000068d: SWAP1 0000068e: KECCAK256 0000068f: PUSH1 0x01 00000691: ADD 00000692: SLOAD 00000693: SWAP1 00000694: JUMP 00000695: JUMPDEST 00000696: CALLVALUE 00000697: DUP1 00000698: ISZERO 00000699: PUSH2 0x06a1 0000069c: JUMPI 0000069d: PUSH1 0x00 0000069f: DUP1 000006a0: REVERT 000006a1: JUMPDEST 000006a2: POP 000006a3: PUSH2 0x04db 000006a6: PUSH2 0x06b0 000006a9: CALLDATASIZE 000006aa: PUSH1 0x04 000006ac: PUSH2 0x510f 000006af: JUMP 000006b0: JUMPDEST 000006b1: PUSH2 0x1451 000006b4: JUMP 000006b5: JUMPDEST 000006b6: CALLVALUE 000006b7: DUP1 000006b8: ISZERO 000006b9: PUSH2 0x06c1 000006bc: JUMPI 000006bd: PUSH1 0x00 000006bf: DUP1 000006c0: REVERT 000006c1: JUMPDEST 000006c2: POP 000006c3: PUSH1 0x0b 000006c5: SLOAD 000006c6: PUSH2 0x060a 000006c9: SWAP1 000006ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006df: AND 000006e0: DUP2 000006e1: JUMP 000006e2: JUMPDEST 000006e3: CALLVALUE 000006e4: DUP1 000006e5: ISZERO 000006e6: PUSH2 0x06ee 000006e9: JUMPI 000006ea: PUSH1 0x00 000006ec: DUP1 000006ed: REVERT 000006ee: JUMPDEST 000006ef: POP 000006f0: PUSH2 0x05c0 000006f3: PUSH2 0x06fd 000006f6: CALLDATASIZE 000006f7: PUSH1 0x04 000006f9: PUSH2 0x51b7 000006fc: JUMP 000006fd: JUMPDEST 000006fe: PUSH2 0x1504 00000701: JUMP 00000702: JUMPDEST 00000703: CALLVALUE 00000704: DUP1 00000705: ISZERO 00000706: PUSH2 0x070e 00000709: JUMPI 0000070a: PUSH1 0x00 0000070c: DUP1 0000070d: REVERT 0000070e: JUMPDEST 0000070f: POP 00000710: PUSH2 0x05c0 00000713: PUSH2 0x071d 00000716: CALLDATASIZE 00000717: PUSH1 0x04 00000719: PUSH2 0x51e3 0000071c: JUMP 0000071d: JUMPDEST 0000071e: PUSH2 0x1623 00000721: JUMP 00000722: JUMPDEST 00000723: CALLVALUE 00000724: DUP1 00000725: ISZERO 00000726: PUSH2 0x072e 00000729: JUMPI 0000072a: PUSH1 0x00 0000072c: DUP1 0000072d: REVERT 0000072e: JUMPDEST 0000072f: POP 00000730: PUSH2 0x0756 00000733: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000012 00000754: DUP2 00000755: JUMP 00000756: JUMPDEST 00000757: PUSH1 0x40 00000759: MLOAD 0000075a: PUSH1 0xff 0000075c: SWAP1 0000075d: SWAP2 0000075e: AND 0000075f: DUP2 00000760: MSTORE 00000761: PUSH1 0x20 00000763: ADD 00000764: PUSH2 0x04e5 00000767: JUMP 00000768: JUMPDEST 00000769: CALLVALUE 0000076a: DUP1 0000076b: ISZERO 0000076c: PUSH2 0x0774 0000076f: JUMPI 00000770: PUSH1 0x00 00000772: DUP1 00000773: REVERT 00000774: JUMPDEST 00000775: POP 00000776: PUSH2 0x04db 00000779: PUSH2 0x164d 0000077c: JUMP 0000077d: JUMPDEST 0000077e: CALLVALUE 0000077f: DUP1 00000780: ISZERO 00000781: PUSH2 0x0789 00000784: JUMPI 00000785: PUSH1 0x00 00000787: DUP1 00000788: REVERT 00000789: JUMPDEST 0000078a: POP 0000078b: PUSH2 0x04db 0000078e: PUSH32 0xfc8737ab85eb45125971625a9ebdb75cc78e01d5c1fa80c4c6e5203f47bc4fab 000007af: DUP2 000007b0: JUMP 000007b1: JUMPDEST 000007b2: CALLVALUE 000007b3: DUP1 000007b4: ISZERO 000007b5: PUSH2 0x07bd 000007b8: JUMPI 000007b9: PUSH1 0x00 000007bb: DUP1 000007bc: REVERT 000007bd: JUMPDEST 000007be: POP 000007bf: PUSH2 0x05c0 000007c2: PUSH2 0x07cc 000007c5: CALLDATASIZE 000007c6: PUSH1 0x04 000007c8: PUSH2 0x51e3 000007cb: JUMP 000007cc: JUMPDEST 000007cd: PUSH2 0x16a3 000007d0: JUMP 000007d1: JUMPDEST 000007d2: CALLVALUE 000007d3: DUP1 000007d4: ISZERO 000007d5: PUSH2 0x07dd 000007d8: JUMPI 000007d9: PUSH1 0x00 000007db: DUP1 000007dc: REVERT 000007dd: JUMPDEST 000007de: POP 000007df: PUSH2 0x060a 000007e2: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000803: DUP2 00000804: JUMP 00000805: JUMPDEST 00000806: CALLVALUE 00000807: DUP1 00000808: ISZERO 00000809: PUSH2 0x0811 0000080c: JUMPI 0000080d: PUSH1 0x00 0000080f: DUP1 00000810: REVERT 00000811: JUMPDEST 00000812: POP 00000813: PUSH2 0x04db 00000816: PUSH2 0x0820 00000819: CALLDATASIZE 0000081a: PUSH1 0x04 0000081c: PUSH2 0x5213 0000081f: JUMP 00000820: JUMPDEST 00000821: POP 00000822: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000843: SWAP1 00000844: JUMP 00000845: JUMPDEST 00000846: CALLVALUE 00000847: DUP1 00000848: ISZERO 00000849: PUSH2 0x0851 0000084c: JUMPI 0000084d: PUSH1 0x00 0000084f: DUP1 00000850: REVERT 00000851: JUMPDEST 00000852: POP 00000853: PUSH2 0x04db 00000856: PUSH2 0x1757 00000859: JUMP 0000085a: JUMPDEST 0000085b: CALLVALUE 0000085c: DUP1 0000085d: ISZERO 0000085e: PUSH2 0x0866 00000861: JUMPI 00000862: PUSH1 0x00 00000864: DUP1 00000865: REVERT 00000866: JUMPDEST 00000867: POP 00000868: PUSH2 0x04db 0000086b: PUSH2 0x0875 0000086e: CALLDATASIZE 0000086f: PUSH1 0x04 00000871: PUSH2 0x510f 00000874: JUMP 00000875: JUMPDEST 00000876: PUSH2 0x1833 00000879: JUMP 0000087a: JUMPDEST 0000087b: CALLVALUE 0000087c: DUP1 0000087d: ISZERO 0000087e: PUSH2 0x0886 00000881: JUMPI 00000882: PUSH1 0x00 00000884: DUP1 00000885: REVERT 00000886: JUMPDEST 00000887: POP 00000888: PUSH2 0x04db 0000088b: PUSH1 0x10 0000088d: SLOAD 0000088e: DUP2 0000088f: JUMP 00000890: JUMPDEST 00000891: CALLVALUE 00000892: DUP1 00000893: ISZERO 00000894: PUSH2 0x089c 00000897: JUMPI 00000898: PUSH1 0x00 0000089a: DUP1 0000089b: REVERT 0000089c: JUMPDEST 0000089d: POP 0000089e: PUSH2 0x05c0 000008a1: PUSH2 0x08ab 000008a4: CALLDATASIZE 000008a5: PUSH1 0x04 000008a7: PUSH2 0x5272 000008aa: JUMP 000008ab: JUMPDEST 000008ac: PUSH2 0x183e 000008af: JUMP 000008b0: JUMPDEST 000008b1: CALLVALUE 000008b2: DUP1 000008b3: ISZERO 000008b4: PUSH2 0x08bc 000008b7: JUMPI 000008b8: PUSH1 0x00 000008ba: DUP1 000008bb: REVERT 000008bc: JUMPDEST 000008bd: POP 000008be: PUSH2 0x04db 000008c1: PUSH1 0x09 000008c3: SLOAD 000008c4: DUP2 000008c5: JUMP 000008c6: JUMPDEST 000008c7: CALLVALUE 000008c8: DUP1 000008c9: ISZERO 000008ca: PUSH2 0x08d2 000008cd: JUMPI 000008ce: PUSH1 0x00 000008d0: DUP1 000008d1: REVERT 000008d2: JUMPDEST 000008d3: POP 000008d4: PUSH2 0x05c0 000008d7: PUSH2 0x08e1 000008da: CALLDATASIZE 000008db: PUSH1 0x04 000008dd: PUSH2 0x5213 000008e0: JUMP 000008e1: JUMPDEST 000008e2: PUSH2 0x1928 000008e5: JUMP 000008e6: JUMPDEST 000008e7: CALLVALUE 000008e8: DUP1 000008e9: ISZERO 000008ea: PUSH2 0x08f2 000008ed: JUMPI 000008ee: PUSH1 0x00 000008f0: DUP1 000008f1: REVERT 000008f2: JUMPDEST 000008f3: POP 000008f4: PUSH1 0x07 000008f6: SLOAD 000008f7: PUSH2 0x060a 000008fa: SWAP1 000008fb: PUSH2 0x0100 000008fe: SWAP1 000008ff: DIV 00000900: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000915: AND 00000916: DUP2 00000917: JUMP 00000918: JUMPDEST 00000919: CALLVALUE 0000091a: DUP1 0000091b: ISZERO 0000091c: PUSH2 0x0924 0000091f: JUMPI 00000920: PUSH1 0x00 00000922: DUP1 00000923: REVERT 00000924: JUMPDEST 00000925: POP 00000926: PUSH1 0x07 00000928: SLOAD 00000929: PUSH2 0x050e 0000092c: SWAP1 0000092d: PUSH1 0xff 0000092f: AND 00000930: DUP2 00000931: JUMP 00000932: JUMPDEST 00000933: CALLVALUE 00000934: DUP1 00000935: ISZERO 00000936: PUSH2 0x093e 00000939: JUMPI 0000093a: PUSH1 0x00 0000093c: DUP1 0000093d: REVERT 0000093e: JUMPDEST 0000093f: POP 00000940: PUSH2 0x04db 00000943: PUSH2 0x094d 00000946: CALLDATASIZE 00000947: PUSH1 0x04 00000949: PUSH2 0x51e3 0000094c: JUMP 0000094d: JUMPDEST 0000094e: PUSH2 0x1ac1 00000951: JUMP 00000952: JUMPDEST 00000953: CALLVALUE 00000954: DUP1 00000955: ISZERO 00000956: PUSH2 0x095e 00000959: JUMPI 0000095a: PUSH1 0x00 0000095c: DUP1 0000095d: REVERT 0000095e: JUMPDEST 0000095f: POP 00000960: PUSH2 0x05c0 00000963: PUSH2 0x096d 00000966: CALLDATASIZE 00000967: PUSH1 0x04 00000969: PUSH2 0x510f 0000096c: JUMP 0000096d: JUMPDEST 0000096e: PUSH2 0x1bdd 00000971: JUMP 00000972: JUMPDEST 00000973: CALLVALUE 00000974: DUP1 00000975: ISZERO 00000976: PUSH2 0x097e 00000979: JUMPI 0000097a: PUSH1 0x00 0000097c: DUP1 0000097d: REVERT 0000097e: JUMPDEST 0000097f: POP 00000980: PUSH2 0x04db 00000983: PUSH2 0x098d 00000986: CALLDATASIZE 00000987: PUSH1 0x04 00000989: PUSH2 0x5213 0000098c: JUMP 0000098d: JUMPDEST 0000098e: PUSH1 0x03 00000990: PUSH1 0x20 00000992: MSTORE 00000993: PUSH1 0x00 00000995: SWAP1 00000996: DUP2 00000997: MSTORE 00000998: PUSH1 0x40 0000099a: SWAP1 0000099b: KECCAK256 0000099c: SLOAD 0000099d: DUP2 0000099e: JUMP 0000099f: JUMPDEST 000009a0: CALLVALUE 000009a1: DUP1 000009a2: ISZERO 000009a3: PUSH2 0x09ab 000009a6: JUMPI 000009a7: PUSH1 0x00 000009a9: DUP1 000009aa: REVERT 000009ab: JUMPDEST 000009ac: POP 000009ad: PUSH2 0x04db 000009b0: PUSH2 0x09ba 000009b3: CALLDATASIZE 000009b4: PUSH1 0x04 000009b6: PUSH2 0x5213 000009b9: JUMP 000009ba: JUMPDEST 000009bb: PUSH1 0x05 000009bd: PUSH1 0x20 000009bf: MSTORE 000009c0: PUSH1 0x00 000009c2: SWAP1 000009c3: DUP2 000009c4: MSTORE 000009c5: PUSH1 0x40 000009c7: SWAP1 000009c8: KECCAK256 000009c9: SLOAD 000009ca: DUP2 000009cb: JUMP 000009cc: JUMPDEST 000009cd: CALLVALUE 000009ce: DUP1 000009cf: ISZERO 000009d0: PUSH2 0x09d8 000009d3: JUMPI 000009d4: PUSH1 0x00 000009d6: DUP1 000009d7: REVERT 000009d8: JUMPDEST 000009d9: POP 000009da: PUSH2 0x04db 000009dd: PUSH1 0x11 000009df: SLOAD 000009e0: DUP2 000009e1: JUMP 000009e2: JUMPDEST 000009e3: CALLVALUE 000009e4: DUP1 000009e5: ISZERO 000009e6: PUSH2 0x09ee 000009e9: JUMPI 000009ea: PUSH1 0x00 000009ec: DUP1 000009ed: REVERT 000009ee: JUMPDEST 000009ef: POP 000009f0: PUSH2 0x04db 000009f3: PUSH1 0x08 000009f5: SLOAD 000009f6: DUP2 000009f7: JUMP 000009f8: JUMPDEST 000009f9: CALLVALUE 000009fa: DUP1 000009fb: ISZERO 000009fc: PUSH2 0x0a04 000009ff: JUMPI 00000a00: PUSH1 0x00 00000a02: DUP1 00000a03: REVERT 00000a04: JUMPDEST 00000a05: POP 00000a06: PUSH2 0x050e 00000a09: PUSH2 0x0a13 00000a0c: CALLDATASIZE 00000a0d: PUSH1 0x04 00000a0f: PUSH2 0x510f 00000a12: JUMP 00000a13: JUMPDEST 00000a14: PUSH2 0x1c5e 00000a17: JUMP 00000a18: JUMPDEST 00000a19: CALLVALUE 00000a1a: DUP1 00000a1b: ISZERO 00000a1c: PUSH2 0x0a24 00000a1f: JUMPI 00000a20: PUSH1 0x00 00000a22: DUP1 00000a23: REVERT 00000a24: JUMPDEST 00000a25: POP 00000a26: PUSH2 0x05c0 00000a29: PUSH2 0x0a33 00000a2c: CALLDATASIZE 00000a2d: PUSH1 0x04 00000a2f: PUSH2 0x510f 00000a32: JUMP 00000a33: JUMPDEST 00000a34: PUSH2 0x1c6b 00000a37: JUMP 00000a38: JUMPDEST 00000a39: CALLVALUE 00000a3a: DUP1 00000a3b: ISZERO 00000a3c: PUSH2 0x0a44 00000a3f: JUMPI 00000a40: PUSH1 0x00 00000a42: DUP1 00000a43: REVERT 00000a44: JUMPDEST 00000a45: POP 00000a46: PUSH2 0x050e 00000a49: PUSH2 0x0a53 00000a4c: CALLDATASIZE 00000a4d: PUSH1 0x04 00000a4f: PUSH2 0x51e3 00000a52: JUMP 00000a53: JUMPDEST 00000a54: PUSH1 0x00 00000a56: SWAP2 00000a57: DUP3 00000a58: MSTORE 00000a59: PUSH1 0x06 00000a5b: PUSH1 0x20 00000a5d: SWAP1 00000a5e: DUP2 00000a5f: MSTORE 00000a60: PUSH1 0x40 00000a62: DUP1 00000a63: DUP5 00000a64: KECCAK256 00000a65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a7a: SWAP4 00000a7b: SWAP1 00000a7c: SWAP4 00000a7d: AND 00000a7e: DUP5 00000a7f: MSTORE 00000a80: SWAP2 00000a81: SWAP1 00000a82: MSTORE 00000a83: SWAP1 00000a84: KECCAK256 00000a85: SLOAD 00000a86: PUSH1 0xff 00000a88: AND 00000a89: SWAP1 00000a8a: JUMP 00000a8b: JUMPDEST 00000a8c: CALLVALUE 00000a8d: DUP1 00000a8e: ISZERO 00000a8f: PUSH2 0x0a97 00000a92: JUMPI 00000a93: PUSH1 0x00 00000a95: DUP1 00000a96: REVERT 00000a97: JUMPDEST 00000a98: POP 00000a99: PUSH2 0x05c0 00000a9c: PUSH2 0x0aa6 00000a9f: CALLDATASIZE 00000aa0: PUSH1 0x04 00000aa2: PUSH2 0x52be 00000aa5: JUMP 00000aa6: JUMPDEST 00000aa7: PUSH2 0x1caa 00000aaa: JUMP 00000aab: JUMPDEST 00000aac: CALLVALUE 00000aad: DUP1 00000aae: ISZERO 00000aaf: PUSH2 0x0ab7 00000ab2: JUMPI 00000ab3: PUSH1 0x00 00000ab5: DUP1 00000ab6: REVERT 00000ab7: JUMPDEST 00000ab8: POP 00000ab9: PUSH2 0x04db 00000abc: PUSH2 0x0ac6 00000abf: CALLDATASIZE 00000ac0: PUSH1 0x04 00000ac2: PUSH2 0x51e3 00000ac5: JUMP 00000ac6: JUMPDEST 00000ac7: PUSH2 0x1ec6 00000aca: JUMP 00000acb: JUMPDEST 00000acc: CALLVALUE 00000acd: DUP1 00000ace: ISZERO 00000acf: PUSH2 0x0ad7 00000ad2: JUMPI 00000ad3: PUSH1 0x00 00000ad5: DUP1 00000ad6: REVERT 00000ad7: JUMPDEST 00000ad8: POP 00000ad9: PUSH2 0x0533 00000adc: PUSH2 0x1f6f 00000adf: JUMP 00000ae0: JUMPDEST 00000ae1: CALLVALUE 00000ae2: DUP1 00000ae3: ISZERO 00000ae4: PUSH2 0x0aec 00000ae7: JUMPI 00000ae8: PUSH1 0x00 00000aea: DUP1 00000aeb: REVERT 00000aec: JUMPDEST 00000aed: POP 00000aee: PUSH2 0x05c0 00000af1: PUSH2 0x0afb 00000af4: CALLDATASIZE 00000af5: PUSH1 0x04 00000af7: PUSH2 0x5213 00000afa: JUMP 00000afb: JUMPDEST 00000afc: PUSH2 0x1f7c 00000aff: JUMP 00000b00: JUMPDEST 00000b01: CALLVALUE 00000b02: DUP1 00000b03: ISZERO 00000b04: PUSH2 0x0b0c 00000b07: JUMPI 00000b08: PUSH1 0x00 00000b0a: DUP1 00000b0b: REVERT 00000b0c: JUMPDEST 00000b0d: POP 00000b0e: PUSH2 0x05c0 00000b11: PUSH2 0x0b1b 00000b14: CALLDATASIZE 00000b15: PUSH1 0x04 00000b17: PUSH2 0x5356 00000b1a: JUMP 00000b1b: JUMPDEST 00000b1c: PUSH2 0x2046 00000b1f: JUMP 00000b20: JUMPDEST 00000b21: CALLVALUE 00000b22: DUP1 00000b23: ISZERO 00000b24: PUSH2 0x0b2c 00000b27: JUMPI 00000b28: PUSH1 0x00 00000b2a: DUP1 00000b2b: REVERT 00000b2c: JUMPDEST 00000b2d: POP 00000b2e: PUSH2 0x05c0 00000b31: PUSH2 0x0b3b 00000b34: CALLDATASIZE 00000b35: PUSH1 0x04 00000b37: PUSH2 0x5382 00000b3a: JUMP 00000b3b: JUMPDEST 00000b3c: PUSH2 0x21d9 00000b3f: JUMP 00000b40: JUMPDEST 00000b41: CALLVALUE 00000b42: DUP1 00000b43: ISZERO 00000b44: PUSH2 0x0b4c 00000b47: JUMPI 00000b48: PUSH1 0x00 00000b4a: DUP1 00000b4b: REVERT 00000b4c: JUMPDEST 00000b4d: POP 00000b4e: PUSH2 0x05c0 00000b51: PUSH2 0x0b5b 00000b54: CALLDATASIZE 00000b55: PUSH1 0x04 00000b57: PUSH2 0x53a4 00000b5a: JUMP 00000b5b: JUMPDEST 00000b5c: PUSH2 0x2446 00000b5f: JUMP 00000b60: JUMPDEST 00000b61: CALLVALUE 00000b62: DUP1 00000b63: ISZERO 00000b64: PUSH2 0x0b6c 00000b67: JUMPI 00000b68: PUSH1 0x00 00000b6a: DUP1 00000b6b: REVERT 00000b6c: JUMPDEST 00000b6d: POP 00000b6e: PUSH2 0x04db 00000b71: PUSH1 0x00 00000b73: DUP2 00000b74: JUMP 00000b75: JUMPDEST 00000b76: CALLVALUE 00000b77: DUP1 00000b78: ISZERO 00000b79: PUSH2 0x0b81 00000b7c: JUMPI 00000b7d: PUSH1 0x00 00000b7f: DUP1 00000b80: REVERT 00000b81: JUMPDEST 00000b82: POP 00000b83: PUSH2 0x050e 00000b86: PUSH2 0x0b90 00000b89: CALLDATASIZE 00000b8a: PUSH1 0x04 00000b8c: PUSH2 0x514a 00000b8f: JUMP 00000b90: JUMPDEST 00000b91: PUSH2 0x2564 00000b94: JUMP 00000b95: JUMPDEST 00000b96: CALLVALUE 00000b97: DUP1 00000b98: ISZERO 00000b99: PUSH2 0x0ba1 00000b9c: JUMPI 00000b9d: PUSH1 0x00 00000b9f: DUP1 00000ba0: REVERT 00000ba1: JUMPDEST 00000ba2: POP 00000ba3: PUSH2 0x04db 00000ba6: PUSH2 0x0bb0 00000ba9: CALLDATASIZE 00000baa: PUSH1 0x04 00000bac: PUSH2 0x510f 00000baf: JUMP 00000bb0: JUMPDEST 00000bb1: PUSH2 0x25e9 00000bb4: JUMP 00000bb5: JUMPDEST 00000bb6: CALLVALUE 00000bb7: DUP1 00000bb8: ISZERO 00000bb9: PUSH2 0x0bc1 00000bbc: JUMPI 00000bbd: PUSH1 0x00 00000bbf: DUP1 00000bc0: REVERT 00000bc1: JUMPDEST 00000bc2: POP 00000bc3: PUSH2 0x04db 00000bc6: PUSH2 0x0bd0 00000bc9: CALLDATASIZE 00000bca: PUSH1 0x04 00000bcc: PUSH2 0x541f 00000bcf: JUMP 00000bd0: JUMPDEST 00000bd1: PUSH2 0x2608 00000bd4: JUMP 00000bd5: JUMPDEST 00000bd6: CALLVALUE 00000bd7: DUP1 00000bd8: ISZERO 00000bd9: PUSH2 0x0be1 00000bdc: JUMPI 00000bdd: PUSH1 0x00 00000bdf: DUP1 00000be0: REVERT 00000be1: JUMPDEST 00000be2: POP 00000be3: PUSH2 0x050e 00000be6: PUSH2 0x0bf0 00000be9: CALLDATASIZE 00000bea: PUSH1 0x04 00000bec: PUSH2 0x5213 00000bef: JUMP 00000bf0: JUMPDEST 00000bf1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c06: AND 00000c07: PUSH1 0x00 00000c09: SWAP1 00000c0a: DUP2 00000c0b: MSTORE 00000c0c: PUSH1 0x0f 00000c0e: PUSH1 0x20 00000c10: MSTORE 00000c11: PUSH1 0x40 00000c13: SWAP1 00000c14: KECCAK256 00000c15: SLOAD 00000c16: PUSH1 0xff 00000c18: AND 00000c19: SWAP1 00000c1a: JUMP 00000c1b: JUMPDEST 00000c1c: CALLVALUE 00000c1d: DUP1 00000c1e: ISZERO 00000c1f: PUSH2 0x0c27 00000c22: JUMPI 00000c23: PUSH1 0x00 00000c25: DUP1 00000c26: REVERT 00000c27: JUMPDEST 00000c28: POP 00000c29: PUSH2 0x060a 00000c2c: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca 00000c4d: DUP2 00000c4e: JUMP 00000c4f: JUMPDEST 00000c50: CALLVALUE 00000c51: DUP1 00000c52: ISZERO 00000c53: PUSH2 0x0c5b 00000c56: JUMPI 00000c57: PUSH1 0x00 00000c59: DUP1 00000c5a: REVERT 00000c5b: JUMPDEST 00000c5c: POP 00000c5d: PUSH2 0x04db 00000c60: PUSH2 0x0c6a 00000c63: CALLDATASIZE 00000c64: PUSH1 0x04 00000c66: PUSH2 0x541f 00000c69: JUMP 00000c6a: JUMPDEST 00000c6b: PUSH2 0x283c 00000c6e: JUMP 00000c6f: JUMPDEST 00000c70: CALLVALUE 00000c71: DUP1 00000c72: ISZERO 00000c73: PUSH2 0x0c7b 00000c76: JUMPI 00000c77: PUSH1 0x00 00000c79: DUP1 00000c7a: REVERT 00000c7b: JUMPDEST 00000c7c: POP 00000c7d: PUSH2 0x04db 00000c80: PUSH1 0x12 00000c82: SLOAD 00000c83: DUP2 00000c84: JUMP 00000c85: JUMPDEST 00000c86: CALLVALUE 00000c87: DUP1 00000c88: ISZERO 00000c89: PUSH2 0x0c91 00000c8c: JUMPI 00000c8d: PUSH1 0x00 00000c8f: DUP1 00000c90: REVERT 00000c91: JUMPDEST 00000c92: POP 00000c93: PUSH2 0x04db 00000c96: PUSH2 0x0ca0 00000c99: CALLDATASIZE 00000c9a: PUSH1 0x04 00000c9c: PUSH2 0x510f 00000c9f: JUMP 00000ca0: JUMPDEST 00000ca1: PUSH2 0x2ad2 00000ca4: JUMP 00000ca5: JUMPDEST 00000ca6: CALLVALUE 00000ca7: DUP1 00000ca8: ISZERO 00000ca9: PUSH2 0x0cb1 00000cac: JUMPI 00000cad: PUSH1 0x00 00000caf: DUP1 00000cb0: REVERT 00000cb1: JUMPDEST 00000cb2: POP 00000cb3: PUSH2 0x05c0 00000cb6: PUSH2 0x0cc0 00000cb9: CALLDATASIZE 00000cba: PUSH1 0x04 00000cbc: PUSH2 0x5461 00000cbf: JUMP 00000cc0: JUMPDEST 00000cc1: PUSH2 0x2af2 00000cc4: JUMP 00000cc5: JUMPDEST 00000cc6: CALLVALUE 00000cc7: DUP1 00000cc8: ISZERO 00000cc9: PUSH2 0x0cd1 00000ccc: JUMPI 00000ccd: PUSH1 0x00 00000ccf: DUP1 00000cd0: REVERT 00000cd1: JUMPDEST 00000cd2: POP 00000cd3: PUSH2 0x05c0 00000cd6: PUSH2 0x0ce0 00000cd9: CALLDATASIZE 00000cda: PUSH1 0x04 00000cdc: PUSH2 0x51b7 00000cdf: JUMP 00000ce0: JUMPDEST 00000ce1: PUSH2 0x2bd5 00000ce4: JUMP 00000ce5: JUMPDEST 00000ce6: CALLVALUE 00000ce7: DUP1 00000ce8: ISZERO 00000ce9: PUSH2 0x0cf1 00000cec: JUMPI 00000ced: PUSH1 0x00 00000cef: DUP1 00000cf0: REVERT 00000cf1: JUMPDEST 00000cf2: POP 00000cf3: PUSH2 0x05c0 00000cf6: PUSH2 0x0d00 00000cf9: CALLDATASIZE 00000cfa: PUSH1 0x04 00000cfc: PUSH2 0x510f 00000cff: JUMP 00000d00: JUMPDEST 00000d01: PUSH2 0x2c68 00000d04: JUMP 00000d05: JUMPDEST 00000d06: CALLVALUE 00000d07: DUP1 00000d08: ISZERO 00000d09: PUSH2 0x0d11 00000d0c: JUMPI 00000d0d: PUSH1 0x00 00000d0f: DUP1 00000d10: REVERT 00000d11: JUMPDEST 00000d12: POP 00000d13: PUSH2 0x04db 00000d16: PUSH2 0x0d20 00000d19: CALLDATASIZE 00000d1a: PUSH1 0x04 00000d1c: PUSH2 0x510f 00000d1f: JUMP 00000d20: JUMPDEST 00000d21: PUSH2 0x2ce9 00000d24: JUMP 00000d25: JUMPDEST 00000d26: CALLVALUE 00000d27: DUP1 00000d28: ISZERO 00000d29: PUSH2 0x0d31 00000d2c: JUMPI 00000d2d: PUSH1 0x00 00000d2f: DUP1 00000d30: REVERT 00000d31: JUMPDEST 00000d32: POP 00000d33: PUSH2 0x05c0 00000d36: PUSH2 0x0d40 00000d39: CALLDATASIZE 00000d3a: PUSH1 0x04 00000d3c: PUSH2 0x510f 00000d3f: JUMP 00000d40: JUMPDEST 00000d41: PUSH2 0x2d5f 00000d44: JUMP 00000d45: JUMPDEST 00000d46: CALLVALUE 00000d47: DUP1 00000d48: ISZERO 00000d49: PUSH2 0x0d51 00000d4c: JUMPI 00000d4d: PUSH1 0x00 00000d4f: DUP1 00000d50: REVERT 00000d51: JUMPDEST 00000d52: POP 00000d53: PUSH2 0x04db 00000d56: PUSH2 0x0d60 00000d59: CALLDATASIZE 00000d5a: PUSH1 0x04 00000d5c: PUSH2 0x5213 00000d5f: JUMP 00000d60: JUMPDEST 00000d61: PUSH2 0x2d73 00000d64: JUMP 00000d65: JUMPDEST 00000d66: CALLVALUE 00000d67: DUP1 00000d68: ISZERO 00000d69: PUSH2 0x0d71 00000d6c: JUMPI 00000d6d: PUSH1 0x00 00000d6f: DUP1 00000d70: REVERT 00000d71: JUMPDEST 00000d72: POP 00000d73: PUSH2 0x04db 00000d76: PUSH1 0x0a 00000d78: SLOAD 00000d79: DUP2 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: CALLVALUE 00000d7d: DUP1 00000d7e: ISZERO 00000d7f: PUSH2 0x0d87 00000d82: JUMPI 00000d83: PUSH1 0x00 00000d85: DUP1 00000d86: REVERT 00000d87: JUMPDEST 00000d88: POP 00000d89: PUSH2 0x05c0 00000d8c: PUSH2 0x0d96 00000d8f: CALLDATASIZE 00000d90: PUSH1 0x04 00000d92: PUSH2 0x548d 00000d95: JUMP 00000d96: JUMPDEST 00000d97: PUSH2 0x2da2 00000d9a: JUMP 00000d9b: JUMPDEST 00000d9c: CALLVALUE 00000d9d: DUP1 00000d9e: ISZERO 00000d9f: PUSH2 0x0da7 00000da2: JUMPI 00000da3: PUSH1 0x00 00000da5: DUP1 00000da6: REVERT 00000da7: JUMPDEST 00000da8: POP 00000da9: PUSH2 0x05c0 00000dac: PUSH2 0x0db6 00000daf: CALLDATASIZE 00000db0: PUSH1 0x04 00000db2: PUSH2 0x51e3 00000db5: JUMP 00000db6: JUMPDEST 00000db7: PUSH2 0x30c1 00000dba: JUMP 00000dbb: JUMPDEST 00000dbc: CALLVALUE 00000dbd: DUP1 00000dbe: ISZERO 00000dbf: PUSH2 0x0dc7 00000dc2: JUMPI 00000dc3: PUSH1 0x00 00000dc5: DUP1 00000dc6: REVERT 00000dc7: JUMPDEST 00000dc8: POP 00000dc9: PUSH2 0x04db 00000dcc: PUSH2 0x0dd6 00000dcf: CALLDATASIZE 00000dd0: PUSH1 0x04 00000dd2: PUSH2 0x5213 00000dd5: JUMP 00000dd6: JUMPDEST 00000dd7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dec: AND 00000ded: PUSH1 0x00 00000def: SWAP1 00000df0: DUP2 00000df1: MSTORE 00000df2: PUSH1 0x03 00000df4: PUSH1 0x20 00000df6: MSTORE 00000df7: PUSH1 0x40 00000df9: SWAP1 00000dfa: KECCAK256 00000dfb: SLOAD 00000dfc: SWAP1 00000dfd: JUMP 00000dfe: JUMPDEST 00000dff: CALLVALUE 00000e00: DUP1 00000e01: ISZERO 00000e02: PUSH2 0x0e0a 00000e05: JUMPI 00000e06: PUSH1 0x00 00000e08: DUP1 00000e09: REVERT 00000e0a: JUMPDEST 00000e0b: POP 00000e0c: PUSH2 0x04db 00000e0f: PUSH2 0x0e19 00000e12: CALLDATASIZE 00000e13: PUSH1 0x04 00000e15: PUSH2 0x5504 00000e18: JUMP 00000e19: JUMPDEST 00000e1a: PUSH1 0x04 00000e1c: PUSH1 0x20 00000e1e: SWAP1 00000e1f: DUP2 00000e20: MSTORE 00000e21: PUSH1 0x00 00000e23: SWAP3 00000e24: DUP4 00000e25: MSTORE 00000e26: PUSH1 0x40 00000e28: DUP1 00000e29: DUP5 00000e2a: KECCAK256 00000e2b: SWAP1 00000e2c: SWAP2 00000e2d: MSTORE 00000e2e: SWAP1 00000e2f: DUP3 00000e30: MSTORE 00000e31: SWAP1 00000e32: KECCAK256 00000e33: SLOAD 00000e34: DUP2 00000e35: JUMP 00000e36: JUMPDEST 00000e37: CALLVALUE 00000e38: DUP1 00000e39: ISZERO 00000e3a: PUSH2 0x0e42 00000e3d: JUMPI 00000e3e: PUSH1 0x00 00000e40: DUP1 00000e41: REVERT 00000e42: JUMPDEST 00000e43: POP 00000e44: PUSH2 0x060a 00000e47: PUSH2 0x0e51 00000e4a: CALLDATASIZE 00000e4b: PUSH1 0x04 00000e4d: PUSH2 0x510f 00000e50: JUMP 00000e51: JUMPDEST 00000e52: PUSH2 0x30e6 00000e55: JUMP 00000e56: JUMPDEST 00000e57: CALLVALUE 00000e58: DUP1 00000e59: ISZERO 00000e5a: PUSH2 0x0e62 00000e5d: JUMPI 00000e5e: PUSH1 0x00 00000e60: DUP1 00000e61: REVERT 00000e62: JUMPDEST 00000e63: POP 00000e64: PUSH2 0x04db 00000e67: PUSH2 0x0e71 00000e6a: CALLDATASIZE 00000e6b: PUSH1 0x04 00000e6d: PUSH2 0x510f 00000e70: JUMP 00000e71: JUMPDEST 00000e72: PUSH2 0x30f3 00000e75: JUMP 00000e76: JUMPDEST 00000e77: CALLVALUE 00000e78: DUP1 00000e79: ISZERO 00000e7a: PUSH2 0x0e82 00000e7d: JUMPI 00000e7e: PUSH1 0x00 00000e80: DUP1 00000e81: REVERT 00000e82: JUMPDEST 00000e83: POP 00000e84: PUSH2 0x05c0 00000e87: PUSH2 0x0e91 00000e8a: CALLDATASIZE 00000e8b: PUSH1 0x04 00000e8d: PUSH2 0x56d6 00000e90: JUMP 00000e91: JUMPDEST 00000e92: PUSH2 0x30fe 00000e95: JUMP 00000e96: JUMPDEST 00000e97: CALLVALUE 00000e98: DUP1 00000e99: ISZERO 00000e9a: PUSH2 0x0ea2 00000e9d: JUMPI 00000e9e: PUSH1 0x00 00000ea0: DUP1 00000ea1: REVERT 00000ea2: JUMPDEST 00000ea3: POP 00000ea4: PUSH2 0x05c0 00000ea7: PUSH2 0x0eb1 00000eaa: CALLDATASIZE 00000eab: PUSH1 0x04 00000ead: PUSH2 0x5213 00000eb0: JUMP 00000eb1: JUMPDEST 00000eb2: PUSH2 0x31cc 00000eb5: JUMP 00000eb6: JUMPDEST 00000eb7: PUSH2 0x04db 00000eba: PUSH2 0x0ec4 00000ebd: CALLDATASIZE 00000ebe: PUSH1 0x04 00000ec0: PUSH2 0x5213 00000ec3: JUMP 00000ec4: JUMPDEST 00000ec5: PUSH2 0x329d 00000ec8: JUMP 00000ec9: JUMPDEST 00000eca: CALLVALUE 00000ecb: DUP1 00000ecc: ISZERO 00000ecd: PUSH2 0x0ed5 00000ed0: JUMPI 00000ed1: PUSH1 0x00 00000ed3: DUP1 00000ed4: REVERT 00000ed5: JUMPDEST 00000ed6: POP 00000ed7: PUSH2 0x04db 00000eda: PUSH2 0x33fa 00000edd: JUMP 00000ede: JUMPDEST 00000edf: PUSH1 0x00 00000ee1: PUSH2 0x0ee8 00000ee4: PUSH2 0x34d0 00000ee7: JUMP 00000ee8: JUMPDEST 00000ee9: SWAP1 00000eea: POP 00000eeb: PUSH2 0x0ef2 00000eee: PUSH2 0x33fa 00000ef1: JUMP 00000ef2: JUMPDEST 00000ef3: PUSH2 0x0efc 00000ef6: SWAP1 00000ef7: DUP3 00000ef8: PUSH2 0x5810 00000efb: JUMP 00000efc: JUMPDEST 00000efd: PUSH1 0x40 00000eff: MLOAD 00000f00: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00000f21: DUP2 00000f22: MSTORE 00000f23: ADDRESS 00000f24: PUSH1 0x04 00000f26: DUP3 00000f27: ADD 00000f28: MSTORE 00000f29: SWAP1 00000f2a: SWAP2 00000f2b: POP 00000f2c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000f4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f62: AND 00000f63: SWAP1 00000f64: PUSH4 0x70a08231 00000f69: SWAP1 00000f6a: PUSH1 0x24 00000f6c: ADD 00000f6d: PUSH1 0x20 00000f6f: PUSH1 0x40 00000f71: MLOAD 00000f72: DUP1 00000f73: DUP4 00000f74: SUB 00000f75: DUP2 00000f76: DUP7 00000f77: GAS 00000f78: STATICCALL 00000f79: ISZERO 00000f7a: DUP1 00000f7b: ISZERO 00000f7c: PUSH2 0x0f89 00000f7f: JUMPI 00000f80: RETURNDATASIZE 00000f81: PUSH1 0x00 00000f83: DUP1 00000f84: RETURNDATACOPY 00000f85: RETURNDATASIZE 00000f86: PUSH1 0x00 00000f88: REVERT 00000f89: JUMPDEST 00000f8a: POP 00000f8b: POP 00000f8c: POP 00000f8d: POP 00000f8e: PUSH1 0x40 00000f90: MLOAD 00000f91: RETURNDATASIZE 00000f92: PUSH1 0x1f 00000f94: NOT 00000f95: PUSH1 0x1f 00000f97: DUP3 00000f98: ADD 00000f99: AND 00000f9a: DUP3 00000f9b: ADD 00000f9c: DUP1 00000f9d: PUSH1 0x40 00000f9f: MSTORE 00000fa0: POP 00000fa1: DUP2 00000fa2: ADD 00000fa3: SWAP1 00000fa4: PUSH2 0x0fad 00000fa7: SWAP2 00000fa8: SWAP1 00000fa9: PUSH2 0x5823 00000fac: JUMP 00000fad: JUMPDEST 00000fae: PUSH2 0x0fb7 00000fb1: SWAP1 00000fb2: DUP3 00000fb3: PUSH2 0x583c 00000fb6: JUMP 00000fb7: JUMPDEST 00000fb8: SWAP1 00000fb9: POP 00000fba: SWAP1 00000fbb: JUMP 00000fbc: JUMPDEST 00000fbd: PUSH1 0x00 00000fbf: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000fe0: DUP3 00000fe1: AND 00000fe2: PUSH32 0x7965db0b00000000000000000000000000000000000000000000000000000000 00001003: EQ 00001004: DUP1 00001005: PUSH2 0x104f 00001008: JUMPI 00001009: POP 0000100a: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 0000102b: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000104c: DUP4 0000104d: AND 0000104e: EQ 0000104f: JUMPDEST 00001050: SWAP3 00001051: SWAP2 00001052: POP 00001053: POP 00001054: JUMP 00001055: JUMPDEST 00001056: PUSH1 0x00 00001058: DUP1 00001059: SLOAD 0000105a: PUSH2 0x1062 0000105d: SWAP1 0000105e: PUSH2 0x584f 00001061: JUMP 00001062: JUMPDEST 00001063: DUP1 00001064: PUSH1 0x1f 00001066: ADD 00001067: PUSH1 0x20 00001069: DUP1 0000106a: SWAP2 0000106b: DIV 0000106c: MUL 0000106d: PUSH1 0x20 0000106f: ADD 00001070: PUSH1 0x40 00001072: MLOAD 00001073: SWAP1 00001074: DUP2 00001075: ADD 00001076: PUSH1 0x40 00001078: MSTORE 00001079: DUP1 0000107a: SWAP3 0000107b: SWAP2 0000107c: SWAP1 0000107d: DUP2 0000107e: DUP2 0000107f: MSTORE 00001080: PUSH1 0x20 00001082: ADD 00001083: DUP3 00001084: DUP1 00001085: SLOAD 00001086: PUSH2 0x108e 00001089: SWAP1 0000108a: PUSH2 0x584f 0000108d: JUMP 0000108e: JUMPDEST 0000108f: DUP1 00001090: ISZERO 00001091: PUSH2 0x10db 00001094: JUMPI 00001095: DUP1 00001096: PUSH1 0x1f 00001098: LT 00001099: PUSH2 0x10b0 0000109c: JUMPI 0000109d: PUSH2 0x0100 000010a0: DUP1 000010a1: DUP4 000010a2: SLOAD 000010a3: DIV 000010a4: MUL 000010a5: DUP4 000010a6: MSTORE 000010a7: SWAP2 000010a8: PUSH1 0x20 000010aa: ADD 000010ab: SWAP2 000010ac: PUSH2 0x10db 000010af: JUMP 000010b0: JUMPDEST 000010b1: DUP3 000010b2: ADD 000010b3: SWAP2 000010b4: SWAP1 000010b5: PUSH1 0x00 000010b7: MSTORE 000010b8: PUSH1 0x20 000010ba: PUSH1 0x00 000010bc: KECCAK256 000010bd: SWAP1 000010be: JUMPDEST 000010bf: DUP2 000010c0: SLOAD 000010c1: DUP2 000010c2: MSTORE 000010c3: SWAP1 000010c4: PUSH1 0x01 000010c6: ADD 000010c7: SWAP1 000010c8: PUSH1 0x20 000010ca: ADD 000010cb: DUP1 000010cc: DUP4 000010cd: GT 000010ce: PUSH2 0x10be 000010d1: JUMPI 000010d2: DUP3 000010d3: SWAP1 000010d4: SUB 000010d5: PUSH1 0x1f 000010d7: AND 000010d8: DUP3 000010d9: ADD 000010da: SWAP2 000010db: JUMPDEST 000010dc: POP 000010dd: POP 000010de: POP 000010df: POP 000010e0: POP 000010e1: DUP2 000010e2: JUMP 000010e3: JUMPDEST 000010e4: PUSH1 0x02 000010e6: SLOAD 000010e7: PUSH1 0x00 000010e9: SWAP1 000010ea: DUP1 000010eb: ISZERO 000010ec: PUSH2 0x1107 000010ef: JUMPI 000010f0: PUSH2 0x1102 000010f3: PUSH2 0x10fa 000010f6: PUSH2 0x0ede 000010f9: JUMP 000010fa: JUMPDEST 000010fb: DUP5 000010fc: SWAP1 000010fd: DUP4 000010fe: PUSH2 0x3575 00001101: JUMP 00001102: JUMPDEST 00001103: PUSH2 0x1109 00001106: JUMP 00001107: JUMPDEST 00001108: DUP3 00001109: JUMPDEST 0000110a: SWAP4 0000110b: SWAP3 0000110c: POP 0000110d: POP 0000110e: POP 0000110f: JUMP 00001110: JUMPDEST 00001111: CALLER 00001112: PUSH1 0x00 00001114: DUP2 00001115: DUP2 00001116: MSTORE 00001117: PUSH1 0x04 00001119: PUSH1 0x20 0000111b: SWAP1 0000111c: DUP2 0000111d: MSTORE 0000111e: PUSH1 0x40 00001120: DUP1 00001121: DUP4 00001122: KECCAK256 00001123: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001138: DUP8 00001139: AND 0000113a: DUP1 0000113b: DUP6 0000113c: MSTORE 0000113d: SWAP3 0000113e: MSTORE 0000113f: DUP1 00001140: DUP4 00001141: KECCAK256 00001142: DUP6 00001143: SWAP1 00001144: SSTORE 00001145: MLOAD 00001146: SWAP2 00001147: SWAP3 00001148: SWAP1 00001149: SWAP2 0000114a: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 0000116b: SWAP1 0000116c: PUSH2 0x1178 0000116f: SWAP1 00001170: DUP7 00001171: DUP2 00001172: MSTORE 00001173: PUSH1 0x20 00001175: ADD 00001176: SWAP1 00001177: JUMP 00001178: JUMPDEST 00001179: PUSH1 0x40 0000117b: MLOAD 0000117c: DUP1 0000117d: SWAP2 0000117e: SUB 0000117f: SWAP1 00001180: LOG3 00001181: POP 00001182: PUSH1 0x01 00001184: SWAP3 00001185: SWAP2 00001186: POP 00001187: POP 00001188: JUMP 00001189: JUMPDEST 0000118a: PUSH1 0x02 0000118c: SLOAD 0000118d: PUSH1 0x00 0000118f: SWAP1 00001190: DUP1 00001191: ISZERO 00001192: PUSH2 0x1107 00001195: JUMPI 00001196: PUSH2 0x1102 00001199: DUP2 0000119a: PUSH2 0x11a1 0000119d: PUSH2 0x0ede 000011a0: JUMP 000011a1: JUMPDEST 000011a2: DUP6 000011a3: SWAP2 000011a4: SWAP1 000011a5: PUSH2 0x35b1 000011a8: JUMP 000011a9: JUMPDEST 000011aa: PUSH2 0x11b1 000011ad: PUSH2 0x35f5 000011b0: JUMP 000011b1: JUMPDEST 000011b2: PUSH1 0x40 000011b4: MLOAD 000011b5: PUSH1 0x24 000011b7: DUP2 000011b8: ADD 000011b9: DUP3 000011ba: SWAP1 000011bb: MSTORE 000011bc: PUSH2 0x1281 000011bf: SWAP1 000011c0: PUSH32 0x7ec0689f00000000000000000000000000000000000000000000000000000000 000011e1: SWAP1 000011e2: PUSH1 0x44 000011e4: ADD 000011e5: JUMPDEST 000011e6: PUSH1 0x40 000011e8: DUP1 000011e9: MLOAD 000011ea: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000120b: DUP2 0000120c: DUP5 0000120d: SUB 0000120e: ADD 0000120f: DUP2 00001210: MSTORE 00001211: SWAP2 00001212: SWAP1 00001213: MSTORE 00001214: PUSH1 0x20 00001216: DUP2 00001217: ADD 00001218: DUP1 00001219: MLOAD 0000121a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001237: AND 00001238: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00001259: SWAP1 0000125a: SWAP4 0000125b: AND 0000125c: SWAP3 0000125d: SWAP1 0000125e: SWAP3 0000125f: OR 00001260: SWAP1 00001261: SWAP2 00001262: MSTORE 00001263: PUSH1 0x0b 00001265: SLOAD 00001266: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000127b: AND 0000127c: SWAP1 0000127d: PUSH2 0x3609 00001280: JUMP 00001281: JUMPDEST 00001282: POP 00001283: POP 00001284: JUMP 00001285: JUMPDEST 00001286: PUSH2 0x128d 00001289: PUSH2 0x362e 0000128c: JUMP 0000128d: JUMPDEST 0000128e: PUSH8 0x0de0b6b3a7640000 00001297: DUP2 00001298: GT 00001299: ISZERO 0000129a: PUSH2 0x12cf 0000129d: JUMPI 0000129e: PUSH1 0x40 000012a0: MLOAD 000012a1: PUSH32 0xc31c0b6e00000000000000000000000000000000000000000000000000000000 000012c2: DUP2 000012c3: MSTORE 000012c4: PUSH1 0x04 000012c6: ADD 000012c7: PUSH1 0x40 000012c9: MLOAD 000012ca: DUP1 000012cb: SWAP2 000012cc: SUB 000012cd: SWAP1 000012ce: REVERT 000012cf: JUMPDEST 000012d0: PUSH1 0x0a 000012d2: DUP2 000012d3: SWAP1 000012d4: SSTORE 000012d5: PUSH1 0x40 000012d7: MLOAD 000012d8: DUP2 000012d9: DUP2 000012da: MSTORE 000012db: CALLER 000012dc: SWAP1 000012dd: PUSH32 0xb3a17cf8bbe3a4348266beede3a365af15dd59203021a6c1121d00ca2d5019f7 000012fe: SWAP1 000012ff: PUSH1 0x20 00001301: ADD 00001302: JUMPDEST 00001303: PUSH1 0x40 00001305: MLOAD 00001306: DUP1 00001307: SWAP2 00001308: SUB 00001309: SWAP1 0000130a: LOG2 0000130b: POP 0000130c: JUMP 0000130d: JUMPDEST 0000130e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001323: DUP4 00001324: AND 00001325: PUSH1 0x00 00001327: SWAP1 00001328: DUP2 00001329: MSTORE 0000132a: PUSH1 0x04 0000132c: PUSH1 0x20 0000132e: SWAP1 0000132f: DUP2 00001330: MSTORE 00001331: PUSH1 0x40 00001333: DUP1 00001334: DUP4 00001335: KECCAK256 00001336: CALLER 00001337: DUP5 00001338: MSTORE 00001339: SWAP1 0000133a: SWAP2 0000133b: MSTORE 0000133c: DUP2 0000133d: KECCAK256 0000133e: SLOAD 0000133f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001360: DUP2 00001361: EQ 00001362: PUSH2 0x13a1 00001365: JUMPI 00001366: PUSH2 0x136f 00001369: DUP4 0000136a: DUP3 0000136b: PUSH2 0x5810 0000136e: JUMP 0000136f: JUMPDEST 00001370: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001385: DUP7 00001386: AND 00001387: PUSH1 0x00 00001389: SWAP1 0000138a: DUP2 0000138b: MSTORE 0000138c: PUSH1 0x04 0000138e: PUSH1 0x20 00001390: SWAP1 00001391: DUP2 00001392: MSTORE 00001393: PUSH1 0x40 00001395: DUP1 00001396: DUP4 00001397: KECCAK256 00001398: CALLER 00001399: DUP5 0000139a: MSTORE 0000139b: SWAP1 0000139c: SWAP2 0000139d: MSTORE 0000139e: SWAP1 0000139f: KECCAK256 000013a0: SSTORE 000013a1: JUMPDEST 000013a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013b7: DUP6 000013b8: AND 000013b9: PUSH1 0x00 000013bb: SWAP1 000013bc: DUP2 000013bd: MSTORE 000013be: PUSH1 0x03 000013c0: PUSH1 0x20 000013c2: MSTORE 000013c3: PUSH1 0x40 000013c5: DUP2 000013c6: KECCAK256 000013c7: DUP1 000013c8: SLOAD 000013c9: DUP6 000013ca: SWAP3 000013cb: SWAP1 000013cc: PUSH2 0x13d6 000013cf: SWAP1 000013d0: DUP5 000013d1: SWAP1 000013d2: PUSH2 0x5810 000013d5: JUMP 000013d6: JUMPDEST 000013d7: SWAP1 000013d8: SWAP2 000013d9: SSTORE 000013da: POP 000013db: POP 000013dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013f1: DUP1 000013f2: DUP6 000013f3: AND 000013f4: PUSH1 0x00 000013f6: DUP2 000013f7: DUP2 000013f8: MSTORE 000013f9: PUSH1 0x03 000013fb: PUSH1 0x20 000013fd: MSTORE 000013fe: PUSH1 0x40 00001400: SWAP1 00001401: DUP2 00001402: SWAP1 00001403: KECCAK256 00001404: DUP1 00001405: SLOAD 00001406: DUP8 00001407: ADD 00001408: SWAP1 00001409: SSTORE 0000140a: MLOAD 0000140b: SWAP1 0000140c: SWAP2 0000140d: DUP8 0000140e: AND 0000140f: SWAP1 00001410: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001431: SWAP1 00001432: PUSH2 0x143e 00001435: SWAP1 00001436: DUP8 00001437: DUP2 00001438: MSTORE 00001439: PUSH1 0x20 0000143b: ADD 0000143c: SWAP1 0000143d: JUMP 0000143e: JUMPDEST 0000143f: PUSH1 0x40 00001441: MLOAD 00001442: DUP1 00001443: SWAP2 00001444: SUB 00001445: SWAP1 00001446: LOG3 00001447: POP 00001448: PUSH1 0x01 0000144a: SWAP5 0000144b: SWAP4 0000144c: POP 0000144d: POP 0000144e: POP 0000144f: POP 00001450: JUMP 00001451: JUMPDEST 00001452: PUSH1 0x00 00001454: PUSH2 0x145c 00001457: DUP3 00001458: PUSH2 0x1c5e 0000145b: JUMP 0000145c: JUMPDEST 0000145d: PUSH2 0x1468 00001460: JUMPI 00001461: POP 00001462: PUSH1 0x00 00001464: SWAP2 00001465: SWAP1 00001466: POP 00001467: JUMP 00001468: JUMPDEST 00001469: PUSH2 0x1473 0000146c: PUSH1 0x0c 0000146e: DUP4 0000146f: PUSH2 0x3696 00001472: JUMP 00001473: JUMPDEST 00001474: PUSH1 0x40 00001476: MLOAD 00001477: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000 00001498: DUP2 00001499: MSTORE 0000149a: ADDRESS 0000149b: PUSH1 0x04 0000149d: DUP3 0000149e: ADD 0000149f: MSTORE 000014a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014b5: SWAP2 000014b6: SWAP1 000014b7: SWAP2 000014b8: AND 000014b9: SWAP1 000014ba: PUSH4 0x9b56d6c9 000014bf: SWAP1 000014c0: PUSH1 0x24 000014c2: ADD 000014c3: JUMPDEST 000014c4: PUSH1 0x20 000014c6: PUSH1 0x40 000014c8: MLOAD 000014c9: DUP1 000014ca: DUP4 000014cb: SUB 000014cc: DUP2 000014cd: DUP7 000014ce: GAS 000014cf: STATICCALL 000014d0: ISZERO 000014d1: DUP1 000014d2: ISZERO 000014d3: PUSH2 0x14e0 000014d6: JUMPI 000014d7: RETURNDATASIZE 000014d8: PUSH1 0x00 000014da: DUP1 000014db: RETURNDATACOPY 000014dc: RETURNDATASIZE 000014dd: PUSH1 0x00 000014df: REVERT 000014e0: JUMPDEST 000014e1: POP 000014e2: POP 000014e3: POP 000014e4: POP 000014e5: PUSH1 0x40 000014e7: MLOAD 000014e8: RETURNDATASIZE 000014e9: PUSH1 0x1f 000014eb: NOT 000014ec: PUSH1 0x1f 000014ee: DUP3 000014ef: ADD 000014f0: AND 000014f1: DUP3 000014f2: ADD 000014f3: DUP1 000014f4: PUSH1 0x40 000014f6: MSTORE 000014f7: POP 000014f8: DUP2 000014f9: ADD 000014fa: SWAP1 000014fb: PUSH2 0x104f 000014fe: SWAP2 000014ff: SWAP1 00001500: PUSH2 0x5823 00001503: JUMP 00001504: JUMPDEST 00001505: PUSH2 0x150c 00001508: PUSH2 0x35f5 0000150b: JUMP 0000150c: JUMPDEST 0000150d: PUSH1 0x00 0000150f: PUSH2 0x1519 00001512: PUSH1 0x0c 00001514: DUP6 00001515: PUSH2 0x3696 00001518: JUMP 00001519: JUMPDEST 0000151a: SWAP1 0000151b: POP 0000151c: PUSH2 0x15bc 0000151f: DUP2 00001520: PUSH4 0x371fd8e6 00001525: PUSH1 0xe0 00001527: SHL 00001528: DUP6 00001529: PUSH1 0x40 0000152b: MLOAD 0000152c: PUSH1 0x24 0000152e: ADD 0000152f: PUSH2 0x153a 00001532: SWAP2 00001533: DUP2 00001534: MSTORE 00001535: PUSH1 0x20 00001537: ADD 00001538: SWAP1 00001539: JUMP 0000153a: JUMPDEST 0000153b: PUSH1 0x40 0000153d: DUP1 0000153e: MLOAD 0000153f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001560: DUP2 00001561: DUP5 00001562: SUB 00001563: ADD 00001564: DUP2 00001565: MSTORE 00001566: SWAP2 00001567: SWAP1 00001568: MSTORE 00001569: PUSH1 0x20 0000156b: DUP2 0000156c: ADD 0000156d: DUP1 0000156e: MLOAD 0000156f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000158c: AND 0000158d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 000015ae: SWAP1 000015af: SWAP4 000015b0: AND 000015b1: SWAP3 000015b2: SWAP1 000015b3: SWAP3 000015b4: OR 000015b5: SWAP1 000015b6: SWAP2 000015b7: MSTORE 000015b8: PUSH2 0x36a2 000015bb: JUMP 000015bc: JUMPDEST 000015bd: PUSH2 0x15db 000015c0: DUP2 000015c1: PUSH4 0x2e1a7d4d 000015c6: PUSH1 0xe0 000015c8: SHL 000015c9: DUP5 000015ca: PUSH1 0x40 000015cc: MLOAD 000015cd: PUSH1 0x24 000015cf: ADD 000015d0: PUSH2 0x153a 000015d3: SWAP2 000015d4: DUP2 000015d5: MSTORE 000015d6: PUSH1 0x20 000015d8: ADD 000015d9: SWAP1 000015da: JUMP 000015db: JUMPDEST 000015dc: PUSH1 0x40 000015de: DUP1 000015df: MLOAD 000015e0: DUP6 000015e1: DUP2 000015e2: MSTORE 000015e3: PUSH1 0x20 000015e5: DUP2 000015e6: ADD 000015e7: DUP6 000015e8: SWAP1 000015e9: MSTORE 000015ea: SWAP1 000015eb: DUP2 000015ec: ADD 000015ed: DUP4 000015ee: SWAP1 000015ef: MSTORE 000015f0: PUSH32 0xcc438ae21763799a9f64a28c62b3f15f0b5da604b7ca35e17049605a6c59599f 00001611: SWAP1 00001612: PUSH1 0x60 00001614: ADD 00001615: JUMPDEST 00001616: PUSH1 0x40 00001618: MLOAD 00001619: DUP1 0000161a: SWAP2 0000161b: SUB 0000161c: SWAP1 0000161d: LOG1 0000161e: POP 0000161f: POP 00001620: POP 00001621: POP 00001622: JUMP 00001623: JUMPDEST 00001624: PUSH1 0x00 00001626: DUP3 00001627: DUP2 00001628: MSTORE 00001629: PUSH1 0x06 0000162b: PUSH1 0x20 0000162d: MSTORE 0000162e: PUSH1 0x40 00001630: SWAP1 00001631: KECCAK256 00001632: PUSH1 0x01 00001634: ADD 00001635: SLOAD 00001636: PUSH2 0x163e 00001639: DUP2 0000163a: PUSH2 0x36c2 0000163d: JUMP 0000163e: JUMPDEST 0000163f: PUSH2 0x1648 00001642: DUP4 00001643: DUP4 00001644: PUSH2 0x36cc 00001647: JUMP 00001648: JUMPDEST 00001649: POP 0000164a: POP 0000164b: POP 0000164c: JUMP 0000164d: JUMPDEST 0000164e: PUSH1 0x00 00001650: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 00001671: CHAINID 00001672: EQ 00001673: PUSH2 0x167e 00001676: JUMPI 00001677: PUSH2 0x0fb7 0000167a: PUSH2 0x37c0 0000167d: JUMP 0000167e: JUMPDEST 0000167f: POP 00001680: PUSH32 0xd8923989cc8cdb0547291784e429c6f0e48e6d2389592f7d663ebe52ea9ffcd3 000016a1: SWAP1 000016a2: JUMP 000016a3: JUMPDEST 000016a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b9: DUP2 000016ba: AND 000016bb: CALLER 000016bc: EQ 000016bd: PUSH2 0x174d 000016c0: JUMPI 000016c1: PUSH1 0x40 000016c3: MLOAD 000016c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000016e5: DUP2 000016e6: MSTORE 000016e7: PUSH1 0x20 000016e9: PUSH1 0x04 000016eb: DUP3 000016ec: ADD 000016ed: MSTORE 000016ee: PUSH1 0x2f 000016f0: PUSH1 0x24 000016f2: DUP3 000016f3: ADD 000016f4: MSTORE 000016f5: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365 00001716: PUSH1 0x44 00001718: DUP3 00001719: ADD 0000171a: MSTORE 0000171b: PUSH32 0x20726f6c657320666f722073656c660000000000000000000000000000000000 0000173c: PUSH1 0x64 0000173e: DUP3 0000173f: ADD 00001740: MSTORE 00001741: PUSH1 0x84 00001743: ADD 00001744: JUMPDEST 00001745: PUSH1 0x40 00001747: MLOAD 00001748: DUP1 00001749: SWAP2 0000174a: SUB 0000174b: SWAP1 0000174c: REVERT 0000174d: JUMPDEST 0000174e: PUSH2 0x1281 00001751: DUP3 00001752: DUP3 00001753: PUSH2 0x385a 00001756: JUMP 00001757: JUMPDEST 00001758: PUSH1 0x00 0000175a: DUP1 0000175b: PUSH2 0x1764 0000175e: PUSH1 0x0c 00001760: PUSH2 0x3915 00001763: JUMP 00001764: JUMPDEST 00001765: SWAP1 00001766: POP 00001767: PUSH1 0x00 00001769: DUP1 0000176a: JUMPDEST 0000176b: DUP3 0000176c: DUP2 0000176d: LT 0000176e: ISZERO 0000176f: PUSH2 0x182d 00001772: JUMPI 00001773: PUSH2 0x177d 00001776: PUSH1 0x0c 00001778: DUP3 00001779: PUSH2 0x3920 0000177c: JUMP 0000177d: JUMPDEST 0000177e: PUSH1 0x40 00001780: MLOAD 00001781: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000 000017a2: DUP2 000017a3: MSTORE 000017a4: ADDRESS 000017a5: PUSH1 0x04 000017a7: DUP3 000017a8: ADD 000017a9: MSTORE 000017aa: SWAP1 000017ab: SWAP4 000017ac: POP 000017ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017c2: DUP5 000017c3: AND 000017c4: SWAP2 000017c5: POP 000017c6: PUSH4 0x9b56d6c9 000017cb: SWAP1 000017cc: PUSH1 0x24 000017ce: ADD 000017cf: PUSH1 0x20 000017d1: PUSH1 0x40 000017d3: MLOAD 000017d4: DUP1 000017d5: DUP4 000017d6: SUB 000017d7: DUP2 000017d8: DUP7 000017d9: GAS 000017da: STATICCALL 000017db: ISZERO 000017dc: DUP1 000017dd: ISZERO 000017de: PUSH2 0x17eb 000017e1: JUMPI 000017e2: RETURNDATASIZE 000017e3: PUSH1 0x00 000017e5: DUP1 000017e6: RETURNDATACOPY 000017e7: RETURNDATASIZE 000017e8: PUSH1 0x00 000017ea: REVERT 000017eb: JUMPDEST 000017ec: POP 000017ed: POP 000017ee: POP 000017ef: POP 000017f0: PUSH1 0x40 000017f2: MLOAD 000017f3: RETURNDATASIZE 000017f4: PUSH1 0x1f 000017f6: NOT 000017f7: PUSH1 0x1f 000017f9: DUP3 000017fa: ADD 000017fb: AND 000017fc: DUP3 000017fd: ADD 000017fe: DUP1 000017ff: PUSH1 0x40 00001801: MSTORE 00001802: POP 00001803: DUP2 00001804: ADD 00001805: SWAP1 00001806: PUSH2 0x180f 00001809: SWAP2 0000180a: SWAP1 0000180b: PUSH2 0x5823 0000180e: JUMP 0000180f: JUMPDEST 00001810: PUSH2 0x1819 00001813: SWAP1 00001814: DUP6 00001815: PUSH2 0x583c 00001818: JUMP 00001819: JUMPDEST 0000181a: SWAP4 0000181b: POP 0000181c: DUP1 0000181d: PUSH2 0x1825 00001820: DUP2 00001821: PUSH2 0x589c 00001824: JUMP 00001825: JUMPDEST 00001826: SWAP2 00001827: POP 00001828: POP 00001829: PUSH2 0x176a 0000182c: JUMP 0000182d: JUMPDEST 0000182e: POP 0000182f: POP 00001830: POP 00001831: SWAP1 00001832: JUMP 00001833: JUMPDEST 00001834: PUSH1 0x00 00001836: PUSH2 0x104f 00001839: DUP3 0000183a: PUSH2 0x10e3 0000183d: JUMP 0000183e: JUMPDEST 0000183f: PUSH2 0x1846 00001842: PUSH2 0x35f5 00001845: JUMP 00001846: JUMPDEST 00001847: PUSH2 0x184f 0000184a: DUP4 0000184b: PUSH2 0x393e 0000184e: JUMP 0000184f: JUMPDEST 00001850: PUSH2 0x18f0 00001853: DUP4 00001854: PUSH4 0xe190febc 00001859: PUSH1 0xe0 0000185b: SHL 0000185c: DUP5 0000185d: DUP5 0000185e: PUSH1 0x40 00001860: MLOAD 00001861: PUSH1 0x24 00001863: ADD 00001864: PUSH2 0x186e 00001867: SWAP3 00001868: SWAP2 00001869: SWAP1 0000186a: PUSH2 0x591d 0000186d: JUMP 0000186e: JUMPDEST 0000186f: PUSH1 0x40 00001871: DUP1 00001872: MLOAD 00001873: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001894: DUP2 00001895: DUP5 00001896: SUB 00001897: ADD 00001898: DUP2 00001899: MSTORE 0000189a: SWAP2 0000189b: SWAP1 0000189c: MSTORE 0000189d: PUSH1 0x20 0000189f: DUP2 000018a0: ADD 000018a1: DUP1 000018a2: MLOAD 000018a3: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000018c0: AND 000018c1: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 000018e2: SWAP1 000018e3: SWAP4 000018e4: AND 000018e5: SWAP3 000018e6: SWAP1 000018e7: SWAP3 000018e8: OR 000018e9: SWAP1 000018ea: SWAP2 000018eb: MSTORE 000018ec: PUSH2 0x3980 000018ef: JUMP 000018f0: JUMPDEST 000018f1: PUSH1 0x40 000018f3: MLOAD 000018f4: DUP4 000018f5: DUP2 000018f6: MSTORE 000018f7: PUSH32 0xed6771ea2f01816faa7ccf034b76201581d0b4374e86f83b06a8b4191c6b9f89 00001918: SWAP1 00001919: PUSH1 0x20 0000191b: ADD 0000191c: PUSH1 0x40 0000191e: MLOAD 0000191f: DUP1 00001920: SWAP2 00001921: SUB 00001922: SWAP1 00001923: LOG1 00001924: POP 00001925: POP 00001926: POP 00001927: JUMP 00001928: JUMPDEST 00001929: PUSH2 0x1930 0000192c: PUSH2 0x362e 0000192f: JUMP 00001930: JUMPDEST 00001931: PUSH1 0x00 00001933: DUP2 00001934: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001949: AND 0000194a: PUSH4 0xaf640d0f 0000194f: PUSH1 0x40 00001951: MLOAD 00001952: DUP2 00001953: PUSH4 0xffffffff 00001958: AND 00001959: PUSH1 0xe0 0000195b: SHL 0000195c: DUP2 0000195d: MSTORE 0000195e: PUSH1 0x04 00001960: ADD 00001961: PUSH1 0x20 00001963: PUSH1 0x40 00001965: MLOAD 00001966: DUP1 00001967: DUP4 00001968: SUB 00001969: DUP2 0000196a: DUP7 0000196b: GAS 0000196c: STATICCALL 0000196d: ISZERO 0000196e: DUP1 0000196f: ISZERO 00001970: PUSH2 0x197d 00001973: JUMPI 00001974: RETURNDATASIZE 00001975: PUSH1 0x00 00001977: DUP1 00001978: RETURNDATACOPY 00001979: RETURNDATASIZE 0000197a: PUSH1 0x00 0000197c: REVERT 0000197d: JUMPDEST 0000197e: POP 0000197f: POP 00001980: POP 00001981: POP 00001982: PUSH1 0x40 00001984: MLOAD 00001985: RETURNDATASIZE 00001986: PUSH1 0x1f 00001988: NOT 00001989: PUSH1 0x1f 0000198b: DUP3 0000198c: ADD 0000198d: AND 0000198e: DUP3 0000198f: ADD 00001990: DUP1 00001991: PUSH1 0x40 00001993: MSTORE 00001994: POP 00001995: DUP2 00001996: ADD 00001997: SWAP1 00001998: PUSH2 0x19a1 0000199b: SWAP2 0000199c: SWAP1 0000199d: PUSH2 0x5823 000019a0: JUMP 000019a1: JUMPDEST 000019a2: SWAP1 000019a3: POP 000019a4: PUSH2 0x19ac 000019a7: DUP2 000019a8: PUSH2 0x1c5e 000019ab: JUMP 000019ac: JUMPDEST 000019ad: ISZERO 000019ae: PUSH2 0x19e6 000019b1: JUMPI 000019b2: PUSH1 0x40 000019b4: MLOAD 000019b5: PUSH32 0x254de06900000000000000000000000000000000000000000000000000000000 000019d6: DUP2 000019d7: MSTORE 000019d8: PUSH1 0x04 000019da: DUP2 000019db: ADD 000019dc: DUP3 000019dd: SWAP1 000019de: MSTORE 000019df: PUSH1 0x24 000019e1: ADD 000019e2: PUSH2 0x1744 000019e5: JUMP 000019e6: JUMPDEST 000019e7: PUSH2 0x19f2 000019ea: PUSH1 0x0c 000019ec: DUP3 000019ed: DUP5 000019ee: PUSH2 0x39ab 000019f1: JUMP 000019f2: JUMPDEST 000019f3: POP 000019f4: PUSH1 0x40 000019f6: DUP1 000019f7: MLOAD 000019f8: PUSH1 0x04 000019fa: DUP2 000019fb: MSTORE 000019fc: PUSH1 0x24 000019fe: DUP2 000019ff: ADD 00001a00: SWAP1 00001a01: SWAP2 00001a02: MSTORE 00001a03: PUSH1 0x20 00001a05: DUP2 00001a06: ADD 00001a07: DUP1 00001a08: MLOAD 00001a09: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001a26: AND 00001a27: PUSH32 0x8757b15b00000000000000000000000000000000000000000000000000000000 00001a48: OR 00001a49: SWAP1 00001a4a: MSTORE 00001a4b: PUSH2 0x1a6b 00001a4e: SWAP1 00001a4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a64: DUP5 00001a65: AND 00001a66: SWAP1 00001a67: PUSH2 0x3609 00001a6a: JUMP 00001a6b: JUMPDEST 00001a6c: POP 00001a6d: PUSH1 0x40 00001a6f: DUP1 00001a70: MLOAD 00001a71: DUP3 00001a72: DUP2 00001a73: MSTORE 00001a74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a89: DUP5 00001a8a: AND 00001a8b: PUSH1 0x20 00001a8d: DUP3 00001a8e: ADD 00001a8f: MSTORE 00001a90: CALLER 00001a91: SWAP2 00001a92: PUSH32 0x7ae8ce35a1794068c85a72f63d16209787d9e4f3e4b3095cf7f0e1de1e5e0741 00001ab3: SWAP2 00001ab4: ADD 00001ab5: JUMPDEST 00001ab6: PUSH1 0x40 00001ab8: MLOAD 00001ab9: DUP1 00001aba: SWAP2 00001abb: SUB 00001abc: SWAP1 00001abd: LOG2 00001abe: POP 00001abf: POP 00001ac0: JUMP 00001ac1: JUMPDEST 00001ac2: PUSH1 0x00 00001ac4: PUSH2 0x1acc 00001ac7: DUP4 00001ac8: PUSH2 0x30f3 00001acb: JUMP 00001acc: JUMPDEST 00001acd: SWAP1 00001ace: POP 00001acf: DUP1 00001ad0: PUSH1 0x00 00001ad2: SUB 00001ad3: PUSH2 0x1b38 00001ad6: JUMPI 00001ad7: PUSH1 0x40 00001ad9: MLOAD 00001ada: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001afb: DUP2 00001afc: MSTORE 00001afd: PUSH1 0x20 00001aff: PUSH1 0x04 00001b01: DUP3 00001b02: ADD 00001b03: MSTORE 00001b04: PUSH1 0x0b 00001b06: PUSH1 0x24 00001b08: DUP3 00001b09: ADD 00001b0a: MSTORE 00001b0b: PUSH32 0x5a45524f5f534841524553000000000000000000000000000000000000000000 00001b2c: PUSH1 0x44 00001b2e: DUP3 00001b2f: ADD 00001b30: MSTORE 00001b31: PUSH1 0x64 00001b33: ADD 00001b34: PUSH2 0x1744 00001b37: JUMP 00001b38: JUMPDEST 00001b39: PUSH2 0x1b7a 00001b3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b51: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001b72: AND 00001b73: CALLER 00001b74: ADDRESS 00001b75: DUP7 00001b76: PUSH2 0x39d6 00001b79: JUMP 00001b7a: JUMPDEST 00001b7b: PUSH2 0x1b84 00001b7e: DUP3 00001b7f: DUP3 00001b80: PUSH2 0x3a95 00001b83: JUMP 00001b84: JUMPDEST 00001b85: PUSH1 0x40 00001b87: DUP1 00001b88: MLOAD 00001b89: DUP5 00001b8a: DUP2 00001b8b: MSTORE 00001b8c: PUSH1 0x20 00001b8e: DUP2 00001b8f: ADD 00001b90: DUP4 00001b91: SWAP1 00001b92: MSTORE 00001b93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ba8: DUP5 00001ba9: AND 00001baa: SWAP2 00001bab: CALLER 00001bac: SWAP2 00001bad: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00001bce: SWAP2 00001bcf: ADD 00001bd0: JUMPDEST 00001bd1: PUSH1 0x40 00001bd3: MLOAD 00001bd4: DUP1 00001bd5: SWAP2 00001bd6: SUB 00001bd7: SWAP1 00001bd8: LOG3 00001bd9: PUSH2 0x104f 00001bdc: JUMP 00001bdd: JUMPDEST 00001bde: PUSH2 0x1be5 00001be1: PUSH2 0x362e 00001be4: JUMP 00001be5: JUMPDEST 00001be6: PUSH8 0x0de0b6b3a7640000 00001bef: DUP2 00001bf0: GT 00001bf1: ISZERO 00001bf2: PUSH2 0x1c27 00001bf5: JUMPI 00001bf6: PUSH1 0x40 00001bf8: MLOAD 00001bf9: PUSH32 0xc9034e1800000000000000000000000000000000000000000000000000000000 00001c1a: DUP2 00001c1b: MSTORE 00001c1c: PUSH1 0x04 00001c1e: ADD 00001c1f: PUSH1 0x40 00001c21: MLOAD 00001c22: DUP1 00001c23: SWAP2 00001c24: SUB 00001c25: SWAP1 00001c26: REVERT 00001c27: JUMPDEST 00001c28: PUSH1 0x08 00001c2a: DUP2 00001c2b: SWAP1 00001c2c: SSTORE 00001c2d: PUSH1 0x40 00001c2f: MLOAD 00001c30: DUP2 00001c31: DUP2 00001c32: MSTORE 00001c33: CALLER 00001c34: SWAP1 00001c35: PUSH32 0x48d9d467a6699d3c9f09688328d42ebb56b0d1598687d06bebbe2e7f42641562 00001c56: SWAP1 00001c57: PUSH1 0x20 00001c59: ADD 00001c5a: PUSH2 0x1302 00001c5d: JUMP 00001c5e: JUMPDEST 00001c5f: PUSH1 0x00 00001c61: PUSH2 0x104f 00001c64: PUSH1 0x0c 00001c66: DUP4 00001c67: PUSH2 0x3b0e 00001c6a: JUMP 00001c6b: JUMPDEST 00001c6c: PUSH2 0x1c73 00001c6f: PUSH2 0x362e 00001c72: JUMP 00001c73: JUMPDEST 00001c74: PUSH1 0x12 00001c76: DUP2 00001c77: SWAP1 00001c78: SSTORE 00001c79: PUSH1 0x40 00001c7b: MLOAD 00001c7c: DUP2 00001c7d: DUP2 00001c7e: MSTORE 00001c7f: CALLER 00001c80: SWAP1 00001c81: PUSH32 0xb2bcb0a4720f48272ebaa5d990545b2ed974c8b87baec4514561aeedf05b9fc0 00001ca2: SWAP1 00001ca3: PUSH1 0x20 00001ca5: ADD 00001ca6: PUSH2 0x1302 00001ca9: JUMP 00001caa: JUMPDEST 00001cab: PUSH2 0x1cb2 00001cae: PUSH2 0x3b1a 00001cb1: JUMP 00001cb2: JUMPDEST 00001cb3: PUSH1 0x40 00001cb5: MLOAD 00001cb6: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00001cd7: DUP2 00001cd8: MSTORE 00001cd9: ADDRESS 00001cda: PUSH1 0x04 00001cdc: DUP3 00001cdd: ADD 00001cde: MSTORE 00001cdf: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001d00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d15: AND 00001d16: SWAP1 00001d17: PUSH4 0x70a08231 00001d1c: SWAP1 00001d1d: PUSH1 0x24 00001d1f: ADD 00001d20: PUSH1 0x20 00001d22: PUSH1 0x40 00001d24: MLOAD 00001d25: DUP1 00001d26: DUP4 00001d27: SUB 00001d28: DUP2 00001d29: DUP7 00001d2a: GAS 00001d2b: STATICCALL 00001d2c: ISZERO 00001d2d: DUP1 00001d2e: ISZERO 00001d2f: PUSH2 0x1d3c 00001d32: JUMPI 00001d33: RETURNDATASIZE 00001d34: PUSH1 0x00 00001d36: DUP1 00001d37: RETURNDATACOPY 00001d38: RETURNDATASIZE 00001d39: PUSH1 0x00 00001d3b: REVERT 00001d3c: JUMPDEST 00001d3d: POP 00001d3e: POP 00001d3f: POP 00001d40: POP 00001d41: PUSH1 0x40 00001d43: MLOAD 00001d44: RETURNDATASIZE 00001d45: PUSH1 0x1f 00001d47: NOT 00001d48: PUSH1 0x1f 00001d4a: DUP3 00001d4b: ADD 00001d4c: AND 00001d4d: DUP3 00001d4e: ADD 00001d4f: DUP1 00001d50: PUSH1 0x40 00001d52: MSTORE 00001d53: POP 00001d54: DUP2 00001d55: ADD 00001d56: SWAP1 00001d57: PUSH2 0x1d60 00001d5a: SWAP2 00001d5b: SWAP1 00001d5c: PUSH2 0x5823 00001d5f: JUMP 00001d60: JUMPDEST 00001d61: DUP5 00001d62: GT 00001d63: ISZERO 00001d64: PUSH2 0x1d99 00001d67: JUMPI 00001d68: PUSH1 0x40 00001d6a: MLOAD 00001d6b: PUSH32 0x2ca192fe00000000000000000000000000000000000000000000000000000000 00001d8c: DUP2 00001d8d: MSTORE 00001d8e: PUSH1 0x04 00001d90: ADD 00001d91: PUSH1 0x40 00001d93: MLOAD 00001d94: DUP1 00001d95: SWAP2 00001d96: SUB 00001d97: SWAP1 00001d98: REVERT 00001d99: JUMPDEST 00001d9a: DUP4 00001d9b: PUSH1 0x10 00001d9d: PUSH1 0x00 00001d9f: DUP3 00001da0: DUP3 00001da1: SLOAD 00001da2: PUSH2 0x1dab 00001da5: SWAP2 00001da6: SWAP1 00001da7: PUSH2 0x583c 00001daa: JUMP 00001dab: JUMPDEST 00001dac: SWAP1 00001dad: SWAP2 00001dae: SSTORE 00001daf: POP 00001db0: PUSH2 0x1dc4 00001db3: SWAP1 00001db4: POP 00001db5: DUP4 00001db6: PUSH2 0x1dbf 00001db9: DUP4 00001dba: DUP6 00001dbb: PUSH2 0x5931 00001dbe: JUMP 00001dbf: JUMPDEST 00001dc0: PUSH2 0x3b82 00001dc3: JUMP 00001dc4: JUMPDEST 00001dc5: PUSH2 0x1dcc 00001dc8: PUSH2 0x3d49 00001dcb: JUMP 00001dcc: JUMPDEST 00001dcd: PUSH32 0x83387a3342ff1ebc5e437dc9ae0f98274afda12a11cf547eebec05a3e0b8f8a7 00001dee: PUSH2 0x1df5 00001df1: PUSH2 0x1757 00001df4: JUMP 00001df5: JUMPDEST 00001df6: PUSH2 0x1dfd 00001df9: PUSH2 0x33fa 00001dfc: JUMP 00001dfd: JUMPDEST 00001dfe: PUSH1 0x40 00001e00: MLOAD 00001e01: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00001e22: DUP2 00001e23: MSTORE 00001e24: ADDRESS 00001e25: PUSH1 0x04 00001e27: DUP3 00001e28: ADD 00001e29: MSTORE 00001e2a: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001e4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e60: AND 00001e61: SWAP1 00001e62: PUSH4 0x70a08231 00001e67: SWAP1 00001e68: PUSH1 0x24 00001e6a: ADD 00001e6b: PUSH1 0x20 00001e6d: PUSH1 0x40 00001e6f: MLOAD 00001e70: DUP1 00001e71: DUP4 00001e72: SUB 00001e73: DUP2 00001e74: DUP7 00001e75: GAS 00001e76: STATICCALL 00001e77: ISZERO 00001e78: DUP1 00001e79: ISZERO 00001e7a: PUSH2 0x1e87 00001e7d: JUMPI 00001e7e: RETURNDATASIZE 00001e7f: PUSH1 0x00 00001e81: DUP1 00001e82: RETURNDATACOPY 00001e83: RETURNDATASIZE 00001e84: PUSH1 0x00 00001e86: REVERT 00001e87: JUMPDEST 00001e88: POP 00001e89: POP 00001e8a: POP 00001e8b: POP 00001e8c: PUSH1 0x40 00001e8e: MLOAD 00001e8f: RETURNDATASIZE 00001e90: PUSH1 0x1f 00001e92: NOT 00001e93: PUSH1 0x1f 00001e95: DUP3 00001e96: ADD 00001e97: AND 00001e98: DUP3 00001e99: ADD 00001e9a: DUP1 00001e9b: PUSH1 0x40 00001e9d: MSTORE 00001e9e: POP 00001e9f: DUP2 00001ea0: ADD 00001ea1: SWAP1 00001ea2: PUSH2 0x1eab 00001ea5: SWAP2 00001ea6: SWAP1 00001ea7: PUSH2 0x5823 00001eaa: JUMP 00001eab: JUMPDEST 00001eac: PUSH1 0x40 00001eae: DUP1 00001eaf: MLOAD 00001eb0: SWAP4 00001eb1: DUP5 00001eb2: MSTORE 00001eb3: PUSH1 0x20 00001eb5: DUP5 00001eb6: ADD 00001eb7: SWAP3 00001eb8: SWAP1 00001eb9: SWAP3 00001eba: MSTORE 00001ebb: SWAP1 00001ebc: DUP3 00001ebd: ADD 00001ebe: MSTORE 00001ebf: PUSH1 0x60 00001ec1: ADD 00001ec2: PUSH2 0x1615 00001ec5: JUMP 00001ec6: JUMPDEST 00001ec7: PUSH1 0x00 00001ec9: PUSH2 0x1ed1 00001ecc: DUP4 00001ecd: PUSH2 0x25e9 00001ed0: JUMP 00001ed1: JUMPDEST 00001ed2: SWAP1 00001ed3: POP 00001ed4: PUSH2 0x1f15 00001ed7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eec: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001f0d: AND 00001f0e: CALLER 00001f0f: ADDRESS 00001f10: DUP5 00001f11: PUSH2 0x39d6 00001f14: JUMP 00001f15: JUMPDEST 00001f16: PUSH2 0x1f1f 00001f19: DUP3 00001f1a: DUP5 00001f1b: PUSH2 0x3a95 00001f1e: JUMP 00001f1f: JUMPDEST 00001f20: PUSH1 0x40 00001f22: DUP1 00001f23: MLOAD 00001f24: DUP3 00001f25: DUP2 00001f26: MSTORE 00001f27: PUSH1 0x20 00001f29: DUP2 00001f2a: ADD 00001f2b: DUP6 00001f2c: SWAP1 00001f2d: MSTORE 00001f2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f43: DUP5 00001f44: AND 00001f45: SWAP2 00001f46: CALLER 00001f47: SWAP2 00001f48: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00001f69: SWAP2 00001f6a: ADD 00001f6b: PUSH2 0x1bd0 00001f6e: JUMP 00001f6f: JUMPDEST 00001f70: PUSH1 0x01 00001f72: DUP1 00001f73: SLOAD 00001f74: PUSH2 0x1062 00001f77: SWAP1 00001f78: PUSH2 0x584f 00001f7b: JUMP 00001f7c: JUMPDEST 00001f7d: PUSH2 0x1f84 00001f80: PUSH2 0x362e 00001f83: JUMP 00001f84: JUMPDEST 00001f85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f9a: DUP2 00001f9b: AND 00001f9c: PUSH2 0x1fd1 00001f9f: JUMPI 00001fa0: PUSH1 0x40 00001fa2: MLOAD 00001fa3: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 00001fc4: DUP2 00001fc5: MSTORE 00001fc6: PUSH1 0x04 00001fc8: ADD 00001fc9: PUSH1 0x40 00001fcb: MLOAD 00001fcc: DUP1 00001fcd: SWAP2 00001fce: SUB 00001fcf: SWAP1 00001fd0: REVERT 00001fd1: JUMPDEST 00001fd2: PUSH1 0x0b 00001fd4: DUP1 00001fd5: SLOAD 00001fd6: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001ff7: AND 00001ff8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000200d: DUP4 0000200e: AND 0000200f: SWAP1 00002010: DUP2 00002011: OR 00002012: SWAP1 00002013: SWAP2 00002014: SSTORE 00002015: PUSH1 0x40 00002017: MLOAD 00002018: SWAP1 00002019: DUP2 0000201a: MSTORE 0000201b: CALLER 0000201c: SWAP1 0000201d: PUSH32 0xfb7a5f1d35a7022d9d6343bfc9a25035829d0ea72da06978793c945b1d94a17f 0000203e: SWAP1 0000203f: PUSH1 0x20 00002041: ADD 00002042: PUSH2 0x1302 00002045: JUMP 00002046: JUMPDEST 00002047: PUSH2 0x204e 0000204a: PUSH2 0x362e 0000204d: JUMP 0000204e: JUMPDEST 0000204f: PUSH2 0x2057 00002052: DUP3 00002053: PUSH2 0x393e 00002056: JUMP 00002057: JUMPDEST 00002058: DUP1 00002059: ISZERO 0000205a: DUP1 0000205b: ISZERO 0000205c: PUSH2 0x20ff 0000205f: JUMPI 00002060: POP 00002061: PUSH1 0x00 00002063: PUSH2 0x206d 00002066: PUSH1 0x0c 00002068: DUP5 00002069: PUSH2 0x3696 0000206c: JUMP 0000206d: JUMPDEST 0000206e: PUSH1 0x40 00002070: MLOAD 00002071: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000 00002092: DUP2 00002093: MSTORE 00002094: ADDRESS 00002095: PUSH1 0x04 00002097: DUP3 00002098: ADD 00002099: MSTORE 0000209a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020af: SWAP2 000020b0: SWAP1 000020b1: SWAP2 000020b2: AND 000020b3: SWAP1 000020b4: PUSH4 0x9b56d6c9 000020b9: SWAP1 000020ba: PUSH1 0x24 000020bc: ADD 000020bd: PUSH1 0x20 000020bf: PUSH1 0x40 000020c1: MLOAD 000020c2: DUP1 000020c3: DUP4 000020c4: SUB 000020c5: DUP2 000020c6: DUP7 000020c7: GAS 000020c8: STATICCALL 000020c9: ISZERO 000020ca: DUP1 000020cb: ISZERO 000020cc: PUSH2 0x20d9 000020cf: JUMPI 000020d0: RETURNDATASIZE 000020d1: PUSH1 0x00 000020d3: DUP1 000020d4: RETURNDATACOPY 000020d5: RETURNDATASIZE 000020d6: PUSH1 0x00 000020d8: REVERT 000020d9: JUMPDEST 000020da: POP 000020db: POP 000020dc: POP 000020dd: POP 000020de: PUSH1 0x40 000020e0: MLOAD 000020e1: RETURNDATASIZE 000020e2: PUSH1 0x1f 000020e4: NOT 000020e5: PUSH1 0x1f 000020e7: DUP3 000020e8: ADD 000020e9: AND 000020ea: DUP3 000020eb: ADD 000020ec: DUP1 000020ed: PUSH1 0x40 000020ef: MSTORE 000020f0: POP 000020f1: DUP2 000020f2: ADD 000020f3: SWAP1 000020f4: PUSH2 0x20fd 000020f7: SWAP2 000020f8: SWAP1 000020f9: PUSH2 0x5823 000020fc: JUMP 000020fd: JUMPDEST 000020fe: GT 000020ff: JUMPDEST 00002100: ISZERO 00002101: PUSH2 0x2139 00002104: JUMPI 00002105: PUSH1 0x40 00002107: MLOAD 00002108: PUSH32 0x254de06900000000000000000000000000000000000000000000000000000000 00002129: DUP2 0000212a: MSTORE 0000212b: PUSH1 0x04 0000212d: DUP2 0000212e: ADD 0000212f: DUP4 00002130: SWAP1 00002131: MSTORE 00002132: PUSH1 0x24 00002134: ADD 00002135: PUSH2 0x1744 00002138: JUMP 00002139: JUMPDEST 0000213a: PUSH1 0x40 0000213c: DUP1 0000213d: MLOAD 0000213e: PUSH1 0x04 00002140: DUP2 00002141: MSTORE 00002142: PUSH1 0x24 00002144: DUP2 00002145: ADD 00002146: SWAP1 00002147: SWAP2 00002148: MSTORE 00002149: PUSH1 0x20 0000214b: DUP2 0000214c: ADD 0000214d: DUP1 0000214e: MLOAD 0000214f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000216c: AND 0000216d: PUSH32 0x9265a7d500000000000000000000000000000000000000000000000000000000 0000218e: OR 0000218f: SWAP1 00002190: MSTORE 00002191: PUSH2 0x219b 00002194: SWAP1 00002195: DUP4 00002196: SWAP1 00002197: PUSH2 0x3980 0000219a: JUMP 0000219b: JUMPDEST 0000219c: PUSH2 0x21a6 0000219f: PUSH1 0x0c 000021a1: DUP4 000021a2: PUSH2 0x3e16 000021a5: JUMP 000021a6: JUMPDEST 000021a7: POP 000021a8: PUSH1 0x40 000021aa: MLOAD 000021ab: DUP3 000021ac: DUP2 000021ad: MSTORE 000021ae: CALLER 000021af: SWAP1 000021b0: PUSH32 0xce27e7409a7e5bc40ecb15d4e938f30ecc5e1e44b03b8f9517eb0a3bf906eccc 000021d1: SWAP1 000021d2: PUSH1 0x20 000021d4: ADD 000021d5: PUSH2 0x1ab5 000021d8: JUMP 000021d9: JUMPDEST 000021da: PUSH2 0x21e1 000021dd: PUSH2 0x35f5 000021e0: JUMP 000021e1: JUMPDEST 000021e2: PUSH8 0x0de0b6b3a7640000 000021eb: DUP2 000021ec: GT 000021ed: ISZERO 000021ee: PUSH2 0x2223 000021f1: JUMPI 000021f2: PUSH1 0x40 000021f4: MLOAD 000021f5: PUSH32 0xc31c0b6e00000000000000000000000000000000000000000000000000000000 00002216: DUP2 00002217: MSTORE 00002218: PUSH1 0x04 0000221a: ADD 0000221b: PUSH1 0x40 0000221d: MLOAD 0000221e: DUP1 0000221f: SWAP2 00002220: SUB 00002221: SWAP1 00002222: REVERT 00002223: JUMPDEST 00002224: PUSH1 0x40 00002226: MLOAD 00002227: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00002248: DUP2 00002249: MSTORE 0000224a: ADDRESS 0000224b: PUSH1 0x04 0000224d: DUP3 0000224e: ADD 0000224f: MSTORE 00002250: PUSH1 0x00 00002252: SWAP1 00002253: PUSH20 0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0 00002268: SWAP1 00002269: PUSH4 0x70a08231 0000226e: SWAP1 0000226f: PUSH1 0x24 00002271: ADD 00002272: PUSH1 0x20 00002274: PUSH1 0x40 00002276: MLOAD 00002277: DUP1 00002278: DUP4 00002279: SUB 0000227a: DUP2 0000227b: DUP7 0000227c: GAS 0000227d: STATICCALL 0000227e: ISZERO 0000227f: DUP1 00002280: ISZERO 00002281: PUSH2 0x228e 00002284: JUMPI 00002285: RETURNDATASIZE 00002286: PUSH1 0x00 00002288: DUP1 00002289: RETURNDATACOPY 0000228a: RETURNDATASIZE 0000228b: PUSH1 0x00 0000228d: REVERT 0000228e: JUMPDEST 0000228f: POP 00002290: POP 00002291: POP 00002292: POP 00002293: PUSH1 0x40 00002295: MLOAD 00002296: RETURNDATASIZE 00002297: PUSH1 0x1f 00002299: NOT 0000229a: PUSH1 0x1f 0000229c: DUP3 0000229d: ADD 0000229e: AND 0000229f: DUP3 000022a0: ADD 000022a1: DUP1 000022a2: PUSH1 0x40 000022a4: MSTORE 000022a5: POP 000022a6: DUP2 000022a7: ADD 000022a8: SWAP1 000022a9: PUSH2 0x22b2 000022ac: SWAP2 000022ad: SWAP1 000022ae: PUSH2 0x5823 000022b1: JUMP 000022b2: JUMPDEST 000022b3: SWAP1 000022b4: POP 000022b5: DUP1 000022b6: DUP4 000022b7: GT 000022b8: ISZERO 000022b9: PUSH2 0x22c0 000022bc: JUMPI 000022bd: DUP1 000022be: SWAP3 000022bf: POP 000022c0: JUMPDEST 000022c1: PUSH1 0x40 000022c3: MLOAD 000022c4: PUSH32 0xde0e9a3e00000000000000000000000000000000000000000000000000000000 000022e5: DUP2 000022e6: MSTORE 000022e7: PUSH1 0x04 000022e9: DUP2 000022ea: ADD 000022eb: DUP5 000022ec: SWAP1 000022ed: MSTORE 000022ee: PUSH1 0x00 000022f0: SWAP1 000022f1: PUSH20 0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0 00002306: SWAP1 00002307: PUSH4 0xde0e9a3e 0000230c: SWAP1 0000230d: PUSH1 0x24 0000230f: ADD 00002310: PUSH1 0x20 00002312: PUSH1 0x40 00002314: MLOAD 00002315: DUP1 00002316: DUP4 00002317: SUB 00002318: DUP2 00002319: PUSH1 0x00 0000231b: DUP8 0000231c: GAS 0000231d: CALL 0000231e: ISZERO 0000231f: DUP1 00002320: ISZERO 00002321: PUSH2 0x232e 00002324: JUMPI 00002325: RETURNDATASIZE 00002326: PUSH1 0x00 00002328: DUP1 00002329: RETURNDATACOPY 0000232a: RETURNDATASIZE 0000232b: PUSH1 0x00 0000232d: REVERT 0000232e: JUMPDEST 0000232f: POP 00002330: POP 00002331: POP 00002332: POP 00002333: PUSH1 0x40 00002335: MLOAD 00002336: RETURNDATASIZE 00002337: PUSH1 0x1f 00002339: NOT 0000233a: PUSH1 0x1f 0000233c: DUP3 0000233d: ADD 0000233e: AND 0000233f: DUP3 00002340: ADD 00002341: DUP1 00002342: PUSH1 0x40 00002344: MSTORE 00002345: POP 00002346: DUP2 00002347: ADD 00002348: SWAP1 00002349: PUSH2 0x2352 0000234c: SWAP2 0000234d: SWAP1 0000234e: PUSH2 0x5823 00002351: JUMP 00002352: JUMPDEST 00002353: SWAP1 00002354: POP 00002355: PUSH1 0x00 00002357: PUSH2 0x23fc 0000235a: DUP5 0000235b: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca 0000237c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002391: AND 00002392: PUSH4 0x1a612da6 00002397: DUP6 00002398: PUSH1 0x40 0000239a: MLOAD 0000239b: DUP3 0000239c: PUSH4 0xffffffff 000023a1: AND 000023a2: PUSH1 0xe0 000023a4: SHL 000023a5: DUP2 000023a6: MSTORE 000023a7: PUSH1 0x04 000023a9: ADD 000023aa: PUSH2 0x23b5 000023ad: SWAP2 000023ae: DUP2 000023af: MSTORE 000023b0: PUSH1 0x20 000023b2: ADD 000023b3: SWAP1 000023b4: JUMP 000023b5: JUMPDEST 000023b6: PUSH1 0x20 000023b8: PUSH1 0x40 000023ba: MLOAD 000023bb: DUP1 000023bc: DUP4 000023bd: SUB 000023be: DUP2 000023bf: DUP7 000023c0: GAS 000023c1: STATICCALL 000023c2: ISZERO 000023c3: DUP1 000023c4: ISZERO 000023c5: PUSH2 0x23d2 000023c8: JUMPI 000023c9: RETURNDATASIZE 000023ca: PUSH1 0x00 000023cc: DUP1 000023cd: RETURNDATACOPY 000023ce: RETURNDATASIZE 000023cf: PUSH1 0x00 000023d1: REVERT 000023d2: JUMPDEST 000023d3: POP 000023d4: POP 000023d5: POP 000023d6: POP 000023d7: PUSH1 0x40 000023d9: MLOAD 000023da: RETURNDATASIZE 000023db: PUSH1 0x1f 000023dd: NOT 000023de: PUSH1 0x1f 000023e0: DUP3 000023e1: ADD 000023e2: AND 000023e3: DUP3 000023e4: ADD 000023e5: DUP1 000023e6: PUSH1 0x40 000023e8: MSTORE 000023e9: POP 000023ea: DUP2 000023eb: ADD 000023ec: SWAP1 000023ed: PUSH2 0x23f6 000023f0: SWAP2 000023f1: SWAP1 000023f2: PUSH2 0x5823 000023f5: JUMP 000023f6: JUMPDEST 000023f7: SWAP1 000023f8: PUSH2 0x3e22 000023fb: JUMP 000023fc: JUMPDEST 000023fd: PUSH1 0x40 000023ff: MLOAD 00002400: PUSH1 0x24 00002402: DUP2 00002403: ADD 00002404: DUP5 00002405: SWAP1 00002406: MSTORE 00002407: PUSH1 0x44 00002409: DUP2 0000240a: ADD 0000240b: DUP3 0000240c: SWAP1 0000240d: MSTORE 0000240e: SWAP1 0000240f: SWAP2 00002410: POP 00002411: PUSH2 0x243e 00002414: SWAP1 00002415: PUSH32 0x0d3d0a6400000000000000000000000000000000000000000000000000000000 00002436: SWAP1 00002437: PUSH1 0x64 00002439: ADD 0000243a: PUSH2 0x11e5 0000243d: JUMP 0000243e: JUMPDEST 0000243f: POP 00002440: POP 00002441: POP 00002442: POP 00002443: POP 00002444: POP 00002445: JUMP 00002446: JUMPDEST 00002447: PUSH2 0x244e 0000244a: PUSH2 0x35f5 0000244d: JUMP 0000244e: JUMPDEST 0000244f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002464: DUP6 00002465: AND 00002466: PUSH1 0x00 00002468: SWAP1 00002469: DUP2 0000246a: MSTORE 0000246b: PUSH1 0x0f 0000246d: PUSH1 0x20 0000246f: MSTORE 00002470: PUSH1 0x40 00002472: SWAP1 00002473: KECCAK256 00002474: SLOAD 00002475: PUSH1 0xff 00002477: AND 00002478: PUSH2 0x24c5 0000247b: JUMPI 0000247c: PUSH1 0x40 0000247e: MLOAD 0000247f: PUSH32 0xcc2342f100000000000000000000000000000000000000000000000000000000 000024a0: DUP2 000024a1: MSTORE 000024a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024b7: DUP7 000024b8: AND 000024b9: PUSH1 0x04 000024bb: DUP3 000024bc: ADD 000024bd: MSTORE 000024be: PUSH1 0x24 000024c0: ADD 000024c1: PUSH2 0x1744 000024c4: JUMP 000024c5: JUMPDEST 000024c6: PUSH1 0x00 000024c8: PUSH2 0x24ed 000024cb: PUSH4 0x1f2913d2 000024d0: PUSH1 0xe0 000024d2: SHL 000024d3: DUP9 000024d4: DUP9 000024d5: DUP9 000024d6: DUP7 000024d7: DUP10 000024d8: DUP10 000024d9: PUSH1 0x40 000024db: MLOAD 000024dc: PUSH1 0x24 000024de: ADD 000024df: PUSH2 0x11e5 000024e2: SWAP7 000024e3: SWAP6 000024e4: SWAP5 000024e5: SWAP4 000024e6: SWAP3 000024e7: SWAP2 000024e8: SWAP1 000024e9: PUSH2 0x59a5 000024ec: JUMP 000024ed: JUMPDEST 000024ee: SWAP1 000024ef: POP 000024f0: PUSH32 0xd5a1cd88ddd329cc1ddf861a21708efa9ef3136b88e1420c21f91ef6f95ad024 00002511: DUP8 00002512: DUP7 00002513: DUP4 00002514: DUP1 00002515: PUSH1 0x20 00002517: ADD 00002518: SWAP1 00002519: MLOAD 0000251a: DUP2 0000251b: ADD 0000251c: SWAP1 0000251d: PUSH2 0x2526 00002520: SWAP2 00002521: SWAP1 00002522: PUSH2 0x5823 00002525: JUMP 00002526: JUMPDEST 00002527: PUSH1 0x40 00002529: DUP1 0000252a: MLOAD 0000252b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002540: SWAP1 00002541: SWAP5 00002542: AND 00002543: DUP5 00002544: MSTORE 00002545: PUSH1 0x20 00002547: DUP5 00002548: ADD 00002549: SWAP3 0000254a: SWAP1 0000254b: SWAP3 0000254c: MSTORE 0000254d: SWAP1 0000254e: DUP3 0000254f: ADD 00002550: MSTORE 00002551: PUSH1 0x60 00002553: ADD 00002554: PUSH1 0x40 00002556: MLOAD 00002557: DUP1 00002558: SWAP2 00002559: SUB 0000255a: SWAP1 0000255b: LOG1 0000255c: POP 0000255d: POP 0000255e: POP 0000255f: POP 00002560: POP 00002561: POP 00002562: POP 00002563: JUMP 00002564: JUMPDEST 00002565: CALLER 00002566: PUSH1 0x00 00002568: SWAP1 00002569: DUP2 0000256a: MSTORE 0000256b: PUSH1 0x03 0000256d: PUSH1 0x20 0000256f: MSTORE 00002570: PUSH1 0x40 00002572: DUP2 00002573: KECCAK256 00002574: DUP1 00002575: SLOAD 00002576: DUP4 00002577: SWAP2 00002578: SWAP1 00002579: DUP4 0000257a: SWAP1 0000257b: PUSH2 0x2585 0000257e: SWAP1 0000257f: DUP5 00002580: SWAP1 00002581: PUSH2 0x5810 00002584: JUMP 00002585: JUMPDEST 00002586: SWAP1 00002587: SWAP2 00002588: SSTORE 00002589: POP 0000258a: POP 0000258b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025a0: DUP4 000025a1: AND 000025a2: PUSH1 0x00 000025a4: DUP2 000025a5: DUP2 000025a6: MSTORE 000025a7: PUSH1 0x03 000025a9: PUSH1 0x20 000025ab: MSTORE 000025ac: PUSH1 0x40 000025ae: SWAP1 000025af: DUP2 000025b0: SWAP1 000025b1: KECCAK256 000025b2: DUP1 000025b3: SLOAD 000025b4: DUP6 000025b5: ADD 000025b6: SWAP1 000025b7: SSTORE 000025b8: MLOAD 000025b9: CALLER 000025ba: SWAP1 000025bb: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000025dc: SWAP1 000025dd: PUSH2 0x1178 000025e0: SWAP1 000025e1: DUP7 000025e2: DUP2 000025e3: MSTORE 000025e4: PUSH1 0x20 000025e6: ADD 000025e7: SWAP1 000025e8: JUMP 000025e9: JUMPDEST 000025ea: PUSH1 0x02 000025ec: SLOAD 000025ed: PUSH1 0x00 000025ef: SWAP1 000025f0: DUP1 000025f1: ISZERO 000025f2: PUSH2 0x1107 000025f5: JUMPI 000025f6: PUSH2 0x1102 000025f9: PUSH2 0x2600 000025fc: PUSH2 0x0ede 000025ff: JUMP 00002600: JUMPDEST 00002601: DUP5 00002602: SWAP1 00002603: DUP4 00002604: PUSH2 0x35b1 00002607: JUMP 00002608: JUMPDEST 00002609: PUSH1 0x00 0000260b: PUSH2 0x2613 0000260e: DUP5 0000260f: PUSH2 0x1189 00002612: JUMP 00002613: JUMPDEST 00002614: SWAP1 00002615: POP 00002616: CALLER 00002617: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000262c: DUP4 0000262d: AND 0000262e: EQ 0000262f: PUSH2 0x26c8 00002632: JUMPI 00002633: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002648: DUP3 00002649: AND 0000264a: PUSH1 0x00 0000264c: SWAP1 0000264d: DUP2 0000264e: MSTORE 0000264f: PUSH1 0x04 00002651: PUSH1 0x20 00002653: SWAP1 00002654: DUP2 00002655: MSTORE 00002656: PUSH1 0x40 00002658: DUP1 00002659: DUP4 0000265a: KECCAK256 0000265b: CALLER 0000265c: DUP5 0000265d: MSTORE 0000265e: SWAP1 0000265f: SWAP2 00002660: MSTORE 00002661: SWAP1 00002662: KECCAK256 00002663: SLOAD 00002664: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002685: DUP2 00002686: EQ 00002687: PUSH2 0x26c6 0000268a: JUMPI 0000268b: PUSH2 0x2694 0000268e: DUP3 0000268f: DUP3 00002690: PUSH2 0x5810 00002693: JUMP 00002694: JUMPDEST 00002695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026aa: DUP5 000026ab: AND 000026ac: PUSH1 0x00 000026ae: SWAP1 000026af: DUP2 000026b0: MSTORE 000026b1: PUSH1 0x04 000026b3: PUSH1 0x20 000026b5: SWAP1 000026b6: DUP2 000026b7: MSTORE 000026b8: PUSH1 0x40 000026ba: DUP1 000026bb: DUP4 000026bc: KECCAK256 000026bd: CALLER 000026be: DUP5 000026bf: MSTORE 000026c0: SWAP1 000026c1: SWAP2 000026c2: MSTORE 000026c3: SWAP1 000026c4: KECCAK256 000026c5: SSTORE 000026c6: JUMPDEST 000026c7: POP 000026c8: JUMPDEST 000026c9: PUSH2 0x26d2 000026cc: DUP5 000026cd: DUP3 000026ce: PUSH2 0x3e37 000026d1: JUMP 000026d2: JUMPDEST 000026d3: PUSH2 0x26dc 000026d6: DUP3 000026d7: DUP3 000026d8: PUSH2 0x3f1c 000026db: JUMP 000026dc: JUMPDEST 000026dd: PUSH1 0x40 000026df: MLOAD 000026e0: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00002701: DUP2 00002702: MSTORE 00002703: ADDRESS 00002704: PUSH1 0x04 00002706: DUP3 00002707: ADD 00002708: MSTORE 00002709: PUSH1 0x00 0000270b: SWAP1 0000270c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000272d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002742: AND 00002743: SWAP1 00002744: PUSH4 0x70a08231 00002749: SWAP1 0000274a: PUSH1 0x24 0000274c: ADD 0000274d: PUSH1 0x20 0000274f: PUSH1 0x40 00002751: MLOAD 00002752: DUP1 00002753: DUP4 00002754: SUB 00002755: DUP2 00002756: DUP7 00002757: GAS 00002758: STATICCALL 00002759: ISZERO 0000275a: DUP1 0000275b: ISZERO 0000275c: PUSH2 0x2769 0000275f: JUMPI 00002760: RETURNDATASIZE 00002761: PUSH1 0x00 00002763: DUP1 00002764: RETURNDATACOPY 00002765: RETURNDATASIZE 00002766: PUSH1 0x00 00002768: REVERT 00002769: JUMPDEST 0000276a: POP 0000276b: POP 0000276c: POP 0000276d: POP 0000276e: PUSH1 0x40 00002770: MLOAD 00002771: RETURNDATASIZE 00002772: PUSH1 0x1f 00002774: NOT 00002775: PUSH1 0x1f 00002777: DUP3 00002778: ADD 00002779: AND 0000277a: DUP3 0000277b: ADD 0000277c: DUP1 0000277d: PUSH1 0x40 0000277f: MSTORE 00002780: POP 00002781: DUP2 00002782: ADD 00002783: SWAP1 00002784: PUSH2 0x278d 00002787: SWAP2 00002788: SWAP1 00002789: PUSH2 0x5823 0000278c: JUMP 0000278d: JUMPDEST 0000278e: SWAP1 0000278f: POP 00002790: DUP1 00002791: DUP6 00002792: GT 00002793: ISZERO 00002794: PUSH2 0x279b 00002797: JUMPI 00002798: DUP1 00002799: SWAP5 0000279a: POP 0000279b: JUMPDEST 0000279c: PUSH1 0x40 0000279e: DUP1 0000279f: MLOAD 000027a0: DUP7 000027a1: DUP2 000027a2: MSTORE 000027a3: PUSH1 0x20 000027a5: DUP2 000027a6: ADD 000027a7: DUP5 000027a8: SWAP1 000027a9: MSTORE 000027aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027bf: DUP1 000027c0: DUP7 000027c1: AND 000027c2: SWAP3 000027c3: SWAP1 000027c4: DUP8 000027c5: AND 000027c6: SWAP2 000027c7: CALLER 000027c8: SWAP2 000027c9: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db 000027ea: SWAP2 000027eb: ADD 000027ec: PUSH1 0x40 000027ee: MLOAD 000027ef: DUP1 000027f0: SWAP2 000027f1: SUB 000027f2: SWAP1 000027f3: LOG4 000027f4: PUSH2 0x2834 000027f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000280c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000282d: AND 0000282e: DUP6 0000282f: DUP8 00002830: PUSH2 0x3faa 00002833: JUMP 00002834: JUMPDEST 00002835: POP 00002836: SWAP4 00002837: SWAP3 00002838: POP 00002839: POP 0000283a: POP 0000283b: JUMP 0000283c: JUMPDEST 0000283d: PUSH1 0x00 0000283f: CALLER 00002840: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002855: DUP4 00002856: AND 00002857: EQ 00002858: PUSH2 0x28f1 0000285b: JUMPI 0000285c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002871: DUP3 00002872: AND 00002873: PUSH1 0x00 00002875: SWAP1 00002876: DUP2 00002877: MSTORE 00002878: PUSH1 0x04 0000287a: PUSH1 0x20 0000287c: SWAP1 0000287d: DUP2 0000287e: MSTORE 0000287f: PUSH1 0x40 00002881: DUP1 00002882: DUP4 00002883: KECCAK256 00002884: CALLER 00002885: DUP5 00002886: MSTORE 00002887: SWAP1 00002888: SWAP2 00002889: MSTORE 0000288a: SWAP1 0000288b: KECCAK256 0000288c: SLOAD 0000288d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000028ae: DUP2 000028af: EQ 000028b0: PUSH2 0x28ef 000028b3: JUMPI 000028b4: PUSH2 0x28bd 000028b7: DUP6 000028b8: DUP3 000028b9: PUSH2 0x5810 000028bc: JUMP 000028bd: JUMPDEST 000028be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028d3: DUP5 000028d4: AND 000028d5: PUSH1 0x00 000028d7: SWAP1 000028d8: DUP2 000028d9: MSTORE 000028da: PUSH1 0x04 000028dc: PUSH1 0x20 000028de: SWAP1 000028df: DUP2 000028e0: MSTORE 000028e1: PUSH1 0x40 000028e3: DUP1 000028e4: DUP4 000028e5: KECCAK256 000028e6: CALLER 000028e7: DUP5 000028e8: MSTORE 000028e9: SWAP1 000028ea: SWAP2 000028eb: MSTORE 000028ec: SWAP1 000028ed: KECCAK256 000028ee: SSTORE 000028ef: JUMPDEST 000028f0: POP 000028f1: JUMPDEST 000028f2: PUSH2 0x28fa 000028f5: DUP5 000028f6: PUSH2 0x1833 000028f9: JUMP 000028fa: JUMPDEST 000028fb: SWAP1 000028fc: POP 000028fd: DUP1 000028fe: PUSH1 0x00 00002900: SUB 00002901: PUSH2 0x2966 00002904: JUMPI 00002905: PUSH1 0x40 00002907: MLOAD 00002908: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002929: DUP2 0000292a: MSTORE 0000292b: PUSH1 0x20 0000292d: PUSH1 0x04 0000292f: DUP3 00002930: ADD 00002931: MSTORE 00002932: PUSH1 0x0b 00002934: PUSH1 0x24 00002936: DUP3 00002937: ADD 00002938: MSTORE 00002939: PUSH32 0x5a45524f5f415353455453000000000000000000000000000000000000000000 0000295a: PUSH1 0x44 0000295c: DUP3 0000295d: ADD 0000295e: MSTORE 0000295f: PUSH1 0x64 00002961: ADD 00002962: PUSH2 0x1744 00002965: JUMP 00002966: JUMPDEST 00002967: PUSH2 0x2970 0000296a: DUP2 0000296b: DUP6 0000296c: PUSH2 0x3e37 0000296f: JUMP 00002970: JUMPDEST 00002971: PUSH2 0x297a 00002974: DUP3 00002975: DUP6 00002976: PUSH2 0x3f1c 00002979: JUMP 0000297a: JUMPDEST 0000297b: PUSH1 0x40 0000297d: MLOAD 0000297e: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 0000299f: DUP2 000029a0: MSTORE 000029a1: ADDRESS 000029a2: PUSH1 0x04 000029a4: DUP3 000029a5: ADD 000029a6: MSTORE 000029a7: PUSH1 0x00 000029a9: SWAP1 000029aa: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000029cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029e0: AND 000029e1: SWAP1 000029e2: PUSH4 0x70a08231 000029e7: SWAP1 000029e8: PUSH1 0x24 000029ea: ADD 000029eb: PUSH1 0x20 000029ed: PUSH1 0x40 000029ef: MLOAD 000029f0: DUP1 000029f1: DUP4 000029f2: SUB 000029f3: DUP2 000029f4: DUP7 000029f5: GAS 000029f6: STATICCALL 000029f7: ISZERO 000029f8: DUP1 000029f9: ISZERO 000029fa: PUSH2 0x2a07 000029fd: JUMPI 000029fe: RETURNDATASIZE 000029ff: PUSH1 0x00 00002a01: DUP1 00002a02: RETURNDATACOPY 00002a03: RETURNDATASIZE 00002a04: PUSH1 0x00 00002a06: REVERT 00002a07: JUMPDEST 00002a08: POP 00002a09: POP 00002a0a: POP 00002a0b: POP 00002a0c: PUSH1 0x40 00002a0e: MLOAD 00002a0f: RETURNDATASIZE 00002a10: PUSH1 0x1f 00002a12: NOT 00002a13: PUSH1 0x1f 00002a15: DUP3 00002a16: ADD 00002a17: AND 00002a18: DUP3 00002a19: ADD 00002a1a: DUP1 00002a1b: PUSH1 0x40 00002a1d: MSTORE 00002a1e: POP 00002a1f: DUP2 00002a20: ADD 00002a21: SWAP1 00002a22: PUSH2 0x2a2b 00002a25: SWAP2 00002a26: SWAP1 00002a27: PUSH2 0x5823 00002a2a: JUMP 00002a2b: JUMPDEST 00002a2c: SWAP1 00002a2d: POP 00002a2e: DUP1 00002a2f: DUP3 00002a30: GT 00002a31: ISZERO 00002a32: PUSH2 0x2a39 00002a35: JUMPI 00002a36: DUP1 00002a37: SWAP2 00002a38: POP 00002a39: JUMPDEST 00002a3a: PUSH1 0x40 00002a3c: DUP1 00002a3d: MLOAD 00002a3e: DUP4 00002a3f: DUP2 00002a40: MSTORE 00002a41: PUSH1 0x20 00002a43: DUP2 00002a44: ADD 00002a45: DUP8 00002a46: SWAP1 00002a47: MSTORE 00002a48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a5d: DUP1 00002a5e: DUP7 00002a5f: AND 00002a60: SWAP3 00002a61: SWAP1 00002a62: DUP8 00002a63: AND 00002a64: SWAP2 00002a65: CALLER 00002a66: SWAP2 00002a67: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db 00002a88: SWAP2 00002a89: ADD 00002a8a: PUSH1 0x40 00002a8c: MLOAD 00002a8d: DUP1 00002a8e: SWAP2 00002a8f: SUB 00002a90: SWAP1 00002a91: LOG4 00002a92: PUSH2 0x2834 00002a95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002aaa: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00002acb: AND 00002acc: DUP6 00002acd: DUP5 00002ace: PUSH2 0x3faa 00002ad1: JUMP 00002ad2: JUMPDEST 00002ad3: PUSH1 0x02 00002ad5: SLOAD 00002ad6: PUSH1 0x00 00002ad8: SWAP1 00002ad9: DUP1 00002ada: ISZERO 00002adb: PUSH2 0x1107 00002ade: JUMPI 00002adf: PUSH2 0x1102 00002ae2: DUP2 00002ae3: PUSH2 0x2aea 00002ae6: PUSH2 0x0ede 00002ae9: JUMP 00002aea: JUMPDEST 00002aeb: DUP6 00002aec: SWAP2 00002aed: SWAP1 00002aee: PUSH2 0x3575 00002af1: JUMP 00002af2: JUMPDEST 00002af3: PUSH2 0x2afa 00002af6: PUSH2 0x362e 00002af9: JUMP 00002afa: JUMPDEST 00002afb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b10: DUP3 00002b11: AND 00002b12: PUSH2 0x2b47 00002b15: JUMPI 00002b16: PUSH1 0x40 00002b18: MLOAD 00002b19: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 00002b3a: DUP2 00002b3b: MSTORE 00002b3c: PUSH1 0x04 00002b3e: ADD 00002b3f: PUSH1 0x40 00002b41: MLOAD 00002b42: DUP1 00002b43: SWAP2 00002b44: SUB 00002b45: SWAP1 00002b46: REVERT 00002b47: JUMPDEST 00002b48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b5d: DUP3 00002b5e: AND 00002b5f: PUSH1 0x00 00002b61: DUP2 00002b62: DUP2 00002b63: MSTORE 00002b64: PUSH1 0x0f 00002b66: PUSH1 0x20 00002b68: SWAP1 00002b69: DUP2 00002b6a: MSTORE 00002b6b: PUSH1 0x40 00002b6d: SWAP2 00002b6e: DUP3 00002b6f: SWAP1 00002b70: KECCAK256 00002b71: DUP1 00002b72: SLOAD 00002b73: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002b94: AND 00002b95: DUP6 00002b96: ISZERO 00002b97: ISZERO 00002b98: SWAP1 00002b99: DUP2 00002b9a: OR 00002b9b: SWAP1 00002b9c: SWAP2 00002b9d: SSTORE 00002b9e: DUP3 00002b9f: MLOAD 00002ba0: SWAP4 00002ba1: DUP5 00002ba2: MSTORE 00002ba3: SWAP1 00002ba4: DUP4 00002ba5: ADD 00002ba6: MSTORE 00002ba7: PUSH32 0xef81a9943b96c8df4ef243401c9bf5159146166211356898b52d382086168d92 00002bc8: SWAP2 00002bc9: ADD 00002bca: PUSH1 0x40 00002bcc: MLOAD 00002bcd: DUP1 00002bce: SWAP2 00002bcf: SUB 00002bd0: SWAP1 00002bd1: LOG1 00002bd2: POP 00002bd3: POP 00002bd4: JUMP 00002bd5: JUMPDEST 00002bd6: PUSH2 0x2bdd 00002bd9: PUSH2 0x35f5 00002bdc: JUMP 00002bdd: JUMPDEST 00002bde: PUSH1 0x00 00002be0: PUSH2 0x2bea 00002be3: PUSH1 0x0c 00002be5: DUP6 00002be6: PUSH2 0x3696 00002be9: JUMP 00002bea: JUMPDEST 00002beb: SWAP1 00002bec: POP 00002bed: PUSH2 0x2c0b 00002bf0: DUP2 00002bf1: PUSH4 0x35403023 00002bf6: PUSH1 0xe0 00002bf8: SHL 00002bf9: DUP6 00002bfa: PUSH1 0x40 00002bfc: MLOAD 00002bfd: PUSH1 0x24 00002bff: ADD 00002c00: PUSH2 0x153a 00002c03: SWAP2 00002c04: DUP2 00002c05: MSTORE 00002c06: PUSH1 0x20 00002c08: ADD 00002c09: SWAP1 00002c0a: JUMP 00002c0b: JUMPDEST 00002c0c: PUSH2 0x2c2a 00002c0f: DUP2 00002c10: PUSH4 0xc5ebeaec 00002c15: PUSH1 0xe0 00002c17: SHL 00002c18: DUP5 00002c19: PUSH1 0x40 00002c1b: MLOAD 00002c1c: PUSH1 0x24 00002c1e: ADD 00002c1f: PUSH2 0x153a 00002c22: SWAP2 00002c23: DUP2 00002c24: MSTORE 00002c25: PUSH1 0x20 00002c27: ADD 00002c28: SWAP1 00002c29: JUMP 00002c2a: JUMPDEST 00002c2b: PUSH1 0x40 00002c2d: DUP1 00002c2e: MLOAD 00002c2f: DUP6 00002c30: DUP2 00002c31: MSTORE 00002c32: PUSH1 0x20 00002c34: DUP2 00002c35: ADD 00002c36: DUP6 00002c37: SWAP1 00002c38: MSTORE 00002c39: SWAP1 00002c3a: DUP2 00002c3b: ADD 00002c3c: DUP4 00002c3d: SWAP1 00002c3e: MSTORE 00002c3f: PUSH32 0x9d9f44c86bd2cc36321fd3804a52754697914b32070b66b56b07270ef44fed1d 00002c60: SWAP1 00002c61: PUSH1 0x60 00002c63: ADD 00002c64: PUSH2 0x1615 00002c67: JUMP 00002c68: JUMPDEST 00002c69: PUSH2 0x2c70 00002c6c: PUSH2 0x362e 00002c6f: JUMP 00002c70: JUMPDEST 00002c71: PUSH8 0x0de0b6b3a7640000 00002c7a: DUP2 00002c7b: GT 00002c7c: ISZERO 00002c7d: PUSH2 0x2cb2 00002c80: JUMPI 00002c81: PUSH1 0x40 00002c83: MLOAD 00002c84: PUSH32 0x7bfb537900000000000000000000000000000000000000000000000000000000 00002ca5: DUP2 00002ca6: MSTORE 00002ca7: PUSH1 0x04 00002ca9: ADD 00002caa: PUSH1 0x40 00002cac: MLOAD 00002cad: DUP1 00002cae: SWAP2 00002caf: SUB 00002cb0: SWAP1 00002cb1: REVERT 00002cb2: JUMPDEST 00002cb3: PUSH1 0x09 00002cb5: DUP2 00002cb6: SWAP1 00002cb7: SSTORE 00002cb8: PUSH1 0x40 00002cba: MLOAD 00002cbb: DUP2 00002cbc: DUP2 00002cbd: MSTORE 00002cbe: CALLER 00002cbf: SWAP1 00002cc0: PUSH32 0xb414942c66de9d94d6f12b7818ecb6c326ee7f58980297cfba9a54b979e01d33 00002ce1: SWAP1 00002ce2: PUSH1 0x20 00002ce4: ADD 00002ce5: PUSH2 0x1302 00002ce8: JUMP 00002ce9: JUMPDEST 00002cea: PUSH1 0x00 00002cec: PUSH2 0x2cf4 00002cef: DUP3 00002cf0: PUSH2 0x1c5e 00002cf3: JUMP 00002cf4: JUMPDEST 00002cf5: PUSH2 0x2d00 00002cf8: JUMPI 00002cf9: POP 00002cfa: PUSH1 0x00 00002cfc: SWAP2 00002cfd: SWAP1 00002cfe: POP 00002cff: JUMP 00002d00: JUMPDEST 00002d01: PUSH2 0x2d0b 00002d04: PUSH1 0x0c 00002d06: DUP4 00002d07: PUSH2 0x3696 00002d0a: JUMP 00002d0b: JUMPDEST 00002d0c: PUSH1 0x40 00002d0e: MLOAD 00002d0f: PUSH32 0x9a78e72e00000000000000000000000000000000000000000000000000000000 00002d30: DUP2 00002d31: MSTORE 00002d32: ADDRESS 00002d33: PUSH1 0x04 00002d35: DUP3 00002d36: ADD 00002d37: MSTORE 00002d38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d4d: SWAP2 00002d4e: SWAP1 00002d4f: SWAP2 00002d50: AND 00002d51: SWAP1 00002d52: PUSH4 0x9a78e72e 00002d57: SWAP1 00002d58: PUSH1 0x24 00002d5a: ADD 00002d5b: PUSH2 0x14c3 00002d5e: JUMP 00002d5f: JUMPDEST 00002d60: PUSH2 0x2d67 00002d63: PUSH2 0x3b1a 00002d66: JUMP 00002d67: JUMPDEST 00002d68: PUSH2 0x2d70 00002d6b: DUP2 00002d6c: PUSH2 0x4063 00002d6f: JUMP 00002d70: JUMPDEST 00002d71: POP 00002d72: JUMP 00002d73: JUMPDEST 00002d74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d89: DUP2 00002d8a: AND 00002d8b: PUSH1 0x00 00002d8d: SWAP1 00002d8e: DUP2 00002d8f: MSTORE 00002d90: PUSH1 0x03 00002d92: PUSH1 0x20 00002d94: MSTORE 00002d95: PUSH1 0x40 00002d97: DUP2 00002d98: KECCAK256 00002d99: SLOAD 00002d9a: PUSH2 0x104f 00002d9d: SWAP1 00002d9e: PUSH2 0x10e3 00002da1: JUMP 00002da2: JUMPDEST 00002da3: TIMESTAMP 00002da4: DUP5 00002da5: LT 00002da6: ISZERO 00002da7: PUSH2 0x2e0c 00002daa: JUMPI 00002dab: PUSH1 0x40 00002dad: MLOAD 00002dae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002dcf: DUP2 00002dd0: MSTORE 00002dd1: PUSH1 0x20 00002dd3: PUSH1 0x04 00002dd5: DUP3 00002dd6: ADD 00002dd7: MSTORE 00002dd8: PUSH1 0x17 00002dda: PUSH1 0x24 00002ddc: DUP3 00002ddd: ADD 00002dde: MSTORE 00002ddf: PUSH32 0x5045524d49545f444541444c494e455f45585049524544000000000000000000 00002e00: PUSH1 0x44 00002e02: DUP3 00002e03: ADD 00002e04: MSTORE 00002e05: PUSH1 0x64 00002e07: ADD 00002e08: PUSH2 0x1744 00002e0b: JUMP 00002e0c: JUMPDEST 00002e0d: PUSH1 0x00 00002e0f: PUSH1 0x01 00002e11: PUSH2 0x2e18 00002e14: PUSH2 0x164d 00002e17: JUMP 00002e18: JUMPDEST 00002e19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e2e: DUP11 00002e2f: DUP2 00002e30: AND 00002e31: PUSH1 0x00 00002e33: DUP2 00002e34: DUP2 00002e35: MSTORE 00002e36: PUSH1 0x05 00002e38: PUSH1 0x20 00002e3a: SWAP1 00002e3b: DUP2 00002e3c: MSTORE 00002e3d: PUSH1 0x40 00002e3f: SWAP2 00002e40: DUP3 00002e41: SWAP1 00002e42: KECCAK256 00002e43: DUP1 00002e44: SLOAD 00002e45: PUSH1 0x01 00002e47: DUP2 00002e48: ADD 00002e49: SWAP1 00002e4a: SWAP2 00002e4b: SSTORE 00002e4c: DUP3 00002e4d: MLOAD 00002e4e: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 00002e6f: DUP2 00002e70: DUP5 00002e71: ADD 00002e72: MSTORE 00002e73: DUP1 00002e74: DUP5 00002e75: ADD 00002e76: SWAP5 00002e77: SWAP1 00002e78: SWAP5 00002e79: MSTORE 00002e7a: SWAP4 00002e7b: DUP14 00002e7c: AND 00002e7d: PUSH1 0x60 00002e7f: DUP5 00002e80: ADD 00002e81: MSTORE 00002e82: PUSH1 0x80 00002e84: DUP4 00002e85: ADD 00002e86: DUP13 00002e87: SWAP1 00002e88: MSTORE 00002e89: PUSH1 0xa0 00002e8b: DUP4 00002e8c: ADD 00002e8d: SWAP4 00002e8e: SWAP1 00002e8f: SWAP4 00002e90: MSTORE 00002e91: PUSH1 0xc0 00002e93: DUP1 00002e94: DUP4 00002e95: ADD 00002e96: DUP12 00002e97: SWAP1 00002e98: MSTORE 00002e99: DUP2 00002e9a: MLOAD 00002e9b: DUP1 00002e9c: DUP5 00002e9d: SUB 00002e9e: SWAP1 00002e9f: SWAP2 00002ea0: ADD 00002ea1: DUP2 00002ea2: MSTORE 00002ea3: PUSH1 0xe0 00002ea5: DUP4 00002ea6: ADD 00002ea7: SWAP1 00002ea8: SWAP2 00002ea9: MSTORE 00002eaa: DUP1 00002eab: MLOAD 00002eac: SWAP3 00002ead: ADD 00002eae: SWAP2 00002eaf: SWAP1 00002eb0: SWAP2 00002eb1: KECCAK256 00002eb2: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 00002ed3: PUSH2 0x0100 00002ed6: DUP4 00002ed7: ADD 00002ed8: MSTORE 00002ed9: PUSH2 0x0102 00002edc: DUP3 00002edd: ADD 00002ede: SWAP3 00002edf: SWAP1 00002ee0: SWAP3 00002ee1: MSTORE 00002ee2: PUSH2 0x0122 00002ee5: DUP2 00002ee6: ADD 00002ee7: SWAP2 00002ee8: SWAP1 00002ee9: SWAP2 00002eea: MSTORE 00002eeb: PUSH2 0x0142 00002eee: ADD 00002eef: PUSH1 0x40 00002ef1: DUP1 00002ef2: MLOAD 00002ef3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002f14: DUP2 00002f15: DUP5 00002f16: SUB 00002f17: ADD 00002f18: DUP2 00002f19: MSTORE 00002f1a: DUP3 00002f1b: DUP3 00002f1c: MSTORE 00002f1d: DUP1 00002f1e: MLOAD 00002f1f: PUSH1 0x20 00002f21: SWAP2 00002f22: DUP3 00002f23: ADD 00002f24: KECCAK256 00002f25: PUSH1 0x00 00002f27: DUP5 00002f28: MSTORE 00002f29: SWAP1 00002f2a: DUP4 00002f2b: ADD 00002f2c: DUP1 00002f2d: DUP4 00002f2e: MSTORE 00002f2f: MSTORE 00002f30: PUSH1 0xff 00002f32: DUP8 00002f33: AND 00002f34: SWAP1 00002f35: DUP3 00002f36: ADD 00002f37: MSTORE 00002f38: PUSH1 0x60 00002f3a: DUP2 00002f3b: ADD 00002f3c: DUP6 00002f3d: SWAP1 00002f3e: MSTORE 00002f3f: PUSH1 0x80 00002f41: DUP2 00002f42: ADD 00002f43: DUP5 00002f44: SWAP1 00002f45: MSTORE 00002f46: PUSH1 0xa0 00002f48: ADD 00002f49: PUSH1 0x20 00002f4b: PUSH1 0x40 00002f4d: MLOAD 00002f4e: PUSH1 0x20 00002f50: DUP2 00002f51: SUB 00002f52: SWAP1 00002f53: DUP1 00002f54: DUP5 00002f55: SUB 00002f56: SWAP1 00002f57: DUP6 00002f58: GAS 00002f59: STATICCALL 00002f5a: ISZERO 00002f5b: DUP1 00002f5c: ISZERO 00002f5d: PUSH2 0x2f6a 00002f60: JUMPI 00002f61: RETURNDATASIZE 00002f62: PUSH1 0x00 00002f64: DUP1 00002f65: RETURNDATACOPY 00002f66: RETURNDATASIZE 00002f67: PUSH1 0x00 00002f69: REVERT 00002f6a: JUMPDEST 00002f6b: POP 00002f6c: POP 00002f6d: PUSH1 0x40 00002f6f: MLOAD 00002f70: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002f91: ADD 00002f92: MLOAD 00002f93: SWAP2 00002f94: POP 00002f95: POP 00002f96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fab: DUP2 00002fac: AND 00002fad: ISZERO 00002fae: DUP1 00002faf: ISZERO 00002fb0: SWAP1 00002fb1: PUSH2 0x2fe5 00002fb4: JUMPI 00002fb5: POP 00002fb6: DUP8 00002fb7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fcc: AND 00002fcd: DUP2 00002fce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fe3: AND 00002fe4: EQ 00002fe5: JUMPDEST 00002fe6: PUSH2 0x304b 00002fe9: JUMPI 00002fea: PUSH1 0x40 00002fec: MLOAD 00002fed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000300e: DUP2 0000300f: MSTORE 00003010: PUSH1 0x20 00003012: PUSH1 0x04 00003014: DUP3 00003015: ADD 00003016: MSTORE 00003017: PUSH1 0x0e 00003019: PUSH1 0x24 0000301b: DUP3 0000301c: ADD 0000301d: MSTORE 0000301e: PUSH32 0x494e56414c49445f5349474e4552000000000000000000000000000000000000 0000303f: PUSH1 0x44 00003041: DUP3 00003042: ADD 00003043: MSTORE 00003044: PUSH1 0x64 00003046: ADD 00003047: PUSH2 0x1744 0000304a: JUMP 0000304b: JUMPDEST 0000304c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003061: SWAP1 00003062: DUP2 00003063: AND 00003064: PUSH1 0x00 00003066: SWAP1 00003067: DUP2 00003068: MSTORE 00003069: PUSH1 0x04 0000306b: PUSH1 0x20 0000306d: SWAP1 0000306e: DUP2 0000306f: MSTORE 00003070: PUSH1 0x40 00003072: DUP1 00003073: DUP4 00003074: KECCAK256 00003075: DUP11 00003076: DUP6 00003077: AND 00003078: DUP1 00003079: DUP6 0000307a: MSTORE 0000307b: SWAP1 0000307c: DUP4 0000307d: MSTORE 0000307e: SWAP3 0000307f: DUP2 00003080: SWAP1 00003081: KECCAK256 00003082: DUP10 00003083: SWAP1 00003084: SSTORE 00003085: MLOAD 00003086: DUP9 00003087: DUP2 00003088: MSTORE 00003089: SWAP2 0000308a: SWAP3 0000308b: DUP11 0000308c: AND 0000308d: SWAP2 0000308e: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000030af: SWAP2 000030b0: ADD 000030b1: PUSH1 0x40 000030b3: MLOAD 000030b4: DUP1 000030b5: SWAP2 000030b6: SUB 000030b7: SWAP1 000030b8: LOG3 000030b9: POP 000030ba: POP 000030bb: POP 000030bc: POP 000030bd: POP 000030be: POP 000030bf: POP 000030c0: JUMP 000030c1: JUMPDEST 000030c2: PUSH1 0x00 000030c4: DUP3 000030c5: DUP2 000030c6: MSTORE 000030c7: PUSH1 0x06 000030c9: PUSH1 0x20 000030cb: MSTORE 000030cc: PUSH1 0x40 000030ce: SWAP1 000030cf: KECCAK256 000030d0: PUSH1 0x01 000030d2: ADD 000030d3: SLOAD 000030d4: PUSH2 0x30dc 000030d7: DUP2 000030d8: PUSH2 0x36c2 000030db: JUMP 000030dc: JUMPDEST 000030dd: PUSH2 0x1648 000030e0: DUP4 000030e1: DUP4 000030e2: PUSH2 0x385a 000030e5: JUMP 000030e6: JUMPDEST 000030e7: PUSH1 0x00 000030e9: PUSH2 0x1109 000030ec: PUSH1 0x0c 000030ee: DUP4 000030ef: PUSH2 0x470a 000030f2: JUMP 000030f3: JUMPDEST 000030f4: PUSH1 0x00 000030f6: PUSH2 0x104f 000030f9: DUP3 000030fa: PUSH2 0x2ad2 000030fd: JUMP 000030fe: JUMPDEST 000030ff: PUSH2 0x3106 00003102: PUSH2 0x4719 00003105: JUMP 00003106: JUMPDEST 00003107: PUSH1 0x00 00003109: DUP2 0000310a: DUP1 0000310b: PUSH1 0x20 0000310d: ADD 0000310e: SWAP1 0000310f: MLOAD 00003110: DUP2 00003111: ADD 00003112: SWAP1 00003113: PUSH2 0x311c 00003116: SWAP2 00003117: SWAP1 00003118: PUSH2 0x59f7 0000311b: JUMP 0000311c: JUMPDEST 0000311d: SWAP1 0000311e: POP 0000311f: PUSH2 0x3127 00003122: DUP2 00003123: PUSH2 0x4755 00003126: JUMP 00003127: JUMPDEST 00003128: PUSH2 0x31bd 0000312b: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8 00003140: DUP5 00003141: PUSH1 0x00 00003143: DUP2 00003144: MLOAD 00003145: DUP2 00003146: LT 00003147: PUSH2 0x3152 0000314a: JUMPI 0000314b: PUSH2 0x3152 0000314e: PUSH2 0x5ae4 00003151: JUMP 00003152: JUMPDEST 00003153: PUSH1 0x20 00003155: MUL 00003156: PUSH1 0x20 00003158: ADD 00003159: ADD 0000315a: MLOAD 0000315b: DUP7 0000315c: PUSH1 0x00 0000315e: DUP2 0000315f: MLOAD 00003160: DUP2 00003161: LT 00003162: PUSH2 0x316d 00003165: JUMPI 00003166: PUSH2 0x316d 00003169: PUSH2 0x5ae4 0000316c: JUMP 0000316d: JUMPDEST 0000316e: PUSH1 0x20 00003170: MUL 00003171: PUSH1 0x20 00003173: ADD 00003174: ADD 00003175: MLOAD 00003176: PUSH2 0x317f 00003179: SWAP2 0000317a: SWAP1 0000317b: PUSH2 0x583c 0000317e: JUMP 0000317f: JUMPDEST 00003180: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003195: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000031b6: AND 000031b7: SWAP2 000031b8: SWAP1 000031b9: PUSH2 0x3faa 000031bc: JUMP 000031bd: JUMPDEST 000031be: PUSH2 0x31c5 000031c1: PUSH2 0x47da 000031c4: JUMP 000031c5: JUMPDEST 000031c6: POP 000031c7: POP 000031c8: POP 000031c9: POP 000031ca: POP 000031cb: JUMP 000031cc: JUMPDEST 000031cd: PUSH2 0x31d4 000031d0: PUSH2 0x362e 000031d3: JUMP 000031d4: JUMPDEST 000031d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000031ea: DUP2 000031eb: AND 000031ec: PUSH2 0x3221 000031ef: JUMPI 000031f0: PUSH1 0x40 000031f2: MLOAD 000031f3: PUSH32 0x91f7acdb00000000000000000000000000000000000000000000000000000000 00003214: DUP2 00003215: MSTORE 00003216: PUSH1 0x04 00003218: ADD 00003219: PUSH1 0x40 0000321b: MLOAD 0000321c: DUP1 0000321d: SWAP2 0000321e: SUB 0000321f: SWAP1 00003220: REVERT 00003221: JUMPDEST 00003222: PUSH1 0x07 00003224: DUP1 00003225: SLOAD 00003226: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff 00003247: AND 00003248: PUSH2 0x0100 0000324b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003260: DUP5 00003261: AND 00003262: SWAP1 00003263: DUP2 00003264: MUL 00003265: SWAP2 00003266: SWAP1 00003267: SWAP2 00003268: OR 00003269: SWAP1 0000326a: SWAP2 0000326b: SSTORE 0000326c: PUSH1 0x40 0000326e: MLOAD 0000326f: SWAP1 00003270: DUP2 00003271: MSTORE 00003272: CALLER 00003273: SWAP1 00003274: PUSH32 0x4ab5be82436d353e61ca18726e984e561f5c1cc7c6d38b29d2553c790434705a 00003295: SWAP1 00003296: PUSH1 0x20 00003298: ADD 00003299: PUSH2 0x1302 0000329c: JUMP 0000329d: JUMPDEST 0000329e: PUSH1 0x00 000032a0: CALLVALUE 000032a1: PUSH2 0x32a9 000032a4: DUP2 000032a5: PUSH2 0x30f3 000032a8: JUMP 000032a9: JUMPDEST 000032aa: SWAP2 000032ab: POP 000032ac: DUP2 000032ad: PUSH1 0x00 000032af: SUB 000032b0: PUSH2 0x3315 000032b3: JUMPI 000032b4: PUSH1 0x40 000032b6: MLOAD 000032b7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000032d8: DUP2 000032d9: MSTORE 000032da: PUSH1 0x20 000032dc: PUSH1 0x04 000032de: DUP3 000032df: ADD 000032e0: MSTORE 000032e1: PUSH1 0x0b 000032e3: PUSH1 0x24 000032e5: DUP3 000032e6: ADD 000032e7: MSTORE 000032e8: PUSH32 0x5a45524f5f534841524553000000000000000000000000000000000000000000 00003309: PUSH1 0x44 0000330b: DUP3 0000330c: ADD 0000330d: MSTORE 0000330e: PUSH1 0x64 00003310: ADD 00003311: PUSH2 0x1744 00003314: JUMP 00003315: JUMPDEST 00003316: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00003337: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000334c: AND 0000334d: PUSH4 0xd0e30db0 00003352: DUP3 00003353: PUSH1 0x40 00003355: MLOAD 00003356: DUP3 00003357: PUSH4 0xffffffff 0000335c: AND 0000335d: PUSH1 0xe0 0000335f: SHL 00003360: DUP2 00003361: MSTORE 00003362: PUSH1 0x04 00003364: ADD 00003365: PUSH1 0x00 00003367: PUSH1 0x40 00003369: MLOAD 0000336a: DUP1 0000336b: DUP4 0000336c: SUB 0000336d: DUP2 0000336e: DUP6 0000336f: DUP9 00003370: DUP1 00003371: EXTCODESIZE 00003372: ISZERO 00003373: DUP1 00003374: ISZERO 00003375: PUSH2 0x337d 00003378: JUMPI 00003379: PUSH1 0x00 0000337b: DUP1 0000337c: REVERT 0000337d: JUMPDEST 0000337e: POP 0000337f: GAS 00003380: CALL 00003381: ISZERO 00003382: DUP1 00003383: ISZERO 00003384: PUSH2 0x3391 00003387: JUMPI 00003388: RETURNDATASIZE 00003389: PUSH1 0x00 0000338b: DUP1 0000338c: RETURNDATACOPY 0000338d: RETURNDATASIZE 0000338e: PUSH1 0x00 00003390: REVERT 00003391: JUMPDEST 00003392: POP 00003393: POP 00003394: POP 00003395: POP 00003396: POP 00003397: PUSH2 0x33a0 0000339a: DUP4 0000339b: DUP4 0000339c: PUSH2 0x3a95 0000339f: JUMP 000033a0: JUMPDEST 000033a1: PUSH1 0x40 000033a3: DUP1 000033a4: MLOAD 000033a5: DUP3 000033a6: DUP2 000033a7: MSTORE 000033a8: PUSH1 0x20 000033aa: DUP2 000033ab: ADD 000033ac: DUP5 000033ad: SWAP1 000033ae: MSTORE 000033af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033c4: DUP6 000033c5: AND 000033c6: SWAP2 000033c7: CALLER 000033c8: SWAP2 000033c9: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 000033ea: SWAP2 000033eb: ADD 000033ec: PUSH1 0x40 000033ee: MLOAD 000033ef: DUP1 000033f0: SWAP2 000033f1: SUB 000033f2: SWAP1 000033f3: LOG3 000033f4: JUMPDEST 000033f5: POP 000033f6: SWAP2 000033f7: SWAP1 000033f8: POP 000033f9: JUMP 000033fa: JUMPDEST 000033fb: PUSH1 0x00 000033fd: DUP1 000033fe: PUSH2 0x3407 00003401: PUSH1 0x0c 00003403: PUSH2 0x3915 00003406: JUMP 00003407: JUMPDEST 00003408: SWAP1 00003409: POP 0000340a: PUSH1 0x00 0000340c: DUP1 0000340d: JUMPDEST 0000340e: DUP3 0000340f: DUP2 00003410: LT 00003411: ISZERO 00003412: PUSH2 0x182d 00003415: JUMPI 00003416: PUSH2 0x3420 00003419: PUSH1 0x0c 0000341b: DUP3 0000341c: PUSH2 0x3920 0000341f: JUMP 00003420: JUMPDEST 00003421: PUSH1 0x40 00003423: MLOAD 00003424: PUSH32 0x9a78e72e00000000000000000000000000000000000000000000000000000000 00003445: DUP2 00003446: MSTORE 00003447: ADDRESS 00003448: PUSH1 0x04 0000344a: DUP3 0000344b: ADD 0000344c: MSTORE 0000344d: SWAP1 0000344e: SWAP4 0000344f: POP 00003450: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003465: DUP5 00003466: AND 00003467: SWAP2 00003468: POP 00003469: PUSH4 0x9a78e72e 0000346e: SWAP1 0000346f: PUSH1 0x24 00003471: ADD 00003472: PUSH1 0x20 00003474: PUSH1 0x40 00003476: MLOAD 00003477: DUP1 00003478: DUP4 00003479: SUB 0000347a: DUP2 0000347b: DUP7 0000347c: GAS 0000347d: STATICCALL 0000347e: ISZERO 0000347f: DUP1 00003480: ISZERO 00003481: PUSH2 0x348e 00003484: JUMPI 00003485: RETURNDATASIZE 00003486: PUSH1 0x00 00003488: DUP1 00003489: RETURNDATACOPY 0000348a: RETURNDATASIZE 0000348b: PUSH1 0x00 0000348d: REVERT 0000348e: JUMPDEST 0000348f: POP 00003490: POP 00003491: POP 00003492: POP 00003493: PUSH1 0x40 00003495: MLOAD 00003496: RETURNDATASIZE 00003497: PUSH1 0x1f 00003499: NOT 0000349a: PUSH1 0x1f 0000349c: DUP3 0000349d: ADD 0000349e: AND 0000349f: DUP3 000034a0: ADD 000034a1: DUP1 000034a2: PUSH1 0x40 000034a4: MSTORE 000034a5: POP 000034a6: DUP2 000034a7: ADD 000034a8: SWAP1 000034a9: PUSH2 0x34b2 000034ac: SWAP2 000034ad: SWAP1 000034ae: PUSH2 0x5823 000034b1: JUMP 000034b2: JUMPDEST 000034b3: PUSH2 0x34bc 000034b6: SWAP1 000034b7: DUP6 000034b8: PUSH2 0x583c 000034bb: JUMP 000034bc: JUMPDEST 000034bd: SWAP4 000034be: POP 000034bf: DUP1 000034c0: PUSH2 0x34c8 000034c3: DUP2 000034c4: PUSH2 0x589c 000034c7: JUMP 000034c8: JUMPDEST 000034c9: SWAP2 000034ca: POP 000034cb: POP 000034cc: PUSH2 0x340d 000034cf: JUMP 000034d0: JUMPDEST 000034d1: PUSH1 0x00 000034d3: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca 000034f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003509: AND 0000350a: PUSH4 0x9023054a 0000350f: PUSH2 0x3516 00003512: PUSH2 0x1757 00003515: JUMP 00003516: JUMPDEST 00003517: PUSH1 0x40 00003519: MLOAD 0000351a: DUP3 0000351b: PUSH4 0xffffffff 00003520: AND 00003521: PUSH1 0xe0 00003523: SHL 00003524: DUP2 00003525: MSTORE 00003526: PUSH1 0x04 00003528: ADD 00003529: PUSH2 0x3534 0000352c: SWAP2 0000352d: DUP2 0000352e: MSTORE 0000352f: PUSH1 0x20 00003531: ADD 00003532: SWAP1 00003533: JUMP 00003534: JUMPDEST 00003535: PUSH1 0x20 00003537: PUSH1 0x40 00003539: MLOAD 0000353a: DUP1 0000353b: DUP4 0000353c: SUB 0000353d: DUP2 0000353e: DUP7 0000353f: GAS 00003540: STATICCALL 00003541: ISZERO 00003542: DUP1 00003543: ISZERO 00003544: PUSH2 0x3551 00003547: JUMPI 00003548: RETURNDATASIZE 00003549: PUSH1 0x00 0000354b: DUP1 0000354c: RETURNDATACOPY 0000354d: RETURNDATASIZE 0000354e: PUSH1 0x00 00003550: REVERT 00003551: JUMPDEST 00003552: POP 00003553: POP 00003554: POP 00003555: POP 00003556: PUSH1 0x40 00003558: MLOAD 00003559: RETURNDATASIZE 0000355a: PUSH1 0x1f 0000355c: NOT 0000355d: PUSH1 0x1f 0000355f: DUP3 00003560: ADD 00003561: AND 00003562: DUP3 00003563: ADD 00003564: DUP1 00003565: PUSH1 0x40 00003567: MSTORE 00003568: POP 00003569: DUP2 0000356a: ADD 0000356b: SWAP1 0000356c: PUSH2 0x0fb7 0000356f: SWAP2 00003570: SWAP1 00003571: PUSH2 0x5823 00003574: JUMP 00003575: JUMPDEST 00003576: PUSH1 0x00 00003578: DUP3 00003579: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000359a: DIV 0000359b: DUP5 0000359c: GT 0000359d: DUP4 0000359e: MUL 0000359f: ISZERO 000035a0: DUP3 000035a1: MUL 000035a2: PUSH2 0x35aa 000035a5: JUMPI 000035a6: PUSH1 0x00 000035a8: DUP1 000035a9: REVERT 000035aa: JUMPDEST 000035ab: POP 000035ac: SWAP2 000035ad: MUL 000035ae: DIV 000035af: SWAP1 000035b0: JUMP 000035b1: JUMPDEST 000035b2: PUSH1 0x00 000035b4: DUP3 000035b5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000035d6: DIV 000035d7: DUP5 000035d8: GT 000035d9: DUP4 000035da: MUL 000035db: ISZERO 000035dc: DUP3 000035dd: MUL 000035de: PUSH2 0x35e6 000035e1: JUMPI 000035e2: PUSH1 0x00 000035e4: DUP1 000035e5: REVERT 000035e6: JUMPDEST 000035e7: POP 000035e8: SWAP2 000035e9: MUL 000035ea: DUP2 000035eb: DUP2 000035ec: MOD 000035ed: ISZERO 000035ee: ISZERO 000035ef: SWAP2 000035f0: SWAP1 000035f1: DIV 000035f2: ADD 000035f3: SWAP1 000035f4: JUMP 000035f5: JUMPDEST 000035f6: PUSH1 0x07 000035f8: SLOAD 000035f9: PUSH1 0xff 000035fb: AND 000035fc: PUSH2 0x3607 000035ff: JUMPI 00003600: PUSH2 0x3607 00003603: PUSH2 0x3b1a 00003606: JUMP 00003607: JUMPDEST 00003608: JUMP 00003609: JUMPDEST 0000360a: PUSH1 0x60 0000360c: PUSH2 0x1109 0000360f: DUP4 00003610: DUP4 00003611: PUSH1 0x40 00003613: MLOAD 00003614: DUP1 00003615: PUSH1 0x60 00003617: ADD 00003618: PUSH1 0x40 0000361a: MSTORE 0000361b: DUP1 0000361c: PUSH1 0x27 0000361e: DUP2 0000361f: MSTORE 00003620: PUSH1 0x20 00003622: ADD 00003623: PUSH2 0x5e35 00003626: PUSH1 0x27 00003628: SWAP2 00003629: CODECOPY 0000362a: PUSH2 0x48d5 0000362d: JUMP 0000362e: JUMPDEST 0000362f: CALLER 00003630: PUSH1 0x00 00003632: SWAP1 00003633: DUP2 00003634: MSTORE 00003635: PUSH32 0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8 00003656: PUSH1 0x20 00003658: MSTORE 00003659: PUSH1 0x40 0000365b: SWAP1 0000365c: KECCAK256 0000365d: SLOAD 0000365e: PUSH1 0xff 00003660: AND 00003661: PUSH2 0x3607 00003664: JUMPI 00003665: PUSH1 0x40 00003667: MLOAD 00003668: PUSH32 0x06d919f200000000000000000000000000000000000000000000000000000000 00003689: DUP2 0000368a: MSTORE 0000368b: PUSH1 0x04 0000368d: ADD 0000368e: PUSH1 0x40 00003690: MLOAD 00003691: DUP1 00003692: SWAP2 00003693: SUB 00003694: SWAP1 00003695: REVERT 00003696: JUMPDEST 00003697: PUSH1 0x00 00003699: PUSH2 0x1109 0000369c: DUP4 0000369d: DUP4 0000369e: PUSH2 0x495a 000036a1: JUMP 000036a2: JUMPDEST 000036a3: PUSH2 0x1648 000036a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000036bb: DUP4 000036bc: AND 000036bd: DUP3 000036be: PUSH2 0x3609 000036c1: JUMP 000036c2: JUMPDEST 000036c3: PUSH2 0x2d70 000036c6: DUP2 000036c7: CALLER 000036c8: PUSH2 0x49e4 000036cb: JUMP 000036cc: JUMPDEST 000036cd: PUSH1 0x00 000036cf: DUP3 000036d0: DUP2 000036d1: MSTORE 000036d2: PUSH1 0x06 000036d4: PUSH1 0x20 000036d6: SWAP1 000036d7: DUP2 000036d8: MSTORE 000036d9: PUSH1 0x40 000036db: DUP1 000036dc: DUP4 000036dd: KECCAK256 000036de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000036f3: DUP6 000036f4: AND 000036f5: DUP5 000036f6: MSTORE 000036f7: SWAP1 000036f8: SWAP2 000036f9: MSTORE 000036fa: SWAP1 000036fb: KECCAK256 000036fc: SLOAD 000036fd: PUSH1 0xff 000036ff: AND 00003700: PUSH2 0x1281 00003703: JUMPI 00003704: PUSH1 0x00 00003706: DUP3 00003707: DUP2 00003708: MSTORE 00003709: PUSH1 0x06 0000370b: PUSH1 0x20 0000370d: SWAP1 0000370e: DUP2 0000370f: MSTORE 00003710: PUSH1 0x40 00003712: DUP1 00003713: DUP4 00003714: KECCAK256 00003715: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000372a: DUP6 0000372b: AND 0000372c: DUP5 0000372d: MSTORE 0000372e: SWAP1 0000372f: SWAP2 00003730: MSTORE 00003731: SWAP1 00003732: KECCAK256 00003733: DUP1 00003734: SLOAD 00003735: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00003756: AND 00003757: PUSH1 0x01 00003759: OR 0000375a: SWAP1 0000375b: SSTORE 0000375c: PUSH2 0x3762 0000375f: CALLER 00003760: SWAP1 00003761: JUMP 00003762: JUMPDEST 00003763: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003778: AND 00003779: DUP2 0000377a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000378f: AND 00003790: DUP4 00003791: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 000037b2: PUSH1 0x40 000037b4: MLOAD 000037b5: PUSH1 0x40 000037b7: MLOAD 000037b8: DUP1 000037b9: SWAP2 000037ba: SUB 000037bb: SWAP1 000037bc: LOG4 000037bd: POP 000037be: POP 000037bf: JUMP 000037c0: JUMPDEST 000037c1: PUSH1 0x00 000037c3: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 000037e4: PUSH1 0x00 000037e6: PUSH1 0x40 000037e8: MLOAD 000037e9: PUSH2 0x37f2 000037ec: SWAP2 000037ed: SWAP1 000037ee: PUSH2 0x5b13 000037f1: JUMP 000037f2: JUMPDEST 000037f3: PUSH1 0x40 000037f5: DUP1 000037f6: MLOAD 000037f7: SWAP2 000037f8: DUP3 000037f9: SWAP1 000037fa: SUB 000037fb: DUP3 000037fc: KECCAK256 000037fd: PUSH1 0x20 000037ff: DUP4 00003800: ADD 00003801: SWAP4 00003802: SWAP1 00003803: SWAP4 00003804: MSTORE 00003805: DUP2 00003806: ADD 00003807: SWAP2 00003808: SWAP1 00003809: SWAP2 0000380a: MSTORE 0000380b: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 0000382c: PUSH1 0x60 0000382e: DUP3 0000382f: ADD 00003830: MSTORE 00003831: CHAINID 00003832: PUSH1 0x80 00003834: DUP3 00003835: ADD 00003836: MSTORE 00003837: ADDRESS 00003838: PUSH1 0xa0 0000383a: DUP3 0000383b: ADD 0000383c: MSTORE 0000383d: PUSH1 0xc0 0000383f: ADD 00003840: PUSH1 0x40 00003842: MLOAD 00003843: PUSH1 0x20 00003845: DUP2 00003846: DUP4 00003847: SUB 00003848: SUB 00003849: DUP2 0000384a: MSTORE 0000384b: SWAP1 0000384c: PUSH1 0x40 0000384e: MSTORE 0000384f: DUP1 00003850: MLOAD 00003851: SWAP1 00003852: PUSH1 0x20 00003854: ADD 00003855: KECCAK256 00003856: SWAP1 00003857: POP 00003858: SWAP1 00003859: JUMP 0000385a: JUMPDEST 0000385b: PUSH1 0x00 0000385d: DUP3 0000385e: DUP2 0000385f: MSTORE 00003860: PUSH1 0x06 00003862: PUSH1 0x20 00003864: SWAP1 00003865: DUP2 00003866: MSTORE 00003867: PUSH1 0x40 00003869: DUP1 0000386a: DUP4 0000386b: KECCAK256 0000386c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003881: DUP6 00003882: AND 00003883: DUP5 00003884: MSTORE 00003885: SWAP1 00003886: SWAP2 00003887: MSTORE 00003888: SWAP1 00003889: KECCAK256 0000388a: SLOAD 0000388b: PUSH1 0xff 0000388d: AND 0000388e: ISZERO 0000388f: PUSH2 0x1281 00003892: JUMPI 00003893: PUSH1 0x00 00003895: DUP3 00003896: DUP2 00003897: MSTORE 00003898: PUSH1 0x06 0000389a: PUSH1 0x20 0000389c: SWAP1 0000389d: DUP2 0000389e: MSTORE 0000389f: PUSH1 0x40 000038a1: DUP1 000038a2: DUP4 000038a3: KECCAK256 000038a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000038b9: DUP6 000038ba: AND 000038bb: DUP1 000038bc: DUP6 000038bd: MSTORE 000038be: SWAP3 000038bf: MSTORE 000038c0: DUP1 000038c1: DUP4 000038c2: KECCAK256 000038c3: DUP1 000038c4: SLOAD 000038c5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000038e6: AND 000038e7: SWAP1 000038e8: SSTORE 000038e9: MLOAD 000038ea: CALLER 000038eb: SWAP3 000038ec: DUP6 000038ed: SWAP2 000038ee: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 0000390f: SWAP2 00003910: SWAP1 00003911: LOG4 00003912: POP 00003913: POP 00003914: JUMP 00003915: JUMPDEST 00003916: PUSH1 0x00 00003918: PUSH2 0x104f 0000391b: DUP3 0000391c: PUSH2 0x4a9e 0000391f: JUMP 00003920: JUMPDEST 00003921: PUSH1 0x00 00003923: DUP1 00003924: DUP1 00003925: DUP1 00003926: PUSH2 0x392f 00003929: DUP7 0000392a: DUP7 0000392b: PUSH2 0x4aa9 0000392e: JUMP 0000392f: JUMPDEST 00003930: SWAP1 00003931: SWAP5 00003932: POP 00003933: SWAP3 00003934: POP 00003935: POP 00003936: POP 00003937: JUMPDEST 00003938: SWAP3 00003939: POP 0000393a: SWAP3 0000393b: SWAP1 0000393c: POP 0000393d: JUMP 0000393e: JUMPDEST 0000393f: PUSH2 0x3947 00003942: DUP2 00003943: PUSH2 0x1c5e 00003946: JUMP 00003947: JUMPDEST 00003948: PUSH2 0x2d70 0000394b: JUMPI 0000394c: PUSH1 0x40 0000394e: MLOAD 0000394f: PUSH32 0x10028b5400000000000000000000000000000000000000000000000000000000 00003970: DUP2 00003971: MSTORE 00003972: PUSH1 0x04 00003974: DUP2 00003975: ADD 00003976: DUP3 00003977: SWAP1 00003978: MSTORE 00003979: PUSH1 0x24 0000397b: ADD 0000397c: PUSH2 0x1744 0000397f: JUMP 00003980: JUMPDEST 00003981: PUSH2 0x1648 00003984: DUP2 00003985: PUSH2 0x398f 00003988: PUSH1 0x0c 0000398a: DUP6 0000398b: PUSH2 0x3696 0000398e: JUMP 0000398f: JUMPDEST 00003990: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000039a5: AND 000039a6: SWAP1 000039a7: PUSH2 0x3609 000039aa: JUMP 000039ab: JUMPDEST 000039ac: PUSH1 0x00 000039ae: PUSH2 0x39ce 000039b1: DUP5 000039b2: DUP5 000039b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000039c8: DUP6 000039c9: AND 000039ca: PUSH2 0x4ad4 000039cd: JUMP 000039ce: JUMPDEST 000039cf: SWAP5 000039d0: SWAP4 000039d1: POP 000039d2: POP 000039d3: POP 000039d4: POP 000039d5: JUMP 000039d6: JUMPDEST 000039d7: PUSH1 0x00 000039d9: PUSH1 0x40 000039db: MLOAD 000039dc: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 000039fd: DUP2 000039fe: MSTORE 000039ff: DUP5 00003a00: PUSH1 0x04 00003a02: DUP3 00003a03: ADD 00003a04: MSTORE 00003a05: DUP4 00003a06: PUSH1 0x24 00003a08: DUP3 00003a09: ADD 00003a0a: MSTORE 00003a0b: DUP3 00003a0c: PUSH1 0x44 00003a0e: DUP3 00003a0f: ADD 00003a10: MSTORE 00003a11: PUSH1 0x20 00003a13: PUSH1 0x00 00003a15: PUSH1 0x64 00003a17: DUP4 00003a18: PUSH1 0x00 00003a1a: DUP11 00003a1b: GAS 00003a1c: CALL 00003a1d: RETURNDATASIZE 00003a1e: ISZERO 00003a1f: PUSH1 0x1f 00003a21: RETURNDATASIZE 00003a22: GT 00003a23: PUSH1 0x01 00003a25: PUSH1 0x00 00003a27: MLOAD 00003a28: EQ 00003a29: AND 00003a2a: OR 00003a2b: AND 00003a2c: SWAP2 00003a2d: POP 00003a2e: POP 00003a2f: DUP1 00003a30: PUSH2 0x31c5 00003a33: JUMPI 00003a34: PUSH1 0x40 00003a36: MLOAD 00003a37: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003a58: DUP2 00003a59: MSTORE 00003a5a: PUSH1 0x20 00003a5c: PUSH1 0x04 00003a5e: DUP3 00003a5f: ADD 00003a60: MSTORE 00003a61: PUSH1 0x14 00003a63: PUSH1 0x24 00003a65: DUP3 00003a66: ADD 00003a67: MSTORE 00003a68: PUSH32 0x5452414e534645525f46524f4d5f4641494c4544000000000000000000000000 00003a89: PUSH1 0x44 00003a8b: DUP3 00003a8c: ADD 00003a8d: MSTORE 00003a8e: PUSH1 0x64 00003a90: ADD 00003a91: PUSH2 0x1744 00003a94: JUMP 00003a95: JUMPDEST 00003a96: DUP1 00003a97: PUSH1 0x02 00003a99: PUSH1 0x00 00003a9b: DUP3 00003a9c: DUP3 00003a9d: SLOAD 00003a9e: PUSH2 0x3aa7 00003aa1: SWAP2 00003aa2: SWAP1 00003aa3: PUSH2 0x583c 00003aa6: JUMP 00003aa7: JUMPDEST 00003aa8: SWAP1 00003aa9: SWAP2 00003aaa: SSTORE 00003aab: POP 00003aac: POP 00003aad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003ac2: DUP3 00003ac3: AND 00003ac4: PUSH1 0x00 00003ac6: DUP2 00003ac7: DUP2 00003ac8: MSTORE 00003ac9: PUSH1 0x03 00003acb: PUSH1 0x20 00003acd: SWAP1 00003ace: DUP2 00003acf: MSTORE 00003ad0: PUSH1 0x40 00003ad2: DUP1 00003ad3: DUP4 00003ad4: KECCAK256 00003ad5: DUP1 00003ad6: SLOAD 00003ad7: DUP7 00003ad8: ADD 00003ad9: SWAP1 00003ada: SSTORE 00003adb: MLOAD 00003adc: DUP5 00003add: DUP2 00003ade: MSTORE 00003adf: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003b00: SWAP2 00003b01: ADD 00003b02: JUMPDEST 00003b03: PUSH1 0x40 00003b05: MLOAD 00003b06: DUP1 00003b07: SWAP2 00003b08: SUB 00003b09: SWAP1 00003b0a: LOG3 00003b0b: POP 00003b0c: POP 00003b0d: JUMP 00003b0e: JUMPDEST 00003b0f: PUSH1 0x00 00003b11: PUSH2 0x1109 00003b14: DUP4 00003b15: DUP4 00003b16: PUSH2 0x4af1 00003b19: JUMP 00003b1a: JUMPDEST 00003b1b: CALLER 00003b1c: PUSH1 0x00 00003b1e: SWAP1 00003b1f: DUP2 00003b20: MSTORE 00003b21: PUSH32 0x102c8bff359ba7f792f3597c956360de34af36b3eee541f0c28549f821bb5369 00003b42: PUSH1 0x20 00003b44: MSTORE 00003b45: PUSH1 0x40 00003b47: SWAP1 00003b48: KECCAK256 00003b49: SLOAD 00003b4a: PUSH1 0xff 00003b4c: AND 00003b4d: PUSH2 0x3607 00003b50: JUMPI 00003b51: PUSH1 0x40 00003b53: MLOAD 00003b54: PUSH32 0x04e1fa9f00000000000000000000000000000000000000000000000000000000 00003b75: DUP2 00003b76: MSTORE 00003b77: PUSH1 0x04 00003b79: ADD 00003b7a: PUSH1 0x40 00003b7c: MLOAD 00003b7d: DUP1 00003b7e: SWAP2 00003b7f: SUB 00003b80: SWAP1 00003b81: REVERT 00003b82: JUMPDEST 00003b83: PUSH1 0x40 00003b85: DUP1 00003b86: MLOAD 00003b87: PUSH1 0x01 00003b89: DUP1 00003b8a: DUP3 00003b8b: MSTORE 00003b8c: DUP2 00003b8d: DUP4 00003b8e: ADD 00003b8f: SWAP1 00003b90: SWAP3 00003b91: MSTORE 00003b92: PUSH1 0x00 00003b94: SWAP2 00003b95: PUSH1 0x20 00003b97: DUP1 00003b98: DUP4 00003b99: ADD 00003b9a: SWAP1 00003b9b: DUP1 00003b9c: CALLDATASIZE 00003b9d: DUP4 00003b9e: CALLDATACOPY 00003b9f: ADD 00003ba0: SWAP1 00003ba1: POP 00003ba2: POP 00003ba3: SWAP1 00003ba4: POP 00003ba5: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00003bc6: DUP2 00003bc7: PUSH1 0x00 00003bc9: DUP2 00003bca: MLOAD 00003bcb: DUP2 00003bcc: LT 00003bcd: PUSH2 0x3bd8 00003bd0: JUMPI 00003bd1: PUSH2 0x3bd8 00003bd4: PUSH2 0x5ae4 00003bd7: JUMP 00003bd8: JUMPDEST 00003bd9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003bee: SWAP3 00003bef: SWAP1 00003bf0: SWAP3 00003bf1: AND 00003bf2: PUSH1 0x20 00003bf4: SWAP3 00003bf5: DUP4 00003bf6: MUL 00003bf7: SWAP2 00003bf8: SWAP1 00003bf9: SWAP2 00003bfa: ADD 00003bfb: SWAP1 00003bfc: SWAP2 00003bfd: ADD 00003bfe: MSTORE 00003bff: PUSH1 0x40 00003c01: DUP1 00003c02: MLOAD 00003c03: PUSH1 0x01 00003c05: DUP1 00003c06: DUP3 00003c07: MSTORE 00003c08: DUP2 00003c09: DUP4 00003c0a: ADD 00003c0b: SWAP1 00003c0c: SWAP3 00003c0d: MSTORE 00003c0e: PUSH1 0x00 00003c10: SWAP2 00003c11: DUP2 00003c12: PUSH1 0x20 00003c14: ADD 00003c15: PUSH1 0x20 00003c17: DUP3 00003c18: MUL 00003c19: DUP1 00003c1a: CALLDATASIZE 00003c1b: DUP4 00003c1c: CALLDATACOPY 00003c1d: ADD 00003c1e: SWAP1 00003c1f: POP 00003c20: POP 00003c21: SWAP1 00003c22: POP 00003c23: DUP4 00003c24: DUP2 00003c25: PUSH1 0x00 00003c27: DUP2 00003c28: MLOAD 00003c29: DUP2 00003c2a: LT 00003c2b: PUSH2 0x3c36 00003c2e: JUMPI 00003c2f: PUSH2 0x3c36 00003c32: PUSH2 0x5ae4 00003c35: JUMP 00003c36: JUMPDEST 00003c37: PUSH1 0x20 00003c39: MUL 00003c3a: PUSH1 0x20 00003c3c: ADD 00003c3d: ADD 00003c3e: DUP2 00003c3f: DUP2 00003c40: MSTORE 00003c41: POP 00003c42: POP 00003c43: PUSH2 0x3c72 00003c46: PUSH1 0x07 00003c48: DUP1 00003c49: SLOAD 00003c4a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00003c6b: AND 00003c6c: PUSH1 0x01 00003c6e: OR 00003c6f: SWAP1 00003c70: SSTORE 00003c71: JUMP 00003c72: JUMPDEST 00003c73: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8 00003c88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003c9d: AND 00003c9e: PUSH4 0x5c38449e 00003ca3: ADDRESS 00003ca4: DUP5 00003ca5: DUP5 00003ca6: DUP8 00003ca7: PUSH1 0x40 00003ca9: MLOAD 00003caa: PUSH1 0x20 00003cac: ADD 00003cad: PUSH2 0x3cb6 00003cb0: SWAP2 00003cb1: SWAP1 00003cb2: PUSH2 0x5be9 00003cb5: JUMP 00003cb6: JUMPDEST 00003cb7: PUSH1 0x40 00003cb9: MLOAD 00003cba: PUSH1 0x20 00003cbc: DUP2 00003cbd: DUP4 00003cbe: SUB 00003cbf: SUB 00003cc0: DUP2 00003cc1: MSTORE 00003cc2: SWAP1 00003cc3: PUSH1 0x40 00003cc5: MSTORE 00003cc6: PUSH1 0x40 00003cc8: MLOAD 00003cc9: DUP6 00003cca: PUSH4 0xffffffff 00003ccf: AND 00003cd0: PUSH1 0xe0 00003cd2: SHL 00003cd3: DUP2 00003cd4: MSTORE 00003cd5: PUSH1 0x04 00003cd7: ADD 00003cd8: PUSH2 0x3ce4 00003cdb: SWAP5 00003cdc: SWAP4 00003cdd: SWAP3 00003cde: SWAP2 00003cdf: SWAP1 00003ce0: PUSH2 0x5c69 00003ce3: JUMP 00003ce4: JUMPDEST 00003ce5: PUSH1 0x00 00003ce7: PUSH1 0x40 00003ce9: MLOAD 00003cea: DUP1 00003ceb: DUP4 00003cec: SUB 00003ced: DUP2 00003cee: PUSH1 0x00 00003cf0: DUP8 00003cf1: DUP1 00003cf2: EXTCODESIZE 00003cf3: ISZERO 00003cf4: DUP1 00003cf5: ISZERO 00003cf6: PUSH2 0x3cfe 00003cf9: JUMPI 00003cfa: PUSH1 0x00 00003cfc: DUP1 00003cfd: REVERT 00003cfe: JUMPDEST 00003cff: POP 00003d00: GAS 00003d01: CALL 00003d02: ISZERO 00003d03: DUP1 00003d04: ISZERO 00003d05: PUSH2 0x3d12 00003d08: JUMPI 00003d09: RETURNDATASIZE 00003d0a: PUSH1 0x00 00003d0c: DUP1 00003d0d: RETURNDATACOPY 00003d0e: RETURNDATASIZE 00003d0f: PUSH1 0x00 00003d11: REVERT 00003d12: JUMPDEST 00003d13: POP 00003d14: POP 00003d15: POP 00003d16: POP 00003d17: PUSH2 0x3d43 00003d1a: PUSH1 0x07 00003d1c: DUP1 00003d1d: SLOAD 00003d1e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00003d3f: AND 00003d40: SWAP1 00003d41: SSTORE 00003d42: JUMP 00003d43: JUMPDEST 00003d44: POP 00003d45: POP 00003d46: POP 00003d47: POP 00003d48: JUMP 00003d49: JUMPDEST 00003d4a: PUSH1 0x10 00003d4c: SLOAD 00003d4d: PUSH1 0x00 00003d4f: PUSH2 0x3d56 00003d52: PUSH2 0x33fa 00003d55: JUMP 00003d56: JUMPDEST 00003d57: PUSH2 0x3d5e 00003d5a: PUSH2 0x34d0 00003d5d: JUMP 00003d5e: JUMPDEST 00003d5f: PUSH2 0x3d68 00003d62: SWAP2 00003d63: SWAP1 00003d64: PUSH2 0x5810 00003d67: JUMP 00003d68: JUMPDEST 00003d69: SWAP1 00003d6a: POP 00003d6b: DUP2 00003d6c: DUP2 00003d6d: GT 00003d6e: ISZERO 00003d6f: PUSH2 0x1281 00003d72: JUMPI 00003d73: PUSH1 0x10 00003d75: DUP2 00003d76: SWAP1 00003d77: SSTORE 00003d78: PUSH1 0x00 00003d7a: PUSH2 0x3d83 00003d7d: DUP4 00003d7e: DUP4 00003d7f: PUSH2 0x5810 00003d82: JUMP 00003d83: JUMPDEST 00003d84: SWAP1 00003d85: POP 00003d86: DUP1 00003d87: PUSH1 0x11 00003d89: PUSH1 0x00 00003d8b: DUP3 00003d8c: DUP3 00003d8d: SLOAD 00003d8e: PUSH2 0x3d97 00003d91: SWAP2 00003d92: SWAP1 00003d93: PUSH2 0x583c 00003d96: JUMP 00003d97: JUMPDEST 00003d98: SWAP1 00003d99: SWAP2 00003d9a: SSTORE 00003d9b: POP 00003d9c: POP 00003d9d: PUSH1 0x08 00003d9f: SLOAD 00003da0: PUSH1 0x00 00003da2: SWAP1 00003da3: PUSH2 0x3dad 00003da6: SWAP1 00003da7: DUP4 00003da8: SWAP1 00003da9: PUSH2 0x3e22 00003dac: JUMP 00003dad: JUMPDEST 00003dae: PUSH1 0x07 00003db0: SLOAD 00003db1: SWAP1 00003db2: SWAP2 00003db3: POP 00003db4: PUSH2 0x3de0 00003db7: SWAP1 00003db8: PUSH2 0x0100 00003dbb: SWAP1 00003dbc: DIV 00003dbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003dd2: AND 00003dd3: PUSH2 0x3ddb 00003dd6: DUP4 00003dd7: PUSH2 0x2ad2 00003dda: JUMP 00003ddb: JUMPDEST 00003ddc: PUSH2 0x3a95 00003ddf: JUMP 00003de0: JUMPDEST 00003de1: PUSH1 0x40 00003de3: DUP1 00003de4: MLOAD 00003de5: DUP4 00003de6: DUP2 00003de7: MSTORE 00003de8: PUSH1 0x20 00003dea: DUP2 00003deb: ADD 00003dec: DUP4 00003ded: SWAP1 00003dee: MSTORE 00003def: PUSH32 0xfa07446fad45314351eb89109a154880278451332bb87f1824d435fe58da5939 00003e10: SWAP2 00003e11: ADD 00003e12: PUSH2 0x1615 00003e15: JUMP 00003e16: JUMPDEST 00003e17: PUSH1 0x00 00003e19: PUSH2 0x1109 00003e1c: DUP4 00003e1d: DUP4 00003e1e: PUSH2 0x4afd 00003e21: JUMP 00003e22: JUMPDEST 00003e23: PUSH1 0x00 00003e25: PUSH2 0x1109 00003e28: DUP4 00003e29: DUP4 00003e2a: PUSH8 0x0de0b6b3a7640000 00003e33: PUSH2 0x3575 00003e36: JUMP 00003e37: JUMPDEST 00003e38: PUSH1 0x40 00003e3a: MLOAD 00003e3b: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00003e5c: DUP2 00003e5d: MSTORE 00003e5e: ADDRESS 00003e5f: PUSH1 0x04 00003e61: DUP3 00003e62: ADD 00003e63: MSTORE 00003e64: PUSH1 0x00 00003e66: SWAP1 00003e67: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00003e88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003e9d: AND 00003e9e: SWAP1 00003e9f: PUSH4 0x70a08231 00003ea4: SWAP1 00003ea5: PUSH1 0x24 00003ea7: ADD 00003ea8: PUSH1 0x20 00003eaa: PUSH1 0x40 00003eac: MLOAD 00003ead: DUP1 00003eae: DUP4 00003eaf: SUB 00003eb0: DUP2 00003eb1: DUP7 00003eb2: GAS 00003eb3: STATICCALL 00003eb4: ISZERO 00003eb5: DUP1 00003eb6: ISZERO 00003eb7: PUSH2 0x3ec4 00003eba: JUMPI 00003ebb: RETURNDATASIZE 00003ebc: PUSH1 0x00 00003ebe: DUP1 00003ebf: RETURNDATACOPY 00003ec0: RETURNDATASIZE 00003ec1: PUSH1 0x00 00003ec3: REVERT 00003ec4: JUMPDEST 00003ec5: POP 00003ec6: POP 00003ec7: POP 00003ec8: POP 00003ec9: PUSH1 0x40 00003ecb: MLOAD 00003ecc: RETURNDATASIZE 00003ecd: PUSH1 0x1f 00003ecf: NOT 00003ed0: PUSH1 0x1f 00003ed2: DUP3 00003ed3: ADD 00003ed4: AND 00003ed5: DUP3 00003ed6: ADD 00003ed7: DUP1 00003ed8: PUSH1 0x40 00003eda: MSTORE 00003edb: POP 00003edc: DUP2 00003edd: ADD 00003ede: SWAP1 00003edf: PUSH2 0x3ee8 00003ee2: SWAP2 00003ee3: SWAP1 00003ee4: PUSH2 0x5823 00003ee7: JUMP 00003ee8: JUMPDEST 00003ee9: SWAP1 00003eea: POP 00003eeb: DUP1 00003eec: DUP4 00003eed: GT 00003eee: PUSH2 0x3ef6 00003ef1: JUMPI 00003ef2: POP 00003ef3: POP 00003ef4: POP 00003ef5: JUMP 00003ef6: JUMPDEST 00003ef7: PUSH1 0x00 00003ef9: DUP2 00003efa: PUSH1 0x12 00003efc: SLOAD 00003efd: DUP6 00003efe: PUSH2 0x3f07 00003f01: SWAP2 00003f02: SWAP1 00003f03: PUSH2 0x583c 00003f06: JUMP 00003f07: JUMPDEST 00003f08: PUSH2 0x3f11 00003f0b: SWAP2 00003f0c: SWAP1 00003f0d: PUSH2 0x5810 00003f10: JUMP 00003f11: JUMPDEST 00003f12: SWAP1 00003f13: POP 00003f14: PUSH2 0x3d43 00003f17: DUP2 00003f18: PUSH2 0x4063 00003f1b: JUMP 00003f1c: JUMPDEST 00003f1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003f32: DUP3 00003f33: AND 00003f34: PUSH1 0x00 00003f36: SWAP1 00003f37: DUP2 00003f38: MSTORE 00003f39: PUSH1 0x03 00003f3b: PUSH1 0x20 00003f3d: MSTORE 00003f3e: PUSH1 0x40 00003f40: DUP2 00003f41: KECCAK256 00003f42: DUP1 00003f43: SLOAD 00003f44: DUP4 00003f45: SWAP3 00003f46: SWAP1 00003f47: PUSH2 0x3f51 00003f4a: SWAP1 00003f4b: DUP5 00003f4c: SWAP1 00003f4d: PUSH2 0x5810 00003f50: JUMP 00003f51: JUMPDEST 00003f52: SWAP1 00003f53: SWAP2 00003f54: SSTORE 00003f55: POP 00003f56: POP 00003f57: PUSH1 0x02 00003f59: DUP1 00003f5a: SLOAD 00003f5b: DUP3 00003f5c: SWAP1 00003f5d: SUB 00003f5e: SWAP1 00003f5f: SSTORE 00003f60: PUSH1 0x40 00003f62: MLOAD 00003f63: DUP2 00003f64: DUP2 00003f65: MSTORE 00003f66: PUSH1 0x00 00003f68: SWAP1 00003f69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003f7e: DUP5 00003f7f: AND 00003f80: SWAP1 00003f81: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003fa2: SWAP1 00003fa3: PUSH1 0x20 00003fa5: ADD 00003fa6: PUSH2 0x3b02 00003fa9: JUMP 00003faa: JUMPDEST 00003fab: PUSH1 0x00 00003fad: PUSH1 0x40 00003faf: MLOAD 00003fb0: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00003fd1: DUP2 00003fd2: MSTORE 00003fd3: DUP4 00003fd4: PUSH1 0x04 00003fd6: DUP3 00003fd7: ADD 00003fd8: MSTORE 00003fd9: DUP3 00003fda: PUSH1 0x24 00003fdc: DUP3 00003fdd: ADD 00003fde: MSTORE 00003fdf: PUSH1 0x20 00003fe1: PUSH1 0x00 00003fe3: PUSH1 0x44 00003fe5: DUP4 00003fe6: PUSH1 0x00 00003fe8: DUP10 00003fe9: GAS 00003fea: CALL 00003feb: RETURNDATASIZE 00003fec: ISZERO 00003fed: PUSH1 0x1f 00003fef: RETURNDATASIZE 00003ff0: GT 00003ff1: PUSH1 0x01 00003ff3: PUSH1 0x00 00003ff5: MLOAD 00003ff6: EQ 00003ff7: AND 00003ff8: OR 00003ff9: AND 00003ffa: SWAP2 00003ffb: POP 00003ffc: POP 00003ffd: DUP1 00003ffe: PUSH2 0x3d43 00004001: JUMPI 00004002: PUSH1 0x40 00004004: MLOAD 00004005: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004026: DUP2 00004027: MSTORE 00004028: PUSH1 0x20 0000402a: PUSH1 0x04 0000402c: DUP3 0000402d: ADD 0000402e: MSTORE 0000402f: PUSH1 0x0f 00004031: PUSH1 0x24 00004033: DUP3 00004034: ADD 00004035: MSTORE 00004036: PUSH32 0x5452414e534645525f4641494c45440000000000000000000000000000000000 00004057: PUSH1 0x44 00004059: DUP3 0000405a: ADD 0000405b: MSTORE 0000405c: PUSH1 0x64 0000405e: ADD 0000405f: PUSH2 0x1744 00004062: JUMP 00004063: JUMPDEST 00004064: PUSH1 0x00 00004066: PUSH2 0x406f 00004069: PUSH1 0x0c 0000406b: PUSH2 0x3915 0000406e: JUMP 0000406f: JUMPDEST 00004070: SWAP1 00004071: POP 00004072: PUSH1 0x00 00004074: DUP1 00004075: PUSH2 0x407c 00004078: PUSH2 0x33fa 0000407b: JUMP 0000407c: JUMPDEST 0000407d: PUSH2 0x4084 00004080: PUSH2 0x34d0 00004083: JUMP 00004084: JUMPDEST 00004085: PUSH2 0x408e 00004088: SWAP2 00004089: SWAP1 0000408a: PUSH2 0x5810 0000408d: JUMP 0000408e: JUMPDEST 0000408f: SWAP1 00004090: POP 00004091: PUSH1 0x00 00004093: PUSH2 0x409d 00004096: DUP5 00004097: PUSH1 0x01 00004099: PUSH2 0x583c 0000409c: JUMP 0000409d: JUMPDEST 0000409e: PUSH8 0xffffffffffffffff 000040a7: DUP2 000040a8: GT 000040a9: ISZERO 000040aa: PUSH2 0x40b5 000040ad: JUMPI 000040ae: PUSH2 0x40b5 000040b1: PUSH2 0x5532 000040b4: JUMP 000040b5: JUMPDEST 000040b6: PUSH1 0x40 000040b8: MLOAD 000040b9: SWAP1 000040ba: DUP1 000040bb: DUP3 000040bc: MSTORE 000040bd: DUP1 000040be: PUSH1 0x20 000040c0: MUL 000040c1: PUSH1 0x20 000040c3: ADD 000040c4: DUP3 000040c5: ADD 000040c6: PUSH1 0x40 000040c8: MSTORE 000040c9: DUP1 000040ca: ISZERO 000040cb: PUSH2 0x40e8 000040ce: JUMPI 000040cf: DUP2 000040d0: PUSH1 0x20 000040d2: ADD 000040d3: JUMPDEST 000040d4: PUSH1 0x60 000040d6: DUP2 000040d7: MSTORE 000040d8: PUSH1 0x20 000040da: ADD 000040db: SWAP1 000040dc: PUSH1 0x01 000040de: SWAP1 000040df: SUB 000040e0: SWAP1 000040e1: DUP2 000040e2: PUSH2 0x40d3 000040e5: JUMPI 000040e6: SWAP1 000040e7: POP 000040e8: JUMPDEST 000040e9: POP 000040ea: SWAP1 000040eb: POP 000040ec: DUP2 000040ed: DUP6 000040ee: GT 000040ef: ISZERO 000040f0: PUSH2 0x40f7 000040f3: JUMPI 000040f4: DUP2 000040f5: SWAP5 000040f6: POP 000040f7: JUMPDEST 000040f8: PUSH1 0x00 000040fa: DUP1 000040fb: PUSH1 0x00 000040fd: DUP1 000040fe: PUSH1 0x00 00004100: JUMPDEST 00004101: DUP9 00004102: DUP2 00004103: LT 00004104: ISZERO 00004105: PUSH2 0x4490 00004108: JUMPI 00004109: PUSH2 0x4113 0000410c: PUSH1 0x0c 0000410e: DUP3 0000410f: PUSH2 0x3920 00004112: JUMP 00004113: JUMPDEST 00004114: PUSH1 0x40 00004116: MLOAD 00004117: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000 00004138: DUP2 00004139: MSTORE 0000413a: ADDRESS 0000413b: PUSH1 0x04 0000413d: DUP3 0000413e: ADD 0000413f: MSTORE 00004140: SWAP2 00004141: SWAP7 00004142: POP 00004143: SWAP5 00004144: POP 00004145: PUSH1 0x00 00004147: SWAP1 00004148: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000415d: DUP7 0000415e: AND 0000415f: SWAP1 00004160: PUSH4 0x9b56d6c9 00004165: SWAP1 00004166: PUSH1 0x24 00004168: ADD 00004169: PUSH1 0x20 0000416b: PUSH1 0x40 0000416d: MLOAD 0000416e: DUP1 0000416f: DUP4 00004170: SUB 00004171: DUP2 00004172: DUP7 00004173: GAS 00004174: STATICCALL 00004175: ISZERO 00004176: DUP1 00004177: ISZERO 00004178: PUSH2 0x4185 0000417b: JUMPI 0000417c: RETURNDATASIZE 0000417d: PUSH1 0x00 0000417f: DUP1 00004180: RETURNDATACOPY 00004181: RETURNDATASIZE 00004182: PUSH1 0x00 00004184: REVERT 00004185: JUMPDEST 00004186: POP 00004187: POP 00004188: POP 00004189: POP 0000418a: PUSH1 0x40 0000418c: MLOAD 0000418d: RETURNDATASIZE 0000418e: PUSH1 0x1f 00004190: NOT 00004191: PUSH1 0x1f 00004193: DUP3 00004194: ADD 00004195: AND 00004196: DUP3 00004197: ADD 00004198: DUP1 00004199: PUSH1 0x40 0000419b: MSTORE 0000419c: POP 0000419d: DUP2 0000419e: ADD 0000419f: SWAP1 000041a0: PUSH2 0x41a9 000041a3: SWAP2 000041a4: SWAP1 000041a5: PUSH2 0x5823 000041a8: JUMP 000041a9: JUMPDEST 000041aa: SWAP1 000041ab: POP 000041ac: DUP1 000041ad: PUSH1 0x00 000041af: SUB 000041b0: PUSH2 0x41b9 000041b3: JUMPI 000041b4: POP 000041b5: PUSH2 0x447e 000041b8: JUMP 000041b9: JUMPDEST 000041ba: PUSH1 0x40 000041bc: MLOAD 000041bd: PUSH32 0x9a78e72e00000000000000000000000000000000000000000000000000000000 000041de: DUP2 000041df: MSTORE 000041e0: ADDRESS 000041e1: PUSH1 0x04 000041e3: DUP3 000041e4: ADD 000041e5: MSTORE 000041e6: PUSH1 0x00 000041e8: SWAP1 000041e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000041fe: DUP8 000041ff: AND 00004200: SWAP1 00004201: PUSH4 0x9a78e72e 00004206: SWAP1 00004207: PUSH1 0x24 00004209: ADD 0000420a: PUSH1 0x20 0000420c: PUSH1 0x40 0000420e: MLOAD 0000420f: DUP1 00004210: DUP4 00004211: SUB 00004212: DUP2 00004213: DUP7 00004214: GAS 00004215: STATICCALL 00004216: ISZERO 00004217: DUP1 00004218: ISZERO 00004219: PUSH2 0x4226 0000421c: JUMPI 0000421d: RETURNDATASIZE 0000421e: PUSH1 0x00 00004220: DUP1 00004221: RETURNDATACOPY 00004222: RETURNDATASIZE 00004223: PUSH1 0x00 00004225: REVERT 00004226: JUMPDEST 00004227: POP 00004228: POP 00004229: POP 0000422a: POP 0000422b: PUSH1 0x40 0000422d: MLOAD 0000422e: RETURNDATASIZE 0000422f: PUSH1 0x1f 00004231: NOT 00004232: PUSH1 0x1f 00004234: DUP3 00004235: ADD 00004236: AND 00004237: DUP3 00004238: ADD 00004239: DUP1 0000423a: PUSH1 0x40 0000423c: MSTORE 0000423d: POP 0000423e: DUP2 0000423f: ADD 00004240: SWAP1 00004241: PUSH2 0x424a 00004244: SWAP2 00004245: SWAP1 00004246: PUSH2 0x5823 00004249: JUMP 0000424a: JUMPDEST 0000424b: SWAP1 0000424c: POP 0000424d: PUSH1 0x00 0000424f: DUP2 00004250: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca 00004271: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004286: AND 00004287: PUSH4 0x9023054a 0000428c: DUP6 0000428d: PUSH1 0x40 0000428f: MLOAD 00004290: DUP3 00004291: PUSH4 0xffffffff 00004296: AND 00004297: PUSH1 0xe0 00004299: SHL 0000429a: DUP2 0000429b: MSTORE 0000429c: PUSH1 0x04 0000429e: ADD 0000429f: PUSH2 0x42aa 000042a2: SWAP2 000042a3: DUP2 000042a4: MSTORE 000042a5: PUSH1 0x20 000042a7: ADD 000042a8: SWAP1 000042a9: JUMP 000042aa: JUMPDEST 000042ab: PUSH1 0x20 000042ad: PUSH1 0x40 000042af: MLOAD 000042b0: DUP1 000042b1: DUP4 000042b2: SUB 000042b3: DUP2 000042b4: DUP7 000042b5: GAS 000042b6: STATICCALL 000042b7: ISZERO 000042b8: DUP1 000042b9: ISZERO 000042ba: PUSH2 0x42c7 000042bd: JUMPI 000042be: RETURNDATASIZE 000042bf: PUSH1 0x00 000042c1: DUP1 000042c2: RETURNDATACOPY 000042c3: RETURNDATASIZE 000042c4: PUSH1 0x00 000042c6: REVERT 000042c7: JUMPDEST 000042c8: POP 000042c9: POP 000042ca: POP 000042cb: POP 000042cc: PUSH1 0x40 000042ce: MLOAD 000042cf: RETURNDATASIZE 000042d0: PUSH1 0x1f 000042d2: NOT 000042d3: PUSH1 0x1f 000042d5: DUP3 000042d6: ADD 000042d7: AND 000042d8: DUP3 000042d9: ADD 000042da: DUP1 000042db: PUSH1 0x40 000042dd: MSTORE 000042de: POP 000042df: DUP2 000042e0: ADD 000042e1: SWAP1 000042e2: PUSH2 0x42eb 000042e5: SWAP2 000042e6: SWAP1 000042e7: PUSH2 0x5823 000042ea: JUMP 000042eb: JUMPDEST 000042ec: PUSH2 0x42f5 000042ef: SWAP2 000042f0: SWAP1 000042f1: PUSH2 0x5810 000042f4: JUMP 000042f5: JUMPDEST 000042f6: SWAP1 000042f7: POP 000042f8: PUSH2 0x4302 000042fb: DUP14 000042fc: DUP3 000042fd: DUP13 000042fe: PUSH2 0x3575 00004301: JUMP 00004302: JUMPDEST 00004303: SWAP5 00004304: POP 00004305: PUSH2 0x430f 00004308: DUP6 00004309: DUP4 0000430a: DUP4 0000430b: PUSH2 0x3575 0000430e: JUMP 0000430f: JUMPDEST 00004310: SWAP6 00004311: POP 00004312: PUSH2 0x431b 00004315: DUP7 00004316: DUP13 00004317: PUSH2 0x583c 0000431a: JUMP 0000431b: JUMPDEST 0000431c: SWAP11 0000431d: POP 0000431e: PUSH32 0x2e2ddd4500000000000000000000000000000000000000000000000000000000 0000433f: DUP9 00004340: DUP8 00004341: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004356: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca 00004377: AND 00004378: PUSH4 0x934e6a43 0000437d: PUSH2 0x4386 00004380: DUP11 00004381: DUP5 00004382: PUSH2 0x583c 00004385: JUMP 00004386: JUMPDEST 00004387: PUSH1 0x40 00004389: MLOAD 0000438a: DUP3 0000438b: PUSH4 0xffffffff 00004390: AND 00004391: PUSH1 0xe0 00004393: SHL 00004394: DUP2 00004395: MSTORE 00004396: PUSH1 0x04 00004398: ADD 00004399: PUSH2 0x43a4 0000439c: SWAP2 0000439d: DUP2 0000439e: MSTORE 0000439f: PUSH1 0x20 000043a1: ADD 000043a2: SWAP1 000043a3: JUMP 000043a4: JUMPDEST 000043a5: PUSH1 0x20 000043a7: PUSH1 0x40 000043a9: MLOAD 000043aa: DUP1 000043ab: DUP4 000043ac: SUB 000043ad: DUP2 000043ae: DUP7 000043af: GAS 000043b0: STATICCALL 000043b1: ISZERO 000043b2: DUP1 000043b3: ISZERO 000043b4: PUSH2 0x43c1 000043b7: JUMPI 000043b8: RETURNDATASIZE 000043b9: PUSH1 0x00 000043bb: DUP1 000043bc: RETURNDATACOPY 000043bd: RETURNDATASIZE 000043be: PUSH1 0x00 000043c0: REVERT 000043c1: JUMPDEST 000043c2: POP 000043c3: POP 000043c4: POP 000043c5: POP 000043c6: PUSH1 0x40 000043c8: MLOAD 000043c9: RETURNDATASIZE 000043ca: PUSH1 0x1f 000043cc: NOT 000043cd: PUSH1 0x1f 000043cf: DUP3 000043d0: ADD 000043d1: AND 000043d2: DUP3 000043d3: ADD 000043d4: DUP1 000043d5: PUSH1 0x40 000043d7: MSTORE 000043d8: POP 000043d9: DUP2 000043da: ADD 000043db: SWAP1 000043dc: PUSH2 0x43e5 000043df: SWAP2 000043e0: SWAP1 000043e1: PUSH2 0x5823 000043e4: JUMP 000043e5: JUMPDEST 000043e6: PUSH1 0x40 000043e8: MLOAD 000043e9: PUSH1 0x24 000043eb: DUP2 000043ec: ADD 000043ed: SWAP4 000043ee: SWAP1 000043ef: SWAP4 000043f0: MSTORE 000043f1: PUSH1 0x44 000043f3: DUP4 000043f4: ADD 000043f5: SWAP2 000043f6: SWAP1 000043f7: SWAP2 000043f8: MSTORE 000043f9: PUSH1 0x64 000043fb: DUP3 000043fc: ADD 000043fd: MSTORE 000043fe: PUSH1 0x84 00004400: ADD 00004401: PUSH1 0x40 00004403: MLOAD 00004404: PUSH1 0x20 00004406: DUP2 00004407: DUP4 00004408: SUB 00004409: SUB 0000440a: DUP2 0000440b: MSTORE 0000440c: SWAP1 0000440d: PUSH1 0x40 0000440f: MSTORE 00004410: SWAP1 00004411: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000442e: NOT 0000442f: AND 00004430: PUSH1 0x20 00004432: DUP3 00004433: ADD 00004434: DUP1 00004435: MLOAD 00004436: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004453: DUP4 00004454: DUP2 00004455: DUP4 00004456: AND 00004457: OR 00004458: DUP4 00004459: MSTORE 0000445a: POP 0000445b: POP 0000445c: POP 0000445d: POP 0000445e: DUP10 0000445f: DUP6 00004460: DUP2 00004461: MLOAD 00004462: DUP2 00004463: LT 00004464: PUSH2 0x446f 00004467: JUMPI 00004468: PUSH2 0x446f 0000446b: PUSH2 0x5ae4 0000446e: JUMP 0000446f: JUMPDEST 00004470: PUSH1 0x20 00004472: MUL 00004473: PUSH1 0x20 00004475: ADD 00004476: ADD 00004477: DUP2 00004478: SWAP1 00004479: MSTORE 0000447a: POP 0000447b: POP 0000447c: POP 0000447d: POP 0000447e: JUMPDEST 0000447f: DUP1 00004480: PUSH2 0x4488 00004483: DUP2 00004484: PUSH2 0x589c 00004487: JUMP 00004488: JUMPDEST 00004489: SWAP2 0000448a: POP 0000448b: POP 0000448c: PUSH2 0x4100 0000448f: JUMP 00004490: JUMPDEST 00004491: POP 00004492: DUP9 00004493: PUSH1 0x10 00004495: PUSH1 0x00 00004497: DUP3 00004498: DUP3 00004499: SLOAD 0000449a: PUSH2 0x44a3 0000449d: SWAP2 0000449e: SWAP1 0000449f: PUSH2 0x5810 000044a2: JUMP 000044a3: JUMPDEST 000044a4: SWAP1 000044a5: SWAP2 000044a6: SSTORE 000044a7: POP 000044a8: POP 000044a9: PUSH1 0x0a 000044ab: SLOAD 000044ac: PUSH1 0x40 000044ae: DUP1 000044af: MLOAD 000044b0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000044d1: PUSH1 0x24 000044d3: DUP3 000044d4: ADD 000044d5: MSTORE 000044d6: PUSH1 0x44 000044d8: DUP1 000044d9: DUP3 000044da: ADD 000044db: SWAP4 000044dc: SWAP1 000044dd: SWAP4 000044de: MSTORE 000044df: DUP2 000044e0: MLOAD 000044e1: DUP1 000044e2: DUP3 000044e3: SUB 000044e4: SWAP1 000044e5: SWAP4 000044e6: ADD 000044e7: DUP4 000044e8: MSTORE 000044e9: PUSH1 0x64 000044eb: ADD 000044ec: SWAP1 000044ed: MSTORE 000044ee: PUSH1 0x20 000044f0: DUP2 000044f1: ADD 000044f2: DUP1 000044f3: MLOAD 000044f4: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004511: AND 00004512: PUSH32 0x9e50767300000000000000000000000000000000000000000000000000000000 00004533: OR 00004534: SWAP1 00004535: MSTORE 00004536: DUP6 00004537: MLOAD 00004538: DUP7 00004539: SWAP1 0000453a: DUP11 0000453b: SWAP1 0000453c: DUP2 0000453d: LT 0000453e: PUSH2 0x4549 00004541: JUMPI 00004542: PUSH2 0x4549 00004545: PUSH2 0x5ae4 00004548: JUMP 00004549: JUMPDEST 0000454a: PUSH1 0x20 0000454c: SWAP1 0000454d: DUP2 0000454e: MUL 0000454f: SWAP2 00004550: SWAP1 00004551: SWAP2 00004552: ADD 00004553: ADD 00004554: MSTORE 00004555: PUSH1 0x40 00004557: MLOAD 00004558: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00004579: DUP2 0000457a: MSTORE 0000457b: ADDRESS 0000457c: PUSH1 0x04 0000457e: DUP3 0000457f: ADD 00004580: MSTORE 00004581: PUSH1 0x00 00004583: SWAP1 00004584: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004599: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000045ba: AND 000045bb: SWAP1 000045bc: PUSH4 0x70a08231 000045c1: SWAP1 000045c2: PUSH1 0x24 000045c4: ADD 000045c5: PUSH1 0x20 000045c7: PUSH1 0x40 000045c9: MLOAD 000045ca: DUP1 000045cb: DUP4 000045cc: SUB 000045cd: DUP2 000045ce: DUP7 000045cf: GAS 000045d0: STATICCALL 000045d1: ISZERO 000045d2: DUP1 000045d3: ISZERO 000045d4: PUSH2 0x45e1 000045d7: JUMPI 000045d8: RETURNDATASIZE 000045d9: PUSH1 0x00 000045db: DUP1 000045dc: RETURNDATACOPY 000045dd: RETURNDATASIZE 000045de: PUSH1 0x00 000045e0: REVERT 000045e1: JUMPDEST 000045e2: POP 000045e3: POP 000045e4: POP 000045e5: POP 000045e6: PUSH1 0x40 000045e8: MLOAD 000045e9: RETURNDATASIZE 000045ea: PUSH1 0x1f 000045ec: NOT 000045ed: PUSH1 0x1f 000045ef: DUP3 000045f0: ADD 000045f1: AND 000045f2: DUP3 000045f3: ADD 000045f4: DUP1 000045f5: PUSH1 0x40 000045f7: MSTORE 000045f8: POP 000045f9: DUP2 000045fa: ADD 000045fb: SWAP1 000045fc: PUSH2 0x4605 000045ff: SWAP2 00004600: SWAP1 00004601: PUSH2 0x5823 00004604: JUMP 00004605: JUMPDEST 00004606: SWAP1 00004607: POP 00004608: PUSH2 0x4611 0000460b: DUP9 0000460c: DUP8 0000460d: PUSH2 0x3b82 00004610: JUMP 00004611: JUMPDEST 00004612: PUSH1 0x40 00004614: MLOAD 00004615: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00004636: DUP2 00004637: MSTORE 00004638: ADDRESS 00004639: PUSH1 0x04 0000463b: DUP3 0000463c: ADD 0000463d: MSTORE 0000463e: PUSH32 0x7e472eae96e977766c8a0c6d0157161571f966cac5533f0acc3632d2cb8bf20f 0000465f: SWAP1 00004660: DUP3 00004661: SWAP1 00004662: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004677: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00004698: AND 00004699: SWAP1 0000469a: PUSH4 0x70a08231 0000469f: SWAP1 000046a0: PUSH1 0x24 000046a2: ADD 000046a3: PUSH1 0x20 000046a5: PUSH1 0x40 000046a7: MLOAD 000046a8: DUP1 000046a9: DUP4 000046aa: SUB 000046ab: DUP2 000046ac: DUP7 000046ad: GAS 000046ae: STATICCALL 000046af: ISZERO 000046b0: DUP1 000046b1: ISZERO 000046b2: PUSH2 0x46bf 000046b5: JUMPI 000046b6: RETURNDATASIZE 000046b7: PUSH1 0x00 000046b9: DUP1 000046ba: RETURNDATACOPY 000046bb: RETURNDATASIZE 000046bc: PUSH1 0x00 000046be: REVERT 000046bf: JUMPDEST 000046c0: POP 000046c1: POP 000046c2: POP 000046c3: POP 000046c4: PUSH1 0x40 000046c6: MLOAD 000046c7: RETURNDATASIZE 000046c8: PUSH1 0x1f 000046ca: NOT 000046cb: PUSH1 0x1f 000046cd: DUP3 000046ce: ADD 000046cf: AND 000046d0: DUP3 000046d1: ADD 000046d2: DUP1 000046d3: PUSH1 0x40 000046d5: MSTORE 000046d6: POP 000046d7: DUP2 000046d8: ADD 000046d9: SWAP1 000046da: PUSH2 0x46e3 000046dd: SWAP2 000046de: SWAP1 000046df: PUSH2 0x5823 000046e2: JUMP 000046e3: JUMPDEST 000046e4: PUSH2 0x46ed 000046e7: SWAP2 000046e8: SWAP1 000046e9: PUSH2 0x5810 000046ec: JUMP 000046ed: JUMPDEST 000046ee: PUSH1 0x40 000046f0: MLOAD 000046f1: SWAP1 000046f2: DUP2 000046f3: MSTORE 000046f4: PUSH1 0x20 000046f6: ADD 000046f7: PUSH1 0x40 000046f9: MLOAD 000046fa: DUP1 000046fb: SWAP2 000046fc: SUB 000046fd: SWAP1 000046fe: LOG1 000046ff: POP 00004700: POP 00004701: POP 00004702: POP 00004703: POP 00004704: POP 00004705: POP 00004706: POP 00004707: POP 00004708: POP 00004709: JUMP 0000470a: JUMPDEST 0000470b: PUSH1 0x00 0000470d: DUP1 0000470e: DUP1 0000470f: DUP1 00004710: PUSH2 0x392f 00004713: DUP7 00004714: DUP7 00004715: PUSH2 0x4b1a 00004718: JUMP 00004719: JUMPDEST 0000471a: PUSH1 0x07 0000471c: SLOAD 0000471d: PUSH1 0xff 0000471f: AND 00004720: PUSH2 0x3607 00004723: JUMPI 00004724: PUSH1 0x40 00004726: MLOAD 00004727: PUSH32 0xe17c49b700000000000000000000000000000000000000000000000000000000 00004748: DUP2 00004749: MSTORE 0000474a: PUSH1 0x04 0000474c: ADD 0000474d: PUSH1 0x40 0000474f: MLOAD 00004750: DUP1 00004751: SWAP2 00004752: SUB 00004753: SWAP1 00004754: REVERT 00004755: JUMPDEST 00004756: PUSH1 0x00 00004758: JUMPDEST 00004759: DUP2 0000475a: MLOAD 0000475b: DUP2 0000475c: LT 0000475d: ISZERO 0000475e: PUSH2 0x1281 00004761: JUMPI 00004762: DUP2 00004763: DUP2 00004764: DUP2 00004765: MLOAD 00004766: DUP2 00004767: LT 00004768: PUSH2 0x4773 0000476b: JUMPI 0000476c: PUSH2 0x4773 0000476f: PUSH2 0x5ae4 00004772: JUMP 00004773: JUMPDEST 00004774: PUSH1 0x20 00004776: MUL 00004777: PUSH1 0x20 00004779: ADD 0000477a: ADD 0000477b: MLOAD 0000477c: MLOAD 0000477d: PUSH1 0x00 0000477f: SUB 00004780: ISZERO 00004781: PUSH2 0x47c8 00004784: JUMPI 00004785: PUSH2 0x47c6 00004788: DUP3 00004789: DUP3 0000478a: DUP2 0000478b: MLOAD 0000478c: DUP2 0000478d: LT 0000478e: PUSH2 0x4799 00004791: JUMPI 00004792: PUSH2 0x4799 00004795: PUSH2 0x5ae4 00004798: JUMP 00004799: JUMPDEST 0000479a: PUSH1 0x20 0000479c: MUL 0000479d: PUSH1 0x20 0000479f: ADD 000047a0: ADD 000047a1: MLOAD 000047a2: ADDRESS 000047a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000047b8: AND 000047b9: PUSH2 0x3609 000047bc: SWAP1 000047bd: SWAP2 000047be: SWAP1 000047bf: PUSH4 0xffffffff 000047c4: AND 000047c5: JUMP 000047c6: JUMPDEST 000047c7: POP 000047c8: JUMPDEST 000047c9: DUP1 000047ca: PUSH2 0x47d2 000047cd: DUP2 000047ce: PUSH2 0x589c 000047d1: JUMP 000047d2: JUMPDEST 000047d3: SWAP2 000047d4: POP 000047d5: POP 000047d6: PUSH2 0x4758 000047d9: JUMP 000047da: JUMPDEST 000047db: PUSH1 0x40 000047dd: MLOAD 000047de: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000047ff: DUP2 00004800: MSTORE 00004801: ADDRESS 00004802: PUSH1 0x04 00004804: DUP3 00004805: ADD 00004806: MSTORE 00004807: PUSH1 0x00 00004809: SWAP1 0000480a: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000482b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004840: AND 00004841: SWAP1 00004842: PUSH4 0x70a08231 00004847: SWAP1 00004848: PUSH1 0x24 0000484a: ADD 0000484b: PUSH1 0x20 0000484d: PUSH1 0x40 0000484f: MLOAD 00004850: DUP1 00004851: DUP4 00004852: SUB 00004853: DUP2 00004854: DUP7 00004855: GAS 00004856: STATICCALL 00004857: ISZERO 00004858: DUP1 00004859: ISZERO 0000485a: PUSH2 0x4867 0000485d: JUMPI 0000485e: RETURNDATASIZE 0000485f: PUSH1 0x00 00004861: DUP1 00004862: RETURNDATACOPY 00004863: RETURNDATASIZE 00004864: PUSH1 0x00 00004866: REVERT 00004867: JUMPDEST 00004868: POP 00004869: POP 0000486a: POP 0000486b: POP 0000486c: PUSH1 0x40 0000486e: MLOAD 0000486f: RETURNDATASIZE 00004870: PUSH1 0x1f 00004872: NOT 00004873: PUSH1 0x1f 00004875: DUP3 00004876: ADD 00004877: AND 00004878: DUP3 00004879: ADD 0000487a: DUP1 0000487b: PUSH1 0x40 0000487d: MSTORE 0000487e: POP 0000487f: DUP2 00004880: ADD 00004881: SWAP1 00004882: PUSH2 0x488b 00004885: SWAP2 00004886: SWAP1 00004887: PUSH2 0x5823 0000488a: JUMP 0000488b: JUMPDEST 0000488c: PUSH1 0x12 0000488e: SLOAD 0000488f: SWAP1 00004890: SWAP2 00004891: POP 00004892: DUP1 00004893: DUP3 00004894: LT 00004895: ISZERO 00004896: PUSH2 0x1281 00004899: JUMPI 0000489a: PUSH1 0x40 0000489c: MLOAD 0000489d: PUSH32 0xcd62da4300000000000000000000000000000000000000000000000000000000 000048be: DUP2 000048bf: MSTORE 000048c0: PUSH1 0x04 000048c2: DUP2 000048c3: ADD 000048c4: DUP4 000048c5: SWAP1 000048c6: MSTORE 000048c7: PUSH1 0x24 000048c9: DUP2 000048ca: ADD 000048cb: DUP3 000048cc: SWAP1 000048cd: MSTORE 000048ce: PUSH1 0x44 000048d0: ADD 000048d1: PUSH2 0x1744 000048d4: JUMP 000048d5: JUMPDEST 000048d6: PUSH1 0x60 000048d8: PUSH1 0x00 000048da: DUP1 000048db: DUP6 000048dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000048f1: AND 000048f2: DUP6 000048f3: PUSH1 0x40 000048f5: MLOAD 000048f6: PUSH2 0x48ff 000048f9: SWAP2 000048fa: SWAP1 000048fb: PUSH2 0x5d1c 000048fe: JUMP 000048ff: JUMPDEST 00004900: PUSH1 0x00 00004902: PUSH1 0x40 00004904: MLOAD 00004905: DUP1 00004906: DUP4 00004907: SUB 00004908: DUP2 00004909: DUP6 0000490a: GAS 0000490b: DELEGATECALL 0000490c: SWAP2 0000490d: POP 0000490e: POP 0000490f: RETURNDATASIZE 00004910: DUP1 00004911: PUSH1 0x00 00004913: DUP2 00004914: EQ 00004915: PUSH2 0x493a 00004918: JUMPI 00004919: PUSH1 0x40 0000491b: MLOAD 0000491c: SWAP2 0000491d: POP 0000491e: PUSH1 0x1f 00004920: NOT 00004921: PUSH1 0x3f 00004923: RETURNDATASIZE 00004924: ADD 00004925: AND 00004926: DUP3 00004927: ADD 00004928: PUSH1 0x40 0000492a: MSTORE 0000492b: RETURNDATASIZE 0000492c: DUP3 0000492d: MSTORE 0000492e: RETURNDATASIZE 0000492f: PUSH1 0x00 00004931: PUSH1 0x20 00004933: DUP5 00004934: ADD 00004935: RETURNDATACOPY 00004936: PUSH2 0x493f 00004939: JUMP 0000493a: JUMPDEST 0000493b: PUSH1 0x60 0000493d: SWAP2 0000493e: POP 0000493f: JUMPDEST 00004940: POP 00004941: SWAP2 00004942: POP 00004943: SWAP2 00004944: POP 00004945: PUSH2 0x4950 00004948: DUP7 00004949: DUP4 0000494a: DUP4 0000494b: DUP8 0000494c: PUSH2 0x4b54 0000494f: JUMP 00004950: JUMPDEST 00004951: SWAP7 00004952: SWAP6 00004953: POP 00004954: POP 00004955: POP 00004956: POP 00004957: POP 00004958: POP 00004959: JUMP 0000495a: JUMPDEST 0000495b: PUSH1 0x00 0000495d: DUP2 0000495e: DUP2 0000495f: MSTORE 00004960: PUSH1 0x02 00004962: DUP4 00004963: ADD 00004964: PUSH1 0x20 00004966: MSTORE 00004967: PUSH1 0x40 00004969: DUP2 0000496a: KECCAK256 0000496b: SLOAD 0000496c: DUP1 0000496d: ISZERO 0000496e: ISZERO 0000496f: DUP1 00004970: PUSH2 0x497e 00004973: JUMPI 00004974: POP 00004975: PUSH2 0x497e 00004978: DUP5 00004979: DUP5 0000497a: PUSH2 0x4af1 0000497d: JUMP 0000497e: JUMPDEST 0000497f: PUSH2 0x1109 00004982: JUMPI 00004983: PUSH1 0x40 00004985: MLOAD 00004986: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000049a7: DUP2 000049a8: MSTORE 000049a9: PUSH1 0x20 000049ab: PUSH1 0x04 000049ad: DUP3 000049ae: ADD 000049af: MSTORE 000049b0: PUSH1 0x1e 000049b2: PUSH1 0x24 000049b4: DUP3 000049b5: ADD 000049b6: MSTORE 000049b7: PUSH32 0x456e756d657261626c654d61703a206e6f6e6578697374656e74206b65790000 000049d8: PUSH1 0x44 000049da: DUP3 000049db: ADD 000049dc: MSTORE 000049dd: PUSH1 0x64 000049df: ADD 000049e0: PUSH2 0x1744 000049e3: JUMP 000049e4: JUMPDEST 000049e5: PUSH1 0x00 000049e7: DUP3 000049e8: DUP2 000049e9: MSTORE 000049ea: PUSH1 0x06 000049ec: PUSH1 0x20 000049ee: SWAP1 000049ef: DUP2 000049f0: MSTORE 000049f1: PUSH1 0x40 000049f3: DUP1 000049f4: DUP4 000049f5: KECCAK256 000049f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004a0b: DUP6 00004a0c: AND 00004a0d: DUP5 00004a0e: MSTORE 00004a0f: SWAP1 00004a10: SWAP2 00004a11: MSTORE 00004a12: SWAP1 00004a13: KECCAK256 00004a14: SLOAD 00004a15: PUSH1 0xff 00004a17: AND 00004a18: PUSH2 0x1281 00004a1b: JUMPI 00004a1c: PUSH2 0x4a24 00004a1f: DUP2 00004a20: PUSH2 0x4bf4 00004a23: JUMP 00004a24: JUMPDEST 00004a25: PUSH2 0x4a2f 00004a28: DUP4 00004a29: PUSH1 0x20 00004a2b: PUSH2 0x4c13 00004a2e: JUMP 00004a2f: JUMPDEST 00004a30: PUSH1 0x40 00004a32: MLOAD 00004a33: PUSH1 0x20 00004a35: ADD 00004a36: PUSH2 0x4a40 00004a39: SWAP3 00004a3a: SWAP2 00004a3b: SWAP1 00004a3c: PUSH2 0x5d38 00004a3f: JUMP 00004a40: JUMPDEST 00004a41: PUSH1 0x40 00004a43: DUP1 00004a44: MLOAD 00004a45: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00004a66: DUP2 00004a67: DUP5 00004a68: SUB 00004a69: ADD 00004a6a: DUP2 00004a6b: MSTORE 00004a6c: SWAP1 00004a6d: DUP3 00004a6e: SWAP1 00004a6f: MSTORE 00004a70: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004a91: DUP3 00004a92: MSTORE 00004a93: PUSH2 0x1744 00004a96: SWAP2 00004a97: PUSH1 0x04 00004a99: ADD 00004a9a: PUSH2 0x50fc 00004a9d: JUMP 00004a9e: JUMPDEST 00004a9f: PUSH1 0x00 00004aa1: PUSH2 0x104f 00004aa4: DUP3 00004aa5: PUSH2 0x4e56 00004aa8: JUMP 00004aa9: JUMPDEST 00004aaa: PUSH1 0x00 00004aac: DUP1 00004aad: DUP1 00004aae: PUSH2 0x4ab7 00004ab1: DUP6 00004ab2: DUP6 00004ab3: PUSH2 0x4e60 00004ab6: JUMP 00004ab7: JUMPDEST 00004ab8: PUSH1 0x00 00004aba: DUP2 00004abb: DUP2 00004abc: MSTORE 00004abd: PUSH1 0x02 00004abf: SWAP7 00004ac0: SWAP1 00004ac1: SWAP7 00004ac2: ADD 00004ac3: PUSH1 0x20 00004ac5: MSTORE 00004ac6: PUSH1 0x40 00004ac8: SWAP1 00004ac9: SWAP6 00004aca: KECCAK256 00004acb: SLOAD 00004acc: SWAP5 00004acd: SWAP6 00004ace: SWAP4 00004acf: POP 00004ad0: POP 00004ad1: POP 00004ad2: POP 00004ad3: JUMP 00004ad4: JUMPDEST 00004ad5: PUSH1 0x00 00004ad7: DUP3 00004ad8: DUP2 00004ad9: MSTORE 00004ada: PUSH1 0x02 00004adc: DUP5 00004add: ADD 00004ade: PUSH1 0x20 00004ae0: MSTORE 00004ae1: PUSH1 0x40 00004ae3: DUP2 00004ae4: KECCAK256 00004ae5: DUP3 00004ae6: SWAP1 00004ae7: SSTORE 00004ae8: PUSH2 0x39ce 00004aeb: DUP5 00004aec: DUP5 00004aed: PUSH2 0x4e6c 00004af0: JUMP 00004af1: JUMPDEST 00004af2: PUSH1 0x00 00004af4: PUSH2 0x1109 00004af7: DUP4 00004af8: DUP4 00004af9: PUSH2 0x4e78 00004afc: JUMP 00004afd: JUMPDEST 00004afe: PUSH1 0x00 00004b00: DUP2 00004b01: DUP2 00004b02: MSTORE 00004b03: PUSH1 0x02 00004b05: DUP4 00004b06: ADD 00004b07: PUSH1 0x20 00004b09: MSTORE 00004b0a: PUSH1 0x40 00004b0c: DUP2 00004b0d: KECCAK256 00004b0e: DUP2 00004b0f: SWAP1 00004b10: SSTORE 00004b11: PUSH2 0x1109 00004b14: DUP4 00004b15: DUP4 00004b16: PUSH2 0x4e90 00004b19: JUMP 00004b1a: JUMPDEST 00004b1b: PUSH1 0x00 00004b1d: DUP2 00004b1e: DUP2 00004b1f: MSTORE 00004b20: PUSH1 0x02 00004b22: DUP4 00004b23: ADD 00004b24: PUSH1 0x20 00004b26: MSTORE 00004b27: PUSH1 0x40 00004b29: DUP2 00004b2a: KECCAK256 00004b2b: SLOAD 00004b2c: DUP2 00004b2d: SWAP1 00004b2e: DUP1 00004b2f: PUSH2 0x4b49 00004b32: JUMPI 00004b33: PUSH2 0x4b3c 00004b36: DUP6 00004b37: DUP6 00004b38: PUSH2 0x4af1 00004b3b: JUMP 00004b3c: JUMPDEST 00004b3d: SWAP3 00004b3e: POP 00004b3f: PUSH1 0x00 00004b41: SWAP2 00004b42: POP 00004b43: PUSH2 0x3937 00004b46: SWAP1 00004b47: POP 00004b48: JUMP 00004b49: JUMPDEST 00004b4a: PUSH1 0x01 00004b4c: SWAP3 00004b4d: POP 00004b4e: SWAP1 00004b4f: POP 00004b50: PUSH2 0x3937 00004b53: JUMP 00004b54: JUMPDEST 00004b55: PUSH1 0x60 00004b57: DUP4 00004b58: ISZERO 00004b59: PUSH2 0x4bea 00004b5c: JUMPI 00004b5d: DUP3 00004b5e: MLOAD 00004b5f: PUSH1 0x00 00004b61: SUB 00004b62: PUSH2 0x4be3 00004b65: JUMPI 00004b66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004b7b: DUP6 00004b7c: AND 00004b7d: EXTCODESIZE 00004b7e: PUSH2 0x4be3 00004b81: JUMPI 00004b82: PUSH1 0x40 00004b84: MLOAD 00004b85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004ba6: DUP2 00004ba7: MSTORE 00004ba8: PUSH1 0x20 00004baa: PUSH1 0x04 00004bac: DUP3 00004bad: ADD 00004bae: MSTORE 00004baf: PUSH1 0x1d 00004bb1: PUSH1 0x24 00004bb3: DUP3 00004bb4: ADD 00004bb5: MSTORE 00004bb6: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00004bd7: PUSH1 0x44 00004bd9: DUP3 00004bda: ADD 00004bdb: MSTORE 00004bdc: PUSH1 0x64 00004bde: ADD 00004bdf: PUSH2 0x1744 00004be2: JUMP 00004be3: JUMPDEST 00004be4: POP 00004be5: DUP2 00004be6: PUSH2 0x39ce 00004be9: JUMP 00004bea: JUMPDEST 00004beb: PUSH2 0x39ce 00004bee: DUP4 00004bef: DUP4 00004bf0: PUSH2 0x4e9c 00004bf3: JUMP 00004bf4: JUMPDEST 00004bf5: PUSH1 0x60 00004bf7: PUSH2 0x104f 00004bfa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004c0f: DUP4 00004c10: AND 00004c11: PUSH1 0x14 00004c13: JUMPDEST 00004c14: PUSH1 0x60 00004c16: PUSH1 0x00 00004c18: PUSH2 0x4c22 00004c1b: DUP4 00004c1c: PUSH1 0x02 00004c1e: PUSH2 0x5db9 00004c21: JUMP 00004c22: JUMPDEST 00004c23: PUSH2 0x4c2d 00004c26: SWAP1 00004c27: PUSH1 0x02 00004c29: PUSH2 0x583c 00004c2c: JUMP 00004c2d: JUMPDEST 00004c2e: PUSH8 0xffffffffffffffff 00004c37: DUP2 00004c38: GT 00004c39: ISZERO 00004c3a: PUSH2 0x4c45 00004c3d: JUMPI 00004c3e: PUSH2 0x4c45 00004c41: PUSH2 0x5532 00004c44: JUMP 00004c45: JUMPDEST 00004c46: PUSH1 0x40 00004c48: MLOAD 00004c49: SWAP1 00004c4a: DUP1 00004c4b: DUP3 00004c4c: MSTORE 00004c4d: DUP1 00004c4e: PUSH1 0x1f 00004c50: ADD 00004c51: PUSH1 0x1f 00004c53: NOT 00004c54: AND 00004c55: PUSH1 0x20 00004c57: ADD 00004c58: DUP3 00004c59: ADD 00004c5a: PUSH1 0x40 00004c5c: MSTORE 00004c5d: DUP1 00004c5e: ISZERO 00004c5f: PUSH2 0x4c6f 00004c62: JUMPI 00004c63: PUSH1 0x20 00004c65: DUP3 00004c66: ADD 00004c67: DUP2 00004c68: DUP1 00004c69: CALLDATASIZE 00004c6a: DUP4 00004c6b: CALLDATACOPY 00004c6c: ADD 00004c6d: SWAP1 00004c6e: POP 00004c6f: JUMPDEST 00004c70: POP 00004c71: SWAP1 00004c72: POP 00004c73: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00004c94: DUP2 00004c95: PUSH1 0x00 00004c97: DUP2 00004c98: MLOAD 00004c99: DUP2 00004c9a: LT 00004c9b: PUSH2 0x4ca6 00004c9e: JUMPI 00004c9f: PUSH2 0x4ca6 00004ca2: PUSH2 0x5ae4 00004ca5: JUMP 00004ca6: JUMPDEST 00004ca7: PUSH1 0x20 00004ca9: ADD 00004caa: ADD 00004cab: SWAP1 00004cac: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004ccc: NOT 00004ccd: AND 00004cce: SWAP1 00004ccf: DUP2 00004cd0: PUSH1 0x00 00004cd2: BYTE 00004cd3: SWAP1 00004cd4: MSTORE8 00004cd5: POP 00004cd6: PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 00004cf7: DUP2 00004cf8: PUSH1 0x01 00004cfa: DUP2 00004cfb: MLOAD 00004cfc: DUP2 00004cfd: LT 00004cfe: PUSH2 0x4d09 00004d01: JUMPI 00004d02: PUSH2 0x4d09 00004d05: PUSH2 0x5ae4 00004d08: JUMP 00004d09: JUMPDEST 00004d0a: PUSH1 0x20 00004d0c: ADD 00004d0d: ADD 00004d0e: SWAP1 00004d0f: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004d2f: NOT 00004d30: AND 00004d31: SWAP1 00004d32: DUP2 00004d33: PUSH1 0x00 00004d35: BYTE 00004d36: SWAP1 00004d37: MSTORE8 00004d38: POP 00004d39: PUSH1 0x00 00004d3b: PUSH2 0x4d45 00004d3e: DUP5 00004d3f: PUSH1 0x02 00004d41: PUSH2 0x5db9 00004d44: JUMP 00004d45: JUMPDEST 00004d46: PUSH2 0x4d50 00004d49: SWAP1 00004d4a: PUSH1 0x01 00004d4c: PUSH2 0x583c 00004d4f: JUMP 00004d50: JUMPDEST 00004d51: SWAP1 00004d52: POP 00004d53: JUMPDEST 00004d54: PUSH1 0x01 00004d56: DUP2 00004d57: GT 00004d58: ISZERO 00004d59: PUSH2 0x4ded 00004d5c: JUMPI 00004d5d: PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 00004d7e: DUP6 00004d7f: PUSH1 0x0f 00004d81: AND 00004d82: PUSH1 0x10 00004d84: DUP2 00004d85: LT 00004d86: PUSH2 0x4d91 00004d89: JUMPI 00004d8a: PUSH2 0x4d91 00004d8d: PUSH2 0x5ae4 00004d90: JUMP 00004d91: JUMPDEST 00004d92: BYTE 00004d93: PUSH1 0xf8 00004d95: SHL 00004d96: DUP3 00004d97: DUP3 00004d98: DUP2 00004d99: MLOAD 00004d9a: DUP2 00004d9b: LT 00004d9c: PUSH2 0x4da7 00004d9f: JUMPI 00004da0: PUSH2 0x4da7 00004da3: PUSH2 0x5ae4 00004da6: JUMP 00004da7: JUMPDEST 00004da8: PUSH1 0x20 00004daa: ADD 00004dab: ADD 00004dac: SWAP1 00004dad: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004dcd: NOT 00004dce: AND 00004dcf: SWAP1 00004dd0: DUP2 00004dd1: PUSH1 0x00 00004dd3: BYTE 00004dd4: SWAP1 00004dd5: MSTORE8 00004dd6: POP 00004dd7: PUSH1 0x04 00004dd9: SWAP5 00004dda: SWAP1 00004ddb: SWAP5 00004ddc: SHR 00004ddd: SWAP4 00004dde: PUSH2 0x4de6 00004de1: DUP2 00004de2: PUSH2 0x5dd0 00004de5: JUMP 00004de6: JUMPDEST 00004de7: SWAP1 00004de8: POP 00004de9: PUSH2 0x4d53 00004dec: JUMP 00004ded: JUMPDEST 00004dee: POP 00004def: DUP4 00004df0: ISZERO 00004df1: PUSH2 0x1109 00004df4: JUMPI 00004df5: PUSH1 0x40 00004df7: MLOAD 00004df8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004e19: DUP2 00004e1a: MSTORE 00004e1b: PUSH1 0x20 00004e1d: PUSH1 0x04 00004e1f: DUP3 00004e20: ADD 00004e21: DUP2 00004e22: SWAP1 00004e23: MSTORE 00004e24: PUSH1 0x24 00004e26: DUP3 00004e27: ADD 00004e28: MSTORE 00004e29: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74 00004e4a: PUSH1 0x44 00004e4c: DUP3 00004e4d: ADD 00004e4e: MSTORE 00004e4f: PUSH1 0x64 00004e51: ADD 00004e52: PUSH2 0x1744 00004e55: JUMP 00004e56: JUMPDEST 00004e57: PUSH1 0x00 00004e59: PUSH2 0x104f 00004e5c: DUP3 00004e5d: SLOAD 00004e5e: SWAP1 00004e5f: JUMP 00004e60: JUMPDEST 00004e61: PUSH1 0x00 00004e63: PUSH2 0x1109 00004e66: DUP4 00004e67: DUP4 00004e68: PUSH2 0x4ee0 00004e6b: JUMP 00004e6c: JUMPDEST 00004e6d: PUSH1 0x00 00004e6f: PUSH2 0x1109 00004e72: DUP4 00004e73: DUP4 00004e74: PUSH2 0x4f0a 00004e77: JUMP 00004e78: JUMPDEST 00004e79: PUSH1 0x00 00004e7b: DUP2 00004e7c: DUP2 00004e7d: MSTORE 00004e7e: PUSH1 0x01 00004e80: DUP4 00004e81: ADD 00004e82: PUSH1 0x20 00004e84: MSTORE 00004e85: PUSH1 0x40 00004e87: DUP2 00004e88: KECCAK256 00004e89: SLOAD 00004e8a: ISZERO 00004e8b: ISZERO 00004e8c: PUSH2 0x1109 00004e8f: JUMP 00004e90: JUMPDEST 00004e91: PUSH1 0x00 00004e93: PUSH2 0x1109 00004e96: DUP4 00004e97: DUP4 00004e98: PUSH2 0x4f59 00004e9b: JUMP 00004e9c: JUMPDEST 00004e9d: DUP2 00004e9e: MLOAD 00004e9f: ISZERO 00004ea0: PUSH2 0x4eac 00004ea3: JUMPI 00004ea4: DUP2 00004ea5: MLOAD 00004ea6: DUP1 00004ea7: DUP4 00004ea8: PUSH1 0x20 00004eaa: ADD 00004eab: REVERT 00004eac: JUMPDEST 00004ead: DUP1 00004eae: PUSH1 0x40 00004eb0: MLOAD 00004eb1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004ed2: DUP2 00004ed3: MSTORE 00004ed4: PUSH1 0x04 00004ed6: ADD 00004ed7: PUSH2 0x1744 00004eda: SWAP2 00004edb: SWAP1 00004edc: PUSH2 0x50fc 00004edf: JUMP 00004ee0: JUMPDEST 00004ee1: PUSH1 0x00 00004ee3: DUP3 00004ee4: PUSH1 0x00 00004ee6: ADD 00004ee7: DUP3 00004ee8: DUP2 00004ee9: SLOAD 00004eea: DUP2 00004eeb: LT 00004eec: PUSH2 0x4ef7 00004eef: JUMPI 00004ef0: PUSH2 0x4ef7 00004ef3: PUSH2 0x5ae4 00004ef6: JUMP 00004ef7: JUMPDEST 00004ef8: SWAP1 00004ef9: PUSH1 0x00 00004efb: MSTORE 00004efc: PUSH1 0x20 00004efe: PUSH1 0x00 00004f00: KECCAK256 00004f01: ADD 00004f02: SLOAD 00004f03: SWAP1 00004f04: POP 00004f05: SWAP3 00004f06: SWAP2 00004f07: POP 00004f08: POP 00004f09: JUMP 00004f0a: JUMPDEST 00004f0b: PUSH1 0x00 00004f0d: DUP2 00004f0e: DUP2 00004f0f: MSTORE 00004f10: PUSH1 0x01 00004f12: DUP4 00004f13: ADD 00004f14: PUSH1 0x20 00004f16: MSTORE 00004f17: PUSH1 0x40 00004f19: DUP2 00004f1a: KECCAK256 00004f1b: SLOAD 00004f1c: PUSH2 0x4f51 00004f1f: JUMPI 00004f20: POP 00004f21: DUP2 00004f22: SLOAD 00004f23: PUSH1 0x01 00004f25: DUP2 00004f26: DUP2 00004f27: ADD 00004f28: DUP5 00004f29: SSTORE 00004f2a: PUSH1 0x00 00004f2c: DUP5 00004f2d: DUP2 00004f2e: MSTORE 00004f2f: PUSH1 0x20 00004f31: DUP1 00004f32: DUP3 00004f33: KECCAK256 00004f34: SWAP1 00004f35: SWAP4 00004f36: ADD 00004f37: DUP5 00004f38: SWAP1 00004f39: SSTORE 00004f3a: DUP5 00004f3b: SLOAD 00004f3c: DUP5 00004f3d: DUP3 00004f3e: MSTORE 00004f3f: DUP3 00004f40: DUP7 00004f41: ADD 00004f42: SWAP1 00004f43: SWAP4 00004f44: MSTORE 00004f45: PUSH1 0x40 00004f47: SWAP1 00004f48: KECCAK256 00004f49: SWAP2 00004f4a: SWAP1 00004f4b: SWAP2 00004f4c: SSTORE 00004f4d: PUSH2 0x104f 00004f50: JUMP 00004f51: JUMPDEST 00004f52: POP 00004f53: PUSH1 0x00 00004f55: PUSH2 0x104f 00004f58: JUMP 00004f59: JUMPDEST 00004f5a: PUSH1 0x00 00004f5c: DUP2 00004f5d: DUP2 00004f5e: MSTORE 00004f5f: PUSH1 0x01 00004f61: DUP4 00004f62: ADD 00004f63: PUSH1 0x20 00004f65: MSTORE 00004f66: PUSH1 0x40 00004f68: DUP2 00004f69: KECCAK256 00004f6a: SLOAD 00004f6b: DUP1 00004f6c: ISZERO 00004f6d: PUSH2 0x5042 00004f70: JUMPI 00004f71: PUSH1 0x00 00004f73: PUSH2 0x4f7d 00004f76: PUSH1 0x01 00004f78: DUP4 00004f79: PUSH2 0x5810 00004f7c: JUMP 00004f7d: JUMPDEST 00004f7e: DUP6 00004f7f: SLOAD 00004f80: SWAP1 00004f81: SWAP2 00004f82: POP 00004f83: PUSH1 0x00 00004f85: SWAP1 00004f86: PUSH2 0x4f91 00004f89: SWAP1 00004f8a: PUSH1 0x01 00004f8c: SWAP1 00004f8d: PUSH2 0x5810 00004f90: JUMP 00004f91: JUMPDEST 00004f92: SWAP1 00004f93: POP 00004f94: DUP2 00004f95: DUP2 00004f96: EQ 00004f97: PUSH2 0x4ff6 00004f9a: JUMPI 00004f9b: PUSH1 0x00 00004f9d: DUP7 00004f9e: PUSH1 0x00 00004fa0: ADD 00004fa1: DUP3 00004fa2: DUP2 00004fa3: SLOAD 00004fa4: DUP2 00004fa5: LT 00004fa6: PUSH2 0x4fb1 00004fa9: JUMPI 00004faa: PUSH2 0x4fb1 00004fad: PUSH2 0x5ae4 00004fb0: JUMP 00004fb1: JUMPDEST 00004fb2: SWAP1 00004fb3: PUSH1 0x00 00004fb5: MSTORE 00004fb6: PUSH1 0x20 00004fb8: PUSH1 0x00 00004fba: KECCAK256 00004fbb: ADD 00004fbc: SLOAD 00004fbd: SWAP1 00004fbe: POP 00004fbf: DUP1 00004fc0: DUP8 00004fc1: PUSH1 0x00 00004fc3: ADD 00004fc4: DUP5 00004fc5: DUP2 00004fc6: SLOAD 00004fc7: DUP2 00004fc8: LT 00004fc9: PUSH2 0x4fd4 00004fcc: JUMPI 00004fcd: PUSH2 0x4fd4 00004fd0: PUSH2 0x5ae4 00004fd3: JUMP 00004fd4: JUMPDEST 00004fd5: PUSH1 0x00 00004fd7: SWAP2 00004fd8: DUP3 00004fd9: MSTORE 00004fda: PUSH1 0x20 00004fdc: DUP1 00004fdd: DUP4 00004fde: KECCAK256 00004fdf: SWAP1 00004fe0: SWAP2 00004fe1: ADD 00004fe2: SWAP3 00004fe3: SWAP1 00004fe4: SWAP3 00004fe5: SSTORE 00004fe6: SWAP2 00004fe7: DUP3 00004fe8: MSTORE 00004fe9: PUSH1 0x01 00004feb: DUP9 00004fec: ADD 00004fed: SWAP1 00004fee: MSTORE 00004fef: PUSH1 0x40 00004ff1: SWAP1 00004ff2: KECCAK256 00004ff3: DUP4 00004ff4: SWAP1 00004ff5: SSTORE 00004ff6: JUMPDEST 00004ff7: DUP6 00004ff8: SLOAD 00004ff9: DUP7 00004ffa: SWAP1 00004ffb: DUP1 00004ffc: PUSH2 0x5007 00004fff: JUMPI 00005000: PUSH2 0x5007 00005003: PUSH2 0x5e05 00005006: JUMP 00005007: JUMPDEST 00005008: PUSH1 0x01 0000500a: SWAP1 0000500b: SUB 0000500c: DUP2 0000500d: DUP2 0000500e: SWAP1 0000500f: PUSH1 0x00 00005011: MSTORE 00005012: PUSH1 0x20 00005014: PUSH1 0x00 00005016: KECCAK256 00005017: ADD 00005018: PUSH1 0x00 0000501a: SWAP1 0000501b: SSTORE 0000501c: SWAP1 0000501d: SSTORE 0000501e: DUP6 0000501f: PUSH1 0x01 00005021: ADD 00005022: PUSH1 0x00 00005024: DUP7 00005025: DUP2 00005026: MSTORE 00005027: PUSH1 0x20 00005029: ADD 0000502a: SWAP1 0000502b: DUP2 0000502c: MSTORE 0000502d: PUSH1 0x20 0000502f: ADD 00005030: PUSH1 0x00 00005032: KECCAK256 00005033: PUSH1 0x00 00005035: SWAP1 00005036: SSTORE 00005037: PUSH1 0x01 00005039: SWAP4 0000503a: POP 0000503b: POP 0000503c: POP 0000503d: POP 0000503e: PUSH2 0x104f 00005041: JUMP 00005042: JUMPDEST 00005043: PUSH1 0x00 00005045: SWAP2 00005046: POP 00005047: POP 00005048: PUSH2 0x104f 0000504b: JUMP 0000504c: JUMPDEST 0000504d: PUSH1 0x00 0000504f: PUSH1 0x20 00005051: DUP3 00005052: DUP5 00005053: SUB 00005054: SLT 00005055: ISZERO 00005056: PUSH2 0x505e 00005059: JUMPI 0000505a: PUSH1 0x00 0000505c: DUP1 0000505d: REVERT 0000505e: JUMPDEST 0000505f: DUP2 00005060: CALLDATALOAD 00005061: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00005082: DUP2 00005083: AND 00005084: DUP2 00005085: EQ 00005086: PUSH2 0x1109 00005089: JUMPI 0000508a: PUSH1 0x00 0000508c: DUP1 0000508d: REVERT 0000508e: JUMPDEST 0000508f: PUSH1 0x00 00005091: JUMPDEST 00005092: DUP4 00005093: DUP2 00005094: LT 00005095: ISZERO 00005096: PUSH2 0x50a9 00005099: JUMPI 0000509a: DUP2 0000509b: DUP2 0000509c: ADD 0000509d: MLOAD 0000509e: DUP4 0000509f: DUP3 000050a0: ADD 000050a1: MSTORE 000050a2: PUSH1 0x20 000050a4: ADD 000050a5: PUSH2 0x5091 000050a8: JUMP 000050a9: JUMPDEST 000050aa: POP 000050ab: POP 000050ac: PUSH1 0x00 000050ae: SWAP2 000050af: ADD 000050b0: MSTORE 000050b1: JUMP 000050b2: JUMPDEST 000050b3: PUSH1 0x00 000050b5: DUP2 000050b6: MLOAD 000050b7: DUP1 000050b8: DUP5 000050b9: MSTORE 000050ba: PUSH2 0x50ca 000050bd: DUP2 000050be: PUSH1 0x20 000050c0: DUP7 000050c1: ADD 000050c2: PUSH1 0x20 000050c4: DUP7 000050c5: ADD 000050c6: PUSH2 0x508e 000050c9: JUMP 000050ca: JUMPDEST 000050cb: PUSH1 0x1f 000050cd: ADD 000050ce: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000050ef: AND 000050f0: SWAP3 000050f1: SWAP1 000050f2: SWAP3 000050f3: ADD 000050f4: PUSH1 0x20 000050f6: ADD 000050f7: SWAP3 000050f8: SWAP2 000050f9: POP 000050fa: POP 000050fb: JUMP 000050fc: JUMPDEST 000050fd: PUSH1 0x20 000050ff: DUP2 00005100: MSTORE 00005101: PUSH1 0x00 00005103: PUSH2 0x1109 00005106: PUSH1 0x20 00005108: DUP4 00005109: ADD 0000510a: DUP5 0000510b: PUSH2 0x50b2 0000510e: JUMP 0000510f: JUMPDEST 00005110: PUSH1 0x00 00005112: PUSH1 0x20 00005114: DUP3 00005115: DUP5 00005116: SUB 00005117: SLT 00005118: ISZERO 00005119: PUSH2 0x5121 0000511c: JUMPI 0000511d: PUSH1 0x00 0000511f: DUP1 00005120: REVERT 00005121: JUMPDEST 00005122: POP 00005123: CALLDATALOAD 00005124: SWAP2 00005125: SWAP1 00005126: POP 00005127: JUMP 00005128: JUMPDEST 00005129: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000513e: DUP2 0000513f: AND 00005140: DUP2 00005141: EQ 00005142: PUSH2 0x2d70 00005145: JUMPI 00005146: PUSH1 0x00 00005148: DUP1 00005149: REVERT 0000514a: JUMPDEST 0000514b: PUSH1 0x00 0000514d: DUP1 0000514e: PUSH1 0x40 00005150: DUP4 00005151: DUP6 00005152: SUB 00005153: SLT 00005154: ISZERO 00005155: PUSH2 0x515d 00005158: JUMPI 00005159: PUSH1 0x00 0000515b: DUP1 0000515c: REVERT 0000515d: JUMPDEST 0000515e: DUP3 0000515f: CALLDATALOAD 00005160: PUSH2 0x5168 00005163: DUP2 00005164: PUSH2 0x5128 00005167: JUMP 00005168: JUMPDEST 00005169: SWAP5 0000516a: PUSH1 0x20 0000516c: SWAP4 0000516d: SWAP1 0000516e: SWAP4 0000516f: ADD 00005170: CALLDATALOAD 00005171: SWAP4 00005172: POP 00005173: POP 00005174: POP 00005175: JUMP 00005176: JUMPDEST 00005177: PUSH1 0x00 00005179: DUP1 0000517a: PUSH1 0x00 0000517c: PUSH1 0x60 0000517e: DUP5 0000517f: DUP7 00005180: SUB 00005181: SLT 00005182: ISZERO 00005183: PUSH2 0x518b 00005186: JUMPI 00005187: PUSH1 0x00 00005189: DUP1 0000518a: REVERT 0000518b: JUMPDEST 0000518c: DUP4 0000518d: CALLDATALOAD 0000518e: PUSH2 0x5196 00005191: DUP2 00005192: PUSH2 0x5128 00005195: JUMP 00005196: JUMPDEST 00005197: SWAP3 00005198: POP 00005199: PUSH1 0x20 0000519b: DUP5 0000519c: ADD 0000519d: CALLDATALOAD 0000519e: PUSH2 0x51a6 000051a1: DUP2 000051a2: PUSH2 0x5128 000051a5: JUMP 000051a6: JUMPDEST 000051a7: SWAP3 000051a8: SWAP6 000051a9: SWAP3 000051aa: SWAP5 000051ab: POP 000051ac: POP 000051ad: POP 000051ae: PUSH1 0x40 000051b0: SWAP2 000051b1: SWAP1 000051b2: SWAP2 000051b3: ADD 000051b4: CALLDATALOAD 000051b5: SWAP1 000051b6: JUMP 000051b7: JUMPDEST 000051b8: PUSH1 0x00 000051ba: DUP1 000051bb: PUSH1 0x00 000051bd: PUSH1 0x60 000051bf: DUP5 000051c0: DUP7 000051c1: SUB 000051c2: SLT 000051c3: ISZERO 000051c4: PUSH2 0x51cc 000051c7: JUMPI 000051c8: PUSH1 0x00 000051ca: DUP1 000051cb: REVERT 000051cc: JUMPDEST 000051cd: POP 000051ce: POP 000051cf: DUP2 000051d0: CALLDATALOAD 000051d1: SWAP4 000051d2: PUSH1 0x20 000051d4: DUP4 000051d5: ADD 000051d6: CALLDATALOAD 000051d7: SWAP4 000051d8: POP 000051d9: PUSH1 0x40 000051db: SWAP1 000051dc: SWAP3 000051dd: ADD 000051de: CALLDATALOAD 000051df: SWAP2 000051e0: SWAP1 000051e1: POP 000051e2: JUMP 000051e3: JUMPDEST 000051e4: PUSH1 0x00 000051e6: DUP1 000051e7: PUSH1 0x40 000051e9: DUP4 000051ea: DUP6 000051eb: SUB 000051ec: SLT 000051ed: ISZERO 000051ee: PUSH2 0x51f6 000051f1: JUMPI 000051f2: PUSH1 0x00 000051f4: DUP1 000051f5: REVERT 000051f6: JUMPDEST 000051f7: DUP3 000051f8: CALLDATALOAD 000051f9: SWAP2 000051fa: POP 000051fb: PUSH1 0x20 000051fd: DUP4 000051fe: ADD 000051ff: CALLDATALOAD 00005200: PUSH2 0x5208 00005203: DUP2 00005204: PUSH2 0x5128 00005207: JUMP 00005208: JUMPDEST 00005209: DUP1 0000520a: SWAP2 0000520b: POP 0000520c: POP 0000520d: SWAP3 0000520e: POP 0000520f: SWAP3 00005210: SWAP1 00005211: POP 00005212: JUMP 00005213: JUMPDEST 00005214: PUSH1 0x00 00005216: PUSH1 0x20 00005218: DUP3 00005219: DUP5 0000521a: SUB 0000521b: SLT 0000521c: ISZERO 0000521d: PUSH2 0x5225 00005220: JUMPI 00005221: PUSH1 0x00 00005223: DUP1 00005224: REVERT 00005225: JUMPDEST 00005226: DUP2 00005227: CALLDATALOAD 00005228: PUSH2 0x1109 0000522b: DUP2 0000522c: PUSH2 0x5128 0000522f: JUMP 00005230: JUMPDEST 00005231: PUSH1 0x00 00005233: DUP1 00005234: DUP4 00005235: PUSH1 0x1f 00005237: DUP5 00005238: ADD 00005239: SLT 0000523a: PUSH2 0x5242 0000523d: JUMPI 0000523e: PUSH1 0x00 00005240: DUP1 00005241: REVERT 00005242: JUMPDEST 00005243: POP 00005244: DUP2 00005245: CALLDATALOAD 00005246: PUSH8 0xffffffffffffffff 0000524f: DUP2 00005250: GT 00005251: ISZERO 00005252: PUSH2 0x525a 00005255: JUMPI 00005256: PUSH1 0x00 00005258: DUP1 00005259: REVERT 0000525a: JUMPDEST 0000525b: PUSH1 0x20 0000525d: DUP4 0000525e: ADD 0000525f: SWAP2 00005260: POP 00005261: DUP4 00005262: PUSH1 0x20 00005264: DUP3 00005265: DUP6 00005266: ADD 00005267: ADD 00005268: GT 00005269: ISZERO 0000526a: PUSH2 0x3937 0000526d: JUMPI 0000526e: PUSH1 0x00 00005270: DUP1 00005271: REVERT 00005272: JUMPDEST 00005273: PUSH1 0x00 00005275: DUP1 00005276: PUSH1 0x00 00005278: PUSH1 0x40 0000527a: DUP5 0000527b: DUP7 0000527c: SUB 0000527d: SLT 0000527e: ISZERO 0000527f: PUSH2 0x5287 00005282: JUMPI 00005283: PUSH1 0x00 00005285: DUP1 00005286: REVERT 00005287: JUMPDEST 00005288: DUP4 00005289: CALLDATALOAD 0000528a: SWAP3 0000528b: POP 0000528c: PUSH1 0x20 0000528e: DUP5 0000528f: ADD 00005290: CALLDATALOAD 00005291: PUSH8 0xffffffffffffffff 0000529a: DUP2 0000529b: GT 0000529c: ISZERO 0000529d: PUSH2 0x52a5 000052a0: JUMPI 000052a1: PUSH1 0x00 000052a3: DUP1 000052a4: REVERT 000052a5: JUMPDEST 000052a6: PUSH2 0x52b1 000052a9: DUP7 000052aa: DUP3 000052ab: DUP8 000052ac: ADD 000052ad: PUSH2 0x5230 000052b0: JUMP 000052b1: JUMPDEST 000052b2: SWAP5 000052b3: SWAP8 000052b4: SWAP1 000052b5: SWAP7 000052b6: POP 000052b7: SWAP4 000052b8: SWAP5 000052b9: POP 000052ba: POP 000052bb: POP 000052bc: POP 000052bd: JUMP 000052be: JUMPDEST 000052bf: PUSH1 0x00 000052c1: DUP1 000052c2: PUSH1 0x00 000052c4: DUP1 000052c5: PUSH1 0x60 000052c7: DUP6 000052c8: DUP8 000052c9: SUB 000052ca: SLT 000052cb: ISZERO 000052cc: PUSH2 0x52d4 000052cf: JUMPI 000052d0: PUSH1 0x00 000052d2: DUP1 000052d3: REVERT 000052d4: JUMPDEST 000052d5: DUP5 000052d6: CALLDATALOAD 000052d7: SWAP4 000052d8: POP 000052d9: PUSH1 0x20 000052db: DUP6 000052dc: ADD 000052dd: CALLDATALOAD 000052de: SWAP3 000052df: POP 000052e0: PUSH1 0x40 000052e2: DUP6 000052e3: ADD 000052e4: CALLDATALOAD 000052e5: PUSH8 0xffffffffffffffff 000052ee: DUP1 000052ef: DUP3 000052f0: GT 000052f1: ISZERO 000052f2: PUSH2 0x52fa 000052f5: JUMPI 000052f6: PUSH1 0x00 000052f8: DUP1 000052f9: REVERT 000052fa: JUMPDEST 000052fb: DUP2 000052fc: DUP8 000052fd: ADD 000052fe: SWAP2 000052ff: POP 00005300: DUP8 00005301: PUSH1 0x1f 00005303: DUP4 00005304: ADD 00005305: SLT 00005306: PUSH2 0x530e 00005309: JUMPI 0000530a: PUSH1 0x00 0000530c: DUP1 0000530d: REVERT 0000530e: JUMPDEST 0000530f: DUP2 00005310: CALLDATALOAD 00005311: DUP2 00005312: DUP2 00005313: GT 00005314: ISZERO 00005315: PUSH2 0x531d 00005318: JUMPI 00005319: PUSH1 0x00 0000531b: DUP1 0000531c: REVERT 0000531d: JUMPDEST 0000531e: DUP9 0000531f: PUSH1 0x20 00005321: DUP3 00005322: PUSH1 0x05 00005324: SHL 00005325: DUP6 00005326: ADD 00005327: ADD 00005328: GT 00005329: ISZERO 0000532a: PUSH2 0x5332 0000532d: JUMPI 0000532e: PUSH1 0x00 00005330: DUP1 00005331: REVERT 00005332: JUMPDEST 00005333: SWAP6 00005334: SWAP9 00005335: SWAP5 00005336: SWAP8 00005337: POP 00005338: POP 00005339: PUSH1 0x20 0000533b: ADD 0000533c: SWAP5 0000533d: POP 0000533e: POP 0000533f: POP 00005340: JUMP 00005341: JUMPDEST 00005342: DUP1 00005343: CALLDATALOAD 00005344: DUP1 00005345: ISZERO 00005346: ISZERO 00005347: DUP2 00005348: EQ 00005349: PUSH2 0x5351 0000534c: JUMPI 0000534d: PUSH1 0x00 0000534f: DUP1 00005350: REVERT 00005351: JUMPDEST 00005352: SWAP2 00005353: SWAP1 00005354: POP 00005355: JUMP 00005356: JUMPDEST 00005357: PUSH1 0x00 00005359: DUP1 0000535a: PUSH1 0x40 0000535c: DUP4 0000535d: DUP6 0000535e: SUB 0000535f: SLT 00005360: ISZERO 00005361: PUSH2 0x5369 00005364: JUMPI 00005365: PUSH1 0x00 00005367: DUP1 00005368: REVERT 00005369: JUMPDEST 0000536a: DUP3 0000536b: CALLDATALOAD 0000536c: SWAP2 0000536d: POP 0000536e: PUSH2 0x5379 00005371: PUSH1 0x20 00005373: DUP5 00005374: ADD 00005375: PUSH2 0x5341 00005378: JUMP 00005379: JUMPDEST 0000537a: SWAP1 0000537b: POP 0000537c: SWAP3 0000537d: POP 0000537e: SWAP3 0000537f: SWAP1 00005380: POP 00005381: JUMP 00005382: JUMPDEST 00005383: PUSH1 0x00 00005385: DUP1 00005386: PUSH1 0x40 00005388: DUP4 00005389: DUP6 0000538a: SUB 0000538b: SLT 0000538c: ISZERO 0000538d: PUSH2 0x5395 00005390: JUMPI 00005391: PUSH1 0x00 00005393: DUP1 00005394: REVERT 00005395: JUMPDEST 00005396: POP 00005397: POP 00005398: DUP1 00005399: CALLDATALOAD 0000539a: SWAP3 0000539b: PUSH1 0x20 0000539d: SWAP1 0000539e: SWAP2 0000539f: ADD 000053a0: CALLDATALOAD 000053a1: SWAP2 000053a2: POP 000053a3: JUMP 000053a4: JUMPDEST 000053a5: PUSH1 0x00 000053a7: DUP1 000053a8: PUSH1 0x00 000053aa: DUP1 000053ab: PUSH1 0x00 000053ad: DUP1 000053ae: PUSH1 0xa0 000053b0: DUP8 000053b1: DUP10 000053b2: SUB 000053b3: SLT 000053b4: ISZERO 000053b5: PUSH2 0x53bd 000053b8: JUMPI 000053b9: PUSH1 0x00 000053bb: DUP1 000053bc: REVERT 000053bd: JUMPDEST 000053be: DUP7 000053bf: CALLDATALOAD 000053c0: PUSH2 0x53c8 000053c3: DUP2 000053c4: PUSH2 0x5128 000053c7: JUMP 000053c8: JUMPDEST 000053c9: SWAP6 000053ca: POP 000053cb: PUSH1 0x20 000053cd: DUP8 000053ce: ADD 000053cf: CALLDATALOAD 000053d0: PUSH2 0x53d8 000053d3: DUP2 000053d4: PUSH2 0x5128 000053d7: JUMP 000053d8: JUMPDEST 000053d9: SWAP5 000053da: POP 000053db: PUSH1 0x40 000053dd: DUP8 000053de: ADD 000053df: CALLDATALOAD 000053e0: SWAP4 000053e1: POP 000053e2: PUSH1 0x60 000053e4: DUP8 000053e5: ADD 000053e6: CALLDATALOAD 000053e7: PUSH8 0xffffffffffffffff 000053f0: DUP2 000053f1: GT 000053f2: ISZERO 000053f3: PUSH2 0x53fb 000053f6: JUMPI 000053f7: PUSH1 0x00 000053f9: DUP1 000053fa: REVERT 000053fb: JUMPDEST 000053fc: PUSH2 0x5407 000053ff: DUP10 00005400: DUP3 00005401: DUP11 00005402: ADD 00005403: PUSH2 0x5230 00005406: JUMP 00005407: JUMPDEST 00005408: SWAP8 00005409: SWAP11 0000540a: SWAP7 0000540b: SWAP10 0000540c: POP 0000540d: SWAP5 0000540e: SWAP8 0000540f: SWAP5 00005410: SWAP7 00005411: SWAP6 00005412: PUSH1 0x80 00005414: SWAP1 00005415: SWAP6 00005416: ADD 00005417: CALLDATALOAD 00005418: SWAP5 00005419: SWAP4 0000541a: POP 0000541b: POP 0000541c: POP 0000541d: POP 0000541e: JUMP 0000541f: JUMPDEST 00005420: PUSH1 0x00 00005422: DUP1 00005423: PUSH1 0x00 00005425: PUSH1 0x60 00005427: DUP5 00005428: DUP7 00005429: SUB 0000542a: SLT 0000542b: ISZERO 0000542c: PUSH2 0x5434 0000542f: JUMPI 00005430: PUSH1 0x00 00005432: DUP1 00005433: REVERT 00005434: JUMPDEST 00005435: DUP4 00005436: CALLDATALOAD 00005437: SWAP3 00005438: POP 00005439: PUSH1 0x20 0000543b: DUP5 0000543c: ADD 0000543d: CALLDATALOAD 0000543e: PUSH2 0x5446 00005441: DUP2 00005442: PUSH2 0x5128 00005445: JUMP 00005446: JUMPDEST 00005447: SWAP2 00005448: POP 00005449: PUSH1 0x40 0000544b: DUP5 0000544c: ADD 0000544d: CALLDATALOAD 0000544e: PUSH2 0x5456 00005451: DUP2 00005452: PUSH2 0x5128 00005455: JUMP 00005456: JUMPDEST 00005457: DUP1 00005458: SWAP2 00005459: POP 0000545a: POP 0000545b: SWAP3 0000545c: POP 0000545d: SWAP3 0000545e: POP 0000545f: SWAP3 00005460: JUMP 00005461: JUMPDEST 00005462: PUSH1 0x00 00005464: DUP1 00005465: PUSH1 0x40 00005467: DUP4 00005468: DUP6 00005469: SUB 0000546a: SLT 0000546b: ISZERO 0000546c: PUSH2 0x5474 0000546f: JUMPI 00005470: PUSH1 0x00 00005472: DUP1 00005473: REVERT 00005474: JUMPDEST 00005475: DUP3 00005476: CALLDATALOAD 00005477: PUSH2 0x547f 0000547a: DUP2 0000547b: PUSH2 0x5128 0000547e: JUMP 0000547f: JUMPDEST 00005480: SWAP2 00005481: POP 00005482: PUSH2 0x5379 00005485: PUSH1 0x20 00005487: DUP5 00005488: ADD 00005489: PUSH2 0x5341 0000548c: JUMP 0000548d: JUMPDEST 0000548e: PUSH1 0x00 00005490: DUP1 00005491: PUSH1 0x00 00005493: DUP1 00005494: PUSH1 0x00 00005496: DUP1 00005497: PUSH1 0x00 00005499: PUSH1 0xe0 0000549b: DUP9 0000549c: DUP11 0000549d: SUB 0000549e: SLT 0000549f: ISZERO 000054a0: PUSH2 0x54a8 000054a3: JUMPI 000054a4: PUSH1 0x00 000054a6: DUP1 000054a7: REVERT 000054a8: JUMPDEST 000054a9: DUP8 000054aa: CALLDATALOAD 000054ab: PUSH2 0x54b3 000054ae: DUP2 000054af: PUSH2 0x5128 000054b2: JUMP 000054b3: JUMPDEST 000054b4: SWAP7 000054b5: POP 000054b6: PUSH1 0x20 000054b8: DUP9 000054b9: ADD 000054ba: CALLDATALOAD 000054bb: PUSH2 0x54c3 000054be: DUP2 000054bf: PUSH2 0x5128 000054c2: JUMP 000054c3: JUMPDEST 000054c4: SWAP6 000054c5: POP 000054c6: PUSH1 0x40 000054c8: DUP9 000054c9: ADD 000054ca: CALLDATALOAD 000054cb: SWAP5 000054cc: POP 000054cd: PUSH1 0x60 000054cf: DUP9 000054d0: ADD 000054d1: CALLDATALOAD 000054d2: SWAP4 000054d3: POP 000054d4: PUSH1 0x80 000054d6: DUP9 000054d7: ADD 000054d8: CALLDATALOAD 000054d9: PUSH1 0xff 000054db: DUP2 000054dc: AND 000054dd: DUP2 000054de: EQ 000054df: PUSH2 0x54e7 000054e2: JUMPI 000054e3: PUSH1 0x00 000054e5: DUP1 000054e6: REVERT 000054e7: JUMPDEST 000054e8: SWAP7 000054e9: SWAP10 000054ea: SWAP6 000054eb: SWAP9 000054ec: POP 000054ed: SWAP4 000054ee: SWAP7 000054ef: SWAP3 000054f0: SWAP6 000054f1: SWAP5 000054f2: PUSH1 0xa0 000054f4: DUP5 000054f5: ADD 000054f6: CALLDATALOAD 000054f7: SWAP5 000054f8: POP 000054f9: PUSH1 0xc0 000054fb: SWAP1 000054fc: SWAP4 000054fd: ADD 000054fe: CALLDATALOAD 000054ff: SWAP3 00005500: SWAP2 00005501: POP 00005502: POP 00005503: JUMP 00005504: JUMPDEST 00005505: PUSH1 0x00 00005507: DUP1 00005508: PUSH1 0x40 0000550a: DUP4 0000550b: DUP6 0000550c: SUB 0000550d: SLT 0000550e: ISZERO 0000550f: PUSH2 0x5517 00005512: JUMPI 00005513: PUSH1 0x00 00005515: DUP1 00005516: REVERT 00005517: JUMPDEST 00005518: DUP3 00005519: CALLDATALOAD 0000551a: PUSH2 0x5522 0000551d: DUP2 0000551e: PUSH2 0x5128 00005521: JUMP 00005522: JUMPDEST 00005523: SWAP2 00005524: POP 00005525: PUSH1 0x20 00005527: DUP4 00005528: ADD 00005529: CALLDATALOAD 0000552a: PUSH2 0x5208 0000552d: DUP2 0000552e: PUSH2 0x5128 00005531: JUMP 00005532: JUMPDEST 00005533: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00005554: PUSH1 0x00 00005556: MSTORE 00005557: PUSH1 0x41 00005559: PUSH1 0x04 0000555b: MSTORE 0000555c: PUSH1 0x24 0000555e: PUSH1 0x00 00005560: REVERT 00005561: JUMPDEST 00005562: PUSH1 0x40 00005564: MLOAD 00005565: PUSH1 0x1f 00005567: DUP3 00005568: ADD 00005569: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000558a: AND 0000558b: DUP2 0000558c: ADD 0000558d: PUSH8 0xffffffffffffffff 00005596: DUP2 00005597: GT 00005598: DUP3 00005599: DUP3 0000559a: LT 0000559b: OR 0000559c: ISZERO 0000559d: PUSH2 0x55a8 000055a0: JUMPI 000055a1: PUSH2 0x55a8 000055a4: PUSH2 0x5532 000055a7: JUMP 000055a8: JUMPDEST 000055a9: PUSH1 0x40 000055ab: MSTORE 000055ac: SWAP2 000055ad: SWAP1 000055ae: POP 000055af: JUMP 000055b0: JUMPDEST 000055b1: PUSH1 0x00 000055b3: PUSH8 0xffffffffffffffff 000055bc: DUP3 000055bd: GT 000055be: ISZERO 000055bf: PUSH2 0x55ca 000055c2: JUMPI 000055c3: PUSH2 0x55ca 000055c6: PUSH2 0x5532 000055c9: JUMP 000055ca: JUMPDEST 000055cb: POP 000055cc: PUSH1 0x05 000055ce: SHL 000055cf: PUSH1 0x20 000055d1: ADD 000055d2: SWAP1 000055d3: JUMP 000055d4: JUMPDEST 000055d5: PUSH1 0x00 000055d7: DUP3 000055d8: PUSH1 0x1f 000055da: DUP4 000055db: ADD 000055dc: SLT 000055dd: PUSH2 0x55e5 000055e0: JUMPI 000055e1: PUSH1 0x00 000055e3: DUP1 000055e4: REVERT 000055e5: JUMPDEST 000055e6: DUP2 000055e7: CALLDATALOAD 000055e8: PUSH1 0x20 000055ea: PUSH2 0x55fa 000055ed: PUSH2 0x55f5 000055f0: DUP4 000055f1: PUSH2 0x55b0 000055f4: JUMP 000055f5: JUMPDEST 000055f6: PUSH2 0x5561 000055f9: JUMP 000055fa: JUMPDEST 000055fb: DUP3 000055fc: DUP2 000055fd: MSTORE 000055fe: PUSH1 0x05 00005600: SWAP3 00005601: SWAP1 00005602: SWAP3 00005603: SHL 00005604: DUP5 00005605: ADD 00005606: DUP2 00005607: ADD 00005608: SWAP2 00005609: DUP2 0000560a: DUP2 0000560b: ADD 0000560c: SWAP1 0000560d: DUP7 0000560e: DUP5 0000560f: GT 00005610: ISZERO 00005611: PUSH2 0x5619 00005614: JUMPI 00005615: PUSH1 0x00 00005617: DUP1 00005618: REVERT 00005619: JUMPDEST 0000561a: DUP3 0000561b: DUP7 0000561c: ADD 0000561d: JUMPDEST 0000561e: DUP5 0000561f: DUP2 00005620: LT 00005621: ISZERO 00005622: PUSH2 0x5634 00005625: JUMPI 00005626: DUP1 00005627: CALLDATALOAD 00005628: DUP4 00005629: MSTORE 0000562a: SWAP2 0000562b: DUP4 0000562c: ADD 0000562d: SWAP2 0000562e: DUP4 0000562f: ADD 00005630: PUSH2 0x561d 00005633: JUMP 00005634: JUMPDEST 00005635: POP 00005636: SWAP7 00005637: SWAP6 00005638: POP 00005639: POP 0000563a: POP 0000563b: POP 0000563c: POP 0000563d: POP 0000563e: JUMP 0000563f: JUMPDEST 00005640: PUSH1 0x00 00005642: PUSH8 0xffffffffffffffff 0000564b: DUP3 0000564c: GT 0000564d: ISZERO 0000564e: PUSH2 0x5659 00005651: JUMPI 00005652: PUSH2 0x5659 00005655: PUSH2 0x5532 00005658: JUMP 00005659: JUMPDEST 0000565a: POP 0000565b: PUSH1 0x1f 0000565d: ADD 0000565e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000567f: AND 00005680: PUSH1 0x20 00005682: ADD 00005683: SWAP1 00005684: JUMP 00005685: JUMPDEST 00005686: PUSH1 0x00 00005688: DUP3 00005689: PUSH1 0x1f 0000568b: DUP4 0000568c: ADD 0000568d: SLT 0000568e: PUSH2 0x5696 00005691: JUMPI 00005692: PUSH1 0x00 00005694: DUP1 00005695: REVERT 00005696: JUMPDEST 00005697: DUP2 00005698: CALLDATALOAD 00005699: PUSH2 0x56a4 0000569c: PUSH2 0x55f5 0000569f: DUP3 000056a0: PUSH2 0x563f 000056a3: JUMP 000056a4: JUMPDEST 000056a5: DUP2 000056a6: DUP2 000056a7: MSTORE 000056a8: DUP5 000056a9: PUSH1 0x20 000056ab: DUP4 000056ac: DUP7 000056ad: ADD 000056ae: ADD 000056af: GT 000056b0: ISZERO 000056b1: PUSH2 0x56b9 000056b4: JUMPI 000056b5: PUSH1 0x00 000056b7: DUP1 000056b8: REVERT 000056b9: JUMPDEST 000056ba: DUP2 000056bb: PUSH1 0x20 000056bd: DUP6 000056be: ADD 000056bf: PUSH1 0x20 000056c1: DUP4 000056c2: ADD 000056c3: CALLDATACOPY 000056c4: PUSH1 0x00 000056c6: SWAP2 000056c7: DUP2 000056c8: ADD 000056c9: PUSH1 0x20 000056cb: ADD 000056cc: SWAP2 000056cd: SWAP1 000056ce: SWAP2 000056cf: MSTORE 000056d0: SWAP4 000056d1: SWAP3 000056d2: POP 000056d3: POP 000056d4: POP 000056d5: JUMP 000056d6: JUMPDEST 000056d7: PUSH1 0x00 000056d9: DUP1 000056da: PUSH1 0x00 000056dc: DUP1 000056dd: PUSH1 0x80 000056df: DUP6 000056e0: DUP8 000056e1: SUB 000056e2: SLT 000056e3: ISZERO 000056e4: PUSH2 0x56ec 000056e7: JUMPI 000056e8: PUSH1 0x00 000056ea: DUP1 000056eb: REVERT 000056ec: JUMPDEST 000056ed: DUP5 000056ee: CALLDATALOAD 000056ef: PUSH8 0xffffffffffffffff 000056f8: DUP1 000056f9: DUP3 000056fa: GT 000056fb: ISZERO 000056fc: PUSH2 0x5704 000056ff: JUMPI 00005700: PUSH1 0x00 00005702: DUP1 00005703: REVERT 00005704: JUMPDEST 00005705: DUP2 00005706: DUP8 00005707: ADD 00005708: SWAP2 00005709: POP 0000570a: DUP8 0000570b: PUSH1 0x1f 0000570d: DUP4 0000570e: ADD 0000570f: SLT 00005710: PUSH2 0x5718 00005713: JUMPI 00005714: PUSH1 0x00 00005716: DUP1 00005717: REVERT 00005718: JUMPDEST 00005719: DUP2 0000571a: CALLDATALOAD 0000571b: PUSH1 0x20 0000571d: PUSH2 0x5728 00005720: PUSH2 0x55f5 00005723: DUP4 00005724: PUSH2 0x55b0 00005727: JUMP 00005728: JUMPDEST 00005729: DUP3 0000572a: DUP2 0000572b: MSTORE 0000572c: PUSH1 0x05 0000572e: SWAP3 0000572f: SWAP1 00005730: SWAP3 00005731: SHL 00005732: DUP5 00005733: ADD 00005734: DUP2 00005735: ADD 00005736: SWAP2 00005737: DUP2 00005738: DUP2 00005739: ADD 0000573a: SWAP1 0000573b: DUP12 0000573c: DUP5 0000573d: GT 0000573e: ISZERO 0000573f: PUSH2 0x5747 00005742: JUMPI 00005743: PUSH1 0x00 00005745: DUP1 00005746: REVERT 00005747: JUMPDEST 00005748: SWAP5 00005749: DUP3 0000574a: ADD 0000574b: SWAP5 0000574c: JUMPDEST 0000574d: DUP4 0000574e: DUP7 0000574f: LT 00005750: ISZERO 00005751: PUSH2 0x576e 00005754: JUMPI 00005755: DUP6 00005756: CALLDATALOAD 00005757: PUSH2 0x575f 0000575a: DUP2 0000575b: PUSH2 0x5128 0000575e: JUMP 0000575f: JUMPDEST 00005760: DUP3 00005761: MSTORE 00005762: SWAP5 00005763: DUP3 00005764: ADD 00005765: SWAP5 00005766: SWAP1 00005767: DUP3 00005768: ADD 00005769: SWAP1 0000576a: PUSH2 0x574c 0000576d: JUMP 0000576e: JUMPDEST 0000576f: SWAP9 00005770: POP 00005771: POP 00005772: DUP9 00005773: ADD 00005774: CALLDATALOAD 00005775: SWAP3 00005776: POP 00005777: POP 00005778: DUP1 00005779: DUP3 0000577a: GT 0000577b: ISZERO 0000577c: PUSH2 0x5784 0000577f: JUMPI 00005780: PUSH1 0x00 00005782: DUP1 00005783: REVERT 00005784: JUMPDEST 00005785: PUSH2 0x5790 00005788: DUP9 00005789: DUP4 0000578a: DUP10 0000578b: ADD 0000578c: PUSH2 0x55d4 0000578f: JUMP 00005790: JUMPDEST 00005791: SWAP5 00005792: POP 00005793: PUSH1 0x40 00005795: DUP8 00005796: ADD 00005797: CALLDATALOAD 00005798: SWAP2 00005799: POP 0000579a: DUP1 0000579b: DUP3 0000579c: GT 0000579d: ISZERO 0000579e: PUSH2 0x57a6 000057a1: JUMPI 000057a2: PUSH1 0x00 000057a4: DUP1 000057a5: REVERT 000057a6: JUMPDEST 000057a7: PUSH2 0x57b2 000057aa: DUP9 000057ab: DUP4 000057ac: DUP10 000057ad: ADD 000057ae: PUSH2 0x55d4 000057b1: JUMP 000057b2: JUMPDEST 000057b3: SWAP4 000057b4: POP 000057b5: PUSH1 0x60 000057b7: DUP8 000057b8: ADD 000057b9: CALLDATALOAD 000057ba: SWAP2 000057bb: POP 000057bc: DUP1 000057bd: DUP3 000057be: GT 000057bf: ISZERO 000057c0: PUSH2 0x57c8 000057c3: JUMPI 000057c4: PUSH1 0x00 000057c6: DUP1 000057c7: REVERT 000057c8: JUMPDEST 000057c9: POP 000057ca: PUSH2 0x57d5 000057cd: DUP8 000057ce: DUP3 000057cf: DUP9 000057d0: ADD 000057d1: PUSH2 0x5685 000057d4: JUMP 000057d5: JUMPDEST 000057d6: SWAP2 000057d7: POP 000057d8: POP 000057d9: SWAP3 000057da: SWAP6 000057db: SWAP2 000057dc: SWAP5 000057dd: POP 000057de: SWAP3 000057df: POP 000057e0: JUMP 000057e1: JUMPDEST 000057e2: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00005803: PUSH1 0x00 00005805: MSTORE 00005806: PUSH1 0x11 00005808: PUSH1 0x04 0000580a: MSTORE 0000580b: PUSH1 0x24 0000580d: PUSH1 0x00 0000580f: REVERT 00005810: JUMPDEST 00005811: DUP2 00005812: DUP2 00005813: SUB 00005814: DUP2 00005815: DUP2 00005816: GT 00005817: ISZERO 00005818: PUSH2 0x104f 0000581b: JUMPI 0000581c: PUSH2 0x104f 0000581f: PUSH2 0x57e1 00005822: JUMP 00005823: JUMPDEST 00005824: PUSH1 0x00 00005826: PUSH1 0x20 00005828: DUP3 00005829: DUP5 0000582a: SUB 0000582b: SLT 0000582c: ISZERO 0000582d: PUSH2 0x5835 00005830: JUMPI 00005831: PUSH1 0x00 00005833: DUP1 00005834: REVERT 00005835: JUMPDEST 00005836: POP 00005837: MLOAD 00005838: SWAP2 00005839: SWAP1 0000583a: POP 0000583b: JUMP 0000583c: JUMPDEST 0000583d: DUP1 0000583e: DUP3 0000583f: ADD 00005840: DUP1 00005841: DUP3 00005842: GT 00005843: ISZERO 00005844: PUSH2 0x104f 00005847: JUMPI 00005848: PUSH2 0x104f 0000584b: PUSH2 0x57e1 0000584e: JUMP 0000584f: JUMPDEST 00005850: PUSH1 0x01 00005852: DUP2 00005853: DUP2 00005854: SHR 00005855: SWAP1 00005856: DUP3 00005857: AND 00005858: DUP1 00005859: PUSH2 0x5863 0000585c: JUMPI 0000585d: PUSH1 0x7f 0000585f: DUP3 00005860: AND 00005861: SWAP2 00005862: POP 00005863: JUMPDEST 00005864: PUSH1 0x20 00005866: DUP3 00005867: LT 00005868: DUP2 00005869: SUB 0000586a: PUSH2 0x33f4 0000586d: JUMPI 0000586e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000588f: PUSH1 0x00 00005891: MSTORE 00005892: PUSH1 0x22 00005894: PUSH1 0x04 00005896: MSTORE 00005897: PUSH1 0x24 00005899: PUSH1 0x00 0000589b: REVERT 0000589c: JUMPDEST 0000589d: PUSH1 0x00 0000589f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000058c0: DUP3 000058c1: SUB 000058c2: PUSH2 0x58cd 000058c5: JUMPI 000058c6: PUSH2 0x58cd 000058c9: PUSH2 0x57e1 000058cc: JUMP 000058cd: JUMPDEST 000058ce: POP 000058cf: PUSH1 0x01 000058d1: ADD 000058d2: SWAP1 000058d3: JUMP 000058d4: JUMPDEST 000058d5: DUP2 000058d6: DUP4 000058d7: MSTORE 000058d8: DUP2 000058d9: DUP2 000058da: PUSH1 0x20 000058dc: DUP6 000058dd: ADD 000058de: CALLDATACOPY 000058df: POP 000058e0: PUSH1 0x00 000058e2: PUSH1 0x20 000058e4: DUP3 000058e5: DUP5 000058e6: ADD 000058e7: ADD 000058e8: MSTORE 000058e9: PUSH1 0x00 000058eb: PUSH1 0x20 000058ed: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000590e: PUSH1 0x1f 00005910: DUP5 00005911: ADD 00005912: AND 00005913: DUP5 00005914: ADD 00005915: ADD 00005916: SWAP1 00005917: POP 00005918: SWAP3 00005919: SWAP2 0000591a: POP 0000591b: POP 0000591c: JUMP 0000591d: JUMPDEST 0000591e: PUSH1 0x20 00005920: DUP2 00005921: MSTORE 00005922: PUSH1 0x00 00005924: PUSH2 0x39ce 00005927: PUSH1 0x20 00005929: DUP4 0000592a: ADD 0000592b: DUP5 0000592c: DUP7 0000592d: PUSH2 0x58d4 00005930: JUMP 00005931: JUMPDEST 00005932: PUSH1 0x00 00005934: PUSH2 0x593f 00005937: PUSH2 0x55f5 0000593a: DUP5 0000593b: PUSH2 0x55b0 0000593e: JUMP 0000593f: JUMPDEST 00005940: DUP1 00005941: DUP5 00005942: DUP3 00005943: MSTORE 00005944: PUSH1 0x20 00005946: DUP1 00005947: DUP4 00005948: ADD 00005949: SWAP3 0000594a: POP 0000594b: DUP6 0000594c: PUSH1 0x05 0000594e: SHL 0000594f: DUP6 00005950: ADD 00005951: CALLDATASIZE 00005952: DUP2 00005953: GT 00005954: ISZERO 00005955: PUSH2 0x595d 00005958: JUMPI 00005959: PUSH1 0x00 0000595b: DUP1 0000595c: REVERT 0000595d: JUMPDEST 0000595e: DUP6 0000595f: JUMPDEST 00005960: DUP2 00005961: DUP2 00005962: LT 00005963: ISZERO 00005964: PUSH2 0x5999 00005967: JUMPI 00005968: DUP1 00005969: CALLDATALOAD 0000596a: PUSH8 0xffffffffffffffff 00005973: DUP2 00005974: GT 00005975: ISZERO 00005976: PUSH2 0x597f 00005979: JUMPI 0000597a: PUSH1 0x00 0000597c: DUP1 0000597d: DUP2 0000597e: REVERT 0000597f: JUMPDEST 00005980: PUSH2 0x598b 00005983: CALLDATASIZE 00005984: DUP3 00005985: DUP11 00005986: ADD 00005987: PUSH2 0x5685 0000598a: JUMP 0000598b: JUMPDEST 0000598c: DUP7 0000598d: MSTORE 0000598e: POP 0000598f: SWAP4 00005990: DUP3 00005991: ADD 00005992: SWAP4 00005993: DUP3 00005994: ADD 00005995: PUSH2 0x595f 00005998: JUMP 00005999: JUMPDEST 0000599a: POP 0000599b: SWAP2 0000599c: SWAP7 0000599d: SWAP6 0000599e: POP 0000599f: POP 000059a0: POP 000059a1: POP 000059a2: POP 000059a3: POP 000059a4: JUMP 000059a5: JUMPDEST 000059a6: PUSH1 0x00 000059a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000059bd: DUP1 000059be: DUP10 000059bf: AND 000059c0: DUP4 000059c1: MSTORE 000059c2: DUP1 000059c3: DUP9 000059c4: AND 000059c5: PUSH1 0x20 000059c7: DUP5 000059c8: ADD 000059c9: MSTORE 000059ca: POP 000059cb: DUP6 000059cc: PUSH1 0x40 000059ce: DUP4 000059cf: ADD 000059d0: MSTORE 000059d1: DUP5 000059d2: PUSH1 0x60 000059d4: DUP4 000059d5: ADD 000059d6: MSTORE 000059d7: PUSH1 0xa0 000059d9: PUSH1 0x80 000059db: DUP4 000059dc: ADD 000059dd: MSTORE 000059de: PUSH2 0x59eb 000059e1: PUSH1 0xa0 000059e3: DUP4 000059e4: ADD 000059e5: DUP5 000059e6: DUP7 000059e7: PUSH2 0x58d4 000059ea: JUMP 000059eb: JUMPDEST 000059ec: SWAP9 000059ed: SWAP8 000059ee: POP 000059ef: POP 000059f0: POP 000059f1: POP 000059f2: POP 000059f3: POP 000059f4: POP 000059f5: POP 000059f6: JUMP 000059f7: JUMPDEST 000059f8: PUSH1 0x00 000059fa: PUSH1 0x20 000059fc: DUP1 000059fd: DUP4 000059fe: DUP6 000059ff: SUB 00005a00: SLT 00005a01: ISZERO 00005a02: PUSH2 0x5a0a 00005a05: JUMPI 00005a06: PUSH1 0x00 00005a08: DUP1 00005a09: REVERT 00005a0a: JUMPDEST 00005a0b: DUP3 00005a0c: MLOAD 00005a0d: PUSH8 0xffffffffffffffff 00005a16: DUP1 00005a17: DUP3 00005a18: GT 00005a19: ISZERO 00005a1a: PUSH2 0x5a22 00005a1d: JUMPI 00005a1e: PUSH1 0x00 00005a20: DUP1 00005a21: REVERT 00005a22: JUMPDEST 00005a23: DUP2 00005a24: DUP6 00005a25: ADD 00005a26: SWAP2 00005a27: POP 00005a28: DUP6 00005a29: PUSH1 0x1f 00005a2b: DUP4 00005a2c: ADD 00005a2d: SLT 00005a2e: PUSH2 0x5a36 00005a31: JUMPI 00005a32: PUSH1 0x00 00005a34: DUP1 00005a35: REVERT 00005a36: JUMPDEST 00005a37: DUP2 00005a38: MLOAD 00005a39: PUSH2 0x5a44 00005a3c: PUSH2 0x55f5 00005a3f: DUP3 00005a40: PUSH2 0x55b0 00005a43: JUMP 00005a44: JUMPDEST 00005a45: DUP2 00005a46: DUP2 00005a47: MSTORE 00005a48: PUSH1 0x05 00005a4a: SWAP2 00005a4b: SWAP1 00005a4c: SWAP2 00005a4d: SHL 00005a4e: DUP4 00005a4f: ADD 00005a50: DUP5 00005a51: ADD 00005a52: SWAP1 00005a53: DUP5 00005a54: DUP2 00005a55: ADD 00005a56: SWAP1 00005a57: DUP9 00005a58: DUP4 00005a59: GT 00005a5a: ISZERO 00005a5b: PUSH2 0x5a63 00005a5e: JUMPI 00005a5f: PUSH1 0x00 00005a61: DUP1 00005a62: REVERT 00005a63: JUMPDEST 00005a64: DUP6 00005a65: DUP6 00005a66: ADD 00005a67: JUMPDEST 00005a68: DUP4 00005a69: DUP2 00005a6a: LT 00005a6b: ISZERO 00005a6c: PUSH2 0x5ad7 00005a6f: JUMPI 00005a70: DUP1 00005a71: MLOAD 00005a72: DUP6 00005a73: DUP2 00005a74: GT 00005a75: ISZERO 00005a76: PUSH2 0x5a7f 00005a79: JUMPI 00005a7a: PUSH1 0x00 00005a7c: DUP1 00005a7d: DUP2 00005a7e: REVERT 00005a7f: JUMPDEST 00005a80: DUP7 00005a81: ADD 00005a82: PUSH1 0x3f 00005a84: DUP2 00005a85: ADD 00005a86: DUP12 00005a87: SGT 00005a88: PUSH2 0x5a91 00005a8b: JUMPI 00005a8c: PUSH1 0x00 00005a8e: DUP1 00005a8f: DUP2 00005a90: REVERT 00005a91: JUMPDEST 00005a92: DUP8 00005a93: DUP2 00005a94: ADD 00005a95: MLOAD 00005a96: PUSH1 0x40 00005a98: PUSH2 0x5aa3 00005a9b: PUSH2 0x55f5 00005a9e: DUP4 00005a9f: PUSH2 0x563f 00005aa2: JUMP 00005aa3: JUMPDEST 00005aa4: DUP3 00005aa5: DUP2 00005aa6: MSTORE 00005aa7: DUP14 00005aa8: DUP3 00005aa9: DUP5 00005aaa: DUP7 00005aab: ADD 00005aac: ADD 00005aad: GT 00005aae: ISZERO 00005aaf: PUSH2 0x5ab8 00005ab2: JUMPI 00005ab3: PUSH1 0x00 00005ab5: DUP1 00005ab6: DUP2 00005ab7: REVERT 00005ab8: JUMPDEST 00005ab9: PUSH2 0x5ac7 00005abc: DUP4 00005abd: DUP13 00005abe: DUP4 00005abf: ADD 00005ac0: DUP5 00005ac1: DUP8 00005ac2: ADD 00005ac3: PUSH2 0x508e 00005ac6: JUMP 00005ac7: JUMPDEST 00005ac8: DUP7 00005ac9: MSTORE 00005aca: POP 00005acb: POP 00005acc: POP 00005acd: SWAP2 00005ace: DUP7 00005acf: ADD 00005ad0: SWAP2 00005ad1: DUP7 00005ad2: ADD 00005ad3: PUSH2 0x5a67 00005ad6: JUMP 00005ad7: JUMPDEST 00005ad8: POP 00005ad9: SWAP9 00005ada: SWAP8 00005adb: POP 00005adc: POP 00005add: POP 00005ade: POP 00005adf: POP 00005ae0: POP 00005ae1: POP 00005ae2: POP 00005ae3: JUMP 00005ae4: JUMPDEST 00005ae5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00005b06: PUSH1 0x00 00005b08: MSTORE 00005b09: PUSH1 0x32 00005b0b: PUSH1 0x04 00005b0d: MSTORE 00005b0e: PUSH1 0x24 00005b10: PUSH1 0x00 00005b12: REVERT 00005b13: JUMPDEST 00005b14: PUSH1 0x00 00005b16: DUP1 00005b17: DUP4 00005b18: SLOAD 00005b19: DUP2 00005b1a: PUSH1 0x01 00005b1c: DUP3 00005b1d: DUP2 00005b1e: SHR 00005b1f: SWAP2 00005b20: POP 00005b21: DUP1 00005b22: DUP4 00005b23: AND 00005b24: DUP1 00005b25: PUSH2 0x5b2f 00005b28: JUMPI 00005b29: PUSH1 0x7f 00005b2b: DUP4 00005b2c: AND 00005b2d: SWAP3 00005b2e: POP 00005b2f: JUMPDEST 00005b30: PUSH1 0x20 00005b32: DUP1 00005b33: DUP5 00005b34: LT 00005b35: DUP3 00005b36: SUB 00005b37: PUSH2 0x5b67 00005b3a: JUMPI 00005b3b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00005b5c: DUP7 00005b5d: MSTORE 00005b5e: PUSH1 0x22 00005b60: PUSH1 0x04 00005b62: MSTORE 00005b63: PUSH1 0x24 00005b65: DUP7 00005b66: REVERT 00005b67: JUMPDEST 00005b68: DUP2 00005b69: DUP1 00005b6a: ISZERO 00005b6b: PUSH2 0x5b7b 00005b6e: JUMPI 00005b6f: PUSH1 0x01 00005b71: DUP2 00005b72: EQ 00005b73: PUSH2 0x5bae 00005b76: JUMPI 00005b77: PUSH2 0x5bdb 00005b7a: JUMP 00005b7b: JUMPDEST 00005b7c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00005b9d: DUP7 00005b9e: AND 00005b9f: DUP10 00005ba0: MSTORE 00005ba1: DUP5 00005ba2: ISZERO 00005ba3: ISZERO 00005ba4: DUP6 00005ba5: MUL 00005ba6: DUP10 00005ba7: ADD 00005ba8: SWAP7 00005ba9: POP 00005baa: PUSH2 0x5bdb 00005bad: JUMP 00005bae: JUMPDEST 00005baf: PUSH1 0x00 00005bb1: DUP11 00005bb2: DUP2 00005bb3: MSTORE 00005bb4: PUSH1 0x20 00005bb6: SWAP1 00005bb7: KECCAK256 00005bb8: PUSH1 0x00 00005bba: JUMPDEST 00005bbb: DUP7 00005bbc: DUP2 00005bbd: LT 00005bbe: ISZERO 00005bbf: PUSH2 0x5bd3 00005bc2: JUMPI 00005bc3: DUP2 00005bc4: SLOAD 00005bc5: DUP12 00005bc6: DUP3 00005bc7: ADD 00005bc8: MSTORE 00005bc9: SWAP1 00005bca: DUP6 00005bcb: ADD 00005bcc: SWAP1 00005bcd: DUP4 00005bce: ADD 00005bcf: PUSH2 0x5bba 00005bd2: JUMP 00005bd3: JUMPDEST 00005bd4: POP 00005bd5: POP 00005bd6: DUP5 00005bd7: DUP10 00005bd8: ADD 00005bd9: SWAP7 00005bda: POP 00005bdb: JUMPDEST 00005bdc: POP 00005bdd: SWAP5 00005bde: SWAP9 00005bdf: SWAP8 00005be0: POP 00005be1: POP 00005be2: POP 00005be3: POP 00005be4: POP 00005be5: POP 00005be6: POP 00005be7: POP 00005be8: JUMP 00005be9: JUMPDEST 00005bea: PUSH1 0x00 00005bec: PUSH1 0x20 00005bee: DUP1 00005bef: DUP4 00005bf0: ADD 00005bf1: DUP2 00005bf2: DUP5 00005bf3: MSTORE 00005bf4: DUP1 00005bf5: DUP6 00005bf6: MLOAD 00005bf7: DUP1 00005bf8: DUP4 00005bf9: MSTORE 00005bfa: PUSH1 0x40 00005bfc: DUP7 00005bfd: ADD 00005bfe: SWAP2 00005bff: POP 00005c00: PUSH1 0x40 00005c02: DUP2 00005c03: PUSH1 0x05 00005c05: SHL 00005c06: DUP8 00005c07: ADD 00005c08: ADD 00005c09: SWAP3 00005c0a: POP 00005c0b: DUP4 00005c0c: DUP8 00005c0d: ADD 00005c0e: PUSH1 0x00 00005c10: JUMPDEST 00005c11: DUP3 00005c12: DUP2 00005c13: LT 00005c14: ISZERO 00005c15: PUSH2 0x5c5c 00005c18: JUMPI 00005c19: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 00005c3a: DUP9 00005c3b: DUP7 00005c3c: SUB 00005c3d: ADD 00005c3e: DUP5 00005c3f: MSTORE 00005c40: PUSH2 0x5c4a 00005c43: DUP6 00005c44: DUP4 00005c45: MLOAD 00005c46: PUSH2 0x50b2 00005c49: JUMP 00005c4a: JUMPDEST 00005c4b: SWAP5 00005c4c: POP 00005c4d: SWAP3 00005c4e: DUP6 00005c4f: ADD 00005c50: SWAP3 00005c51: SWAP1 00005c52: DUP6 00005c53: ADD 00005c54: SWAP1 00005c55: PUSH1 0x01 00005c57: ADD 00005c58: PUSH2 0x5c10 00005c5b: JUMP 00005c5c: JUMPDEST 00005c5d: POP 00005c5e: SWAP3 00005c5f: SWAP8 00005c60: SWAP7 00005c61: POP 00005c62: POP 00005c63: POP 00005c64: POP 00005c65: POP 00005c66: POP 00005c67: POP 00005c68: JUMP 00005c69: JUMPDEST 00005c6a: PUSH1 0x00 00005c6c: PUSH1 0x80 00005c6e: DUP3 00005c6f: ADD 00005c70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00005c85: DUP1 00005c86: DUP9 00005c87: AND 00005c88: DUP5 00005c89: MSTORE 00005c8a: PUSH1 0x20 00005c8c: PUSH1 0x80 00005c8e: DUP2 00005c8f: DUP7 00005c90: ADD 00005c91: MSTORE 00005c92: DUP3 00005c93: DUP9 00005c94: MLOAD 00005c95: DUP1 00005c96: DUP6 00005c97: MSTORE 00005c98: PUSH1 0xa0 00005c9a: DUP8 00005c9b: ADD 00005c9c: SWAP2 00005c9d: POP 00005c9e: DUP3 00005c9f: DUP11 00005ca0: ADD 00005ca1: SWAP5 00005ca2: POP 00005ca3: PUSH1 0x00 00005ca5: JUMPDEST 00005ca6: DUP2 00005ca7: DUP2 00005ca8: LT 00005ca9: ISZERO 00005caa: PUSH2 0x5cc3 00005cad: JUMPI 00005cae: DUP6 00005caf: MLOAD 00005cb0: DUP6 00005cb1: AND 00005cb2: DUP4 00005cb3: MSTORE 00005cb4: SWAP5 00005cb5: DUP4 00005cb6: ADD 00005cb7: SWAP5 00005cb8: SWAP2 00005cb9: DUP4 00005cba: ADD 00005cbb: SWAP2 00005cbc: PUSH1 0x01 00005cbe: ADD 00005cbf: PUSH2 0x5ca5 00005cc2: JUMP 00005cc3: JUMPDEST 00005cc4: POP 00005cc5: POP 00005cc6: DUP6 00005cc7: DUP2 00005cc8: SUB 00005cc9: PUSH1 0x40 00005ccb: DUP8 00005ccc: ADD 00005ccd: MSTORE 00005cce: DUP8 00005ccf: MLOAD 00005cd0: DUP1 00005cd1: DUP3 00005cd2: MSTORE 00005cd3: SWAP1 00005cd4: DUP3 00005cd5: ADD 00005cd6: SWAP4 00005cd7: POP 00005cd8: SWAP2 00005cd9: POP 00005cda: DUP1 00005cdb: DUP8 00005cdc: ADD 00005cdd: PUSH1 0x00 00005cdf: JUMPDEST 00005ce0: DUP4 00005ce1: DUP2 00005ce2: LT 00005ce3: ISZERO 00005ce4: PUSH2 0x5cfb 00005ce7: JUMPI 00005ce8: DUP2 00005ce9: MLOAD 00005cea: DUP6 00005ceb: MSTORE 00005cec: SWAP4 00005ced: DUP3 00005cee: ADD 00005cef: SWAP4 00005cf0: SWAP1 00005cf1: DUP3 00005cf2: ADD 00005cf3: SWAP1 00005cf4: PUSH1 0x01 00005cf6: ADD 00005cf7: PUSH2 0x5cdf 00005cfa: JUMP 00005cfb: JUMPDEST 00005cfc: POP 00005cfd: POP 00005cfe: POP 00005cff: POP 00005d00: DUP3 00005d01: DUP2 00005d02: SUB 00005d03: PUSH1 0x60 00005d05: DUP5 00005d06: ADD 00005d07: MSTORE 00005d08: PUSH2 0x5d11 00005d0b: DUP2 00005d0c: DUP6 00005d0d: PUSH2 0x50b2 00005d10: JUMP 00005d11: JUMPDEST 00005d12: SWAP8 00005d13: SWAP7 00005d14: POP 00005d15: POP 00005d16: POP 00005d17: POP 00005d18: POP 00005d19: POP 00005d1a: POP 00005d1b: JUMP 00005d1c: JUMPDEST 00005d1d: PUSH1 0x00 00005d1f: DUP3 00005d20: MLOAD 00005d21: PUSH2 0x5d2e 00005d24: DUP2 00005d25: DUP5 00005d26: PUSH1 0x20 00005d28: DUP8 00005d29: ADD 00005d2a: PUSH2 0x508e 00005d2d: JUMP 00005d2e: JUMPDEST 00005d2f: SWAP2 00005d30: SWAP1 00005d31: SWAP2 00005d32: ADD 00005d33: SWAP3 00005d34: SWAP2 00005d35: POP 00005d36: POP 00005d37: JUMP 00005d38: JUMPDEST 00005d39: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000 00005d5a: DUP2 00005d5b: MSTORE 00005d5c: PUSH1 0x00 00005d5e: DUP4 00005d5f: MLOAD 00005d60: PUSH2 0x5d70 00005d63: DUP2 00005d64: PUSH1 0x17 00005d66: DUP6 00005d67: ADD 00005d68: PUSH1 0x20 00005d6a: DUP9 00005d6b: ADD 00005d6c: PUSH2 0x508e 00005d6f: JUMP 00005d70: JUMPDEST 00005d71: PUSH32 0x206973206d697373696e6720726f6c6520000000000000000000000000000000 00005d92: PUSH1 0x17 00005d94: SWAP2 00005d95: DUP5 00005d96: ADD 00005d97: SWAP2 00005d98: DUP3 00005d99: ADD 00005d9a: MSTORE 00005d9b: DUP4 00005d9c: MLOAD 00005d9d: PUSH2 0x5dad 00005da0: DUP2 00005da1: PUSH1 0x28 00005da3: DUP5 00005da4: ADD 00005da5: PUSH1 0x20 00005da7: DUP9 00005da8: ADD 00005da9: PUSH2 0x508e 00005dac: JUMP 00005dad: JUMPDEST 00005dae: ADD 00005daf: PUSH1 0x28 00005db1: ADD 00005db2: SWAP5 00005db3: SWAP4 00005db4: POP 00005db5: POP 00005db6: POP 00005db7: POP 00005db8: JUMP 00005db9: JUMPDEST 00005dba: DUP1 00005dbb: DUP3 00005dbc: MUL 00005dbd: DUP2 00005dbe: ISZERO 00005dbf: DUP3 00005dc0: DUP3 00005dc1: DIV 00005dc2: DUP5 00005dc3: EQ 00005dc4: OR 00005dc5: PUSH2 0x104f 00005dc8: JUMPI 00005dc9: PUSH2 0x104f 00005dcc: PUSH2 0x57e1 00005dcf: JUMP 00005dd0: JUMPDEST 00005dd1: PUSH1 0x00 00005dd3: DUP2 00005dd4: PUSH2 0x5ddf 00005dd7: JUMPI 00005dd8: PUSH2 0x5ddf 00005ddb: PUSH2 0x57e1 00005dde: JUMP 00005ddf: JUMPDEST 00005de0: POP 00005de1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00005e02: ADD 00005e03: SWAP1 00005e04: JUMP 00005e05: JUMPDEST 00005e06: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00005e27: PUSH1 0x00 00005e29: MSTORE 00005e2a: PUSH1 0x31 00005e2c: PUSH1 0x04 00005e2e: MSTORE 00005e2f: PUSH1 0x24 00005e31: PUSH1 0x00 00005e33: REVERT 00005e34: INVALID 00005e35: COINBASE 00005e36: PUSH5 0x6472657373 00005e3c: GASPRICE 00005e3d: KECCAK256 00005e3e: PUSH13 0x6f772d6c6576656c2064656c65 00005e4c: PUSH8 0x6174652063616c6c 00005e55: KECCAK256 00005e56: PUSH7 0x61696c6564a264 00005e5e: PUSH10 0x70667358221220e0d98a 00005e69: UNKNOWN(0xEB) 00005e6a: DUP15 00005e6b: UNKNOWN(0x2E) 00005e6c: UNKNOWN(0xBB) 00005e6d: UNKNOWN(0x2F) 00005e6e: PUSH0 00005e6f: UNKNOWN(0xCC) 00005e70: LOG1 00005e71: MSIZE 00005e72: UNKNOWN(0x23) 00005e73: SWAP11 00005e74: SGT 00005e75: PUSH24 0x79099263e7d3cea2d855eefe25649b7a64736f6c63430008 00005e8e: ISZERO 00005e8f: STOP 00005e90: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | yes | yes |
viewtrace_id: 0xa233208648a26385bc10fb6bf6c195c4736a342ec376bf46ef28d54c12dd44b0
call_targets:
0x2b31caa35900f4c8fe6151ccaf8d0ea4a89743a1, 0x2b33cf282f867a7ff693a66e11b0fcc5552e4425, 0x2bea101d992b58da3f52c4c2aaeb49d33f7dce14, 0x6ca84080381e43938476814be61b779a8bb6a600, 0x97287a4f35e583d924f78ad88db8afce1379189a, 0xb76cf0f1d2e1a606c14044607c8c44878aae7186
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "confirmed",
"attempts": 14,
"trace_id": "0xa233208648a26385bc10fb6bf6c195c4736a342ec376bf46ef28d54c12dd44b0",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x2b31caa35900f4c8fe6151ccaf8d0ea4a89743a1",
"0x2b33cf282f867a7ff693a66e11b0fcc5552e4425",
"0x2bea101d992b58da3f52c4c2aaeb49d33f7dce14",
"0x6ca84080381e43938476814be61b779a8bb6a600",
"0x97287a4f35e583d924f78ad88db8afce1379189a",
"0xb76cf0f1d2e1a606c14044607c8c44878aae7186"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf0f44260",
"selector": "0xf0f44260",
"calldata_variants": [
"0xf0f44260",
"0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf340fa01",
"selector": "0xf340fa01",
"calldata_variants": [
"0xf340fa01",
"0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7b9c18",
"selector": "0xfc7b9c18",
"calldata_variants": [
"0xfc7b9c18",
"0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf04f2707",
"selector": "0xf04f2707",
"calldata_variants": [
"0xf04f2707",
"0xf04f27070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd905777e",
"selector": "0xd905777e",
"calldata_variants": [
"0xd905777e",
"0xd905777e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddeadbb6",
"selector": "0xddeadbb6",
"calldata_variants": [
"0xddeadbb6",
"0xddeadbb60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 18699,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 9750,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10303,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| medium | math | codex | Division-by-zero in `_withdrawToVault` when adapter net assets are zero | 75 | no | — |
viewevidence_json{
"evidence": "`repayPerProtocol` divides by `assets` without a zero check.",
"locations": [
"src/steth/scWETHv2.sol:336",
"src/steth/scWETHv2.sol:356"
],
"recommendation": "Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.",
"exploit_scenario": "If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds."
}
|
| medium | oracle | codex | Chainlink price feeds used without freshness/positivity checks | 75 | no | — |
viewevidence_json{
"evidence": "PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.",
"locations": [
"src/steth/PriceConverter.sol:67",
"src/steth/PriceConverter.sol:83",
"src/steth/PriceConverter.sol:91"
],
"recommendation": "Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.",
"exploit_scenario": "If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly."
}
|
| medium | access_control | codex | Flashloan callback not restricted to Balancer vault | 75 | no | — |
viewevidence_json{
"evidence": "`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.",
"locations": [
"src/steth/scWETHv2.sol:225",
"src/sc4626.sol:109"
],
"recommendation": "Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.",
"exploit_scenario": "During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d
call_targets:
0x4c406c068106375724275cbff028770c544a1333
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4c406c068106375724275cbff028770c544a1333"
],
"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": "0xf0f44260",
"selector": "0xf0f44260",
"calldata_variants": [
"0xf0f44260",
"0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf340fa01",
"selector": "0xf340fa01",
"calldata_variants": [
"0xf340fa01",
"0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7b9c18",
"selector": "0xfc7b9c18",
"calldata_variants": [
"0xfc7b9c18",
"0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf04f2707",
"selector": "0xf04f2707",
"calldata_variants": [
"0xf04f2707",
"0xf04f27070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd905777e",
"selector": "0xd905777e",
"calldata_variants": [
"0xd905777e",
"0xd905777e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddeadbb6",
"selector": "0xddeadbb6",
"calldata_variants": [
"0xddeadbb6",
"0xddeadbb60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 8989,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "constant_zero",
"target_expression_category": "computed"
},
{
"pc": 13184,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 14876,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [
{
"pc": 9750,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10303,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 5
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d
call_targets:
0x4c406c068106375724275cbff028770c544a1333
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4c406c068106375724275cbff028770c544a1333"
],
"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": "0xf0f44260",
"selector": "0xf0f44260",
"calldata_variants": [
"0xf0f44260",
"0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf340fa01",
"selector": "0xf340fa01",
"calldata_variants": [
"0xf340fa01",
"0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7b9c18",
"selector": "0xfc7b9c18",
"calldata_variants": [
"0xfc7b9c18",
"0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf04f2707",
"selector": "0xf04f2707",
"calldata_variants": [
"0xf04f2707",
"0xf04f27070000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd905777e",
"selector": "0xd905777e",
"calldata_variants": [
"0xd905777e",
"0xd905777e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddeadbb6",
"selector": "0xddeadbb6",
"calldata_variants": [
"0xddeadbb6",
"0xddeadbb60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 13184,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 14876,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 15617,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": [
{
"pc": 9750,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 10303,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| low | upgradeability | codex | Delegatecall to adapter/swapper trusts upgradeable targets with full storage access | 65 | no | — |
viewevidence_json{
"evidence": "Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.",
"locations": [
"src/steth/BaseV2Vault.sol:100",
"src/steth/BaseV2Vault.sol:183",
"src/steth/BaseV2Vault.sol:196"
],
"recommendation": "Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.",
"exploit_scenario": "Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code."
}
|
| 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": 27
}
|