TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

5c9136af-117b-4158-85c8-f4b226b611a7

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 1:48 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
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

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
3
No findings?
no
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.
View stderr
[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"]}]}
Metadata
{
    "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
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
13
EXT*/BALANCE
1
Total opcodes
10209
Flags
call_family_heavy
View cast disassembly output
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

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_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
view
trace_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
view
evidence_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
view
evidence_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
view
evidence_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
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 13
}