5c9136af-117b-4158-85c8-f4b226b611a7
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 |
|---|---|---|---|---|
| 30688 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75124 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 75125 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75126 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75127 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75128 | detector.run | complete | 1 / 3 | 1 week ago |
| 75129 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:750766] OpenAI Codex v0.77.0 (research preview)
[codex:750766] --------
[codex:750766] workdir: /tmp/codex-multi-9i6qo7oy
[codex:750766] model: gpt-5.2-codex
[codex:750766] provider: openai
[codex:750766] approval: never
[codex:750766] sandbox: read-only
[codex:750766] reasoning effort: xhigh
[codex:750766] reasoning summaries: auto
[codex:750766] session id: 019b6f7d-7276-7583-9d39-c138e6a5b261
[codex:750766] --------
[codex:750766] user
[codex:750766] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:750766] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:750766] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:750766]
[codex:750766] Scope rules:
[codex:750766] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:750766] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:750766]
[codex:750766] Output MUST be valid JSON matching the provided schema.
[codex:750766] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:750766] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:750766]
[codex:750766] Output constraints (IMPORTANT):
[codex:750766] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:750766] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:750766] mcp startup: no servers
[codex:750766]
[codex:750766] thinking
[codex:750766] **Preparing to read audit bundle file**
[codex:750766] exec
[codex:750766] /bin/bash -lc ls in /tmp/codex-multi-9i6qo7oy succeeded in 5ms:
[codex:750766] AUDIT_BUNDLE.txt
[codex:750766] codex-output-schema.json
[codex:750766] contracts
[codex:750766] exec
[codex:750766] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-9i6qo7oy succeeded in 5ms:
[codex:750766] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:750766]
[codex:750766] ================================================================================
[codex:750766] FILE: contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol
[codex:750766] ================================================================================
[codex:750766] // SPDX-License-Identifier: MIT
[codex:750766] // OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)
[codex:750766]
[codex:750766] pragma solidity ^0.8.0;
[codex:750766]
[codex:750766] /**
[codex:750766] * @dev Contract module that helps prevent reentrant calls to a function.
[codex:750766] *
[codex:750766] * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
[codex:750766] * available, which can be applied to functions to make sure there are no nested
[codex:750766] * (reentrant) calls to them.
[codex:750766] *
[codex:750766] * Note that because there is a single `nonReentrant` guard, functions marked as
[codex:750766] * `nonReentrant` may not call one another. This can be worked around by making
[codex:750766] * those functions `private`, and then adding `external` `nonReentrant` entry
[codex:750766]
[codex:750766] thinking
[codex:750766] **Handling truncated AUDIT_BUNDLE file**
[codex:750766] exec
[codex:750766] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9i6qo7oy succeeded in 7ms:
[codex:750766] 4:FILE: contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol
[codex:750766] 71:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:750766] 157:FILE: contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol
[codex:750766] 221:FILE: contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:750766] 341:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:750766] 567:FILE: contracts/contracts/AbstractDynaset.sol
[codex:750766] 1041:FILE: contracts/contracts/DToken.sol
[codex:750766] 1208:FILE: contracts/contracts/Dynaset.sol
[codex:750766] 1358:FILE: contracts/contracts/balancer/BConst.sol
[codex:750766] 1419:FILE: contracts/contracts/balancer/BNum.sol
[codex:750766] 1558:FILE: contracts/contracts/interfaces/IDynasetContract.sol
[codex:750766] 1642:FILE: contracts/contracts/interfaces/IDynasetTvlOracle.sol
[codex:750766] 1659:FILE: contracts/contracts/interfaces/IERC20.sol
[codex:750766] 1688:FILE: contracts/contracts/interfaces/IUniswapV2Pair.sol
[codex:750766] 1745:FILE: contracts/contracts/interfaces/IUniswapV2Router.sol
[codex:750766] 1802:FILE: contracts/contracts/interfaces/OneInchAggregator.sol
[codex:750766] 1823:FILE: contracts/contracts/libs/OneInchSwapValidation.sol
[codex:750766]
[codex:750766] thinking
[codex:750766] **Planning file reading with sed ranges**
[codex:750766] exec
[codex:750766] /bin/bash -lc "sed -n '567,1040p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9i6qo7oy succeeded in 5ms:
[codex:750766] FILE: contracts/contracts/AbstractDynaset.sol
[codex:750766] ================================================================================
[codex:750766] // SPDX-License-Identifier: GPL-3.0
[codex:750766] pragma solidity 0.8.15;
[codex:750766]
[codex:750766] /* ========== Internal Inheritance ========== */
[codex:750766] import {DToken} from "./DToken.sol";
[codex:750766]
[codex:750766] /* ========== Internal Interfaces ========== */
[codex:750766] import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:750766] import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
[codex:750766] import "./interfaces/IDynasetContract.sol";
[codex:750766] import "./interfaces/IUniswapV2Router.sol";
[codex:750766] import "./interfaces/IDynasetTvlOracle.sol";
[codex:750766] import "./balancer/BNum.sol";
[codex:750766]
[codex:750766] /************************************************************************************************
[codex:750766] Originally from https://github.com/balancer-labs/balancer-core/blob/master/contracts/BPool.sol
[codex:750766]
[codex:750766] This source code has been modified from the original, which was copied from the github repository
[codex:750766]
[codex:750766] thinking
[codex:750766] **Navigating to next DToken section**
[codex:750766] exec
[codex:750766] /bin/bash -lc "sed -n '1041,1207p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9i6qo7oy succeeded in 5ms:
[codex:750766] FILE: contracts/contracts/DToken.sol
[codex:750766] ================================================================================
[codex:750766] // SPDX-License-Identifier: GPL-3.0
[codex:750766] pragma solidity 0.8.15;
[codex:750766]
[codex:750766] import "./interfaces/IERC20.sol";
[codex:750766]
[codex:750766] /************************************************************************************************
[codex:750766] Originally from https://github.com/balancer-labs/balancer-core/blob/master/contracts/BToken.sol
[codex:750766]
[codex:750766] This source code has been modified from the original, which was copied from the github repository
[codex:750766] at commit hash f4ed5d65362a8d6cec21662fb6eae233b0babc1f.
[codex:750766]
[codex:750766] Subject to the GPL-3.0 license
[codex:750766] *************************************************************************************************/
[codex:750766]
[codex:750766] contract DTokenBase {
[codex:750766] mapping(address => uint256) internal _balance;
[codex:750766] mapping(address => mapping(address => uint256)) internal _allowance;
[codex:750766] uint256 internal _totalSupply;
[codex:750766]
[codex:750766] thinking
[codex:750766] **Continuing to view Dynaset file**
[codex:750766] exec
[codex:750766] /bin/bash -lc "sed -n '1208,1357p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9i6qo7oy succeeded in 5ms:
[codex:750766] FILE: contracts/contracts/Dynaset.sol
[codex:750766] ================================================================================
[codex:750766] // SPDX-License-Identifier: GPL-3.0
[codex:750766] pragma solidity 0.8.15;
[codex:750766]
[codex:750766] import "./libs/OneInchSwapValidation.sol";
[codex:750766] import "./interfaces/IUniswapV2Router.sol";
[codex:750766] import "./interfaces/OneInchAggregator.sol";
[codex:750766] import "./AbstractDynaset.sol";
[codex:750766]
[codex:750766] contract Dynaset is AbstractDynaset {
[codex:750766] using SafeERC20 for IERC20;
[codex:750766] using OneInchSwapValidation for address;
[codex:750766]
[codex:750766] /* ========== Constants ========== */
[codex:750766] address private constant ONEINCH_V4_AGREGATION_ROUTER = 0x1111111254fb6c44bAC0beD2854e76F90643097d;
[codex:750766] address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
[codex:750766]
[codex:750766] /* ========== State variables ========== */
[codex:750766] address public uniswapV2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
[codex:750766]
[codex:750766] thinking
[codex:750766] **Verifying completeness of interface files**
[codex:750766] exec
[codex:750766] /bin/bash -lc "sed -n '1358,1900p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9i6qo7oy succeeded in 5ms:
[codex:750766] FILE: contracts/contracts/balancer/BConst.sol
[codex:750766] ================================================================================
[codex:750766] // SPDX-License-Identifier: GPL-3.0
[codex:750766] pragma solidity 0.8.15;
[codex:750766]
[codex:750766] /************************************************************************************************
[codex:750766] Originally from https://github.com/balancer-labs/balancer-core/blob/master/contracts/BConst.sol
[codex:750766]
[codex:750766] This source code has been modified from the original, which was copied from the github repository
[codex:750766] at commit hash f4ed5d65362a8d6cec21662fb6eae233b0babc1f.
[codex:750766]
[codex:750766] Subject to the GPL-3.0 license
[codex:750766] *************************************************************************************************/
[codex:750766]
[codex:750766] contract BConst {
[codex:750766] uint256 public constant VERSION_NUMBER = 1;
[codex:750766]
[codex:750766] /* --- Weight Updates --- */
[codex:750766]
[codex:750766] // Minimum time passed between each weight update for a token.
[codex:750766]
[codex:750766]
[codex:750766]
[codex:750766]
[codex:750766]
[codex:750766] thinking
[codex:750766] **Conducting detailed security audit**
[codex:750766]
[codex:750766] I'll analyze the core contracts and key functions to identify vulnerabilities like reentrancy, oracle manipulation, accounting errors with fee-on-transfer tokens, and access controls. There is particular risk around the oracle's price data affecting minting decisions and potential accounting breaks due to deflationary tokens, plus some minor event-logging issues. I'll carefully weigh each risk and call out areas needing more scrutiny or mitigation.
[codex:750766] thinking
[codex:750766] **Identifying risks in token removal logic**
[codex:750766]
[codex:750766] There’s a serious inconsistency in removeToken where calling it with an unbound token causes it to mistakenly remove or shuffle other tokens from the dynasetTokens array without properly updating their bindings. This can break the internal token list versus record mappings, potentially causing tokens with balances to be excluded from joins and exits, leading to stuck funds or manipulation opportunities. I’m curious how this might impact other operations that rely on consistent token tracking.
[codex:750766] thinking
[codex:750766] **Analyzing token removal consequences and oracle reliance**
[codex:750766]
[codex:750766] I’m sorting through how removing unbound tokens can cause tokens with balances to be excluded from joins and exits, trapping value and creating inconsistencies. There’s also a bigger risk linked to reliance on an external oracle for share minting, which could be manipulated to mint excess tokens if the oracle isn’t robust. Many access controls seem strict, but some edge cases with privileged roles and token handling still raise subtle risks.
[codex:750766] thinking
[codex:750766] **Evaluating loop variable types and swap function details**
[codex:750766]
[codex:750766] I’m examining loop counters typed as uint8 that risk overflow with large arrays, which could cause infinite loops or out-of-gas errors, though typically arrays here are small. Also, swap functions use increasing allowances without resets, raising risks if tokens require zeroing first. The public and unchecked `updateAfterSwap` might be callable by anyone, but its state changes seem low risk. I’m weighing various edge cases around reentrancy, oracle reliance, and allowance management to highlight nuanced design trade-offs and potential inefficiencies.
[codex:750766] thinking
[codex:750766] **Locating removeToken function lines**
[codex:750766] exec
[codex:750766] /bin/bash -lc 'rg -n "function removeToken" contracts/contracts/AbstractDynaset.sol' in /tmp/codex-multi-9i6qo7oy succeeded in 10ms:
[codex:750766] 163: function removeToken(address token) external nonReentrant {
[codex:750766]
[codex:750766] thinking
[codex:750766] **Inspecting specific code lines**
[codex:750766] exec
[codex:750766] /bin/bash -lc "nl -ba contracts/contracts/AbstractDynaset.sol | sed -n '160,210p'" in /tmp/codex-multi-9i6qo7oy succeeded in 6ms:
[codex:750766] 160 emit LogTokenAdded(token, tokenProvider);
[codex:750766] 161 }
[codex:750766] 162
[codex:750766] 163 function removeToken(address token) external nonReentrant {
[codex:750766] 164 onlyDigitalAssetManager();
[codex:750766] 165 require(dynasetTokens.length > MIN_BOUND_TOKENS, "ERR_MIN_TOKENS");
[codex:750766] 166 Record memory record = records[token];
[codex:750766] 167 uint256 tokenBalance = record.balance;
[codex:750766] 168 require(tokenBalance == 0, "ERR_CAN_NOT_REMOVE_TOKEN");
[codex:750766] 169 // Swap the token-to-unbind with the last token,
[codex:750766] 170 // then delete the last token
[codex:750766] 171 uint256 index = record.index;
[codex:750766] 172 uint256 last = dynasetTokens.length - 1;
[codex:750766] 173 // Only swap the token with the last token if it is not
[codex:750766] 174 // already at the end of the array.
[codex:750766] 175 if (index != last) {
[codex:750766] 176 dynasetTokens[index] = dynasetTokens[last];
[codex:750766] 177 records[dynasetTokens[index]].index = uint8(index);
[codex:750766] 178 records[dynasetTokens[index]].balance = records[dynasetTokens[last]]
[codex:750766] 179 .balance;
[codex:750766]
[codex:750766] thinking
[codex:750766] **Identifying line numbers for joinDynaset**
[codex:750766] exec
[codex:750766] /bin/bash -lc "nl -ba contracts/contracts/AbstractDynaset.sol | sed -n '260,370p'" in /tmp/codex-multi-9i6qo7oy succeeded in 5ms:
[codex:750766] 260 /**
[codex:750766] 261 * @dev Returns the controller address.
[codex:750766] 262 */
[codex:750766] 263 function getController() external view override returns (address) {
[codex:750766] 264 return controller;
[codex:750766] 265 }
[codex:750766] 266
[codex:750766] 267 /**
[codex:750766] 268 * @dev Check if a token is bound to the dynaset.
[codex:750766] 269 */
[codex:750766] 270 function isBound(address token) external view override returns (bool) {
[codex:750766] 271 return records[token].bound;
[codex:750766] 272 }
[codex:750766] 273
[codex:750766] 274 /**
[codex:750766] 275 * @dev Get the number of tokens bound to the dynaset.
[codex:750766] 276 */
[codex:750766] 277 function getNumTokens() external view override returns (uint256) {
[codex:750766] 278 return dynasetTokens.length;
[codex:750766] 279 }
[codex:750766] exec
[codex:750766] /bin/bash -lc "nl -ba contracts/contracts/AbstractDynaset.sol | sed -n '370,450p'" in /tmp/codex-multi-9i6qo7oy succeeded in 6ms:
[codex:750766] 370 }
[codex:750766] 371 uint256 forgeTokenAllowance = IERC20(token).allowance(msg.sender, address(this));
[codex:750766] 372 if (forgeTokenAllowance < tokenAmountIn) {
[codex:750766] 373 tokenAmountIn = forgeTokenAllowance;
[codex:750766] 374 }
[codex:750766] 375 _updateInputToken(token, badd(realBalance, tokenAmountIn));
[codex:750766] 376 _pullUnderlying(token, msg.sender, tokenAmountIn);
[codex:750766] 377 emit LOG_JOIN(token, msg.sender, tokenAmountIn);
[codex:750766] 378 }
[codex:750766] 379 // calculate correct sharesToMint
[codex:750766] 380 uint256 dynaset_added_value = IDynasetTvlOracle(dynasetTvlOracle).dynasetTvlUsdc()
[codex:750766] 381 - dynaset_usd_value_before_join;
[codex:750766] 382 sharesToMint = dynaset_added_value * dynasetTotal / dynaset_usd_value_before_join;
[codex:750766] 383 require(sharesToMint > 0, "MINT_ZERO_DYNASETS");
[codex:750766] 384 _mint(sharesToMint);
[codex:750766] 385 _push(msg.sender, sharesToMint);
[codex:750766] 386 }
[codex:750766] 387
[codex:750766] 388 /**
[codex:750766] 389 * @dev Burns `_amount` dynaset tokens in exchange for the amounts of each
[codex:750766]
[codex:750766] thinking
[codex:750766] **Reviewing relevant code sections**
[codex:750766] exec
[codex:750766] /bin/bash -lc "nl -ba contracts/contracts/AbstractDynaset.sol | sed -n '120,175p'" in /tmp/codex-multi-9i6qo7oy succeeded in 6ms:
[codex:750766] 120 require(balance > 0, "ERR_MIN_BALANCE");
[codex:750766] 121 records[token] = Record({
[codex:750766] 122 bound: true,
[codex:750766] 123 ready: true,
[codex:750766] 124 index: uint8(i),
[codex:750766] 125 balance: balance
[codex:750766] 126 });
[codex:750766] 127
[codex:750766] 128 dynasetTokens.push(token);
[codex:750766] 129 // ! external interaction
[codex:750766] 130 _pullUnderlying(token, tokenProvider, balance);
[codex:750766] 131 }
[codex:750766] 132 _push(tokenProvider, INIT_POOL_SUPPLY);
[codex:750766] 133 emit DynasetInitialized(tokens, balances, tokenProvider);
[codex:750766] 134 }
[codex:750766] 135
[codex:750766] 136 function addToken(
[codex:750766] 137 address token,
[codex:750766] 138 uint256 minimumBalance,
[codex:750766] 139 address tokenProvider
[codex:750766]
[codex:750766]
[codex:750766] thinking
[codex:750766] **Summarizing potential vulnerabilities and severity assessments**
[codex:750766]
[codex:750766] I'm reviewing various Solidity code patterns for key vulnerabilities like oracle manipulation, access control gaps, and accounting mismatches. There is a high-risk issue with oracle-based share minting if mintForges are exposed, plus medium concerns around fee-on-transfer tokens causing balance mismatches and a low-severity state corruption risk from token removal without proper checks. I'm carefully weighing exploit scenarios and severity to categorize each finding clearly.
[codex:750766] thinking
[codex:750766] **Preparing detailed vulnerability findings and JSON output**
[codex:750766]
[codex:750766] I'm refining the descriptions and severity of each vulnerability, focusing on state desync from unbound token removal, accounting mismatches due to fee-on-transfer tokens, and oracle dependence for share calculation without internal sanity checks. I'll include precise exploit scenarios, recommendations, and relevant code locations to produce a thorough JSON report summarizing these key points.
[codex:750766] exec
[codex:750766] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-9i6qo7oy succeeded in 6ms:
[codex:750766] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:750766]
[codex:750766] thinking
[codex:750766] **Preparing detailed security findings and JSON output**
[codex:750766] codex
[codex:750766] {"no_findings":false,"summary":"Identified 3 issues: removeToken can corrupt the token list when given an unbound token, pool accounting assumes full transfer amounts, and share minting relies entirely on an external TVL oracle without internal sanity checks.","findings":[{"severity":"low","category":"other","title":"removeToken can desync dynasetTokens and records when passed an unbound token","exploit_scenario":"The digitalAssetManager calls removeToken with an address that is not bound. Because the function never checks record.bound, the zero balance check passes (default 0), record.index defaults to 0, and the function pops the last element from dynasetTokens. This can remove a bound token that still has a non‑zero balance from the array, causing join/exit to ignore it and leaving assets stuck or accounting inconsistent.","recommendation":"Add a bound check (e.g., require(record.bound)) and verify that dynasetTokens[record.index] == token before swapping/popping. Consider also verifying the actual token balance is zero before removal.","evidence":"removeToken reads records[token] and uses record.index without verifying that the token is bound; the only check is record.balance == 0.","locations":["contracts/contracts/AbstractDynaset.sol:163","contracts/contracts/AbstractDynaset.sol:166"]},{"severity":"medium","category":"other","title":"Accounting assumes full transfer amounts (fee-on-transfer/rebasing tokens break invariants)","exploit_scenario":"If a bound token charges a transfer fee or rebases, _pullUnderlying transfers less than the recorded amount. The contract still updates records to the intended amount, overstating balances. This can allow over-minting (if the oracle reads record balances) or cause exits to revert due to insufficient actual balance.","recommendation":"Update records using actual received amounts (pre/post balance delta) and/or explicitly disallow fee-on-transfer/rebasing tokens. Consider syncing balances after transfers (e.g., updateAfterSwap) to keep records accurate.","evidence":"records[token].balance is set/updated before pulling tokens, and _pullUnderlying does not verify the received amount.","locations":["contracts/contracts/AbstractDynaset.sol:121","contracts/contracts/AbstractDynaset.sol:152","contracts/contracts/AbstractDynaset.sol:375"]},{"severity":"medium","category":"oracle","title":"Share minting fully trusts external TVL oracle without internal sanity checks","exploit_scenario":"joinDynaset mints shares based on dynasetTvlOracle values before/after deposit. If the oracle is manipulable (e.g., spot-price based) or misreports TVL, a minter can inflate the perceived value of their deposit and receive outsized shares, then exit after prices normalize, extracting value from the pool. The risk is amplified if forge logic allows imbalanced deposits (allowance/balance caps).","recommendation":"Use robust price feeds (TWAP/Chainlink), add bounds on acceptable share minting vs. expectedSharesToMint, and/or compute shares from verified balance deltas. Enforce proportional deposits in-contract rather than relying solely on external forge checks.","evidence":"joinDynaset uses dynasetTvlOracle before/after deposit to compute shares, and allows tokenAmountIn to be reduced based on balance/allowance without enforcing proportionality.","locations":["contracts/contracts/AbstractDynaset.sol:361","contracts/contracts/AbstractDynaset.sol:367","contracts/contracts/AbstractDynaset.sol:380"]}]}
[codex:750766] tokens used
[codex:750766] 98,422
[codex:750766] {"no_findings":false,"summary":"Identified 3 issues: removeToken can corrupt the token list when given an unbound token, pool accounting assumes full transfer amounts, and share minting relies entirely on an external TVL oracle without internal sanity checks.","findings":[{"severity":"low","category":"other","title":"removeToken can desync dynasetTokens and records when passed an unbound token","exploit_scenario":"The digitalAssetManager calls removeToken with an address that is not bound. Because the function never checks record.bound, the zero balance check passes (default 0), record.index defaults to 0, and the function pops the last element from dynasetTokens. This can remove a bound token that still has a non‑zero balance from the array, causing join/exit to ignore it and leaving assets stuck or accounting inconsistent.","recommendation":"Add a bound check (e.g., require(record.bound)) and verify that dynasetTokens[record.index] == token before swapping/popping. Consider also verifying the actual token balance is zero before removal.","evidence":"removeToken reads records[token] and uses record.index without verifying that the token is bound; the only check is record.balance == 0.","locations":["contracts/contracts/AbstractDynaset.sol:163","contracts/contracts/AbstractDynaset.sol:166"]},{"severity":"medium","category":"other","title":"Accounting assumes full transfer amounts (fee-on-transfer/rebasing tokens break invariants)","exploit_scenario":"If a bound token charges a transfer fee or rebases, _pullUnderlying transfers less than the recorded amount. The contract still updates records to the intended amount, overstating balances. This can allow over-minting (if the oracle reads record balances) or cause exits to revert due to insufficient actual balance.","recommendation":"Update records using actual received amounts (pre/post balance delta) and/or explicitly disallow fee-on-transfer/rebasing tokens. Consider syncing balances after transfers (e.g., updateAfterSwap) to keep records accurate.","evidence":"records[token].balance is set/updated before pulling tokens, and _pullUnderlying does not verify the received amount.","locations":["contracts/contracts/AbstractDynaset.sol:121","contracts/contracts/AbstractDynaset.sol:152","contracts/contracts/AbstractDynaset.sol:375"]},{"severity":"medium","category":"oracle","title":"Share minting fully trusts external TVL oracle without internal sanity checks","exploit_scenario":"joinDynaset mints shares based on dynasetTvlOracle values before/after deposit. If the oracle is manipulable (e.g., spot-price based) or misreports TVL, a minter can inflate the perceived value of their deposit and receive outsized shares, then exit after prices normalize, extracting value from the pool. The risk is amplified if forge logic allows imbalanced deposits (allowance/balance caps).","recommendation":"Use robust price feeds (TWAP/Chainlink), add bounds on acceptable share minting vs. expectedSharesToMint, and/or compute shares from verified balance deltas. Enforce proportional deposits in-contract rather than relying solely on external forge checks.","evidence":"joinDynaset uses dynasetTvlOracle before/after deposit to compute shares, and allows tokenAmountIn to be reduced based on balance/allowance without enforcing proportionality.","locations":["contracts/contracts/AbstractDynaset.sol:361","contracts/contracts/AbstractDynaset.sol:367","contracts/contracts/AbstractDynaset.sol:380"]}]}
{
"codex": {
"ran_at": "2025-12-30T13:48:45.490390+00:00",
"returncode": 0
},
"summary": "Identified 3 issues: removeToken can corrupt the token list when given an unbound token, pool accounting assumes full transfer amounts, and share minting relies entirely on an external TVL oracle without internal sanity checks.",
"raw_final": {
"summary": "Identified 3 issues: removeToken can corrupt the token list when given an unbound token, pool accounting assumes full transfer amounts, and share minting relies entirely on an external TVL oracle without internal sanity checks.",
"findings": [
{
"title": "removeToken can desync dynasetTokens and records when passed an unbound token",
"category": "other",
"evidence": "removeToken reads records[token] and uses record.index without verifying that the token is bound; the only check is record.balance == 0.",
"severity": "low",
"locations": [
"contracts/contracts/AbstractDynaset.sol:163",
"contracts/contracts/AbstractDynaset.sol:166"
],
"recommendation": "Add a bound check (e.g., require(record.bound)) and verify that dynasetTokens[record.index] == token before swapping/popping. Consider also verifying the actual token balance is zero before removal.",
"exploit_scenario": "The digitalAssetManager calls removeToken with an address that is not bound. Because the function never checks record.bound, the zero balance check passes (default 0), record.index defaults to 0, and the function pops the last element from dynasetTokens. This can remove a bound token that still has a non\u2011zero balance from the array, causing join/exit to ignore it and leaving assets stuck or accounting inconsistent."
},
{
"title": "Accounting assumes full transfer amounts (fee-on-transfer/rebasing tokens break invariants)",
"category": "other",
"evidence": "records[token].balance is set/updated before pulling tokens, and _pullUnderlying does not verify the received amount.",
"severity": "medium",
"locations": [
"contracts/contracts/AbstractDynaset.sol:121",
"contracts/contracts/AbstractDynaset.sol:152",
"contracts/contracts/AbstractDynaset.sol:375"
],
"recommendation": "Update records using actual received amounts (pre/post balance delta) and/or explicitly disallow fee-on-transfer/rebasing tokens. Consider syncing balances after transfers (e.g., updateAfterSwap) to keep records accurate.",
"exploit_scenario": "If a bound token charges a transfer fee or rebases, _pullUnderlying transfers less than the recorded amount. The contract still updates records to the intended amount, overstating balances. This can allow over-minting (if the oracle reads record balances) or cause exits to revert due to insufficient actual balance."
},
{
"title": "Share minting fully trusts external TVL oracle without internal sanity checks",
"category": "oracle",
"evidence": "joinDynaset uses dynasetTvlOracle before/after deposit to compute shares, and allows tokenAmountIn to be reduced based on balance/allowance without enforcing proportionality.",
"severity": "medium",
"locations": [
"contracts/contracts/AbstractDynaset.sol:361",
"contracts/contracts/AbstractDynaset.sol:367",
"contracts/contracts/AbstractDynaset.sol:380"
],
"recommendation": "Use robust price feeds (TWAP/Chainlink), add bounds on acceptable share minting vs. expectedSharesToMint, and/or compute shares from verified balance deltas. Enforce proportional deposits in-contract rather than relying solely on external forge checks.",
"exploit_scenario": "joinDynaset mints shares based on dynasetTvlOracle values before/after deposit. If the oracle is manipulable (e.g., spot-price based) or misreports TVL, a minter can inflate the perceived value of their deposit and receive outsized shares, then exit after prices normalize, extracting value from the pool. The risk is amplified if forge logic allows imbalanced deposits (allowance/balance caps)."
}
],
"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 0x021a 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x70a08231 00000019: GT 0000001a: PUSH2 0x0123 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xcbb61226 00000024: GT 00000025: PUSH2 0x00ab 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xd73dd623 0000002f: GT 00000030: PUSH2 0x006f 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xd73dd623 0000003a: EQ 0000003b: PUSH2 0x0666 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xdd62ed3e 00000045: EQ 00000046: PUSH2 0x0686 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xde009a44 00000050: EQ 00000051: PUSH2 0x06cc 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf8b2cb4f 0000005b: EQ 0000005c: PUSH2 0x06ec 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xfd9be522 00000066: EQ 00000067: PUSH2 0x070c 0000006a: JUMPI 0000006b: PUSH1 0x00 0000006d: DUP1 0000006e: REVERT 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0xcbb61226 00000076: EQ 00000077: PUSH2 0x05da 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xcc77828d 00000081: EQ 00000082: PUSH2 0x05fa 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xcd2ed8fb 0000008c: EQ 0000008d: PUSH2 0x061c 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xcd4c6902 00000097: EQ 00000098: PUSH2 0x0631 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xd73cc4df 000000a2: EQ 000000a3: PUSH2 0x0651 000000a6: JUMPI 000000a7: PUSH1 0x00 000000a9: DUP1 000000aa: REVERT 000000ab: JUMPDEST 000000ac: DUP1 000000ad: PUSH4 0x95d89b41 000000b2: GT 000000b3: PUSH2 0x00f2 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0x95d89b41 000000bd: EQ 000000be: PUSH2 0x0545 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xa766a392 000000c8: EQ 000000c9: PUSH2 0x055a 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0xa9059cbb 000000d3: EQ 000000d4: PUSH2 0x057a 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0xb9d52f71 000000de: EQ 000000df: PUSH2 0x059a 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0xc963ac98 000000e9: EQ 000000ea: PUSH2 0x05ba 000000ed: JUMPI 000000ee: PUSH1 0x00 000000f0: DUP1 000000f1: REVERT 000000f2: JUMPDEST 000000f3: DUP1 000000f4: PUSH4 0x70a08231 000000f9: EQ 000000fa: PUSH2 0x04d4 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x7cb470d7 00000104: EQ 00000105: PUSH2 0x050a 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0x8025e303 0000010f: EQ 00000110: PUSH2 0x051d 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x84895546 0000011a: EQ 0000011b: PUSH2 0x0532 0000011e: JUMPI 0000011f: PUSH1 0x00 00000121: DUP1 00000122: REVERT 00000123: JUMPDEST 00000124: DUP1 00000125: PUSH4 0x2f37b624 0000012a: GT 0000012b: PUSH2 0x01a6 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x371babdc 00000135: GT 00000136: PUSH2 0x0175 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x371babdc 00000140: EQ 00000141: PUSH2 0x03ef 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0x3fe90675 0000014b: EQ 0000014c: PUSH2 0x041d 0000014f: JUMPI 00000150: DUP1 00000151: PUSH4 0x5fa7b584 00000156: EQ 00000157: PUSH2 0x043d 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0x64c7d661 00000161: EQ 00000162: PUSH2 0x045d 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0x66188463 0000016c: EQ 0000016d: PUSH2 0x04b4 00000170: JUMPI 00000171: PUSH1 0x00 00000173: DUP1 00000174: REVERT 00000175: JUMPDEST 00000176: DUP1 00000177: PUSH4 0x2f37b624 0000017c: EQ 0000017d: PUSH2 0x035c 00000180: JUMPI 00000181: DUP1 00000182: PUSH4 0x3018205f 00000187: EQ 00000188: PUSH2 0x0395 0000018b: JUMPI 0000018c: DUP1 0000018d: PUSH4 0x313ce567 00000192: EQ 00000193: PUSH2 0x03b3 00000196: JUMPI 00000197: DUP1 00000198: PUSH4 0x339c0528 0000019d: EQ 0000019e: PUSH2 0x03cf 000001a1: JUMPI 000001a2: PUSH1 0x00 000001a4: DUP1 000001a5: REVERT 000001a6: JUMPDEST 000001a7: DUP1 000001a8: PUSH4 0x18160ddd 000001ad: GT 000001ae: PUSH2 0x01ed 000001b1: JUMPI 000001b2: DUP1 000001b3: PUSH4 0x18160ddd 000001b8: EQ 000001b9: PUSH2 0x02c7 000001bc: JUMPI 000001bd: DUP1 000001be: PUSH4 0x195199f6 000001c3: EQ 000001c4: PUSH2 0x02e6 000001c7: JUMPI 000001c8: DUP1 000001c9: PUSH4 0x23b872dd 000001ce: EQ 000001cf: PUSH2 0x0306 000001d2: JUMPI 000001d3: DUP1 000001d4: PUSH4 0x23ddc5ab 000001d9: EQ 000001da: PUSH2 0x0326 000001dd: JUMPI 000001de: DUP1 000001df: PUSH4 0x29dcb0cf 000001e4: EQ 000001e5: PUSH2 0x0346 000001e8: JUMPI 000001e9: PUSH1 0x00 000001eb: DUP1 000001ec: REVERT 000001ed: JUMPDEST 000001ee: DUP1 000001ef: PUSH4 0x06fdde03 000001f4: EQ 000001f5: PUSH2 0x021f 000001f8: JUMPI 000001f9: DUP1 000001fa: PUSH4 0x095ea7b3 000001ff: EQ 00000200: PUSH2 0x024a 00000203: JUMPI 00000204: DUP1 00000205: PUSH4 0x107783ec 0000020a: EQ 0000020b: PUSH2 0x027a 0000020e: JUMPI 0000020f: DUP1 00000210: PUSH4 0x1694505e 00000215: EQ 00000216: PUSH2 0x028f 00000219: JUMPI 0000021a: JUMPDEST 0000021b: PUSH1 0x00 0000021d: DUP1 0000021e: REVERT 0000021f: JUMPDEST 00000220: CALLVALUE 00000221: DUP1 00000222: ISZERO 00000223: PUSH2 0x022b 00000226: JUMPI 00000227: PUSH1 0x00 00000229: DUP1 0000022a: REVERT 0000022b: JUMPDEST 0000022c: POP 0000022d: PUSH2 0x0234 00000230: PUSH2 0x072c 00000233: JUMP 00000234: JUMPDEST 00000235: PUSH1 0x40 00000237: MLOAD 00000238: PUSH2 0x0241 0000023b: SWAP2 0000023c: SWAP1 0000023d: PUSH2 0x362d 00000240: JUMP 00000241: JUMPDEST 00000242: PUSH1 0x40 00000244: MLOAD 00000245: DUP1 00000246: SWAP2 00000247: SUB 00000248: SWAP1 00000249: RETURN 0000024a: JUMPDEST 0000024b: CALLVALUE 0000024c: DUP1 0000024d: ISZERO 0000024e: PUSH2 0x0256 00000251: JUMPI 00000252: PUSH1 0x00 00000254: DUP1 00000255: REVERT 00000256: JUMPDEST 00000257: POP 00000258: PUSH2 0x026a 0000025b: PUSH2 0x0265 0000025e: CALLDATASIZE 0000025f: PUSH1 0x04 00000261: PUSH2 0x3678 00000264: JUMP 00000265: JUMPDEST 00000266: PUSH2 0x07be 00000269: JUMP 0000026a: JUMPDEST 0000026b: PUSH1 0x40 0000026d: MLOAD 0000026e: SWAP1 0000026f: ISZERO 00000270: ISZERO 00000271: DUP2 00000272: MSTORE 00000273: PUSH1 0x20 00000275: ADD 00000276: PUSH2 0x0241 00000279: JUMP 0000027a: JUMPDEST 0000027b: PUSH2 0x028d 0000027e: PUSH2 0x0288 00000281: CALLDATASIZE 00000282: PUSH1 0x04 00000284: PUSH2 0x36e9 00000287: JUMP 00000288: JUMPDEST 00000289: PUSH2 0x0819 0000028c: JUMP 0000028d: JUMPDEST 0000028e: STOP 0000028f: JUMPDEST 00000290: CALLVALUE 00000291: DUP1 00000292: ISZERO 00000293: PUSH2 0x029b 00000296: JUMPI 00000297: PUSH1 0x00 00000299: DUP1 0000029a: REVERT 0000029b: JUMPDEST 0000029c: POP 0000029d: PUSH1 0x0e 0000029f: SLOAD 000002a0: PUSH2 0x02af 000002a3: SWAP1 000002a4: PUSH1 0x01 000002a6: PUSH1 0x01 000002a8: PUSH1 0xa0 000002aa: SHL 000002ab: SUB 000002ac: AND 000002ad: DUP2 000002ae: JUMP 000002af: JUMPDEST 000002b0: PUSH1 0x40 000002b2: MLOAD 000002b3: PUSH1 0x01 000002b5: PUSH1 0x01 000002b7: PUSH1 0xa0 000002b9: SHL 000002ba: SUB 000002bb: SWAP1 000002bc: SWAP2 000002bd: AND 000002be: DUP2 000002bf: MSTORE 000002c0: PUSH1 0x20 000002c2: ADD 000002c3: PUSH2 0x0241 000002c6: JUMP 000002c7: JUMPDEST 000002c8: CALLVALUE 000002c9: DUP1 000002ca: ISZERO 000002cb: PUSH2 0x02d3 000002ce: JUMPI 000002cf: PUSH1 0x00 000002d1: DUP1 000002d2: REVERT 000002d3: JUMPDEST 000002d4: POP 000002d5: PUSH1 0x02 000002d7: SLOAD 000002d8: JUMPDEST 000002d9: PUSH1 0x40 000002db: MLOAD 000002dc: SWAP1 000002dd: DUP2 000002de: MSTORE 000002df: PUSH1 0x20 000002e1: ADD 000002e2: PUSH2 0x0241 000002e5: JUMP 000002e6: JUMPDEST 000002e7: CALLVALUE 000002e8: DUP1 000002e9: ISZERO 000002ea: PUSH2 0x02f2 000002ed: JUMPI 000002ee: PUSH1 0x00 000002f0: DUP1 000002f1: REVERT 000002f2: JUMPDEST 000002f3: POP 000002f4: PUSH2 0x028d 000002f7: PUSH2 0x0301 000002fa: CALLDATASIZE 000002fb: PUSH1 0x04 000002fd: PUSH2 0x3765 00000300: JUMP 00000301: JUMPDEST 00000302: PUSH2 0x0934 00000305: JUMP 00000306: JUMPDEST 00000307: CALLVALUE 00000308: DUP1 00000309: ISZERO 0000030a: PUSH2 0x0312 0000030d: JUMPI 0000030e: PUSH1 0x00 00000310: DUP1 00000311: REVERT 00000312: JUMPDEST 00000313: POP 00000314: PUSH2 0x026a 00000317: PUSH2 0x0321 0000031a: CALLDATASIZE 0000031b: PUSH1 0x04 0000031d: PUSH2 0x377e 00000320: JUMP 00000321: JUMPDEST 00000322: PUSH2 0x0941 00000325: JUMP 00000326: JUMPDEST 00000327: CALLVALUE 00000328: DUP1 00000329: ISZERO 0000032a: PUSH2 0x0332 0000032d: JUMPI 0000032e: PUSH1 0x00 00000330: DUP1 00000331: REVERT 00000332: JUMPDEST 00000333: POP 00000334: PUSH2 0x028d 00000337: PUSH2 0x0341 0000033a: CALLDATASIZE 0000033b: PUSH1 0x04 0000033d: PUSH2 0x3765 00000340: JUMP 00000341: JUMPDEST 00000342: PUSH2 0x0aa5 00000345: JUMP 00000346: JUMPDEST 00000347: CALLVALUE 00000348: DUP1 00000349: ISZERO 0000034a: PUSH2 0x0352 0000034d: JUMPI 0000034e: PUSH1 0x00 00000350: DUP1 00000351: REVERT 00000352: JUMPDEST 00000353: POP 00000354: PUSH2 0x02d8 00000357: PUSH1 0x0f 00000359: SLOAD 0000035a: DUP2 0000035b: JUMP 0000035c: JUMPDEST 0000035d: CALLVALUE 0000035e: DUP1 0000035f: ISZERO 00000360: PUSH2 0x0368 00000363: JUMPI 00000364: PUSH1 0x00 00000366: DUP1 00000367: REVERT 00000368: JUMPDEST 00000369: POP 0000036a: PUSH2 0x026a 0000036d: PUSH2 0x0377 00000370: CALLDATASIZE 00000371: PUSH1 0x04 00000373: PUSH2 0x37bf 00000376: JUMP 00000377: JUMPDEST 00000378: PUSH1 0x01 0000037a: PUSH1 0x01 0000037c: PUSH1 0xa0 0000037e: SHL 0000037f: SUB 00000380: AND 00000381: PUSH1 0x00 00000383: SWAP1 00000384: DUP2 00000385: MSTORE 00000386: PUSH1 0x0c 00000388: PUSH1 0x20 0000038a: MSTORE 0000038b: PUSH1 0x40 0000038d: SWAP1 0000038e: KECCAK256 0000038f: SLOAD 00000390: PUSH1 0xff 00000392: AND 00000393: SWAP1 00000394: JUMP 00000395: JUMPDEST 00000396: CALLVALUE 00000397: DUP1 00000398: ISZERO 00000399: PUSH2 0x03a1 0000039c: JUMPI 0000039d: PUSH1 0x00 0000039f: DUP1 000003a0: REVERT 000003a1: JUMPDEST 000003a2: POP 000003a3: PUSH1 0x06 000003a5: SLOAD 000003a6: PUSH1 0x01 000003a8: PUSH1 0x01 000003aa: PUSH1 0xa0 000003ac: SHL 000003ad: SUB 000003ae: AND 000003af: PUSH2 0x02af 000003b2: JUMP 000003b3: JUMPDEST 000003b4: CALLVALUE 000003b5: DUP1 000003b6: ISZERO 000003b7: PUSH2 0x03bf 000003ba: JUMPI 000003bb: PUSH1 0x00 000003bd: DUP1 000003be: REVERT 000003bf: JUMPDEST 000003c0: POP 000003c1: PUSH1 0x40 000003c3: MLOAD 000003c4: PUSH1 0x12 000003c6: DUP2 000003c7: MSTORE 000003c8: PUSH1 0x20 000003ca: ADD 000003cb: PUSH2 0x0241 000003ce: JUMP 000003cf: JUMPDEST 000003d0: CALLVALUE 000003d1: DUP1 000003d2: ISZERO 000003d3: PUSH2 0x03db 000003d6: JUMPI 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: REVERT 000003db: JUMPDEST 000003dc: POP 000003dd: PUSH2 0x028d 000003e0: PUSH2 0x03ea 000003e3: CALLDATASIZE 000003e4: PUSH1 0x04 000003e6: PUSH2 0x37bf 000003e9: JUMP 000003ea: JUMPDEST 000003eb: PUSH2 0x0d12 000003ee: JUMP 000003ef: JUMPDEST 000003f0: CALLVALUE 000003f1: DUP1 000003f2: ISZERO 000003f3: PUSH2 0x03fb 000003f6: JUMPI 000003f7: PUSH1 0x00 000003f9: DUP1 000003fa: REVERT 000003fb: JUMPDEST 000003fc: POP 000003fd: PUSH2 0x040f 00000400: PUSH2 0x040a 00000403: CALLDATASIZE 00000404: PUSH1 0x04 00000406: PUSH2 0x3765 00000409: JUMP 0000040a: JUMPDEST 0000040b: PUSH2 0x0dc9 0000040e: JUMP 0000040f: JUMPDEST 00000410: PUSH1 0x40 00000412: MLOAD 00000413: PUSH2 0x0241 00000416: SWAP3 00000417: SWAP2 00000418: SWAP1 00000419: PUSH2 0x3820 0000041c: JUMP 0000041d: JUMPDEST 0000041e: CALLVALUE 0000041f: DUP1 00000420: ISZERO 00000421: PUSH2 0x0429 00000424: JUMPI 00000425: PUSH1 0x00 00000427: DUP1 00000428: REVERT 00000429: JUMPDEST 0000042a: POP 0000042b: PUSH2 0x02d8 0000042e: PUSH2 0x0438 00000431: CALLDATASIZE 00000432: PUSH1 0x04 00000434: PUSH2 0x3765 00000437: JUMP 00000438: JUMPDEST 00000439: PUSH2 0x0f2c 0000043c: JUMP 0000043d: JUMPDEST 0000043e: CALLVALUE 0000043f: DUP1 00000440: ISZERO 00000441: PUSH2 0x0449 00000444: JUMPI 00000445: PUSH1 0x00 00000447: DUP1 00000448: REVERT 00000449: JUMPDEST 0000044a: POP 0000044b: PUSH2 0x028d 0000044e: PUSH2 0x0458 00000451: CALLDATASIZE 00000452: PUSH1 0x04 00000454: PUSH2 0x37bf 00000457: JUMP 00000458: JUMPDEST 00000459: PUSH2 0x13b2 0000045c: JUMP 0000045d: JUMPDEST 0000045e: CALLVALUE 0000045f: DUP1 00000460: ISZERO 00000461: PUSH2 0x0469 00000464: JUMPI 00000465: PUSH1 0x00 00000467: DUP1 00000468: REVERT 00000469: JUMPDEST 0000046a: POP 0000046b: PUSH2 0x047d 0000046e: PUSH2 0x0478 00000471: CALLDATASIZE 00000472: PUSH1 0x04 00000474: PUSH2 0x37bf 00000477: JUMP 00000478: JUMPDEST 00000479: PUSH2 0x1709 0000047c: JUMP 0000047d: JUMPDEST 0000047e: PUSH1 0x40 00000480: MLOAD 00000481: PUSH2 0x0241 00000484: SWAP2 00000485: SWAP1 00000486: DUP2 00000487: MLOAD 00000488: ISZERO 00000489: ISZERO 0000048a: DUP2 0000048b: MSTORE 0000048c: PUSH1 0x20 0000048e: DUP1 0000048f: DUP4 00000490: ADD 00000491: MLOAD 00000492: ISZERO 00000493: ISZERO 00000494: SWAP1 00000495: DUP3 00000496: ADD 00000497: MSTORE 00000498: PUSH1 0x40 0000049a: DUP1 0000049b: DUP4 0000049c: ADD 0000049d: MLOAD 0000049e: SWAP1 0000049f: DUP3 000004a0: ADD 000004a1: MSTORE 000004a2: PUSH1 0x60 000004a4: SWAP2 000004a5: DUP3 000004a6: ADD 000004a7: MLOAD 000004a8: SWAP2 000004a9: DUP2 000004aa: ADD 000004ab: SWAP2 000004ac: SWAP1 000004ad: SWAP2 000004ae: MSTORE 000004af: PUSH1 0x80 000004b1: ADD 000004b2: SWAP1 000004b3: JUMP 000004b4: JUMPDEST 000004b5: CALLVALUE 000004b6: DUP1 000004b7: ISZERO 000004b8: PUSH2 0x04c0 000004bb: JUMPI 000004bc: PUSH1 0x00 000004be: DUP1 000004bf: REVERT 000004c0: JUMPDEST 000004c1: POP 000004c2: PUSH2 0x026a 000004c5: PUSH2 0x04cf 000004c8: CALLDATASIZE 000004c9: PUSH1 0x04 000004cb: PUSH2 0x3678 000004ce: JUMP 000004cf: JUMPDEST 000004d0: PUSH2 0x17a4 000004d3: JUMP 000004d4: JUMPDEST 000004d5: CALLVALUE 000004d6: DUP1 000004d7: ISZERO 000004d8: PUSH2 0x04e0 000004db: JUMPI 000004dc: PUSH1 0x00 000004de: DUP1 000004df: REVERT 000004e0: JUMPDEST 000004e1: POP 000004e2: PUSH2 0x02d8 000004e5: PUSH2 0x04ef 000004e8: CALLDATASIZE 000004e9: PUSH1 0x04 000004eb: PUSH2 0x37bf 000004ee: JUMP 000004ef: JUMPDEST 000004f0: PUSH1 0x01 000004f2: PUSH1 0x01 000004f4: PUSH1 0xa0 000004f6: SHL 000004f7: SUB 000004f8: AND 000004f9: PUSH1 0x00 000004fb: SWAP1 000004fc: DUP2 000004fd: MSTORE 000004fe: PUSH1 0x20 00000500: DUP2 00000501: SWAP1 00000502: MSTORE 00000503: PUSH1 0x40 00000505: SWAP1 00000506: KECCAK256 00000507: SLOAD 00000508: SWAP1 00000509: JUMP 0000050a: JUMPDEST 0000050b: PUSH2 0x028d 0000050e: PUSH2 0x0518 00000511: CALLDATASIZE 00000512: PUSH1 0x04 00000514: PUSH2 0x36e9 00000517: JUMP 00000518: JUMPDEST 00000519: PUSH2 0x187a 0000051c: JUMP 0000051d: JUMPDEST 0000051e: CALLVALUE 0000051f: DUP1 00000520: ISZERO 00000521: PUSH2 0x0529 00000524: JUMPI 00000525: PUSH1 0x00 00000527: DUP1 00000528: REVERT 00000529: JUMPDEST 0000052a: POP 0000052b: PUSH2 0x02d8 0000052e: PUSH1 0x01 00000530: DUP2 00000531: JUMP 00000532: JUMPDEST 00000533: PUSH2 0x028d 00000536: PUSH2 0x0540 00000539: CALLDATASIZE 0000053a: PUSH1 0x04 0000053c: PUSH2 0x3877 0000053f: JUMP 00000540: JUMPDEST 00000541: PUSH2 0x192d 00000544: JUMP 00000545: JUMPDEST 00000546: CALLVALUE 00000547: DUP1 00000548: ISZERO 00000549: PUSH2 0x0551 0000054c: JUMPI 0000054d: PUSH1 0x00 0000054f: DUP1 00000550: REVERT 00000551: JUMPDEST 00000552: POP 00000553: PUSH2 0x0234 00000556: PUSH2 0x1bd7 00000559: JUMP 0000055a: JUMPDEST 0000055b: CALLVALUE 0000055c: DUP1 0000055d: ISZERO 0000055e: PUSH2 0x0566 00000561: JUMPI 00000562: PUSH1 0x00 00000564: DUP1 00000565: REVERT 00000566: JUMPDEST 00000567: POP 00000568: PUSH2 0x028d 0000056b: PUSH2 0x0575 0000056e: CALLDATASIZE 0000056f: PUSH1 0x04 00000571: PUSH2 0x38bd 00000574: JUMP 00000575: JUMPDEST 00000576: PUSH2 0x1be6 00000579: JUMP 0000057a: JUMPDEST 0000057b: CALLVALUE 0000057c: DUP1 0000057d: ISZERO 0000057e: PUSH2 0x0586 00000581: JUMPI 00000582: PUSH1 0x00 00000584: DUP1 00000585: REVERT 00000586: JUMPDEST 00000587: POP 00000588: PUSH2 0x026a 0000058b: PUSH2 0x0595 0000058e: CALLDATASIZE 0000058f: PUSH1 0x04 00000591: PUSH2 0x3678 00000594: JUMP 00000595: JUMPDEST 00000596: PUSH2 0x1f5b 00000599: JUMP 0000059a: JUMPDEST 0000059b: CALLVALUE 0000059c: DUP1 0000059d: ISZERO 0000059e: PUSH2 0x05a6 000005a1: JUMPI 000005a2: PUSH1 0x00 000005a4: DUP1 000005a5: REVERT 000005a6: JUMPDEST 000005a7: POP 000005a8: PUSH2 0x028d 000005ab: PUSH2 0x05b5 000005ae: CALLDATASIZE 000005af: PUSH1 0x04 000005b1: PUSH2 0x38ff 000005b4: JUMP 000005b5: JUMPDEST 000005b6: PUSH2 0x1f71 000005b9: JUMP 000005ba: JUMPDEST 000005bb: CALLVALUE 000005bc: DUP1 000005bd: ISZERO 000005be: PUSH2 0x05c6 000005c1: JUMPI 000005c2: PUSH1 0x00 000005c4: DUP1 000005c5: REVERT 000005c6: JUMPDEST 000005c7: POP 000005c8: PUSH2 0x028d 000005cb: PUSH2 0x05d5 000005ce: CALLDATASIZE 000005cf: PUSH1 0x04 000005d1: PUSH2 0x3983 000005d4: JUMP 000005d5: JUMPDEST 000005d6: PUSH2 0x2302 000005d9: JUMP 000005da: JUMPDEST 000005db: CALLVALUE 000005dc: DUP1 000005dd: ISZERO 000005de: PUSH2 0x05e6 000005e1: JUMPI 000005e2: PUSH1 0x00 000005e4: DUP1 000005e5: REVERT 000005e6: JUMPDEST 000005e7: POP 000005e8: PUSH2 0x028d 000005eb: PUSH2 0x05f5 000005ee: CALLDATASIZE 000005ef: PUSH1 0x04 000005f1: PUSH2 0x37bf 000005f4: JUMP 000005f5: JUMPDEST 000005f6: PUSH2 0x240d 000005f9: JUMP 000005fa: JUMPDEST 000005fb: CALLVALUE 000005fc: DUP1 000005fd: ISZERO 000005fe: PUSH2 0x0606 00000601: JUMPI 00000602: PUSH1 0x00 00000604: DUP1 00000605: REVERT 00000606: JUMPDEST 00000607: POP 00000608: PUSH2 0x060f 0000060b: PUSH2 0x2437 0000060e: JUMP 0000060f: JUMPDEST 00000610: PUSH1 0x40 00000612: MLOAD 00000613: PUSH2 0x0241 00000616: SWAP2 00000617: SWAP1 00000618: PUSH2 0x39bc 0000061b: JUMP 0000061c: JUMPDEST 0000061d: CALLVALUE 0000061e: DUP1 0000061f: ISZERO 00000620: PUSH2 0x0628 00000623: JUMPI 00000624: PUSH1 0x00 00000626: DUP1 00000627: REVERT 00000628: JUMPDEST 00000629: POP 0000062a: PUSH1 0x0b 0000062c: SLOAD 0000062d: PUSH2 0x02d8 00000630: JUMP 00000631: JUMPDEST 00000632: CALLVALUE 00000633: DUP1 00000634: ISZERO 00000635: PUSH2 0x063d 00000638: JUMPI 00000639: PUSH1 0x00 0000063b: DUP1 0000063c: REVERT 0000063d: JUMPDEST 0000063e: POP 0000063f: PUSH2 0x028d 00000642: PUSH2 0x064c 00000645: CALLDATASIZE 00000646: PUSH1 0x04 00000648: PUSH2 0x37bf 0000064b: JUMP 0000064c: JUMPDEST 0000064d: PUSH2 0x2498 00000650: JUMP 00000651: JUMPDEST 00000652: CALLVALUE 00000653: DUP1 00000654: ISZERO 00000655: PUSH2 0x065d 00000658: JUMPI 00000659: PUSH1 0x00 0000065b: DUP1 0000065c: REVERT 0000065d: JUMPDEST 0000065e: POP 0000065f: PUSH2 0x040f 00000662: PUSH2 0x250b 00000665: JUMP 00000666: JUMPDEST 00000667: CALLVALUE 00000668: DUP1 00000669: ISZERO 0000066a: PUSH2 0x0672 0000066d: JUMPI 0000066e: PUSH1 0x00 00000670: DUP1 00000671: REVERT 00000672: JUMPDEST 00000673: POP 00000674: PUSH2 0x026a 00000677: PUSH2 0x0681 0000067a: CALLDATASIZE 0000067b: PUSH1 0x04 0000067d: PUSH2 0x3678 00000680: JUMP 00000681: JUMPDEST 00000682: PUSH2 0x2637 00000685: JUMP 00000686: JUMPDEST 00000687: CALLVALUE 00000688: DUP1 00000689: ISZERO 0000068a: PUSH2 0x0692 0000068d: JUMPI 0000068e: PUSH1 0x00 00000690: DUP1 00000691: REVERT 00000692: JUMPDEST 00000693: POP 00000694: PUSH2 0x02d8 00000697: PUSH2 0x06a1 0000069a: CALLDATASIZE 0000069b: PUSH1 0x04 0000069d: PUSH2 0x3983 000006a0: JUMP 000006a1: JUMPDEST 000006a2: PUSH1 0x01 000006a4: PUSH1 0x01 000006a6: PUSH1 0xa0 000006a8: SHL 000006a9: SUB 000006aa: SWAP2 000006ab: DUP3 000006ac: AND 000006ad: PUSH1 0x00 000006af: SWAP1 000006b0: DUP2 000006b1: MSTORE 000006b2: PUSH1 0x01 000006b4: PUSH1 0x20 000006b6: SWAP1 000006b7: DUP2 000006b8: MSTORE 000006b9: PUSH1 0x40 000006bb: DUP1 000006bc: DUP4 000006bd: KECCAK256 000006be: SWAP4 000006bf: SWAP1 000006c0: SWAP5 000006c1: AND 000006c2: DUP3 000006c3: MSTORE 000006c4: SWAP2 000006c5: SWAP1 000006c6: SWAP2 000006c7: MSTORE 000006c8: KECCAK256 000006c9: SLOAD 000006ca: SWAP1 000006cb: JUMP 000006cc: JUMPDEST 000006cd: CALLVALUE 000006ce: DUP1 000006cf: ISZERO 000006d0: PUSH2 0x06d8 000006d3: JUMPI 000006d4: PUSH1 0x00 000006d6: DUP1 000006d7: REVERT 000006d8: JUMPDEST 000006d9: POP 000006da: PUSH2 0x028d 000006dd: PUSH2 0x06e7 000006e0: CALLDATASIZE 000006e1: PUSH1 0x04 000006e3: PUSH2 0x37bf 000006e6: JUMP 000006e7: JUMPDEST 000006e8: PUSH2 0x26ab 000006eb: JUMP 000006ec: JUMPDEST 000006ed: CALLVALUE 000006ee: DUP1 000006ef: ISZERO 000006f0: PUSH2 0x06f8 000006f3: JUMPI 000006f4: PUSH1 0x00 000006f6: DUP1 000006f7: REVERT 000006f8: JUMPDEST 000006f9: POP 000006fa: PUSH2 0x02d8 000006fd: PUSH2 0x0707 00000700: CALLDATASIZE 00000701: PUSH1 0x04 00000703: PUSH2 0x37bf 00000706: JUMP 00000707: JUMPDEST 00000708: PUSH2 0x2762 0000070b: JUMP 0000070c: JUMPDEST 0000070d: CALLVALUE 0000070e: DUP1 0000070f: ISZERO 00000710: PUSH2 0x0718 00000713: JUMPI 00000714: PUSH1 0x00 00000716: DUP1 00000717: REVERT 00000718: JUMPDEST 00000719: POP 0000071a: PUSH2 0x028d 0000071d: PUSH2 0x0727 00000720: CALLDATASIZE 00000721: PUSH1 0x04 00000723: PUSH2 0x3678 00000726: JUMP 00000727: JUMPDEST 00000728: PUSH2 0x27dd 0000072b: JUMP 0000072c: JUMPDEST 0000072d: PUSH1 0x60 0000072f: PUSH1 0x03 00000731: DUP1 00000732: SLOAD 00000733: PUSH2 0x073b 00000736: SWAP1 00000737: PUSH2 0x39cf 0000073a: JUMP 0000073b: JUMPDEST 0000073c: DUP1 0000073d: PUSH1 0x1f 0000073f: ADD 00000740: PUSH1 0x20 00000742: DUP1 00000743: SWAP2 00000744: DIV 00000745: MUL 00000746: PUSH1 0x20 00000748: ADD 00000749: PUSH1 0x40 0000074b: MLOAD 0000074c: SWAP1 0000074d: DUP2 0000074e: ADD 0000074f: PUSH1 0x40 00000751: MSTORE 00000752: DUP1 00000753: SWAP3 00000754: SWAP2 00000755: SWAP1 00000756: DUP2 00000757: DUP2 00000758: MSTORE 00000759: PUSH1 0x20 0000075b: ADD 0000075c: DUP3 0000075d: DUP1 0000075e: SLOAD 0000075f: PUSH2 0x0767 00000762: SWAP1 00000763: PUSH2 0x39cf 00000766: JUMP 00000767: JUMPDEST 00000768: DUP1 00000769: ISZERO 0000076a: PUSH2 0x07b4 0000076d: JUMPI 0000076e: DUP1 0000076f: PUSH1 0x1f 00000771: LT 00000772: PUSH2 0x0789 00000775: JUMPI 00000776: PUSH2 0x0100 00000779: DUP1 0000077a: DUP4 0000077b: SLOAD 0000077c: DIV 0000077d: MUL 0000077e: DUP4 0000077f: MSTORE 00000780: SWAP2 00000781: PUSH1 0x20 00000783: ADD 00000784: SWAP2 00000785: PUSH2 0x07b4 00000788: JUMP 00000789: JUMPDEST 0000078a: DUP3 0000078b: ADD 0000078c: SWAP2 0000078d: SWAP1 0000078e: PUSH1 0x00 00000790: MSTORE 00000791: PUSH1 0x20 00000793: PUSH1 0x00 00000795: KECCAK256 00000796: SWAP1 00000797: JUMPDEST 00000798: DUP2 00000799: SLOAD 0000079a: DUP2 0000079b: MSTORE 0000079c: SWAP1 0000079d: PUSH1 0x01 0000079f: ADD 000007a0: SWAP1 000007a1: PUSH1 0x20 000007a3: ADD 000007a4: DUP1 000007a5: DUP4 000007a6: GT 000007a7: PUSH2 0x0797 000007aa: JUMPI 000007ab: DUP3 000007ac: SWAP1 000007ad: SUB 000007ae: PUSH1 0x1f 000007b0: AND 000007b1: DUP3 000007b2: ADD 000007b3: SWAP2 000007b4: JUMPDEST 000007b5: POP 000007b6: POP 000007b7: POP 000007b8: POP 000007b9: POP 000007ba: SWAP1 000007bb: POP 000007bc: SWAP1 000007bd: JUMP 000007be: JUMPDEST 000007bf: CALLER 000007c0: PUSH1 0x00 000007c2: DUP2 000007c3: DUP2 000007c4: MSTORE 000007c5: PUSH1 0x01 000007c7: PUSH1 0x20 000007c9: SWAP1 000007ca: DUP2 000007cb: MSTORE 000007cc: PUSH1 0x40 000007ce: DUP1 000007cf: DUP4 000007d0: KECCAK256 000007d1: PUSH1 0x01 000007d3: PUSH1 0x01 000007d5: PUSH1 0xa0 000007d7: SHL 000007d8: SUB 000007d9: DUP8 000007da: AND 000007db: DUP1 000007dc: DUP6 000007dd: MSTORE 000007de: SWAP3 000007df: MSTORE 000007e0: DUP1 000007e1: DUP4 000007e2: KECCAK256 000007e3: DUP6 000007e4: SWAP1 000007e5: SSTORE 000007e6: MLOAD 000007e7: SWAP2 000007e8: SWAP3 000007e9: SWAP1 000007ea: SWAP2 000007eb: PUSH1 0x00 000007ed: DUP1 000007ee: MLOAD 000007ef: PUSH1 0x20 000007f1: PUSH2 0x3dd9 000007f4: DUP4 000007f5: CODECOPY 000007f6: DUP2 000007f7: MLOAD 000007f8: SWAP2 000007f9: MSTORE 000007fa: SWAP1 000007fb: PUSH2 0x0807 000007fe: SWAP1 000007ff: DUP7 00000800: DUP2 00000801: MSTORE 00000802: PUSH1 0x20 00000804: ADD 00000805: SWAP1 00000806: JUMP 00000807: JUMPDEST 00000808: PUSH1 0x40 0000080a: MLOAD 0000080b: DUP1 0000080c: SWAP2 0000080d: SUB 0000080e: SWAP1 0000080f: LOG3 00000810: POP 00000811: PUSH1 0x01 00000813: JUMPDEST 00000814: SWAP3 00000815: SWAP2 00000816: POP 00000817: POP 00000818: JUMP 00000819: JUMPDEST 0000081a: PUSH1 0x02 0000081c: PUSH1 0x05 0000081e: SLOAD 0000081f: SUB 00000820: PUSH2 0x0844 00000823: JUMPI 00000824: PUSH1 0x40 00000826: MLOAD 00000827: PUSH3 0x461bcd 0000082b: PUSH1 0xe5 0000082d: SHL 0000082e: DUP2 0000082f: MSTORE 00000830: PUSH1 0x04 00000832: ADD 00000833: PUSH2 0x083b 00000836: SWAP1 00000837: PUSH2 0x3a09 0000083a: JUMP 0000083b: JUMPDEST 0000083c: PUSH1 0x40 0000083e: MLOAD 0000083f: DUP1 00000840: SWAP2 00000841: SUB 00000842: SWAP1 00000843: REVERT 00000844: JUMPDEST 00000845: PUSH1 0x02 00000847: PUSH1 0x05 00000849: SSTORE 0000084a: PUSH2 0x0851 0000084d: PUSH2 0x283d 00000850: JUMP 00000851: JUMPDEST 00000852: PUSH2 0x085b 00000855: DUP7 00000856: DUP7 00000857: PUSH2 0x2887 0000085a: JUMP 0000085b: JUMPDEST 0000085c: PUSH2 0x0870 0000085f: PUSH1 0x01 00000861: PUSH1 0x01 00000863: PUSH1 0xa0 00000865: SHL 00000866: SUB 00000867: DUP8 00000868: AND 00000869: DUP7 0000086a: DUP5 0000086b: DUP5 0000086c: PUSH2 0x28fb 0000086f: JUMP 00000870: JUMPDEST 00000871: PUSH2 0x0898 00000874: PUSH1 0x01 00000876: PUSH1 0x01 00000878: PUSH1 0xa0 0000087a: SHL 0000087b: SUB 0000087c: DUP8 0000087d: AND 0000087e: PUSH20 0x1111111254fb6c44bac0bed2854e76f90643097d 00000893: DUP7 00000894: PUSH2 0x29a2 00000897: JUMP 00000898: JUMPDEST 00000899: PUSH1 0x40 0000089b: MLOAD 0000089c: PUSH4 0x05d2b6d9 000008a1: PUSH1 0xe3 000008a3: SHL 000008a4: DUP2 000008a5: MSTORE 000008a6: PUSH20 0x1111111254fb6c44bac0bed2854e76f90643097d 000008bb: SWAP1 000008bc: PUSH4 0x2e95b6c8 000008c1: SWAP1 000008c2: PUSH2 0x08d7 000008c5: SWAP1 000008c6: DUP10 000008c7: SWAP1 000008c8: DUP9 000008c9: SWAP1 000008ca: DUP9 000008cb: SWAP1 000008cc: DUP9 000008cd: SWAP1 000008ce: DUP9 000008cf: SWAP1 000008d0: PUSH1 0x04 000008d2: ADD 000008d3: PUSH2 0x3a76 000008d6: JUMP 000008d7: JUMPDEST 000008d8: PUSH1 0x20 000008da: PUSH1 0x40 000008dc: MLOAD 000008dd: DUP1 000008de: DUP4 000008df: SUB 000008e0: DUP2 000008e1: PUSH1 0x00 000008e3: DUP8 000008e4: GAS 000008e5: CALL 000008e6: ISZERO 000008e7: DUP1 000008e8: ISZERO 000008e9: PUSH2 0x08f6 000008ec: JUMPI 000008ed: RETURNDATASIZE 000008ee: PUSH1 0x00 000008f0: DUP1 000008f1: RETURNDATACOPY 000008f2: RETURNDATASIZE 000008f3: PUSH1 0x00 000008f5: REVERT 000008f6: JUMPDEST 000008f7: POP 000008f8: POP 000008f9: POP 000008fa: POP 000008fb: PUSH1 0x40 000008fd: MLOAD 000008fe: RETURNDATASIZE 000008ff: PUSH1 0x1f 00000901: NOT 00000902: PUSH1 0x1f 00000904: DUP3 00000905: ADD 00000906: AND 00000907: DUP3 00000908: ADD 00000909: DUP1 0000090a: PUSH1 0x40 0000090c: MSTORE 0000090d: POP 0000090e: DUP2 0000090f: ADD 00000910: SWAP1 00000911: PUSH2 0x091a 00000914: SWAP2 00000915: SWAP1 00000916: PUSH2 0x3aa4 00000919: JUMP 0000091a: JUMPDEST 0000091b: POP 0000091c: PUSH2 0x0927 0000091f: DUP7 00000920: DUP7 00000921: DUP7 00000922: DUP7 00000923: PUSH2 0x2a8d 00000926: JUMP 00000927: JUMPDEST 00000928: POP 00000929: POP 0000092a: PUSH1 0x01 0000092c: PUSH1 0x05 0000092e: SSTORE 0000092f: POP 00000930: POP 00000931: POP 00000932: POP 00000933: JUMP 00000934: JUMPDEST 00000935: PUSH2 0x093c 00000938: PUSH2 0x2af3 0000093b: JUMP 0000093c: JUMPDEST 0000093d: PUSH1 0x0f 0000093f: SSTORE 00000940: JUMP 00000941: JUMPDEST 00000942: PUSH1 0x00 00000944: CALLER 00000945: PUSH1 0x01 00000947: PUSH1 0x01 00000949: PUSH1 0xa0 0000094b: SHL 0000094c: SUB 0000094d: DUP6 0000094e: AND 0000094f: EQ 00000950: DUP1 00000951: PUSH2 0x097d 00000954: JUMPI 00000955: POP 00000956: PUSH1 0x01 00000958: PUSH1 0x01 0000095a: PUSH1 0xa0 0000095c: SHL 0000095d: SUB 0000095e: DUP5 0000095f: AND 00000960: PUSH1 0x00 00000962: SWAP1 00000963: DUP2 00000964: MSTORE 00000965: PUSH1 0x01 00000967: PUSH1 0x20 00000969: SWAP1 0000096a: DUP2 0000096b: MSTORE 0000096c: PUSH1 0x40 0000096e: DUP1 0000096f: DUP4 00000970: KECCAK256 00000971: CALLER 00000972: DUP5 00000973: MSTORE 00000974: SWAP1 00000975: SWAP2 00000976: MSTORE 00000977: SWAP1 00000978: KECCAK256 00000979: SLOAD 0000097a: DUP3 0000097b: GT 0000097c: ISZERO 0000097d: JUMPDEST 0000097e: PUSH2 0x09c1 00000981: JUMPI 00000982: PUSH1 0x40 00000984: MLOAD 00000985: PUSH3 0x461bcd 00000989: PUSH1 0xe5 0000098b: SHL 0000098c: DUP2 0000098d: MSTORE 0000098e: PUSH1 0x20 00000990: PUSH1 0x04 00000992: DUP3 00000993: ADD 00000994: MSTORE 00000995: PUSH1 0x15 00000997: PUSH1 0x24 00000999: DUP3 0000099a: ADD 0000099b: MSTORE 0000099c: PUSH21 0x22a9292fa12a27a5a2a72fa120a22fa1a0a62622a9 000009b2: PUSH1 0x59 000009b4: SHL 000009b5: PUSH1 0x44 000009b7: DUP3 000009b8: ADD 000009b9: MSTORE 000009ba: PUSH1 0x64 000009bc: ADD 000009bd: PUSH2 0x083b 000009c0: JUMP 000009c1: JUMPDEST 000009c2: PUSH2 0x09cc 000009c5: DUP5 000009c6: DUP5 000009c7: DUP5 000009c8: PUSH2 0x2b42 000009cb: JUMP 000009cc: JUMPDEST 000009cd: CALLER 000009ce: PUSH1 0x01 000009d0: PUSH1 0x01 000009d2: PUSH1 0xa0 000009d4: SHL 000009d5: SUB 000009d6: DUP6 000009d7: AND 000009d8: EQ 000009d9: DUP1 000009da: ISZERO 000009db: SWAP1 000009dc: PUSH2 0x0a18 000009df: JUMPI 000009e0: POP 000009e1: PUSH1 0x01 000009e3: PUSH1 0x01 000009e5: PUSH1 0xa0 000009e7: SHL 000009e8: SUB 000009e9: DUP5 000009ea: AND 000009eb: PUSH1 0x00 000009ed: SWAP1 000009ee: DUP2 000009ef: MSTORE 000009f0: PUSH1 0x01 000009f2: PUSH1 0x20 000009f4: SWAP1 000009f5: DUP2 000009f6: MSTORE 000009f7: PUSH1 0x40 000009f9: DUP1 000009fa: DUP4 000009fb: KECCAK256 000009fc: CALLER 000009fd: DUP5 000009fe: MSTORE 000009ff: SWAP1 00000a00: SWAP2 00000a01: MSTORE 00000a02: SWAP1 00000a03: KECCAK256 00000a04: SLOAD 00000a05: PUSH16 0xffffffffffffffffffffffffffffffff 00000a16: EQ 00000a17: ISZERO 00000a18: JUMPDEST 00000a19: ISZERO 00000a1a: PUSH2 0x0a9a 00000a1d: JUMPI 00000a1e: PUSH1 0x01 00000a20: PUSH1 0x01 00000a22: PUSH1 0xa0 00000a24: SHL 00000a25: SUB 00000a26: DUP5 00000a27: AND 00000a28: PUSH1 0x00 00000a2a: SWAP1 00000a2b: DUP2 00000a2c: MSTORE 00000a2d: PUSH1 0x01 00000a2f: PUSH1 0x20 00000a31: SWAP1 00000a32: DUP2 00000a33: MSTORE 00000a34: PUSH1 0x40 00000a36: DUP1 00000a37: DUP4 00000a38: KECCAK256 00000a39: CALLER 00000a3a: DUP5 00000a3b: MSTORE 00000a3c: SWAP1 00000a3d: SWAP2 00000a3e: MSTORE 00000a3f: SWAP1 00000a40: KECCAK256 00000a41: SLOAD 00000a42: PUSH2 0x0a4c 00000a45: SWAP1 00000a46: DUP4 00000a47: SWAP1 00000a48: PUSH2 0x3ad3 00000a4b: JUMP 00000a4c: JUMPDEST 00000a4d: PUSH1 0x01 00000a4f: PUSH1 0x01 00000a51: PUSH1 0xa0 00000a53: SHL 00000a54: SUB 00000a55: DUP6 00000a56: DUP2 00000a57: AND 00000a58: PUSH1 0x00 00000a5a: SWAP1 00000a5b: DUP2 00000a5c: MSTORE 00000a5d: PUSH1 0x01 00000a5f: PUSH1 0x20 00000a61: SWAP1 00000a62: DUP2 00000a63: MSTORE 00000a64: PUSH1 0x40 00000a66: DUP1 00000a67: DUP4 00000a68: KECCAK256 00000a69: CALLER 00000a6a: DUP1 00000a6b: DUP6 00000a6c: MSTORE 00000a6d: SWAP1 00000a6e: DUP4 00000a6f: MSTORE 00000a70: SWAP3 00000a71: DUP2 00000a72: SWAP1 00000a73: KECCAK256 00000a74: DUP6 00000a75: SWAP1 00000a76: SSTORE 00000a77: MLOAD 00000a78: SWAP4 00000a79: DUP5 00000a7a: MSTORE 00000a7b: SWAP2 00000a7c: DUP7 00000a7d: AND 00000a7e: SWAP3 00000a7f: SWAP1 00000a80: SWAP2 00000a81: PUSH1 0x00 00000a83: DUP1 00000a84: MLOAD 00000a85: PUSH1 0x20 00000a87: PUSH2 0x3dd9 00000a8a: DUP4 00000a8b: CODECOPY 00000a8c: DUP2 00000a8d: MLOAD 00000a8e: SWAP2 00000a8f: MSTORE 00000a90: SWAP2 00000a91: ADD 00000a92: PUSH1 0x40 00000a94: MLOAD 00000a95: DUP1 00000a96: SWAP2 00000a97: SUB 00000a98: SWAP1 00000a99: LOG3 00000a9a: JUMPDEST 00000a9b: POP 00000a9c: PUSH1 0x01 00000a9e: JUMPDEST 00000a9f: SWAP4 00000aa0: SWAP3 00000aa1: POP 00000aa2: POP 00000aa3: POP 00000aa4: JUMP 00000aa5: JUMPDEST 00000aa6: PUSH1 0x02 00000aa8: PUSH1 0x05 00000aaa: SLOAD 00000aab: SUB 00000aac: PUSH2 0x0ac7 00000aaf: JUMPI 00000ab0: PUSH1 0x40 00000ab2: MLOAD 00000ab3: PUSH3 0x461bcd 00000ab7: PUSH1 0xe5 00000ab9: SHL 00000aba: DUP2 00000abb: MSTORE 00000abc: PUSH1 0x04 00000abe: ADD 00000abf: PUSH2 0x083b 00000ac2: SWAP1 00000ac3: PUSH2 0x3a09 00000ac6: JUMP 00000ac7: JUMPDEST 00000ac8: PUSH1 0x02 00000aca: PUSH1 0x05 00000acc: SSTORE 00000acd: CALLER 00000ace: PUSH1 0x00 00000ad0: SWAP1 00000ad1: DUP2 00000ad2: MSTORE 00000ad3: PUSH1 0x0a 00000ad5: PUSH1 0x20 00000ad7: MSTORE 00000ad8: PUSH1 0x40 00000ada: SWAP1 00000adb: KECCAK256 00000adc: SLOAD 00000add: PUSH1 0xff 00000adf: AND 00000ae0: PUSH2 0x0b1b 00000ae3: JUMPI 00000ae4: PUSH1 0x40 00000ae6: MLOAD 00000ae7: PUSH3 0x461bcd 00000aeb: PUSH1 0xe5 00000aed: SHL 00000aee: DUP2 00000aef: MSTORE 00000af0: PUSH1 0x20 00000af2: PUSH1 0x04 00000af4: DUP3 00000af5: ADD 00000af6: MSTORE 00000af7: PUSH1 0x0d 00000af9: PUSH1 0x24 00000afb: DUP3 00000afc: ADD 00000afd: MSTORE 00000afe: PUSH13 0x4552525f4e4f545f464f524745 00000b0c: PUSH1 0x98 00000b0e: SHL 00000b0f: PUSH1 0x44 00000b11: DUP3 00000b12: ADD 00000b13: MSTORE 00000b14: PUSH1 0x64 00000b16: ADD 00000b17: PUSH2 0x083b 00000b1a: JUMP 00000b1b: JUMPDEST 00000b1c: PUSH1 0x00 00000b1e: PUSH2 0x0b26 00000b21: PUSH1 0x02 00000b23: SLOAD 00000b24: SWAP1 00000b25: JUMP 00000b26: JUMPDEST 00000b27: SWAP1 00000b28: POP 00000b29: PUSH1 0x00 00000b2b: PUSH2 0x0b34 00000b2e: DUP4 00000b2f: DUP4 00000b30: PUSH2 0x2c4e 00000b33: JUMP 00000b34: JUMPDEST 00000b35: SWAP1 00000b36: POP 00000b37: DUP1 00000b38: PUSH1 0x00 00000b3a: SUB 00000b3b: PUSH2 0x0b56 00000b3e: JUMPI 00000b3f: PUSH1 0x40 00000b41: MLOAD 00000b42: PUSH3 0x461bcd 00000b46: PUSH1 0xe5 00000b48: SHL 00000b49: DUP2 00000b4a: MSTORE 00000b4b: PUSH1 0x04 00000b4d: ADD 00000b4e: PUSH2 0x083b 00000b51: SWAP1 00000b52: PUSH2 0x3aea 00000b55: JUMP 00000b56: JUMPDEST 00000b57: PUSH2 0x0b60 00000b5a: CALLER 00000b5b: DUP5 00000b5c: PUSH2 0x2d73 00000b5f: JUMP 00000b60: JUMPDEST 00000b61: PUSH2 0x0b69 00000b64: DUP4 00000b65: PUSH2 0x2d7e 00000b68: JUMP 00000b69: JUMPDEST 00000b6a: PUSH1 0x40 00000b6c: DUP1 00000b6d: MLOAD 00000b6e: PUSH1 0x80 00000b70: DUP2 00000b71: ADD 00000b72: DUP3 00000b73: MSTORE 00000b74: PUSH1 0x00 00000b76: DUP1 00000b77: DUP3 00000b78: MSTORE 00000b79: PUSH1 0x20 00000b7b: DUP3 00000b7c: ADD 00000b7d: DUP2 00000b7e: SWAP1 00000b7f: MSTORE 00000b80: SWAP2 00000b81: DUP2 00000b82: ADD 00000b83: DUP3 00000b84: SWAP1 00000b85: MSTORE 00000b86: PUSH1 0x60 00000b88: DUP2 00000b89: ADD 00000b8a: DUP3 00000b8b: SWAP1 00000b8c: MSTORE 00000b8d: PUSH1 0x00 00000b8f: DUP1 00000b90: JUMPDEST 00000b91: PUSH1 0x0b 00000b93: SLOAD 00000b94: DUP2 00000b95: LT 00000b96: ISZERO 00000b97: PUSH2 0x0d04 00000b9a: JUMPI 00000b9b: PUSH1 0x0b 00000b9d: DUP2 00000b9e: DUP2 00000b9f: SLOAD 00000ba0: DUP2 00000ba1: LT 00000ba2: PUSH2 0x0bad 00000ba5: JUMPI 00000ba6: PUSH2 0x0bad 00000ba9: PUSH2 0x3b13 00000bac: JUMP 00000bad: JUMPDEST 00000bae: PUSH1 0x00 00000bb0: SWAP2 00000bb1: DUP3 00000bb2: MSTORE 00000bb3: PUSH1 0x20 00000bb5: DUP1 00000bb6: DUP4 00000bb7: KECCAK256 00000bb8: SWAP1 00000bb9: SWAP2 00000bba: ADD 00000bbb: SLOAD 00000bbc: PUSH1 0x01 00000bbe: PUSH1 0x01 00000bc0: PUSH1 0xa0 00000bc2: SHL 00000bc3: SUB 00000bc4: AND 00000bc5: DUP1 00000bc6: DUP4 00000bc7: MSTORE 00000bc8: PUSH1 0x0c 00000bca: DUP3 00000bcb: MSTORE 00000bcc: PUSH1 0x40 00000bce: SWAP3 00000bcf: DUP4 00000bd0: SWAP1 00000bd1: KECCAK256 00000bd2: DUP4 00000bd3: MLOAD 00000bd4: PUSH1 0x80 00000bd6: DUP2 00000bd7: ADD 00000bd8: DUP6 00000bd9: MSTORE 00000bda: DUP2 00000bdb: SLOAD 00000bdc: PUSH1 0xff 00000bde: DUP1 00000bdf: DUP3 00000be0: AND 00000be1: ISZERO 00000be2: ISZERO 00000be3: DUP4 00000be4: MSTORE 00000be5: PUSH2 0x0100 00000be8: SWAP1 00000be9: SWAP2 00000bea: DIV 00000beb: AND 00000bec: ISZERO 00000bed: ISZERO 00000bee: SWAP4 00000bef: DUP2 00000bf0: ADD 00000bf1: DUP5 00000bf2: SWAP1 00000bf3: MSTORE 00000bf4: PUSH1 0x01 00000bf6: DUP3 00000bf7: ADD 00000bf8: SLOAD 00000bf9: SWAP5 00000bfa: DUP2 00000bfb: ADD 00000bfc: SWAP5 00000bfd: SWAP1 00000bfe: SWAP5 00000bff: MSTORE 00000c00: PUSH1 0x02 00000c02: ADD 00000c03: SLOAD 00000c04: PUSH1 0x60 00000c06: DUP5 00000c07: ADD 00000c08: MSTORE 00000c09: SWAP6 00000c0a: POP 00000c0b: SWAP1 00000c0c: SWAP4 00000c0d: POP 00000c0e: PUSH2 0x0c4d 00000c11: JUMPI 00000c12: PUSH1 0x40 00000c14: MLOAD 00000c15: PUSH3 0x461bcd 00000c19: PUSH1 0xe5 00000c1b: SHL 00000c1c: DUP2 00000c1d: MSTORE 00000c1e: PUSH1 0x20 00000c20: PUSH1 0x04 00000c22: DUP3 00000c23: ADD 00000c24: MSTORE 00000c25: PUSH1 0x11 00000c27: PUSH1 0x24 00000c29: DUP3 00000c2a: ADD 00000c2b: MSTORE 00000c2c: PUSH17 0x4552525f4f55545f4e4f545f5245414459 00000c3e: PUSH1 0x78 00000c40: SHL 00000c41: PUSH1 0x44 00000c43: DUP3 00000c44: ADD 00000c45: MSTORE 00000c46: PUSH1 0x64 00000c48: ADD 00000c49: PUSH2 0x083b 00000c4c: JUMP 00000c4d: JUMPDEST 00000c4e: PUSH2 0x0c5b 00000c51: DUP6 00000c52: DUP5 00000c53: PUSH1 0x60 00000c55: ADD 00000c56: MLOAD 00000c57: PUSH2 0x2e4c 00000c5a: JUMP 00000c5b: JUMPDEST 00000c5c: SWAP2 00000c5d: POP 00000c5e: DUP2 00000c5f: PUSH1 0x00 00000c61: SUB 00000c62: PUSH2 0x0c7d 00000c65: JUMPI 00000c66: PUSH1 0x40 00000c68: MLOAD 00000c69: PUSH3 0x461bcd 00000c6d: PUSH1 0xe5 00000c6f: SHL 00000c70: DUP2 00000c71: MSTORE 00000c72: PUSH1 0x04 00000c74: ADD 00000c75: PUSH2 0x083b 00000c78: SWAP1 00000c79: PUSH2 0x3aea 00000c7c: JUMP 00000c7d: JUMPDEST 00000c7e: PUSH2 0x0c8b 00000c81: DUP4 00000c82: PUSH1 0x60 00000c84: ADD 00000c85: MLOAD 00000c86: DUP4 00000c87: PUSH2 0x2f27 00000c8a: JUMP 00000c8b: JUMPDEST 00000c8c: PUSH1 0x01 00000c8e: PUSH1 0x01 00000c90: PUSH1 0xa0 00000c92: SHL 00000c93: SUB 00000c94: DUP6 00000c95: AND 00000c96: PUSH1 0x00 00000c98: SWAP1 00000c99: DUP2 00000c9a: MSTORE 00000c9b: PUSH1 0x0c 00000c9d: PUSH1 0x20 00000c9f: MSTORE 00000ca0: PUSH1 0x40 00000ca2: SWAP1 00000ca3: KECCAK256 00000ca4: PUSH1 0x02 00000ca6: ADD 00000ca7: SSTORE 00000ca8: PUSH2 0x0cb2 00000cab: DUP5 00000cac: CALLER 00000cad: DUP5 00000cae: PUSH2 0x2f84 00000cb1: JUMP 00000cb2: JUMPDEST 00000cb3: PUSH1 0x40 00000cb5: MLOAD 00000cb6: DUP3 00000cb7: DUP2 00000cb8: MSTORE 00000cb9: PUSH1 0x01 00000cbb: PUSH1 0x01 00000cbd: PUSH1 0xa0 00000cbf: SHL 00000cc0: SUB 00000cc1: DUP6 00000cc2: AND 00000cc3: SWAP1 00000cc4: CALLER 00000cc5: SWAP1 00000cc6: PUSH32 0xe74c91552b64c2e2e7bd255639e004e693bd3e1d01cc33e65610b86afcc1ffed 00000ce7: SWAP1 00000ce8: PUSH1 0x20 00000cea: ADD 00000ceb: PUSH1 0x40 00000ced: MLOAD 00000cee: DUP1 00000cef: SWAP2 00000cf0: SUB 00000cf1: SWAP1 00000cf2: LOG3 00000cf3: DUP1 00000cf4: PUSH2 0x0cfc 00000cf7: DUP2 00000cf8: PUSH2 0x3b29 00000cfb: JUMP 00000cfc: JUMPDEST 00000cfd: SWAP2 00000cfe: POP 00000cff: POP 00000d00: PUSH2 0x0b90 00000d03: JUMP 00000d04: JUMPDEST 00000d05: POP 00000d06: POP 00000d07: PUSH1 0x01 00000d09: PUSH1 0x05 00000d0b: SSTORE 00000d0c: POP 00000d0d: POP 00000d0e: POP 00000d0f: POP 00000d10: POP 00000d11: JUMP 00000d12: JUMPDEST 00000d13: PUSH2 0x0d1a 00000d16: PUSH2 0x2af3 00000d19: JUMP 00000d1a: JUMPDEST 00000d1b: PUSH1 0x01 00000d1d: PUSH1 0x01 00000d1f: PUSH1 0xa0 00000d21: SHL 00000d22: SUB 00000d23: DUP2 00000d24: AND 00000d25: PUSH1 0x00 00000d27: SWAP1 00000d28: DUP2 00000d29: MSTORE 00000d2a: PUSH1 0x09 00000d2c: PUSH1 0x20 00000d2e: MSTORE 00000d2f: PUSH1 0x40 00000d31: SWAP1 00000d32: KECCAK256 00000d33: SLOAD 00000d34: PUSH1 0xff 00000d36: AND 00000d37: ISZERO 00000d38: PUSH2 0x0d7d 00000d3b: JUMPI 00000d3c: PUSH1 0x40 00000d3e: MLOAD 00000d3f: PUSH3 0x461bcd 00000d43: PUSH1 0xe5 00000d45: SHL 00000d46: DUP2 00000d47: MSTORE 00000d48: PUSH1 0x20 00000d4a: PUSH1 0x04 00000d4c: DUP3 00000d4d: ADD 00000d4e: MSTORE 00000d4f: PUSH1 0x17 00000d51: PUSH1 0x24 00000d53: DUP3 00000d54: ADD 00000d55: MSTORE 00000d56: PUSH23 0x11549497d193d491d157d053149150511657d051111151 00000d6e: PUSH1 0x4a 00000d70: SHL 00000d71: PUSH1 0x44 00000d73: DUP3 00000d74: ADD 00000d75: MSTORE 00000d76: PUSH1 0x64 00000d78: ADD 00000d79: PUSH2 0x083b 00000d7c: JUMP 00000d7d: JUMPDEST 00000d7e: PUSH1 0x01 00000d80: PUSH1 0x01 00000d82: PUSH1 0xa0 00000d84: SHL 00000d85: SUB 00000d86: DUP2 00000d87: AND 00000d88: PUSH1 0x00 00000d8a: DUP2 00000d8b: DUP2 00000d8c: MSTORE 00000d8d: PUSH1 0x09 00000d8f: PUSH1 0x20 00000d91: MSTORE 00000d92: PUSH1 0x40 00000d94: DUP1 00000d95: DUP3 00000d96: KECCAK256 00000d97: DUP1 00000d98: SLOAD 00000d99: PUSH1 0xff 00000d9b: NOT 00000d9c: AND 00000d9d: PUSH1 0x01 00000d9f: OR 00000da0: SWAP1 00000da1: SSTORE 00000da2: MLOAD 00000da3: PUSH32 0x3e8033965d38bf14f7324229095da5e193ecb0204a77a56d309da0c94882fd27 00000dc4: SWAP2 00000dc5: SWAP1 00000dc6: LOG2 00000dc7: POP 00000dc8: JUMP 00000dc9: JUMPDEST 00000dca: PUSH1 0x60 00000dcc: DUP1 00000dcd: PUSH1 0x00 00000dcf: PUSH2 0x0dd7 00000dd2: PUSH1 0x02 00000dd4: SLOAD 00000dd5: SWAP1 00000dd6: JUMP 00000dd7: JUMPDEST 00000dd8: SWAP1 00000dd9: POP 00000dda: PUSH1 0x00 00000ddc: PUSH2 0x0de5 00000ddf: DUP6 00000de0: DUP4 00000de1: PUSH2 0x2c4e 00000de4: JUMP 00000de5: JUMPDEST 00000de6: SWAP1 00000de7: POP 00000de8: DUP1 00000de9: PUSH1 0x00 00000deb: SUB 00000dec: PUSH2 0x0e07 00000def: JUMPI 00000df0: PUSH1 0x40 00000df2: MLOAD 00000df3: PUSH3 0x461bcd 00000df7: PUSH1 0xe5 00000df9: SHL 00000dfa: DUP2 00000dfb: MSTORE 00000dfc: PUSH1 0x04 00000dfe: ADD 00000dff: PUSH2 0x083b 00000e02: SWAP1 00000e03: PUSH2 0x3aea 00000e06: JUMP 00000e07: JUMPDEST 00000e08: PUSH1 0x0b 00000e0a: DUP1 00000e0b: SLOAD 00000e0c: DUP1 00000e0d: PUSH1 0x20 00000e0f: MUL 00000e10: PUSH1 0x20 00000e12: ADD 00000e13: PUSH1 0x40 00000e15: MLOAD 00000e16: SWAP1 00000e17: DUP2 00000e18: ADD 00000e19: PUSH1 0x40 00000e1b: MSTORE 00000e1c: DUP1 00000e1d: SWAP3 00000e1e: SWAP2 00000e1f: SWAP1 00000e20: DUP2 00000e21: DUP2 00000e22: MSTORE 00000e23: PUSH1 0x20 00000e25: ADD 00000e26: DUP3 00000e27: DUP1 00000e28: SLOAD 00000e29: DUP1 00000e2a: ISZERO 00000e2b: PUSH2 0x0e5d 00000e2e: JUMPI 00000e2f: PUSH1 0x20 00000e31: MUL 00000e32: DUP3 00000e33: ADD 00000e34: SWAP2 00000e35: SWAP1 00000e36: PUSH1 0x00 00000e38: MSTORE 00000e39: PUSH1 0x20 00000e3b: PUSH1 0x00 00000e3d: KECCAK256 00000e3e: SWAP1 00000e3f: JUMPDEST 00000e40: DUP2 00000e41: SLOAD 00000e42: PUSH1 0x01 00000e44: PUSH1 0x01 00000e46: PUSH1 0xa0 00000e48: SHL 00000e49: SUB 00000e4a: AND 00000e4b: DUP2 00000e4c: MSTORE 00000e4d: PUSH1 0x01 00000e4f: SWAP1 00000e50: SWAP2 00000e51: ADD 00000e52: SWAP1 00000e53: PUSH1 0x20 00000e55: ADD 00000e56: DUP1 00000e57: DUP4 00000e58: GT 00000e59: PUSH2 0x0e3f 00000e5c: JUMPI 00000e5d: JUMPDEST 00000e5e: POP 00000e5f: POP 00000e60: PUSH1 0x0b 00000e62: SLOAD 00000e63: SWAP4 00000e64: SWAP8 00000e65: POP 00000e66: POP 00000e67: POP 00000e68: PUSH8 0xffffffffffffffff 00000e71: DUP3 00000e72: GT 00000e73: ISZERO 00000e74: SWAP1 00000e75: POP 00000e76: PUSH2 0x0e81 00000e79: JUMPI 00000e7a: PUSH2 0x0e81 00000e7d: PUSH2 0x3b42 00000e80: JUMP 00000e81: JUMPDEST 00000e82: PUSH1 0x40 00000e84: MLOAD 00000e85: SWAP1 00000e86: DUP1 00000e87: DUP3 00000e88: MSTORE 00000e89: DUP1 00000e8a: PUSH1 0x20 00000e8c: MUL 00000e8d: PUSH1 0x20 00000e8f: ADD 00000e90: DUP3 00000e91: ADD 00000e92: PUSH1 0x40 00000e94: MSTORE 00000e95: DUP1 00000e96: ISZERO 00000e97: PUSH2 0x0eaa 00000e9a: JUMPI 00000e9b: DUP2 00000e9c: PUSH1 0x20 00000e9e: ADD 00000e9f: PUSH1 0x20 00000ea1: DUP3 00000ea2: MUL 00000ea3: DUP1 00000ea4: CALLDATASIZE 00000ea5: DUP4 00000ea6: CALLDATACOPY 00000ea7: ADD 00000ea8: SWAP1 00000ea9: POP 00000eaa: JUMPDEST 00000eab: POP 00000eac: SWAP3 00000ead: POP 00000eae: PUSH1 0x00 00000eb0: DUP1 00000eb1: JUMPDEST 00000eb2: PUSH1 0x0b 00000eb4: SLOAD 00000eb5: DUP2 00000eb6: LT 00000eb7: ISZERO 00000eb8: PUSH2 0x0f23 00000ebb: JUMPI 00000ebc: PUSH1 0x00 00000ebe: PUSH2 0x0edf 00000ec1: DUP8 00000ec2: DUP4 00000ec3: DUP2 00000ec4: MLOAD 00000ec5: DUP2 00000ec6: LT 00000ec7: PUSH2 0x0ed2 00000eca: JUMPI 00000ecb: PUSH2 0x0ed2 00000ece: PUSH2 0x3b13 00000ed1: JUMP 00000ed2: JUMPDEST 00000ed3: PUSH1 0x20 00000ed5: MUL 00000ed6: PUSH1 0x20 00000ed8: ADD 00000ed9: ADD 00000eda: MLOAD 00000edb: PUSH2 0x2f9d 00000ede: JUMP 00000edf: JUMPDEST 00000ee0: POP 00000ee1: SWAP1 00000ee2: POP 00000ee3: PUSH2 0x0ef0 00000ee6: DUP5 00000ee7: DUP3 00000ee8: PUSH1 0x60 00000eea: ADD 00000eeb: MLOAD 00000eec: PUSH2 0x2e4c 00000eef: JUMP 00000ef0: JUMPDEST 00000ef1: SWAP3 00000ef2: POP 00000ef3: DUP3 00000ef4: DUP7 00000ef5: DUP4 00000ef6: DUP2 00000ef7: MLOAD 00000ef8: DUP2 00000ef9: LT 00000efa: PUSH2 0x0f05 00000efd: JUMPI 00000efe: PUSH2 0x0f05 00000f01: PUSH2 0x3b13 00000f04: JUMP 00000f05: JUMPDEST 00000f06: PUSH1 0x20 00000f08: SWAP1 00000f09: DUP2 00000f0a: MUL 00000f0b: SWAP2 00000f0c: SWAP1 00000f0d: SWAP2 00000f0e: ADD 00000f0f: ADD 00000f10: MSTORE 00000f11: POP 00000f12: DUP1 00000f13: PUSH2 0x0f1b 00000f16: DUP2 00000f17: PUSH2 0x3b29 00000f1a: JUMP 00000f1b: JUMPDEST 00000f1c: SWAP2 00000f1d: POP 00000f1e: POP 00000f1f: PUSH2 0x0eb1 00000f22: JUMP 00000f23: JUMPDEST 00000f24: POP 00000f25: POP 00000f26: POP 00000f27: POP 00000f28: SWAP2 00000f29: POP 00000f2a: SWAP2 00000f2b: JUMP 00000f2c: JUMPDEST 00000f2d: PUSH1 0x00 00000f2f: PUSH1 0x02 00000f31: PUSH1 0x05 00000f33: SLOAD 00000f34: SUB 00000f35: PUSH2 0x0f50 00000f38: JUMPI 00000f39: PUSH1 0x40 00000f3b: MLOAD 00000f3c: PUSH3 0x461bcd 00000f40: PUSH1 0xe5 00000f42: SHL 00000f43: DUP2 00000f44: MSTORE 00000f45: PUSH1 0x04 00000f47: ADD 00000f48: PUSH2 0x083b 00000f4b: SWAP1 00000f4c: PUSH2 0x3a09 00000f4f: JUMP 00000f50: JUMPDEST 00000f51: PUSH1 0x02 00000f53: PUSH1 0x05 00000f55: SSTORE 00000f56: CALLER 00000f57: PUSH1 0x00 00000f59: SWAP1 00000f5a: DUP2 00000f5b: MSTORE 00000f5c: PUSH1 0x09 00000f5e: PUSH1 0x20 00000f60: MSTORE 00000f61: PUSH1 0x40 00000f63: SWAP1 00000f64: KECCAK256 00000f65: SLOAD 00000f66: PUSH1 0xff 00000f68: AND 00000f69: PUSH2 0x0fa4 00000f6c: JUMPI 00000f6d: PUSH1 0x40 00000f6f: MLOAD 00000f70: PUSH3 0x461bcd 00000f74: PUSH1 0xe5 00000f76: SHL 00000f77: DUP2 00000f78: MSTORE 00000f79: PUSH1 0x20 00000f7b: PUSH1 0x04 00000f7d: DUP3 00000f7e: ADD 00000f7f: MSTORE 00000f80: PUSH1 0x0d 00000f82: PUSH1 0x24 00000f84: DUP3 00000f85: ADD 00000f86: MSTORE 00000f87: PUSH13 0x4552525f4e4f545f464f524745 00000f95: PUSH1 0x98 00000f97: SHL 00000f98: PUSH1 0x44 00000f9a: DUP3 00000f9b: ADD 00000f9c: MSTORE 00000f9d: PUSH1 0x64 00000f9f: ADD 00000fa0: PUSH2 0x083b 00000fa3: JUMP 00000fa4: JUMPDEST 00000fa5: PUSH1 0x0d 00000fa7: SLOAD 00000fa8: PUSH1 0x01 00000faa: PUSH1 0x01 00000fac: PUSH1 0xa0 00000fae: SHL 00000faf: SUB 00000fb0: AND 00000fb1: PUSH2 0x0ffc 00000fb4: JUMPI 00000fb5: PUSH1 0x40 00000fb7: MLOAD 00000fb8: PUSH3 0x461bcd 00000fbc: PUSH1 0xe5 00000fbe: SHL 00000fbf: DUP2 00000fc0: MSTORE 00000fc1: PUSH1 0x20 00000fc3: PUSH1 0x04 00000fc5: DUP3 00000fc6: ADD 00000fc7: MSTORE 00000fc8: PUSH1 0x1a 00000fca: PUSH1 0x24 00000fcc: DUP3 00000fcd: ADD 00000fce: MSTORE 00000fcf: PUSH32 0x4552525f44594e415345545f4f5241434c455f4e4f545f534554000000000000 00000ff0: PUSH1 0x44 00000ff2: DUP3 00000ff3: ADD 00000ff4: MSTORE 00000ff5: PUSH1 0x64 00000ff7: ADD 00000ff8: PUSH2 0x083b 00000ffb: JUMP 00000ffc: JUMPDEST 00000ffd: POP 00000ffe: DUP1 00000fff: PUSH1 0x00 00001001: PUSH2 0x1009 00001004: PUSH1 0x02 00001006: SLOAD 00001007: SWAP1 00001008: JUMP 00001009: JUMPDEST 0000100a: SWAP1 0000100b: POP 0000100c: PUSH1 0x00 0000100e: PUSH2 0x1017 00001011: DUP4 00001012: DUP4 00001013: PUSH2 0x2c4e 00001016: JUMP 00001017: JUMPDEST 00001018: SWAP1 00001019: POP 0000101a: DUP1 0000101b: PUSH1 0x00 0000101d: SUB 0000101e: PUSH2 0x1039 00001021: JUMPI 00001022: PUSH1 0x40 00001024: MLOAD 00001025: PUSH3 0x461bcd 00001029: PUSH1 0xe5 0000102b: SHL 0000102c: DUP2 0000102d: MSTORE 0000102e: PUSH1 0x04 00001030: ADD 00001031: PUSH2 0x083b 00001034: SWAP1 00001035: PUSH2 0x3aea 00001038: JUMP 00001039: JUMPDEST 0000103a: PUSH1 0x00 0000103c: DUP1 0000103d: PUSH1 0x00 0000103f: PUSH1 0x0d 00001041: PUSH1 0x00 00001043: SWAP1 00001044: SLOAD 00001045: SWAP1 00001046: PUSH2 0x0100 00001049: EXP 0000104a: SWAP1 0000104b: DIV 0000104c: PUSH1 0x01 0000104e: PUSH1 0x01 00001050: PUSH1 0xa0 00001052: SHL 00001053: SUB 00001054: AND 00001055: PUSH1 0x01 00001057: PUSH1 0x01 00001059: PUSH1 0xa0 0000105b: SHL 0000105c: SUB 0000105d: AND 0000105e: PUSH4 0xd66d13e0 00001063: PUSH1 0x40 00001065: MLOAD 00001066: DUP2 00001067: PUSH4 0xffffffff 0000106c: AND 0000106d: PUSH1 0xe0 0000106f: SHL 00001070: DUP2 00001071: MSTORE 00001072: PUSH1 0x04 00001074: ADD 00001075: PUSH1 0x20 00001077: PUSH1 0x40 00001079: MLOAD 0000107a: DUP1 0000107b: DUP4 0000107c: SUB 0000107d: DUP2 0000107e: DUP7 0000107f: GAS 00001080: STATICCALL 00001081: ISZERO 00001082: DUP1 00001083: ISZERO 00001084: PUSH2 0x1091 00001087: JUMPI 00001088: RETURNDATASIZE 00001089: PUSH1 0x00 0000108b: DUP1 0000108c: RETURNDATACOPY 0000108d: RETURNDATASIZE 0000108e: PUSH1 0x00 00001090: REVERT 00001091: JUMPDEST 00001092: POP 00001093: POP 00001094: POP 00001095: POP 00001096: PUSH1 0x40 00001098: MLOAD 00001099: RETURNDATASIZE 0000109a: PUSH1 0x1f 0000109c: NOT 0000109d: PUSH1 0x1f 0000109f: DUP3 000010a0: ADD 000010a1: AND 000010a2: DUP3 000010a3: ADD 000010a4: DUP1 000010a5: PUSH1 0x40 000010a7: MSTORE 000010a8: POP 000010a9: DUP2 000010aa: ADD 000010ab: SWAP1 000010ac: PUSH2 0x10b5 000010af: SWAP2 000010b0: SWAP1 000010b1: PUSH2 0x3aa4 000010b4: JUMP 000010b5: JUMPDEST 000010b6: SWAP1 000010b7: POP 000010b8: PUSH1 0x00 000010ba: JUMPDEST 000010bb: PUSH1 0x0b 000010bd: SLOAD 000010be: DUP2 000010bf: LT 000010c0: ISZERO 000010c1: PUSH2 0x12ab 000010c4: JUMPI 000010c5: PUSH1 0x0b 000010c7: DUP2 000010c8: DUP2 000010c9: SLOAD 000010ca: DUP2 000010cb: LT 000010cc: PUSH2 0x10d7 000010cf: JUMPI 000010d0: PUSH2 0x10d7 000010d3: PUSH2 0x3b13 000010d6: JUMP 000010d7: JUMPDEST 000010d8: PUSH1 0x00 000010da: SWAP2 000010db: DUP3 000010dc: MSTORE 000010dd: PUSH1 0x20 000010df: DUP3 000010e0: KECCAK256 000010e1: ADD 000010e2: SLOAD 000010e3: PUSH1 0x01 000010e5: PUSH1 0x01 000010e7: PUSH1 0xa0 000010e9: SHL 000010ea: SUB 000010eb: AND 000010ec: SWAP4 000010ed: POP 000010ee: PUSH2 0x10f6 000010f1: DUP5 000010f2: PUSH2 0x2f9d 000010f5: JUMP 000010f6: JUMPDEST 000010f7: SWAP2 000010f8: POP 000010f9: POP 000010fa: PUSH2 0x1103 000010fd: DUP7 000010fe: DUP3 000010ff: PUSH2 0x2e4c 00001102: JUMP 00001103: JUMPDEST 00001104: SWAP5 00001105: POP 00001106: DUP5 00001107: PUSH1 0x00 00001109: SUB 0000110a: PUSH2 0x1125 0000110d: JUMPI 0000110e: PUSH1 0x40 00001110: MLOAD 00001111: PUSH3 0x461bcd 00001115: PUSH1 0xe5 00001117: SHL 00001118: DUP2 00001119: MSTORE 0000111a: PUSH1 0x04 0000111c: ADD 0000111d: PUSH2 0x083b 00001120: SWAP1 00001121: PUSH2 0x3aea 00001124: JUMP 00001125: JUMPDEST 00001126: PUSH1 0x40 00001128: MLOAD 00001129: PUSH4 0x70a08231 0000112e: PUSH1 0xe0 00001130: SHL 00001131: DUP2 00001132: MSTORE 00001133: CALLER 00001134: PUSH1 0x04 00001136: DUP3 00001137: ADD 00001138: MSTORE 00001139: PUSH1 0x00 0000113b: SWAP1 0000113c: PUSH1 0x01 0000113e: PUSH1 0x01 00001140: PUSH1 0xa0 00001142: SHL 00001143: SUB 00001144: DUP7 00001145: AND 00001146: SWAP1 00001147: PUSH4 0x70a08231 0000114c: SWAP1 0000114d: PUSH1 0x24 0000114f: ADD 00001150: PUSH1 0x20 00001152: PUSH1 0x40 00001154: MLOAD 00001155: DUP1 00001156: DUP4 00001157: SUB 00001158: DUP2 00001159: DUP7 0000115a: GAS 0000115b: STATICCALL 0000115c: ISZERO 0000115d: DUP1 0000115e: ISZERO 0000115f: PUSH2 0x116c 00001162: JUMPI 00001163: RETURNDATASIZE 00001164: PUSH1 0x00 00001166: DUP1 00001167: RETURNDATACOPY 00001168: RETURNDATASIZE 00001169: PUSH1 0x00 0000116b: REVERT 0000116c: JUMPDEST 0000116d: POP 0000116e: POP 0000116f: POP 00001170: POP 00001171: PUSH1 0x40 00001173: MLOAD 00001174: RETURNDATASIZE 00001175: PUSH1 0x1f 00001177: NOT 00001178: PUSH1 0x1f 0000117a: DUP3 0000117b: ADD 0000117c: AND 0000117d: DUP3 0000117e: ADD 0000117f: DUP1 00001180: PUSH1 0x40 00001182: MSTORE 00001183: POP 00001184: DUP2 00001185: ADD 00001186: SWAP1 00001187: PUSH2 0x1190 0000118a: SWAP2 0000118b: SWAP1 0000118c: PUSH2 0x3aa4 0000118f: JUMP 00001190: JUMPDEST 00001191: SWAP1 00001192: POP 00001193: DUP6 00001194: DUP2 00001195: LT 00001196: ISZERO 00001197: PUSH2 0x119e 0000119a: JUMPI 0000119b: DUP1 0000119c: SWAP6 0000119d: POP 0000119e: JUMPDEST 0000119f: PUSH1 0x40 000011a1: MLOAD 000011a2: PUSH4 0x6eb1769f 000011a7: PUSH1 0xe1 000011a9: SHL 000011aa: DUP2 000011ab: MSTORE 000011ac: CALLER 000011ad: PUSH1 0x04 000011af: DUP3 000011b0: ADD 000011b1: MSTORE 000011b2: ADDRESS 000011b3: PUSH1 0x24 000011b5: DUP3 000011b6: ADD 000011b7: MSTORE 000011b8: PUSH1 0x00 000011ba: SWAP1 000011bb: PUSH1 0x01 000011bd: PUSH1 0x01 000011bf: PUSH1 0xa0 000011c1: SHL 000011c2: SUB 000011c3: DUP8 000011c4: AND 000011c5: SWAP1 000011c6: PUSH4 0xdd62ed3e 000011cb: SWAP1 000011cc: PUSH1 0x44 000011ce: ADD 000011cf: PUSH1 0x20 000011d1: PUSH1 0x40 000011d3: MLOAD 000011d4: DUP1 000011d5: DUP4 000011d6: SUB 000011d7: DUP2 000011d8: DUP7 000011d9: GAS 000011da: STATICCALL 000011db: ISZERO 000011dc: DUP1 000011dd: ISZERO 000011de: PUSH2 0x11eb 000011e1: JUMPI 000011e2: RETURNDATASIZE 000011e3: PUSH1 0x00 000011e5: DUP1 000011e6: RETURNDATACOPY 000011e7: RETURNDATASIZE 000011e8: PUSH1 0x00 000011ea: REVERT 000011eb: JUMPDEST 000011ec: POP 000011ed: POP 000011ee: POP 000011ef: POP 000011f0: PUSH1 0x40 000011f2: MLOAD 000011f3: RETURNDATASIZE 000011f4: PUSH1 0x1f 000011f6: NOT 000011f7: PUSH1 0x1f 000011f9: DUP3 000011fa: ADD 000011fb: AND 000011fc: DUP3 000011fd: ADD 000011fe: DUP1 000011ff: PUSH1 0x40 00001201: MSTORE 00001202: POP 00001203: DUP2 00001204: ADD 00001205: SWAP1 00001206: PUSH2 0x120f 00001209: SWAP2 0000120a: SWAP1 0000120b: PUSH2 0x3aa4 0000120e: JUMP 0000120f: JUMPDEST 00001210: SWAP1 00001211: POP 00001212: DUP7 00001213: DUP2 00001214: LT 00001215: ISZERO 00001216: PUSH2 0x121d 00001219: JUMPI 0000121a: DUP1 0000121b: SWAP7 0000121c: POP 0000121d: JUMPDEST 0000121e: PUSH2 0x124a 00001221: DUP7 00001222: PUSH2 0x122b 00001225: DUP6 00001226: DUP11 00001227: PUSH2 0x3040 0000122a: JUMP 0000122b: JUMPDEST 0000122c: PUSH1 0x01 0000122e: PUSH1 0x01 00001230: PUSH1 0xa0 00001232: SHL 00001233: SUB 00001234: SWAP1 00001235: SWAP2 00001236: AND 00001237: PUSH1 0x00 00001239: SWAP1 0000123a: DUP2 0000123b: MSTORE 0000123c: PUSH1 0x0c 0000123e: PUSH1 0x20 00001240: MSTORE 00001241: PUSH1 0x40 00001243: SWAP1 00001244: KECCAK256 00001245: PUSH1 0x02 00001247: ADD 00001248: SSTORE 00001249: JUMP 0000124a: JUMPDEST 0000124b: PUSH2 0x1255 0000124e: DUP7 0000124f: CALLER 00001250: DUP10 00001251: PUSH2 0x3092 00001254: JUMP 00001255: JUMPDEST 00001256: PUSH1 0x40 00001258: MLOAD 00001259: DUP8 0000125a: DUP2 0000125b: MSTORE 0000125c: CALLER 0000125d: SWAP1 0000125e: PUSH1 0x01 00001260: PUSH1 0x01 00001262: PUSH1 0xa0 00001264: SHL 00001265: SUB 00001266: DUP9 00001267: AND 00001268: SWAP1 00001269: PUSH32 0x63982df10efd8dfaaaa0fcc7f50b2d93b7cba26ccc48adee2873220d485dc39a 0000128a: SWAP1 0000128b: PUSH1 0x20 0000128d: ADD 0000128e: PUSH1 0x40 00001290: MLOAD 00001291: DUP1 00001292: SWAP2 00001293: SUB 00001294: SWAP1 00001295: LOG3 00001296: POP 00001297: POP 00001298: POP 00001299: DUP1 0000129a: DUP1 0000129b: PUSH2 0x12a3 0000129e: SWAP1 0000129f: PUSH2 0x3b29 000012a2: JUMP 000012a3: JUMPDEST 000012a4: SWAP2 000012a5: POP 000012a6: POP 000012a7: PUSH2 0x10ba 000012aa: JUMP 000012ab: JUMPDEST 000012ac: POP 000012ad: PUSH1 0x00 000012af: DUP2 000012b0: PUSH1 0x0d 000012b2: PUSH1 0x00 000012b4: SWAP1 000012b5: SLOAD 000012b6: SWAP1 000012b7: PUSH2 0x0100 000012ba: EXP 000012bb: SWAP1 000012bc: DIV 000012bd: PUSH1 0x01 000012bf: PUSH1 0x01 000012c1: PUSH1 0xa0 000012c3: SHL 000012c4: SUB 000012c5: AND 000012c6: PUSH1 0x01 000012c8: PUSH1 0x01 000012ca: PUSH1 0xa0 000012cc: SHL 000012cd: SUB 000012ce: AND 000012cf: PUSH4 0xd66d13e0 000012d4: PUSH1 0x40 000012d6: MLOAD 000012d7: DUP2 000012d8: PUSH4 0xffffffff 000012dd: AND 000012de: PUSH1 0xe0 000012e0: SHL 000012e1: DUP2 000012e2: MSTORE 000012e3: PUSH1 0x04 000012e5: ADD 000012e6: PUSH1 0x20 000012e8: PUSH1 0x40 000012ea: MLOAD 000012eb: DUP1 000012ec: DUP4 000012ed: SUB 000012ee: DUP2 000012ef: DUP7 000012f0: GAS 000012f1: STATICCALL 000012f2: ISZERO 000012f3: DUP1 000012f4: ISZERO 000012f5: PUSH2 0x1302 000012f8: JUMPI 000012f9: RETURNDATASIZE 000012fa: PUSH1 0x00 000012fc: DUP1 000012fd: RETURNDATACOPY 000012fe: RETURNDATASIZE 000012ff: PUSH1 0x00 00001301: REVERT 00001302: JUMPDEST 00001303: POP 00001304: POP 00001305: POP 00001306: POP 00001307: PUSH1 0x40 00001309: MLOAD 0000130a: RETURNDATASIZE 0000130b: PUSH1 0x1f 0000130d: NOT 0000130e: PUSH1 0x1f 00001310: DUP3 00001311: ADD 00001312: AND 00001313: DUP3 00001314: ADD 00001315: DUP1 00001316: PUSH1 0x40 00001318: MSTORE 00001319: POP 0000131a: DUP2 0000131b: ADD 0000131c: SWAP1 0000131d: PUSH2 0x1326 00001320: SWAP2 00001321: SWAP1 00001322: PUSH2 0x3aa4 00001325: JUMP 00001326: JUMPDEST 00001327: PUSH2 0x1330 0000132a: SWAP2 0000132b: SWAP1 0000132c: PUSH2 0x3ad3 0000132f: JUMP 00001330: JUMPDEST 00001331: SWAP1 00001332: POP 00001333: DUP2 00001334: PUSH2 0x133d 00001337: DUP8 00001338: DUP4 00001339: PUSH2 0x3b58 0000133c: JUMP 0000133d: JUMPDEST 0000133e: PUSH2 0x1347 00001341: SWAP2 00001342: SWAP1 00001343: PUSH2 0x3b77 00001346: JUMP 00001347: JUMPDEST 00001348: SWAP7 00001349: POP 0000134a: PUSH1 0x00 0000134c: DUP8 0000134d: GT 0000134e: PUSH2 0x138e 00001351: JUMPI 00001352: PUSH1 0x40 00001354: MLOAD 00001355: PUSH3 0x461bcd 00001359: PUSH1 0xe5 0000135b: SHL 0000135c: DUP2 0000135d: MSTORE 0000135e: PUSH1 0x20 00001360: PUSH1 0x04 00001362: DUP3 00001363: ADD 00001364: MSTORE 00001365: PUSH1 0x12 00001367: PUSH1 0x24 00001369: DUP3 0000136a: ADD 0000136b: MSTORE 0000136c: PUSH18 0x4d494e545f5a45524f5f44594e4153455453 0000137f: PUSH1 0x70 00001381: SHL 00001382: PUSH1 0x44 00001384: DUP3 00001385: ADD 00001386: MSTORE 00001387: PUSH1 0x64 00001389: ADD 0000138a: PUSH2 0x083b 0000138d: JUMP 0000138e: JUMPDEST 0000138f: PUSH2 0x1397 00001392: DUP8 00001393: PUSH2 0x30a7 00001396: JUMP 00001397: JUMPDEST 00001398: PUSH2 0x13a1 0000139b: CALLER 0000139c: DUP9 0000139d: PUSH2 0x3118 000013a0: JUMP 000013a1: JUMPDEST 000013a2: POP 000013a3: POP 000013a4: PUSH1 0x01 000013a6: PUSH1 0x05 000013a8: SSTORE 000013a9: POP 000013aa: SWAP3 000013ab: SWAP5 000013ac: SWAP4 000013ad: POP 000013ae: POP 000013af: POP 000013b0: POP 000013b1: JUMP 000013b2: JUMPDEST 000013b3: PUSH1 0x02 000013b5: PUSH1 0x05 000013b7: SLOAD 000013b8: SUB 000013b9: PUSH2 0x13d4 000013bc: JUMPI 000013bd: PUSH1 0x40 000013bf: MLOAD 000013c0: PUSH3 0x461bcd 000013c4: PUSH1 0xe5 000013c6: SHL 000013c7: DUP2 000013c8: MSTORE 000013c9: PUSH1 0x04 000013cb: ADD 000013cc: PUSH2 0x083b 000013cf: SWAP1 000013d0: PUSH2 0x3a09 000013d3: JUMP 000013d4: JUMPDEST 000013d5: PUSH1 0x02 000013d7: PUSH1 0x05 000013d9: SSTORE 000013da: PUSH2 0x13e1 000013dd: PUSH2 0x283d 000013e0: JUMP 000013e1: JUMPDEST 000013e2: PUSH1 0x0b 000013e4: SLOAD 000013e5: PUSH1 0x02 000013e7: LT 000013e8: PUSH2 0x1424 000013eb: JUMPI 000013ec: PUSH1 0x40 000013ee: MLOAD 000013ef: PUSH3 0x461bcd 000013f3: PUSH1 0xe5 000013f5: SHL 000013f6: DUP2 000013f7: MSTORE 000013f8: PUSH1 0x20 000013fa: PUSH1 0x04 000013fc: DUP3 000013fd: ADD 000013fe: MSTORE 000013ff: PUSH1 0x0e 00001401: PUSH1 0x24 00001403: DUP3 00001404: ADD 00001405: MSTORE 00001406: PUSH14 0x4552525f4d494e5f544f4b454e53 00001415: PUSH1 0x90 00001417: SHL 00001418: PUSH1 0x44 0000141a: DUP3 0000141b: ADD 0000141c: MSTORE 0000141d: PUSH1 0x64 0000141f: ADD 00001420: PUSH2 0x083b 00001423: JUMP 00001424: JUMPDEST 00001425: PUSH1 0x01 00001427: PUSH1 0x01 00001429: PUSH1 0xa0 0000142b: SHL 0000142c: SUB 0000142d: DUP2 0000142e: AND 0000142f: PUSH1 0x00 00001431: SWAP1 00001432: DUP2 00001433: MSTORE 00001434: PUSH1 0x0c 00001436: PUSH1 0x20 00001438: SWAP1 00001439: DUP2 0000143a: MSTORE 0000143b: PUSH1 0x40 0000143d: SWAP2 0000143e: DUP3 0000143f: SWAP1 00001440: KECCAK256 00001441: DUP3 00001442: MLOAD 00001443: PUSH1 0x80 00001445: DUP2 00001446: ADD 00001447: DUP5 00001448: MSTORE 00001449: DUP2 0000144a: SLOAD 0000144b: PUSH1 0xff 0000144d: DUP1 0000144e: DUP3 0000144f: AND 00001450: ISZERO 00001451: ISZERO 00001452: DUP4 00001453: MSTORE 00001454: PUSH2 0x0100 00001457: SWAP1 00001458: SWAP2 00001459: DIV 0000145a: AND 0000145b: ISZERO 0000145c: ISZERO 0000145d: SWAP3 0000145e: DUP2 0000145f: ADD 00001460: SWAP3 00001461: SWAP1 00001462: SWAP3 00001463: MSTORE 00001464: PUSH1 0x01 00001466: DUP2 00001467: ADD 00001468: SLOAD 00001469: SWAP3 0000146a: DUP3 0000146b: ADD 0000146c: SWAP3 0000146d: SWAP1 0000146e: SWAP3 0000146f: MSTORE 00001470: PUSH1 0x02 00001472: SWAP1 00001473: SWAP2 00001474: ADD 00001475: SLOAD 00001476: PUSH1 0x60 00001478: DUP3 00001479: ADD 0000147a: DUP2 0000147b: SWAP1 0000147c: MSTORE 0000147d: DUP1 0000147e: ISZERO 0000147f: PUSH2 0x14ca 00001482: JUMPI 00001483: PUSH1 0x40 00001485: MLOAD 00001486: PUSH3 0x461bcd 0000148a: PUSH1 0xe5 0000148c: SHL 0000148d: DUP2 0000148e: MSTORE 0000148f: PUSH1 0x20 00001491: PUSH1 0x04 00001493: DUP3 00001494: ADD 00001495: MSTORE 00001496: PUSH1 0x18 00001498: PUSH1 0x24 0000149a: DUP3 0000149b: ADD 0000149c: MSTORE 0000149d: PUSH32 0x4552525f43414e5f4e4f545f52454d4f56455f544f4b454e0000000000000000 000014be: PUSH1 0x44 000014c0: DUP3 000014c1: ADD 000014c2: MSTORE 000014c3: PUSH1 0x64 000014c5: ADD 000014c6: PUSH2 0x083b 000014c9: JUMP 000014ca: JUMPDEST 000014cb: PUSH1 0x40 000014cd: DUP3 000014ce: ADD 000014cf: MLOAD 000014d0: PUSH1 0x0b 000014d2: SLOAD 000014d3: PUSH1 0x00 000014d5: SWAP1 000014d6: PUSH2 0x14e1 000014d9: SWAP1 000014da: PUSH1 0x01 000014dc: SWAP1 000014dd: PUSH2 0x3ad3 000014e0: JUMP 000014e1: JUMPDEST 000014e2: SWAP1 000014e3: POP 000014e4: DUP1 000014e5: DUP3 000014e6: EQ 000014e7: PUSH2 0x1638 000014ea: JUMPI 000014eb: PUSH1 0x0b 000014ed: DUP2 000014ee: DUP2 000014ef: SLOAD 000014f0: DUP2 000014f1: LT 000014f2: PUSH2 0x14fd 000014f5: JUMPI 000014f6: PUSH2 0x14fd 000014f9: PUSH2 0x3b13 000014fc: JUMP 000014fd: JUMPDEST 000014fe: PUSH1 0x00 00001500: SWAP2 00001501: DUP3 00001502: MSTORE 00001503: PUSH1 0x20 00001505: SWAP1 00001506: SWAP2 00001507: KECCAK256 00001508: ADD 00001509: SLOAD 0000150a: PUSH1 0x0b 0000150c: DUP1 0000150d: SLOAD 0000150e: PUSH1 0x01 00001510: PUSH1 0x01 00001512: PUSH1 0xa0 00001514: SHL 00001515: SUB 00001516: SWAP1 00001517: SWAP3 00001518: AND 00001519: SWAP2 0000151a: DUP5 0000151b: SWAP1 0000151c: DUP2 0000151d: LT 0000151e: PUSH2 0x1529 00001521: JUMPI 00001522: PUSH2 0x1529 00001525: PUSH2 0x3b13 00001528: JUMP 00001529: JUMPDEST 0000152a: SWAP1 0000152b: PUSH1 0x00 0000152d: MSTORE 0000152e: PUSH1 0x20 00001530: PUSH1 0x00 00001532: KECCAK256 00001533: ADD 00001534: PUSH1 0x00 00001536: PUSH2 0x0100 00001539: EXP 0000153a: DUP2 0000153b: SLOAD 0000153c: DUP2 0000153d: PUSH1 0x01 0000153f: PUSH1 0x01 00001541: PUSH1 0xa0 00001543: SHL 00001544: SUB 00001545: MUL 00001546: NOT 00001547: AND 00001548: SWAP1 00001549: DUP4 0000154a: PUSH1 0x01 0000154c: PUSH1 0x01 0000154e: PUSH1 0xa0 00001550: SHL 00001551: SUB 00001552: AND 00001553: MUL 00001554: OR 00001555: SWAP1 00001556: SSTORE 00001557: POP 00001558: DUP2 00001559: PUSH1 0xff 0000155b: AND 0000155c: PUSH1 0x0c 0000155e: PUSH1 0x00 00001560: PUSH1 0x0b 00001562: DUP6 00001563: DUP2 00001564: SLOAD 00001565: DUP2 00001566: LT 00001567: PUSH2 0x1572 0000156a: JUMPI 0000156b: PUSH2 0x1572 0000156e: PUSH2 0x3b13 00001571: JUMP 00001572: JUMPDEST 00001573: PUSH1 0x00 00001575: SWAP2 00001576: DUP3 00001577: MSTORE 00001578: PUSH1 0x20 0000157a: DUP1 0000157b: DUP4 0000157c: KECCAK256 0000157d: SWAP1 0000157e: SWAP2 0000157f: ADD 00001580: SLOAD 00001581: PUSH1 0x01 00001583: PUSH1 0x01 00001585: PUSH1 0xa0 00001587: SHL 00001588: SUB 00001589: AND 0000158a: DUP4 0000158b: MSTORE 0000158c: DUP3 0000158d: ADD 0000158e: SWAP3 0000158f: SWAP1 00001590: SWAP3 00001591: MSTORE 00001592: PUSH1 0x40 00001594: ADD 00001595: DUP2 00001596: KECCAK256 00001597: PUSH1 0x01 00001599: ADD 0000159a: SWAP2 0000159b: SWAP1 0000159c: SWAP2 0000159d: SSTORE 0000159e: PUSH1 0x0b 000015a0: DUP1 000015a1: SLOAD 000015a2: PUSH1 0x0c 000015a4: SWAP3 000015a5: SWAP2 000015a6: SWAP1 000015a7: DUP5 000015a8: SWAP1 000015a9: DUP2 000015aa: LT 000015ab: PUSH2 0x15b6 000015ae: JUMPI 000015af: PUSH2 0x15b6 000015b2: PUSH2 0x3b13 000015b5: JUMP 000015b6: JUMPDEST 000015b7: SWAP1 000015b8: PUSH1 0x00 000015ba: MSTORE 000015bb: PUSH1 0x20 000015bd: PUSH1 0x00 000015bf: KECCAK256 000015c0: ADD 000015c1: PUSH1 0x00 000015c3: SWAP1 000015c4: SLOAD 000015c5: SWAP1 000015c6: PUSH2 0x0100 000015c9: EXP 000015ca: SWAP1 000015cb: DIV 000015cc: PUSH1 0x01 000015ce: PUSH1 0x01 000015d0: PUSH1 0xa0 000015d2: SHL 000015d3: SUB 000015d4: AND 000015d5: PUSH1 0x01 000015d7: PUSH1 0x01 000015d9: PUSH1 0xa0 000015db: SHL 000015dc: SUB 000015dd: AND 000015de: PUSH1 0x01 000015e0: PUSH1 0x01 000015e2: PUSH1 0xa0 000015e4: SHL 000015e5: SUB 000015e6: AND 000015e7: DUP2 000015e8: MSTORE 000015e9: PUSH1 0x20 000015eb: ADD 000015ec: SWAP1 000015ed: DUP2 000015ee: MSTORE 000015ef: PUSH1 0x20 000015f1: ADD 000015f2: PUSH1 0x00 000015f4: KECCAK256 000015f5: PUSH1 0x02 000015f7: ADD 000015f8: SLOAD 000015f9: PUSH1 0x0c 000015fb: PUSH1 0x00 000015fd: PUSH1 0x0b 000015ff: DUP6 00001600: DUP2 00001601: SLOAD 00001602: DUP2 00001603: LT 00001604: PUSH2 0x160f 00001607: JUMPI 00001608: PUSH2 0x160f 0000160b: PUSH2 0x3b13 0000160e: JUMP 0000160f: JUMPDEST 00001610: PUSH1 0x00 00001612: SWAP2 00001613: DUP3 00001614: MSTORE 00001615: PUSH1 0x20 00001617: DUP1 00001618: DUP4 00001619: KECCAK256 0000161a: SWAP1 0000161b: SWAP2 0000161c: ADD 0000161d: SLOAD 0000161e: PUSH1 0x01 00001620: PUSH1 0x01 00001622: PUSH1 0xa0 00001624: SHL 00001625: SUB 00001626: AND 00001627: DUP4 00001628: MSTORE 00001629: DUP3 0000162a: ADD 0000162b: SWAP3 0000162c: SWAP1 0000162d: SWAP3 0000162e: MSTORE 0000162f: PUSH1 0x40 00001631: ADD 00001632: SWAP1 00001633: KECCAK256 00001634: PUSH1 0x02 00001636: ADD 00001637: SSTORE 00001638: JUMPDEST 00001639: PUSH1 0x0b 0000163b: DUP1 0000163c: SLOAD 0000163d: DUP1 0000163e: PUSH2 0x1649 00001641: JUMPI 00001642: PUSH2 0x1649 00001645: PUSH2 0x3b99 00001648: JUMP 00001649: JUMPDEST 0000164a: PUSH1 0x00 0000164c: DUP3 0000164d: DUP2 0000164e: MSTORE 0000164f: PUSH1 0x20 00001651: DUP1 00001652: DUP3 00001653: KECCAK256 00001654: PUSH1 0x00 00001656: NOT 00001657: SWAP1 00001658: DUP5 00001659: ADD 0000165a: DUP2 0000165b: ADD 0000165c: DUP1 0000165d: SLOAD 0000165e: PUSH1 0x01 00001660: PUSH1 0x01 00001662: PUSH1 0xa0 00001664: SHL 00001665: SUB 00001666: NOT 00001667: AND 00001668: SWAP1 00001669: SSTORE 0000166a: SWAP1 0000166b: SWAP3 0000166c: ADD 0000166d: SWAP1 0000166e: SWAP3 0000166f: SSTORE 00001670: PUSH1 0x40 00001672: DUP1 00001673: MLOAD 00001674: PUSH1 0x80 00001676: DUP2 00001677: ADD 00001678: DUP3 00001679: MSTORE 0000167a: DUP4 0000167b: DUP2 0000167c: MSTORE 0000167d: DUP1 0000167e: DUP4 0000167f: ADD 00001680: DUP5 00001681: DUP2 00001682: MSTORE 00001683: DUP2 00001684: DUP4 00001685: ADD 00001686: DUP6 00001687: DUP2 00001688: MSTORE 00001689: PUSH1 0x60 0000168b: DUP4 0000168c: ADD 0000168d: DUP7 0000168e: DUP2 0000168f: MSTORE 00001690: PUSH1 0x01 00001692: PUSH1 0x01 00001694: PUSH1 0xa0 00001696: SHL 00001697: SUB 00001698: DUP13 00001699: AND 0000169a: DUP1 0000169b: DUP9 0000169c: MSTORE 0000169d: PUSH1 0x0c 0000169f: SWAP1 000016a0: SWAP7 000016a1: MSTORE 000016a2: DUP5 000016a3: DUP8 000016a4: KECCAK256 000016a5: SWAP4 000016a6: MLOAD 000016a7: DUP5 000016a8: SLOAD 000016a9: SWAP4 000016aa: MLOAD 000016ab: PUSH2 0xffff 000016ae: NOT 000016af: SWAP1 000016b0: SWAP5 000016b1: AND 000016b2: SWAP1 000016b3: ISZERO 000016b4: ISZERO 000016b5: PUSH2 0xff00 000016b8: NOT 000016b9: AND 000016ba: OR 000016bb: PUSH2 0x0100 000016be: SWAP4 000016bf: ISZERO 000016c0: ISZERO 000016c1: SWAP4 000016c2: SWAP1 000016c3: SWAP4 000016c4: MUL 000016c5: SWAP3 000016c6: SWAP1 000016c7: SWAP3 000016c8: OR 000016c9: DUP4 000016ca: SSTORE 000016cb: MLOAD 000016cc: PUSH1 0x01 000016ce: DUP4 000016cf: ADD 000016d0: SSTORE 000016d1: MLOAD 000016d2: PUSH1 0x02 000016d4: SWAP1 000016d5: SWAP2 000016d6: ADD 000016d7: SSTORE 000016d8: MLOAD 000016d9: SWAP1 000016da: SWAP2 000016db: PUSH32 0x48207b8b88ad0363606ff7f381bc9ee60bb9b614b5dccd985ae4cb02af0f77c3 000016fc: SWAP2 000016fd: LOG2 000016fe: POP 000016ff: POP 00001700: PUSH1 0x01 00001702: PUSH1 0x05 00001704: SSTORE 00001705: POP 00001706: POP 00001707: POP 00001708: JUMP 00001709: JUMPDEST 0000170a: PUSH1 0x40 0000170c: DUP1 0000170d: MLOAD 0000170e: PUSH1 0x80 00001710: DUP2 00001711: ADD 00001712: DUP3 00001713: MSTORE 00001714: PUSH1 0x00 00001716: DUP1 00001717: DUP3 00001718: MSTORE 00001719: PUSH1 0x20 0000171b: DUP3 0000171c: ADD 0000171d: DUP2 0000171e: SWAP1 0000171f: MSTORE 00001720: SWAP2 00001721: DUP2 00001722: ADD 00001723: DUP3 00001724: SWAP1 00001725: MSTORE 00001726: PUSH1 0x60 00001728: DUP2 00001729: ADD 0000172a: SWAP2 0000172b: SWAP1 0000172c: SWAP2 0000172d: MSTORE 0000172e: POP 0000172f: PUSH1 0x01 00001731: PUSH1 0x01 00001733: PUSH1 0xa0 00001735: SHL 00001736: SUB 00001737: DUP2 00001738: AND 00001739: PUSH1 0x00 0000173b: SWAP1 0000173c: DUP2 0000173d: MSTORE 0000173e: PUSH1 0x0c 00001740: PUSH1 0x20 00001742: SWAP1 00001743: DUP2 00001744: MSTORE 00001745: PUSH1 0x40 00001747: SWAP2 00001748: DUP3 00001749: SWAP1 0000174a: KECCAK256 0000174b: DUP3 0000174c: MLOAD 0000174d: PUSH1 0x80 0000174f: DUP2 00001750: ADD 00001751: DUP5 00001752: MSTORE 00001753: DUP2 00001754: SLOAD 00001755: PUSH1 0xff 00001757: DUP1 00001758: DUP3 00001759: AND 0000175a: ISZERO 0000175b: ISZERO 0000175c: DUP1 0000175d: DUP5 0000175e: MSTORE 0000175f: PUSH2 0x0100 00001762: SWAP1 00001763: SWAP3 00001764: DIV 00001765: AND 00001766: ISZERO 00001767: ISZERO 00001768: SWAP4 00001769: DUP3 0000176a: ADD 0000176b: SWAP4 0000176c: SWAP1 0000176d: SWAP4 0000176e: MSTORE 0000176f: PUSH1 0x01 00001771: DUP3 00001772: ADD 00001773: SLOAD 00001774: SWAP4 00001775: DUP2 00001776: ADD 00001777: SWAP4 00001778: SWAP1 00001779: SWAP4 0000177a: MSTORE 0000177b: PUSH1 0x02 0000177d: ADD 0000177e: SLOAD 0000177f: PUSH1 0x60 00001781: DUP4 00001782: ADD 00001783: MSTORE 00001784: PUSH2 0x179f 00001787: JUMPI 00001788: PUSH1 0x40 0000178a: MLOAD 0000178b: PUSH3 0x461bcd 0000178f: PUSH1 0xe5 00001791: SHL 00001792: DUP2 00001793: MSTORE 00001794: PUSH1 0x04 00001796: ADD 00001797: PUSH2 0x083b 0000179a: SWAP1 0000179b: PUSH2 0x3baf 0000179e: JUMP 0000179f: JUMPDEST 000017a0: SWAP2 000017a1: SWAP1 000017a2: POP 000017a3: JUMP 000017a4: JUMPDEST 000017a5: CALLER 000017a6: PUSH1 0x00 000017a8: SWAP1 000017a9: DUP2 000017aa: MSTORE 000017ab: PUSH1 0x01 000017ad: PUSH1 0x20 000017af: SWAP1 000017b0: DUP2 000017b1: MSTORE 000017b2: PUSH1 0x40 000017b4: DUP1 000017b5: DUP4 000017b6: KECCAK256 000017b7: PUSH1 0x01 000017b9: PUSH1 0x01 000017bb: PUSH1 0xa0 000017bd: SHL 000017be: SUB 000017bf: DUP7 000017c0: AND 000017c1: DUP5 000017c2: MSTORE 000017c3: SWAP1 000017c4: SWAP2 000017c5: MSTORE 000017c6: DUP2 000017c7: KECCAK256 000017c8: SLOAD 000017c9: DUP1 000017ca: DUP4 000017cb: GT 000017cc: ISZERO 000017cd: PUSH2 0x17f9 000017d0: JUMPI 000017d1: CALLER 000017d2: PUSH1 0x00 000017d4: SWAP1 000017d5: DUP2 000017d6: MSTORE 000017d7: PUSH1 0x01 000017d9: PUSH1 0x20 000017db: SWAP1 000017dc: DUP2 000017dd: MSTORE 000017de: PUSH1 0x40 000017e0: DUP1 000017e1: DUP4 000017e2: KECCAK256 000017e3: PUSH1 0x01 000017e5: PUSH1 0x01 000017e7: PUSH1 0xa0 000017e9: SHL 000017ea: SUB 000017eb: DUP9 000017ec: AND 000017ed: DUP5 000017ee: MSTORE 000017ef: SWAP1 000017f0: SWAP2 000017f1: MSTORE 000017f2: DUP2 000017f3: KECCAK256 000017f4: SSTORE 000017f5: PUSH2 0x1828 000017f8: JUMP 000017f9: JUMPDEST 000017fa: PUSH2 0x1803 000017fd: DUP4 000017fe: DUP3 000017ff: PUSH2 0x3ad3 00001802: JUMP 00001803: JUMPDEST 00001804: CALLER 00001805: PUSH1 0x00 00001807: SWAP1 00001808: DUP2 00001809: MSTORE 0000180a: PUSH1 0x01 0000180c: PUSH1 0x20 0000180e: SWAP1 0000180f: DUP2 00001810: MSTORE 00001811: PUSH1 0x40 00001813: DUP1 00001814: DUP4 00001815: KECCAK256 00001816: PUSH1 0x01 00001818: PUSH1 0x01 0000181a: PUSH1 0xa0 0000181c: SHL 0000181d: SUB 0000181e: DUP10 0000181f: AND 00001820: DUP5 00001821: MSTORE 00001822: SWAP1 00001823: SWAP2 00001824: MSTORE 00001825: SWAP1 00001826: KECCAK256 00001827: SSTORE 00001828: JUMPDEST 00001829: CALLER 0000182a: PUSH1 0x00 0000182c: DUP2 0000182d: DUP2 0000182e: MSTORE 0000182f: PUSH1 0x01 00001831: PUSH1 0x20 00001833: SWAP1 00001834: DUP2 00001835: MSTORE 00001836: PUSH1 0x40 00001838: DUP1 00001839: DUP4 0000183a: KECCAK256 0000183b: PUSH1 0x01 0000183d: PUSH1 0x01 0000183f: PUSH1 0xa0 00001841: SHL 00001842: SUB 00001843: DUP10 00001844: AND 00001845: DUP1 00001846: DUP6 00001847: MSTORE 00001848: SWAP1 00001849: DUP4 0000184a: MSTORE 0000184b: SWAP3 0000184c: DUP2 0000184d: SWAP1 0000184e: KECCAK256 0000184f: SLOAD 00001850: SWAP1 00001851: MLOAD 00001852: SWAP1 00001853: DUP2 00001854: MSTORE 00001855: SWAP2 00001856: SWAP3 00001857: SWAP2 00001858: PUSH1 0x00 0000185a: DUP1 0000185b: MLOAD 0000185c: PUSH1 0x20 0000185e: PUSH2 0x3dd9 00001861: DUP4 00001862: CODECOPY 00001863: DUP2 00001864: MLOAD 00001865: SWAP2 00001866: MSTORE 00001867: SWAP2 00001868: ADD 00001869: PUSH1 0x40 0000186b: MLOAD 0000186c: DUP1 0000186d: SWAP2 0000186e: SUB 0000186f: SWAP1 00001870: LOG3 00001871: POP 00001872: PUSH1 0x01 00001874: SWAP4 00001875: SWAP3 00001876: POP 00001877: POP 00001878: POP 00001879: JUMP 0000187a: JUMPDEST 0000187b: PUSH1 0x02 0000187d: PUSH1 0x05 0000187f: SLOAD 00001880: SUB 00001881: PUSH2 0x189c 00001884: JUMPI 00001885: PUSH1 0x40 00001887: MLOAD 00001888: PUSH3 0x461bcd 0000188c: PUSH1 0xe5 0000188e: SHL 0000188f: DUP2 00001890: MSTORE 00001891: PUSH1 0x04 00001893: ADD 00001894: PUSH2 0x083b 00001897: SWAP1 00001898: PUSH2 0x3a09 0000189b: JUMP 0000189c: JUMPDEST 0000189d: PUSH1 0x02 0000189f: PUSH1 0x05 000018a1: SSTORE 000018a2: PUSH2 0x18a9 000018a5: PUSH2 0x283d 000018a8: JUMP 000018a9: JUMPDEST 000018aa: PUSH2 0x18b3 000018ad: DUP7 000018ae: DUP7 000018af: PUSH2 0x2887 000018b2: JUMP 000018b3: JUMPDEST 000018b4: PUSH2 0x18c8 000018b7: PUSH1 0x01 000018b9: PUSH1 0x01 000018bb: PUSH1 0xa0 000018bd: SHL 000018be: SUB 000018bf: DUP8 000018c0: AND 000018c1: DUP7 000018c2: DUP5 000018c3: DUP5 000018c4: PUSH2 0x3123 000018c7: JUMP 000018c8: JUMPDEST 000018c9: PUSH2 0x18f0 000018cc: PUSH1 0x01 000018ce: PUSH1 0x01 000018d0: PUSH1 0xa0 000018d2: SHL 000018d3: SUB 000018d4: DUP8 000018d5: AND 000018d6: PUSH20 0x1111111254fb6c44bac0bed2854e76f90643097d 000018eb: DUP7 000018ec: PUSH2 0x29a2 000018ef: JUMP 000018f0: JUMPDEST 000018f1: PUSH1 0x40 000018f3: MLOAD 000018f4: PUSH4 0x72248117 000018f9: PUSH1 0xe1 000018fb: SHL 000018fc: DUP2 000018fd: MSTORE 000018fe: PUSH20 0x1111111254fb6c44bac0bed2854e76f90643097d 00001913: SWAP1 00001914: PUSH4 0xe449022e 00001919: SWAP1 0000191a: PUSH2 0x08d7 0000191d: SWAP1 0000191e: DUP8 0000191f: SWAP1 00001920: DUP8 00001921: SWAP1 00001922: DUP8 00001923: SWAP1 00001924: DUP8 00001925: SWAP1 00001926: PUSH1 0x04 00001928: ADD 00001929: PUSH2 0x3bd6 0000192c: JUMP 0000192d: JUMPDEST 0000192e: PUSH1 0x02 00001930: PUSH1 0x05 00001932: SLOAD 00001933: SUB 00001934: PUSH2 0x194f 00001937: JUMPI 00001938: PUSH1 0x40 0000193a: MLOAD 0000193b: PUSH3 0x461bcd 0000193f: PUSH1 0xe5 00001941: SHL 00001942: DUP2 00001943: MSTORE 00001944: PUSH1 0x04 00001946: ADD 00001947: PUSH2 0x083b 0000194a: SWAP1 0000194b: PUSH2 0x3a09 0000194e: JUMP 0000194f: JUMPDEST 00001950: PUSH1 0x02 00001952: PUSH1 0x05 00001954: SSTORE 00001955: PUSH2 0x195c 00001958: PUSH2 0x283d 0000195b: JUMP 0000195c: JUMPDEST 0000195d: PUSH2 0x1966 00001960: DUP5 00001961: DUP5 00001962: PUSH2 0x2887 00001965: JUMP 00001966: JUMPDEST 00001967: PUSH1 0x0e 00001969: SLOAD 0000196a: PUSH2 0x1980 0000196d: SWAP1 0000196e: PUSH1 0x01 00001970: PUSH1 0x01 00001972: PUSH1 0xa0 00001974: SHL 00001975: SUB 00001976: DUP7 00001977: DUP2 00001978: AND 00001979: SWAP2 0000197a: AND 0000197b: DUP5 0000197c: PUSH2 0x29a2 0000197f: JUMP 00001980: JUMPDEST 00001981: PUSH1 0x60 00001983: PUSH1 0x01 00001985: PUSH1 0x01 00001987: PUSH1 0xa0 00001989: SHL 0000198a: SUB 0000198b: DUP6 0000198c: AND 0000198d: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000019a2: EQ 000019a3: DUP1 000019a4: PUSH2 0x19c9 000019a7: JUMPI 000019a8: POP 000019a9: PUSH1 0x01 000019ab: PUSH1 0x01 000019ad: PUSH1 0xa0 000019af: SHL 000019b0: SUB 000019b1: DUP5 000019b2: AND 000019b3: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000019c8: EQ 000019c9: JUMPDEST 000019ca: ISZERO 000019cb: PUSH2 0x1a5b 000019ce: JUMPI 000019cf: PUSH1 0x40 000019d1: DUP1 000019d2: MLOAD 000019d3: PUSH1 0x02 000019d5: DUP1 000019d6: DUP3 000019d7: MSTORE 000019d8: PUSH1 0x60 000019da: DUP3 000019db: ADD 000019dc: DUP4 000019dd: MSTORE 000019de: SWAP1 000019df: SWAP2 000019e0: PUSH1 0x20 000019e2: DUP4 000019e3: ADD 000019e4: SWAP1 000019e5: DUP1 000019e6: CALLDATASIZE 000019e7: DUP4 000019e8: CALLDATACOPY 000019e9: ADD 000019ea: SWAP1 000019eb: POP 000019ec: POP 000019ed: SWAP1 000019ee: POP 000019ef: DUP5 000019f0: DUP2 000019f1: PUSH1 0x00 000019f3: DUP2 000019f4: MLOAD 000019f5: DUP2 000019f6: LT 000019f7: PUSH2 0x1a02 000019fa: JUMPI 000019fb: PUSH2 0x1a02 000019fe: PUSH2 0x3b13 00001a01: JUMP 00001a02: JUMPDEST 00001a03: PUSH1 0x20 00001a05: MUL 00001a06: PUSH1 0x20 00001a08: ADD 00001a09: ADD 00001a0a: SWAP1 00001a0b: PUSH1 0x01 00001a0d: PUSH1 0x01 00001a0f: PUSH1 0xa0 00001a11: SHL 00001a12: SUB 00001a13: AND 00001a14: SWAP1 00001a15: DUP2 00001a16: PUSH1 0x01 00001a18: PUSH1 0x01 00001a1a: PUSH1 0xa0 00001a1c: SHL 00001a1d: SUB 00001a1e: AND 00001a1f: DUP2 00001a20: MSTORE 00001a21: POP 00001a22: POP 00001a23: DUP4 00001a24: DUP2 00001a25: PUSH1 0x01 00001a27: DUP2 00001a28: MLOAD 00001a29: DUP2 00001a2a: LT 00001a2b: PUSH2 0x1a36 00001a2e: JUMPI 00001a2f: PUSH2 0x1a36 00001a32: PUSH2 0x3b13 00001a35: JUMP 00001a36: JUMPDEST 00001a37: PUSH1 0x20 00001a39: MUL 00001a3a: PUSH1 0x20 00001a3c: ADD 00001a3d: ADD 00001a3e: SWAP1 00001a3f: PUSH1 0x01 00001a41: PUSH1 0x01 00001a43: PUSH1 0xa0 00001a45: SHL 00001a46: SUB 00001a47: AND 00001a48: SWAP1 00001a49: DUP2 00001a4a: PUSH1 0x01 00001a4c: PUSH1 0x01 00001a4e: PUSH1 0xa0 00001a50: SHL 00001a51: SUB 00001a52: AND 00001a53: DUP2 00001a54: MSTORE 00001a55: POP 00001a56: POP 00001a57: PUSH2 0x1b2d 00001a5a: JUMP 00001a5b: JUMPDEST 00001a5c: PUSH1 0x40 00001a5e: DUP1 00001a5f: MLOAD 00001a60: PUSH1 0x03 00001a62: DUP1 00001a63: DUP3 00001a64: MSTORE 00001a65: PUSH1 0x80 00001a67: DUP3 00001a68: ADD 00001a69: SWAP1 00001a6a: SWAP3 00001a6b: MSTORE 00001a6c: SWAP1 00001a6d: PUSH1 0x20 00001a6f: DUP3 00001a70: ADD 00001a71: PUSH1 0x60 00001a73: DUP1 00001a74: CALLDATASIZE 00001a75: DUP4 00001a76: CALLDATACOPY 00001a77: ADD 00001a78: SWAP1 00001a79: POP 00001a7a: POP 00001a7b: SWAP1 00001a7c: POP 00001a7d: DUP5 00001a7e: DUP2 00001a7f: PUSH1 0x00 00001a81: DUP2 00001a82: MLOAD 00001a83: DUP2 00001a84: LT 00001a85: PUSH2 0x1a90 00001a88: JUMPI 00001a89: PUSH2 0x1a90 00001a8c: PUSH2 0x3b13 00001a8f: JUMP 00001a90: JUMPDEST 00001a91: PUSH1 0x20 00001a93: MUL 00001a94: PUSH1 0x20 00001a96: ADD 00001a97: ADD 00001a98: SWAP1 00001a99: PUSH1 0x01 00001a9b: PUSH1 0x01 00001a9d: PUSH1 0xa0 00001a9f: SHL 00001aa0: SUB 00001aa1: AND 00001aa2: SWAP1 00001aa3: DUP2 00001aa4: PUSH1 0x01 00001aa6: PUSH1 0x01 00001aa8: PUSH1 0xa0 00001aaa: SHL 00001aab: SUB 00001aac: AND 00001aad: DUP2 00001aae: MSTORE 00001aaf: POP 00001ab0: POP 00001ab1: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001ac6: DUP2 00001ac7: PUSH1 0x01 00001ac9: DUP2 00001aca: MLOAD 00001acb: DUP2 00001acc: LT 00001acd: PUSH2 0x1ad8 00001ad0: JUMPI 00001ad1: PUSH2 0x1ad8 00001ad4: PUSH2 0x3b13 00001ad7: JUMP 00001ad8: JUMPDEST 00001ad9: PUSH1 0x20 00001adb: MUL 00001adc: PUSH1 0x20 00001ade: ADD 00001adf: ADD 00001ae0: SWAP1 00001ae1: PUSH1 0x01 00001ae3: PUSH1 0x01 00001ae5: PUSH1 0xa0 00001ae7: SHL 00001ae8: SUB 00001ae9: AND 00001aea: SWAP1 00001aeb: DUP2 00001aec: PUSH1 0x01 00001aee: PUSH1 0x01 00001af0: PUSH1 0xa0 00001af2: SHL 00001af3: SUB 00001af4: AND 00001af5: DUP2 00001af6: MSTORE 00001af7: POP 00001af8: POP 00001af9: DUP4 00001afa: DUP2 00001afb: PUSH1 0x02 00001afd: DUP2 00001afe: MLOAD 00001aff: DUP2 00001b00: LT 00001b01: PUSH2 0x1b0c 00001b04: JUMPI 00001b05: PUSH2 0x1b0c 00001b08: PUSH2 0x3b13 00001b0b: JUMP 00001b0c: JUMPDEST 00001b0d: PUSH1 0x20 00001b0f: MUL 00001b10: PUSH1 0x20 00001b12: ADD 00001b13: ADD 00001b14: SWAP1 00001b15: PUSH1 0x01 00001b17: PUSH1 0x01 00001b19: PUSH1 0xa0 00001b1b: SHL 00001b1c: SUB 00001b1d: AND 00001b1e: SWAP1 00001b1f: DUP2 00001b20: PUSH1 0x01 00001b22: PUSH1 0x01 00001b24: PUSH1 0xa0 00001b26: SHL 00001b27: SUB 00001b28: AND 00001b29: DUP2 00001b2a: MSTORE 00001b2b: POP 00001b2c: POP 00001b2d: JUMPDEST 00001b2e: PUSH1 0x0e 00001b30: SLOAD 00001b31: PUSH1 0x0f 00001b33: SLOAD 00001b34: PUSH1 0x01 00001b36: PUSH1 0x01 00001b38: PUSH1 0xa0 00001b3a: SHL 00001b3b: SUB 00001b3c: SWAP1 00001b3d: SWAP2 00001b3e: AND 00001b3f: SWAP1 00001b40: PUSH4 0x38ed1739 00001b45: SWAP1 00001b46: DUP6 00001b47: SWAP1 00001b48: DUP6 00001b49: SWAP1 00001b4a: DUP6 00001b4b: SWAP1 00001b4c: ADDRESS 00001b4d: SWAP1 00001b4e: PUSH2 0x1b57 00001b51: SWAP1 00001b52: TIMESTAMP 00001b53: PUSH2 0x3bf6 00001b56: JUMP 00001b57: JUMPDEST 00001b58: PUSH1 0x40 00001b5a: MLOAD 00001b5b: DUP7 00001b5c: PUSH4 0xffffffff 00001b61: AND 00001b62: PUSH1 0xe0 00001b64: SHL 00001b65: DUP2 00001b66: MSTORE 00001b67: PUSH1 0x04 00001b69: ADD 00001b6a: PUSH2 0x1b77 00001b6d: SWAP6 00001b6e: SWAP5 00001b6f: SWAP4 00001b70: SWAP3 00001b71: SWAP2 00001b72: SWAP1 00001b73: PUSH2 0x3c0e 00001b76: JUMP 00001b77: JUMPDEST 00001b78: PUSH1 0x00 00001b7a: PUSH1 0x40 00001b7c: MLOAD 00001b7d: DUP1 00001b7e: DUP4 00001b7f: SUB 00001b80: DUP2 00001b81: PUSH1 0x00 00001b83: DUP8 00001b84: GAS 00001b85: CALL 00001b86: ISZERO 00001b87: DUP1 00001b88: ISZERO 00001b89: PUSH2 0x1b96 00001b8c: JUMPI 00001b8d: RETURNDATASIZE 00001b8e: PUSH1 0x00 00001b90: DUP1 00001b91: RETURNDATACOPY 00001b92: RETURNDATASIZE 00001b93: PUSH1 0x00 00001b95: REVERT 00001b96: JUMPDEST 00001b97: POP 00001b98: POP 00001b99: POP 00001b9a: POP 00001b9b: PUSH1 0x40 00001b9d: MLOAD 00001b9e: RETURNDATASIZE 00001b9f: PUSH1 0x00 00001ba1: DUP3 00001ba2: RETURNDATACOPY 00001ba3: PUSH1 0x1f 00001ba5: RETURNDATASIZE 00001ba6: SWAP1 00001ba7: DUP2 00001ba8: ADD 00001ba9: PUSH1 0x1f 00001bab: NOT 00001bac: AND 00001bad: DUP3 00001bae: ADD 00001baf: PUSH1 0x40 00001bb1: MSTORE 00001bb2: PUSH2 0x1bbe 00001bb5: SWAP2 00001bb6: SWAP1 00001bb7: DUP2 00001bb8: ADD 00001bb9: SWAP1 00001bba: PUSH2 0x3c4a 00001bbd: JUMP 00001bbe: JUMPDEST 00001bbf: POP 00001bc0: PUSH2 0x1bcb 00001bc3: DUP6 00001bc4: DUP6 00001bc5: DUP6 00001bc6: DUP6 00001bc7: PUSH2 0x2a8d 00001bca: JUMP 00001bcb: JUMPDEST 00001bcc: POP 00001bcd: POP 00001bce: PUSH1 0x01 00001bd0: PUSH1 0x05 00001bd2: SSTORE 00001bd3: POP 00001bd4: POP 00001bd5: POP 00001bd6: JUMP 00001bd7: JUMPDEST 00001bd8: PUSH1 0x60 00001bda: PUSH1 0x04 00001bdc: DUP1 00001bdd: SLOAD 00001bde: PUSH2 0x073b 00001be1: SWAP1 00001be2: PUSH2 0x39cf 00001be5: JUMP 00001be6: JUMPDEST 00001be7: PUSH1 0x02 00001be9: PUSH1 0x05 00001beb: SLOAD 00001bec: SUB 00001bed: PUSH2 0x1c08 00001bf0: JUMPI 00001bf1: PUSH1 0x40 00001bf3: MLOAD 00001bf4: PUSH3 0x461bcd 00001bf8: PUSH1 0xe5 00001bfa: SHL 00001bfb: DUP2 00001bfc: MSTORE 00001bfd: PUSH1 0x04 00001bff: ADD 00001c00: PUSH2 0x083b 00001c03: SWAP1 00001c04: PUSH2 0x3a09 00001c07: JUMP 00001c08: JUMPDEST 00001c09: PUSH1 0x02 00001c0b: PUSH1 0x05 00001c0d: SSTORE 00001c0e: PUSH2 0x1c15 00001c11: PUSH2 0x283d 00001c14: JUMP 00001c15: JUMPDEST 00001c16: PUSH1 0x01 00001c18: PUSH1 0x01 00001c1a: PUSH1 0xa0 00001c1c: SHL 00001c1d: SUB 00001c1e: DUP4 00001c1f: AND 00001c20: PUSH2 0x1c5c 00001c23: JUMPI 00001c24: PUSH1 0x40 00001c26: MLOAD 00001c27: PUSH3 0x461bcd 00001c2b: PUSH1 0xe5 00001c2d: SHL 00001c2e: DUP2 00001c2f: MSTORE 00001c30: PUSH1 0x20 00001c32: PUSH1 0x04 00001c34: DUP3 00001c35: ADD 00001c36: MSTORE 00001c37: PUSH1 0x0e 00001c39: PUSH1 0x24 00001c3b: DUP3 00001c3c: ADD 00001c3d: MSTORE 00001c3e: PUSH14 0x22a9292fad22a927afaa27a5a2a7 00001c4d: PUSH1 0x91 00001c4f: SHL 00001c50: PUSH1 0x44 00001c52: DUP3 00001c53: ADD 00001c54: MSTORE 00001c55: PUSH1 0x64 00001c57: ADD 00001c58: PUSH2 0x083b 00001c5b: JUMP 00001c5c: JUMPDEST 00001c5d: PUSH1 0x0b 00001c5f: SLOAD 00001c60: PUSH1 0x14 00001c62: GT 00001c63: PUSH2 0x1c9f 00001c66: JUMPI 00001c67: PUSH1 0x40 00001c69: MLOAD 00001c6a: PUSH3 0x461bcd 00001c6e: PUSH1 0xe5 00001c70: SHL 00001c71: DUP2 00001c72: MSTORE 00001c73: PUSH1 0x20 00001c75: PUSH1 0x04 00001c77: DUP3 00001c78: ADD 00001c79: MSTORE 00001c7a: PUSH1 0x0e 00001c7c: PUSH1 0x24 00001c7e: DUP3 00001c7f: ADD 00001c80: MSTORE 00001c81: PUSH14 0x4552525f4d41585f544f4b454e53 00001c90: PUSH1 0x90 00001c92: SHL 00001c93: PUSH1 0x44 00001c95: DUP3 00001c96: ADD 00001c97: MSTORE 00001c98: PUSH1 0x64 00001c9a: ADD 00001c9b: PUSH2 0x083b 00001c9e: JUMP 00001c9f: JUMPDEST 00001ca0: PUSH1 0x01 00001ca2: PUSH1 0x01 00001ca4: PUSH1 0xa0 00001ca6: SHL 00001ca7: SUB 00001ca8: DUP2 00001ca9: AND 00001caa: PUSH2 0x1cf5 00001cad: JUMPI 00001cae: PUSH1 0x40 00001cb0: MLOAD 00001cb1: PUSH3 0x461bcd 00001cb5: PUSH1 0xe5 00001cb7: SHL 00001cb8: DUP2 00001cb9: MSTORE 00001cba: PUSH1 0x20 00001cbc: PUSH1 0x04 00001cbe: DUP3 00001cbf: ADD 00001cc0: MSTORE 00001cc1: PUSH1 0x17 00001cc3: PUSH1 0x24 00001cc5: DUP3 00001cc6: ADD 00001cc7: MSTORE 00001cc8: PUSH32 0x4552525f5a45524f5f544f4b454e5f50524f5649444552000000000000000000 00001ce9: PUSH1 0x44 00001ceb: DUP3 00001cec: ADD 00001ced: MSTORE 00001cee: PUSH1 0x64 00001cf0: ADD 00001cf1: PUSH2 0x083b 00001cf4: JUMP 00001cf5: JUMPDEST 00001cf6: PUSH1 0x01 00001cf8: PUSH1 0x01 00001cfa: PUSH1 0xa0 00001cfc: SHL 00001cfd: SUB 00001cfe: DUP4 00001cff: AND 00001d00: PUSH1 0x00 00001d02: SWAP1 00001d03: DUP2 00001d04: MSTORE 00001d05: PUSH1 0x0c 00001d07: PUSH1 0x20 00001d09: MSTORE 00001d0a: PUSH1 0x40 00001d0c: SWAP1 00001d0d: KECCAK256 00001d0e: SLOAD 00001d0f: PUSH1 0xff 00001d11: AND 00001d12: ISZERO 00001d13: PUSH2 0x1d4d 00001d16: JUMPI 00001d17: PUSH1 0x40 00001d19: MLOAD 00001d1a: PUSH3 0x461bcd 00001d1e: PUSH1 0xe5 00001d20: SHL 00001d21: DUP2 00001d22: MSTORE 00001d23: PUSH1 0x20 00001d25: PUSH1 0x04 00001d27: DUP3 00001d28: ADD 00001d29: MSTORE 00001d2a: PUSH1 0x0c 00001d2c: PUSH1 0x24 00001d2e: DUP3 00001d2f: ADD 00001d30: MSTORE 00001d31: PUSH12 0x11549497d254d7d093d55391 00001d3e: PUSH1 0xa2 00001d40: SHL 00001d41: PUSH1 0x44 00001d43: DUP3 00001d44: ADD 00001d45: MSTORE 00001d46: PUSH1 0x64 00001d48: ADD 00001d49: PUSH2 0x083b 00001d4c: JUMP 00001d4d: JUMPDEST 00001d4e: PUSH1 0x00 00001d50: DUP3 00001d51: GT 00001d52: PUSH2 0x1d8f 00001d55: JUMPI 00001d56: PUSH1 0x40 00001d58: MLOAD 00001d59: PUSH3 0x461bcd 00001d5d: PUSH1 0xe5 00001d5f: SHL 00001d60: DUP2 00001d61: MSTORE 00001d62: PUSH1 0x20 00001d64: PUSH1 0x04 00001d66: DUP3 00001d67: ADD 00001d68: MSTORE 00001d69: PUSH1 0x0f 00001d6b: PUSH1 0x24 00001d6d: DUP3 00001d6e: ADD 00001d6f: MSTORE 00001d70: PUSH15 0x4552525f4d494e5f42414c414e4345 00001d80: PUSH1 0x88 00001d82: SHL 00001d83: PUSH1 0x44 00001d85: DUP3 00001d86: ADD 00001d87: MSTORE 00001d88: PUSH1 0x64 00001d8a: ADD 00001d8b: PUSH2 0x083b 00001d8e: JUMP 00001d8f: JUMPDEST 00001d90: PUSH1 0x40 00001d92: MLOAD 00001d93: PUSH4 0x6eb1769f 00001d98: PUSH1 0xe1 00001d9a: SHL 00001d9b: DUP2 00001d9c: MSTORE 00001d9d: PUSH1 0x01 00001d9f: PUSH1 0x01 00001da1: PUSH1 0xa0 00001da3: SHL 00001da4: SUB 00001da5: DUP3 00001da6: DUP2 00001da7: AND 00001da8: PUSH1 0x04 00001daa: DUP4 00001dab: ADD 00001dac: MSTORE 00001dad: ADDRESS 00001dae: PUSH1 0x24 00001db0: DUP4 00001db1: ADD 00001db2: MSTORE 00001db3: DUP4 00001db4: SWAP2 00001db5: SWAP1 00001db6: DUP6 00001db7: AND 00001db8: SWAP1 00001db9: PUSH4 0xdd62ed3e 00001dbe: SWAP1 00001dbf: PUSH1 0x44 00001dc1: ADD 00001dc2: PUSH1 0x20 00001dc4: PUSH1 0x40 00001dc6: MLOAD 00001dc7: DUP1 00001dc8: DUP4 00001dc9: SUB 00001dca: DUP2 00001dcb: DUP7 00001dcc: GAS 00001dcd: STATICCALL 00001dce: ISZERO 00001dcf: DUP1 00001dd0: ISZERO 00001dd1: PUSH2 0x1dde 00001dd4: JUMPI 00001dd5: RETURNDATASIZE 00001dd6: PUSH1 0x00 00001dd8: DUP1 00001dd9: RETURNDATACOPY 00001dda: RETURNDATASIZE 00001ddb: PUSH1 0x00 00001ddd: REVERT 00001dde: JUMPDEST 00001ddf: POP 00001de0: POP 00001de1: POP 00001de2: POP 00001de3: PUSH1 0x40 00001de5: MLOAD 00001de6: RETURNDATASIZE 00001de7: PUSH1 0x1f 00001de9: NOT 00001dea: PUSH1 0x1f 00001dec: DUP3 00001ded: ADD 00001dee: AND 00001def: DUP3 00001df0: ADD 00001df1: DUP1 00001df2: PUSH1 0x40 00001df4: MSTORE 00001df5: POP 00001df6: DUP2 00001df7: ADD 00001df8: SWAP1 00001df9: PUSH2 0x1e02 00001dfc: SWAP2 00001dfd: SWAP1 00001dfe: PUSH2 0x3aa4 00001e01: JUMP 00001e02: JUMPDEST 00001e03: LT 00001e04: ISZERO 00001e05: PUSH2 0x1e50 00001e08: JUMPI 00001e09: PUSH1 0x40 00001e0b: MLOAD 00001e0c: PUSH3 0x461bcd 00001e10: PUSH1 0xe5 00001e12: SHL 00001e13: DUP2 00001e14: MSTORE 00001e15: PUSH1 0x20 00001e17: PUSH1 0x04 00001e19: DUP3 00001e1a: ADD 00001e1b: MSTORE 00001e1c: PUSH1 0x1a 00001e1e: PUSH1 0x24 00001e20: DUP3 00001e21: ADD 00001e22: MSTORE 00001e23: PUSH32 0x4552525f494e53554646494349454e545f414c4c4f57414e4345000000000000 00001e44: PUSH1 0x44 00001e46: DUP3 00001e47: ADD 00001e48: MSTORE 00001e49: PUSH1 0x64 00001e4b: ADD 00001e4c: PUSH2 0x083b 00001e4f: JUMP 00001e50: JUMPDEST 00001e51: PUSH1 0x40 00001e53: DUP1 00001e54: MLOAD 00001e55: PUSH1 0x80 00001e57: DUP2 00001e58: ADD 00001e59: DUP3 00001e5a: MSTORE 00001e5b: PUSH1 0x01 00001e5d: DUP1 00001e5e: DUP3 00001e5f: MSTORE 00001e60: PUSH1 0x20 00001e62: DUP1 00001e63: DUP4 00001e64: ADD 00001e65: DUP3 00001e66: DUP2 00001e67: MSTORE 00001e68: PUSH1 0x0b 00001e6a: DUP1 00001e6b: SLOAD 00001e6c: PUSH1 0xff 00001e6e: AND 00001e6f: DUP6 00001e70: DUP8 00001e71: ADD 00001e72: SWAP1 00001e73: DUP2 00001e74: MSTORE 00001e75: PUSH1 0x60 00001e77: DUP7 00001e78: ADD 00001e79: DUP10 00001e7a: DUP2 00001e7b: MSTORE 00001e7c: PUSH1 0x01 00001e7e: PUSH1 0x01 00001e80: PUSH1 0xa0 00001e82: SHL 00001e83: SUB 00001e84: DUP12 00001e85: AND 00001e86: PUSH1 0x00 00001e88: DUP2 00001e89: DUP2 00001e8a: MSTORE 00001e8b: PUSH1 0x0c 00001e8d: SWAP1 00001e8e: SWAP7 00001e8f: MSTORE 00001e90: SWAP8 00001e91: DUP6 00001e92: KECCAK256 00001e93: SWAP7 00001e94: MLOAD 00001e95: DUP8 00001e96: SLOAD 00001e97: SWAP5 00001e98: MLOAD 00001e99: PUSH2 0xffff 00001e9c: NOT 00001e9d: SWAP1 00001e9e: SWAP6 00001e9f: AND 00001ea0: SWAP1 00001ea1: ISZERO 00001ea2: ISZERO 00001ea3: PUSH2 0xff00 00001ea6: NOT 00001ea7: AND 00001ea8: OR 00001ea9: PUSH2 0x0100 00001eac: SWAP5 00001ead: ISZERO 00001eae: ISZERO 00001eaf: SWAP5 00001eb0: SWAP1 00001eb1: SWAP5 00001eb2: MUL 00001eb3: SWAP4 00001eb4: SWAP1 00001eb5: SWAP4 00001eb6: OR 00001eb7: DUP7 00001eb8: SSTORE 00001eb9: MLOAD 00001eba: DUP6 00001ebb: DUP6 00001ebc: ADD 00001ebd: SSTORE 00001ebe: SWAP1 00001ebf: MLOAD 00001ec0: PUSH1 0x02 00001ec2: SWAP1 00001ec3: SWAP5 00001ec4: ADD 00001ec5: SWAP4 00001ec6: SWAP1 00001ec7: SWAP4 00001ec8: SSTORE 00001ec9: DUP3 00001eca: SLOAD 00001ecb: SWAP2 00001ecc: DUP3 00001ecd: ADD 00001ece: DUP4 00001ecf: SSTORE 00001ed0: SWAP2 00001ed1: SWAP1 00001ed2: SWAP2 00001ed3: MSTORE 00001ed4: PUSH32 0x0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9 00001ef5: ADD 00001ef6: DUP1 00001ef7: SLOAD 00001ef8: PUSH1 0x01 00001efa: PUSH1 0x01 00001efc: PUSH1 0xa0 00001efe: SHL 00001eff: SUB 00001f00: NOT 00001f01: AND 00001f02: SWAP1 00001f03: SWAP2 00001f04: OR 00001f05: SWAP1 00001f06: SSTORE 00001f07: PUSH2 0x1f11 00001f0a: DUP4 00001f0b: DUP3 00001f0c: DUP5 00001f0d: PUSH2 0x3092 00001f10: JUMP 00001f11: JUMPDEST 00001f12: DUP1 00001f13: PUSH1 0x01 00001f15: PUSH1 0x01 00001f17: PUSH1 0xa0 00001f19: SHL 00001f1a: SUB 00001f1b: AND 00001f1c: DUP4 00001f1d: PUSH1 0x01 00001f1f: PUSH1 0x01 00001f21: PUSH1 0xa0 00001f23: SHL 00001f24: SUB 00001f25: AND 00001f26: PUSH32 0xad3294aab2ec3d457e8b2c34125e9cc6abb32088405c71d3701d59c189d1688b 00001f47: PUSH1 0x40 00001f49: MLOAD 00001f4a: PUSH1 0x40 00001f4c: MLOAD 00001f4d: DUP1 00001f4e: SWAP2 00001f4f: SUB 00001f50: SWAP1 00001f51: LOG3 00001f52: POP 00001f53: POP 00001f54: PUSH1 0x01 00001f56: PUSH1 0x05 00001f58: SSTORE 00001f59: POP 00001f5a: JUMP 00001f5b: JUMPDEST 00001f5c: PUSH1 0x00 00001f5e: PUSH2 0x1f68 00001f61: CALLER 00001f62: DUP5 00001f63: DUP5 00001f64: PUSH2 0x2b42 00001f67: JUMP 00001f68: JUMPDEST 00001f69: POP 00001f6a: PUSH1 0x01 00001f6c: SWAP3 00001f6d: SWAP2 00001f6e: POP 00001f6f: POP 00001f70: JUMP 00001f71: JUMPDEST 00001f72: PUSH1 0x02 00001f74: PUSH1 0x05 00001f76: SLOAD 00001f77: SUB 00001f78: PUSH2 0x1f93 00001f7b: JUMPI 00001f7c: PUSH1 0x40 00001f7e: MLOAD 00001f7f: PUSH3 0x461bcd 00001f83: PUSH1 0xe5 00001f85: SHL 00001f86: DUP2 00001f87: MSTORE 00001f88: PUSH1 0x04 00001f8a: ADD 00001f8b: PUSH2 0x083b 00001f8e: SWAP1 00001f8f: PUSH2 0x3a09 00001f92: JUMP 00001f93: JUMPDEST 00001f94: PUSH1 0x02 00001f96: PUSH1 0x05 00001f98: SSTORE 00001f99: PUSH2 0x1fa0 00001f9c: PUSH2 0x316b 00001f9f: JUMP 00001fa0: JUMPDEST 00001fa1: PUSH1 0x0b 00001fa3: SLOAD 00001fa4: ISZERO 00001fa5: PUSH2 0x1fe2 00001fa8: JUMPI 00001fa9: PUSH1 0x40 00001fab: MLOAD 00001fac: PUSH3 0x461bcd 00001fb0: PUSH1 0xe5 00001fb2: SHL 00001fb3: DUP2 00001fb4: MSTORE 00001fb5: PUSH1 0x20 00001fb7: PUSH1 0x04 00001fb9: DUP3 00001fba: ADD 00001fbb: MSTORE 00001fbc: PUSH1 0x0f 00001fbe: PUSH1 0x24 00001fc0: DUP3 00001fc1: ADD 00001fc2: MSTORE 00001fc3: PUSH15 0x11549497d253925512505312569151 00001fd3: PUSH1 0x8a 00001fd5: SHL 00001fd6: PUSH1 0x44 00001fd8: DUP3 00001fd9: ADD 00001fda: MSTORE 00001fdb: PUSH1 0x64 00001fdd: ADD 00001fde: PUSH2 0x083b 00001fe1: JUMP 00001fe2: JUMPDEST 00001fe3: PUSH1 0x01 00001fe5: PUSH1 0x01 00001fe7: PUSH1 0xa0 00001fe9: SHL 00001fea: SUB 00001feb: DUP2 00001fec: AND 00001fed: PUSH2 0x2031 00001ff0: JUMPI 00001ff1: PUSH1 0x40 00001ff3: MLOAD 00001ff4: PUSH3 0x461bcd 00001ff8: PUSH1 0xe5 00001ffa: SHL 00001ffb: DUP2 00001ffc: MSTORE 00001ffd: PUSH1 0x20 00001fff: PUSH1 0x04 00002001: DUP3 00002002: ADD 00002003: MSTORE 00002004: PUSH1 0x16 00002006: PUSH1 0x24 00002008: DUP3 00002009: ADD 0000200a: MSTORE 0000200b: PUSH22 0x24a72b20a624a22faa27a5a2a72fa82927ab24a222a9 00002022: PUSH1 0x51 00002024: SHL 00002025: PUSH1 0x44 00002027: DUP3 00002028: ADD 00002029: MSTORE 0000202a: PUSH1 0x64 0000202c: ADD 0000202d: PUSH2 0x083b 00002030: JUMP 00002031: JUMPDEST 00002032: DUP4 00002033: PUSH1 0x02 00002035: DUP2 00002036: LT 00002037: ISZERO 00002038: PUSH2 0x2074 0000203b: JUMPI 0000203c: PUSH1 0x40 0000203e: MLOAD 0000203f: PUSH3 0x461bcd 00002043: PUSH1 0xe5 00002045: SHL 00002046: DUP2 00002047: MSTORE 00002048: PUSH1 0x20 0000204a: PUSH1 0x04 0000204c: DUP3 0000204d: ADD 0000204e: MSTORE 0000204f: PUSH1 0x0e 00002051: PUSH1 0x24 00002053: DUP3 00002054: ADD 00002055: MSTORE 00002056: PUSH14 0x4552525f4d494e5f544f4b454e53 00002065: PUSH1 0x90 00002067: SHL 00002068: PUSH1 0x44 0000206a: DUP3 0000206b: ADD 0000206c: MSTORE 0000206d: PUSH1 0x64 0000206f: ADD 00002070: PUSH2 0x083b 00002073: JUMP 00002074: JUMPDEST 00002075: PUSH1 0x14 00002077: DUP2 00002078: GT 00002079: ISZERO 0000207a: PUSH2 0x20b6 0000207d: JUMPI 0000207e: PUSH1 0x40 00002080: MLOAD 00002081: PUSH3 0x461bcd 00002085: PUSH1 0xe5 00002087: SHL 00002088: DUP2 00002089: MSTORE 0000208a: PUSH1 0x20 0000208c: PUSH1 0x04 0000208e: DUP3 0000208f: ADD 00002090: MSTORE 00002091: PUSH1 0x0e 00002093: PUSH1 0x24 00002095: DUP3 00002096: ADD 00002097: MSTORE 00002098: PUSH14 0x4552525f4d41585f544f4b454e53 000020a7: PUSH1 0x90 000020a9: SHL 000020aa: PUSH1 0x44 000020ac: DUP3 000020ad: ADD 000020ae: MSTORE 000020af: PUSH1 0x64 000020b1: ADD 000020b2: PUSH2 0x083b 000020b5: JUMP 000020b6: JUMPDEST 000020b7: PUSH2 0x20d1 000020ba: PUSH2 0x20cc 000020bd: PUSH8 0x0de0b6b3a7640000 000020c6: PUSH1 0x64 000020c8: PUSH2 0x3b58 000020cb: JUMP 000020cc: JUMPDEST 000020cd: PUSH2 0x30a7 000020d0: JUMP 000020d1: JUMPDEST 000020d2: PUSH1 0x00 000020d4: DUP1 000020d5: PUSH1 0x00 000020d7: JUMPDEST 000020d8: DUP4 000020d9: DUP2 000020da: LT 000020db: ISZERO 000020dc: PUSH2 0x227b 000020df: JUMPI 000020e0: DUP9 000020e1: DUP9 000020e2: DUP3 000020e3: DUP2 000020e4: DUP2 000020e5: LT 000020e6: PUSH2 0x20f1 000020e9: JUMPI 000020ea: PUSH2 0x20f1 000020ed: PUSH2 0x3b13 000020f0: JUMP 000020f1: JUMPDEST 000020f2: SWAP1 000020f3: POP 000020f4: PUSH1 0x20 000020f6: MUL 000020f7: ADD 000020f8: PUSH1 0x20 000020fa: DUP2 000020fb: ADD 000020fc: SWAP1 000020fd: PUSH2 0x2106 00002100: SWAP2 00002101: SWAP1 00002102: PUSH2 0x37bf 00002105: JUMP 00002106: JUMPDEST 00002107: SWAP3 00002108: POP 00002109: PUSH1 0x01 0000210b: PUSH1 0x01 0000210d: PUSH1 0xa0 0000210f: SHL 00002110: SUB 00002111: DUP4 00002112: AND 00002113: PUSH2 0x214e 00002116: JUMPI 00002117: PUSH1 0x40 00002119: MLOAD 0000211a: PUSH3 0x461bcd 0000211e: PUSH1 0xe5 00002120: SHL 00002121: DUP2 00002122: MSTORE 00002123: PUSH1 0x20 00002125: PUSH1 0x04 00002127: DUP3 00002128: ADD 00002129: MSTORE 0000212a: PUSH1 0x0d 0000212c: PUSH1 0x24 0000212e: DUP3 0000212f: ADD 00002130: MSTORE 00002131: PUSH13 0x24a72b20a624a22faa27a5a2a7 0000213f: PUSH1 0x99 00002141: SHL 00002142: PUSH1 0x44 00002144: DUP3 00002145: ADD 00002146: MSTORE 00002147: PUSH1 0x64 00002149: ADD 0000214a: PUSH2 0x083b 0000214d: JUMP 0000214e: JUMPDEST 0000214f: DUP7 00002150: DUP7 00002151: DUP3 00002152: DUP2 00002153: DUP2 00002154: LT 00002155: PUSH2 0x2160 00002158: JUMPI 00002159: PUSH2 0x2160 0000215c: PUSH2 0x3b13 0000215f: JUMP 00002160: JUMPDEST 00002161: SWAP1 00002162: POP 00002163: PUSH1 0x20 00002165: MUL 00002166: ADD 00002167: CALLDATALOAD 00002168: SWAP2 00002169: POP 0000216a: PUSH1 0x00 0000216c: DUP3 0000216d: GT 0000216e: PUSH2 0x21ab 00002171: JUMPI 00002172: PUSH1 0x40 00002174: MLOAD 00002175: PUSH3 0x461bcd 00002179: PUSH1 0xe5 0000217b: SHL 0000217c: DUP2 0000217d: MSTORE 0000217e: PUSH1 0x20 00002180: PUSH1 0x04 00002182: DUP3 00002183: ADD 00002184: MSTORE 00002185: PUSH1 0x0f 00002187: PUSH1 0x24 00002189: DUP3 0000218a: ADD 0000218b: MSTORE 0000218c: PUSH15 0x4552525f4d494e5f42414c414e4345 0000219c: PUSH1 0x88 0000219e: SHL 0000219f: PUSH1 0x44 000021a1: DUP3 000021a2: ADD 000021a3: MSTORE 000021a4: PUSH1 0x64 000021a6: ADD 000021a7: PUSH2 0x083b 000021aa: JUMP 000021ab: JUMPDEST 000021ac: PUSH1 0x40 000021ae: DUP1 000021af: MLOAD 000021b0: PUSH1 0x80 000021b2: DUP2 000021b3: ADD 000021b4: DUP3 000021b5: MSTORE 000021b6: PUSH1 0x01 000021b8: DUP1 000021b9: DUP3 000021ba: MSTORE 000021bb: PUSH1 0x20 000021bd: DUP1 000021be: DUP4 000021bf: ADD 000021c0: DUP3 000021c1: DUP2 000021c2: MSTORE 000021c3: PUSH1 0xff 000021c5: DUP7 000021c6: AND 000021c7: DUP5 000021c8: DUP7 000021c9: ADD 000021ca: SWAP1 000021cb: DUP2 000021cc: MSTORE 000021cd: PUSH1 0x60 000021cf: DUP6 000021d0: ADD 000021d1: DUP9 000021d2: DUP2 000021d3: MSTORE 000021d4: PUSH1 0x01 000021d6: PUSH1 0x01 000021d8: PUSH1 0xa0 000021da: SHL 000021db: SUB 000021dc: DUP11 000021dd: AND 000021de: PUSH1 0x00 000021e0: DUP2 000021e1: DUP2 000021e2: MSTORE 000021e3: PUSH1 0x0c 000021e5: SWAP1 000021e6: SWAP6 000021e7: MSTORE 000021e8: SWAP7 000021e9: DUP5 000021ea: KECCAK256 000021eb: SWAP6 000021ec: MLOAD 000021ed: DUP7 000021ee: SLOAD 000021ef: SWAP4 000021f0: MLOAD 000021f1: PUSH2 0xffff 000021f4: NOT 000021f5: SWAP1 000021f6: SWAP5 000021f7: AND 000021f8: SWAP1 000021f9: ISZERO 000021fa: ISZERO 000021fb: PUSH2 0xff00 000021fe: NOT 000021ff: AND 00002200: OR 00002201: PUSH2 0x0100 00002204: SWAP4 00002205: ISZERO 00002206: ISZERO 00002207: SWAP4 00002208: SWAP1 00002209: SWAP4 0000220a: MUL 0000220b: SWAP3 0000220c: SWAP1 0000220d: SWAP3 0000220e: OR 0000220f: DUP6 00002210: SSTORE 00002211: MLOAD 00002212: DUP5 00002213: DUP5 00002214: ADD 00002215: SSTORE 00002216: MLOAD 00002217: PUSH1 0x02 00002219: SWAP1 0000221a: SWAP4 0000221b: ADD 0000221c: SWAP3 0000221d: SWAP1 0000221e: SWAP3 0000221f: SSTORE 00002220: PUSH1 0x0b 00002222: DUP1 00002223: SLOAD 00002224: SWAP2 00002225: DUP3 00002226: ADD 00002227: DUP2 00002228: SSTORE 00002229: SWAP1 0000222a: SWAP2 0000222b: MSTORE 0000222c: PUSH32 0x0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9 0000224d: ADD 0000224e: DUP1 0000224f: SLOAD 00002250: PUSH1 0x01 00002252: PUSH1 0x01 00002254: PUSH1 0xa0 00002256: SHL 00002257: SUB 00002258: NOT 00002259: AND 0000225a: SWAP1 0000225b: SWAP2 0000225c: OR 0000225d: SWAP1 0000225e: SSTORE 0000225f: PUSH2 0x2269 00002262: DUP4 00002263: DUP7 00002264: DUP5 00002265: PUSH2 0x3092 00002268: JUMP 00002269: JUMPDEST 0000226a: DUP1 0000226b: PUSH2 0x2273 0000226e: DUP2 0000226f: PUSH2 0x3b29 00002272: JUMP 00002273: JUMPDEST 00002274: SWAP2 00002275: POP 00002276: POP 00002277: PUSH2 0x20d7 0000227a: JUMP 0000227b: JUMPDEST 0000227c: POP 0000227d: PUSH2 0x2298 00002280: DUP5 00002281: PUSH2 0x2293 00002284: PUSH8 0x0de0b6b3a7640000 0000228d: PUSH1 0x64 0000228f: PUSH2 0x3b58 00002292: JUMP 00002293: JUMPDEST 00002294: PUSH2 0x3118 00002297: JUMP 00002298: JUMPDEST 00002299: DUP4 0000229a: PUSH1 0x01 0000229c: PUSH1 0x01 0000229e: PUSH1 0xa0 000022a0: SHL 000022a1: SUB 000022a2: AND 000022a3: DUP9 000022a4: DUP9 000022a5: PUSH1 0x40 000022a7: MLOAD 000022a8: PUSH2 0x22b2 000022ab: SWAP3 000022ac: SWAP2 000022ad: SWAP1 000022ae: PUSH2 0x3d08 000022b1: JUMP 000022b2: JUMPDEST 000022b3: PUSH1 0x40 000022b5: MLOAD 000022b6: DUP1 000022b7: SWAP2 000022b8: SUB 000022b9: SWAP1 000022ba: KECCAK256 000022bb: PUSH32 0xee29c4ecb305fc552ccd2503b77a9b843043f6298df130f25f2c272716206ea0 000022dc: DUP9 000022dd: DUP9 000022de: PUSH1 0x40 000022e0: MLOAD 000022e1: PUSH2 0x22eb 000022e4: SWAP3 000022e5: SWAP2 000022e6: SWAP1 000022e7: PUSH2 0x3d4a 000022ea: JUMP 000022eb: JUMPDEST 000022ec: PUSH1 0x40 000022ee: MLOAD 000022ef: DUP1 000022f0: SWAP2 000022f1: SUB 000022f2: SWAP1 000022f3: LOG3 000022f4: POP 000022f5: POP 000022f6: PUSH1 0x01 000022f8: PUSH1 0x05 000022fa: SSTORE 000022fb: POP 000022fc: POP 000022fd: POP 000022fe: POP 000022ff: POP 00002300: POP 00002301: JUMP 00002302: JUMPDEST 00002303: PUSH1 0x40 00002305: MLOAD 00002306: PUSH4 0x70a08231 0000230b: PUSH1 0xe0 0000230d: SHL 0000230e: DUP2 0000230f: MSTORE 00002310: ADDRESS 00002311: PUSH1 0x04 00002313: DUP3 00002314: ADD 00002315: MSTORE 00002316: PUSH1 0x00 00002318: SWAP1 00002319: PUSH1 0x01 0000231b: PUSH1 0x01 0000231d: PUSH1 0xa0 0000231f: SHL 00002320: SUB 00002321: DUP5 00002322: AND 00002323: SWAP1 00002324: PUSH4 0x70a08231 00002329: SWAP1 0000232a: PUSH1 0x24 0000232c: ADD 0000232d: PUSH1 0x20 0000232f: PUSH1 0x40 00002331: MLOAD 00002332: DUP1 00002333: DUP4 00002334: SUB 00002335: DUP2 00002336: DUP7 00002337: GAS 00002338: STATICCALL 00002339: ISZERO 0000233a: DUP1 0000233b: ISZERO 0000233c: PUSH2 0x2349 0000233f: JUMPI 00002340: RETURNDATASIZE 00002341: PUSH1 0x00 00002343: DUP1 00002344: RETURNDATACOPY 00002345: RETURNDATASIZE 00002346: PUSH1 0x00 00002348: REVERT 00002349: JUMPDEST 0000234a: POP 0000234b: POP 0000234c: POP 0000234d: POP 0000234e: PUSH1 0x40 00002350: MLOAD 00002351: RETURNDATASIZE 00002352: PUSH1 0x1f 00002354: NOT 00002355: PUSH1 0x1f 00002357: DUP3 00002358: ADD 00002359: AND 0000235a: DUP3 0000235b: ADD 0000235c: DUP1 0000235d: PUSH1 0x40 0000235f: MSTORE 00002360: POP 00002361: DUP2 00002362: ADD 00002363: SWAP1 00002364: PUSH2 0x236d 00002367: SWAP2 00002368: SWAP1 00002369: PUSH2 0x3aa4 0000236c: JUMP 0000236d: JUMPDEST 0000236e: PUSH1 0x40 00002370: MLOAD 00002371: PUSH4 0x70a08231 00002376: PUSH1 0xe0 00002378: SHL 00002379: DUP2 0000237a: MSTORE 0000237b: ADDRESS 0000237c: PUSH1 0x04 0000237e: DUP3 0000237f: ADD 00002380: MSTORE 00002381: SWAP1 00002382: SWAP2 00002383: POP 00002384: PUSH1 0x00 00002386: SWAP1 00002387: PUSH1 0x01 00002389: PUSH1 0x01 0000238b: PUSH1 0xa0 0000238d: SHL 0000238e: SUB 0000238f: DUP5 00002390: AND 00002391: SWAP1 00002392: PUSH4 0x70a08231 00002397: SWAP1 00002398: PUSH1 0x24 0000239a: ADD 0000239b: PUSH1 0x20 0000239d: PUSH1 0x40 0000239f: MLOAD 000023a0: DUP1 000023a1: DUP4 000023a2: SUB 000023a3: DUP2 000023a4: DUP7 000023a5: GAS 000023a6: STATICCALL 000023a7: ISZERO 000023a8: DUP1 000023a9: ISZERO 000023aa: PUSH2 0x23b7 000023ad: JUMPI 000023ae: RETURNDATASIZE 000023af: PUSH1 0x00 000023b1: DUP1 000023b2: RETURNDATACOPY 000023b3: RETURNDATASIZE 000023b4: PUSH1 0x00 000023b6: REVERT 000023b7: JUMPDEST 000023b8: POP 000023b9: POP 000023ba: POP 000023bb: POP 000023bc: PUSH1 0x40 000023be: MLOAD 000023bf: RETURNDATASIZE 000023c0: PUSH1 0x1f 000023c2: NOT 000023c3: PUSH1 0x1f 000023c5: DUP3 000023c6: ADD 000023c7: AND 000023c8: DUP3 000023c9: ADD 000023ca: DUP1 000023cb: PUSH1 0x40 000023cd: MSTORE 000023ce: POP 000023cf: DUP2 000023d0: ADD 000023d1: SWAP1 000023d2: PUSH2 0x23db 000023d5: SWAP2 000023d6: SWAP1 000023d7: PUSH2 0x3aa4 000023da: JUMP 000023db: JUMPDEST 000023dc: PUSH1 0x01 000023de: PUSH1 0x01 000023e0: PUSH1 0xa0 000023e2: SHL 000023e3: SUB 000023e4: SWAP5 000023e5: DUP6 000023e6: AND 000023e7: PUSH1 0x00 000023e9: SWAP1 000023ea: DUP2 000023eb: MSTORE 000023ec: PUSH1 0x0c 000023ee: PUSH1 0x20 000023f0: MSTORE 000023f1: PUSH1 0x40 000023f3: DUP1 000023f4: DUP3 000023f5: KECCAK256 000023f6: PUSH1 0x02 000023f8: SWAP1 000023f9: DUP2 000023fa: ADD 000023fb: SWAP6 000023fc: SWAP1 000023fd: SWAP6 000023fe: SSTORE 000023ff: SWAP5 00002400: SWAP1 00002401: SWAP6 00002402: AND 00002403: DUP6 00002404: MSTORE 00002405: SWAP3 00002406: SWAP1 00002407: SWAP4 00002408: KECCAK256 00002409: ADD 0000240a: SSTORE 0000240b: POP 0000240c: JUMP 0000240d: JUMPDEST 0000240e: PUSH2 0x2415 00002411: PUSH2 0x316b 00002414: JUMP 00002415: JUMPDEST 00002416: PUSH1 0x0d 00002418: DUP1 00002419: SLOAD 0000241a: PUSH1 0x01 0000241c: PUSH1 0x01 0000241e: PUSH1 0xa0 00002420: SHL 00002421: SUB 00002422: NOT 00002423: AND 00002424: PUSH1 0x01 00002426: PUSH1 0x01 00002428: PUSH1 0xa0 0000242a: SHL 0000242b: SUB 0000242c: SWAP3 0000242d: SWAP1 0000242e: SWAP3 0000242f: AND 00002430: SWAP2 00002431: SWAP1 00002432: SWAP2 00002433: OR 00002434: SWAP1 00002435: SSTORE 00002436: JUMP 00002437: JUMPDEST 00002438: PUSH1 0x60 0000243a: PUSH1 0x0b 0000243c: DUP1 0000243d: SLOAD 0000243e: DUP1 0000243f: PUSH1 0x20 00002441: MUL 00002442: PUSH1 0x20 00002444: ADD 00002445: PUSH1 0x40 00002447: MLOAD 00002448: SWAP1 00002449: DUP2 0000244a: ADD 0000244b: PUSH1 0x40 0000244d: MSTORE 0000244e: DUP1 0000244f: SWAP3 00002450: SWAP2 00002451: SWAP1 00002452: DUP2 00002453: DUP2 00002454: MSTORE 00002455: PUSH1 0x20 00002457: ADD 00002458: DUP3 00002459: DUP1 0000245a: SLOAD 0000245b: DUP1 0000245c: ISZERO 0000245d: PUSH2 0x07b4 00002460: JUMPI 00002461: PUSH1 0x20 00002463: MUL 00002464: DUP3 00002465: ADD 00002466: SWAP2 00002467: SWAP1 00002468: PUSH1 0x00 0000246a: MSTORE 0000246b: PUSH1 0x20 0000246d: PUSH1 0x00 0000246f: KECCAK256 00002470: SWAP1 00002471: JUMPDEST 00002472: DUP2 00002473: SLOAD 00002474: PUSH1 0x01 00002476: PUSH1 0x01 00002478: PUSH1 0xa0 0000247a: SHL 0000247b: SUB 0000247c: AND 0000247d: DUP2 0000247e: MSTORE 0000247f: PUSH1 0x01 00002481: SWAP1 00002482: SWAP2 00002483: ADD 00002484: SWAP1 00002485: PUSH1 0x20 00002487: ADD 00002488: DUP1 00002489: DUP4 0000248a: GT 0000248b: PUSH2 0x2471 0000248e: JUMPI 0000248f: POP 00002490: POP 00002491: POP 00002492: POP 00002493: POP 00002494: SWAP1 00002495: POP 00002496: SWAP1 00002497: JUMP 00002498: JUMPDEST 00002499: PUSH2 0x24a0 0000249c: PUSH2 0x2af3 0000249f: JUMP 000024a0: JUMPDEST 000024a1: PUSH1 0x01 000024a3: PUSH1 0x01 000024a5: PUSH1 0xa0 000024a7: SHL 000024a8: SUB 000024a9: DUP2 000024aa: AND 000024ab: PUSH2 0x24e9 000024ae: JUMPI 000024af: PUSH1 0x40 000024b1: MLOAD 000024b2: PUSH3 0x461bcd 000024b6: PUSH1 0xe5 000024b8: SHL 000024b9: DUP2 000024ba: MSTORE 000024bb: PUSH1 0x20 000024bd: PUSH1 0x04 000024bf: DUP3 000024c0: ADD 000024c1: MSTORE 000024c2: PUSH1 0x10 000024c4: PUSH1 0x24 000024c6: DUP3 000024c7: ADD 000024c8: MSTORE 000024c9: PUSH16 0x4552525f414444524553535f5a45524f 000024da: PUSH1 0x80 000024dc: SHL 000024dd: PUSH1 0x44 000024df: DUP3 000024e0: ADD 000024e1: MSTORE 000024e2: PUSH1 0x64 000024e4: ADD 000024e5: PUSH2 0x083b 000024e8: JUMP 000024e9: JUMPDEST 000024ea: PUSH1 0x0e 000024ec: DUP1 000024ed: SLOAD 000024ee: PUSH1 0x01 000024f0: PUSH1 0x01 000024f2: PUSH1 0xa0 000024f4: SHL 000024f5: SUB 000024f6: NOT 000024f7: AND 000024f8: PUSH1 0x01 000024fa: PUSH1 0x01 000024fc: PUSH1 0xa0 000024fe: SHL 000024ff: SUB 00002500: SWAP3 00002501: SWAP1 00002502: SWAP3 00002503: AND 00002504: SWAP2 00002505: SWAP1 00002506: SWAP2 00002507: OR 00002508: SWAP1 00002509: SSTORE 0000250a: JUMP 0000250b: JUMPDEST 0000250c: PUSH1 0x60 0000250e: DUP1 0000250f: PUSH1 0x0b 00002511: DUP1 00002512: SLOAD 00002513: DUP1 00002514: PUSH1 0x20 00002516: MUL 00002517: PUSH1 0x20 00002519: ADD 0000251a: PUSH1 0x40 0000251c: MLOAD 0000251d: SWAP1 0000251e: DUP2 0000251f: ADD 00002520: PUSH1 0x40 00002522: MSTORE 00002523: DUP1 00002524: SWAP3 00002525: SWAP2 00002526: SWAP1 00002527: DUP2 00002528: DUP2 00002529: MSTORE 0000252a: PUSH1 0x20 0000252c: ADD 0000252d: DUP3 0000252e: DUP1 0000252f: SLOAD 00002530: DUP1 00002531: ISZERO 00002532: PUSH2 0x2564 00002535: JUMPI 00002536: PUSH1 0x20 00002538: MUL 00002539: DUP3 0000253a: ADD 0000253b: SWAP2 0000253c: SWAP1 0000253d: PUSH1 0x00 0000253f: MSTORE 00002540: PUSH1 0x20 00002542: PUSH1 0x00 00002544: KECCAK256 00002545: SWAP1 00002546: JUMPDEST 00002547: DUP2 00002548: SLOAD 00002549: PUSH1 0x01 0000254b: PUSH1 0x01 0000254d: PUSH1 0xa0 0000254f: SHL 00002550: SUB 00002551: AND 00002552: DUP2 00002553: MSTORE 00002554: PUSH1 0x01 00002556: SWAP1 00002557: SWAP2 00002558: ADD 00002559: SWAP1 0000255a: PUSH1 0x20 0000255c: ADD 0000255d: DUP1 0000255e: DUP4 0000255f: GT 00002560: PUSH2 0x2546 00002563: JUMPI 00002564: JUMPDEST 00002565: POP 00002566: POP 00002567: PUSH1 0x0b 00002569: SLOAD 0000256a: SWAP4 0000256b: SWAP6 0000256c: POP 0000256d: POP 0000256e: POP 0000256f: PUSH8 0xffffffffffffffff 00002578: DUP3 00002579: GT 0000257a: ISZERO 0000257b: SWAP1 0000257c: POP 0000257d: PUSH2 0x2588 00002580: JUMPI 00002581: PUSH2 0x2588 00002584: PUSH2 0x3b42 00002587: JUMP 00002588: JUMPDEST 00002589: PUSH1 0x40 0000258b: MLOAD 0000258c: SWAP1 0000258d: DUP1 0000258e: DUP3 0000258f: MSTORE 00002590: DUP1 00002591: PUSH1 0x20 00002593: MUL 00002594: PUSH1 0x20 00002596: ADD 00002597: DUP3 00002598: ADD 00002599: PUSH1 0x40 0000259b: MSTORE 0000259c: DUP1 0000259d: ISZERO 0000259e: PUSH2 0x25b1 000025a1: JUMPI 000025a2: DUP2 000025a3: PUSH1 0x20 000025a5: ADD 000025a6: PUSH1 0x20 000025a8: DUP3 000025a9: MUL 000025aa: DUP1 000025ab: CALLDATASIZE 000025ac: DUP4 000025ad: CALLDATACOPY 000025ae: ADD 000025af: SWAP1 000025b0: POP 000025b1: JUMPDEST 000025b2: POP 000025b3: SWAP1 000025b4: POP 000025b5: PUSH1 0x00 000025b7: JUMPDEST 000025b8: PUSH1 0x0b 000025ba: SLOAD 000025bb: DUP2 000025bc: LT 000025bd: ISZERO 000025be: PUSH2 0x2632 000025c1: JUMPI 000025c2: PUSH1 0x0c 000025c4: PUSH1 0x00 000025c6: DUP5 000025c7: DUP4 000025c8: DUP2 000025c9: MLOAD 000025ca: DUP2 000025cb: LT 000025cc: PUSH2 0x25d7 000025cf: JUMPI 000025d0: PUSH2 0x25d7 000025d3: PUSH2 0x3b13 000025d6: JUMP 000025d7: JUMPDEST 000025d8: PUSH1 0x20 000025da: MUL 000025db: PUSH1 0x20 000025dd: ADD 000025de: ADD 000025df: MLOAD 000025e0: PUSH1 0x01 000025e2: PUSH1 0x01 000025e4: PUSH1 0xa0 000025e6: SHL 000025e7: SUB 000025e8: AND 000025e9: PUSH1 0x01 000025eb: PUSH1 0x01 000025ed: PUSH1 0xa0 000025ef: SHL 000025f0: SUB 000025f1: AND 000025f2: DUP2 000025f3: MSTORE 000025f4: PUSH1 0x20 000025f6: ADD 000025f7: SWAP1 000025f8: DUP2 000025f9: MSTORE 000025fa: PUSH1 0x20 000025fc: ADD 000025fd: PUSH1 0x00 000025ff: KECCAK256 00002600: PUSH1 0x02 00002602: ADD 00002603: SLOAD 00002604: DUP3 00002605: DUP3 00002606: DUP2 00002607: MLOAD 00002608: DUP2 00002609: LT 0000260a: PUSH2 0x2615 0000260d: JUMPI 0000260e: PUSH2 0x2615 00002611: PUSH2 0x3b13 00002614: JUMP 00002615: JUMPDEST 00002616: PUSH1 0x20 00002618: SWAP1 00002619: DUP2 0000261a: MUL 0000261b: SWAP2 0000261c: SWAP1 0000261d: SWAP2 0000261e: ADD 0000261f: ADD 00002620: MSTORE 00002621: DUP1 00002622: PUSH2 0x262a 00002625: DUP2 00002626: PUSH2 0x3b29 00002629: JUMP 0000262a: JUMPDEST 0000262b: SWAP2 0000262c: POP 0000262d: POP 0000262e: PUSH2 0x25b7 00002631: JUMP 00002632: JUMPDEST 00002633: POP 00002634: SWAP1 00002635: SWAP2 00002636: JUMP 00002637: JUMPDEST 00002638: CALLER 00002639: PUSH1 0x00 0000263b: SWAP1 0000263c: DUP2 0000263d: MSTORE 0000263e: PUSH1 0x01 00002640: PUSH1 0x20 00002642: SWAP1 00002643: DUP2 00002644: MSTORE 00002645: PUSH1 0x40 00002647: DUP1 00002648: DUP4 00002649: KECCAK256 0000264a: PUSH1 0x01 0000264c: PUSH1 0x01 0000264e: PUSH1 0xa0 00002650: SHL 00002651: SUB 00002652: DUP7 00002653: AND 00002654: DUP5 00002655: MSTORE 00002656: SWAP1 00002657: SWAP2 00002658: MSTORE 00002659: DUP2 0000265a: KECCAK256 0000265b: SLOAD 0000265c: PUSH2 0x2666 0000265f: SWAP1 00002660: DUP4 00002661: SWAP1 00002662: PUSH2 0x3bf6 00002665: JUMP 00002666: JUMPDEST 00002667: CALLER 00002668: PUSH1 0x00 0000266a: DUP2 0000266b: DUP2 0000266c: MSTORE 0000266d: PUSH1 0x01 0000266f: PUSH1 0x20 00002671: SWAP1 00002672: DUP2 00002673: MSTORE 00002674: PUSH1 0x40 00002676: DUP1 00002677: DUP4 00002678: KECCAK256 00002679: PUSH1 0x01 0000267b: PUSH1 0x01 0000267d: PUSH1 0xa0 0000267f: SHL 00002680: SUB 00002681: DUP10 00002682: AND 00002683: DUP1 00002684: DUP6 00002685: MSTORE 00002686: SWAP1 00002687: DUP4 00002688: MSTORE 00002689: SWAP3 0000268a: DUP2 0000268b: SWAP1 0000268c: KECCAK256 0000268d: DUP6 0000268e: SWAP1 0000268f: SSTORE 00002690: MLOAD 00002691: SWAP4 00002692: DUP5 00002693: MSTORE 00002694: SWAP1 00002695: SWAP3 00002696: PUSH1 0x00 00002698: DUP1 00002699: MLOAD 0000269a: PUSH1 0x20 0000269c: PUSH2 0x3dd9 0000269f: DUP4 000026a0: CODECOPY 000026a1: DUP2 000026a2: MLOAD 000026a3: SWAP2 000026a4: MSTORE 000026a5: SWAP2 000026a6: ADD 000026a7: PUSH2 0x0807 000026aa: JUMP 000026ab: JUMPDEST 000026ac: PUSH2 0x26b3 000026af: PUSH2 0x2af3 000026b2: JUMP 000026b3: JUMPDEST 000026b4: PUSH1 0x01 000026b6: PUSH1 0x01 000026b8: PUSH1 0xa0 000026ba: SHL 000026bb: SUB 000026bc: DUP2 000026bd: AND 000026be: PUSH1 0x00 000026c0: SWAP1 000026c1: DUP2 000026c2: MSTORE 000026c3: PUSH1 0x0a 000026c5: PUSH1 0x20 000026c7: MSTORE 000026c8: PUSH1 0x40 000026ca: SWAP1 000026cb: KECCAK256 000026cc: SLOAD 000026cd: PUSH1 0xff 000026cf: AND 000026d0: ISZERO 000026d1: PUSH2 0x2716 000026d4: JUMPI 000026d5: PUSH1 0x40 000026d7: MLOAD 000026d8: PUSH3 0x461bcd 000026dc: PUSH1 0xe5 000026de: SHL 000026df: DUP2 000026e0: MSTORE 000026e1: PUSH1 0x20 000026e3: PUSH1 0x04 000026e5: DUP3 000026e6: ADD 000026e7: MSTORE 000026e8: PUSH1 0x17 000026ea: PUSH1 0x24 000026ec: DUP3 000026ed: ADD 000026ee: MSTORE 000026ef: PUSH23 0x11549497d193d491d157d053149150511657d051111151 00002707: PUSH1 0x4a 00002709: SHL 0000270a: PUSH1 0x44 0000270c: DUP3 0000270d: ADD 0000270e: MSTORE 0000270f: PUSH1 0x64 00002711: ADD 00002712: PUSH2 0x083b 00002715: JUMP 00002716: JUMPDEST 00002717: PUSH1 0x01 00002719: PUSH1 0x01 0000271b: PUSH1 0xa0 0000271d: SHL 0000271e: SUB 0000271f: DUP2 00002720: AND 00002721: PUSH1 0x00 00002723: DUP2 00002724: DUP2 00002725: MSTORE 00002726: PUSH1 0x0a 00002728: PUSH1 0x20 0000272a: MSTORE 0000272b: PUSH1 0x40 0000272d: DUP1 0000272e: DUP3 0000272f: KECCAK256 00002730: DUP1 00002731: SLOAD 00002732: PUSH1 0xff 00002734: NOT 00002735: AND 00002736: PUSH1 0x01 00002738: OR 00002739: SWAP1 0000273a: SSTORE 0000273b: MLOAD 0000273c: PUSH32 0xb8aafec1aa056456cdaa0f9446ba81026cd6950d76df9602a23f41435cde410a 0000275d: SWAP2 0000275e: SWAP1 0000275f: LOG2 00002760: POP 00002761: JUMP 00002762: JUMPDEST 00002763: PUSH1 0x01 00002765: PUSH1 0x01 00002767: PUSH1 0xa0 00002769: SHL 0000276a: SUB 0000276b: DUP2 0000276c: AND 0000276d: PUSH1 0x00 0000276f: SWAP1 00002770: DUP2 00002771: MSTORE 00002772: PUSH1 0x0c 00002774: PUSH1 0x20 00002776: SWAP1 00002777: DUP2 00002778: MSTORE 00002779: PUSH1 0x40 0000277b: DUP1 0000277c: DUP4 0000277d: KECCAK256 0000277e: DUP2 0000277f: MLOAD 00002780: PUSH1 0x80 00002782: DUP2 00002783: ADD 00002784: DUP4 00002785: MSTORE 00002786: DUP2 00002787: SLOAD 00002788: PUSH1 0xff 0000278a: DUP1 0000278b: DUP3 0000278c: AND 0000278d: ISZERO 0000278e: ISZERO 0000278f: DUP1 00002790: DUP5 00002791: MSTORE 00002792: PUSH2 0x0100 00002795: SWAP1 00002796: SWAP3 00002797: DIV 00002798: AND 00002799: ISZERO 0000279a: ISZERO 0000279b: SWAP5 0000279c: DUP3 0000279d: ADD 0000279e: SWAP5 0000279f: SWAP1 000027a0: SWAP5 000027a1: MSTORE 000027a2: PUSH1 0x01 000027a4: DUP3 000027a5: ADD 000027a6: SLOAD 000027a7: SWAP3 000027a8: DUP2 000027a9: ADD 000027aa: SWAP3 000027ab: SWAP1 000027ac: SWAP3 000027ad: MSTORE 000027ae: PUSH1 0x02 000027b0: ADD 000027b1: SLOAD 000027b2: PUSH1 0x60 000027b4: DUP3 000027b5: ADD 000027b6: MSTORE 000027b7: SWAP1 000027b8: PUSH2 0x27d3 000027bb: JUMPI 000027bc: PUSH1 0x40 000027be: MLOAD 000027bf: PUSH3 0x461bcd 000027c3: PUSH1 0xe5 000027c5: SHL 000027c6: DUP2 000027c7: MSTORE 000027c8: PUSH1 0x04 000027ca: ADD 000027cb: PUSH2 0x083b 000027ce: SWAP1 000027cf: PUSH2 0x3baf 000027d2: JUMP 000027d3: JUMPDEST 000027d4: PUSH1 0x60 000027d6: ADD 000027d7: MLOAD 000027d8: SWAP3 000027d9: SWAP2 000027da: POP 000027db: POP 000027dc: JUMP 000027dd: JUMPDEST 000027de: PUSH2 0x27e5 000027e1: PUSH2 0x316b 000027e4: JUMP 000027e5: JUMPDEST 000027e6: DUP2 000027e7: PUSH2 0x27fa 000027ea: PUSH1 0x01 000027ec: PUSH1 0x01 000027ee: PUSH1 0xa0 000027f0: SHL 000027f1: SUB 000027f2: DUP3 000027f3: AND 000027f4: CALLER 000027f5: DUP5 000027f6: PUSH2 0x31b7 000027f9: JUMP 000027fa: JUMPDEST 000027fb: PUSH1 0x40 000027fd: MLOAD 000027fe: PUSH1 0x01 00002800: PUSH1 0x01 00002802: PUSH1 0xa0 00002804: SHL 00002805: SUB 00002806: DUP5 00002807: AND 00002808: DUP2 00002809: MSTORE 0000280a: DUP3 0000280b: SWAP1 0000280c: PUSH32 0xc18340ba98721bcff47f10f30da90ced66f2b96b9afed4cbdf4e0184b4a70469 0000282d: SWAP1 0000282e: PUSH1 0x20 00002830: ADD 00002831: PUSH1 0x40 00002833: MLOAD 00002834: DUP1 00002835: SWAP2 00002836: SUB 00002837: SWAP1 00002838: LOG2 00002839: POP 0000283a: POP 0000283b: POP 0000283c: JUMP 0000283d: JUMPDEST 0000283e: PUSH1 0x08 00002840: SLOAD 00002841: PUSH1 0x01 00002843: PUSH1 0x01 00002845: PUSH1 0xa0 00002847: SHL 00002848: SUB 00002849: AND 0000284a: CALLER 0000284b: EQ 0000284c: PUSH2 0x2885 0000284f: JUMPI 00002850: PUSH1 0x40 00002852: MLOAD 00002853: PUSH3 0x461bcd 00002857: PUSH1 0xe5 00002859: SHL 0000285a: DUP2 0000285b: MSTORE 0000285c: PUSH1 0x20 0000285e: PUSH1 0x04 00002860: DUP3 00002861: ADD 00002862: MSTORE 00002863: PUSH1 0x0b 00002865: PUSH1 0x24 00002867: DUP3 00002868: ADD 00002869: MSTORE 0000286a: PUSH11 0x4552525f4e4f545f44414d 00002876: PUSH1 0xa8 00002878: SHL 00002879: PUSH1 0x44 0000287b: DUP3 0000287c: ADD 0000287d: MSTORE 0000287e: PUSH1 0x64 00002880: ADD 00002881: PUSH2 0x083b 00002884: JUMP 00002885: JUMPDEST 00002886: JUMP 00002887: JUMPDEST 00002888: PUSH1 0x01 0000288a: PUSH1 0x01 0000288c: PUSH1 0xa0 0000288e: SHL 0000288f: SUB 00002890: DUP3 00002891: AND 00002892: PUSH1 0x00 00002894: SWAP1 00002895: DUP2 00002896: MSTORE 00002897: PUSH1 0x0c 00002899: PUSH1 0x20 0000289b: MSTORE 0000289c: PUSH1 0x40 0000289e: SWAP1 0000289f: KECCAK256 000028a0: SLOAD 000028a1: PUSH1 0xff 000028a3: AND 000028a4: PUSH2 0x28bf 000028a7: JUMPI 000028a8: PUSH1 0x40 000028aa: MLOAD 000028ab: PUSH3 0x461bcd 000028af: PUSH1 0xe5 000028b1: SHL 000028b2: DUP2 000028b3: MSTORE 000028b4: PUSH1 0x04 000028b6: ADD 000028b7: PUSH2 0x083b 000028ba: SWAP1 000028bb: PUSH2 0x3baf 000028be: JUMP 000028bf: JUMPDEST 000028c0: PUSH1 0x01 000028c2: PUSH1 0x01 000028c4: PUSH1 0xa0 000028c6: SHL 000028c7: SUB 000028c8: DUP2 000028c9: AND 000028ca: PUSH1 0x00 000028cc: SWAP1 000028cd: DUP2 000028ce: MSTORE 000028cf: PUSH1 0x0c 000028d1: PUSH1 0x20 000028d3: MSTORE 000028d4: PUSH1 0x40 000028d6: SWAP1 000028d7: KECCAK256 000028d8: SLOAD 000028d9: PUSH1 0xff 000028db: AND 000028dc: PUSH2 0x28f7 000028df: JUMPI 000028e0: PUSH1 0x40 000028e2: MLOAD 000028e3: PUSH3 0x461bcd 000028e7: PUSH1 0xe5 000028e9: SHL 000028ea: DUP2 000028eb: MSTORE 000028ec: PUSH1 0x04 000028ee: ADD 000028ef: PUSH2 0x083b 000028f2: SWAP1 000028f3: PUSH2 0x3baf 000028f6: JUMP 000028f7: JUMPDEST 000028f8: POP 000028f9: POP 000028fa: JUMP 000028fb: JUMPDEST 000028fc: DUP4 000028fd: PUSH1 0x00 000028ff: JUMPDEST 00002900: PUSH1 0xff 00002902: DUP2 00002903: AND 00002904: DUP4 00002905: GT 00002906: ISZERO 00002907: PUSH2 0x2946 0000290a: JUMPI 0000290b: PUSH2 0x2932 0000290e: DUP3 0000290f: DUP6 00002910: DUP6 00002911: DUP5 00002912: PUSH1 0xff 00002914: AND 00002915: DUP2 00002916: DUP2 00002917: LT 00002918: PUSH2 0x2923 0000291b: JUMPI 0000291c: PUSH2 0x2923 0000291f: PUSH2 0x3b13 00002922: JUMP 00002923: JUMPDEST 00002924: SWAP1 00002925: POP 00002926: PUSH1 0x20 00002928: MUL 00002929: ADD 0000292a: CALLDATALOAD 0000292b: PUSH1 0x00 0000292d: SHR 0000292e: PUSH2 0x31e7 00002931: JUMP 00002932: JUMPDEST 00002933: SWAP2 00002934: POP 00002935: DUP1 00002936: PUSH2 0x293e 00002939: DUP2 0000293a: PUSH2 0x3d5e 0000293d: JUMP 0000293e: JUMPDEST 0000293f: SWAP2 00002940: POP 00002941: POP 00002942: PUSH2 0x28ff 00002945: JUMP 00002946: JUMPDEST 00002947: POP 00002948: DUP4 00002949: PUSH1 0x01 0000294b: PUSH1 0x01 0000294d: PUSH1 0xa0 0000294f: SHL 00002950: SUB 00002951: AND 00002952: DUP2 00002953: PUSH1 0x01 00002955: PUSH1 0x01 00002957: PUSH1 0xa0 00002959: SHL 0000295a: SUB 0000295b: AND 0000295c: EQ 0000295d: PUSH2 0x299b 00002960: JUMPI 00002961: PUSH1 0x40 00002963: MLOAD 00002964: PUSH3 0x461bcd 00002968: PUSH1 0xe5 0000296a: SHL 0000296b: DUP2 0000296c: MSTORE 0000296d: PUSH1 0x20 0000296f: PUSH1 0x04 00002971: DUP3 00002972: ADD 00002973: MSTORE 00002974: PUSH1 0x10 00002976: PUSH1 0x24 00002978: DUP3 00002979: ADD 0000297a: MSTORE 0000297b: PUSH16 0x22a9292fa7aaaa282aaa2faa27a5a2a7 0000298c: PUSH1 0x81 0000298e: SHL 0000298f: PUSH1 0x44 00002991: DUP3 00002992: ADD 00002993: MSTORE 00002994: PUSH1 0x64 00002996: ADD 00002997: PUSH2 0x083b 0000299a: JUMP 0000299b: JUMPDEST 0000299c: POP 0000299d: POP 0000299e: POP 0000299f: POP 000029a0: POP 000029a1: JUMP 000029a2: JUMPDEST 000029a3: PUSH1 0x40 000029a5: MLOAD 000029a6: PUSH4 0x6eb1769f 000029ab: PUSH1 0xe1 000029ad: SHL 000029ae: DUP2 000029af: MSTORE 000029b0: ADDRESS 000029b1: PUSH1 0x04 000029b3: DUP3 000029b4: ADD 000029b5: MSTORE 000029b6: PUSH1 0x01 000029b8: PUSH1 0x01 000029ba: PUSH1 0xa0 000029bc: SHL 000029bd: SUB 000029be: DUP4 000029bf: DUP2 000029c0: AND 000029c1: PUSH1 0x24 000029c3: DUP4 000029c4: ADD 000029c5: MSTORE 000029c6: PUSH1 0x00 000029c8: SWAP2 000029c9: DUP4 000029ca: SWAP2 000029cb: DUP7 000029cc: AND 000029cd: SWAP1 000029ce: PUSH4 0xdd62ed3e 000029d3: SWAP1 000029d4: PUSH1 0x44 000029d6: ADD 000029d7: PUSH1 0x20 000029d9: PUSH1 0x40 000029db: MLOAD 000029dc: DUP1 000029dd: DUP4 000029de: SUB 000029df: DUP2 000029e0: DUP7 000029e1: GAS 000029e2: STATICCALL 000029e3: ISZERO 000029e4: DUP1 000029e5: ISZERO 000029e6: PUSH2 0x29f3 000029e9: JUMPI 000029ea: RETURNDATASIZE 000029eb: PUSH1 0x00 000029ed: DUP1 000029ee: RETURNDATACOPY 000029ef: RETURNDATASIZE 000029f0: PUSH1 0x00 000029f2: REVERT 000029f3: JUMPDEST 000029f4: POP 000029f5: POP 000029f6: POP 000029f7: POP 000029f8: PUSH1 0x40 000029fa: MLOAD 000029fb: RETURNDATASIZE 000029fc: PUSH1 0x1f 000029fe: NOT 000029ff: PUSH1 0x1f 00002a01: DUP3 00002a02: ADD 00002a03: AND 00002a04: DUP3 00002a05: ADD 00002a06: DUP1 00002a07: PUSH1 0x40 00002a09: MSTORE 00002a0a: POP 00002a0b: DUP2 00002a0c: ADD 00002a0d: SWAP1 00002a0e: PUSH2 0x2a17 00002a11: SWAP2 00002a12: SWAP1 00002a13: PUSH2 0x3aa4 00002a16: JUMP 00002a17: JUMPDEST 00002a18: PUSH2 0x2a21 00002a1b: SWAP2 00002a1c: SWAP1 00002a1d: PUSH2 0x3bf6 00002a20: JUMP 00002a21: JUMPDEST 00002a22: PUSH1 0x40 00002a24: MLOAD 00002a25: PUSH1 0x01 00002a27: PUSH1 0x01 00002a29: PUSH1 0xa0 00002a2b: SHL 00002a2c: SUB 00002a2d: DUP6 00002a2e: AND 00002a2f: PUSH1 0x24 00002a31: DUP3 00002a32: ADD 00002a33: MSTORE 00002a34: PUSH1 0x44 00002a36: DUP2 00002a37: ADD 00002a38: DUP3 00002a39: SWAP1 00002a3a: MSTORE 00002a3b: SWAP1 00002a3c: SWAP2 00002a3d: POP 00002a3e: PUSH2 0x2a87 00002a41: SWAP1 00002a42: DUP6 00002a43: SWAP1 00002a44: PUSH4 0x095ea7b3 00002a49: PUSH1 0xe0 00002a4b: SHL 00002a4c: SWAP1 00002a4d: PUSH1 0x64 00002a4f: ADD 00002a50: JUMPDEST 00002a51: PUSH1 0x40 00002a53: DUP1 00002a54: MLOAD 00002a55: PUSH1 0x1f 00002a57: NOT 00002a58: DUP2 00002a59: DUP5 00002a5a: SUB 00002a5b: ADD 00002a5c: DUP2 00002a5d: MSTORE 00002a5e: SWAP2 00002a5f: SWAP1 00002a60: MSTORE 00002a61: PUSH1 0x20 00002a63: DUP2 00002a64: ADD 00002a65: DUP1 00002a66: MLOAD 00002a67: PUSH1 0x01 00002a69: PUSH1 0x01 00002a6b: PUSH1 0xe0 00002a6d: SHL 00002a6e: SUB 00002a6f: AND 00002a70: PUSH1 0x01 00002a72: PUSH1 0x01 00002a74: PUSH1 0xe0 00002a76: SHL 00002a77: SUB 00002a78: NOT 00002a79: SWAP1 00002a7a: SWAP4 00002a7b: AND 00002a7c: SWAP3 00002a7d: SWAP1 00002a7e: SWAP3 00002a7f: OR 00002a80: SWAP1 00002a81: SWAP2 00002a82: MSTORE 00002a83: PUSH2 0x333f 00002a86: JUMP 00002a87: JUMPDEST 00002a88: POP 00002a89: POP 00002a8a: POP 00002a8b: POP 00002a8c: JUMP 00002a8d: JUMPDEST 00002a8e: PUSH2 0x2a97 00002a91: DUP5 00002a92: DUP5 00002a93: PUSH2 0x2302 00002a96: JUMP 00002a97: JUMPDEST 00002a98: DUP3 00002a99: PUSH1 0x01 00002a9b: PUSH1 0x01 00002a9d: PUSH1 0xa0 00002a9f: SHL 00002aa0: SUB 00002aa1: AND 00002aa2: DUP5 00002aa3: PUSH1 0x01 00002aa5: PUSH1 0x01 00002aa7: PUSH1 0xa0 00002aa9: SHL 00002aaa: SUB 00002aab: AND 00002aac: PUSH32 0xfa2dda1cc1b86e41239702756b13effbc1a092b5c57e3ad320fbe4f3b13fe235 00002acd: DUP5 00002ace: DUP5 00002acf: PUSH1 0x40 00002ad1: MLOAD 00002ad2: PUSH2 0x2ae5 00002ad5: SWAP3 00002ad6: SWAP2 00002ad7: SWAP1 00002ad8: SWAP2 00002ad9: DUP3 00002ada: MSTORE 00002adb: PUSH1 0x20 00002add: DUP3 00002ade: ADD 00002adf: MSTORE 00002ae0: PUSH1 0x40 00002ae2: ADD 00002ae3: SWAP1 00002ae4: JUMP 00002ae5: JUMPDEST 00002ae6: PUSH1 0x40 00002ae8: MLOAD 00002ae9: DUP1 00002aea: SWAP2 00002aeb: SUB 00002aec: SWAP1 00002aed: LOG3 00002aee: POP 00002aef: POP 00002af0: POP 00002af1: POP 00002af2: JUMP 00002af3: JUMPDEST 00002af4: PUSH1 0x06 00002af6: SLOAD 00002af7: PUSH1 0x01 00002af9: PUSH1 0x01 00002afb: PUSH1 0xa0 00002afd: SHL 00002afe: SUB 00002aff: AND 00002b00: CALLER 00002b01: EQ 00002b02: PUSH2 0x2885 00002b05: JUMPI 00002b06: PUSH1 0x40 00002b08: MLOAD 00002b09: PUSH3 0x461bcd 00002b0d: PUSH1 0xe5 00002b0f: SHL 00002b10: DUP2 00002b11: MSTORE 00002b12: PUSH1 0x20 00002b14: PUSH1 0x04 00002b16: DUP3 00002b17: ADD 00002b18: MSTORE 00002b19: PUSH1 0x12 00002b1b: PUSH1 0x24 00002b1d: DUP3 00002b1e: ADD 00002b1f: MSTORE 00002b20: PUSH18 0x22a9292fa727aa2fa1a7a72a2927a62622a9 00002b33: PUSH1 0x71 00002b35: SHL 00002b36: PUSH1 0x44 00002b38: DUP3 00002b39: ADD 00002b3a: MSTORE 00002b3b: PUSH1 0x64 00002b3d: ADD 00002b3e: PUSH2 0x083b 00002b41: JUMP 00002b42: JUMPDEST 00002b43: PUSH1 0x01 00002b45: PUSH1 0x01 00002b47: PUSH1 0xa0 00002b49: SHL 00002b4a: SUB 00002b4b: DUP4 00002b4c: AND 00002b4d: PUSH1 0x00 00002b4f: SWAP1 00002b50: DUP2 00002b51: MSTORE 00002b52: PUSH1 0x20 00002b54: DUP2 00002b55: SWAP1 00002b56: MSTORE 00002b57: PUSH1 0x40 00002b59: SWAP1 00002b5a: KECCAK256 00002b5b: SLOAD 00002b5c: DUP2 00002b5d: GT 00002b5e: ISZERO 00002b5f: PUSH2 0x2ba1 00002b62: JUMPI 00002b63: PUSH1 0x40 00002b65: MLOAD 00002b66: PUSH3 0x461bcd 00002b6a: PUSH1 0xe5 00002b6c: SHL 00002b6d: DUP2 00002b6e: MSTORE 00002b6f: PUSH1 0x20 00002b71: PUSH1 0x04 00002b73: DUP3 00002b74: ADD 00002b75: MSTORE 00002b76: PUSH1 0x14 00002b78: PUSH1 0x24 00002b7a: DUP3 00002b7b: ADD 00002b7c: MSTORE 00002b7d: PUSH20 0x11549497d25394d551919250d251539517d09053 00002b92: PUSH1 0x62 00002b94: SHL 00002b95: PUSH1 0x44 00002b97: DUP3 00002b98: ADD 00002b99: MSTORE 00002b9a: PUSH1 0x64 00002b9c: ADD 00002b9d: PUSH2 0x083b 00002ba0: JUMP 00002ba1: JUMPDEST 00002ba2: PUSH1 0x01 00002ba4: PUSH1 0x01 00002ba6: PUSH1 0xa0 00002ba8: SHL 00002ba9: SUB 00002baa: DUP4 00002bab: AND 00002bac: PUSH1 0x00 00002bae: SWAP1 00002baf: DUP2 00002bb0: MSTORE 00002bb1: PUSH1 0x20 00002bb3: DUP2 00002bb4: SWAP1 00002bb5: MSTORE 00002bb6: PUSH1 0x40 00002bb8: SWAP1 00002bb9: KECCAK256 00002bba: SLOAD 00002bbb: PUSH2 0x2bc5 00002bbe: SWAP1 00002bbf: DUP3 00002bc0: SWAP1 00002bc1: PUSH2 0x3ad3 00002bc4: JUMP 00002bc5: JUMPDEST 00002bc6: PUSH1 0x01 00002bc8: PUSH1 0x01 00002bca: PUSH1 0xa0 00002bcc: SHL 00002bcd: SUB 00002bce: DUP1 00002bcf: DUP6 00002bd0: AND 00002bd1: PUSH1 0x00 00002bd3: SWAP1 00002bd4: DUP2 00002bd5: MSTORE 00002bd6: PUSH1 0x20 00002bd8: DUP2 00002bd9: SWAP1 00002bda: MSTORE 00002bdb: PUSH1 0x40 00002bdd: DUP1 00002bde: DUP3 00002bdf: KECCAK256 00002be0: SWAP4 00002be1: SWAP1 00002be2: SWAP4 00002be3: SSTORE 00002be4: SWAP1 00002be5: DUP5 00002be6: AND 00002be7: DUP2 00002be8: MSTORE 00002be9: KECCAK256 00002bea: SLOAD 00002beb: PUSH2 0x2bf5 00002bee: SWAP1 00002bef: DUP3 00002bf0: SWAP1 00002bf1: PUSH2 0x3bf6 00002bf4: JUMP 00002bf5: JUMPDEST 00002bf6: PUSH1 0x01 00002bf8: PUSH1 0x01 00002bfa: PUSH1 0xa0 00002bfc: SHL 00002bfd: SUB 00002bfe: DUP4 00002bff: DUP2 00002c00: AND 00002c01: PUSH1 0x00 00002c03: DUP2 00002c04: DUP2 00002c05: MSTORE 00002c06: PUSH1 0x20 00002c08: DUP2 00002c09: DUP2 00002c0a: MSTORE 00002c0b: PUSH1 0x40 00002c0d: SWAP2 00002c0e: DUP3 00002c0f: SWAP1 00002c10: KECCAK256 00002c11: SWAP5 00002c12: SWAP1 00002c13: SWAP5 00002c14: SSTORE 00002c15: MLOAD 00002c16: DUP5 00002c17: DUP2 00002c18: MSTORE 00002c19: SWAP1 00002c1a: SWAP3 00002c1b: SWAP2 00002c1c: DUP7 00002c1d: AND 00002c1e: SWAP2 00002c1f: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002c40: SWAP2 00002c41: ADD 00002c42: PUSH1 0x40 00002c44: MLOAD 00002c45: DUP1 00002c46: SWAP2 00002c47: SUB 00002c48: SWAP1 00002c49: LOG3 00002c4a: POP 00002c4b: POP 00002c4c: POP 00002c4d: JUMP 00002c4e: JUMPDEST 00002c4f: PUSH1 0x00 00002c51: DUP2 00002c52: PUSH1 0x00 00002c54: SUB 00002c55: PUSH2 0x2c8f 00002c58: JUMPI 00002c59: PUSH1 0x40 00002c5b: MLOAD 00002c5c: PUSH3 0x461bcd 00002c60: PUSH1 0xe5 00002c62: SHL 00002c63: DUP2 00002c64: MSTORE 00002c65: PUSH1 0x20 00002c67: PUSH1 0x04 00002c69: DUP3 00002c6a: ADD 00002c6b: MSTORE 00002c6c: PUSH1 0x0c 00002c6e: PUSH1 0x24 00002c70: DUP3 00002c71: ADD 00002c72: MSTORE 00002c73: PUSH12 0x4552525f4449565f5a45524f 00002c80: PUSH1 0xa0 00002c82: SHL 00002c83: PUSH1 0x44 00002c85: DUP3 00002c86: ADD 00002c87: MSTORE 00002c88: PUSH1 0x64 00002c8a: ADD 00002c8b: PUSH2 0x083b 00002c8e: JUMP 00002c8f: JUMPDEST 00002c90: PUSH1 0x00 00002c92: PUSH2 0x2ca3 00002c95: PUSH8 0x0de0b6b3a7640000 00002c9e: DUP6 00002c9f: PUSH2 0x3b58 00002ca2: JUMP 00002ca3: JUMPDEST 00002ca4: SWAP1 00002ca5: POP 00002ca6: DUP4 00002ca7: ISZERO 00002ca8: DUP1 00002ca9: PUSH2 0x2cc2 00002cac: JUMPI 00002cad: POP 00002cae: PUSH8 0x0de0b6b3a7640000 00002cb7: PUSH2 0x2cc0 00002cba: DUP6 00002cbb: DUP4 00002cbc: PUSH2 0x3b77 00002cbf: JUMP 00002cc0: JUMPDEST 00002cc1: EQ 00002cc2: JUMPDEST 00002cc3: PUSH2 0x2d01 00002cc6: JUMPI 00002cc7: PUSH1 0x40 00002cc9: MLOAD 00002cca: PUSH3 0x461bcd 00002cce: PUSH1 0xe5 00002cd0: SHL 00002cd1: DUP2 00002cd2: MSTORE 00002cd3: PUSH1 0x20 00002cd5: PUSH1 0x04 00002cd7: DUP3 00002cd8: ADD 00002cd9: MSTORE 00002cda: PUSH1 0x10 00002cdc: PUSH1 0x24 00002cde: DUP3 00002cdf: ADD 00002ce0: MSTORE 00002ce1: PUSH16 0x11549497d1125597d253951154939053 00002cf2: PUSH1 0x82 00002cf4: SHL 00002cf5: PUSH1 0x44 00002cf7: DUP3 00002cf8: ADD 00002cf9: MSTORE 00002cfa: PUSH1 0x64 00002cfc: ADD 00002cfd: PUSH2 0x083b 00002d00: JUMP 00002d01: JUMPDEST 00002d02: PUSH1 0x00 00002d04: PUSH2 0x2d0e 00002d07: PUSH1 0x02 00002d09: DUP6 00002d0a: PUSH2 0x3b77 00002d0d: JUMP 00002d0e: JUMPDEST 00002d0f: PUSH2 0x2d18 00002d12: SWAP1 00002d13: DUP4 00002d14: PUSH2 0x3bf6 00002d17: JUMP 00002d18: JUMPDEST 00002d19: SWAP1 00002d1a: POP 00002d1b: DUP2 00002d1c: DUP2 00002d1d: LT 00002d1e: ISZERO 00002d1f: PUSH2 0x2d5d 00002d22: JUMPI 00002d23: PUSH1 0x40 00002d25: MLOAD 00002d26: PUSH3 0x461bcd 00002d2a: PUSH1 0xe5 00002d2c: SHL 00002d2d: DUP2 00002d2e: MSTORE 00002d2f: PUSH1 0x20 00002d31: PUSH1 0x04 00002d33: DUP3 00002d34: ADD 00002d35: MSTORE 00002d36: PUSH1 0x10 00002d38: PUSH1 0x24 00002d3a: DUP3 00002d3b: ADD 00002d3c: MSTORE 00002d3d: PUSH16 0x11549497d1125597d253951154939053 00002d4e: PUSH1 0x82 00002d50: SHL 00002d51: PUSH1 0x44 00002d53: DUP3 00002d54: ADD 00002d55: MSTORE 00002d56: PUSH1 0x64 00002d58: ADD 00002d59: PUSH2 0x083b 00002d5c: JUMP 00002d5d: JUMPDEST 00002d5e: PUSH1 0x00 00002d60: PUSH2 0x2d69 00002d63: DUP6 00002d64: DUP4 00002d65: PUSH2 0x3b77 00002d68: JUMP 00002d69: JUMPDEST 00002d6a: SWAP7 00002d6b: SWAP6 00002d6c: POP 00002d6d: POP 00002d6e: POP 00002d6f: POP 00002d70: POP 00002d71: POP 00002d72: JUMP 00002d73: JUMPDEST 00002d74: PUSH2 0x28f7 00002d77: DUP3 00002d78: ADDRESS 00002d79: DUP4 00002d7a: PUSH2 0x2b42 00002d7d: JUMP 00002d7e: JUMPDEST 00002d7f: ADDRESS 00002d80: PUSH1 0x00 00002d82: SWAP1 00002d83: DUP2 00002d84: MSTORE 00002d85: PUSH1 0x20 00002d87: DUP2 00002d88: SWAP1 00002d89: MSTORE 00002d8a: PUSH1 0x40 00002d8c: SWAP1 00002d8d: KECCAK256 00002d8e: SLOAD 00002d8f: DUP2 00002d90: GT 00002d91: ISZERO 00002d92: PUSH2 0x2dd4 00002d95: JUMPI 00002d96: PUSH1 0x40 00002d98: MLOAD 00002d99: PUSH3 0x461bcd 00002d9d: PUSH1 0xe5 00002d9f: SHL 00002da0: DUP2 00002da1: MSTORE 00002da2: PUSH1 0x20 00002da4: PUSH1 0x04 00002da6: DUP3 00002da7: ADD 00002da8: MSTORE 00002da9: PUSH1 0x14 00002dab: PUSH1 0x24 00002dad: DUP3 00002dae: ADD 00002daf: MSTORE 00002db0: PUSH20 0x11549497d25394d551919250d251539517d09053 00002dc5: PUSH1 0x62 00002dc7: SHL 00002dc8: PUSH1 0x44 00002dca: DUP3 00002dcb: ADD 00002dcc: MSTORE 00002dcd: PUSH1 0x64 00002dcf: ADD 00002dd0: PUSH2 0x083b 00002dd3: JUMP 00002dd4: JUMPDEST 00002dd5: ADDRESS 00002dd6: PUSH1 0x00 00002dd8: SWAP1 00002dd9: DUP2 00002dda: MSTORE 00002ddb: PUSH1 0x20 00002ddd: DUP2 00002dde: SWAP1 00002ddf: MSTORE 00002de0: PUSH1 0x40 00002de2: SWAP1 00002de3: KECCAK256 00002de4: SLOAD 00002de5: PUSH2 0x2def 00002de8: SWAP1 00002de9: DUP3 00002dea: SWAP1 00002deb: PUSH2 0x3ad3 00002dee: JUMP 00002def: JUMPDEST 00002df0: ADDRESS 00002df1: PUSH1 0x00 00002df3: SWAP1 00002df4: DUP2 00002df5: MSTORE 00002df6: PUSH1 0x20 00002df8: DUP2 00002df9: SWAP1 00002dfa: MSTORE 00002dfb: PUSH1 0x40 00002dfd: SWAP1 00002dfe: KECCAK256 00002dff: SSTORE 00002e00: PUSH1 0x02 00002e02: SLOAD 00002e03: PUSH2 0x2e0d 00002e06: SWAP1 00002e07: DUP3 00002e08: SWAP1 00002e09: PUSH2 0x3ad3 00002e0c: JUMP 00002e0d: JUMPDEST 00002e0e: PUSH1 0x02 00002e10: SSTORE 00002e11: PUSH1 0x40 00002e13: MLOAD 00002e14: DUP2 00002e15: DUP2 00002e16: MSTORE 00002e17: PUSH1 0x00 00002e19: SWAP1 00002e1a: ADDRESS 00002e1b: SWAP1 00002e1c: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002e3d: SWAP1 00002e3e: PUSH1 0x20 00002e40: ADD 00002e41: JUMPDEST 00002e42: PUSH1 0x40 00002e44: MLOAD 00002e45: DUP1 00002e46: SWAP2 00002e47: SUB 00002e48: SWAP1 00002e49: LOG3 00002e4a: POP 00002e4b: JUMP 00002e4c: JUMPDEST 00002e4d: PUSH1 0x00 00002e4f: DUP1 00002e50: PUSH2 0x2e59 00002e53: DUP4 00002e54: DUP6 00002e55: PUSH2 0x3b58 00002e58: JUMP 00002e59: JUMPDEST 00002e5a: SWAP1 00002e5b: POP 00002e5c: DUP4 00002e5d: ISZERO 00002e5e: DUP1 00002e5f: PUSH2 0x2e70 00002e62: JUMPI 00002e63: POP 00002e64: DUP3 00002e65: PUSH2 0x2e6e 00002e68: DUP6 00002e69: DUP4 00002e6a: PUSH2 0x3b77 00002e6d: JUMP 00002e6e: JUMPDEST 00002e6f: EQ 00002e70: JUMPDEST 00002e71: PUSH2 0x2eaf 00002e74: JUMPI 00002e75: PUSH1 0x40 00002e77: MLOAD 00002e78: PUSH3 0x461bcd 00002e7c: PUSH1 0xe5 00002e7e: SHL 00002e7f: DUP2 00002e80: MSTORE 00002e81: PUSH1 0x20 00002e83: PUSH1 0x04 00002e85: DUP3 00002e86: ADD 00002e87: MSTORE 00002e88: PUSH1 0x10 00002e8a: PUSH1 0x24 00002e8c: DUP3 00002e8d: ADD 00002e8e: MSTORE 00002e8f: PUSH16 0x4552525f4d554c5f4f564552464c4f57 00002ea0: PUSH1 0x80 00002ea2: SHL 00002ea3: PUSH1 0x44 00002ea5: DUP3 00002ea6: ADD 00002ea7: MSTORE 00002ea8: PUSH1 0x64 00002eaa: ADD 00002eab: PUSH2 0x083b 00002eae: JUMP 00002eaf: JUMPDEST 00002eb0: PUSH1 0x00 00002eb2: PUSH2 0x2ec4 00002eb5: PUSH1 0x02 00002eb7: PUSH8 0x0de0b6b3a7640000 00002ec0: PUSH2 0x3b77 00002ec3: JUMP 00002ec4: JUMPDEST 00002ec5: PUSH2 0x2ece 00002ec8: SWAP1 00002ec9: DUP4 00002eca: PUSH2 0x3bf6 00002ecd: JUMP 00002ece: JUMPDEST 00002ecf: SWAP1 00002ed0: POP 00002ed1: DUP2 00002ed2: DUP2 00002ed3: LT 00002ed4: ISZERO 00002ed5: PUSH2 0x2f13 00002ed8: JUMPI 00002ed9: PUSH1 0x40 00002edb: MLOAD 00002edc: PUSH3 0x461bcd 00002ee0: PUSH1 0xe5 00002ee2: SHL 00002ee3: DUP2 00002ee4: MSTORE 00002ee5: PUSH1 0x20 00002ee7: PUSH1 0x04 00002ee9: DUP3 00002eea: ADD 00002eeb: MSTORE 00002eec: PUSH1 0x10 00002eee: PUSH1 0x24 00002ef0: DUP3 00002ef1: ADD 00002ef2: MSTORE 00002ef3: PUSH16 0x4552525f4d554c5f4f564552464c4f57 00002f04: PUSH1 0x80 00002f06: SHL 00002f07: PUSH1 0x44 00002f09: DUP3 00002f0a: ADD 00002f0b: MSTORE 00002f0c: PUSH1 0x64 00002f0e: ADD 00002f0f: PUSH2 0x083b 00002f12: JUMP 00002f13: JUMPDEST 00002f14: PUSH1 0x00 00002f16: PUSH2 0x2d69 00002f19: PUSH8 0x0de0b6b3a7640000 00002f22: DUP4 00002f23: PUSH2 0x3b77 00002f26: JUMP 00002f27: JUMPDEST 00002f28: PUSH1 0x00 00002f2a: DUP1 00002f2b: PUSH1 0x00 00002f2d: PUSH2 0x2f36 00002f30: DUP6 00002f31: DUP6 00002f32: PUSH2 0x3411 00002f35: JUMP 00002f36: JUMPDEST 00002f37: SWAP2 00002f38: POP 00002f39: SWAP2 00002f3a: POP 00002f3b: DUP1 00002f3c: ISZERO 00002f3d: PUSH2 0x2f7c 00002f40: JUMPI 00002f41: PUSH1 0x40 00002f43: MLOAD 00002f44: PUSH3 0x461bcd 00002f48: PUSH1 0xe5 00002f4a: SHL 00002f4b: DUP2 00002f4c: MSTORE 00002f4d: PUSH1 0x20 00002f4f: PUSH1 0x04 00002f51: DUP3 00002f52: ADD 00002f53: MSTORE 00002f54: PUSH1 0x11 00002f56: PUSH1 0x24 00002f58: DUP3 00002f59: ADD 00002f5a: MSTORE 00002f5b: PUSH17 0x4552525f5355425f554e444552464c4f57 00002f6d: PUSH1 0x78 00002f6f: SHL 00002f70: PUSH1 0x44 00002f72: DUP3 00002f73: ADD 00002f74: MSTORE 00002f75: PUSH1 0x64 00002f77: ADD 00002f78: PUSH2 0x083b 00002f7b: JUMP 00002f7c: JUMPDEST 00002f7d: POP 00002f7e: SWAP4 00002f7f: SWAP3 00002f80: POP 00002f81: POP 00002f82: POP 00002f83: JUMP 00002f84: JUMPDEST 00002f85: PUSH2 0x2f98 00002f88: PUSH1 0x01 00002f8a: PUSH1 0x01 00002f8c: PUSH1 0xa0 00002f8e: SHL 00002f8f: SUB 00002f90: DUP5 00002f91: AND 00002f92: DUP4 00002f93: DUP4 00002f94: PUSH2 0x31b7 00002f97: JUMP 00002f98: JUMPDEST 00002f99: POP 00002f9a: POP 00002f9b: POP 00002f9c: JUMP 00002f9d: JUMPDEST 00002f9e: PUSH1 0x40 00002fa0: DUP1 00002fa1: MLOAD 00002fa2: PUSH1 0x80 00002fa4: DUP2 00002fa5: ADD 00002fa6: DUP3 00002fa7: MSTORE 00002fa8: PUSH1 0x00 00002faa: DUP1 00002fab: DUP3 00002fac: MSTORE 00002fad: PUSH1 0x20 00002faf: DUP3 00002fb0: ADD 00002fb1: DUP2 00002fb2: SWAP1 00002fb3: MSTORE 00002fb4: SWAP2 00002fb5: DUP2 00002fb6: ADD 00002fb7: DUP3 00002fb8: SWAP1 00002fb9: MSTORE 00002fba: PUSH1 0x60 00002fbc: DUP2 00002fbd: ADD 00002fbe: SWAP2 00002fbf: SWAP1 00002fc0: SWAP2 00002fc1: MSTORE 00002fc2: POP 00002fc3: PUSH1 0x01 00002fc5: PUSH1 0x01 00002fc7: PUSH1 0xa0 00002fc9: SHL 00002fca: SUB 00002fcb: DUP2 00002fcc: AND 00002fcd: PUSH1 0x00 00002fcf: SWAP1 00002fd0: DUP2 00002fd1: MSTORE 00002fd2: PUSH1 0x0c 00002fd4: PUSH1 0x20 00002fd6: SWAP1 00002fd7: DUP2 00002fd8: MSTORE 00002fd9: PUSH1 0x40 00002fdb: DUP1 00002fdc: DUP4 00002fdd: KECCAK256 00002fde: DUP2 00002fdf: MLOAD 00002fe0: PUSH1 0x80 00002fe2: DUP2 00002fe3: ADD 00002fe4: DUP4 00002fe5: MSTORE 00002fe6: DUP2 00002fe7: SLOAD 00002fe8: PUSH1 0xff 00002fea: DUP1 00002feb: DUP3 00002fec: AND 00002fed: ISZERO 00002fee: ISZERO 00002fef: DUP1 00002ff0: DUP5 00002ff1: MSTORE 00002ff2: PUSH2 0x0100 00002ff5: SWAP1 00002ff6: SWAP3 00002ff7: DIV 00002ff8: AND 00002ff9: ISZERO 00002ffa: ISZERO 00002ffb: SWAP5 00002ffc: DUP3 00002ffd: ADD 00002ffe: SWAP5 00002fff: SWAP1 00003000: SWAP5 00003001: MSTORE 00003002: PUSH1 0x01 00003004: DUP3 00003005: ADD 00003006: SLOAD 00003007: SWAP3 00003008: DUP2 00003009: ADD 0000300a: SWAP3 0000300b: SWAP1 0000300c: SWAP3 0000300d: MSTORE 0000300e: PUSH1 0x02 00003010: ADD 00003011: SLOAD 00003012: PUSH1 0x60 00003014: DUP3 00003015: ADD 00003016: MSTORE 00003017: SWAP2 00003018: SWAP1 00003019: PUSH2 0x3034 0000301c: JUMPI 0000301d: PUSH1 0x40 0000301f: MLOAD 00003020: PUSH3 0x461bcd 00003024: PUSH1 0xe5 00003026: SHL 00003027: DUP2 00003028: MSTORE 00003029: PUSH1 0x04 0000302b: ADD 0000302c: PUSH2 0x083b 0000302f: SWAP1 00003030: PUSH2 0x3baf 00003033: JUMP 00003034: JUMPDEST 00003035: DUP2 00003036: PUSH1 0x60 00003038: ADD 00003039: MLOAD 0000303a: SWAP1 0000303b: POP 0000303c: SWAP2 0000303d: POP 0000303e: SWAP2 0000303f: JUMP 00003040: JUMPDEST 00003041: PUSH1 0x00 00003043: DUP1 00003044: PUSH2 0x304d 00003047: DUP4 00003048: DUP6 00003049: PUSH2 0x3bf6 0000304c: JUMP 0000304d: JUMPDEST 0000304e: SWAP1 0000304f: POP 00003050: DUP4 00003051: DUP2 00003052: LT 00003053: ISZERO 00003054: PUSH2 0x0a9e 00003057: JUMPI 00003058: PUSH1 0x40 0000305a: MLOAD 0000305b: PUSH3 0x461bcd 0000305f: PUSH1 0xe5 00003061: SHL 00003062: DUP2 00003063: MSTORE 00003064: PUSH1 0x20 00003066: PUSH1 0x04 00003068: DUP3 00003069: ADD 0000306a: MSTORE 0000306b: PUSH1 0x10 0000306d: PUSH1 0x24 0000306f: DUP3 00003070: ADD 00003071: MSTORE 00003072: PUSH16 0x4552525f4144445f4f564552464c4f57 00003083: PUSH1 0x80 00003085: SHL 00003086: PUSH1 0x44 00003088: DUP3 00003089: ADD 0000308a: MSTORE 0000308b: PUSH1 0x64 0000308d: ADD 0000308e: PUSH2 0x083b 00003091: JUMP 00003092: JUMPDEST 00003093: PUSH2 0x2f98 00003096: PUSH1 0x01 00003098: PUSH1 0x01 0000309a: PUSH1 0xa0 0000309c: SHL 0000309d: SUB 0000309e: DUP5 0000309f: AND 000030a0: DUP4 000030a1: ADDRESS 000030a2: DUP5 000030a3: PUSH2 0x3448 000030a6: JUMP 000030a7: JUMPDEST 000030a8: ADDRESS 000030a9: PUSH1 0x00 000030ab: SWAP1 000030ac: DUP2 000030ad: MSTORE 000030ae: PUSH1 0x20 000030b0: DUP2 000030b1: SWAP1 000030b2: MSTORE 000030b3: PUSH1 0x40 000030b5: SWAP1 000030b6: KECCAK256 000030b7: SLOAD 000030b8: PUSH2 0x30c2 000030bb: SWAP1 000030bc: DUP3 000030bd: SWAP1 000030be: PUSH2 0x3bf6 000030c1: JUMP 000030c2: JUMPDEST 000030c3: ADDRESS 000030c4: PUSH1 0x00 000030c6: SWAP1 000030c7: DUP2 000030c8: MSTORE 000030c9: PUSH1 0x20 000030cb: DUP2 000030cc: SWAP1 000030cd: MSTORE 000030ce: PUSH1 0x40 000030d0: SWAP1 000030d1: KECCAK256 000030d2: SSTORE 000030d3: PUSH1 0x02 000030d5: SLOAD 000030d6: PUSH2 0x30e0 000030d9: SWAP1 000030da: DUP3 000030db: SWAP1 000030dc: PUSH2 0x3bf6 000030df: JUMP 000030e0: JUMPDEST 000030e1: PUSH1 0x02 000030e3: SSTORE 000030e4: PUSH1 0x40 000030e6: MLOAD 000030e7: DUP2 000030e8: DUP2 000030e9: MSTORE 000030ea: ADDRESS 000030eb: SWAP1 000030ec: PUSH1 0x00 000030ee: SWAP1 000030ef: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003110: SWAP1 00003111: PUSH1 0x20 00003113: ADD 00003114: PUSH2 0x2e41 00003117: JUMP 00003118: JUMPDEST 00003119: PUSH2 0x28f7 0000311c: ADDRESS 0000311d: DUP4 0000311e: DUP4 0000311f: PUSH2 0x2b42 00003122: JUMP 00003123: JUMPDEST 00003124: DUP4 00003125: PUSH1 0x00 00003127: JUMPDEST 00003128: PUSH1 0xff 0000312a: DUP2 0000312b: AND 0000312c: DUP4 0000312d: GT 0000312e: ISZERO 0000312f: PUSH2 0x2946 00003132: JUMPI 00003133: PUSH2 0x3157 00003136: DUP3 00003137: DUP6 00003138: DUP6 00003139: DUP5 0000313a: PUSH1 0xff 0000313c: AND 0000313d: DUP2 0000313e: DUP2 0000313f: LT 00003140: PUSH2 0x314b 00003143: JUMPI 00003144: PUSH2 0x314b 00003147: PUSH2 0x3b13 0000314a: JUMP 0000314b: JUMPDEST 0000314c: SWAP1 0000314d: POP 0000314e: PUSH1 0x20 00003150: MUL 00003151: ADD 00003152: CALLDATALOAD 00003153: PUSH2 0x31e7 00003156: JUMP 00003157: JUMPDEST 00003158: SWAP2 00003159: POP 0000315a: DUP1 0000315b: PUSH2 0x3163 0000315e: DUP2 0000315f: PUSH2 0x3d5e 00003162: JUMP 00003163: JUMPDEST 00003164: SWAP2 00003165: POP 00003166: POP 00003167: PUSH2 0x3127 0000316a: JUMP 0000316b: JUMPDEST 0000316c: PUSH1 0x07 0000316e: SLOAD 0000316f: PUSH1 0x01 00003171: PUSH1 0x01 00003173: PUSH1 0xa0 00003175: SHL 00003176: SUB 00003177: AND 00003178: CALLER 00003179: EQ 0000317a: PUSH2 0x2885 0000317d: JUMPI 0000317e: PUSH1 0x40 00003180: MLOAD 00003181: PUSH3 0x461bcd 00003185: PUSH1 0xe5 00003187: SHL 00003188: DUP2 00003189: MSTORE 0000318a: PUSH1 0x20 0000318c: PUSH1 0x04 0000318e: DUP3 0000318f: ADD 00003190: MSTORE 00003191: PUSH1 0x0f 00003193: PUSH1 0x24 00003195: DUP3 00003196: ADD 00003197: MSTORE 00003198: PUSH15 0x4552525f4e4f545f464143544f5259 000031a8: PUSH1 0x88 000031aa: SHL 000031ab: PUSH1 0x44 000031ad: DUP3 000031ae: ADD 000031af: MSTORE 000031b0: PUSH1 0x64 000031b2: ADD 000031b3: PUSH2 0x083b 000031b6: JUMP 000031b7: JUMPDEST 000031b8: PUSH1 0x40 000031ba: MLOAD 000031bb: PUSH1 0x01 000031bd: PUSH1 0x01 000031bf: PUSH1 0xa0 000031c1: SHL 000031c2: SUB 000031c3: DUP4 000031c4: AND 000031c5: PUSH1 0x24 000031c7: DUP3 000031c8: ADD 000031c9: MSTORE 000031ca: PUSH1 0x44 000031cc: DUP2 000031cd: ADD 000031ce: DUP3 000031cf: SWAP1 000031d0: MSTORE 000031d1: PUSH2 0x2f98 000031d4: SWAP1 000031d5: DUP5 000031d6: SWAP1 000031d7: PUSH4 0xa9059cbb 000031dc: PUSH1 0xe0 000031de: SHL 000031df: SWAP1 000031e0: PUSH1 0x64 000031e2: ADD 000031e3: PUSH2 0x2a50 000031e6: JUMP 000031e7: JUMPDEST 000031e8: PUSH1 0x00 000031ea: DUP1 000031eb: DUP3 000031ec: PUSH1 0x01 000031ee: PUSH1 0x01 000031f0: PUSH1 0xa0 000031f2: SHL 000031f3: SUB 000031f4: AND 000031f5: PUSH4 0x0dfe1681 000031fa: PUSH1 0x40 000031fc: MLOAD 000031fd: DUP2 000031fe: PUSH4 0xffffffff 00003203: AND 00003204: PUSH1 0xe0 00003206: SHL 00003207: DUP2 00003208: MSTORE 00003209: PUSH1 0x04 0000320b: ADD 0000320c: PUSH1 0x20 0000320e: PUSH1 0x40 00003210: MLOAD 00003211: DUP1 00003212: DUP4 00003213: SUB 00003214: DUP2 00003215: DUP7 00003216: GAS 00003217: STATICCALL 00003218: ISZERO 00003219: DUP1 0000321a: ISZERO 0000321b: PUSH2 0x3228 0000321e: JUMPI 0000321f: RETURNDATASIZE 00003220: PUSH1 0x00 00003222: DUP1 00003223: RETURNDATACOPY 00003224: RETURNDATASIZE 00003225: PUSH1 0x00 00003227: REVERT 00003228: JUMPDEST 00003229: POP 0000322a: POP 0000322b: POP 0000322c: POP 0000322d: PUSH1 0x40 0000322f: MLOAD 00003230: RETURNDATASIZE 00003231: PUSH1 0x1f 00003233: NOT 00003234: PUSH1 0x1f 00003236: DUP3 00003237: ADD 00003238: AND 00003239: DUP3 0000323a: ADD 0000323b: DUP1 0000323c: PUSH1 0x40 0000323e: MSTORE 0000323f: POP 00003240: DUP2 00003241: ADD 00003242: SWAP1 00003243: PUSH2 0x324c 00003246: SWAP2 00003247: SWAP1 00003248: PUSH2 0x3d7d 0000324b: JUMP 0000324c: JUMPDEST 0000324d: SWAP1 0000324e: POP 0000324f: PUSH1 0x00 00003251: DUP4 00003252: PUSH1 0x01 00003254: PUSH1 0x01 00003256: PUSH1 0xa0 00003258: SHL 00003259: SUB 0000325a: AND 0000325b: PUSH4 0xd21220a7 00003260: PUSH1 0x40 00003262: MLOAD 00003263: DUP2 00003264: PUSH4 0xffffffff 00003269: AND 0000326a: PUSH1 0xe0 0000326c: SHL 0000326d: DUP2 0000326e: MSTORE 0000326f: PUSH1 0x04 00003271: ADD 00003272: PUSH1 0x20 00003274: PUSH1 0x40 00003276: MLOAD 00003277: DUP1 00003278: DUP4 00003279: SUB 0000327a: DUP2 0000327b: DUP7 0000327c: GAS 0000327d: STATICCALL 0000327e: ISZERO 0000327f: DUP1 00003280: ISZERO 00003281: PUSH2 0x328e 00003284: JUMPI 00003285: RETURNDATASIZE 00003286: PUSH1 0x00 00003288: DUP1 00003289: RETURNDATACOPY 0000328a: RETURNDATASIZE 0000328b: PUSH1 0x00 0000328d: REVERT 0000328e: JUMPDEST 0000328f: POP 00003290: POP 00003291: POP 00003292: POP 00003293: PUSH1 0x40 00003295: MLOAD 00003296: RETURNDATASIZE 00003297: PUSH1 0x1f 00003299: NOT 0000329a: PUSH1 0x1f 0000329c: DUP3 0000329d: ADD 0000329e: AND 0000329f: DUP3 000032a0: ADD 000032a1: DUP1 000032a2: PUSH1 0x40 000032a4: MSTORE 000032a5: POP 000032a6: DUP2 000032a7: ADD 000032a8: SWAP1 000032a9: PUSH2 0x32b2 000032ac: SWAP2 000032ad: SWAP1 000032ae: PUSH2 0x3d7d 000032b1: JUMP 000032b2: JUMPDEST 000032b3: SWAP1 000032b4: POP 000032b5: DUP5 000032b6: PUSH1 0x01 000032b8: PUSH1 0x01 000032ba: PUSH1 0xa0 000032bc: SHL 000032bd: SUB 000032be: AND 000032bf: DUP3 000032c0: PUSH1 0x01 000032c2: PUSH1 0x01 000032c4: PUSH1 0xa0 000032c6: SHL 000032c7: SUB 000032c8: AND 000032c9: SUB 000032ca: PUSH2 0x32d6 000032cd: JUMPI 000032ce: SWAP2 000032cf: POP 000032d0: PUSH2 0x0813 000032d3: SWAP1 000032d4: POP 000032d5: JUMP 000032d6: JUMPDEST 000032d7: DUP5 000032d8: PUSH1 0x01 000032da: PUSH1 0x01 000032dc: PUSH1 0xa0 000032de: SHL 000032df: SUB 000032e0: AND 000032e1: DUP2 000032e2: PUSH1 0x01 000032e4: PUSH1 0x01 000032e6: PUSH1 0xa0 000032e8: SHL 000032e9: SUB 000032ea: AND 000032eb: SUB 000032ec: PUSH2 0x32f7 000032ef: JUMPI 000032f0: POP 000032f1: SWAP1 000032f2: POP 000032f3: PUSH2 0x0813 000032f6: JUMP 000032f7: JUMPDEST 000032f8: PUSH1 0x40 000032fa: MLOAD 000032fb: PUSH3 0x461bcd 000032ff: PUSH1 0xe5 00003301: SHL 00003302: DUP2 00003303: MSTORE 00003304: PUSH1 0x20 00003306: PUSH1 0x04 00003308: DUP3 00003309: ADD 0000330a: MSTORE 0000330b: PUSH1 0x19 0000330d: PUSH1 0x24 0000330f: DUP3 00003310: ADD 00003311: MSTORE 00003312: PUSH32 0x4552525f544f4b454e5f4d495353494e475f494e5f5041495200000000000000 00003333: PUSH1 0x44 00003335: DUP3 00003336: ADD 00003337: MSTORE 00003338: PUSH1 0x64 0000333a: ADD 0000333b: PUSH2 0x083b 0000333e: JUMP 0000333f: JUMPDEST 00003340: PUSH1 0x00 00003342: PUSH2 0x3394 00003345: DUP3 00003346: PUSH1 0x40 00003348: MLOAD 00003349: DUP1 0000334a: PUSH1 0x40 0000334c: ADD 0000334d: PUSH1 0x40 0000334f: MSTORE 00003350: DUP1 00003351: PUSH1 0x20 00003353: DUP2 00003354: MSTORE 00003355: PUSH1 0x20 00003357: ADD 00003358: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00003379: DUP2 0000337a: MSTORE 0000337b: POP 0000337c: DUP6 0000337d: PUSH1 0x01 0000337f: PUSH1 0x01 00003381: PUSH1 0xa0 00003383: SHL 00003384: SUB 00003385: AND 00003386: PUSH2 0x3480 00003389: SWAP1 0000338a: SWAP3 0000338b: SWAP2 0000338c: SWAP1 0000338d: PUSH4 0xffffffff 00003392: AND 00003393: JUMP 00003394: JUMPDEST 00003395: DUP1 00003396: MLOAD 00003397: SWAP1 00003398: SWAP2 00003399: POP 0000339a: ISZERO 0000339b: PUSH2 0x2f98 0000339e: JUMPI 0000339f: DUP1 000033a0: DUP1 000033a1: PUSH1 0x20 000033a3: ADD 000033a4: SWAP1 000033a5: MLOAD 000033a6: DUP2 000033a7: ADD 000033a8: SWAP1 000033a9: PUSH2 0x33b2 000033ac: SWAP2 000033ad: SWAP1 000033ae: PUSH2 0x3d9a 000033b1: JUMP 000033b2: JUMPDEST 000033b3: PUSH2 0x2f98 000033b6: JUMPI 000033b7: PUSH1 0x40 000033b9: MLOAD 000033ba: PUSH3 0x461bcd 000033be: PUSH1 0xe5 000033c0: SHL 000033c1: DUP2 000033c2: MSTORE 000033c3: PUSH1 0x20 000033c5: PUSH1 0x04 000033c7: DUP3 000033c8: ADD 000033c9: MSTORE 000033ca: PUSH1 0x2a 000033cc: PUSH1 0x24 000033ce: DUP3 000033cf: ADD 000033d0: MSTORE 000033d1: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 000033f2: PUSH1 0x44 000033f4: DUP3 000033f5: ADD 000033f6: MSTORE 000033f7: PUSH10 0x1bdd081cdd58d8d95959 00003402: PUSH1 0xb2 00003404: SHL 00003405: PUSH1 0x64 00003407: DUP3 00003408: ADD 00003409: MSTORE 0000340a: PUSH1 0x84 0000340c: ADD 0000340d: PUSH2 0x083b 00003410: JUMP 00003411: JUMPDEST 00003412: PUSH1 0x00 00003414: DUP1 00003415: DUP3 00003416: DUP5 00003417: LT 00003418: PUSH2 0x3430 0000341b: JUMPI 0000341c: PUSH2 0x3425 0000341f: DUP4 00003420: DUP6 00003421: PUSH2 0x3ad3 00003424: JUMP 00003425: JUMPDEST 00003426: PUSH1 0x00 00003428: SWAP2 00003429: POP 0000342a: SWAP2 0000342b: POP 0000342c: PUSH2 0x3441 0000342f: JUMP 00003430: JUMPDEST 00003431: PUSH2 0x343a 00003434: DUP5 00003435: DUP5 00003436: PUSH2 0x3ad3 00003439: JUMP 0000343a: JUMPDEST 0000343b: PUSH1 0x01 0000343d: SWAP2 0000343e: POP 0000343f: SWAP2 00003440: POP 00003441: JUMPDEST 00003442: SWAP3 00003443: POP 00003444: SWAP3 00003445: SWAP1 00003446: POP 00003447: JUMP 00003448: JUMPDEST 00003449: PUSH1 0x40 0000344b: MLOAD 0000344c: PUSH1 0x01 0000344e: PUSH1 0x01 00003450: PUSH1 0xa0 00003452: SHL 00003453: SUB 00003454: DUP1 00003455: DUP6 00003456: AND 00003457: PUSH1 0x24 00003459: DUP4 0000345a: ADD 0000345b: MSTORE 0000345c: DUP4 0000345d: AND 0000345e: PUSH1 0x44 00003460: DUP3 00003461: ADD 00003462: MSTORE 00003463: PUSH1 0x64 00003465: DUP2 00003466: ADD 00003467: DUP3 00003468: SWAP1 00003469: MSTORE 0000346a: PUSH2 0x2a87 0000346d: SWAP1 0000346e: DUP6 0000346f: SWAP1 00003470: PUSH4 0x23b872dd 00003475: PUSH1 0xe0 00003477: SHL 00003478: SWAP1 00003479: PUSH1 0x84 0000347b: ADD 0000347c: PUSH2 0x2a50 0000347f: JUMP 00003480: JUMPDEST 00003481: PUSH1 0x60 00003483: PUSH2 0x348f 00003486: DUP5 00003487: DUP5 00003488: PUSH1 0x00 0000348a: DUP6 0000348b: PUSH2 0x3497 0000348e: JUMP 0000348f: JUMPDEST 00003490: SWAP5 00003491: SWAP4 00003492: POP 00003493: POP 00003494: POP 00003495: POP 00003496: JUMP 00003497: JUMPDEST 00003498: PUSH1 0x60 0000349a: DUP3 0000349b: SELFBALANCE 0000349c: LT 0000349d: ISZERO 0000349e: PUSH2 0x34f8 000034a1: JUMPI 000034a2: PUSH1 0x40 000034a4: MLOAD 000034a5: PUSH3 0x461bcd 000034a9: PUSH1 0xe5 000034ab: SHL 000034ac: DUP2 000034ad: MSTORE 000034ae: PUSH1 0x20 000034b0: PUSH1 0x04 000034b2: DUP3 000034b3: ADD 000034b4: MSTORE 000034b5: PUSH1 0x26 000034b7: PUSH1 0x24 000034b9: DUP3 000034ba: ADD 000034bb: MSTORE 000034bc: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 000034dd: PUSH1 0x44 000034df: DUP3 000034e0: ADD 000034e1: MSTORE 000034e2: PUSH6 0x1c8818d85b1b 000034e9: PUSH1 0xd2 000034eb: SHL 000034ec: PUSH1 0x64 000034ee: DUP3 000034ef: ADD 000034f0: MSTORE 000034f1: PUSH1 0x84 000034f3: ADD 000034f4: PUSH2 0x083b 000034f7: JUMP 000034f8: JUMPDEST 000034f9: PUSH1 0x01 000034fb: PUSH1 0x01 000034fd: PUSH1 0xa0 000034ff: SHL 00003500: SUB 00003501: DUP6 00003502: AND 00003503: EXTCODESIZE 00003504: PUSH2 0x354f 00003507: JUMPI 00003508: PUSH1 0x40 0000350a: MLOAD 0000350b: PUSH3 0x461bcd 0000350f: PUSH1 0xe5 00003511: SHL 00003512: DUP2 00003513: MSTORE 00003514: PUSH1 0x20 00003516: PUSH1 0x04 00003518: DUP3 00003519: ADD 0000351a: MSTORE 0000351b: PUSH1 0x1d 0000351d: PUSH1 0x24 0000351f: DUP3 00003520: ADD 00003521: MSTORE 00003522: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00003543: PUSH1 0x44 00003545: DUP3 00003546: ADD 00003547: MSTORE 00003548: PUSH1 0x64 0000354a: ADD 0000354b: PUSH2 0x083b 0000354e: JUMP 0000354f: JUMPDEST 00003550: PUSH1 0x00 00003552: DUP1 00003553: DUP7 00003554: PUSH1 0x01 00003556: PUSH1 0x01 00003558: PUSH1 0xa0 0000355a: SHL 0000355b: SUB 0000355c: AND 0000355d: DUP6 0000355e: DUP8 0000355f: PUSH1 0x40 00003561: MLOAD 00003562: PUSH2 0x356b 00003565: SWAP2 00003566: SWAP1 00003567: PUSH2 0x3dbc 0000356a: JUMP 0000356b: JUMPDEST 0000356c: PUSH1 0x00 0000356e: PUSH1 0x40 00003570: MLOAD 00003571: DUP1 00003572: DUP4 00003573: SUB 00003574: DUP2 00003575: DUP6 00003576: DUP8 00003577: GAS 00003578: CALL 00003579: SWAP3 0000357a: POP 0000357b: POP 0000357c: POP 0000357d: RETURNDATASIZE 0000357e: DUP1 0000357f: PUSH1 0x00 00003581: DUP2 00003582: EQ 00003583: PUSH2 0x35a8 00003586: JUMPI 00003587: PUSH1 0x40 00003589: MLOAD 0000358a: SWAP2 0000358b: POP 0000358c: PUSH1 0x1f 0000358e: NOT 0000358f: PUSH1 0x3f 00003591: RETURNDATASIZE 00003592: ADD 00003593: AND 00003594: DUP3 00003595: ADD 00003596: PUSH1 0x40 00003598: MSTORE 00003599: RETURNDATASIZE 0000359a: DUP3 0000359b: MSTORE 0000359c: RETURNDATASIZE 0000359d: PUSH1 0x00 0000359f: PUSH1 0x20 000035a1: DUP5 000035a2: ADD 000035a3: RETURNDATACOPY 000035a4: PUSH2 0x35ad 000035a7: JUMP 000035a8: JUMPDEST 000035a9: PUSH1 0x60 000035ab: SWAP2 000035ac: POP 000035ad: JUMPDEST 000035ae: POP 000035af: SWAP2 000035b0: POP 000035b1: SWAP2 000035b2: POP 000035b3: PUSH2 0x35bd 000035b6: DUP3 000035b7: DUP3 000035b8: DUP7 000035b9: PUSH2 0x35c8 000035bc: JUMP 000035bd: JUMPDEST 000035be: SWAP8 000035bf: SWAP7 000035c0: POP 000035c1: POP 000035c2: POP 000035c3: POP 000035c4: POP 000035c5: POP 000035c6: POP 000035c7: JUMP 000035c8: JUMPDEST 000035c9: PUSH1 0x60 000035cb: DUP4 000035cc: ISZERO 000035cd: PUSH2 0x35d7 000035d0: JUMPI 000035d1: POP 000035d2: DUP2 000035d3: PUSH2 0x0a9e 000035d6: JUMP 000035d7: JUMPDEST 000035d8: DUP3 000035d9: MLOAD 000035da: ISZERO 000035db: PUSH2 0x35e7 000035de: JUMPI 000035df: DUP3 000035e0: MLOAD 000035e1: DUP1 000035e2: DUP5 000035e3: PUSH1 0x20 000035e5: ADD 000035e6: REVERT 000035e7: JUMPDEST 000035e8: DUP2 000035e9: PUSH1 0x40 000035eb: MLOAD 000035ec: PUSH3 0x461bcd 000035f0: PUSH1 0xe5 000035f2: SHL 000035f3: DUP2 000035f4: MSTORE 000035f5: PUSH1 0x04 000035f7: ADD 000035f8: PUSH2 0x083b 000035fb: SWAP2 000035fc: SWAP1 000035fd: PUSH2 0x362d 00003600: JUMP 00003601: JUMPDEST 00003602: PUSH1 0x00 00003604: JUMPDEST 00003605: DUP4 00003606: DUP2 00003607: LT 00003608: ISZERO 00003609: PUSH2 0x361c 0000360c: JUMPI 0000360d: DUP2 0000360e: DUP2 0000360f: ADD 00003610: MLOAD 00003611: DUP4 00003612: DUP3 00003613: ADD 00003614: MSTORE 00003615: PUSH1 0x20 00003617: ADD 00003618: PUSH2 0x3604 0000361b: JUMP 0000361c: JUMPDEST 0000361d: DUP4 0000361e: DUP2 0000361f: GT 00003620: ISZERO 00003621: PUSH2 0x2a87 00003624: JUMPI 00003625: POP 00003626: POP 00003627: PUSH1 0x00 00003629: SWAP2 0000362a: ADD 0000362b: MSTORE 0000362c: JUMP 0000362d: JUMPDEST 0000362e: PUSH1 0x20 00003630: DUP2 00003631: MSTORE 00003632: PUSH1 0x00 00003634: DUP3 00003635: MLOAD 00003636: DUP1 00003637: PUSH1 0x20 00003639: DUP5 0000363a: ADD 0000363b: MSTORE 0000363c: PUSH2 0x364c 0000363f: DUP2 00003640: PUSH1 0x40 00003642: DUP6 00003643: ADD 00003644: PUSH1 0x20 00003646: DUP8 00003647: ADD 00003648: PUSH2 0x3601 0000364b: JUMP 0000364c: JUMPDEST 0000364d: PUSH1 0x1f 0000364f: ADD 00003650: PUSH1 0x1f 00003652: NOT 00003653: AND 00003654: SWAP2 00003655: SWAP1 00003656: SWAP2 00003657: ADD 00003658: PUSH1 0x40 0000365a: ADD 0000365b: SWAP3 0000365c: SWAP2 0000365d: POP 0000365e: POP 0000365f: JUMP 00003660: JUMPDEST 00003661: PUSH1 0x01 00003663: PUSH1 0x01 00003665: PUSH1 0xa0 00003667: SHL 00003668: SUB 00003669: DUP2 0000366a: AND 0000366b: DUP2 0000366c: EQ 0000366d: PUSH2 0x3675 00003670: JUMPI 00003671: PUSH1 0x00 00003673: DUP1 00003674: REVERT 00003675: JUMPDEST 00003676: POP 00003677: JUMP 00003678: JUMPDEST 00003679: PUSH1 0x00 0000367b: DUP1 0000367c: PUSH1 0x40 0000367e: DUP4 0000367f: DUP6 00003680: SUB 00003681: SLT 00003682: ISZERO 00003683: PUSH2 0x368b 00003686: JUMPI 00003687: PUSH1 0x00 00003689: DUP1 0000368a: REVERT 0000368b: JUMPDEST 0000368c: DUP3 0000368d: CALLDATALOAD 0000368e: PUSH2 0x3696 00003691: DUP2 00003692: PUSH2 0x3660 00003695: JUMP 00003696: JUMPDEST 00003697: SWAP5 00003698: PUSH1 0x20 0000369a: SWAP4 0000369b: SWAP1 0000369c: SWAP4 0000369d: ADD 0000369e: CALLDATALOAD 0000369f: SWAP4 000036a0: POP 000036a1: POP 000036a2: POP 000036a3: JUMP 000036a4: JUMPDEST 000036a5: PUSH1 0x00 000036a7: DUP1 000036a8: DUP4 000036a9: PUSH1 0x1f 000036ab: DUP5 000036ac: ADD 000036ad: SLT 000036ae: PUSH2 0x36b6 000036b1: JUMPI 000036b2: PUSH1 0x00 000036b4: DUP1 000036b5: REVERT 000036b6: JUMPDEST 000036b7: POP 000036b8: DUP2 000036b9: CALLDATALOAD 000036ba: PUSH8 0xffffffffffffffff 000036c3: DUP2 000036c4: GT 000036c5: ISZERO 000036c6: PUSH2 0x36ce 000036c9: JUMPI 000036ca: PUSH1 0x00 000036cc: DUP1 000036cd: REVERT 000036ce: JUMPDEST 000036cf: PUSH1 0x20 000036d1: DUP4 000036d2: ADD 000036d3: SWAP2 000036d4: POP 000036d5: DUP4 000036d6: PUSH1 0x20 000036d8: DUP3 000036d9: PUSH1 0x05 000036db: SHL 000036dc: DUP6 000036dd: ADD 000036de: ADD 000036df: GT 000036e0: ISZERO 000036e1: PUSH2 0x3441 000036e4: JUMPI 000036e5: PUSH1 0x00 000036e7: DUP1 000036e8: REVERT 000036e9: JUMPDEST 000036ea: PUSH1 0x00 000036ec: DUP1 000036ed: PUSH1 0x00 000036ef: DUP1 000036f0: PUSH1 0x00 000036f2: DUP1 000036f3: PUSH1 0xa0 000036f5: DUP8 000036f6: DUP10 000036f7: SUB 000036f8: SLT 000036f9: ISZERO 000036fa: PUSH2 0x3702 000036fd: JUMPI 000036fe: PUSH1 0x00 00003700: DUP1 00003701: REVERT 00003702: JUMPDEST 00003703: DUP7 00003704: CALLDATALOAD 00003705: PUSH2 0x370d 00003708: DUP2 00003709: PUSH2 0x3660 0000370c: JUMP 0000370d: JUMPDEST 0000370e: SWAP6 0000370f: POP 00003710: PUSH1 0x20 00003712: DUP8 00003713: ADD 00003714: CALLDATALOAD 00003715: PUSH2 0x371d 00003718: DUP2 00003719: PUSH2 0x3660 0000371c: JUMP 0000371d: JUMPDEST 0000371e: SWAP5 0000371f: POP 00003720: PUSH1 0x40 00003722: DUP8 00003723: ADD 00003724: CALLDATALOAD 00003725: SWAP4 00003726: POP 00003727: PUSH1 0x60 00003729: DUP8 0000372a: ADD 0000372b: CALLDATALOAD 0000372c: SWAP3 0000372d: POP 0000372e: PUSH1 0x80 00003730: DUP8 00003731: ADD 00003732: CALLDATALOAD 00003733: PUSH8 0xffffffffffffffff 0000373c: DUP2 0000373d: GT 0000373e: ISZERO 0000373f: PUSH2 0x3747 00003742: JUMPI 00003743: PUSH1 0x00 00003745: DUP1 00003746: REVERT 00003747: JUMPDEST 00003748: PUSH2 0x3753 0000374b: DUP10 0000374c: DUP3 0000374d: DUP11 0000374e: ADD 0000374f: PUSH2 0x36a4 00003752: JUMP 00003753: JUMPDEST 00003754: SWAP8 00003755: SWAP11 00003756: SWAP7 00003757: SWAP10 00003758: POP 00003759: SWAP5 0000375a: SWAP8 0000375b: POP 0000375c: SWAP3 0000375d: SWAP6 0000375e: SWAP4 0000375f: SWAP5 00003760: SWAP3 00003761: POP 00003762: POP 00003763: POP 00003764: JUMP 00003765: JUMPDEST 00003766: PUSH1 0x00 00003768: PUSH1 0x20 0000376a: DUP3 0000376b: DUP5 0000376c: SUB 0000376d: SLT 0000376e: ISZERO 0000376f: PUSH2 0x3777 00003772: JUMPI 00003773: PUSH1 0x00 00003775: DUP1 00003776: REVERT 00003777: JUMPDEST 00003778: POP 00003779: CALLDATALOAD 0000377a: SWAP2 0000377b: SWAP1 0000377c: POP 0000377d: JUMP 0000377e: JUMPDEST 0000377f: PUSH1 0x00 00003781: DUP1 00003782: PUSH1 0x00 00003784: PUSH1 0x60 00003786: DUP5 00003787: DUP7 00003788: SUB 00003789: SLT 0000378a: ISZERO 0000378b: PUSH2 0x3793 0000378e: JUMPI 0000378f: PUSH1 0x00 00003791: DUP1 00003792: REVERT 00003793: JUMPDEST 00003794: DUP4 00003795: CALLDATALOAD 00003796: PUSH2 0x379e 00003799: DUP2 0000379a: PUSH2 0x3660 0000379d: JUMP 0000379e: JUMPDEST 0000379f: SWAP3 000037a0: POP 000037a1: PUSH1 0x20 000037a3: DUP5 000037a4: ADD 000037a5: CALLDATALOAD 000037a6: PUSH2 0x37ae 000037a9: DUP2 000037aa: PUSH2 0x3660 000037ad: JUMP 000037ae: JUMPDEST 000037af: SWAP3 000037b0: SWAP6 000037b1: SWAP3 000037b2: SWAP5 000037b3: POP 000037b4: POP 000037b5: POP 000037b6: PUSH1 0x40 000037b8: SWAP2 000037b9: SWAP1 000037ba: SWAP2 000037bb: ADD 000037bc: CALLDATALOAD 000037bd: SWAP1 000037be: JUMP 000037bf: JUMPDEST 000037c0: PUSH1 0x00 000037c2: PUSH1 0x20 000037c4: DUP3 000037c5: DUP5 000037c6: SUB 000037c7: SLT 000037c8: ISZERO 000037c9: PUSH2 0x37d1 000037cc: JUMPI 000037cd: PUSH1 0x00 000037cf: DUP1 000037d0: REVERT 000037d1: JUMPDEST 000037d2: DUP2 000037d3: CALLDATALOAD 000037d4: PUSH2 0x0a9e 000037d7: DUP2 000037d8: PUSH2 0x3660 000037db: JUMP 000037dc: JUMPDEST 000037dd: PUSH1 0x00 000037df: DUP2 000037e0: MLOAD 000037e1: DUP1 000037e2: DUP5 000037e3: MSTORE 000037e4: PUSH1 0x20 000037e6: DUP1 000037e7: DUP6 000037e8: ADD 000037e9: SWAP5 000037ea: POP 000037eb: DUP1 000037ec: DUP5 000037ed: ADD 000037ee: PUSH1 0x00 000037f0: JUMPDEST 000037f1: DUP4 000037f2: DUP2 000037f3: LT 000037f4: ISZERO 000037f5: PUSH2 0x3815 000037f8: JUMPI 000037f9: DUP2 000037fa: MLOAD 000037fb: PUSH1 0x01 000037fd: PUSH1 0x01 000037ff: PUSH1 0xa0 00003801: SHL 00003802: SUB 00003803: AND 00003804: DUP8 00003805: MSTORE 00003806: SWAP6 00003807: DUP3 00003808: ADD 00003809: SWAP6 0000380a: SWAP1 0000380b: DUP3 0000380c: ADD 0000380d: SWAP1 0000380e: PUSH1 0x01 00003810: ADD 00003811: PUSH2 0x37f0 00003814: JUMP 00003815: JUMPDEST 00003816: POP 00003817: SWAP5 00003818: SWAP6 00003819: SWAP5 0000381a: POP 0000381b: POP 0000381c: POP 0000381d: POP 0000381e: POP 0000381f: JUMP 00003820: JUMPDEST 00003821: PUSH1 0x40 00003823: DUP2 00003824: MSTORE 00003825: PUSH1 0x00 00003827: PUSH2 0x3833 0000382a: PUSH1 0x40 0000382c: DUP4 0000382d: ADD 0000382e: DUP6 0000382f: PUSH2 0x37dc 00003832: JUMP 00003833: JUMPDEST 00003834: DUP3 00003835: DUP2 00003836: SUB 00003837: PUSH1 0x20 00003839: DUP5 0000383a: DUP2 0000383b: ADD 0000383c: SWAP2 0000383d: SWAP1 0000383e: SWAP2 0000383f: MSTORE 00003840: DUP5 00003841: MLOAD 00003842: DUP1 00003843: DUP4 00003844: MSTORE 00003845: DUP6 00003846: DUP3 00003847: ADD 00003848: SWAP3 00003849: DUP3 0000384a: ADD 0000384b: SWAP1 0000384c: PUSH1 0x00 0000384e: JUMPDEST 0000384f: DUP2 00003850: DUP2 00003851: LT 00003852: ISZERO 00003853: PUSH2 0x386a 00003856: JUMPI 00003857: DUP5 00003858: MLOAD 00003859: DUP4 0000385a: MSTORE 0000385b: SWAP4 0000385c: DUP4 0000385d: ADD 0000385e: SWAP4 0000385f: SWAP2 00003860: DUP4 00003861: ADD 00003862: SWAP2 00003863: PUSH1 0x01 00003865: ADD 00003866: PUSH2 0x384e 00003869: JUMP 0000386a: JUMPDEST 0000386b: POP 0000386c: SWAP1 0000386d: SWAP8 0000386e: SWAP7 0000386f: POP 00003870: POP 00003871: POP 00003872: POP 00003873: POP 00003874: POP 00003875: POP 00003876: JUMP 00003877: JUMPDEST 00003878: PUSH1 0x00 0000387a: DUP1 0000387b: PUSH1 0x00 0000387d: DUP1 0000387e: PUSH1 0x80 00003880: DUP6 00003881: DUP8 00003882: SUB 00003883: SLT 00003884: ISZERO 00003885: PUSH2 0x388d 00003888: JUMPI 00003889: PUSH1 0x00 0000388b: DUP1 0000388c: REVERT 0000388d: JUMPDEST 0000388e: DUP5 0000388f: CALLDATALOAD 00003890: PUSH2 0x3898 00003893: DUP2 00003894: PUSH2 0x3660 00003897: JUMP 00003898: JUMPDEST 00003899: SWAP4 0000389a: POP 0000389b: PUSH1 0x20 0000389d: DUP6 0000389e: ADD 0000389f: CALLDATALOAD 000038a0: PUSH2 0x38a8 000038a3: DUP2 000038a4: PUSH2 0x3660 000038a7: JUMP 000038a8: JUMPDEST 000038a9: SWAP4 000038aa: SWAP7 000038ab: SWAP4 000038ac: SWAP6 000038ad: POP 000038ae: POP 000038af: POP 000038b0: POP 000038b1: PUSH1 0x40 000038b3: DUP3 000038b4: ADD 000038b5: CALLDATALOAD 000038b6: SWAP2 000038b7: PUSH1 0x60 000038b9: ADD 000038ba: CALLDATALOAD 000038bb: SWAP1 000038bc: JUMP 000038bd: JUMPDEST 000038be: PUSH1 0x00 000038c0: DUP1 000038c1: PUSH1 0x00 000038c3: PUSH1 0x60 000038c5: DUP5 000038c6: DUP7 000038c7: SUB 000038c8: SLT 000038c9: ISZERO 000038ca: PUSH2 0x38d2 000038cd: JUMPI 000038ce: PUSH1 0x00 000038d0: DUP1 000038d1: REVERT 000038d2: JUMPDEST 000038d3: DUP4 000038d4: CALLDATALOAD 000038d5: PUSH2 0x38dd 000038d8: DUP2 000038d9: PUSH2 0x3660 000038dc: JUMP 000038dd: JUMPDEST 000038de: SWAP3 000038df: POP 000038e0: PUSH1 0x20 000038e2: DUP5 000038e3: ADD 000038e4: CALLDATALOAD 000038e5: SWAP2 000038e6: POP 000038e7: PUSH1 0x40 000038e9: DUP5 000038ea: ADD 000038eb: CALLDATALOAD 000038ec: PUSH2 0x38f4 000038ef: DUP2 000038f0: PUSH2 0x3660 000038f3: JUMP 000038f4: JUMPDEST 000038f5: DUP1 000038f6: SWAP2 000038f7: POP 000038f8: POP 000038f9: SWAP3 000038fa: POP 000038fb: SWAP3 000038fc: POP 000038fd: SWAP3 000038fe: JUMP 000038ff: JUMPDEST 00003900: PUSH1 0x00 00003902: DUP1 00003903: PUSH1 0x00 00003905: DUP1 00003906: PUSH1 0x00 00003908: PUSH1 0x60 0000390a: DUP7 0000390b: DUP9 0000390c: SUB 0000390d: SLT 0000390e: ISZERO 0000390f: PUSH2 0x3917 00003912: JUMPI 00003913: PUSH1 0x00 00003915: DUP1 00003916: REVERT 00003917: JUMPDEST 00003918: DUP6 00003919: CALLDATALOAD 0000391a: PUSH8 0xffffffffffffffff 00003923: DUP1 00003924: DUP3 00003925: GT 00003926: ISZERO 00003927: PUSH2 0x392f 0000392a: JUMPI 0000392b: PUSH1 0x00 0000392d: DUP1 0000392e: REVERT 0000392f: JUMPDEST 00003930: PUSH2 0x393b 00003933: DUP10 00003934: DUP4 00003935: DUP11 00003936: ADD 00003937: PUSH2 0x36a4 0000393a: JUMP 0000393b: JUMPDEST 0000393c: SWAP1 0000393d: SWAP8 0000393e: POP 0000393f: SWAP6 00003940: POP 00003941: PUSH1 0x20 00003943: DUP9 00003944: ADD 00003945: CALLDATALOAD 00003946: SWAP2 00003947: POP 00003948: DUP1 00003949: DUP3 0000394a: GT 0000394b: ISZERO 0000394c: PUSH2 0x3954 0000394f: JUMPI 00003950: PUSH1 0x00 00003952: DUP1 00003953: REVERT 00003954: JUMPDEST 00003955: POP 00003956: PUSH2 0x3961 00003959: DUP9 0000395a: DUP3 0000395b: DUP10 0000395c: ADD 0000395d: PUSH2 0x36a4 00003960: JUMP 00003961: JUMPDEST 00003962: SWAP1 00003963: SWAP5 00003964: POP 00003965: SWAP3 00003966: POP 00003967: POP 00003968: PUSH1 0x40 0000396a: DUP7 0000396b: ADD 0000396c: CALLDATALOAD 0000396d: PUSH2 0x3975 00003970: DUP2 00003971: PUSH2 0x3660 00003974: JUMP 00003975: JUMPDEST 00003976: DUP1 00003977: SWAP2 00003978: POP 00003979: POP 0000397a: SWAP3 0000397b: SWAP6 0000397c: POP 0000397d: SWAP3 0000397e: SWAP6 0000397f: SWAP1 00003980: SWAP4 00003981: POP 00003982: JUMP 00003983: JUMPDEST 00003984: PUSH1 0x00 00003986: DUP1 00003987: PUSH1 0x40 00003989: DUP4 0000398a: DUP6 0000398b: SUB 0000398c: SLT 0000398d: ISZERO 0000398e: PUSH2 0x3996 00003991: JUMPI 00003992: PUSH1 0x00 00003994: DUP1 00003995: REVERT 00003996: JUMPDEST 00003997: DUP3 00003998: CALLDATALOAD 00003999: PUSH2 0x39a1 0000399c: DUP2 0000399d: PUSH2 0x3660 000039a0: JUMP 000039a1: JUMPDEST 000039a2: SWAP2 000039a3: POP 000039a4: PUSH1 0x20 000039a6: DUP4 000039a7: ADD 000039a8: CALLDATALOAD 000039a9: PUSH2 0x39b1 000039ac: DUP2 000039ad: PUSH2 0x3660 000039b0: JUMP 000039b1: JUMPDEST 000039b2: DUP1 000039b3: SWAP2 000039b4: POP 000039b5: POP 000039b6: SWAP3 000039b7: POP 000039b8: SWAP3 000039b9: SWAP1 000039ba: POP 000039bb: JUMP 000039bc: JUMPDEST 000039bd: PUSH1 0x20 000039bf: DUP2 000039c0: MSTORE 000039c1: PUSH1 0x00 000039c3: PUSH2 0x0a9e 000039c6: PUSH1 0x20 000039c8: DUP4 000039c9: ADD 000039ca: DUP5 000039cb: PUSH2 0x37dc 000039ce: JUMP 000039cf: JUMPDEST 000039d0: PUSH1 0x01 000039d2: DUP2 000039d3: DUP2 000039d4: SHR 000039d5: SWAP1 000039d6: DUP3 000039d7: AND 000039d8: DUP1 000039d9: PUSH2 0x39e3 000039dc: JUMPI 000039dd: PUSH1 0x7f 000039df: DUP3 000039e0: AND 000039e1: SWAP2 000039e2: POP 000039e3: JUMPDEST 000039e4: PUSH1 0x20 000039e6: DUP3 000039e7: LT 000039e8: DUP2 000039e9: SUB 000039ea: PUSH2 0x3a03 000039ed: JUMPI 000039ee: PUSH4 0x4e487b71 000039f3: PUSH1 0xe0 000039f5: SHL 000039f6: PUSH1 0x00 000039f8: MSTORE 000039f9: PUSH1 0x22 000039fb: PUSH1 0x04 000039fd: MSTORE 000039fe: PUSH1 0x24 00003a00: PUSH1 0x00 00003a02: REVERT 00003a03: JUMPDEST 00003a04: POP 00003a05: SWAP2 00003a06: SWAP1 00003a07: POP 00003a08: JUMP 00003a09: JUMPDEST 00003a0a: PUSH1 0x20 00003a0c: DUP1 00003a0d: DUP3 00003a0e: MSTORE 00003a0f: PUSH1 0x1f 00003a11: SWAP1 00003a12: DUP3 00003a13: ADD 00003a14: MSTORE 00003a15: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00003a36: PUSH1 0x40 00003a38: DUP3 00003a39: ADD 00003a3a: MSTORE 00003a3b: PUSH1 0x60 00003a3d: ADD 00003a3e: SWAP1 00003a3f: JUMP 00003a40: JUMPDEST 00003a41: DUP2 00003a42: DUP4 00003a43: MSTORE 00003a44: PUSH1 0x00 00003a46: PUSH1 0x01 00003a48: PUSH1 0x01 00003a4a: PUSH1 0xfb 00003a4c: SHL 00003a4d: SUB 00003a4e: DUP4 00003a4f: GT 00003a50: ISZERO 00003a51: PUSH2 0x3a59 00003a54: JUMPI 00003a55: PUSH1 0x00 00003a57: DUP1 00003a58: REVERT 00003a59: JUMPDEST 00003a5a: DUP3 00003a5b: PUSH1 0x05 00003a5d: SHL 00003a5e: DUP1 00003a5f: DUP4 00003a60: PUSH1 0x20 00003a62: DUP8 00003a63: ADD 00003a64: CALLDATACOPY 00003a65: PUSH1 0x00 00003a67: SWAP5 00003a68: ADD 00003a69: PUSH1 0x20 00003a6b: ADD 00003a6c: SWAP4 00003a6d: DUP5 00003a6e: MSTORE 00003a6f: POP 00003a70: SWAP2 00003a71: SWAP3 00003a72: SWAP2 00003a73: POP 00003a74: POP 00003a75: JUMP 00003a76: JUMPDEST 00003a77: PUSH1 0x01 00003a79: DUP1 00003a7a: PUSH1 0xa0 00003a7c: SHL 00003a7d: SUB 00003a7e: DUP7 00003a7f: AND 00003a80: DUP2 00003a81: MSTORE 00003a82: DUP5 00003a83: PUSH1 0x20 00003a85: DUP3 00003a86: ADD 00003a87: MSTORE 00003a88: DUP4 00003a89: PUSH1 0x40 00003a8b: DUP3 00003a8c: ADD 00003a8d: MSTORE 00003a8e: PUSH1 0x80 00003a90: PUSH1 0x60 00003a92: DUP3 00003a93: ADD 00003a94: MSTORE 00003a95: PUSH1 0x00 00003a97: PUSH2 0x35bd 00003a9a: PUSH1 0x80 00003a9c: DUP4 00003a9d: ADD 00003a9e: DUP5 00003a9f: DUP7 00003aa0: PUSH2 0x3a40 00003aa3: JUMP 00003aa4: JUMPDEST 00003aa5: PUSH1 0x00 00003aa7: PUSH1 0x20 00003aa9: DUP3 00003aaa: DUP5 00003aab: SUB 00003aac: SLT 00003aad: ISZERO 00003aae: PUSH2 0x3ab6 00003ab1: JUMPI 00003ab2: PUSH1 0x00 00003ab4: DUP1 00003ab5: REVERT 00003ab6: JUMPDEST 00003ab7: POP 00003ab8: MLOAD 00003ab9: SWAP2 00003aba: SWAP1 00003abb: POP 00003abc: JUMP 00003abd: JUMPDEST 00003abe: PUSH4 0x4e487b71 00003ac3: PUSH1 0xe0 00003ac5: SHL 00003ac6: PUSH1 0x00 00003ac8: MSTORE 00003ac9: PUSH1 0x11 00003acb: PUSH1 0x04 00003acd: MSTORE 00003ace: PUSH1 0x24 00003ad0: PUSH1 0x00 00003ad2: REVERT 00003ad3: JUMPDEST 00003ad4: PUSH1 0x00 00003ad6: DUP3 00003ad7: DUP3 00003ad8: LT 00003ad9: ISZERO 00003ada: PUSH2 0x3ae5 00003add: JUMPI 00003ade: PUSH2 0x3ae5 00003ae1: PUSH2 0x3abd 00003ae4: JUMP 00003ae5: JUMPDEST 00003ae6: POP 00003ae7: SUB 00003ae8: SWAP1 00003ae9: JUMP 00003aea: JUMPDEST 00003aeb: PUSH1 0x20 00003aed: DUP1 00003aee: DUP3 00003aef: MSTORE 00003af0: PUSH1 0x0f 00003af2: SWAP1 00003af3: DUP3 00003af4: ADD 00003af5: MSTORE 00003af6: PUSH15 0x08aa4a4be9a82a890be82a0a0a49eb 00003b06: PUSH1 0x8b 00003b08: SHL 00003b09: PUSH1 0x40 00003b0b: DUP3 00003b0c: ADD 00003b0d: MSTORE 00003b0e: PUSH1 0x60 00003b10: ADD 00003b11: SWAP1 00003b12: JUMP 00003b13: JUMPDEST 00003b14: PUSH4 0x4e487b71 00003b19: PUSH1 0xe0 00003b1b: SHL 00003b1c: PUSH1 0x00 00003b1e: MSTORE 00003b1f: PUSH1 0x32 00003b21: PUSH1 0x04 00003b23: MSTORE 00003b24: PUSH1 0x24 00003b26: PUSH1 0x00 00003b28: REVERT 00003b29: JUMPDEST 00003b2a: PUSH1 0x00 00003b2c: PUSH1 0x01 00003b2e: DUP3 00003b2f: ADD 00003b30: PUSH2 0x3b3b 00003b33: JUMPI 00003b34: PUSH2 0x3b3b 00003b37: PUSH2 0x3abd 00003b3a: JUMP 00003b3b: JUMPDEST 00003b3c: POP 00003b3d: PUSH1 0x01 00003b3f: ADD 00003b40: SWAP1 00003b41: JUMP 00003b42: JUMPDEST 00003b43: PUSH4 0x4e487b71 00003b48: PUSH1 0xe0 00003b4a: SHL 00003b4b: PUSH1 0x00 00003b4d: MSTORE 00003b4e: PUSH1 0x41 00003b50: PUSH1 0x04 00003b52: MSTORE 00003b53: PUSH1 0x24 00003b55: PUSH1 0x00 00003b57: REVERT 00003b58: JUMPDEST 00003b59: PUSH1 0x00 00003b5b: DUP2 00003b5c: PUSH1 0x00 00003b5e: NOT 00003b5f: DIV 00003b60: DUP4 00003b61: GT 00003b62: DUP3 00003b63: ISZERO 00003b64: ISZERO 00003b65: AND 00003b66: ISZERO 00003b67: PUSH2 0x3b72 00003b6a: JUMPI 00003b6b: PUSH2 0x3b72 00003b6e: PUSH2 0x3abd 00003b71: JUMP 00003b72: JUMPDEST 00003b73: POP 00003b74: MUL 00003b75: SWAP1 00003b76: JUMP 00003b77: JUMPDEST 00003b78: PUSH1 0x00 00003b7a: DUP3 00003b7b: PUSH2 0x3b94 00003b7e: JUMPI 00003b7f: PUSH4 0x4e487b71 00003b84: PUSH1 0xe0 00003b86: SHL 00003b87: PUSH1 0x00 00003b89: MSTORE 00003b8a: PUSH1 0x12 00003b8c: PUSH1 0x04 00003b8e: MSTORE 00003b8f: PUSH1 0x24 00003b91: PUSH1 0x00 00003b93: REVERT 00003b94: JUMPDEST 00003b95: POP 00003b96: DIV 00003b97: SWAP1 00003b98: JUMP 00003b99: JUMPDEST 00003b9a: PUSH4 0x4e487b71 00003b9f: PUSH1 0xe0 00003ba1: SHL 00003ba2: PUSH1 0x00 00003ba4: MSTORE 00003ba5: PUSH1 0x31 00003ba7: PUSH1 0x04 00003ba9: MSTORE 00003baa: PUSH1 0x24 00003bac: PUSH1 0x00 00003bae: REVERT 00003baf: JUMPDEST 00003bb0: PUSH1 0x20 00003bb2: DUP1 00003bb3: DUP3 00003bb4: MSTORE 00003bb5: PUSH1 0x0d 00003bb7: SWAP1 00003bb8: DUP3 00003bb9: ADD 00003bba: MSTORE 00003bbb: PUSH13 0x11549497d393d517d093d55391 00003bc9: PUSH1 0x9a 00003bcb: SHL 00003bcc: PUSH1 0x40 00003bce: DUP3 00003bcf: ADD 00003bd0: MSTORE 00003bd1: PUSH1 0x60 00003bd3: ADD 00003bd4: SWAP1 00003bd5: JUMP 00003bd6: JUMPDEST 00003bd7: DUP5 00003bd8: DUP2 00003bd9: MSTORE 00003bda: DUP4 00003bdb: PUSH1 0x20 00003bdd: DUP3 00003bde: ADD 00003bdf: MSTORE 00003be0: PUSH1 0x60 00003be2: PUSH1 0x40 00003be4: DUP3 00003be5: ADD 00003be6: MSTORE 00003be7: PUSH1 0x00 00003be9: PUSH2 0x2d69 00003bec: PUSH1 0x60 00003bee: DUP4 00003bef: ADD 00003bf0: DUP5 00003bf1: DUP7 00003bf2: PUSH2 0x3a40 00003bf5: JUMP 00003bf6: JUMPDEST 00003bf7: PUSH1 0x00 00003bf9: DUP3 00003bfa: NOT 00003bfb: DUP3 00003bfc: GT 00003bfd: ISZERO 00003bfe: PUSH2 0x3c09 00003c01: JUMPI 00003c02: PUSH2 0x3c09 00003c05: PUSH2 0x3abd 00003c08: JUMP 00003c09: JUMPDEST 00003c0a: POP 00003c0b: ADD 00003c0c: SWAP1 00003c0d: JUMP 00003c0e: JUMPDEST 00003c0f: DUP6 00003c10: DUP2 00003c11: MSTORE 00003c12: DUP5 00003c13: PUSH1 0x20 00003c15: DUP3 00003c16: ADD 00003c17: MSTORE 00003c18: PUSH1 0xa0 00003c1a: PUSH1 0x40 00003c1c: DUP3 00003c1d: ADD 00003c1e: MSTORE 00003c1f: PUSH1 0x00 00003c21: PUSH2 0x3c2d 00003c24: PUSH1 0xa0 00003c26: DUP4 00003c27: ADD 00003c28: DUP7 00003c29: PUSH2 0x37dc 00003c2c: JUMP 00003c2d: JUMPDEST 00003c2e: PUSH1 0x01 00003c30: PUSH1 0x01 00003c32: PUSH1 0xa0 00003c34: SHL 00003c35: SUB 00003c36: SWAP5 00003c37: SWAP1 00003c38: SWAP5 00003c39: AND 00003c3a: PUSH1 0x60 00003c3c: DUP4 00003c3d: ADD 00003c3e: MSTORE 00003c3f: POP 00003c40: PUSH1 0x80 00003c42: ADD 00003c43: MSTORE 00003c44: SWAP4 00003c45: SWAP3 00003c46: POP 00003c47: POP 00003c48: POP 00003c49: JUMP 00003c4a: JUMPDEST 00003c4b: PUSH1 0x00 00003c4d: PUSH1 0x20 00003c4f: DUP1 00003c50: DUP4 00003c51: DUP6 00003c52: SUB 00003c53: SLT 00003c54: ISZERO 00003c55: PUSH2 0x3c5d 00003c58: JUMPI 00003c59: PUSH1 0x00 00003c5b: DUP1 00003c5c: REVERT 00003c5d: JUMPDEST 00003c5e: DUP3 00003c5f: MLOAD 00003c60: PUSH8 0xffffffffffffffff 00003c69: DUP1 00003c6a: DUP3 00003c6b: GT 00003c6c: ISZERO 00003c6d: PUSH2 0x3c75 00003c70: JUMPI 00003c71: PUSH1 0x00 00003c73: DUP1 00003c74: REVERT 00003c75: JUMPDEST 00003c76: DUP2 00003c77: DUP6 00003c78: ADD 00003c79: SWAP2 00003c7a: POP 00003c7b: DUP6 00003c7c: PUSH1 0x1f 00003c7e: DUP4 00003c7f: ADD 00003c80: SLT 00003c81: PUSH2 0x3c89 00003c84: JUMPI 00003c85: PUSH1 0x00 00003c87: DUP1 00003c88: REVERT 00003c89: JUMPDEST 00003c8a: DUP2 00003c8b: MLOAD 00003c8c: DUP2 00003c8d: DUP2 00003c8e: GT 00003c8f: ISZERO 00003c90: PUSH2 0x3c9b 00003c93: JUMPI 00003c94: PUSH2 0x3c9b 00003c97: PUSH2 0x3b42 00003c9a: JUMP 00003c9b: JUMPDEST 00003c9c: DUP1 00003c9d: PUSH1 0x05 00003c9f: SHL 00003ca0: PUSH1 0x40 00003ca2: MLOAD 00003ca3: PUSH1 0x1f 00003ca5: NOT 00003ca6: PUSH1 0x3f 00003ca8: DUP4 00003ca9: ADD 00003caa: AND 00003cab: DUP2 00003cac: ADD 00003cad: DUP2 00003cae: DUP2 00003caf: LT 00003cb0: DUP6 00003cb1: DUP3 00003cb2: GT 00003cb3: OR 00003cb4: ISZERO 00003cb5: PUSH2 0x3cc0 00003cb8: JUMPI 00003cb9: PUSH2 0x3cc0 00003cbc: PUSH2 0x3b42 00003cbf: JUMP 00003cc0: JUMPDEST 00003cc1: PUSH1 0x40 00003cc3: MSTORE 00003cc4: SWAP2 00003cc5: DUP3 00003cc6: MSTORE 00003cc7: DUP5 00003cc8: DUP3 00003cc9: ADD 00003cca: SWAP3 00003ccb: POP 00003ccc: DUP4 00003ccd: DUP2 00003cce: ADD 00003ccf: DUP6 00003cd0: ADD 00003cd1: SWAP2 00003cd2: DUP9 00003cd3: DUP4 00003cd4: GT 00003cd5: ISZERO 00003cd6: PUSH2 0x3cde 00003cd9: JUMPI 00003cda: PUSH1 0x00 00003cdc: DUP1 00003cdd: REVERT 00003cde: JUMPDEST 00003cdf: SWAP4 00003ce0: DUP6 00003ce1: ADD 00003ce2: SWAP4 00003ce3: JUMPDEST 00003ce4: DUP3 00003ce5: DUP6 00003ce6: LT 00003ce7: ISZERO 00003ce8: PUSH2 0x3cfc 00003ceb: JUMPI 00003cec: DUP5 00003ced: MLOAD 00003cee: DUP5 00003cef: MSTORE 00003cf0: SWAP4 00003cf1: DUP6 00003cf2: ADD 00003cf3: SWAP4 00003cf4: SWAP3 00003cf5: DUP6 00003cf6: ADD 00003cf7: SWAP3 00003cf8: PUSH2 0x3ce3 00003cfb: JUMP 00003cfc: JUMPDEST 00003cfd: SWAP9 00003cfe: SWAP8 00003cff: POP 00003d00: POP 00003d01: POP 00003d02: POP 00003d03: POP 00003d04: POP 00003d05: POP 00003d06: POP 00003d07: JUMP 00003d08: JUMPDEST 00003d09: PUSH1 0x00 00003d0b: DUP2 00003d0c: DUP5 00003d0d: DUP3 00003d0e: JUMPDEST 00003d0f: DUP6 00003d10: DUP2 00003d11: LT 00003d12: ISZERO 00003d13: PUSH2 0x3d3f 00003d16: JUMPI 00003d17: DUP2 00003d18: CALLDATALOAD 00003d19: PUSH2 0x3d21 00003d1c: DUP2 00003d1d: PUSH2 0x3660 00003d20: JUMP 00003d21: JUMPDEST 00003d22: PUSH1 0x01 00003d24: PUSH1 0x01 00003d26: PUSH1 0xa0 00003d28: SHL 00003d29: SUB 00003d2a: AND 00003d2b: DUP4 00003d2c: MSTORE 00003d2d: PUSH1 0x20 00003d2f: SWAP3 00003d30: DUP4 00003d31: ADD 00003d32: SWAP3 00003d33: SWAP2 00003d34: SWAP1 00003d35: SWAP2 00003d36: ADD 00003d37: SWAP1 00003d38: PUSH1 0x01 00003d3a: ADD 00003d3b: PUSH2 0x3d0e 00003d3e: JUMP 00003d3f: JUMPDEST 00003d40: POP 00003d41: SWAP1 00003d42: SWAP6 00003d43: SWAP5 00003d44: POP 00003d45: POP 00003d46: POP 00003d47: POP 00003d48: POP 00003d49: JUMP 00003d4a: JUMPDEST 00003d4b: PUSH1 0x20 00003d4d: DUP2 00003d4e: MSTORE 00003d4f: PUSH1 0x00 00003d51: PUSH2 0x348f 00003d54: PUSH1 0x20 00003d56: DUP4 00003d57: ADD 00003d58: DUP5 00003d59: DUP7 00003d5a: PUSH2 0x3a40 00003d5d: JUMP 00003d5e: JUMPDEST 00003d5f: PUSH1 0x00 00003d61: PUSH1 0xff 00003d63: DUP3 00003d64: AND 00003d65: PUSH1 0xff 00003d67: DUP2 00003d68: SUB 00003d69: PUSH2 0x3d74 00003d6c: JUMPI 00003d6d: PUSH2 0x3d74 00003d70: PUSH2 0x3abd 00003d73: JUMP 00003d74: JUMPDEST 00003d75: PUSH1 0x01 00003d77: ADD 00003d78: SWAP3 00003d79: SWAP2 00003d7a: POP 00003d7b: POP 00003d7c: JUMP 00003d7d: JUMPDEST 00003d7e: PUSH1 0x00 00003d80: PUSH1 0x20 00003d82: DUP3 00003d83: DUP5 00003d84: SUB 00003d85: SLT 00003d86: ISZERO 00003d87: PUSH2 0x3d8f 00003d8a: JUMPI 00003d8b: PUSH1 0x00 00003d8d: DUP1 00003d8e: REVERT 00003d8f: JUMPDEST 00003d90: DUP2 00003d91: MLOAD 00003d92: PUSH2 0x0a9e 00003d95: DUP2 00003d96: PUSH2 0x3660 00003d99: JUMP 00003d9a: JUMPDEST 00003d9b: PUSH1 0x00 00003d9d: PUSH1 0x20 00003d9f: DUP3 00003da0: DUP5 00003da1: SUB 00003da2: SLT 00003da3: ISZERO 00003da4: PUSH2 0x3dac 00003da7: JUMPI 00003da8: PUSH1 0x00 00003daa: DUP1 00003dab: REVERT 00003dac: JUMPDEST 00003dad: DUP2 00003dae: MLOAD 00003daf: DUP1 00003db0: ISZERO 00003db1: ISZERO 00003db2: DUP2 00003db3: EQ 00003db4: PUSH2 0x0a9e 00003db7: JUMPI 00003db8: PUSH1 0x00 00003dba: DUP1 00003dbb: REVERT 00003dbc: JUMPDEST 00003dbd: PUSH1 0x00 00003dbf: DUP3 00003dc0: MLOAD 00003dc1: PUSH2 0x3dce 00003dc4: DUP2 00003dc5: DUP5 00003dc6: PUSH1 0x20 00003dc8: DUP8 00003dc9: ADD 00003dca: PUSH2 0x3601 00003dcd: JUMP 00003dce: JUMPDEST 00003dcf: SWAP2 00003dd0: SWAP1 00003dd1: SWAP2 00003dd2: ADD 00003dd3: SWAP3 00003dd4: SWAP2 00003dd5: POP 00003dd6: POP 00003dd7: JUMP 00003dd8: INVALID 00003dd9: DUP13 00003dda: JUMPDEST 00003ddb: UNKNOWN(0xE1) 00003ddc: UNKNOWN(0xE5) 00003ddd: UNKNOWN(0xEB) 00003dde: UNKNOWN(0xEC) 00003ddf: PUSH30 0x5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a264697066 00003dfe: PUSH20 0x58221220b77a6de6c5965c542b537bfee3b2a2e4 00003e13: UNKNOWN(0xC3) 00003e14: REVERT 00003e15: DUP15 00003e16: CALLVALUE 00003e17: DUP12 00003e18: SWAP3 00003e19: UNKNOWN(0x2D) 00003e1a: UNKNOWN(0xE9) 00003e1b: JUMPI 00003e1c: DUP16 00003e1d: UNKNOWN(0x27) 00003e1e: DUP4 00003e1f: SWAP6 00003e20: SWAP5 00003e21: UNKNOWN(0xB2) 00003e22: UNKNOWN(0xDC) 00003e23: PUSH5 0x736f6c6343 00003e29: STOP 00003e2a: ADDMOD 00003e2b: UNKNOWN(0x0F) 00003e2c: STOP 00003e2d: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x059a8a75c164faffa9cd324937026ab74aee3527e0e035f165cc0cc1d7b63546
call_targets:
0x7bb1a6b19e37028b3aa5c580339c640720e35203
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x059a8a75c164faffa9cd324937026ab74aee3527e0e035f165cc0cc1d7b63546",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7bb1a6b19e37028b3aa5c580339c640720e35203"
],
"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": "0xd73dd623",
"selector": "0xd73dd623",
"calldata_variants": [
"0xd73dd623",
"0xd73dd6230000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde009a44",
"selector": "0xde009a44",
"calldata_variants": [
"0xde009a44",
"0xde009a440000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8b2cb4f",
"selector": "0xf8b2cb4f",
"calldata_variants": [
"0xf8b2cb4f",
"0xf8b2cb4f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd9be522",
"selector": "0xfd9be522",
"calldata_variants": [
"0xfd9be522",
"0xfd9be5220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcbb61226",
"selector": "0xcbb61226",
"calldata_variants": [
"0xcbb61226",
"0xcbb612260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc77828d",
"selector": "0xcc77828d",
"calldata_variants": [
"0xcc77828d",
"0xcc77828d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcd2ed8fb",
"selector": "0xcd2ed8fb",
"calldata_variants": [
"0xcd2ed8fb",
"0xcd2ed8fb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2277,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7045,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 13688,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x059a8a75c164faffa9cd324937026ab74aee3527e0e035f165cc0cc1d7b63546
call_targets:
0x7bb1a6b19e37028b3aa5c580339c640720e35203
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x059a8a75c164faffa9cd324937026ab74aee3527e0e035f165cc0cc1d7b63546",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7bb1a6b19e37028b3aa5c580339c640720e35203"
],
"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": "0xd73dd623",
"selector": "0xd73dd623",
"calldata_variants": [
"0xd73dd623",
"0xd73dd6230000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde009a44",
"selector": "0xde009a44",
"calldata_variants": [
"0xde009a44",
"0xde009a440000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8b2cb4f",
"selector": "0xf8b2cb4f",
"calldata_variants": [
"0xf8b2cb4f",
"0xf8b2cb4f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd9be522",
"selector": "0xfd9be522",
"calldata_variants": [
"0xfd9be522",
"0xfd9be5220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcbb61226",
"selector": "0xcbb61226",
"calldata_variants": [
"0xcbb61226",
"0xcbb612260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc77828d",
"selector": "0xcc77828d",
"calldata_variants": [
"0xcc77828d",
"0xcc77828d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcd2ed8fb",
"selector": "0xcd2ed8fb",
"calldata_variants": [
"0xcd2ed8fb",
"0xcd2ed8fb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2277,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7045,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 13688,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|
| medium | other | codex | Accounting assumes full transfer amounts (fee-on-transfer/rebasing tokens break invariants) | 75 | no | — |
viewevidence_json{
"evidence": "records[token].balance is set/updated before pulling tokens, and _pullUnderlying does not verify the received amount.",
"locations": [
"contracts/contracts/AbstractDynaset.sol:121",
"contracts/contracts/AbstractDynaset.sol:152",
"contracts/contracts/AbstractDynaset.sol:375"
],
"recommendation": "Update records using actual received amounts (pre/post balance delta) and/or explicitly disallow fee-on-transfer/rebasing tokens. Consider syncing balances after transfers (e.g., updateAfterSwap) to keep records accurate.",
"exploit_scenario": "If a bound token charges a transfer fee or rebases, _pullUnderlying transfers less than the recorded amount. The contract still updates records to the intended amount, overstating balances. This can allow over-minting (if the oracle reads record balances) or cause exits to revert due to insufficient actual balance."
}
|
| medium | oracle | codex | Share minting fully trusts external TVL oracle without internal sanity checks | 75 | no | — |
viewevidence_json{
"evidence": "joinDynaset uses dynasetTvlOracle before/after deposit to compute shares, and allows tokenAmountIn to be reduced based on balance/allowance without enforcing proportionality.",
"locations": [
"contracts/contracts/AbstractDynaset.sol:361",
"contracts/contracts/AbstractDynaset.sol:367",
"contracts/contracts/AbstractDynaset.sol:380"
],
"recommendation": "Use robust price feeds (TWAP/Chainlink), add bounds on acceptable share minting vs. expectedSharesToMint, and/or compute shares from verified balance deltas. Enforce proportional deposits in-contract rather than relying solely on external forge checks.",
"exploit_scenario": "joinDynaset mints shares based on dynasetTvlOracle values before/after deposit. If the oracle is manipulable (e.g., spot-price based) or misreports TVL, a minter can inflate the perceived value of their deposit and receive outsized shares, then exit after prices normalize, extracting value from the pool. The risk is amplified if forge logic allows imbalanced deposits (allowance/balance caps)."
}
|
| low | other | codex | removeToken can desync dynasetTokens and records when passed an unbound token | 65 | no | — |
viewevidence_json{
"evidence": "removeToken reads records[token] and uses record.index without verifying that the token is bound; the only check is record.balance == 0.",
"locations": [
"contracts/contracts/AbstractDynaset.sol:163",
"contracts/contracts/AbstractDynaset.sol:166"
],
"recommendation": "Add a bound check (e.g., require(record.bound)) and verify that dynasetTokens[record.index] == token before swapping/popping. Consider also verifying the actual token balance is zero before removal.",
"exploit_scenario": "The digitalAssetManager calls removeToken with an address that is not bound. Because the function never checks record.bound, the zero balance check passes (default 0), record.index defaults to 0, and the function pops the last element from dynasetTokens. This can remove a bound token that still has a non\u2011zero balance from the array, causing join/exit to ignore it and leaving assets stuck or accounting inconsistent."
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 13
}
|