dc08fc38-6d54-4fb0-8a86-bb65f82abb39
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 30189 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 93733 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 93734 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 93735 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 93736 | capability.graph | complete | 1 / 3 | 1 week ago |
| 93737 | detector.run | complete | 1 / 3 | 1 week ago |
| 93738 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1289139] OpenAI Codex v0.77.0 (research preview)
[codex:1289139] --------
[codex:1289139] workdir: /tmp/codex-multi-yscmxex3
[codex:1289139] model: gpt-5.2-codex
[codex:1289139] provider: openai
[codex:1289139] approval: never
[codex:1289139] sandbox: read-only
[codex:1289139] reasoning effort: xhigh
[codex:1289139] reasoning summaries: auto
[codex:1289139] session id: 019b6176-d4d0-7052-9caa-00778fccfb41
[codex:1289139] --------
[codex:1289139] user
[codex:1289139] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1289139] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1289139] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1289139]
[codex:1289139] Scope rules:
[codex:1289139] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1289139] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1289139]
[codex:1289139] Output MUST be valid JSON matching the provided schema.
[codex:1289139] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1289139] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1289139]
[codex:1289139] Output constraints (IMPORTANT):
[codex:1289139] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1289139] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1289139] mcp startup: no servers
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Preparing to locate audit files**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc ls in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] AUDIT_BUNDLE.txt
[codex:1289139] codex-output-schema.json
[codex:1289139] contracts
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Reading AUDIT_BUNDLE file**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1289139]
[codex:1289139] ================================================================================
[codex:1289139] FILE: contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: MIT
[codex:1289139] // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
[codex:1289139]
[codex:1289139] pragma solidity ^0.8.0;
[codex:1289139]
[codex:1289139] import "../utils/Context.sol";
[codex:1289139]
[codex:1289139] /**
[codex:1289139] * @dev Contract module which provides a basic access control mechanism, where
[codex:1289139] * there is an account (an owner) that can be granted exclusive access to
[codex:1289139] * specific functions.
[codex:1289139] *
[codex:1289139] * By default, the owner account will be the one that deploys the contract. This
[codex:1289139] * can later be changed with {transferOwnership}.
[codex:1289139] *
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Searching for first-party contracts**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-yscmxex3 succeeded in 7ms:
[codex:1289139] 4:FILE: contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol
[codex:1289139] 91:FILE: contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol
[codex:1289139] 152:FILE: contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol
[codex:1289139] 184:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol
[codex:1289139] 553:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1289139] 635:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1289139] 667:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol
[codex:1289139] 761:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1289139] 908:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1289139] 1156:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol
[codex:1289139] 1188:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol
[codex:1289139] 1314:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol
[codex:1289139] 1456:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol
[codex:1289139] 1545:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol
[codex:1289139] 1766:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol
[codex:1289139] 1912:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol
[codex:1289139] 2255:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol
[codex:1289139] 3395:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol
[codex:1289139] 3442:FILE: contracts/src/CreditVault.sol
[codex:1289139] 4079:FILE: contracts/src/NativeLPToken.sol
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Extracting first-party contract segments**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "sed -n '3442,4078p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] FILE: contracts/src/CreditVault.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: UNLICENSED
[codex:1289139] pragma solidity 0.8.28;
[codex:1289139]
[codex:1289139] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1289139] import {SafeCast} from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1289139] import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
[codex:1289139] import {EIP712, ECDSA} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";
[codex:1289139]
[codex:1289139] import "./libraries/ConstantsLib.sol";
[codex:1289139] import {ErrorsLib} from "./libraries/ErrorsLib.sol";
[codex:1289139] import {SafeERC20} from "./libraries/SafeERC20.sol";
[codex:1289139] import {ICreditVault} from "./interfaces/ICreditVault.sol";
[codex:1289139] import {ReentrancyGuardTransient} from "./libraries/ReentrancyGuardTransient.sol";
[codex:1289139]
[codex:1289139] import {NativeLPToken} from "./NativeLPToken.sol";
[codex:1289139]
[codex:1289139] /// @title CreditVault - Manages trader positions and collateral
[codex:1289139] /// @notice Handles asset custody, position settlement, and LP token integration
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Starting NativeLPToken implementation**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "sed -n '4079,4533p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-yscmxex3 succeeded in 5ms:
[codex:1289139] FILE: contracts/src/NativeLPToken.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: UNLICENSED
[codex:1289139] pragma solidity 0.8.28;
[codex:1289139]
[codex:1289139] import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1289139] import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
[codex:1289139] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1289139] import {IERC20Metadata as IERC20} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1289139]
[codex:1289139] import "./libraries/ConstantsLib.sol";
[codex:1289139] import {CreditVault} from "./CreditVault.sol";
[codex:1289139] import {ErrorsLib} from "./libraries/ErrorsLib.sol";
[codex:1289139] import {ReentrancyGuardTransient} from "./libraries/ReentrancyGuardTransient.sol";
[codex:1289139]
[codex:1289139] /// @title NativeLPToken - Yield-bearing LP token contract
[codex:1289139] /// @notice A token contract that represents liquidity provider positions and distributes yield
[codex:1289139] /// @dev This contract manages LP shares and underlying assets, accruing yield based on protocol revenue
[codex:1289139] contract NativeLPToken is ERC20, Ownable2Step, ReentrancyGuardTransient {
[codex:1289139] using SafeERC20 for IERC20;
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Identifying interface need**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "sed -n '4534,4703p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] FILE: contracts/src/interfaces/ICreditVault.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: UNLICENSED
[codex:1289139] pragma solidity 0.8.28;
[codex:1289139]
[codex:1289139] interface ICreditVault {
[codex:1289139] function swapCallback(
[codex:1289139] address signer,
[codex:1289139] address sellerToken,
[codex:1289139] int256 amount0Delta,
[codex:1289139] address buyerToken,
[codex:1289139] int256 amount1Delta
[codex:1289139] ) external;
[codex:1289139]
[codex:1289139] /// @notice Struct for tracking daily rebalance limits per trader/liquidator and token
[codex:1289139] /// @param limit Daily rebalance limit
[codex:1289139] /// @param used Amount rebalanced today
[codex:1289139] /// @param lastDay Last rebalance day timestamp
[codex:1289139] struct RebalanceCap {
[codex:1289139] uint256 limit;
[codex:1289139]
[codex:1289139]
[codex:1289139]
[codex:1289139]
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Analyzing security vulnerabilities in contract logic**
[codex:1289139]
[codex:1289139] I'm walking through potential vulnerabilities including reentrancy, access control, signature handling, and accounting logic; I notice careful uses of nonReentrant, some minor inconsistencies like a faulty addCollateral check, and ERC20 approval race concerns. I'm also verifying if token transfers and state updates could cause replay or griefing issues, focusing on how totalUnderlying accounting aligns with trading activities and vault balances.
[codex:1289139] thinking
[codex:1289139] **Examining nuanced accounting and access patterns**
[codex:1289139]
[codex:1289139] There's a lot here on rebalance caps, signature checks, settler vs trader token flows, and especially how underlying balances and share accounting might misalign due to untracked PnL from trading and collateral. I’m exploring how token movement, permissions, and cooldowns interact, and I’m curious how these design choices impact economic fairness and fund availability.
[codex:1289139] thinking
[codex:1289139] **Analyzing token flow nuances and potential economic edge cases**
[codex:1289139]
[codex:1289139] There’s a deep dive into how token movements in settle/repay/liquidate bypass updates to totalUnderlying, possibly leading to accounting imbalances. I’m also inspecting approval mechanics, reentrancy risks around reserve withdrawals, and subtle quirks in share transfers and early withdrawal fee handling that might let savvy actors recapture fees or exploit timing. The signature schemes and nonce management add further complexity to authorization checks and replay protections.
[codex:1289139] thinking
[codex:1289139] **Evaluating authorization nuances and state consistency checks**
[codex:1289139]
[codex:1289139] I'm examining how recipient mappings and signatures affect who can execute liquidations and settlements, plus potential race conditions in position updates via `swapCallback`. The interplay of collateral handling, token allowance management, and position validations suggests subtle inconsistencies rather than direct exploits. There’s also focus on fee accounting versus actual funds and permissions around LP tokens that might be sensitive to careful ownership and trust assumptions.
[codex:1289139] thinking
[codex:1289139] **Identifying LP token accounting inconsistencies affecting collateral**
[codex:1289139]
[codex:1289139] I’m analyzing how totalUnderlying isn’t updated when traders settle, repay, or trigger vault payouts, causing LP shares to misrepresent actual vault funds. This misalignment can let LPs withdraw more than their fair share by draining trader collateral, revealing a core accounting flaw needing careful attention in CreditVault and NativeLPToken logic.
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/CreditVault.sol | sed -n '80,240p'" in /tmp/codex-multi-yscmxex3 succeeded in 7ms:
[codex:1289139] 80
[codex:1289139] 81 /// @notice maps liquidator to their recipient address for liquidations
[codex:1289139] 82 mapping(address => address) public liquidatorToRecipient;
[codex:1289139] 83
[codex:1289139] 84 /// @notice Tracks rebalance caps for each trader/liquidator and token
[codex:1289139] 85 mapping(address => mapping(address => RebalanceCap)) public rebalanceCaps;
[codex:1289139] 86
[codex:1289139] 87 /*//////////////////////////////////////////////////////////////////////////
[codex:1289139] 88 CONSTRUCTOR
[codex:1289139] 89 //////////////////////////////////////////////////////////////////////////*/
[codex:1289139] 90
[codex:1289139] 91 constructor() EIP712("Native Credit Vault", "1") {}
[codex:1289139] 92
[codex:1289139] 93 /// @notice Callback function called by NativeRFQPool after swap execution to update trader positions
[codex:1289139] 94 /// @dev Only callable by whitelisted NativePools, it's called after the swap is executed
[codex:1289139] 95 /// @param trader The address of the market maker
[codex:1289139] 96 /// @param tokenIn The address of the token that is selling
[codex:1289139] 97 /// @param amountIn The amount of the token that is selling
[codex:1289139] 98 /// @param tokenOut The address of the token that is buying
[codex:1289139] 99 /// @param amountOut The amount of the token that is buying
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Continuing with liquidation tasks**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/CreditVault.sol | sed -n '240,420p'" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] 240 );
[codex:1289139] 241 }
[codex:1289139] 242
[codex:1289139] 243 emit Repaid(trader, positionUpdates);
[codex:1289139] 244 }
[codex:1289139] 245
[codex:1289139] 246 /// @notice Called by liquidators to liquidate the underwater positions
[codex:1289139] 247 /// @dev This transaction requires off-chain calculation to verify if the trader's credit meets the criteria.
[codex:1289139] 248 /// @param request The struct of the liquidation request containing info of long and short positions to liquidate
[codex:1289139] 249 /// @param signature The signature of the liquidation request
[codex:1289139] 250 function liquidate(
[codex:1289139] 251 LiquidationRequest calldata request,
[codex:1289139] 252 bytes calldata signature
[codex:1289139] 253 ) external onlyLiquidator nonReentrant {
[codex:1289139] 254 _verifyLiquidationSignature(request, signature);
[codex:1289139] 255
[codex:1289139] 256 _updatePositions(request.positionUpdates, request.trader);
[codex:1289139] 257
[codex:1289139] 258 address recipient = liquidatorToRecipient[msg.sender];
[codex:1289139] 259
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Searching for line numbers in NativeLPToken**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/NativeLPToken.sol | sed -n '120,320p'" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] 120 underlying = IERC20(_underlying);
[codex:1289139] 121 creditVault = _creditVault;
[codex:1289139] 122
[codex:1289139] 123 _decimals = IERC20(address(underlying)).decimals();
[codex:1289139] 124 }
[codex:1289139] 125
[codex:1289139] 126 /// @notice Deposit underlying tokens to mint LP tokens
[codex:1289139] 127 /// @param amount Amount of underlying tokens to deposit
[codex:1289139] 128 /// @return sharesToMint Amount of LP tokens minted
[codex:1289139] 129 function deposit(uint256 amount)
[codex:1289139] 130 external
[codex:1289139] 131 nonReentrant
[codex:1289139] 132 whenNotPaused(depositPaused)
[codex:1289139] 133 returns (uint256 sharesToMint)
[codex:1289139] 134 {
[codex:1289139] 135 sharesToMint = _deposit(msg.sender, msg.sender, amount);
[codex:1289139] 136 }
[codex:1289139] 137
[codex:1289139] 138 /// @notice Deposit underlying tokens on behalf of another address
[codex:1289139] 139 /// @param to The address to mint shares to
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Checking for _deposit and _redeem implementations**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/NativeLPToken.sol | sed -n '320,520p'" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] 320 }
[codex:1289139] 321
[codex:1289139] 322 /// @notice Function to pause redeem operation
[codex:1289139] 323 function pauseRedeem() external onlyOwner {
[codex:1289139] 324 redeemPaused = true;
[codex:1289139] 325 emit RedeemPaused();
[codex:1289139] 326 }
[codex:1289139] 327
[codex:1289139] 328 /// @notice Function to unpause redeem operation
[codex:1289139] 329 function unpauseRedeem() external onlyOwner {
[codex:1289139] 330 redeemPaused = false;
[codex:1289139] 331 emit RedeemUnpaused();
[codex:1289139] 332 }
[codex:1289139] 333
[codex:1289139] 334 modifier whenNotPaused(bool feature) {
[codex:1289139] 335 if (feature) {
[codex:1289139] 336 revert ErrorsLib.FeaturePaused();
[codex:1289139] 337 }
[codex:1289139] 338 _;
[codex:1289139] 339 }
[codex:1289139]
[codex:1289139]
[codex:1289139] thinking
[codex:1289139] **Analyzing potential accounting and collateral issues**
[codex:1289139] thinking
[codex:1289139] **Summarizing accounting vulnerability with evidence**
[codex:1289139]
[codex:1289139] I’m preparing a detailed summary of the high-severity accounting issue where the LP share totalUnderlying is not updated on vault token transfers related to trader positions, enabling LPs to withdraw more than their fair share and potentially drain collateral. I’m collecting exact line numbers from CreditVault and NativeLPToken contracts to cite key functions where updates happen or are missing. I’m also considering a secondary low-to-medium severity issue with ERC20 allowances lingering after credit pool removal, which could allow a removed pool to still transfer tokens if owner doesn’t revoke allowance. Finally, I’m crafting a JSON report matching the schema, including a concise summary, one major finding with exploit and recommendations, and precise evidence locations from the source code.
[codex:1289139] codex
[codex:1289139] {"no_findings":false,"summary":"Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.","findings":[{"severity":"high","category":"math","title":"LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption","exploit_scenario":"A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token’s `totalUnderlying`. LP shares are still valued at the pre‑payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token’s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases.","recommendation":"Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.","evidence":"`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.","locations":["contracts/src/CreditVault.sol:171","contracts/src/CreditVault.sol:230","contracts/src/CreditVault.sol:250","contracts/src/CreditVault.sol:294","contracts/src/NativeLPToken.sol:190","contracts/src/NativeLPToken.sol:345","contracts/src/NativeLPToken.sol:371"]}]}
[codex:1289139] tokens used
[codex:1289139] 102,503
[codex:1289139] {"no_findings":false,"summary":"Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.","findings":[{"severity":"high","category":"math","title":"LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption","exploit_scenario":"A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token’s `totalUnderlying`. LP shares are still valued at the pre‑payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token’s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases.","recommendation":"Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.","evidence":"`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.","locations":["contracts/src/CreditVault.sol:171","contracts/src/CreditVault.sol:230","contracts/src/CreditVault.sol:250","contracts/src/CreditVault.sol:294","contracts/src/NativeLPToken.sol:190","contracts/src/NativeLPToken.sol:345","contracts/src/NativeLPToken.sol:371"]}]}
{
"codex": {
"ran_at": "2025-12-27T20:26:38.146107+00:00",
"returncode": 0
},
"summary": "Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.",
"raw_final": {
"summary": "Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.",
"findings": [
{
"title": "LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption",
"category": "math",
"evidence": "`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.",
"severity": "high",
"locations": [
"contracts/src/CreditVault.sol:171",
"contracts/src/CreditVault.sol:230",
"contracts/src/CreditVault.sol:250",
"contracts/src/CreditVault.sol:294",
"contracts/src/NativeLPToken.sol:190",
"contracts/src/NativeLPToken.sol:345",
"contracts/src/NativeLPToken.sol:371"
],
"recommendation": "Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.",
"exploit_scenario": "A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token\u2019s `totalUnderlying`. LP shares are still valued at the pre\u2011payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token\u2019s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x000f 0000000b: JUMPI 0000000c: PUSH0 0000000d: PUSH0 0000000e: REVERT 0000000f: JUMPDEST 00000010: POP 00000011: PUSH1 0x04 00000013: CALLDATASIZE 00000014: LT 00000015: PUSH2 0x02d7 00000018: JUMPI 00000019: PUSH0 0000001a: CALLDATALOAD 0000001b: PUSH1 0xe0 0000001d: SHR 0000001e: DUP1 0000001f: PUSH4 0x79ba5097 00000024: GT 00000025: PUSH2 0x0187 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xb17b658d 0000002f: GT 00000030: PUSH2 0x00dd 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xcab4f84c 0000003a: GT 0000003b: PUSH2 0x0093 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf2fde38b 00000045: GT 00000046: PUSH2 0x006e 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf2fde38b 00000050: EQ 00000051: PUSH2 0x0784 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf6d95efd 0000005b: EQ 0000005c: PUSH2 0x0797 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf90cdb36 00000066: EQ 00000067: PUSH2 0x07cc 0000006a: JUMPI 0000006b: PUSH0 0000006c: PUSH0 0000006d: REVERT 0000006e: JUMPDEST 0000006f: DUP1 00000070: PUSH4 0xcab4f84c 00000075: EQ 00000076: PUSH2 0x0729 00000079: JUMPI 0000007a: DUP1 0000007b: PUSH4 0xcc218ece 00000080: EQ 00000081: PUSH2 0x073c 00000084: JUMPI 00000085: DUP1 00000086: PUSH4 0xe30c3978 0000008b: EQ 0000008c: PUSH2 0x0766 0000008f: JUMPI 00000090: PUSH0 00000091: PUSH0 00000092: REVERT 00000093: JUMPDEST 00000094: DUP1 00000095: PUSH4 0xb7477674 0000009a: GT 0000009b: PUSH2 0x00c3 0000009e: JUMPI 0000009f: DUP1 000000a0: PUSH4 0xb7477674 000000a5: EQ 000000a6: PUSH2 0x06af 000000a9: JUMPI 000000aa: DUP1 000000ab: PUSH4 0xc2b73076 000000b0: EQ 000000b1: PUSH2 0x0703 000000b4: JUMPI 000000b5: DUP1 000000b6: PUSH4 0xc4076876 000000bb: EQ 000000bc: PUSH2 0x0716 000000bf: JUMPI 000000c0: PUSH0 000000c1: PUSH0 000000c2: REVERT 000000c3: JUMPDEST 000000c4: DUP1 000000c5: PUSH4 0xb17b658d 000000ca: EQ 000000cb: PUSH2 0x0667 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0xb6bdff03 000000d5: EQ 000000d6: PUSH2 0x069c 000000d9: JUMPI 000000da: PUSH0 000000db: PUSH0 000000dc: REVERT 000000dd: JUMPDEST 000000de: DUP1 000000df: PUSH4 0x92a88fa2 000000e4: GT 000000e5: PUSH2 0x013d 000000e8: JUMPI 000000e9: DUP1 000000ea: PUSH4 0xabb49f19 000000ef: GT 000000f0: PUSH2 0x0118 000000f3: JUMPI 000000f4: DUP1 000000f5: PUSH4 0xabb49f19 000000fa: EQ 000000fb: PUSH2 0x0622 000000fe: JUMPI 000000ff: DUP1 00000100: PUSH4 0xae1914f8 00000105: EQ 00000106: PUSH2 0x0635 00000109: JUMPI 0000010a: DUP1 0000010b: PUSH4 0xb0ab63ec 00000110: EQ 00000111: PUSH2 0x0648 00000114: JUMPI 00000115: PUSH0 00000116: PUSH0 00000117: REVERT 00000118: JUMPDEST 00000119: DUP1 0000011a: PUSH4 0x92a88fa2 0000011f: EQ 00000120: PUSH2 0x05da 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x98221e94 0000012a: EQ 0000012b: PUSH2 0x05fc 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x9be41fdb 00000135: EQ 00000136: PUSH2 0x060f 00000139: JUMPI 0000013a: PUSH0 0000013b: PUSH0 0000013c: REVERT 0000013d: JUMPDEST 0000013e: DUP1 0000013f: PUSH4 0x84b0196e 00000144: GT 00000145: PUSH2 0x016d 00000148: JUMPI 00000149: DUP1 0000014a: PUSH4 0x84b0196e 0000014f: EQ 00000150: PUSH2 0x058e 00000153: JUMPI 00000154: DUP1 00000155: PUSH4 0x8da5cb5b 0000015a: EQ 0000015b: PUSH2 0x05a9 0000015e: JUMPI 0000015f: DUP1 00000160: PUSH4 0x9246261c 00000165: EQ 00000166: PUSH2 0x05c7 00000169: JUMPI 0000016a: PUSH0 0000016b: PUSH0 0000016c: REVERT 0000016d: JUMPDEST 0000016e: DUP1 0000016f: PUSH4 0x79ba5097 00000174: EQ 00000175: PUSH2 0x0573 00000178: JUMPI 00000179: DUP1 0000017a: PUSH4 0x81377bfd 0000017f: EQ 00000180: PUSH2 0x057b 00000183: JUMPI 00000184: PUSH0 00000185: PUSH0 00000186: REVERT 00000187: JUMPDEST 00000188: DUP1 00000189: PUSH4 0x41b1fa76 0000018e: GT 0000018f: PUSH2 0x023c 00000192: JUMPI 00000193: DUP1 00000194: PUSH4 0x4e293ee9 00000199: GT 0000019a: PUSH2 0x01f2 0000019d: JUMPI 0000019e: DUP1 0000019f: PUSH4 0x715018a6 000001a4: GT 000001a5: PUSH2 0x01cd 000001a8: JUMPI 000001a9: DUP1 000001aa: PUSH4 0x715018a6 000001af: EQ 000001b0: PUSH2 0x0545 000001b3: JUMPI 000001b4: DUP1 000001b5: PUSH4 0x7362ecbe 000001ba: EQ 000001bb: PUSH2 0x054d 000001be: JUMPI 000001bf: DUP1 000001c0: PUSH4 0x73eb5133 000001c5: EQ 000001c6: PUSH2 0x0560 000001c9: JUMPI 000001ca: PUSH0 000001cb: PUSH0 000001cc: REVERT 000001cd: JUMPDEST 000001ce: DUP1 000001cf: PUSH4 0x4e293ee9 000001d4: EQ 000001d5: PUSH2 0x04ff 000001d8: JUMPI 000001d9: DUP1 000001da: PUSH4 0x4f487eb8 000001df: EQ 000001e0: PUSH2 0x0512 000001e3: JUMPI 000001e4: DUP1 000001e5: PUSH4 0x6c19e783 000001ea: EQ 000001eb: PUSH2 0x0532 000001ee: JUMPI 000001ef: PUSH0 000001f0: PUSH0 000001f1: REVERT 000001f2: JUMPDEST 000001f3: DUP1 000001f4: PUSH4 0x464b38bc 000001f9: GT 000001fa: PUSH2 0x0222 000001fd: JUMPI 000001fe: DUP1 000001ff: PUSH4 0x464b38bc 00000204: EQ 00000205: PUSH2 0x0495 00000208: JUMPI 00000209: DUP1 0000020a: PUSH4 0x47de43e2 0000020f: EQ 00000210: PUSH2 0x04c2 00000213: JUMPI 00000214: DUP1 00000215: PUSH4 0x4bd21445 0000021a: EQ 0000021b: PUSH2 0x04d5 0000021e: JUMPI 0000021f: PUSH0 00000220: PUSH0 00000221: REVERT 00000222: JUMPDEST 00000223: DUP1 00000224: PUSH4 0x41b1fa76 00000229: EQ 0000022a: PUSH2 0x043e 0000022d: JUMPI 0000022e: DUP1 0000022f: PUSH4 0x422e0af0 00000234: EQ 00000235: PUSH2 0x0460 00000238: JUMPI 00000239: PUSH0 0000023a: PUSH0 0000023b: REVERT 0000023c: JUMPDEST 0000023d: DUP1 0000023e: PUSH4 0x141a468c 00000243: GT 00000244: PUSH2 0x0291 00000247: JUMPI 00000248: DUP1 00000249: PUSH4 0x20761fc4 0000024e: GT 0000024f: PUSH2 0x0277 00000252: JUMPI 00000253: DUP1 00000254: PUSH4 0x20761fc4 00000259: EQ 0000025a: PUSH2 0x03dc 0000025d: JUMPI 0000025e: DUP1 0000025f: PUSH4 0x238ac933 00000264: EQ 00000265: PUSH2 0x03fe 00000268: JUMPI 00000269: DUP1 0000026a: PUSH4 0x32b4fa6b 0000026f: EQ 00000270: PUSH2 0x041e 00000273: JUMPI 00000274: PUSH0 00000275: PUSH0 00000276: REVERT 00000277: JUMPDEST 00000278: DUP1 00000279: PUSH4 0x141a468c 0000027e: EQ 0000027f: PUSH2 0x03a7 00000282: JUMPI 00000283: DUP1 00000284: PUSH4 0x1e777ad3 00000289: EQ 0000028a: PUSH2 0x03c9 0000028d: JUMPI 0000028e: PUSH0 0000028f: PUSH0 00000290: REVERT 00000291: JUMPDEST 00000292: DUP1 00000293: PUSH4 0x0d2a7ae8 00000298: GT 00000299: PUSH2 0x02c1 0000029c: JUMPI 0000029d: DUP1 0000029e: PUSH4 0x0d2a7ae8 000002a3: EQ 000002a4: PUSH2 0x0303 000002a7: JUMPI 000002a8: DUP1 000002a9: PUSH4 0x0dfbe91b 000002ae: EQ 000002af: PUSH2 0x0362 000002b2: JUMPI 000002b3: DUP1 000002b4: PUSH4 0x12411772 000002b9: EQ 000002ba: PUSH2 0x0394 000002bd: JUMPI 000002be: PUSH0 000002bf: PUSH0 000002c0: REVERT 000002c1: JUMPDEST 000002c2: DUP1 000002c3: PUSH3 0xfc59c0 000002c7: EQ 000002c8: PUSH2 0x02db 000002cb: JUMPI 000002cc: DUP1 000002cd: PUSH4 0x097a8ec4 000002d2: EQ 000002d3: PUSH2 0x02f0 000002d6: JUMPI 000002d7: JUMPDEST 000002d8: PUSH0 000002d9: PUSH0 000002da: REVERT 000002db: JUMPDEST 000002dc: PUSH2 0x02ee 000002df: PUSH2 0x02e9 000002e2: CALLDATASIZE 000002e3: PUSH1 0x04 000002e5: PUSH2 0x44e9 000002e8: JUMP 000002e9: JUMPDEST 000002ea: PUSH2 0x07ee 000002ed: JUMP 000002ee: JUMPDEST 000002ef: STOP 000002f0: JUMPDEST 000002f1: PUSH2 0x02ee 000002f4: PUSH2 0x02fe 000002f7: CALLDATASIZE 000002f8: PUSH1 0x04 000002fa: PUSH2 0x450b 000002fd: JUMP 000002fe: JUMPDEST 000002ff: PUSH2 0x08bd 00000302: JUMP 00000303: JUMPDEST 00000304: PUSH2 0x0338 00000307: PUSH2 0x0311 0000030a: CALLDATASIZE 0000030b: PUSH1 0x04 0000030d: PUSH2 0x44e9 00000310: JUMP 00000311: JUMPDEST 00000312: PUSH1 0x11 00000314: PUSH1 0x20 00000316: MSTORE 00000317: PUSH0 00000318: SWAP1 00000319: DUP2 0000031a: MSTORE 0000031b: PUSH1 0x40 0000031d: SWAP1 0000031e: KECCAK256 0000031f: SLOAD 00000320: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000335: AND 00000336: DUP2 00000337: JUMP 00000338: JUMPDEST 00000339: PUSH1 0x40 0000033b: MLOAD 0000033c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000351: SWAP1 00000352: SWAP2 00000353: AND 00000354: DUP2 00000355: MSTORE 00000356: PUSH1 0x20 00000358: ADD 00000359: JUMPDEST 0000035a: PUSH1 0x40 0000035c: MLOAD 0000035d: DUP1 0000035e: SWAP2 0000035f: SUB 00000360: SWAP1 00000361: RETURN 00000362: JUMPDEST 00000363: PUSH2 0x0384 00000366: PUSH2 0x0370 00000369: CALLDATASIZE 0000036a: PUSH1 0x04 0000036c: PUSH2 0x44e9 0000036f: JUMP 00000370: JUMPDEST 00000371: PUSH1 0x08 00000373: PUSH1 0x20 00000375: MSTORE 00000376: PUSH0 00000377: SWAP1 00000378: DUP2 00000379: MSTORE 0000037a: PUSH1 0x40 0000037c: SWAP1 0000037d: KECCAK256 0000037e: SLOAD 0000037f: PUSH1 0xff 00000381: AND 00000382: DUP2 00000383: JUMP 00000384: JUMPDEST 00000385: PUSH1 0x40 00000387: MLOAD 00000388: SWAP1 00000389: ISZERO 0000038a: ISZERO 0000038b: DUP2 0000038c: MSTORE 0000038d: PUSH1 0x20 0000038f: ADD 00000390: PUSH2 0x0359 00000393: JUMP 00000394: JUMPDEST 00000395: PUSH2 0x02ee 00000398: PUSH2 0x03a2 0000039b: CALLDATASIZE 0000039c: PUSH1 0x04 0000039e: PUSH2 0x4587 000003a1: JUMP 000003a2: JUMPDEST 000003a3: PUSH2 0x0a4b 000003a6: JUMP 000003a7: JUMPDEST 000003a8: PUSH2 0x0384 000003ab: PUSH2 0x03b5 000003ae: CALLDATASIZE 000003af: PUSH1 0x04 000003b1: PUSH2 0x45f4 000003b4: JUMP 000003b5: JUMPDEST 000003b6: PUSH1 0x0c 000003b8: PUSH1 0x20 000003ba: MSTORE 000003bb: PUSH0 000003bc: SWAP1 000003bd: DUP2 000003be: MSTORE 000003bf: PUSH1 0x40 000003c1: SWAP1 000003c2: KECCAK256 000003c3: SLOAD 000003c4: PUSH1 0xff 000003c6: AND 000003c7: DUP2 000003c8: JUMP 000003c9: JUMPDEST 000003ca: PUSH2 0x02ee 000003cd: PUSH2 0x03d7 000003d0: CALLDATASIZE 000003d1: PUSH1 0x04 000003d3: PUSH2 0x464c 000003d6: JUMP 000003d7: JUMPDEST 000003d8: PUSH2 0x0e9b 000003db: JUMP 000003dc: JUMPDEST 000003dd: PUSH2 0x0384 000003e0: PUSH2 0x03ea 000003e3: CALLDATASIZE 000003e4: PUSH1 0x04 000003e6: PUSH2 0x44e9 000003e9: JUMP 000003ea: JUMPDEST 000003eb: PUSH1 0x0f 000003ed: PUSH1 0x20 000003ef: MSTORE 000003f0: PUSH0 000003f1: SWAP1 000003f2: DUP2 000003f3: MSTORE 000003f4: PUSH1 0x40 000003f6: SWAP1 000003f7: KECCAK256 000003f8: SLOAD 000003f9: PUSH1 0xff 000003fb: AND 000003fc: DUP2 000003fd: JUMP 000003fe: JUMPDEST 000003ff: PUSH1 0x05 00000401: SLOAD 00000402: PUSH2 0x0338 00000405: SWAP1 00000406: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000041b: AND 0000041c: DUP2 0000041d: JUMP 0000041e: JUMPDEST 0000041f: PUSH1 0x04 00000421: SLOAD 00000422: PUSH2 0x0338 00000425: SWAP1 00000426: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000043b: AND 0000043c: DUP2 0000043d: JUMP 0000043e: JUMPDEST 0000043f: PUSH2 0x0384 00000442: PUSH2 0x044c 00000445: CALLDATASIZE 00000446: PUSH1 0x04 00000448: PUSH2 0x44e9 0000044b: JUMP 0000044c: JUMPDEST 0000044d: PUSH1 0x13 0000044f: PUSH1 0x20 00000451: MSTORE 00000452: PUSH0 00000453: SWAP1 00000454: DUP2 00000455: MSTORE 00000456: PUSH1 0x40 00000458: SWAP1 00000459: KECCAK256 0000045a: SLOAD 0000045b: PUSH1 0xff 0000045d: AND 0000045e: DUP2 0000045f: JUMP 00000460: JUMPDEST 00000461: PUSH2 0x0338 00000464: PUSH2 0x046e 00000467: CALLDATASIZE 00000468: PUSH1 0x04 0000046a: PUSH2 0x44e9 0000046d: JUMP 0000046e: JUMPDEST 0000046f: PUSH1 0x12 00000471: PUSH1 0x20 00000473: MSTORE 00000474: PUSH0 00000475: SWAP1 00000476: DUP2 00000477: MSTORE 00000478: PUSH1 0x40 0000047a: SWAP1 0000047b: KECCAK256 0000047c: SLOAD 0000047d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000492: AND 00000493: DUP2 00000494: JUMP 00000495: JUMPDEST 00000496: PUSH2 0x04b4 00000499: PUSH2 0x04a3 0000049c: CALLDATASIZE 0000049d: PUSH1 0x04 0000049f: PUSH2 0x44e9 000004a2: JUMP 000004a3: JUMPDEST 000004a4: PUSH1 0x09 000004a6: PUSH1 0x20 000004a8: MSTORE 000004a9: PUSH0 000004aa: SWAP1 000004ab: DUP2 000004ac: MSTORE 000004ad: PUSH1 0x40 000004af: SWAP1 000004b0: KECCAK256 000004b1: SLOAD 000004b2: DUP2 000004b3: JUMP 000004b4: JUMPDEST 000004b5: PUSH1 0x40 000004b7: MLOAD 000004b8: SWAP1 000004b9: DUP2 000004ba: MSTORE 000004bb: PUSH1 0x20 000004bd: ADD 000004be: PUSH2 0x0359 000004c1: JUMP 000004c2: JUMPDEST 000004c3: PUSH2 0x02ee 000004c6: PUSH2 0x04d0 000004c9: CALLDATASIZE 000004ca: PUSH1 0x04 000004cc: PUSH2 0x46ac 000004cf: JUMP 000004d0: JUMPDEST 000004d1: PUSH2 0x0fac 000004d4: JUMP 000004d5: JUMPDEST 000004d6: PUSH2 0x04b4 000004d9: PUSH2 0x04e3 000004dc: CALLDATASIZE 000004dd: PUSH1 0x04 000004df: PUSH2 0x46e9 000004e2: JUMP 000004e3: JUMPDEST 000004e4: PUSH1 0x0d 000004e6: PUSH1 0x20 000004e8: SWAP1 000004e9: DUP2 000004ea: MSTORE 000004eb: PUSH0 000004ec: SWAP3 000004ed: DUP4 000004ee: MSTORE 000004ef: PUSH1 0x40 000004f1: DUP1 000004f2: DUP5 000004f3: KECCAK256 000004f4: SWAP1 000004f5: SWAP2 000004f6: MSTORE 000004f7: SWAP1 000004f8: DUP3 000004f9: MSTORE 000004fa: SWAP1 000004fb: KECCAK256 000004fc: SLOAD 000004fd: DUP2 000004fe: JUMP 000004ff: JUMPDEST 00000500: PUSH2 0x02ee 00000503: PUSH2 0x050d 00000506: CALLDATASIZE 00000507: PUSH1 0x04 00000509: PUSH2 0x4736 0000050c: JUMP 0000050d: JUMPDEST 0000050e: PUSH2 0x114d 00000511: JUMP 00000512: JUMPDEST 00000513: PUSH1 0x06 00000515: SLOAD 00000516: PUSH2 0x0338 00000519: SWAP1 0000051a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000052f: AND 00000530: DUP2 00000531: JUMP 00000532: JUMPDEST 00000533: PUSH2 0x02ee 00000536: PUSH2 0x0540 00000539: CALLDATASIZE 0000053a: PUSH1 0x04 0000053c: PUSH2 0x44e9 0000053f: JUMP 00000540: JUMPDEST 00000541: PUSH2 0x14b4 00000544: JUMP 00000545: JUMPDEST 00000546: PUSH2 0x02ee 00000549: PUSH2 0x157c 0000054c: JUMP 0000054d: JUMPDEST 0000054e: PUSH2 0x02ee 00000551: PUSH2 0x055b 00000554: CALLDATASIZE 00000555: PUSH1 0x04 00000557: PUSH2 0x4786 0000055a: JUMP 0000055b: JUMPDEST 0000055c: PUSH2 0x158f 0000055f: JUMP 00000560: JUMPDEST 00000561: PUSH2 0x02ee 00000564: PUSH2 0x056e 00000567: CALLDATASIZE 00000568: PUSH1 0x04 0000056a: PUSH2 0x44e9 0000056d: JUMP 0000056e: JUMPDEST 0000056f: PUSH2 0x16fe 00000572: JUMP 00000573: JUMPDEST 00000574: PUSH2 0x02ee 00000577: PUSH2 0x17c6 0000057a: JUMP 0000057b: JUMPDEST 0000057c: PUSH2 0x02ee 0000057f: PUSH2 0x0589 00000582: CALLDATASIZE 00000583: PUSH1 0x04 00000585: PUSH2 0x464c 00000588: JUMP 00000589: JUMPDEST 0000058a: PUSH2 0x1880 0000058d: JUMP 0000058e: JUMPDEST 0000058f: PUSH2 0x0596 00000592: PUSH2 0x1a88 00000595: JUMP 00000596: JUMPDEST 00000597: PUSH1 0x40 00000599: MLOAD 0000059a: PUSH2 0x0359 0000059d: SWAP8 0000059e: SWAP7 0000059f: SWAP6 000005a0: SWAP5 000005a1: SWAP4 000005a2: SWAP3 000005a3: SWAP2 000005a4: SWAP1 000005a5: PUSH2 0x4829 000005a8: JUMP 000005a9: JUMPDEST 000005aa: PUSH1 0x02 000005ac: SLOAD 000005ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005c2: AND 000005c3: PUSH2 0x0338 000005c6: JUMP 000005c7: JUMPDEST 000005c8: PUSH2 0x0338 000005cb: PUSH2 0x05d5 000005ce: CALLDATASIZE 000005cf: PUSH1 0x04 000005d1: PUSH2 0x45f4 000005d4: JUMP 000005d5: JUMPDEST 000005d6: PUSH2 0x1b2a 000005d9: JUMP 000005da: JUMPDEST 000005db: PUSH2 0x0384 000005de: PUSH2 0x05e8 000005e1: CALLDATASIZE 000005e2: PUSH1 0x04 000005e4: PUSH2 0x44e9 000005e7: JUMP 000005e8: JUMPDEST 000005e9: PUSH1 0x10 000005eb: PUSH1 0x20 000005ed: MSTORE 000005ee: PUSH0 000005ef: SWAP1 000005f0: DUP2 000005f1: MSTORE 000005f2: PUSH1 0x40 000005f4: SWAP1 000005f5: KECCAK256 000005f6: SLOAD 000005f7: PUSH1 0xff 000005f9: AND 000005fa: DUP2 000005fb: JUMP 000005fc: JUMPDEST 000005fd: PUSH2 0x02ee 00000600: PUSH2 0x060a 00000603: CALLDATASIZE 00000604: PUSH1 0x04 00000606: PUSH2 0x48e8 00000609: JUMP 0000060a: JUMPDEST 0000060b: PUSH2 0x1b5f 0000060e: JUMP 0000060f: JUMPDEST 00000610: PUSH2 0x02ee 00000613: PUSH2 0x061d 00000616: CALLDATASIZE 00000617: PUSH1 0x04 00000619: PUSH2 0x4736 0000061c: JUMP 0000061d: JUMPDEST 0000061e: PUSH2 0x213f 00000621: JUMP 00000622: JUMPDEST 00000623: PUSH2 0x02ee 00000626: PUSH2 0x0630 00000629: CALLDATASIZE 0000062a: PUSH1 0x04 0000062c: PUSH2 0x4959 0000062f: JUMP 00000630: JUMPDEST 00000631: PUSH2 0x23f3 00000634: JUMP 00000635: JUMPDEST 00000636: PUSH2 0x02ee 00000639: PUSH2 0x0643 0000063c: CALLDATASIZE 0000063d: PUSH1 0x04 0000063f: PUSH2 0x450b 00000642: JUMP 00000643: JUMPDEST 00000644: PUSH2 0x24d1 00000647: JUMP 00000648: JUMPDEST 00000649: PUSH2 0x04b4 0000064c: PUSH2 0x0656 0000064f: CALLDATASIZE 00000650: PUSH1 0x04 00000652: PUSH2 0x44e9 00000655: JUMP 00000656: JUMPDEST 00000657: PUSH1 0x0a 00000659: PUSH1 0x20 0000065b: MSTORE 0000065c: PUSH0 0000065d: SWAP1 0000065e: DUP2 0000065f: MSTORE 00000660: PUSH1 0x40 00000662: SWAP1 00000663: KECCAK256 00000664: SLOAD 00000665: DUP2 00000666: JUMP 00000667: JUMPDEST 00000668: PUSH2 0x0338 0000066b: PUSH2 0x0675 0000066e: CALLDATASIZE 0000066f: PUSH1 0x04 00000671: PUSH2 0x44e9 00000674: JUMP 00000675: JUMPDEST 00000676: PUSH1 0x0b 00000678: PUSH1 0x20 0000067a: MSTORE 0000067b: PUSH0 0000067c: SWAP1 0000067d: DUP2 0000067e: MSTORE 0000067f: PUSH1 0x40 00000681: SWAP1 00000682: KECCAK256 00000683: SLOAD 00000684: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000699: AND 0000069a: DUP2 0000069b: JUMP 0000069c: JUMPDEST 0000069d: PUSH2 0x02ee 000006a0: PUSH2 0x06aa 000006a3: CALLDATASIZE 000006a4: PUSH1 0x04 000006a6: PUSH2 0x464c 000006a9: JUMP 000006aa: JUMPDEST 000006ab: PUSH2 0x267d 000006ae: JUMP 000006af: JUMPDEST 000006b0: PUSH2 0x06e8 000006b3: PUSH2 0x06bd 000006b6: CALLDATASIZE 000006b7: PUSH1 0x04 000006b9: PUSH2 0x46e9 000006bc: JUMP 000006bd: JUMPDEST 000006be: PUSH1 0x16 000006c0: PUSH1 0x20 000006c2: SWAP1 000006c3: DUP2 000006c4: MSTORE 000006c5: PUSH0 000006c6: SWAP3 000006c7: DUP4 000006c8: MSTORE 000006c9: PUSH1 0x40 000006cb: DUP1 000006cc: DUP5 000006cd: KECCAK256 000006ce: SWAP1 000006cf: SWAP2 000006d0: MSTORE 000006d1: SWAP1 000006d2: DUP3 000006d3: MSTORE 000006d4: SWAP1 000006d5: KECCAK256 000006d6: DUP1 000006d7: SLOAD 000006d8: PUSH1 0x01 000006da: DUP3 000006db: ADD 000006dc: SLOAD 000006dd: PUSH1 0x02 000006df: SWAP1 000006e0: SWAP3 000006e1: ADD 000006e2: SLOAD 000006e3: SWAP1 000006e4: SWAP2 000006e5: SWAP1 000006e6: DUP4 000006e7: JUMP 000006e8: JUMPDEST 000006e9: PUSH1 0x40 000006eb: DUP1 000006ec: MLOAD 000006ed: SWAP4 000006ee: DUP5 000006ef: MSTORE 000006f0: PUSH1 0x20 000006f2: DUP5 000006f3: ADD 000006f4: SWAP3 000006f5: SWAP1 000006f6: SWAP3 000006f7: MSTORE 000006f8: SWAP1 000006f9: DUP3 000006fa: ADD 000006fb: MSTORE 000006fc: PUSH1 0x60 000006fe: ADD 000006ff: PUSH2 0x0359 00000702: JUMP 00000703: JUMPDEST 00000704: PUSH2 0x02ee 00000707: PUSH2 0x0711 0000070a: CALLDATASIZE 0000070b: PUSH1 0x04 0000070d: PUSH2 0x4985 00000710: JUMP 00000711: JUMPDEST 00000712: PUSH2 0x2893 00000715: JUMP 00000716: JUMPDEST 00000717: PUSH2 0x02ee 0000071a: PUSH2 0x0724 0000071d: CALLDATASIZE 0000071e: PUSH1 0x04 00000720: PUSH2 0x49f2 00000723: JUMP 00000724: JUMPDEST 00000725: PUSH2 0x2acb 00000728: JUMP 00000729: JUMPDEST 0000072a: PUSH2 0x02ee 0000072d: PUSH2 0x0737 00000730: CALLDATASIZE 00000731: PUSH1 0x04 00000733: PUSH2 0x44e9 00000736: JUMP 00000737: JUMPDEST 00000738: PUSH2 0x2c4c 0000073b: JUMP 0000073c: JUMPDEST 0000073d: PUSH2 0x04b4 00000740: PUSH2 0x074a 00000743: CALLDATASIZE 00000744: PUSH1 0x04 00000746: PUSH2 0x46e9 00000749: JUMP 0000074a: JUMPDEST 0000074b: PUSH1 0x0e 0000074d: PUSH1 0x20 0000074f: SWAP1 00000750: DUP2 00000751: MSTORE 00000752: PUSH0 00000753: SWAP3 00000754: DUP4 00000755: MSTORE 00000756: PUSH1 0x40 00000758: DUP1 00000759: DUP5 0000075a: KECCAK256 0000075b: SWAP1 0000075c: SWAP2 0000075d: MSTORE 0000075e: SWAP1 0000075f: DUP3 00000760: MSTORE 00000761: SWAP1 00000762: KECCAK256 00000763: SLOAD 00000764: DUP2 00000765: JUMP 00000766: JUMPDEST 00000767: PUSH1 0x03 00000769: SLOAD 0000076a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000077f: AND 00000780: PUSH2 0x0338 00000783: JUMP 00000784: JUMPDEST 00000785: PUSH2 0x02ee 00000788: PUSH2 0x0792 0000078b: CALLDATASIZE 0000078c: PUSH1 0x04 0000078e: PUSH2 0x44e9 00000791: JUMP 00000792: JUMPDEST 00000793: PUSH2 0x2f65 00000796: JUMP 00000797: JUMPDEST 00000798: PUSH2 0x0338 0000079b: PUSH2 0x07a5 0000079e: CALLDATASIZE 0000079f: PUSH1 0x04 000007a1: PUSH2 0x44e9 000007a4: JUMP 000007a5: JUMPDEST 000007a6: PUSH1 0x15 000007a8: PUSH1 0x20 000007aa: MSTORE 000007ab: PUSH0 000007ac: SWAP1 000007ad: DUP2 000007ae: MSTORE 000007af: PUSH1 0x40 000007b1: SWAP1 000007b2: KECCAK256 000007b3: SLOAD 000007b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007c9: AND 000007ca: DUP2 000007cb: JUMP 000007cc: JUMPDEST 000007cd: PUSH2 0x0384 000007d0: PUSH2 0x07da 000007d3: CALLDATASIZE 000007d4: PUSH1 0x04 000007d6: PUSH2 0x44e9 000007d9: JUMP 000007da: JUMPDEST 000007db: PUSH1 0x14 000007dd: PUSH1 0x20 000007df: MSTORE 000007e0: PUSH0 000007e1: SWAP1 000007e2: DUP2 000007e3: MSTORE 000007e4: PUSH1 0x40 000007e6: SWAP1 000007e7: KECCAK256 000007e8: SLOAD 000007e9: PUSH1 0xff 000007eb: AND 000007ec: DUP2 000007ed: JUMP 000007ee: JUMPDEST 000007ef: PUSH2 0x07f6 000007f2: PUSH2 0x3015 000007f5: JUMP 000007f6: JUMPDEST 000007f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000080c: DUP2 0000080d: AND 0000080e: PUSH2 0x0843 00000811: JUMPI 00000812: PUSH1 0x40 00000814: MLOAD 00000815: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 00000836: DUP2 00000837: MSTORE 00000838: PUSH1 0x04 0000083a: ADD 0000083b: PUSH1 0x40 0000083d: MLOAD 0000083e: DUP1 0000083f: SWAP2 00000840: SUB 00000841: SWAP1 00000842: REVERT 00000843: JUMPDEST 00000844: PUSH1 0x04 00000846: DUP1 00000847: SLOAD 00000848: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00000869: AND 0000086a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000087f: DUP4 00000880: AND 00000881: SWAP1 00000882: DUP2 00000883: OR 00000884: SWAP1 00000885: SWAP2 00000886: SSTORE 00000887: PUSH1 0x40 00000889: MLOAD 0000088a: SWAP1 0000088b: DUP2 0000088c: MSTORE 0000088d: PUSH32 0x15d0b1a02a4902c4788ceda199eb43e4a753d86c0dbb7412e8ba63feecb070fa 000008ae: SWAP1 000008af: PUSH1 0x20 000008b1: ADD 000008b2: JUMPDEST 000008b3: PUSH1 0x40 000008b5: MLOAD 000008b6: DUP1 000008b7: SWAP2 000008b8: SUB 000008b9: SWAP1 000008ba: LOG1 000008bb: POP 000008bc: JUMP 000008bd: JUMPDEST 000008be: PUSH2 0x08c5 000008c1: PUSH2 0x3015 000008c4: JUMP 000008c5: JUMPDEST 000008c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008db: DUP3 000008dc: AND 000008dd: PUSH2 0x0912 000008e0: JUMPI 000008e1: PUSH1 0x40 000008e3: MLOAD 000008e4: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 00000905: DUP2 00000906: MSTORE 00000907: PUSH1 0x04 00000909: ADD 0000090a: PUSH1 0x40 0000090c: MLOAD 0000090d: DUP1 0000090e: SWAP2 0000090f: SUB 00000910: SWAP1 00000911: REVERT 00000912: JUMPDEST 00000913: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000928: DUP4 00000929: AND 0000092a: PUSH0 0000092b: SWAP1 0000092c: DUP2 0000092d: MSTORE 0000092e: PUSH1 0x10 00000930: PUSH1 0x20 00000932: MSTORE 00000933: PUSH1 0x40 00000935: SWAP1 00000936: KECCAK256 00000937: SLOAD 00000938: PUSH1 0xff 0000093a: AND 0000093b: DUP1 0000093c: PUSH2 0x0969 0000093f: JUMPI 00000940: POP 00000941: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000956: DUP4 00000957: AND 00000958: PUSH0 00000959: SWAP1 0000095a: DUP2 0000095b: MSTORE 0000095c: PUSH1 0x14 0000095e: PUSH1 0x20 00000960: MSTORE 00000961: PUSH1 0x40 00000963: SWAP1 00000964: KECCAK256 00000965: SLOAD 00000966: PUSH1 0xff 00000968: AND 00000969: JUMPDEST 0000096a: PUSH2 0x099f 0000096d: JUMPI 0000096e: PUSH1 0x40 00000970: MLOAD 00000971: PUSH32 0x3be3aba200000000000000000000000000000000000000000000000000000000 00000992: DUP2 00000993: MSTORE 00000994: PUSH1 0x04 00000996: ADD 00000997: PUSH1 0x40 00000999: MLOAD 0000099a: DUP1 0000099b: SWAP2 0000099c: SUB 0000099d: SWAP1 0000099e: REVERT 0000099f: JUMPDEST 000009a0: PUSH1 0x40 000009a2: DUP1 000009a3: MLOAD 000009a4: PUSH1 0x60 000009a6: DUP2 000009a7: ADD 000009a8: DUP3 000009a9: MSTORE 000009aa: DUP3 000009ab: DUP2 000009ac: MSTORE 000009ad: PUSH0 000009ae: PUSH1 0x20 000009b0: DUP3 000009b1: ADD 000009b2: MSTORE 000009b3: SWAP1 000009b4: DUP2 000009b5: ADD 000009b6: PUSH2 0x09c2 000009b9: PUSH3 0x015180 000009bd: TIMESTAMP 000009be: PUSH2 0x4a49 000009c1: JUMP 000009c2: JUMPDEST 000009c3: SWAP1 000009c4: MSTORE 000009c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009da: DUP5 000009db: DUP2 000009dc: AND 000009dd: PUSH0 000009de: DUP2 000009df: DUP2 000009e0: MSTORE 000009e1: PUSH1 0x16 000009e3: PUSH1 0x20 000009e5: SWAP1 000009e6: DUP2 000009e7: MSTORE 000009e8: PUSH1 0x40 000009ea: DUP1 000009eb: DUP4 000009ec: KECCAK256 000009ed: SWAP5 000009ee: DUP9 000009ef: AND 000009f0: DUP1 000009f1: DUP5 000009f2: MSTORE 000009f3: SWAP5 000009f4: DUP3 000009f5: MSTORE 000009f6: SWAP2 000009f7: DUP3 000009f8: SWAP1 000009f9: KECCAK256 000009fa: DUP6 000009fb: MLOAD 000009fc: DUP2 000009fd: SSTORE 000009fe: DUP6 000009ff: DUP3 00000a00: ADD 00000a01: MLOAD 00000a02: PUSH1 0x01 00000a04: DUP3 00000a05: ADD 00000a06: SSTORE 00000a07: SWAP5 00000a08: DUP3 00000a09: ADD 00000a0a: MLOAD 00000a0b: PUSH1 0x02 00000a0d: SWAP1 00000a0e: SWAP6 00000a0f: ADD 00000a10: SWAP5 00000a11: SWAP1 00000a12: SWAP5 00000a13: SSTORE 00000a14: MLOAD 00000a15: DUP5 00000a16: DUP2 00000a17: MSTORE 00000a18: SWAP2 00000a19: SWAP3 00000a1a: SWAP1 00000a1b: SWAP2 00000a1c: PUSH32 0x39ff4a05a64bdf7e1dcb0b2d6b7e35b6a720a9412386a9e193c0e93d29a18470 00000a3d: SWAP2 00000a3e: ADD 00000a3f: PUSH1 0x40 00000a41: MLOAD 00000a42: DUP1 00000a43: SWAP2 00000a44: SUB 00000a45: SWAP1 00000a46: LOG3 00000a47: POP 00000a48: POP 00000a49: POP 00000a4a: JUMP 00000a4b: JUMPDEST 00000a4c: CALLER 00000a4d: PUSH0 00000a4e: SWAP1 00000a4f: DUP2 00000a50: MSTORE 00000a51: PUSH1 0x14 00000a53: PUSH1 0x20 00000a55: MSTORE 00000a56: PUSH1 0x40 00000a58: SWAP1 00000a59: KECCAK256 00000a5a: SLOAD 00000a5b: PUSH1 0xff 00000a5d: AND 00000a5e: PUSH2 0x0a93 00000a61: JUMPI 00000a62: PUSH1 0x40 00000a64: MLOAD 00000a65: PUSH32 0x99b01c4700000000000000000000000000000000000000000000000000000000 00000a86: DUP2 00000a87: MSTORE 00000a88: PUSH1 0x04 00000a8a: ADD 00000a8b: PUSH1 0x40 00000a8d: MLOAD 00000a8e: DUP1 00000a8f: SWAP2 00000a90: SUB 00000a91: SWAP1 00000a92: REVERT 00000a93: JUMPDEST 00000a94: PUSH2 0x0a9b 00000a97: PUSH2 0x3096 00000a9a: JUMP 00000a9b: JUMPDEST 00000a9c: PUSH2 0x0aa6 00000a9f: DUP4 00000aa0: DUP4 00000aa1: DUP4 00000aa2: PUSH2 0x311a 00000aa5: JUMP 00000aa6: JUMPDEST 00000aa7: PUSH2 0x0b1d 00000aaa: PUSH2 0x0ab6 00000aad: PUSH1 0x60 00000aaf: DUP6 00000ab0: ADD 00000ab1: DUP6 00000ab2: PUSH2 0x4a81 00000ab5: JUMP 00000ab6: JUMPDEST 00000ab7: DUP1 00000ab8: DUP1 00000ab9: PUSH1 0x20 00000abb: MUL 00000abc: PUSH1 0x20 00000abe: ADD 00000abf: PUSH1 0x40 00000ac1: MLOAD 00000ac2: SWAP1 00000ac3: DUP2 00000ac4: ADD 00000ac5: PUSH1 0x40 00000ac7: MSTORE 00000ac8: DUP1 00000ac9: SWAP4 00000aca: SWAP3 00000acb: SWAP2 00000acc: SWAP1 00000acd: DUP2 00000ace: DUP2 00000acf: MSTORE 00000ad0: PUSH1 0x20 00000ad2: ADD 00000ad3: PUSH0 00000ad4: SWAP1 00000ad5: JUMPDEST 00000ad6: DUP3 00000ad7: DUP3 00000ad8: LT 00000ad9: ISZERO 00000ada: PUSH2 0x0b01 00000add: JUMPI 00000ade: PUSH2 0x0af2 00000ae1: PUSH1 0x40 00000ae3: DUP4 00000ae4: MUL 00000ae5: DUP7 00000ae6: ADD 00000ae7: CALLDATASIZE 00000ae8: DUP2 00000ae9: SWAP1 00000aea: SUB 00000aeb: DUP2 00000aec: ADD 00000aed: SWAP1 00000aee: PUSH2 0x4ae5 00000af1: JUMP 00000af2: JUMPDEST 00000af3: DUP2 00000af4: MSTORE 00000af5: PUSH1 0x20 00000af7: ADD 00000af8: SWAP1 00000af9: PUSH1 0x01 00000afb: ADD 00000afc: SWAP1 00000afd: PUSH2 0x0ad5 00000b00: JUMP 00000b01: JUMPDEST 00000b02: POP 00000b03: PUSH2 0x0b18 00000b06: SWAP4 00000b07: POP 00000b08: POP 00000b09: PUSH1 0x60 00000b0b: DUP9 00000b0c: ADD 00000b0d: SWAP2 00000b0e: POP 00000b0f: POP 00000b10: PUSH1 0x40 00000b12: DUP8 00000b13: ADD 00000b14: PUSH2 0x44e9 00000b17: JUMP 00000b18: JUMPDEST 00000b19: PUSH2 0x335f 00000b1c: JUMP 00000b1d: JUMPDEST 00000b1e: CALLER 00000b1f: PUSH0 00000b20: SWAP1 00000b21: DUP2 00000b22: MSTORE 00000b23: PUSH1 0x15 00000b25: PUSH1 0x20 00000b27: MSTORE 00000b28: PUSH1 0x40 00000b2a: DUP2 00000b2b: KECCAK256 00000b2c: SLOAD 00000b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b42: AND 00000b43: SWAP1 00000b44: JUMPDEST 00000b45: PUSH2 0x0b51 00000b48: PUSH1 0x80 00000b4a: DUP7 00000b4b: ADD 00000b4c: DUP7 00000b4d: PUSH2 0x4a81 00000b50: JUMP 00000b51: JUMPDEST 00000b52: SWAP1 00000b53: POP 00000b54: DUP2 00000b55: LT 00000b56: ISZERO 00000b57: PUSH2 0x0c46 00000b5a: JUMPI 00000b5b: PUSH2 0x0b67 00000b5e: PUSH1 0x80 00000b60: DUP7 00000b61: ADD 00000b62: DUP7 00000b63: PUSH2 0x4a81 00000b66: JUMP 00000b67: JUMPDEST 00000b68: DUP3 00000b69: DUP2 00000b6a: DUP2 00000b6b: LT 00000b6c: PUSH2 0x0b77 00000b6f: JUMPI 00000b70: PUSH2 0x0b77 00000b73: PUSH2 0x4b62 00000b76: JUMP 00000b77: JUMPDEST 00000b78: SWAP1 00000b79: POP 00000b7a: PUSH1 0x40 00000b7c: MUL 00000b7d: ADD 00000b7e: PUSH1 0x20 00000b80: ADD 00000b81: CALLDATALOAD 00000b82: PUSH1 0x0e 00000b84: PUSH0 00000b85: DUP8 00000b86: PUSH1 0x40 00000b88: ADD 00000b89: PUSH1 0x20 00000b8b: DUP2 00000b8c: ADD 00000b8d: SWAP1 00000b8e: PUSH2 0x0b97 00000b91: SWAP2 00000b92: SWAP1 00000b93: PUSH2 0x44e9 00000b96: JUMP 00000b97: JUMPDEST 00000b98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bad: AND 00000bae: DUP2 00000baf: MSTORE 00000bb0: PUSH1 0x20 00000bb2: DUP2 00000bb3: ADD 00000bb4: SWAP2 00000bb5: SWAP1 00000bb6: SWAP2 00000bb7: MSTORE 00000bb8: PUSH1 0x40 00000bba: ADD 00000bbb: PUSH0 00000bbc: SWAP1 00000bbd: DUP2 00000bbe: KECCAK256 00000bbf: SWAP1 00000bc0: PUSH2 0x0bcc 00000bc3: PUSH1 0x80 00000bc5: DUP10 00000bc6: ADD 00000bc7: DUP10 00000bc8: PUSH2 0x4a81 00000bcb: JUMP 00000bcc: JUMPDEST 00000bcd: DUP6 00000bce: DUP2 00000bcf: DUP2 00000bd0: LT 00000bd1: PUSH2 0x0bdc 00000bd4: JUMPI 00000bd5: PUSH2 0x0bdc 00000bd8: PUSH2 0x4b62 00000bdb: JUMP 00000bdc: JUMPDEST 00000bdd: PUSH2 0x0bf2 00000be0: SWAP3 00000be1: PUSH1 0x20 00000be3: PUSH1 0x40 00000be5: SWAP1 00000be6: SWAP3 00000be7: MUL 00000be8: ADD 00000be9: SWAP1 00000bea: DUP2 00000beb: ADD 00000bec: SWAP2 00000bed: POP 00000bee: PUSH2 0x44e9 00000bf1: JUMP 00000bf2: JUMPDEST 00000bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c08: AND 00000c09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c1e: AND 00000c1f: DUP2 00000c20: MSTORE 00000c21: PUSH1 0x20 00000c23: ADD 00000c24: SWAP1 00000c25: DUP2 00000c26: MSTORE 00000c27: PUSH1 0x20 00000c29: ADD 00000c2a: PUSH0 00000c2b: KECCAK256 00000c2c: PUSH0 00000c2d: DUP3 00000c2e: DUP3 00000c2f: SLOAD 00000c30: PUSH2 0x0c39 00000c33: SWAP2 00000c34: SWAP1 00000c35: PUSH2 0x4b8f 00000c38: JUMP 00000c39: JUMPDEST 00000c3a: SWAP1 00000c3b: SWAP2 00000c3c: SSTORE 00000c3d: POP 00000c3e: POP 00000c3f: PUSH1 0x01 00000c41: ADD 00000c42: PUSH2 0x0b44 00000c45: JUMP 00000c46: JUMPDEST 00000c47: POP 00000c48: PUSH0 00000c49: JUMPDEST 00000c4a: PUSH2 0x0c56 00000c4d: PUSH1 0x60 00000c4f: DUP7 00000c50: ADD 00000c51: DUP7 00000c52: PUSH2 0x4a81 00000c55: JUMP 00000c56: JUMPDEST 00000c57: SWAP1 00000c58: POP 00000c59: DUP2 00000c5a: LT 00000c5b: ISZERO 00000c5c: PUSH2 0x0d4c 00000c5f: JUMPI 00000c60: PUSH0 00000c61: PUSH2 0x0c6d 00000c64: PUSH1 0x60 00000c66: DUP8 00000c67: ADD 00000c68: DUP8 00000c69: PUSH2 0x4a81 00000c6c: JUMP 00000c6d: JUMPDEST 00000c6e: DUP4 00000c6f: DUP2 00000c70: DUP2 00000c71: LT 00000c72: PUSH2 0x0c7d 00000c75: JUMPI 00000c76: PUSH2 0x0c7d 00000c79: PUSH2 0x4b62 00000c7c: JUMP 00000c7d: JUMPDEST 00000c7e: PUSH2 0x0c93 00000c81: SWAP3 00000c82: PUSH1 0x20 00000c84: PUSH1 0x40 00000c86: SWAP1 00000c87: SWAP3 00000c88: MUL 00000c89: ADD 00000c8a: SWAP1 00000c8b: DUP2 00000c8c: ADD 00000c8d: SWAP2 00000c8e: POP 00000c8f: PUSH2 0x44e9 00000c92: JUMP 00000c93: JUMPDEST 00000c94: SWAP1 00000c95: POP 00000c96: PUSH0 00000c97: PUSH2 0x0ca3 00000c9a: PUSH1 0x60 00000c9c: DUP9 00000c9d: ADD 00000c9e: DUP9 00000c9f: PUSH2 0x4a81 00000ca2: JUMP 00000ca3: JUMPDEST 00000ca4: DUP5 00000ca5: DUP2 00000ca6: DUP2 00000ca7: LT 00000ca8: PUSH2 0x0cb3 00000cab: JUMPI 00000cac: PUSH2 0x0cb3 00000caf: PUSH2 0x4b62 00000cb2: JUMP 00000cb3: JUMPDEST 00000cb4: SWAP1 00000cb5: POP 00000cb6: PUSH1 0x40 00000cb8: MUL 00000cb9: ADD 00000cba: PUSH1 0x20 00000cbc: ADD 00000cbd: CALLDATALOAD 00000cbe: SWAP1 00000cbf: POP 00000cc0: PUSH0 00000cc1: DUP2 00000cc2: SGT 00000cc3: ISZERO 00000cc4: PUSH2 0x0cf9 00000cc7: JUMPI 00000cc8: PUSH2 0x0cf4 00000ccb: CALLER 00000ccc: ADDRESS 00000ccd: PUSH2 0x0cd5 00000cd0: DUP5 00000cd1: PUSH2 0x354d 00000cd4: JUMP 00000cd5: JUMPDEST 00000cd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ceb: DUP7 00000cec: AND 00000ced: SWAP3 00000cee: SWAP2 00000cef: SWAP1 00000cf0: PUSH2 0x35bc 00000cf3: JUMP 00000cf4: JUMPDEST 00000cf5: PUSH2 0x0d42 00000cf8: JUMP 00000cf9: JUMPDEST 00000cfa: PUSH2 0x0d14 00000cfd: CALLER 00000cfe: DUP4 00000cff: PUSH2 0x0d0f 00000d02: PUSH2 0x0d0a 00000d05: DUP6 00000d06: PUSH2 0x4ba2 00000d09: JUMP 00000d0a: JUMPDEST 00000d0b: PUSH2 0x354d 00000d0e: JUMP 00000d0f: JUMPDEST 00000d10: PUSH2 0x3698 00000d13: JUMP 00000d14: JUMPDEST 00000d15: PUSH2 0x0d42 00000d18: DUP5 00000d19: PUSH2 0x0d24 00000d1c: PUSH2 0x0d0a 00000d1f: DUP5 00000d20: PUSH2 0x4ba2 00000d23: JUMP 00000d24: JUMPDEST 00000d25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d3a: DUP6 00000d3b: AND 00000d3c: SWAP2 00000d3d: SWAP1 00000d3e: PUSH2 0x37aa 00000d41: JUMP 00000d42: JUMPDEST 00000d43: POP 00000d44: POP 00000d45: PUSH1 0x01 00000d47: ADD 00000d48: PUSH2 0x0c49 00000d4b: JUMP 00000d4c: JUMPDEST 00000d4d: POP 00000d4e: PUSH0 00000d4f: JUMPDEST 00000d50: PUSH2 0x0d5c 00000d53: PUSH1 0x80 00000d55: DUP7 00000d56: ADD 00000d57: DUP7 00000d58: PUSH2 0x4a81 00000d5b: JUMP 00000d5c: JUMPDEST 00000d5d: SWAP1 00000d5e: POP 00000d5f: DUP2 00000d60: LT 00000d61: ISZERO 00000d62: PUSH2 0x0e26 00000d65: JUMPI 00000d66: PUSH0 00000d67: PUSH2 0x0d73 00000d6a: PUSH1 0x80 00000d6c: DUP8 00000d6d: ADD 00000d6e: DUP8 00000d6f: PUSH2 0x4a81 00000d72: JUMP 00000d73: JUMPDEST 00000d74: DUP4 00000d75: DUP2 00000d76: DUP2 00000d77: LT 00000d78: PUSH2 0x0d83 00000d7b: JUMPI 00000d7c: PUSH2 0x0d83 00000d7f: PUSH2 0x4b62 00000d82: JUMP 00000d83: JUMPDEST 00000d84: PUSH2 0x0d99 00000d87: SWAP3 00000d88: PUSH1 0x20 00000d8a: PUSH1 0x40 00000d8c: SWAP1 00000d8d: SWAP3 00000d8e: MUL 00000d8f: ADD 00000d90: SWAP1 00000d91: DUP2 00000d92: ADD 00000d93: SWAP2 00000d94: POP 00000d95: PUSH2 0x44e9 00000d98: JUMP 00000d99: JUMPDEST 00000d9a: SWAP1 00000d9b: POP 00000d9c: PUSH2 0x0dcc 00000d9f: CALLER 00000da0: DUP3 00000da1: PUSH2 0x0dad 00000da4: PUSH1 0x80 00000da6: DUP11 00000da7: ADD 00000da8: DUP11 00000da9: PUSH2 0x4a81 00000dac: JUMP 00000dad: JUMPDEST 00000dae: DUP7 00000daf: DUP2 00000db0: DUP2 00000db1: LT 00000db2: PUSH2 0x0dbd 00000db5: JUMPI 00000db6: PUSH2 0x0dbd 00000db9: PUSH2 0x4b62 00000dbc: JUMP 00000dbd: JUMPDEST 00000dbe: SWAP1 00000dbf: POP 00000dc0: PUSH1 0x40 00000dc2: MUL 00000dc3: ADD 00000dc4: PUSH1 0x20 00000dc6: ADD 00000dc7: CALLDATALOAD 00000dc8: PUSH2 0x3698 00000dcb: JUMP 00000dcc: JUMPDEST 00000dcd: PUSH2 0x0e1d 00000dd0: DUP4 00000dd1: PUSH2 0x0ddd 00000dd4: PUSH1 0x80 00000dd6: DUP10 00000dd7: ADD 00000dd8: DUP10 00000dd9: PUSH2 0x4a81 00000ddc: JUMP 00000ddd: JUMPDEST 00000dde: DUP6 00000ddf: DUP2 00000de0: DUP2 00000de1: LT 00000de2: PUSH2 0x0ded 00000de5: JUMPI 00000de6: PUSH2 0x0ded 00000de9: PUSH2 0x4b62 00000dec: JUMP 00000ded: JUMPDEST 00000dee: SWAP1 00000def: POP 00000df0: PUSH1 0x40 00000df2: MUL 00000df3: ADD 00000df4: PUSH1 0x20 00000df6: ADD 00000df7: CALLDATALOAD 00000df8: DUP4 00000df9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e0e: AND 00000e0f: PUSH2 0x37aa 00000e12: SWAP1 00000e13: SWAP3 00000e14: SWAP2 00000e15: SWAP1 00000e16: PUSH4 0xffffffff 00000e1b: AND 00000e1c: JUMP 00000e1d: JUMPDEST 00000e1e: POP 00000e1f: PUSH1 0x01 00000e21: ADD 00000e22: PUSH2 0x0d4f 00000e25: JUMP 00000e26: JUMPDEST 00000e27: POP 00000e28: PUSH32 0xb5689a012cf77dd0a99ac07ed6f83009d7fbfca323bca73b34d6ed02bf413ab8 00000e49: PUSH2 0x0e58 00000e4c: PUSH1 0x60 00000e4e: DUP7 00000e4f: ADD 00000e50: PUSH1 0x40 00000e52: DUP8 00000e53: ADD 00000e54: PUSH2 0x44e9 00000e57: JUMP 00000e58: JUMPDEST 00000e59: CALLER 00000e5a: PUSH2 0x0e66 00000e5d: PUSH1 0x60 00000e5f: DUP9 00000e60: ADD 00000e61: DUP9 00000e62: PUSH2 0x4a81 00000e65: JUMP 00000e66: JUMPDEST 00000e67: PUSH2 0x0e73 00000e6a: PUSH1 0x80 00000e6c: DUP11 00000e6d: ADD 00000e6e: DUP11 00000e6f: PUSH2 0x4a81 00000e72: JUMP 00000e73: JUMPDEST 00000e74: PUSH1 0x40 00000e76: MLOAD 00000e77: PUSH2 0x0e85 00000e7a: SWAP7 00000e7b: SWAP6 00000e7c: SWAP5 00000e7d: SWAP4 00000e7e: SWAP3 00000e7f: SWAP2 00000e80: SWAP1 00000e81: PUSH2 0x4c36 00000e84: JUMP 00000e85: JUMPDEST 00000e86: PUSH1 0x40 00000e88: MLOAD 00000e89: DUP1 00000e8a: SWAP2 00000e8b: SUB 00000e8c: SWAP1 00000e8d: LOG1 00000e8e: POP 00000e8f: PUSH2 0x0e96 00000e92: PUSH2 0x3800 00000e95: JUMP 00000e96: JUMPDEST 00000e97: POP 00000e98: POP 00000e99: POP 00000e9a: JUMP 00000e9b: JUMPDEST 00000e9c: PUSH2 0x0ea3 00000e9f: PUSH2 0x3015 00000ea2: JUMP 00000ea3: JUMPDEST 00000ea4: PUSH0 00000ea5: JUMPDEST 00000ea6: DUP3 00000ea7: DUP2 00000ea8: LT 00000ea9: ISZERO 00000eaa: PUSH2 0x0fa6 00000ead: JUMPI 00000eae: PUSH0 00000eaf: PUSH1 0x0b 00000eb1: DUP2 00000eb2: DUP7 00000eb3: DUP7 00000eb4: DUP6 00000eb5: DUP2 00000eb6: DUP2 00000eb7: LT 00000eb8: PUSH2 0x0ec3 00000ebb: JUMPI 00000ebc: PUSH2 0x0ec3 00000ebf: PUSH2 0x4b62 00000ec2: JUMP 00000ec3: JUMPDEST 00000ec4: PUSH2 0x0ed9 00000ec7: SWAP3 00000ec8: PUSH1 0x20 00000eca: PUSH1 0x40 00000ecc: SWAP1 00000ecd: SWAP3 00000ece: MUL 00000ecf: ADD 00000ed0: SWAP1 00000ed1: DUP2 00000ed2: ADD 00000ed3: SWAP2 00000ed4: POP 00000ed5: PUSH2 0x44e9 00000ed8: JUMP 00000ed9: JUMPDEST 00000eda: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eef: SWAP1 00000ef0: DUP2 00000ef1: AND 00000ef2: DUP3 00000ef3: MSTORE 00000ef4: PUSH1 0x20 00000ef6: DUP3 00000ef7: ADD 00000ef8: SWAP3 00000ef9: SWAP1 00000efa: SWAP3 00000efb: MSTORE 00000efc: PUSH1 0x40 00000efe: ADD 00000eff: PUSH0 00000f00: KECCAK256 00000f01: SLOAD 00000f02: AND 00000f03: SUB 00000f04: PUSH2 0x0f39 00000f07: JUMPI 00000f08: PUSH1 0x40 00000f0a: MLOAD 00000f0b: PUSH32 0xa7466cd800000000000000000000000000000000000000000000000000000000 00000f2c: DUP2 00000f2d: MSTORE 00000f2e: PUSH1 0x04 00000f30: ADD 00000f31: PUSH1 0x40 00000f33: MLOAD 00000f34: DUP1 00000f35: SWAP2 00000f36: SUB 00000f37: SWAP1 00000f38: REVERT 00000f39: JUMPDEST 00000f3a: PUSH2 0x0f9e 00000f3d: DUP3 00000f3e: DUP6 00000f3f: DUP6 00000f40: DUP5 00000f41: DUP2 00000f42: DUP2 00000f43: LT 00000f44: PUSH2 0x0f4f 00000f47: JUMPI 00000f48: PUSH2 0x0f4f 00000f4b: PUSH2 0x4b62 00000f4e: JUMP 00000f4f: JUMPDEST 00000f50: SWAP1 00000f51: POP 00000f52: PUSH1 0x40 00000f54: MUL 00000f55: ADD 00000f56: PUSH1 0x20 00000f58: ADD 00000f59: CALLDATALOAD 00000f5a: DUP7 00000f5b: DUP7 00000f5c: DUP6 00000f5d: DUP2 00000f5e: DUP2 00000f5f: LT 00000f60: PUSH2 0x0f6b 00000f63: JUMPI 00000f64: PUSH2 0x0f6b 00000f67: PUSH2 0x4b62 00000f6a: JUMP 00000f6b: JUMPDEST 00000f6c: PUSH2 0x0f81 00000f6f: SWAP3 00000f70: PUSH1 0x20 00000f72: PUSH1 0x40 00000f74: SWAP1 00000f75: SWAP3 00000f76: MUL 00000f77: ADD 00000f78: SWAP1 00000f79: DUP2 00000f7a: ADD 00000f7b: SWAP2 00000f7c: POP 00000f7d: PUSH2 0x44e9 00000f80: JUMP 00000f81: JUMPDEST 00000f82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f97: AND 00000f98: SWAP2 00000f99: SWAP1 00000f9a: PUSH2 0x382a 00000f9d: JUMP 00000f9e: JUMPDEST 00000f9f: PUSH1 0x01 00000fa1: ADD 00000fa2: PUSH2 0x0ea5 00000fa5: JUMP 00000fa6: JUMPDEST 00000fa7: POP 00000fa8: POP 00000fa9: POP 00000faa: POP 00000fab: JUMP 00000fac: JUMPDEST 00000fad: PUSH2 0x0fb4 00000fb0: PUSH2 0x3015 00000fb3: JUMP 00000fb4: JUMPDEST 00000fb5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fca: DUP4 00000fcb: AND 00000fcc: ISZERO 00000fcd: DUP1 00000fce: ISZERO 00000fcf: SWAP1 00000fd0: PUSH2 0x0fee 00000fd3: JUMPI 00000fd4: POP 00000fd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fea: DUP3 00000feb: AND 00000fec: ISZERO 00000fed: ISZERO 00000fee: JUMPDEST 00000fef: PUSH2 0x1024 00000ff2: JUMPI 00000ff3: PUSH1 0x40 00000ff5: MLOAD 00000ff6: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 00001017: DUP2 00001018: MSTORE 00001019: PUSH1 0x04 0000101b: ADD 0000101c: PUSH1 0x40 0000101e: MLOAD 0000101f: DUP1 00001020: SWAP2 00001021: SUB 00001022: SWAP1 00001023: REVERT 00001024: JUMPDEST 00001025: DUP2 00001026: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000103b: AND 0000103c: DUP4 0000103d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001052: AND 00001053: SUB 00001054: PUSH2 0x1089 00001057: JUMPI 00001058: PUSH1 0x40 0000105a: MLOAD 0000105b: PUSH32 0x88b43fad00000000000000000000000000000000000000000000000000000000 0000107c: DUP2 0000107d: MSTORE 0000107e: PUSH1 0x04 00001080: ADD 00001081: PUSH1 0x40 00001083: MLOAD 00001084: DUP1 00001085: SWAP2 00001086: SUB 00001087: SWAP1 00001088: REVERT 00001089: JUMPDEST 0000108a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000109f: DUP4 000010a0: DUP2 000010a1: AND 000010a2: PUSH0 000010a3: DUP2 000010a4: DUP2 000010a5: MSTORE 000010a6: PUSH1 0x14 000010a8: PUSH1 0x20 000010aa: SWAP1 000010ab: DUP2 000010ac: MSTORE 000010ad: PUSH1 0x40 000010af: DUP1 000010b0: DUP4 000010b1: KECCAK256 000010b2: DUP1 000010b3: SLOAD 000010b4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000010d5: AND 000010d6: DUP8 000010d7: ISZERO 000010d8: ISZERO 000010d9: SWAP1 000010da: DUP2 000010db: OR 000010dc: SWAP1 000010dd: SWAP2 000010de: SSTORE 000010df: PUSH1 0x15 000010e1: DUP4 000010e2: MSTORE 000010e3: SWAP3 000010e4: DUP2 000010e5: SWAP1 000010e6: KECCAK256 000010e7: DUP1 000010e8: SLOAD 000010e9: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 0000110a: AND 0000110b: SWAP6 0000110c: DUP9 0000110d: AND 0000110e: SWAP6 0000110f: SWAP1 00001110: SWAP6 00001111: OR 00001112: SWAP1 00001113: SWAP5 00001114: SSTORE 00001115: DUP4 00001116: MLOAD 00001117: SWAP3 00001118: DUP4 00001119: MSTORE 0000111a: DUP3 0000111b: ADD 0000111c: MSTORE 0000111d: PUSH32 0x81e020344174972c59f6c11a8f6c90b141866214e3d9b544d030f0b532f5a10f 0000113e: SWAP2 0000113f: ADD 00001140: JUMPDEST 00001141: PUSH1 0x40 00001143: MLOAD 00001144: DUP1 00001145: SWAP2 00001146: SUB 00001147: SWAP1 00001148: LOG1 00001149: POP 0000114a: POP 0000114b: POP 0000114c: JUMP 0000114d: JUMPDEST 0000114e: PUSH2 0x115d 00001151: PUSH1 0x60 00001153: DUP5 00001154: ADD 00001155: PUSH1 0x40 00001157: DUP6 00001158: ADD 00001159: PUSH2 0x44e9 0000115c: JUMP 0000115d: JUMPDEST 0000115e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001173: DUP2 00001174: AND 00001175: PUSH0 00001176: SWAP1 00001177: DUP2 00001178: MSTORE 00001179: PUSH1 0x10 0000117b: PUSH1 0x20 0000117d: MSTORE 0000117e: PUSH1 0x40 00001180: SWAP1 00001181: KECCAK256 00001182: SLOAD 00001183: PUSH1 0xff 00001185: AND 00001186: DUP1 00001187: ISZERO 00001188: PUSH2 0x11a6 0000118b: JUMPI 0000118c: POP 0000118d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011a2: DUP2 000011a3: AND 000011a4: CALLER 000011a5: EQ 000011a6: JUMPDEST 000011a7: DUP1 000011a8: PUSH2 0x1205 000011ab: JUMPI 000011ac: POP 000011ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011c2: DUP2 000011c3: AND 000011c4: PUSH0 000011c5: SWAP1 000011c6: DUP2 000011c7: MSTORE 000011c8: PUSH1 0x10 000011ca: PUSH1 0x20 000011cc: MSTORE 000011cd: PUSH1 0x40 000011cf: SWAP1 000011d0: KECCAK256 000011d1: SLOAD 000011d2: PUSH1 0xff 000011d4: AND 000011d5: DUP1 000011d6: ISZERO 000011d7: PUSH2 0x1205 000011da: JUMPI 000011db: POP 000011dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011f1: DUP2 000011f2: DUP2 000011f3: AND 000011f4: PUSH0 000011f5: SWAP1 000011f6: DUP2 000011f7: MSTORE 000011f8: PUSH1 0x11 000011fa: PUSH1 0x20 000011fc: MSTORE 000011fd: PUSH1 0x40 000011ff: SWAP1 00001200: KECCAK256 00001201: SLOAD 00001202: AND 00001203: CALLER 00001204: EQ 00001205: JUMPDEST 00001206: PUSH2 0x123b 00001209: JUMPI 0000120a: PUSH1 0x40 0000120c: MLOAD 0000120d: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000 0000122e: DUP2 0000122f: MSTORE 00001230: PUSH1 0x04 00001232: ADD 00001233: PUSH1 0x40 00001235: MLOAD 00001236: DUP1 00001237: SWAP2 00001238: SUB 00001239: SWAP1 0000123a: REVERT 0000123b: JUMPDEST 0000123c: PUSH2 0x1243 0000123f: PUSH2 0x3096 00001242: JUMP 00001243: JUMPDEST 00001244: PUSH2 0x124e 00001247: DUP5 00001248: DUP5 00001249: DUP5 0000124a: PUSH2 0x3880 0000124d: JUMP 0000124e: JUMPDEST 0000124f: PUSH0 00001250: JUMPDEST 00001251: PUSH2 0x125d 00001254: PUSH1 0x60 00001256: DUP7 00001257: ADD 00001258: DUP7 00001259: PUSH2 0x4a81 0000125c: JUMP 0000125d: JUMPDEST 0000125e: SWAP1 0000125f: POP 00001260: DUP2 00001261: LT 00001262: ISZERO 00001263: PUSH2 0x1352 00001266: JUMPI 00001267: PUSH2 0x1273 0000126a: PUSH1 0x60 0000126c: DUP7 0000126d: ADD 0000126e: DUP7 0000126f: PUSH2 0x4a81 00001272: JUMP 00001273: JUMPDEST 00001274: DUP3 00001275: DUP2 00001276: DUP2 00001277: LT 00001278: PUSH2 0x1283 0000127b: JUMPI 0000127c: PUSH2 0x1283 0000127f: PUSH2 0x4b62 00001282: JUMP 00001283: JUMPDEST 00001284: SWAP1 00001285: POP 00001286: PUSH1 0x40 00001288: MUL 00001289: ADD 0000128a: PUSH1 0x20 0000128c: ADD 0000128d: CALLDATALOAD 0000128e: PUSH1 0x0e 00001290: PUSH0 00001291: DUP8 00001292: PUSH1 0x40 00001294: ADD 00001295: PUSH1 0x20 00001297: DUP2 00001298: ADD 00001299: SWAP1 0000129a: PUSH2 0x12a3 0000129d: SWAP2 0000129e: SWAP1 0000129f: PUSH2 0x44e9 000012a2: JUMP 000012a3: JUMPDEST 000012a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012b9: AND 000012ba: DUP2 000012bb: MSTORE 000012bc: PUSH1 0x20 000012be: DUP2 000012bf: ADD 000012c0: SWAP2 000012c1: SWAP1 000012c2: SWAP2 000012c3: MSTORE 000012c4: PUSH1 0x40 000012c6: ADD 000012c7: PUSH0 000012c8: SWAP1 000012c9: DUP2 000012ca: KECCAK256 000012cb: SWAP1 000012cc: PUSH2 0x12d8 000012cf: PUSH1 0x60 000012d1: DUP10 000012d2: ADD 000012d3: DUP10 000012d4: PUSH2 0x4a81 000012d7: JUMP 000012d8: JUMPDEST 000012d9: DUP6 000012da: DUP2 000012db: DUP2 000012dc: LT 000012dd: PUSH2 0x12e8 000012e0: JUMPI 000012e1: PUSH2 0x12e8 000012e4: PUSH2 0x4b62 000012e7: JUMP 000012e8: JUMPDEST 000012e9: PUSH2 0x12fe 000012ec: SWAP3 000012ed: PUSH1 0x20 000012ef: PUSH1 0x40 000012f1: SWAP1 000012f2: SWAP3 000012f3: MUL 000012f4: ADD 000012f5: SWAP1 000012f6: DUP2 000012f7: ADD 000012f8: SWAP2 000012f9: POP 000012fa: PUSH2 0x44e9 000012fd: JUMP 000012fe: JUMPDEST 000012ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001314: AND 00001315: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000132a: AND 0000132b: DUP2 0000132c: MSTORE 0000132d: PUSH1 0x20 0000132f: ADD 00001330: SWAP1 00001331: DUP2 00001332: MSTORE 00001333: PUSH1 0x20 00001335: ADD 00001336: PUSH0 00001337: KECCAK256 00001338: PUSH0 00001339: DUP3 0000133a: DUP3 0000133b: SLOAD 0000133c: PUSH2 0x1345 0000133f: SWAP2 00001340: SWAP1 00001341: PUSH2 0x4b8f 00001344: JUMP 00001345: JUMPDEST 00001346: SWAP1 00001347: SWAP2 00001348: SSTORE 00001349: POP 0000134a: POP 0000134b: PUSH1 0x01 0000134d: ADD 0000134e: PUSH2 0x1250 00001351: JUMP 00001352: JUMPDEST 00001353: POP 00001354: PUSH0 00001355: PUSH1 0x12 00001357: DUP2 00001358: PUSH2 0x1367 0000135b: PUSH1 0x60 0000135d: DUP9 0000135e: ADD 0000135f: PUSH1 0x40 00001361: DUP10 00001362: ADD 00001363: PUSH2 0x44e9 00001366: JUMP 00001367: JUMPDEST 00001368: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000137d: SWAP1 0000137e: DUP2 0000137f: AND 00001380: DUP3 00001381: MSTORE 00001382: PUSH1 0x20 00001384: DUP3 00001385: ADD 00001386: SWAP3 00001387: SWAP1 00001388: SWAP3 00001389: MSTORE 0000138a: PUSH1 0x40 0000138c: ADD 0000138d: PUSH0 0000138e: SWAP1 0000138f: DUP2 00001390: KECCAK256 00001391: SLOAD 00001392: SWAP1 00001393: SWAP2 00001394: AND 00001395: SWAP2 00001396: POP 00001397: JUMPDEST 00001398: PUSH2 0x13a4 0000139b: PUSH1 0x60 0000139d: DUP8 0000139e: ADD 0000139f: DUP8 000013a0: PUSH2 0x4a81 000013a3: JUMP 000013a4: JUMPDEST 000013a5: SWAP1 000013a6: POP 000013a7: DUP2 000013a8: LT 000013a9: ISZERO 000013aa: PUSH2 0x1455 000013ad: JUMPI 000013ae: PUSH0 000013af: PUSH2 0x13bb 000013b2: PUSH1 0x60 000013b4: DUP9 000013b5: ADD 000013b6: DUP9 000013b7: PUSH2 0x4a81 000013ba: JUMP 000013bb: JUMPDEST 000013bc: DUP4 000013bd: DUP2 000013be: DUP2 000013bf: LT 000013c0: PUSH2 0x13cb 000013c3: JUMPI 000013c4: PUSH2 0x13cb 000013c7: PUSH2 0x4b62 000013ca: JUMP 000013cb: JUMPDEST 000013cc: PUSH2 0x13e1 000013cf: SWAP3 000013d0: PUSH1 0x20 000013d2: PUSH1 0x40 000013d4: SWAP1 000013d5: SWAP3 000013d6: MUL 000013d7: ADD 000013d8: SWAP1 000013d9: DUP2 000013da: ADD 000013db: SWAP2 000013dc: POP 000013dd: PUSH2 0x44e9 000013e0: JUMP 000013e1: JUMPDEST 000013e2: SWAP1 000013e3: POP 000013e4: PUSH0 000013e5: PUSH2 0x13f1 000013e8: PUSH1 0x60 000013ea: DUP10 000013eb: ADD 000013ec: DUP10 000013ed: PUSH2 0x4a81 000013f0: JUMP 000013f1: JUMPDEST 000013f2: DUP5 000013f3: DUP2 000013f4: DUP2 000013f5: LT 000013f6: PUSH2 0x1401 000013f9: JUMPI 000013fa: PUSH2 0x1401 000013fd: PUSH2 0x4b62 00001400: JUMP 00001401: JUMPDEST 00001402: SWAP1 00001403: POP 00001404: PUSH1 0x40 00001406: MUL 00001407: ADD 00001408: PUSH1 0x20 0000140a: ADD 0000140b: CALLDATALOAD 0000140c: SWAP1 0000140d: POP 0000140e: PUSH2 0x142a 00001411: DUP9 00001412: PUSH1 0x40 00001414: ADD 00001415: PUSH1 0x20 00001417: DUP2 00001418: ADD 00001419: SWAP1 0000141a: PUSH2 0x1423 0000141d: SWAP2 0000141e: SWAP1 0000141f: PUSH2 0x44e9 00001422: JUMP 00001423: JUMPDEST 00001424: DUP4 00001425: DUP4 00001426: PUSH2 0x3698 00001429: JUMP 0000142a: JUMPDEST 0000142b: PUSH2 0x144b 0000142e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001443: DUP4 00001444: AND 00001445: DUP6 00001446: DUP4 00001447: PUSH2 0x37aa 0000144a: JUMP 0000144b: JUMPDEST 0000144c: POP 0000144d: POP 0000144e: PUSH1 0x01 00001450: ADD 00001451: PUSH2 0x1397 00001454: JUMP 00001455: JUMPDEST 00001456: POP 00001457: PUSH32 0x455917442c530b052ee826d2556fad794f64a294e455930a63599688abbffa3c 00001478: PUSH2 0x1487 0000147b: PUSH1 0x60 0000147d: DUP8 0000147e: ADD 0000147f: PUSH1 0x40 00001481: DUP9 00001482: ADD 00001483: PUSH2 0x44e9 00001486: JUMP 00001487: JUMPDEST 00001488: PUSH2 0x1494 0000148b: PUSH1 0x60 0000148d: DUP9 0000148e: ADD 0000148f: DUP9 00001490: PUSH2 0x4a81 00001493: JUMP 00001494: JUMPDEST 00001495: PUSH1 0x40 00001497: MLOAD 00001498: PUSH2 0x14a3 0000149b: SWAP4 0000149c: SWAP3 0000149d: SWAP2 0000149e: SWAP1 0000149f: PUSH2 0x4ca1 000014a2: JUMP 000014a3: JUMPDEST 000014a4: PUSH1 0x40 000014a6: MLOAD 000014a7: DUP1 000014a8: SWAP2 000014a9: SUB 000014aa: SWAP1 000014ab: LOG1 000014ac: POP 000014ad: PUSH2 0x0fa6 000014b0: PUSH2 0x3800 000014b3: JUMP 000014b4: JUMPDEST 000014b5: PUSH2 0x14bc 000014b8: PUSH2 0x3015 000014bb: JUMP 000014bc: JUMPDEST 000014bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014d2: DUP2 000014d3: AND 000014d4: PUSH2 0x1509 000014d7: JUMPI 000014d8: PUSH1 0x40 000014da: MLOAD 000014db: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 000014fc: DUP2 000014fd: MSTORE 000014fe: PUSH1 0x04 00001500: ADD 00001501: PUSH1 0x40 00001503: MLOAD 00001504: DUP1 00001505: SWAP2 00001506: SUB 00001507: SWAP1 00001508: REVERT 00001509: JUMPDEST 0000150a: PUSH1 0x05 0000150c: DUP1 0000150d: SLOAD 0000150e: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 0000152f: AND 00001530: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001545: DUP4 00001546: AND 00001547: SWAP1 00001548: DUP2 00001549: OR 0000154a: SWAP1 0000154b: SWAP2 0000154c: SSTORE 0000154d: PUSH1 0x40 0000154f: MLOAD 00001550: SWAP1 00001551: DUP2 00001552: MSTORE 00001553: PUSH32 0x9eaa897564d022fb8c5efaf0acdb5d9d27b440b2aad44400b6e1c702e65b9ed3 00001574: SWAP1 00001575: PUSH1 0x20 00001577: ADD 00001578: PUSH2 0x08b2 0000157b: JUMP 0000157c: JUMPDEST 0000157d: PUSH2 0x1584 00001580: PUSH2 0x3015 00001583: JUMP 00001584: JUMPDEST 00001585: PUSH2 0x158d 00001588: PUSH0 00001589: PUSH2 0x39aa 0000158c: JUMP 0000158d: JUMPDEST 0000158e: JUMP 0000158f: JUMPDEST 00001590: CALLER 00001591: PUSH0 00001592: SWAP1 00001593: DUP2 00001594: MSTORE 00001595: PUSH1 0x08 00001597: PUSH1 0x20 00001599: MSTORE 0000159a: PUSH1 0x40 0000159c: SWAP1 0000159d: KECCAK256 0000159e: SLOAD 0000159f: PUSH1 0xff 000015a1: AND 000015a2: PUSH2 0x15d7 000015a5: JUMPI 000015a6: PUSH1 0x40 000015a8: MLOAD 000015a9: PUSH32 0xd687c5f200000000000000000000000000000000000000000000000000000000 000015ca: DUP2 000015cb: MSTORE 000015cc: PUSH1 0x04 000015ce: ADD 000015cf: PUSH1 0x40 000015d1: MLOAD 000015d2: DUP1 000015d3: SWAP2 000015d4: SUB 000015d5: SWAP1 000015d6: REVERT 000015d7: JUMPDEST 000015d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015ed: DUP5 000015ee: DUP2 000015ef: AND 000015f0: PUSH0 000015f1: SWAP1 000015f2: DUP2 000015f3: MSTORE 000015f4: PUSH1 0x0b 000015f6: PUSH1 0x20 000015f8: MSTORE 000015f9: PUSH1 0x40 000015fb: SWAP1 000015fc: KECCAK256 000015fd: SLOAD 000015fe: AND 000015ff: ISZERO 00001600: DUP1 00001601: ISZERO 00001602: SWAP1 00001603: PUSH2 0x1631 00001606: JUMPI 00001607: POP 00001608: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000161d: DUP3 0000161e: DUP2 0000161f: AND 00001620: PUSH0 00001621: SWAP1 00001622: DUP2 00001623: MSTORE 00001624: PUSH1 0x0b 00001626: PUSH1 0x20 00001628: MSTORE 00001629: PUSH1 0x40 0000162b: SWAP1 0000162c: KECCAK256 0000162d: SLOAD 0000162e: AND 0000162f: ISZERO 00001630: ISZERO 00001631: JUMPDEST 00001632: PUSH2 0x1667 00001635: JUMPI 00001636: PUSH1 0x40 00001638: MLOAD 00001639: PUSH32 0xa7466cd800000000000000000000000000000000000000000000000000000000 0000165a: DUP2 0000165b: MSTORE 0000165c: PUSH1 0x04 0000165e: ADD 0000165f: PUSH1 0x40 00001661: MLOAD 00001662: DUP1 00001663: SWAP2 00001664: SUB 00001665: SWAP1 00001666: REVERT 00001667: JUMPDEST 00001668: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000167d: DUP1 0000167e: DUP7 0000167f: AND 00001680: PUSH0 00001681: SWAP1 00001682: DUP2 00001683: MSTORE 00001684: PUSH1 0x0d 00001686: PUSH1 0x20 00001688: SWAP1 00001689: DUP2 0000168a: MSTORE 0000168b: PUSH1 0x40 0000168d: DUP1 0000168e: DUP4 0000168f: KECCAK256 00001690: SWAP4 00001691: DUP9 00001692: AND 00001693: DUP4 00001694: MSTORE 00001695: SWAP3 00001696: SWAP1 00001697: MSTORE 00001698: SWAP1 00001699: DUP2 0000169a: KECCAK256 0000169b: DUP1 0000169c: SLOAD 0000169d: DUP6 0000169e: SWAP3 0000169f: SWAP1 000016a0: PUSH2 0x16aa 000016a3: SWAP1 000016a4: DUP5 000016a5: SWAP1 000016a6: PUSH2 0x4cd9 000016a9: JUMP 000016aa: JUMPDEST 000016ab: SWAP1 000016ac: SWAP2 000016ad: SSTORE 000016ae: POP 000016af: POP 000016b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c5: DUP1 000016c6: DUP7 000016c7: AND 000016c8: PUSH0 000016c9: SWAP1 000016ca: DUP2 000016cb: MSTORE 000016cc: PUSH1 0x0d 000016ce: PUSH1 0x20 000016d0: SWAP1 000016d1: DUP2 000016d2: MSTORE 000016d3: PUSH1 0x40 000016d5: DUP1 000016d6: DUP4 000016d7: KECCAK256 000016d8: SWAP4 000016d9: DUP7 000016da: AND 000016db: DUP4 000016dc: MSTORE 000016dd: SWAP3 000016de: SWAP1 000016df: MSTORE 000016e0: SWAP1 000016e1: DUP2 000016e2: KECCAK256 000016e3: DUP1 000016e4: SLOAD 000016e5: DUP4 000016e6: SWAP3 000016e7: SWAP1 000016e8: PUSH2 0x16f2 000016eb: SWAP1 000016ec: DUP5 000016ed: SWAP1 000016ee: PUSH2 0x4d00 000016f1: JUMP 000016f2: JUMPDEST 000016f3: SWAP1 000016f4: SWAP2 000016f5: SSTORE 000016f6: POP 000016f7: POP 000016f8: POP 000016f9: POP 000016fa: POP 000016fb: POP 000016fc: POP 000016fd: JUMP 000016fe: JUMPDEST 000016ff: PUSH2 0x1706 00001702: PUSH2 0x3015 00001705: JUMP 00001706: JUMPDEST 00001707: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000171c: DUP2 0000171d: AND 0000171e: PUSH2 0x1753 00001721: JUMPI 00001722: PUSH1 0x40 00001724: MLOAD 00001725: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 00001746: DUP2 00001747: MSTORE 00001748: PUSH1 0x04 0000174a: ADD 0000174b: PUSH1 0x40 0000174d: MLOAD 0000174e: DUP1 0000174f: SWAP2 00001750: SUB 00001751: SWAP1 00001752: REVERT 00001753: JUMPDEST 00001754: PUSH1 0x06 00001756: DUP1 00001757: SLOAD 00001758: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001779: AND 0000177a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000178f: DUP4 00001790: AND 00001791: SWAP1 00001792: DUP2 00001793: OR 00001794: SWAP1 00001795: SWAP2 00001796: SSTORE 00001797: PUSH1 0x40 00001799: MLOAD 0000179a: SWAP1 0000179b: DUP2 0000179c: MSTORE 0000179d: PUSH32 0x538bd377a1e0d2ceca49908f540bafa1d8616cf49a7bcefcd0b479e7531ff8aa 000017be: SWAP1 000017bf: PUSH1 0x20 000017c1: ADD 000017c2: PUSH2 0x08b2 000017c5: JUMP 000017c6: JUMPDEST 000017c7: PUSH1 0x03 000017c9: SLOAD 000017ca: CALLER 000017cb: SWAP1 000017cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017e1: AND 000017e2: DUP2 000017e3: EQ 000017e4: PUSH2 0x1874 000017e7: JUMPI 000017e8: PUSH1 0x40 000017ea: MLOAD 000017eb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000180c: DUP2 0000180d: MSTORE 0000180e: PUSH1 0x20 00001810: PUSH1 0x04 00001812: DUP3 00001813: ADD 00001814: MSTORE 00001815: PUSH1 0x29 00001817: PUSH1 0x24 00001819: DUP3 0000181a: ADD 0000181b: MSTORE 0000181c: PUSH32 0x4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520 0000183d: PUSH1 0x44 0000183f: DUP3 00001840: ADD 00001841: MSTORE 00001842: PUSH32 0x6e6577206f776e65720000000000000000000000000000000000000000000000 00001863: PUSH1 0x64 00001865: DUP3 00001866: ADD 00001867: MSTORE 00001868: PUSH1 0x84 0000186a: ADD 0000186b: JUMPDEST 0000186c: PUSH1 0x40 0000186e: MLOAD 0000186f: DUP1 00001870: SWAP2 00001871: SUB 00001872: SWAP1 00001873: REVERT 00001874: JUMPDEST 00001875: PUSH2 0x187d 00001878: DUP2 00001879: PUSH2 0x39aa 0000187c: JUMP 0000187d: JUMPDEST 0000187e: POP 0000187f: JUMP 00001880: JUMPDEST 00001881: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001896: DUP2 00001897: AND 00001898: PUSH0 00001899: SWAP1 0000189a: DUP2 0000189b: MSTORE 0000189c: PUSH1 0x10 0000189e: PUSH1 0x20 000018a0: MSTORE 000018a1: PUSH1 0x40 000018a3: SWAP1 000018a4: KECCAK256 000018a5: SLOAD 000018a6: DUP2 000018a7: SWAP1 000018a8: PUSH1 0xff 000018aa: AND 000018ab: DUP1 000018ac: ISZERO 000018ad: PUSH2 0x18cb 000018b0: JUMPI 000018b1: POP 000018b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018c7: DUP2 000018c8: AND 000018c9: CALLER 000018ca: EQ 000018cb: JUMPDEST 000018cc: DUP1 000018cd: PUSH2 0x192a 000018d0: JUMPI 000018d1: POP 000018d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018e7: DUP2 000018e8: AND 000018e9: PUSH0 000018ea: SWAP1 000018eb: DUP2 000018ec: MSTORE 000018ed: PUSH1 0x10 000018ef: PUSH1 0x20 000018f1: MSTORE 000018f2: PUSH1 0x40 000018f4: SWAP1 000018f5: KECCAK256 000018f6: SLOAD 000018f7: PUSH1 0xff 000018f9: AND 000018fa: DUP1 000018fb: ISZERO 000018fc: PUSH2 0x192a 000018ff: JUMPI 00001900: POP 00001901: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001916: DUP2 00001917: DUP2 00001918: AND 00001919: PUSH0 0000191a: SWAP1 0000191b: DUP2 0000191c: MSTORE 0000191d: PUSH1 0x11 0000191f: PUSH1 0x20 00001921: MSTORE 00001922: PUSH1 0x40 00001924: SWAP1 00001925: KECCAK256 00001926: SLOAD 00001927: AND 00001928: CALLER 00001929: EQ 0000192a: JUMPDEST 0000192b: PUSH2 0x1960 0000192e: JUMPI 0000192f: PUSH1 0x40 00001931: MLOAD 00001932: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000 00001953: DUP2 00001954: MSTORE 00001955: PUSH1 0x04 00001957: ADD 00001958: PUSH1 0x40 0000195a: MLOAD 0000195b: DUP1 0000195c: SWAP2 0000195d: SUB 0000195e: SWAP1 0000195f: REVERT 00001960: JUMPDEST 00001961: PUSH2 0x1968 00001964: PUSH2 0x3096 00001967: JUMP 00001968: JUMPDEST 00001969: PUSH2 0x19c3 0000196c: DUP5 0000196d: DUP5 0000196e: DUP1 0000196f: DUP1 00001970: PUSH1 0x20 00001972: MUL 00001973: PUSH1 0x20 00001975: ADD 00001976: PUSH1 0x40 00001978: MLOAD 00001979: SWAP1 0000197a: DUP2 0000197b: ADD 0000197c: PUSH1 0x40 0000197e: MSTORE 0000197f: DUP1 00001980: SWAP4 00001981: SWAP3 00001982: SWAP2 00001983: SWAP1 00001984: DUP2 00001985: DUP2 00001986: MSTORE 00001987: PUSH1 0x20 00001989: ADD 0000198a: PUSH0 0000198b: SWAP1 0000198c: JUMPDEST 0000198d: DUP3 0000198e: DUP3 0000198f: LT 00001990: ISZERO 00001991: PUSH2 0x19b8 00001994: JUMPI 00001995: PUSH2 0x19a9 00001998: PUSH1 0x40 0000199a: DUP4 0000199b: MUL 0000199c: DUP7 0000199d: ADD 0000199e: CALLDATASIZE 0000199f: DUP2 000019a0: SWAP1 000019a1: SUB 000019a2: DUP2 000019a3: ADD 000019a4: SWAP1 000019a5: PUSH2 0x4ae5 000019a8: JUMP 000019a9: JUMPDEST 000019aa: DUP2 000019ab: MSTORE 000019ac: PUSH1 0x20 000019ae: ADD 000019af: SWAP1 000019b0: PUSH1 0x01 000019b2: ADD 000019b3: SWAP1 000019b4: PUSH2 0x198c 000019b7: JUMP 000019b8: JUMPDEST 000019b9: POP 000019ba: POP 000019bb: POP 000019bc: POP 000019bd: POP 000019be: DUP4 000019bf: PUSH2 0x335f 000019c2: JUMP 000019c3: JUMPDEST 000019c4: PUSH0 000019c5: JUMPDEST 000019c6: DUP4 000019c7: DUP2 000019c8: LT 000019c9: ISZERO 000019ca: PUSH2 0x1a44 000019cd: JUMPI 000019ce: PUSH2 0x1a3c 000019d1: CALLER 000019d2: ADDRESS 000019d3: PUSH2 0x19f6 000019d6: DUP9 000019d7: DUP9 000019d8: DUP7 000019d9: DUP2 000019da: DUP2 000019db: LT 000019dc: PUSH2 0x19e7 000019df: JUMPI 000019e0: PUSH2 0x19e7 000019e3: PUSH2 0x4b62 000019e6: JUMP 000019e7: JUMPDEST 000019e8: SWAP1 000019e9: POP 000019ea: PUSH1 0x40 000019ec: MUL 000019ed: ADD 000019ee: PUSH1 0x20 000019f0: ADD 000019f1: CALLDATALOAD 000019f2: PUSH2 0x354d 000019f5: JUMP 000019f6: JUMPDEST 000019f7: DUP9 000019f8: DUP9 000019f9: DUP7 000019fa: DUP2 000019fb: DUP2 000019fc: LT 000019fd: PUSH2 0x1a08 00001a00: JUMPI 00001a01: PUSH2 0x1a08 00001a04: PUSH2 0x4b62 00001a07: JUMP 00001a08: JUMPDEST 00001a09: PUSH2 0x1a1e 00001a0c: SWAP3 00001a0d: PUSH1 0x20 00001a0f: PUSH1 0x40 00001a11: SWAP1 00001a12: SWAP3 00001a13: MUL 00001a14: ADD 00001a15: SWAP1 00001a16: DUP2 00001a17: ADD 00001a18: SWAP2 00001a19: POP 00001a1a: PUSH2 0x44e9 00001a1d: JUMP 00001a1e: JUMPDEST 00001a1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a34: AND 00001a35: SWAP3 00001a36: SWAP2 00001a37: SWAP1 00001a38: PUSH2 0x35bc 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: PUSH1 0x01 00001a3f: ADD 00001a40: PUSH2 0x19c5 00001a43: JUMP 00001a44: JUMPDEST 00001a45: POP 00001a46: PUSH32 0xc8aa82285b2a9e22e0bda601a759e4f578e78f18015e543a4f66bb120a726953 00001a67: DUP3 00001a68: DUP6 00001a69: DUP6 00001a6a: PUSH1 0x40 00001a6c: MLOAD 00001a6d: PUSH2 0x1a78 00001a70: SWAP4 00001a71: SWAP3 00001a72: SWAP2 00001a73: SWAP1 00001a74: PUSH2 0x4ca1 00001a77: JUMP 00001a78: JUMPDEST 00001a79: PUSH1 0x40 00001a7b: MLOAD 00001a7c: DUP1 00001a7d: SWAP2 00001a7e: SUB 00001a7f: SWAP1 00001a80: LOG1 00001a81: PUSH2 0x0fa6 00001a84: PUSH2 0x3800 00001a87: JUMP 00001a88: JUMPDEST 00001a89: PUSH0 00001a8a: PUSH1 0x60 00001a8c: DUP1 00001a8d: DUP3 00001a8e: DUP1 00001a8f: DUP1 00001a90: DUP4 00001a91: PUSH2 0x1aba 00001a94: PUSH32 0x4e617469766520437265646974205661756c7400000000000000000000000013 00001ab5: DUP4 00001ab6: PUSH2 0x39db 00001ab9: JUMP 00001aba: JUMPDEST 00001abb: PUSH2 0x1ae5 00001abe: PUSH32 0x3100000000000000000000000000000000000000000000000000000000000001 00001adf: PUSH1 0x01 00001ae1: PUSH2 0x39db 00001ae4: JUMP 00001ae5: JUMPDEST 00001ae6: PUSH1 0x40 00001ae8: DUP1 00001ae9: MLOAD 00001aea: PUSH0 00001aeb: DUP1 00001aec: DUP3 00001aed: MSTORE 00001aee: PUSH1 0x20 00001af0: DUP3 00001af1: ADD 00001af2: SWAP1 00001af3: SWAP3 00001af4: MSTORE 00001af5: PUSH32 0x0f00000000000000000000000000000000000000000000000000000000000000 00001b16: SWAP12 00001b17: SWAP4 00001b18: SWAP11 00001b19: POP 00001b1a: SWAP2 00001b1b: SWAP9 00001b1c: POP 00001b1d: CHAINID 00001b1e: SWAP8 00001b1f: POP 00001b20: ADDRESS 00001b21: SWAP7 00001b22: POP 00001b23: SWAP5 00001b24: POP 00001b25: SWAP3 00001b26: POP 00001b27: SWAP1 00001b28: POP 00001b29: JUMP 00001b2a: JUMPDEST 00001b2b: PUSH1 0x07 00001b2d: DUP2 00001b2e: DUP2 00001b2f: SLOAD 00001b30: DUP2 00001b31: LT 00001b32: PUSH2 0x1b39 00001b35: JUMPI 00001b36: PUSH0 00001b37: DUP1 00001b38: REVERT 00001b39: JUMPDEST 00001b3a: PUSH0 00001b3b: SWAP2 00001b3c: DUP3 00001b3d: MSTORE 00001b3e: PUSH1 0x20 00001b40: SWAP1 00001b41: SWAP2 00001b42: KECCAK256 00001b43: ADD 00001b44: SLOAD 00001b45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b5a: AND 00001b5b: SWAP1 00001b5c: POP 00001b5d: DUP2 00001b5e: JUMP 00001b5f: JUMPDEST 00001b60: PUSH1 0x06 00001b62: SLOAD 00001b63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b78: AND 00001b79: CALLER 00001b7a: EQ 00001b7b: PUSH2 0x1bb0 00001b7e: JUMPI 00001b7f: PUSH1 0x40 00001b81: MLOAD 00001b82: PUSH32 0x16ced9a800000000000000000000000000000000000000000000000000000000 00001ba3: DUP2 00001ba4: MSTORE 00001ba5: PUSH1 0x04 00001ba7: ADD 00001ba8: PUSH1 0x40 00001baa: MLOAD 00001bab: DUP1 00001bac: SWAP2 00001bad: SUB 00001bae: SWAP1 00001baf: REVERT 00001bb0: JUMPDEST 00001bb1: PUSH0 00001bb2: JUMPDEST 00001bb3: DUP2 00001bb4: DUP2 00001bb5: LT 00001bb6: ISZERO 00001bb7: PUSH2 0x2101 00001bba: JUMPI 00001bbb: PUSH0 00001bbc: DUP4 00001bbd: DUP4 00001bbe: DUP4 00001bbf: DUP2 00001bc0: DUP2 00001bc1: LT 00001bc2: PUSH2 0x1bcd 00001bc5: JUMPI 00001bc6: PUSH2 0x1bcd 00001bc9: PUSH2 0x4b62 00001bcc: JUMP 00001bcd: JUMPDEST 00001bce: SWAP1 00001bcf: POP 00001bd0: PUSH1 0x20 00001bd2: MUL 00001bd3: DUP2 00001bd4: ADD 00001bd5: SWAP1 00001bd6: PUSH2 0x1bdf 00001bd9: SWAP2 00001bda: SWAP1 00001bdb: PUSH2 0x4d26 00001bde: JUMP 00001bdf: JUMPDEST 00001be0: PUSH2 0x1bed 00001be3: SWAP1 00001be4: PUSH1 0x20 00001be6: DUP2 00001be7: ADD 00001be8: SWAP1 00001be9: PUSH2 0x44e9 00001bec: JUMP 00001bed: JUMPDEST 00001bee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c03: DUP2 00001c04: AND 00001c05: PUSH0 00001c06: SWAP1 00001c07: DUP2 00001c08: MSTORE 00001c09: PUSH1 0x0a 00001c0b: PUSH1 0x20 00001c0d: MSTORE 00001c0e: PUSH1 0x40 00001c10: SWAP1 00001c11: KECCAK256 00001c12: SLOAD 00001c13: SWAP1 00001c14: SWAP2 00001c15: POP 00001c16: PUSH2 0x7080 00001c19: SWAP1 00001c1a: PUSH2 0x1c23 00001c1d: SWAP1 00001c1e: TIMESTAMP 00001c1f: PUSH2 0x4b8f 00001c22: JUMP 00001c23: JUMPDEST 00001c24: LT 00001c25: ISZERO 00001c26: PUSH2 0x1c5b 00001c29: JUMPI 00001c2a: PUSH1 0x40 00001c2c: MLOAD 00001c2d: PUSH32 0x0dc2dde400000000000000000000000000000000000000000000000000000000 00001c4e: DUP2 00001c4f: MSTORE 00001c50: PUSH1 0x04 00001c52: ADD 00001c53: PUSH1 0x40 00001c55: MLOAD 00001c56: DUP1 00001c57: SWAP2 00001c58: SUB 00001c59: SWAP1 00001c5a: REVERT 00001c5b: JUMPDEST 00001c5c: PUSH0 00001c5d: JUMPDEST 00001c5e: DUP5 00001c5f: DUP5 00001c60: DUP5 00001c61: DUP2 00001c62: DUP2 00001c63: LT 00001c64: PUSH2 0x1c6f 00001c67: JUMPI 00001c68: PUSH2 0x1c6f 00001c6b: PUSH2 0x4b62 00001c6e: JUMP 00001c6f: JUMPDEST 00001c70: SWAP1 00001c71: POP 00001c72: PUSH1 0x20 00001c74: MUL 00001c75: DUP2 00001c76: ADD 00001c77: SWAP1 00001c78: PUSH2 0x1c81 00001c7b: SWAP2 00001c7c: SWAP1 00001c7d: PUSH2 0x4d26 00001c80: JUMP 00001c81: JUMPDEST 00001c82: PUSH2 0x1c8f 00001c85: SWAP1 00001c86: PUSH1 0x20 00001c88: DUP2 00001c89: ADD 00001c8a: SWAP1 00001c8b: PUSH2 0x4d62 00001c8e: JUMP 00001c8f: JUMPDEST 00001c90: SWAP1 00001c91: POP 00001c92: DUP2 00001c93: LT 00001c94: ISZERO 00001c95: PUSH2 0x20d2 00001c98: JUMPI 00001c99: PUSH0 00001c9a: DUP6 00001c9b: DUP6 00001c9c: DUP6 00001c9d: DUP2 00001c9e: DUP2 00001c9f: LT 00001ca0: PUSH2 0x1cab 00001ca3: JUMPI 00001ca4: PUSH2 0x1cab 00001ca7: PUSH2 0x4b62 00001caa: JUMP 00001cab: JUMPDEST 00001cac: SWAP1 00001cad: POP 00001cae: PUSH1 0x20 00001cb0: MUL 00001cb1: DUP2 00001cb2: ADD 00001cb3: SWAP1 00001cb4: PUSH2 0x1cbd 00001cb7: SWAP2 00001cb8: SWAP1 00001cb9: PUSH2 0x4d26 00001cbc: JUMP 00001cbd: JUMPDEST 00001cbe: PUSH2 0x1ccb 00001cc1: SWAP1 00001cc2: PUSH1 0x20 00001cc4: DUP2 00001cc5: ADD 00001cc6: SWAP1 00001cc7: PUSH2 0x4d62 00001cca: JUMP 00001ccb: JUMPDEST 00001ccc: DUP4 00001ccd: DUP2 00001cce: DUP2 00001ccf: LT 00001cd0: PUSH2 0x1cdb 00001cd3: JUMPI 00001cd4: PUSH2 0x1cdb 00001cd7: PUSH2 0x4b62 00001cda: JUMP 00001cdb: JUMPDEST 00001cdc: PUSH2 0x1cf1 00001cdf: SWAP3 00001ce0: PUSH1 0x20 00001ce2: PUSH1 0x60 00001ce4: SWAP1 00001ce5: SWAP3 00001ce6: MUL 00001ce7: ADD 00001ce8: SWAP1 00001ce9: DUP2 00001cea: ADD 00001ceb: SWAP2 00001cec: POP 00001ced: PUSH2 0x44e9 00001cf0: JUMP 00001cf1: JUMPDEST 00001cf2: SWAP1 00001cf3: POP 00001cf4: PUSH0 00001cf5: DUP7 00001cf6: DUP7 00001cf7: DUP7 00001cf8: DUP2 00001cf9: DUP2 00001cfa: LT 00001cfb: PUSH2 0x1d06 00001cfe: JUMPI 00001cff: PUSH2 0x1d06 00001d02: PUSH2 0x4b62 00001d05: JUMP 00001d06: JUMPDEST 00001d07: SWAP1 00001d08: POP 00001d09: PUSH1 0x20 00001d0b: MUL 00001d0c: DUP2 00001d0d: ADD 00001d0e: SWAP1 00001d0f: PUSH2 0x1d18 00001d12: SWAP2 00001d13: SWAP1 00001d14: PUSH2 0x4d26 00001d17: JUMP 00001d18: JUMPDEST 00001d19: PUSH2 0x1d26 00001d1c: SWAP1 00001d1d: PUSH1 0x20 00001d1f: DUP2 00001d20: ADD 00001d21: SWAP1 00001d22: PUSH2 0x4d62 00001d25: JUMP 00001d26: JUMPDEST 00001d27: DUP5 00001d28: DUP2 00001d29: DUP2 00001d2a: LT 00001d2b: PUSH2 0x1d36 00001d2e: JUMPI 00001d2f: PUSH2 0x1d36 00001d32: PUSH2 0x4b62 00001d35: JUMP 00001d36: JUMPDEST 00001d37: SWAP1 00001d38: POP 00001d39: PUSH1 0x60 00001d3b: MUL 00001d3c: ADD 00001d3d: PUSH1 0x20 00001d3f: ADD 00001d40: CALLDATALOAD 00001d41: SWAP1 00001d42: POP 00001d43: PUSH0 00001d44: DUP8 00001d45: DUP8 00001d46: DUP8 00001d47: DUP2 00001d48: DUP2 00001d49: LT 00001d4a: PUSH2 0x1d55 00001d4d: JUMPI 00001d4e: PUSH2 0x1d55 00001d51: PUSH2 0x4b62 00001d54: JUMP 00001d55: JUMPDEST 00001d56: SWAP1 00001d57: POP 00001d58: PUSH1 0x20 00001d5a: MUL 00001d5b: DUP2 00001d5c: ADD 00001d5d: SWAP1 00001d5e: PUSH2 0x1d67 00001d61: SWAP2 00001d62: SWAP1 00001d63: PUSH2 0x4d26 00001d66: JUMP 00001d67: JUMPDEST 00001d68: PUSH2 0x1d75 00001d6b: SWAP1 00001d6c: PUSH1 0x20 00001d6e: DUP2 00001d6f: ADD 00001d70: SWAP1 00001d71: PUSH2 0x4d62 00001d74: JUMP 00001d75: JUMPDEST 00001d76: DUP6 00001d77: DUP2 00001d78: DUP2 00001d79: LT 00001d7a: PUSH2 0x1d85 00001d7d: JUMPI 00001d7e: PUSH2 0x1d85 00001d81: PUSH2 0x4b62 00001d84: JUMP 00001d85: JUMPDEST 00001d86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d9b: DUP7 00001d9c: DUP2 00001d9d: AND 00001d9e: PUSH0 00001d9f: SWAP1 00001da0: DUP2 00001da1: MSTORE 00001da2: PUSH1 0x0b 00001da4: PUSH1 0x20 00001da6: MSTORE 00001da7: PUSH1 0x40 00001da9: SWAP1 00001daa: DUP2 00001dab: SWAP1 00001dac: KECCAK256 00001dad: SLOAD 00001dae: PUSH1 0x60 00001db0: SWAP1 00001db1: SWAP4 00001db2: MUL 00001db3: SWAP5 00001db4: SWAP1 00001db5: SWAP5 00001db6: ADD 00001db7: SWAP4 00001db8: SWAP1 00001db9: SWAP4 00001dba: ADD 00001dbb: CALLDATALOAD 00001dbc: SWAP4 00001dbd: POP 00001dbe: SWAP1 00001dbf: SWAP2 00001dc0: AND 00001dc1: SWAP1 00001dc2: POP 00001dc3: PUSH2 0x1df8 00001dc6: JUMPI 00001dc7: PUSH1 0x40 00001dc9: MLOAD 00001dca: PUSH32 0xa7466cd800000000000000000000000000000000000000000000000000000000 00001deb: DUP2 00001dec: MSTORE 00001ded: PUSH1 0x04 00001def: ADD 00001df0: PUSH1 0x40 00001df2: MLOAD 00001df3: DUP1 00001df4: SWAP2 00001df5: SUB 00001df6: SWAP1 00001df7: REVERT 00001df8: JUMPDEST 00001df9: DUP2 00001dfa: ISZERO 00001dfb: PUSH2 0x2029 00001dfe: JUMPI 00001dff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e14: DUP1 00001e15: DUP5 00001e16: AND 00001e17: PUSH0 00001e18: SWAP1 00001e19: DUP2 00001e1a: MSTORE 00001e1b: PUSH1 0x0b 00001e1d: PUSH1 0x20 00001e1f: SWAP1 00001e20: DUP2 00001e21: MSTORE 00001e22: PUSH1 0x40 00001e24: DUP1 00001e25: DUP4 00001e26: KECCAK256 00001e27: SLOAD 00001e28: DUP2 00001e29: MLOAD 00001e2a: PUSH32 0x3ba0b9a900000000000000000000000000000000000000000000000000000000 00001e4b: DUP2 00001e4c: MSTORE 00001e4d: SWAP2 00001e4e: MLOAD 00001e4f: SWAP4 00001e50: SWAP5 00001e51: AND 00001e52: SWAP3 00001e53: PUSH4 0x3ba0b9a9 00001e58: SWAP3 00001e59: PUSH1 0x04 00001e5b: DUP1 00001e5c: DUP5 00001e5d: ADD 00001e5e: SWAP4 00001e5f: SWAP2 00001e60: SWAP3 00001e61: SWAP2 00001e62: DUP3 00001e63: SWAP1 00001e64: SUB 00001e65: ADD 00001e66: DUP2 00001e67: DUP7 00001e68: GAS 00001e69: STATICCALL 00001e6a: ISZERO 00001e6b: DUP1 00001e6c: ISZERO 00001e6d: PUSH2 0x1e78 00001e70: JUMPI 00001e71: RETURNDATASIZE 00001e72: PUSH0 00001e73: PUSH0 00001e74: RETURNDATACOPY 00001e75: RETURNDATASIZE 00001e76: PUSH0 00001e77: REVERT 00001e78: JUMPDEST 00001e79: POP 00001e7a: POP 00001e7b: POP 00001e7c: POP 00001e7d: PUSH1 0x40 00001e7f: MLOAD 00001e80: RETURNDATASIZE 00001e81: PUSH1 0x1f 00001e83: NOT 00001e84: PUSH1 0x1f 00001e86: DUP3 00001e87: ADD 00001e88: AND 00001e89: DUP3 00001e8a: ADD 00001e8b: DUP1 00001e8c: PUSH1 0x40 00001e8e: MSTORE 00001e8f: POP 00001e90: DUP2 00001e91: ADD 00001e92: SWAP1 00001e93: PUSH2 0x1e9c 00001e96: SWAP2 00001e97: SWAP1 00001e98: PUSH2 0x4dc5 00001e9b: JUMP 00001e9c: JUMPDEST 00001e9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eb2: DUP6 00001eb3: DUP2 00001eb4: AND 00001eb5: PUSH0 00001eb6: SWAP1 00001eb7: DUP2 00001eb8: MSTORE 00001eb9: PUSH1 0x0b 00001ebb: PUSH1 0x20 00001ebd: MSTORE 00001ebe: PUSH1 0x40 00001ec0: SWAP1 00001ec1: DUP2 00001ec2: SWAP1 00001ec3: KECCAK256 00001ec4: SLOAD 00001ec5: SWAP1 00001ec6: MLOAD 00001ec7: PUSH32 0xc8cc5cd800000000000000000000000000000000000000000000000000000000 00001ee8: DUP2 00001ee9: MSTORE 00001eea: PUSH1 0x04 00001eec: DUP2 00001eed: ADD 00001eee: DUP8 00001eef: SWAP1 00001ef0: MSTORE 00001ef1: SWAP3 00001ef2: SWAP4 00001ef3: POP 00001ef4: AND 00001ef5: SWAP1 00001ef6: PUSH4 0xc8cc5cd8 00001efb: SWAP1 00001efc: PUSH1 0x24 00001efe: ADD 00001eff: PUSH0 00001f00: PUSH1 0x40 00001f02: MLOAD 00001f03: DUP1 00001f04: DUP4 00001f05: SUB 00001f06: DUP2 00001f07: PUSH0 00001f08: DUP8 00001f09: DUP1 00001f0a: EXTCODESIZE 00001f0b: ISZERO 00001f0c: DUP1 00001f0d: ISZERO 00001f0e: PUSH2 0x1f15 00001f11: JUMPI 00001f12: PUSH0 00001f13: PUSH0 00001f14: REVERT 00001f15: JUMPDEST 00001f16: POP 00001f17: GAS 00001f18: CALL 00001f19: ISZERO 00001f1a: DUP1 00001f1b: ISZERO 00001f1c: PUSH2 0x1f27 00001f1f: JUMPI 00001f20: RETURNDATASIZE 00001f21: PUSH0 00001f22: PUSH0 00001f23: RETURNDATACOPY 00001f24: RETURNDATASIZE 00001f25: PUSH0 00001f26: REVERT 00001f27: JUMPDEST 00001f28: POP 00001f29: POP 00001f2a: POP 00001f2b: POP 00001f2c: DUP1 00001f2d: PUSH1 0x64 00001f2f: PUSH2 0x1f38 00001f32: SWAP2 00001f33: SWAP1 00001f34: PUSH2 0x4ddc 00001f37: JUMP 00001f38: JUMPDEST 00001f39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f4e: DUP1 00001f4f: DUP7 00001f50: AND 00001f51: PUSH0 00001f52: SWAP1 00001f53: DUP2 00001f54: MSTORE 00001f55: PUSH1 0x0b 00001f57: PUSH1 0x20 00001f59: SWAP1 00001f5a: DUP2 00001f5b: MSTORE 00001f5c: PUSH1 0x40 00001f5e: SWAP2 00001f5f: DUP3 00001f60: SWAP1 00001f61: KECCAK256 00001f62: SLOAD 00001f63: DUP3 00001f64: MLOAD 00001f65: PUSH32 0x3ba0b9a900000000000000000000000000000000000000000000000000000000 00001f86: DUP2 00001f87: MSTORE 00001f88: SWAP3 00001f89: MLOAD 00001f8a: DUP7 00001f8b: SWAP5 00001f8c: SWAP2 00001f8d: SWAP1 00001f8e: SWAP2 00001f8f: AND 00001f90: SWAP3 00001f91: PUSH4 0x3ba0b9a9 00001f96: SWAP3 00001f97: PUSH1 0x04 00001f99: DUP1 00001f9a: DUP4 00001f9b: ADD 00001f9c: SWAP4 00001f9d: SWAP2 00001f9e: SWAP3 00001f9f: DUP3 00001fa0: SWAP1 00001fa1: SUB 00001fa2: ADD 00001fa3: DUP2 00001fa4: DUP7 00001fa5: GAS 00001fa6: STATICCALL 00001fa7: ISZERO 00001fa8: DUP1 00001fa9: ISZERO 00001faa: PUSH2 0x1fb5 00001fad: JUMPI 00001fae: RETURNDATASIZE 00001faf: PUSH0 00001fb0: PUSH0 00001fb1: RETURNDATACOPY 00001fb2: RETURNDATASIZE 00001fb3: PUSH0 00001fb4: REVERT 00001fb5: JUMPDEST 00001fb6: POP 00001fb7: POP 00001fb8: POP 00001fb9: POP 00001fba: PUSH1 0x40 00001fbc: MLOAD 00001fbd: RETURNDATASIZE 00001fbe: PUSH1 0x1f 00001fc0: NOT 00001fc1: PUSH1 0x1f 00001fc3: DUP3 00001fc4: ADD 00001fc5: AND 00001fc6: DUP3 00001fc7: ADD 00001fc8: DUP1 00001fc9: PUSH1 0x40 00001fcb: MSTORE 00001fcc: POP 00001fcd: DUP2 00001fce: ADD 00001fcf: SWAP1 00001fd0: PUSH2 0x1fd9 00001fd3: SWAP2 00001fd4: SWAP1 00001fd5: PUSH2 0x4dc5 00001fd8: JUMP 00001fd9: JUMPDEST 00001fda: PUSH2 0x1fe3 00001fdd: SWAP2 00001fde: SWAP1 00001fdf: PUSH2 0x4b8f 00001fe2: JUMP 00001fe3: JUMPDEST 00001fe4: PUSH2 0x1fef 00001fe7: SWAP1 00001fe8: PUSH2 0x2710 00001feb: PUSH2 0x4ddc 00001fee: JUMP 00001fef: JUMPDEST 00001ff0: GT 00001ff1: ISZERO 00001ff2: PUSH2 0x2027 00001ff5: JUMPI 00001ff6: PUSH1 0x40 00001ff8: MLOAD 00001ff9: PUSH32 0x0aa1e28500000000000000000000000000000000000000000000000000000000 0000201a: DUP2 0000201b: MSTORE 0000201c: PUSH1 0x04 0000201e: ADD 0000201f: PUSH1 0x40 00002021: MLOAD 00002022: DUP1 00002023: SWAP2 00002024: SUB 00002025: SWAP1 00002026: REVERT 00002027: JUMPDEST 00002028: POP 00002029: JUMPDEST 0000202a: DUP1 0000202b: ISZERO 0000202c: PUSH2 0x2069 0000202f: JUMPI 00002030: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002045: DUP4 00002046: AND 00002047: PUSH0 00002048: SWAP1 00002049: DUP2 0000204a: MSTORE 0000204b: PUSH1 0x09 0000204d: PUSH1 0x20 0000204f: MSTORE 00002050: PUSH1 0x40 00002052: DUP2 00002053: KECCAK256 00002054: DUP1 00002055: SLOAD 00002056: DUP4 00002057: SWAP3 00002058: SWAP1 00002059: PUSH2 0x2063 0000205c: SWAP1 0000205d: DUP5 0000205e: SWAP1 0000205f: PUSH2 0x4df3 00002062: JUMP 00002063: JUMPDEST 00002064: SWAP1 00002065: SWAP2 00002066: SSTORE 00002067: POP 00002068: POP 00002069: JUMPDEST 0000206a: PUSH2 0x207b 0000206d: PUSH2 0x2076 00002070: DUP4 00002071: DUP4 00002072: PUSH2 0x4df3 00002075: JUMP 00002076: JUMPDEST 00002077: PUSH2 0x3a86 0000207a: JUMP 0000207b: JUMPDEST 0000207c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002091: DUP1 00002092: DUP8 00002093: AND 00002094: PUSH0 00002095: SWAP1 00002096: DUP2 00002097: MSTORE 00002098: PUSH1 0x0d 0000209a: PUSH1 0x20 0000209c: SWAP1 0000209d: DUP2 0000209e: MSTORE 0000209f: PUSH1 0x40 000020a1: DUP1 000020a2: DUP4 000020a3: KECCAK256 000020a4: SWAP4 000020a5: DUP9 000020a6: AND 000020a7: DUP4 000020a8: MSTORE 000020a9: SWAP3 000020aa: SWAP1 000020ab: MSTORE 000020ac: SWAP1 000020ad: DUP2 000020ae: KECCAK256 000020af: DUP1 000020b0: SLOAD 000020b1: SWAP1 000020b2: SWAP2 000020b3: SWAP1 000020b4: PUSH2 0x20be 000020b7: SWAP1 000020b8: DUP5 000020b9: SWAP1 000020ba: PUSH2 0x4d00 000020bd: JUMP 000020be: JUMPDEST 000020bf: SWAP1 000020c0: SWAP2 000020c1: SSTORE 000020c2: POP 000020c3: POP 000020c4: PUSH1 0x01 000020c6: SWAP1 000020c7: SWAP4 000020c8: ADD 000020c9: SWAP3 000020ca: POP 000020cb: PUSH2 0x1c5d 000020ce: SWAP2 000020cf: POP 000020d0: POP 000020d1: JUMP 000020d2: JUMPDEST 000020d3: POP 000020d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020e9: AND 000020ea: PUSH0 000020eb: SWAP1 000020ec: DUP2 000020ed: MSTORE 000020ee: PUSH1 0x0a 000020f0: PUSH1 0x20 000020f2: MSTORE 000020f3: PUSH1 0x40 000020f5: SWAP1 000020f6: KECCAK256 000020f7: TIMESTAMP 000020f8: SWAP1 000020f9: SSTORE 000020fa: PUSH1 0x01 000020fc: ADD 000020fd: PUSH2 0x1bb2 00002100: JUMP 00002101: JUMPDEST 00002102: POP 00002103: PUSH32 0x90e0333a7f11b37e50e152c45bb5ebfc2ce2ace82e290567861d3ae852968874 00002124: DUP3 00002125: DUP3 00002126: PUSH1 0x40 00002128: MLOAD 00002129: PUSH2 0x2133 0000212c: SWAP3 0000212d: SWAP2 0000212e: SWAP1 0000212f: PUSH2 0x4e06 00002132: JUMP 00002133: JUMPDEST 00002134: PUSH1 0x40 00002136: MLOAD 00002137: DUP1 00002138: SWAP2 00002139: SUB 0000213a: SWAP1 0000213b: LOG1 0000213c: POP 0000213d: POP 0000213e: JUMP 0000213f: JUMPDEST 00002140: PUSH2 0x214f 00002143: PUSH1 0x60 00002145: DUP5 00002146: ADD 00002147: PUSH1 0x40 00002149: DUP6 0000214a: ADD 0000214b: PUSH2 0x44e9 0000214e: JUMP 0000214f: JUMPDEST 00002150: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002165: DUP2 00002166: AND 00002167: PUSH0 00002168: SWAP1 00002169: DUP2 0000216a: MSTORE 0000216b: PUSH1 0x10 0000216d: PUSH1 0x20 0000216f: MSTORE 00002170: PUSH1 0x40 00002172: SWAP1 00002173: KECCAK256 00002174: SLOAD 00002175: PUSH1 0xff 00002177: AND 00002178: DUP1 00002179: ISZERO 0000217a: PUSH2 0x2198 0000217d: JUMPI 0000217e: POP 0000217f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002194: DUP2 00002195: AND 00002196: CALLER 00002197: EQ 00002198: JUMPDEST 00002199: DUP1 0000219a: PUSH2 0x21f7 0000219d: JUMPI 0000219e: POP 0000219f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021b4: DUP2 000021b5: AND 000021b6: PUSH0 000021b7: SWAP1 000021b8: DUP2 000021b9: MSTORE 000021ba: PUSH1 0x10 000021bc: PUSH1 0x20 000021be: MSTORE 000021bf: PUSH1 0x40 000021c1: SWAP1 000021c2: KECCAK256 000021c3: SLOAD 000021c4: PUSH1 0xff 000021c6: AND 000021c7: DUP1 000021c8: ISZERO 000021c9: PUSH2 0x21f7 000021cc: JUMPI 000021cd: POP 000021ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021e3: DUP2 000021e4: DUP2 000021e5: AND 000021e6: PUSH0 000021e7: SWAP1 000021e8: DUP2 000021e9: MSTORE 000021ea: PUSH1 0x11 000021ec: PUSH1 0x20 000021ee: MSTORE 000021ef: PUSH1 0x40 000021f1: SWAP1 000021f2: KECCAK256 000021f3: SLOAD 000021f4: AND 000021f5: CALLER 000021f6: EQ 000021f7: JUMPDEST 000021f8: PUSH2 0x222d 000021fb: JUMPI 000021fc: PUSH1 0x40 000021fe: MLOAD 000021ff: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000 00002220: DUP2 00002221: MSTORE 00002222: PUSH1 0x04 00002224: ADD 00002225: PUSH1 0x40 00002227: MLOAD 00002228: DUP1 00002229: SWAP2 0000222a: SUB 0000222b: SWAP1 0000222c: REVERT 0000222d: JUMPDEST 0000222e: PUSH2 0x2235 00002231: PUSH2 0x3096 00002234: JUMP 00002235: JUMPDEST 00002236: PUSH2 0x2240 00002239: DUP5 0000223a: DUP5 0000223b: DUP5 0000223c: PUSH2 0x3b37 0000223f: JUMP 00002240: JUMPDEST 00002241: PUSH2 0x22b2 00002244: PUSH2 0x2250 00002247: PUSH1 0x60 00002249: DUP7 0000224a: ADD 0000224b: DUP7 0000224c: PUSH2 0x4a81 0000224f: JUMP 00002250: JUMPDEST 00002251: DUP1 00002252: DUP1 00002253: PUSH1 0x20 00002255: MUL 00002256: PUSH1 0x20 00002258: ADD 00002259: PUSH1 0x40 0000225b: MLOAD 0000225c: SWAP1 0000225d: DUP2 0000225e: ADD 0000225f: PUSH1 0x40 00002261: MSTORE 00002262: DUP1 00002263: SWAP4 00002264: SWAP3 00002265: SWAP2 00002266: SWAP1 00002267: DUP2 00002268: DUP2 00002269: MSTORE 0000226a: PUSH1 0x20 0000226c: ADD 0000226d: PUSH0 0000226e: SWAP1 0000226f: JUMPDEST 00002270: DUP3 00002271: DUP3 00002272: LT 00002273: ISZERO 00002274: PUSH2 0x229b 00002277: JUMPI 00002278: PUSH2 0x228c 0000227b: PUSH1 0x40 0000227d: DUP4 0000227e: MUL 0000227f: DUP7 00002280: ADD 00002281: CALLDATASIZE 00002282: DUP2 00002283: SWAP1 00002284: SUB 00002285: DUP2 00002286: ADD 00002287: SWAP1 00002288: PUSH2 0x4ae5 0000228b: JUMP 0000228c: JUMPDEST 0000228d: DUP2 0000228e: MSTORE 0000228f: PUSH1 0x20 00002291: ADD 00002292: SWAP1 00002293: PUSH1 0x01 00002295: ADD 00002296: SWAP1 00002297: PUSH2 0x226f 0000229a: JUMP 0000229b: JUMPDEST 0000229c: POP 0000229d: PUSH2 0x0b18 000022a0: SWAP4 000022a1: POP 000022a2: POP 000022a3: PUSH1 0x60 000022a5: DUP10 000022a6: ADD 000022a7: SWAP2 000022a8: POP 000022a9: POP 000022aa: PUSH1 0x40 000022ac: DUP9 000022ad: ADD 000022ae: PUSH2 0x44e9 000022b1: JUMP 000022b2: JUMPDEST 000022b3: PUSH0 000022b4: PUSH1 0x12 000022b6: DUP2 000022b7: PUSH2 0x22c6 000022ba: PUSH1 0x60 000022bc: DUP9 000022bd: ADD 000022be: PUSH1 0x40 000022c0: DUP10 000022c1: ADD 000022c2: PUSH2 0x44e9 000022c5: JUMP 000022c6: JUMPDEST 000022c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022dc: SWAP1 000022dd: DUP2 000022de: AND 000022df: DUP3 000022e0: MSTORE 000022e1: PUSH1 0x20 000022e3: DUP3 000022e4: ADD 000022e5: SWAP3 000022e6: SWAP1 000022e7: SWAP3 000022e8: MSTORE 000022e9: PUSH1 0x40 000022eb: ADD 000022ec: PUSH0 000022ed: SWAP1 000022ee: DUP2 000022ef: KECCAK256 000022f0: SLOAD 000022f1: SWAP1 000022f2: SWAP2 000022f3: AND 000022f4: SWAP2 000022f5: POP 000022f6: JUMPDEST 000022f7: PUSH2 0x2303 000022fa: PUSH1 0x60 000022fc: DUP8 000022fd: ADD 000022fe: DUP8 000022ff: PUSH2 0x4a81 00002302: JUMP 00002303: JUMPDEST 00002304: SWAP1 00002305: POP 00002306: DUP2 00002307: LT 00002308: ISZERO 00002309: PUSH2 0x23c1 0000230c: JUMPI 0000230d: PUSH0 0000230e: PUSH2 0x231a 00002311: PUSH1 0x60 00002313: DUP9 00002314: ADD 00002315: DUP9 00002316: PUSH2 0x4a81 00002319: JUMP 0000231a: JUMPDEST 0000231b: DUP4 0000231c: DUP2 0000231d: DUP2 0000231e: LT 0000231f: PUSH2 0x232a 00002322: JUMPI 00002323: PUSH2 0x232a 00002326: PUSH2 0x4b62 00002329: JUMP 0000232a: JUMPDEST 0000232b: PUSH2 0x2340 0000232e: SWAP3 0000232f: PUSH1 0x20 00002331: PUSH1 0x40 00002333: SWAP1 00002334: SWAP3 00002335: MUL 00002336: ADD 00002337: SWAP1 00002338: DUP2 00002339: ADD 0000233a: SWAP2 0000233b: POP 0000233c: PUSH2 0x44e9 0000233f: JUMP 00002340: JUMPDEST 00002341: SWAP1 00002342: POP 00002343: PUSH0 00002344: PUSH2 0x2350 00002347: PUSH1 0x60 00002349: DUP10 0000234a: ADD 0000234b: DUP10 0000234c: PUSH2 0x4a81 0000234f: JUMP 00002350: JUMPDEST 00002351: DUP5 00002352: DUP2 00002353: DUP2 00002354: LT 00002355: PUSH2 0x2360 00002358: JUMPI 00002359: PUSH2 0x2360 0000235c: PUSH2 0x4b62 0000235f: JUMP 00002360: JUMPDEST 00002361: SWAP1 00002362: POP 00002363: PUSH1 0x40 00002365: MUL 00002366: ADD 00002367: PUSH1 0x20 00002369: ADD 0000236a: CALLDATALOAD 0000236b: SWAP1 0000236c: POP 0000236d: PUSH0 0000236e: DUP2 0000236f: SGT 00002370: ISZERO 00002371: PUSH2 0x2387 00002374: JUMPI 00002375: PUSH2 0x2382 00002378: CALLER 00002379: ADDRESS 0000237a: PUSH2 0x0cd5 0000237d: DUP5 0000237e: PUSH2 0x354d 00002381: JUMP 00002382: JUMPDEST 00002383: PUSH2 0x23b7 00002386: JUMP 00002387: JUMPDEST 00002388: PUSH2 0x23a7 0000238b: PUSH2 0x239a 0000238e: PUSH1 0x60 00002390: DUP11 00002391: ADD 00002392: PUSH1 0x40 00002394: DUP12 00002395: ADD 00002396: PUSH2 0x44e9 00002399: JUMP 0000239a: JUMPDEST 0000239b: DUP4 0000239c: PUSH2 0x0d0f 0000239f: PUSH2 0x0d0a 000023a2: DUP6 000023a3: PUSH2 0x4ba2 000023a6: JUMP 000023a7: JUMPDEST 000023a8: PUSH2 0x23b7 000023ab: DUP5 000023ac: PUSH2 0x0d24 000023af: PUSH2 0x0d0a 000023b2: DUP5 000023b3: PUSH2 0x4ba2 000023b6: JUMP 000023b7: JUMPDEST 000023b8: POP 000023b9: POP 000023ba: PUSH1 0x01 000023bc: ADD 000023bd: PUSH2 0x22f6 000023c0: JUMP 000023c1: JUMPDEST 000023c2: POP 000023c3: PUSH32 0x0279bcc316c233db88e8f3e463dcefc7fa661da21bc66eadc60f3835e41bba11 000023e4: PUSH2 0x1487 000023e7: PUSH1 0x60 000023e9: DUP8 000023ea: ADD 000023eb: PUSH1 0x40 000023ed: DUP9 000023ee: ADD 000023ef: PUSH2 0x44e9 000023f2: JUMP 000023f3: JUMPDEST 000023f4: PUSH2 0x23fb 000023f7: PUSH2 0x3015 000023fa: JUMP 000023fb: JUMPDEST 000023fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002411: DUP3 00002412: AND 00002413: PUSH2 0x2448 00002416: JUMPI 00002417: PUSH1 0x40 00002419: MLOAD 0000241a: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 0000243b: DUP2 0000243c: MSTORE 0000243d: PUSH1 0x04 0000243f: ADD 00002440: PUSH1 0x40 00002442: MLOAD 00002443: DUP1 00002444: SWAP2 00002445: SUB 00002446: SWAP1 00002447: REVERT 00002448: JUMPDEST 00002449: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000245e: DUP3 0000245f: AND 00002460: PUSH0 00002461: DUP2 00002462: DUP2 00002463: MSTORE 00002464: PUSH1 0x08 00002466: PUSH1 0x20 00002468: SWAP1 00002469: DUP2 0000246a: MSTORE 0000246b: PUSH1 0x40 0000246d: SWAP2 0000246e: DUP3 0000246f: SWAP1 00002470: KECCAK256 00002471: DUP1 00002472: SLOAD 00002473: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002494: AND 00002495: DUP6 00002496: ISZERO 00002497: ISZERO 00002498: SWAP1 00002499: DUP2 0000249a: OR 0000249b: SWAP1 0000249c: SWAP2 0000249d: SSTORE 0000249e: SWAP2 0000249f: MLOAD 000024a0: SWAP2 000024a1: DUP3 000024a2: MSTORE 000024a3: PUSH32 0x947aca305c9b8d94b31792a7f80d331c9452e743508d61331561378673b50103 000024c4: SWAP2 000024c5: ADD 000024c6: PUSH1 0x40 000024c8: MLOAD 000024c9: DUP1 000024ca: SWAP2 000024cb: SUB 000024cc: SWAP1 000024cd: LOG2 000024ce: POP 000024cf: POP 000024d0: JUMP 000024d1: JUMPDEST 000024d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024e7: DUP3 000024e8: AND 000024e9: PUSH2 0x251e 000024ec: JUMPI 000024ed: PUSH1 0x40 000024ef: MLOAD 000024f0: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 00002511: DUP2 00002512: MSTORE 00002513: PUSH1 0x04 00002515: ADD 00002516: PUSH1 0x40 00002518: MLOAD 00002519: DUP1 0000251a: SWAP2 0000251b: SUB 0000251c: SWAP1 0000251d: REVERT 0000251e: JUMPDEST 0000251f: PUSH1 0x04 00002521: SLOAD 00002522: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002537: AND 00002538: CALLER 00002539: EQ 0000253a: PUSH2 0x256f 0000253d: JUMPI 0000253e: PUSH1 0x40 00002540: MLOAD 00002541: PUSH32 0xdcdd32f100000000000000000000000000000000000000000000000000000000 00002562: DUP2 00002563: MSTORE 00002564: PUSH1 0x04 00002566: ADD 00002567: PUSH1 0x40 00002569: MLOAD 0000256a: DUP1 0000256b: SWAP2 0000256c: SUB 0000256d: SWAP1 0000256e: REVERT 0000256f: JUMPDEST 00002570: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002585: DUP4 00002586: AND 00002587: PUSH0 00002588: SWAP1 00002589: DUP2 0000258a: MSTORE 0000258b: PUSH1 0x09 0000258d: PUSH1 0x20 0000258f: MSTORE 00002590: PUSH1 0x40 00002592: SWAP1 00002593: KECCAK256 00002594: SLOAD 00002595: DUP2 00002596: GT 00002597: ISZERO 00002598: PUSH2 0x25cd 0000259b: JUMPI 0000259c: PUSH1 0x40 0000259e: MLOAD 0000259f: PUSH32 0xce11c63900000000000000000000000000000000000000000000000000000000 000025c0: DUP2 000025c1: MSTORE 000025c2: PUSH1 0x04 000025c4: ADD 000025c5: PUSH1 0x40 000025c7: MLOAD 000025c8: DUP1 000025c9: SWAP2 000025ca: SUB 000025cb: SWAP1 000025cc: REVERT 000025cd: JUMPDEST 000025ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025e3: DUP4 000025e4: AND 000025e5: PUSH0 000025e6: SWAP1 000025e7: DUP2 000025e8: MSTORE 000025e9: PUSH1 0x09 000025eb: PUSH1 0x20 000025ed: MSTORE 000025ee: PUSH1 0x40 000025f0: DUP2 000025f1: KECCAK256 000025f2: DUP1 000025f3: SLOAD 000025f4: DUP4 000025f5: SWAP3 000025f6: SWAP1 000025f7: PUSH2 0x2601 000025fa: SWAP1 000025fb: DUP5 000025fc: SWAP1 000025fd: PUSH2 0x4b8f 00002600: JUMP 00002601: JUMPDEST 00002602: SWAP1 00002603: SWAP2 00002604: SSTORE 00002605: POP 00002606: PUSH2 0x2628 00002609: SWAP1 0000260a: POP 0000260b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002620: DUP5 00002621: AND 00002622: DUP4 00002623: DUP4 00002624: PUSH2 0x37aa 00002627: JUMP 00002628: JUMPDEST 00002629: PUSH1 0x40 0000262b: DUP1 0000262c: MLOAD 0000262d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002642: DUP1 00002643: DUP7 00002644: AND 00002645: DUP3 00002646: MSTORE 00002647: DUP5 00002648: AND 00002649: PUSH1 0x20 0000264b: DUP3 0000264c: ADD 0000264d: MSTORE 0000264e: SWAP1 0000264f: DUP2 00002650: ADD 00002651: DUP3 00002652: SWAP1 00002653: MSTORE 00002654: PUSH32 0xde13184e8cbb6eccbcecfc796bf8820e5ffde0534c01b4fabed4b05982964a44 00002675: SWAP1 00002676: PUSH1 0x60 00002678: ADD 00002679: PUSH2 0x1140 0000267c: JUMP 0000267d: JUMPDEST 0000267e: PUSH2 0x2685 00002681: PUSH2 0x3096 00002684: JUMP 00002685: JUMPDEST 00002686: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000269b: DUP2 0000269c: AND 0000269d: PUSH0 0000269e: SWAP1 0000269f: DUP2 000026a0: MSTORE 000026a1: PUSH1 0x10 000026a3: PUSH1 0x20 000026a5: MSTORE 000026a6: PUSH1 0x40 000026a8: SWAP1 000026a9: KECCAK256 000026aa: SLOAD 000026ab: PUSH1 0xff 000026ad: AND 000026ae: PUSH2 0x26e3 000026b1: JUMPI 000026b2: PUSH1 0x40 000026b4: MLOAD 000026b5: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000 000026d6: DUP2 000026d7: MSTORE 000026d8: PUSH1 0x04 000026da: ADD 000026db: PUSH1 0x40 000026dd: MLOAD 000026de: DUP1 000026df: SWAP2 000026e0: SUB 000026e1: SWAP1 000026e2: REVERT 000026e3: JUMPDEST 000026e4: PUSH0 000026e5: JUMPDEST 000026e6: DUP3 000026e7: DUP2 000026e8: LT 000026e9: ISZERO 000026ea: PUSH2 0x284f 000026ed: JUMPI 000026ee: PUSH0 000026ef: DUP5 000026f0: DUP5 000026f1: DUP4 000026f2: DUP2 000026f3: DUP2 000026f4: LT 000026f5: PUSH2 0x2700 000026f8: JUMPI 000026f9: PUSH2 0x2700 000026fc: PUSH2 0x4b62 000026ff: JUMP 00002700: JUMPDEST 00002701: PUSH2 0x2716 00002704: SWAP3 00002705: PUSH1 0x20 00002707: PUSH1 0x40 00002709: SWAP1 0000270a: SWAP3 0000270b: MUL 0000270c: ADD 0000270d: SWAP1 0000270e: DUP2 0000270f: ADD 00002710: SWAP2 00002711: POP 00002712: PUSH2 0x44e9 00002715: JUMP 00002716: JUMPDEST 00002717: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000272c: DUP2 0000272d: AND 0000272e: PUSH0 0000272f: SWAP1 00002730: DUP2 00002731: MSTORE 00002732: PUSH1 0x0f 00002734: PUSH1 0x20 00002736: MSTORE 00002737: PUSH1 0x40 00002739: SWAP1 0000273a: KECCAK256 0000273b: SLOAD 0000273c: SWAP1 0000273d: SWAP2 0000273e: POP 0000273f: PUSH1 0xff 00002741: AND 00002742: PUSH2 0x2777 00002745: JUMPI 00002746: PUSH1 0x40 00002748: MLOAD 00002749: PUSH32 0x918aa47f00000000000000000000000000000000000000000000000000000000 0000276a: DUP2 0000276b: MSTORE 0000276c: PUSH1 0x04 0000276e: ADD 0000276f: PUSH1 0x40 00002771: MLOAD 00002772: DUP1 00002773: SWAP2 00002774: SUB 00002775: SWAP1 00002776: REVERT 00002777: JUMPDEST 00002778: PUSH0 00002779: DUP6 0000277a: DUP6 0000277b: DUP5 0000277c: DUP2 0000277d: DUP2 0000277e: LT 0000277f: PUSH2 0x278a 00002782: JUMPI 00002783: PUSH2 0x278a 00002786: PUSH2 0x4b62 00002789: JUMP 0000278a: JUMPDEST 0000278b: SWAP1 0000278c: POP 0000278d: PUSH1 0x40 0000278f: MUL 00002790: ADD 00002791: PUSH1 0x20 00002793: ADD 00002794: CALLDATALOAD 00002795: SWAP1 00002796: POP 00002797: DUP1 00002798: PUSH1 0x0e 0000279a: PUSH0 0000279b: DUP7 0000279c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027b1: AND 000027b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027c7: AND 000027c8: DUP2 000027c9: MSTORE 000027ca: PUSH1 0x20 000027cc: ADD 000027cd: SWAP1 000027ce: DUP2 000027cf: MSTORE 000027d0: PUSH1 0x20 000027d2: ADD 000027d3: PUSH0 000027d4: KECCAK256 000027d5: PUSH0 000027d6: DUP5 000027d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027ec: AND 000027ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002802: AND 00002803: DUP2 00002804: MSTORE 00002805: PUSH1 0x20 00002807: ADD 00002808: SWAP1 00002809: DUP2 0000280a: MSTORE 0000280b: PUSH1 0x20 0000280d: ADD 0000280e: PUSH0 0000280f: KECCAK256 00002810: PUSH0 00002811: DUP3 00002812: DUP3 00002813: SLOAD 00002814: PUSH2 0x281d 00002817: SWAP2 00002818: SWAP1 00002819: PUSH2 0x4df3 0000281c: JUMP 0000281d: JUMPDEST 0000281e: SWAP1 0000281f: SWAP2 00002820: SSTORE 00002821: POP 00002822: PUSH2 0x2845 00002825: SWAP1 00002826: POP 00002827: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000283c: DUP4 0000283d: AND 0000283e: CALLER 0000283f: ADDRESS 00002840: DUP5 00002841: PUSH2 0x35bc 00002844: JUMP 00002845: JUMPDEST 00002846: POP 00002847: POP 00002848: PUSH1 0x01 0000284a: ADD 0000284b: PUSH2 0x26e5 0000284e: JUMP 0000284f: JUMPDEST 00002850: POP 00002851: PUSH32 0x770dafe0b413d5c277b5f1a9d1d725e5ebafe92b5a16f3ebaae6e49e43b66499 00002872: DUP2 00002873: DUP5 00002874: DUP5 00002875: PUSH1 0x40 00002877: MLOAD 00002878: PUSH2 0x2883 0000287b: SWAP4 0000287c: SWAP3 0000287d: SWAP2 0000287e: SWAP1 0000287f: PUSH2 0x4ca1 00002882: JUMP 00002883: JUMPDEST 00002884: PUSH1 0x40 00002886: MLOAD 00002887: DUP1 00002888: SWAP2 00002889: SUB 0000288a: SWAP1 0000288b: LOG1 0000288c: PUSH2 0x0e96 0000288f: PUSH2 0x3800 00002892: JUMP 00002893: JUMPDEST 00002894: PUSH2 0x289b 00002897: PUSH2 0x3015 0000289a: JUMP 0000289b: JUMPDEST 0000289c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028b1: DUP6 000028b2: AND 000028b3: ISZERO 000028b4: DUP1 000028b5: ISZERO 000028b6: SWAP1 000028b7: PUSH2 0x28d5 000028ba: JUMPI 000028bb: POP 000028bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028d1: DUP5 000028d2: AND 000028d3: ISZERO 000028d4: ISZERO 000028d5: JUMPDEST 000028d6: DUP1 000028d7: ISZERO 000028d8: PUSH2 0x28f6 000028db: JUMPI 000028dc: POP 000028dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028f2: DUP4 000028f3: AND 000028f4: ISZERO 000028f5: ISZERO 000028f6: JUMPDEST 000028f7: PUSH2 0x292c 000028fa: JUMPI 000028fb: PUSH1 0x40 000028fd: MLOAD 000028fe: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000 0000291f: DUP2 00002920: MSTORE 00002921: PUSH1 0x04 00002923: ADD 00002924: PUSH1 0x40 00002926: MLOAD 00002927: DUP1 00002928: SWAP2 00002929: SUB 0000292a: SWAP1 0000292b: REVERT 0000292c: JUMPDEST 0000292d: DUP5 0000292e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002943: AND 00002944: DUP4 00002945: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000295a: AND 0000295b: EQ 0000295c: ISZERO 0000295d: DUP1 0000295e: ISZERO 0000295f: PUSH2 0x2994 00002962: JUMPI 00002963: POP 00002964: DUP4 00002965: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000297a: AND 0000297b: DUP4 0000297c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002991: AND 00002992: EQ 00002993: ISZERO 00002994: JUMPDEST 00002995: PUSH2 0x29ca 00002998: JUMPI 00002999: PUSH1 0x40 0000299b: MLOAD 0000299c: PUSH32 0x5bc7a3a500000000000000000000000000000000000000000000000000000000 000029bd: DUP2 000029be: MSTORE 000029bf: PUSH1 0x04 000029c1: ADD 000029c2: PUSH1 0x40 000029c4: MLOAD 000029c5: DUP1 000029c6: SWAP2 000029c7: SUB 000029c8: SWAP1 000029c9: REVERT 000029ca: JUMPDEST 000029cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029e0: DUP6 000029e1: DUP2 000029e2: AND 000029e3: PUSH0 000029e4: DUP2 000029e5: DUP2 000029e6: MSTORE 000029e7: PUSH1 0x10 000029e9: PUSH1 0x20 000029eb: SWAP1 000029ec: DUP2 000029ed: MSTORE 000029ee: PUSH1 0x40 000029f0: DUP1 000029f1: DUP4 000029f2: KECCAK256 000029f3: DUP1 000029f4: SLOAD 000029f5: DUP9 000029f6: ISZERO 000029f7: ISZERO 000029f8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002a19: SWAP2 00002a1a: DUP3 00002a1b: AND 00002a1c: DUP2 00002a1d: OR 00002a1e: SWAP1 00002a1f: SWAP3 00002a20: SSTORE 00002a21: PUSH1 0x11 00002a23: DUP5 00002a24: MSTORE 00002a25: DUP3 00002a26: DUP6 00002a27: KECCAK256 00002a28: DUP1 00002a29: SLOAD 00002a2a: DUP13 00002a2b: DUP10 00002a2c: AND 00002a2d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002a4e: SWAP2 00002a4f: DUP3 00002a50: AND 00002a51: DUP2 00002a52: OR 00002a53: SWAP1 00002a54: SWAP3 00002a55: SSTORE 00002a56: PUSH1 0x12 00002a58: DUP7 00002a59: MSTORE 00002a5a: DUP5 00002a5b: DUP8 00002a5c: KECCAK256 00002a5d: DUP1 00002a5e: SLOAD 00002a5f: SWAP10 00002a60: DUP14 00002a61: AND 00002a62: SWAP10 00002a63: SWAP1 00002a64: SWAP2 00002a65: AND 00002a66: DUP10 00002a67: OR 00002a68: SWAP1 00002a69: SSTORE 00002a6a: PUSH1 0x13 00002a6c: DUP6 00002a6d: MSTORE 00002a6e: SWAP5 00002a6f: DUP4 00002a70: SWAP1 00002a71: KECCAK256 00002a72: DUP1 00002a73: SLOAD 00002a74: DUP10 00002a75: ISZERO 00002a76: ISZERO 00002a77: SWAP3 00002a78: AND 00002a79: DUP3 00002a7a: OR 00002a7b: SWAP1 00002a7c: SSTORE 00002a7d: DUP3 00002a7e: MLOAD 00002a7f: SWAP2 00002a80: DUP3 00002a81: MSTORE 00002a82: SWAP3 00002a83: DUP2 00002a84: ADD 00002a85: SWAP3 00002a86: SWAP1 00002a87: SWAP3 00002a88: MSTORE 00002a89: DUP2 00002a8a: ADD 00002a8b: SWAP2 00002a8c: SWAP1 00002a8d: SWAP2 00002a8e: MSTORE 00002a8f: PUSH1 0x60 00002a91: DUP2 00002a92: ADD 00002a93: SWAP3 00002a94: SWAP1 00002a95: SWAP3 00002a96: MSTORE 00002a97: SWAP1 00002a98: PUSH32 0x2353ec0fe56a376d3269d3e65521f1ce07dc5f544cc5b0ba4eb2ff03f771a4ad 00002ab9: SWAP1 00002aba: PUSH1 0x80 00002abc: ADD 00002abd: PUSH1 0x40 00002abf: MLOAD 00002ac0: DUP1 00002ac1: SWAP2 00002ac2: SUB 00002ac3: SWAP1 00002ac4: LOG2 00002ac5: POP 00002ac6: POP 00002ac7: POP 00002ac8: POP 00002ac9: POP 00002aca: JUMP 00002acb: JUMPDEST 00002acc: CALLER 00002acd: PUSH0 00002ace: SWAP1 00002acf: DUP2 00002ad0: MSTORE 00002ad1: PUSH1 0x0f 00002ad3: PUSH1 0x20 00002ad5: MSTORE 00002ad6: PUSH1 0x40 00002ad8: SWAP1 00002ad9: KECCAK256 00002ada: SLOAD 00002adb: PUSH1 0xff 00002add: AND 00002ade: PUSH2 0x2b13 00002ae1: JUMPI 00002ae2: PUSH1 0x40 00002ae4: MLOAD 00002ae5: PUSH32 0x918aa47f00000000000000000000000000000000000000000000000000000000 00002b06: DUP2 00002b07: MSTORE 00002b08: PUSH1 0x04 00002b0a: ADD 00002b0b: PUSH1 0x40 00002b0d: MLOAD 00002b0e: DUP1 00002b0f: SWAP2 00002b10: SUB 00002b11: SWAP1 00002b12: REVERT 00002b13: JUMPDEST 00002b14: CALLER 00002b15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b2a: AND 00002b2b: PUSH4 0xc70920bc 00002b30: PUSH1 0x40 00002b32: MLOAD 00002b33: DUP2 00002b34: PUSH4 0xffffffff 00002b39: AND 00002b3a: PUSH1 0xe0 00002b3c: SHL 00002b3d: DUP2 00002b3e: MSTORE 00002b3f: PUSH1 0x04 00002b41: ADD 00002b42: PUSH1 0x20 00002b44: PUSH1 0x40 00002b46: MLOAD 00002b47: DUP1 00002b48: DUP4 00002b49: SUB 00002b4a: DUP2 00002b4b: DUP7 00002b4c: GAS 00002b4d: STATICCALL 00002b4e: ISZERO 00002b4f: DUP1 00002b50: ISZERO 00002b51: PUSH2 0x2b5c 00002b54: JUMPI 00002b55: RETURNDATASIZE 00002b56: PUSH0 00002b57: PUSH0 00002b58: RETURNDATACOPY 00002b59: RETURNDATASIZE 00002b5a: PUSH0 00002b5b: REVERT 00002b5c: JUMPDEST 00002b5d: POP 00002b5e: POP 00002b5f: POP 00002b60: POP 00002b61: PUSH1 0x40 00002b63: MLOAD 00002b64: RETURNDATASIZE 00002b65: PUSH1 0x1f 00002b67: NOT 00002b68: PUSH1 0x1f 00002b6a: DUP3 00002b6b: ADD 00002b6c: AND 00002b6d: DUP3 00002b6e: ADD 00002b6f: DUP1 00002b70: PUSH1 0x40 00002b72: MSTORE 00002b73: POP 00002b74: DUP2 00002b75: ADD 00002b76: SWAP1 00002b77: PUSH2 0x2b80 00002b7a: SWAP2 00002b7b: SWAP1 00002b7c: PUSH2 0x4dc5 00002b7f: JUMP 00002b80: JUMPDEST 00002b81: DUP2 00002b82: GT 00002b83: ISZERO 00002b84: PUSH2 0x2bb9 00002b87: JUMPI 00002b88: PUSH1 0x40 00002b8a: MLOAD 00002b8b: PUSH32 0xff75bad100000000000000000000000000000000000000000000000000000000 00002bac: DUP2 00002bad: MSTORE 00002bae: PUSH1 0x04 00002bb0: ADD 00002bb1: PUSH1 0x40 00002bb3: MLOAD 00002bb4: DUP1 00002bb5: SWAP2 00002bb6: SUB 00002bb7: SWAP1 00002bb8: REVERT 00002bb9: JUMPDEST 00002bba: PUSH2 0x2c48 00002bbd: DUP3 00002bbe: DUP3 00002bbf: CALLER 00002bc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002bd5: AND 00002bd6: PUSH4 0x6f307dc3 00002bdb: PUSH1 0x40 00002bdd: MLOAD 00002bde: DUP2 00002bdf: PUSH4 0xffffffff 00002be4: AND 00002be5: PUSH1 0xe0 00002be7: SHL 00002be8: DUP2 00002be9: MSTORE 00002bea: PUSH1 0x04 00002bec: ADD 00002bed: PUSH1 0x20 00002bef: PUSH1 0x40 00002bf1: MLOAD 00002bf2: DUP1 00002bf3: DUP4 00002bf4: SUB 00002bf5: DUP2 00002bf6: DUP7 00002bf7: GAS 00002bf8: STATICCALL 00002bf9: ISZERO 00002bfa: DUP1 00002bfb: ISZERO 00002bfc: PUSH2 0x2c07 00002bff: JUMPI 00002c00: RETURNDATASIZE 00002c01: PUSH0 00002c02: PUSH0 00002c03: RETURNDATACOPY 00002c04: RETURNDATASIZE 00002c05: PUSH0 00002c06: REVERT 00002c07: JUMPDEST 00002c08: POP 00002c09: POP 00002c0a: POP 00002c0b: POP 00002c0c: PUSH1 0x40 00002c0e: MLOAD 00002c0f: RETURNDATASIZE 00002c10: PUSH1 0x1f 00002c12: NOT 00002c13: PUSH1 0x1f 00002c15: DUP3 00002c16: ADD 00002c17: AND 00002c18: DUP3 00002c19: ADD 00002c1a: DUP1 00002c1b: PUSH1 0x40 00002c1d: MSTORE 00002c1e: POP 00002c1f: DUP2 00002c20: ADD 00002c21: SWAP1 00002c22: PUSH2 0x2c2b 00002c25: SWAP2 00002c26: SWAP1 00002c27: PUSH2 0x4f9d 00002c2a: JUMP 00002c2b: JUMPDEST 00002c2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c41: AND 00002c42: SWAP2 00002c43: SWAP1 00002c44: PUSH2 0x37aa 00002c47: JUMP 00002c48: JUMPDEST 00002c49: POP 00002c4a: POP 00002c4b: JUMP 00002c4c: JUMPDEST 00002c4d: PUSH2 0x2c54 00002c50: PUSH2 0x3015 00002c53: JUMP 00002c54: JUMPDEST 00002c55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c6a: DUP2 00002c6b: AND 00002c6c: PUSH0 00002c6d: SWAP1 00002c6e: DUP2 00002c6f: MSTORE 00002c70: PUSH1 0x0f 00002c72: PUSH1 0x20 00002c74: MSTORE 00002c75: PUSH1 0x40 00002c77: SWAP1 00002c78: KECCAK256 00002c79: SLOAD 00002c7a: PUSH1 0xff 00002c7c: AND 00002c7d: ISZERO 00002c7e: PUSH2 0x2cb3 00002c81: JUMPI 00002c82: PUSH1 0x40 00002c84: MLOAD 00002c85: PUSH32 0xdeaabdc200000000000000000000000000000000000000000000000000000000 00002ca6: DUP2 00002ca7: MSTORE 00002ca8: PUSH1 0x04 00002caa: ADD 00002cab: PUSH1 0x40 00002cad: MLOAD 00002cae: DUP1 00002caf: SWAP2 00002cb0: SUB 00002cb1: SWAP1 00002cb2: REVERT 00002cb3: JUMPDEST 00002cb4: PUSH0 00002cb5: DUP2 00002cb6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ccb: AND 00002ccc: PUSH4 0x6f307dc3 00002cd1: PUSH1 0x40 00002cd3: MLOAD 00002cd4: DUP2 00002cd5: PUSH4 0xffffffff 00002cda: AND 00002cdb: PUSH1 0xe0 00002cdd: SHL 00002cde: DUP2 00002cdf: MSTORE 00002ce0: PUSH1 0x04 00002ce2: ADD 00002ce3: PUSH1 0x20 00002ce5: PUSH1 0x40 00002ce7: MLOAD 00002ce8: DUP1 00002ce9: DUP4 00002cea: SUB 00002ceb: DUP2 00002cec: DUP7 00002ced: GAS 00002cee: STATICCALL 00002cef: ISZERO 00002cf0: DUP1 00002cf1: ISZERO 00002cf2: PUSH2 0x2cfd 00002cf5: JUMPI 00002cf6: RETURNDATASIZE 00002cf7: PUSH0 00002cf8: PUSH0 00002cf9: RETURNDATACOPY 00002cfa: RETURNDATASIZE 00002cfb: PUSH0 00002cfc: REVERT 00002cfd: JUMPDEST 00002cfe: POP 00002cff: POP 00002d00: POP 00002d01: POP 00002d02: PUSH1 0x40 00002d04: MLOAD 00002d05: RETURNDATASIZE 00002d06: PUSH1 0x1f 00002d08: NOT 00002d09: PUSH1 0x1f 00002d0b: DUP3 00002d0c: ADD 00002d0d: AND 00002d0e: DUP3 00002d0f: ADD 00002d10: DUP1 00002d11: PUSH1 0x40 00002d13: MSTORE 00002d14: POP 00002d15: DUP2 00002d16: ADD 00002d17: SWAP1 00002d18: PUSH2 0x2d21 00002d1b: SWAP2 00002d1c: SWAP1 00002d1d: PUSH2 0x4f9d 00002d20: JUMP 00002d21: JUMPDEST 00002d22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d37: DUP1 00002d38: DUP3 00002d39: AND 00002d3a: PUSH0 00002d3b: SWAP1 00002d3c: DUP2 00002d3d: MSTORE 00002d3e: PUSH1 0x0b 00002d40: PUSH1 0x20 00002d42: MSTORE 00002d43: PUSH1 0x40 00002d45: SWAP1 00002d46: KECCAK256 00002d47: SLOAD 00002d48: SWAP2 00002d49: SWAP3 00002d4a: POP 00002d4b: AND 00002d4c: ISZERO 00002d4d: DUP1 00002d4e: ISZERO 00002d4f: PUSH2 0x2def 00002d52: JUMPI 00002d53: POP 00002d54: ADDRESS 00002d55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d6a: AND 00002d6b: DUP3 00002d6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d81: AND 00002d82: PUSH4 0xe2498f72 00002d87: PUSH1 0x40 00002d89: MLOAD 00002d8a: DUP2 00002d8b: PUSH4 0xffffffff 00002d90: AND 00002d91: PUSH1 0xe0 00002d93: SHL 00002d94: DUP2 00002d95: MSTORE 00002d96: PUSH1 0x04 00002d98: ADD 00002d99: PUSH1 0x20 00002d9b: PUSH1 0x40 00002d9d: MLOAD 00002d9e: DUP1 00002d9f: DUP4 00002da0: SUB 00002da1: DUP2 00002da2: DUP7 00002da3: GAS 00002da4: STATICCALL 00002da5: ISZERO 00002da6: DUP1 00002da7: ISZERO 00002da8: PUSH2 0x2db3 00002dab: JUMPI 00002dac: RETURNDATASIZE 00002dad: PUSH0 00002dae: PUSH0 00002daf: RETURNDATACOPY 00002db0: RETURNDATASIZE 00002db1: PUSH0 00002db2: REVERT 00002db3: JUMPDEST 00002db4: POP 00002db5: POP 00002db6: POP 00002db7: POP 00002db8: PUSH1 0x40 00002dba: MLOAD 00002dbb: RETURNDATASIZE 00002dbc: PUSH1 0x1f 00002dbe: NOT 00002dbf: PUSH1 0x1f 00002dc1: DUP3 00002dc2: ADD 00002dc3: AND 00002dc4: DUP3 00002dc5: ADD 00002dc6: DUP1 00002dc7: PUSH1 0x40 00002dc9: MSTORE 00002dca: POP 00002dcb: DUP2 00002dcc: ADD 00002dcd: SWAP1 00002dce: PUSH2 0x2dd7 00002dd1: SWAP2 00002dd2: SWAP1 00002dd3: PUSH2 0x4f9d 00002dd6: JUMP 00002dd7: JUMPDEST 00002dd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ded: AND 00002dee: EQ 00002def: JUMPDEST 00002df0: PUSH2 0x2e25 00002df3: JUMPI 00002df4: PUSH1 0x40 00002df6: MLOAD 00002df7: PUSH32 0x9db8d5b100000000000000000000000000000000000000000000000000000000 00002e18: DUP2 00002e19: MSTORE 00002e1a: PUSH1 0x04 00002e1c: ADD 00002e1d: PUSH1 0x40 00002e1f: MLOAD 00002e20: DUP1 00002e21: SWAP2 00002e22: SUB 00002e23: SWAP1 00002e24: REVERT 00002e25: JUMPDEST 00002e26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e3b: DUP2 00002e3c: AND 00002e3d: PUSH2 0x2e72 00002e40: JUMPI 00002e41: PUSH1 0x40 00002e43: MLOAD 00002e44: PUSH32 0xf418616400000000000000000000000000000000000000000000000000000000 00002e65: DUP2 00002e66: MSTORE 00002e67: PUSH1 0x04 00002e69: ADD 00002e6a: PUSH1 0x40 00002e6c: MLOAD 00002e6d: DUP1 00002e6e: SWAP2 00002e6f: SUB 00002e70: SWAP1 00002e71: REVERT 00002e72: JUMPDEST 00002e73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e88: DUP2 00002e89: DUP2 00002e8a: AND 00002e8b: PUSH0 00002e8c: SWAP1 00002e8d: DUP2 00002e8e: MSTORE 00002e8f: PUSH1 0x0b 00002e91: PUSH1 0x20 00002e93: SWAP1 00002e94: DUP2 00002e95: MSTORE 00002e96: PUSH1 0x40 00002e98: DUP1 00002e99: DUP4 00002e9a: KECCAK256 00002e9b: DUP1 00002e9c: SLOAD 00002e9d: SWAP5 00002e9e: DUP8 00002e9f: AND 00002ea0: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002ec1: SWAP6 00002ec2: DUP7 00002ec3: AND 00002ec4: DUP2 00002ec5: OR 00002ec6: SWAP1 00002ec7: SWAP2 00002ec8: SSTORE 00002ec9: DUP1 00002eca: DUP5 00002ecb: MSTORE 00002ecc: PUSH1 0x0f 00002ece: DUP4 00002ecf: MSTORE 00002ed0: DUP2 00002ed1: DUP5 00002ed2: KECCAK256 00002ed3: DUP1 00002ed4: SLOAD 00002ed5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002ef6: AND 00002ef7: PUSH1 0x01 00002ef9: SWAP1 00002efa: DUP2 00002efb: OR 00002efc: SWAP1 00002efd: SWAP2 00002efe: SSTORE 00002eff: PUSH1 0x07 00002f01: DUP1 00002f02: SLOAD 00002f03: SWAP2 00002f04: DUP3 00002f05: ADD 00002f06: DUP2 00002f07: SSTORE 00002f08: SWAP1 00002f09: SWAP5 00002f0a: MSTORE 00002f0b: PUSH32 0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688 00002f2c: SWAP1 00002f2d: SWAP4 00002f2e: ADD 00002f2f: DUP1 00002f30: SLOAD 00002f31: SWAP1 00002f32: SWAP5 00002f33: AND 00002f34: DUP4 00002f35: OR 00002f36: SWAP1 00002f37: SWAP4 00002f38: SSTORE 00002f39: SWAP2 00002f3a: MLOAD 00002f3b: SWAP1 00002f3c: DUP2 00002f3d: MSTORE 00002f3e: PUSH32 0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f 00002f5f: SWAP2 00002f60: ADD 00002f61: PUSH2 0x2133 00002f64: JUMP 00002f65: JUMPDEST 00002f66: PUSH2 0x2f6d 00002f69: PUSH2 0x3015 00002f6c: JUMP 00002f6d: JUMPDEST 00002f6e: PUSH1 0x03 00002f70: DUP1 00002f71: SLOAD 00002f72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f87: DUP4 00002f88: AND 00002f89: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002faa: SWAP1 00002fab: SWAP2 00002fac: AND 00002fad: DUP2 00002fae: OR 00002faf: SWAP1 00002fb0: SWAP2 00002fb1: SSTORE 00002fb2: PUSH2 0x2fd0 00002fb5: PUSH1 0x02 00002fb7: SLOAD 00002fb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fcd: AND 00002fce: SWAP1 00002fcf: JUMP 00002fd0: JUMPDEST 00002fd1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fe6: AND 00002fe7: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700 00003008: PUSH1 0x40 0000300a: MLOAD 0000300b: PUSH1 0x40 0000300d: MLOAD 0000300e: DUP1 0000300f: SWAP2 00003010: SUB 00003011: SWAP1 00003012: LOG3 00003013: POP 00003014: JUMP 00003015: JUMPDEST 00003016: PUSH1 0x02 00003018: SLOAD 00003019: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000302e: AND 0000302f: CALLER 00003030: EQ 00003031: PUSH2 0x158d 00003034: JUMPI 00003035: PUSH1 0x40 00003037: MLOAD 00003038: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003059: DUP2 0000305a: MSTORE 0000305b: PUSH1 0x20 0000305d: PUSH1 0x04 0000305f: DUP3 00003060: ADD 00003061: DUP2 00003062: SWAP1 00003063: MSTORE 00003064: PUSH1 0x24 00003066: DUP3 00003067: ADD 00003068: MSTORE 00003069: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 0000308a: PUSH1 0x44 0000308c: DUP3 0000308d: ADD 0000308e: MSTORE 0000308f: PUSH1 0x64 00003091: ADD 00003092: PUSH2 0x186b 00003095: JUMP 00003096: JUMPDEST 00003097: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 000030b8: TLOAD 000030b9: ISZERO 000030ba: PUSH2 0x30ef 000030bd: JUMPI 000030be: PUSH1 0x40 000030c0: MLOAD 000030c1: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000 000030e2: DUP2 000030e3: MSTORE 000030e4: PUSH1 0x04 000030e6: ADD 000030e7: PUSH1 0x40 000030e9: MLOAD 000030ea: DUP1 000030eb: SWAP2 000030ec: SUB 000030ed: SWAP1 000030ee: REVERT 000030ef: JUMPDEST 000030f0: PUSH2 0x158d 000030f3: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 00003114: PUSH1 0x01 00003116: PUSH2 0x3bbd 00003119: JUMP 0000311a: JUMPDEST 0000311b: TIMESTAMP 0000311c: DUP4 0000311d: PUSH1 0x20 0000311f: ADD 00003120: CALLDATALOAD 00003121: LT 00003122: ISZERO 00003123: PUSH2 0x3158 00003126: JUMPI 00003127: PUSH1 0x40 00003129: MLOAD 0000312a: PUSH32 0xfef01cd200000000000000000000000000000000000000000000000000000000 0000314b: DUP2 0000314c: MSTORE 0000314d: PUSH1 0x04 0000314f: ADD 00003150: PUSH1 0x40 00003152: MLOAD 00003153: DUP1 00003154: SWAP2 00003155: SUB 00003156: SWAP1 00003157: REVERT 00003158: JUMPDEST 00003159: PUSH2 0x3162 0000315c: DUP4 0000315d: CALLDATALOAD 0000315e: PUSH2 0x3bc4 00003161: JUMP 00003162: JUMPDEST 00003163: PUSH0 00003164: PUSH32 0x76c5f3d53a01a9f0a59b081b22aba3a0f03248e9241993e97d1d025ef2ffaac2 00003185: DUP5 00003186: CALLDATALOAD 00003187: PUSH1 0x20 00003189: DUP7 0000318a: ADD 0000318b: CALLDATALOAD 0000318c: PUSH2 0x319b 0000318f: PUSH1 0x60 00003191: DUP9 00003192: ADD 00003193: PUSH1 0x40 00003195: DUP10 00003196: ADD 00003197: PUSH2 0x44e9 0000319a: JUMP 0000319b: JUMPDEST 0000319c: PUSH2 0x31a8 0000319f: PUSH1 0x60 000031a1: DUP10 000031a2: ADD 000031a3: DUP10 000031a4: PUSH2 0x4a81 000031a7: JUMP 000031a8: JUMPDEST 000031a9: PUSH1 0x40 000031ab: MLOAD 000031ac: PUSH1 0x20 000031ae: ADD 000031af: PUSH2 0x31b9 000031b2: SWAP3 000031b3: SWAP2 000031b4: SWAP1 000031b5: PUSH2 0x4fb8 000031b8: JUMP 000031b9: JUMPDEST 000031ba: PUSH1 0x40 000031bc: DUP1 000031bd: MLOAD 000031be: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000031df: DUP2 000031e0: DUP5 000031e1: SUB 000031e2: ADD 000031e3: DUP2 000031e4: MSTORE 000031e5: SWAP2 000031e6: SWAP1 000031e7: MSTORE 000031e8: DUP1 000031e9: MLOAD 000031ea: PUSH1 0x20 000031ec: SWAP1 000031ed: SWAP2 000031ee: ADD 000031ef: KECCAK256 000031f0: PUSH2 0x31fc 000031f3: PUSH1 0x80 000031f5: DUP11 000031f6: ADD 000031f7: DUP11 000031f8: PUSH2 0x4a81 000031fb: JUMP 000031fc: JUMPDEST 000031fd: PUSH1 0x40 000031ff: MLOAD 00003200: PUSH1 0x20 00003202: ADD 00003203: PUSH2 0x320d 00003206: SWAP3 00003207: SWAP2 00003208: SWAP1 00003209: PUSH2 0x4fb8 0000320c: JUMP 0000320d: JUMPDEST 0000320e: PUSH1 0x40 00003210: DUP1 00003211: MLOAD 00003212: DUP1 00003213: DUP4 00003214: SUB 00003215: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003236: ADD 00003237: DUP2 00003238: MSTORE 00003239: DUP3 0000323a: DUP3 0000323b: MSTORE 0000323c: DUP1 0000323d: MLOAD 0000323e: PUSH1 0x20 00003240: SWAP2 00003241: DUP3 00003242: ADD 00003243: KECCAK256 00003244: CALLER 00003245: PUSH0 00003246: SWAP1 00003247: DUP2 00003248: MSTORE 00003249: PUSH1 0x15 0000324b: DUP4 0000324c: MSTORE 0000324d: DUP4 0000324e: SWAP1 0000324f: KECCAK256 00003250: SLOAD 00003251: SWAP2 00003252: DUP5 00003253: ADD 00003254: SWAP9 00003255: SWAP1 00003256: SWAP9 00003257: MSTORE 00003258: SWAP1 00003259: DUP3 0000325a: ADD 0000325b: SWAP6 0000325c: SWAP1 0000325d: SWAP6 0000325e: MSTORE 0000325f: PUSH1 0x60 00003261: DUP2 00003262: ADD 00003263: SWAP4 00003264: SWAP1 00003265: SWAP4 00003266: MSTORE 00003267: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000327c: SWAP2 0000327d: DUP3 0000327e: AND 0000327f: PUSH1 0x80 00003281: DUP5 00003282: ADD 00003283: MSTORE 00003284: PUSH1 0xa0 00003286: DUP4 00003287: ADD 00003288: MSTORE 00003289: PUSH1 0xc0 0000328b: DUP3 0000328c: ADD 0000328d: SWAP4 0000328e: SWAP1 0000328f: SWAP4 00003290: MSTORE 00003291: SWAP2 00003292: AND 00003293: PUSH1 0xe0 00003295: DUP3 00003296: ADD 00003297: MSTORE 00003298: PUSH2 0x0100 0000329b: ADD 0000329c: JUMPDEST 0000329d: PUSH1 0x40 0000329f: MLOAD 000032a0: PUSH1 0x20 000032a2: DUP2 000032a3: DUP4 000032a4: SUB 000032a5: SUB 000032a6: DUP2 000032a7: MSTORE 000032a8: SWAP1 000032a9: PUSH1 0x40 000032ab: MSTORE 000032ac: DUP1 000032ad: MLOAD 000032ae: SWAP1 000032af: PUSH1 0x20 000032b1: ADD 000032b2: KECCAK256 000032b3: SWAP1 000032b4: POP 000032b5: PUSH0 000032b6: PUSH2 0x32be 000032b9: DUP3 000032ba: PUSH2 0x3c44 000032bd: JUMP 000032be: JUMPDEST 000032bf: SWAP1 000032c0: POP 000032c1: PUSH0 000032c2: PUSH2 0x3300 000032c5: DUP3 000032c6: DUP7 000032c7: DUP7 000032c8: DUP1 000032c9: DUP1 000032ca: PUSH1 0x1f 000032cc: ADD 000032cd: PUSH1 0x20 000032cf: DUP1 000032d0: SWAP2 000032d1: DIV 000032d2: MUL 000032d3: PUSH1 0x20 000032d5: ADD 000032d6: PUSH1 0x40 000032d8: MLOAD 000032d9: SWAP1 000032da: DUP2 000032db: ADD 000032dc: PUSH1 0x40 000032de: MSTORE 000032df: DUP1 000032e0: SWAP4 000032e1: SWAP3 000032e2: SWAP2 000032e3: SWAP1 000032e4: DUP2 000032e5: DUP2 000032e6: MSTORE 000032e7: PUSH1 0x20 000032e9: ADD 000032ea: DUP4 000032eb: DUP4 000032ec: DUP1 000032ed: DUP3 000032ee: DUP5 000032ef: CALLDATACOPY 000032f0: PUSH0 000032f1: SWAP3 000032f2: ADD 000032f3: SWAP2 000032f4: SWAP1 000032f5: SWAP2 000032f6: MSTORE 000032f7: POP 000032f8: PUSH2 0x3c8b 000032fb: SWAP3 000032fc: POP 000032fd: POP 000032fe: POP 000032ff: JUMP 00003300: JUMPDEST 00003301: PUSH1 0x05 00003303: SLOAD 00003304: SWAP1 00003305: SWAP2 00003306: POP 00003307: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000331c: DUP1 0000331d: DUP4 0000331e: AND 0000331f: SWAP2 00003320: AND 00003321: EQ 00003322: PUSH2 0x3357 00003325: JUMPI 00003326: PUSH1 0x40 00003328: MLOAD 00003329: PUSH32 0x8baa579f00000000000000000000000000000000000000000000000000000000 0000334a: DUP2 0000334b: MSTORE 0000334c: PUSH1 0x04 0000334e: ADD 0000334f: PUSH1 0x40 00003351: MLOAD 00003352: DUP1 00003353: SWAP2 00003354: SUB 00003355: SWAP1 00003356: REVERT 00003357: JUMPDEST 00003358: POP 00003359: POP 0000335a: POP 0000335b: POP 0000335c: POP 0000335d: POP 0000335e: JUMP 0000335f: JUMPDEST 00003360: DUP2 00003361: MLOAD 00003362: PUSH0 00003363: JUMPDEST 00003364: DUP2 00003365: DUP2 00003366: LT 00003367: ISZERO 00003368: PUSH2 0x0fa6 0000336b: JUMPI 0000336c: PUSH0 0000336d: DUP5 0000336e: DUP3 0000336f: DUP2 00003370: MLOAD 00003371: DUP2 00003372: LT 00003373: PUSH2 0x337e 00003376: JUMPI 00003377: PUSH2 0x337e 0000337a: PUSH2 0x4b62 0000337d: JUMP 0000337e: JUMPDEST 0000337f: PUSH1 0x20 00003381: MUL 00003382: PUSH1 0x20 00003384: ADD 00003385: ADD 00003386: MLOAD 00003387: PUSH0 00003388: ADD 00003389: MLOAD 0000338a: SWAP1 0000338b: POP 0000338c: PUSH0 0000338d: DUP6 0000338e: DUP4 0000338f: DUP2 00003390: MLOAD 00003391: DUP2 00003392: LT 00003393: PUSH2 0x339e 00003396: JUMPI 00003397: PUSH2 0x339e 0000339a: PUSH2 0x4b62 0000339d: JUMP 0000339e: JUMPDEST 0000339f: PUSH1 0x20 000033a1: SWAP1 000033a2: DUP2 000033a3: MUL 000033a4: SWAP2 000033a5: SWAP1 000033a6: SWAP2 000033a7: ADD 000033a8: DUP2 000033a9: ADD 000033aa: MLOAD 000033ab: DUP2 000033ac: ADD 000033ad: MLOAD 000033ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033c3: DUP1 000033c4: DUP9 000033c5: AND 000033c6: PUSH0 000033c7: SWAP1 000033c8: DUP2 000033c9: MSTORE 000033ca: PUSH1 0x0d 000033cc: DUP5 000033cd: MSTORE 000033ce: PUSH1 0x40 000033d0: DUP1 000033d1: DUP3 000033d2: KECCAK256 000033d3: SWAP3 000033d4: DUP8 000033d5: AND 000033d6: DUP3 000033d7: MSTORE 000033d8: SWAP2 000033d9: SWAP1 000033da: SWAP4 000033db: MSTORE 000033dc: DUP3 000033dd: KECCAK256 000033de: SLOAD 000033df: SWAP1 000033e0: SWAP3 000033e1: POP 000033e2: PUSH2 0x33ec 000033e5: SWAP1 000033e6: DUP4 000033e7: SWAP1 000033e8: PUSH2 0x4cd9 000033eb: JUMP 000033ec: JUMPDEST 000033ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003402: DUP5 00003403: DUP2 00003404: AND 00003405: PUSH0 00003406: SWAP1 00003407: DUP2 00003408: MSTORE 00003409: PUSH1 0x0b 0000340b: PUSH1 0x20 0000340d: MSTORE 0000340e: PUSH1 0x40 00003410: SWAP1 00003411: KECCAK256 00003412: SLOAD 00003413: SWAP2 00003414: SWAP3 00003415: POP 00003416: AND 00003417: PUSH2 0x344c 0000341a: JUMPI 0000341b: PUSH1 0x40 0000341d: MLOAD 0000341e: PUSH32 0xf418616400000000000000000000000000000000000000000000000000000000 0000343f: DUP2 00003440: MSTORE 00003441: PUSH1 0x04 00003443: ADD 00003444: PUSH1 0x40 00003446: MLOAD 00003447: DUP1 00003448: SWAP2 00003449: SUB 0000344a: SWAP1 0000344b: REVERT 0000344c: JUMPDEST 0000344d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003462: DUP1 00003463: DUP8 00003464: AND 00003465: PUSH0 00003466: SWAP1 00003467: DUP2 00003468: MSTORE 00003469: PUSH1 0x0d 0000346b: PUSH1 0x20 0000346d: SWAP1 0000346e: DUP2 0000346f: MSTORE 00003470: PUSH1 0x40 00003472: DUP1 00003473: DUP4 00003474: KECCAK256 00003475: SWAP4 00003476: DUP8 00003477: AND 00003478: DUP4 00003479: MSTORE 0000347a: SWAP3 0000347b: SWAP1 0000347c: MSTORE 0000347d: SWAP1 0000347e: DUP2 0000347f: KECCAK256 00003480: SLOAD 00003481: PUSH2 0x348b 00003484: SWAP1 00003485: DUP5 00003486: SWAP1 00003487: PUSH2 0x4fcb 0000348a: JUMP 0000348b: JUMPDEST 0000348c: SLT 0000348d: ISZERO 0000348e: DUP1 0000348f: PUSH2 0x34d4 00003492: JUMPI 00003493: POP 00003494: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034a9: DUP1 000034aa: DUP8 000034ab: AND 000034ac: PUSH0 000034ad: SWAP1 000034ae: DUP2 000034af: MSTORE 000034b0: PUSH1 0x0d 000034b2: PUSH1 0x20 000034b4: SWAP1 000034b5: DUP2 000034b6: MSTORE 000034b7: PUSH1 0x40 000034b9: DUP1 000034ba: DUP4 000034bb: KECCAK256 000034bc: SWAP4 000034bd: DUP8 000034be: AND 000034bf: DUP4 000034c0: MSTORE 000034c1: SWAP3 000034c2: SWAP1 000034c3: MSTORE 000034c4: SWAP1 000034c5: DUP2 000034c6: KECCAK256 000034c7: SLOAD 000034c8: PUSH2 0x34d2 000034cb: SWAP1 000034cc: DUP4 000034cd: SWAP1 000034ce: PUSH2 0x4fcb 000034d1: JUMP 000034d2: JUMPDEST 000034d3: SLT 000034d4: JUMPDEST 000034d5: ISZERO 000034d6: PUSH2 0x350b 000034d9: JUMPI 000034da: PUSH1 0x40 000034dc: MLOAD 000034dd: PUSH32 0x09a09f7500000000000000000000000000000000000000000000000000000000 000034fe: DUP2 000034ff: MSTORE 00003500: PUSH1 0x04 00003502: ADD 00003503: PUSH1 0x40 00003505: MLOAD 00003506: DUP1 00003507: SWAP2 00003508: SUB 00003509: SWAP1 0000350a: REVERT 0000350b: JUMPDEST 0000350c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003521: DUP1 00003522: DUP8 00003523: AND 00003524: PUSH0 00003525: SWAP1 00003526: DUP2 00003527: MSTORE 00003528: PUSH1 0x0d 0000352a: PUSH1 0x20 0000352c: SWAP1 0000352d: DUP2 0000352e: MSTORE 0000352f: PUSH1 0x40 00003531: DUP1 00003532: DUP4 00003533: KECCAK256 00003534: SWAP7 00003535: SWAP1 00003536: SWAP4 00003537: AND 00003538: DUP3 00003539: MSTORE 0000353a: SWAP5 0000353b: SWAP1 0000353c: SWAP5 0000353d: MSTORE 0000353e: SWAP1 0000353f: SWAP3 00003540: KECCAK256 00003541: SWAP2 00003542: SWAP1 00003543: SWAP2 00003544: SSTORE 00003545: POP 00003546: PUSH1 0x01 00003548: ADD 00003549: PUSH2 0x3363 0000354c: JUMP 0000354d: JUMPDEST 0000354e: PUSH0 0000354f: PUSH0 00003550: DUP3 00003551: SLT 00003552: ISZERO 00003553: PUSH2 0x35b8 00003556: JUMPI 00003557: PUSH1 0x40 00003559: MLOAD 0000355a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000357b: DUP2 0000357c: MSTORE 0000357d: PUSH1 0x20 0000357f: PUSH1 0x04 00003581: DUP3 00003582: ADD 00003583: DUP2 00003584: SWAP1 00003585: MSTORE 00003586: PUSH1 0x24 00003588: DUP3 00003589: ADD 0000358a: MSTORE 0000358b: PUSH32 0x53616665436173743a2076616c7565206d75737420626520706f736974697665 000035ac: PUSH1 0x44 000035ae: DUP3 000035af: ADD 000035b0: MSTORE 000035b1: PUSH1 0x64 000035b3: ADD 000035b4: PUSH2 0x186b 000035b7: JUMP 000035b8: JUMPDEST 000035b9: POP 000035ba: SWAP1 000035bb: JUMP 000035bc: JUMPDEST 000035bd: PUSH1 0x40 000035bf: MLOAD 000035c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000035d5: DUP1 000035d6: DUP6 000035d7: AND 000035d8: PUSH1 0x24 000035da: DUP4 000035db: ADD 000035dc: MSTORE 000035dd: DUP4 000035de: AND 000035df: PUSH1 0x44 000035e1: DUP3 000035e2: ADD 000035e3: MSTORE 000035e4: PUSH1 0x64 000035e6: DUP2 000035e7: ADD 000035e8: DUP3 000035e9: SWAP1 000035ea: MSTORE 000035eb: PUSH2 0x0fa6 000035ee: SWAP1 000035ef: DUP6 000035f0: SWAP1 000035f1: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00003612: SWAP1 00003613: PUSH1 0x84 00003615: ADD 00003616: JUMPDEST 00003617: PUSH1 0x40 00003619: DUP1 0000361a: MLOAD 0000361b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000363c: DUP2 0000363d: DUP5 0000363e: SUB 0000363f: ADD 00003640: DUP2 00003641: MSTORE 00003642: SWAP2 00003643: SWAP1 00003644: MSTORE 00003645: PUSH1 0x20 00003647: DUP2 00003648: ADD 00003649: DUP1 0000364a: MLOAD 0000364b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003668: AND 00003669: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000368a: SWAP1 0000368b: SWAP4 0000368c: AND 0000368d: SWAP3 0000368e: SWAP1 0000368f: SWAP3 00003690: OR 00003691: SWAP1 00003692: SWAP2 00003693: MSTORE 00003694: PUSH2 0x3cad 00003697: JUMP 00003698: JUMPDEST 00003699: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000036ae: DUP1 000036af: DUP5 000036b0: AND 000036b1: PUSH0 000036b2: SWAP1 000036b3: DUP2 000036b4: MSTORE 000036b5: PUSH1 0x16 000036b7: PUSH1 0x20 000036b9: SWAP1 000036ba: DUP2 000036bb: MSTORE 000036bc: PUSH1 0x40 000036be: DUP1 000036bf: DUP4 000036c0: KECCAK256 000036c1: SWAP4 000036c2: DUP7 000036c3: AND 000036c4: DUP4 000036c5: MSTORE 000036c6: SWAP3 000036c7: SWAP1 000036c8: MSTORE 000036c9: SWAP1 000036ca: DUP2 000036cb: KECCAK256 000036cc: SWAP1 000036cd: PUSH2 0x36d9 000036d0: PUSH3 0x015180 000036d4: TIMESTAMP 000036d5: PUSH2 0x4a49 000036d8: JUMP 000036d9: JUMPDEST 000036da: SWAP1 000036db: POP 000036dc: PUSH0 000036dd: DUP3 000036de: PUSH1 0x02 000036e0: ADD 000036e1: SLOAD 000036e2: DUP3 000036e3: GT 000036e4: ISZERO 000036e5: PUSH2 0x36ef 000036e8: JUMPI 000036e9: POP 000036ea: DUP3 000036eb: PUSH2 0x3702 000036ee: JUMP 000036ef: JUMPDEST 000036f0: DUP4 000036f1: DUP4 000036f2: PUSH1 0x01 000036f4: ADD 000036f5: SLOAD 000036f6: PUSH2 0x36ff 000036f9: SWAP2 000036fa: SWAP1 000036fb: PUSH2 0x4df3 000036fe: JUMP 000036ff: JUMPDEST 00003700: SWAP1 00003701: POP 00003702: JUMPDEST 00003703: DUP3 00003704: SLOAD 00003705: ISZERO 00003706: DUP1 00003707: PUSH2 0x3711 0000370a: JUMPI 0000370b: POP 0000370c: DUP3 0000370d: SLOAD 0000370e: DUP2 0000370f: GT 00003710: ISZERO 00003711: JUMPDEST 00003712: PUSH2 0x3747 00003715: JUMPI 00003716: PUSH1 0x40 00003718: MLOAD 00003719: PUSH32 0xf5b71ffc00000000000000000000000000000000000000000000000000000000 0000373a: DUP2 0000373b: MSTORE 0000373c: PUSH1 0x04 0000373e: ADD 0000373f: PUSH1 0x40 00003741: MLOAD 00003742: DUP1 00003743: SWAP2 00003744: SUB 00003745: SWAP1 00003746: REVERT 00003747: JUMPDEST 00003748: PUSH1 0x40 0000374a: DUP1 0000374b: MLOAD 0000374c: PUSH1 0x60 0000374e: DUP2 0000374f: ADD 00003750: DUP3 00003751: MSTORE 00003752: SWAP4 00003753: SLOAD 00003754: DUP5 00003755: MSTORE 00003756: PUSH1 0x20 00003758: DUP1 00003759: DUP6 0000375a: ADD 0000375b: SWAP3 0000375c: DUP4 0000375d: MSTORE 0000375e: DUP5 0000375f: DUP3 00003760: ADD 00003761: SWAP4 00003762: DUP5 00003763: MSTORE 00003764: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003779: SWAP8 0000377a: DUP9 0000377b: AND 0000377c: PUSH0 0000377d: SWAP1 0000377e: DUP2 0000377f: MSTORE 00003780: PUSH1 0x16 00003782: DUP3 00003783: MSTORE 00003784: DUP3 00003785: DUP2 00003786: KECCAK256 00003787: SWAP8 00003788: SWAP1 00003789: SWAP9 0000378a: AND 0000378b: DUP9 0000378c: MSTORE 0000378d: SWAP6 0000378e: SWAP1 0000378f: SWAP6 00003790: MSTORE 00003791: SWAP4 00003792: SWAP1 00003793: SWAP5 00003794: KECCAK256 00003795: SWAP1 00003796: MLOAD 00003797: DUP2 00003798: SSTORE 00003799: SWAP2 0000379a: MLOAD 0000379b: PUSH1 0x01 0000379d: DUP4 0000379e: ADD 0000379f: SSTORE 000037a0: POP 000037a1: SWAP1 000037a2: MLOAD 000037a3: PUSH1 0x02 000037a5: SWAP1 000037a6: SWAP2 000037a7: ADD 000037a8: SSTORE 000037a9: JUMP 000037aa: JUMPDEST 000037ab: PUSH1 0x40 000037ad: MLOAD 000037ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000037c3: DUP4 000037c4: AND 000037c5: PUSH1 0x24 000037c7: DUP3 000037c8: ADD 000037c9: MSTORE 000037ca: PUSH1 0x44 000037cc: DUP2 000037cd: ADD 000037ce: DUP3 000037cf: SWAP1 000037d0: MSTORE 000037d1: PUSH2 0x0e96 000037d4: SWAP1 000037d5: DUP5 000037d6: SWAP1 000037d7: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000037f8: SWAP1 000037f9: PUSH1 0x64 000037fb: ADD 000037fc: PUSH2 0x3616 000037ff: JUMP 00003800: JUMPDEST 00003801: PUSH2 0x158d 00003804: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 00003825: PUSH0 00003826: PUSH2 0x3bbd 00003829: JUMP 0000382a: JUMPDEST 0000382b: PUSH1 0x40 0000382d: MLOAD 0000382e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003843: DUP4 00003844: AND 00003845: PUSH1 0x24 00003847: DUP3 00003848: ADD 00003849: MSTORE 0000384a: PUSH1 0x44 0000384c: DUP2 0000384d: ADD 0000384e: DUP3 0000384f: SWAP1 00003850: MSTORE 00003851: PUSH2 0x0e96 00003854: SWAP1 00003855: DUP5 00003856: SWAP1 00003857: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00003878: SWAP1 00003879: PUSH1 0x64 0000387b: ADD 0000387c: PUSH2 0x3616 0000387f: JUMP 00003880: JUMPDEST 00003881: TIMESTAMP 00003882: DUP4 00003883: PUSH1 0x20 00003885: ADD 00003886: CALLDATALOAD 00003887: LT 00003888: ISZERO 00003889: PUSH2 0x38be 0000388c: JUMPI 0000388d: PUSH1 0x40 0000388f: MLOAD 00003890: PUSH32 0xfef01cd200000000000000000000000000000000000000000000000000000000 000038b1: DUP2 000038b2: MSTORE 000038b3: PUSH1 0x04 000038b5: ADD 000038b6: PUSH1 0x40 000038b8: MLOAD 000038b9: DUP1 000038ba: SWAP2 000038bb: SUB 000038bc: SWAP1 000038bd: REVERT 000038be: JUMPDEST 000038bf: PUSH2 0x38c8 000038c2: DUP4 000038c3: CALLDATALOAD 000038c4: PUSH2 0x3bc4 000038c7: JUMP 000038c8: JUMPDEST 000038c9: PUSH0 000038ca: PUSH32 0x6b9aa5f8de278806afcc63bb2d2e633b4da3536375ca60f09ae8fae5829b3c46 000038eb: DUP5 000038ec: CALLDATALOAD 000038ed: PUSH1 0x20 000038ef: DUP7 000038f0: ADD 000038f1: CALLDATALOAD 000038f2: PUSH2 0x3901 000038f5: PUSH1 0x60 000038f7: DUP9 000038f8: ADD 000038f9: PUSH1 0x40 000038fb: DUP10 000038fc: ADD 000038fd: PUSH2 0x44e9 00003900: JUMP 00003901: JUMPDEST 00003902: PUSH2 0x390e 00003905: PUSH1 0x60 00003907: DUP10 00003908: ADD 00003909: DUP10 0000390a: PUSH2 0x4a81 0000390d: JUMP 0000390e: JUMPDEST 0000390f: PUSH1 0x40 00003911: MLOAD 00003912: PUSH1 0x20 00003914: ADD 00003915: PUSH2 0x391f 00003918: SWAP3 00003919: SWAP2 0000391a: SWAP1 0000391b: PUSH2 0x4fb8 0000391e: JUMP 0000391f: JUMPDEST 00003920: PUSH1 0x40 00003922: MLOAD 00003923: PUSH1 0x20 00003925: DUP2 00003926: DUP4 00003927: SUB 00003928: SUB 00003929: DUP2 0000392a: MSTORE 0000392b: SWAP1 0000392c: PUSH1 0x40 0000392e: MSTORE 0000392f: DUP1 00003930: MLOAD 00003931: SWAP1 00003932: PUSH1 0x20 00003934: ADD 00003935: KECCAK256 00003936: PUSH1 0x12 00003938: PUSH0 00003939: DUP11 0000393a: PUSH1 0x40 0000393c: ADD 0000393d: PUSH1 0x20 0000393f: DUP2 00003940: ADD 00003941: SWAP1 00003942: PUSH2 0x394b 00003945: SWAP2 00003946: SWAP1 00003947: PUSH2 0x44e9 0000394a: JUMP 0000394b: JUMPDEST 0000394c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003961: SWAP1 00003962: DUP2 00003963: AND 00003964: DUP3 00003965: MSTORE 00003966: PUSH1 0x20 00003968: DUP1 00003969: DUP4 0000396a: ADD 0000396b: SWAP4 0000396c: SWAP1 0000396d: SWAP4 0000396e: MSTORE 0000396f: PUSH1 0x40 00003971: SWAP2 00003972: DUP3 00003973: ADD 00003974: PUSH0 00003975: KECCAK256 00003976: SLOAD 00003977: DUP3 00003978: MLOAD 00003979: SWAP4 0000397a: DUP5 0000397b: ADD 0000397c: SWAP9 0000397d: SWAP1 0000397e: SWAP9 0000397f: MSTORE 00003980: SWAP1 00003981: DUP3 00003982: ADD 00003983: SWAP6 00003984: SWAP1 00003985: SWAP6 00003986: MSTORE 00003987: PUSH1 0x60 00003989: DUP2 0000398a: ADD 0000398b: SWAP4 0000398c: SWAP1 0000398d: SWAP4 0000398e: MSTORE 0000398f: SWAP1 00003990: DUP4 00003991: AND 00003992: PUSH1 0x80 00003994: DUP4 00003995: ADD 00003996: MSTORE 00003997: PUSH1 0xa0 00003999: DUP3 0000399a: ADD 0000399b: MSTORE 0000399c: SWAP2 0000399d: AND 0000399e: PUSH1 0xc0 000039a0: DUP3 000039a1: ADD 000039a2: MSTORE 000039a3: PUSH1 0xe0 000039a5: ADD 000039a6: PUSH2 0x329c 000039a9: JUMP 000039aa: JUMPDEST 000039ab: PUSH1 0x03 000039ad: DUP1 000039ae: SLOAD 000039af: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000039d0: AND 000039d1: SWAP1 000039d2: SSTORE 000039d3: PUSH2 0x187d 000039d6: DUP2 000039d7: PUSH2 0x3dba 000039da: JUMP 000039db: JUMPDEST 000039dc: PUSH1 0x60 000039de: PUSH1 0xff 000039e0: DUP4 000039e1: EQ 000039e2: PUSH2 0x39f5 000039e5: JUMPI 000039e6: PUSH2 0x39ee 000039e9: DUP4 000039ea: PUSH2 0x3e30 000039ed: JUMP 000039ee: JUMPDEST 000039ef: SWAP1 000039f0: POP 000039f1: PUSH2 0x3a80 000039f4: JUMP 000039f5: JUMPDEST 000039f6: DUP2 000039f7: DUP1 000039f8: SLOAD 000039f9: PUSH2 0x3a01 000039fc: SWAP1 000039fd: PUSH2 0x5016 00003a00: JUMP 00003a01: JUMPDEST 00003a02: DUP1 00003a03: PUSH1 0x1f 00003a05: ADD 00003a06: PUSH1 0x20 00003a08: DUP1 00003a09: SWAP2 00003a0a: DIV 00003a0b: MUL 00003a0c: PUSH1 0x20 00003a0e: ADD 00003a0f: PUSH1 0x40 00003a11: MLOAD 00003a12: SWAP1 00003a13: DUP2 00003a14: ADD 00003a15: PUSH1 0x40 00003a17: MSTORE 00003a18: DUP1 00003a19: SWAP3 00003a1a: SWAP2 00003a1b: SWAP1 00003a1c: DUP2 00003a1d: DUP2 00003a1e: MSTORE 00003a1f: PUSH1 0x20 00003a21: ADD 00003a22: DUP3 00003a23: DUP1 00003a24: SLOAD 00003a25: PUSH2 0x3a2d 00003a28: SWAP1 00003a29: PUSH2 0x5016 00003a2c: JUMP 00003a2d: JUMPDEST 00003a2e: DUP1 00003a2f: ISZERO 00003a30: PUSH2 0x3a78 00003a33: JUMPI 00003a34: DUP1 00003a35: PUSH1 0x1f 00003a37: LT 00003a38: PUSH2 0x3a4f 00003a3b: JUMPI 00003a3c: PUSH2 0x0100 00003a3f: DUP1 00003a40: DUP4 00003a41: SLOAD 00003a42: DIV 00003a43: MUL 00003a44: DUP4 00003a45: MSTORE 00003a46: SWAP2 00003a47: PUSH1 0x20 00003a49: ADD 00003a4a: SWAP2 00003a4b: PUSH2 0x3a78 00003a4e: JUMP 00003a4f: JUMPDEST 00003a50: DUP3 00003a51: ADD 00003a52: SWAP2 00003a53: SWAP1 00003a54: PUSH0 00003a55: MSTORE 00003a56: PUSH1 0x20 00003a58: PUSH0 00003a59: KECCAK256 00003a5a: SWAP1 00003a5b: JUMPDEST 00003a5c: DUP2 00003a5d: SLOAD 00003a5e: DUP2 00003a5f: MSTORE 00003a60: SWAP1 00003a61: PUSH1 0x01 00003a63: ADD 00003a64: SWAP1 00003a65: PUSH1 0x20 00003a67: ADD 00003a68: DUP1 00003a69: DUP4 00003a6a: GT 00003a6b: PUSH2 0x3a5b 00003a6e: JUMPI 00003a6f: DUP3 00003a70: SWAP1 00003a71: SUB 00003a72: PUSH1 0x1f 00003a74: AND 00003a75: DUP3 00003a76: ADD 00003a77: SWAP2 00003a78: JUMPDEST 00003a79: POP 00003a7a: POP 00003a7b: POP 00003a7c: POP 00003a7d: POP 00003a7e: SWAP1 00003a7f: POP 00003a80: JUMPDEST 00003a81: SWAP3 00003a82: SWAP2 00003a83: POP 00003a84: POP 00003a85: JUMP 00003a86: JUMPDEST 00003a87: PUSH0 00003a88: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003aa9: DUP3 00003aaa: GT 00003aab: ISZERO 00003aac: PUSH2 0x35b8 00003aaf: JUMPI 00003ab0: PUSH1 0x40 00003ab2: MLOAD 00003ab3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003ad4: DUP2 00003ad5: MSTORE 00003ad6: PUSH1 0x20 00003ad8: PUSH1 0x04 00003ada: DUP3 00003adb: ADD 00003adc: MSTORE 00003add: PUSH1 0x28 00003adf: PUSH1 0x24 00003ae1: DUP3 00003ae2: ADD 00003ae3: MSTORE 00003ae4: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2061 00003b05: PUSH1 0x44 00003b07: DUP3 00003b08: ADD 00003b09: MSTORE 00003b0a: PUSH32 0x6e20696e74323536000000000000000000000000000000000000000000000000 00003b2b: PUSH1 0x64 00003b2d: DUP3 00003b2e: ADD 00003b2f: MSTORE 00003b30: PUSH1 0x84 00003b32: ADD 00003b33: PUSH2 0x186b 00003b36: JUMP 00003b37: JUMPDEST 00003b38: TIMESTAMP 00003b39: DUP4 00003b3a: PUSH1 0x20 00003b3c: ADD 00003b3d: CALLDATALOAD 00003b3e: LT 00003b3f: ISZERO 00003b40: PUSH2 0x3b75 00003b43: JUMPI 00003b44: PUSH1 0x40 00003b46: MLOAD 00003b47: PUSH32 0xfef01cd200000000000000000000000000000000000000000000000000000000 00003b68: DUP2 00003b69: MSTORE 00003b6a: PUSH1 0x04 00003b6c: ADD 00003b6d: PUSH1 0x40 00003b6f: MLOAD 00003b70: DUP1 00003b71: SWAP2 00003b72: SUB 00003b73: SWAP1 00003b74: REVERT 00003b75: JUMPDEST 00003b76: PUSH2 0x3b7f 00003b79: DUP4 00003b7a: CALLDATALOAD 00003b7b: PUSH2 0x3bc4 00003b7e: JUMP 00003b7f: JUMPDEST 00003b80: PUSH0 00003b81: PUSH32 0xe83563cdfbb4d31bd8759eea5a634fbe67ea13b6739d04d2426c621fee979fa4 00003ba2: DUP5 00003ba3: CALLDATALOAD 00003ba4: PUSH1 0x20 00003ba6: DUP7 00003ba7: ADD 00003ba8: CALLDATALOAD 00003ba9: PUSH2 0x3901 00003bac: PUSH1 0x60 00003bae: DUP9 00003baf: ADD 00003bb0: PUSH1 0x40 00003bb2: DUP10 00003bb3: ADD 00003bb4: PUSH2 0x44e9 00003bb7: JUMP 00003bb8: JUMPDEST 00003bb9: SWAP1 00003bba: POP 00003bbb: SWAP1 00003bbc: JUMP 00003bbd: JUMPDEST 00003bbe: DUP1 00003bbf: DUP3 00003bc0: TSTORE 00003bc1: POP 00003bc2: POP 00003bc3: JUMP 00003bc4: JUMPDEST 00003bc5: PUSH0 00003bc6: DUP2 00003bc7: DUP2 00003bc8: MSTORE 00003bc9: PUSH1 0x0c 00003bcb: PUSH1 0x20 00003bcd: MSTORE 00003bce: PUSH1 0x40 00003bd0: SWAP1 00003bd1: KECCAK256 00003bd2: SLOAD 00003bd3: PUSH1 0xff 00003bd5: AND 00003bd6: ISZERO 00003bd7: PUSH2 0x3c0c 00003bda: JUMPI 00003bdb: PUSH1 0x40 00003bdd: MLOAD 00003bde: PUSH32 0x1f6d5aef00000000000000000000000000000000000000000000000000000000 00003bff: DUP2 00003c00: MSTORE 00003c01: PUSH1 0x04 00003c03: ADD 00003c04: PUSH1 0x40 00003c06: MLOAD 00003c07: DUP1 00003c08: SWAP2 00003c09: SUB 00003c0a: SWAP1 00003c0b: REVERT 00003c0c: JUMPDEST 00003c0d: PUSH0 00003c0e: SWAP1 00003c0f: DUP2 00003c10: MSTORE 00003c11: PUSH1 0x0c 00003c13: PUSH1 0x20 00003c15: MSTORE 00003c16: PUSH1 0x40 00003c18: SWAP1 00003c19: KECCAK256 00003c1a: DUP1 00003c1b: SLOAD 00003c1c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00003c3d: AND 00003c3e: PUSH1 0x01 00003c40: OR 00003c41: SWAP1 00003c42: SSTORE 00003c43: JUMP 00003c44: JUMPDEST 00003c45: PUSH0 00003c46: PUSH2 0x3a80 00003c49: PUSH2 0x3c50 00003c4c: PUSH2 0x3e6d 00003c4f: JUMP 00003c50: JUMPDEST 00003c51: DUP4 00003c52: PUSH1 0x40 00003c54: MLOAD 00003c55: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 00003c76: DUP2 00003c77: MSTORE 00003c78: PUSH1 0x02 00003c7a: DUP2 00003c7b: ADD 00003c7c: SWAP3 00003c7d: SWAP1 00003c7e: SWAP3 00003c7f: MSTORE 00003c80: PUSH1 0x22 00003c82: DUP3 00003c83: ADD 00003c84: MSTORE 00003c85: PUSH1 0x42 00003c87: SWAP1 00003c88: KECCAK256 00003c89: SWAP1 00003c8a: JUMP 00003c8b: JUMPDEST 00003c8c: PUSH0 00003c8d: PUSH0 00003c8e: PUSH0 00003c8f: PUSH2 0x3c98 00003c92: DUP6 00003c93: DUP6 00003c94: PUSH2 0x3fa3 00003c97: JUMP 00003c98: JUMPDEST 00003c99: SWAP2 00003c9a: POP 00003c9b: SWAP2 00003c9c: POP 00003c9d: PUSH2 0x3ca5 00003ca0: DUP2 00003ca1: PUSH2 0x3fe5 00003ca4: JUMP 00003ca5: JUMPDEST 00003ca6: POP 00003ca7: SWAP4 00003ca8: SWAP3 00003ca9: POP 00003caa: POP 00003cab: POP 00003cac: JUMP 00003cad: JUMPDEST 00003cae: PUSH0 00003caf: PUSH2 0x3d0e 00003cb2: DUP3 00003cb3: PUSH1 0x40 00003cb5: MLOAD 00003cb6: DUP1 00003cb7: PUSH1 0x40 00003cb9: ADD 00003cba: PUSH1 0x40 00003cbc: MSTORE 00003cbd: DUP1 00003cbe: PUSH1 0x20 00003cc0: DUP2 00003cc1: MSTORE 00003cc2: PUSH1 0x20 00003cc4: ADD 00003cc5: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00003ce6: DUP2 00003ce7: MSTORE 00003ce8: POP 00003ce9: DUP6 00003cea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003cff: AND 00003d00: PUSH2 0x4197 00003d03: SWAP1 00003d04: SWAP3 00003d05: SWAP2 00003d06: SWAP1 00003d07: PUSH4 0xffffffff 00003d0c: AND 00003d0d: JUMP 00003d0e: JUMPDEST 00003d0f: SWAP1 00003d10: POP 00003d11: DUP1 00003d12: MLOAD 00003d13: PUSH0 00003d14: EQ 00003d15: DUP1 00003d16: PUSH2 0x3d2e 00003d19: JUMPI 00003d1a: POP 00003d1b: DUP1 00003d1c: DUP1 00003d1d: PUSH1 0x20 00003d1f: ADD 00003d20: SWAP1 00003d21: MLOAD 00003d22: DUP2 00003d23: ADD 00003d24: SWAP1 00003d25: PUSH2 0x3d2e 00003d28: SWAP2 00003d29: SWAP1 00003d2a: PUSH2 0x5061 00003d2d: JUMP 00003d2e: JUMPDEST 00003d2f: PUSH2 0x0e96 00003d32: JUMPI 00003d33: PUSH1 0x40 00003d35: MLOAD 00003d36: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003d57: DUP2 00003d58: MSTORE 00003d59: PUSH1 0x20 00003d5b: PUSH1 0x04 00003d5d: DUP3 00003d5e: ADD 00003d5f: MSTORE 00003d60: PUSH1 0x2a 00003d62: PUSH1 0x24 00003d64: DUP3 00003d65: ADD 00003d66: MSTORE 00003d67: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00003d88: PUSH1 0x44 00003d8a: DUP3 00003d8b: ADD 00003d8c: MSTORE 00003d8d: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 00003dae: PUSH1 0x64 00003db0: DUP3 00003db1: ADD 00003db2: MSTORE 00003db3: PUSH1 0x84 00003db5: ADD 00003db6: PUSH2 0x186b 00003db9: JUMP 00003dba: JUMPDEST 00003dbb: PUSH1 0x02 00003dbd: DUP1 00003dbe: SLOAD 00003dbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003dd4: DUP4 00003dd5: DUP2 00003dd6: AND 00003dd7: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00003df8: DUP4 00003df9: AND 00003dfa: DUP2 00003dfb: OR 00003dfc: SWAP1 00003dfd: SWAP4 00003dfe: SSTORE 00003dff: PUSH1 0x40 00003e01: MLOAD 00003e02: SWAP2 00003e03: AND 00003e04: SWAP2 00003e05: SWAP1 00003e06: DUP3 00003e07: SWAP1 00003e08: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00003e29: SWAP1 00003e2a: PUSH0 00003e2b: SWAP1 00003e2c: LOG3 00003e2d: POP 00003e2e: POP 00003e2f: JUMP 00003e30: JUMPDEST 00003e31: PUSH1 0x60 00003e33: PUSH0 00003e34: PUSH2 0x3e3c 00003e37: DUP4 00003e38: PUSH2 0x41ad 00003e3b: JUMP 00003e3c: JUMPDEST 00003e3d: PUSH1 0x40 00003e3f: DUP1 00003e40: MLOAD 00003e41: PUSH1 0x20 00003e43: DUP1 00003e44: DUP3 00003e45: MSTORE 00003e46: DUP2 00003e47: DUP4 00003e48: ADD 00003e49: SWAP1 00003e4a: SWAP3 00003e4b: MSTORE 00003e4c: SWAP2 00003e4d: SWAP3 00003e4e: POP 00003e4f: PUSH0 00003e50: SWAP2 00003e51: SWAP1 00003e52: PUSH1 0x20 00003e54: DUP3 00003e55: ADD 00003e56: DUP2 00003e57: DUP1 00003e58: CALLDATASIZE 00003e59: DUP4 00003e5a: CALLDATACOPY 00003e5b: POP 00003e5c: POP 00003e5d: POP 00003e5e: SWAP2 00003e5f: DUP3 00003e60: MSTORE 00003e61: POP 00003e62: PUSH1 0x20 00003e64: DUP2 00003e65: ADD 00003e66: SWAP3 00003e67: SWAP1 00003e68: SWAP3 00003e69: MSTORE 00003e6a: POP 00003e6b: SWAP1 00003e6c: JUMP 00003e6d: JUMPDEST 00003e6e: PUSH0 00003e6f: ADDRESS 00003e70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003e85: PUSH32 0x000000000000000000000000e3d41d19564922c9952f692c5dd0563030f5f2ef 00003ea6: AND 00003ea7: EQ 00003ea8: DUP1 00003ea9: ISZERO 00003eaa: PUSH2 0x3ed2 00003ead: JUMPI 00003eae: POP 00003eaf: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 00003ed0: CHAINID 00003ed1: EQ 00003ed2: JUMPDEST 00003ed3: ISZERO 00003ed4: PUSH2 0x3efc 00003ed7: JUMPI 00003ed8: POP 00003ed9: PUSH32 0xe0be16eee9239282c6aa211218bd6c70acb346b073f8c9c534be1e19e4ee97e7 00003efa: SWAP1 00003efb: JUMP 00003efc: JUMPDEST 00003efd: PUSH2 0x3bb8 00003f00: PUSH1 0x40 00003f02: DUP1 00003f03: MLOAD 00003f04: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 00003f25: PUSH1 0x20 00003f27: DUP3 00003f28: ADD 00003f29: MSTORE 00003f2a: PUSH32 0x7d485e7f5909c9fced2f5688fd495e8d13121768f2de07ec12763d84bd75b422 00003f4b: SWAP2 00003f4c: DUP2 00003f4d: ADD 00003f4e: SWAP2 00003f4f: SWAP1 00003f50: SWAP2 00003f51: MSTORE 00003f52: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 00003f73: PUSH1 0x60 00003f75: DUP3 00003f76: ADD 00003f77: MSTORE 00003f78: CHAINID 00003f79: PUSH1 0x80 00003f7b: DUP3 00003f7c: ADD 00003f7d: MSTORE 00003f7e: ADDRESS 00003f7f: PUSH1 0xa0 00003f81: DUP3 00003f82: ADD 00003f83: MSTORE 00003f84: PUSH0 00003f85: SWAP1 00003f86: PUSH1 0xc0 00003f88: ADD 00003f89: PUSH1 0x40 00003f8b: MLOAD 00003f8c: PUSH1 0x20 00003f8e: DUP2 00003f8f: DUP4 00003f90: SUB 00003f91: SUB 00003f92: DUP2 00003f93: MSTORE 00003f94: SWAP1 00003f95: PUSH1 0x40 00003f97: MSTORE 00003f98: DUP1 00003f99: MLOAD 00003f9a: SWAP1 00003f9b: PUSH1 0x20 00003f9d: ADD 00003f9e: KECCAK256 00003f9f: SWAP1 00003fa0: POP 00003fa1: SWAP1 00003fa2: JUMP 00003fa3: JUMPDEST 00003fa4: PUSH0 00003fa5: PUSH0 00003fa6: DUP3 00003fa7: MLOAD 00003fa8: PUSH1 0x41 00003faa: SUB 00003fab: PUSH2 0x3fd7 00003fae: JUMPI 00003faf: PUSH1 0x20 00003fb1: DUP4 00003fb2: ADD 00003fb3: MLOAD 00003fb4: PUSH1 0x40 00003fb6: DUP5 00003fb7: ADD 00003fb8: MLOAD 00003fb9: PUSH1 0x60 00003fbb: DUP6 00003fbc: ADD 00003fbd: MLOAD 00003fbe: PUSH0 00003fbf: BYTE 00003fc0: PUSH2 0x3fcb 00003fc3: DUP8 00003fc4: DUP3 00003fc5: DUP6 00003fc6: DUP6 00003fc7: PUSH2 0x41ed 00003fca: JUMP 00003fcb: JUMPDEST 00003fcc: SWAP5 00003fcd: POP 00003fce: SWAP5 00003fcf: POP 00003fd0: POP 00003fd1: POP 00003fd2: POP 00003fd3: PUSH2 0x3fde 00003fd6: JUMP 00003fd7: JUMPDEST 00003fd8: POP 00003fd9: PUSH0 00003fda: SWAP1 00003fdb: POP 00003fdc: PUSH1 0x02 00003fde: JUMPDEST 00003fdf: SWAP3 00003fe0: POP 00003fe1: SWAP3 00003fe2: SWAP1 00003fe3: POP 00003fe4: JUMP 00003fe5: JUMPDEST 00003fe6: PUSH0 00003fe7: DUP2 00003fe8: PUSH1 0x04 00003fea: DUP2 00003feb: GT 00003fec: ISZERO 00003fed: PUSH2 0x3ff8 00003ff0: JUMPI 00003ff1: PUSH2 0x3ff8 00003ff4: PUSH2 0x507c 00003ff7: JUMP 00003ff8: JUMPDEST 00003ff9: SUB 00003ffa: PUSH2 0x4000 00003ffd: JUMPI 00003ffe: POP 00003fff: JUMP 00004000: JUMPDEST 00004001: PUSH1 0x01 00004003: DUP2 00004004: PUSH1 0x04 00004006: DUP2 00004007: GT 00004008: ISZERO 00004009: PUSH2 0x4014 0000400c: JUMPI 0000400d: PUSH2 0x4014 00004010: PUSH2 0x507c 00004013: JUMP 00004014: JUMPDEST 00004015: SUB 00004016: PUSH2 0x407b 00004019: JUMPI 0000401a: PUSH1 0x40 0000401c: MLOAD 0000401d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000403e: DUP2 0000403f: MSTORE 00004040: PUSH1 0x20 00004042: PUSH1 0x04 00004044: DUP3 00004045: ADD 00004046: MSTORE 00004047: PUSH1 0x18 00004049: PUSH1 0x24 0000404b: DUP3 0000404c: ADD 0000404d: MSTORE 0000404e: PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000 0000406f: PUSH1 0x44 00004071: DUP3 00004072: ADD 00004073: MSTORE 00004074: PUSH1 0x64 00004076: ADD 00004077: PUSH2 0x186b 0000407a: JUMP 0000407b: JUMPDEST 0000407c: PUSH1 0x02 0000407e: DUP2 0000407f: PUSH1 0x04 00004081: DUP2 00004082: GT 00004083: ISZERO 00004084: PUSH2 0x408f 00004087: JUMPI 00004088: PUSH2 0x408f 0000408b: PUSH2 0x507c 0000408e: JUMP 0000408f: JUMPDEST 00004090: SUB 00004091: PUSH2 0x40f6 00004094: JUMPI 00004095: PUSH1 0x40 00004097: MLOAD 00004098: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000040b9: DUP2 000040ba: MSTORE 000040bb: PUSH1 0x20 000040bd: PUSH1 0x04 000040bf: DUP3 000040c0: ADD 000040c1: MSTORE 000040c2: PUSH1 0x1f 000040c4: PUSH1 0x24 000040c6: DUP3 000040c7: ADD 000040c8: MSTORE 000040c9: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800 000040ea: PUSH1 0x44 000040ec: DUP3 000040ed: ADD 000040ee: MSTORE 000040ef: PUSH1 0x64 000040f1: ADD 000040f2: PUSH2 0x186b 000040f5: JUMP 000040f6: JUMPDEST 000040f7: PUSH1 0x03 000040f9: DUP2 000040fa: PUSH1 0x04 000040fc: DUP2 000040fd: GT 000040fe: ISZERO 000040ff: PUSH2 0x410a 00004102: JUMPI 00004103: PUSH2 0x410a 00004106: PUSH2 0x507c 00004109: JUMP 0000410a: JUMPDEST 0000410b: SUB 0000410c: PUSH2 0x187d 0000410f: JUMPI 00004110: PUSH1 0x40 00004112: MLOAD 00004113: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004134: DUP2 00004135: MSTORE 00004136: PUSH1 0x20 00004138: PUSH1 0x04 0000413a: DUP3 0000413b: ADD 0000413c: MSTORE 0000413d: PUSH1 0x22 0000413f: PUSH1 0x24 00004141: DUP3 00004142: ADD 00004143: MSTORE 00004144: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c 00004165: PUSH1 0x44 00004167: DUP3 00004168: ADD 00004169: MSTORE 0000416a: PUSH32 0x7565000000000000000000000000000000000000000000000000000000000000 0000418b: PUSH1 0x64 0000418d: DUP3 0000418e: ADD 0000418f: MSTORE 00004190: PUSH1 0x84 00004192: ADD 00004193: PUSH2 0x186b 00004196: JUMP 00004197: JUMPDEST 00004198: PUSH1 0x60 0000419a: PUSH2 0x41a5 0000419d: DUP5 0000419e: DUP5 0000419f: PUSH0 000041a0: DUP6 000041a1: PUSH2 0x42d5 000041a4: JUMP 000041a5: JUMPDEST 000041a6: SWAP5 000041a7: SWAP4 000041a8: POP 000041a9: POP 000041aa: POP 000041ab: POP 000041ac: JUMP 000041ad: JUMPDEST 000041ae: PUSH0 000041af: PUSH1 0xff 000041b1: DUP3 000041b2: AND 000041b3: PUSH1 0x1f 000041b5: DUP2 000041b6: GT 000041b7: ISZERO 000041b8: PUSH2 0x3a80 000041bb: JUMPI 000041bc: PUSH1 0x40 000041be: MLOAD 000041bf: PUSH32 0xb3512b0c00000000000000000000000000000000000000000000000000000000 000041e0: DUP2 000041e1: MSTORE 000041e2: PUSH1 0x04 000041e4: ADD 000041e5: PUSH1 0x40 000041e7: MLOAD 000041e8: DUP1 000041e9: SWAP2 000041ea: SUB 000041eb: SWAP1 000041ec: REVERT 000041ed: JUMPDEST 000041ee: PUSH0 000041ef: DUP1 000041f0: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 00004211: DUP4 00004212: GT 00004213: ISZERO 00004214: PUSH2 0x4222 00004217: JUMPI 00004218: POP 00004219: PUSH0 0000421a: SWAP1 0000421b: POP 0000421c: PUSH1 0x03 0000421e: PUSH2 0x42cc 00004221: JUMP 00004222: JUMPDEST 00004223: PUSH1 0x40 00004225: DUP1 00004226: MLOAD 00004227: PUSH0 00004228: DUP1 00004229: DUP3 0000422a: MSTORE 0000422b: PUSH1 0x20 0000422d: DUP3 0000422e: ADD 0000422f: DUP1 00004230: DUP5 00004231: MSTORE 00004232: DUP10 00004233: SWAP1 00004234: MSTORE 00004235: PUSH1 0xff 00004237: DUP9 00004238: AND 00004239: SWAP3 0000423a: DUP3 0000423b: ADD 0000423c: SWAP3 0000423d: SWAP1 0000423e: SWAP3 0000423f: MSTORE 00004240: PUSH1 0x60 00004242: DUP2 00004243: ADD 00004244: DUP7 00004245: SWAP1 00004246: MSTORE 00004247: PUSH1 0x80 00004249: DUP2 0000424a: ADD 0000424b: DUP6 0000424c: SWAP1 0000424d: MSTORE 0000424e: PUSH1 0x01 00004250: SWAP1 00004251: PUSH1 0xa0 00004253: ADD 00004254: PUSH1 0x20 00004256: PUSH1 0x40 00004258: MLOAD 00004259: PUSH1 0x20 0000425b: DUP2 0000425c: SUB 0000425d: SWAP1 0000425e: DUP1 0000425f: DUP5 00004260: SUB 00004261: SWAP1 00004262: DUP6 00004263: GAS 00004264: STATICCALL 00004265: ISZERO 00004266: DUP1 00004267: ISZERO 00004268: PUSH2 0x4273 0000426b: JUMPI 0000426c: RETURNDATASIZE 0000426d: PUSH0 0000426e: PUSH0 0000426f: RETURNDATACOPY 00004270: RETURNDATASIZE 00004271: PUSH0 00004272: REVERT 00004273: JUMPDEST 00004274: POP 00004275: POP 00004276: PUSH1 0x40 00004278: MLOAD 00004279: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 0000429a: ADD 0000429b: MLOAD 0000429c: SWAP2 0000429d: POP 0000429e: POP 0000429f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000042b4: DUP2 000042b5: AND 000042b6: PUSH2 0x42c6 000042b9: JUMPI 000042ba: PUSH0 000042bb: PUSH1 0x01 000042bd: SWAP3 000042be: POP 000042bf: SWAP3 000042c0: POP 000042c1: POP 000042c2: PUSH2 0x42cc 000042c5: JUMP 000042c6: JUMPDEST 000042c7: SWAP2 000042c8: POP 000042c9: PUSH0 000042ca: SWAP1 000042cb: POP 000042cc: JUMPDEST 000042cd: SWAP5 000042ce: POP 000042cf: SWAP5 000042d0: SWAP3 000042d1: POP 000042d2: POP 000042d3: POP 000042d4: JUMP 000042d5: JUMPDEST 000042d6: PUSH1 0x60 000042d8: DUP3 000042d9: SELFBALANCE 000042da: LT 000042db: ISZERO 000042dc: PUSH2 0x4367 000042df: JUMPI 000042e0: PUSH1 0x40 000042e2: MLOAD 000042e3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00004304: DUP2 00004305: MSTORE 00004306: PUSH1 0x20 00004308: PUSH1 0x04 0000430a: DUP3 0000430b: ADD 0000430c: MSTORE 0000430d: PUSH1 0x26 0000430f: PUSH1 0x24 00004311: DUP3 00004312: ADD 00004313: MSTORE 00004314: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00004335: PUSH1 0x44 00004337: DUP3 00004338: ADD 00004339: MSTORE 0000433a: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 0000435b: PUSH1 0x64 0000435d: DUP3 0000435e: ADD 0000435f: MSTORE 00004360: PUSH1 0x84 00004362: ADD 00004363: PUSH2 0x186b 00004366: JUMP 00004367: JUMPDEST 00004368: PUSH0 00004369: PUSH0 0000436a: DUP7 0000436b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004380: AND 00004381: DUP6 00004382: DUP8 00004383: PUSH1 0x40 00004385: MLOAD 00004386: PUSH2 0x438f 00004389: SWAP2 0000438a: SWAP1 0000438b: PUSH2 0x50a9 0000438e: JUMP 0000438f: JUMPDEST 00004390: PUSH0 00004391: PUSH1 0x40 00004393: MLOAD 00004394: DUP1 00004395: DUP4 00004396: SUB 00004397: DUP2 00004398: DUP6 00004399: DUP8 0000439a: GAS 0000439b: CALL 0000439c: SWAP3 0000439d: POP 0000439e: POP 0000439f: POP 000043a0: RETURNDATASIZE 000043a1: DUP1 000043a2: PUSH0 000043a3: DUP2 000043a4: EQ 000043a5: PUSH2 0x43c9 000043a8: JUMPI 000043a9: PUSH1 0x40 000043ab: MLOAD 000043ac: SWAP2 000043ad: POP 000043ae: PUSH1 0x1f 000043b0: NOT 000043b1: PUSH1 0x3f 000043b3: RETURNDATASIZE 000043b4: ADD 000043b5: AND 000043b6: DUP3 000043b7: ADD 000043b8: PUSH1 0x40 000043ba: MSTORE 000043bb: RETURNDATASIZE 000043bc: DUP3 000043bd: MSTORE 000043be: RETURNDATASIZE 000043bf: PUSH0 000043c0: PUSH1 0x20 000043c2: DUP5 000043c3: ADD 000043c4: RETURNDATACOPY 000043c5: PUSH2 0x43ce 000043c8: JUMP 000043c9: JUMPDEST 000043ca: PUSH1 0x60 000043cc: SWAP2 000043cd: POP 000043ce: JUMPDEST 000043cf: POP 000043d0: SWAP2 000043d1: POP 000043d2: SWAP2 000043d3: POP 000043d4: PUSH2 0x43df 000043d7: DUP8 000043d8: DUP4 000043d9: DUP4 000043da: DUP8 000043db: PUSH2 0x43ea 000043de: JUMP 000043df: JUMPDEST 000043e0: SWAP8 000043e1: SWAP7 000043e2: POP 000043e3: POP 000043e4: POP 000043e5: POP 000043e6: POP 000043e7: POP 000043e8: POP 000043e9: JUMP 000043ea: JUMPDEST 000043eb: PUSH1 0x60 000043ed: DUP4 000043ee: ISZERO 000043ef: PUSH2 0x447f 000043f2: JUMPI 000043f3: DUP3 000043f4: MLOAD 000043f5: PUSH0 000043f6: SUB 000043f7: PUSH2 0x4478 000043fa: JUMPI 000043fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004410: DUP6 00004411: AND 00004412: EXTCODESIZE 00004413: PUSH2 0x4478 00004416: JUMPI 00004417: PUSH1 0x40 00004419: MLOAD 0000441a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000443b: DUP2 0000443c: MSTORE 0000443d: PUSH1 0x20 0000443f: PUSH1 0x04 00004441: DUP3 00004442: ADD 00004443: MSTORE 00004444: PUSH1 0x1d 00004446: PUSH1 0x24 00004448: DUP3 00004449: ADD 0000444a: MSTORE 0000444b: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 0000446c: PUSH1 0x44 0000446e: DUP3 0000446f: ADD 00004470: MSTORE 00004471: PUSH1 0x64 00004473: ADD 00004474: PUSH2 0x186b 00004477: JUMP 00004478: JUMPDEST 00004479: POP 0000447a: DUP2 0000447b: PUSH2 0x41a5 0000447e: JUMP 0000447f: JUMPDEST 00004480: PUSH2 0x41a5 00004483: DUP4 00004484: DUP4 00004485: DUP2 00004486: MLOAD 00004487: ISZERO 00004488: PUSH2 0x4494 0000448b: JUMPI 0000448c: DUP2 0000448d: MLOAD 0000448e: DUP1 0000448f: DUP4 00004490: PUSH1 0x20 00004492: ADD 00004493: REVERT 00004494: JUMPDEST 00004495: DUP1 00004496: PUSH1 0x40 00004498: MLOAD 00004499: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000044ba: DUP2 000044bb: MSTORE 000044bc: PUSH1 0x04 000044be: ADD 000044bf: PUSH2 0x186b 000044c2: SWAP2 000044c3: SWAP1 000044c4: PUSH2 0x50bf 000044c7: JUMP 000044c8: JUMPDEST 000044c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000044de: DUP2 000044df: AND 000044e0: DUP2 000044e1: EQ 000044e2: PUSH2 0x187d 000044e5: JUMPI 000044e6: PUSH0 000044e7: PUSH0 000044e8: REVERT 000044e9: JUMPDEST 000044ea: PUSH0 000044eb: PUSH1 0x20 000044ed: DUP3 000044ee: DUP5 000044ef: SUB 000044f0: SLT 000044f1: ISZERO 000044f2: PUSH2 0x44f9 000044f5: JUMPI 000044f6: PUSH0 000044f7: PUSH0 000044f8: REVERT 000044f9: JUMPDEST 000044fa: DUP2 000044fb: CALLDATALOAD 000044fc: PUSH2 0x4504 000044ff: DUP2 00004500: PUSH2 0x44c8 00004503: JUMP 00004504: JUMPDEST 00004505: SWAP4 00004506: SWAP3 00004507: POP 00004508: POP 00004509: POP 0000450a: JUMP 0000450b: JUMPDEST 0000450c: PUSH0 0000450d: PUSH0 0000450e: PUSH0 0000450f: PUSH1 0x60 00004511: DUP5 00004512: DUP7 00004513: SUB 00004514: SLT 00004515: ISZERO 00004516: PUSH2 0x451d 00004519: JUMPI 0000451a: PUSH0 0000451b: PUSH0 0000451c: REVERT 0000451d: JUMPDEST 0000451e: DUP4 0000451f: CALLDATALOAD 00004520: PUSH2 0x4528 00004523: DUP2 00004524: PUSH2 0x44c8 00004527: JUMP 00004528: JUMPDEST 00004529: SWAP3 0000452a: POP 0000452b: PUSH1 0x20 0000452d: DUP5 0000452e: ADD 0000452f: CALLDATALOAD 00004530: PUSH2 0x4538 00004533: DUP2 00004534: PUSH2 0x44c8 00004537: JUMP 00004538: JUMPDEST 00004539: SWAP3 0000453a: SWAP6 0000453b: SWAP3 0000453c: SWAP5 0000453d: POP 0000453e: POP 0000453f: POP 00004540: PUSH1 0x40 00004542: SWAP2 00004543: SWAP1 00004544: SWAP2 00004545: ADD 00004546: CALLDATALOAD 00004547: SWAP1 00004548: JUMP 00004549: JUMPDEST 0000454a: PUSH0 0000454b: PUSH0 0000454c: DUP4 0000454d: PUSH1 0x1f 0000454f: DUP5 00004550: ADD 00004551: SLT 00004552: PUSH2 0x4559 00004555: JUMPI 00004556: PUSH0 00004557: PUSH0 00004558: REVERT 00004559: JUMPDEST 0000455a: POP 0000455b: DUP2 0000455c: CALLDATALOAD 0000455d: PUSH8 0xffffffffffffffff 00004566: DUP2 00004567: GT 00004568: ISZERO 00004569: PUSH2 0x4570 0000456c: JUMPI 0000456d: PUSH0 0000456e: PUSH0 0000456f: REVERT 00004570: JUMPDEST 00004571: PUSH1 0x20 00004573: DUP4 00004574: ADD 00004575: SWAP2 00004576: POP 00004577: DUP4 00004578: PUSH1 0x20 0000457a: DUP3 0000457b: DUP6 0000457c: ADD 0000457d: ADD 0000457e: GT 0000457f: ISZERO 00004580: PUSH2 0x3fde 00004583: JUMPI 00004584: PUSH0 00004585: PUSH0 00004586: REVERT 00004587: JUMPDEST 00004588: PUSH0 00004589: PUSH0 0000458a: PUSH0 0000458b: PUSH1 0x40 0000458d: DUP5 0000458e: DUP7 0000458f: SUB 00004590: SLT 00004591: ISZERO 00004592: PUSH2 0x4599 00004595: JUMPI 00004596: PUSH0 00004597: PUSH0 00004598: REVERT 00004599: JUMPDEST 0000459a: DUP4 0000459b: CALLDATALOAD 0000459c: PUSH8 0xffffffffffffffff 000045a5: DUP2 000045a6: GT 000045a7: ISZERO 000045a8: PUSH2 0x45af 000045ab: JUMPI 000045ac: PUSH0 000045ad: PUSH0 000045ae: REVERT 000045af: JUMPDEST 000045b0: DUP5 000045b1: ADD 000045b2: PUSH1 0xa0 000045b4: DUP2 000045b5: DUP8 000045b6: SUB 000045b7: SLT 000045b8: ISZERO 000045b9: PUSH2 0x45c0 000045bc: JUMPI 000045bd: PUSH0 000045be: PUSH0 000045bf: REVERT 000045c0: JUMPDEST 000045c1: SWAP3 000045c2: POP 000045c3: PUSH1 0x20 000045c5: DUP5 000045c6: ADD 000045c7: CALLDATALOAD 000045c8: PUSH8 0xffffffffffffffff 000045d1: DUP2 000045d2: GT 000045d3: ISZERO 000045d4: PUSH2 0x45db 000045d7: JUMPI 000045d8: PUSH0 000045d9: PUSH0 000045da: REVERT 000045db: JUMPDEST 000045dc: PUSH2 0x45e7 000045df: DUP7 000045e0: DUP3 000045e1: DUP8 000045e2: ADD 000045e3: PUSH2 0x4549 000045e6: JUMP 000045e7: JUMPDEST 000045e8: SWAP5 000045e9: SWAP8 000045ea: SWAP1 000045eb: SWAP7 000045ec: POP 000045ed: SWAP4 000045ee: SWAP5 000045ef: POP 000045f0: POP 000045f1: POP 000045f2: POP 000045f3: JUMP 000045f4: JUMPDEST 000045f5: PUSH0 000045f6: PUSH1 0x20 000045f8: DUP3 000045f9: DUP5 000045fa: SUB 000045fb: SLT 000045fc: ISZERO 000045fd: PUSH2 0x4604 00004600: JUMPI 00004601: PUSH0 00004602: PUSH0 00004603: REVERT 00004604: JUMPDEST 00004605: POP 00004606: CALLDATALOAD 00004607: SWAP2 00004608: SWAP1 00004609: POP 0000460a: JUMP 0000460b: JUMPDEST 0000460c: PUSH0 0000460d: PUSH0 0000460e: DUP4 0000460f: PUSH1 0x1f 00004611: DUP5 00004612: ADD 00004613: SLT 00004614: PUSH2 0x461b 00004617: JUMPI 00004618: PUSH0 00004619: PUSH0 0000461a: REVERT 0000461b: JUMPDEST 0000461c: POP 0000461d: DUP2 0000461e: CALLDATALOAD 0000461f: PUSH8 0xffffffffffffffff 00004628: DUP2 00004629: GT 0000462a: ISZERO 0000462b: PUSH2 0x4632 0000462e: JUMPI 0000462f: PUSH0 00004630: PUSH0 00004631: REVERT 00004632: JUMPDEST 00004633: PUSH1 0x20 00004635: DUP4 00004636: ADD 00004637: SWAP2 00004638: POP 00004639: DUP4 0000463a: PUSH1 0x20 0000463c: DUP3 0000463d: PUSH1 0x06 0000463f: SHL 00004640: DUP6 00004641: ADD 00004642: ADD 00004643: GT 00004644: ISZERO 00004645: PUSH2 0x3fde 00004648: JUMPI 00004649: PUSH0 0000464a: PUSH0 0000464b: REVERT 0000464c: JUMPDEST 0000464d: PUSH0 0000464e: PUSH0 0000464f: PUSH0 00004650: PUSH1 0x40 00004652: DUP5 00004653: DUP7 00004654: SUB 00004655: SLT 00004656: ISZERO 00004657: PUSH2 0x465e 0000465a: JUMPI 0000465b: PUSH0 0000465c: PUSH0 0000465d: REVERT 0000465e: JUMPDEST 0000465f: DUP4 00004660: CALLDATALOAD 00004661: PUSH8 0xffffffffffffffff 0000466a: DUP2 0000466b: GT 0000466c: ISZERO 0000466d: PUSH2 0x4674 00004670: JUMPI 00004671: PUSH0 00004672: PUSH0 00004673: REVERT 00004674: JUMPDEST 00004675: PUSH2 0x4680 00004678: DUP7 00004679: DUP3 0000467a: DUP8 0000467b: ADD 0000467c: PUSH2 0x460b 0000467f: JUMP 00004680: JUMPDEST 00004681: SWAP1 00004682: SWAP5 00004683: POP 00004684: SWAP3 00004685: POP 00004686: POP 00004687: PUSH1 0x20 00004689: DUP5 0000468a: ADD 0000468b: CALLDATALOAD 0000468c: PUSH2 0x4694 0000468f: DUP2 00004690: PUSH2 0x44c8 00004693: JUMP 00004694: JUMPDEST 00004695: DUP1 00004696: SWAP2 00004697: POP 00004698: POP 00004699: SWAP3 0000469a: POP 0000469b: SWAP3 0000469c: POP 0000469d: SWAP3 0000469e: JUMP 0000469f: JUMPDEST 000046a0: DUP1 000046a1: ISZERO 000046a2: ISZERO 000046a3: DUP2 000046a4: EQ 000046a5: PUSH2 0x187d 000046a8: JUMPI 000046a9: PUSH0 000046aa: PUSH0 000046ab: REVERT 000046ac: JUMPDEST 000046ad: PUSH0 000046ae: PUSH0 000046af: PUSH0 000046b0: PUSH1 0x60 000046b2: DUP5 000046b3: DUP7 000046b4: SUB 000046b5: SLT 000046b6: ISZERO 000046b7: PUSH2 0x46be 000046ba: JUMPI 000046bb: PUSH0 000046bc: PUSH0 000046bd: REVERT 000046be: JUMPDEST 000046bf: DUP4 000046c0: CALLDATALOAD 000046c1: PUSH2 0x46c9 000046c4: DUP2 000046c5: PUSH2 0x44c8 000046c8: JUMP 000046c9: JUMPDEST 000046ca: SWAP3 000046cb: POP 000046cc: PUSH1 0x20 000046ce: DUP5 000046cf: ADD 000046d0: CALLDATALOAD 000046d1: PUSH2 0x46d9 000046d4: DUP2 000046d5: PUSH2 0x44c8 000046d8: JUMP 000046d9: JUMPDEST 000046da: SWAP2 000046db: POP 000046dc: PUSH1 0x40 000046de: DUP5 000046df: ADD 000046e0: CALLDATALOAD 000046e1: PUSH2 0x4694 000046e4: DUP2 000046e5: PUSH2 0x469f 000046e8: JUMP 000046e9: JUMPDEST 000046ea: PUSH0 000046eb: PUSH0 000046ec: PUSH1 0x40 000046ee: DUP4 000046ef: DUP6 000046f0: SUB 000046f1: SLT 000046f2: ISZERO 000046f3: PUSH2 0x46fa 000046f6: JUMPI 000046f7: PUSH0 000046f8: PUSH0 000046f9: REVERT 000046fa: JUMPDEST 000046fb: DUP3 000046fc: CALLDATALOAD 000046fd: PUSH2 0x4705 00004700: DUP2 00004701: PUSH2 0x44c8 00004704: JUMP 00004705: JUMPDEST 00004706: SWAP2 00004707: POP 00004708: PUSH1 0x20 0000470a: DUP4 0000470b: ADD 0000470c: CALLDATALOAD 0000470d: PUSH2 0x4715 00004710: DUP2 00004711: PUSH2 0x44c8 00004714: JUMP 00004715: JUMPDEST 00004716: DUP1 00004717: SWAP2 00004718: POP 00004719: POP 0000471a: SWAP3 0000471b: POP 0000471c: SWAP3 0000471d: SWAP1 0000471e: POP 0000471f: JUMP 00004720: JUMPDEST 00004721: PUSH0 00004722: PUSH1 0x80 00004724: DUP3 00004725: DUP5 00004726: SUB 00004727: SLT 00004728: ISZERO 00004729: PUSH2 0x4730 0000472c: JUMPI 0000472d: PUSH0 0000472e: PUSH0 0000472f: REVERT 00004730: JUMPDEST 00004731: POP 00004732: SWAP2 00004733: SWAP1 00004734: POP 00004735: JUMP 00004736: JUMPDEST 00004737: PUSH0 00004738: PUSH0 00004739: PUSH0 0000473a: PUSH1 0x40 0000473c: DUP5 0000473d: DUP7 0000473e: SUB 0000473f: SLT 00004740: ISZERO 00004741: PUSH2 0x4748 00004744: JUMPI 00004745: PUSH0 00004746: PUSH0 00004747: REVERT 00004748: JUMPDEST 00004749: DUP4 0000474a: CALLDATALOAD 0000474b: PUSH8 0xffffffffffffffff 00004754: DUP2 00004755: GT 00004756: ISZERO 00004757: PUSH2 0x475e 0000475a: JUMPI 0000475b: PUSH0 0000475c: PUSH0 0000475d: REVERT 0000475e: JUMPDEST 0000475f: PUSH2 0x476a 00004762: DUP7 00004763: DUP3 00004764: DUP8 00004765: ADD 00004766: PUSH2 0x4720 00004769: JUMP 0000476a: JUMPDEST 0000476b: SWAP4 0000476c: POP 0000476d: POP 0000476e: PUSH1 0x20 00004770: DUP5 00004771: ADD 00004772: CALLDATALOAD 00004773: PUSH8 0xffffffffffffffff 0000477c: DUP2 0000477d: GT 0000477e: ISZERO 0000477f: PUSH2 0x45db 00004782: JUMPI 00004783: PUSH0 00004784: PUSH0 00004785: REVERT 00004786: JUMPDEST 00004787: PUSH0 00004788: PUSH0 00004789: PUSH0 0000478a: PUSH0 0000478b: PUSH0 0000478c: PUSH1 0xa0 0000478e: DUP7 0000478f: DUP9 00004790: SUB 00004791: SLT 00004792: ISZERO 00004793: PUSH2 0x479a 00004796: JUMPI 00004797: PUSH0 00004798: PUSH0 00004799: REVERT 0000479a: JUMPDEST 0000479b: DUP6 0000479c: CALLDATALOAD 0000479d: PUSH2 0x47a5 000047a0: DUP2 000047a1: PUSH2 0x44c8 000047a4: JUMP 000047a5: JUMPDEST 000047a6: SWAP5 000047a7: POP 000047a8: PUSH1 0x20 000047aa: DUP7 000047ab: ADD 000047ac: CALLDATALOAD 000047ad: PUSH2 0x47b5 000047b0: DUP2 000047b1: PUSH2 0x44c8 000047b4: JUMP 000047b5: JUMPDEST 000047b6: SWAP4 000047b7: POP 000047b8: PUSH1 0x40 000047ba: DUP7 000047bb: ADD 000047bc: CALLDATALOAD 000047bd: SWAP3 000047be: POP 000047bf: PUSH1 0x60 000047c1: DUP7 000047c2: ADD 000047c3: CALLDATALOAD 000047c4: PUSH2 0x47cc 000047c7: DUP2 000047c8: PUSH2 0x44c8 000047cb: JUMP 000047cc: JUMPDEST 000047cd: SWAP5 000047ce: SWAP8 000047cf: SWAP4 000047d0: SWAP7 000047d1: POP 000047d2: SWAP2 000047d3: SWAP5 000047d4: PUSH1 0x80 000047d6: ADD 000047d7: CALLDATALOAD 000047d8: SWAP3 000047d9: SWAP2 000047da: POP 000047db: POP 000047dc: JUMP 000047dd: JUMPDEST 000047de: PUSH0 000047df: DUP2 000047e0: MLOAD 000047e1: DUP1 000047e2: DUP5 000047e3: MSTORE 000047e4: DUP1 000047e5: PUSH1 0x20 000047e7: DUP5 000047e8: ADD 000047e9: PUSH1 0x20 000047eb: DUP7 000047ec: ADD 000047ed: MCOPY 000047ee: PUSH0 000047ef: PUSH1 0x20 000047f1: DUP3 000047f2: DUP7 000047f3: ADD 000047f4: ADD 000047f5: MSTORE 000047f6: PUSH1 0x20 000047f8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00004819: PUSH1 0x1f 0000481b: DUP4 0000481c: ADD 0000481d: AND 0000481e: DUP6 0000481f: ADD 00004820: ADD 00004821: SWAP2 00004822: POP 00004823: POP 00004824: SWAP3 00004825: SWAP2 00004826: POP 00004827: POP 00004828: JUMP 00004829: JUMPDEST 0000482a: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 0000484b: DUP9 0000484c: AND 0000484d: DUP2 0000484e: MSTORE 0000484f: PUSH1 0xe0 00004851: PUSH1 0x20 00004853: DUP3 00004854: ADD 00004855: MSTORE 00004856: PUSH0 00004857: PUSH2 0x4863 0000485a: PUSH1 0xe0 0000485c: DUP4 0000485d: ADD 0000485e: DUP10 0000485f: PUSH2 0x47dd 00004862: JUMP 00004863: JUMPDEST 00004864: DUP3 00004865: DUP2 00004866: SUB 00004867: PUSH1 0x40 00004869: DUP5 0000486a: ADD 0000486b: MSTORE 0000486c: PUSH2 0x4875 0000486f: DUP2 00004870: DUP10 00004871: PUSH2 0x47dd 00004874: JUMP 00004875: JUMPDEST 00004876: PUSH1 0x60 00004878: DUP5 00004879: ADD 0000487a: DUP9 0000487b: SWAP1 0000487c: MSTORE 0000487d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004892: DUP8 00004893: AND 00004894: PUSH1 0x80 00004896: DUP6 00004897: ADD 00004898: MSTORE 00004899: PUSH1 0xa0 0000489b: DUP5 0000489c: ADD 0000489d: DUP7 0000489e: SWAP1 0000489f: MSTORE 000048a0: DUP4 000048a1: DUP2 000048a2: SUB 000048a3: PUSH1 0xc0 000048a5: DUP6 000048a6: ADD 000048a7: MSTORE 000048a8: DUP5 000048a9: MLOAD 000048aa: DUP1 000048ab: DUP3 000048ac: MSTORE 000048ad: PUSH1 0x20 000048af: DUP1 000048b0: DUP8 000048b1: ADD 000048b2: SWAP4 000048b3: POP 000048b4: SWAP1 000048b5: SWAP2 000048b6: ADD 000048b7: SWAP1 000048b8: PUSH0 000048b9: JUMPDEST 000048ba: DUP2 000048bb: DUP2 000048bc: LT 000048bd: ISZERO 000048be: PUSH2 0x48d7 000048c1: JUMPI 000048c2: DUP4 000048c3: MLOAD 000048c4: DUP4 000048c5: MSTORE 000048c6: PUSH1 0x20 000048c8: SWAP4 000048c9: DUP5 000048ca: ADD 000048cb: SWAP4 000048cc: SWAP1 000048cd: SWAP3 000048ce: ADD 000048cf: SWAP2 000048d0: PUSH1 0x01 000048d2: ADD 000048d3: PUSH2 0x48b9 000048d6: JUMP 000048d7: JUMPDEST 000048d8: POP 000048d9: SWAP1 000048da: SWAP12 000048db: SWAP11 000048dc: POP 000048dd: POP 000048de: POP 000048df: POP 000048e0: POP 000048e1: POP 000048e2: POP 000048e3: POP 000048e4: POP 000048e5: POP 000048e6: POP 000048e7: JUMP 000048e8: JUMPDEST 000048e9: PUSH0 000048ea: PUSH0 000048eb: PUSH1 0x20 000048ed: DUP4 000048ee: DUP6 000048ef: SUB 000048f0: SLT 000048f1: ISZERO 000048f2: PUSH2 0x48f9 000048f5: JUMPI 000048f6: PUSH0 000048f7: PUSH0 000048f8: REVERT 000048f9: JUMPDEST 000048fa: DUP3 000048fb: CALLDATALOAD 000048fc: PUSH8 0xffffffffffffffff 00004905: DUP2 00004906: GT 00004907: ISZERO 00004908: PUSH2 0x490f 0000490b: JUMPI 0000490c: PUSH0 0000490d: PUSH0 0000490e: REVERT 0000490f: JUMPDEST 00004910: DUP4 00004911: ADD 00004912: PUSH1 0x1f 00004914: DUP2 00004915: ADD 00004916: DUP6 00004917: SGT 00004918: PUSH2 0x491f 0000491b: JUMPI 0000491c: PUSH0 0000491d: PUSH0 0000491e: REVERT 0000491f: JUMPDEST 00004920: DUP1 00004921: CALLDATALOAD 00004922: PUSH8 0xffffffffffffffff 0000492b: DUP2 0000492c: GT 0000492d: ISZERO 0000492e: PUSH2 0x4935 00004931: JUMPI 00004932: PUSH0 00004933: PUSH0 00004934: REVERT 00004935: JUMPDEST 00004936: DUP6 00004937: PUSH1 0x20 00004939: DUP3 0000493a: PUSH1 0x05 0000493c: SHL 0000493d: DUP5 0000493e: ADD 0000493f: ADD 00004940: GT 00004941: ISZERO 00004942: PUSH2 0x4949 00004945: JUMPI 00004946: PUSH0 00004947: PUSH0 00004948: REVERT 00004949: JUMPDEST 0000494a: PUSH1 0x20 0000494c: SWAP2 0000494d: SWAP1 0000494e: SWAP2 0000494f: ADD 00004950: SWAP6 00004951: SWAP1 00004952: SWAP5 00004953: POP 00004954: SWAP3 00004955: POP 00004956: POP 00004957: POP 00004958: JUMP 00004959: JUMPDEST 0000495a: PUSH0 0000495b: PUSH0 0000495c: PUSH1 0x40 0000495e: DUP4 0000495f: DUP6 00004960: SUB 00004961: SLT 00004962: ISZERO 00004963: PUSH2 0x496a 00004966: JUMPI 00004967: PUSH0 00004968: PUSH0 00004969: REVERT 0000496a: JUMPDEST 0000496b: DUP3 0000496c: CALLDATALOAD 0000496d: PUSH2 0x4975 00004970: DUP2 00004971: PUSH2 0x44c8 00004974: JUMP 00004975: JUMPDEST 00004976: SWAP2 00004977: POP 00004978: PUSH1 0x20 0000497a: DUP4 0000497b: ADD 0000497c: CALLDATALOAD 0000497d: PUSH2 0x4715 00004980: DUP2 00004981: PUSH2 0x469f 00004984: JUMP 00004985: JUMPDEST 00004986: PUSH0 00004987: PUSH0 00004988: PUSH0 00004989: PUSH0 0000498a: PUSH0 0000498b: PUSH1 0xa0 0000498d: DUP7 0000498e: DUP9 0000498f: SUB 00004990: SLT 00004991: ISZERO 00004992: PUSH2 0x4999 00004995: JUMPI 00004996: PUSH0 00004997: PUSH0 00004998: REVERT 00004999: JUMPDEST 0000499a: DUP6 0000499b: CALLDATALOAD 0000499c: PUSH2 0x49a4 0000499f: DUP2 000049a0: PUSH2 0x44c8 000049a3: JUMP 000049a4: JUMPDEST 000049a5: SWAP5 000049a6: POP 000049a7: PUSH1 0x20 000049a9: DUP7 000049aa: ADD 000049ab: CALLDATALOAD 000049ac: PUSH2 0x49b4 000049af: DUP2 000049b0: PUSH2 0x44c8 000049b3: JUMP 000049b4: JUMPDEST 000049b5: SWAP4 000049b6: POP 000049b7: PUSH1 0x40 000049b9: DUP7 000049ba: ADD 000049bb: CALLDATALOAD 000049bc: PUSH2 0x49c4 000049bf: DUP2 000049c0: PUSH2 0x44c8 000049c3: JUMP 000049c4: JUMPDEST 000049c5: SWAP3 000049c6: POP 000049c7: PUSH1 0x60 000049c9: DUP7 000049ca: ADD 000049cb: CALLDATALOAD 000049cc: PUSH2 0x49d4 000049cf: DUP2 000049d0: PUSH2 0x469f 000049d3: JUMP 000049d4: JUMPDEST 000049d5: SWAP2 000049d6: POP 000049d7: PUSH1 0x80 000049d9: DUP7 000049da: ADD 000049db: CALLDATALOAD 000049dc: PUSH2 0x49e4 000049df: DUP2 000049e0: PUSH2 0x469f 000049e3: JUMP 000049e4: JUMPDEST 000049e5: DUP1 000049e6: SWAP2 000049e7: POP 000049e8: POP 000049e9: SWAP3 000049ea: SWAP6 000049eb: POP 000049ec: SWAP3 000049ed: SWAP6 000049ee: SWAP1 000049ef: SWAP4 000049f0: POP 000049f1: JUMP 000049f2: JUMPDEST 000049f3: PUSH0 000049f4: PUSH0 000049f5: PUSH1 0x40 000049f7: DUP4 000049f8: DUP6 000049f9: SUB 000049fa: SLT 000049fb: ISZERO 000049fc: PUSH2 0x4a03 000049ff: JUMPI 00004a00: PUSH0 00004a01: PUSH0 00004a02: REVERT 00004a03: JUMPDEST 00004a04: DUP3 00004a05: CALLDATALOAD 00004a06: PUSH2 0x4a0e 00004a09: DUP2 00004a0a: PUSH2 0x44c8 00004a0d: JUMP 00004a0e: JUMPDEST 00004a0f: SWAP5 00004a10: PUSH1 0x20 00004a12: SWAP4 00004a13: SWAP1 00004a14: SWAP4 00004a15: ADD 00004a16: CALLDATALOAD 00004a17: SWAP4 00004a18: POP 00004a19: POP 00004a1a: POP 00004a1b: JUMP 00004a1c: JUMPDEST 00004a1d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004a3e: PUSH0 00004a3f: MSTORE 00004a40: PUSH1 0x11 00004a42: PUSH1 0x04 00004a44: MSTORE 00004a45: PUSH1 0x24 00004a47: PUSH0 00004a48: REVERT 00004a49: JUMPDEST 00004a4a: PUSH0 00004a4b: DUP3 00004a4c: PUSH2 0x4a7c 00004a4f: JUMPI 00004a50: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004a71: PUSH0 00004a72: MSTORE 00004a73: PUSH1 0x12 00004a75: PUSH1 0x04 00004a77: MSTORE 00004a78: PUSH1 0x24 00004a7a: PUSH0 00004a7b: REVERT 00004a7c: JUMPDEST 00004a7d: POP 00004a7e: DIV 00004a7f: SWAP1 00004a80: JUMP 00004a81: JUMPDEST 00004a82: PUSH0 00004a83: PUSH0 00004a84: DUP4 00004a85: CALLDATALOAD 00004a86: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1 00004aa7: DUP5 00004aa8: CALLDATASIZE 00004aa9: SUB 00004aaa: ADD 00004aab: DUP2 00004aac: SLT 00004aad: PUSH2 0x4ab4 00004ab0: JUMPI 00004ab1: PUSH0 00004ab2: PUSH0 00004ab3: REVERT 00004ab4: JUMPDEST 00004ab5: DUP4 00004ab6: ADD 00004ab7: DUP1 00004ab8: CALLDATALOAD 00004ab9: SWAP2 00004aba: POP 00004abb: PUSH8 0xffffffffffffffff 00004ac4: DUP3 00004ac5: GT 00004ac6: ISZERO 00004ac7: PUSH2 0x4ace 00004aca: JUMPI 00004acb: PUSH0 00004acc: PUSH0 00004acd: REVERT 00004ace: JUMPDEST 00004acf: PUSH1 0x20 00004ad1: ADD 00004ad2: SWAP2 00004ad3: POP 00004ad4: PUSH1 0x06 00004ad6: DUP2 00004ad7: SWAP1 00004ad8: SHL 00004ad9: CALLDATASIZE 00004ada: SUB 00004adb: DUP3 00004adc: SGT 00004add: ISZERO 00004ade: PUSH2 0x3fde 00004ae1: JUMPI 00004ae2: PUSH0 00004ae3: PUSH0 00004ae4: REVERT 00004ae5: JUMPDEST 00004ae6: PUSH0 00004ae7: PUSH1 0x40 00004ae9: DUP3 00004aea: DUP5 00004aeb: SUB 00004aec: SLT 00004aed: DUP1 00004aee: ISZERO 00004aef: PUSH2 0x4af6 00004af2: JUMPI 00004af3: PUSH0 00004af4: PUSH0 00004af5: REVERT 00004af6: JUMPDEST 00004af7: POP 00004af8: PUSH1 0x40 00004afa: DUP1 00004afb: MLOAD 00004afc: SWAP1 00004afd: DUP2 00004afe: ADD 00004aff: PUSH8 0xffffffffffffffff 00004b08: DUP2 00004b09: GT 00004b0a: DUP3 00004b0b: DUP3 00004b0c: LT 00004b0d: OR 00004b0e: ISZERO 00004b0f: PUSH2 0x4b3f 00004b12: JUMPI 00004b13: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004b34: PUSH0 00004b35: MSTORE 00004b36: PUSH1 0x41 00004b38: PUSH1 0x04 00004b3a: MSTORE 00004b3b: PUSH1 0x24 00004b3d: PUSH0 00004b3e: REVERT 00004b3f: JUMPDEST 00004b40: PUSH1 0x40 00004b42: MSTORE 00004b43: DUP3 00004b44: CALLDATALOAD 00004b45: PUSH2 0x4b4d 00004b48: DUP2 00004b49: PUSH2 0x44c8 00004b4c: JUMP 00004b4d: JUMPDEST 00004b4e: DUP2 00004b4f: MSTORE 00004b50: PUSH1 0x20 00004b52: SWAP3 00004b53: DUP4 00004b54: ADD 00004b55: CALLDATALOAD 00004b56: SWAP3 00004b57: DUP2 00004b58: ADD 00004b59: SWAP3 00004b5a: SWAP1 00004b5b: SWAP3 00004b5c: MSTORE 00004b5d: POP 00004b5e: SWAP2 00004b5f: SWAP1 00004b60: POP 00004b61: JUMP 00004b62: JUMPDEST 00004b63: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004b84: PUSH0 00004b85: MSTORE 00004b86: PUSH1 0x32 00004b88: PUSH1 0x04 00004b8a: MSTORE 00004b8b: PUSH1 0x24 00004b8d: PUSH0 00004b8e: REVERT 00004b8f: JUMPDEST 00004b90: DUP2 00004b91: DUP2 00004b92: SUB 00004b93: DUP2 00004b94: DUP2 00004b95: GT 00004b96: ISZERO 00004b97: PUSH2 0x3a80 00004b9a: JUMPI 00004b9b: PUSH2 0x3a80 00004b9e: PUSH2 0x4a1c 00004ba1: JUMP 00004ba2: JUMPDEST 00004ba3: PUSH0 00004ba4: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004bc5: DUP3 00004bc6: SUB 00004bc7: PUSH2 0x4bd2 00004bca: JUMPI 00004bcb: PUSH2 0x4bd2 00004bce: PUSH2 0x4a1c 00004bd1: JUMP 00004bd2: JUMPDEST 00004bd3: POP 00004bd4: PUSH0 00004bd5: SUB 00004bd6: SWAP1 00004bd7: JUMP 00004bd8: JUMPDEST 00004bd9: DUP2 00004bda: DUP4 00004bdb: MSTORE 00004bdc: PUSH1 0x20 00004bde: DUP4 00004bdf: ADD 00004be0: SWAP3 00004be1: POP 00004be2: PUSH0 00004be3: DUP2 00004be4: PUSH0 00004be5: JUMPDEST 00004be6: DUP5 00004be7: DUP2 00004be8: LT 00004be9: ISZERO 00004bea: PUSH2 0x4c2c 00004bed: JUMPI 00004bee: DUP2 00004bef: CALLDATALOAD 00004bf0: PUSH2 0x4bf8 00004bf3: DUP2 00004bf4: PUSH2 0x44c8 00004bf7: JUMP 00004bf8: JUMPDEST 00004bf9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004c0e: AND 00004c0f: DUP7 00004c10: MSTORE 00004c11: PUSH1 0x20 00004c13: DUP3 00004c14: DUP2 00004c15: ADD 00004c16: CALLDATALOAD 00004c17: SWAP1 00004c18: DUP8 00004c19: ADD 00004c1a: MSTORE 00004c1b: PUSH1 0x40 00004c1d: SWAP6 00004c1e: DUP7 00004c1f: ADD 00004c20: SWAP6 00004c21: SWAP1 00004c22: SWAP2 00004c23: ADD 00004c24: SWAP1 00004c25: PUSH1 0x01 00004c27: ADD 00004c28: PUSH2 0x4be5 00004c2b: JUMP 00004c2c: JUMPDEST 00004c2d: POP 00004c2e: SWAP4 00004c2f: SWAP5 00004c30: SWAP4 00004c31: POP 00004c32: POP 00004c33: POP 00004c34: POP 00004c35: JUMP 00004c36: JUMPDEST 00004c37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004c4c: DUP8 00004c4d: AND 00004c4e: DUP2 00004c4f: MSTORE 00004c50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004c65: DUP7 00004c66: AND 00004c67: PUSH1 0x20 00004c69: DUP3 00004c6a: ADD 00004c6b: MSTORE 00004c6c: PUSH1 0x80 00004c6e: PUSH1 0x40 00004c70: DUP3 00004c71: ADD 00004c72: MSTORE 00004c73: PUSH0 00004c74: PUSH2 0x4c81 00004c77: PUSH1 0x80 00004c79: DUP4 00004c7a: ADD 00004c7b: DUP7 00004c7c: DUP9 00004c7d: PUSH2 0x4bd8 00004c80: JUMP 00004c81: JUMPDEST 00004c82: DUP3 00004c83: DUP2 00004c84: SUB 00004c85: PUSH1 0x60 00004c87: DUP5 00004c88: ADD 00004c89: MSTORE 00004c8a: PUSH2 0x4c94 00004c8d: DUP2 00004c8e: DUP6 00004c8f: DUP8 00004c90: PUSH2 0x4bd8 00004c93: JUMP 00004c94: JUMPDEST 00004c95: SWAP10 00004c96: SWAP9 00004c97: POP 00004c98: POP 00004c99: POP 00004c9a: POP 00004c9b: POP 00004c9c: POP 00004c9d: POP 00004c9e: POP 00004c9f: POP 00004ca0: JUMP 00004ca1: JUMPDEST 00004ca2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004cb7: DUP5 00004cb8: AND 00004cb9: DUP2 00004cba: MSTORE 00004cbb: PUSH1 0x40 00004cbd: PUSH1 0x20 00004cbf: DUP3 00004cc0: ADD 00004cc1: MSTORE 00004cc2: PUSH0 00004cc3: PUSH2 0x4cd0 00004cc6: PUSH1 0x40 00004cc8: DUP4 00004cc9: ADD 00004cca: DUP5 00004ccb: DUP7 00004ccc: PUSH2 0x4bd8 00004ccf: JUMP 00004cd0: JUMPDEST 00004cd1: SWAP6 00004cd2: SWAP5 00004cd3: POP 00004cd4: POP 00004cd5: POP 00004cd6: POP 00004cd7: POP 00004cd8: JUMP 00004cd9: JUMPDEST 00004cda: DUP1 00004cdb: DUP3 00004cdc: ADD 00004cdd: DUP3 00004cde: DUP2 00004cdf: SLT 00004ce0: PUSH0 00004ce1: DUP4 00004ce2: SLT 00004ce3: DUP1 00004ce4: ISZERO 00004ce5: DUP3 00004ce6: AND 00004ce7: DUP3 00004ce8: ISZERO 00004ce9: DUP3 00004cea: AND 00004ceb: OR 00004cec: ISZERO 00004ced: PUSH2 0x4cf8 00004cf0: JUMPI 00004cf1: PUSH2 0x4cf8 00004cf4: PUSH2 0x4a1c 00004cf7: JUMP 00004cf8: JUMPDEST 00004cf9: POP 00004cfa: POP 00004cfb: SWAP3 00004cfc: SWAP2 00004cfd: POP 00004cfe: POP 00004cff: JUMP 00004d00: JUMPDEST 00004d01: DUP2 00004d02: DUP2 00004d03: SUB 00004d04: PUSH0 00004d05: DUP4 00004d06: SLT 00004d07: DUP1 00004d08: ISZERO 00004d09: DUP4 00004d0a: DUP4 00004d0b: SGT 00004d0c: AND 00004d0d: DUP4 00004d0e: DUP4 00004d0f: SLT 00004d10: DUP3 00004d11: AND 00004d12: OR 00004d13: ISZERO 00004d14: PUSH2 0x4d1f 00004d17: JUMPI 00004d18: PUSH2 0x4d1f 00004d1b: PUSH2 0x4a1c 00004d1e: JUMP 00004d1f: JUMPDEST 00004d20: POP 00004d21: SWAP3 00004d22: SWAP2 00004d23: POP 00004d24: POP 00004d25: JUMP 00004d26: JUMPDEST 00004d27: PUSH0 00004d28: DUP3 00004d29: CALLDATALOAD 00004d2a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1 00004d4b: DUP4 00004d4c: CALLDATASIZE 00004d4d: SUB 00004d4e: ADD 00004d4f: DUP2 00004d50: SLT 00004d51: PUSH2 0x4d58 00004d54: JUMPI 00004d55: PUSH0 00004d56: PUSH0 00004d57: REVERT 00004d58: JUMPDEST 00004d59: SWAP2 00004d5a: SWAP1 00004d5b: SWAP2 00004d5c: ADD 00004d5d: SWAP3 00004d5e: SWAP2 00004d5f: POP 00004d60: POP 00004d61: JUMP 00004d62: JUMPDEST 00004d63: PUSH0 00004d64: PUSH0 00004d65: DUP4 00004d66: CALLDATALOAD 00004d67: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1 00004d88: DUP5 00004d89: CALLDATASIZE 00004d8a: SUB 00004d8b: ADD 00004d8c: DUP2 00004d8d: SLT 00004d8e: PUSH2 0x4d95 00004d91: JUMPI 00004d92: PUSH0 00004d93: PUSH0 00004d94: REVERT 00004d95: JUMPDEST 00004d96: DUP4 00004d97: ADD 00004d98: DUP1 00004d99: CALLDATALOAD 00004d9a: SWAP2 00004d9b: POP 00004d9c: PUSH8 0xffffffffffffffff 00004da5: DUP3 00004da6: GT 00004da7: ISZERO 00004da8: PUSH2 0x4daf 00004dab: JUMPI 00004dac: PUSH0 00004dad: PUSH0 00004dae: REVERT 00004daf: JUMPDEST 00004db0: PUSH1 0x20 00004db2: ADD 00004db3: SWAP2 00004db4: POP 00004db5: PUSH1 0x60 00004db7: DUP2 00004db8: MUL 00004db9: CALLDATASIZE 00004dba: SUB 00004dbb: DUP3 00004dbc: SGT 00004dbd: ISZERO 00004dbe: PUSH2 0x3fde 00004dc1: JUMPI 00004dc2: PUSH0 00004dc3: PUSH0 00004dc4: REVERT 00004dc5: JUMPDEST 00004dc6: PUSH0 00004dc7: PUSH1 0x20 00004dc9: DUP3 00004dca: DUP5 00004dcb: SUB 00004dcc: SLT 00004dcd: ISZERO 00004dce: PUSH2 0x4dd5 00004dd1: JUMPI 00004dd2: PUSH0 00004dd3: PUSH0 00004dd4: REVERT 00004dd5: JUMPDEST 00004dd6: POP 00004dd7: MLOAD 00004dd8: SWAP2 00004dd9: SWAP1 00004dda: POP 00004ddb: JUMP 00004ddc: JUMPDEST 00004ddd: DUP1 00004dde: DUP3 00004ddf: MUL 00004de0: DUP2 00004de1: ISZERO 00004de2: DUP3 00004de3: DUP3 00004de4: DIV 00004de5: DUP5 00004de6: EQ 00004de7: OR 00004de8: PUSH2 0x3a80 00004deb: JUMPI 00004dec: PUSH2 0x3a80 00004def: PUSH2 0x4a1c 00004df2: JUMP 00004df3: JUMPDEST 00004df4: DUP1 00004df5: DUP3 00004df6: ADD 00004df7: DUP1 00004df8: DUP3 00004df9: GT 00004dfa: ISZERO 00004dfb: PUSH2 0x3a80 00004dfe: JUMPI 00004dff: PUSH2 0x3a80 00004e02: PUSH2 0x4a1c 00004e05: JUMP 00004e06: JUMPDEST 00004e07: PUSH1 0x20 00004e09: DUP1 00004e0a: DUP3 00004e0b: MSTORE 00004e0c: DUP2 00004e0d: ADD 00004e0e: DUP3 00004e0f: SWAP1 00004e10: MSTORE 00004e11: PUSH0 00004e12: PUSH1 0x40 00004e14: PUSH1 0x05 00004e16: DUP5 00004e17: SWAP1 00004e18: SHL 00004e19: DUP4 00004e1a: ADD 00004e1b: DUP2 00004e1c: ADD 00004e1d: SWAP1 00004e1e: DUP4 00004e1f: ADD 00004e20: DUP6 00004e21: DUP4 00004e22: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1 00004e43: CALLDATASIZE 00004e44: DUP4 00004e45: SWAP1 00004e46: SUB 00004e47: ADD 00004e48: JUMPDEST 00004e49: DUP8 00004e4a: DUP3 00004e4b: LT 00004e4c: ISZERO 00004e4d: PUSH2 0x4f90 00004e50: JUMPI 00004e51: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0 00004e72: DUP8 00004e73: DUP7 00004e74: SUB 00004e75: ADD 00004e76: DUP5 00004e77: MSTORE 00004e78: DUP3 00004e79: CALLDATALOAD 00004e7a: DUP2 00004e7b: DUP2 00004e7c: SLT 00004e7d: PUSH2 0x4e84 00004e80: JUMPI 00004e81: PUSH0 00004e82: PUSH0 00004e83: REVERT 00004e84: JUMPDEST 00004e85: DUP10 00004e86: ADD 00004e87: PUSH1 0x40 00004e89: DUP7 00004e8a: ADD 00004e8b: DUP2 00004e8c: CALLDATALOAD 00004e8d: PUSH2 0x4e95 00004e90: DUP2 00004e91: PUSH2 0x44c8 00004e94: JUMP 00004e95: JUMPDEST 00004e96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004eab: AND 00004eac: DUP8 00004ead: MSTORE 00004eae: PUSH1 0x20 00004eb0: DUP3 00004eb1: ADD 00004eb2: CALLDATALOAD 00004eb3: CALLDATASIZE 00004eb4: DUP4 00004eb5: SWAP1 00004eb6: SUB 00004eb7: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1 00004ed8: ADD 00004ed9: DUP2 00004eda: SLT 00004edb: PUSH2 0x4ee2 00004ede: JUMPI 00004edf: PUSH0 00004ee0: PUSH0 00004ee1: REVERT 00004ee2: JUMPDEST 00004ee3: PUSH1 0x20 00004ee5: SWAP3 00004ee6: ADD 00004ee7: SWAP2 00004ee8: DUP3 00004ee9: ADD 00004eea: SWAP2 00004eeb: CALLDATALOAD 00004eec: PUSH8 0xffffffffffffffff 00004ef5: DUP2 00004ef6: GT 00004ef7: ISZERO 00004ef8: PUSH2 0x4eff 00004efb: JUMPI 00004efc: PUSH0 00004efd: PUSH0 00004efe: REVERT 00004eff: JUMPDEST 00004f00: PUSH1 0x60 00004f02: DUP2 00004f03: MUL 00004f04: CALLDATASIZE 00004f05: SUB 00004f06: DUP4 00004f07: SGT 00004f08: ISZERO 00004f09: PUSH2 0x4f10 00004f0c: JUMPI 00004f0d: PUSH0 00004f0e: PUSH0 00004f0f: REVERT 00004f10: JUMPDEST 00004f11: PUSH1 0x40 00004f13: PUSH1 0x20 00004f15: DUP10 00004f16: ADD 00004f17: MSTORE 00004f18: SWAP1 00004f19: DUP2 00004f1a: SWAP1 00004f1b: MSTORE 00004f1c: PUSH0 00004f1d: SWAP1 00004f1e: PUSH1 0x60 00004f20: DUP9 00004f21: ADD 00004f22: JUMPDEST 00004f23: DUP2 00004f24: DUP4 00004f25: LT 00004f26: ISZERO 00004f27: PUSH2 0x4f74 00004f2a: JUMPI 00004f2b: DUP4 00004f2c: CALLDATALOAD 00004f2d: PUSH2 0x4f35 00004f30: DUP2 00004f31: PUSH2 0x44c8 00004f34: JUMP 00004f35: JUMPDEST 00004f36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004f4b: AND 00004f4c: DUP2 00004f4d: MSTORE 00004f4e: PUSH1 0x20 00004f50: DUP5 00004f51: DUP2 00004f52: ADD 00004f53: CALLDATALOAD 00004f54: SWAP1 00004f55: DUP3 00004f56: ADD 00004f57: MSTORE 00004f58: PUSH1 0x40 00004f5a: DUP1 00004f5b: DUP6 00004f5c: ADD 00004f5d: CALLDATALOAD 00004f5e: SWAP1 00004f5f: DUP3 00004f60: ADD 00004f61: MSTORE 00004f62: PUSH1 0x60 00004f64: SWAP4 00004f65: DUP5 00004f66: ADD 00004f67: SWAP4 00004f68: PUSH1 0x01 00004f6a: SWAP4 00004f6b: SWAP1 00004f6c: SWAP4 00004f6d: ADD 00004f6e: SWAP3 00004f6f: ADD 00004f70: PUSH2 0x4f22 00004f73: JUMP 00004f74: JUMPDEST 00004f75: SWAP8 00004f76: POP 00004f77: POP 00004f78: POP 00004f79: PUSH1 0x20 00004f7b: SWAP5 00004f7c: DUP6 00004f7d: ADD 00004f7e: SWAP5 00004f7f: SWAP4 00004f80: SWAP1 00004f81: SWAP4 00004f82: ADD 00004f83: SWAP3 00004f84: POP 00004f85: PUSH1 0x01 00004f87: SWAP2 00004f88: SWAP1 00004f89: SWAP2 00004f8a: ADD 00004f8b: SWAP1 00004f8c: PUSH2 0x4e48 00004f8f: JUMP 00004f90: JUMPDEST 00004f91: POP 00004f92: SWAP3 00004f93: SWAP8 00004f94: SWAP7 00004f95: POP 00004f96: POP 00004f97: POP 00004f98: POP 00004f99: POP 00004f9a: POP 00004f9b: POP 00004f9c: JUMP 00004f9d: JUMPDEST 00004f9e: PUSH0 00004f9f: PUSH1 0x20 00004fa1: DUP3 00004fa2: DUP5 00004fa3: SUB 00004fa4: SLT 00004fa5: ISZERO 00004fa6: PUSH2 0x4fad 00004fa9: JUMPI 00004faa: PUSH0 00004fab: PUSH0 00004fac: REVERT 00004fad: JUMPDEST 00004fae: DUP2 00004faf: MLOAD 00004fb0: PUSH2 0x4504 00004fb3: DUP2 00004fb4: PUSH2 0x44c8 00004fb7: JUMP 00004fb8: JUMPDEST 00004fb9: PUSH1 0x20 00004fbb: DUP2 00004fbc: MSTORE 00004fbd: PUSH0 00004fbe: PUSH2 0x41a5 00004fc1: PUSH1 0x20 00004fc3: DUP4 00004fc4: ADD 00004fc5: DUP5 00004fc6: DUP7 00004fc7: PUSH2 0x4bd8 00004fca: JUMP 00004fcb: JUMPDEST 00004fcc: DUP1 00004fcd: DUP3 00004fce: MUL 00004fcf: PUSH0 00004fd0: DUP3 00004fd1: SLT 00004fd2: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004ff3: DUP5 00004ff4: EQ 00004ff5: AND 00004ff6: ISZERO 00004ff7: PUSH2 0x5002 00004ffa: JUMPI 00004ffb: PUSH2 0x5002 00004ffe: PUSH2 0x4a1c 00005001: JUMP 00005002: JUMPDEST 00005003: DUP2 00005004: DUP2 00005005: SDIV 00005006: DUP4 00005007: EQ 00005008: DUP3 00005009: ISZERO 0000500a: OR 0000500b: PUSH2 0x3a80 0000500e: JUMPI 0000500f: PUSH2 0x3a80 00005012: PUSH2 0x4a1c 00005015: JUMP 00005016: JUMPDEST 00005017: PUSH1 0x01 00005019: DUP2 0000501a: DUP2 0000501b: SHR 0000501c: SWAP1 0000501d: DUP3 0000501e: AND 0000501f: DUP1 00005020: PUSH2 0x502a 00005023: JUMPI 00005024: PUSH1 0x7f 00005026: DUP3 00005027: AND 00005028: SWAP2 00005029: POP 0000502a: JUMPDEST 0000502b: PUSH1 0x20 0000502d: DUP3 0000502e: LT 0000502f: DUP2 00005030: SUB 00005031: PUSH2 0x4730 00005034: JUMPI 00005035: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00005056: PUSH0 00005057: MSTORE 00005058: PUSH1 0x22 0000505a: PUSH1 0x04 0000505c: MSTORE 0000505d: PUSH1 0x24 0000505f: PUSH0 00005060: REVERT 00005061: JUMPDEST 00005062: PUSH0 00005063: PUSH1 0x20 00005065: DUP3 00005066: DUP5 00005067: SUB 00005068: SLT 00005069: ISZERO 0000506a: PUSH2 0x5071 0000506d: JUMPI 0000506e: PUSH0 0000506f: PUSH0 00005070: REVERT 00005071: JUMPDEST 00005072: DUP2 00005073: MLOAD 00005074: PUSH2 0x4504 00005077: DUP2 00005078: PUSH2 0x469f 0000507b: JUMP 0000507c: JUMPDEST 0000507d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000509e: PUSH0 0000509f: MSTORE 000050a0: PUSH1 0x21 000050a2: PUSH1 0x04 000050a4: MSTORE 000050a5: PUSH1 0x24 000050a7: PUSH0 000050a8: REVERT 000050a9: JUMPDEST 000050aa: PUSH0 000050ab: DUP3 000050ac: MLOAD 000050ad: DUP1 000050ae: PUSH1 0x20 000050b0: DUP6 000050b1: ADD 000050b2: DUP5 000050b3: MCOPY 000050b4: PUSH0 000050b5: SWAP3 000050b6: ADD 000050b7: SWAP2 000050b8: DUP3 000050b9: MSTORE 000050ba: POP 000050bb: SWAP2 000050bc: SWAP1 000050bd: POP 000050be: JUMP 000050bf: JUMPDEST 000050c0: PUSH1 0x20 000050c2: DUP2 000050c3: MSTORE 000050c4: PUSH0 000050c5: PUSH2 0x4504 000050c8: PUSH1 0x20 000050ca: DUP4 000050cb: ADD 000050cc: DUP5 000050cd: PUSH2 0x47dd 000050d0: JUMP 000050d1: INVALID 000050d2: LOG2 000050d3: PUSH5 0x6970667358 000050d9: UNKNOWN(0x22) 000050da: SLT 000050db: KECCAK256 000050dc: LOG0 000050dd: UNKNOWN(0xBA) 000050de: DUP14 000050df: UNKNOWN(0xB9) 000050e0: RETURN 000050e1: UNKNOWN(0xD9) 000050e2: UNKNOWN(0xA6) 000050e3: PUSH8 0xe49717c5614618d4 000050ec: DUP2 000050ed: BALANCE 000050ee: SAR 000050ef: UNKNOWN(0x4C) 000050f0: RETURNDATACOPY 000050f1: PUSH10 0xe51e9b53166a80821e67 000050fc: PUSH5 0x736f6c6343 00005102: STOP 00005103: ADDMOD 00005104: SHR 00005105: STOP 00005106: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | math | codex | LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption | 85 | no | — |
viewevidence_json{
"evidence": "`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.",
"locations": [
"contracts/src/CreditVault.sol:171",
"contracts/src/CreditVault.sol:230",
"contracts/src/CreditVault.sol:250",
"contracts/src/CreditVault.sol:294",
"contracts/src/NativeLPToken.sol:190",
"contracts/src/NativeLPToken.sol:345",
"contracts/src/NativeLPToken.sol:371"
],
"recommendation": "Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.",
"exploit_scenario": "A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token\u2019s `totalUnderlying`. LP shares are still valued at the pre\u2011payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token\u2019s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases."
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c
call_targets:
0xe3d41d19564922c9952f692c5dd0563030f5f2ef
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xe3d41d19564922c9952f692c5dd0563030f5f2ef"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6d95efd",
"selector": "0xf6d95efd",
"calldata_variants": [
"0xf6d95efd",
"0xf6d95efd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf90cdb36",
"selector": "0xf90cdb36",
"calldata_variants": [
"0xf90cdb36",
"0xf90cdb360000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcab4f84c",
"selector": "0xcab4f84c",
"calldata_variants": [
"0xcab4f84c",
"0xcab4f84c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc218ece",
"selector": "0xcc218ece",
"calldata_variants": [
"0xcc218ece",
"0xcc218ece0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb7477674",
"selector": "0xb7477674",
"calldata_variants": [
"0xb7477674",
"0xb74776740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc2b73076",
"selector": "0xc2b73076",
"calldata_variants": [
"0xc2b73076",
"0xc2b730760000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7960,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17307,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 6090,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c
call_targets:
0xe3d41d19564922c9952f692c5dd0563030f5f2ef
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xe3d41d19564922c9952f692c5dd0563030f5f2ef"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6d95efd",
"selector": "0xf6d95efd",
"calldata_variants": [
"0xf6d95efd",
"0xf6d95efd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf90cdb36",
"selector": "0xf90cdb36",
"calldata_variants": [
"0xf90cdb36",
"0xf90cdb360000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcab4f84c",
"selector": "0xcab4f84c",
"calldata_variants": [
"0xcab4f84c",
"0xcab4f84c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc218ece",
"selector": "0xcc218ece",
"calldata_variants": [
"0xcc218ece",
"0xcc218ece0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb7477674",
"selector": "0xb7477674",
"calldata_variants": [
"0xb7477674",
"0xb74776740000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc2b73076",
"selector": "0xc2b73076",
"calldata_variants": [
"0xc2b73076",
"0xc2b730760000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7960,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17307,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 6090,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 2
}
|