b032c5b7-84c5-4699-b2ef-1ac854f6752a
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 |
|---|---|---|---|---|
| 30510 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 103919 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 103920 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 103921 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 103922 | capability.graph | complete | 1 / 3 | 1 week ago |
| 103923 | detector.run | complete | 1 / 3 | 1 week ago |
| 103924 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1500714] OpenAI Codex v0.77.0 (research preview)
[codex:1500714] --------
[codex:1500714] workdir: /tmp/codex-multi-oirtlsv8
[codex:1500714] model: gpt-5.2-codex
[codex:1500714] provider: openai
[codex:1500714] approval: never
[codex:1500714] sandbox: read-only
[codex:1500714] reasoning effort: xhigh
[codex:1500714] reasoning summaries: auto
[codex:1500714] session id: 019b6a9b-9eae-77c1-b378-119d998e7031
[codex:1500714] --------
[codex:1500714] user
[codex:1500714] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1500714] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1500714] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1500714]
[codex:1500714] Scope rules:
[codex:1500714] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1500714] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1500714]
[codex:1500714] Output MUST be valid JSON matching the provided schema.
[codex:1500714] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1500714] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1500714]
[codex:1500714] Output constraints (IMPORTANT):
[codex:1500714] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1500714] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1500714] mcp startup: no servers
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Preparing to read audit file**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc ls in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] AUDIT_BUNDLE.txt
[codex:1500714] codex-output-schema.json
[codex:1500714] contracts
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Reading AUDIT_BUNDLE.txt file**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1500714]
[codex:1500714] ================================================================================
[codex:1500714] FILE: contracts/contracts/AlgebraPool.sol
[codex:1500714] ================================================================================
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714] pragma abicoder v1;
[codex:1500714]
[codex:1500714] import './base/AlgebraPoolBase.sol';
[codex:1500714] import './base/ReentrancyGuard.sol';
[codex:1500714] import './base/Positions.sol';
[codex:1500714] import './base/SwapCalculation.sol';
[codex:1500714] import './base/ReservesManager.sol';
[codex:1500714] import './base/TickStructure.sol';
[codex:1500714]
[codex:1500714] import './libraries/FullMath.sol';
[codex:1500714] import './libraries/Constants.sol';
[codex:1500714] import './libraries/SafeCast.sol';
[codex:1500714] import './libraries/TickMath.sol';
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Preparing to audit large contract bundle**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc 'rg --files contracts/contracts' in /tmp/codex-multi-oirtlsv8 succeeded in 8ms:
[codex:1500714] contracts/contracts/interfaces/IERC20Minimal.sol
[codex:1500714] contracts/contracts/interfaces/IAlgebraPoolDeployer.sol
[codex:1500714] contracts/contracts/interfaces/vault/IAlgebraVaultFactory.sol
[codex:1500714] contracts/contracts/interfaces/IAlgebraPool.sol
[codex:1500714] contracts/contracts/interfaces/pool/IAlgebraPoolActions.sol
[codex:1500714] contracts/contracts/interfaces/pool/IAlgebraPoolImmutables.sol
[codex:1500714] contracts/contracts/interfaces/pool/IAlgebraPoolErrors.sol
[codex:1500714] contracts/contracts/interfaces/pool/IAlgebraPoolPermissionedActions.sol
[codex:1500714] contracts/contracts/interfaces/pool/IAlgebraPoolEvents.sol
[codex:1500714] contracts/contracts/interfaces/pool/IAlgebraPoolState.sol
[codex:1500714] contracts/contracts/interfaces/IAlgebraFactory.sol
[codex:1500714] contracts/contracts/interfaces/callback/IAlgebraFlashCallback.sol
[codex:1500714] contracts/contracts/interfaces/callback/IAlgebraMintCallback.sol
[codex:1500714] contracts/contracts/interfaces/callback/IAlgebraSwapCallback.sol
[codex:1500714] contracts/contracts/libraries/TokenDeltaMath.sol
[codex:1500714] contracts/contracts/libraries/LowGasSafeMath.sol
[codex:1500714] contracts/contracts/libraries/TickMath.sol
[codex:1500714] contracts/contracts/libraries/Constants.sol
[codex:1500714] contracts/contracts/AlgebraPool.sol
[codex:1500714] contracts/contracts/libraries/LiquidityMath.sol
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Reviewing core contract vulnerabilities**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,200p' contracts/contracts/base/ReentrancyGuard.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import './AlgebraPoolBase.sol';
[codex:1500714]
[codex:1500714] /// @title Algebra reentrancy protection
[codex:1500714] /// @notice Provides a modifier that protects against reentrancy
[codex:1500714] abstract contract ReentrancyGuard is AlgebraPoolBase {
[codex:1500714] /// @notice checks that reentrancy lock is unlocked
[codex:1500714] modifier onlyUnlocked() {
[codex:1500714] _checkUnlocked();
[codex:1500714] _;
[codex:1500714] }
[codex:1500714]
[codex:1500714] /// @dev using private function to save bytecode
[codex:1500714] function _checkUnlocked() internal view {
[codex:1500714] if (!globalState.unlocked) revert IAlgebraPoolErrors.locked();
[codex:1500714] }
[codex:1500714]
[codex:1500714] /// @dev using private function to save bytecode
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential reentrancy risks**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc 'rg "plugin" -n contracts/contracts/base contracts/contracts/AlgebraPool.sol' in /tmp/codex-multi-oirtlsv8 succeeded in 10ms:
[codex:1500714] contracts/contracts/AlgebraPool.sol:19:import './interfaces/plugin/IAlgebraPlugin.sol';
[codex:1500714] contracts/contracts/AlgebraPool.sol:39: if (plugin != address(0)) {
[codex:1500714] contracts/contracts/AlgebraPool.sol:40: IAlgebraPlugin(plugin).beforeInitialize(msg.sender, initialPrice).shouldReturn(IAlgebraPlugin.beforeInitialize.selector);
[codex:1500714] contracts/contracts/AlgebraPool.sol:50: if (globalState.pluginConfig.hasFlag(Plugins.AFTER_INIT_FLAG)) {
[codex:1500714] contracts/contracts/AlgebraPool.sol:51: IAlgebraPlugin(plugin).afterInitialize(msg.sender, initialPrice, tick).shouldReturn(IAlgebraPlugin.afterInitialize.selector);
[codex:1500714] contracts/contracts/AlgebraPool.sol:136: uint24 pluginFee = _beforeModifyPos(msg.sender, bottomTick, topTick, liquidityDelta, data);
[codex:1500714] contracts/contracts/AlgebraPool.sol:145: if (pluginFee > 0) {
[codex:1500714] contracts/contracts/AlgebraPool.sol:150: deltaPluginFeePending0 = FullMath.mulDiv(amount0, pluginFee, Constants.FEE_DENOMINATOR);
[codex:1500714] contracts/contracts/AlgebraPool.sol:154: deltaPluginFeePending1 = FullMath.mulDiv(amount1, pluginFee, Constants.FEE_DENOMINATOR);
[codex:1500714] contracts/contracts/AlgebraPool.sol:168: if (amount | amount0 | amount1 != 0) emit Burn(msg.sender, bottomTick, topTick, amount, amount0, amount1, pluginFee);
[codex:1500714] contracts/contracts/AlgebraPool.sol:175: return msg.sender == plugin;
[codex:1500714] contracts/contracts/AlgebraPool.sol:184: ) internal returns (uint24 pluginFee) {
[codex:1500714] contracts/contracts/AlgebraPool.sol:185: if (globalState.pluginConfig.hasFlag(Plugins.BEFORE_POSITION_MODIFY_FLAG)) {
[codex:1500714] contracts/contracts/AlgebraPool.sol:188: (selector, pluginFee) = IAlgebraPlugin(plugin).beforeModifyPosition(msg.sender, owner, bottomTick, topTick, liquidityDelta, data);
[codex:1500714] contracts/contracts/AlgebraPool.sol:189: if (pluginFee >= 1e6) revert incorrectPluginFee();
[codex:1500714] contracts/contracts/AlgebraPool.sol:196: if (globalState.pluginConfig.hasFlag(Plugins.AFTER_POSITION_MODIFY_FLAG)) {
[codex:1500714] contracts/contracts/AlgebraPool.sol:197: IAlgebraPlugin(plugin).afterModifyPosition(msg.sender, owner, bTick, tTick, deltaL, amount0, amount1, data).shouldReturn(
[codex:1500714] contracts/contracts/AlgebraPool.sol:250: (uint24 overrideFee, uint24 pluginFee) = _beforeSwap(recipient, zeroToOne, amountRequired, limitSqrtPrice, false, data);
[codex:1500714] contracts/contracts/AlgebraPool.sol:259: pluginFee,
[codex:1500714] contracts/contracts/AlgebraPool.sol:271: _changeReserves(amount0, amount1, fees.communityFeeAmount, 0, fees.pluginFeeAmount, 0); // reflect reserve change and pay communityFee
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Inspecting setPlugin configuration**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '470,620p' contracts/contracts/AlgebraPool.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714]
[codex:1500714] /// @dev using function to save bytecode
[codex:1500714] function _checkIfAdministrator() private view {
[codex:1500714] if (!IAlgebraFactory(factory).hasRoleOrOwner(Constants.POOLS_ADMINISTRATOR_ROLE, msg.sender)) revert notAllowed();
[codex:1500714] }
[codex:1500714]
[codex:1500714] // permissioned actions use reentrancy lock to prevent call from callback (to keep the correct order of events, etc.)
[codex:1500714]
[codex:1500714] /// @inheritdoc IAlgebraPoolPermissionedActions
[codex:1500714] function setCommunityFee(uint16 newCommunityFee) external override onlyUnlocked {
[codex:1500714] _checkIfAdministrator();
[codex:1500714] if (
[codex:1500714] newCommunityFee > Constants.MAX_COMMUNITY_FEE ||
[codex:1500714] newCommunityFee == globalState.communityFee ||
[codex:1500714] (newCommunityFee != 0 && communityVault == address(0))
[codex:1500714] ) revert invalidNewCommunityFee();
[codex:1500714] _setCommunityFee(newCommunityFee);
[codex:1500714] }
[codex:1500714]
[codex:1500714] /// @inheritdoc IAlgebraPoolPermissionedActions
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing reentrancy risks with plugins and pool locks**
[codex:1500714]
[codex:1500714] I'm examining the potential for reentrancy attacks caused by the plugin callbacks invoked before the pool locks. The plugin is admin-set and could be malicious, which poses a centralization risk rather than a direct vulnerability. Notably, during `swapWithPaymentInAdvance`, the pool unlocks before calling the plugin hook `_beforeSwap`, allowing the plugin to reenter pool functions while state is partially updated, which could be risky. However, since plugins are authorized by admin, this seems expected behavior but still worth highlighting. I’m also exploring whether plugin self-configuration of hooks could introduce unexpected access and inspecting related contracts like ReservesManager for any vulnerable external token transfers or reentrancy issues.
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,260p' contracts/contracts/base/ReservesManager.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 6ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import '../libraries/SafeCast.sol';
[codex:1500714] import '../libraries/Plugins.sol';
[codex:1500714] import './AlgebraPoolBase.sol';
[codex:1500714] import '../interfaces/plugin/IAlgebraPlugin.sol';
[codex:1500714] import '../interfaces/pool/IAlgebraPoolErrors.sol';
[codex:1500714] /// @title Algebra reserves management abstract contract
[codex:1500714] /// @notice Encapsulates logic for tracking and changing pool reserves
[codex:1500714] /// @dev The reserve mechanism allows the pool to keep track of unexpected increases in balances
[codex:1500714] abstract contract ReservesManager is AlgebraPoolBase {
[codex:1500714] using Plugins for bytes4;
[codex:1500714] using SafeCast for uint256;
[codex:1500714]
[codex:1500714] /// @dev The tracked token0 and token1 reserves of pool
[codex:1500714] uint128 internal reserve0;
[codex:1500714] uint128 internal reserve1;
[codex:1500714]
[codex:1500714] /// @inheritdoc IAlgebraPoolState
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential reentrancy risk in _changeReserves**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc 'rg "_changeReserves" -n contracts/contracts' in /tmp/codex-multi-oirtlsv8 succeeded in 9ms:
[codex:1500714] contracts/contracts/AlgebraPool.sol:118: _changeReserves(int256(amount0), int256(amount1), 0, 0, 0, 0);
[codex:1500714] contracts/contracts/AlgebraPool.sol:158: _changeReserves(0, 0, 0, 0, deltaPluginFeePending0, deltaPluginFeePending1);
[codex:1500714] contracts/contracts/AlgebraPool.sol:229: _changeReserves(-int256(uint256(amount0)), -int256(uint256(amount1)), 0, 0, 0, 0);
[codex:1500714] contracts/contracts/AlgebraPool.sol:271: _changeReserves(amount0, amount1, fees.communityFeeAmount, 0, fees.pluginFeeAmount, 0); // reflect reserve change and pay communityFee
[codex:1500714] contracts/contracts/AlgebraPool.sol:278: _changeReserves(amount0, amount1, 0, fees.communityFeeAmount, 0, fees.pluginFeeAmount); // reflect reserve change and pay communityFee
[codex:1500714] contracts/contracts/AlgebraPool.sol:319: _changeReserves(amountReceived, 0, 0, 0, 0, 0);
[codex:1500714] contracts/contracts/AlgebraPool.sol:325: _changeReserves(0, amountReceived, 0, 0, 0, 0);
[codex:1500714] contracts/contracts/AlgebraPool.sol:353: _changeReserves(-leftover.toInt256(), amount1, fees.communityFeeAmount, 0, fees.pluginFeeAmount, 0); // reflect reserve change and pay communityFee
[codex:1500714] contracts/contracts/AlgebraPool.sol:358: _changeReserves(amount0, -leftover.toInt256(), 0, fees.communityFeeAmount, 0, fees.pluginFeeAmount); // reflect reserve change and pay communityFee
[codex:1500714] contracts/contracts/AlgebraPool.sol:460: _changeReserves(int256(communityFee0), int256(communityFee1), communityFee0, communityFee1, 0, 0);
[codex:1500714] contracts/contracts/base/ReservesManager.sol:172: function _changeReserves(
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing lock usage and reentrancy risks**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,260p' contracts/contracts/base/AlgebraPoolBase.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import '../interfaces/callback/IAlgebraSwapCallback.sol';
[codex:1500714] import '../interfaces/callback/IAlgebraMintCallback.sol';
[codex:1500714] import '../interfaces/callback/IAlgebraFlashCallback.sol';
[codex:1500714] import '../interfaces/plugin/IAlgebraDynamicFeePlugin.sol';
[codex:1500714] import '../interfaces/IAlgebraPool.sol';
[codex:1500714] import '../interfaces/IAlgebraFactory.sol';
[codex:1500714] import '../interfaces/IAlgebraPoolDeployer.sol';
[codex:1500714] import '../interfaces/IERC20Minimal.sol';
[codex:1500714]
[codex:1500714] import '../libraries/TickManagement.sol';
[codex:1500714] import '../libraries/SafeTransfer.sol';
[codex:1500714] import '../libraries/Constants.sol';
[codex:1500714] import '../libraries/Plugins.sol';
[codex:1500714]
[codex:1500714] import './common/Timestamp.sol';
[codex:1500714]
[codex:1500714] /// @title Algebra pool base abstract contract
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential reentrancy and permission issues**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,200p' contracts/contracts/libraries/SafeTransfer.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: MIT
[codex:1500714] pragma solidity >=0.8.4 <0.9.0;
[codex:1500714]
[codex:1500714] import '../interfaces/pool/IAlgebraPoolErrors.sol';
[codex:1500714]
[codex:1500714] /// @title SafeTransfer
[codex:1500714] /// @notice Safe ERC20 transfer library that gracefully handles missing return values.
[codex:1500714] /// @dev Credit to Solmate under MIT license: https://github.com/transmissions11/solmate/blob/ed67feda67b24fdeff8ad1032360f0ee6047ba0a/src/utils/SafeTransferLib.sol
[codex:1500714] /// @dev Please note that this library does not check if the token has a code! That responsibility is delegated to the caller.
[codex:1500714] library SafeTransfer {
[codex:1500714] /// @notice Transfers tokens to a recipient
[codex:1500714] /// @dev Calls transfer on token contract, errors with transferFailed() if transfer fails
[codex:1500714] /// @param token The contract address of the token which will be transferred
[codex:1500714] /// @param to The recipient of the transfer
[codex:1500714] /// @param amount The amount of the token to transfer
[codex:1500714] function safeTransfer(address token, address to, uint256 amount) internal {
[codex:1500714] bool success;
[codex:1500714] assembly {
[codex:1500714] let freeMemoryPointer := mload(0x40) // we will need to restore 0x40 slot
[codex:1500714] mstore(0x00, 0xa9059cbb00000000000000000000000000000000000000000000000000000000) // "transfer(address,uint256)" selector
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential unchecked fee manipulation**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,240p' contracts/contracts/base/SwapCalculation.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import '../libraries/PriceMovementMath.sol';
[codex:1500714] import '../libraries/LowGasSafeMath.sol';
[codex:1500714] import '../libraries/SafeCast.sol';
[codex:1500714] import './AlgebraPoolBase.sol';
[codex:1500714]
[codex:1500714] /// @title Algebra swap calculation abstract contract
[codex:1500714] /// @notice Contains _calculateSwap encapsulating internal logic of swaps
[codex:1500714] abstract contract SwapCalculation is AlgebraPoolBase {
[codex:1500714] using TickManagement for mapping(int24 => TickManagement.Tick);
[codex:1500714] using SafeCast for uint256;
[codex:1500714] using LowGasSafeMath for uint256;
[codex:1500714] using LowGasSafeMath for int256;
[codex:1500714]
[codex:1500714] struct SwapCalculationCache {
[codex:1500714] uint256 communityFee; // The community fee of the selling token, uint256 to minimize casts
[codex:1500714] bool crossedAnyTick; // If we have already crossed at least one active tick
[codex:1500714] int256 amountRequiredInitial; // The initial value of the exact input\output amount
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Searching for delegatecall and signature validation**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc 'rg -n "delegatecall|ecrecover|permit|signature" contracts/contracts' in /tmp/codex-multi-oirtlsv8 exited 1 in 10ms:
[codex:1500714]
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Examining potential security issues**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,260p' contracts/contracts/base/Positions.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 6ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import '../libraries/LiquidityMath.sol';
[codex:1500714] import '../libraries/TickManagement.sol';
[codex:1500714] import './AlgebraPoolBase.sol';
[codex:1500714]
[codex:1500714] /// @title Algebra positions abstract contract
[codex:1500714] /// @notice Contains the logic of recalculation and change of liquidity positions
[codex:1500714] /// @dev Relies on method _addOrRemoveTicks, which is implemented in TickStructure
[codex:1500714] abstract contract Positions is AlgebraPoolBase {
[codex:1500714] using TickManagement for mapping(int24 => TickManagement.Tick);
[codex:1500714]
[codex:1500714] struct Position {
[codex:1500714] uint256 liquidity; // The amount of liquidity concentrated in the range
[codex:1500714] uint256 innerFeeGrowth0Token; // The last updated fee growth per unit of liquidity
[codex:1500714] uint256 innerFeeGrowth1Token;
[codex:1500714] uint128 fees0; // The amount of token0 owed to a LP
[codex:1500714] uint128 fees1; // The amount of token1 owed to a LP
[codex:1500714] }
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Checking for TickStructure mentions**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,260p' contracts/contracts/base/TickStructure.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import '../libraries/TickManagement.sol';
[codex:1500714] import '../libraries/TickTree.sol';
[codex:1500714] import './AlgebraPoolBase.sol';
[codex:1500714]
[codex:1500714] /// @title Algebra tick structure abstract contract
[codex:1500714] /// @notice Encapsulates the logic of interaction with the data structure with ticks
[codex:1500714] /// @dev Ticks are stored as a doubly linked list. A three-level bitmap tree is used to search through the list
[codex:1500714] abstract contract TickStructure is AlgebraPoolBase {
[codex:1500714] using TickManagement for mapping(int24 => TickManagement.Tick);
[codex:1500714] using TickTree for mapping(int16 => uint256);
[codex:1500714]
[codex:1500714] /// @inheritdoc IAlgebraPoolState
[codex:1500714] uint32 public override tickTreeRoot; // The root bitmap of search tree
[codex:1500714] /// @inheritdoc IAlgebraPoolState
[codex:1500714] mapping(int16 => uint256) public override tickTreeSecondLayer; // The second layer of search tree
[codex:1500714]
[codex:1500714] // the leaves of the tree are stored in `tickTable`
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential reentrancy and arithmetic issues**
[codex:1500714]
[codex:1500714] I'm exploring various functions for subtle bugs, focusing on how signed 24-bit ticks are handled in key packing, the implications of plugin callbacks during swaps and fees, and potential reentrancy vectors via token transfers and plugin calls. I'm also examining arithmetic checks that use bitwise OR on signed integers and liquidity calculations involving partial token payments and rounding, looking for correctness or edge cases that might cause inconsistencies.
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,240p' contracts/contracts/libraries/LiquidityMath.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1500714] pragma solidity >=0.8.4 <0.9.0;
[codex:1500714]
[codex:1500714] import '../interfaces/pool/IAlgebraPoolErrors.sol';
[codex:1500714] import './TickMath.sol';
[codex:1500714] import './TokenDeltaMath.sol';
[codex:1500714]
[codex:1500714] /// @title Math library for liquidity
[codex:1500714] /// @dev Credit to Uniswap Labs under GPL-2.0-or-later license:
[codex:1500714] /// https://github.com/Uniswap/v3-core/blob/main/contracts/libraries
[codex:1500714] library LiquidityMath {
[codex:1500714] /// @notice Add a signed liquidity delta to liquidity and revert if it overflows or underflows
[codex:1500714] /// @param x The liquidity before change
[codex:1500714] /// @param y The delta by which liquidity should be changed
[codex:1500714] /// @return z The liquidity delta
[codex:1500714] function addDelta(uint128 x, int128 y) internal pure returns (uint128 z) {
[codex:1500714] unchecked {
[codex:1500714] if (y < 0) {
[codex:1500714] if ((z = x - uint128(-y)) >= x) revert IAlgebraPoolErrors.liquiditySub();
[codex:1500714] } else {
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing rounding and fee logic**
[codex:1500714]
[codex:1500714] I'm examining how rounding up for positive liquidity might affect actual minted amounts and liquidity calculations, especially focusing on the potential mismatch causing under-collateralization. I also check admin controls on fees and tick spacing for possible misconfiguration risks and consider if any reserve updates or external calls pose control or security issues.
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "rg -n \"call\\(\" contracts/contracts" in /tmp/codex-multi-oirtlsv8 succeeded in 9ms:
[codex:1500714] contracts/contracts/libraries/SafeTransfer.sol:24: success := call(gas(), token, 0, 0, 0x44, 0, 0x20)
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential vulnerabilities and access controls**
[codex:1500714]
[codex:1500714] I'm carefully reviewing plugin configuration, owner privilege boundaries, and function accessibility like initialize and fee settings to identify subtle or permission-related risks, especially focusing on permissionless pool initialization and plugin behaviors that might let EOAs manipulate state or fees unexpectedly.
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,200p' contracts/contracts/base/common/Timestamp.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1500714] pragma solidity >=0.8.0 <0.9.0;
[codex:1500714]
[codex:1500714] /// @title Abstract contract with modified blockTimestamp functionality
[codex:1500714] /// @notice Allows the pool and other contracts to get a timestamp truncated to 32 bits
[codex:1500714] /// @dev Can be overridden in tests to make testing easier
[codex:1500714] abstract contract Timestamp {
[codex:1500714] /// @dev This function is created for testing by overriding it.
[codex:1500714] /// @return A timestamp converted to uint32
[codex:1500714] function _blockTimestamp() internal view virtual returns (uint32) {
[codex:1500714] return uint32(block.timestamp); // truncation is desired
[codex:1500714] }
[codex:1500714] }
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential arithmetic and reentrancy risks**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,200p' contracts/contracts/libraries/SafeCast.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 6ms:
[codex:1500714] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1500714] pragma solidity >=0.5.0 <0.9.0;
[codex:1500714]
[codex:1500714] /// @title Safe casting methods
[codex:1500714] /// @notice Contains methods for safely casting between types
[codex:1500714] /// @dev Credit to Uniswap Labs under GPL-2.0-or-later license:
[codex:1500714] /// https://github.com/Uniswap/v3-core/blob/main/contracts/libraries
[codex:1500714] library SafeCast {
[codex:1500714] /// @notice Cast a uint256 to a uint160, revert on overflow
[codex:1500714] /// @param y The uint256 to be downcasted
[codex:1500714] /// @return z The downcasted integer, now type uint160
[codex:1500714] function toUint160(uint256 y) internal pure returns (uint160 z) {
[codex:1500714] require((z = uint160(y)) == y);
[codex:1500714] }
[codex:1500714]
[codex:1500714] /// @notice Cast a uint256 to a uint128, revert on overflow
[codex:1500714] /// @param y The uint256 to be downcasted
[codex:1500714] /// @return z The downcasted integer, now type uint128
[codex:1500714] function toUint128(uint256 y) internal pure returns (uint128 z) {
[codex:1500714] require((z = uint128(y)) == y);
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Examining potential vulnerabilities in TickManagement**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,260p' contracts/contracts/libraries/TickManagement.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 5ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import '../interfaces/pool/IAlgebraPoolErrors.sol';
[codex:1500714]
[codex:1500714] import './TickMath.sol';
[codex:1500714] import './LiquidityMath.sol';
[codex:1500714] import './Constants.sol';
[codex:1500714]
[codex:1500714] /// @title Library for managing and interacting with ticks
[codex:1500714] /// @notice Contains functions for managing tick processes and relevant calculations
[codex:1500714] /// @dev Ticks are organized as a doubly linked list
[codex:1500714] library TickManagement {
[codex:1500714] // info stored for each initialized individual tick
[codex:1500714] struct Tick {
[codex:1500714] uint256 liquidityTotal; // the total position liquidity that references this tick
[codex:1500714] int128 liquidityDelta; // amount of net liquidity added (subtracted) when tick is crossed left-right (right-left),
[codex:1500714] int24 prevTick;
[codex:1500714] int24 nextTick;
[codex:1500714] // fee growth per unit of liquidity on the _other_ side of this tick (relative to the current tick)
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential reentrancy and plugin risks**
[codex:1500714]
[codex:1500714] I'm reviewing how plugin calls happen before locks, which might allow reentrancy into sensitive pool functions, but access controls seem intact. I’m also checking low-level assembly bit shifting in tick toggling for correctness and considering issues like plugin address verification and safe token transfers. Next, I’ll look into the Plugins library’s `.shouldReturn` method for subtle vulnerabilities.
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,240p' contracts/contracts/libraries/Plugins.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 6ms:
[codex:1500714] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1500714] pragma solidity >=0.8.4 <0.9.0;
[codex:1500714]
[codex:1500714] import '../interfaces/pool/IAlgebraPoolErrors.sol';
[codex:1500714]
[codex:1500714] /// @title Contains logic and constants for interacting with the plugin through hooks
[codex:1500714] /// @dev Allows pool to check which hooks are enabled, as well as control the return selector
[codex:1500714] library Plugins {
[codex:1500714] function hasFlag(uint8 pluginConfig, uint256 flag) internal pure returns (bool res) {
[codex:1500714] assembly {
[codex:1500714] res := gt(and(pluginConfig, flag), 0)
[codex:1500714] }
[codex:1500714] }
[codex:1500714]
[codex:1500714] function shouldReturn(bytes4 selector, bytes4 expectedSelector) internal pure {
[codex:1500714] if (selector != expectedSelector) revert IAlgebraPoolErrors.invalidHookResponse(expectedSelector);
[codex:1500714] }
[codex:1500714]
[codex:1500714] uint256 internal constant BEFORE_SWAP_FLAG = 1;
[codex:1500714] uint256 internal constant AFTER_SWAP_FLAG = 1 << 1;
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing plugin fee and overflow concerns**
[codex:1500714]
[codex:1500714] I'm examining how the plugin's beforeSwap hook affects fee calculations and whether plugins can avoid fees by calling swap recursively. There’s a nuanced interaction with dynamic and override fees that seems intentional, though potentially exploitable for fee manipulation. I’m also reviewing unchecked fee accumulation in positions that could overflow and cause accounting errors if fees become extremely large, which might enable griefing but not a clear vulnerability. Next, I'll glance at PriceMovementMath for any related issues.
[codex:1500714] exec
[codex:1500714] /bin/bash -lc "sed -n '1,260p' contracts/contracts/libraries/PriceMovementMath.sol" in /tmp/codex-multi-oirtlsv8 succeeded in 6ms:
[codex:1500714] // SPDX-License-Identifier: BUSL-1.1
[codex:1500714] pragma solidity =0.8.20;
[codex:1500714]
[codex:1500714] import '../interfaces/pool/IAlgebraPoolErrors.sol';
[codex:1500714] import './FullMath.sol';
[codex:1500714] import './LowGasSafeMath.sol';
[codex:1500714] import './TokenDeltaMath.sol';
[codex:1500714] import './Constants.sol';
[codex:1500714]
[codex:1500714] /// @title Computes the result of price movement
[codex:1500714] /// @notice Contains methods for computing the result of price movement within a single tick price range.
[codex:1500714] library PriceMovementMath {
[codex:1500714] using LowGasSafeMath for uint256;
[codex:1500714] using SafeCast for uint256;
[codex:1500714]
[codex:1500714] /// @notice Gets the next sqrt price given an input amount of token0 or token1
[codex:1500714] /// @dev Throws if price or liquidity are 0, or if the next price is out of bounds
[codex:1500714] /// @param price The starting Q64.96 sqrt price, i.e., before accounting for the input amount
[codex:1500714] /// @param liquidity The amount of usable liquidity
[codex:1500714] /// @param input How much of token0, or token1, is being swapped in
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing potential reentrancy and fee edge cases**
[codex:1500714] exec
[codex:1500714] /bin/bash -lc 'rg -n "TODO|FIXME|HACK|BUG" contracts/contracts' in /tmp/codex-multi-oirtlsv8 exited 1 in 10ms:
[codex:1500714]
[codex:1500714]
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Analyzing complex potential vulnerabilities**
[codex:1500714]
[codex:1500714] I’m carefully examining possible issues including fee packing, timestamp underflow, plugin fee handling, dynamic fee misconfiguration, reentrancy risks in plugin hooks, and tick boundary overflows. There is a subtle concern about unchecked overflow in tick increments at max tick values that could cause unexpected behavior, among other nuanced risks. Let’s explore these subtle glitches and their security implications together!
[codex:1500714] thinking
[codex:1500714] **Verifying tick boundary and arithmetic safety**
[codex:1500714]
[codex:1500714] I’m clarifying how MIN and MAX ticks are treated, confirming that incrementing ticks near MAX_TICK doesn’t overflow given int24 range, and ensuring tick initialization logic aligns with expected behavior. After detailed checks, the arithmetic and boundary handling appear safe, helping me decide no exploitable issues exist here.
[codex:1500714] exec
[codex:1500714] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-oirtlsv8 succeeded in 7ms:
[codex:1500714] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1500714]
[codex:1500714] thinking
[codex:1500714] **Summarizing security audit results**
[codex:1500714]
[codex:1500714] I'm confirming that the output will be a valid JSON object strictly matching the schema, indicating no significant issues found. I carefully reviewed various potential vulnerabilities—reentrancy, access control, upgrade risks, external calls—and found no exploitable problems in the first-party contracts. I'll produce a clean JSON with `no_findings: true`, an appropriate summary message, and an empty findings list as required.
[codex:1500714] codex
[codex:1500714] {"no_findings":true,"summary":"No exploitable reentrancy, access control, upgradeability, signature validation, oracle, accounting, or external-call issues identified in the first-party contracts within scope.","findings":[]}
[codex:1500714] tokens used
[codex:1500714] 69,582
[codex:1500714] {"no_findings":true,"summary":"No exploitable reentrancy, access control, upgradeability, signature validation, oracle, accounting, or external-call issues identified in the first-party contracts within scope.","findings":[]}
{
"codex": {
"ran_at": "2025-12-29T15:04:52.682890+00:00",
"returncode": 0
},
"summary": "No exploitable reentrancy, access control, upgradeability, signature validation, oracle, accounting, or external-call issues identified in the first-party contracts within scope.",
"raw_final": {
"summary": "No exploitable reentrancy, access control, upgradeability, signature validation, oracle, accounting, or external-call issues identified in the first-party contracts within scope.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x01d8 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x050a4d21 00000026: EQ 00000027: PUSH2 0x01dd 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0x0902f1ac 00000031: EQ 00000032: PUSH2 0x0208 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0x0dfe1681 0000003c: EQ 0000003d: PUSH2 0x024f 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0x128acb08 00000047: EQ 00000048: PUSH2 0x0292 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0x1a686502 00000052: EQ 00000053: PUSH2 0x033f 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0x1dd19cb4 0000005d: EQ 0000005e: PUSH2 0x0375 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0x240a875a 00000068: EQ 00000069: PUSH2 0x037f 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0x3b3bc70e 00000073: EQ 00000074: PUSH2 0x03a0 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0x490e6cbc 0000007e: EQ 0000007f: PUSH2 0x0432 00000082: JUMPI 00000083: DUP1 00000084: PUSH4 0x4f1eb3d8 00000089: EQ 0000008a: PUSH2 0x04bc 0000008d: JUMPI 0000008e: DUP1 0000008f: PUSH4 0x514ea4bf 00000094: EQ 00000095: PUSH2 0x050d 00000098: JUMPI 00000099: DUP1 0000009a: PUSH4 0x53e97868 0000009f: EQ 000000a0: PUSH2 0x0597 000000a3: JUMPI 000000a4: DUP1 000000a5: PUSH4 0x578b9a36 000000aa: EQ 000000ab: PUSH2 0x05aa 000000ae: JUMPI 000000af: DUP1 000000b0: PUSH4 0x6378ae44 000000b5: EQ 000000b6: PUSH2 0x05da 000000b9: JUMPI 000000ba: DUP1 000000bb: PUSH4 0x70cf754a 000000c0: EQ 000000c1: PUSH2 0x05f5 000000c4: JUMPI 000000c5: DUP1 000000c6: PUSH4 0x77f8c3a9 000000cb: EQ 000000cc: PUSH2 0x060a 000000cf: JUMPI 000000d0: DUP1 000000d1: PUSH4 0x7bd78025 000000d6: EQ 000000d7: PUSH2 0x0621 000000da: JUMPI 000000db: DUP1 000000dc: PUSH4 0x8380edb7 000000e1: EQ 000000e2: PUSH2 0x063d 000000e5: JUMPI 000000e6: DUP1 000000e7: PUSH4 0x8e005553 000000ec: EQ 000000ed: PUSH2 0x065e 000000f0: JUMPI 000000f1: DUP1 000000f2: PUSH4 0x97ce1c51 000000f7: EQ 000000f8: PUSH2 0x067f 000000fb: JUMPI 000000fc: DUP1 000000fd: PUSH4 0x9e4e0227 00000102: EQ 00000103: PUSH2 0x06e0 00000106: JUMPI 00000107: DUP1 00000108: PUSH4 0xa1eded87 0000010d: EQ 0000010e: PUSH2 0x077d 00000111: JUMPI 00000112: DUP1 00000113: PUSH4 0xaafe29c0 00000118: EQ 00000119: PUSH2 0x0799 0000011c: JUMPI 0000011d: DUP1 0000011e: PUSH4 0xbca57f81 00000123: EQ 00000124: PUSH2 0x086b 00000127: JUMPI 00000128: DUP1 00000129: PUSH4 0xc45a0155 0000012e: EQ 0000012f: PUSH2 0x088b 00000132: JUMPI 00000133: DUP1 00000134: PUSH4 0xc677e3e0 00000139: EQ 0000013a: PUSH2 0x08b2 0000013d: JUMPI 0000013e: DUP1 0000013f: PUSH4 0xcc1f97cf 00000144: EQ 00000145: PUSH2 0x08df 00000148: JUMPI 00000149: DUP1 0000014a: PUSH4 0xd0c93a7c 0000014f: EQ 00000150: PUSH2 0x0905 00000153: JUMPI 00000154: DUP1 00000155: PUSH4 0xd21220a7 0000015a: EQ 0000015b: PUSH2 0x0919 0000015e: JUMPI 0000015f: DUP1 00000160: PUSH4 0xd5c35a7e 00000165: EQ 00000166: PUSH2 0x0940 00000169: JUMPI 0000016a: DUP1 0000016b: PUSH4 0xd8544cf3 00000170: EQ 00000171: PUSH2 0x094d 00000174: JUMPI 00000175: DUP1 00000176: PUSH4 0xd8619037 0000017b: EQ 0000017c: PUSH2 0x0973 0000017f: JUMPI 00000180: DUP1 00000181: PUSH4 0xddca3f43 00000186: EQ 00000187: PUSH2 0x09a0 0000018a: JUMPI 0000018b: DUP1 0000018c: PUSH4 0xe76c01e4 00000191: EQ 00000192: PUSH2 0x09bf 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0xecdecf42 0000019c: EQ 0000019d: PUSH2 0x0a54 000001a0: JUMPI 000001a1: DUP1 000001a2: PUSH4 0xef01df4f 000001a7: EQ 000001a8: PUSH2 0x0a5d 000001ab: JUMPI 000001ac: DUP1 000001ad: PUSH4 0xf085a610 000001b2: EQ 000001b3: PUSH2 0x0a70 000001b6: JUMPI 000001b7: DUP1 000001b8: PUSH4 0xf30dba93 000001bd: EQ 000001be: PUSH2 0x0a90 000001c1: JUMPI 000001c2: DUP1 000001c3: PUSH4 0xf637731d 000001c8: EQ 000001c9: PUSH2 0x0b2a 000001cc: JUMPI 000001cd: DUP1 000001ce: PUSH4 0xfff6cae9 000001d3: EQ 000001d4: PUSH2 0x0b50 000001d7: JUMPI 000001d8: JUMPDEST 000001d9: PUSH1 0x00 000001db: DUP1 000001dc: REVERT 000001dd: JUMPDEST 000001de: PUSH1 0x09 000001e0: SLOAD 000001e1: PUSH2 0x01f1 000001e4: SWAP1 000001e5: PUSH4 0x01000000 000001ea: SWAP1 000001eb: DIV 000001ec: PUSH1 0x02 000001ee: SIGNEXTEND 000001ef: DUP2 000001f0: JUMP 000001f1: JUMPDEST 000001f2: PUSH1 0x40 000001f4: DUP1 000001f5: MLOAD 000001f6: PUSH1 0x02 000001f8: SWAP3 000001f9: SWAP1 000001fa: SWAP3 000001fb: SIGNEXTEND 000001fc: DUP3 000001fd: MSTORE 000001fe: MLOAD 000001ff: SWAP1 00000200: DUP2 00000201: SWAP1 00000202: SUB 00000203: PUSH1 0x20 00000205: ADD 00000206: SWAP1 00000207: RETURN 00000208: JUMPDEST 00000209: PUSH1 0x0c 0000020b: SLOAD 0000020c: PUSH1 0x01 0000020e: PUSH1 0x01 00000210: PUSH1 0x80 00000212: SHL 00000213: SUB 00000214: DUP1 00000215: DUP3 00000216: AND 00000217: SWAP2 00000218: PUSH1 0x01 0000021a: PUSH1 0x80 0000021c: SHL 0000021d: SWAP1 0000021e: DIV 0000021f: AND 00000220: JUMPDEST 00000221: PUSH1 0x40 00000223: MLOAD 00000224: DUP1 00000225: DUP4 00000226: PUSH1 0x01 00000228: PUSH1 0x01 0000022a: PUSH1 0x80 0000022c: SHL 0000022d: SUB 0000022e: AND 0000022f: DUP2 00000230: MSTORE 00000231: PUSH1 0x20 00000233: ADD 00000234: DUP3 00000235: PUSH1 0x01 00000237: PUSH1 0x01 00000239: PUSH1 0x80 0000023b: SHL 0000023c: SUB 0000023d: AND 0000023e: DUP2 0000023f: MSTORE 00000240: PUSH1 0x20 00000242: ADD 00000243: SWAP3 00000244: POP 00000245: POP 00000246: POP 00000247: PUSH1 0x40 00000249: MLOAD 0000024a: DUP1 0000024b: SWAP2 0000024c: SUB 0000024d: SWAP1 0000024e: RETURN 0000024f: JUMPDEST 00000250: PUSH2 0x0276 00000253: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000274: DUP2 00000275: JUMP 00000276: JUMPDEST 00000277: PUSH1 0x40 00000279: DUP1 0000027a: MLOAD 0000027b: PUSH1 0x01 0000027d: PUSH1 0x01 0000027f: PUSH1 0xa0 00000281: SHL 00000282: SUB 00000283: SWAP1 00000284: SWAP3 00000285: AND 00000286: DUP3 00000287: MSTORE 00000288: MLOAD 00000289: SWAP1 0000028a: DUP2 0000028b: SWAP1 0000028c: SUB 0000028d: PUSH1 0x20 0000028f: ADD 00000290: SWAP1 00000291: RETURN 00000292: JUMPDEST 00000293: PUSH2 0x0326 00000296: PUSH1 0x04 00000298: DUP1 00000299: CALLDATASIZE 0000029a: SUB 0000029b: PUSH1 0xa0 0000029d: DUP2 0000029e: LT 0000029f: ISZERO 000002a0: PUSH2 0x02a8 000002a3: JUMPI 000002a4: PUSH1 0x00 000002a6: DUP1 000002a7: REVERT 000002a8: JUMPDEST 000002a9: PUSH1 0x01 000002ab: PUSH1 0x01 000002ad: PUSH1 0xa0 000002af: SHL 000002b0: SUB 000002b1: DUP3 000002b2: CALLDATALOAD 000002b3: DUP2 000002b4: AND 000002b5: SWAP3 000002b6: PUSH1 0x20 000002b8: DUP2 000002b9: ADD 000002ba: CALLDATALOAD 000002bb: ISZERO 000002bc: ISZERO 000002bd: SWAP3 000002be: PUSH1 0x40 000002c0: DUP3 000002c1: ADD 000002c2: CALLDATALOAD 000002c3: SWAP3 000002c4: PUSH1 0x60 000002c6: DUP4 000002c7: ADD 000002c8: CALLDATALOAD 000002c9: AND 000002ca: SWAP2 000002cb: SWAP1 000002cc: DUP2 000002cd: ADD 000002ce: SWAP1 000002cf: PUSH1 0xa0 000002d1: DUP2 000002d2: ADD 000002d3: PUSH1 0x80 000002d5: DUP3 000002d6: ADD 000002d7: CALLDATALOAD 000002d8: PUSH1 0x01 000002da: PUSH1 0x20 000002dc: SHL 000002dd: DUP2 000002de: GT 000002df: ISZERO 000002e0: PUSH2 0x02e8 000002e3: JUMPI 000002e4: PUSH1 0x00 000002e6: DUP1 000002e7: REVERT 000002e8: JUMPDEST 000002e9: DUP3 000002ea: ADD 000002eb: DUP4 000002ec: PUSH1 0x20 000002ee: DUP3 000002ef: ADD 000002f0: GT 000002f1: ISZERO 000002f2: PUSH2 0x02fa 000002f5: JUMPI 000002f6: PUSH1 0x00 000002f8: DUP1 000002f9: REVERT 000002fa: JUMPDEST 000002fb: DUP1 000002fc: CALLDATALOAD 000002fd: SWAP1 000002fe: PUSH1 0x20 00000300: ADD 00000301: SWAP2 00000302: DUP5 00000303: PUSH1 0x01 00000305: DUP4 00000306: MUL 00000307: DUP5 00000308: ADD 00000309: GT 0000030a: PUSH1 0x01 0000030c: PUSH1 0x20 0000030e: SHL 0000030f: DUP4 00000310: GT 00000311: OR 00000312: ISZERO 00000313: PUSH2 0x031b 00000316: JUMPI 00000317: PUSH1 0x00 00000319: DUP1 0000031a: REVERT 0000031b: JUMPDEST 0000031c: POP 0000031d: SWAP1 0000031e: SWAP3 0000031f: POP 00000320: SWAP1 00000321: POP 00000322: PUSH2 0x0b58 00000325: JUMP 00000326: JUMPDEST 00000327: PUSH1 0x40 00000329: DUP1 0000032a: MLOAD 0000032b: SWAP3 0000032c: DUP4 0000032d: MSTORE 0000032e: PUSH1 0x20 00000330: DUP4 00000331: ADD 00000332: SWAP2 00000333: SWAP1 00000334: SWAP2 00000335: MSTORE 00000336: DUP1 00000337: MLOAD 00000338: SWAP2 00000339: DUP3 0000033a: SWAP1 0000033b: SUB 0000033c: ADD 0000033d: SWAP1 0000033e: RETURN 0000033f: JUMPDEST 00000340: PUSH1 0x09 00000342: SLOAD 00000343: PUSH2 0x0359 00000346: SWAP1 00000347: PUSH1 0x01 00000349: PUSH1 0x30 0000034b: SHL 0000034c: SWAP1 0000034d: DIV 0000034e: PUSH1 0x01 00000350: PUSH1 0x01 00000352: PUSH1 0x80 00000354: SHL 00000355: SUB 00000356: AND 00000357: DUP2 00000358: JUMP 00000359: JUMPDEST 0000035a: PUSH1 0x40 0000035c: DUP1 0000035d: MLOAD 0000035e: PUSH1 0x01 00000360: PUSH1 0x01 00000362: PUSH1 0x80 00000364: SHL 00000365: SUB 00000366: SWAP1 00000367: SWAP3 00000368: AND 00000369: DUP3 0000036a: MSTORE 0000036b: MLOAD 0000036c: SWAP1 0000036d: DUP2 0000036e: SWAP1 0000036f: SUB 00000370: PUSH1 0x20 00000372: ADD 00000373: SWAP1 00000374: RETURN 00000375: JUMPDEST 00000376: PUSH2 0x037d 00000379: PUSH2 0x0d3d 0000037c: JUMP 0000037d: JUMPDEST 0000037e: STOP 0000037f: JUMPDEST 00000380: PUSH2 0x037d 00000383: PUSH1 0x04 00000385: DUP1 00000386: CALLDATASIZE 00000387: SUB 00000388: PUSH1 0x20 0000038a: DUP2 0000038b: LT 0000038c: ISZERO 0000038d: PUSH2 0x0395 00000390: JUMPI 00000391: PUSH1 0x00 00000393: DUP1 00000394: REVERT 00000395: JUMPDEST 00000396: POP 00000397: CALLDATALOAD 00000398: PUSH2 0xffff 0000039b: AND 0000039c: PUSH2 0x0d60 0000039f: JUMP 000003a0: JUMPDEST 000003a1: PUSH2 0x0326 000003a4: PUSH1 0x04 000003a6: DUP1 000003a7: CALLDATASIZE 000003a8: SUB 000003a9: PUSH1 0x80 000003ab: DUP2 000003ac: LT 000003ad: ISZERO 000003ae: PUSH2 0x03b6 000003b1: JUMPI 000003b2: PUSH1 0x00 000003b4: DUP1 000003b5: REVERT 000003b6: JUMPDEST 000003b7: DUP2 000003b8: CALLDATALOAD 000003b9: PUSH1 0x02 000003bb: SWAP1 000003bc: DUP2 000003bd: SIGNEXTEND 000003be: SWAP3 000003bf: PUSH1 0x20 000003c1: DUP2 000003c2: ADD 000003c3: CALLDATALOAD 000003c4: SWAP1 000003c5: SWAP2 000003c6: SIGNEXTEND 000003c7: SWAP2 000003c8: PUSH1 0x01 000003ca: PUSH1 0x01 000003cc: PUSH1 0x80 000003ce: SHL 000003cf: SUB 000003d0: PUSH1 0x40 000003d2: DUP4 000003d3: ADD 000003d4: CALLDATALOAD 000003d5: AND 000003d6: SWAP2 000003d7: SWAP1 000003d8: DUP2 000003d9: ADD 000003da: SWAP1 000003db: PUSH1 0x80 000003dd: DUP2 000003de: ADD 000003df: PUSH1 0x60 000003e1: DUP3 000003e2: ADD 000003e3: CALLDATALOAD 000003e4: PUSH1 0x01 000003e6: PUSH1 0x20 000003e8: SHL 000003e9: DUP2 000003ea: GT 000003eb: ISZERO 000003ec: PUSH2 0x03f4 000003ef: JUMPI 000003f0: PUSH1 0x00 000003f2: DUP1 000003f3: REVERT 000003f4: JUMPDEST 000003f5: DUP3 000003f6: ADD 000003f7: DUP4 000003f8: PUSH1 0x20 000003fa: DUP3 000003fb: ADD 000003fc: GT 000003fd: ISZERO 000003fe: PUSH2 0x0406 00000401: JUMPI 00000402: PUSH1 0x00 00000404: DUP1 00000405: REVERT 00000406: JUMPDEST 00000407: DUP1 00000408: CALLDATALOAD 00000409: SWAP1 0000040a: PUSH1 0x20 0000040c: ADD 0000040d: SWAP2 0000040e: DUP5 0000040f: PUSH1 0x01 00000411: DUP4 00000412: MUL 00000413: DUP5 00000414: ADD 00000415: GT 00000416: PUSH1 0x01 00000418: PUSH1 0x20 0000041a: SHL 0000041b: DUP4 0000041c: GT 0000041d: OR 0000041e: ISZERO 0000041f: PUSH2 0x0427 00000422: JUMPI 00000423: PUSH1 0x00 00000425: DUP1 00000426: REVERT 00000427: JUMPDEST 00000428: POP 00000429: SWAP1 0000042a: SWAP3 0000042b: POP 0000042c: SWAP1 0000042d: POP 0000042e: PUSH2 0x0ddf 00000431: JUMP 00000432: JUMPDEST 00000433: PUSH2 0x037d 00000436: PUSH1 0x04 00000438: DUP1 00000439: CALLDATASIZE 0000043a: SUB 0000043b: PUSH1 0x80 0000043d: DUP2 0000043e: LT 0000043f: ISZERO 00000440: PUSH2 0x0448 00000443: JUMPI 00000444: PUSH1 0x00 00000446: DUP1 00000447: REVERT 00000448: JUMPDEST 00000449: PUSH1 0x01 0000044b: PUSH1 0x01 0000044d: PUSH1 0xa0 0000044f: SHL 00000450: SUB 00000451: DUP3 00000452: CALLDATALOAD 00000453: AND 00000454: SWAP2 00000455: PUSH1 0x20 00000457: DUP2 00000458: ADD 00000459: CALLDATALOAD 0000045a: SWAP2 0000045b: PUSH1 0x40 0000045d: DUP3 0000045e: ADD 0000045f: CALLDATALOAD 00000460: SWAP2 00000461: SWAP1 00000462: DUP2 00000463: ADD 00000464: SWAP1 00000465: PUSH1 0x80 00000467: DUP2 00000468: ADD 00000469: PUSH1 0x60 0000046b: DUP3 0000046c: ADD 0000046d: CALLDATALOAD 0000046e: PUSH1 0x01 00000470: PUSH1 0x20 00000472: SHL 00000473: DUP2 00000474: GT 00000475: ISZERO 00000476: PUSH2 0x047e 00000479: JUMPI 0000047a: PUSH1 0x00 0000047c: DUP1 0000047d: REVERT 0000047e: JUMPDEST 0000047f: DUP3 00000480: ADD 00000481: DUP4 00000482: PUSH1 0x20 00000484: DUP3 00000485: ADD 00000486: GT 00000487: ISZERO 00000488: PUSH2 0x0490 0000048b: JUMPI 0000048c: PUSH1 0x00 0000048e: DUP1 0000048f: REVERT 00000490: JUMPDEST 00000491: DUP1 00000492: CALLDATALOAD 00000493: SWAP1 00000494: PUSH1 0x20 00000496: ADD 00000497: SWAP2 00000498: DUP5 00000499: PUSH1 0x01 0000049b: DUP4 0000049c: MUL 0000049d: DUP5 0000049e: ADD 0000049f: GT 000004a0: PUSH1 0x01 000004a2: PUSH1 0x20 000004a4: SHL 000004a5: DUP4 000004a6: GT 000004a7: OR 000004a8: ISZERO 000004a9: PUSH2 0x04b1 000004ac: JUMPI 000004ad: PUSH1 0x00 000004af: DUP1 000004b0: REVERT 000004b1: JUMPDEST 000004b2: POP 000004b3: SWAP1 000004b4: SWAP3 000004b5: POP 000004b6: SWAP1 000004b7: POP 000004b8: PUSH2 0x0fe3 000004bb: JUMP 000004bc: JUMPDEST 000004bd: PUSH2 0x0220 000004c0: PUSH1 0x04 000004c2: DUP1 000004c3: CALLDATASIZE 000004c4: SUB 000004c5: PUSH1 0xa0 000004c7: DUP2 000004c8: LT 000004c9: ISZERO 000004ca: PUSH2 0x04d2 000004cd: JUMPI 000004ce: PUSH1 0x00 000004d0: DUP1 000004d1: REVERT 000004d2: JUMPDEST 000004d3: POP 000004d4: PUSH1 0x01 000004d6: PUSH1 0x01 000004d8: PUSH1 0xa0 000004da: SHL 000004db: SUB 000004dc: DUP2 000004dd: CALLDATALOAD 000004de: AND 000004df: SWAP1 000004e0: PUSH1 0x20 000004e2: DUP2 000004e3: ADD 000004e4: CALLDATALOAD 000004e5: PUSH1 0x02 000004e7: SWAP1 000004e8: DUP2 000004e9: SIGNEXTEND 000004ea: SWAP2 000004eb: PUSH1 0x40 000004ed: DUP2 000004ee: ADD 000004ef: CALLDATALOAD 000004f0: SWAP1 000004f1: SWAP2 000004f2: SIGNEXTEND 000004f3: SWAP1 000004f4: PUSH1 0x01 000004f6: PUSH1 0x01 000004f8: PUSH1 0x80 000004fa: SHL 000004fb: SUB 000004fc: PUSH1 0x60 000004fe: DUP3 000004ff: ADD 00000500: CALLDATALOAD 00000501: DUP2 00000502: AND 00000503: SWAP2 00000504: PUSH1 0x80 00000506: ADD 00000507: CALLDATALOAD 00000508: AND 00000509: PUSH2 0x1395 0000050c: JUMP 0000050d: JUMPDEST 0000050e: PUSH2 0x0560 00000511: PUSH1 0x04 00000513: DUP1 00000514: CALLDATASIZE 00000515: SUB 00000516: PUSH1 0x20 00000518: DUP2 00000519: LT 0000051a: ISZERO 0000051b: PUSH2 0x0523 0000051e: JUMPI 0000051f: PUSH1 0x00 00000521: DUP1 00000522: REVERT 00000523: JUMPDEST 00000524: POP 00000525: PUSH1 0x0b 00000527: PUSH1 0x20 00000529: MSTORE 0000052a: CALLDATALOAD 0000052b: PUSH1 0x00 0000052d: SWAP1 0000052e: DUP2 0000052f: MSTORE 00000530: PUSH1 0x40 00000532: SWAP1 00000533: KECCAK256 00000534: DUP1 00000535: SLOAD 00000536: PUSH1 0x01 00000538: DUP3 00000539: ADD 0000053a: SLOAD 0000053b: PUSH1 0x02 0000053d: DUP4 0000053e: ADD 0000053f: SLOAD 00000540: PUSH1 0x03 00000542: SWAP1 00000543: SWAP4 00000544: ADD 00000545: SLOAD 00000546: SWAP2 00000547: SWAP3 00000548: SWAP1 00000549: SWAP2 0000054a: PUSH1 0x01 0000054c: PUSH1 0x01 0000054e: PUSH1 0x80 00000550: SHL 00000551: SUB 00000552: DUP1 00000553: DUP3 00000554: AND 00000555: SWAP2 00000556: PUSH1 0x01 00000558: PUSH1 0x80 0000055a: SHL 0000055b: SWAP1 0000055c: DIV 0000055d: AND 0000055e: DUP6 0000055f: JUMP 00000560: JUMPDEST 00000561: PUSH1 0x40 00000563: DUP1 00000564: MLOAD 00000565: SWAP6 00000566: DUP7 00000567: MSTORE 00000568: PUSH1 0x20 0000056a: DUP7 0000056b: ADD 0000056c: SWAP5 0000056d: SWAP1 0000056e: SWAP5 0000056f: MSTORE 00000570: DUP5 00000571: DUP5 00000572: ADD 00000573: SWAP3 00000574: SWAP1 00000575: SWAP3 00000576: MSTORE 00000577: PUSH1 0x01 00000579: PUSH1 0x01 0000057b: PUSH1 0x80 0000057d: SHL 0000057e: SUB 0000057f: SWAP1 00000580: DUP2 00000581: AND 00000582: PUSH1 0x60 00000584: DUP6 00000585: ADD 00000586: MSTORE 00000587: AND 00000588: PUSH1 0x80 0000058a: DUP4 0000058b: ADD 0000058c: MSTORE 0000058d: MLOAD 0000058e: SWAP1 0000058f: DUP2 00000590: SWAP1 00000591: SUB 00000592: PUSH1 0xa0 00000594: ADD 00000595: SWAP1 00000596: RETURN 00000597: JUMPDEST 00000598: PUSH1 0x07 0000059a: SLOAD 0000059b: PUSH2 0x0276 0000059e: SWAP1 0000059f: PUSH1 0x01 000005a1: PUSH1 0x01 000005a3: PUSH1 0xa0 000005a5: SHL 000005a6: SUB 000005a7: AND 000005a8: DUP2 000005a9: JUMP 000005aa: JUMPDEST 000005ab: PUSH1 0x09 000005ad: SLOAD 000005ae: PUSH2 0x05c1 000005b1: SWAP1 000005b2: PUSH1 0x01 000005b4: PUSH1 0xc8 000005b6: SHL 000005b7: SWAP1 000005b8: DIV 000005b9: PUSH4 0xffffffff 000005be: AND 000005bf: DUP2 000005c0: JUMP 000005c1: JUMPDEST 000005c2: PUSH1 0x40 000005c4: DUP1 000005c5: MLOAD 000005c6: PUSH4 0xffffffff 000005cb: SWAP1 000005cc: SWAP3 000005cd: AND 000005ce: DUP3 000005cf: MSTORE 000005d0: MLOAD 000005d1: SWAP1 000005d2: DUP2 000005d3: SWAP1 000005d4: SUB 000005d5: PUSH1 0x20 000005d7: ADD 000005d8: SWAP1 000005d9: RETURN 000005da: JUMPDEST 000005db: PUSH2 0x05e3 000005de: PUSH1 0x00 000005e0: SLOAD 000005e1: DUP2 000005e2: JUMP 000005e3: JUMPDEST 000005e4: PUSH1 0x40 000005e6: DUP1 000005e7: MLOAD 000005e8: SWAP2 000005e9: DUP3 000005ea: MSTORE 000005eb: MLOAD 000005ec: SWAP1 000005ed: DUP2 000005ee: SWAP1 000005ef: SUB 000005f0: PUSH1 0x20 000005f2: ADD 000005f3: SWAP1 000005f4: RETURN 000005f5: JUMPDEST 000005f6: PUSH2 0x0359 000005f9: PUSH14 0x09745258e83de0d0f4e400fce799 00000608: DUP2 00000609: JUMP 0000060a: JUMPDEST 0000060b: PUSH1 0x04 0000060d: SLOAD 0000060e: PUSH2 0x05c1 00000611: SWAP1 00000612: PUSH1 0x01 00000614: PUSH1 0xd0 00000616: SHL 00000617: SWAP1 00000618: DIV 00000619: PUSH4 0xffffffff 0000061e: AND 0000061f: DUP2 00000620: JUMP 00000621: JUMPDEST 00000622: PUSH1 0x04 00000624: SLOAD 00000625: PUSH1 0x01 00000627: PUSH1 0x01 00000629: PUSH1 0x68 0000062b: SHL 0000062c: SUB 0000062d: DUP1 0000062e: DUP3 0000062f: AND 00000630: SWAP2 00000631: PUSH1 0x01 00000633: PUSH1 0x68 00000635: SHL 00000636: SWAP1 00000637: DIV 00000638: AND 00000639: PUSH2 0x0220 0000063c: JUMP 0000063d: JUMPDEST 0000063e: PUSH1 0x02 00000640: SLOAD 00000641: PUSH1 0x01 00000643: PUSH1 0xe0 00000645: SHL 00000646: SWAP1 00000647: DIV 00000648: PUSH1 0xff 0000064a: AND 0000064b: PUSH1 0x40 0000064d: DUP1 0000064e: MLOAD 0000064f: SWAP2 00000650: ISZERO 00000651: ISZERO 00000652: DUP3 00000653: MSTORE 00000654: MLOAD 00000655: SWAP1 00000656: DUP2 00000657: SWAP1 00000658: SUB 00000659: PUSH1 0x20 0000065b: ADD 0000065c: SWAP1 0000065d: RETURN 0000065e: JUMPDEST 0000065f: PUSH2 0x037d 00000662: PUSH1 0x04 00000664: DUP1 00000665: CALLDATASIZE 00000666: SUB 00000667: PUSH1 0x20 00000669: DUP2 0000066a: LT 0000066b: ISZERO 0000066c: PUSH2 0x0674 0000066f: JUMPI 00000670: PUSH1 0x00 00000672: DUP1 00000673: REVERT 00000674: JUMPDEST 00000675: POP 00000676: CALLDATALOAD 00000677: PUSH2 0xffff 0000067a: AND 0000067b: PUSH2 0x1551 0000067e: JUMP 0000067f: JUMPDEST 00000680: PUSH2 0x0687 00000683: PUSH2 0x15bc 00000686: JUMP 00000687: JUMPDEST 00000688: PUSH1 0x40 0000068a: DUP1 0000068b: MLOAD 0000068c: PUSH1 0x01 0000068e: PUSH1 0x01 00000690: PUSH1 0xa0 00000692: SHL 00000693: SUB 00000694: SWAP1 00000695: SWAP9 00000696: AND 00000697: DUP9 00000698: MSTORE 00000699: PUSH1 0x02 0000069b: SWAP7 0000069c: DUP8 0000069d: SIGNEXTEND 0000069e: PUSH1 0x20 000006a0: DUP10 000006a1: ADD 000006a2: MSTORE 000006a3: PUSH2 0xffff 000006a6: SWAP1 000006a7: SWAP6 000006a8: AND 000006a9: DUP8 000006aa: DUP7 000006ab: ADD 000006ac: MSTORE 000006ad: PUSH1 0xff 000006af: SWAP1 000006b0: SWAP4 000006b1: AND 000006b2: PUSH1 0x60 000006b4: DUP8 000006b5: ADD 000006b6: MSTORE 000006b7: PUSH1 0x01 000006b9: PUSH1 0x01 000006bb: PUSH1 0x80 000006bd: SHL 000006be: SUB 000006bf: SWAP1 000006c0: SWAP2 000006c1: AND 000006c2: PUSH1 0x80 000006c4: DUP7 000006c5: ADD 000006c6: MSTORE 000006c7: DUP4 000006c8: SIGNEXTEND 000006c9: PUSH1 0xa0 000006cb: DUP6 000006cc: ADD 000006cd: MSTORE 000006ce: SWAP1 000006cf: SWAP2 000006d0: SIGNEXTEND 000006d1: PUSH1 0xc0 000006d3: DUP4 000006d4: ADD 000006d5: MSTORE 000006d6: MLOAD 000006d7: SWAP1 000006d8: DUP2 000006d9: SWAP1 000006da: SUB 000006db: PUSH1 0xe0 000006dd: ADD 000006de: SWAP1 000006df: RETURN 000006e0: JUMPDEST 000006e1: PUSH2 0x0326 000006e4: PUSH1 0x04 000006e6: DUP1 000006e7: CALLDATASIZE 000006e8: SUB 000006e9: PUSH1 0xc0 000006eb: DUP2 000006ec: LT 000006ed: ISZERO 000006ee: PUSH2 0x06f6 000006f1: JUMPI 000006f2: PUSH1 0x00 000006f4: DUP1 000006f5: REVERT 000006f6: JUMPDEST 000006f7: PUSH1 0x01 000006f9: PUSH1 0x01 000006fb: PUSH1 0xa0 000006fd: SHL 000006fe: SUB 000006ff: DUP3 00000700: CALLDATALOAD 00000701: DUP2 00000702: AND 00000703: SWAP3 00000704: PUSH1 0x20 00000706: DUP2 00000707: ADD 00000708: CALLDATALOAD 00000709: DUP3 0000070a: AND 0000070b: SWAP3 0000070c: PUSH1 0x40 0000070e: DUP3 0000070f: ADD 00000710: CALLDATALOAD 00000711: ISZERO 00000712: ISZERO 00000713: SWAP3 00000714: PUSH1 0x60 00000716: DUP4 00000717: ADD 00000718: CALLDATALOAD 00000719: SWAP3 0000071a: PUSH1 0x80 0000071c: DUP2 0000071d: ADD 0000071e: CALLDATALOAD 0000071f: SWAP1 00000720: SWAP2 00000721: AND 00000722: SWAP2 00000723: DUP2 00000724: ADD 00000725: SWAP1 00000726: PUSH1 0xc0 00000728: DUP2 00000729: ADD 0000072a: PUSH1 0xa0 0000072c: DUP3 0000072d: ADD 0000072e: CALLDATALOAD 0000072f: PUSH1 0x01 00000731: PUSH1 0x20 00000733: SHL 00000734: DUP2 00000735: GT 00000736: ISZERO 00000737: PUSH2 0x073f 0000073a: JUMPI 0000073b: PUSH1 0x00 0000073d: DUP1 0000073e: REVERT 0000073f: JUMPDEST 00000740: DUP3 00000741: ADD 00000742: DUP4 00000743: PUSH1 0x20 00000745: DUP3 00000746: ADD 00000747: GT 00000748: ISZERO 00000749: PUSH2 0x0751 0000074c: JUMPI 0000074d: PUSH1 0x00 0000074f: DUP1 00000750: REVERT 00000751: JUMPDEST 00000752: DUP1 00000753: CALLDATALOAD 00000754: SWAP1 00000755: PUSH1 0x20 00000757: ADD 00000758: SWAP2 00000759: DUP5 0000075a: PUSH1 0x01 0000075c: DUP4 0000075d: MUL 0000075e: DUP5 0000075f: ADD 00000760: GT 00000761: PUSH1 0x01 00000763: PUSH1 0x20 00000765: SHL 00000766: DUP4 00000767: GT 00000768: OR 00000769: ISZERO 0000076a: PUSH2 0x0772 0000076d: JUMPI 0000076e: PUSH1 0x00 00000770: DUP1 00000771: REVERT 00000772: JUMPDEST 00000773: POP 00000774: SWAP1 00000775: SWAP3 00000776: POP 00000777: SWAP1 00000778: POP 00000779: PUSH2 0x164f 0000077c: JUMP 0000077d: JUMPDEST 0000077e: PUSH1 0x05 00000780: SLOAD 00000781: PUSH1 0x01 00000783: PUSH1 0x01 00000785: PUSH1 0x68 00000787: SHL 00000788: SUB 00000789: DUP1 0000078a: DUP3 0000078b: AND 0000078c: SWAP2 0000078d: PUSH1 0x01 0000078f: PUSH1 0x68 00000791: SHL 00000792: SWAP1 00000793: DIV 00000794: AND 00000795: PUSH2 0x0220 00000798: JUMP 00000799: JUMPDEST 0000079a: PUSH2 0x0844 0000079d: PUSH1 0x04 0000079f: DUP1 000007a0: CALLDATASIZE 000007a1: SUB 000007a2: PUSH1 0xc0 000007a4: DUP2 000007a5: LT 000007a6: ISZERO 000007a7: PUSH2 0x07af 000007aa: JUMPI 000007ab: PUSH1 0x00 000007ad: DUP1 000007ae: REVERT 000007af: JUMPDEST 000007b0: PUSH1 0x01 000007b2: PUSH1 0x01 000007b4: PUSH1 0xa0 000007b6: SHL 000007b7: SUB 000007b8: DUP3 000007b9: CALLDATALOAD 000007ba: DUP2 000007bb: AND 000007bc: SWAP3 000007bd: PUSH1 0x20 000007bf: DUP2 000007c0: ADD 000007c1: CALLDATALOAD 000007c2: SWAP1 000007c3: SWAP2 000007c4: AND 000007c5: SWAP2 000007c6: PUSH1 0x40 000007c8: DUP3 000007c9: ADD 000007ca: CALLDATALOAD 000007cb: PUSH1 0x02 000007cd: SWAP1 000007ce: DUP2 000007cf: SIGNEXTEND 000007d0: SWAP3 000007d1: PUSH1 0x60 000007d3: DUP2 000007d4: ADD 000007d5: CALLDATALOAD 000007d6: SWAP1 000007d7: SWAP2 000007d8: SIGNEXTEND 000007d9: SWAP2 000007da: PUSH1 0x01 000007dc: PUSH1 0x01 000007de: PUSH1 0x80 000007e0: SHL 000007e1: SUB 000007e2: PUSH1 0x80 000007e4: DUP4 000007e5: ADD 000007e6: CALLDATALOAD 000007e7: AND 000007e8: SWAP2 000007e9: SWAP1 000007ea: DUP2 000007eb: ADD 000007ec: SWAP1 000007ed: PUSH1 0xc0 000007ef: DUP2 000007f0: ADD 000007f1: PUSH1 0xa0 000007f3: DUP3 000007f4: ADD 000007f5: CALLDATALOAD 000007f6: PUSH1 0x01 000007f8: PUSH1 0x20 000007fa: SHL 000007fb: DUP2 000007fc: GT 000007fd: ISZERO 000007fe: PUSH2 0x0806 00000801: JUMPI 00000802: PUSH1 0x00 00000804: DUP1 00000805: REVERT 00000806: JUMPDEST 00000807: DUP3 00000808: ADD 00000809: DUP4 0000080a: PUSH1 0x20 0000080c: DUP3 0000080d: ADD 0000080e: GT 0000080f: ISZERO 00000810: PUSH2 0x0818 00000813: JUMPI 00000814: PUSH1 0x00 00000816: DUP1 00000817: REVERT 00000818: JUMPDEST 00000819: DUP1 0000081a: CALLDATALOAD 0000081b: SWAP1 0000081c: PUSH1 0x20 0000081e: ADD 0000081f: SWAP2 00000820: DUP5 00000821: PUSH1 0x01 00000823: DUP4 00000824: MUL 00000825: DUP5 00000826: ADD 00000827: GT 00000828: PUSH1 0x01 0000082a: PUSH1 0x20 0000082c: SHL 0000082d: DUP4 0000082e: GT 0000082f: OR 00000830: ISZERO 00000831: PUSH2 0x0839 00000834: JUMPI 00000835: PUSH1 0x00 00000837: DUP1 00000838: REVERT 00000839: JUMPDEST 0000083a: POP 0000083b: SWAP1 0000083c: SWAP3 0000083d: POP 0000083e: SWAP1 0000083f: POP 00000840: PUSH2 0x1937 00000843: JUMP 00000844: JUMPDEST 00000845: PUSH1 0x40 00000847: DUP1 00000848: MLOAD 00000849: SWAP4 0000084a: DUP5 0000084b: MSTORE 0000084c: PUSH1 0x20 0000084e: DUP5 0000084f: ADD 00000850: SWAP3 00000851: SWAP1 00000852: SWAP3 00000853: MSTORE 00000854: PUSH1 0x01 00000856: PUSH1 0x01 00000858: PUSH1 0x80 0000085a: SHL 0000085b: SUB 0000085c: AND 0000085d: DUP3 0000085e: DUP3 0000085f: ADD 00000860: MSTORE 00000861: MLOAD 00000862: SWAP1 00000863: DUP2 00000864: SWAP1 00000865: SUB 00000866: PUSH1 0x60 00000868: ADD 00000869: SWAP1 0000086a: RETURN 0000086b: JUMPDEST 0000086c: PUSH2 0x037d 0000086f: PUSH1 0x04 00000871: DUP1 00000872: CALLDATASIZE 00000873: SUB 00000874: PUSH1 0x20 00000876: DUP2 00000877: LT 00000878: ISZERO 00000879: PUSH2 0x0881 0000087c: JUMPI 0000087d: PUSH1 0x00 0000087f: DUP1 00000880: REVERT 00000881: JUMPDEST 00000882: POP 00000883: CALLDATALOAD 00000884: PUSH1 0xff 00000886: AND 00000887: PUSH2 0x1cd7 0000088a: JUMP 0000088b: JUMPDEST 0000088c: PUSH2 0x0276 0000088f: PUSH32 0x000000000000000000000000fb8ed3485efa29a0e4bed93351dd51b59fc4b0f0 000008b0: DUP2 000008b1: JUMP 000008b2: JUMPDEST 000008b3: PUSH2 0x05e3 000008b6: PUSH1 0x04 000008b8: DUP1 000008b9: CALLDATASIZE 000008ba: SUB 000008bb: PUSH1 0x20 000008bd: DUP2 000008be: LT 000008bf: ISZERO 000008c0: PUSH2 0x08c8 000008c3: JUMPI 000008c4: PUSH1 0x00 000008c6: DUP1 000008c7: REVERT 000008c8: JUMPDEST 000008c9: POP 000008ca: PUSH1 0x08 000008cc: PUSH1 0x20 000008ce: MSTORE 000008cf: CALLDATALOAD 000008d0: PUSH1 0x01 000008d2: SIGNEXTEND 000008d3: PUSH1 0x00 000008d5: SWAP1 000008d6: DUP2 000008d7: MSTORE 000008d8: PUSH1 0x40 000008da: SWAP1 000008db: KECCAK256 000008dc: SLOAD 000008dd: DUP2 000008de: JUMP 000008df: JUMPDEST 000008e0: PUSH2 0x037d 000008e3: PUSH1 0x04 000008e5: DUP1 000008e6: CALLDATASIZE 000008e7: SUB 000008e8: PUSH1 0x20 000008ea: DUP2 000008eb: LT 000008ec: ISZERO 000008ed: PUSH2 0x08f5 000008f0: JUMPI 000008f1: PUSH1 0x00 000008f3: DUP1 000008f4: REVERT 000008f5: JUMPDEST 000008f6: POP 000008f7: CALLDATALOAD 000008f8: PUSH1 0x01 000008fa: PUSH1 0x01 000008fc: PUSH1 0xa0 000008fe: SHL 000008ff: SUB 00000900: AND 00000901: PUSH2 0x1d2a 00000904: JUMP 00000905: JUMPDEST 00000906: PUSH1 0x09 00000908: SLOAD 00000909: PUSH2 0x01f1 0000090c: SWAP1 0000090d: PUSH1 0x01 0000090f: PUSH1 0xb0 00000911: SHL 00000912: SWAP1 00000913: DIV 00000914: PUSH1 0x02 00000916: SIGNEXTEND 00000917: DUP2 00000918: JUMP 00000919: JUMPDEST 0000091a: PUSH2 0x0276 0000091d: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 0000093e: DUP2 0000093f: JUMP 00000940: JUMPDEST 00000941: PUSH1 0x09 00000943: SLOAD 00000944: PUSH2 0x01f1 00000947: SWAP1 00000948: PUSH1 0x02 0000094a: SIGNEXTEND 0000094b: DUP2 0000094c: JUMP 0000094d: JUMPDEST 0000094e: PUSH2 0x037d 00000951: PUSH1 0x04 00000953: DUP1 00000954: CALLDATASIZE 00000955: SUB 00000956: PUSH1 0x20 00000958: DUP2 00000959: LT 0000095a: ISZERO 0000095b: PUSH2 0x0963 0000095e: JUMPI 0000095f: PUSH1 0x00 00000961: DUP1 00000962: REVERT 00000963: JUMPDEST 00000964: POP 00000965: CALLDATALOAD 00000966: PUSH1 0x01 00000968: PUSH1 0x01 0000096a: PUSH1 0xa0 0000096c: SHL 0000096d: SUB 0000096e: AND 0000096f: PUSH2 0x1d4d 00000972: JUMP 00000973: JUMPDEST 00000974: PUSH2 0x05e3 00000977: PUSH1 0x04 00000979: DUP1 0000097a: CALLDATASIZE 0000097b: SUB 0000097c: PUSH1 0x20 0000097e: DUP2 0000097f: LT 00000980: ISZERO 00000981: PUSH2 0x0989 00000984: JUMPI 00000985: PUSH1 0x00 00000987: DUP1 00000988: REVERT 00000989: JUMPDEST 0000098a: POP 0000098b: PUSH1 0x0a 0000098d: PUSH1 0x20 0000098f: MSTORE 00000990: CALLDATALOAD 00000991: PUSH1 0x01 00000993: SIGNEXTEND 00000994: PUSH1 0x00 00000996: SWAP1 00000997: DUP2 00000998: MSTORE 00000999: PUSH1 0x40 0000099b: SWAP1 0000099c: KECCAK256 0000099d: SLOAD 0000099e: DUP2 0000099f: JUMP 000009a0: JUMPDEST 000009a1: PUSH2 0x09a8 000009a4: PUSH2 0x1dc8 000009a7: JUMP 000009a8: JUMPDEST 000009a9: PUSH1 0x40 000009ab: DUP1 000009ac: MLOAD 000009ad: PUSH2 0xffff 000009b0: SWAP1 000009b1: SWAP3 000009b2: AND 000009b3: DUP3 000009b4: MSTORE 000009b5: MLOAD 000009b6: SWAP1 000009b7: DUP2 000009b8: SWAP1 000009b9: SUB 000009ba: PUSH1 0x20 000009bc: ADD 000009bd: SWAP1 000009be: RETURN 000009bf: JUMPDEST 000009c0: PUSH1 0x02 000009c2: DUP1 000009c3: SLOAD 000009c4: PUSH2 0x0a0a 000009c7: SWAP2 000009c8: PUSH1 0x01 000009ca: PUSH1 0x01 000009cc: PUSH1 0xa0 000009ce: SHL 000009cf: SUB 000009d0: DUP3 000009d1: AND 000009d2: SWAP2 000009d3: PUSH1 0x01 000009d5: PUSH1 0xa0 000009d7: SHL 000009d8: DUP2 000009d9: DIV 000009da: SWAP1 000009db: SWAP2 000009dc: SIGNEXTEND 000009dd: SWAP1 000009de: PUSH2 0xffff 000009e1: PUSH1 0x01 000009e3: PUSH1 0xb8 000009e5: SHL 000009e6: DUP3 000009e7: DIV 000009e8: DUP2 000009e9: AND 000009ea: SWAP2 000009eb: PUSH1 0xff 000009ed: PUSH1 0x01 000009ef: PUSH1 0xc8 000009f1: SHL 000009f2: DUP3 000009f3: DIV 000009f4: DUP2 000009f5: AND 000009f6: SWAP3 000009f7: PUSH1 0x01 000009f9: PUSH1 0xd0 000009fb: SHL 000009fc: DUP4 000009fd: DIV 000009fe: AND 000009ff: SWAP2 00000a00: PUSH1 0x01 00000a02: PUSH1 0xe0 00000a04: SHL 00000a05: SWAP1 00000a06: DIV 00000a07: AND 00000a08: DUP7 00000a09: JUMP 00000a0a: JUMPDEST 00000a0b: PUSH1 0x40 00000a0d: DUP1 00000a0e: MLOAD 00000a0f: PUSH1 0x01 00000a11: PUSH1 0x01 00000a13: PUSH1 0xa0 00000a15: SHL 00000a16: SUB 00000a17: SWAP1 00000a18: SWAP8 00000a19: AND 00000a1a: DUP8 00000a1b: MSTORE 00000a1c: PUSH1 0x02 00000a1e: SWAP6 00000a1f: SWAP1 00000a20: SWAP6 00000a21: SIGNEXTEND 00000a22: PUSH1 0x20 00000a24: DUP8 00000a25: ADD 00000a26: MSTORE 00000a27: PUSH2 0xffff 00000a2a: SWAP4 00000a2b: DUP5 00000a2c: AND 00000a2d: DUP7 00000a2e: DUP7 00000a2f: ADD 00000a30: MSTORE 00000a31: PUSH1 0xff 00000a33: SWAP1 00000a34: SWAP3 00000a35: AND 00000a36: PUSH1 0x60 00000a38: DUP7 00000a39: ADD 00000a3a: MSTORE 00000a3b: SWAP1 00000a3c: SWAP2 00000a3d: AND 00000a3e: PUSH1 0x80 00000a40: DUP5 00000a41: ADD 00000a42: MSTORE 00000a43: ISZERO 00000a44: ISZERO 00000a45: PUSH1 0xa0 00000a47: DUP4 00000a48: ADD 00000a49: MSTORE 00000a4a: MLOAD 00000a4b: SWAP1 00000a4c: DUP2 00000a4d: SWAP1 00000a4e: SUB 00000a4f: PUSH1 0xc0 00000a51: ADD 00000a52: SWAP1 00000a53: RETURN 00000a54: JUMPDEST 00000a55: PUSH2 0x05e3 00000a58: PUSH1 0x01 00000a5a: SLOAD 00000a5b: DUP2 00000a5c: JUMP 00000a5d: JUMPDEST 00000a5e: PUSH1 0x06 00000a60: SLOAD 00000a61: PUSH2 0x0276 00000a64: SWAP1 00000a65: PUSH1 0x01 00000a67: PUSH1 0x01 00000a69: PUSH1 0xa0 00000a6b: SHL 00000a6c: SUB 00000a6d: AND 00000a6e: DUP2 00000a6f: JUMP 00000a70: JUMPDEST 00000a71: PUSH2 0x037d 00000a74: PUSH1 0x04 00000a76: DUP1 00000a77: CALLDATASIZE 00000a78: SUB 00000a79: PUSH1 0x20 00000a7b: DUP2 00000a7c: LT 00000a7d: ISZERO 00000a7e: PUSH2 0x0a86 00000a81: JUMPI 00000a82: PUSH1 0x00 00000a84: DUP1 00000a85: REVERT 00000a86: JUMPDEST 00000a87: POP 00000a88: CALLDATALOAD 00000a89: PUSH1 0x02 00000a8b: SIGNEXTEND 00000a8c: PUSH2 0x1e6c 00000a8f: JUMP 00000a90: JUMPDEST 00000a91: PUSH2 0x0aee 00000a94: PUSH1 0x04 00000a96: DUP1 00000a97: CALLDATASIZE 00000a98: SUB 00000a99: PUSH1 0x20 00000a9b: DUP2 00000a9c: LT 00000a9d: ISZERO 00000a9e: PUSH2 0x0aa6 00000aa1: JUMPI 00000aa2: PUSH1 0x00 00000aa4: DUP1 00000aa5: REVERT 00000aa6: JUMPDEST 00000aa7: POP 00000aa8: PUSH1 0x03 00000aaa: PUSH1 0x20 00000aac: DUP2 00000aad: SWAP1 00000aae: MSTORE 00000aaf: SWAP1 00000ab0: CALLDATALOAD 00000ab1: PUSH1 0x02 00000ab3: SWAP1 00000ab4: DUP2 00000ab5: SIGNEXTEND 00000ab6: PUSH1 0x00 00000ab8: SWAP1 00000ab9: DUP2 00000aba: MSTORE 00000abb: PUSH1 0x40 00000abd: SWAP1 00000abe: KECCAK256 00000abf: DUP1 00000ac0: SLOAD 00000ac1: PUSH1 0x01 00000ac3: DUP3 00000ac4: ADD 00000ac5: SLOAD 00000ac6: DUP3 00000ac7: DUP5 00000ac8: ADD 00000ac9: SLOAD 00000aca: SWAP3 00000acb: SWAP1 00000acc: SWAP5 00000acd: ADD 00000ace: SLOAD 00000acf: SWAP1 00000ad0: SWAP4 00000ad1: PUSH1 0x0f 00000ad3: DUP2 00000ad4: SWAP1 00000ad5: SIGNEXTEND 00000ad6: SWAP4 00000ad7: PUSH1 0x01 00000ad9: PUSH1 0x80 00000adb: SHL 00000adc: DUP3 00000add: DIV 00000ade: DUP2 00000adf: SIGNEXTEND 00000ae0: SWAP4 00000ae1: PUSH1 0x01 00000ae3: PUSH1 0x98 00000ae5: SHL 00000ae6: SWAP1 00000ae7: SWAP3 00000ae8: DIV 00000ae9: SWAP1 00000aea: SIGNEXTEND 00000aeb: SWAP2 00000aec: DUP7 00000aed: JUMP 00000aee: JUMPDEST 00000aef: PUSH1 0x40 00000af1: DUP1 00000af2: MLOAD 00000af3: SWAP7 00000af4: DUP8 00000af5: MSTORE 00000af6: PUSH1 0x0f 00000af8: SWAP6 00000af9: SWAP1 00000afa: SWAP6 00000afb: SIGNEXTEND 00000afc: PUSH1 0x20 00000afe: DUP8 00000aff: ADD 00000b00: MSTORE 00000b01: PUSH1 0x02 00000b03: SWAP4 00000b04: DUP5 00000b05: SIGNEXTEND 00000b06: DUP7 00000b07: DUP7 00000b08: ADD 00000b09: MSTORE 00000b0a: SWAP2 00000b0b: SWAP1 00000b0c: SWAP3 00000b0d: SIGNEXTEND 00000b0e: PUSH1 0x60 00000b10: DUP6 00000b11: ADD 00000b12: MSTORE 00000b13: PUSH1 0x80 00000b15: DUP5 00000b16: ADD 00000b17: SWAP2 00000b18: SWAP1 00000b19: SWAP2 00000b1a: MSTORE 00000b1b: PUSH1 0xa0 00000b1d: DUP4 00000b1e: ADD 00000b1f: MSTORE 00000b20: MLOAD 00000b21: SWAP1 00000b22: DUP2 00000b23: SWAP1 00000b24: SUB 00000b25: PUSH1 0xc0 00000b27: ADD 00000b28: SWAP1 00000b29: RETURN 00000b2a: JUMPDEST 00000b2b: PUSH2 0x037d 00000b2e: PUSH1 0x04 00000b30: DUP1 00000b31: CALLDATASIZE 00000b32: SUB 00000b33: PUSH1 0x20 00000b35: DUP2 00000b36: LT 00000b37: ISZERO 00000b38: PUSH2 0x0b40 00000b3b: JUMPI 00000b3c: PUSH1 0x00 00000b3e: DUP1 00000b3f: REVERT 00000b40: JUMPDEST 00000b41: POP 00000b42: CALLDATALOAD 00000b43: PUSH1 0x01 00000b45: PUSH1 0x01 00000b47: PUSH1 0xa0 00000b49: SHL 00000b4a: SUB 00000b4b: AND 00000b4c: PUSH2 0x1ed5 00000b4f: JUMP 00000b50: JUMPDEST 00000b51: PUSH2 0x037d 00000b54: PUSH2 0x20d1 00000b57: JUMP 00000b58: JUMPDEST 00000b59: PUSH1 0x00 00000b5b: DUP1 00000b5c: PUSH1 0x00 00000b5e: DUP1 00000b5f: PUSH2 0x0b6e 00000b62: DUP11 00000b63: DUP11 00000b64: DUP11 00000b65: DUP11 00000b66: PUSH1 0x00 00000b68: DUP12 00000b69: DUP12 00000b6a: PUSH2 0x20f3 00000b6d: JUMP 00000b6e: JUMPDEST 00000b6f: SWAP2 00000b70: POP 00000b71: SWAP2 00000b72: POP 00000b73: PUSH2 0x0b7a 00000b76: PUSH2 0x22a7 00000b79: JUMP 00000b7a: JUMPDEST 00000b7b: PUSH2 0x0b82 00000b7e: PUSH2 0x5531 00000b81: JUMP 00000b82: JUMPDEST 00000b83: PUSH2 0x0b8a 00000b86: PUSH2 0x5551 00000b89: JUMP 00000b8a: JUMPDEST 00000b8b: PUSH2 0x0b97 00000b8e: DUP5 00000b8f: DUP5 00000b90: DUP14 00000b91: DUP14 00000b92: DUP14 00000b93: PUSH2 0x22e0 00000b96: JUMP 00000b97: JUMPDEST 00000b98: PUSH1 0x01 00000b9a: PUSH1 0x01 00000b9c: PUSH1 0x80 00000b9e: SHL 00000b9f: SUB 00000ba0: SWAP1 00000ba1: SWAP2 00000ba2: AND 00000ba3: PUSH1 0x40 00000ba5: DUP9 00000ba6: ADD 00000ba7: MSTORE 00000ba8: PUSH1 0x02 00000baa: SWAP2 00000bab: SWAP1 00000bac: SWAP2 00000bad: SIGNEXTEND 00000bae: PUSH1 0x20 00000bb0: DUP8 00000bb1: ADD 00000bb2: MSTORE 00000bb3: PUSH1 0x01 00000bb5: PUSH1 0x01 00000bb7: PUSH1 0xa0 00000bb9: SHL 00000bba: SUB 00000bbb: SWAP1 00000bbc: SWAP2 00000bbd: AND 00000bbe: DUP6 00000bbf: MSTORE 00000bc0: SWAP2 00000bc1: SWAP8 00000bc2: POP 00000bc3: SWAP6 00000bc4: POP 00000bc5: SWAP1 00000bc6: POP 00000bc7: PUSH1 0x00 00000bc9: DUP1 00000bca: PUSH2 0x0bd1 00000bcd: PUSH2 0x2969 00000bd0: JUMP 00000bd1: JUMPDEST 00000bd2: SWAP2 00000bd3: POP 00000bd4: SWAP2 00000bd5: POP 00000bd6: DUP13 00000bd7: ISZERO 00000bd8: PUSH2 0x0c6c 00000bdb: JUMPI 00000bdc: PUSH1 0x00 00000bde: DUP8 00000bdf: SLT 00000be0: ISZERO 00000be1: PUSH2 0x0c12 00000be4: JUMPI 00000be5: PUSH2 0x0c12 00000be8: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 00000c09: DUP16 00000c0a: DUP10 00000c0b: PUSH1 0x00 00000c0d: SUB 00000c0e: PUSH2 0x2b72 00000c11: JUMP 00000c12: JUMPDEST 00000c13: PUSH2 0x0c1e 00000c16: DUP9 00000c17: DUP9 00000c18: DUP13 00000c19: DUP13 00000c1a: PUSH2 0x2b82 00000c1d: JUMP 00000c1e: JUMPDEST 00000c1f: PUSH2 0x0c26 00000c22: PUSH2 0x2be3 00000c25: JUMP 00000c26: JUMPDEST 00000c27: PUSH2 0x0c30 00000c2a: DUP10 00000c2b: DUP5 00000c2c: PUSH2 0x5589 00000c2f: JUMP 00000c30: JUMPDEST 00000c31: GT 00000c32: ISZERO 00000c33: PUSH2 0x0c4f 00000c36: JUMPI 00000c37: PUSH1 0x40 00000c39: MLOAD 00000c3a: PUSH4 0x3ed6d505 00000c3f: PUSH1 0xe2 00000c41: SHL 00000c42: DUP2 00000c43: MSTORE 00000c44: PUSH1 0x04 00000c46: ADD 00000c47: PUSH1 0x40 00000c49: MLOAD 00000c4a: DUP1 00000c4b: SWAP2 00000c4c: SUB 00000c4d: SWAP1 00000c4e: REVERT 00000c4f: JUMPDEST 00000c50: PUSH2 0x0c67 00000c53: DUP9 00000c54: DUP9 00000c55: DUP6 00000c56: PUSH1 0x00 00000c58: ADD 00000c59: MLOAD 00000c5a: PUSH1 0x00 00000c5c: DUP8 00000c5d: PUSH1 0x20 00000c5f: ADD 00000c60: MLOAD 00000c61: PUSH1 0x00 00000c63: PUSH2 0x2c78 00000c66: JUMP 00000c67: JUMPDEST 00000c68: PUSH2 0x0cf8 00000c6b: JUMP 00000c6c: JUMPDEST 00000c6d: PUSH1 0x00 00000c6f: DUP9 00000c70: SLT 00000c71: ISZERO 00000c72: PUSH2 0x0ca3 00000c75: JUMPI 00000c76: PUSH2 0x0ca3 00000c79: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000c9a: DUP16 00000c9b: DUP11 00000c9c: PUSH1 0x00 00000c9e: SUB 00000c9f: PUSH2 0x2b72 00000ca2: JUMP 00000ca3: JUMPDEST 00000ca4: PUSH2 0x0caf 00000ca7: DUP9 00000ca8: DUP9 00000ca9: DUP13 00000caa: DUP13 00000cab: PUSH2 0x2b82 00000cae: JUMP 00000caf: JUMPDEST 00000cb0: PUSH2 0x0cb7 00000cb3: PUSH2 0x2f67 00000cb6: JUMP 00000cb7: JUMPDEST 00000cb8: PUSH2 0x0cc1 00000cbb: DUP9 00000cbc: DUP4 00000cbd: PUSH2 0x5589 00000cc0: JUMP 00000cc1: JUMPDEST 00000cc2: GT 00000cc3: ISZERO 00000cc4: PUSH2 0x0ce0 00000cc7: JUMPI 00000cc8: PUSH1 0x40 00000cca: MLOAD 00000ccb: PUSH4 0x3ed6d505 00000cd0: PUSH1 0xe2 00000cd2: SHL 00000cd3: DUP2 00000cd4: MSTORE 00000cd5: PUSH1 0x04 00000cd7: ADD 00000cd8: PUSH1 0x40 00000cda: MLOAD 00000cdb: DUP1 00000cdc: SWAP2 00000cdd: SUB 00000cde: SWAP1 00000cdf: REVERT 00000ce0: JUMPDEST 00000ce1: PUSH2 0x0cf8 00000ce4: DUP9 00000ce5: DUP9 00000ce6: PUSH1 0x00 00000ce8: DUP7 00000ce9: PUSH1 0x00 00000ceb: ADD 00000cec: MLOAD 00000ced: PUSH1 0x00 00000cef: DUP9 00000cf0: PUSH1 0x20 00000cf2: ADD 00000cf3: MLOAD 00000cf4: PUSH2 0x2c78 00000cf7: JUMP 00000cf8: JUMPDEST 00000cf9: PUSH2 0x0d14 00000cfc: DUP15 00000cfd: DUP10 00000cfe: DUP10 00000cff: DUP8 00000d00: PUSH1 0x00 00000d02: ADD 00000d03: MLOAD 00000d04: DUP9 00000d05: PUSH1 0x40 00000d07: ADD 00000d08: MLOAD 00000d09: DUP10 00000d0a: PUSH1 0x20 00000d0c: ADD 00000d0d: MLOAD 00000d0e: DUP13 00000d0f: DUP13 00000d10: PUSH2 0x2fb6 00000d13: JUMP 00000d14: JUMPDEST 00000d15: POP 00000d16: POP 00000d17: POP 00000d18: POP 00000d19: PUSH2 0x0d20 00000d1c: PUSH2 0x303c 00000d1f: JUMP 00000d20: JUMPDEST 00000d21: PUSH2 0x0d30 00000d24: DUP11 00000d25: DUP11 00000d26: DUP11 00000d27: DUP11 00000d28: DUP9 00000d29: DUP9 00000d2a: DUP13 00000d2b: DUP13 00000d2c: PUSH2 0x3051 00000d2f: JUMP 00000d30: JUMPDEST 00000d31: POP 00000d32: POP 00000d33: SWAP7 00000d34: POP 00000d35: SWAP7 00000d36: SWAP5 00000d37: POP 00000d38: POP 00000d39: POP 00000d3a: POP 00000d3b: POP 00000d3c: JUMP 00000d3d: JUMPDEST 00000d3e: PUSH2 0x0d45 00000d41: PUSH2 0x315a 00000d44: JUMP 00000d45: JUMPDEST 00000d46: PUSH2 0x0d4d 00000d49: PUSH2 0x22a7 00000d4c: JUMP 00000d4d: JUMPDEST 00000d4e: PUSH2 0x0d56 00000d51: CALLER 00000d52: PUSH2 0x3185 00000d55: JUMP 00000d56: JUMPDEST 00000d57: PUSH2 0x0d5e 00000d5a: PUSH2 0x303c 00000d5d: JUMP 00000d5e: JUMPDEST 00000d5f: JUMP 00000d60: JUMPDEST 00000d61: PUSH2 0x0d68 00000d64: PUSH2 0x32d6 00000d67: JUMP 00000d68: JUMPDEST 00000d69: PUSH2 0x0d70 00000d6c: PUSH2 0x3300 00000d6f: JUMP 00000d70: JUMPDEST 00000d71: PUSH2 0x03e8 00000d74: PUSH2 0xffff 00000d77: DUP3 00000d78: AND 00000d79: GT 00000d7a: DUP1 00000d7b: PUSH2 0x0d93 00000d7e: JUMPI 00000d7f: POP 00000d80: PUSH1 0x02 00000d82: SLOAD 00000d83: PUSH2 0xffff 00000d86: DUP3 00000d87: DUP2 00000d88: AND 00000d89: PUSH1 0x01 00000d8b: PUSH1 0xd0 00000d8d: SHL 00000d8e: SWAP1 00000d8f: SWAP3 00000d90: DIV 00000d91: AND 00000d92: EQ 00000d93: JUMPDEST 00000d94: DUP1 00000d95: PUSH2 0x0db5 00000d98: JUMPI 00000d99: POP 00000d9a: PUSH2 0xffff 00000d9d: DUP2 00000d9e: AND 00000d9f: ISZERO 00000da0: DUP1 00000da1: ISZERO 00000da2: SWAP1 00000da3: PUSH2 0x0db5 00000da6: JUMPI 00000da7: POP 00000da8: PUSH1 0x07 00000daa: SLOAD 00000dab: PUSH1 0x01 00000dad: PUSH1 0x01 00000daf: PUSH1 0xa0 00000db1: SHL 00000db2: SUB 00000db3: AND 00000db4: ISZERO 00000db5: JUMPDEST 00000db6: ISZERO 00000db7: PUSH2 0x0dd3 00000dba: JUMPI 00000dbb: PUSH1 0x40 00000dbd: MLOAD 00000dbe: PUSH4 0xa709b9af 00000dc3: PUSH1 0xe0 00000dc5: SHL 00000dc6: DUP2 00000dc7: MSTORE 00000dc8: PUSH1 0x04 00000dca: ADD 00000dcb: PUSH1 0x40 00000dcd: MLOAD 00000dce: DUP1 00000dcf: SWAP2 00000dd0: SUB 00000dd1: SWAP1 00000dd2: REVERT 00000dd3: JUMPDEST 00000dd4: PUSH2 0x0ddc 00000dd7: DUP2 00000dd8: PUSH2 0x33c6 00000ddb: JUMP 00000ddc: JUMPDEST 00000ddd: POP 00000dde: JUMP 00000ddf: JUMPDEST 00000de0: PUSH1 0x00 00000de2: DUP1 00000de3: DUP7 00000de4: DUP7 00000de5: PUSH2 0x0dee 00000de8: DUP3 00000de9: DUP3 00000dea: PUSH2 0x341d 00000ded: JUMP 00000dee: JUMPDEST 00000def: PUSH1 0x01 00000df1: PUSH1 0x01 00000df3: PUSH1 0x7f 00000df5: SHL 00000df6: SUB 00000df7: PUSH1 0x01 00000df9: PUSH1 0x01 00000dfb: PUSH1 0x80 00000dfd: SHL 00000dfe: SUB 00000dff: DUP9 00000e00: AND 00000e01: GT 00000e02: ISZERO 00000e03: PUSH2 0x0e1f 00000e06: JUMPI 00000e07: PUSH1 0x40 00000e09: MLOAD 00000e0a: PUSH4 0x8995290f 00000e0f: PUSH1 0xe0 00000e11: SHL 00000e12: DUP2 00000e13: MSTORE 00000e14: PUSH1 0x04 00000e16: ADD 00000e17: PUSH1 0x40 00000e19: MLOAD 00000e1a: DUP1 00000e1b: SWAP2 00000e1c: SUB 00000e1d: SWAP1 00000e1e: REVERT 00000e1f: JUMPDEST 00000e20: PUSH1 0x00 00000e22: PUSH2 0x0e2a 00000e25: DUP9 00000e26: PUSH2 0x559c 00000e29: JUMP 00000e2a: JUMPDEST 00000e2b: SWAP1 00000e2c: POP 00000e2d: PUSH1 0x00 00000e2f: PUSH2 0x0e3c 00000e32: CALLER 00000e33: DUP13 00000e34: DUP13 00000e35: DUP6 00000e36: DUP13 00000e37: DUP13 00000e38: PUSH2 0x349f 00000e3b: JUMP 00000e3c: JUMPDEST 00000e3d: SWAP1 00000e3e: POP 00000e3f: PUSH2 0x0e46 00000e42: PUSH2 0x22a7 00000e45: JUMP 00000e46: JUMPDEST 00000e47: PUSH2 0x0e4e 00000e4a: PUSH2 0x2969 00000e4d: JUMP 00000e4e: JUMPDEST 00000e4f: POP 00000e50: POP 00000e51: PUSH1 0x00 00000e53: PUSH2 0x0e5d 00000e56: CALLER 00000e57: DUP14 00000e58: DUP14 00000e59: PUSH2 0x35f4 00000e5c: JUMP 00000e5d: JUMPDEST 00000e5e: SWAP1 00000e5f: POP 00000e60: PUSH2 0x0e6b 00000e63: DUP2 00000e64: DUP14 00000e65: DUP14 00000e66: DUP7 00000e67: PUSH2 0x3620 00000e6a: JUMP 00000e6b: JUMPDEST 00000e6c: SWAP1 00000e6d: SWAP8 00000e6e: POP 00000e6f: SWAP6 00000e70: POP 00000e71: PUSH3 0xffffff 00000e75: DUP3 00000e76: AND 00000e77: ISZERO 00000e78: PUSH2 0x0ee1 00000e7b: JUMPI 00000e7c: PUSH1 0x00 00000e7e: DUP1 00000e7f: DUP9 00000e80: ISZERO 00000e81: PUSH2 0x0ea6 00000e84: JUMPI 00000e85: PUSH2 0x0e97 00000e88: DUP10 00000e89: PUSH3 0xffffff 00000e8d: DUP7 00000e8e: AND 00000e8f: PUSH3 0x0f4240 00000e93: PUSH2 0x3742 00000e96: JUMP 00000e97: JUMPDEST 00000e98: SWAP2 00000e99: POP 00000e9a: PUSH2 0x0ea3 00000e9d: DUP3 00000e9e: DUP11 00000e9f: PUSH2 0x55bf 00000ea2: JUMP 00000ea3: JUMPDEST 00000ea4: SWAP9 00000ea5: POP 00000ea6: JUMPDEST 00000ea7: DUP8 00000ea8: ISZERO 00000ea9: PUSH2 0x0ece 00000eac: JUMPI 00000ead: PUSH2 0x0ebf 00000eb0: DUP9 00000eb1: PUSH3 0xffffff 00000eb5: DUP7 00000eb6: AND 00000eb7: PUSH3 0x0f4240 00000ebb: PUSH2 0x3742 00000ebe: JUMP 00000ebf: JUMPDEST 00000ec0: SWAP1 00000ec1: POP 00000ec2: PUSH2 0x0ecb 00000ec5: DUP2 00000ec6: DUP10 00000ec7: PUSH2 0x55bf 00000eca: JUMP 00000ecb: JUMPDEST 00000ecc: SWAP8 00000ecd: POP 00000ece: JUMPDEST 00000ecf: PUSH2 0x0ede 00000ed2: PUSH1 0x00 00000ed4: DUP1 00000ed5: PUSH1 0x00 00000ed7: DUP1 00000ed8: DUP7 00000ed9: DUP7 00000eda: PUSH2 0x2c78 00000edd: JUMP 00000ede: JUMPDEST 00000edf: POP 00000ee0: POP 00000ee1: JUMPDEST 00000ee2: DUP7 00000ee3: DUP7 00000ee4: OR 00000ee5: ISZERO 00000ee6: PUSH2 0x0f46 00000ee9: JUMPI 00000eea: PUSH1 0x03 00000eec: DUP2 00000eed: ADD 00000eee: SLOAD 00000eef: PUSH2 0x0f02 00000ef2: SWAP1 00000ef3: DUP9 00000ef4: SWAP1 00000ef5: PUSH1 0x01 00000ef7: PUSH1 0x01 00000ef9: PUSH1 0x80 00000efb: SHL 00000efc: SUB 00000efd: AND 00000efe: PUSH2 0x55d2 00000f01: JUMP 00000f02: JUMPDEST 00000f03: PUSH1 0x03 00000f05: DUP3 00000f06: ADD 00000f07: SLOAD 00000f08: PUSH2 0x0f22 00000f0b: SWAP1 00000f0c: DUP9 00000f0d: SWAP1 00000f0e: PUSH1 0x01 00000f10: PUSH1 0x80 00000f12: SHL 00000f13: SWAP1 00000f14: DIV 00000f15: PUSH1 0x01 00000f17: PUSH1 0x01 00000f19: PUSH1 0x80 00000f1b: SHL 00000f1c: SUB 00000f1d: AND 00000f1e: PUSH2 0x55d2 00000f21: JUMP 00000f22: JUMPDEST 00000f23: PUSH1 0x01 00000f25: PUSH1 0x01 00000f27: PUSH1 0x80 00000f29: SHL 00000f2a: SUB 00000f2b: SWAP2 00000f2c: DUP3 00000f2d: AND 00000f2e: SWAP2 00000f2f: AND 00000f30: PUSH1 0x01 00000f32: PUSH1 0x80 00000f34: SHL 00000f35: MUL 00000f36: PUSH1 0x01 00000f38: PUSH1 0x01 00000f3a: PUSH1 0x80 00000f3c: SHL 00000f3d: SUB 00000f3e: NOT 00000f3f: AND 00000f40: OR 00000f41: PUSH1 0x03 00000f43: DUP3 00000f44: ADD 00000f45: SSTORE 00000f46: JUMPDEST 00000f47: POP 00000f48: PUSH1 0x01 00000f4a: PUSH1 0x01 00000f4c: PUSH1 0x80 00000f4e: SHL 00000f4f: SUB 00000f50: DUP10 00000f51: AND 00000f52: DUP7 00000f53: OR 00000f54: DUP6 00000f55: OR 00000f56: ISZERO 00000f57: PUSH2 0x0fbd 00000f5a: JUMPI 00000f5b: PUSH1 0x40 00000f5d: DUP1 00000f5e: MLOAD 00000f5f: PUSH1 0x01 00000f61: PUSH1 0x01 00000f63: PUSH1 0x80 00000f65: SHL 00000f66: SUB 00000f67: DUP12 00000f68: AND 00000f69: DUP2 00000f6a: MSTORE 00000f6b: PUSH1 0x20 00000f6d: DUP2 00000f6e: ADD 00000f6f: DUP9 00000f70: SWAP1 00000f71: MSTORE 00000f72: DUP1 00000f73: DUP3 00000f74: ADD 00000f75: DUP8 00000f76: SWAP1 00000f77: MSTORE 00000f78: PUSH3 0xffffff 00000f7c: DUP4 00000f7d: AND 00000f7e: PUSH1 0x60 00000f80: DUP3 00000f81: ADD 00000f82: MSTORE 00000f83: SWAP1 00000f84: MLOAD 00000f85: PUSH1 0x02 00000f87: DUP13 00000f88: DUP2 00000f89: SIGNEXTEND 00000f8a: SWAP3 00000f8b: SWAP1 00000f8c: DUP15 00000f8d: SWAP1 00000f8e: SIGNEXTEND 00000f8f: SWAP2 00000f90: CALLER 00000f91: SWAP2 00000f92: PUSH32 0x932214d4a69c27c086643126ed97c32681da179064c678836c173f99bd13ca01 00000fb3: SWAP2 00000fb4: SWAP1 00000fb5: DUP2 00000fb6: SWAP1 00000fb7: SUB 00000fb8: PUSH1 0x80 00000fba: ADD 00000fbb: SWAP1 00000fbc: LOG4 00000fbd: JUMPDEST 00000fbe: PUSH2 0x0fc5 00000fc1: PUSH2 0x303c 00000fc4: JUMP 00000fc5: JUMPDEST 00000fc6: PUSH2 0x0fd5 00000fc9: CALLER 00000fca: DUP13 00000fcb: DUP13 00000fcc: DUP6 00000fcd: DUP11 00000fce: DUP11 00000fcf: DUP15 00000fd0: DUP15 00000fd1: PUSH2 0x37db 00000fd4: JUMP 00000fd5: JUMPDEST 00000fd6: POP 00000fd7: POP 00000fd8: POP 00000fd9: POP 00000fda: SWAP6 00000fdb: POP 00000fdc: SWAP6 00000fdd: SWAP4 00000fde: POP 00000fdf: POP 00000fe0: POP 00000fe1: POP 00000fe2: JUMP 00000fe3: JUMPDEST 00000fe4: PUSH1 0x02 00000fe6: SLOAD 00000fe7: PUSH1 0x01 00000fe9: PUSH1 0xc8 00000feb: SHL 00000fec: SWAP1 00000fed: DIV 00000fee: PUSH1 0x10 00000ff0: AND 00000ff1: ISZERO 00000ff2: PUSH2 0x10c9 00000ff5: JUMPI 00000ff6: PUSH1 0x06 00000ff8: SLOAD 00000ff9: PUSH1 0x40 00000ffb: MLOAD 00000ffc: PUSH4 0x46f05477 00001001: PUSH1 0xe1 00001003: SHL 00001004: DUP1 00001005: DUP3 00001006: MSTORE 00001007: CALLER 00001008: PUSH1 0x04 0000100a: DUP4 0000100b: ADD 0000100c: DUP2 0000100d: DUP2 0000100e: MSTORE 0000100f: PUSH1 0x01 00001011: PUSH1 0x01 00001013: PUSH1 0xa0 00001015: SHL 00001016: SUB 00001017: DUP11 00001018: DUP2 00001019: AND 0000101a: PUSH1 0x24 0000101c: DUP7 0000101d: ADD 0000101e: MSTORE 0000101f: PUSH1 0x44 00001021: DUP6 00001022: ADD 00001023: DUP11 00001024: SWAP1 00001025: MSTORE 00001026: PUSH1 0x64 00001028: DUP6 00001029: ADD 0000102a: DUP10 0000102b: SWAP1 0000102c: MSTORE 0000102d: PUSH1 0xa0 0000102f: PUSH1 0x84 00001031: DUP7 00001032: ADD 00001033: SWAP1 00001034: DUP2 00001035: MSTORE 00001036: PUSH1 0xa4 00001038: DUP7 00001039: ADD 0000103a: DUP9 0000103b: SWAP1 0000103c: MSTORE 0000103d: PUSH2 0x10c9 00001040: SWAP7 00001041: SWAP5 00001042: SWAP6 00001043: SWAP2 00001044: SWAP1 00001045: SWAP5 00001046: AND 00001047: SWAP4 00001048: PUSH4 0x8de0a8ee 0000104d: SWAP4 0000104e: SWAP3 0000104f: DUP13 00001050: SWAP3 00001051: DUP13 00001052: SWAP3 00001053: DUP13 00001054: SWAP3 00001055: DUP13 00001056: SWAP3 00001057: DUP13 00001058: SWAP3 00001059: SWAP1 0000105a: PUSH1 0xc4 0000105c: ADD 0000105d: DUP5 0000105e: DUP5 0000105f: DUP1 00001060: DUP3 00001061: DUP5 00001062: CALLDATACOPY 00001063: PUSH1 0x00 00001065: DUP2 00001066: DUP5 00001067: ADD 00001068: MSTORE 00001069: PUSH1 0x1f 0000106b: NOT 0000106c: PUSH1 0x1f 0000106e: DUP3 0000106f: ADD 00001070: AND 00001071: SWAP1 00001072: POP 00001073: DUP1 00001074: DUP4 00001075: ADD 00001076: SWAP3 00001077: POP 00001078: POP 00001079: POP 0000107a: SWAP8 0000107b: POP 0000107c: POP 0000107d: POP 0000107e: POP 0000107f: POP 00001080: POP 00001081: POP 00001082: POP 00001083: PUSH1 0x20 00001085: PUSH1 0x40 00001087: MLOAD 00001088: DUP1 00001089: DUP4 0000108a: SUB 0000108b: DUP2 0000108c: PUSH1 0x00 0000108e: DUP8 0000108f: GAS 00001090: CALL 00001091: ISZERO 00001092: DUP1 00001093: ISZERO 00001094: PUSH2 0x10a1 00001097: JUMPI 00001098: RETURNDATASIZE 00001099: PUSH1 0x00 0000109b: DUP1 0000109c: RETURNDATACOPY 0000109d: RETURNDATASIZE 0000109e: PUSH1 0x00 000010a0: REVERT 000010a1: JUMPDEST 000010a2: POP 000010a3: POP 000010a4: POP 000010a5: POP 000010a6: PUSH1 0x40 000010a8: MLOAD 000010a9: RETURNDATASIZE 000010aa: PUSH1 0x20 000010ac: DUP2 000010ad: LT 000010ae: ISZERO 000010af: PUSH2 0x10b7 000010b2: JUMPI 000010b3: PUSH1 0x00 000010b5: DUP1 000010b6: REVERT 000010b7: JUMPDEST 000010b8: POP 000010b9: MLOAD 000010ba: PUSH1 0x01 000010bc: PUSH1 0x01 000010be: PUSH1 0xe0 000010c0: SHL 000010c1: SUB 000010c2: NOT 000010c3: AND 000010c4: SWAP1 000010c5: PUSH2 0x38e3 000010c8: JUMP 000010c9: JUMPDEST 000010ca: PUSH2 0x10d1 000010cd: PUSH2 0x22a7 000010d0: JUMP 000010d1: JUMPDEST 000010d2: PUSH1 0x00 000010d4: DUP1 000010d5: PUSH1 0x00 000010d7: DUP1 000010d8: PUSH2 0x10df 000010db: PUSH2 0x2969 000010de: JUMP 000010df: JUMPDEST 000010e0: SWAP1 000010e1: SWAP3 000010e2: POP 000010e3: SWAP1 000010e4: POP 000010e5: PUSH1 0x00 000010e7: DUP9 000010e8: ISZERO 000010e9: PUSH2 0x1128 000010ec: JUMPI 000010ed: PUSH2 0x10fb 000010f0: DUP10 000010f1: PUSH1 0x64 000010f3: PUSH3 0x0f4240 000010f7: PUSH2 0x3920 000010fa: JUMP 000010fb: JUMPDEST 000010fc: SWAP1 000010fd: POP 000010fe: PUSH2 0x1128 00001101: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001122: DUP12 00001123: DUP12 00001124: PUSH2 0x2b72 00001127: JUMP 00001128: JUMPDEST 00001129: PUSH1 0x00 0000112b: DUP9 0000112c: ISZERO 0000112d: PUSH2 0x116c 00001130: JUMPI 00001131: PUSH2 0x113f 00001134: DUP10 00001135: PUSH1 0x64 00001137: PUSH3 0x0f4240 0000113b: PUSH2 0x3920 0000113e: JUMP 0000113f: JUMPDEST 00001140: SWAP1 00001141: POP 00001142: PUSH2 0x116c 00001145: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 00001166: DUP13 00001167: DUP12 00001168: PUSH2 0x2b72 0000116b: JUMP 0000116c: JUMPDEST 0000116d: PUSH2 0x1178 00001170: DUP3 00001171: DUP3 00001172: DUP11 00001173: DUP11 00001174: PUSH2 0x39a0 00001177: JUMP 00001178: JUMPDEST 00001179: PUSH2 0x1180 0000117c: PUSH2 0x2be3 0000117f: JUMP 00001180: JUMPDEST 00001181: SWAP6 00001182: POP 00001183: DUP6 00001184: PUSH2 0x118d 00001187: DUP4 00001188: DUP7 00001189: PUSH2 0x5589 0000118c: JUMP 0000118d: JUMPDEST 0000118e: GT 0000118f: ISZERO 00001190: PUSH2 0x11ac 00001193: JUMPI 00001194: PUSH1 0x40 00001196: MLOAD 00001197: PUSH4 0x36de50ff 0000119c: PUSH1 0xe1 0000119e: SHL 0000119f: DUP2 000011a0: MSTORE 000011a1: PUSH1 0x04 000011a3: ADD 000011a4: PUSH1 0x40 000011a6: MLOAD 000011a7: DUP1 000011a8: SWAP2 000011a9: SUB 000011aa: SWAP1 000011ab: REVERT 000011ac: JUMPDEST 000011ad: PUSH2 0x11b4 000011b0: PUSH2 0x2f67 000011b3: JUMP 000011b4: JUMPDEST 000011b5: SWAP5 000011b6: POP 000011b7: DUP5 000011b8: PUSH2 0x11c1 000011bb: DUP3 000011bc: DUP6 000011bd: PUSH2 0x5589 000011c0: JUMP 000011c1: JUMPDEST 000011c2: GT 000011c3: ISZERO 000011c4: PUSH2 0x11e0 000011c7: JUMPI 000011c8: PUSH1 0x40 000011ca: MLOAD 000011cb: PUSH4 0xc998149f 000011d0: PUSH1 0xe0 000011d2: SHL 000011d3: DUP2 000011d4: MSTORE 000011d5: PUSH1 0x04 000011d7: ADD 000011d8: PUSH1 0x40 000011da: MLOAD 000011db: DUP1 000011dc: SWAP2 000011dd: SUB 000011de: SWAP1 000011df: REVERT 000011e0: JUMPDEST 000011e1: PUSH1 0x02 000011e3: SLOAD 000011e4: SWAP6 000011e5: DUP5 000011e6: SWAP1 000011e7: SUB 000011e8: SWAP6 000011e9: SWAP5 000011ea: DUP4 000011eb: SWAP1 000011ec: SUB 000011ed: SWAP5 000011ee: PUSH1 0x01 000011f0: PUSH1 0xd0 000011f2: SHL 000011f3: SWAP1 000011f4: DIV 000011f5: PUSH2 0xffff 000011f8: AND 000011f9: DUP1 000011fa: ISZERO 000011fb: PUSH2 0x1240 000011fe: JUMPI 000011ff: PUSH1 0x00 00001201: DUP8 00001202: ISZERO 00001203: PUSH2 0x1216 00001206: JUMPI 00001207: PUSH2 0x1213 0000120a: DUP9 0000120b: DUP4 0000120c: PUSH2 0x03e8 0000120f: PUSH2 0x3742 00001212: JUMP 00001213: JUMPDEST 00001214: SWAP1 00001215: POP 00001216: JUMPDEST 00001217: PUSH1 0x00 00001219: DUP8 0000121a: ISZERO 0000121b: PUSH2 0x122e 0000121e: JUMPI 0000121f: PUSH2 0x122b 00001222: DUP9 00001223: DUP5 00001224: PUSH2 0x03e8 00001227: PUSH2 0x3742 0000122a: JUMP 0000122b: JUMPDEST 0000122c: SWAP1 0000122d: POP 0000122e: JUMPDEST 0000122f: PUSH2 0x123d 00001232: DUP3 00001233: DUP3 00001234: DUP5 00001235: DUP5 00001236: PUSH1 0x00 00001238: DUP1 00001239: PUSH2 0x2c78 0000123c: JUMP 0000123d: JUMPDEST 0000123e: POP 0000123f: POP 00001240: JUMPDEST 00001241: PUSH1 0x40 00001243: DUP1 00001244: MLOAD 00001245: DUP13 00001246: DUP2 00001247: MSTORE 00001248: PUSH1 0x20 0000124a: DUP2 0000124b: ADD 0000124c: DUP13 0000124d: SWAP1 0000124e: MSTORE 0000124f: DUP1 00001250: DUP3 00001251: ADD 00001252: DUP10 00001253: SWAP1 00001254: MSTORE 00001255: PUSH1 0x60 00001257: DUP2 00001258: ADD 00001259: DUP9 0000125a: SWAP1 0000125b: MSTORE 0000125c: SWAP1 0000125d: MLOAD 0000125e: PUSH1 0x01 00001260: PUSH1 0x01 00001262: PUSH1 0xa0 00001264: SHL 00001265: SUB 00001266: DUP15 00001267: AND 00001268: SWAP2 00001269: CALLER 0000126a: SWAP2 0000126b: PUSH32 0xbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca633 0000128c: SWAP2 0000128d: DUP2 0000128e: SWAP1 0000128f: SUB 00001290: PUSH1 0x80 00001292: ADD 00001293: SWAP1 00001294: LOG3 00001295: POP 00001296: POP 00001297: POP 00001298: POP 00001299: POP 0000129a: PUSH2 0x12a1 0000129d: PUSH2 0x303c 000012a0: JUMP 000012a1: JUMPDEST 000012a2: PUSH1 0x02 000012a4: SLOAD 000012a5: PUSH1 0x01 000012a7: PUSH1 0xc8 000012a9: SHL 000012aa: SWAP1 000012ab: DIV 000012ac: PUSH1 0x20 000012ae: AND 000012af: ISZERO 000012b0: PUSH2 0x138c 000012b3: JUMPI 000012b4: PUSH2 0x138c 000012b7: PUSH4 0x343d37ff 000012bc: PUSH1 0xe0 000012be: SHL 000012bf: PUSH1 0x06 000012c1: PUSH1 0x00 000012c3: SWAP1 000012c4: SLOAD 000012c5: SWAP1 000012c6: PUSH2 0x0100 000012c9: EXP 000012ca: SWAP1 000012cb: DIV 000012cc: PUSH1 0x01 000012ce: PUSH1 0x01 000012d0: PUSH1 0xa0 000012d2: SHL 000012d3: SUB 000012d4: AND 000012d5: PUSH1 0x01 000012d7: PUSH1 0x01 000012d9: PUSH1 0xa0 000012db: SHL 000012dc: SUB 000012dd: AND 000012de: PUSH4 0x343d37ff 000012e3: CALLER 000012e4: DUP12 000012e5: DUP12 000012e6: DUP12 000012e7: DUP10 000012e8: DUP10 000012e9: DUP14 000012ea: DUP14 000012eb: PUSH1 0x40 000012ed: MLOAD 000012ee: DUP10 000012ef: PUSH4 0xffffffff 000012f4: AND 000012f5: PUSH1 0xe0 000012f7: SHL 000012f8: DUP2 000012f9: MSTORE 000012fa: PUSH1 0x04 000012fc: ADD 000012fd: DUP1 000012fe: DUP10 000012ff: PUSH1 0x01 00001301: PUSH1 0x01 00001303: PUSH1 0xa0 00001305: SHL 00001306: SUB 00001307: AND 00001308: DUP2 00001309: MSTORE 0000130a: PUSH1 0x20 0000130c: ADD 0000130d: DUP9 0000130e: PUSH1 0x01 00001310: PUSH1 0x01 00001312: PUSH1 0xa0 00001314: SHL 00001315: SUB 00001316: AND 00001317: DUP2 00001318: MSTORE 00001319: PUSH1 0x20 0000131b: ADD 0000131c: DUP8 0000131d: DUP2 0000131e: MSTORE 0000131f: PUSH1 0x20 00001321: ADD 00001322: DUP7 00001323: DUP2 00001324: MSTORE 00001325: PUSH1 0x20 00001327: ADD 00001328: DUP6 00001329: DUP2 0000132a: MSTORE 0000132b: PUSH1 0x20 0000132d: ADD 0000132e: DUP5 0000132f: DUP2 00001330: MSTORE 00001331: PUSH1 0x20 00001333: ADD 00001334: DUP1 00001335: PUSH1 0x20 00001337: ADD 00001338: DUP3 00001339: DUP2 0000133a: SUB 0000133b: DUP3 0000133c: MSTORE 0000133d: DUP5 0000133e: DUP5 0000133f: DUP3 00001340: DUP2 00001341: DUP2 00001342: MSTORE 00001343: PUSH1 0x20 00001345: ADD 00001346: SWAP3 00001347: POP 00001348: DUP1 00001349: DUP3 0000134a: DUP5 0000134b: CALLDATACOPY 0000134c: PUSH1 0x00 0000134e: DUP2 0000134f: DUP5 00001350: ADD 00001351: MSTORE 00001352: PUSH1 0x1f 00001354: NOT 00001355: PUSH1 0x1f 00001357: DUP3 00001358: ADD 00001359: AND 0000135a: SWAP1 0000135b: POP 0000135c: DUP1 0000135d: DUP4 0000135e: ADD 0000135f: SWAP3 00001360: POP 00001361: POP 00001362: POP 00001363: SWAP10 00001364: POP 00001365: POP 00001366: POP 00001367: POP 00001368: POP 00001369: POP 0000136a: POP 0000136b: POP 0000136c: POP 0000136d: POP 0000136e: PUSH1 0x20 00001370: PUSH1 0x40 00001372: MLOAD 00001373: DUP1 00001374: DUP4 00001375: SUB 00001376: DUP2 00001377: PUSH1 0x00 00001379: DUP8 0000137a: GAS 0000137b: CALL 0000137c: ISZERO 0000137d: DUP1 0000137e: ISZERO 0000137f: PUSH2 0x10a1 00001382: JUMPI 00001383: RETURNDATASIZE 00001384: PUSH1 0x00 00001386: DUP1 00001387: RETURNDATACOPY 00001388: RETURNDATASIZE 00001389: PUSH1 0x00 0000138b: REVERT 0000138c: JUMPDEST 0000138d: POP 0000138e: POP 0000138f: POP 00001390: POP 00001391: POP 00001392: POP 00001393: POP 00001394: JUMP 00001395: JUMPDEST 00001396: PUSH1 0x00 00001398: DUP1 00001399: PUSH2 0x13a0 0000139c: PUSH2 0x22a7 0000139f: JUMP 000013a0: JUMPDEST 000013a1: PUSH1 0x00 000013a3: PUSH2 0x13ad 000013a6: CALLER 000013a7: DUP9 000013a8: DUP9 000013a9: PUSH2 0x35f4 000013ac: JUMP 000013ad: JUMPDEST 000013ae: PUSH1 0x03 000013b0: DUP2 000013b1: ADD 000013b2: SLOAD 000013b3: SWAP1 000013b4: SWAP2 000013b5: POP 000013b6: PUSH1 0x01 000013b8: PUSH1 0x01 000013ba: PUSH1 0x80 000013bc: SHL 000013bd: SUB 000013be: DUP1 000013bf: DUP3 000013c0: AND 000013c1: SWAP2 000013c2: PUSH1 0x01 000013c4: PUSH1 0x80 000013c6: SHL 000013c7: SWAP1 000013c8: DIV 000013c9: DUP2 000013ca: AND 000013cb: SWAP1 000013cc: DUP8 000013cd: AND 000013ce: DUP3 000013cf: LT 000013d0: ISZERO 000013d1: PUSH2 0x13d8 000013d4: JUMPI 000013d5: DUP2 000013d6: SWAP7 000013d7: POP 000013d8: JUMPDEST 000013d9: DUP1 000013da: PUSH1 0x01 000013dc: PUSH1 0x01 000013de: PUSH1 0x80 000013e0: SHL 000013e1: SUB 000013e2: AND 000013e3: DUP7 000013e4: PUSH1 0x01 000013e6: PUSH1 0x01 000013e8: PUSH1 0x80 000013ea: SHL 000013eb: SUB 000013ec: AND 000013ed: GT 000013ee: ISZERO 000013ef: PUSH2 0x13f6 000013f2: JUMPI 000013f3: DUP1 000013f4: SWAP6 000013f5: POP 000013f6: JUMPDEST 000013f7: PUSH1 0x01 000013f9: PUSH1 0x01 000013fb: PUSH1 0x80 000013fd: SHL 000013fe: SUB 000013ff: DUP8 00001400: DUP8 00001401: OR 00001402: AND 00001403: ISZERO 00001404: PUSH2 0x153c 00001407: JUMPI 00001408: PUSH1 0x01 0000140a: PUSH1 0x01 0000140c: PUSH1 0x80 0000140e: SHL 0000140f: SUB 00001410: DUP8 00001411: DUP4 00001412: SUB 00001413: DUP2 00001414: AND 00001415: DUP8 00001416: DUP4 00001417: SUB 00001418: DUP3 00001419: AND 0000141a: PUSH1 0x01 0000141c: PUSH1 0x80 0000141e: SHL 0000141f: MUL 00001420: PUSH1 0x01 00001422: PUSH1 0x01 00001424: PUSH1 0x80 00001426: SHL 00001427: SUB 00001428: NOT 00001429: AND 0000142a: OR 0000142b: PUSH1 0x03 0000142d: DUP6 0000142e: ADD 0000142f: SSTORE 00001430: DUP8 00001431: SWAP6 00001432: POP 00001433: DUP7 00001434: SWAP5 00001435: POP 00001436: DUP6 00001437: AND 00001438: ISZERO 00001439: PUSH2 0x1470 0000143c: JUMPI 0000143d: PUSH2 0x1470 00001440: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001461: DUP12 00001462: DUP8 00001463: PUSH1 0x01 00001465: PUSH1 0x01 00001467: PUSH1 0x80 00001469: SHL 0000146a: SUB 0000146b: AND 0000146c: PUSH2 0x2b72 0000146f: JUMP 00001470: JUMPDEST 00001471: PUSH1 0x01 00001473: PUSH1 0x01 00001475: PUSH1 0x80 00001477: SHL 00001478: SUB 00001479: DUP5 0000147a: AND 0000147b: ISZERO 0000147c: PUSH2 0x14b3 0000147f: JUMPI 00001480: PUSH2 0x14b3 00001483: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 000014a4: DUP12 000014a5: DUP7 000014a6: PUSH1 0x01 000014a8: PUSH1 0x01 000014aa: PUSH1 0x80 000014ac: SHL 000014ad: SUB 000014ae: AND 000014af: PUSH2 0x2b72 000014b2: JUMP 000014b3: JUMPDEST 000014b4: PUSH2 0x14db 000014b7: DUP6 000014b8: PUSH1 0x01 000014ba: PUSH1 0x01 000014bc: PUSH1 0x80 000014be: SHL 000014bf: SUB 000014c0: AND 000014c1: PUSH1 0x00 000014c3: SUB 000014c4: DUP6 000014c5: PUSH1 0x01 000014c7: PUSH1 0x01 000014c9: PUSH1 0x80 000014cb: SHL 000014cc: SUB 000014cd: AND 000014ce: PUSH1 0x00 000014d0: SUB 000014d1: PUSH1 0x00 000014d3: DUP1 000014d4: PUSH1 0x00 000014d6: DUP1 000014d7: PUSH2 0x2c78 000014da: JUMP 000014db: JUMPDEST 000014dc: PUSH1 0x40 000014de: DUP1 000014df: MLOAD 000014e0: PUSH1 0x01 000014e2: PUSH1 0x01 000014e4: PUSH1 0xa0 000014e6: SHL 000014e7: SUB 000014e8: DUP13 000014e9: AND 000014ea: DUP2 000014eb: MSTORE 000014ec: PUSH1 0x01 000014ee: PUSH1 0x01 000014f0: PUSH1 0x80 000014f2: SHL 000014f3: SUB 000014f4: DUP1 000014f5: DUP9 000014f6: AND 000014f7: PUSH1 0x20 000014f9: DUP4 000014fa: ADD 000014fb: MSTORE 000014fc: DUP7 000014fd: AND 000014fe: DUP2 000014ff: DUP4 00001500: ADD 00001501: MSTORE 00001502: SWAP1 00001503: MLOAD 00001504: PUSH1 0x02 00001506: DUP11 00001507: DUP2 00001508: SIGNEXTEND 00001509: SWAP3 0000150a: SWAP1 0000150b: DUP13 0000150c: SWAP1 0000150d: SIGNEXTEND 0000150e: SWAP2 0000150f: CALLER 00001510: SWAP2 00001511: PUSH32 0x70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0 00001532: SWAP2 00001533: SWAP1 00001534: DUP2 00001535: SWAP1 00001536: SUB 00001537: PUSH1 0x60 00001539: ADD 0000153a: SWAP1 0000153b: LOG4 0000153c: JUMPDEST 0000153d: PUSH2 0x1544 00001540: PUSH2 0x303c 00001543: JUMP 00001544: JUMPDEST 00001545: POP 00001546: POP 00001547: POP 00001548: SWAP6 00001549: POP 0000154a: SWAP6 0000154b: SWAP4 0000154c: POP 0000154d: POP 0000154e: POP 0000154f: POP 00001550: JUMP 00001551: JUMPDEST 00001552: PUSH2 0x1559 00001555: PUSH2 0x3300 00001558: JUMP 00001559: JUMPDEST 0000155a: PUSH1 0x02 0000155c: SLOAD 0000155d: PUSH1 0x01 0000155f: PUSH1 0xc8 00001561: SHL 00001562: DUP2 00001563: DIV 00001564: PUSH1 0x80 00001566: AND 00001567: ISZERO 00001568: ISZERO 00001569: SWAP1 0000156a: PUSH1 0x01 0000156c: PUSH1 0xe0 0000156e: SHL 0000156f: SWAP1 00001570: DIV 00001571: PUSH1 0xff 00001573: AND 00001574: PUSH2 0x1590 00001577: JUMPI 00001578: PUSH1 0x40 0000157a: MLOAD 0000157b: PUSH4 0x67984809 00001580: PUSH1 0xe1 00001582: SHL 00001583: DUP2 00001584: MSTORE 00001585: PUSH1 0x04 00001587: ADD 00001588: PUSH1 0x40 0000158a: MLOAD 0000158b: DUP1 0000158c: SWAP2 0000158d: SUB 0000158e: SWAP1 0000158f: REVERT 00001590: JUMPDEST 00001591: DUP1 00001592: ISZERO 00001593: PUSH2 0x15af 00001596: JUMPI 00001597: PUSH1 0x40 00001599: MLOAD 0000159a: PUSH4 0x69cdc707 0000159f: PUSH1 0xe1 000015a1: SHL 000015a2: DUP2 000015a3: MSTORE 000015a4: PUSH1 0x04 000015a6: ADD 000015a7: PUSH1 0x40 000015a9: MLOAD 000015aa: DUP1 000015ab: SWAP2 000015ac: SUB 000015ad: SWAP1 000015ae: REVERT 000015af: JUMPDEST 000015b0: PUSH2 0x15b8 000015b3: DUP3 000015b4: PUSH2 0x39c9 000015b7: JUMP 000015b8: JUMPDEST 000015b9: POP 000015ba: POP 000015bb: JUMP 000015bc: JUMPDEST 000015bd: PUSH1 0x02 000015bf: DUP1 000015c0: SLOAD 000015c1: PUSH1 0x01 000015c3: PUSH1 0x01 000015c5: PUSH1 0xa0 000015c7: SHL 000015c8: SUB 000015c9: DUP2 000015ca: AND 000015cb: SWAP2 000015cc: PUSH1 0x01 000015ce: PUSH1 0xa0 000015d0: SHL 000015d1: DUP3 000015d2: DIV 000015d3: SWAP1 000015d4: SIGNEXTEND 000015d5: SWAP1 000015d6: PUSH2 0xffff 000015d9: PUSH1 0x01 000015db: PUSH1 0xb8 000015dd: SHL 000015de: DUP3 000015df: DIV 000015e0: AND 000015e1: SWAP1 000015e2: PUSH1 0xff 000015e4: PUSH1 0x01 000015e6: PUSH1 0xc8 000015e8: SHL 000015e9: DUP3 000015ea: DIV 000015eb: DUP2 000015ec: AND 000015ed: SWAP2 000015ee: PUSH1 0x00 000015f0: SWAP2 000015f1: DUP3 000015f2: SWAP2 000015f3: DUP3 000015f4: SWAP2 000015f5: PUSH1 0x01 000015f7: PUSH1 0xe0 000015f9: SHL 000015fa: SWAP1 000015fb: SWAP2 000015fc: DIV 000015fd: AND 000015fe: DUP1 000015ff: PUSH2 0x161b 00001602: JUMPI 00001603: PUSH1 0x40 00001605: MLOAD 00001606: PUSH4 0x67984809 0000160b: PUSH1 0xe1 0000160d: SHL 0000160e: DUP2 0000160f: MSTORE 00001610: PUSH1 0x04 00001612: ADD 00001613: PUSH1 0x40 00001615: MLOAD 00001616: DUP1 00001617: SWAP2 00001618: SUB 00001619: SWAP1 0000161a: REVERT 0000161b: JUMPDEST 0000161c: POP 0000161d: POP 0000161e: PUSH1 0x09 00001620: SLOAD 00001621: SWAP6 00001622: SWAP7 00001623: SWAP5 00001624: SWAP6 00001625: SWAP4 00001626: SWAP5 00001627: SWAP3 00001628: SWAP4 00001629: PUSH1 0x01 0000162b: PUSH1 0x01 0000162d: PUSH1 0x80 0000162f: SHL 00001630: SUB 00001631: PUSH1 0x01 00001633: PUSH1 0x30 00001635: SHL 00001636: DUP3 00001637: DIV 00001638: AND 00001639: SWAP4 0000163a: PUSH1 0x02 0000163c: DUP3 0000163d: DUP2 0000163e: SIGNEXTEND 0000163f: SWAP5 00001640: POP 00001641: PUSH4 0x01000000 00001646: SWAP1 00001647: SWAP3 00001648: DIV 00001649: SWAP1 0000164a: SWAP2 0000164b: SIGNEXTEND 0000164c: SWAP2 0000164d: POP 0000164e: JUMP 0000164f: JUMPDEST 00001650: PUSH1 0x00 00001652: DUP1 00001653: PUSH1 0x00 00001655: DUP7 00001656: SLT 00001657: ISZERO 00001658: PUSH2 0x1674 0000165b: JUMPI 0000165c: PUSH1 0x40 0000165e: MLOAD 0000165f: PUSH4 0x34cb3a01 00001664: PUSH1 0xe1 00001666: SHL 00001667: DUP2 00001668: MSTORE 00001669: PUSH1 0x04 0000166b: ADD 0000166c: PUSH1 0x40 0000166e: MLOAD 0000166f: DUP1 00001670: SWAP2 00001671: SUB 00001672: SWAP1 00001673: REVERT 00001674: JUMPDEST 00001675: PUSH2 0x167c 00001678: PUSH2 0x22a7 0000167b: JUMP 0000167c: JUMPDEST 0000167d: PUSH1 0x00 0000167f: DUP8 00001680: ISZERO 00001681: PUSH2 0x16d5 00001684: JUMPI 00001685: PUSH1 0x00 00001687: PUSH2 0x168e 0000168a: PUSH2 0x2be3 0000168d: JUMP 0000168e: JUMPDEST 0000168f: SWAP1 00001690: POP 00001691: PUSH2 0x169d 00001694: DUP9 00001695: PUSH1 0x00 00001697: DUP9 00001698: DUP9 00001699: PUSH2 0x2b82 0000169c: JUMP 0000169d: JUMPDEST 0000169e: PUSH1 0x00 000016a0: PUSH2 0x16a7 000016a3: PUSH2 0x2be3 000016a6: JUMP 000016a7: JUMPDEST 000016a8: SWAP1 000016a9: POP 000016aa: PUSH2 0x16bb 000016ad: PUSH2 0x16b6 000016b0: DUP4 000016b1: DUP4 000016b2: PUSH2 0x55bf 000016b5: JUMP 000016b6: JUMPDEST 000016b7: PUSH2 0x3a19 000016ba: JUMP 000016bb: JUMPDEST 000016bc: SWAP3 000016bd: POP 000016be: PUSH2 0x16ce 000016c1: DUP4 000016c2: PUSH1 0x00 000016c4: DUP1 000016c5: PUSH1 0x00 000016c7: DUP1 000016c8: PUSH1 0x00 000016ca: PUSH2 0x2c78 000016cd: JUMP 000016ce: JUMPDEST 000016cf: POP 000016d0: POP 000016d1: PUSH2 0x171d 000016d4: JUMP 000016d5: JUMPDEST 000016d6: PUSH1 0x00 000016d8: PUSH2 0x16df 000016db: PUSH2 0x2f67 000016de: JUMP 000016df: JUMPDEST 000016e0: SWAP1 000016e1: POP 000016e2: PUSH2 0x16ee 000016e5: PUSH1 0x00 000016e7: DUP10 000016e8: DUP9 000016e9: DUP9 000016ea: PUSH2 0x2b82 000016ed: JUMP 000016ee: JUMPDEST 000016ef: PUSH1 0x00 000016f1: PUSH2 0x16f8 000016f4: PUSH2 0x2f67 000016f7: JUMP 000016f8: JUMPDEST 000016f9: SWAP1 000016fa: POP 000016fb: PUSH2 0x1707 000016fe: PUSH2 0x16b6 00001701: DUP4 00001702: DUP4 00001703: PUSH2 0x55bf 00001706: JUMP 00001707: JUMPDEST 00001708: SWAP3 00001709: POP 0000170a: PUSH2 0x171a 0000170d: PUSH1 0x00 0000170f: DUP5 00001710: PUSH1 0x00 00001712: DUP1 00001713: PUSH1 0x00 00001715: DUP1 00001716: PUSH2 0x2c78 00001719: JUMP 0000171a: JUMPDEST 0000171b: POP 0000171c: POP 0000171d: JUMPDEST 0000171e: DUP7 0000171f: DUP2 00001720: EQ 00001721: PUSH2 0x1728 00001724: JUMPI 00001725: DUP1 00001726: SWAP7 00001727: POP 00001728: JUMPDEST 00001729: POP 0000172a: DUP6 0000172b: PUSH1 0x00 0000172d: SUB 0000172e: PUSH2 0x174a 00001731: JUMPI 00001732: PUSH1 0x40 00001734: MLOAD 00001735: PUSH4 0x3ed6d505 0000173a: PUSH1 0xe2 0000173c: SHL 0000173d: DUP2 0000173e: MSTORE 0000173f: PUSH1 0x04 00001741: ADD 00001742: PUSH1 0x40 00001744: MLOAD 00001745: DUP1 00001746: SWAP2 00001747: SUB 00001748: SWAP1 00001749: REVERT 0000174a: JUMPDEST 0000174b: PUSH2 0x1752 0000174e: PUSH2 0x303c 00001751: JUMP 00001752: JUMPDEST 00001753: PUSH1 0x00 00001755: DUP1 00001756: PUSH2 0x1765 00001759: DUP11 0000175a: DUP11 0000175b: DUP11 0000175c: DUP11 0000175d: PUSH1 0x01 0000175f: DUP12 00001760: DUP12 00001761: PUSH2 0x20f3 00001764: JUMP 00001765: JUMPDEST 00001766: SWAP2 00001767: POP 00001768: SWAP2 00001769: POP 0000176a: PUSH2 0x1771 0000176d: PUSH2 0x22a7 00001770: JUMP 00001771: JUMPDEST 00001772: PUSH2 0x1779 00001775: PUSH2 0x2969 00001778: JUMP 00001779: JUMPDEST 0000177a: POP 0000177b: POP 0000177c: PUSH2 0x1783 0000177f: PUSH2 0x5531 00001782: JUMP 00001783: JUMPDEST 00001784: PUSH2 0x178b 00001787: PUSH2 0x5551 0000178a: JUMP 0000178b: JUMPDEST 0000178c: PUSH2 0x1798 0000178f: DUP5 00001790: DUP5 00001791: DUP14 00001792: DUP14 00001793: DUP14 00001794: PUSH2 0x22e0 00001797: JUMP 00001798: JUMPDEST 00001799: PUSH1 0x01 0000179b: PUSH1 0x01 0000179d: PUSH1 0x80 0000179f: SHL 000017a0: SUB 000017a1: SWAP1 000017a2: SWAP2 000017a3: AND 000017a4: PUSH1 0x40 000017a6: DUP9 000017a7: ADD 000017a8: MSTORE 000017a9: PUSH1 0x02 000017ab: SWAP2 000017ac: SWAP1 000017ad: SWAP2 000017ae: SIGNEXTEND 000017af: PUSH1 0x20 000017b1: DUP8 000017b2: ADD 000017b3: MSTORE 000017b4: PUSH1 0x01 000017b6: PUSH1 0x01 000017b8: PUSH1 0xa0 000017ba: SHL 000017bb: SUB 000017bc: SWAP1 000017bd: SWAP2 000017be: AND 000017bf: DUP6 000017c0: MSTORE 000017c1: SWAP2 000017c2: SWAP8 000017c3: POP 000017c4: SWAP6 000017c5: POP 000017c6: SWAP1 000017c7: POP 000017c8: DUP11 000017c9: ISZERO 000017ca: PUSH2 0x1862 000017cd: JUMPI 000017ce: PUSH1 0x00 000017d0: DUP6 000017d1: SLT 000017d2: ISZERO 000017d3: PUSH2 0x1804 000017d6: JUMPI 000017d7: PUSH2 0x1804 000017da: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 000017fb: DUP14 000017fc: DUP8 000017fd: PUSH1 0x00 000017ff: SUB 00001800: PUSH2 0x2b72 00001803: JUMP 00001804: JUMPDEST 00001805: DUP6 00001806: DUP11 00001807: SUB 00001808: DUP11 00001809: DUP8 0000180a: EQ 0000180b: PUSH2 0x1839 0000180e: JUMPI 0000180f: PUSH2 0x1839 00001812: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001833: DUP16 00001834: DUP4 00001835: PUSH2 0x2b72 00001838: JUMP 00001839: JUMPDEST 0000183a: PUSH2 0x185c 0000183d: PUSH2 0x1845 00001840: DUP3 00001841: PUSH2 0x3a19 00001844: JUMP 00001845: JUMPDEST 00001846: PUSH1 0x00 00001848: SUB 00001849: DUP8 0000184a: DUP5 0000184b: PUSH1 0x00 0000184d: ADD 0000184e: MLOAD 0000184f: PUSH1 0x00 00001851: DUP7 00001852: PUSH1 0x20 00001854: ADD 00001855: MLOAD 00001856: PUSH1 0x00 00001858: PUSH2 0x2c78 0000185b: JUMP 0000185c: JUMPDEST 0000185d: POP 0000185e: PUSH2 0x18f3 00001861: JUMP 00001862: JUMPDEST 00001863: PUSH1 0x00 00001865: DUP7 00001866: SLT 00001867: ISZERO 00001868: PUSH2 0x1899 0000186b: JUMPI 0000186c: PUSH2 0x1899 0000186f: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001890: DUP14 00001891: DUP9 00001892: PUSH1 0x00 00001894: SUB 00001895: PUSH2 0x2b72 00001898: JUMP 00001899: JUMPDEST 0000189a: DUP5 0000189b: DUP11 0000189c: SUB 0000189d: DUP11 0000189e: DUP7 0000189f: EQ 000018a0: PUSH2 0x18ce 000018a3: JUMPI 000018a4: PUSH2 0x18ce 000018a7: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 000018c8: DUP16 000018c9: DUP4 000018ca: PUSH2 0x2b72 000018cd: JUMP 000018ce: JUMPDEST 000018cf: PUSH2 0x18f1 000018d2: DUP8 000018d3: PUSH2 0x18db 000018d6: DUP4 000018d7: PUSH2 0x3a19 000018da: JUMP 000018db: JUMPDEST 000018dc: PUSH1 0x00 000018de: SUB 000018df: PUSH1 0x00 000018e1: DUP6 000018e2: PUSH1 0x00 000018e4: ADD 000018e5: MLOAD 000018e6: PUSH1 0x00 000018e8: DUP8 000018e9: PUSH1 0x20 000018eb: ADD 000018ec: MLOAD 000018ed: PUSH2 0x2c78 000018f0: JUMP 000018f1: JUMPDEST 000018f2: POP 000018f3: JUMPDEST 000018f4: PUSH2 0x190f 000018f7: DUP13 000018f8: DUP8 000018f9: DUP8 000018fa: DUP6 000018fb: PUSH1 0x00 000018fd: ADD 000018fe: MLOAD 000018ff: DUP7 00001900: PUSH1 0x40 00001902: ADD 00001903: MLOAD 00001904: DUP8 00001905: PUSH1 0x20 00001907: ADD 00001908: MLOAD 00001909: DUP11 0000190a: DUP11 0000190b: PUSH2 0x2fb6 0000190e: JUMP 0000190f: JUMPDEST 00001910: PUSH2 0x1917 00001913: PUSH2 0x303c 00001916: JUMP 00001917: JUMPDEST 00001918: PUSH2 0x1927 0000191b: DUP13 0000191c: DUP13 0000191d: DUP13 0000191e: DUP13 0000191f: DUP11 00001920: DUP11 00001921: DUP15 00001922: DUP15 00001923: PUSH2 0x3051 00001926: JUMP 00001927: JUMPDEST 00001928: POP 00001929: POP 0000192a: POP 0000192b: POP 0000192c: SWAP8 0000192d: POP 0000192e: SWAP8 0000192f: SWAP6 00001930: POP 00001931: POP 00001932: POP 00001933: POP 00001934: POP 00001935: POP 00001936: JUMP 00001937: JUMPDEST 00001938: PUSH1 0x00 0000193a: DUP1 0000193b: PUSH1 0x00 0000193d: DUP8 0000193e: DUP8 0000193f: PUSH2 0x1948 00001942: DUP3 00001943: DUP3 00001944: PUSH2 0x341d 00001947: JUMP 00001948: JUMPDEST 00001949: DUP8 0000194a: PUSH1 0x01 0000194c: PUSH1 0x01 0000194e: PUSH1 0x80 00001950: SHL 00001951: SUB 00001952: AND 00001953: PUSH1 0x00 00001955: SUB 00001956: PUSH2 0x1972 00001959: JUMPI 0000195a: PUSH1 0x40 0000195c: MLOAD 0000195d: PUSH4 0xe6ace6df 00001962: PUSH1 0xe0 00001964: SHL 00001965: DUP2 00001966: MSTORE 00001967: PUSH1 0x04 00001969: ADD 0000196a: PUSH1 0x40 0000196c: MLOAD 0000196d: DUP1 0000196e: SWAP2 0000196f: SUB 00001970: SWAP1 00001971: REVERT 00001972: JUMPDEST 00001973: PUSH2 0x1991 00001976: DUP12 00001977: DUP12 00001978: DUP12 00001979: PUSH2 0x198a 0000197c: DUP13 0000197d: PUSH1 0x01 0000197f: PUSH1 0x01 00001981: PUSH1 0x80 00001983: SHL 00001984: SUB 00001985: AND 00001986: PUSH2 0x3a2d 00001989: JUMP 0000198a: JUMPDEST 0000198b: DUP12 0000198c: DUP12 0000198d: PUSH2 0x349f 00001990: JUMP 00001991: JUMPDEST 00001992: POP 00001993: PUSH2 0x199a 00001996: PUSH2 0x22a7 00001999: JUMP 0000199a: JUMPDEST 0000199b: PUSH1 0x02 0000199d: DUP1 0000199e: SLOAD 0000199f: PUSH1 0x01 000019a1: PUSH1 0xa0 000019a3: SHL 000019a4: DUP2 000019a5: DIV 000019a6: SWAP1 000019a7: SWAP2 000019a8: SIGNEXTEND 000019a9: SWAP1 000019aa: PUSH1 0x01 000019ac: PUSH1 0x01 000019ae: PUSH1 0xa0 000019b0: SHL 000019b1: SUB 000019b2: AND 000019b3: PUSH1 0x00 000019b5: DUP2 000019b6: SWAP1 000019b7: SUB 000019b8: PUSH2 0x19d4 000019bb: JUMPI 000019bc: PUSH1 0x40 000019be: MLOAD 000019bf: PUSH4 0x812eb655 000019c4: PUSH1 0xe0 000019c6: SHL 000019c7: DUP2 000019c8: MSTORE 000019c9: PUSH1 0x04 000019cb: ADD 000019cc: PUSH1 0x40 000019ce: MLOAD 000019cf: DUP1 000019d0: SWAP2 000019d1: SUB 000019d2: SWAP1 000019d3: REVERT 000019d4: JUMPDEST 000019d5: PUSH1 0x09 000019d7: SLOAD 000019d8: PUSH1 0x01 000019da: PUSH1 0xb0 000019dc: SHL 000019dd: SWAP1 000019de: DIV 000019df: PUSH1 0x02 000019e1: SWAP1 000019e2: DUP2 000019e3: SIGNEXTEND 000019e4: SWAP1 000019e5: DUP2 000019e6: SWAP1 000019e7: DUP14 000019e8: SWAP1 000019e9: SIGNEXTEND 000019ea: DUP2 000019eb: PUSH2 0x19f6 000019ee: JUMPI 000019ef: PUSH2 0x19f6 000019f2: PUSH2 0x55f9 000019f5: JUMP 000019f6: JUMPDEST 000019f7: SMOD 000019f8: DUP2 000019f9: PUSH1 0x02 000019fb: SIGNEXTEND 000019fc: DUP15 000019fd: PUSH1 0x02 000019ff: SIGNEXTEND 00001a00: DUP2 00001a01: PUSH2 0x1a0c 00001a04: JUMPI 00001a05: PUSH2 0x1a0c 00001a08: PUSH2 0x55f9 00001a0b: JUMP 00001a0c: JUMPDEST 00001a0d: SMOD 00001a0e: OR 00001a0f: PUSH1 0x02 00001a11: SIGNEXTEND 00001a12: ISZERO 00001a13: PUSH2 0x1a2f 00001a16: JUMPI 00001a17: PUSH1 0x40 00001a19: MLOAD 00001a1a: PUSH4 0x5f6e14f3 00001a1f: PUSH1 0xe0 00001a21: SHL 00001a22: DUP2 00001a23: MSTORE 00001a24: PUSH1 0x04 00001a26: ADD 00001a27: PUSH1 0x40 00001a29: MLOAD 00001a2a: DUP1 00001a2b: SWAP2 00001a2c: SUB 00001a2d: SWAP1 00001a2e: REVERT 00001a2f: JUMPDEST 00001a30: POP 00001a31: PUSH2 0x1a4e 00001a34: DUP13 00001a35: DUP13 00001a36: PUSH2 0x1a47 00001a39: DUP14 00001a3a: PUSH1 0x01 00001a3c: PUSH1 0x01 00001a3e: PUSH1 0x80 00001a40: SHL 00001a41: SUB 00001a42: AND 00001a43: PUSH2 0x3a2d 00001a46: JUMP 00001a47: JUMPDEST 00001a48: DUP6 00001a49: DUP6 00001a4a: PUSH2 0x3a40 00001a4d: JUMP 00001a4e: JUMPDEST 00001a4f: POP 00001a50: SWAP1 00001a51: SWAP8 00001a52: POP 00001a53: SWAP6 00001a54: POP 00001a55: PUSH1 0x00 00001a57: SWAP2 00001a58: POP 00001a59: DUP2 00001a5a: SWAP1 00001a5b: POP 00001a5c: PUSH2 0x1a63 00001a5f: PUSH2 0x2969 00001a62: JUMP 00001a63: JUMPDEST 00001a64: SWAP2 00001a65: POP 00001a66: SWAP2 00001a67: POP 00001a68: PUSH2 0x1a73 00001a6b: DUP8 00001a6c: DUP8 00001a6d: DUP12 00001a6e: DUP12 00001a6f: PUSH2 0x3aef 00001a72: JUMP 00001a73: JUMPDEST 00001a74: DUP7 00001a75: ISZERO 00001a76: PUSH2 0x1a91 00001a79: JUMPI 00001a7a: DUP2 00001a7b: PUSH2 0x1a82 00001a7e: PUSH2 0x2be3 00001a81: JUMP 00001a82: JUMPDEST 00001a83: PUSH2 0x1a8c 00001a86: SWAP2 00001a87: SWAP1 00001a88: PUSH2 0x55bf 00001a8b: JUMP 00001a8c: JUMPDEST 00001a8d: PUSH2 0x1a94 00001a90: JUMP 00001a91: JUMPDEST 00001a92: PUSH1 0x00 00001a94: JUMPDEST 00001a95: SWAP2 00001a96: POP 00001a97: DUP6 00001a98: ISZERO 00001a99: PUSH2 0x1ab4 00001a9c: JUMPI 00001a9d: DUP1 00001a9e: PUSH2 0x1aa5 00001aa1: PUSH2 0x2f67 00001aa4: JUMP 00001aa5: JUMPDEST 00001aa6: PUSH2 0x1aaf 00001aa9: SWAP2 00001aaa: SWAP1 00001aab: PUSH2 0x55bf 00001aae: JUMP 00001aaf: JUMPDEST 00001ab0: PUSH2 0x1ab7 00001ab3: JUMP 00001ab4: JUMPDEST 00001ab5: PUSH1 0x00 00001ab7: JUMPDEST 00001ab8: SWAP1 00001ab9: POP 00001aba: DUP7 00001abb: DUP3 00001abc: LT 00001abd: ISZERO 00001abe: PUSH2 0x1adc 00001ac1: JUMPI 00001ac2: PUSH2 0x1ad5 00001ac5: DUP11 00001ac6: PUSH1 0x01 00001ac8: PUSH1 0x01 00001aca: PUSH1 0x80 00001acc: SHL 00001acd: SUB 00001ace: AND 00001acf: DUP4 00001ad0: DUP10 00001ad1: PUSH2 0x3742 00001ad4: JUMP 00001ad5: JUMPDEST 00001ad6: SWAP5 00001ad7: POP 00001ad8: PUSH2 0x1ae0 00001adb: JUMP 00001adc: JUMPDEST 00001add: DUP10 00001ade: SWAP5 00001adf: POP 00001ae0: JUMPDEST 00001ae1: DUP6 00001ae2: DUP2 00001ae3: LT 00001ae4: ISZERO 00001ae5: PUSH2 0x1b20 00001ae8: JUMPI 00001ae9: PUSH1 0x00 00001aeb: PUSH2 0x1afe 00001aee: DUP12 00001aef: PUSH1 0x01 00001af1: PUSH1 0x01 00001af3: PUSH1 0x80 00001af5: SHL 00001af6: SUB 00001af7: AND 00001af8: DUP4 00001af9: DUP10 00001afa: PUSH2 0x3742 00001afd: JUMP 00001afe: JUMPDEST 00001aff: SWAP1 00001b00: POP 00001b01: DUP6 00001b02: PUSH1 0x01 00001b04: PUSH1 0x01 00001b06: PUSH1 0x80 00001b08: SHL 00001b09: SUB 00001b0a: AND 00001b0b: DUP2 00001b0c: PUSH1 0x01 00001b0e: PUSH1 0x01 00001b10: PUSH1 0x80 00001b12: SHL 00001b13: SUB 00001b14: AND 00001b15: LT 00001b16: ISZERO 00001b17: PUSH2 0x1b1e 00001b1a: JUMPI 00001b1b: DUP1 00001b1c: SWAP6 00001b1d: POP 00001b1e: JUMPDEST 00001b1f: POP 00001b20: JUMPDEST 00001b21: DUP5 00001b22: PUSH1 0x01 00001b24: PUSH1 0x01 00001b26: PUSH1 0x80 00001b28: SHL 00001b29: SUB 00001b2a: AND 00001b2b: PUSH1 0x00 00001b2d: SUB 00001b2e: PUSH2 0x1b4a 00001b31: JUMPI 00001b32: PUSH1 0x40 00001b34: MLOAD 00001b35: PUSH4 0x2fae8a9b 00001b3a: PUSH1 0xe2 00001b3c: SHL 00001b3d: DUP2 00001b3e: MSTORE 00001b3f: PUSH1 0x04 00001b41: ADD 00001b42: PUSH1 0x40 00001b44: MLOAD 00001b45: DUP1 00001b46: SWAP2 00001b47: SUB 00001b48: SWAP1 00001b49: REVERT 00001b4a: JUMPDEST 00001b4b: PUSH1 0x00 00001b4d: PUSH2 0x1b57 00001b50: DUP15 00001b51: DUP15 00001b52: DUP15 00001b53: PUSH2 0x35f4 00001b56: JUMP 00001b57: JUMPDEST 00001b58: SWAP1 00001b59: POP 00001b5a: PUSH2 0x1b76 00001b5d: DUP2 00001b5e: DUP15 00001b5f: DUP15 00001b60: PUSH2 0x1b71 00001b63: DUP11 00001b64: PUSH1 0x01 00001b66: PUSH1 0x01 00001b68: PUSH1 0x80 00001b6a: SHL 00001b6b: SUB 00001b6c: AND 00001b6d: PUSH2 0x3a2d 00001b70: JUMP 00001b71: JUMPDEST 00001b72: PUSH2 0x3620 00001b75: JUMP 00001b76: JUMPDEST 00001b77: SWAP1 00001b78: SWAP9 00001b79: POP 00001b7a: SWAP7 00001b7b: POP 00001b7c: POP 00001b7d: DUP7 00001b7e: ISZERO 00001b7f: PUSH2 0x1bcb 00001b82: JUMPI 00001b83: DUP7 00001b84: DUP3 00001b85: GT 00001b86: ISZERO 00001b87: PUSH2 0x1bbc 00001b8a: JUMPI 00001b8b: PUSH2 0x1bb7 00001b8e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001baf: DUP16 00001bb0: DUP10 00001bb1: DUP6 00001bb2: SUB 00001bb3: PUSH2 0x2b72 00001bb6: JUMP 00001bb7: JUMPDEST 00001bb8: PUSH2 0x1bcb 00001bbb: JUMP 00001bbc: JUMPDEST 00001bbd: DUP7 00001bbe: DUP3 00001bbf: EQ 00001bc0: PUSH2 0x1bcb 00001bc3: JUMPI 00001bc4: PUSH2 0x1bcb 00001bc7: PUSH2 0x560f 00001bca: JUMP 00001bcb: JUMPDEST 00001bcc: DUP6 00001bcd: ISZERO 00001bce: PUSH2 0x1c1a 00001bd1: JUMPI 00001bd2: DUP6 00001bd3: DUP2 00001bd4: GT 00001bd5: ISZERO 00001bd6: PUSH2 0x1c0b 00001bd9: JUMPI 00001bda: PUSH2 0x1c06 00001bdd: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 00001bfe: DUP16 00001bff: DUP9 00001c00: DUP5 00001c01: SUB 00001c02: PUSH2 0x2b72 00001c05: JUMP 00001c06: JUMPDEST 00001c07: PUSH2 0x1c1a 00001c0a: JUMP 00001c0b: JUMPDEST 00001c0c: DUP6 00001c0d: DUP2 00001c0e: EQ 00001c0f: PUSH2 0x1c1a 00001c12: JUMPI 00001c13: PUSH2 0x1c1a 00001c16: PUSH2 0x560f 00001c19: JUMP 00001c1a: JUMPDEST 00001c1b: PUSH2 0x1c2a 00001c1e: DUP8 00001c1f: DUP8 00001c20: PUSH1 0x00 00001c22: DUP1 00001c23: PUSH1 0x00 00001c25: DUP1 00001c26: PUSH2 0x2c78 00001c29: JUMP 00001c2a: JUMPDEST 00001c2b: DUP11 00001c2c: PUSH1 0x02 00001c2e: SIGNEXTEND 00001c2f: DUP13 00001c30: PUSH1 0x02 00001c32: SIGNEXTEND 00001c33: DUP15 00001c34: PUSH1 0x01 00001c36: PUSH1 0x01 00001c38: PUSH1 0xa0 00001c3a: SHL 00001c3b: SUB 00001c3c: AND 00001c3d: PUSH32 0x7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde 00001c5e: CALLER 00001c5f: DUP10 00001c60: DUP13 00001c61: DUP13 00001c62: PUSH1 0x40 00001c64: MLOAD 00001c65: DUP1 00001c66: DUP6 00001c67: PUSH1 0x01 00001c69: PUSH1 0x01 00001c6b: PUSH1 0xa0 00001c6d: SHL 00001c6e: SUB 00001c6f: AND 00001c70: DUP2 00001c71: MSTORE 00001c72: PUSH1 0x20 00001c74: ADD 00001c75: DUP5 00001c76: PUSH1 0x01 00001c78: PUSH1 0x01 00001c7a: PUSH1 0x80 00001c7c: SHL 00001c7d: SUB 00001c7e: AND 00001c7f: DUP2 00001c80: MSTORE 00001c81: PUSH1 0x20 00001c83: ADD 00001c84: DUP4 00001c85: DUP2 00001c86: MSTORE 00001c87: PUSH1 0x20 00001c89: ADD 00001c8a: DUP3 00001c8b: DUP2 00001c8c: MSTORE 00001c8d: PUSH1 0x20 00001c8f: ADD 00001c90: SWAP5 00001c91: POP 00001c92: POP 00001c93: POP 00001c94: POP 00001c95: POP 00001c96: PUSH1 0x40 00001c98: MLOAD 00001c99: DUP1 00001c9a: SWAP2 00001c9b: SUB 00001c9c: SWAP1 00001c9d: LOG4 00001c9e: PUSH2 0x1ca5 00001ca1: PUSH2 0x303c 00001ca4: JUMP 00001ca5: JUMPDEST 00001ca6: PUSH2 0x1cc6 00001ca9: DUP14 00001caa: DUP14 00001cab: DUP14 00001cac: PUSH2 0x1cbd 00001caf: DUP10 00001cb0: PUSH1 0x01 00001cb2: PUSH1 0x01 00001cb4: PUSH1 0x80 00001cb6: SHL 00001cb7: SUB 00001cb8: AND 00001cb9: PUSH2 0x3a2d 00001cbc: JUMP 00001cbd: JUMPDEST 00001cbe: DUP12 00001cbf: DUP12 00001cc0: DUP16 00001cc1: DUP16 00001cc2: PUSH2 0x37db 00001cc5: JUMP 00001cc6: JUMPDEST 00001cc7: POP 00001cc8: POP 00001cc9: POP 00001cca: POP 00001ccb: SWAP8 00001ccc: POP 00001ccd: SWAP8 00001cce: POP 00001ccf: SWAP8 00001cd0: SWAP5 00001cd1: POP 00001cd2: POP 00001cd3: POP 00001cd4: POP 00001cd5: POP 00001cd6: JUMP 00001cd7: JUMPDEST 00001cd8: PUSH2 0x1cdf 00001cdb: PUSH2 0x32d6 00001cde: JUMP 00001cdf: JUMPDEST 00001ce0: PUSH1 0x06 00001ce2: SLOAD 00001ce3: PUSH1 0x01 00001ce5: PUSH1 0x01 00001ce7: PUSH1 0xa0 00001ce9: SHL 00001cea: SUB 00001ceb: AND 00001cec: DUP1 00001ced: PUSH2 0x1d09 00001cf0: JUMPI 00001cf1: PUSH1 0x40 00001cf3: MLOAD 00001cf4: PUSH4 0x9e727ce3 00001cf9: PUSH1 0xe0 00001cfb: SHL 00001cfc: DUP2 00001cfd: MSTORE 00001cfe: PUSH1 0x04 00001d00: ADD 00001d01: PUSH1 0x40 00001d03: MLOAD 00001d04: DUP1 00001d05: SWAP2 00001d06: SUB 00001d07: SWAP1 00001d08: REVERT 00001d09: JUMPDEST 00001d0a: CALLER 00001d0b: PUSH1 0x01 00001d0d: PUSH1 0x01 00001d0f: PUSH1 0xa0 00001d11: SHL 00001d12: SUB 00001d13: DUP3 00001d14: AND 00001d15: EQ 00001d16: PUSH2 0x1d21 00001d19: JUMPI 00001d1a: PUSH2 0x1d21 00001d1d: PUSH2 0x3300 00001d20: JUMP 00001d21: JUMPDEST 00001d22: PUSH2 0x15b8 00001d25: DUP3 00001d26: PUSH2 0x3b18 00001d29: JUMP 00001d2a: JUMPDEST 00001d2b: PUSH2 0x1d32 00001d2e: PUSH2 0x32d6 00001d31: JUMP 00001d32: JUMPDEST 00001d33: PUSH2 0x1d3a 00001d36: PUSH2 0x3300 00001d39: JUMP 00001d3a: JUMPDEST 00001d3b: PUSH2 0x1d44 00001d3e: PUSH1 0x00 00001d40: PUSH2 0x3b18 00001d43: JUMP 00001d44: JUMPDEST 00001d45: PUSH2 0x0ddc 00001d48: DUP2 00001d49: PUSH2 0x3b66 00001d4c: JUMP 00001d4d: JUMPDEST 00001d4e: PUSH2 0x1d55 00001d51: PUSH2 0x32d6 00001d54: JUMP 00001d55: JUMPDEST 00001d56: CALLER 00001d57: PUSH1 0x01 00001d59: PUSH1 0x01 00001d5b: PUSH1 0xa0 00001d5d: SHL 00001d5e: SUB 00001d5f: PUSH32 0x000000000000000000000000fb8ed3485efa29a0e4bed93351dd51b59fc4b0f0 00001d80: AND 00001d81: EQ 00001d82: PUSH2 0x1d8d 00001d85: JUMPI 00001d86: PUSH2 0x1d8d 00001d89: PUSH2 0x3300 00001d8c: JUMP 00001d8d: JUMPDEST 00001d8e: PUSH1 0x01 00001d90: PUSH1 0x01 00001d92: PUSH1 0xa0 00001d94: SHL 00001d95: SUB 00001d96: DUP2 00001d97: AND 00001d98: ISZERO 00001d99: DUP1 00001d9a: ISZERO 00001d9b: PUSH2 0x1db0 00001d9e: JUMPI 00001d9f: POP 00001da0: PUSH1 0x02 00001da2: SLOAD 00001da3: PUSH1 0x01 00001da5: PUSH1 0xd0 00001da7: SHL 00001da8: SWAP1 00001da9: DIV 00001daa: PUSH2 0xffff 00001dad: AND 00001dae: ISZERO 00001daf: ISZERO 00001db0: JUMPDEST 00001db1: ISZERO 00001db2: PUSH2 0x1dbf 00001db5: JUMPI 00001db6: PUSH2 0x1dbf 00001db9: PUSH1 0x00 00001dbb: PUSH2 0x33c6 00001dbe: JUMP 00001dbf: JUMPDEST 00001dc0: PUSH2 0x0ddc 00001dc3: DUP2 00001dc4: PUSH2 0x3bb1 00001dc7: JUMP 00001dc8: JUMPDEST 00001dc9: PUSH1 0x02 00001dcb: SLOAD 00001dcc: PUSH1 0x01 00001dce: PUSH1 0xb8 00001dd0: SHL 00001dd1: DUP2 00001dd2: DIV 00001dd3: PUSH2 0xffff 00001dd6: AND 00001dd7: SWAP1 00001dd8: PUSH1 0x01 00001dda: PUSH1 0xc8 00001ddc: SHL 00001ddd: SWAP1 00001dde: DIV 00001ddf: PUSH1 0xff 00001de1: DUP2 00001de2: AND 00001de3: SWAP1 00001de4: PUSH1 0x80 00001de6: AND 00001de7: ISZERO 00001de8: PUSH2 0x1e68 00001deb: JUMPI 00001dec: PUSH1 0x06 00001dee: PUSH1 0x00 00001df0: SWAP1 00001df1: SLOAD 00001df2: SWAP1 00001df3: PUSH2 0x0100 00001df6: EXP 00001df7: SWAP1 00001df8: DIV 00001df9: PUSH1 0x01 00001dfb: PUSH1 0x01 00001dfd: PUSH1 0xa0 00001dff: SHL 00001e00: SUB 00001e01: AND 00001e02: PUSH1 0x01 00001e04: PUSH1 0x01 00001e06: PUSH1 0xa0 00001e08: SHL 00001e09: SUB 00001e0a: AND 00001e0b: PUSH4 0xf70d9362 00001e10: PUSH1 0x40 00001e12: MLOAD 00001e13: DUP2 00001e14: PUSH4 0xffffffff 00001e19: AND 00001e1a: PUSH1 0xe0 00001e1c: SHL 00001e1d: DUP2 00001e1e: MSTORE 00001e1f: PUSH1 0x04 00001e21: ADD 00001e22: PUSH1 0x20 00001e24: PUSH1 0x40 00001e26: MLOAD 00001e27: DUP1 00001e28: DUP4 00001e29: SUB 00001e2a: DUP2 00001e2b: DUP7 00001e2c: GAS 00001e2d: STATICCALL 00001e2e: ISZERO 00001e2f: DUP1 00001e30: ISZERO 00001e31: PUSH2 0x1e3e 00001e34: JUMPI 00001e35: RETURNDATASIZE 00001e36: PUSH1 0x00 00001e38: DUP1 00001e39: RETURNDATACOPY 00001e3a: RETURNDATASIZE 00001e3b: PUSH1 0x00 00001e3d: REVERT 00001e3e: JUMPDEST 00001e3f: POP 00001e40: POP 00001e41: POP 00001e42: POP 00001e43: PUSH1 0x40 00001e45: MLOAD 00001e46: RETURNDATASIZE 00001e47: PUSH1 0x1f 00001e49: NOT 00001e4a: PUSH1 0x1f 00001e4c: DUP3 00001e4d: ADD 00001e4e: AND 00001e4f: DUP3 00001e50: ADD 00001e51: DUP1 00001e52: PUSH1 0x40 00001e54: MSTORE 00001e55: POP 00001e56: DUP2 00001e57: ADD 00001e58: SWAP1 00001e59: PUSH2 0x1e62 00001e5c: SWAP2 00001e5d: SWAP1 00001e5e: PUSH2 0x5637 00001e61: JUMP 00001e62: JUMPDEST 00001e63: SWAP2 00001e64: POP 00001e65: POP 00001e66: SWAP1 00001e67: JUMP 00001e68: JUMPDEST 00001e69: POP 00001e6a: SWAP1 00001e6b: JUMP 00001e6c: JUMPDEST 00001e6d: PUSH2 0x1e74 00001e70: PUSH2 0x32d6 00001e73: JUMP 00001e74: JUMPDEST 00001e75: PUSH2 0x1e7c 00001e78: PUSH2 0x3300 00001e7b: JUMP 00001e7c: JUMPDEST 00001e7d: PUSH1 0x00 00001e7f: DUP2 00001e80: PUSH1 0x02 00001e82: SIGNEXTEND 00001e83: SGT 00001e84: ISZERO 00001e85: DUP1 00001e86: PUSH2 0x1e94 00001e89: JUMPI 00001e8a: POP 00001e8b: PUSH2 0x01f4 00001e8e: PUSH1 0x02 00001e90: DUP3 00001e91: SWAP1 00001e92: SIGNEXTEND 00001e93: SGT 00001e94: JUMPDEST 00001e95: DUP1 00001e96: PUSH2 0x1eae 00001e99: JUMPI 00001e9a: POP 00001e9b: PUSH1 0x09 00001e9d: SLOAD 00001e9e: PUSH1 0x02 00001ea0: DUP3 00001ea1: DUP2 00001ea2: SIGNEXTEND 00001ea3: PUSH1 0x01 00001ea5: PUSH1 0xb0 00001ea7: SHL 00001ea8: SWAP1 00001ea9: SWAP3 00001eaa: DIV 00001eab: SWAP1 00001eac: SIGNEXTEND 00001ead: EQ 00001eae: JUMPDEST 00001eaf: ISZERO 00001eb0: PUSH2 0x1ecc 00001eb3: JUMPI 00001eb4: PUSH1 0x40 00001eb6: MLOAD 00001eb7: PUSH4 0x2bf827d1 00001ebc: PUSH1 0xe2 00001ebe: SHL 00001ebf: DUP2 00001ec0: MSTORE 00001ec1: PUSH1 0x04 00001ec3: ADD 00001ec4: PUSH1 0x40 00001ec6: MLOAD 00001ec7: DUP1 00001ec8: SWAP2 00001ec9: SUB 00001eca: SWAP1 00001ecb: REVERT 00001ecc: JUMPDEST 00001ecd: PUSH2 0x0ddc 00001ed0: DUP2 00001ed1: PUSH2 0x3bfc 00001ed4: JUMP 00001ed5: JUMPDEST 00001ed6: PUSH1 0x00 00001ed8: PUSH2 0x1ee0 00001edb: DUP3 00001edc: PUSH2 0x3c4c 00001edf: JUMP 00001ee0: JUMPDEST 00001ee1: PUSH1 0x02 00001ee3: SLOAD 00001ee4: SWAP1 00001ee5: SWAP2 00001ee6: POP 00001ee7: PUSH1 0x01 00001ee9: PUSH1 0x01 00001eeb: PUSH1 0xa0 00001eed: SHL 00001eee: SUB 00001eef: AND 00001ef0: ISZERO 00001ef1: PUSH2 0x1f0d 00001ef4: JUMPI 00001ef5: PUSH1 0x40 00001ef7: MLOAD 00001ef8: PUSH4 0x1499a6b7 00001efd: PUSH1 0xe2 00001eff: SHL 00001f00: DUP2 00001f01: MSTORE 00001f02: PUSH1 0x04 00001f04: ADD 00001f05: PUSH1 0x40 00001f07: MLOAD 00001f08: DUP1 00001f09: SWAP2 00001f0a: SUB 00001f0b: SWAP1 00001f0c: REVERT 00001f0d: JUMPDEST 00001f0e: PUSH1 0x02 00001f10: DUP1 00001f11: SLOAD 00001f12: PUSH1 0x01 00001f14: PUSH1 0x01 00001f16: PUSH1 0xa0 00001f18: SHL 00001f19: SUB 00001f1a: DUP5 00001f1b: AND 00001f1c: PUSH1 0x01 00001f1e: PUSH1 0x01 00001f20: PUSH1 0xb8 00001f22: SHL 00001f23: SUB 00001f24: NOT 00001f25: SWAP1 00001f26: SWAP2 00001f27: AND 00001f28: DUP2 00001f29: OR 00001f2a: PUSH1 0x01 00001f2c: PUSH1 0xa0 00001f2e: SHL 00001f2f: PUSH3 0xffffff 00001f33: DUP6 00001f34: AND 00001f35: MUL 00001f36: OR 00001f37: DUP3 00001f38: SSTORE 00001f39: PUSH1 0x40 00001f3b: DUP1 00001f3c: MLOAD 00001f3d: SWAP2 00001f3e: DUP3 00001f3f: MSTORE 00001f40: SWAP2 00001f41: DUP4 00001f42: SWAP1 00001f43: SIGNEXTEND 00001f44: PUSH1 0x20 00001f46: DUP3 00001f47: ADD 00001f48: MSTORE 00001f49: DUP2 00001f4a: MLOAD 00001f4b: PUSH32 0x98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95 00001f6c: SWAP3 00001f6d: SWAP2 00001f6e: DUP2 00001f6f: SWAP1 00001f70: SUB 00001f71: SWAP1 00001f72: SWAP2 00001f73: ADD 00001f74: SWAP1 00001f75: LOG1 00001f76: PUSH1 0x06 00001f78: SLOAD 00001f79: PUSH1 0x01 00001f7b: PUSH1 0x01 00001f7d: PUSH1 0xa0 00001f7f: SHL 00001f80: SUB 00001f81: AND 00001f82: ISZERO 00001f83: PUSH2 0x1fe6 00001f86: JUMPI 00001f87: PUSH1 0x06 00001f89: SLOAD 00001f8a: PUSH1 0x40 00001f8c: DUP1 00001f8d: MLOAD 00001f8e: PUSH4 0x18dbf601 00001f93: PUSH1 0xe2 00001f95: SHL 00001f96: DUP1 00001f97: DUP3 00001f98: MSTORE 00001f99: CALLER 00001f9a: PUSH1 0x04 00001f9c: DUP4 00001f9d: ADD 00001f9e: MSTORE 00001f9f: PUSH1 0x01 00001fa1: PUSH1 0x01 00001fa3: PUSH1 0xa0 00001fa5: SHL 00001fa6: SUB 00001fa7: DUP7 00001fa8: DUP2 00001fa9: AND 00001faa: PUSH1 0x24 00001fac: DUP5 00001fad: ADD 00001fae: MSTORE 00001faf: SWAP3 00001fb0: MLOAD 00001fb1: PUSH2 0x1fe6 00001fb4: SWAP5 00001fb5: SWAP2 00001fb6: SWAP4 00001fb7: SWAP1 00001fb8: SWAP2 00001fb9: AND 00001fba: SWAP2 00001fbb: PUSH4 0x636fd804 00001fc0: SWAP2 00001fc1: PUSH1 0x44 00001fc3: DUP1 00001fc4: DUP4 00001fc5: ADD 00001fc6: SWAP3 00001fc7: PUSH1 0x20 00001fc9: SWAP3 00001fca: SWAP2 00001fcb: SWAP1 00001fcc: DUP3 00001fcd: SWAP1 00001fce: SUB 00001fcf: ADD 00001fd0: DUP2 00001fd1: PUSH1 0x00 00001fd3: DUP8 00001fd4: GAS 00001fd5: CALL 00001fd6: ISZERO 00001fd7: DUP1 00001fd8: ISZERO 00001fd9: PUSH2 0x10a1 00001fdc: JUMPI 00001fdd: RETURNDATASIZE 00001fde: PUSH1 0x00 00001fe0: DUP1 00001fe1: RETURNDATACOPY 00001fe2: RETURNDATASIZE 00001fe3: PUSH1 0x00 00001fe5: REVERT 00001fe6: JUMPDEST 00001fe7: PUSH1 0x00 00001fe9: DUP1 00001fea: PUSH1 0x00 00001fec: PUSH2 0x1ff3 00001fef: PUSH2 0x3f1e 00001ff2: JUMP 00001ff3: JUMPDEST 00001ff4: SWAP3 00001ff5: POP 00001ff6: SWAP3 00001ff7: POP 00001ff8: SWAP3 00001ff9: POP 00001ffa: PUSH2 0x2002 00001ffd: DUP2 00001ffe: PUSH2 0x39c9 00002001: JUMP 00002002: JUMPDEST 00002003: PUSH2 0x200b 00002006: DUP3 00002007: PUSH2 0x3bfc 0000200a: JUMP 0000200b: JUMPDEST 0000200c: PUSH2 0xffff 0000200f: DUP4 00002010: AND 00002011: ISZERO 00002012: DUP1 00002013: ISZERO 00002014: SWAP1 00002015: PUSH2 0x2027 00002018: JUMPI 00002019: POP 0000201a: PUSH1 0x07 0000201c: SLOAD 0000201d: PUSH1 0x01 0000201f: PUSH1 0x01 00002021: PUSH1 0xa0 00002023: SHL 00002024: SUB 00002025: AND 00002026: ISZERO 00002027: JUMPDEST 00002028: ISZERO 00002029: PUSH2 0x2045 0000202c: JUMPI 0000202d: PUSH1 0x40 0000202f: MLOAD 00002030: PUSH4 0xa709b9af 00002035: PUSH1 0xe0 00002037: SHL 00002038: DUP2 00002039: MSTORE 0000203a: PUSH1 0x04 0000203c: ADD 0000203d: PUSH1 0x40 0000203f: MLOAD 00002040: DUP1 00002041: SWAP2 00002042: SUB 00002043: SWAP1 00002044: REVERT 00002045: JUMPDEST 00002046: PUSH2 0x204e 00002049: DUP4 0000204a: PUSH2 0x33c6 0000204d: JUMP 0000204e: JUMPDEST 0000204f: PUSH1 0x02 00002051: SLOAD 00002052: PUSH1 0x01 00002054: PUSH1 0xc8 00002056: SHL 00002057: SWAP1 00002058: DIV 00002059: PUSH1 0x40 0000205b: AND 0000205c: ISZERO 0000205d: PUSH2 0x20ca 00002060: JUMPI 00002061: PUSH1 0x06 00002063: SLOAD 00002064: PUSH1 0x40 00002066: DUP1 00002067: MLOAD 00002068: PUSH4 0x416eb291 0000206d: PUSH1 0xe1 0000206f: SHL 00002070: DUP1 00002071: DUP3 00002072: MSTORE 00002073: CALLER 00002074: PUSH1 0x04 00002076: DUP4 00002077: ADD 00002078: MSTORE 00002079: PUSH1 0x01 0000207b: PUSH1 0x01 0000207d: PUSH1 0xa0 0000207f: SHL 00002080: SUB 00002081: DUP10 00002082: DUP2 00002083: AND 00002084: PUSH1 0x24 00002086: DUP5 00002087: ADD 00002088: MSTORE 00002089: PUSH1 0x02 0000208b: DUP10 0000208c: SWAP1 0000208d: SIGNEXTEND 0000208e: PUSH1 0x44 00002090: DUP5 00002091: ADD 00002092: MSTORE 00002093: SWAP3 00002094: MLOAD 00002095: PUSH2 0x20ca 00002098: SWAP5 00002099: SWAP2 0000209a: SWAP4 0000209b: SWAP1 0000209c: SWAP2 0000209d: AND 0000209e: SWAP2 0000209f: PUSH4 0x82dd6522 000020a4: SWAP2 000020a5: PUSH1 0x64 000020a7: DUP1 000020a8: DUP4 000020a9: ADD 000020aa: SWAP3 000020ab: PUSH1 0x20 000020ad: SWAP3 000020ae: SWAP2 000020af: SWAP1 000020b0: DUP3 000020b1: SWAP1 000020b2: SUB 000020b3: ADD 000020b4: DUP2 000020b5: PUSH1 0x00 000020b7: DUP8 000020b8: GAS 000020b9: CALL 000020ba: ISZERO 000020bb: DUP1 000020bc: ISZERO 000020bd: PUSH2 0x10a1 000020c0: JUMPI 000020c1: RETURNDATASIZE 000020c2: PUSH1 0x00 000020c4: DUP1 000020c5: RETURNDATACOPY 000020c6: RETURNDATASIZE 000020c7: PUSH1 0x00 000020c9: REVERT 000020ca: JUMPDEST 000020cb: POP 000020cc: POP 000020cd: POP 000020ce: POP 000020cf: POP 000020d0: JUMP 000020d1: JUMPDEST 000020d2: PUSH2 0x20d9 000020d5: PUSH2 0x315a 000020d8: JUMP 000020d9: JUMPDEST 000020da: PUSH2 0x20e1 000020dd: PUSH2 0x22a7 000020e0: JUMP 000020e1: JUMPDEST 000020e2: PUSH2 0x20e9 000020e5: PUSH2 0x2969 000020e8: JUMP 000020e9: JUMPDEST 000020ea: POP 000020eb: POP 000020ec: PUSH2 0x0d5e 000020ef: PUSH2 0x303c 000020f2: JUMP 000020f3: JUMPDEST 000020f4: PUSH1 0x02 000020f6: SLOAD 000020f7: PUSH1 0x00 000020f9: SWAP1 000020fa: DUP2 000020fb: SWAP1 000020fc: PUSH1 0x01 000020fe: PUSH1 0xc8 00002100: SHL 00002101: SWAP1 00002102: DIV 00002103: PUSH1 0xff 00002105: AND 00002106: PUSH2 0x2111 00002109: DUP2 0000210a: PUSH1 0x01 0000210c: AND 0000210d: ISZERO 0000210e: ISZERO 0000210f: SWAP1 00002110: JUMP 00002111: JUMPDEST 00002112: ISZERO 00002113: PUSH2 0x2299 00002116: JUMPI 00002117: PUSH2 0x211e 0000211a: PUSH2 0x3fb0 0000211d: JUMP 0000211e: JUMPDEST 0000211f: ISZERO 00002120: PUSH2 0x2130 00002123: JUMPI 00002124: PUSH1 0x00 00002126: DUP1 00002127: SWAP3 00002128: POP 00002129: SWAP3 0000212a: POP 0000212b: POP 0000212c: PUSH2 0x229b 0000212f: JUMP 00002130: JUMPDEST 00002131: PUSH1 0x00 00002133: PUSH1 0x06 00002135: PUSH1 0x00 00002137: SWAP1 00002138: SLOAD 00002139: SWAP1 0000213a: PUSH2 0x0100 0000213d: EXP 0000213e: SWAP1 0000213f: DIV 00002140: PUSH1 0x01 00002142: PUSH1 0x01 00002144: PUSH1 0xa0 00002146: SHL 00002147: SUB 00002148: AND 00002149: PUSH1 0x01 0000214b: PUSH1 0x01 0000214d: PUSH1 0xa0 0000214f: SHL 00002150: SUB 00002151: AND 00002152: PUSH4 0x029c1cb7 00002157: CALLER 00002158: DUP14 00002159: DUP14 0000215a: DUP14 0000215b: DUP14 0000215c: DUP14 0000215d: DUP14 0000215e: DUP14 0000215f: PUSH1 0x40 00002161: MLOAD 00002162: DUP10 00002163: PUSH4 0xffffffff 00002168: AND 00002169: PUSH1 0xe0 0000216b: SHL 0000216c: DUP2 0000216d: MSTORE 0000216e: PUSH1 0x04 00002170: ADD 00002171: DUP1 00002172: DUP10 00002173: PUSH1 0x01 00002175: PUSH1 0x01 00002177: PUSH1 0xa0 00002179: SHL 0000217a: SUB 0000217b: AND 0000217c: DUP2 0000217d: MSTORE 0000217e: PUSH1 0x20 00002180: ADD 00002181: DUP9 00002182: PUSH1 0x01 00002184: PUSH1 0x01 00002186: PUSH1 0xa0 00002188: SHL 00002189: SUB 0000218a: AND 0000218b: DUP2 0000218c: MSTORE 0000218d: PUSH1 0x20 0000218f: ADD 00002190: DUP8 00002191: ISZERO 00002192: ISZERO 00002193: DUP2 00002194: MSTORE 00002195: PUSH1 0x20 00002197: ADD 00002198: DUP7 00002199: DUP2 0000219a: MSTORE 0000219b: PUSH1 0x20 0000219d: ADD 0000219e: DUP6 0000219f: PUSH1 0x01 000021a1: PUSH1 0x01 000021a3: PUSH1 0xa0 000021a5: SHL 000021a6: SUB 000021a7: AND 000021a8: DUP2 000021a9: MSTORE 000021aa: PUSH1 0x20 000021ac: ADD 000021ad: DUP5 000021ae: ISZERO 000021af: ISZERO 000021b0: DUP2 000021b1: MSTORE 000021b2: PUSH1 0x20 000021b4: ADD 000021b5: DUP1 000021b6: PUSH1 0x20 000021b8: ADD 000021b9: DUP3 000021ba: DUP2 000021bb: SUB 000021bc: DUP3 000021bd: MSTORE 000021be: DUP5 000021bf: DUP5 000021c0: DUP3 000021c1: DUP2 000021c2: DUP2 000021c3: MSTORE 000021c4: PUSH1 0x20 000021c6: ADD 000021c7: SWAP3 000021c8: POP 000021c9: DUP1 000021ca: DUP3 000021cb: DUP5 000021cc: CALLDATACOPY 000021cd: PUSH1 0x00 000021cf: DUP2 000021d0: DUP5 000021d1: ADD 000021d2: MSTORE 000021d3: PUSH1 0x1f 000021d5: NOT 000021d6: PUSH1 0x1f 000021d8: DUP3 000021d9: ADD 000021da: AND 000021db: SWAP1 000021dc: POP 000021dd: DUP1 000021de: DUP4 000021df: ADD 000021e0: SWAP3 000021e1: POP 000021e2: POP 000021e3: POP 000021e4: SWAP10 000021e5: POP 000021e6: POP 000021e7: POP 000021e8: POP 000021e9: POP 000021ea: POP 000021eb: POP 000021ec: POP 000021ed: POP 000021ee: POP 000021ef: PUSH1 0x60 000021f1: PUSH1 0x40 000021f3: MLOAD 000021f4: DUP1 000021f5: DUP4 000021f6: SUB 000021f7: DUP2 000021f8: PUSH1 0x00 000021fa: DUP8 000021fb: GAS 000021fc: CALL 000021fd: ISZERO 000021fe: DUP1 000021ff: ISZERO 00002200: PUSH2 0x220d 00002203: JUMPI 00002204: RETURNDATASIZE 00002205: PUSH1 0x00 00002207: DUP1 00002208: RETURNDATACOPY 00002209: RETURNDATASIZE 0000220a: PUSH1 0x00 0000220c: REVERT 0000220d: JUMPDEST 0000220e: POP 0000220f: POP 00002210: POP 00002211: POP 00002212: PUSH1 0x40 00002214: MLOAD 00002215: RETURNDATASIZE 00002216: PUSH1 0x60 00002218: DUP2 00002219: LT 0000221a: ISZERO 0000221b: PUSH2 0x2223 0000221e: JUMPI 0000221f: PUSH1 0x00 00002221: DUP1 00002222: REVERT 00002223: JUMPDEST 00002224: POP 00002225: DUP1 00002226: MLOAD 00002227: PUSH1 0x20 00002229: DUP3 0000222a: ADD 0000222b: MLOAD 0000222c: PUSH1 0x40 0000222e: SWAP1 0000222f: SWAP3 00002230: ADD 00002231: MLOAD 00002232: SWAP2 00002233: SWAP6 00002234: POP 00002235: SWAP1 00002236: SWAP4 00002237: POP 00002238: SWAP1 00002239: POP 0000223a: PUSH1 0x80 0000223c: DUP3 0000223d: AND 0000223e: ISZERO 0000223f: DUP1 00002240: ISZERO 00002241: PUSH2 0x225e 00002244: JUMPI 00002245: POP 00002246: PUSH1 0x00 00002248: DUP5 00002249: PUSH3 0xffffff 0000224d: AND 0000224e: GT 0000224f: DUP1 00002250: PUSH2 0x225e 00002253: JUMPI 00002254: POP 00002255: PUSH1 0x00 00002257: DUP4 00002258: PUSH3 0xffffff 0000225c: AND 0000225d: GT 0000225e: JUMPDEST 0000225f: ISZERO 00002260: PUSH2 0x227c 00002263: JUMPI 00002264: PUSH1 0x40 00002266: MLOAD 00002267: PUSH4 0x3a4528ef 0000226c: PUSH1 0xe0 0000226e: SHL 0000226f: DUP2 00002270: MSTORE 00002271: PUSH1 0x04 00002273: ADD 00002274: PUSH1 0x40 00002276: MLOAD 00002277: DUP1 00002278: SWAP2 00002279: SUB 0000227a: SWAP1 0000227b: REVERT 0000227c: JUMPDEST 0000227d: PUSH2 0x2297 00002280: PUSH1 0x01 00002282: PUSH1 0x01 00002284: PUSH1 0xe0 00002286: SHL 00002287: SUB 00002288: NOT 00002289: DUP3 0000228a: AND 0000228b: PUSH4 0x029c1cb7 00002290: PUSH1 0xe0 00002292: SHL 00002293: PUSH2 0x38e3 00002296: JUMP 00002297: JUMPDEST 00002298: POP 00002299: JUMPDEST 0000229a: POP 0000229b: JUMPDEST 0000229c: SWAP8 0000229d: POP 0000229e: SWAP8 0000229f: SWAP6 000022a0: POP 000022a1: POP 000022a2: POP 000022a3: POP 000022a4: POP 000022a5: POP 000022a6: JUMP 000022a7: JUMPDEST 000022a8: PUSH1 0x02 000022aa: SLOAD 000022ab: PUSH1 0x01 000022ad: PUSH1 0xe0 000022af: SHL 000022b0: SWAP1 000022b1: DIV 000022b2: PUSH1 0xff 000022b4: AND 000022b5: PUSH2 0x22d1 000022b8: JUMPI 000022b9: PUSH1 0x40 000022bb: MLOAD 000022bc: PUSH4 0x67984809 000022c1: PUSH1 0xe1 000022c3: SHL 000022c4: DUP2 000022c5: MSTORE 000022c6: PUSH1 0x04 000022c8: ADD 000022c9: PUSH1 0x40 000022cb: MLOAD 000022cc: DUP1 000022cd: SWAP2 000022ce: SUB 000022cf: SWAP1 000022d0: REVERT 000022d1: JUMPDEST 000022d2: PUSH1 0x02 000022d4: DUP1 000022d5: SLOAD 000022d6: PUSH1 0xff 000022d8: PUSH1 0xe0 000022da: SHL 000022db: NOT 000022dc: AND 000022dd: SWAP1 000022de: SSTORE 000022df: JUMP 000022e0: JUMPDEST 000022e1: PUSH1 0x00 000022e3: DUP1 000022e4: PUSH1 0x00 000022e6: DUP1 000022e7: PUSH1 0x00 000022e9: PUSH2 0x22f0 000022ec: PUSH2 0x5551 000022ef: JUMP 000022f0: JUMPDEST 000022f1: DUP8 000022f2: PUSH1 0x00 000022f4: SUB 000022f5: PUSH2 0x2311 000022f8: JUMPI 000022f9: PUSH1 0x40 000022fb: MLOAD 000022fc: PUSH4 0x01e76e61 00002301: PUSH1 0xe6 00002303: SHL 00002304: DUP2 00002305: MSTORE 00002306: PUSH1 0x04 00002308: ADD 00002309: PUSH1 0x40 0000230b: MLOAD 0000230c: DUP1 0000230d: SWAP2 0000230e: SUB 0000230f: SWAP1 00002310: REVERT 00002311: JUMPDEST 00002312: PUSH1 0x01 00002314: PUSH1 0xff 00002316: SHL 00002317: DUP9 00002318: SUB 00002319: PUSH2 0x2335 0000231c: JUMPI 0000231d: PUSH1 0x40 0000231f: MLOAD 00002320: PUSH4 0x34cb3a01 00002325: PUSH1 0xe1 00002327: SHL 00002328: DUP2 00002329: MSTORE 0000232a: PUSH1 0x04 0000232c: ADD 0000232d: PUSH1 0x40 0000232f: MLOAD 00002330: DUP1 00002331: SWAP2 00002332: SUB 00002333: SWAP1 00002334: REVERT 00002335: JUMPDEST 00002336: PUSH1 0x40 00002338: DUP1 00002339: MLOAD 0000233a: PUSH2 0x0160 0000233d: DUP2 0000233e: ADD 0000233f: DUP3 00002340: MSTORE 00002341: PUSH1 0x00 00002343: PUSH1 0x20 00002345: DUP3 00002346: ADD 00002347: DUP2 00002348: SWAP1 00002349: MSTORE 0000234a: PUSH1 0x60 0000234c: DUP3 0000234d: ADD 0000234e: DUP2 0000234f: SWAP1 00002350: MSTORE 00002351: PUSH1 0x80 00002353: DUP3 00002354: ADD 00002355: DUP2 00002356: SWAP1 00002357: MSTORE 00002358: PUSH1 0xa0 0000235a: DUP3 0000235b: ADD 0000235c: DUP2 0000235d: SWAP1 0000235e: MSTORE 0000235f: PUSH3 0xffffff 00002363: DUP14 00002364: AND 00002365: PUSH2 0x0140 00002368: DUP4 00002369: ADD 0000236a: MSTORE 0000236b: DUP1 0000236c: DUP12 0000236d: SGT 0000236e: PUSH1 0xc0 00002370: DUP4 00002371: ADD 00002372: MSTORE 00002373: SWAP2 00002374: DUP2 00002375: ADD 00002376: DUP11 00002377: SWAP1 00002378: MSTORE 00002379: PUSH1 0x09 0000237b: SLOAD 0000237c: PUSH1 0x02 0000237e: DUP2 0000237f: DUP2 00002380: SIGNEXTEND 00002381: PUSH2 0x0120 00002384: DUP5 00002385: ADD 00002386: MSTORE 00002387: PUSH4 0x01000000 0000238c: DUP3 0000238d: DIV 0000238e: DUP2 0000238f: SIGNEXTEND 00002390: PUSH2 0x0100 00002393: DUP5 00002394: ADD 00002395: MSTORE 00002396: DUP1 00002397: SLOAD 00002398: PUSH2 0xffff 0000239b: PUSH1 0x01 0000239d: PUSH1 0xd0 0000239f: SHL 000023a0: DUP3 000023a1: DIV 000023a2: DUP2 000023a3: AND 000023a4: DUP6 000023a5: MSTORE 000023a6: PUSH1 0x01 000023a8: PUSH1 0xb8 000023aa: SHL 000023ab: DUP3 000023ac: DIV 000023ad: AND 000023ae: PUSH1 0xe0 000023b0: DUP6 000023b1: ADD 000023b2: MSTORE 000023b3: PUSH1 0x01 000023b5: PUSH1 0x01 000023b7: PUSH1 0xa0 000023b9: SHL 000023ba: SUB 000023bb: DUP2 000023bc: AND 000023bd: SWAP9 000023be: POP 000023bf: PUSH1 0x01 000023c1: PUSH1 0xa0 000023c3: SHL 000023c4: SWAP1 000023c5: DIV 000023c6: SWAP1 000023c7: SIGNEXTEND 000023c8: SWAP6 000023c9: POP 000023ca: PUSH1 0x01 000023cc: PUSH1 0x30 000023ce: SHL 000023cf: SWAP1 000023d0: DIV 000023d1: PUSH1 0x01 000023d3: PUSH1 0x01 000023d5: PUSH1 0x80 000023d7: SHL 000023d8: SUB 000023d9: AND 000023da: SWAP4 000023db: POP 000023dc: SWAP1 000023dd: DUP6 000023de: SWAP1 000023df: SUB 000023e0: PUSH2 0x23fc 000023e3: JUMPI 000023e4: PUSH1 0x40 000023e6: MLOAD 000023e7: PUSH4 0x812eb655 000023ec: PUSH1 0xe0 000023ee: SHL 000023ef: DUP2 000023f0: MSTORE 000023f1: PUSH1 0x04 000023f3: ADD 000023f4: PUSH1 0x40 000023f6: MLOAD 000023f7: DUP1 000023f8: SWAP2 000023f9: SUB 000023fa: SWAP1 000023fb: REVERT 000023fc: JUMPDEST 000023fd: PUSH3 0xffffff 00002401: DUP13 00002402: AND 00002403: ISZERO 00002404: PUSH2 0x2444 00002407: JUMPI 00002408: PUSH2 0x2411 0000240b: DUP12 0000240c: DUP14 0000240d: PUSH2 0x5652 00002410: JUMP 00002411: JUMPDEST 00002412: PUSH3 0xffffff 00002416: AND 00002417: PUSH1 0xe0 00002419: DUP3 0000241a: ADD 0000241b: DUP2 0000241c: SWAP1 0000241d: MSTORE 0000241e: PUSH3 0x0f4240 00002422: GT 00002423: PUSH2 0x243f 00002426: JUMPI 00002427: PUSH1 0x40 00002429: MLOAD 0000242a: PUSH4 0x15b2afa9 0000242f: PUSH1 0xe0 00002431: SHL 00002432: DUP2 00002433: MSTORE 00002434: PUSH1 0x04 00002436: ADD 00002437: PUSH1 0x40 00002439: MLOAD 0000243a: DUP1 0000243b: SWAP2 0000243c: SUB 0000243d: SWAP1 0000243e: REVERT 0000243f: JUMPDEST 00002440: PUSH2 0x2496 00002443: JUMP 00002444: JUMPDEST 00002445: PUSH3 0xffffff 00002449: DUP12 0000244a: AND 0000244b: ISZERO 0000244c: PUSH2 0x2496 0000244f: JUMPI 00002450: DUP11 00002451: DUP2 00002452: PUSH1 0xe0 00002454: ADD 00002455: DUP2 00002456: DUP2 00002457: MLOAD 00002458: PUSH2 0x2461 0000245b: SWAP2 0000245c: SWAP1 0000245d: PUSH2 0x5652 00002460: JUMP 00002461: JUMPDEST 00002462: PUSH3 0xffffff 00002466: SWAP1 00002467: DUP2 00002468: AND 00002469: SWAP1 0000246a: SWAP2 0000246b: MSTORE 0000246c: PUSH1 0xe0 0000246e: DUP4 0000246f: ADD 00002470: MLOAD 00002471: PUSH3 0x0f4240 00002475: SWAP2 00002476: AND 00002477: LT 00002478: SWAP1 00002479: POP 0000247a: PUSH2 0x2496 0000247d: JUMPI 0000247e: PUSH1 0x40 00002480: MLOAD 00002481: PUSH4 0x15b2afa9 00002486: PUSH1 0xe0 00002488: SHL 00002489: DUP2 0000248a: MSTORE 0000248b: PUSH1 0x04 0000248d: ADD 0000248e: PUSH1 0x40 00002490: MLOAD 00002491: DUP1 00002492: SWAP2 00002493: SUB 00002494: SWAP1 00002495: REVERT 00002496: JUMPDEST 00002497: DUP10 00002498: ISZERO 00002499: PUSH2 0x24f6 0000249c: JUMPI 0000249d: DUP5 0000249e: PUSH1 0x01 000024a0: PUSH1 0x01 000024a2: PUSH1 0xa0 000024a4: SHL 000024a5: SUB 000024a6: AND 000024a7: DUP9 000024a8: PUSH1 0x01 000024aa: PUSH1 0x01 000024ac: PUSH1 0xa0 000024ae: SHL 000024af: SUB 000024b0: AND 000024b1: LT 000024b2: ISZERO 000024b3: DUP1 000024b4: PUSH2 0x24cb 000024b7: JUMPI 000024b8: POP 000024b9: PUSH5 0x01000276a3 000024bf: PUSH1 0x01 000024c1: PUSH1 0x01 000024c3: PUSH1 0xa0 000024c5: SHL 000024c6: SUB 000024c7: DUP10 000024c8: AND 000024c9: GT 000024ca: ISZERO 000024cb: JUMPDEST 000024cc: ISZERO 000024cd: PUSH2 0x24e9 000024d0: JUMPI 000024d1: PUSH1 0x40 000024d3: MLOAD 000024d4: PUSH4 0x16626723 000024d9: PUSH1 0xe0 000024db: SHL 000024dc: DUP2 000024dd: MSTORE 000024de: PUSH1 0x04 000024e0: ADD 000024e1: PUSH1 0x40 000024e3: MLOAD 000024e4: DUP1 000024e5: SWAP2 000024e6: SUB 000024e7: SWAP1 000024e8: REVERT 000024e9: JUMPDEST 000024ea: PUSH1 0x00 000024ec: SLOAD 000024ed: PUSH1 0x80 000024ef: DUP3 000024f0: ADD 000024f1: MSTORE 000024f2: PUSH2 0x255b 000024f5: JUMP 000024f6: JUMPDEST 000024f7: DUP5 000024f8: PUSH1 0x01 000024fa: PUSH1 0x01 000024fc: PUSH1 0xa0 000024fe: SHL 000024ff: SUB 00002500: AND 00002501: DUP9 00002502: PUSH1 0x01 00002504: PUSH1 0x01 00002506: PUSH1 0xa0 00002508: SHL 00002509: SUB 0000250a: AND 0000250b: GT 0000250c: ISZERO 0000250d: DUP1 0000250e: PUSH2 0x2534 00002511: JUMPI 00002512: POP 00002513: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d26 00002528: PUSH1 0x01 0000252a: PUSH1 0x01 0000252c: PUSH1 0xa0 0000252e: SHL 0000252f: SUB 00002530: DUP10 00002531: AND 00002532: LT 00002533: ISZERO 00002534: JUMPDEST 00002535: ISZERO 00002536: PUSH2 0x2552 00002539: JUMPI 0000253a: PUSH1 0x40 0000253c: MLOAD 0000253d: PUSH4 0x16626723 00002542: PUSH1 0xe0 00002544: SHL 00002545: DUP2 00002546: MSTORE 00002547: PUSH1 0x04 00002549: ADD 0000254a: PUSH1 0x40 0000254c: MLOAD 0000254d: DUP1 0000254e: SWAP2 0000254f: SUB 00002550: SWAP1 00002551: REVERT 00002552: JUMPDEST 00002553: PUSH1 0x01 00002555: SLOAD 00002556: PUSH1 0x80 00002558: DUP3 00002559: ADD 0000255a: MSTORE 0000255b: JUMPDEST 0000255c: PUSH2 0x258d 0000255f: PUSH1 0x40 00002561: MLOAD 00002562: DUP1 00002563: PUSH1 0xa0 00002565: ADD 00002566: PUSH1 0x40 00002568: MSTORE 00002569: DUP1 0000256a: PUSH1 0x00 0000256c: DUP2 0000256d: MSTORE 0000256e: PUSH1 0x20 00002570: ADD 00002571: PUSH1 0x00 00002573: DUP2 00002574: MSTORE 00002575: PUSH1 0x20 00002577: ADD 00002578: PUSH1 0x00 0000257a: DUP2 0000257b: MSTORE 0000257c: PUSH1 0x20 0000257e: ADD 0000257f: PUSH1 0x00 00002581: DUP2 00002582: MSTORE 00002583: PUSH1 0x20 00002585: ADD 00002586: PUSH1 0x00 00002588: DUP2 00002589: MSTORE 0000258a: POP 0000258b: SWAP1 0000258c: JUMP 0000258d: JUMPDEST 0000258e: PUSH1 0x00 00002590: DUP12 00002591: PUSH2 0x259f 00002594: JUMPI 00002595: DUP3 00002596: PUSH2 0x0120 00002599: ADD 0000259a: MLOAD 0000259b: PUSH2 0x25a6 0000259e: JUMP 0000259f: JUMPDEST 000025a0: DUP3 000025a1: PUSH2 0x0100 000025a4: ADD 000025a5: MLOAD 000025a6: JUMPDEST 000025a7: PUSH1 0x01 000025a9: PUSH1 0x01 000025ab: PUSH1 0xa0 000025ad: SHL 000025ae: SUB 000025af: DUP9 000025b0: AND 000025b1: DUP4 000025b2: MSTORE 000025b3: SWAP1 000025b4: POP 000025b5: PUSH2 0x25bd 000025b8: DUP2 000025b9: PUSH2 0x3fc1 000025bc: JUMP 000025bd: JUMPDEST 000025be: PUSH1 0x01 000025c0: PUSH1 0x01 000025c2: PUSH1 0xa0 000025c4: SHL 000025c5: SUB 000025c6: SWAP1 000025c7: DUP2 000025c8: AND 000025c9: PUSH1 0x20 000025cb: DUP5 000025cc: ADD 000025cd: DUP2 000025ce: SWAP1 000025cf: MSTORE 000025d0: PUSH2 0x25fa 000025d3: SWAP2 000025d4: DUP15 000025d5: SWAP2 000025d6: DUP11 000025d7: SWAP2 000025d8: DUP15 000025d9: AND 000025da: GT 000025db: DUP3 000025dc: ISZERO 000025dd: ISZERO 000025de: EQ 000025df: PUSH2 0x25ec 000025e2: JUMPI 000025e3: DUP5 000025e4: PUSH1 0x20 000025e6: ADD 000025e7: MLOAD 000025e8: PUSH2 0x25ee 000025eb: JUMP 000025ec: JUMPDEST 000025ed: DUP13 000025ee: JUMPDEST 000025ef: DUP9 000025f0: DUP16 000025f1: DUP9 000025f2: PUSH1 0xe0 000025f4: ADD 000025f5: MLOAD 000025f6: PUSH2 0x429c 000025f9: JUMP 000025fa: JUMPDEST 000025fb: PUSH1 0x80 000025fd: DUP7 000025fe: ADD 000025ff: MSTORE 00002600: PUSH1 0x60 00002602: DUP6 00002603: ADD 00002604: MSTORE 00002605: PUSH1 0x40 00002607: DUP5 00002608: ADD 00002609: MSTORE 0000260a: PUSH1 0xc0 0000260c: DUP5 0000260d: ADD 0000260e: MLOAD 0000260f: SWAP1 00002610: SWAP8 00002611: POP 00002612: ISZERO 00002613: PUSH2 0x2652 00002616: JUMPI 00002617: PUSH2 0x2629 0000261a: DUP3 0000261b: PUSH1 0x80 0000261d: ADD 0000261e: MLOAD 0000261f: DUP4 00002620: PUSH1 0x40 00002622: ADD 00002623: MLOAD 00002624: ADD 00002625: PUSH2 0x3a19 00002628: JUMP 00002629: JUMPDEST 0000262a: DUP12 0000262b: SUB 0000262c: SWAP11 0000262d: POP 0000262e: PUSH2 0x2648 00002631: PUSH2 0x263d 00002634: DUP4 00002635: PUSH1 0x60 00002637: ADD 00002638: MLOAD 00002639: PUSH2 0x3a19 0000263c: JUMP 0000263d: JUMPDEST 0000263e: PUSH1 0x60 00002640: DUP6 00002641: ADD 00002642: MLOAD 00002643: SWAP1 00002644: PUSH2 0x446a 00002647: JUMP 00002648: JUMPDEST 00002649: PUSH1 0x60 0000264b: DUP5 0000264c: ADD 0000264d: MSTORE 0000264e: PUSH2 0x268a 00002651: JUMP 00002652: JUMPDEST 00002653: PUSH2 0x265f 00002656: DUP3 00002657: PUSH1 0x60 00002659: ADD 0000265a: MLOAD 0000265b: PUSH2 0x3a19 0000265e: JUMP 0000265f: JUMPDEST 00002660: DUP12 00002661: ADD 00002662: SWAP11 00002663: POP 00002664: PUSH2 0x2684 00002667: PUSH2 0x2679 0000266a: DUP4 0000266b: PUSH1 0x80 0000266d: ADD 0000266e: MLOAD 0000266f: DUP5 00002670: PUSH1 0x40 00002672: ADD 00002673: MLOAD 00002674: ADD 00002675: PUSH2 0x3a19 00002678: JUMP 00002679: JUMPDEST 0000267a: PUSH1 0x60 0000267c: DUP6 0000267d: ADD 0000267e: MLOAD 0000267f: SWAP1 00002680: PUSH2 0x4486 00002683: JUMP 00002684: JUMPDEST 00002685: PUSH1 0x60 00002687: DUP5 00002688: ADD 00002689: MSTORE 0000268a: JUMPDEST 0000268b: DUP3 0000268c: MLOAD 0000268d: ISZERO 0000268e: PUSH2 0x26cc 00002691: JUMPI 00002692: DUP3 00002693: MLOAD 00002694: PUSH1 0x80 00002696: DUP4 00002697: ADD 00002698: MLOAD 00002699: PUSH1 0x00 0000269b: SWAP2 0000269c: PUSH2 0x03e8 0000269f: SWAP2 000026a0: PUSH2 0x26a8 000026a3: SWAP2 000026a4: PUSH2 0x449c 000026a7: JUMP 000026a8: JUMPDEST 000026a9: DUP2 000026aa: PUSH2 0x26b5 000026ad: JUMPI 000026ae: PUSH2 0x26b5 000026b1: PUSH2 0x55f9 000026b4: JUMP 000026b5: JUMPDEST 000026b6: PUSH1 0x80 000026b8: DUP6 000026b9: ADD 000026ba: DUP1 000026bb: MLOAD 000026bc: SWAP3 000026bd: SWAP1 000026be: SWAP2 000026bf: DIV 000026c0: SWAP2 000026c1: DUP3 000026c2: SWAP1 000026c3: SUB 000026c4: SWAP1 000026c5: MSTORE 000026c6: DUP6 000026c7: MLOAD 000026c8: ADD 000026c9: DUP6 000026ca: MSTORE 000026cb: POP 000026cc: JUMPDEST 000026cd: PUSH1 0x00 000026cf: DUP4 000026d0: PUSH2 0x0140 000026d3: ADD 000026d4: MLOAD 000026d5: PUSH3 0xffffff 000026d9: AND 000026da: GT 000026db: DUP1 000026dc: ISZERO 000026dd: PUSH2 0x26ef 000026e0: JUMPI 000026e1: POP 000026e2: PUSH1 0x00 000026e4: DUP4 000026e5: PUSH1 0xe0 000026e7: ADD 000026e8: MLOAD 000026e9: PUSH3 0xffffff 000026ed: AND 000026ee: GT 000026ef: JUMPDEST 000026f0: ISZERO 000026f1: PUSH2 0x2730 000026f4: JUMPI 000026f5: PUSH1 0x00 000026f7: PUSH2 0x2718 000026fa: DUP4 000026fb: PUSH1 0x80 000026fd: ADD 000026fe: MLOAD 000026ff: DUP6 00002700: PUSH2 0x0140 00002703: ADD 00002704: MLOAD 00002705: PUSH3 0xffffff 00002709: AND 0000270a: DUP7 0000270b: PUSH1 0xe0 0000270d: ADD 0000270e: MLOAD 0000270f: PUSH3 0xffffff 00002713: AND 00002714: PUSH2 0x3742 00002717: JUMP 00002718: JUMPDEST 00002719: PUSH1 0x80 0000271b: DUP5 0000271c: ADD 0000271d: DUP1 0000271e: MLOAD 0000271f: DUP3 00002720: SWAP1 00002721: SUB 00002722: SWAP1 00002723: MSTORE 00002724: PUSH1 0x20 00002726: DUP7 00002727: ADD 00002728: DUP1 00002729: MLOAD 0000272a: SWAP1 0000272b: SWAP2 0000272c: ADD 0000272d: SWAP1 0000272e: MSTORE 0000272f: POP 00002730: JUMPDEST 00002731: PUSH1 0x01 00002733: PUSH1 0x01 00002735: PUSH1 0x80 00002737: SHL 00002738: SUB 00002739: DUP6 0000273a: AND 0000273b: ISZERO 0000273c: PUSH2 0x2767 0000273f: JUMPI 00002740: PUSH2 0x275b 00002743: DUP3 00002744: PUSH1 0x80 00002746: ADD 00002747: MLOAD 00002748: PUSH1 0x01 0000274a: PUSH1 0x80 0000274c: SHL 0000274d: DUP8 0000274e: PUSH1 0x01 00002750: PUSH1 0x01 00002752: PUSH1 0x80 00002754: SHL 00002755: SUB 00002756: AND 00002757: PUSH2 0x3742 0000275a: JUMP 0000275b: JUMPDEST 0000275c: PUSH1 0x80 0000275e: DUP5 0000275f: ADD 00002760: DUP1 00002761: MLOAD 00002762: SWAP1 00002763: SWAP2 00002764: ADD 00002765: SWAP1 00002766: MSTORE 00002767: JUMPDEST 00002768: DUP2 00002769: PUSH1 0x20 0000276b: ADD 0000276c: MLOAD 0000276d: DUP8 0000276e: PUSH1 0x01 00002770: PUSH1 0x01 00002772: PUSH1 0xa0 00002774: SHL 00002775: SUB 00002776: AND 00002777: SUB 00002778: PUSH2 0x2831 0000277b: JUMPI 0000277c: DUP3 0000277d: PUSH1 0x20 0000277f: ADD 00002780: MLOAD 00002781: PUSH2 0x27a2 00002784: JUMPI 00002785: PUSH1 0x01 00002787: PUSH1 0x20 00002789: DUP5 0000278a: ADD 0000278b: MSTORE 0000278c: DUP12 0000278d: PUSH2 0x2798 00002790: JUMPI 00002791: PUSH1 0x00 00002793: SLOAD 00002794: PUSH2 0x279c 00002797: JUMP 00002798: JUMPDEST 00002799: PUSH1 0x01 0000279b: SLOAD 0000279c: JUMPDEST 0000279d: PUSH1 0xa0 0000279f: DUP5 000027a0: ADD 000027a1: MSTORE 000027a2: JUMPDEST 000027a3: PUSH1 0x00 000027a5: DUP13 000027a6: ISZERO 000027a7: PUSH2 0x27e9 000027aa: JUMPI 000027ab: PUSH1 0x80 000027ad: DUP5 000027ae: ADD 000027af: MLOAD 000027b0: PUSH1 0xa0 000027b2: DUP6 000027b3: ADD 000027b4: MLOAD 000027b5: PUSH2 0x27c3 000027b8: SWAP2 000027b9: PUSH1 0x03 000027bb: SWAP2 000027bc: DUP6 000027bd: SWAP2 000027be: SWAP1 000027bf: PUSH2 0x44c6 000027c2: JUMP 000027c3: JUMPDEST 000027c4: POP 000027c5: PUSH1 0x02 000027c7: SWAP1 000027c8: DUP2 000027c9: SIGNEXTEND 000027ca: PUSH2 0x0100 000027cd: DUP8 000027ce: ADD 000027cf: MSTORE 000027d0: DUP4 000027d1: SWAP1 000027d2: SIGNEXTEND 000027d3: PUSH2 0x0120 000027d6: DUP7 000027d7: ADD 000027d8: MSTORE 000027d9: PUSH1 0x00 000027db: NOT 000027dc: DUP4 000027dd: ADD 000027de: SWAP8 000027df: POP 000027e0: PUSH1 0x00 000027e2: SUB 000027e3: SWAP1 000027e4: POP 000027e5: PUSH2 0x281f 000027e8: JUMP 000027e9: JUMPDEST 000027ea: PUSH1 0xa0 000027ec: DUP5 000027ed: ADD 000027ee: MLOAD 000027ef: PUSH1 0x80 000027f1: DUP6 000027f2: ADD 000027f3: MLOAD 000027f4: PUSH2 0x2802 000027f7: SWAP2 000027f8: PUSH1 0x03 000027fa: SWAP2 000027fb: DUP6 000027fc: SWAP2 000027fd: SWAP1 000027fe: PUSH2 0x44c6 00002801: JUMP 00002802: JUMPDEST 00002803: PUSH1 0x02 00002805: SWAP1 00002806: DUP2 00002807: SIGNEXTEND 00002808: PUSH2 0x0120 0000280b: DUP9 0000280c: ADD 0000280d: MSTORE 0000280e: DUP5 0000280f: SWAP1 00002810: SIGNEXTEND 00002811: PUSH2 0x0100 00002814: DUP8 00002815: ADD 00002816: MSTORE 00002817: POP 00002818: SWAP2 00002819: SWAP7 0000281a: POP 0000281b: DUP7 0000281c: SWAP2 0000281d: SWAP1 0000281e: POP 0000281f: JUMPDEST 00002820: PUSH2 0x2829 00002823: DUP7 00002824: DUP3 00002825: PUSH2 0x4513 00002828: JUMP 00002829: JUMPDEST 0000282a: SWAP6 0000282b: POP 0000282c: POP 0000282d: PUSH2 0x2853 00002830: JUMP 00002831: JUMPDEST 00002832: DUP2 00002833: MLOAD 00002834: PUSH1 0x01 00002836: PUSH1 0x01 00002838: PUSH1 0xa0 0000283a: SHL 0000283b: SUB 0000283c: DUP9 0000283d: AND 0000283e: EQ 0000283f: PUSH2 0x2853 00002842: JUMPI 00002843: PUSH2 0x284b 00002846: DUP8 00002847: PUSH2 0x3c4c 0000284a: JUMP 0000284b: JUMPDEST 0000284c: SWAP6 0000284d: POP 0000284e: POP 0000284f: PUSH2 0x287a 00002852: JUMP 00002853: JUMPDEST 00002854: POP 00002855: DUP10 00002856: ISZERO 00002857: DUP1 00002858: ISZERO 00002859: SWAP1 0000285a: PUSH2 0x2875 0000285d: JUMPI 0000285e: POP 0000285f: DUP9 00002860: PUSH1 0x01 00002862: PUSH1 0x01 00002864: PUSH1 0xa0 00002866: SHL 00002867: SUB 00002868: AND 00002869: DUP7 0000286a: PUSH1 0x01 0000286c: PUSH1 0x01 0000286e: PUSH1 0xa0 00002870: SHL 00002871: SUB 00002872: AND 00002873: EQ 00002874: ISZERO 00002875: JUMPDEST 00002876: PUSH2 0x258d 00002879: JUMPI 0000287a: JUMPDEST 0000287b: PUSH1 0x00 0000287d: DUP11 0000287e: DUP4 0000287f: PUSH1 0x40 00002881: ADD 00002882: MLOAD 00002883: SUB 00002884: SWAP1 00002885: POP 00002886: DUP3 00002887: PUSH1 0xc0 00002889: ADD 0000288a: MLOAD 0000288b: ISZERO 0000288c: ISZERO 0000288d: DUP13 0000288e: ISZERO 0000288f: ISZERO 00002890: EQ 00002891: PUSH2 0x289f 00002894: JUMPI 00002895: DUP3 00002896: PUSH1 0x60 00002898: ADD 00002899: MLOAD 0000289a: DUP2 0000289b: PUSH2 0x28a6 0000289e: JUMP 0000289f: JUMPDEST 000028a0: DUP1 000028a1: DUP4 000028a2: PUSH1 0x60 000028a4: ADD 000028a5: MLOAD 000028a6: JUMPDEST 000028a7: PUSH1 0x02 000028a9: DUP1 000028aa: SLOAD 000028ab: PUSH1 0x01 000028ad: PUSH1 0x01 000028af: PUSH1 0xb8 000028b1: SHL 000028b2: SUB 000028b3: NOT 000028b4: AND 000028b5: PUSH1 0x01 000028b7: PUSH1 0xa0 000028b9: SHL 000028ba: PUSH3 0xffffff 000028be: DUP12 000028bf: AND 000028c0: MUL 000028c1: PUSH1 0x01 000028c3: PUSH1 0x01 000028c5: PUSH1 0xa0 000028c7: SHL 000028c8: SUB 000028c9: NOT 000028ca: AND 000028cb: OR 000028cc: PUSH1 0x01 000028ce: PUSH1 0x01 000028d0: PUSH1 0xa0 000028d2: SHL 000028d3: SUB 000028d4: DUP12 000028d5: AND 000028d6: OR 000028d7: SWAP1 000028d8: SSTORE 000028d9: PUSH1 0x20 000028db: DUP6 000028dc: ADD 000028dd: MLOAD 000028de: SWAP2 000028df: SWAP11 000028e0: POP 000028e1: SWAP9 000028e2: POP 000028e3: ISZERO 000028e4: SWAP1 000028e5: POP 000028e6: PUSH2 0x293e 000028e9: JUMPI 000028ea: PUSH2 0x0100 000028ed: DUP3 000028ee: ADD 000028ef: MLOAD 000028f0: PUSH2 0x0120 000028f3: DUP4 000028f4: ADD 000028f5: MLOAD 000028f6: PUSH1 0x09 000028f8: DUP1 000028f9: SLOAD 000028fa: PUSH3 0xffffff 000028fe: SWAP3 000028ff: DUP4 00002900: AND 00002901: PUSH6 0xffffffffffff 00002908: NOT 00002909: SWAP1 0000290a: SWAP2 0000290b: AND 0000290c: OR 0000290d: PUSH4 0x01000000 00002912: SWAP3 00002913: SWAP1 00002914: SWAP4 00002915: AND 00002916: SWAP2 00002917: SWAP1 00002918: SWAP2 00002919: MUL 0000291a: SWAP2 0000291b: SWAP1 0000291c: SWAP2 0000291d: OR 0000291e: PUSH1 0x01 00002920: PUSH1 0x30 00002922: SHL 00002923: PUSH1 0x01 00002925: PUSH1 0xb0 00002927: SHL 00002928: SUB 00002929: NOT 0000292a: AND 0000292b: PUSH1 0x01 0000292d: PUSH1 0x30 0000292f: SHL 00002930: PUSH1 0x01 00002932: PUSH1 0x01 00002934: PUSH1 0x80 00002936: SHL 00002937: SUB 00002938: DUP8 00002939: AND 0000293a: MUL 0000293b: OR 0000293c: SWAP1 0000293d: SSTORE 0000293e: JUMPDEST 0000293f: DUP11 00002940: ISZERO 00002941: PUSH2 0x2951 00002944: JUMPI 00002945: PUSH1 0x80 00002947: DUP3 00002948: ADD 00002949: MLOAD 0000294a: PUSH1 0x00 0000294c: SSTORE 0000294d: PUSH2 0x295a 00002950: JUMP 00002951: JUMPDEST 00002952: PUSH1 0x80 00002954: DUP3 00002955: ADD 00002956: MLOAD 00002957: PUSH1 0x01 00002959: SSTORE 0000295a: JUMPDEST 0000295b: POP 0000295c: POP 0000295d: SWAP6 0000295e: POP 0000295f: SWAP6 00002960: POP 00002961: SWAP6 00002962: POP 00002963: SWAP6 00002964: POP 00002965: SWAP6 00002966: POP 00002967: SWAP6 00002968: JUMP 00002969: JUMPDEST 0000296a: PUSH1 0x00 0000296c: DUP1 0000296d: PUSH2 0x2974 00002970: PUSH2 0x2be3 00002973: JUMP 00002974: JUMPDEST 00002975: PUSH2 0x297c 00002978: PUSH2 0x2f67 0000297b: JUMP 0000297c: JUMPDEST 0000297d: SWAP1 0000297e: SWAP3 0000297f: POP 00002980: SWAP1 00002981: POP 00002982: PUSH1 0x01 00002984: PUSH1 0x01 00002986: PUSH1 0x80 00002988: SHL 00002989: SUB 0000298a: DUP3 0000298b: GT 0000298c: DUP1 0000298d: PUSH2 0x299c 00002990: JUMPI 00002991: POP 00002992: PUSH1 0x01 00002994: PUSH1 0x01 00002996: PUSH1 0x80 00002998: SHL 00002999: SUB 0000299a: DUP2 0000299b: GT 0000299c: JUMPDEST 0000299d: ISZERO 0000299e: PUSH2 0x2a4d 000029a1: JUMPI 000029a2: PUSH1 0x07 000029a4: SLOAD 000029a5: PUSH1 0x01 000029a7: PUSH1 0x01 000029a9: PUSH1 0xa0 000029ab: SHL 000029ac: SUB 000029ad: AND 000029ae: PUSH1 0x01 000029b0: PUSH1 0x01 000029b2: PUSH1 0x80 000029b4: SHL 000029b5: SUB 000029b6: DUP4 000029b7: GT 000029b8: ISZERO 000029b9: PUSH2 0x29fc 000029bc: JUMPI 000029bd: PUSH2 0x29f1 000029c0: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000029e1: DUP3 000029e2: PUSH1 0x02 000029e4: PUSH1 0x01 000029e6: PUSH1 0x80 000029e8: SHL 000029e9: SUB 000029ea: NOT 000029eb: DUP7 000029ec: ADD 000029ed: PUSH2 0x2b72 000029f0: JUMP 000029f1: JUMPDEST 000029f2: PUSH1 0x01 000029f4: PUSH1 0x01 000029f6: PUSH1 0x80 000029f8: SHL 000029f9: SUB 000029fa: SWAP3 000029fb: POP 000029fc: JUMPDEST 000029fd: PUSH1 0x01 000029ff: PUSH1 0x01 00002a01: PUSH1 0x80 00002a03: SHL 00002a04: SUB 00002a05: DUP3 00002a06: GT 00002a07: ISZERO 00002a08: PUSH2 0x2a4b 00002a0b: JUMPI 00002a0c: PUSH2 0x2a40 00002a0f: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 00002a30: DUP3 00002a31: PUSH1 0x02 00002a33: PUSH1 0x01 00002a35: PUSH1 0x80 00002a37: SHL 00002a38: SUB 00002a39: NOT 00002a3a: DUP6 00002a3b: ADD 00002a3c: PUSH2 0x2b72 00002a3f: JUMP 00002a40: JUMPDEST 00002a41: PUSH1 0x01 00002a43: PUSH1 0x01 00002a45: PUSH1 0x80 00002a47: SHL 00002a48: SUB 00002a49: SWAP2 00002a4a: POP 00002a4b: JUMPDEST 00002a4c: POP 00002a4d: JUMPDEST 00002a4e: PUSH1 0x09 00002a50: SLOAD 00002a51: PUSH1 0x01 00002a53: PUSH1 0x30 00002a55: SHL 00002a56: SWAP1 00002a57: DIV 00002a58: PUSH1 0x01 00002a5a: PUSH1 0x01 00002a5c: PUSH1 0x80 00002a5e: SHL 00002a5f: SUB 00002a60: AND 00002a61: PUSH1 0x00 00002a63: DUP2 00002a64: SWAP1 00002a65: SUB 00002a66: PUSH2 0x2a6e 00002a69: JUMPI 00002a6a: POP 00002a6b: SWAP1 00002a6c: SWAP2 00002a6d: JUMP 00002a6e: JUMPDEST 00002a6f: PUSH1 0x0c 00002a71: SLOAD 00002a72: PUSH1 0x01 00002a74: PUSH1 0x01 00002a76: PUSH1 0x80 00002a78: SHL 00002a79: SUB 00002a7a: DUP1 00002a7b: DUP3 00002a7c: AND 00002a7d: SWAP2 00002a7e: PUSH1 0x01 00002a80: PUSH1 0x80 00002a82: SHL 00002a83: SWAP1 00002a84: DIV 00002a85: AND 00002a86: DUP2 00002a87: DUP6 00002a88: GT 00002a89: DUP2 00002a8a: DUP6 00002a8b: GT 00002a8c: DUP2 00002a8d: DUP1 00002a8e: PUSH2 0x2a94 00002a91: JUMPI 00002a92: POP 00002a93: DUP1 00002a94: JUMPDEST 00002a95: ISZERO 00002a96: PUSH2 0x2b69 00002a99: JUMPI 00002a9a: DUP2 00002a9b: ISZERO 00002a9c: PUSH2 0x2acc 00002a9f: JUMPI 00002aa0: PUSH2 0x2ac2 00002aa3: DUP5 00002aa4: PUSH1 0x01 00002aa6: PUSH1 0x01 00002aa8: PUSH1 0x80 00002aaa: SHL 00002aab: SUB 00002aac: AND 00002aad: DUP9 00002aae: SUB 00002aaf: PUSH1 0x01 00002ab1: PUSH1 0x80 00002ab3: SHL 00002ab4: DUP8 00002ab5: PUSH1 0x01 00002ab7: PUSH1 0x01 00002ab9: PUSH1 0x80 00002abb: SHL 00002abc: SUB 00002abd: AND 00002abe: PUSH2 0x3742 00002ac1: JUMP 00002ac2: JUMPDEST 00002ac3: PUSH1 0x00 00002ac5: DUP1 00002ac6: SLOAD 00002ac7: SWAP1 00002ac8: SWAP2 00002ac9: ADD 00002aca: SWAP1 00002acb: SSTORE 00002acc: JUMPDEST 00002acd: DUP1 00002ace: ISZERO 00002acf: PUSH2 0x2aff 00002ad2: JUMPI 00002ad3: PUSH2 0x2af5 00002ad6: DUP4 00002ad7: PUSH1 0x01 00002ad9: PUSH1 0x01 00002adb: PUSH1 0x80 00002add: SHL 00002ade: SUB 00002adf: AND 00002ae0: DUP8 00002ae1: SUB 00002ae2: PUSH1 0x01 00002ae4: PUSH1 0x80 00002ae6: SHL 00002ae7: DUP8 00002ae8: PUSH1 0x01 00002aea: PUSH1 0x01 00002aec: PUSH1 0x80 00002aee: SHL 00002aef: SUB 00002af0: AND 00002af1: PUSH2 0x3742 00002af4: JUMP 00002af5: JUMPDEST 00002af6: PUSH1 0x01 00002af8: DUP1 00002af9: SLOAD 00002afa: SWAP1 00002afb: SWAP2 00002afc: ADD 00002afd: SWAP1 00002afe: SSTORE 00002aff: JUMPDEST 00002b00: PUSH1 0x40 00002b02: DUP1 00002b03: MLOAD 00002b04: PUSH1 0x01 00002b06: PUSH1 0x01 00002b08: PUSH1 0x80 00002b0a: SHL 00002b0b: SUB 00002b0c: DUP1 00002b0d: DUP8 00002b0e: AND 00002b0f: DUP11 00002b10: SUB 00002b11: DUP3 00002b12: MSTORE 00002b13: DUP6 00002b14: AND 00002b15: DUP9 00002b16: SUB 00002b17: PUSH1 0x20 00002b19: DUP3 00002b1a: ADD 00002b1b: MSTORE 00002b1c: PUSH32 0xef10ebb00f0dbc72ad4602e94abbbda6f3d40632714f70e9c8fa30d5d44289c9 00002b3d: SWAP2 00002b3e: ADD 00002b3f: PUSH1 0x40 00002b41: MLOAD 00002b42: DUP1 00002b43: SWAP2 00002b44: SUB 00002b45: SWAP1 00002b46: LOG1 00002b47: PUSH1 0x01 00002b49: PUSH1 0x01 00002b4b: PUSH1 0x80 00002b4d: SHL 00002b4e: SUB 00002b4f: DUP1 00002b50: DUP9 00002b51: AND 00002b52: SWAP1 00002b53: DUP8 00002b54: AND 00002b55: PUSH1 0x01 00002b57: PUSH1 0x80 00002b59: SHL 00002b5a: MUL 00002b5b: PUSH1 0x01 00002b5d: PUSH1 0x01 00002b5f: PUSH1 0x80 00002b61: SHL 00002b62: SUB 00002b63: NOT 00002b64: AND 00002b65: OR 00002b66: PUSH1 0x0c 00002b68: SSTORE 00002b69: JUMPDEST 00002b6a: POP 00002b6b: POP 00002b6c: POP 00002b6d: POP 00002b6e: POP 00002b6f: SWAP1 00002b70: SWAP2 00002b71: JUMP 00002b72: JUMPDEST 00002b73: PUSH2 0x2b7d 00002b76: DUP4 00002b77: DUP4 00002b78: DUP4 00002b79: PUSH2 0x458d 00002b7c: JUMP 00002b7d: JUMPDEST 00002b7e: POP 00002b7f: POP 00002b80: POP 00002b81: JUMP 00002b82: JUMPDEST 00002b83: PUSH1 0x40 00002b85: MLOAD 00002b86: PUSH4 0x1644ac7b 00002b8b: PUSH1 0xe1 00002b8d: SHL 00002b8e: DUP2 00002b8f: MSTORE 00002b90: CALLER 00002b91: SWAP1 00002b92: PUSH4 0x2c8958f6 00002b97: SWAP1 00002b98: PUSH2 0x2bab 00002b9b: SWAP1 00002b9c: DUP8 00002b9d: SWAP1 00002b9e: DUP8 00002b9f: SWAP1 00002ba0: DUP8 00002ba1: SWAP1 00002ba2: DUP8 00002ba3: SWAP1 00002ba4: PUSH1 0x04 00002ba6: ADD 00002ba7: PUSH2 0x5697 00002baa: JUMP 00002bab: JUMPDEST 00002bac: PUSH1 0x00 00002bae: PUSH1 0x40 00002bb0: MLOAD 00002bb1: DUP1 00002bb2: DUP4 00002bb3: SUB 00002bb4: DUP2 00002bb5: PUSH1 0x00 00002bb7: DUP8 00002bb8: DUP1 00002bb9: EXTCODESIZE 00002bba: ISZERO 00002bbb: DUP1 00002bbc: ISZERO 00002bbd: PUSH2 0x2bc5 00002bc0: JUMPI 00002bc1: PUSH1 0x00 00002bc3: DUP1 00002bc4: REVERT 00002bc5: JUMPDEST 00002bc6: POP 00002bc7: GAS 00002bc8: CALL 00002bc9: ISZERO 00002bca: DUP1 00002bcb: ISZERO 00002bcc: PUSH2 0x2bd9 00002bcf: JUMPI 00002bd0: RETURNDATASIZE 00002bd1: PUSH1 0x00 00002bd3: DUP1 00002bd4: RETURNDATACOPY 00002bd5: RETURNDATASIZE 00002bd6: PUSH1 0x00 00002bd8: REVERT 00002bd9: JUMPDEST 00002bda: POP 00002bdb: POP 00002bdc: POP 00002bdd: POP 00002bde: POP 00002bdf: POP 00002be0: POP 00002be1: POP 00002be2: JUMP 00002be3: JUMPDEST 00002be4: PUSH1 0x40 00002be6: MLOAD 00002be7: PUSH4 0x70a08231 00002bec: PUSH1 0xe0 00002bee: SHL 00002bef: DUP2 00002bf0: MSTORE 00002bf1: PUSH1 0x00 00002bf3: SWAP1 00002bf4: PUSH1 0x01 00002bf6: PUSH1 0x01 00002bf8: PUSH1 0xa0 00002bfa: SHL 00002bfb: SUB 00002bfc: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00002c1d: AND 00002c1e: SWAP1 00002c1f: PUSH4 0x70a08231 00002c24: SWAP1 00002c25: PUSH2 0x2c32 00002c28: SWAP1 00002c29: ADDRESS 00002c2a: SWAP1 00002c2b: PUSH1 0x04 00002c2d: ADD 00002c2e: PUSH2 0x56b7 00002c31: JUMP 00002c32: JUMPDEST 00002c33: PUSH1 0x20 00002c35: PUSH1 0x40 00002c37: MLOAD 00002c38: DUP1 00002c39: DUP4 00002c3a: SUB 00002c3b: DUP2 00002c3c: DUP7 00002c3d: GAS 00002c3e: STATICCALL 00002c3f: ISZERO 00002c40: DUP1 00002c41: ISZERO 00002c42: PUSH2 0x2c4f 00002c45: JUMPI 00002c46: RETURNDATASIZE 00002c47: PUSH1 0x00 00002c49: DUP1 00002c4a: RETURNDATACOPY 00002c4b: RETURNDATASIZE 00002c4c: PUSH1 0x00 00002c4e: REVERT 00002c4f: JUMPDEST 00002c50: POP 00002c51: POP 00002c52: POP 00002c53: POP 00002c54: PUSH1 0x40 00002c56: MLOAD 00002c57: RETURNDATASIZE 00002c58: PUSH1 0x1f 00002c5a: NOT 00002c5b: PUSH1 0x1f 00002c5d: DUP3 00002c5e: ADD 00002c5f: AND 00002c60: DUP3 00002c61: ADD 00002c62: DUP1 00002c63: PUSH1 0x40 00002c65: MSTORE 00002c66: POP 00002c67: DUP2 00002c68: ADD 00002c69: SWAP1 00002c6a: PUSH2 0x2c73 00002c6d: SWAP2 00002c6e: SWAP1 00002c6f: PUSH2 0x56cb 00002c72: JUMP 00002c73: JUMPDEST 00002c74: SWAP1 00002c75: POP 00002c76: SWAP1 00002c77: JUMP 00002c78: JUMPDEST 00002c79: PUSH1 0x00 00002c7b: DUP5 00002c7c: GT 00002c7d: DUP1 00002c7e: PUSH2 0x2c87 00002c81: JUMPI 00002c82: POP 00002c83: PUSH1 0x00 00002c85: DUP4 00002c86: GT 00002c87: JUMPDEST 00002c88: DUP1 00002c89: PUSH2 0x2c92 00002c8c: JUMPI 00002c8d: POP 00002c8e: PUSH1 0x00 00002c90: DUP3 00002c91: GT 00002c92: JUMPDEST 00002c93: DUP1 00002c94: PUSH2 0x2c9d 00002c97: JUMPI 00002c98: POP 00002c99: PUSH1 0x00 00002c9b: DUP2 00002c9c: GT 00002c9d: JUMPDEST 00002c9e: ISZERO 00002c9f: PUSH2 0x2edb 00002ca2: JUMPI 00002ca3: PUSH1 0x04 00002ca5: DUP1 00002ca6: SLOAD 00002ca7: PUSH1 0x07 00002ca9: SWAP1 00002caa: PUSH1 0x01 00002cac: PUSH1 0xd0 00002cae: SHL 00002caf: SWAP1 00002cb0: DIV 00002cb1: PUSH4 0xffffffff 00002cb6: AND 00002cb7: PUSH1 0x00 00002cb9: DUP1 00002cba: DUP1 00002cbb: DUP1 00002cbc: DUP1 00002cbd: PUSH2 0x2cc9 00002cc0: DUP13 00002cc1: DUP13 00002cc2: DUP9 00002cc3: DUP11 00002cc4: DUP13 00002cc5: PUSH2 0x45f7 00002cc8: JUMP 00002cc9: JUMPDEST 00002cca: SWAP4 00002ccb: POP 00002ccc: SWAP4 00002ccd: POP 00002cce: SWAP4 00002ccf: POP 00002cd0: SWAP4 00002cd1: POP 00002cd2: DUP1 00002cd3: DUP3 00002cd4: OR 00002cd5: PUSH1 0x00 00002cd7: EQ 00002cd8: PUSH2 0x2d0f 00002cdb: JUMPI 00002cdc: PUSH2 0x2ce4 00002cdf: DUP3 00002ce0: PUSH2 0x3a19 00002ce3: JUMP 00002ce4: JUMPDEST 00002ce5: PUSH2 0x2cee 00002ce8: SWAP1 00002ce9: DUP16 00002cea: PUSH2 0x56e4 00002ced: JUMP 00002cee: JUMPDEST 00002cef: PUSH2 0x2cf7 00002cf2: DUP3 00002cf3: PUSH2 0x3a19 00002cf6: JUMP 00002cf7: JUMPDEST 00002cf8: PUSH2 0x2d01 00002cfb: SWAP1 00002cfc: DUP16 00002cfd: PUSH2 0x56e4 00002d00: JUMP 00002d01: JUMPDEST 00002d02: SWAP1 00002d03: SWAP15 00002d04: POP 00002d05: SWAP13 00002d06: POP 00002d07: PUSH1 0x01 00002d09: SWAP5 00002d0a: POP 00002d0b: PUSH2 0x2d57 00002d0e: JUMP 00002d0f: JUMPDEST 00002d10: PUSH1 0x01 00002d12: PUSH1 0x01 00002d14: PUSH1 0x68 00002d16: SHL 00002d17: SUB 00002d18: DUP5 00002d19: DUP5 00002d1a: OR 00002d1b: AND 00002d1c: ISZERO 00002d1d: PUSH2 0x2d57 00002d20: JUMPI 00002d21: PUSH1 0x04 00002d23: DUP1 00002d24: SLOAD 00002d25: PUSH1 0x01 00002d27: PUSH1 0x01 00002d29: PUSH1 0xd0 00002d2b: SHL 00002d2c: SUB 00002d2d: NOT 00002d2e: AND 00002d2f: PUSH1 0x01 00002d31: PUSH1 0x68 00002d33: SHL 00002d34: PUSH1 0x01 00002d36: PUSH1 0x01 00002d38: PUSH1 0x68 00002d3a: SHL 00002d3b: SUB 00002d3c: DUP7 00002d3d: DUP2 00002d3e: AND 00002d3f: SWAP2 00002d40: SWAP1 00002d41: SWAP2 00002d42: MUL 00002d43: PUSH1 0x01 00002d45: PUSH1 0x01 00002d47: PUSH1 0x68 00002d49: SHL 00002d4a: SUB 00002d4b: NOT 00002d4c: AND 00002d4d: SWAP2 00002d4e: SWAP1 00002d4f: SWAP2 00002d50: OR 00002d51: SWAP1 00002d52: DUP7 00002d53: AND 00002d54: OR 00002d55: SWAP1 00002d56: SSTORE 00002d57: JUMPDEST 00002d58: PUSH1 0x05 00002d5a: SWAP8 00002d5b: POP 00002d5c: PUSH1 0x06 00002d5e: SWAP7 00002d5f: POP 00002d60: PUSH2 0x2d72 00002d63: DUP11 00002d64: DUP11 00002d65: DUP9 00002d66: PUSH4 0xffffffff 00002d6b: AND 00002d6c: DUP11 00002d6d: DUP13 00002d6e: PUSH2 0x45f7 00002d71: JUMP 00002d72: JUMPDEST 00002d73: SWAP3 00002d74: SWAP7 00002d75: POP 00002d76: SWAP1 00002d77: SWAP5 00002d78: POP 00002d79: SWAP3 00002d7a: POP 00002d7b: SWAP1 00002d7c: POP 00002d7d: DUP2 00002d7e: DUP2 00002d7f: OR 00002d80: ISZERO 00002d81: PUSH2 0x2e65 00002d84: JUMPI 00002d85: PUSH2 0x2d8d 00002d88: DUP3 00002d89: PUSH2 0x3a19 00002d8c: JUMP 00002d8d: JUMPDEST 00002d8e: PUSH2 0x2d97 00002d91: SWAP1 00002d92: DUP16 00002d93: PUSH2 0x56e4 00002d96: JUMP 00002d97: JUMPDEST 00002d98: PUSH2 0x2da0 00002d9b: DUP3 00002d9c: PUSH2 0x3a19 00002d9f: JUMP 00002da0: JUMPDEST 00002da1: PUSH2 0x2daa 00002da4: SWAP1 00002da5: DUP16 00002da6: PUSH2 0x56e4 00002da9: JUMP 00002daa: JUMPDEST 00002dab: DUP1 00002dac: SWAP15 00002dad: POP 00002dae: DUP2 00002daf: SWAP16 00002db0: POP 00002db1: POP 00002db2: POP 00002db3: PUSH1 0x01 00002db5: SWAP5 00002db6: POP 00002db7: PUSH2 0x2e60 00002dba: PUSH4 0xaa6b14bb 00002dbf: PUSH1 0xe0 00002dc1: SHL 00002dc2: PUSH1 0x06 00002dc4: PUSH1 0x00 00002dc6: SWAP1 00002dc7: SLOAD 00002dc8: SWAP1 00002dc9: PUSH2 0x0100 00002dcc: EXP 00002dcd: SWAP1 00002dce: DIV 00002dcf: PUSH1 0x01 00002dd1: PUSH1 0x01 00002dd3: PUSH1 0xa0 00002dd5: SHL 00002dd6: SUB 00002dd7: AND 00002dd8: PUSH1 0x01 00002dda: PUSH1 0x01 00002ddc: PUSH1 0xa0 00002dde: SHL 00002ddf: SUB 00002de0: AND 00002de1: PUSH4 0xaa6b14bb 00002de6: DUP6 00002de7: DUP6 00002de8: PUSH1 0x40 00002dea: MLOAD 00002deb: DUP4 00002dec: PUSH4 0xffffffff 00002df1: AND 00002df2: PUSH1 0xe0 00002df4: SHL 00002df5: DUP2 00002df6: MSTORE 00002df7: PUSH1 0x04 00002df9: ADD 00002dfa: PUSH2 0x2e0d 00002dfd: SWAP3 00002dfe: SWAP2 00002dff: SWAP1 00002e00: SWAP2 00002e01: DUP3 00002e02: MSTORE 00002e03: PUSH1 0x20 00002e05: DUP3 00002e06: ADD 00002e07: MSTORE 00002e08: PUSH1 0x40 00002e0a: ADD 00002e0b: SWAP1 00002e0c: JUMP 00002e0d: JUMPDEST 00002e0e: PUSH1 0x20 00002e10: PUSH1 0x40 00002e12: MLOAD 00002e13: DUP1 00002e14: DUP4 00002e15: SUB 00002e16: DUP2 00002e17: PUSH1 0x00 00002e19: DUP8 00002e1a: GAS 00002e1b: CALL 00002e1c: ISZERO 00002e1d: DUP1 00002e1e: ISZERO 00002e1f: PUSH2 0x2e2c 00002e22: JUMPI 00002e23: RETURNDATASIZE 00002e24: PUSH1 0x00 00002e26: DUP1 00002e27: RETURNDATACOPY 00002e28: RETURNDATASIZE 00002e29: PUSH1 0x00 00002e2b: REVERT 00002e2c: JUMPDEST 00002e2d: POP 00002e2e: POP 00002e2f: POP 00002e30: POP 00002e31: PUSH1 0x40 00002e33: MLOAD 00002e34: RETURNDATASIZE 00002e35: PUSH1 0x1f 00002e37: NOT 00002e38: PUSH1 0x1f 00002e3a: DUP3 00002e3b: ADD 00002e3c: AND 00002e3d: DUP3 00002e3e: ADD 00002e3f: DUP1 00002e40: PUSH1 0x40 00002e42: MSTORE 00002e43: POP 00002e44: DUP2 00002e45: ADD 00002e46: SWAP1 00002e47: PUSH2 0x2e50 00002e4a: SWAP2 00002e4b: SWAP1 00002e4c: PUSH2 0x5704 00002e4f: JUMP 00002e50: JUMPDEST 00002e51: PUSH1 0x01 00002e53: PUSH1 0x01 00002e55: PUSH1 0xe0 00002e57: SHL 00002e58: SUB 00002e59: NOT 00002e5a: AND 00002e5b: SWAP1 00002e5c: PUSH2 0x38e3 00002e5f: JUMP 00002e60: JUMPDEST 00002e61: PUSH2 0x2ead 00002e64: JUMP 00002e65: JUMPDEST 00002e66: PUSH1 0x01 00002e68: PUSH1 0x01 00002e6a: PUSH1 0x68 00002e6c: SHL 00002e6d: SUB 00002e6e: DUP5 00002e6f: DUP5 00002e70: OR 00002e71: AND 00002e72: ISZERO 00002e73: PUSH2 0x2ead 00002e76: JUMPI 00002e77: PUSH1 0x05 00002e79: DUP1 00002e7a: SLOAD 00002e7b: PUSH1 0x01 00002e7d: PUSH1 0x01 00002e7f: PUSH1 0xd0 00002e81: SHL 00002e82: SUB 00002e83: NOT 00002e84: AND 00002e85: PUSH1 0x01 00002e87: PUSH1 0x68 00002e89: SHL 00002e8a: PUSH1 0x01 00002e8c: PUSH1 0x01 00002e8e: PUSH1 0x68 00002e90: SHL 00002e91: SUB 00002e92: DUP7 00002e93: DUP2 00002e94: AND 00002e95: SWAP2 00002e96: SWAP1 00002e97: SWAP2 00002e98: MUL 00002e99: PUSH1 0x01 00002e9b: PUSH1 0x01 00002e9d: PUSH1 0x68 00002e9f: SHL 00002ea0: SUB 00002ea1: NOT 00002ea2: AND 00002ea3: SWAP2 00002ea4: SWAP1 00002ea5: SWAP2 00002ea6: OR 00002ea7: SWAP1 00002ea8: DUP7 00002ea9: AND 00002eaa: OR 00002eab: SWAP1 00002eac: SSTORE 00002ead: JUMPDEST 00002eae: DUP5 00002eaf: ISZERO 00002eb0: PUSH2 0x2ed2 00002eb3: JUMPI 00002eb4: PUSH1 0x04 00002eb6: DUP1 00002eb7: SLOAD 00002eb8: PUSH4 0xffffffff 00002ebd: PUSH1 0xd0 00002ebf: SHL 00002ec0: NOT 00002ec1: AND 00002ec2: PUSH1 0x01 00002ec4: PUSH1 0xd0 00002ec6: SHL 00002ec7: TIMESTAMP 00002ec8: PUSH4 0xffffffff 00002ecd: AND 00002ece: MUL 00002ecf: OR 00002ed0: SWAP1 00002ed1: SSTORE 00002ed2: JUMPDEST 00002ed3: POP 00002ed4: POP 00002ed5: POP 00002ed6: POP 00002ed7: POP 00002ed8: POP 00002ed9: POP 00002eda: POP 00002edb: JUMPDEST 00002edc: DUP6 00002edd: DUP6 00002ede: OR 00002edf: ISZERO 00002ee0: PUSH2 0x2f5f 00002ee3: JUMPI 00002ee4: PUSH1 0x0c 00002ee6: SLOAD 00002ee7: PUSH1 0x01 00002ee9: PUSH1 0x01 00002eeb: PUSH1 0x80 00002eed: SHL 00002eee: SUB 00002eef: DUP1 00002ef0: DUP3 00002ef1: AND 00002ef2: SWAP2 00002ef3: PUSH1 0x01 00002ef5: PUSH1 0x80 00002ef7: SHL 00002ef8: SWAP1 00002ef9: DIV 00002efa: AND 00002efb: DUP8 00002efc: ISZERO 00002efd: PUSH2 0x2f1e 00002f00: JUMPI 00002f01: PUSH2 0x2f12 00002f04: PUSH2 0x2f0d 00002f07: DUP10 00002f08: DUP5 00002f09: PUSH2 0x572e 00002f0c: JUMP 00002f0d: JUMPDEST 00002f0e: PUSH2 0x4703 00002f11: JUMP 00002f12: JUMPDEST 00002f13: PUSH1 0x01 00002f15: PUSH1 0x01 00002f17: PUSH1 0x80 00002f19: SHL 00002f1a: SUB 00002f1b: AND 00002f1c: SWAP2 00002f1d: POP 00002f1e: JUMPDEST 00002f1f: DUP7 00002f20: ISZERO 00002f21: PUSH2 0x2f3d 00002f24: JUMPI 00002f25: PUSH2 0x2f31 00002f28: PUSH2 0x2f0d 00002f2b: DUP9 00002f2c: DUP4 00002f2d: PUSH2 0x572e 00002f30: JUMP 00002f31: JUMPDEST 00002f32: PUSH1 0x01 00002f34: PUSH1 0x01 00002f36: PUSH1 0x80 00002f38: SHL 00002f39: SUB 00002f3a: AND 00002f3b: SWAP1 00002f3c: POP 00002f3d: JUMPDEST 00002f3e: PUSH1 0x01 00002f40: PUSH1 0x01 00002f42: PUSH1 0x80 00002f44: SHL 00002f45: SUB 00002f46: SWAP2 00002f47: DUP3 00002f48: AND 00002f49: SWAP2 00002f4a: AND 00002f4b: PUSH1 0x01 00002f4d: PUSH1 0x80 00002f4f: SHL 00002f50: MUL 00002f51: PUSH1 0x01 00002f53: PUSH1 0x01 00002f55: PUSH1 0x80 00002f57: SHL 00002f58: SUB 00002f59: NOT 00002f5a: AND 00002f5b: OR 00002f5c: PUSH1 0x0c 00002f5e: SSTORE 00002f5f: JUMPDEST 00002f60: POP 00002f61: POP 00002f62: POP 00002f63: POP 00002f64: POP 00002f65: POP 00002f66: JUMP 00002f67: JUMPDEST 00002f68: PUSH1 0x40 00002f6a: MLOAD 00002f6b: PUSH4 0x70a08231 00002f70: PUSH1 0xe0 00002f72: SHL 00002f73: DUP2 00002f74: MSTORE 00002f75: PUSH1 0x00 00002f77: SWAP1 00002f78: PUSH1 0x01 00002f7a: PUSH1 0x01 00002f7c: PUSH1 0xa0 00002f7e: SHL 00002f7f: SUB 00002f80: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 00002fa1: AND 00002fa2: SWAP1 00002fa3: PUSH4 0x70a08231 00002fa8: SWAP1 00002fa9: PUSH2 0x2c32 00002fac: SWAP1 00002fad: ADDRESS 00002fae: SWAP1 00002faf: PUSH1 0x04 00002fb1: ADD 00002fb2: PUSH2 0x56b7 00002fb5: JUMP 00002fb6: JUMPDEST 00002fb7: PUSH1 0x40 00002fb9: DUP1 00002fba: MLOAD 00002fbb: DUP9 00002fbc: DUP2 00002fbd: MSTORE 00002fbe: PUSH1 0x20 00002fc0: DUP2 00002fc1: ADD 00002fc2: DUP9 00002fc3: SWAP1 00002fc4: MSTORE 00002fc5: PUSH1 0x01 00002fc7: PUSH1 0x01 00002fc9: PUSH1 0xa0 00002fcb: SHL 00002fcc: SUB 00002fcd: DUP8 00002fce: DUP2 00002fcf: AND 00002fd0: DUP3 00002fd1: DUP5 00002fd2: ADD 00002fd3: MSTORE 00002fd4: PUSH1 0x01 00002fd6: PUSH1 0x01 00002fd8: PUSH1 0x80 00002fda: SHL 00002fdb: SUB 00002fdc: DUP8 00002fdd: AND 00002fde: PUSH1 0x60 00002fe0: DUP4 00002fe1: ADD 00002fe2: MSTORE 00002fe3: PUSH1 0x02 00002fe5: DUP7 00002fe6: SWAP1 00002fe7: SIGNEXTEND 00002fe8: PUSH1 0x80 00002fea: DUP4 00002feb: ADD 00002fec: MSTORE 00002fed: PUSH3 0xffffff 00002ff1: DUP1 00002ff2: DUP7 00002ff3: AND 00002ff4: PUSH1 0xa0 00002ff6: DUP5 00002ff7: ADD 00002ff8: MSTORE 00002ff9: DUP5 00002ffa: AND 00002ffb: PUSH1 0xc0 00002ffd: DUP4 00002ffe: ADD 00002fff: MSTORE 00003000: SWAP2 00003001: MLOAD 00003002: SWAP2 00003003: DUP11 00003004: AND 00003005: SWAP2 00003006: CALLER 00003007: SWAP2 00003008: PUSH32 0x121cb44ee54098b1a04743c487e7460d8dd429b27f88b1f4d4767396e1a59f79 00003029: SWAP2 0000302a: SWAP1 0000302b: DUP2 0000302c: SWAP1 0000302d: SUB 0000302e: PUSH1 0xe0 00003030: ADD 00003031: SWAP1 00003032: LOG3 00003033: POP 00003034: POP 00003035: POP 00003036: POP 00003037: POP 00003038: POP 00003039: POP 0000303a: POP 0000303b: JUMP 0000303c: JUMPDEST 0000303d: PUSH1 0x02 0000303f: DUP1 00003040: SLOAD 00003041: PUSH1 0xff 00003043: PUSH1 0xe0 00003045: SHL 00003046: NOT 00003047: AND 00003048: PUSH1 0x01 0000304a: PUSH1 0xe0 0000304c: SHL 0000304d: OR 0000304e: SWAP1 0000304f: SSTORE 00003050: JUMP 00003051: JUMPDEST 00003052: PUSH1 0x02 00003054: DUP1 00003055: SLOAD 00003056: PUSH1 0x01 00003058: PUSH1 0xc8 0000305a: SHL 0000305b: SWAP1 0000305c: DIV 0000305d: AND 0000305e: ISZERO 0000305f: PUSH2 0x2bd9 00003062: JUMPI 00003063: PUSH2 0x306a 00003066: PUSH2 0x3fb0 00003069: JUMP 0000306a: JUMPDEST 0000306b: PUSH2 0x2bd9 0000306e: JUMPI 0000306f: PUSH2 0x2bd9 00003072: PUSH4 0x9cb5a963 00003077: PUSH1 0xe0 00003079: SHL 0000307a: PUSH1 0x06 0000307c: PUSH1 0x00 0000307e: SWAP1 0000307f: SLOAD 00003080: SWAP1 00003081: PUSH2 0x0100 00003084: EXP 00003085: SWAP1 00003086: DIV 00003087: PUSH1 0x01 00003089: PUSH1 0x01 0000308b: PUSH1 0xa0 0000308d: SHL 0000308e: SUB 0000308f: AND 00003090: PUSH1 0x01 00003092: PUSH1 0x01 00003094: PUSH1 0xa0 00003096: SHL 00003097: SUB 00003098: AND 00003099: PUSH4 0x9cb5a963 0000309e: CALLER 0000309f: DUP13 000030a0: DUP13 000030a1: DUP13 000030a2: DUP13 000030a3: DUP13 000030a4: DUP13 000030a5: DUP13 000030a6: DUP13 000030a7: PUSH1 0x40 000030a9: MLOAD 000030aa: DUP11 000030ab: PUSH4 0xffffffff 000030b0: AND 000030b1: PUSH1 0xe0 000030b3: SHL 000030b4: DUP2 000030b5: MSTORE 000030b6: PUSH1 0x04 000030b8: ADD 000030b9: DUP1 000030ba: DUP11 000030bb: PUSH1 0x01 000030bd: PUSH1 0x01 000030bf: PUSH1 0xa0 000030c1: SHL 000030c2: SUB 000030c3: AND 000030c4: DUP2 000030c5: MSTORE 000030c6: PUSH1 0x20 000030c8: ADD 000030c9: DUP10 000030ca: PUSH1 0x01 000030cc: PUSH1 0x01 000030ce: PUSH1 0xa0 000030d0: SHL 000030d1: SUB 000030d2: AND 000030d3: DUP2 000030d4: MSTORE 000030d5: PUSH1 0x20 000030d7: ADD 000030d8: DUP9 000030d9: ISZERO 000030da: ISZERO 000030db: DUP2 000030dc: MSTORE 000030dd: PUSH1 0x20 000030df: ADD 000030e0: DUP8 000030e1: DUP2 000030e2: MSTORE 000030e3: PUSH1 0x20 000030e5: ADD 000030e6: DUP7 000030e7: PUSH1 0x01 000030e9: PUSH1 0x01 000030eb: PUSH1 0xa0 000030ed: SHL 000030ee: SUB 000030ef: AND 000030f0: DUP2 000030f1: MSTORE 000030f2: PUSH1 0x20 000030f4: ADD 000030f5: DUP6 000030f6: DUP2 000030f7: MSTORE 000030f8: PUSH1 0x20 000030fa: ADD 000030fb: DUP5 000030fc: DUP2 000030fd: MSTORE 000030fe: PUSH1 0x20 00003100: ADD 00003101: DUP1 00003102: PUSH1 0x20 00003104: ADD 00003105: DUP3 00003106: DUP2 00003107: SUB 00003108: DUP3 00003109: MSTORE 0000310a: DUP5 0000310b: DUP5 0000310c: DUP3 0000310d: DUP2 0000310e: DUP2 0000310f: MSTORE 00003110: PUSH1 0x20 00003112: ADD 00003113: SWAP3 00003114: POP 00003115: DUP1 00003116: DUP3 00003117: DUP5 00003118: CALLDATACOPY 00003119: PUSH1 0x00 0000311b: DUP2 0000311c: DUP5 0000311d: ADD 0000311e: MSTORE 0000311f: PUSH1 0x1f 00003121: NOT 00003122: PUSH1 0x1f 00003124: DUP3 00003125: ADD 00003126: AND 00003127: SWAP1 00003128: POP 00003129: DUP1 0000312a: DUP4 0000312b: ADD 0000312c: SWAP3 0000312d: POP 0000312e: POP 0000312f: POP 00003130: SWAP11 00003131: POP 00003132: POP 00003133: POP 00003134: POP 00003135: POP 00003136: POP 00003137: POP 00003138: POP 00003139: POP 0000313a: POP 0000313b: POP 0000313c: PUSH1 0x20 0000313e: PUSH1 0x40 00003140: MLOAD 00003141: DUP1 00003142: DUP4 00003143: SUB 00003144: DUP2 00003145: PUSH1 0x00 00003147: DUP8 00003148: GAS 00003149: CALL 0000314a: ISZERO 0000314b: DUP1 0000314c: ISZERO 0000314d: PUSH2 0x10a1 00003150: JUMPI 00003151: RETURNDATASIZE 00003152: PUSH1 0x00 00003154: DUP1 00003155: RETURNDATACOPY 00003156: RETURNDATASIZE 00003157: PUSH1 0x00 00003159: REVERT 0000315a: JUMPDEST 0000315b: PUSH1 0x06 0000315d: SLOAD 0000315e: PUSH1 0x01 00003160: PUSH1 0x01 00003162: PUSH1 0xa0 00003164: SHL 00003165: SUB 00003166: AND 00003167: CALLER 00003168: EQ 00003169: PUSH2 0x0d5e 0000316c: JUMPI 0000316d: PUSH1 0x40 0000316f: MLOAD 00003170: PUSH4 0x4994c269 00003175: PUSH1 0xe1 00003177: SHL 00003178: DUP2 00003179: MSTORE 0000317a: PUSH1 0x04 0000317c: ADD 0000317d: PUSH1 0x40 0000317f: MLOAD 00003180: DUP1 00003181: SWAP2 00003182: SUB 00003183: SWAP1 00003184: REVERT 00003185: JUMPDEST 00003186: PUSH1 0x00 00003188: DUP1 00003189: PUSH2 0x3190 0000318c: PUSH2 0x2be3 0000318f: JUMP 00003190: JUMPDEST 00003191: PUSH2 0x3198 00003194: PUSH2 0x2f67 00003197: JUMP 00003198: JUMPDEST 00003199: PUSH1 0x0c 0000319b: SLOAD 0000319c: SWAP2 0000319d: SWAP4 0000319e: POP 0000319f: SWAP2 000031a0: POP 000031a1: PUSH1 0x01 000031a3: PUSH1 0x01 000031a5: PUSH1 0x80 000031a7: SHL 000031a8: SUB 000031a9: DUP1 000031aa: DUP3 000031ab: AND 000031ac: SWAP2 000031ad: PUSH1 0x01 000031af: PUSH1 0x80 000031b1: SHL 000031b2: SWAP1 000031b3: DIV 000031b4: AND 000031b5: DUP2 000031b6: DUP5 000031b7: GT 000031b8: DUP1 000031b9: PUSH2 0x31ca 000031bc: JUMPI 000031bd: POP 000031be: DUP1 000031bf: PUSH1 0x01 000031c1: PUSH1 0x01 000031c3: PUSH1 0x80 000031c5: SHL 000031c6: SUB 000031c7: AND 000031c8: DUP4 000031c9: GT 000031ca: JUMPDEST 000031cb: ISZERO 000031cc: PUSH2 0x20ca 000031cf: JUMPI 000031d0: DUP2 000031d1: PUSH1 0x01 000031d3: PUSH1 0x01 000031d5: PUSH1 0x80 000031d7: SHL 000031d8: SUB 000031d9: AND 000031da: DUP5 000031db: GT 000031dc: ISZERO 000031dd: PUSH2 0x321d 000031e0: JUMPI 000031e1: PUSH2 0x321d 000031e4: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00003205: DUP7 00003206: PUSH2 0x3218 00003209: PUSH1 0x01 0000320b: PUSH1 0x01 0000320d: PUSH1 0x80 0000320f: SHL 00003210: SUB 00003211: DUP7 00003212: AND 00003213: DUP9 00003214: PUSH2 0x55bf 00003217: JUMP 00003218: JUMPDEST 00003219: PUSH2 0x2b72 0000321c: JUMP 0000321d: JUMPDEST 0000321e: DUP1 0000321f: PUSH1 0x01 00003221: PUSH1 0x01 00003223: PUSH1 0x80 00003225: SHL 00003226: SUB 00003227: AND 00003228: DUP4 00003229: GT 0000322a: ISZERO 0000322b: PUSH2 0x3266 0000322e: JUMPI 0000322f: PUSH2 0x3266 00003232: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 00003253: DUP7 00003254: PUSH2 0x3218 00003257: PUSH1 0x01 00003259: PUSH1 0x01 0000325b: PUSH1 0x80 0000325d: SHL 0000325e: SUB 0000325f: DUP6 00003260: AND 00003261: DUP8 00003262: PUSH2 0x55bf 00003265: JUMP 00003266: JUMPDEST 00003267: PUSH1 0x01 00003269: PUSH1 0x01 0000326b: PUSH1 0xa0 0000326d: SHL 0000326e: SUB 0000326f: DUP6 00003270: AND 00003271: PUSH32 0xb94331e4420f16b156f53c397a8adcd09481283ee7830f7b688b22858e9db80b 00003292: PUSH2 0x32a4 00003295: PUSH1 0x01 00003297: PUSH1 0x01 00003299: PUSH1 0x80 0000329b: SHL 0000329c: SUB 0000329d: DUP6 0000329e: AND 0000329f: DUP8 000032a0: PUSH2 0x55bf 000032a3: JUMP 000032a4: JUMPDEST 000032a5: PUSH2 0x32b7 000032a8: PUSH1 0x01 000032aa: PUSH1 0x01 000032ac: PUSH1 0x80 000032ae: SHL 000032af: SUB 000032b0: DUP6 000032b1: AND 000032b2: DUP8 000032b3: PUSH2 0x55bf 000032b6: JUMP 000032b7: JUMPDEST 000032b8: PUSH1 0x40 000032ba: DUP1 000032bb: MLOAD 000032bc: SWAP3 000032bd: DUP4 000032be: MSTORE 000032bf: PUSH1 0x20 000032c1: DUP4 000032c2: ADD 000032c3: SWAP2 000032c4: SWAP1 000032c5: SWAP2 000032c6: MSTORE 000032c7: ADD 000032c8: PUSH1 0x40 000032ca: MLOAD 000032cb: DUP1 000032cc: SWAP2 000032cd: SUB 000032ce: SWAP1 000032cf: LOG2 000032d0: POP 000032d1: POP 000032d2: POP 000032d3: POP 000032d4: POP 000032d5: JUMP 000032d6: JUMPDEST 000032d7: PUSH1 0x02 000032d9: SLOAD 000032da: PUSH1 0x01 000032dc: PUSH1 0xe0 000032de: SHL 000032df: SWAP1 000032e0: DIV 000032e1: PUSH1 0xff 000032e3: AND 000032e4: PUSH2 0x0d5e 000032e7: JUMPI 000032e8: PUSH1 0x40 000032ea: MLOAD 000032eb: PUSH4 0x67984809 000032f0: PUSH1 0xe1 000032f2: SHL 000032f3: DUP2 000032f4: MSTORE 000032f5: PUSH1 0x04 000032f7: ADD 000032f8: PUSH1 0x40 000032fa: MLOAD 000032fb: DUP1 000032fc: SWAP2 000032fd: SUB 000032fe: SWAP1 000032ff: REVERT 00003300: JUMPDEST 00003301: PUSH1 0x40 00003303: DUP1 00003304: MLOAD 00003305: PUSH4 0xe8ae2b69 0000330a: PUSH1 0xe0 0000330c: SHL 0000330d: DUP2 0000330e: MSTORE 0000330f: PUSH32 0xb73ce166ead2f8e9add217713a7989e4edfba9625f71dfd2516204bb67ad3442 00003330: PUSH1 0x04 00003332: DUP3 00003333: ADD 00003334: MSTORE 00003335: CALLER 00003336: PUSH1 0x24 00003338: DUP3 00003339: ADD 0000333a: MSTORE 0000333b: SWAP1 0000333c: MLOAD 0000333d: PUSH1 0x01 0000333f: PUSH1 0x01 00003341: PUSH1 0xa0 00003343: SHL 00003344: SUB 00003345: PUSH32 0x000000000000000000000000fb8ed3485efa29a0e4bed93351dd51b59fc4b0f0 00003366: AND 00003367: SWAP2 00003368: PUSH4 0xe8ae2b69 0000336d: SWAP2 0000336e: PUSH1 0x44 00003370: DUP1 00003371: DUP4 00003372: ADD 00003373: SWAP3 00003374: PUSH1 0x20 00003376: SWAP3 00003377: SWAP2 00003378: SWAP1 00003379: DUP3 0000337a: SWAP1 0000337b: SUB 0000337c: ADD 0000337d: DUP2 0000337e: DUP7 0000337f: GAS 00003380: STATICCALL 00003381: ISZERO 00003382: DUP1 00003383: ISZERO 00003384: PUSH2 0x3391 00003387: JUMPI 00003388: RETURNDATASIZE 00003389: PUSH1 0x00 0000338b: DUP1 0000338c: RETURNDATACOPY 0000338d: RETURNDATASIZE 0000338e: PUSH1 0x00 00003390: REVERT 00003391: JUMPDEST 00003392: POP 00003393: POP 00003394: POP 00003395: POP 00003396: PUSH1 0x40 00003398: MLOAD 00003399: RETURNDATASIZE 0000339a: PUSH1 0x20 0000339c: DUP2 0000339d: LT 0000339e: ISZERO 0000339f: PUSH2 0x33a7 000033a2: JUMPI 000033a3: PUSH1 0x00 000033a5: DUP1 000033a6: REVERT 000033a7: JUMPDEST 000033a8: POP 000033a9: MLOAD 000033aa: PUSH2 0x0d5e 000033ad: JUMPI 000033ae: PUSH1 0x40 000033b0: MLOAD 000033b1: PUSH4 0x4994c269 000033b6: PUSH1 0xe1 000033b8: SHL 000033b9: DUP2 000033ba: MSTORE 000033bb: PUSH1 0x04 000033bd: ADD 000033be: PUSH1 0x40 000033c0: MLOAD 000033c1: DUP1 000033c2: SWAP2 000033c3: SUB 000033c4: SWAP1 000033c5: REVERT 000033c6: JUMPDEST 000033c7: PUSH1 0x02 000033c9: DUP1 000033ca: SLOAD 000033cb: PUSH2 0xffff 000033ce: PUSH1 0xd0 000033d0: SHL 000033d1: NOT 000033d2: AND 000033d3: PUSH1 0x01 000033d5: PUSH1 0xd0 000033d7: SHL 000033d8: PUSH2 0xffff 000033db: DUP5 000033dc: AND 000033dd: SWAP1 000033de: DUP2 000033df: MUL 000033e0: SWAP2 000033e1: SWAP1 000033e2: SWAP2 000033e3: OR 000033e4: SWAP1 000033e5: SWAP2 000033e6: SSTORE 000033e7: PUSH1 0x40 000033e9: MLOAD 000033ea: SWAP1 000033eb: DUP2 000033ec: MSTORE 000033ed: PUSH32 0x3647dccc990d4941b0b05b32527ef493a98d6187b20639ca2f9743f3b55ca5e1 0000340e: SWAP1 0000340f: PUSH1 0x20 00003411: ADD 00003412: JUMPDEST 00003413: PUSH1 0x40 00003415: MLOAD 00003416: DUP1 00003417: SWAP2 00003418: SUB 00003419: SWAP1 0000341a: LOG1 0000341b: POP 0000341c: JUMP 0000341d: JUMPDEST 0000341e: PUSH2 0x342a 00003421: PUSH3 0x0d89e7 00003425: NOT 00003426: PUSH2 0x5756 00003429: JUMP 0000342a: JUMPDEST 0000342b: PUSH1 0x02 0000342d: SIGNEXTEND 0000342e: DUP2 0000342f: PUSH1 0x02 00003431: SIGNEXTEND 00003432: SGT 00003433: ISZERO 00003434: PUSH2 0x3450 00003437: JUMPI 00003438: PUSH1 0x40 0000343a: MLOAD 0000343b: PUSH4 0x1445443d 00003440: PUSH1 0xe0 00003442: SHL 00003443: DUP2 00003444: MSTORE 00003445: PUSH1 0x04 00003447: ADD 00003448: PUSH1 0x40 0000344a: MLOAD 0000344b: DUP1 0000344c: SWAP2 0000344d: SUB 0000344e: SWAP1 0000344f: REVERT 00003450: JUMPDEST 00003451: DUP2 00003452: PUSH1 0x02 00003454: SIGNEXTEND 00003455: DUP2 00003456: PUSH1 0x02 00003458: SIGNEXTEND 00003459: SGT 0000345a: PUSH2 0x3476 0000345d: JUMPI 0000345e: PUSH1 0x40 00003460: MLOAD 00003461: PUSH4 0xd9a841a7 00003466: PUSH1 0xe0 00003468: SHL 00003469: DUP2 0000346a: MSTORE 0000346b: PUSH1 0x04 0000346d: ADD 0000346e: PUSH1 0x40 00003470: MLOAD 00003471: DUP1 00003472: SWAP2 00003473: SUB 00003474: SWAP1 00003475: REVERT 00003476: JUMPDEST 00003477: PUSH3 0x0d89e7 0000347b: NOT 0000347c: PUSH1 0x02 0000347e: DUP4 0000347f: SWAP1 00003480: SIGNEXTEND 00003481: SLT 00003482: ISZERO 00003483: PUSH2 0x15b8 00003486: JUMPI 00003487: PUSH1 0x40 00003489: MLOAD 0000348a: PUSH4 0x1d1ac7f1 0000348f: PUSH1 0xe2 00003491: SHL 00003492: DUP2 00003493: MSTORE 00003494: PUSH1 0x04 00003496: ADD 00003497: PUSH1 0x40 00003499: MLOAD 0000349a: DUP1 0000349b: SWAP2 0000349c: SUB 0000349d: SWAP1 0000349e: REVERT 0000349f: JUMPDEST 000034a0: PUSH1 0x02 000034a2: SLOAD 000034a3: PUSH1 0x00 000034a5: SWAP1 000034a6: PUSH1 0x01 000034a8: PUSH1 0xc8 000034aa: SHL 000034ab: SWAP1 000034ac: DIV 000034ad: PUSH1 0x04 000034af: AND 000034b0: ISZERO 000034b1: PUSH2 0x35ea 000034b4: JUMPI 000034b5: PUSH2 0x34bc 000034b8: PUSH2 0x3fb0 000034bb: JUMP 000034bc: JUMPDEST 000034bd: ISZERO 000034be: PUSH2 0x34c9 000034c1: JUMPI 000034c2: POP 000034c3: PUSH1 0x00 000034c5: PUSH2 0x35ea 000034c8: JUMP 000034c9: JUMPDEST 000034ca: PUSH1 0x06 000034cc: SLOAD 000034cd: PUSH1 0x40 000034cf: MLOAD 000034d0: PUSH4 0x2f1208d9 000034d5: PUSH1 0xe1 000034d7: SHL 000034d8: DUP2 000034d9: MSTORE 000034da: CALLER 000034db: PUSH1 0x04 000034dd: DUP3 000034de: ADD 000034df: DUP2 000034e0: DUP2 000034e1: MSTORE 000034e2: PUSH1 0x01 000034e4: PUSH1 0x01 000034e6: PUSH1 0xa0 000034e8: SHL 000034e9: SUB 000034ea: DUP12 000034eb: DUP2 000034ec: AND 000034ed: PUSH1 0x24 000034ef: DUP6 000034f0: ADD 000034f1: MSTORE 000034f2: PUSH1 0x02 000034f4: DUP12 000034f5: DUP2 000034f6: SIGNEXTEND 000034f7: PUSH1 0x44 000034f9: DUP7 000034fa: ADD 000034fb: MSTORE 000034fc: DUP11 000034fd: SWAP1 000034fe: SIGNEXTEND 000034ff: PUSH1 0x64 00003501: DUP6 00003502: ADD 00003503: MSTORE 00003504: PUSH1 0x0f 00003506: DUP10 00003507: SWAP1 00003508: SIGNEXTEND 00003509: PUSH1 0x84 0000350b: DUP6 0000350c: ADD 0000350d: MSTORE 0000350e: PUSH1 0xc0 00003510: PUSH1 0xa4 00003512: DUP6 00003513: ADD 00003514: SWAP1 00003515: DUP2 00003516: MSTORE 00003517: PUSH1 0xc4 00003519: DUP6 0000351a: ADD 0000351b: DUP9 0000351c: SWAP1 0000351d: MSTORE 0000351e: PUSH1 0x00 00003520: SWAP6 00003521: SWAP2 00003522: SWAP1 00003523: SWAP2 00003524: AND 00003525: SWAP4 00003526: PUSH4 0x5e2411b2 0000352b: SWAP4 0000352c: SWAP3 0000352d: DUP14 0000352e: SWAP3 0000352f: DUP14 00003530: SWAP3 00003531: DUP14 00003532: SWAP3 00003533: DUP14 00003534: SWAP3 00003535: DUP14 00003536: SWAP3 00003537: DUP14 00003538: SWAP3 00003539: SWAP2 0000353a: SWAP1 0000353b: PUSH1 0xe4 0000353d: ADD 0000353e: DUP5 0000353f: DUP5 00003540: DUP1 00003541: DUP3 00003542: DUP5 00003543: CALLDATACOPY 00003544: PUSH1 0x00 00003546: DUP2 00003547: DUP5 00003548: ADD 00003549: MSTORE 0000354a: PUSH1 0x1f 0000354c: NOT 0000354d: PUSH1 0x1f 0000354f: DUP3 00003550: ADD 00003551: AND 00003552: SWAP1 00003553: POP 00003554: DUP1 00003555: DUP4 00003556: ADD 00003557: SWAP3 00003558: POP 00003559: POP 0000355a: POP 0000355b: SWAP9 0000355c: POP 0000355d: POP 0000355e: POP 0000355f: POP 00003560: POP 00003561: POP 00003562: POP 00003563: POP 00003564: POP 00003565: PUSH1 0x40 00003567: DUP1 00003568: MLOAD 00003569: DUP1 0000356a: DUP4 0000356b: SUB 0000356c: DUP2 0000356d: PUSH1 0x00 0000356f: DUP8 00003570: GAS 00003571: CALL 00003572: ISZERO 00003573: DUP1 00003574: ISZERO 00003575: PUSH2 0x3582 00003578: JUMPI 00003579: RETURNDATASIZE 0000357a: PUSH1 0x00 0000357c: DUP1 0000357d: RETURNDATACOPY 0000357e: RETURNDATASIZE 0000357f: PUSH1 0x00 00003581: REVERT 00003582: JUMPDEST 00003583: POP 00003584: POP 00003585: POP 00003586: POP 00003587: PUSH1 0x40 00003589: MLOAD 0000358a: RETURNDATASIZE 0000358b: PUSH1 0x40 0000358d: DUP2 0000358e: LT 0000358f: ISZERO 00003590: PUSH2 0x3598 00003593: JUMPI 00003594: PUSH1 0x00 00003596: DUP1 00003597: REVERT 00003598: JUMPDEST 00003599: POP 0000359a: DUP1 0000359b: MLOAD 0000359c: PUSH1 0x20 0000359e: SWAP1 0000359f: SWAP2 000035a0: ADD 000035a1: MLOAD 000035a2: SWAP3 000035a3: POP 000035a4: SWAP1 000035a5: POP 000035a6: PUSH3 0x0f4240 000035aa: PUSH3 0xffffff 000035ae: DUP4 000035af: AND 000035b0: LT 000035b1: PUSH2 0x35cd 000035b4: JUMPI 000035b5: PUSH1 0x40 000035b7: MLOAD 000035b8: PUSH4 0x15b2afa9 000035bd: PUSH1 0xe0 000035bf: SHL 000035c0: DUP2 000035c1: MSTORE 000035c2: PUSH1 0x04 000035c4: ADD 000035c5: PUSH1 0x40 000035c7: MLOAD 000035c8: DUP1 000035c9: SWAP2 000035ca: SUB 000035cb: SWAP1 000035cc: REVERT 000035cd: JUMPDEST 000035ce: PUSH2 0x35e8 000035d1: PUSH1 0x01 000035d3: PUSH1 0x01 000035d5: PUSH1 0xe0 000035d7: SHL 000035d8: SUB 000035d9: NOT 000035da: DUP3 000035db: AND 000035dc: PUSH4 0x2f1208d9 000035e1: PUSH1 0xe1 000035e3: SHL 000035e4: PUSH2 0x38e3 000035e7: JUMP 000035e8: JUMPDEST 000035e9: POP 000035ea: JUMPDEST 000035eb: SWAP7 000035ec: SWAP6 000035ed: POP 000035ee: POP 000035ef: POP 000035f0: POP 000035f1: POP 000035f2: POP 000035f3: JUMP 000035f4: JUMPDEST 000035f5: PUSH3 0xffffff 000035f9: DUP2 000035fa: DUP2 000035fb: AND 000035fc: SWAP1 000035fd: DUP4 000035fe: AND 000035ff: PUSH1 0x18 00003601: DUP6 00003602: DUP2 00003603: SHL 00003604: SWAP2 00003605: SWAP1 00003606: SWAP2 00003607: OR 00003608: SWAP1 00003609: SHL 0000360a: OR 0000360b: PUSH1 0x00 0000360d: SWAP1 0000360e: DUP2 0000360f: MSTORE 00003610: PUSH1 0x0b 00003612: PUSH1 0x20 00003614: MSTORE 00003615: PUSH1 0x40 00003617: SWAP1 00003618: KECCAK256 00003619: JUMPDEST 0000361a: SWAP4 0000361b: SWAP3 0000361c: POP 0000361d: POP 0000361e: POP 0000361f: JUMP 00003620: JUMPDEST 00003621: PUSH1 0x02 00003623: DUP1 00003624: SLOAD 00003625: PUSH1 0x00 00003627: DUP1 00003628: SLOAD 00003629: PUSH1 0x01 0000362b: SLOAD 0000362c: SWAP2 0000362d: SWAP4 0000362e: DUP5 0000362f: SWAP4 00003630: PUSH1 0x01 00003632: PUSH1 0x01 00003634: PUSH1 0xa0 00003636: SHL 00003637: SUB 00003638: DUP2 00003639: AND 0000363a: SWAP4 0000363b: PUSH1 0x01 0000363d: PUSH1 0xa0 0000363f: SHL 00003640: SWAP1 00003641: SWAP2 00003642: DIV 00003643: SWAP1 00003644: SWAP2 00003645: SIGNEXTEND 00003646: SWAP2 00003647: DUP5 00003648: SWAP2 00003649: DUP3 0000364a: SWAP2 0000364b: SWAP1 0000364c: PUSH1 0x0f 0000364e: DUP10 0000364f: SWAP1 00003650: SIGNEXTEND 00003651: ISZERO 00003652: PUSH2 0x367c 00003655: JUMPI 00003656: PUSH2 0x3666 00003659: PUSH1 0x03 0000365b: DUP13 0000365c: DUP8 0000365d: DUP13 0000365e: DUP7 0000365f: DUP7 00003660: PUSH1 0x00 00003662: PUSH2 0x4719 00003665: JUMP 00003666: JUMPDEST 00003667: SWAP4 00003668: POP 00003669: PUSH2 0x3679 0000366c: PUSH1 0x03 0000366e: DUP12 0000366f: DUP8 00003670: DUP13 00003671: DUP7 00003672: DUP7 00003673: PUSH1 0x01 00003675: PUSH2 0x4719 00003678: JUMP 00003679: JUMPDEST 0000367a: SWAP3 0000367b: POP 0000367c: JUMPDEST 0000367d: PUSH1 0x00 0000367f: DUP1 00003680: PUSH2 0x368e 00003683: PUSH1 0x03 00003685: DUP15 00003686: DUP15 00003687: DUP11 00003688: DUP9 00003689: DUP9 0000368a: PUSH2 0x480a 0000368d: JUMP 0000368e: JUMPDEST 0000368f: SWAP2 00003690: POP 00003691: SWAP2 00003692: POP 00003693: PUSH2 0x369e 00003696: DUP15 00003697: DUP13 00003698: DUP5 00003699: DUP5 0000369a: PUSH2 0x48a7 0000369d: JUMP 0000369e: JUMPDEST 0000369f: POP 000036a0: POP 000036a1: POP 000036a2: POP 000036a3: DUP7 000036a4: PUSH1 0x0f 000036a6: SIGNEXTEND 000036a7: PUSH1 0x00 000036a9: EQ 000036aa: PUSH2 0x3735 000036ad: JUMPI 000036ae: DUP2 000036af: DUP1 000036b0: PUSH2 0x36b6 000036b3: JUMPI 000036b4: POP 000036b5: DUP1 000036b6: JUMPDEST 000036b7: ISZERO 000036b8: PUSH2 0x36cf 000036bb: JUMPI 000036bc: PUSH2 0x36cf 000036bf: DUP10 000036c0: DUP10 000036c1: DUP5 000036c2: DUP5 000036c3: DUP8 000036c4: PUSH1 0x00 000036c6: DUP14 000036c7: PUSH1 0x0f 000036c9: SIGNEXTEND 000036ca: SLT 000036cb: PUSH2 0x499c 000036ce: JUMP 000036cf: JUMPDEST 000036d0: PUSH1 0x00 000036d2: PUSH2 0x36de 000036d5: DUP11 000036d6: DUP11 000036d7: DUP11 000036d8: DUP8 000036d9: DUP10 000036da: PUSH2 0x3a40 000036dd: JUMP 000036de: JUMPDEST 000036df: SWAP2 000036e0: SWAP9 000036e1: POP 000036e2: SWAP7 000036e3: POP 000036e4: SWAP1 000036e5: POP 000036e6: PUSH1 0x0f 000036e8: DUP2 000036e9: SWAP1 000036ea: SIGNEXTEND 000036eb: ISZERO 000036ec: PUSH2 0x3733 000036ef: JUMPI 000036f0: PUSH1 0x09 000036f2: SLOAD 000036f3: PUSH2 0x370c 000036f6: SWAP1 000036f7: PUSH1 0x01 000036f9: PUSH1 0x30 000036fb: SHL 000036fc: SWAP1 000036fd: DIV 000036fe: PUSH1 0x01 00003700: PUSH1 0x01 00003702: PUSH1 0x80 00003704: SHL 00003705: SUB 00003706: AND 00003707: DUP10 00003708: PUSH2 0x4513 0000370b: JUMP 0000370c: JUMPDEST 0000370d: PUSH1 0x09 0000370f: PUSH1 0x06 00003711: PUSH2 0x0100 00003714: EXP 00003715: DUP2 00003716: SLOAD 00003717: DUP2 00003718: PUSH1 0x01 0000371a: PUSH1 0x01 0000371c: PUSH1 0x80 0000371e: SHL 0000371f: SUB 00003720: MUL 00003721: NOT 00003722: AND 00003723: SWAP1 00003724: DUP4 00003725: PUSH1 0x01 00003727: PUSH1 0x01 00003729: PUSH1 0x80 0000372b: SHL 0000372c: SUB 0000372d: AND 0000372e: MUL 0000372f: OR 00003730: SWAP1 00003731: SSTORE 00003732: POP 00003733: JUMPDEST 00003734: POP 00003735: JUMPDEST 00003736: POP 00003737: POP 00003738: POP 00003739: POP 0000373a: SWAP5 0000373b: POP 0000373c: SWAP5 0000373d: SWAP3 0000373e: POP 0000373f: POP 00003740: POP 00003741: JUMP 00003742: JUMPDEST 00003743: PUSH1 0x00 00003745: DUP4 00003746: DUP4 00003747: MUL 00003748: DUP2 00003749: PUSH1 0x00 0000374b: NOT 0000374c: DUP6 0000374d: DUP8 0000374e: MULMOD 0000374f: DUP3 00003750: DUP2 00003751: LT 00003752: DUP4 00003753: DUP3 00003754: SUB 00003755: SUB 00003756: SWAP2 00003757: POP 00003758: POP 00003759: DUP1 0000375a: DUP5 0000375b: GT 0000375c: PUSH2 0x3764 0000375f: JUMPI 00003760: PUSH1 0x00 00003762: DUP1 00003763: REVERT 00003764: JUMPDEST 00003765: DUP1 00003766: PUSH1 0x00 00003768: SUB 00003769: PUSH2 0x3777 0000376c: JUMPI 0000376d: POP 0000376e: DUP3 0000376f: SWAP1 00003770: DIV 00003771: SWAP1 00003772: POP 00003773: PUSH2 0x3619 00003776: JUMP 00003777: JUMPDEST 00003778: DUP4 00003779: DUP6 0000377a: DUP8 0000377b: MULMOD 0000377c: PUSH1 0x00 0000377e: DUP6 0000377f: DUP2 00003780: SUB 00003781: DUP7 00003782: AND 00003783: SWAP6 00003784: DUP7 00003785: SWAP1 00003786: DIV 00003787: SWAP6 00003788: PUSH1 0x02 0000378a: PUSH1 0x03 0000378c: DUP9 0000378d: MUL 0000378e: DUP2 0000378f: XOR 00003790: DUP1 00003791: DUP10 00003792: MUL 00003793: DUP3 00003794: SUB 00003795: MUL 00003796: DUP1 00003797: DUP10 00003798: MUL 00003799: DUP3 0000379a: SUB 0000379b: MUL 0000379c: DUP1 0000379d: DUP10 0000379e: MUL 0000379f: DUP3 000037a0: SUB 000037a1: MUL 000037a2: DUP1 000037a3: DUP10 000037a4: MUL 000037a5: DUP3 000037a6: SUB 000037a7: MUL 000037a8: DUP1 000037a9: DUP10 000037aa: MUL 000037ab: DUP3 000037ac: SUB 000037ad: MUL 000037ae: DUP1 000037af: DUP10 000037b0: MUL 000037b1: SWAP1 000037b2: SWAP2 000037b3: SUB 000037b4: MUL 000037b5: SWAP2 000037b6: DUP2 000037b7: SWAP1 000037b8: SUB 000037b9: DUP2 000037ba: SWAP1 000037bb: DIV 000037bc: PUSH1 0x01 000037be: ADD 000037bf: DUP6 000037c0: DUP5 000037c1: GT 000037c2: SWAP1 000037c3: SWAP5 000037c4: SUB 000037c5: SWAP4 000037c6: SWAP1 000037c7: SWAP4 000037c8: MUL 000037c9: SWAP2 000037ca: SWAP1 000037cb: SWAP4 000037cc: SUB 000037cd: SWAP2 000037ce: SWAP1 000037cf: SWAP2 000037d0: DIV 000037d1: OR 000037d2: MUL 000037d3: SWAP1 000037d4: POP 000037d5: SWAP4 000037d6: SWAP3 000037d7: POP 000037d8: POP 000037d9: POP 000037da: JUMP 000037db: JUMPDEST 000037dc: PUSH2 0x37e3 000037df: PUSH2 0x3fb0 000037e2: JUMP 000037e3: JUMPDEST 000037e4: PUSH2 0x2bd9 000037e7: JUMPI 000037e8: PUSH1 0x02 000037ea: SLOAD 000037eb: PUSH1 0x01 000037ed: PUSH1 0xc8 000037ef: SHL 000037f0: SWAP1 000037f1: DIV 000037f2: PUSH1 0x08 000037f4: AND 000037f5: ISZERO 000037f6: PUSH2 0x2bd9 000037f9: JUMPI 000037fa: PUSH2 0x2bd9 000037fd: PUSH4 0xd6852010 00003802: PUSH1 0xe0 00003804: SHL 00003805: PUSH1 0x06 00003807: PUSH1 0x00 00003809: SWAP1 0000380a: SLOAD 0000380b: SWAP1 0000380c: PUSH2 0x0100 0000380f: EXP 00003810: SWAP1 00003811: DIV 00003812: PUSH1 0x01 00003814: PUSH1 0x01 00003816: PUSH1 0xa0 00003818: SHL 00003819: SUB 0000381a: AND 0000381b: PUSH1 0x01 0000381d: PUSH1 0x01 0000381f: PUSH1 0xa0 00003821: SHL 00003822: SUB 00003823: AND 00003824: PUSH4 0xd6852010 00003829: CALLER 0000382a: DUP13 0000382b: DUP13 0000382c: DUP13 0000382d: DUP13 0000382e: DUP13 0000382f: DUP13 00003830: DUP13 00003831: DUP13 00003832: PUSH1 0x40 00003834: MLOAD 00003835: DUP11 00003836: PUSH4 0xffffffff 0000383b: AND 0000383c: PUSH1 0xe0 0000383e: SHL 0000383f: DUP2 00003840: MSTORE 00003841: PUSH1 0x04 00003843: ADD 00003844: DUP1 00003845: DUP11 00003846: PUSH1 0x01 00003848: PUSH1 0x01 0000384a: PUSH1 0xa0 0000384c: SHL 0000384d: SUB 0000384e: AND 0000384f: DUP2 00003850: MSTORE 00003851: PUSH1 0x20 00003853: ADD 00003854: DUP10 00003855: PUSH1 0x01 00003857: PUSH1 0x01 00003859: PUSH1 0xa0 0000385b: SHL 0000385c: SUB 0000385d: AND 0000385e: DUP2 0000385f: MSTORE 00003860: PUSH1 0x20 00003862: ADD 00003863: DUP9 00003864: PUSH1 0x02 00003866: SIGNEXTEND 00003867: DUP2 00003868: MSTORE 00003869: PUSH1 0x20 0000386b: ADD 0000386c: DUP8 0000386d: PUSH1 0x02 0000386f: SIGNEXTEND 00003870: DUP2 00003871: MSTORE 00003872: PUSH1 0x20 00003874: ADD 00003875: DUP7 00003876: PUSH1 0x0f 00003878: SIGNEXTEND 00003879: DUP2 0000387a: MSTORE 0000387b: PUSH1 0x20 0000387d: ADD 0000387e: DUP6 0000387f: DUP2 00003880: MSTORE 00003881: PUSH1 0x20 00003883: ADD 00003884: DUP5 00003885: DUP2 00003886: MSTORE 00003887: PUSH1 0x20 00003889: ADD 0000388a: DUP1 0000388b: PUSH1 0x20 0000388d: ADD 0000388e: DUP3 0000388f: DUP2 00003890: SUB 00003891: DUP3 00003892: MSTORE 00003893: DUP5 00003894: DUP5 00003895: DUP3 00003896: DUP2 00003897: DUP2 00003898: MSTORE 00003899: PUSH1 0x20 0000389b: ADD 0000389c: SWAP3 0000389d: POP 0000389e: DUP1 0000389f: DUP3 000038a0: DUP5 000038a1: CALLDATACOPY 000038a2: PUSH1 0x00 000038a4: DUP2 000038a5: DUP5 000038a6: ADD 000038a7: MSTORE 000038a8: PUSH1 0x1f 000038aa: NOT 000038ab: PUSH1 0x1f 000038ad: DUP3 000038ae: ADD 000038af: AND 000038b0: SWAP1 000038b1: POP 000038b2: DUP1 000038b3: DUP4 000038b4: ADD 000038b5: SWAP3 000038b6: POP 000038b7: POP 000038b8: POP 000038b9: SWAP11 000038ba: POP 000038bb: POP 000038bc: POP 000038bd: POP 000038be: POP 000038bf: POP 000038c0: POP 000038c1: POP 000038c2: POP 000038c3: POP 000038c4: POP 000038c5: PUSH1 0x20 000038c7: PUSH1 0x40 000038c9: MLOAD 000038ca: DUP1 000038cb: DUP4 000038cc: SUB 000038cd: DUP2 000038ce: PUSH1 0x00 000038d0: DUP8 000038d1: GAS 000038d2: CALL 000038d3: ISZERO 000038d4: DUP1 000038d5: ISZERO 000038d6: PUSH2 0x10a1 000038d9: JUMPI 000038da: RETURNDATASIZE 000038db: PUSH1 0x00 000038dd: DUP1 000038de: RETURNDATACOPY 000038df: RETURNDATASIZE 000038e0: PUSH1 0x00 000038e2: REVERT 000038e3: JUMPDEST 000038e4: PUSH1 0x01 000038e6: PUSH1 0x01 000038e8: PUSH1 0xe0 000038ea: SHL 000038eb: SUB 000038ec: NOT 000038ed: DUP3 000038ee: DUP2 000038ef: AND 000038f0: SWAP1 000038f1: DUP3 000038f2: AND 000038f3: EQ 000038f4: PUSH2 0x15b8 000038f7: JUMPI 000038f8: PUSH1 0x40 000038fa: MLOAD 000038fb: PUSH4 0xd3f5153b 00003900: PUSH1 0xe0 00003902: SHL 00003903: DUP2 00003904: MSTORE 00003905: PUSH1 0x01 00003907: PUSH1 0x01 00003909: PUSH1 0xe0 0000390b: SHL 0000390c: SUB 0000390d: NOT 0000390e: DUP3 0000390f: AND 00003910: PUSH1 0x04 00003912: DUP3 00003913: ADD 00003914: MSTORE 00003915: PUSH1 0x24 00003917: ADD 00003918: PUSH1 0x40 0000391a: MLOAD 0000391b: DUP1 0000391c: SWAP2 0000391d: SUB 0000391e: SWAP1 0000391f: REVERT 00003920: JUMPDEST 00003921: PUSH1 0x00 00003923: DUP4 00003924: ISZERO 00003925: DUP1 00003926: PUSH2 0x3941 00003929: JUMPI 0000392a: POP 0000392b: POP 0000392c: DUP3 0000392d: DUP3 0000392e: MUL 0000392f: DUP3 00003930: DUP5 00003931: DUP3 00003932: DUP2 00003933: PUSH2 0x393e 00003936: JUMPI 00003937: PUSH2 0x393e 0000393a: PUSH2 0x55f9 0000393d: JUMP 0000393e: JUMPDEST 0000393f: DIV 00003940: EQ 00003941: JUMPDEST 00003942: ISZERO 00003943: PUSH2 0x3962 00003946: JUMPI 00003947: PUSH1 0x00 00003949: DUP3 0000394a: GT 0000394b: PUSH2 0x3953 0000394e: JUMPI 0000394f: PUSH1 0x00 00003951: DUP1 00003952: REVERT 00003953: JUMPDEST 00003954: DUP2 00003955: DUP2 00003956: DIV 00003957: SWAP1 00003958: DUP3 00003959: SWAP1 0000395a: MOD 0000395b: ISZERO 0000395c: ISZERO 0000395d: ADD 0000395e: PUSH2 0x3619 00003961: JUMP 00003962: JUMPDEST 00003963: PUSH2 0x396d 00003966: DUP5 00003967: DUP5 00003968: DUP5 00003969: PUSH2 0x3742 0000396c: JUMP 0000396d: JUMPDEST 0000396e: SWAP1 0000396f: POP 00003970: PUSH1 0x00 00003972: DUP3 00003973: DUP1 00003974: PUSH2 0x397f 00003977: JUMPI 00003978: PUSH2 0x397f 0000397b: PUSH2 0x55f9 0000397e: JUMP 0000397f: JUMPDEST 00003980: DUP5 00003981: DUP7 00003982: MULMOD 00003983: GT 00003984: ISZERO 00003985: PUSH2 0x3619 00003988: JUMPI 00003989: PUSH1 0x00 0000398b: NOT 0000398c: DUP2 0000398d: LT 0000398e: PUSH2 0x3996 00003991: JUMPI 00003992: PUSH1 0x00 00003994: DUP1 00003995: REVERT 00003996: JUMPDEST 00003997: PUSH1 0x01 00003999: ADD 0000399a: SWAP4 0000399b: SWAP3 0000399c: POP 0000399d: POP 0000399e: POP 0000399f: JUMP 000039a0: JUMPDEST 000039a1: PUSH1 0x40 000039a3: MLOAD 000039a4: PUSH4 0x2982c34f 000039a9: PUSH1 0xe2 000039ab: SHL 000039ac: DUP2 000039ad: MSTORE 000039ae: CALLER 000039af: SWAP1 000039b0: PUSH4 0xa60b0d3c 000039b5: SWAP1 000039b6: PUSH2 0x2bab 000039b9: SWAP1 000039ba: DUP8 000039bb: SWAP1 000039bc: DUP8 000039bd: SWAP1 000039be: DUP8 000039bf: SWAP1 000039c0: DUP8 000039c1: SWAP1 000039c2: PUSH1 0x04 000039c4: ADD 000039c5: PUSH2 0x5697 000039c8: JUMP 000039c9: JUMPDEST 000039ca: PUSH1 0x02 000039cc: DUP1 000039cd: SLOAD 000039ce: PUSH2 0xffff 000039d1: PUSH1 0xb8 000039d3: SHL 000039d4: NOT 000039d5: AND 000039d6: PUSH1 0x01 000039d8: PUSH1 0xb8 000039da: SHL 000039db: PUSH2 0xffff 000039de: DUP5 000039df: AND 000039e0: SWAP1 000039e1: DUP2 000039e2: MUL 000039e3: SWAP2 000039e4: SWAP1 000039e5: SWAP2 000039e6: OR 000039e7: SWAP1 000039e8: SWAP2 000039e9: SSTORE 000039ea: PUSH1 0x40 000039ec: MLOAD 000039ed: SWAP1 000039ee: DUP2 000039ef: MSTORE 000039f0: PUSH32 0x598b9f043c813aa6be3426ca60d1c65d17256312890be5118dab55b0775ebe2a 00003a11: SWAP1 00003a12: PUSH1 0x20 00003a14: ADD 00003a15: PUSH2 0x3412 00003a18: JUMP 00003a19: JUMPDEST 00003a1a: DUP1 00003a1b: PUSH1 0x00 00003a1d: DUP2 00003a1e: SLT 00003a1f: ISZERO 00003a20: PUSH2 0x3a28 00003a23: JUMPI 00003a24: PUSH1 0x00 00003a26: DUP1 00003a27: REVERT 00003a28: JUMPDEST 00003a29: SWAP2 00003a2a: SWAP1 00003a2b: POP 00003a2c: JUMP 00003a2d: JUMPDEST 00003a2e: DUP1 00003a2f: PUSH1 0x00 00003a31: PUSH1 0x0f 00003a33: DUP3 00003a34: SWAP1 00003a35: SIGNEXTEND 00003a36: SLT 00003a37: ISZERO 00003a38: PUSH2 0x3a28 00003a3b: JUMPI 00003a3c: PUSH1 0x00 00003a3e: DUP1 00003a3f: REVERT 00003a40: JUMPDEST 00003a41: PUSH1 0x00 00003a43: DUP1 00003a44: PUSH1 0x00 00003a46: DUP1 00003a47: PUSH2 0x3a4f 00003a4a: DUP10 00003a4b: PUSH2 0x3fc1 00003a4e: JUMP 00003a4f: JUMPDEST 00003a50: SWAP1 00003a51: POP 00003a52: PUSH1 0x00 00003a54: PUSH2 0x3a5c 00003a57: DUP10 00003a58: PUSH2 0x3fc1 00003a5b: JUMP 00003a5c: JUMPDEST 00003a5d: SWAP1 00003a5e: POP 00003a5f: PUSH1 0x00 00003a61: DUP1 00003a62: DUP12 00003a63: PUSH1 0x02 00003a65: SIGNEXTEND 00003a66: DUP10 00003a67: PUSH1 0x02 00003a69: SIGNEXTEND 00003a6a: SLT 00003a6b: ISZERO 00003a6c: PUSH2 0x3a81 00003a6f: JUMPI 00003a70: PUSH2 0x3a7a 00003a73: DUP5 00003a74: DUP5 00003a75: DUP13 00003a76: PUSH2 0x4a85 00003a79: JUMP 00003a7a: JUMPDEST 00003a7b: SWAP2 00003a7c: POP 00003a7d: PUSH2 0x3abf 00003a80: JUMP 00003a81: JUMPDEST 00003a82: DUP11 00003a83: PUSH1 0x02 00003a85: SIGNEXTEND 00003a86: DUP10 00003a87: PUSH1 0x02 00003a89: SIGNEXTEND 00003a8a: SLT 00003a8b: ISZERO 00003a8c: PUSH2 0x3ab1 00003a8f: JUMPI 00003a90: PUSH2 0x3a9a 00003a93: DUP9 00003a94: DUP5 00003a95: DUP13 00003a96: PUSH2 0x4a85 00003a99: JUMP 00003a9a: JUMPDEST 00003a9b: SWAP2 00003a9c: POP 00003a9d: PUSH2 0x3aa7 00003aa0: DUP5 00003aa1: DUP10 00003aa2: DUP13 00003aa3: PUSH2 0x4ac5 00003aa6: JUMP 00003aa7: JUMPDEST 00003aa8: SWAP1 00003aa9: POP 00003aaa: DUP10 00003aab: SWAP5 00003aac: POP 00003aad: PUSH2 0x3abf 00003ab0: JUMP 00003ab1: JUMPDEST 00003ab2: PUSH2 0x3abc 00003ab5: DUP5 00003ab6: DUP5 00003ab7: DUP13 00003ab8: PUSH2 0x4ac5 00003abb: JUMP 00003abc: JUMPDEST 00003abd: SWAP1 00003abe: POP 00003abf: JUMPDEST 00003ac0: PUSH1 0x00 00003ac2: DUP11 00003ac3: PUSH1 0x0f 00003ac5: SIGNEXTEND 00003ac6: SLT 00003ac7: PUSH2 0x3ad1 00003aca: JUMPI 00003acb: DUP2 00003acc: DUP2 00003acd: PUSH2 0x3ada 00003ad0: JUMP 00003ad1: JUMPDEST 00003ad2: DUP2 00003ad3: PUSH1 0x00 00003ad5: SUB 00003ad6: DUP2 00003ad7: PUSH1 0x00 00003ad9: SUB 00003ada: JUMPDEST 00003adb: SWAP1 00003adc: SWAP14 00003add: SWAP1 00003ade: SWAP13 00003adf: POP 00003ae0: SWAP5 00003ae1: SWAP11 00003ae2: POP 00003ae3: SWAP4 00003ae4: SWAP9 00003ae5: POP 00003ae6: POP 00003ae7: POP 00003ae8: POP 00003ae9: POP 00003aea: POP 00003aeb: POP 00003aec: POP 00003aed: POP 00003aee: JUMP 00003aef: JUMPDEST 00003af0: PUSH1 0x40 00003af2: MLOAD 00003af3: PUSH4 0x3dd657c5 00003af8: PUSH1 0xe0 00003afa: SHL 00003afb: DUP2 00003afc: MSTORE 00003afd: CALLER 00003afe: SWAP1 00003aff: PUSH4 0x3dd657c5 00003b04: SWAP1 00003b05: PUSH2 0x2bab 00003b08: SWAP1 00003b09: DUP8 00003b0a: SWAP1 00003b0b: DUP8 00003b0c: SWAP1 00003b0d: DUP8 00003b0e: SWAP1 00003b0f: DUP8 00003b10: SWAP1 00003b11: PUSH1 0x04 00003b13: ADD 00003b14: PUSH2 0x5697 00003b17: JUMP 00003b18: JUMPDEST 00003b19: PUSH1 0x02 00003b1b: DUP1 00003b1c: SLOAD 00003b1d: PUSH1 0xff 00003b1f: PUSH1 0xc8 00003b21: SHL 00003b22: NOT 00003b23: AND 00003b24: PUSH1 0x01 00003b26: PUSH1 0xc8 00003b28: SHL 00003b29: PUSH1 0xff 00003b2b: DUP5 00003b2c: AND 00003b2d: SWAP1 00003b2e: DUP2 00003b2f: MUL 00003b30: SWAP2 00003b31: SWAP1 00003b32: SWAP2 00003b33: OR 00003b34: SWAP1 00003b35: SWAP2 00003b36: SSTORE 00003b37: PUSH1 0x40 00003b39: MLOAD 00003b3a: SWAP1 00003b3b: DUP2 00003b3c: MSTORE 00003b3d: PUSH32 0x3a6271b36c1b44bd6a0a0d56230602dc6919b7c17af57254306fadf5fee69dc3 00003b5e: SWAP1 00003b5f: PUSH1 0x20 00003b61: ADD 00003b62: PUSH2 0x3412 00003b65: JUMP 00003b66: JUMPDEST 00003b67: PUSH1 0x06 00003b69: DUP1 00003b6a: SLOAD 00003b6b: PUSH1 0x01 00003b6d: PUSH1 0x01 00003b6f: PUSH1 0xa0 00003b71: SHL 00003b72: SUB 00003b73: NOT 00003b74: AND 00003b75: PUSH1 0x01 00003b77: PUSH1 0x01 00003b79: PUSH1 0xa0 00003b7b: SHL 00003b7c: SUB 00003b7d: DUP4 00003b7e: AND 00003b7f: OR 00003b80: SWAP1 00003b81: SSTORE 00003b82: PUSH1 0x40 00003b84: MLOAD 00003b85: PUSH32 0x27a3944eff2135a57675f17e72501038982b73620d01f794c72e93d61a3932a2 00003ba6: SWAP1 00003ba7: PUSH2 0x3412 00003baa: SWAP1 00003bab: DUP4 00003bac: SWAP1 00003bad: PUSH2 0x56b7 00003bb0: JUMP 00003bb1: JUMPDEST 00003bb2: PUSH1 0x07 00003bb4: DUP1 00003bb5: SLOAD 00003bb6: PUSH1 0x01 00003bb8: PUSH1 0x01 00003bba: PUSH1 0xa0 00003bbc: SHL 00003bbd: SUB 00003bbe: NOT 00003bbf: AND 00003bc0: PUSH1 0x01 00003bc2: PUSH1 0x01 00003bc4: PUSH1 0xa0 00003bc6: SHL 00003bc7: SUB 00003bc8: DUP4 00003bc9: AND 00003bca: OR 00003bcb: SWAP1 00003bcc: SSTORE 00003bcd: PUSH1 0x40 00003bcf: MLOAD 00003bd0: PUSH32 0xb0b573c1f636e1f8bd9b415ba6c04d6dd49100bc25493fc6305b65ec0e581df3 00003bf1: SWAP1 00003bf2: PUSH2 0x3412 00003bf5: SWAP1 00003bf6: DUP4 00003bf7: SWAP1 00003bf8: PUSH2 0x56b7 00003bfb: JUMP 00003bfc: JUMPDEST 00003bfd: PUSH1 0x09 00003bff: DUP1 00003c00: SLOAD 00003c01: PUSH3 0xffffff 00003c05: PUSH1 0xb0 00003c07: SHL 00003c08: NOT 00003c09: AND 00003c0a: PUSH1 0x01 00003c0c: PUSH1 0xb0 00003c0e: SHL 00003c0f: PUSH3 0xffffff 00003c13: DUP5 00003c14: AND 00003c15: MUL 00003c16: OR 00003c17: SWAP1 00003c18: SSTORE 00003c19: PUSH1 0x40 00003c1b: MLOAD 00003c1c: PUSH1 0x02 00003c1e: DUP3 00003c1f: SWAP1 00003c20: SIGNEXTEND 00003c21: DUP2 00003c22: MSTORE 00003c23: PUSH32 0x01413b1d5d4c359e9a0daa7909ecda165f6e8c51fe2ff529d74b22a5a7c02645 00003c44: SWAP1 00003c45: PUSH1 0x20 00003c47: ADD 00003c48: PUSH2 0x3412 00003c4b: JUMP 00003c4c: JUMPDEST 00003c4d: PUSH1 0x00 00003c4f: PUSH5 0x01000276a3 00003c55: PUSH1 0x01 00003c57: PUSH1 0x01 00003c59: PUSH1 0xa0 00003c5b: SHL 00003c5c: SUB 00003c5d: DUP4 00003c5e: AND 00003c5f: LT 00003c60: DUP1 00003c61: PUSH2 0x3c87 00003c64: JUMPI 00003c65: POP 00003c66: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d26 00003c7b: PUSH1 0x01 00003c7d: PUSH1 0x01 00003c7f: PUSH1 0xa0 00003c81: SHL 00003c82: SUB 00003c83: DUP4 00003c84: AND 00003c85: LT 00003c86: ISZERO 00003c87: JUMPDEST 00003c88: ISZERO 00003c89: PUSH2 0x3ca5 00003c8c: JUMPI 00003c8d: PUSH1 0x40 00003c8f: MLOAD 00003c90: PUSH4 0x55cf1e23 00003c95: PUSH1 0xe0 00003c97: SHL 00003c98: DUP2 00003c99: MSTORE 00003c9a: PUSH1 0x04 00003c9c: ADD 00003c9d: PUSH1 0x40 00003c9f: MLOAD 00003ca0: DUP1 00003ca1: SWAP2 00003ca2: SUB 00003ca3: SWAP1 00003ca4: REVERT 00003ca5: JUMPDEST 00003ca6: PUSH1 0x01 00003ca8: PUSH1 0x20 00003caa: SHL 00003cab: PUSH1 0x01 00003cad: PUSH1 0xc0 00003caf: SHL 00003cb0: SUB 00003cb1: PUSH1 0x20 00003cb3: DUP4 00003cb4: SWAP1 00003cb5: SHL 00003cb6: AND 00003cb7: PUSH1 0x01 00003cb9: PUSH1 0x01 00003cbb: PUSH1 0x80 00003cbd: SHL 00003cbe: SUB 00003cbf: DUP2 00003cc0: GT 00003cc1: PUSH1 0x07 00003cc3: SHL 00003cc4: DUP2 00003cc5: DUP2 00003cc6: SHR 00003cc7: PUSH1 0x01 00003cc9: PUSH1 0x01 00003ccb: PUSH1 0x40 00003ccd: SHL 00003cce: SUB 00003ccf: DUP2 00003cd0: GT 00003cd1: PUSH1 0x06 00003cd3: SHL 00003cd4: SWAP1 00003cd5: DUP2 00003cd6: SHR 00003cd7: PUSH4 0xffffffff 00003cdc: DUP2 00003cdd: GT 00003cde: PUSH1 0x05 00003ce0: SHL 00003ce1: SWAP1 00003ce2: DUP2 00003ce3: SHR 00003ce4: PUSH2 0xffff 00003ce7: DUP2 00003ce8: GT 00003ce9: PUSH1 0x04 00003ceb: SHL 00003cec: SWAP1 00003ced: DUP2 00003cee: SHR 00003cef: PUSH1 0xff 00003cf1: DUP2 00003cf2: GT 00003cf3: PUSH1 0x03 00003cf5: SWAP1 00003cf6: DUP2 00003cf7: SHL 00003cf8: SWAP2 00003cf9: DUP3 00003cfa: SHR 00003cfb: PUSH1 0x0f 00003cfd: DUP2 00003cfe: GT 00003cff: PUSH1 0x02 00003d01: SHL 00003d02: SWAP1 00003d03: DUP2 00003d04: SHR 00003d05: SWAP2 00003d06: DUP3 00003d07: GT 00003d08: PUSH1 0x01 00003d0a: SWAP1 00003d0b: DUP2 00003d0c: SHL 00003d0d: SWAP3 00003d0e: DUP4 00003d0f: SHR 00003d10: SWAP8 00003d11: SWAP1 00003d12: DUP9 00003d13: GT 00003d14: SWAP7 00003d15: OR 00003d16: SWAP1 00003d17: SWAP5 00003d18: OR 00003d19: SWAP1 00003d1a: SWAP3 00003d1b: OR 00003d1c: OR 00003d1d: SWAP1 00003d1e: SWAP2 00003d1f: OR 00003d20: OR 00003d21: OR 00003d22: PUSH1 0x80 00003d24: DUP2 00003d25: LT 00003d26: PUSH2 0x3d37 00003d29: JUMPI 00003d2a: PUSH1 0x7f 00003d2c: DUP2 00003d2d: SUB 00003d2e: DUP4 00003d2f: SWAP1 00003d30: SHR 00003d31: SWAP2 00003d32: POP 00003d33: PUSH2 0x3d41 00003d36: JUMP 00003d37: JUMPDEST 00003d38: DUP1 00003d39: PUSH1 0x7f 00003d3b: SUB 00003d3c: DUP4 00003d3d: SWAP1 00003d3e: SHL 00003d3f: SWAP2 00003d40: POP 00003d41: JUMPDEST 00003d42: SWAP1 00003d43: DUP1 00003d44: MUL 00003d45: PUSH1 0x7f 00003d47: DUP2 00003d48: DUP2 00003d49: SHR 00003d4a: PUSH1 0xff 00003d4c: DUP4 00003d4d: DUP2 00003d4e: SHR 00003d4f: SWAP2 00003d50: SWAP1 00003d51: SWAP2 00003d52: SHR 00003d53: DUP1 00003d54: MUL 00003d55: DUP1 00003d56: DUP4 00003d57: SHR 00003d58: DUP2 00003d59: DUP4 00003d5a: SHR 00003d5b: SHR 00003d5c: DUP1 00003d5d: MUL 00003d5e: DUP1 00003d5f: DUP5 00003d60: SHR 00003d61: DUP2 00003d62: DUP5 00003d63: SHR 00003d64: SHR 00003d65: DUP1 00003d66: MUL 00003d67: DUP1 00003d68: DUP6 00003d69: SHR 00003d6a: DUP2 00003d6b: DUP6 00003d6c: SHR 00003d6d: SHR 00003d6e: DUP1 00003d6f: MUL 00003d70: DUP1 00003d71: DUP7 00003d72: SHR 00003d73: DUP2 00003d74: DUP7 00003d75: SHR 00003d76: SHR 00003d77: DUP1 00003d78: MUL 00003d79: DUP1 00003d7a: DUP8 00003d7b: SHR 00003d7c: DUP2 00003d7d: DUP8 00003d7e: SHR 00003d7f: SHR 00003d80: DUP1 00003d81: MUL 00003d82: DUP1 00003d83: DUP9 00003d84: SHR 00003d85: DUP2 00003d86: DUP9 00003d87: SHR 00003d88: SHR 00003d89: DUP1 00003d8a: MUL 00003d8b: DUP1 00003d8c: DUP10 00003d8d: SHR 00003d8e: DUP2 00003d8f: DUP10 00003d90: SHR 00003d91: SHR 00003d92: DUP1 00003d93: MUL 00003d94: DUP1 00003d95: DUP11 00003d96: SHR 00003d97: DUP2 00003d98: DUP11 00003d99: SHR 00003d9a: SHR 00003d9b: DUP1 00003d9c: MUL 00003d9d: DUP1 00003d9e: DUP12 00003d9f: SHR 00003da0: DUP2 00003da1: DUP12 00003da2: SHR 00003da3: SHR 00003da4: DUP1 00003da5: MUL 00003da6: DUP1 00003da7: DUP13 00003da8: SHR 00003da9: DUP2 00003daa: DUP13 00003dab: SHR 00003dac: SHR 00003dad: DUP1 00003dae: MUL 00003daf: DUP1 00003db0: DUP14 00003db1: SHR 00003db2: DUP2 00003db3: DUP14 00003db4: SHR 00003db5: SHR 00003db6: DUP1 00003db7: MUL 00003db8: DUP1 00003db9: DUP15 00003dba: SHR 00003dbb: SWAP13 00003dbc: DUP2 00003dbd: SWAP1 00003dbe: SHR 00003dbf: SWAP13 00003dc0: SWAP1 00003dc1: SWAP13 00003dc2: SHR 00003dc3: DUP1 00003dc4: MUL 00003dc5: SWAP13 00003dc6: DUP14 00003dc7: SWAP1 00003dc8: SHR 00003dc9: SWAP15 00003dca: SWAP14 00003dcb: PUSH1 0x7f 00003dcd: NOT 00003dce: DUP16 00003dcf: ADD 00003dd0: PUSH1 0x40 00003dd2: SHL 00003dd3: PUSH1 0xc0 00003dd5: SWAP2 00003dd6: SWAP1 00003dd7: SWAP2 00003dd8: SHR 00003dd9: PUSH1 0x01 00003ddb: PUSH1 0x3f 00003ddd: SHL 00003dde: AND 00003ddf: OR 00003de0: PUSH1 0xc1 00003de2: SWAP12 00003de3: SWAP1 00003de4: SWAP12 00003de5: SHR 00003de6: PUSH1 0x01 00003de8: PUSH1 0x3e 00003dea: SHL 00003deb: AND 00003dec: SWAP11 00003ded: SWAP1 00003dee: SWAP11 00003def: OR 00003df0: PUSH1 0xc2 00003df2: SWAP10 00003df3: SWAP1 00003df4: SWAP10 00003df5: SHR 00003df6: PUSH1 0x01 00003df8: PUSH1 0x3d 00003dfa: SHL 00003dfb: AND 00003dfc: SWAP9 00003dfd: SWAP1 00003dfe: SWAP9 00003dff: OR 00003e00: PUSH1 0xc3 00003e02: SWAP8 00003e03: SWAP1 00003e04: SWAP8 00003e05: SHR 00003e06: PUSH1 0x01 00003e08: PUSH1 0x3c 00003e0a: SHL 00003e0b: AND 00003e0c: SWAP7 00003e0d: SWAP1 00003e0e: SWAP7 00003e0f: OR 00003e10: PUSH1 0xc4 00003e12: SWAP6 00003e13: SWAP1 00003e14: SWAP6 00003e15: SHR 00003e16: PUSH1 0x01 00003e18: PUSH1 0x3b 00003e1a: SHL 00003e1b: AND 00003e1c: SWAP5 00003e1d: SWAP1 00003e1e: SWAP5 00003e1f: OR 00003e20: PUSH1 0xc5 00003e22: SWAP4 00003e23: SWAP1 00003e24: SWAP4 00003e25: SHR 00003e26: PUSH1 0x01 00003e28: PUSH1 0x3a 00003e2a: SHL 00003e2b: AND 00003e2c: SWAP3 00003e2d: SWAP1 00003e2e: SWAP3 00003e2f: OR 00003e30: PUSH1 0xc6 00003e32: SWAP2 00003e33: SWAP1 00003e34: SWAP2 00003e35: SHR 00003e36: PUSH1 0x01 00003e38: PUSH1 0x39 00003e3a: SHL 00003e3b: AND 00003e3c: OR 00003e3d: PUSH1 0xc7 00003e3f: SWAP2 00003e40: SWAP1 00003e41: SWAP2 00003e42: SHR 00003e43: PUSH1 0x01 00003e45: PUSH1 0x38 00003e47: SHL 00003e48: AND 00003e49: OR 00003e4a: PUSH1 0xc8 00003e4c: SWAP2 00003e4d: SWAP1 00003e4e: SWAP2 00003e4f: SHR 00003e50: PUSH1 0x01 00003e52: PUSH1 0x37 00003e54: SHL 00003e55: AND 00003e56: OR 00003e57: PUSH1 0xc9 00003e59: SWAP2 00003e5a: SWAP1 00003e5b: SWAP2 00003e5c: SHR 00003e5d: PUSH1 0x01 00003e5f: PUSH1 0x36 00003e61: SHL 00003e62: AND 00003e63: OR 00003e64: PUSH1 0xca 00003e66: SWAP2 00003e67: SWAP1 00003e68: SWAP2 00003e69: SHR 00003e6a: PUSH1 0x01 00003e6c: PUSH1 0x35 00003e6e: SHL 00003e6f: AND 00003e70: OR 00003e71: PUSH1 0xcb 00003e73: SWAP2 00003e74: SWAP1 00003e75: SWAP2 00003e76: SHR 00003e77: PUSH1 0x01 00003e79: PUSH1 0x34 00003e7b: SHL 00003e7c: AND 00003e7d: OR 00003e7e: PUSH1 0xcc 00003e80: SWAP2 00003e81: SWAP1 00003e82: SWAP2 00003e83: SHR 00003e84: PUSH1 0x01 00003e86: PUSH1 0x33 00003e88: SHL 00003e89: AND 00003e8a: OR 00003e8b: PUSH1 0xcd 00003e8d: SWAP2 00003e8e: SWAP1 00003e8f: SWAP2 00003e90: SHR 00003e91: PUSH1 0x01 00003e93: PUSH1 0x32 00003e95: SHL 00003e96: AND 00003e97: OR 00003e98: PUSH10 0x3627a301d71055774c85 00003ea3: DUP2 00003ea4: MUL 00003ea5: PUSH16 0x028f6481ab7f045a5af012a19d003aa9 00003eb6: NOT 00003eb7: DUP2 00003eb8: ADD 00003eb9: PUSH1 0x80 00003ebb: SWAP1 00003ebc: DUP2 00003ebd: SAR 00003ebe: SWAP1 00003ebf: PUSH16 0xdb2df09e81959a81455e260799a0632f 00003ed0: DUP4 00003ed1: ADD 00003ed2: SWAP1 00003ed3: SAR 00003ed4: PUSH1 0x02 00003ed6: DUP2 00003ed7: DUP2 00003ed8: SIGNEXTEND 00003ed9: SWAP1 00003eda: DUP4 00003edb: SWAP1 00003edc: SIGNEXTEND 00003edd: EQ 00003ede: PUSH2 0x3f0f 00003ee1: JUMPI 00003ee2: DUP9 00003ee3: PUSH1 0x01 00003ee5: PUSH1 0x01 00003ee7: PUSH1 0xa0 00003ee9: SHL 00003eea: SUB 00003eeb: AND 00003eec: PUSH2 0x3ef4 00003eef: DUP3 00003ef0: PUSH2 0x3fc1 00003ef3: JUMP 00003ef4: JUMPDEST 00003ef5: PUSH1 0x01 00003ef7: PUSH1 0x01 00003ef9: PUSH1 0xa0 00003efb: SHL 00003efc: SUB 00003efd: AND 00003efe: GT 00003eff: ISZERO 00003f00: PUSH2 0x3f09 00003f03: JUMPI 00003f04: DUP2 00003f05: PUSH2 0x3f11 00003f08: JUMP 00003f09: JUMPDEST 00003f0a: DUP1 00003f0b: PUSH2 0x3f11 00003f0e: JUMP 00003f0f: JUMPDEST 00003f10: DUP2 00003f11: JUMPDEST 00003f12: SWAP10 00003f13: SWAP9 00003f14: POP 00003f15: POP 00003f16: POP 00003f17: POP 00003f18: POP 00003f19: POP 00003f1a: POP 00003f1b: POP 00003f1c: POP 00003f1d: JUMP 00003f1e: JUMPDEST 00003f1f: PUSH1 0x00 00003f21: DUP1 00003f22: PUSH1 0x00 00003f24: PUSH32 0x000000000000000000000000fb8ed3485efa29a0e4bed93351dd51b59fc4b0f0 00003f45: PUSH1 0x01 00003f47: PUSH1 0x01 00003f49: PUSH1 0xa0 00003f4b: SHL 00003f4c: SUB 00003f4d: AND 00003f4e: PUSH4 0x25b355d6 00003f53: PUSH1 0x40 00003f55: MLOAD 00003f56: DUP2 00003f57: PUSH4 0xffffffff 00003f5c: AND 00003f5d: PUSH1 0xe0 00003f5f: SHL 00003f60: DUP2 00003f61: MSTORE 00003f62: PUSH1 0x04 00003f64: ADD 00003f65: PUSH1 0x60 00003f67: PUSH1 0x40 00003f69: MLOAD 00003f6a: DUP1 00003f6b: DUP4 00003f6c: SUB 00003f6d: DUP2 00003f6e: DUP7 00003f6f: GAS 00003f70: STATICCALL 00003f71: ISZERO 00003f72: DUP1 00003f73: ISZERO 00003f74: PUSH2 0x3f81 00003f77: JUMPI 00003f78: RETURNDATASIZE 00003f79: PUSH1 0x00 00003f7b: DUP1 00003f7c: RETURNDATACOPY 00003f7d: RETURNDATASIZE 00003f7e: PUSH1 0x00 00003f80: REVERT 00003f81: JUMPDEST 00003f82: POP 00003f83: POP 00003f84: POP 00003f85: POP 00003f86: PUSH1 0x40 00003f88: MLOAD 00003f89: RETURNDATASIZE 00003f8a: PUSH1 0x1f 00003f8c: NOT 00003f8d: PUSH1 0x1f 00003f8f: DUP3 00003f90: ADD 00003f91: AND 00003f92: DUP3 00003f93: ADD 00003f94: DUP1 00003f95: PUSH1 0x40 00003f97: MSTORE 00003f98: POP 00003f99: DUP2 00003f9a: ADD 00003f9b: SWAP1 00003f9c: PUSH2 0x3fa5 00003f9f: SWAP2 00003fa0: SWAP1 00003fa1: PUSH2 0x576f 00003fa4: JUMP 00003fa5: JUMPDEST 00003fa6: SWAP3 00003fa7: POP 00003fa8: SWAP3 00003fa9: POP 00003faa: SWAP3 00003fab: POP 00003fac: SWAP1 00003fad: SWAP2 00003fae: SWAP3 00003faf: JUMP 00003fb0: JUMPDEST 00003fb1: PUSH1 0x06 00003fb3: SLOAD 00003fb4: PUSH1 0x01 00003fb6: PUSH1 0x01 00003fb8: PUSH1 0xa0 00003fba: SHL 00003fbb: SUB 00003fbc: AND 00003fbd: CALLER 00003fbe: EQ 00003fbf: SWAP1 00003fc0: JUMP 00003fc1: JUMPDEST 00003fc2: PUSH1 0x00 00003fc4: PUSH1 0x02 00003fc6: DUP3 00003fc7: SWAP1 00003fc8: SIGNEXTEND 00003fc9: PUSH1 0x17 00003fcb: SAR 00003fcc: PUSH3 0xffffff 00003fd0: DUP2 00003fd1: DUP5 00003fd2: ADD 00003fd3: DUP3 00003fd4: XOR 00003fd5: AND 00003fd6: PUSH3 0x0d89e8 00003fda: DUP2 00003fdb: GT 00003fdc: ISZERO 00003fdd: PUSH2 0x3ff9 00003fe0: JUMPI 00003fe1: PUSH1 0x40 00003fe3: MLOAD 00003fe4: PUSH4 0x3c10250f 00003fe9: PUSH1 0xe0 00003feb: SHL 00003fec: DUP2 00003fed: MSTORE 00003fee: PUSH1 0x04 00003ff0: ADD 00003ff1: PUSH1 0x40 00003ff3: MLOAD 00003ff4: DUP1 00003ff5: SWAP2 00003ff6: SUB 00003ff7: SWAP1 00003ff8: REVERT 00003ff9: JUMPDEST 00003ffa: PUSH1 0x01 00003ffc: PUSH1 0x80 00003ffe: SHL 00003fff: PUSH1 0x01 00004001: DUP3 00004002: AND 00004003: ISZERO 00004004: PUSH2 0x401a 00004007: JUMPI 00004008: POP 00004009: PUSH16 0xfffcb933bd6fad37aa2d162d1a594001 0000401a: JUMPDEST 0000401b: PUSH1 0x02 0000401d: DUP3 0000401e: AND 0000401f: ISZERO 00004020: PUSH2 0x4039 00004023: JUMPI 00004024: PUSH16 0xfff97272373d413259a46990580e213a 00004035: MUL 00004036: PUSH1 0x80 00004038: SHR 00004039: JUMPDEST 0000403a: PUSH1 0x04 0000403c: DUP3 0000403d: AND 0000403e: ISZERO 0000403f: PUSH2 0x4058 00004042: JUMPI 00004043: PUSH16 0xfff2e50f5f656932ef12357cf3c7fdcc 00004054: MUL 00004055: PUSH1 0x80 00004057: SHR 00004058: JUMPDEST 00004059: PUSH1 0x08 0000405b: DUP3 0000405c: AND 0000405d: ISZERO 0000405e: PUSH2 0x4077 00004061: JUMPI 00004062: PUSH16 0xffe5caca7e10e4e61c3624eaa0941cd0 00004073: MUL 00004074: PUSH1 0x80 00004076: SHR 00004077: JUMPDEST 00004078: PUSH1 0x10 0000407a: DUP3 0000407b: AND 0000407c: ISZERO 0000407d: PUSH2 0x4096 00004080: JUMPI 00004081: PUSH16 0xffcb9843d60f6159c9db58835c926644 00004092: MUL 00004093: PUSH1 0x80 00004095: SHR 00004096: JUMPDEST 00004097: PUSH1 0x20 00004099: DUP3 0000409a: AND 0000409b: ISZERO 0000409c: PUSH2 0x40b5 0000409f: JUMPI 000040a0: PUSH16 0xff973b41fa98c081472e6896dfb254c0 000040b1: MUL 000040b2: PUSH1 0x80 000040b4: SHR 000040b5: JUMPDEST 000040b6: PUSH1 0x40 000040b8: DUP3 000040b9: AND 000040ba: ISZERO 000040bb: PUSH2 0x40d4 000040be: JUMPI 000040bf: PUSH16 0xff2ea16466c96a3843ec78b326b52861 000040d0: MUL 000040d1: PUSH1 0x80 000040d3: SHR 000040d4: JUMPDEST 000040d5: PUSH1 0x80 000040d7: DUP3 000040d8: AND 000040d9: ISZERO 000040da: PUSH2 0x40f3 000040dd: JUMPI 000040de: PUSH16 0xfe5dee046a99a2a811c461f1969c3053 000040ef: MUL 000040f0: PUSH1 0x80 000040f2: SHR 000040f3: JUMPDEST 000040f4: PUSH2 0x0100 000040f7: DUP3 000040f8: AND 000040f9: ISZERO 000040fa: PUSH2 0x4113 000040fd: JUMPI 000040fe: PUSH16 0xfcbe86c7900a88aedcffc83b479aa3a4 0000410f: MUL 00004110: PUSH1 0x80 00004112: SHR 00004113: JUMPDEST 00004114: PUSH2 0x0200 00004117: DUP3 00004118: AND 00004119: ISZERO 0000411a: PUSH2 0x4133 0000411d: JUMPI 0000411e: PUSH16 0xf987a7253ac413176f2b074cf7815e54 0000412f: MUL 00004130: PUSH1 0x80 00004132: SHR 00004133: JUMPDEST 00004134: PUSH2 0x0400 00004137: DUP3 00004138: AND 00004139: ISZERO 0000413a: PUSH2 0x4153 0000413d: JUMPI 0000413e: PUSH16 0xf3392b0822b70005940c7a398e4b70f3 0000414f: MUL 00004150: PUSH1 0x80 00004152: SHR 00004153: JUMPDEST 00004154: PUSH2 0x0800 00004157: DUP3 00004158: AND 00004159: ISZERO 0000415a: PUSH2 0x4173 0000415d: JUMPI 0000415e: PUSH16 0xe7159475a2c29b7443b29c7fa6e889d9 0000416f: MUL 00004170: PUSH1 0x80 00004172: SHR 00004173: JUMPDEST 00004174: PUSH2 0x1000 00004177: DUP3 00004178: AND 00004179: ISZERO 0000417a: PUSH2 0x4193 0000417d: JUMPI 0000417e: PUSH16 0xd097f3bdfd2022b8845ad8f792aa5825 0000418f: MUL 00004190: PUSH1 0x80 00004192: SHR 00004193: JUMPDEST 00004194: PUSH2 0x2000 00004197: DUP3 00004198: AND 00004199: ISZERO 0000419a: PUSH2 0x41b3 0000419d: JUMPI 0000419e: PUSH16 0xa9f746462d870fdf8a65dc1f90e061e5 000041af: MUL 000041b0: PUSH1 0x80 000041b2: SHR 000041b3: JUMPDEST 000041b4: PUSH2 0x4000 000041b7: DUP3 000041b8: AND 000041b9: ISZERO 000041ba: PUSH2 0x41d3 000041bd: JUMPI 000041be: PUSH16 0x70d869a156d2a1b890bb3df62baf32f7 000041cf: MUL 000041d0: PUSH1 0x80 000041d2: SHR 000041d3: JUMPDEST 000041d4: PUSH2 0x8000 000041d7: DUP3 000041d8: AND 000041d9: ISZERO 000041da: PUSH2 0x41f3 000041dd: JUMPI 000041de: PUSH16 0x31be135f97d08fd981231505542fcfa6 000041ef: MUL 000041f0: PUSH1 0x80 000041f2: SHR 000041f3: JUMPDEST 000041f4: PUSH3 0x010000 000041f8: DUP3 000041f9: AND 000041fa: ISZERO 000041fb: PUSH2 0x4214 000041fe: JUMPI 000041ff: PUSH16 0x09aa508b5b7a84e1c677de54f3e99bc9 00004210: MUL 00004211: PUSH1 0x80 00004213: SHR 00004214: JUMPDEST 00004215: PUSH3 0x020000 00004219: DUP3 0000421a: AND 0000421b: ISZERO 0000421c: PUSH2 0x4234 0000421f: JUMPI 00004220: PUSH15 0x5d6af8dedb81196699c329225ee604 00004230: MUL 00004231: PUSH1 0x80 00004233: SHR 00004234: JUMPDEST 00004235: PUSH3 0x040000 00004239: DUP3 0000423a: LT 0000423b: PUSH2 0x427a 0000423e: JUMPI 0000423f: PUSH3 0x040000 00004243: DUP3 00004244: AND 00004245: ISZERO 00004246: PUSH2 0x425d 00004249: JUMPI 0000424a: PUSH14 0x2216e584f5fa1ea926041bedfe98 00004259: MUL 0000425a: PUSH1 0x80 0000425c: SHR 0000425d: JUMPDEST 0000425e: PUSH3 0x080000 00004262: DUP3 00004263: AND 00004264: ISZERO 00004265: PUSH2 0x427a 00004268: JUMPI 00004269: PUSH12 0x048a170391f7dc42444e8fa2 00004276: MUL 00004277: PUSH1 0x80 00004279: SHR 0000427a: JUMPDEST 0000427b: PUSH1 0x00 0000427d: DUP6 0000427e: PUSH1 0x02 00004280: SIGNEXTEND 00004281: SGT 00004282: ISZERO 00004283: PUSH2 0x428b 00004286: JUMPI 00004287: PUSH1 0x00 00004289: NOT 0000428a: DIV 0000428b: JUMPDEST 0000428c: PUSH4 0xffffffff 00004291: ADD 00004292: PUSH1 0x20 00004294: SHR 00004295: SWAP5 00004296: SWAP4 00004297: POP 00004298: POP 00004299: POP 0000429a: POP 0000429b: JUMP 0000429c: JUMPDEST 0000429d: PUSH1 0x00 0000429f: DUP1 000042a0: PUSH1 0x00 000042a2: DUP1 000042a3: PUSH2 0x556b 000042a6: DUP11 000042a7: PUSH2 0x42b2 000042aa: JUMPI 000042ab: PUSH2 0x4af5 000042ae: PUSH2 0x42b6 000042b1: JUMP 000042b2: JUMPDEST 000042b3: PUSH2 0x4b04 000042b6: JUMPDEST 000042b7: SWAP1 000042b8: POP 000042b9: PUSH1 0x00 000042bb: DUP8 000042bc: SLT 000042bd: PUSH2 0x438a 000042c0: JUMPI 000042c1: PUSH1 0x00 000042c3: PUSH2 0x42df 000042c6: DUP9 000042c7: DUP9 000042c8: PUSH3 0x0f4240 000042cc: SUB 000042cd: PUSH3 0xffffff 000042d1: AND 000042d2: PUSH3 0x0f4240 000042d6: PUSH3 0xffffff 000042da: AND 000042db: PUSH2 0x3742 000042de: JUMP 000042df: JUMPDEST 000042e0: SWAP1 000042e1: POP 000042e2: PUSH2 0x42f0 000042e5: DUP11 000042e6: DUP13 000042e7: DUP12 000042e8: DUP6 000042e9: PUSH4 0xffffffff 000042ee: AND 000042ef: JUMP 000042f0: JUMPDEST 000042f1: SWAP5 000042f2: POP 000042f3: DUP5 000042f4: DUP2 000042f5: LT 000042f6: PUSH2 0x431d 000042f9: JUMPI 000042fa: DUP10 000042fb: SWAP6 000042fc: POP 000042fd: PUSH2 0x4316 00004300: DUP6 00004301: DUP9 00004302: PUSH3 0xffffff 00004306: AND 00004307: DUP10 00004308: PUSH3 0x0f4240 0000430c: SUB 0000430d: PUSH3 0xffffff 00004311: AND 00004312: PUSH2 0x3920 00004315: JUMP 00004316: JUMPDEST 00004317: SWAP3 00004318: POP 00004319: PUSH2 0x4363 0000431c: JUMP 0000431d: JUMPDEST 0000431e: PUSH2 0x4329 00004321: DUP12 00004322: DUP11 00004323: DUP4 00004324: DUP16 00004325: PUSH2 0x4b13 00004328: JUMP 00004329: JUMPDEST 0000432a: SWAP6 0000432b: POP 0000432c: DUP6 0000432d: PUSH1 0x01 0000432f: PUSH1 0x01 00004331: PUSH1 0xa0 00004333: SHL 00004334: SUB 00004335: AND 00004336: DUP11 00004337: PUSH1 0x01 00004339: PUSH1 0x01 0000433b: PUSH1 0xa0 0000433d: SHL 0000433e: SUB 0000433f: AND 00004340: SUB 00004341: PUSH2 0x434c 00004344: JUMPI 00004345: PUSH2 0x434c 00004348: PUSH2 0x560f 0000434b: JUMP 0000434c: JUMPDEST 0000434d: PUSH2 0x435b 00004350: DUP7 00004351: DUP13 00004352: DUP12 00004353: DUP6 00004354: PUSH4 0xffffffff 00004359: AND 0000435a: JUMP 0000435b: JUMPDEST 0000435c: SWAP5 0000435d: POP 0000435e: DUP5 0000435f: DUP9 00004360: SUB 00004361: SWAP3 00004362: POP 00004363: JUMPDEST 00004364: PUSH2 0x4382 00004367: DUP7 00004368: DUP13 00004369: DUP12 0000436a: DUP16 0000436b: PUSH2 0x4376 0000436e: JUMPI 0000436f: PUSH2 0x4b2c 00004372: PUSH2 0x437a 00004375: JUMP 00004376: JUMPDEST 00004377: PUSH2 0x4b3b 0000437a: JUMPDEST 0000437b: PUSH4 0xffffffff 00004380: AND 00004381: JUMP 00004382: JUMPDEST 00004383: SWAP4 00004384: POP 00004385: POP 00004386: PUSH2 0x445c 00004389: JUMP 0000438a: JUMPDEST 0000438b: PUSH2 0x556b 0000438e: DUP12 0000438f: PUSH2 0x439a 00004392: JUMPI 00004393: PUSH2 0x4b2c 00004396: PUSH2 0x439e 00004399: JUMP 0000439a: JUMPDEST 0000439b: PUSH2 0x4b3b 0000439e: JUMPDEST 0000439f: SWAP1 000043a0: POP 000043a1: PUSH2 0x43af 000043a4: DUP11 000043a5: DUP13 000043a6: DUP12 000043a7: DUP5 000043a8: PUSH4 0xffffffff 000043ad: AND 000043ae: JUMP 000043af: JUMPDEST 000043b0: SWAP4 000043b1: POP 000043b2: DUP8 000043b3: PUSH1 0x00 000043b5: SUB 000043b6: SWAP8 000043b7: POP 000043b8: PUSH1 0x00 000043ba: DUP9 000043bb: SLT 000043bc: ISZERO 000043bd: PUSH2 0x43d9 000043c0: JUMPI 000043c1: PUSH1 0x40 000043c3: MLOAD 000043c4: PUSH4 0x34cb3a01 000043c9: PUSH1 0xe1 000043cb: SHL 000043cc: DUP2 000043cd: MSTORE 000043ce: PUSH1 0x04 000043d0: ADD 000043d1: PUSH1 0x40 000043d3: MLOAD 000043d4: DUP1 000043d5: SWAP2 000043d6: SUB 000043d7: SWAP1 000043d8: REVERT 000043d9: JUMPDEST 000043da: DUP4 000043db: DUP9 000043dc: LT 000043dd: PUSH2 0x43e8 000043e0: JUMPI 000043e1: DUP10 000043e2: SWAP6 000043e3: POP 000043e4: PUSH2 0x442d 000043e7: JUMP 000043e8: JUMPDEST 000043e9: PUSH2 0x43f4 000043ec: DUP12 000043ed: DUP11 000043ee: DUP11 000043ef: DUP16 000043f0: PUSH2 0x4b4a 000043f3: JUMP 000043f4: JUMPDEST 000043f5: SWAP6 000043f6: POP 000043f7: DUP6 000043f8: PUSH1 0x01 000043fa: PUSH1 0x01 000043fc: PUSH1 0xa0 000043fe: SHL 000043ff: SUB 00004400: AND 00004401: DUP11 00004402: PUSH1 0x01 00004404: PUSH1 0x01 00004406: PUSH1 0xa0 00004408: SHL 00004409: SUB 0000440a: AND 0000440b: EQ 0000440c: PUSH2 0x4421 0000440f: JUMPI 00004410: PUSH2 0x441e 00004413: DUP7 00004414: DUP13 00004415: DUP12 00004416: DUP5 00004417: PUSH4 0xffffffff 0000441c: AND 0000441d: JUMP 0000441e: JUMPDEST 0000441f: SWAP4 00004420: POP 00004421: JUMPDEST 00004422: DUP8 00004423: DUP5 00004424: GT 00004425: ISZERO 00004426: PUSH2 0x442d 00004429: JUMPI 0000442a: DUP8 0000442b: SWAP4 0000442c: POP 0000442d: JUMPDEST 0000442e: PUSH2 0x443c 00004431: DUP7 00004432: DUP13 00004433: DUP12 00004434: DUP6 00004435: PUSH4 0xffffffff 0000443a: AND 0000443b: JUMP 0000443c: JUMPDEST 0000443d: SWAP5 0000443e: POP 0000443f: PUSH2 0x4458 00004442: DUP6 00004443: DUP9 00004444: PUSH3 0xffffff 00004448: AND 00004449: DUP10 0000444a: PUSH3 0x0f4240 0000444e: SUB 0000444f: PUSH3 0xffffff 00004453: AND 00004454: PUSH2 0x3920 00004457: JUMP 00004458: JUMPDEST 00004459: SWAP3 0000445a: POP 0000445b: POP 0000445c: JUMPDEST 0000445d: POP 0000445e: SWAP7 0000445f: POP 00004460: SWAP7 00004461: POP 00004462: SWAP7 00004463: POP 00004464: SWAP7 00004465: SWAP3 00004466: POP 00004467: POP 00004468: POP 00004469: JUMP 0000446a: JUMPDEST 0000446b: DUP1 0000446c: DUP3 0000446d: SUB 0000446e: DUP3 0000446f: DUP2 00004470: SGT 00004471: ISZERO 00004472: PUSH1 0x00 00004474: DUP4 00004475: SLT 00004476: ISZERO 00004477: EQ 00004478: PUSH2 0x4480 0000447b: JUMPI 0000447c: PUSH1 0x00 0000447e: DUP1 0000447f: REVERT 00004480: JUMPDEST 00004481: SWAP3 00004482: SWAP2 00004483: POP 00004484: POP 00004485: JUMP 00004486: JUMPDEST 00004487: DUP2 00004488: DUP2 00004489: ADD 0000448a: DUP3 0000448b: DUP2 0000448c: SLT 0000448d: ISZERO 0000448e: PUSH1 0x00 00004490: DUP4 00004491: SLT 00004492: ISZERO 00004493: EQ 00004494: PUSH2 0x4480 00004497: JUMPI 00004498: PUSH1 0x00 0000449a: DUP1 0000449b: REVERT 0000449c: JUMPDEST 0000449d: PUSH1 0x00 0000449f: DUP3 000044a0: ISZERO 000044a1: DUP1 000044a2: PUSH2 0x44bd 000044a5: JUMPI 000044a6: POP 000044a7: POP 000044a8: DUP2 000044a9: DUP2 000044aa: MUL 000044ab: DUP2 000044ac: DUP4 000044ad: DUP3 000044ae: DUP2 000044af: PUSH2 0x44ba 000044b2: JUMPI 000044b3: PUSH2 0x44ba 000044b6: PUSH2 0x55f9 000044b9: JUMP 000044ba: JUMPDEST 000044bb: DIV 000044bc: EQ 000044bd: JUMPDEST 000044be: PUSH2 0x4480 000044c1: JUMPI 000044c2: PUSH1 0x00 000044c4: DUP1 000044c5: REVERT 000044c6: JUMPDEST 000044c7: PUSH1 0x02 000044c9: DUP4 000044ca: DUP2 000044cb: SIGNEXTEND 000044cc: PUSH1 0x00 000044ce: SWAP1 000044cf: DUP2 000044d0: MSTORE 000044d1: PUSH1 0x20 000044d3: DUP7 000044d4: SWAP1 000044d5: MSTORE 000044d6: PUSH1 0x40 000044d8: SWAP1 000044d9: KECCAK256 000044da: PUSH1 0x03 000044dc: DUP2 000044dd: ADD 000044de: DUP1 000044df: SLOAD 000044e0: DUP3 000044e1: DUP5 000044e2: ADD 000044e3: DUP1 000044e4: SLOAD 000044e5: DUP8 000044e6: SUB 000044e7: SWAP1 000044e8: SSTORE 000044e9: DUP5 000044ea: SUB 000044eb: SWAP1 000044ec: SSTORE 000044ed: PUSH1 0x01 000044ef: ADD 000044f0: SLOAD 000044f1: PUSH1 0x0f 000044f3: DUP2 000044f4: SWAP1 000044f5: SIGNEXTEND 000044f6: SWAP2 000044f7: PUSH1 0x01 000044f9: PUSH1 0x80 000044fb: SHL 000044fc: DUP3 000044fd: DIV 000044fe: DUP2 000044ff: SIGNEXTEND 00004500: SWAP2 00004501: PUSH1 0x01 00004503: PUSH1 0x98 00004505: SHL 00004506: SWAP1 00004507: DIV 00004508: SWAP1 00004509: SIGNEXTEND 0000450a: SWAP5 0000450b: POP 0000450c: SWAP5 0000450d: POP 0000450e: SWAP5 0000450f: SWAP2 00004510: POP 00004511: POP 00004512: JUMP 00004513: JUMPDEST 00004514: PUSH1 0x00 00004516: DUP1 00004517: DUP3 00004518: PUSH1 0x0f 0000451a: SIGNEXTEND 0000451b: SLT 0000451c: ISZERO 0000451d: PUSH2 0x4555 00004520: JUMPI 00004521: POP 00004522: DUP1 00004523: DUP3 00004524: ADD 00004525: PUSH1 0x01 00004527: PUSH1 0x01 00004529: PUSH1 0x80 0000452b: SHL 0000452c: SUB 0000452d: DUP1 0000452e: DUP5 0000452f: AND 00004530: SWAP1 00004531: DUP3 00004532: AND 00004533: LT 00004534: PUSH2 0x4550 00004537: JUMPI 00004538: PUSH1 0x40 0000453a: MLOAD 0000453b: PUSH4 0x02603ee9 00004540: PUSH1 0xe3 00004542: SHL 00004543: DUP2 00004544: MSTORE 00004545: PUSH1 0x04 00004547: ADD 00004548: PUSH1 0x40 0000454a: MLOAD 0000454b: DUP1 0000454c: SWAP2 0000454d: SUB 0000454e: SWAP1 0000454f: REVERT 00004550: JUMPDEST 00004551: PUSH2 0x4480 00004554: JUMP 00004555: JUMPDEST 00004556: DUP3 00004557: PUSH1 0x01 00004559: PUSH1 0x01 0000455b: PUSH1 0x80 0000455d: SHL 0000455e: SUB 0000455f: AND 00004560: DUP3 00004561: DUP5 00004562: ADD 00004563: SWAP2 00004564: POP 00004565: DUP2 00004566: PUSH1 0x01 00004568: PUSH1 0x01 0000456a: PUSH1 0x80 0000456c: SHL 0000456d: SUB 0000456e: AND 0000456f: LT 00004570: ISZERO 00004571: PUSH2 0x4480 00004574: JUMPI 00004575: PUSH1 0x40 00004577: MLOAD 00004578: PUSH4 0x4cba0179 0000457d: PUSH1 0xe1 0000457f: SHL 00004580: DUP2 00004581: MSTORE 00004582: PUSH1 0x04 00004584: ADD 00004585: PUSH1 0x40 00004587: MLOAD 00004588: DUP1 00004589: SWAP2 0000458a: SUB 0000458b: SWAP1 0000458c: REVERT 0000458d: JUMPDEST 0000458e: PUSH1 0x00 00004590: PUSH1 0x40 00004592: MLOAD 00004593: PUSH4 0xa9059cbb 00004598: PUSH1 0xe0 0000459a: SHL 0000459b: PUSH1 0x00 0000459d: MSTORE 0000459e: PUSH1 0x01 000045a0: PUSH1 0x01 000045a2: PUSH1 0xa0 000045a4: SHL 000045a5: SUB 000045a6: DUP5 000045a7: AND 000045a8: PUSH1 0x04 000045aa: MSTORE 000045ab: DUP3 000045ac: PUSH1 0x24 000045ae: MSTORE 000045af: PUSH1 0x20 000045b1: PUSH1 0x00 000045b3: PUSH1 0x44 000045b5: PUSH1 0x00 000045b7: DUP1 000045b8: DUP10 000045b9: GAS 000045ba: CALL 000045bb: SWAP2 000045bc: POP 000045bd: DUP2 000045be: RETURNDATASIZE 000045bf: ISZERO 000045c0: PUSH1 0x20 000045c2: RETURNDATASIZE 000045c3: EQ 000045c4: PUSH1 0x01 000045c6: PUSH1 0x00 000045c8: MLOAD 000045c9: EQ 000045ca: AND 000045cb: OR 000045cc: AND 000045cd: SWAP2 000045ce: POP 000045cf: DUP1 000045d0: PUSH1 0x40 000045d2: MSTORE 000045d3: POP 000045d4: DUP1 000045d5: PUSH2 0x45f1 000045d8: JUMPI 000045d9: PUSH1 0x40 000045db: MLOAD 000045dc: PUSH4 0x7232c81f 000045e1: PUSH1 0xe1 000045e3: SHL 000045e4: DUP2 000045e5: MSTORE 000045e6: PUSH1 0x04 000045e8: ADD 000045e9: PUSH1 0x40 000045eb: MLOAD 000045ec: DUP1 000045ed: SWAP2 000045ee: SUB 000045ef: SWAP1 000045f0: REVERT 000045f1: JUMPDEST 000045f2: POP 000045f3: POP 000045f4: POP 000045f5: POP 000045f6: JUMP 000045f7: JUMPDEST 000045f8: PUSH1 0x00 000045fa: DUP1 000045fb: DUP1 000045fc: DUP1 000045fd: DUP9 000045fe: DUP9 000045ff: OR 00004600: ISZERO 00004601: PUSH2 0x46a5 00004604: JUMPI 00004605: DUP5 00004606: SLOAD 00004607: PUSH1 0x01 00004609: PUSH1 0x01 0000460b: PUSH1 0x68 0000460d: SHL 0000460e: SUB 0000460f: DUP1 00004610: DUP3 00004611: AND 00004612: SWAP2 00004613: PUSH1 0x68 00004615: SHR 00004616: AND 00004617: PUSH2 0x4620 0000461a: DUP12 0000461b: DUP4 0000461c: PUSH2 0x5589 0000461f: JUMP 00004620: JUMPDEST 00004621: SWAP2 00004622: POP 00004623: PUSH2 0x462c 00004626: DUP11 00004627: DUP3 00004628: PUSH2 0x5589 0000462b: JUMP 0000462c: JUMPDEST 0000462d: SWAP1 0000462e: POP 0000462f: PUSH2 0x7080 00004632: PUSH2 0x4641 00004635: DUP11 00004636: PUSH4 0xffffffff 0000463b: TIMESTAMP 0000463c: AND 0000463d: PUSH2 0x55bf 00004640: JUMP 00004641: JUMPDEST 00004642: LT 00004643: ISZERO 00004644: DUP1 00004645: PUSH2 0x4654 00004648: JUMPI 00004649: POP 0000464a: PUSH1 0x01 0000464c: PUSH1 0x01 0000464e: PUSH1 0x68 00004650: SHL 00004651: SUB 00004652: DUP3 00004653: GT 00004654: JUMPDEST 00004655: DUP1 00004656: PUSH2 0x4665 00004659: JUMPI 0000465a: POP 0000465b: PUSH1 0x01 0000465d: PUSH1 0x01 0000465f: PUSH1 0x68 00004661: SHL 00004662: SUB 00004663: DUP2 00004664: GT 00004665: JUMPDEST 00004666: ISZERO 00004667: PUSH2 0x4694 0000466a: JUMPI 0000466b: DUP8 0000466c: SLOAD 0000466d: PUSH1 0x00 0000466f: DUP1 00004670: PUSH2 0x467a 00004673: DUP6 00004674: DUP6 00004675: DUP6 00004676: PUSH2 0x4b5a 00004679: JUMP 0000467a: JUMPDEST 0000467b: PUSH1 0x00 0000467d: DUP1 0000467e: DUP14 0000467f: SSTORE 00004680: SWAP11 00004681: POP 00004682: DUP11 00004683: SWAP10 00004684: POP 00004685: SWAP1 00004686: SWAP8 00004687: POP 00004688: SWAP6 00004689: POP 0000468a: PUSH2 0x46f7 0000468d: SWAP5 0000468e: POP 0000468f: POP 00004690: POP 00004691: POP 00004692: POP 00004693: JUMP 00004694: JUMPDEST 00004695: SWAP1 00004696: SWAP5 00004697: POP 00004698: SWAP3 00004699: POP 0000469a: PUSH1 0x00 0000469c: SWAP2 0000469d: POP 0000469e: DUP2 0000469f: SWAP1 000046a0: POP 000046a1: PUSH2 0x46f7 000046a4: JUMP 000046a5: JUMPDEST 000046a6: PUSH2 0x7080 000046a9: PUSH2 0x46b8 000046ac: DUP9 000046ad: PUSH4 0xffffffff 000046b2: TIMESTAMP 000046b3: AND 000046b4: PUSH2 0x55bf 000046b7: JUMP 000046b8: JUMPDEST 000046b9: LT 000046ba: PUSH2 0x46ea 000046bd: JUMPI 000046be: DUP5 000046bf: SLOAD 000046c0: PUSH1 0x01 000046c2: PUSH1 0x01 000046c4: PUSH1 0x68 000046c6: SHL 000046c7: SUB 000046c8: DUP1 000046c9: DUP3 000046ca: AND 000046cb: SWAP2 000046cc: PUSH1 0x68 000046ce: SHR 000046cf: AND 000046d0: DUP1 000046d1: DUP3 000046d2: OR 000046d3: ISZERO 000046d4: PUSH2 0x46e7 000046d7: JUMPI 000046d8: DUP8 000046d9: SLOAD 000046da: PUSH1 0x00 000046dc: DUP1 000046dd: PUSH2 0x467a 000046e0: DUP6 000046e1: DUP6 000046e2: DUP6 000046e3: PUSH2 0x4b5a 000046e6: JUMP 000046e7: JUMPDEST 000046e8: POP 000046e9: POP 000046ea: JUMPDEST 000046eb: POP 000046ec: PUSH1 0x00 000046ee: SWAP3 000046ef: POP 000046f0: DUP3 000046f1: SWAP2 000046f2: POP 000046f3: DUP2 000046f4: SWAP1 000046f5: POP 000046f6: DUP1 000046f7: JUMPDEST 000046f8: SWAP6 000046f9: POP 000046fa: SWAP6 000046fb: POP 000046fc: SWAP6 000046fd: POP 000046fe: SWAP6 000046ff: SWAP2 00004700: POP 00004701: POP 00004702: JUMP 00004703: JUMPDEST 00004704: DUP1 00004705: PUSH1 0x01 00004707: PUSH1 0x01 00004709: PUSH1 0x80 0000470b: SHL 0000470c: SUB 0000470d: DUP2 0000470e: AND 0000470f: DUP2 00004710: EQ 00004711: PUSH2 0x3a28 00004714: JUMPI 00004715: PUSH1 0x00 00004717: DUP1 00004718: REVERT 00004719: JUMPDEST 0000471a: PUSH1 0x02 0000471c: DUP7 0000471d: SWAP1 0000471e: SIGNEXTEND 0000471f: PUSH1 0x00 00004721: SWAP1 00004722: DUP2 00004723: MSTORE 00004724: PUSH1 0x20 00004726: DUP9 00004727: SWAP1 00004728: MSTORE 00004729: PUSH1 0x40 0000472b: DUP2 0000472c: KECCAK256 0000472d: DUP1 0000472e: SLOAD 0000472f: DUP3 00004730: PUSH2 0x4739 00004733: DUP3 00004734: DUP10 00004735: PUSH2 0x4513 00004738: JUMP 00004739: JUMPDEST 0000473a: PUSH1 0x01 0000473c: PUSH1 0x01 0000473e: PUSH1 0x80 00004740: SHL 00004741: SUB 00004742: AND 00004743: SWAP1 00004744: POP 00004745: PUSH14 0x09745258e83de0d0f4e400fce799 00004754: DUP2 00004755: GT 00004756: ISZERO 00004757: PUSH2 0x4773 0000475a: JUMPI 0000475b: PUSH1 0x40 0000475d: MLOAD 0000475e: PUSH4 0x12dc1b25 00004763: PUSH1 0xe1 00004765: SHL 00004766: DUP2 00004767: MSTORE 00004768: PUSH1 0x04 0000476a: ADD 0000476b: PUSH1 0x40 0000476d: MLOAD 0000476e: DUP1 0000476f: SWAP2 00004770: SUB 00004771: SWAP1 00004772: REVERT 00004773: JUMPDEST 00004774: PUSH1 0x01 00004776: DUP4 00004777: ADD 00004778: SLOAD 00004779: PUSH1 0x0f 0000477b: SIGNEXTEND 0000477c: DUP6 0000477d: PUSH2 0x4797 00004780: JUMPI 00004781: DUP9 00004782: PUSH1 0x0f 00004784: SIGNEXTEND 00004785: DUP2 00004786: PUSH1 0x0f 00004788: SIGNEXTEND 00004789: PUSH2 0x4792 0000478c: SWAP2 0000478d: SWAP1 0000478e: PUSH2 0x572e 00004791: JUMP 00004792: JUMPDEST 00004793: PUSH2 0x47a9 00004796: JUMP 00004797: JUMPDEST 00004798: DUP9 00004799: PUSH1 0x0f 0000479b: SIGNEXTEND 0000479c: DUP2 0000479d: PUSH1 0x0f 0000479f: SIGNEXTEND 000047a0: PUSH2 0x47a9 000047a3: SWAP2 000047a4: SWAP1 000047a5: PUSH2 0x56e4 000047a8: JUMP 000047a9: JUMPDEST 000047aa: PUSH1 0x01 000047ac: DUP6 000047ad: ADD 000047ae: DUP1 000047af: SLOAD 000047b0: PUSH1 0x01 000047b2: PUSH1 0x01 000047b4: PUSH1 0x80 000047b6: SHL 000047b7: SUB 000047b8: NOT 000047b9: AND 000047ba: PUSH1 0x01 000047bc: PUSH1 0x01 000047be: PUSH1 0x80 000047c0: SHL 000047c1: SUB 000047c2: SWAP3 000047c3: SWAP1 000047c4: SWAP3 000047c5: AND 000047c6: SWAP2 000047c7: SWAP1 000047c8: SWAP2 000047c9: OR 000047ca: SWAP1 000047cb: SSTORE 000047cc: DUP2 000047cd: DUP5 000047ce: SSTORE 000047cf: DUP2 000047d0: ISZERO 000047d1: SWAP5 000047d2: POP 000047d3: PUSH1 0x00 000047d5: DUP4 000047d6: SWAP1 000047d7: SUB 000047d8: PUSH2 0x47fb 000047db: JUMPI 000047dc: DUP5 000047dd: ISZERO 000047de: SWAP5 000047df: POP 000047e0: DUP10 000047e1: PUSH1 0x02 000047e3: SIGNEXTEND 000047e4: DUP12 000047e5: PUSH1 0x02 000047e7: SIGNEXTEND 000047e8: SGT 000047e9: PUSH2 0x47fb 000047ec: JUMPI 000047ed: PUSH1 0x03 000047ef: DUP5 000047f0: ADD 000047f1: DUP8 000047f2: SWAP1 000047f3: SSTORE 000047f4: PUSH1 0x02 000047f6: DUP5 000047f7: ADD 000047f8: DUP9 000047f9: SWAP1 000047fa: SSTORE 000047fb: JUMPDEST 000047fc: POP 000047fd: POP 000047fe: POP 000047ff: POP 00004800: SWAP8 00004801: SWAP7 00004802: POP 00004803: POP 00004804: POP 00004805: POP 00004806: POP 00004807: POP 00004808: POP 00004809: JUMP 0000480a: JUMPDEST 0000480b: PUSH1 0x02 0000480d: DUP6 0000480e: DUP2 0000480f: SIGNEXTEND 00004810: PUSH1 0x00 00004812: SWAP1 00004813: DUP2 00004814: MSTORE 00004815: PUSH1 0x20 00004817: DUP9 00004818: SWAP1 00004819: MSTORE 0000481a: PUSH1 0x40 0000481c: DUP1 0000481d: DUP3 0000481e: KECCAK256 0000481f: DUP8 00004820: DUP5 00004821: SIGNEXTEND 00004822: DUP1 00004823: DUP5 00004824: MSTORE 00004825: SWAP2 00004826: DUP4 00004827: KECCAK256 00004828: SWAP3 00004829: SWAP4 0000482a: DUP5 0000482b: SWAP4 0000482c: SWAP2 0000482d: SWAP3 0000482e: SWAP1 0000482f: DUP9 00004830: SWAP1 00004831: SIGNEXTEND 00004832: SLT 00004833: ISZERO 00004834: PUSH2 0x4880 00004837: JUMPI 00004838: DUP9 00004839: PUSH1 0x02 0000483b: SIGNEXTEND 0000483c: DUP8 0000483d: PUSH1 0x02 0000483f: SIGNEXTEND 00004840: SLT 00004841: PUSH2 0x485b 00004844: JUMPI 00004845: DUP2 00004846: PUSH1 0x02 00004848: ADD 00004849: SLOAD 0000484a: DUP7 0000484b: SUB 0000484c: SWAP4 0000484d: POP 0000484e: DUP2 0000484f: PUSH1 0x03 00004851: ADD 00004852: SLOAD 00004853: DUP6 00004854: SUB 00004855: SWAP3 00004856: POP 00004857: PUSH2 0x486a 0000485a: JUMP 0000485b: JUMPDEST 0000485c: DUP2 0000485d: PUSH1 0x02 0000485f: ADD 00004860: SLOAD 00004861: SWAP4 00004862: POP 00004863: DUP2 00004864: PUSH1 0x03 00004866: ADD 00004867: SLOAD 00004868: SWAP3 00004869: POP 0000486a: JUMPDEST 0000486b: PUSH1 0x02 0000486d: DUP2 0000486e: ADD 0000486f: SLOAD 00004870: PUSH1 0x03 00004872: DUP3 00004873: ADD 00004874: SLOAD 00004875: SWAP5 00004876: SUB 00004877: SWAP4 00004878: SWAP1 00004879: SWAP3 0000487a: SUB 0000487b: SWAP2 0000487c: PUSH2 0x0d30 0000487f: JUMP 00004880: JUMPDEST 00004881: DUP2 00004882: PUSH1 0x02 00004884: ADD 00004885: SLOAD 00004886: DUP2 00004887: PUSH1 0x02 00004889: ADD 0000488a: SLOAD 0000488b: SUB 0000488c: SWAP4 0000488d: POP 0000488e: DUP2 0000488f: PUSH1 0x03 00004891: ADD 00004892: SLOAD 00004893: DUP2 00004894: PUSH1 0x03 00004896: ADD 00004897: SLOAD 00004898: SUB 00004899: SWAP3 0000489a: POP 0000489b: POP 0000489c: POP 0000489d: SWAP7 0000489e: POP 0000489f: SWAP7 000048a0: SWAP5 000048a1: POP 000048a2: POP 000048a3: POP 000048a4: POP 000048a5: POP 000048a6: JUMP 000048a7: JUMPDEST 000048a8: DUP4 000048a9: SLOAD 000048aa: PUSH1 0x0f 000048ac: DUP5 000048ad: SWAP1 000048ae: SIGNEXTEND 000048af: PUSH1 0x00 000048b1: SUB 000048b2: PUSH2 0x48d1 000048b5: JUMPI 000048b6: DUP1 000048b7: PUSH1 0x01 000048b9: PUSH1 0x01 000048bb: PUSH1 0x80 000048bd: SHL 000048be: SUB 000048bf: AND 000048c0: PUSH1 0x00 000048c2: SUB 000048c3: PUSH2 0x48cc 000048c6: JUMPI 000048c7: POP 000048c8: PUSH2 0x45f1 000048cb: JUMP 000048cc: JUMPDEST 000048cd: PUSH2 0x48e7 000048d0: JUMP 000048d1: JUMPDEST 000048d2: PUSH2 0x48db 000048d5: DUP2 000048d6: DUP6 000048d7: PUSH2 0x4513 000048da: JUMP 000048db: JUMPDEST 000048dc: PUSH1 0x01 000048de: PUSH1 0x01 000048e0: PUSH1 0x80 000048e2: SHL 000048e3: SUB 000048e4: AND 000048e5: DUP6 000048e6: SSTORE 000048e7: JUMPDEST 000048e8: PUSH1 0x01 000048ea: DUP6 000048eb: ADD 000048ec: SLOAD 000048ed: PUSH1 0x02 000048ef: DUP7 000048f0: ADD 000048f1: SLOAD 000048f2: PUSH1 0x00 000048f4: DUP6 000048f5: DUP4 000048f6: EQ 000048f7: PUSH2 0x491e 000048fa: JUMPI 000048fb: PUSH1 0x01 000048fd: DUP9 000048fe: ADD 000048ff: DUP7 00004900: SWAP1 00004901: SSTORE 00004902: PUSH2 0x491b 00004905: DUP4 00004906: DUP8 00004907: SUB 00004908: PUSH1 0x01 0000490a: PUSH1 0x01 0000490c: PUSH1 0x80 0000490e: SHL 0000490f: SUB 00004910: DUP7 00004911: AND 00004912: PUSH1 0x01 00004914: PUSH1 0x80 00004916: SHL 00004917: PUSH2 0x3742 0000491a: JUMP 0000491b: JUMPDEST 0000491c: SWAP1 0000491d: POP 0000491e: JUMPDEST 0000491f: PUSH1 0x00 00004921: DUP6 00004922: DUP4 00004923: EQ 00004924: PUSH2 0x494b 00004927: JUMPI 00004928: PUSH1 0x02 0000492a: DUP10 0000492b: ADD 0000492c: DUP7 0000492d: SWAP1 0000492e: SSTORE 0000492f: PUSH2 0x4948 00004932: DUP4 00004933: DUP8 00004934: SUB 00004935: PUSH1 0x01 00004937: PUSH1 0x01 00004939: PUSH1 0x80 0000493b: SHL 0000493c: SUB 0000493d: DUP8 0000493e: AND 0000493f: PUSH1 0x01 00004941: PUSH1 0x80 00004943: SHL 00004944: PUSH2 0x3742 00004947: JUMP 00004948: JUMPDEST 00004949: SWAP1 0000494a: POP 0000494b: JUMPDEST 0000494c: PUSH1 0x01 0000494e: PUSH1 0x01 00004950: PUSH1 0x80 00004952: SHL 00004953: SUB 00004954: DUP3 00004955: DUP3 00004956: OR 00004957: AND 00004958: ISZERO 00004959: PUSH2 0x4991 0000495c: JUMPI 0000495d: PUSH1 0x03 0000495f: DUP10 00004960: ADD 00004961: DUP1 00004962: SLOAD 00004963: PUSH1 0x01 00004965: PUSH1 0x80 00004967: SHL 00004968: PUSH1 0x01 0000496a: PUSH1 0x01 0000496c: PUSH1 0x80 0000496e: SHL 0000496f: SUB 00004970: DUP1 00004971: DUP4 00004972: AND 00004973: DUP7 00004974: ADD 00004975: DUP2 00004976: AND 00004977: PUSH1 0x01 00004979: PUSH1 0x01 0000497b: PUSH1 0x80 0000497d: SHL 0000497e: SUB 0000497f: NOT 00004980: SWAP1 00004981: SWAP4 00004982: AND 00004983: DUP4 00004984: OR 00004985: DUP3 00004986: SWAP1 00004987: DIV 00004988: DUP2 00004989: AND 0000498a: DUP6 0000498b: ADD 0000498c: AND 0000498d: MUL 0000498e: OR 0000498f: SWAP1 00004990: SSTORE 00004991: JUMPDEST 00004992: POP 00004993: POP 00004994: POP 00004995: POP 00004996: POP 00004997: POP 00004998: POP 00004999: POP 0000499a: POP 0000499b: JUMP 0000499c: JUMPDEST 0000499d: PUSH1 0x09 0000499f: SLOAD 000049a0: PUSH4 0x01000000 000049a5: DUP2 000049a6: DIV 000049a7: PUSH1 0x02 000049a9: SWAP1 000049aa: DUP2 000049ab: SIGNEXTEND 000049ac: SWAP2 000049ad: SWAP1 000049ae: DUP2 000049af: SWAP1 000049b0: SIGNEXTEND 000049b1: SWAP1 000049b2: PUSH1 0x01 000049b4: PUSH1 0xc8 000049b6: SHL 000049b7: SWAP1 000049b8: DIV 000049b9: PUSH4 0xffffffff 000049be: AND 000049bf: DUP3 000049c0: DUP3 000049c1: DUP3 000049c2: DUP10 000049c3: ISZERO 000049c4: PUSH2 0x49dd 000049c7: JUMPI 000049c8: PUSH2 0x49d5 000049cb: DUP13 000049cc: DUP10 000049cd: DUP4 000049ce: DUP7 000049cf: DUP7 000049d0: DUP13 000049d1: PUSH2 0x4bd4 000049d4: JUMP 000049d5: JUMPDEST 000049d6: SWAP2 000049d7: SWAP5 000049d8: POP 000049d9: SWAP3 000049da: POP 000049db: SWAP1 000049dc: POP 000049dd: JUMPDEST 000049de: DUP9 000049df: ISZERO 000049e0: PUSH2 0x49f9 000049e3: JUMPI 000049e4: PUSH2 0x49f1 000049e7: DUP12 000049e8: DUP10 000049e9: DUP4 000049ea: DUP7 000049eb: DUP7 000049ec: DUP13 000049ed: PUSH2 0x4bd4 000049f0: JUMP 000049f1: JUMPDEST 000049f2: SWAP2 000049f3: SWAP5 000049f4: POP 000049f5: SWAP3 000049f6: POP 000049f7: SWAP1 000049f8: POP 000049f9: JUMPDEST 000049fa: DUP3 000049fb: PUSH1 0x02 000049fd: SIGNEXTEND 000049fe: DUP7 000049ff: PUSH1 0x02 00004a01: SIGNEXTEND 00004a02: EQ 00004a03: ISZERO 00004a04: DUP1 00004a05: PUSH2 0x4a14 00004a08: JUMPI 00004a09: POP 00004a0a: DUP2 00004a0b: PUSH1 0x02 00004a0d: SIGNEXTEND 00004a0e: DUP6 00004a0f: PUSH1 0x02 00004a11: SIGNEXTEND 00004a12: EQ 00004a13: ISZERO 00004a14: JUMPDEST 00004a15: DUP1 00004a16: PUSH2 0x4a2b 00004a19: JUMPI 00004a1a: POP 00004a1b: DUP4 00004a1c: PUSH4 0xffffffff 00004a21: AND 00004a22: DUP2 00004a23: PUSH4 0xffffffff 00004a28: AND 00004a29: EQ 00004a2a: ISZERO 00004a2b: JUMPDEST 00004a2c: ISZERO 00004a2d: PUSH2 0x4a77 00004a30: JUMPI 00004a31: PUSH1 0x09 00004a33: DUP1 00004a34: SLOAD 00004a35: PUSH3 0xffffff 00004a39: DUP1 00004a3a: DUP7 00004a3b: AND 00004a3c: PUSH4 0x01000000 00004a41: MUL 00004a42: PUSH6 0xffffffffffff 00004a49: NOT 00004a4a: PUSH4 0xffffffff 00004a4f: DUP7 00004a50: AND 00004a51: PUSH1 0x01 00004a53: PUSH1 0xc8 00004a55: SHL 00004a56: MUL 00004a57: AND 00004a58: PUSH6 0xffffffffffff 00004a5f: PUSH4 0xffffffff 00004a64: PUSH1 0xc8 00004a66: SHL 00004a67: ADD 00004a68: NOT 00004a69: SWAP1 00004a6a: SWAP4 00004a6b: AND 00004a6c: SWAP3 00004a6d: SWAP1 00004a6e: SWAP3 00004a6f: OR 00004a70: SWAP1 00004a71: DUP6 00004a72: AND 00004a73: OR 00004a74: OR 00004a75: SWAP1 00004a76: SSTORE 00004a77: JUMPDEST 00004a78: POP 00004a79: POP 00004a7a: POP 00004a7b: POP 00004a7c: POP 00004a7d: POP 00004a7e: POP 00004a7f: POP 00004a80: POP 00004a81: POP 00004a82: POP 00004a83: POP 00004a84: JUMP 00004a85: JUMPDEST 00004a86: PUSH1 0x00 00004a88: DUP1 00004a89: DUP3 00004a8a: PUSH1 0x0f 00004a8c: SIGNEXTEND 00004a8d: SLT 00004a8e: ISZERO 00004a8f: PUSH2 0x4aad 00004a92: JUMPI 00004a93: PUSH2 0x4aa5 00004a96: PUSH2 0x16b6 00004a99: DUP6 00004a9a: DUP6 00004a9b: DUP6 00004a9c: PUSH1 0x00 00004a9e: SUB 00004a9f: PUSH1 0x00 00004aa1: PUSH2 0x4cc9 00004aa4: JUMP 00004aa5: JUMPDEST 00004aa6: PUSH1 0x00 00004aa8: SUB 00004aa9: PUSH2 0x4abd 00004aac: JUMP 00004aad: JUMPDEST 00004aae: PUSH2 0x4abd 00004ab1: PUSH2 0x16b6 00004ab4: DUP6 00004ab5: DUP6 00004ab6: DUP6 00004ab7: PUSH1 0x01 00004ab9: PUSH2 0x4cc9 00004abc: JUMP 00004abd: JUMPDEST 00004abe: SWAP5 00004abf: SWAP4 00004ac0: POP 00004ac1: POP 00004ac2: POP 00004ac3: POP 00004ac4: JUMP 00004ac5: JUMPDEST 00004ac6: PUSH1 0x00 00004ac8: DUP1 00004ac9: DUP3 00004aca: PUSH1 0x0f 00004acc: SIGNEXTEND 00004acd: SLT 00004ace: ISZERO 00004acf: PUSH2 0x4ae5 00004ad2: JUMPI 00004ad3: PUSH2 0x4aa5 00004ad6: PUSH2 0x16b6 00004ad9: DUP6 00004ada: DUP6 00004adb: DUP6 00004adc: PUSH1 0x00 00004ade: SUB 00004adf: PUSH1 0x00 00004ae1: PUSH2 0x4d64 00004ae4: JUMP 00004ae5: JUMPDEST 00004ae6: PUSH2 0x4abd 00004ae9: PUSH2 0x16b6 00004aec: DUP6 00004aed: DUP6 00004aee: DUP6 00004aef: PUSH1 0x01 00004af1: PUSH2 0x4d64 00004af4: JUMP 00004af5: JUMPDEST 00004af6: PUSH1 0x00 00004af8: PUSH2 0x4abd 00004afb: DUP4 00004afc: DUP6 00004afd: DUP5 00004afe: PUSH1 0x01 00004b00: PUSH2 0x4d64 00004b03: JUMP 00004b04: JUMPDEST 00004b05: PUSH1 0x00 00004b07: PUSH2 0x4abd 00004b0a: DUP5 00004b0b: DUP5 00004b0c: DUP5 00004b0d: PUSH1 0x01 00004b0f: PUSH2 0x4cc9 00004b12: JUMP 00004b13: JUMPDEST 00004b14: PUSH1 0x00 00004b16: PUSH2 0x4b23 00004b19: DUP6 00004b1a: DUP6 00004b1b: DUP6 00004b1c: DUP6 00004b1d: PUSH1 0x01 00004b1f: PUSH2 0x4dcb 00004b22: JUMP 00004b23: JUMPDEST 00004b24: SWAP6 00004b25: SWAP5 00004b26: POP 00004b27: POP 00004b28: POP 00004b29: POP 00004b2a: POP 00004b2b: JUMP 00004b2c: JUMPDEST 00004b2d: PUSH1 0x00 00004b2f: PUSH2 0x4abd 00004b32: DUP4 00004b33: DUP6 00004b34: DUP5 00004b35: PUSH1 0x00 00004b37: PUSH2 0x4cc9 00004b3a: JUMP 00004b3b: JUMPDEST 00004b3c: PUSH1 0x00 00004b3e: PUSH2 0x4abd 00004b41: DUP5 00004b42: DUP5 00004b43: DUP5 00004b44: PUSH1 0x00 00004b46: PUSH2 0x4d64 00004b49: JUMP 00004b4a: JUMPDEST 00004b4b: PUSH1 0x00 00004b4d: PUSH2 0x4b23 00004b50: DUP6 00004b51: DUP6 00004b52: DUP6 00004b53: DUP6 00004b54: PUSH1 0x00 00004b56: PUSH2 0x4dcb 00004b59: JUMP 00004b5a: JUMPDEST 00004b5b: PUSH1 0x00 00004b5d: DUP1 00004b5e: DUP1 00004b5f: DUP1 00004b60: DUP7 00004b61: ISZERO 00004b62: PUSH2 0x4b94 00004b65: JUMPI 00004b66: PUSH2 0x4b90 00004b69: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00004b8a: DUP7 00004b8b: DUP10 00004b8c: PUSH2 0x2b72 00004b8f: JUMP 00004b90: JUMPDEST 00004b91: DUP7 00004b92: SWAP2 00004b93: POP 00004b94: JUMPDEST 00004b95: DUP6 00004b96: ISZERO 00004b97: PUSH2 0x4bc8 00004b9a: JUMPI 00004b9b: PUSH2 0x4bc5 00004b9e: PUSH32 0x000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7 00004bbf: DUP7 00004bc0: DUP9 00004bc1: PUSH2 0x2b72 00004bc4: JUMP 00004bc5: JUMPDEST 00004bc6: POP 00004bc7: DUP5 00004bc8: JUMPDEST 00004bc9: SWAP1 00004bca: SWAP7 00004bcb: SWAP1 00004bcc: SWAP6 00004bcd: POP 00004bce: SWAP4 00004bcf: POP 00004bd0: POP 00004bd1: POP 00004bd2: POP 00004bd3: JUMP 00004bd4: JUMPDEST 00004bd5: PUSH1 0x00 00004bd7: DUP1 00004bd8: PUSH1 0x00 00004bda: DUP4 00004bdb: ISZERO 00004bdc: PUSH2 0x4c1e 00004bdf: JUMPI 00004be0: PUSH1 0x00 00004be2: DUP1 00004be3: PUSH2 0x4bed 00004be6: PUSH1 0x03 00004be8: DUP13 00004be9: PUSH2 0x4fe9 00004bec: JUMP 00004bed: JUMPDEST 00004bee: SWAP2 00004bef: POP 00004bf0: SWAP2 00004bf1: POP 00004bf2: DUP11 00004bf3: PUSH1 0x02 00004bf5: SIGNEXTEND 00004bf6: DUP9 00004bf7: PUSH1 0x02 00004bf9: SIGNEXTEND 00004bfa: SUB 00004bfb: PUSH2 0x4c06 00004bfe: JUMPI 00004bff: DUP2 00004c00: SWAP8 00004c01: POP 00004c02: PUSH2 0x4c17 00004c05: JUMP 00004c06: JUMPDEST 00004c07: DUP11 00004c08: PUSH1 0x02 00004c0a: SIGNEXTEND 00004c0b: DUP8 00004c0c: PUSH1 0x02 00004c0e: SIGNEXTEND 00004c0f: SUB 00004c10: PUSH2 0x4c17 00004c13: JUMPI 00004c14: DUP1 00004c15: SWAP7 00004c16: POP 00004c17: JUMPDEST 00004c18: POP 00004c19: POP 00004c1a: PUSH2 0x4ca7 00004c1d: JUMP 00004c1e: JUMPDEST 00004c1f: PUSH1 0x00 00004c21: DUP1 00004c22: DUP11 00004c23: PUSH1 0x02 00004c25: SIGNEXTEND 00004c26: DUP9 00004c27: PUSH1 0x02 00004c29: SIGNEXTEND 00004c2a: SLT 00004c2b: DUP1 00004c2c: ISZERO 00004c2d: PUSH2 0x4c3b 00004c30: JUMPI 00004c31: POP 00004c32: DUP11 00004c33: PUSH1 0x02 00004c35: SIGNEXTEND 00004c36: DUP8 00004c37: PUSH1 0x02 00004c39: SIGNEXTEND 00004c3a: SGT 00004c3b: JUMPDEST 00004c3c: ISZERO 00004c3d: PUSH2 0x4c64 00004c40: JUMPI 00004c41: POP 00004c42: DUP7 00004c43: SWAP1 00004c44: POP 00004c45: DUP6 00004c46: PUSH1 0x02 00004c48: DUP11 00004c49: DUP2 00004c4a: SIGNEXTEND 00004c4b: SWAP1 00004c4c: DUP13 00004c4d: SWAP1 00004c4e: SIGNEXTEND 00004c4f: SGT 00004c50: ISZERO 00004c51: PUSH2 0x4c5c 00004c54: JUMPI 00004c55: DUP11 00004c56: SWAP7 00004c57: POP 00004c58: PUSH2 0x4c97 00004c5b: JUMP 00004c5c: JUMPDEST 00004c5d: DUP11 00004c5e: SWAP8 00004c5f: POP 00004c60: PUSH2 0x4c97 00004c63: JUMP 00004c64: JUMPDEST 00004c65: PUSH2 0x4c72 00004c68: PUSH1 0x08 00004c6a: PUSH1 0x0a 00004c6c: DUP12 00004c6d: DUP15 00004c6e: PUSH2 0x513f 00004c71: JUMP 00004c72: JUMPDEST 00004c73: PUSH1 0x02 00004c75: DUP2 00004c76: DUP2 00004c77: SIGNEXTEND 00004c78: PUSH1 0x00 00004c7a: SWAP1 00004c7b: DUP2 00004c7c: MSTORE 00004c7d: PUSH1 0x03 00004c7f: PUSH1 0x20 00004c81: MSTORE 00004c82: PUSH1 0x40 00004c84: SWAP1 00004c85: KECCAK256 00004c86: PUSH1 0x01 00004c88: ADD 00004c89: SLOAD 00004c8a: PUSH1 0x01 00004c8c: PUSH1 0x80 00004c8e: SHL 00004c8f: SWAP1 00004c90: DIV 00004c91: SWAP1 00004c92: SIGNEXTEND 00004c93: SWAP3 00004c94: POP 00004c95: SWAP1 00004c96: POP 00004c97: JUMPDEST 00004c98: PUSH2 0x4ca4 00004c9b: PUSH1 0x03 00004c9d: DUP13 00004c9e: DUP5 00004c9f: DUP5 00004ca0: PUSH2 0x51f4 00004ca3: JUMP 00004ca4: JUMPDEST 00004ca5: POP 00004ca6: POP 00004ca7: JUMPDEST 00004ca8: PUSH1 0x00 00004caa: PUSH2 0x4cb7 00004cad: PUSH1 0x08 00004caf: PUSH1 0x0a 00004cb1: DUP11 00004cb2: DUP14 00004cb3: PUSH2 0x52ea 00004cb6: JUMP 00004cb7: JUMPDEST 00004cb8: SWAP7 00004cb9: SWAP11 00004cba: SWAP6 00004cbb: SWAP10 00004cbc: POP 00004cbd: SWAP6 00004cbe: SWAP8 00004cbf: POP 00004cc0: SWAP4 00004cc1: SWAP6 00004cc2: POP 00004cc3: POP 00004cc4: POP 00004cc5: POP 00004cc6: POP 00004cc7: POP 00004cc8: JUMP 00004cc9: JUMPDEST 00004cca: PUSH1 0x00 00004ccc: PUSH1 0x01 00004cce: PUSH1 0x01 00004cd0: PUSH1 0xa0 00004cd2: SHL 00004cd3: SUB 00004cd4: DUP6 00004cd5: DUP6 00004cd6: SUB 00004cd7: DUP2 00004cd8: AND 00004cd9: SWAP1 00004cda: DUP6 00004cdb: AND 00004cdc: DUP2 00004cdd: LT 00004cde: PUSH2 0x4ce6 00004ce1: JUMPI 00004ce2: PUSH1 0x00 00004ce4: DUP1 00004ce5: REVERT 00004ce6: JUMPDEST 00004ce7: PUSH1 0x01 00004ce9: PUSH1 0x60 00004ceb: SHL 00004cec: PUSH1 0x01 00004cee: PUSH1 0xe0 00004cf0: SHL 00004cf1: SUB 00004cf2: PUSH1 0x60 00004cf4: DUP6 00004cf5: SWAP1 00004cf6: SHL 00004cf7: AND 00004cf8: DUP4 00004cf9: PUSH2 0x4d2d 00004cfc: JUMPI 00004cfd: DUP7 00004cfe: PUSH1 0x01 00004d00: PUSH1 0x01 00004d02: PUSH1 0xa0 00004d04: SHL 00004d05: SUB 00004d06: AND 00004d07: PUSH2 0x4d1a 00004d0a: DUP4 00004d0b: DUP4 00004d0c: DUP10 00004d0d: PUSH1 0x01 00004d0f: PUSH1 0x01 00004d11: PUSH1 0xa0 00004d13: SHL 00004d14: SUB 00004d15: AND 00004d16: PUSH2 0x3742 00004d19: JUMP 00004d1a: JUMPDEST 00004d1b: DUP2 00004d1c: PUSH2 0x4d27 00004d1f: JUMPI 00004d20: PUSH2 0x4d27 00004d23: PUSH2 0x55f9 00004d26: JUMP 00004d27: JUMPDEST 00004d28: DIV 00004d29: PUSH2 0x4d59 00004d2c: JUMP 00004d2d: JUMPDEST 00004d2e: PUSH2 0x4d59 00004d31: PUSH2 0x4d44 00004d34: DUP4 00004d35: DUP4 00004d36: DUP10 00004d37: PUSH1 0x01 00004d39: PUSH1 0x01 00004d3b: PUSH1 0xa0 00004d3d: SHL 00004d3e: SUB 00004d3f: AND 00004d40: PUSH2 0x3920 00004d43: JUMP 00004d44: JUMPDEST 00004d45: DUP9 00004d46: PUSH1 0x01 00004d48: PUSH1 0x01 00004d4a: PUSH1 0xa0 00004d4c: SHL 00004d4d: SUB 00004d4e: AND 00004d4f: DUP1 00004d50: DUP3 00004d51: DIV 00004d52: SWAP2 00004d53: MOD 00004d54: ISZERO 00004d55: ISZERO 00004d56: ADD 00004d57: SWAP1 00004d58: JUMP 00004d59: JUMPDEST 00004d5a: SWAP8 00004d5b: SWAP7 00004d5c: POP 00004d5d: POP 00004d5e: POP 00004d5f: POP 00004d60: POP 00004d61: POP 00004d62: POP 00004d63: JUMP 00004d64: JUMPDEST 00004d65: PUSH1 0x00 00004d67: DUP5 00004d68: PUSH1 0x01 00004d6a: PUSH1 0x01 00004d6c: PUSH1 0xa0 00004d6e: SHL 00004d6f: SUB 00004d70: AND 00004d71: DUP5 00004d72: PUSH1 0x01 00004d74: PUSH1 0x01 00004d76: PUSH1 0xa0 00004d78: SHL 00004d79: SUB 00004d7a: AND 00004d7b: LT 00004d7c: ISZERO 00004d7d: PUSH2 0x4d85 00004d80: JUMPI 00004d81: PUSH1 0x00 00004d83: DUP1 00004d84: REVERT 00004d85: JUMPDEST 00004d86: PUSH1 0x01 00004d88: PUSH1 0x01 00004d8a: PUSH1 0xa0 00004d8c: SHL 00004d8d: SUB 00004d8e: DUP6 00004d8f: DUP6 00004d90: SUB 00004d91: AND 00004d92: DUP3 00004d93: PUSH2 0x4db3 00004d96: JUMPI 00004d97: PUSH2 0x4dae 00004d9a: DUP2 00004d9b: DUP6 00004d9c: PUSH1 0x01 00004d9e: PUSH1 0x01 00004da0: PUSH1 0x80 00004da2: SHL 00004da3: SUB 00004da4: AND 00004da5: PUSH1 0x01 00004da7: PUSH1 0x60 00004da9: SHL 00004daa: PUSH2 0x3742 00004dad: JUMP 00004dae: JUMPDEST 00004daf: PUSH2 0x35ea 00004db2: JUMP 00004db3: JUMPDEST 00004db4: PUSH2 0x35ea 00004db7: DUP2 00004db8: DUP6 00004db9: PUSH1 0x01 00004dbb: PUSH1 0x01 00004dbd: PUSH1 0x80 00004dbf: SHL 00004dc0: SUB 00004dc1: AND 00004dc2: PUSH1 0x01 00004dc4: PUSH1 0x60 00004dc6: SHL 00004dc7: PUSH2 0x3920 00004dca: JUMP 00004dcb: JUMPDEST 00004dcc: PUSH1 0x00 00004dce: DUP6 00004dcf: PUSH1 0x01 00004dd1: PUSH1 0x01 00004dd3: PUSH1 0xa0 00004dd5: SHL 00004dd6: SUB 00004dd7: AND 00004dd8: PUSH1 0x00 00004dda: SUB 00004ddb: PUSH2 0x4de3 00004dde: JUMPI 00004ddf: PUSH1 0x00 00004de1: DUP1 00004de2: REVERT 00004de3: JUMPDEST 00004de4: DUP5 00004de5: PUSH1 0x01 00004de7: PUSH1 0x01 00004de9: PUSH1 0x80 00004deb: SHL 00004dec: SUB 00004ded: AND 00004dee: PUSH1 0x00 00004df0: SUB 00004df1: PUSH2 0x4df9 00004df4: JUMPI 00004df5: PUSH1 0x00 00004df7: DUP1 00004df8: REVERT 00004df9: JUMPDEST 00004dfa: DUP4 00004dfb: PUSH1 0x00 00004dfd: SUB 00004dfe: PUSH2 0x4e08 00004e01: JUMPI 00004e02: POP 00004e03: DUP5 00004e04: PUSH2 0x4b23 00004e07: JUMP 00004e08: JUMPDEST 00004e09: DUP2 00004e0a: ISZERO 00004e0b: ISZERO 00004e0c: DUP4 00004e0d: ISZERO 00004e0e: ISZERO 00004e0f: SUB 00004e10: PUSH2 0x4f04 00004e13: JUMPI 00004e14: PUSH1 0x01 00004e16: PUSH1 0x60 00004e18: SHL 00004e19: PUSH1 0x01 00004e1b: PUSH1 0xe0 00004e1d: SHL 00004e1e: SUB 00004e1f: PUSH1 0x60 00004e21: DUP7 00004e22: SWAP1 00004e23: SHL 00004e24: AND 00004e25: DUP3 00004e26: ISZERO 00004e27: PUSH2 0x4eb2 00004e2a: JUMPI 00004e2b: PUSH1 0x01 00004e2d: PUSH1 0x01 00004e2f: PUSH1 0xa0 00004e31: SHL 00004e32: SUB 00004e33: DUP8 00004e34: AND 00004e35: DUP6 00004e36: DUP2 00004e37: MUL 00004e38: SWAP1 00004e39: DUP7 00004e3a: DUP3 00004e3b: DUP2 00004e3c: PUSH2 0x4e47 00004e3f: JUMPI 00004e40: PUSH2 0x4e47 00004e43: PUSH2 0x55f9 00004e46: JUMP 00004e47: JUMPDEST 00004e48: DIV 00004e49: SUB 00004e4a: PUSH2 0x4e77 00004e4d: JUMPI 00004e4e: DUP2 00004e4f: DUP2 00004e50: ADD 00004e51: DUP3 00004e52: DUP2 00004e53: LT 00004e54: PUSH2 0x4e75 00004e57: JUMPI 00004e58: PUSH2 0x4e6b 00004e5b: DUP4 00004e5c: DUP11 00004e5d: PUSH1 0x01 00004e5f: PUSH1 0x01 00004e61: PUSH1 0xa0 00004e63: SHL 00004e64: SUB 00004e65: AND 00004e66: DUP4 00004e67: PUSH2 0x3920 00004e6a: JUMP 00004e6b: JUMPDEST 00004e6c: SWAP4 00004e6d: POP 00004e6e: POP 00004e6f: POP 00004e70: POP 00004e71: PUSH2 0x4b23 00004e74: JUMP 00004e75: JUMPDEST 00004e76: POP 00004e77: JUMPDEST 00004e78: PUSH2 0x4ea9 00004e7b: DUP3 00004e7c: PUSH2 0x4e9e 00004e7f: DUP9 00004e80: DUP12 00004e81: PUSH1 0x01 00004e83: PUSH1 0x01 00004e85: PUSH1 0xa0 00004e87: SHL 00004e88: SUB 00004e89: AND 00004e8a: DUP7 00004e8b: DUP2 00004e8c: PUSH2 0x4e97 00004e8f: JUMPI 00004e90: PUSH2 0x4e97 00004e93: PUSH2 0x55f9 00004e96: JUMP 00004e97: JUMPDEST 00004e98: DIV 00004e99: SWAP1 00004e9a: PUSH2 0x5331 00004e9d: JUMP 00004e9e: JUMPDEST 00004e9f: DUP1 00004ea0: DUP3 00004ea1: DIV 00004ea2: SWAP2 00004ea3: MOD 00004ea4: ISZERO 00004ea5: ISZERO 00004ea6: ADD 00004ea7: SWAP1 00004ea8: JUMP 00004ea9: JUMPDEST 00004eaa: SWAP3 00004eab: POP 00004eac: POP 00004ead: POP 00004eae: PUSH2 0x4b23 00004eb1: JUMP 00004eb2: JUMPDEST 00004eb3: PUSH1 0x01 00004eb5: PUSH1 0x01 00004eb7: PUSH1 0xa0 00004eb9: SHL 00004eba: SUB 00004ebb: DUP8 00004ebc: AND 00004ebd: DUP6 00004ebe: DUP2 00004ebf: MUL 00004ec0: SWAP1 00004ec1: DUP7 00004ec2: DUP3 00004ec3: DUP2 00004ec4: PUSH2 0x4ecf 00004ec7: JUMPI 00004ec8: PUSH2 0x4ecf 00004ecb: PUSH2 0x55f9 00004ece: JUMP 00004ecf: JUMPDEST 00004ed0: DIV 00004ed1: EQ 00004ed2: PUSH2 0x4eda 00004ed5: JUMPI 00004ed6: PUSH1 0x00 00004ed8: DUP1 00004ed9: REVERT 00004eda: JUMPDEST 00004edb: DUP1 00004edc: DUP3 00004edd: GT 00004ede: PUSH2 0x4ee6 00004ee1: JUMPI 00004ee2: PUSH1 0x00 00004ee4: DUP1 00004ee5: REVERT 00004ee6: JUMPDEST 00004ee7: PUSH2 0x4ea9 00004eea: PUSH2 0x4eff 00004eed: DUP4 00004eee: DUP11 00004eef: PUSH1 0x01 00004ef1: PUSH1 0x01 00004ef3: PUSH1 0xa0 00004ef5: SHL 00004ef6: SUB 00004ef7: AND 00004ef8: DUP5 00004ef9: DUP7 00004efa: SUB 00004efb: PUSH2 0x3920 00004efe: JUMP 00004eff: JUMPDEST 00004f00: PUSH2 0x5341 00004f03: JUMP 00004f04: JUMPDEST 00004f05: DUP2 00004f06: ISZERO 00004f07: PUSH2 0x4f71 00004f0a: JUMPI 00004f0b: PUSH2 0x4f6a 00004f0e: PUSH2 0x4eff 00004f11: PUSH1 0x01 00004f13: PUSH1 0x01 00004f15: PUSH1 0xa0 00004f17: SHL 00004f18: SUB 00004f19: DUP7 00004f1a: GT 00004f1b: ISZERO 00004f1c: PUSH2 0x4f3c 00004f1f: JUMPI 00004f20: PUSH2 0x4f37 00004f23: DUP7 00004f24: PUSH1 0x01 00004f26: PUSH1 0x60 00004f28: SHL 00004f29: DUP10 00004f2a: PUSH1 0x01 00004f2c: PUSH1 0x01 00004f2e: PUSH1 0x80 00004f30: SHL 00004f31: SUB 00004f32: AND 00004f33: PUSH2 0x3742 00004f36: JUMP 00004f37: JUMPDEST 00004f38: PUSH2 0x4f5a 00004f3b: JUMP 00004f3c: JUMPDEST 00004f3d: PUSH1 0x01 00004f3f: PUSH1 0x01 00004f41: PUSH1 0x80 00004f43: SHL 00004f44: SUB 00004f45: DUP8 00004f46: AND 00004f47: PUSH1 0x60 00004f49: DUP8 00004f4a: SWAP1 00004f4b: SHL 00004f4c: DUP2 00004f4d: PUSH2 0x4f58 00004f50: JUMPI 00004f51: PUSH2 0x4f58 00004f54: PUSH2 0x55f9 00004f57: JUMP 00004f58: JUMPDEST 00004f59: DIV 00004f5a: JUMPDEST 00004f5b: PUSH1 0x01 00004f5d: PUSH1 0x01 00004f5f: PUSH1 0xa0 00004f61: SHL 00004f62: SUB 00004f63: DUP10 00004f64: AND 00004f65: SWAP1 00004f66: PUSH2 0x5331 00004f69: JUMP 00004f6a: JUMPDEST 00004f6b: SWAP1 00004f6c: POP 00004f6d: PUSH2 0x4b23 00004f70: JUMP 00004f71: JUMPDEST 00004f72: PUSH1 0x00 00004f74: PUSH1 0x01 00004f76: PUSH1 0x01 00004f78: PUSH1 0xa0 00004f7a: SHL 00004f7b: SUB 00004f7c: DUP6 00004f7d: GT 00004f7e: ISZERO 00004f7f: PUSH2 0x4f9f 00004f82: JUMPI 00004f83: PUSH2 0x4f9a 00004f86: DUP6 00004f87: PUSH1 0x01 00004f89: PUSH1 0x60 00004f8b: SHL 00004f8c: DUP9 00004f8d: PUSH1 0x01 00004f8f: PUSH1 0x01 00004f91: PUSH1 0x80 00004f93: SHL 00004f94: SUB 00004f95: AND 00004f96: PUSH2 0x3920 00004f99: JUMP 00004f9a: JUMPDEST 00004f9b: PUSH2 0x4fbc 00004f9e: JUMP 00004f9f: JUMPDEST 00004fa0: PUSH2 0x4fbc 00004fa3: PUSH1 0x60 00004fa5: DUP7 00004fa6: SWAP1 00004fa7: SHL 00004fa8: PUSH1 0x01 00004faa: PUSH1 0x01 00004fac: PUSH1 0x80 00004fae: SHL 00004faf: SUB 00004fb0: DUP9 00004fb1: AND 00004fb2: DUP1 00004fb3: DUP3 00004fb4: DIV 00004fb5: SWAP2 00004fb6: MOD 00004fb7: ISZERO 00004fb8: ISZERO 00004fb9: ADD 00004fba: SWAP1 00004fbb: JUMP 00004fbc: JUMPDEST 00004fbd: SWAP1 00004fbe: POP 00004fbf: DUP1 00004fc0: DUP8 00004fc1: PUSH1 0x01 00004fc3: PUSH1 0x01 00004fc5: PUSH1 0xa0 00004fc7: SHL 00004fc8: SUB 00004fc9: AND 00004fca: GT 00004fcb: PUSH2 0x4fd3 00004fce: JUMPI 00004fcf: PUSH1 0x00 00004fd1: DUP1 00004fd2: REVERT 00004fd3: JUMPDEST 00004fd4: PUSH1 0x01 00004fd6: PUSH1 0x01 00004fd8: PUSH1 0xa0 00004fda: SHL 00004fdb: SUB 00004fdc: DUP8 00004fdd: AND 00004fde: SUB 00004fdf: SWAP1 00004fe0: POP 00004fe1: SWAP6 00004fe2: SWAP5 00004fe3: POP 00004fe4: POP 00004fe5: POP 00004fe6: POP 00004fe7: POP 00004fe8: JUMP 00004fe9: JUMPDEST 00004fea: PUSH1 0x02 00004fec: DUP2 00004fed: DUP2 00004fee: SIGNEXTEND 00004fef: PUSH1 0x00 00004ff1: DUP2 00004ff2: DUP2 00004ff3: MSTORE 00004ff4: PUSH1 0x20 00004ff6: DUP6 00004ff7: SWAP1 00004ff8: MSTORE 00004ff9: PUSH1 0x40 00004ffb: DUP2 00004ffc: KECCAK256 00004ffd: PUSH1 0x01 00004fff: DUP2 00005000: ADD 00005001: DUP1 00005002: SLOAD 00005003: DUP4 00005004: DUP4 00005005: SSTORE 00005006: PUSH1 0x01 00005008: PUSH1 0x01 0000500a: PUSH1 0xb0 0000500c: SHL 0000500d: SUB 0000500e: NOT 0000500f: DUP2 00005010: AND 00005011: SWAP1 00005012: SWAP2 00005013: SSTORE 00005014: DUP2 00005015: DUP6 00005016: ADD 00005017: DUP4 00005018: SWAP1 00005019: SSTORE 0000501a: PUSH1 0x03 0000501c: SWAP1 0000501d: SWAP2 0000501e: ADD 0000501f: SWAP2 00005020: SWAP1 00005021: SWAP2 00005022: SSTORE 00005023: PUSH1 0x01 00005025: PUSH1 0x80 00005027: SHL 00005028: DUP2 00005029: DIV 0000502a: DUP4 0000502b: SIGNEXTEND 0000502c: SWAP3 0000502d: PUSH1 0x01 0000502f: PUSH1 0x98 00005031: SHL 00005032: SWAP1 00005033: SWAP2 00005034: DIV 00005035: SWAP1 00005036: SIGNEXTEND 00005037: SWAP1 00005038: PUSH3 0x0d89e7 0000503c: NOT 0000503d: EQ 0000503e: DUP1 0000503f: PUSH2 0x5059 00005042: JUMPI 00005043: POP 00005044: PUSH2 0x5050 00005047: PUSH3 0x0d89e7 0000504b: NOT 0000504c: PUSH2 0x5756 0000504f: JUMP 00005050: JUMPDEST 00005051: PUSH1 0x02 00005053: SIGNEXTEND 00005054: DUP4 00005055: PUSH1 0x02 00005057: SIGNEXTEND 00005058: EQ 00005059: JUMPDEST 0000505a: ISZERO 0000505b: PUSH2 0x50b2 0000505e: JUMPI 0000505f: PUSH1 0x02 00005061: DUP4 00005062: SWAP1 00005063: SIGNEXTEND 00005064: PUSH1 0x00 00005066: SWAP1 00005067: DUP2 00005068: MSTORE 00005069: PUSH1 0x20 0000506b: DUP6 0000506c: SWAP1 0000506d: MSTORE 0000506e: PUSH1 0x40 00005070: SWAP1 00005071: KECCAK256 00005072: PUSH1 0x01 00005074: ADD 00005075: DUP1 00005076: SLOAD 00005077: PUSH3 0xffffff 0000507b: DUP1 0000507c: DUP6 0000507d: AND 0000507e: PUSH1 0x01 00005080: PUSH1 0x80 00005082: SHL 00005083: MUL 00005084: PUSH3 0xffffff 00005088: PUSH1 0x80 0000508a: SHL 0000508b: NOT 0000508c: SWAP2 0000508d: DUP6 0000508e: AND 0000508f: PUSH1 0x01 00005091: PUSH1 0x98 00005093: SHL 00005094: MUL 00005095: SWAP2 00005096: SWAP1 00005097: SWAP2 00005098: AND 00005099: PUSH6 0xffffffffffff 000050a0: PUSH1 0x80 000050a2: SHL 000050a3: NOT 000050a4: SWAP1 000050a5: SWAP3 000050a6: AND 000050a7: SWAP2 000050a8: SWAP1 000050a9: SWAP2 000050aa: OR 000050ab: OR 000050ac: SWAP1 000050ad: SSTORE 000050ae: PUSH2 0x5138 000050b1: JUMP 000050b2: JUMPDEST 000050b3: DUP1 000050b4: PUSH1 0x02 000050b6: SIGNEXTEND 000050b7: DUP3 000050b8: PUSH1 0x02 000050ba: SIGNEXTEND 000050bb: SUB 000050bc: PUSH2 0x50d8 000050bf: JUMPI 000050c0: PUSH1 0x40 000050c2: MLOAD 000050c3: PUSH4 0x0d6e0949 000050c8: PUSH1 0xe0 000050ca: SHL 000050cb: DUP2 000050cc: MSTORE 000050cd: PUSH1 0x04 000050cf: ADD 000050d0: PUSH1 0x40 000050d2: MLOAD 000050d3: DUP1 000050d4: SWAP2 000050d5: SUB 000050d6: SWAP1 000050d7: REVERT 000050d8: JUMPDEST 000050d9: PUSH1 0x02 000050db: DUP3 000050dc: DUP2 000050dd: SIGNEXTEND 000050de: PUSH1 0x00 000050e0: SWAP1 000050e1: DUP2 000050e2: MSTORE 000050e3: PUSH1 0x20 000050e5: DUP7 000050e6: SWAP1 000050e7: MSTORE 000050e8: PUSH1 0x40 000050ea: DUP1 000050eb: DUP3 000050ec: KECCAK256 000050ed: PUSH1 0x01 000050ef: SWAP1 000050f0: DUP2 000050f1: ADD 000050f2: DUP1 000050f3: SLOAD 000050f4: PUSH3 0xffffff 000050f8: DUP1 000050f9: DUP9 000050fa: AND 000050fb: PUSH1 0x01 000050fd: PUSH1 0x98 000050ff: SHL 00005100: MUL 00005101: PUSH3 0xffffff 00005105: PUSH1 0x98 00005107: SHL 00005108: NOT 00005109: SWAP1 0000510a: SWAP3 0000510b: AND 0000510c: SWAP2 0000510d: SWAP1 0000510e: SWAP2 0000510f: OR 00005110: SWAP1 00005111: SWAP2 00005112: SSTORE 00005113: SWAP4 00005114: DUP6 00005115: SWAP1 00005116: SIGNEXTEND 00005117: DUP4 00005118: MSTORE 00005119: SWAP2 0000511a: KECCAK256 0000511b: ADD 0000511c: DUP1 0000511d: SLOAD 0000511e: SWAP2 0000511f: DUP5 00005120: AND 00005121: PUSH1 0x01 00005123: PUSH1 0x80 00005125: SHL 00005126: MUL 00005127: PUSH3 0xffffff 0000512b: PUSH1 0x80 0000512d: SHL 0000512e: NOT 0000512f: SWAP1 00005130: SWAP3 00005131: AND 00005132: SWAP2 00005133: SWAP1 00005134: SWAP2 00005135: OR 00005136: SWAP1 00005137: SSTORE 00005138: JUMPDEST 00005139: SWAP3 0000513a: POP 0000513b: SWAP3 0000513c: SWAP1 0000513d: POP 0000513e: JUMP 0000513f: JUMPDEST 00005140: PUSH1 0x01 00005142: SWAP1 00005143: DUP2 00005144: ADD 00005145: SWAP1 00005146: PUSH1 0x00 00005148: SWAP1 00005149: PUSH1 0x08 0000514b: DUP4 0000514c: DUP2 0000514d: SAR 0000514e: PUSH2 0x0d8a 00005151: ADD 00005152: SWAP1 00005153: SHR 00005154: SWAP1 00005155: DUP3 00005156: SWAP1 00005157: PUSH2 0xffff 0000515a: DUP4 0000515b: AND 0000515c: SHL 0000515d: DUP6 0000515e: AND 0000515f: PUSH4 0xffffffff 00005164: AND 00005165: ISZERO 00005166: PUSH2 0x51a2 00005169: JUMPI 0000516a: PUSH2 0x5173 0000516d: DUP8 0000516e: DUP6 0000516f: PUSH2 0x5357 00005172: JUMP 00005173: JUMPDEST 00005174: SWAP1 00005175: SWAP5 00005176: POP 00005177: SWAP1 00005178: SWAP3 00005179: POP 0000517a: SWAP1 0000517b: POP 0000517c: DUP1 0000517d: ISZERO 0000517e: PUSH2 0x5188 00005181: JUMPI 00005182: POP 00005183: POP 00005184: PUSH2 0x4abd 00005187: JUMP 00005188: JUMPDEST 00005189: PUSH2 0x5199 0000518c: DUP7 0000518d: PUSH2 0x0d8b 00005190: DUP5 00005191: ADD 00005192: PUSH1 0x01 00005194: SIGNEXTEND 00005195: PUSH2 0x5357 00005198: JUMP 00005199: JUMPDEST 0000519a: SWAP1 0000519b: SWAP5 0000519c: POP 0000519d: SWAP1 0000519e: SWAP3 0000519f: POP 000051a0: SWAP1 000051a1: POP 000051a2: JUMPDEST 000051a3: DUP1 000051a4: PUSH2 0x51e5 000051a7: JUMPI 000051a8: PUSH2 0x51c0 000051ab: DUP6 000051ac: PUSH4 0xffffffff 000051b1: AND 000051b2: DUP4 000051b3: PUSH1 0x01 000051b5: ADD 000051b6: SWAP4 000051b7: POP 000051b8: DUP4 000051b9: PUSH1 0x01 000051bb: SIGNEXTEND 000051bc: PUSH2 0x5388 000051bf: JUMP 000051c0: JUMPDEST 000051c1: SWAP1 000051c2: SWAP4 000051c3: POP 000051c4: SWAP1 000051c5: POP 000051c6: DUP1 000051c7: PUSH2 0x51d8 000051ca: JUMPI 000051cb: POP 000051cc: PUSH3 0x0d89e8 000051d0: SWAP2 000051d1: POP 000051d2: PUSH2 0x4abd 000051d5: SWAP1 000051d6: POP 000051d7: JUMP 000051d8: JUMPDEST 000051d9: PUSH2 0x51e2 000051dc: DUP7 000051dd: DUP5 000051de: PUSH2 0x54d1 000051e1: JUMP 000051e2: JUMPDEST 000051e3: SWAP3 000051e4: POP 000051e5: JUMPDEST 000051e6: PUSH2 0x4d59 000051e9: DUP8 000051ea: PUSH2 0x0d89 000051ed: NOT 000051ee: DUP6 000051ef: ADD 000051f0: PUSH2 0x54d1 000051f3: JUMP 000051f4: JUMPDEST 000051f5: PUSH1 0x02 000051f7: DUP4 000051f8: SWAP1 000051f9: SIGNEXTEND 000051fa: PUSH3 0x0d89e7 000051fe: NOT 000051ff: EQ 00005200: DUP1 00005201: PUSH2 0x521b 00005204: JUMPI 00005205: POP 00005206: PUSH2 0x5212 00005209: PUSH3 0x0d89e7 0000520d: NOT 0000520e: PUSH2 0x5756 00005211: JUMP 00005212: JUMPDEST 00005213: PUSH1 0x02 00005215: SIGNEXTEND 00005216: DUP4 00005217: PUSH1 0x02 00005219: SIGNEXTEND 0000521a: EQ 0000521b: JUMPDEST 0000521c: PUSH2 0x45f1 0000521f: JUMPI 00005220: DUP3 00005221: PUSH1 0x02 00005223: SIGNEXTEND 00005224: DUP3 00005225: PUSH1 0x02 00005227: SIGNEXTEND 00005228: SLT 00005229: DUP1 0000522a: ISZERO 0000522b: PUSH2 0x5239 0000522e: JUMPI 0000522f: POP 00005230: DUP3 00005231: PUSH1 0x02 00005233: SIGNEXTEND 00005234: DUP2 00005235: PUSH1 0x02 00005237: SIGNEXTEND 00005238: SGT 00005239: JUMPDEST 0000523a: PUSH2 0x5256 0000523d: JUMPI 0000523e: PUSH1 0x40 00005240: MLOAD 00005241: PUSH4 0xe45ac17d 00005246: PUSH1 0xe0 00005248: SHL 00005249: DUP2 0000524a: MSTORE 0000524b: PUSH1 0x04 0000524d: ADD 0000524e: PUSH1 0x40 00005250: MLOAD 00005251: DUP1 00005252: SWAP2 00005253: SUB 00005254: SWAP1 00005255: REVERT 00005256: JUMPDEST 00005257: PUSH1 0x02 00005259: DUP4 0000525a: DUP2 0000525b: SIGNEXTEND 0000525c: PUSH1 0x00 0000525e: SWAP1 0000525f: DUP2 00005260: MSTORE 00005261: PUSH1 0x20 00005263: SWAP6 00005264: SWAP1 00005265: SWAP6 00005266: MSTORE 00005267: PUSH1 0x40 00005269: DUP1 0000526a: DUP7 0000526b: KECCAK256 0000526c: PUSH1 0x01 0000526e: SWAP1 0000526f: DUP2 00005270: ADD 00005271: DUP1 00005272: SLOAD 00005273: PUSH6 0xffffffffffff 0000527a: PUSH1 0x80 0000527c: SHL 0000527d: NOT 0000527e: AND 0000527f: PUSH1 0x01 00005281: PUSH1 0x98 00005283: SHL 00005284: PUSH3 0xffffff 00005288: DUP8 00005289: DUP2 0000528a: AND 0000528b: DUP3 0000528c: MUL 0000528d: PUSH3 0xffffff 00005291: PUSH1 0x80 00005293: SHL 00005294: NOT 00005295: SWAP1 00005296: DUP2 00005297: AND 00005298: SWAP4 00005299: SWAP1 0000529a: SWAP4 0000529b: OR 0000529c: PUSH1 0x01 0000529e: PUSH1 0x80 000052a0: SHL 000052a1: DUP11 000052a2: DUP4 000052a3: AND 000052a4: DUP2 000052a5: MUL 000052a6: SWAP2 000052a7: SWAP1 000052a8: SWAP2 000052a9: OR 000052aa: SWAP1 000052ab: SWAP5 000052ac: SSTORE 000052ad: SWAP8 000052ae: DUP7 000052af: SIGNEXTEND 000052b0: DUP11 000052b1: MSTORE 000052b2: DUP5 000052b3: DUP11 000052b4: KECCAK256 000052b5: DUP5 000052b6: ADD 000052b7: DUP1 000052b8: SLOAD 000052b9: PUSH3 0xffffff 000052bd: PUSH1 0x98 000052bf: SHL 000052c0: NOT 000052c1: AND 000052c2: SWAP9 000052c3: SWAP1 000052c4: SWAP10 000052c5: AND 000052c6: SWAP1 000052c7: DUP2 000052c8: MUL 000052c9: SWAP8 000052ca: SWAP1 000052cb: SWAP8 000052cc: OR 000052cd: SWAP1 000052ce: SWAP8 000052cf: SSTORE 000052d0: SWAP4 000052d1: SWAP1 000052d2: SWAP3 000052d3: SIGNEXTEND 000052d4: DUP7 000052d5: MSTORE 000052d6: SWAP1 000052d7: SWAP5 000052d8: KECCAK256 000052d9: SWAP1 000052da: SWAP4 000052db: ADD 000052dc: DUP1 000052dd: SLOAD 000052de: SWAP1 000052df: SWAP3 000052e0: AND 000052e1: SWAP3 000052e2: MUL 000052e3: SWAP2 000052e4: SWAP1 000052e5: SWAP2 000052e6: OR 000052e7: SWAP1 000052e8: SSTORE 000052e9: JUMP 000052ea: JUMPDEST 000052eb: DUP2 000052ec: PUSH1 0x00 000052ee: DUP1 000052ef: PUSH2 0x52f8 000052f2: DUP8 000052f3: DUP6 000052f4: PUSH2 0x54fd 000052f7: JUMP 000052f8: JUMPDEST 000052f9: SWAP2 000052fa: POP 000052fb: SWAP2 000052fc: POP 000052fd: DUP2 000052fe: ISZERO 000052ff: PUSH2 0x5327 00005302: JUMPI 00005303: PUSH2 0x5313 00005306: DUP7 00005307: PUSH2 0x0d8a 0000530a: DUP4 0000530b: ADD 0000530c: PUSH1 0x01 0000530e: SIGNEXTEND 0000530f: PUSH2 0x54fd 00005312: JUMP 00005313: JUMPDEST 00005314: SWAP1 00005315: SWAP3 00005316: POP 00005317: SWAP1 00005318: POP 00005319: DUP2 0000531a: ISZERO 0000531b: PUSH2 0x5327 0000531e: JUMPI 0000531f: PUSH1 0x01 00005321: DUP2 00005322: SHL 00005323: DUP4 00005324: XOR 00005325: SWAP3 00005326: POP 00005327: JUMPDEST 00005328: POP 00005329: POP 0000532a: SWAP5 0000532b: SWAP4 0000532c: POP 0000532d: POP 0000532e: POP 0000532f: POP 00005330: JUMP 00005331: JUMPDEST 00005332: DUP1 00005333: DUP3 00005334: ADD 00005335: DUP3 00005336: DUP2 00005337: LT 00005338: ISZERO 00005339: PUSH2 0x4480 0000533c: JUMPI 0000533d: PUSH1 0x00 0000533f: DUP1 00005340: REVERT 00005341: JUMPDEST 00005342: DUP1 00005343: PUSH1 0x01 00005345: PUSH1 0x01 00005347: PUSH1 0xa0 00005349: SHL 0000534a: SUB 0000534b: DUP2 0000534c: AND 0000534d: DUP2 0000534e: EQ 0000534f: PUSH2 0x3a28 00005352: JUMPI 00005353: PUSH1 0x00 00005355: DUP1 00005356: REVERT 00005357: JUMPDEST 00005358: PUSH1 0x08 0000535a: DUP2 0000535b: SWAP1 0000535c: SAR 0000535d: PUSH1 0x01 0000535f: DUP2 00005360: SWAP1 00005361: SIGNEXTEND 00005362: PUSH1 0x00 00005364: SWAP1 00005365: DUP2 00005366: MSTORE 00005367: PUSH1 0x20 00005369: DUP5 0000536a: SWAP1 0000536b: MSTORE 0000536c: PUSH1 0x40 0000536e: DUP2 0000536f: KECCAK256 00005370: SLOAD 00005371: DUP2 00005372: SWAP1 00005373: PUSH2 0x537c 00005376: SWAP1 00005377: DUP6 00005378: PUSH2 0x5388 0000537b: JUMP 0000537c: JUMPDEST 0000537d: SWAP4 0000537e: SWAP7 0000537f: SWAP1 00005380: SWAP6 00005381: POP 00005382: SWAP3 00005383: SWAP4 00005384: POP 00005385: POP 00005386: POP 00005387: JUMP 00005388: JUMPDEST 00005389: PUSH1 0x00 0000538b: DUP1 0000538c: PUSH1 0xff 0000538e: DUP4 0000538f: AND 00005390: DUP5 00005391: DUP2 00005392: SHR 00005393: DUP1 00005394: DUP4 00005395: SUB 00005396: PUSH2 0x53a4 00005399: JUMPI 0000539a: DUP5 0000539b: PUSH1 0xff 0000539d: OR 0000539e: SWAP4 0000539f: POP 000053a0: PUSH2 0x54c8 000053a3: JUMP 000053a4: JUMPDEST 000053a5: PUSH32 0x5555555555555555555555555555555555555555555555555555555555555555 000053c6: PUSH1 0x00 000053c8: DUP3 000053c9: SWAP1 000053ca: SUB 000053cb: DUP3 000053cc: AND 000053cd: SWAP1 000053ce: DUP2 000053cf: AND 000053d0: ISZERO 000053d1: PUSH1 0x01 000053d3: PUSH1 0x01 000053d5: PUSH1 0x80 000053d7: SHL 000053d8: SUB 000053d9: DUP3 000053da: AND 000053db: ISZERO 000053dc: PUSH1 0x07 000053de: SHL 000053df: OR 000053e0: PUSH1 0x01 000053e2: PUSH1 0x01 000053e4: PUSH1 0x40 000053e6: SHL 000053e7: SUB 000053e8: PUSH1 0x01 000053ea: PUSH1 0x80 000053ec: SHL 000053ed: SUB 000053ee: PUSH1 0x01 000053f0: PUSH1 0xc0 000053f2: SHL 000053f3: SUB 000053f4: DUP3 000053f5: AND 000053f6: ISZERO 000053f7: PUSH1 0x06 000053f9: SHL 000053fa: OR 000053fb: PUSH28 0xffffffff00000000ffffffff00000000ffffffff00000000ffffffff 00005418: DUP3 00005419: AND 0000541a: ISZERO 0000541b: PUSH1 0x05 0000541d: SHL 0000541e: OR 0000541f: PUSH30 0xffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff 0000543e: DUP3 0000543f: AND 00005440: ISZERO 00005441: PUSH1 0x04 00005443: SHL 00005444: OR 00005445: PUSH31 0xff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff 00005465: DUP3 00005466: AND 00005467: ISZERO 00005468: PUSH1 0x03 0000546a: SHL 0000546b: OR 0000546c: PUSH32 0x0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f 0000548d: DUP3 0000548e: AND 0000548f: ISZERO 00005490: PUSH1 0x02 00005492: SHL 00005493: OR 00005494: PUSH32 0x3333333333333333333333333333333333333333333333333333333333333333 000054b5: SWAP1 000054b6: SWAP2 000054b7: AND 000054b8: ISZERO 000054b9: PUSH1 0x01 000054bb: SHL 000054bc: OR 000054bd: PUSH1 0xff 000054bf: AND 000054c0: DUP6 000054c1: ADD 000054c2: SWAP4 000054c3: POP 000054c4: PUSH1 0x01 000054c6: SWAP3 000054c7: POP 000054c8: JUMPDEST 000054c9: POP 000054ca: POP 000054cb: SWAP3 000054cc: POP 000054cd: SWAP3 000054ce: SWAP1 000054cf: POP 000054d0: JUMP 000054d1: JUMPDEST 000054d2: PUSH1 0x01 000054d4: DUP2 000054d5: SWAP1 000054d6: SIGNEXTEND 000054d7: PUSH1 0x00 000054d9: SWAP1 000054da: DUP2 000054db: MSTORE 000054dc: PUSH1 0x20 000054de: DUP4 000054df: SWAP1 000054e0: MSTORE 000054e1: PUSH1 0x40 000054e3: SWAP1 000054e4: KECCAK256 000054e5: SLOAD 000054e6: PUSH1 0x08 000054e8: DUP3 000054e9: SWAP1 000054ea: SHL 000054eb: SWAP1 000054ec: PUSH2 0x54f5 000054ef: SWAP1 000054f0: DUP3 000054f1: PUSH2 0x5388 000054f4: JUMP 000054f5: JUMPDEST 000054f6: POP 000054f7: SWAP4 000054f8: SWAP3 000054f9: POP 000054fa: POP 000054fb: POP 000054fc: JUMP 000054fd: JUMPDEST 000054fe: PUSH1 0x08 00005500: DUP2 00005501: SWAP1 00005502: SAR 00005503: PUSH1 0x01 00005505: DUP2 00005506: DUP2 00005507: SIGNEXTEND 00005508: PUSH1 0x00 0000550a: SWAP1 0000550b: DUP2 0000550c: MSTORE 0000550d: PUSH1 0x20 0000550f: SWAP5 00005510: SWAP1 00005511: SWAP5 00005512: MSTORE 00005513: PUSH1 0x40 00005515: SWAP1 00005516: SWAP4 00005517: KECCAK256 00005518: DUP1 00005519: SLOAD 0000551a: PUSH1 0xff 0000551c: SWAP1 0000551d: SWAP4 0000551e: AND 0000551f: SWAP4 00005520: SWAP1 00005521: SWAP4 00005522: SHL 00005523: DUP1 00005524: DUP4 00005525: XOR 00005526: SWAP1 00005527: SWAP4 00005528: SSTORE 00005529: SWAP2 0000552a: DUP2 0000552b: EQ 0000552c: SWAP1 0000552d: ISZERO 0000552e: XOR 0000552f: SWAP2 00005530: JUMP 00005531: JUMPDEST 00005532: PUSH1 0x40 00005534: DUP1 00005535: MLOAD 00005536: PUSH1 0x60 00005538: DUP2 00005539: ADD 0000553a: DUP3 0000553b: MSTORE 0000553c: PUSH1 0x00 0000553e: DUP1 0000553f: DUP3 00005540: MSTORE 00005541: PUSH1 0x20 00005543: DUP3 00005544: ADD 00005545: DUP2 00005546: SWAP1 00005547: MSTORE 00005548: SWAP2 00005549: DUP2 0000554a: ADD 0000554b: SWAP2 0000554c: SWAP1 0000554d: SWAP2 0000554e: MSTORE 0000554f: SWAP1 00005550: JUMP 00005551: JUMPDEST 00005552: PUSH1 0x40 00005554: MLOAD 00005555: DUP1 00005556: PUSH1 0x40 00005558: ADD 00005559: PUSH1 0x40 0000555b: MSTORE 0000555c: DUP1 0000555d: PUSH1 0x00 0000555f: DUP2 00005560: MSTORE 00005561: PUSH1 0x20 00005563: ADD 00005564: PUSH1 0x00 00005566: DUP2 00005567: MSTORE 00005568: POP 00005569: SWAP1 0000556a: JUMP 0000556b: JUMPDEST 0000556c: PUSH2 0x0d5e 0000556f: PUSH2 0x57ba 00005572: JUMP 00005573: JUMPDEST 00005574: PUSH4 0x4e487b71 00005579: PUSH1 0xe0 0000557b: SHL 0000557c: PUSH1 0x00 0000557e: MSTORE 0000557f: PUSH1 0x11 00005581: PUSH1 0x04 00005583: MSTORE 00005584: PUSH1 0x24 00005586: PUSH1 0x00 00005588: REVERT 00005589: JUMPDEST 0000558a: DUP1 0000558b: DUP3 0000558c: ADD 0000558d: DUP1 0000558e: DUP3 0000558f: GT 00005590: ISZERO 00005591: PUSH2 0x4480 00005594: JUMPI 00005595: PUSH2 0x4480 00005598: PUSH2 0x5573 0000559b: JUMP 0000559c: JUMPDEST 0000559d: PUSH1 0x00 0000559f: PUSH1 0x0f 000055a1: DUP3 000055a2: SWAP1 000055a3: SIGNEXTEND 000055a4: PUSH1 0x01 000055a6: PUSH1 0x7f 000055a8: SHL 000055a9: DUP2 000055aa: ADD 000055ab: PUSH2 0x55b6 000055ae: JUMPI 000055af: PUSH2 0x55b6 000055b2: PUSH2 0x5573 000055b5: JUMP 000055b6: JUMPDEST 000055b7: PUSH1 0x00 000055b9: SUB 000055ba: SWAP3 000055bb: SWAP2 000055bc: POP 000055bd: POP 000055be: JUMP 000055bf: JUMPDEST 000055c0: DUP2 000055c1: DUP2 000055c2: SUB 000055c3: DUP2 000055c4: DUP2 000055c5: GT 000055c6: ISZERO 000055c7: PUSH2 0x4480 000055ca: JUMPI 000055cb: PUSH2 0x4480 000055ce: PUSH2 0x5573 000055d1: JUMP 000055d2: JUMPDEST 000055d3: PUSH1 0x01 000055d5: PUSH1 0x01 000055d7: PUSH1 0x80 000055d9: SHL 000055da: SUB 000055db: DUP2 000055dc: DUP2 000055dd: AND 000055de: DUP4 000055df: DUP3 000055e0: AND 000055e1: ADD 000055e2: SWAP1 000055e3: DUP1 000055e4: DUP3 000055e5: GT 000055e6: ISZERO 000055e7: PUSH2 0x55f2 000055ea: JUMPI 000055eb: PUSH2 0x55f2 000055ee: PUSH2 0x5573 000055f1: JUMP 000055f2: JUMPDEST 000055f3: POP 000055f4: SWAP3 000055f5: SWAP2 000055f6: POP 000055f7: POP 000055f8: JUMP 000055f9: JUMPDEST 000055fa: PUSH4 0x4e487b71 000055ff: PUSH1 0xe0 00005601: SHL 00005602: PUSH1 0x00 00005604: MSTORE 00005605: PUSH1 0x12 00005607: PUSH1 0x04 00005609: MSTORE 0000560a: PUSH1 0x24 0000560c: PUSH1 0x00 0000560e: REVERT 0000560f: JUMPDEST 00005610: PUSH4 0x4e487b71 00005615: PUSH1 0xe0 00005617: SHL 00005618: PUSH1 0x00 0000561a: MSTORE 0000561b: PUSH1 0x01 0000561d: PUSH1 0x04 0000561f: MSTORE 00005620: PUSH1 0x24 00005622: PUSH1 0x00 00005624: REVERT 00005625: JUMPDEST 00005626: DUP1 00005627: MLOAD 00005628: PUSH2 0xffff 0000562b: DUP2 0000562c: AND 0000562d: DUP2 0000562e: EQ 0000562f: PUSH2 0x3a28 00005632: JUMPI 00005633: PUSH1 0x00 00005635: DUP1 00005636: REVERT 00005637: JUMPDEST 00005638: PUSH1 0x00 0000563a: PUSH1 0x20 0000563c: DUP3 0000563d: DUP5 0000563e: SUB 0000563f: SLT 00005640: ISZERO 00005641: PUSH2 0x5649 00005644: JUMPI 00005645: PUSH1 0x00 00005647: DUP1 00005648: REVERT 00005649: JUMPDEST 0000564a: PUSH2 0x3619 0000564d: DUP3 0000564e: PUSH2 0x5625 00005651: JUMP 00005652: JUMPDEST 00005653: PUSH3 0xffffff 00005657: DUP2 00005658: DUP2 00005659: AND 0000565a: DUP4 0000565b: DUP3 0000565c: AND 0000565d: ADD 0000565e: SWAP1 0000565f: DUP1 00005660: DUP3 00005661: GT 00005662: ISZERO 00005663: PUSH2 0x55f2 00005666: JUMPI 00005667: PUSH2 0x55f2 0000566a: PUSH2 0x5573 0000566d: JUMP 0000566e: JUMPDEST 0000566f: DUP2 00005670: DUP4 00005671: MSTORE 00005672: DUP2 00005673: DUP2 00005674: PUSH1 0x20 00005676: DUP6 00005677: ADD 00005678: CALLDATACOPY 00005679: POP 0000567a: PUSH1 0x00 0000567c: DUP3 0000567d: DUP3 0000567e: ADD 0000567f: PUSH1 0x20 00005681: SWAP1 00005682: DUP2 00005683: ADD 00005684: SWAP2 00005685: SWAP1 00005686: SWAP2 00005687: MSTORE 00005688: PUSH1 0x1f 0000568a: SWAP1 0000568b: SWAP2 0000568c: ADD 0000568d: PUSH1 0x1f 0000568f: NOT 00005690: AND 00005691: SWAP1 00005692: SWAP2 00005693: ADD 00005694: ADD 00005695: SWAP1 00005696: JUMP 00005697: JUMPDEST 00005698: DUP5 00005699: DUP2 0000569a: MSTORE 0000569b: DUP4 0000569c: PUSH1 0x20 0000569e: DUP3 0000569f: ADD 000056a0: MSTORE 000056a1: PUSH1 0x60 000056a3: PUSH1 0x40 000056a5: DUP3 000056a6: ADD 000056a7: MSTORE 000056a8: PUSH1 0x00 000056aa: PUSH2 0x35ea 000056ad: PUSH1 0x60 000056af: DUP4 000056b0: ADD 000056b1: DUP5 000056b2: DUP7 000056b3: PUSH2 0x566e 000056b6: JUMP 000056b7: JUMPDEST 000056b8: PUSH1 0x01 000056ba: PUSH1 0x01 000056bc: PUSH1 0xa0 000056be: SHL 000056bf: SUB 000056c0: SWAP2 000056c1: SWAP1 000056c2: SWAP2 000056c3: AND 000056c4: DUP2 000056c5: MSTORE 000056c6: PUSH1 0x20 000056c8: ADD 000056c9: SWAP1 000056ca: JUMP 000056cb: JUMPDEST 000056cc: PUSH1 0x00 000056ce: PUSH1 0x20 000056d0: DUP3 000056d1: DUP5 000056d2: SUB 000056d3: SLT 000056d4: ISZERO 000056d5: PUSH2 0x56dd 000056d8: JUMPI 000056d9: PUSH1 0x00 000056db: DUP1 000056dc: REVERT 000056dd: JUMPDEST 000056de: POP 000056df: MLOAD 000056e0: SWAP2 000056e1: SWAP1 000056e2: POP 000056e3: JUMP 000056e4: JUMPDEST 000056e5: DUP2 000056e6: DUP2 000056e7: SUB 000056e8: PUSH1 0x00 000056ea: DUP4 000056eb: SLT 000056ec: DUP1 000056ed: ISZERO 000056ee: DUP4 000056ef: DUP4 000056f0: SGT 000056f1: AND 000056f2: DUP4 000056f3: DUP4 000056f4: SLT 000056f5: DUP3 000056f6: AND 000056f7: OR 000056f8: ISZERO 000056f9: PUSH2 0x55f2 000056fc: JUMPI 000056fd: PUSH2 0x55f2 00005700: PUSH2 0x5573 00005703: JUMP 00005704: JUMPDEST 00005705: PUSH1 0x00 00005707: PUSH1 0x20 00005709: DUP3 0000570a: DUP5 0000570b: SUB 0000570c: SLT 0000570d: ISZERO 0000570e: PUSH2 0x5716 00005711: JUMPI 00005712: PUSH1 0x00 00005714: DUP1 00005715: REVERT 00005716: JUMPDEST 00005717: DUP2 00005718: MLOAD 00005719: PUSH1 0x01 0000571b: PUSH1 0x01 0000571d: PUSH1 0xe0 0000571f: SHL 00005720: SUB 00005721: NOT 00005722: DUP2 00005723: AND 00005724: DUP2 00005725: EQ 00005726: PUSH2 0x3619 00005729: JUMPI 0000572a: PUSH1 0x00 0000572c: DUP1 0000572d: REVERT 0000572e: JUMPDEST 0000572f: DUP1 00005730: DUP3 00005731: ADD 00005732: DUP3 00005733: DUP2 00005734: SLT 00005735: PUSH1 0x00 00005737: DUP4 00005738: SLT 00005739: DUP1 0000573a: ISZERO 0000573b: DUP3 0000573c: AND 0000573d: DUP3 0000573e: ISZERO 0000573f: DUP3 00005740: AND 00005741: OR 00005742: ISZERO 00005743: PUSH2 0x574e 00005746: JUMPI 00005747: PUSH2 0x574e 0000574a: PUSH2 0x5573 0000574d: JUMP 0000574e: JUMPDEST 0000574f: POP 00005750: POP 00005751: SWAP3 00005752: SWAP2 00005753: POP 00005754: POP 00005755: JUMP 00005756: JUMPDEST 00005757: PUSH1 0x00 00005759: DUP2 0000575a: PUSH1 0x02 0000575c: SIGNEXTEND 0000575d: PUSH3 0x7fffff 00005761: NOT 00005762: DUP2 00005763: SUB 00005764: PUSH2 0x55b6 00005767: JUMPI 00005768: PUSH2 0x55b6 0000576b: PUSH2 0x5573 0000576e: JUMP 0000576f: JUMPDEST 00005770: PUSH1 0x00 00005772: DUP1 00005773: PUSH1 0x00 00005775: PUSH1 0x60 00005777: DUP5 00005778: DUP7 00005779: SUB 0000577a: SLT 0000577b: ISZERO 0000577c: PUSH2 0x5784 0000577f: JUMPI 00005780: PUSH1 0x00 00005782: DUP1 00005783: REVERT 00005784: JUMPDEST 00005785: PUSH2 0x578d 00005788: DUP5 00005789: PUSH2 0x5625 0000578c: JUMP 0000578d: JUMPDEST 0000578e: SWAP3 0000578f: POP 00005790: PUSH1 0x20 00005792: DUP5 00005793: ADD 00005794: MLOAD 00005795: DUP1 00005796: PUSH1 0x02 00005798: SIGNEXTEND 00005799: DUP2 0000579a: EQ 0000579b: PUSH2 0x57a3 0000579e: JUMPI 0000579f: PUSH1 0x00 000057a1: DUP1 000057a2: REVERT 000057a3: JUMPDEST 000057a4: SWAP2 000057a5: POP 000057a6: PUSH2 0x57b1 000057a9: PUSH1 0x40 000057ab: DUP6 000057ac: ADD 000057ad: PUSH2 0x5625 000057b0: JUMP 000057b1: JUMPDEST 000057b2: SWAP1 000057b3: POP 000057b4: SWAP3 000057b5: POP 000057b6: SWAP3 000057b7: POP 000057b8: SWAP3 000057b9: JUMP 000057ba: JUMPDEST 000057bb: PUSH4 0x4e487b71 000057c0: PUSH1 0xe0 000057c2: SHL 000057c3: PUSH1 0x00 000057c5: MSTORE 000057c6: PUSH1 0x51 000057c8: PUSH1 0x04 000057ca: MSTORE 000057cb: PUSH1 0x24 000057cd: PUSH1 0x00 000057cf: REVERT 000057d0: INVALID 000057d1: LOG1 000057d2: PUSH5 0x736f6c6343 000057d8: STOP 000057d9: ADDMOD 000057da: EQ 000057db: STOP 000057dc: EXP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x9edcb5f9c582e775f18ed01d048b3d5d4f7798e3bba23bd5910f1c40e54ecf6e
call_targets:
0x915fd34cadd63907b51eb64dddc2eadd114a0bed
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9edcb5f9c582e775f18ed01d048b3d5d4f7798e3bba23bd5910f1c40e54ecf6e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x915fd34cadd63907b51eb64dddc2eadd114a0bed"
],
"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": "0x050a4d21",
"selector": "0x050a4d21",
"calldata_variants": [
"0x050a4d21",
"0x050a4d210000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0902f1ac",
"selector": "0x0902f1ac",
"calldata_variants": [
"0x0902f1ac",
"0x0902f1ac0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0dfe1681",
"selector": "0x0dfe1681",
"calldata_variants": [
"0x0dfe1681",
"0x0dfe16810000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x128acb08",
"selector": "0x128acb08",
"calldata_variants": [
"0x128acb08",
"0x128acb080000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a686502",
"selector": "0x1a686502",
"calldata_variants": [
"0x1a686502",
"0x1a6865020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1dd19cb4",
"selector": "0x1dd19cb4",
"calldata_variants": [
"0x1dd19cb4",
"0x1dd19cb40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x240a875a",
"selector": "0x240a875a",
"calldata_variants": [
"0x240a875a",
"0x240a875a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3b3bc70e",
"selector": "0x3b3bc70e",
"calldata_variants": [
"0x3b3bc70e",
"0x3b3bc70e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4240,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4987,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 11,
"guards_detected": [],
"untrusted_call_count": 11
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x9edcb5f9c582e775f18ed01d048b3d5d4f7798e3bba23bd5910f1c40e54ecf6e
call_targets:
0x915fd34cadd63907b51eb64dddc2eadd114a0bed
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9edcb5f9c582e775f18ed01d048b3d5d4f7798e3bba23bd5910f1c40e54ecf6e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x915fd34cadd63907b51eb64dddc2eadd114a0bed"
],
"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": "0x050a4d21",
"selector": "0x050a4d21",
"calldata_variants": [
"0x050a4d21",
"0x050a4d210000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0902f1ac",
"selector": "0x0902f1ac",
"calldata_variants": [
"0x0902f1ac",
"0x0902f1ac0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0dfe1681",
"selector": "0x0dfe1681",
"calldata_variants": [
"0x0dfe1681",
"0x0dfe16810000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x128acb08",
"selector": "0x128acb08",
"calldata_variants": [
"0x128acb08",
"0x128acb080000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a686502",
"selector": "0x1a686502",
"calldata_variants": [
"0x1a686502",
"0x1a6865020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1dd19cb4",
"selector": "0x1dd19cb4",
"calldata_variants": [
"0x1dd19cb4",
"0x1dd19cb40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x240a875a",
"selector": "0x240a875a",
"calldata_variants": [
"0x240a875a",
"0x240a875a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3b3bc70e",
"selector": "0x3b3bc70e",
"calldata_variants": [
"0x3b3bc70e",
"0x3b3bc70e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4240,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4987,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8149,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 11,
"guards_detected": []
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 15
}
|