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

Analysis Run

398a83a4-3714-43fd-b57b-b5205efcfca4

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 1:14 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Unprotected initializeV5 allows attacker to seize migrator role and whitelist a drain recipient
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31170 report.consolidate complete 1 / 1 3 months ago
76834 artifact.fetch complete 1 / 3 1 week ago
76835 tool.cast_disasm complete 1 / 3 1 week ago
76836 analysis.bundle complete 1 / 3 1 week ago
76837 capability.graph complete 1 / 3 1 week ago
76838 detector.run complete 1 / 3 1 week ago
76839 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 critical access-control issue: an unprotected reinitializer lets any caller seize migrator privileges and drain bridge liquidity if not yet executed post-upgrade.
View stderr
[codex:693946] OpenAI Codex v0.77.0 (research preview)
[codex:693946] --------
[codex:693946] workdir: /tmp/codex-multi-y8hd_1zn
[codex:693946] model: gpt-5.2-codex
[codex:693946] provider: openai
[codex:693946] approval: never
[codex:693946] sandbox: read-only
[codex:693946] reasoning effort: xhigh
[codex:693946] reasoning summaries: auto
[codex:693946] session id: 019b7c42-a4c5-7892-86a0-510eac9774bd
[codex:693946] --------
[codex:693946] user
[codex:693946] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:693946] 
[codex:693946] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:693946] 
[codex:693946] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:693946] - Gas inefficiency, code quality, naming, or best practices
[codex:693946] - Theoretical vulnerabilities without a clear extraction path
[codex:693946] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:693946] - Front-running unless it enables theft beyond MEV
[codex:693946] - DoS, griefing, or issues that don't result in attacker profit
[codex:693946] - Missing events, view function issues, or informational findings
[codex:693946] 
[codex:693946] HIGH-VALUE PATTERNS TO HUNT:
[codex:693946] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:693946] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:693946] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:693946] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:693946] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:693946] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:693946] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:693946] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:693946] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:693946] 
[codex:693946] For each finding, you MUST provide:
[codex:693946] 1. Exact file and line numbers of vulnerable code
[codex:693946] 2. Step-by-step exploit transaction sequence
[codex:693946] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:693946] 
[codex:693946] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:693946] 
[codex:693946] Output MUST be valid JSON matching the provided schema.
[codex:693946] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:693946] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:693946] mcp startup: no servers
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Reading AUDIT_BUNDLE.txt**
[codex:693946] exec
[codex:693946] /bin/bash -lc ls in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] AUDIT_BUNDLE.txt
[codex:693946] codex-output-schema.json
[codex:693946] contracts
[codex:693946] exec
[codex:693946] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-y8hd_1zn succeeded in 6ms:
[codex:693946] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:693946] 
[codex:693946] ================================================================================
[codex:693946] FILE: contracts/dependencies/@openzeppelin-4.7.3/contracts/access/AccessControl.sol
[codex:693946] ================================================================================
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] // OpenZeppelin Contracts (last updated v4.7.0) (access/AccessControl.sol)
[codex:693946] 
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import "./IAccessControl.sol";
[codex:693946] import "../utils/Context.sol";
[codex:693946] import "../utils/Strings.sol";
[codex:693946] import "../utils/introspection/ERC165.sol";
[codex:693946] 
[codex:693946] /**
[codex:693946]  * @dev Contract module that allows children to implement role-based access
[codex:693946]  * control mechanisms. This is a lightweight version that doesn't allow enumerating role
[codex:693946]  * members except through off-chain means by accessing the contract event logs. Some
[codex:693946]  * applications may benefit from on-chain enumerability, for those cases see
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Searching for token-related contract functions**
[codex:693946] exec
[codex:693946] /bin/bash -lc 'rg -n "withdraw|transfer|mint|burn|claim|redeem|swap|deposit|bridge|proxy|initialize|upgrade|permit|signature|nonce" contracts/src' in /tmp/codex-multi-y8hd_1zn succeeded in 11ms:
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:12:   * @dev Handles the event when bridge operators are added.
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:13:   * @param bridgeOperators The addresses of the bridge operators.
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:17:  function onBridgeOperatorsAdded(address[] memory bridgeOperators, uint96[] calldata weights, bool[] memory addeds) external returns (bytes4 selector);
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:20:   * @dev Handles the event when bridge operators are removed.
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:21:   * @param bridgeOperators The addresses of the bridge operators.
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:25:  function onBridgeOperatorsRemoved(address[] memory bridgeOperators, bool[] memory removeds) external returns (bytes4 selector);
[codex:693946] contracts/src/interfaces/IWETH.sol:7:  function deposit() external payable;
[codex:693946] contracts/src/interfaces/IWETH.sol:9:  function transfer(address dst, uint wad) external returns (bool);
[codex:693946] contracts/src/interfaces/IWETH.sol:13:  function transferFrom(address src, address dst, uint wad) external returns (bool);
[codex:693946] contracts/src/interfaces/IWETH.sol:15:  function withdraw(uint256 _wad) external;
[codex:693946] contracts/src/extensions/GatewayV3.sol:19:  uint256 public nonce;
[codex:693946] contracts/src/extensions/GatewayV3.sol:100:      emit ThresholdUpdated(nonce++, num, denom, prevNum, prevDenom);
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:11:   * @dev Error indicating that a query was made for an approved withdrawal.
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:16:   * @dev Error indicating that the daily withdrawal limit has been reached.
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:21:   * @dev Error indicating that a query was made for a processed withdrawal.
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:31:   * @dev Error indicating that the recovered signer from the signature has invalid vote weight.
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:40:  /// @dev Emitted when the deposit is requested
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:42:  /// @dev Emitted when the assets are withdrawn
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:48:  /// @dev Emitted when the withdrawal is locked
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:50:  /// @dev Emitted when the withdrawal is unlocked
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Examining MainchainGatewayV3 and libraries**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,260p' contracts/src/libraries/LibTokenInfo.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:693946] import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
[codex:693946] import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
[codex:693946] import "@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol";
[codex:693946] import "../interfaces/IWETH.sol";
[codex:693946] 
[codex:693946] enum TokenStandard {
[codex:693946]   ERC20,
[codex:693946]   ERC721,
[codex:693946]   ERC1155
[codex:693946] }
[codex:693946] 
[codex:693946] struct TokenInfo {
[codex:693946]   TokenStandard erc;
[codex:693946]   // For ERC20:  the id must be 0 and the quantity is larger than 0.
[codex:693946]   // For ERC721: the quantity must be 0.
[codex:693946]   uint256 id;
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '260,520p' contracts/src/libraries/LibTokenInfo.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946]    *      TRANSFER ERC-1155
[codex:693946]    */
[codex:693946] 
[codex:693946]   /**
[codex:693946]    * @dev Transfers the ERC1155 token out. If the transfer failed, mints the ERC11555.
[codex:693946]    * @return success Returns `false` if both transfer and mint are failed.
[codex:693946]    */
[codex:693946]   function _tryTransferOutOrMintERC1155(address token, address to, uint256 id, uint256 amount) private returns (bool success) {
[codex:693946]     success = _tryTransferFromERC1155(token, address(this), to, id, amount);
[codex:693946]     if (!success) {
[codex:693946]       return _tryMintERC1155(token, to, id, amount);
[codex:693946]     }
[codex:693946]   }
[codex:693946] 
[codex:693946]   /**
[codex:693946]    * @dev Transfers ERC1155 token and returns the result.
[codex:693946]    */
[codex:693946]   function _tryTransferFromERC1155(address token, address from, address to, uint256 id, uint256 amount) private returns (bool success) {
[codex:693946]     (success,) = token.call(abi.encodeCall(IERC1155.safeTransferFrom, (from, to, id, amount, new bytes(0))));
[codex:693946]   }
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Reviewing token transfer logic**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,260p' contracts/src/mainchain/MainchainGatewayV3.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.23;
[codex:693946] 
[codex:693946] import "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
[codex:693946] import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:693946] import "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";
[codex:693946] import { ECDSA } from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
[codex:693946] import { IBridgeManager } from "../interfaces/bridge/IBridgeManager.sol";
[codex:693946] import { IBridgeManagerCallback } from "../interfaces/bridge/IBridgeManagerCallback.sol";
[codex:693946] import { HasContracts, ContractType } from "../extensions/collections/HasContracts.sol";
[codex:693946] import { ErrInvalidRequest } from "src/utils/CommonErrors.sol";
[codex:693946] import { AssetMigration } from "src/extensions/AssetMigration.sol";
[codex:693946] import "../extensions/WethUnwrapper.sol";
[codex:693946] import "../extensions/WithdrawalLimitation.sol";
[codex:693946] import "../extensions/AssetMigration.sol";
[codex:693946] import "../libraries/Transfer.sol";
[codex:693946] import { TokenStandard } from "../libraries/LibTokenInfo.sol";
[codex:693946] import "../interfaces/IMainchainGatewayV3.sol";
[codex:693946] 
[codex:693946] contract MainchainGatewayV3 is
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '260,560p' contracts/src/mainchain/MainchainGatewayV3.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 6ms:
[codex:693946]     if (!(token.erc == receipt.info.erc && token.tokenAddr == receipt.ronin.tokenAddr && receipt.ronin.chainId == roninChainId)) {
[codex:693946]       revert ErrInvalidReceipt();
[codex:693946]     }
[codex:693946] 
[codex:693946]     if (withdrawalHash[id] != 0) revert ErrQueryForProcessedWithdrawal();
[codex:693946] 
[codex:693946]     if (!(receipt.info.erc == TokenStandard.ERC721 || !_reachedWithdrawalLimit(tokenAddr, quantity))) {
[codex:693946]       revert ErrReachedDailyWithdrawalLimit();
[codex:693946]     }
[codex:693946] 
[codex:693946]     bytes32 receiptHash = receipt.hash();
[codex:693946]     bytes32 receiptDigest = Transfer.receiptDigest(_domainSeparator, receiptHash);
[codex:693946] 
[codex:693946]     uint256 minimumWeight;
[codex:693946]     (minimumWeight, locked) = _computeMinVoteWeight(receipt.info.erc, tokenAddr, quantity);
[codex:693946] 
[codex:693946]     {
[codex:693946]       bool passed;
[codex:693946]       address signer;
[codex:693946]       address lastSigner;
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Investigating profit vulnerabilities in gateway**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,260p' contracts/src/libraries/Transfer.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 6ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
[codex:693946] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:693946] import "./LibTokenInfo.sol";
[codex:693946] import "./LibTokenOwner.sol";
[codex:693946] 
[codex:693946] library Transfer {
[codex:693946]   using ECDSA for bytes32;
[codex:693946]   using LibTokenOwner for TokenOwner;
[codex:693946]   using LibTokenInfo for TokenInfo;
[codex:693946] 
[codex:693946]   enum Kind {
[codex:693946]     Deposit,
[codex:693946]     Withdrawal
[codex:693946]   }
[codex:693946] 
[codex:693946]   struct Request {
[codex:693946]     // For deposit request: Recipient address on Ronin network
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Reviewing receipt and restriction fields**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,260p' contracts/src/extensions/WithdrawalLimitation.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import "./GatewayV3.sol";
[codex:693946] 
[codex:693946] abstract contract WithdrawalLimitation is GatewayV3 {
[codex:693946]   /// @dev Error of invalid percentage.
[codex:693946]   error ErrInvalidPercentage();
[codex:693946]   /// @dev Error thrown when the high-tier vote weight threshold is `0`.
[codex:693946]   error ErrNullHighTierVoteWeightProvided(bytes4 msgSig);
[codex:693946] 
[codex:693946]   /// @dev Emitted when the high-tier vote weight threshold is updated
[codex:693946]   event HighTierVoteWeightThresholdUpdated(
[codex:693946]     uint256 indexed nonce, uint256 indexed numerator, uint256 indexed denominator, uint256 previousNumerator, uint256 previousDenominator
[codex:693946]   );
[codex:693946]   /// @dev Emitted when the thresholds for high-tier withdrawals that requires high-tier vote weights are updated
[codex:693946]   event HighTierThresholdsUpdated(address[] tokens, uint256[] thresholds);
[codex:693946]   /// @dev Emitted when the thresholds for locked withdrawals are updated
[codex:693946]   event LockedThresholdsUpdated(address[] tokens, uint256[] thresholds);
[codex:693946]   /// @dev Emitted when the fee percentages to unlock withdraw are updated
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '260,520p' contracts/src/extensions/WithdrawalLimitation.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] 
[codex:693946]     for (uint256 _i; _i < _tokens.length;) {
[codex:693946]       dailyWithdrawalLimit[_tokens[_i]] = _limits[_i];
[codex:693946] 
[codex:693946]       unchecked {
[codex:693946]         ++_i;
[codex:693946]       }
[codex:693946]     }
[codex:693946]     emit DailyWithdrawalLimitsUpdated(_tokens, _limits);
[codex:693946]   }
[codex:693946] 
[codex:693946]   /**
[codex:693946]    * @dev Checks whether the withdrawal reaches the daily limitation.
[codex:693946]    *
[codex:693946]    * Requirements:
[codex:693946]    * - The daily withdrawal threshold should not apply for locked withdrawals.
[codex:693946]    *
[codex:693946]    */
[codex:693946]   function _reachedWithdrawalLimit(address _token, uint256 _quantity) internal view virtual returns (bool) {
[codex:693946]     if (_lockedWithdrawalRequest(_token, _quantity)) {
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Checking GatewayV3 and components**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,220p' contracts/src/extensions/GatewayV3.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import { Pausable } from "@openzeppelin/contracts/security/Pausable.sol";
[codex:693946] import { FunctionRestrictable } from "src/extensions/FunctionRestrictable.sol";
[codex:693946] import "../interfaces/IQuorum.sol";
[codex:693946] import "./collections/HasProxyAdmin.sol";
[codex:693946] 
[codex:693946] abstract contract GatewayV3 is HasProxyAdmin, Pausable, FunctionRestrictable, IQuorum {
[codex:693946]   /**
[codex:693946]    * @dev Error indicating that `_minimumVoteWeight` is returning 0.
[codex:693946]    */
[codex:693946]   error ErrNullMinVoteWeightProvided(bytes4 msgSig);
[codex:693946] 
[codex:693946]   uint256 internal _num;
[codex:693946]   uint256 internal _denom;
[codex:693946] 
[codex:693946]   address private ______deprecated;
[codex:693946]   uint256 public nonce;
[codex:693946] 
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Analyzing withdrawal signature and reentrancy risks**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,200p' contracts/src/extensions/WethUnwrapper.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
[codex:693946] import "../interfaces/IWETH.sol";
[codex:693946] 
[codex:693946] contract WethUnwrapper is ReentrancyGuard {
[codex:693946]   IWETH public immutable weth;
[codex:693946] 
[codex:693946]   error ErrCannotTransferFrom();
[codex:693946]   error ErrNotWrappedContract();
[codex:693946]   error ErrExternalCallFailed(address sender, bytes4 sig);
[codex:693946] 
[codex:693946]   constructor(address weth_) {
[codex:693946]     if (address(weth_).code.length == 0) revert ErrNotWrappedContract();
[codex:693946]     weth = IWETH(weth_);
[codex:693946]   }
[codex:693946] 
[codex:693946]   fallback() external payable {
[codex:693946]     _fallback();
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Checking for AssetMigration**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,240p' contracts/src/extensions/AssetMigration.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.27;
[codex:693946] 
[codex:693946] import { Pausable } from "@openzeppelin/contracts/security/Pausable.sol";
[codex:693946] import { AccessControlEnumerable } from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
[codex:693946] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:693946] 
[codex:693946] import { HasProxyAdmin } from "src/extensions/collections/HasProxyAdmin.sol";
[codex:693946] 
[codex:693946] import { IWETH } from "src/interfaces/IWETH.sol";
[codex:693946] import { ICCIPLiquidityContainer } from "src/interfaces/ext/ICCIPLiquidityContainer.sol";
[codex:693946] import { ErrLengthMismatch, ErrEmptyArray } from "src/utils/CommonErrors.sol";
[codex:693946] 
[codex:693946] abstract contract AssetMigration is HasProxyAdmin, Pausable, AccessControlEnumerable {
[codex:693946]   /// @dev Error when the token is not whitelisted before
[codex:693946]   error ErrNotWhitelistedToken(address token);
[codex:693946]   /// @dev Error when the native token is whitelisted instead of the wrapped token
[codex:693946]   error ErrWhitelistWrappedTokenInstead();
[codex:693946] 
[codex:693946]   /// @dev The native token indicator address
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Analyzing potential bridge contract risks**
[codex:693946] exec
[codex:693946] /bin/bash -lc 'rg -n "contract" contracts/src -g"*.sol"' in /tmp/codex-multi-y8hd_1zn succeeded in 9ms:
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:4:import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
[codex:693946] contracts/src/interfaces/bridge/IBridgeManagerCallback.sol:8: * @dev Interface for the callback functions to be implemented by the Bridge Manager contract.
[codex:693946] contracts/src/libraries/Transfer.sol:4:import "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
[codex:693946] contracts/src/libraries/Transfer.sol:5:import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:693946] contracts/src/libraries/LibTokenInfo.sol:4:import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:693946] contracts/src/libraries/LibTokenInfo.sol:5:import "@openzeppelin/contracts/token/ERC721/IERC721.sol";
[codex:693946] contracts/src/libraries/LibTokenInfo.sol:6:import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
[codex:693946] contracts/src/libraries/LibTokenInfo.sol:7:import "@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol";
[codex:693946] contracts/src/libraries/LibTokenInfo.sol:122:   * - The `_from` address must approve for the contract using this library.
[codex:693946] contracts/src/interfaces/bridge/IBridgeManager.sol:23:   * @dev The domain separator used for computing hash digests in the contract.
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:46:  /// @dev Emitted when the wrapped native token contract is updated
[codex:693946] contracts/src/interfaces/IMainchainGatewayV3.sol:69:   * @dev Sets the wrapped native token contract.
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:4:import "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:5:import "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:6:import "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol";
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:7:import { ECDSA } from "@openzeppelin/contracts/utils/cryptography/ECDSA.sol";
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:20:contract MainchainGatewayV3 is
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:408:   * @dev Sets the WETH contract.
[codex:693946] contracts/src/extensions/GatewayV3.sol:4:import { Pausable } from "@openzeppelin/contracts/security/Pausable.sol";
[codex:693946] contracts/src/extensions/GatewayV3.sol:9:abstract contract GatewayV3 is HasProxyAdmin, Pausable, FunctionRestrictable, IQuorum {
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Analyzing unprotected initializer risk**
[codex:693946] exec
[codex:693946] /bin/bash -lc 'rg -n "initializer|reinitializer|initialize" contracts/src' in /tmp/codex-multi-y8hd_1zn succeeded in 10ms:
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:70:  function initializeV5(
[codex:693946] contracts/src/mainchain/MainchainGatewayV3.sol:76:  ) external reinitializer(5) {
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Analyzing unprotected initializer and token migration**
[codex:693946] exec
[codex:693946] /bin/bash -lc "nl -ba contracts/src/mainchain/MainchainGatewayV3.sol | sed -n '60,140p'" in /tmp/codex-multi-y8hd_1zn succeeded in 6ms:
[codex:693946]     60	  uint256 private ______deprecatedWethUnwrapper;
[codex:693946]     61	
[codex:693946]     62	  constructor() {
[codex:693946]     63	    _disableInitializers();
[codex:693946]     64	  }
[codex:693946]     65	
[codex:693946]     66	  receive() external payable {
[codex:693946]     67	    _fallback();
[codex:693946]     68	  }
[codex:693946]     69	
[codex:693946]     70	  function initializeV5(
[codex:693946]     71	    address migrator,
[codex:693946]     72	    address newEmergencyPauser,
[codex:693946]     73	    address[] calldata tokens,
[codex:693946]     74	    address[] calldata recipients,
[codex:693946]     75	    uint64[] calldata remoteChainSelectors
[codex:693946]     76	  ) external reinitializer(5) {
[codex:693946]     77	    _grantRole(_MIGRATOR_ROLE, migrator);
[codex:693946]     78	
[codex:693946]     79	    uint8 forbidAllIndicator = type(uint8).max;
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Extracting line numbers for exploit chain**
[codex:693946] exec
[codex:693946] /bin/bash -lc "nl -ba contracts/src/extensions/AssetMigration.sol | sed -n '60,200p'" in /tmp/codex-multi-y8hd_1zn succeeded in 6ms:
[codex:693946]     60	   *
[codex:693946]     61	   * When the token is the native (i.e RON or ETH), it will be wrapped (i.e WRON, WETH).
[codex:693946]     62	   *
[codex:693946]     63	   * Requirements:
[codex:693946]     64	   * - The caller must be the migrator.
[codex:693946]     65	   * - The length of the arrays must be the same.
[codex:693946]     66	   * - The length of the arrays must not be zero.
[codex:693946]     67	   */
[codex:693946]     68	  function migrateERC20(
[codex:693946]     69	    address[] calldata tokens,
[codex:693946]     70	    uint256[] calldata amounts
[codex:693946]     71	  ) external whenNotPaused onlyRole(_MIGRATOR_ROLE) validInput(_toUint256s(tokens), amounts) {
[codex:693946]     72	    uint256 length = amounts.length;
[codex:693946]     73	    IERC20 token;
[codex:693946]     74	
[codex:693946]     75	    for (uint256 i; i < length; ++i) {
[codex:693946]     76	      token = IERC20(tokens[i]);
[codex:693946]     77	
[codex:693946]     78	      if (address(token) == address(_NATIVE_TOKEN_INDICATOR)) {
[codex:693946]     79	        token = _wrap(amounts[i]);
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Analyzing potential contract vulnerabilities**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,200p' contracts/src/extensions/FunctionRestrictable.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.27;
[codex:693946] 
[codex:693946] import { TokenStandard } from "src/libraries/LibTokenInfo.sol";
[codex:693946] 
[codex:693946] abstract contract FunctionRestrictable {
[codex:693946]   /// @custom:storage-location erc7201:ronin.bridge.FunctionRestrictable
[codex:693946]   struct FunctionalRestrictableStorage {
[codex:693946]     mapping(bytes4 fnSig => uint8 bitmap) _enumBitmap;
[codex:693946]   }
[codex:693946] 
[codex:693946]   /// @dev Emit when a function is paused.
[codex:693946]   event Restricted(address indexed by, bytes4 indexed fnSig, uint8 enumBitmap);
[codex:693946]   /// @dev Emit when a function is unpaused.
[codex:693946]   event UnRestricted(address indexed by, bytes4 indexed fnSig);
[codex:693946] 
[codex:693946]   /// @dev Error when the function is restricted for specific standard.
[codex:693946]   error ErrRestricted(bytes4 fnSig, TokenStandard standard);
[codex:693946] 
[codex:693946]   /**
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Analyzing unprotected initializer vulnerability**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,200p' contracts/src/extensions/TransparentUpgradeableProxyV2.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 6ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
[codex:693946] 
[codex:693946] contract TransparentUpgradeableProxyV2 is TransparentUpgradeableProxy {
[codex:693946]   constructor(address _logic, address admin_, bytes memory _data) payable TransparentUpgradeableProxy(_logic, admin_, _data) { }
[codex:693946] 
[codex:693946]   /**
[codex:693946]    * @dev Calls a function from the current implementation as specified by `_data`, which should be an encoded function call.
[codex:693946]    *
[codex:693946]    * Requirements:
[codex:693946]    * - Only the admin can call this function.
[codex:693946]    *
[codex:693946]    * Note: The proxy admin is not allowed to interact with the proxy logic through the fallback function to avoid
[codex:693946]    * triggering some unexpected logic. This is to allow the administrator to explicitly call the proxy, please consider
[codex:693946]    * reviewing the encoded data `_data` and the method which is called before using this.
[codex:693946]    *
[codex:693946]    */
[codex:693946]   function functionDelegateCall(bytes memory _data) public payable ifAdmin {
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Checking HasProxyAdmin component**
[codex:693946] exec
[codex:693946] /bin/bash -lc "sed -n '1,160p' contracts/src/extensions/collections/HasProxyAdmin.sol" in /tmp/codex-multi-y8hd_1zn succeeded in 5ms:
[codex:693946] // SPDX-License-Identifier: MIT
[codex:693946] pragma solidity ^0.8.0;
[codex:693946] 
[codex:693946] import "@openzeppelin/contracts/utils/StorageSlot.sol";
[codex:693946] import "../../utils/CommonErrors.sol";
[codex:693946] 
[codex:693946] abstract contract HasProxyAdmin {
[codex:693946]   // bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1));
[codex:693946]   bytes32 private constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;
[codex:693946] 
[codex:693946]   modifier onlyProxyAdmin() {
[codex:693946]     _requireProxyAdmin();
[codex:693946]     _;
[codex:693946]   }
[codex:693946] 
[codex:693946]   /**
[codex:693946]    * @dev Returns proxy admin.
[codex:693946]    */
[codex:693946]   function _getProxyAdmin() internal view virtual returns (address) {
[codex:693946]     return StorageSlot.getAddressSlot(_ADMIN_SLOT).value;
[codex:693946] 
[codex:693946] thinking
[codex:693946] **Summarizing unprotected reinitializer risk**
[codex:693946] codex
[codex:693946] {"no_findings":false,"summary":"Found 1 critical access-control issue: an unprotected reinitializer lets any caller seize migrator privileges and drain bridge liquidity if not yet executed post-upgrade.","findings":[{"severity":"critical","category":"access_control","title":"Unprotected initializeV5 allows attacker to seize migrator role and whitelist a drain recipient","exploit_scenario":"1) After a V5 upgrade but before initializeV5 is called, attacker calls initializeV5 with migrator=attacker, newEmergencyPauser=attacker, and tokens/recipients arrays pointing to an attacker-controlled ICCIPLiquidityContainer. This grants MIGRATOR role and sets attacker as whitelisted recipient. 2) Attacker calls migrateERC20 for each token balance held by the gateway (and can include token address 0 to wrap ETH into WETH). migrateERC20 approves the attacker’s recipient and calls provideLiquidity, which can transferFrom the gateway’s balance to the attacker. 3) Attacker withdraws the assets from their recipient contract. Profit equals the full ERC20/WETH balances held by the gateway (bridge liquidity).","recommendation":"Restrict initializeV5 to the proxy admin (e.g., onlyProxyAdmin) and ensure it is executed atomically during upgrade so it cannot be called by external accounts after deployment.","evidence":"initializeV5 is external and lacks access control, yet grants _MIGRATOR_ROLE and calls _whitelist, allowing arbitrary callers to configure migration targets and roles (contracts/src/mainchain/MainchainGatewayV3.sol:70-88). The migrator can then call migrateERC20, which approves the whitelisted recipient and invokes provideLiquidity on it (contracts/src/extensions/AssetMigration.sol:68-98), enabling token drains.","locations":["contracts/src/mainchain/MainchainGatewayV3.sol:70","contracts/src/mainchain/MainchainGatewayV3.sol:77","contracts/src/mainchain/MainchainGatewayV3.sol:84","contracts/src/extensions/AssetMigration.sol:68","contracts/src/extensions/AssetMigration.sol:82"]}]}
[codex:693946] tokens used
[codex:693946] 55,299
[codex:693946] {"no_findings":false,"summary":"Found 1 critical access-control issue: an unprotected reinitializer lets any caller seize migrator privileges and drain bridge liquidity if not yet executed post-upgrade.","findings":[{"severity":"critical","category":"access_control","title":"Unprotected initializeV5 allows attacker to seize migrator role and whitelist a drain recipient","exploit_scenario":"1) After a V5 upgrade but before initializeV5 is called, attacker calls initializeV5 with migrator=attacker, newEmergencyPauser=attacker, and tokens/recipients arrays pointing to an attacker-controlled ICCIPLiquidityContainer. This grants MIGRATOR role and sets attacker as whitelisted recipient. 2) Attacker calls migrateERC20 for each token balance held by the gateway (and can include token address 0 to wrap ETH into WETH). migrateERC20 approves the attacker’s recipient and calls provideLiquidity, which can transferFrom the gateway’s balance to the attacker. 3) Attacker withdraws the assets from their recipient contract. Profit equals the full ERC20/WETH balances held by the gateway (bridge liquidity).","recommendation":"Restrict initializeV5 to the proxy admin (e.g., onlyProxyAdmin) and ensure it is executed atomically during upgrade so it cannot be called by external accounts after deployment.","evidence":"initializeV5 is external and lacks access control, yet grants _MIGRATOR_ROLE and calls _whitelist, allowing arbitrary callers to configure migration targets and roles (contracts/src/mainchain/MainchainGatewayV3.sol:70-88). The migrator can then call migrateERC20, which approves the whitelisted recipient and invokes provideLiquidity on it (contracts/src/extensions/AssetMigration.sol:68-98), enabling token drains.","locations":["contracts/src/mainchain/MainchainGatewayV3.sol:70","contracts/src/mainchain/MainchainGatewayV3.sol:77","contracts/src/mainchain/MainchainGatewayV3.sol:84","contracts/src/extensions/AssetMigration.sol:68","contracts/src/extensions/AssetMigration.sol:82"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T01:14:08.968451+00:00",
        "returncode": 0
    },
    "summary": "Found 1 critical access-control issue: an unprotected reinitializer lets any caller seize migrator privileges and drain bridge liquidity if not yet executed post-upgrade.",
    "raw_final": {
        "summary": "Found 1 critical access-control issue: an unprotected reinitializer lets any caller seize migrator privileges and drain bridge liquidity if not yet executed post-upgrade.",
        "findings": [
            {
                "title": "Unprotected initializeV5 allows attacker to seize migrator role and whitelist a drain recipient",
                "category": "access_control",
                "evidence": "initializeV5 is external and lacks access control, yet grants _MIGRATOR_ROLE and calls _whitelist, allowing arbitrary callers to configure migration targets and roles (contracts/src/mainchain/MainchainGatewayV3.sol:70-88). The migrator can then call migrateERC20, which approves the whitelisted recipient and invokes provideLiquidity on it (contracts/src/extensions/AssetMigration.sol:68-98), enabling token drains.",
                "severity": "critical",
                "locations": [
                    "contracts/src/mainchain/MainchainGatewayV3.sol:70",
                    "contracts/src/mainchain/MainchainGatewayV3.sol:77",
                    "contracts/src/mainchain/MainchainGatewayV3.sol:84",
                    "contracts/src/extensions/AssetMigration.sol:68",
                    "contracts/src/extensions/AssetMigration.sol:82"
                ],
                "recommendation": "Restrict initializeV5 to the proxy admin (e.g., onlyProxyAdmin) and ensure it is executed atomically during upgrade so it cannot be called by external accounts after deployment.",
                "exploit_scenario": "1) After a V5 upgrade but before initializeV5 is called, attacker calls initializeV5 with migrator=attacker, newEmergencyPauser=attacker, and tokens/recipients arrays pointing to an attacker-controlled ICCIPLiquidityContainer. This grants MIGRATOR role and sets attacker as whitelisted recipient. 2) Attacker calls migrateERC20 for each token balance held by the gateway (and can include token address 0 to wrap ETH into WETH). migrateERC20 approves the attacker\u2019s recipient and calls provideLiquidity, which can transferFrom the gateway\u2019s balance to the attacker. 3) Attacker withdraws the assets from their recipient contract. Profit equals the full ERC20/WETH balances held by the gateway (bridge liquidity)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
1
CALL-family (heavy)
17
EXT*/BALANCE
8
Total opcodes
16380
Flags
selfdestruct_present create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x02c3
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x8f34e347
00000018: GT
00000019: PUSH2 0x0175
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0x8f34e347
00000023: EQ
00000024: PUSH2 0x068b
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0x8f851d8a
0000002e: EQ
0000002f: PUSH2 0x06ab
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x9010d07c
00000039: EQ
0000003a: PUSH2 0x06d7
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x9157921c
00000044: EQ
00000045: PUSH2 0x06f6
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x91d14854
0000004f: EQ
00000050: PUSH2 0x0715
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x93c5678f
0000005a: EQ
0000005b: PUSH2 0x0734
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x9dcc4da3
00000065: EQ
00000066: PUSH2 0x0753
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0xa217fddf
00000070: EQ
00000071: PUSH2 0x0787
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0xa40727bc
0000007b: EQ
0000007c: PUSH2 0x079a
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0xab796566
00000086: EQ
00000087: PUSH2 0x07b9
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0xac78dfe8
00000091: EQ
00000092: PUSH2 0x07e4
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xaffed0e0
0000009c: EQ
0000009d: PUSH2 0x0803
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xb1a2567e
000000a7: EQ
000000a8: PUSH2 0x0818
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xb1d08a03
000000b2: EQ
000000b3: PUSH2 0x0837
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xb2975794
000000bd: EQ
000000be: PUSH2 0x0862
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xb9c36209
000000c8: EQ
000000c9: PUSH2 0x088e
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0xbc197c81
000000d3: EQ
000000d4: PUSH2 0x08ad
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0xc48549de
000000de: EQ
000000df: PUSH2 0x08d8
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0xca15c873
000000e9: EQ
000000ea: PUSH2 0x08f7
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0xcdb67444
000000f4: EQ
000000f5: PUSH2 0x0916
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0xd19773d2
000000ff: EQ
00000100: PUSH2 0x092d
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0xd547741f
0000010a: EQ
0000010b: PUSH2 0x0958
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0xd55ed103
00000115: EQ
00000116: PUSH2 0x0977
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0xd64af2a6
00000120: EQ
00000121: PUSH2 0x09a2
00000124: JUMPI
00000125: DUP1
00000126: PUSH4 0xdafae408
0000012b: EQ
0000012c: PUSH2 0x09c1
0000012f: JUMPI
00000130: DUP1
00000131: PUSH4 0xddd3602f
00000136: EQ
00000137: PUSH2 0x09e0
0000013a: JUMPI
0000013b: DUP1
0000013c: PUSH4 0xde981f1b
00000141: EQ
00000142: PUSH2 0x09ff
00000145: JUMPI
00000146: DUP1
00000147: PUSH4 0xdff525e1
0000014c: EQ
0000014d: PUSH2 0x0a1e
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0xe400327c
00000157: EQ
00000158: PUSH2 0x0a3d
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0xe75235b8
00000162: EQ
00000163: PUSH2 0x0a5c
00000166: JUMPI
00000167: DUP1
00000168: PUSH4 0xf23a6e61
0000016d: EQ
0000016e: PUSH2 0x0a73
00000171: JUMPI
00000172: PUSH0
00000173: PUSH0
00000174: REVERT
00000175: JUMPDEST
00000176: DUP1
00000177: PUSH4 0x01ffc9a7
0000017c: EQ
0000017d: PUSH2 0x02d6
00000180: JUMPI
00000181: DUP1
00000182: PUSH4 0x065b3adf
00000187: EQ
00000188: PUSH2 0x030a
0000018b: JUMPI
0000018c: DUP1
0000018d: PUSH4 0x0af8182c
00000192: EQ
00000193: PUSH2 0x0336
00000196: JUMPI
00000197: DUP1
00000198: PUSH4 0x0e898511
0000019d: EQ
0000019e: PUSH2 0x0355
000001a1: JUMPI
000001a2: DUP1
000001a3: PUSH4 0x17ce2dd4
000001a8: EQ
000001a9: PUSH2 0x0374
000001ac: JUMPI
000001ad: DUP1
000001ae: PUSH4 0x17fcb39b
000001b3: EQ
000001b4: PUSH2 0x0397
000001b7: JUMPI
000001b8: DUP1
000001b9: PUSH4 0x1a8e55b0
000001be: EQ
000001bf: PUSH2 0x03b6
000001c2: JUMPI
000001c3: DUP1
000001c4: PUSH4 0x1b6e7594
000001c9: EQ
000001ca: PUSH2 0x03d5
000001cd: JUMPI
000001ce: DUP1
000001cf: PUSH4 0x1d4a7210
000001d4: EQ
000001d5: PUSH2 0x03f4
000001d8: JUMPI
000001d9: DUP1
000001da: PUSH4 0x248a9ca3
000001df: EQ
000001e0: PUSH2 0x041f
000001e3: JUMPI
000001e4: DUP1
000001e5: PUSH4 0x2dfdf0b5
000001ea: EQ
000001eb: PUSH2 0x043e
000001ee: JUMPI
000001ef: DUP1
000001f0: PUSH4 0x2f2ff15d
000001f5: EQ
000001f6: PUSH2 0x0453
000001f9: JUMPI
000001fa: DUP1
000001fb: PUSH4 0x302d12db
00000200: EQ
00000201: PUSH2 0x0472
00000204: JUMPI
00000205: DUP1
00000206: PUSH4 0x3644e515
0000020b: EQ
0000020c: PUSH2 0x0488
0000020f: JUMPI
00000210: DUP1
00000211: PUSH4 0x36568abe
00000216: EQ
00000217: PUSH2 0x049c
0000021a: JUMPI
0000021b: DUP1
0000021c: PUSH4 0x3e70838b
00000221: EQ
00000222: PUSH2 0x04bb
00000225: JUMPI
00000226: DUP1
00000227: PUSH4 0x3f4ba83a
0000022c: EQ
0000022d: PUSH2 0x04da
00000230: JUMPI
00000231: DUP1
00000232: PUSH4 0x4b14557e
00000237: EQ
00000238: PUSH2 0x04ee
0000023b: JUMPI
0000023c: DUP1
0000023d: PUSH4 0x4d0d6673
00000242: EQ
00000243: PUSH2 0x0501
00000246: JUMPI
00000247: DUP1
00000248: PUSH4 0x4d493f4e
0000024d: EQ
0000024e: PUSH2 0x0520
00000251: JUMPI
00000252: DUP1
00000253: PUSH4 0x59122f6b
00000258: EQ
00000259: PUSH2 0x054e
0000025c: JUMPI
0000025d: DUP1
0000025e: PUSH4 0x5c975abb
00000263: EQ
00000264: PUSH2 0x0579
00000267: JUMPI
00000268: DUP1
00000269: PUSH4 0x6932be98
0000026e: EQ
0000026f: PUSH2 0x058f
00000272: JUMPI
00000273: DUP1
00000274: PUSH4 0x6a10be12
00000279: EQ
0000027a: PUSH2 0x05ba
0000027d: JUMPI
0000027e: DUP1
0000027f: PUSH4 0x6c1ce670
00000284: EQ
00000285: PUSH2 0x05e7
00000288: JUMPI
00000289: DUP1
0000028a: PUSH4 0x7de5dedd
0000028f: EQ
00000290: PUSH2 0x0606
00000293: JUMPI
00000294: DUP1
00000295: PUSH4 0x8456cb59
0000029a: EQ
0000029b: PUSH2 0x061a
0000029e: JUMPI
0000029f: DUP1
000002a0: PUSH4 0x865e6fd3
000002a5: EQ
000002a6: PUSH2 0x062e
000002a9: JUMPI
000002aa: DUP1
000002ab: PUSH4 0x87a43fa5
000002b0: EQ
000002b1: PUSH2 0x064d
000002b4: JUMPI
000002b5: DUP1
000002b6: PUSH4 0x8e77669a
000002bb: EQ
000002bc: PUSH2 0x066c
000002bf: JUMPI
000002c0: PUSH0
000002c1: PUSH0
000002c2: REVERT
000002c3: JUMPDEST
000002c4: CALLDATASIZE
000002c5: PUSH2 0x02d2
000002c8: JUMPI
000002c9: PUSH2 0x02d0
000002cc: PUSH2 0x0a9e
000002cf: JUMP
000002d0: JUMPDEST
000002d1: STOP
000002d2: JUMPDEST
000002d3: PUSH0
000002d4: PUSH0
000002d5: REVERT
000002d6: JUMPDEST
000002d7: CALLVALUE
000002d8: DUP1
000002d9: ISZERO
000002da: PUSH2 0x02e1
000002dd: JUMPI
000002de: PUSH0
000002df: PUSH0
000002e0: REVERT
000002e1: JUMPDEST
000002e2: POP
000002e3: PUSH2 0x02f5
000002e6: PUSH2 0x02f0
000002e9: CALLDATASIZE
000002ea: PUSH1 0x04
000002ec: PUSH2 0x49cc
000002ef: JUMP
000002f0: JUMPDEST
000002f1: PUSH2 0x0acb
000002f4: JUMP
000002f5: JUMPDEST
000002f6: PUSH1 0x40
000002f8: MLOAD
000002f9: SWAP1
000002fa: ISZERO
000002fb: ISZERO
000002fc: DUP2
000002fd: MSTORE
000002fe: PUSH1 0x20
00000300: ADD
00000301: JUMPDEST
00000302: PUSH1 0x40
00000304: MLOAD
00000305: DUP1
00000306: SWAP2
00000307: SUB
00000308: SWAP1
00000309: RETURN
0000030a: JUMPDEST
0000030b: CALLVALUE
0000030c: DUP1
0000030d: ISZERO
0000030e: PUSH2 0x0315
00000311: JUMPI
00000312: PUSH0
00000313: PUSH0
00000314: REVERT
00000315: JUMPDEST
00000316: POP
00000317: PUSH1 0x05
00000319: SLOAD
0000031a: PUSH2 0x0329
0000031d: SWAP1
0000031e: PUSH1 0x01
00000320: PUSH1 0x01
00000322: PUSH1 0xa0
00000324: SHL
00000325: SUB
00000326: AND
00000327: DUP2
00000328: JUMP
00000329: JUMPDEST
0000032a: PUSH1 0x40
0000032c: MLOAD
0000032d: PUSH2 0x0301
00000330: SWAP2
00000331: SWAP1
00000332: PUSH2 0x49e5
00000335: JUMP
00000336: JUMPDEST
00000337: CALLVALUE
00000338: DUP1
00000339: ISZERO
0000033a: PUSH2 0x0341
0000033d: JUMPI
0000033e: PUSH0
0000033f: PUSH0
00000340: REVERT
00000341: JUMPDEST
00000342: POP
00000343: PUSH2 0x02d0
00000346: PUSH2 0x0350
00000349: CALLDATASIZE
0000034a: PUSH1 0x04
0000034c: PUSH2 0x4a39
0000034f: JUMP
00000350: JUMPDEST
00000351: PUSH2 0x0b10
00000354: JUMP
00000355: JUMPDEST
00000356: CALLVALUE
00000357: DUP1
00000358: ISZERO
00000359: PUSH2 0x0360
0000035c: JUMPI
0000035d: PUSH0
0000035e: PUSH0
0000035f: REVERT
00000360: JUMPDEST
00000361: POP
00000362: PUSH2 0x02d0
00000365: PUSH2 0x036f
00000368: CALLDATASIZE
00000369: PUSH1 0x04
0000036b: PUSH2 0x4ae5
0000036e: JUMP
0000036f: JUMPDEST
00000370: PUSH2 0x0c85
00000373: JUMP
00000374: JUMPDEST
00000375: CALLVALUE
00000376: DUP1
00000377: ISZERO
00000378: PUSH2 0x037f
0000037b: JUMPI
0000037c: PUSH0
0000037d: PUSH0
0000037e: REVERT
0000037f: JUMPDEST
00000380: POP
00000381: PUSH2 0x0389
00000384: PUSH1 0x75
00000386: SLOAD
00000387: DUP2
00000388: JUMP
00000389: JUMPDEST
0000038a: PUSH1 0x40
0000038c: MLOAD
0000038d: SWAP1
0000038e: DUP2
0000038f: MSTORE
00000390: PUSH1 0x20
00000392: ADD
00000393: PUSH2 0x0301
00000396: JUMP
00000397: JUMPDEST
00000398: CALLVALUE
00000399: DUP1
0000039a: ISZERO
0000039b: PUSH2 0x03a2
0000039e: JUMPI
0000039f: PUSH0
000003a0: PUSH0
000003a1: REVERT
000003a2: JUMPDEST
000003a3: POP
000003a4: PUSH1 0x74
000003a6: SLOAD
000003a7: PUSH2 0x0329
000003aa: SWAP1
000003ab: PUSH1 0x01
000003ad: PUSH1 0x01
000003af: PUSH1 0xa0
000003b1: SHL
000003b2: SUB
000003b3: AND
000003b4: DUP2
000003b5: JUMP
000003b6: JUMPDEST
000003b7: CALLVALUE
000003b8: DUP1
000003b9: ISZERO
000003ba: PUSH2 0x03c1
000003bd: JUMPI
000003be: PUSH0
000003bf: PUSH0
000003c0: REVERT
000003c1: JUMPDEST
000003c2: POP
000003c3: PUSH2 0x02d0
000003c6: PUSH2 0x03d0
000003c9: CALLDATASIZE
000003ca: PUSH1 0x04
000003cc: PUSH2 0x4b16
000003cf: JUMP
000003d0: JUMPDEST
000003d1: PUSH2 0x0c9b
000003d4: JUMP
000003d5: JUMPDEST
000003d6: CALLVALUE
000003d7: DUP1
000003d8: ISZERO
000003d9: PUSH2 0x03e0
000003dc: JUMPI
000003dd: PUSH0
000003de: PUSH0
000003df: REVERT
000003e0: JUMPDEST
000003e1: POP
000003e2: PUSH2 0x02d0
000003e5: PUSH2 0x03ef
000003e8: CALLDATASIZE
000003e9: PUSH1 0x04
000003eb: PUSH2 0x4a39
000003ee: JUMP
000003ef: JUMPDEST
000003f0: PUSH2 0x0cd6
000003f3: JUMP
000003f4: JUMPDEST
000003f5: CALLVALUE
000003f6: DUP1
000003f7: ISZERO
000003f8: PUSH2 0x03ff
000003fb: JUMPI
000003fc: PUSH0
000003fd: PUSH0
000003fe: REVERT
000003ff: JUMPDEST
00000400: POP
00000401: PUSH2 0x0389
00000404: PUSH2 0x040e
00000407: CALLDATASIZE
00000408: PUSH1 0x04
0000040a: PUSH2 0x4b94
0000040d: JUMP
0000040e: JUMPDEST
0000040f: PUSH1 0x3e
00000411: PUSH1 0x20
00000413: MSTORE
00000414: PUSH0
00000415: SWAP1
00000416: DUP2
00000417: MSTORE
00000418: PUSH1 0x40
0000041a: SWAP1
0000041b: KECCAK256
0000041c: SLOAD
0000041d: DUP2
0000041e: JUMP
0000041f: JUMPDEST
00000420: CALLVALUE
00000421: DUP1
00000422: ISZERO
00000423: PUSH2 0x042a
00000426: JUMPI
00000427: PUSH0
00000428: PUSH0
00000429: REVERT
0000042a: JUMPDEST
0000042b: POP
0000042c: PUSH2 0x0389
0000042f: PUSH2 0x0439
00000432: CALLDATASIZE
00000433: PUSH1 0x04
00000435: PUSH2 0x4baf
00000438: JUMP
00000439: JUMPDEST
0000043a: PUSH2 0x0d15
0000043d: JUMP
0000043e: JUMPDEST
0000043f: CALLVALUE
00000440: DUP1
00000441: ISZERO
00000442: PUSH2 0x0449
00000445: JUMPI
00000446: PUSH0
00000447: PUSH0
00000448: REVERT
00000449: JUMPDEST
0000044a: POP
0000044b: PUSH2 0x0389
0000044e: PUSH1 0x76
00000450: SLOAD
00000451: DUP2
00000452: JUMP
00000453: JUMPDEST
00000454: CALLVALUE
00000455: DUP1
00000456: ISZERO
00000457: PUSH2 0x045e
0000045a: JUMPI
0000045b: PUSH0
0000045c: PUSH0
0000045d: REVERT
0000045e: JUMPDEST
0000045f: POP
00000460: PUSH2 0x02d0
00000463: PUSH2 0x046d
00000466: CALLDATASIZE
00000467: PUSH1 0x04
00000469: PUSH2 0x4bc6
0000046c: JUMP
0000046d: JUMPDEST
0000046e: PUSH2 0x0d29
00000471: JUMP
00000472: JUMPDEST
00000473: CALLVALUE
00000474: DUP1
00000475: ISZERO
00000476: PUSH2 0x047d
00000479: JUMPI
0000047a: PUSH0
0000047b: PUSH0
0000047c: REVERT
0000047d: JUMPDEST
0000047e: POP
0000047f: PUSH2 0x0389
00000482: PUSH3 0x0f4240
00000486: DUP2
00000487: JUMP
00000488: JUMPDEST
00000489: CALLVALUE
0000048a: DUP1
0000048b: ISZERO
0000048c: PUSH2 0x0493
0000048f: JUMPI
00000490: PUSH0
00000491: PUSH0
00000492: REVERT
00000493: JUMPDEST
00000494: POP
00000495: PUSH1 0x77
00000497: SLOAD
00000498: PUSH2 0x0389
0000049b: JUMP
0000049c: JUMPDEST
0000049d: CALLVALUE
0000049e: DUP1
0000049f: ISZERO
000004a0: PUSH2 0x04a7
000004a3: JUMPI
000004a4: PUSH0
000004a5: PUSH0
000004a6: REVERT
000004a7: JUMPDEST
000004a8: POP
000004a9: PUSH2 0x02d0
000004ac: PUSH2 0x04b6
000004af: CALLDATASIZE
000004b0: PUSH1 0x04
000004b2: PUSH2 0x4bc6
000004b5: JUMP
000004b6: JUMPDEST
000004b7: PUSH2 0x0d4a
000004ba: JUMP
000004bb: JUMPDEST
000004bc: CALLVALUE
000004bd: DUP1
000004be: ISZERO
000004bf: PUSH2 0x04c6
000004c2: JUMPI
000004c3: PUSH0
000004c4: PUSH0
000004c5: REVERT
000004c6: JUMPDEST
000004c7: POP
000004c8: PUSH2 0x02d0
000004cb: PUSH2 0x04d5
000004ce: CALLDATASIZE
000004cf: PUSH1 0x04
000004d1: PUSH2 0x4b94
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH2 0x0dc4
000004d9: JUMP
000004da: JUMPDEST
000004db: CALLVALUE
000004dc: DUP1
000004dd: ISZERO
000004de: PUSH2 0x04e5
000004e1: JUMPI
000004e2: PUSH0
000004e3: PUSH0
000004e4: REVERT
000004e5: JUMPDEST
000004e6: POP
000004e7: PUSH2 0x02d0
000004ea: PUSH2 0x0dee
000004ed: JUMP
000004ee: JUMPDEST
000004ef: PUSH2 0x02d0
000004f2: PUSH2 0x04fc
000004f5: CALLDATASIZE
000004f6: PUSH1 0x04
000004f8: PUSH2 0x4bf4
000004fb: JUMP
000004fc: JUMPDEST
000004fd: PUSH2 0x0dfe
00000500: JUMP
00000501: JUMPDEST
00000502: CALLVALUE
00000503: DUP1
00000504: ISZERO
00000505: PUSH2 0x050c
00000508: JUMPI
00000509: PUSH0
0000050a: PUSH0
0000050b: REVERT
0000050c: JUMPDEST
0000050d: POP
0000050e: PUSH2 0x02f5
00000511: PUSH2 0x051b
00000514: CALLDATASIZE
00000515: PUSH1 0x04
00000517: PUSH2 0x4c1e
0000051a: JUMP
0000051b: JUMPDEST
0000051c: PUSH2 0x0e21
0000051f: JUMP
00000520: JUMPDEST
00000521: CALLVALUE
00000522: DUP1
00000523: ISZERO
00000524: PUSH2 0x052b
00000527: JUMPI
00000528: PUSH0
00000529: PUSH0
0000052a: REVERT
0000052b: JUMPDEST
0000052c: POP
0000052d: PUSH2 0x02f5
00000530: PUSH2 0x053a
00000533: CALLDATASIZE
00000534: PUSH1 0x04
00000536: PUSH2 0x4baf
00000539: JUMP
0000053a: JUMPDEST
0000053b: PUSH1 0x7a
0000053d: PUSH1 0x20
0000053f: MSTORE
00000540: PUSH0
00000541: SWAP1
00000542: DUP2
00000543: MSTORE
00000544: PUSH1 0x40
00000546: SWAP1
00000547: KECCAK256
00000548: SLOAD
00000549: PUSH1 0xff
0000054b: AND
0000054c: DUP2
0000054d: JUMP
0000054e: JUMPDEST
0000054f: CALLVALUE
00000550: DUP1
00000551: ISZERO
00000552: PUSH2 0x0559
00000555: JUMPI
00000556: PUSH0
00000557: PUSH0
00000558: REVERT
00000559: JUMPDEST
0000055a: POP
0000055b: PUSH2 0x0389
0000055e: PUSH2 0x0568
00000561: CALLDATASIZE
00000562: PUSH1 0x04
00000564: PUSH2 0x4b94
00000567: JUMP
00000568: JUMPDEST
00000569: PUSH1 0x3a
0000056b: PUSH1 0x20
0000056d: MSTORE
0000056e: PUSH0
0000056f: SWAP1
00000570: DUP2
00000571: MSTORE
00000572: PUSH1 0x40
00000574: SWAP1
00000575: KECCAK256
00000576: SLOAD
00000577: DUP2
00000578: JUMP
00000579: JUMPDEST
0000057a: CALLVALUE
0000057b: DUP1
0000057c: ISZERO
0000057d: PUSH2 0x0584
00000580: JUMPI
00000581: PUSH0
00000582: PUSH0
00000583: REVERT
00000584: JUMPDEST
00000585: POP
00000586: PUSH0
00000587: SLOAD
00000588: PUSH1 0xff
0000058a: AND
0000058b: PUSH2 0x02f5
0000058e: JUMP
0000058f: JUMPDEST
00000590: CALLVALUE
00000591: DUP1
00000592: ISZERO
00000593: PUSH2 0x059a
00000596: JUMPI
00000597: PUSH0
00000598: PUSH0
00000599: REVERT
0000059a: JUMPDEST
0000059b: POP
0000059c: PUSH2 0x0389
0000059f: PUSH2 0x05a9
000005a2: CALLDATASIZE
000005a3: PUSH1 0x04
000005a5: PUSH2 0x4baf
000005a8: JUMP
000005a9: JUMPDEST
000005aa: PUSH1 0x79
000005ac: PUSH1 0x20
000005ae: MSTORE
000005af: PUSH0
000005b0: SWAP1
000005b1: DUP2
000005b2: MSTORE
000005b3: PUSH1 0x40
000005b5: SWAP1
000005b6: KECCAK256
000005b7: SLOAD
000005b8: DUP2
000005b9: JUMP
000005ba: JUMPDEST
000005bb: CALLVALUE
000005bc: DUP1
000005bd: ISZERO
000005be: PUSH2 0x05c5
000005c1: JUMPI
000005c2: PUSH0
000005c3: PUSH0
000005c4: REVERT
000005c5: JUMPDEST
000005c6: POP
000005c7: PUSH2 0x05d9
000005ca: PUSH2 0x05d4
000005cd: CALLDATASIZE
000005ce: PUSH1 0x04
000005d0: PUSH2 0x4ca0
000005d3: JUMP
000005d4: JUMPDEST
000005d5: PUSH2 0x0e8f
000005d8: JUMP
000005d9: JUMPDEST
000005da: PUSH1 0x40
000005dc: MLOAD
000005dd: PUSH2 0x0301
000005e0: SWAP3
000005e1: SWAP2
000005e2: SWAP1
000005e3: PUSH2 0x4cde
000005e6: JUMP
000005e7: JUMPDEST
000005e8: CALLVALUE
000005e9: DUP1
000005ea: ISZERO
000005eb: PUSH2 0x05f2
000005ee: JUMPI
000005ef: PUSH0
000005f0: PUSH0
000005f1: REVERT
000005f2: JUMPDEST
000005f3: POP
000005f4: PUSH2 0x02f5
000005f7: PUSH2 0x0601
000005fa: CALLDATASIZE
000005fb: PUSH1 0x04
000005fd: PUSH2 0x4d70
00000600: JUMP
00000601: JUMPDEST
00000602: PUSH2 0x1005
00000605: JUMP
00000606: JUMPDEST
00000607: CALLVALUE
00000608: DUP1
00000609: ISZERO
0000060a: PUSH2 0x0611
0000060d: JUMPI
0000060e: PUSH0
0000060f: PUSH0
00000610: REVERT
00000611: JUMPDEST
00000612: POP
00000613: PUSH2 0x0389
00000616: PUSH2 0x1010
00000619: JUMP
0000061a: JUMPDEST
0000061b: CALLVALUE
0000061c: DUP1
0000061d: ISZERO
0000061e: PUSH2 0x0625
00000621: JUMPI
00000622: PUSH0
00000623: PUSH0
00000624: REVERT
00000625: JUMPDEST
00000626: POP
00000627: PUSH2 0x02d0
0000062a: PUSH2 0x1026
0000062d: JUMP
0000062e: JUMPDEST
0000062f: CALLVALUE
00000630: DUP1
00000631: ISZERO
00000632: PUSH2 0x0639
00000635: JUMPI
00000636: PUSH0
00000637: PUSH0
00000638: REVERT
00000639: JUMPDEST
0000063a: POP
0000063b: PUSH2 0x02d0
0000063e: PUSH2 0x0648
00000641: CALLDATASIZE
00000642: PUSH1 0x04
00000644: PUSH2 0x4da8
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH2 0x1036
0000064c: JUMP
0000064d: JUMPDEST
0000064e: CALLVALUE
0000064f: DUP1
00000650: ISZERO
00000651: PUSH2 0x0658
00000654: JUMPI
00000655: PUSH0
00000656: PUSH0
00000657: REVERT
00000658: JUMPDEST
00000659: POP
0000065a: PUSH2 0x02d0
0000065d: PUSH2 0x0667
00000660: CALLDATASIZE
00000661: PUSH1 0x04
00000663: PUSH2 0x4a39
00000666: JUMP
00000667: JUMPDEST
00000668: PUSH2 0x1051
0000066b: JUMP
0000066c: JUMPDEST
0000066d: CALLVALUE
0000066e: DUP1
0000066f: ISZERO
00000670: PUSH2 0x0677
00000673: JUMPI
00000674: PUSH0
00000675: PUSH0
00000676: REVERT
00000677: JUMPDEST
00000678: POP
00000679: PUSH2 0x02f5
0000067c: PUSH2 0x0686
0000067f: CALLDATASIZE
00000680: PUSH1 0x04
00000682: PUSH2 0x4de0
00000685: JUMP
00000686: JUMPDEST
00000687: PUSH2 0x106f
0000068a: JUMP
0000068b: JUMPDEST
0000068c: CALLVALUE
0000068d: DUP1
0000068e: ISZERO
0000068f: PUSH2 0x0696
00000692: JUMPI
00000693: PUSH0
00000694: PUSH0
00000695: REVERT
00000696: JUMPDEST
00000697: POP
00000698: PUSH2 0x0389
0000069b: PUSH0
0000069c: MLOAD
0000069d: PUSH1 0x20
0000069f: PUSH2 0x5d87
000006a2: PUSH0
000006a3: CODECOPY
000006a4: PUSH0
000006a5: MLOAD
000006a6: SWAP1
000006a7: PUSH0
000006a8: MSTORE
000006a9: DUP2
000006aa: JUMP
000006ab: JUMPDEST
000006ac: CALLVALUE
000006ad: DUP1
000006ae: ISZERO
000006af: PUSH2 0x06b6
000006b2: JUMPI
000006b3: PUSH0
000006b4: PUSH0
000006b5: REVERT
000006b6: JUMPDEST
000006b7: POP
000006b8: PUSH2 0x06ca
000006bb: PUSH2 0x06c5
000006be: CALLDATASIZE
000006bf: PUSH1 0x04
000006c1: PUSH2 0x4ea3
000006c4: JUMP
000006c5: JUMPDEST
000006c6: PUSH2 0x10ac
000006c9: JUMP
000006ca: JUMPDEST
000006cb: PUSH1 0x40
000006cd: MLOAD
000006ce: PUSH2 0x0301
000006d1: SWAP2
000006d2: SWAP1
000006d3: PUSH2 0x4fa0
000006d6: JUMP
000006d7: JUMPDEST
000006d8: CALLVALUE
000006d9: DUP1
000006da: ISZERO
000006db: PUSH2 0x06e2
000006de: JUMPI
000006df: PUSH0
000006e0: PUSH0
000006e1: REVERT
000006e2: JUMPDEST
000006e3: POP
000006e4: PUSH2 0x0329
000006e7: PUSH2 0x06f1
000006ea: CALLDATASIZE
000006eb: PUSH1 0x04
000006ed: PUSH2 0x4fb5
000006f0: JUMP
000006f1: JUMPDEST
000006f2: PUSH2 0x1228
000006f5: JUMP
000006f6: JUMPDEST
000006f7: CALLVALUE
000006f8: DUP1
000006f9: ISZERO
000006fa: PUSH2 0x0701
000006fd: JUMPI
000006fe: PUSH0
000006ff: PUSH0
00000700: REVERT
00000701: JUMPDEST
00000702: POP
00000703: PUSH2 0x02d0
00000706: PUSH2 0x0710
00000709: CALLDATASIZE
0000070a: PUSH1 0x04
0000070c: PUSH2 0x4fd5
0000070f: JUMP
00000710: JUMPDEST
00000711: PUSH2 0x123f
00000714: JUMP
00000715: JUMPDEST
00000716: CALLVALUE
00000717: DUP1
00000718: ISZERO
00000719: PUSH2 0x0720
0000071c: JUMPI
0000071d: PUSH0
0000071e: PUSH0
0000071f: REVERT
00000720: JUMPDEST
00000721: POP
00000722: PUSH2 0x02f5
00000725: PUSH2 0x072f
00000728: CALLDATASIZE
00000729: PUSH1 0x04
0000072b: PUSH2 0x4bc6
0000072e: JUMP
0000072f: JUMPDEST
00000730: PUSH2 0x1494
00000733: JUMP
00000734: JUMPDEST
00000735: CALLVALUE
00000736: DUP1
00000737: ISZERO
00000738: PUSH2 0x073f
0000073b: JUMPI
0000073c: PUSH0
0000073d: PUSH0
0000073e: REVERT
0000073f: JUMPDEST
00000740: POP
00000741: PUSH2 0x02d0
00000744: PUSH2 0x074e
00000747: CALLDATASIZE
00000748: PUSH1 0x04
0000074a: PUSH2 0x4b16
0000074d: JUMP
0000074e: JUMPDEST
0000074f: PUSH2 0x14be
00000752: JUMP
00000753: JUMPDEST
00000754: CALLVALUE
00000755: DUP1
00000756: ISZERO
00000757: PUSH2 0x075e
0000075a: JUMPI
0000075b: PUSH0
0000075c: PUSH0
0000075d: REVERT
0000075e: JUMPDEST
0000075f: POP
00000760: PUSH2 0x0772
00000763: PUSH2 0x076d
00000766: CALLDATASIZE
00000767: PUSH1 0x04
00000769: PUSH2 0x4fb5
0000076c: JUMP
0000076d: JUMPDEST
0000076e: PUSH2 0x14f3
00000771: JUMP
00000772: JUMPDEST
00000773: PUSH1 0x40
00000775: DUP1
00000776: MLOAD
00000777: SWAP3
00000778: DUP4
00000779: MSTORE
0000077a: PUSH1 0x20
0000077c: DUP4
0000077d: ADD
0000077e: SWAP2
0000077f: SWAP1
00000780: SWAP2
00000781: MSTORE
00000782: ADD
00000783: PUSH2 0x0301
00000786: JUMP
00000787: JUMPDEST
00000788: CALLVALUE
00000789: DUP1
0000078a: ISZERO
0000078b: PUSH2 0x0792
0000078e: JUMPI
0000078f: PUSH0
00000790: PUSH0
00000791: REVERT
00000792: JUMPDEST
00000793: POP
00000794: PUSH2 0x0389
00000797: PUSH0
00000798: DUP2
00000799: JUMP
0000079a: JUMPDEST
0000079b: CALLVALUE
0000079c: DUP1
0000079d: ISZERO
0000079e: PUSH2 0x07a5
000007a1: JUMPI
000007a2: PUSH0
000007a3: PUSH0
000007a4: REVERT
000007a5: JUMPDEST
000007a6: POP
000007a7: PUSH2 0x02d0
000007aa: PUSH2 0x07b4
000007ad: CALLDATASIZE
000007ae: PUSH1 0x04
000007b0: PUSH2 0x4ff0
000007b3: JUMP
000007b4: JUMPDEST
000007b5: PUSH2 0x151b
000007b8: JUMP
000007b9: JUMPDEST
000007ba: CALLVALUE
000007bb: DUP1
000007bc: ISZERO
000007bd: PUSH2 0x07c4
000007c0: JUMPI
000007c1: PUSH0
000007c2: PUSH0
000007c3: REVERT
000007c4: JUMPDEST
000007c5: POP
000007c6: PUSH2 0x0389
000007c9: PUSH2 0x07d3
000007cc: CALLDATASIZE
000007cd: PUSH1 0x04
000007cf: PUSH2 0x4b94
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH1 0x3c
000007d6: PUSH1 0x20
000007d8: MSTORE
000007d9: PUSH0
000007da: SWAP1
000007db: DUP2
000007dc: MSTORE
000007dd: PUSH1 0x40
000007df: SWAP1
000007e0: KECCAK256
000007e1: SLOAD
000007e2: DUP2
000007e3: JUMP
000007e4: JUMPDEST
000007e5: CALLVALUE
000007e6: DUP1
000007e7: ISZERO
000007e8: PUSH2 0x07ef
000007eb: JUMPI
000007ec: PUSH0
000007ed: PUSH0
000007ee: REVERT
000007ef: JUMPDEST
000007f0: POP
000007f1: PUSH2 0x02f5
000007f4: PUSH2 0x07fe
000007f7: CALLDATASIZE
000007f8: PUSH1 0x04
000007fa: PUSH2 0x4baf
000007fd: JUMP
000007fe: JUMPDEST
000007ff: PUSH2 0x1681
00000802: JUMP
00000803: JUMPDEST
00000804: CALLVALUE
00000805: DUP1
00000806: ISZERO
00000807: PUSH2 0x080e
0000080a: JUMPI
0000080b: PUSH0
0000080c: PUSH0
0000080d: REVERT
0000080e: JUMPDEST
0000080f: POP
00000810: PUSH2 0x0389
00000813: PUSH1 0x04
00000815: SLOAD
00000816: DUP2
00000817: JUMP
00000818: JUMPDEST
00000819: CALLVALUE
0000081a: DUP1
0000081b: ISZERO
0000081c: PUSH2 0x0823
0000081f: JUMPI
00000820: PUSH0
00000821: PUSH0
00000822: REVERT
00000823: JUMPDEST
00000824: POP
00000825: PUSH2 0x02d0
00000828: PUSH2 0x0832
0000082b: CALLDATASIZE
0000082c: PUSH1 0x04
0000082e: PUSH2 0x4b16
00000831: JUMP
00000832: JUMPDEST
00000833: PUSH2 0x16ac
00000836: JUMP
00000837: JUMPDEST
00000838: CALLVALUE
00000839: DUP1
0000083a: ISZERO
0000083b: PUSH2 0x0842
0000083e: JUMPI
0000083f: PUSH0
00000840: PUSH0
00000841: REVERT
00000842: JUMPDEST
00000843: POP
00000844: PUSH2 0x0389
00000847: PUSH2 0x0851
0000084a: CALLDATASIZE
0000084b: PUSH1 0x04
0000084d: PUSH2 0x4b94
00000850: JUMP
00000851: JUMPDEST
00000852: PUSH1 0x39
00000854: PUSH1 0x20
00000856: MSTORE
00000857: PUSH0
00000858: SWAP1
00000859: DUP2
0000085a: MSTORE
0000085b: PUSH1 0x40
0000085d: SWAP1
0000085e: KECCAK256
0000085f: SLOAD
00000860: DUP2
00000861: JUMP
00000862: JUMPDEST
00000863: CALLVALUE
00000864: DUP1
00000865: ISZERO
00000866: PUSH2 0x086d
00000869: JUMPI
0000086a: PUSH0
0000086b: PUSH0
0000086c: REVERT
0000086d: JUMPDEST
0000086e: POP
0000086f: PUSH2 0x0881
00000872: PUSH2 0x087c
00000875: CALLDATASIZE
00000876: PUSH1 0x04
00000878: PUSH2 0x4b94
0000087b: JUMP
0000087c: JUMPDEST
0000087d: PUSH2 0x16e1
00000880: JUMP
00000881: JUMPDEST
00000882: PUSH1 0x40
00000884: MLOAD
00000885: PUSH2 0x0301
00000888: SWAP2
00000889: SWAP1
0000088a: PUSH2 0x50d8
0000088d: JUMP
0000088e: JUMPDEST
0000088f: CALLVALUE
00000890: DUP1
00000891: ISZERO
00000892: PUSH2 0x0899
00000895: JUMPI
00000896: PUSH0
00000897: PUSH0
00000898: REVERT
00000899: JUMPDEST
0000089a: POP
0000089b: PUSH2 0x02d0
0000089e: PUSH2 0x08a8
000008a1: CALLDATASIZE
000008a2: PUSH1 0x04
000008a4: PUSH2 0x4fb5
000008a7: JUMP
000008a8: JUMPDEST
000008a9: PUSH2 0x1782
000008ac: JUMP
000008ad: JUMPDEST
000008ae: CALLVALUE
000008af: DUP1
000008b0: ISZERO
000008b1: PUSH2 0x08b8
000008b4: JUMPI
000008b5: PUSH0
000008b6: PUSH0
000008b7: REVERT
000008b8: JUMPDEST
000008b9: POP
000008ba: PUSH2 0x06ca
000008bd: PUSH2 0x08c7
000008c0: CALLDATASIZE
000008c1: PUSH1 0x04
000008c3: PUSH2 0x51c7
000008c6: JUMP
000008c7: JUMPDEST
000008c8: PUSH4 0xbc197c81
000008cd: PUSH1 0xe0
000008cf: SHL
000008d0: SWAP6
000008d1: SWAP5
000008d2: POP
000008d3: POP
000008d4: POP
000008d5: POP
000008d6: POP
000008d7: JUMP
000008d8: JUMPDEST
000008d9: CALLVALUE
000008da: DUP1
000008db: ISZERO
000008dc: PUSH2 0x08e3
000008df: JUMPI
000008e0: PUSH0
000008e1: PUSH0
000008e2: REVERT
000008e3: JUMPDEST
000008e4: POP
000008e5: PUSH2 0x06ca
000008e8: PUSH2 0x08f2
000008eb: CALLDATASIZE
000008ec: PUSH1 0x04
000008ee: PUSH2 0x4b16
000008f1: JUMP
000008f2: JUMPDEST
000008f3: PUSH2 0x179c
000008f6: JUMP
000008f7: JUMPDEST
000008f8: CALLVALUE
000008f9: DUP1
000008fa: ISZERO
000008fb: PUSH2 0x0902
000008fe: JUMPI
000008ff: PUSH0
00000900: PUSH0
00000901: REVERT
00000902: JUMPDEST
00000903: POP
00000904: PUSH2 0x0389
00000907: PUSH2 0x0911
0000090a: CALLDATASIZE
0000090b: PUSH1 0x04
0000090d: PUSH2 0x4baf
00000910: JUMP
00000911: JUMPDEST
00000912: PUSH2 0x1928
00000915: JUMP
00000916: JUMPDEST
00000917: CALLVALUE
00000918: DUP1
00000919: ISZERO
0000091a: PUSH2 0x0921
0000091d: JUMPI
0000091e: PUSH0
0000091f: PUSH0
00000920: REVERT
00000921: JUMPDEST
00000922: POP
00000923: PUSH1 0x37
00000925: SLOAD
00000926: PUSH1 0x38
00000928: SLOAD
00000929: PUSH2 0x0772
0000092c: JUMP
0000092d: JUMPDEST
0000092e: CALLVALUE
0000092f: DUP1
00000930: ISZERO
00000931: PUSH2 0x0938
00000934: JUMPI
00000935: PUSH0
00000936: PUSH0
00000937: REVERT
00000938: JUMPDEST
00000939: POP
0000093a: PUSH2 0x0389
0000093d: PUSH2 0x0947
00000940: CALLDATASIZE
00000941: PUSH1 0x04
00000943: PUSH2 0x4b94
00000946: JUMP
00000947: JUMPDEST
00000948: PUSH1 0x3b
0000094a: PUSH1 0x20
0000094c: MSTORE
0000094d: PUSH0
0000094e: SWAP1
0000094f: DUP2
00000950: MSTORE
00000951: PUSH1 0x40
00000953: SWAP1
00000954: KECCAK256
00000955: SLOAD
00000956: DUP2
00000957: JUMP
00000958: JUMPDEST
00000959: CALLVALUE
0000095a: DUP1
0000095b: ISZERO
0000095c: PUSH2 0x0963
0000095f: JUMPI
00000960: PUSH0
00000961: PUSH0
00000962: REVERT
00000963: JUMPDEST
00000964: POP
00000965: PUSH2 0x02d0
00000968: PUSH2 0x0972
0000096b: CALLDATASIZE
0000096c: PUSH1 0x04
0000096e: PUSH2 0x4bc6
00000971: JUMP
00000972: JUMPDEST
00000973: PUSH2 0x193e
00000976: JUMP
00000977: JUMPDEST
00000978: CALLVALUE
00000979: DUP1
0000097a: ISZERO
0000097b: PUSH2 0x0982
0000097e: JUMPI
0000097f: PUSH0
00000980: PUSH0
00000981: REVERT
00000982: JUMPDEST
00000983: POP
00000984: PUSH2 0x0389
00000987: PUSH2 0x0991
0000098a: CALLDATASIZE
0000098b: PUSH1 0x04
0000098d: PUSH2 0x4b94
00000990: JUMP
00000991: JUMPDEST
00000992: PUSH1 0x3d
00000994: PUSH1 0x20
00000996: MSTORE
00000997: PUSH0
00000998: SWAP1
00000999: DUP2
0000099a: MSTORE
0000099b: PUSH1 0x40
0000099d: SWAP1
0000099e: KECCAK256
0000099f: SLOAD
000009a0: DUP2
000009a1: JUMP
000009a2: JUMPDEST
000009a3: CALLVALUE
000009a4: DUP1
000009a5: ISZERO
000009a6: PUSH2 0x09ad
000009a9: JUMPI
000009aa: PUSH0
000009ab: PUSH0
000009ac: REVERT
000009ad: JUMPDEST
000009ae: POP
000009af: PUSH2 0x02d0
000009b2: PUSH2 0x09bc
000009b5: CALLDATASIZE
000009b6: PUSH1 0x04
000009b8: PUSH2 0x4b94
000009bb: JUMP
000009bc: JUMPDEST
000009bd: PUSH2 0x195a
000009c0: JUMP
000009c1: JUMPDEST
000009c2: CALLVALUE
000009c3: DUP1
000009c4: ISZERO
000009c5: PUSH2 0x09cc
000009c8: JUMPI
000009c9: PUSH0
000009ca: PUSH0
000009cb: REVERT
000009cc: JUMPDEST
000009cd: POP
000009ce: PUSH2 0x02f5
000009d1: PUSH2 0x09db
000009d4: CALLDATASIZE
000009d5: PUSH1 0x04
000009d7: PUSH2 0x4baf
000009da: JUMP
000009db: JUMPDEST
000009dc: PUSH2 0x196b
000009df: JUMP
000009e0: JUMPDEST
000009e1: CALLVALUE
000009e2: DUP1
000009e3: ISZERO
000009e4: PUSH2 0x09eb
000009e7: JUMPI
000009e8: PUSH0
000009e9: PUSH0
000009ea: REVERT
000009eb: JUMPDEST
000009ec: POP
000009ed: PUSH2 0x02d0
000009f0: PUSH2 0x09fa
000009f3: CALLDATASIZE
000009f4: PUSH1 0x04
000009f6: PUSH2 0x4b16
000009f9: JUMP
000009fa: JUMPDEST
000009fb: PUSH2 0x198e
000009fe: JUMP
000009ff: JUMPDEST
00000a00: CALLVALUE
00000a01: DUP1
00000a02: ISZERO
00000a03: PUSH2 0x0a0a
00000a06: JUMPI
00000a07: PUSH0
00000a08: PUSH0
00000a09: REVERT
00000a0a: JUMPDEST
00000a0b: POP
00000a0c: PUSH2 0x0329
00000a0f: PUSH2 0x0a19
00000a12: CALLDATASIZE
00000a13: PUSH1 0x04
00000a15: PUSH2 0x5277
00000a18: JUMP
00000a19: JUMPDEST
00000a1a: PUSH2 0x1c83
00000a1d: JUMP
00000a1e: JUMPDEST
00000a1f: CALLVALUE
00000a20: DUP1
00000a21: ISZERO
00000a22: PUSH2 0x0a29
00000a25: JUMPI
00000a26: PUSH0
00000a27: PUSH0
00000a28: REVERT
00000a29: JUMPDEST
00000a2a: POP
00000a2b: PUSH2 0x02d0
00000a2e: PUSH2 0x0a38
00000a31: CALLDATASIZE
00000a32: PUSH1 0x04
00000a34: PUSH2 0x5290
00000a37: JUMP
00000a38: JUMPDEST
00000a39: PUSH2 0x1cdd
00000a3c: JUMP
00000a3d: JUMPDEST
00000a3e: CALLVALUE
00000a3f: DUP1
00000a40: ISZERO
00000a41: PUSH2 0x0a48
00000a44: JUMPI
00000a45: PUSH0
00000a46: PUSH0
00000a47: REVERT
00000a48: JUMPDEST
00000a49: POP
00000a4a: PUSH2 0x02d0
00000a4d: PUSH2 0x0a57
00000a50: CALLDATASIZE
00000a51: PUSH1 0x04
00000a53: PUSH2 0x4b16
00000a56: JUMP
00000a57: JUMPDEST
00000a58: PUSH2 0x1d6d
00000a5b: JUMP
00000a5c: JUMPDEST
00000a5d: CALLVALUE
00000a5e: DUP1
00000a5f: ISZERO
00000a60: PUSH2 0x0a67
00000a63: JUMPI
00000a64: PUSH0
00000a65: PUSH0
00000a66: REVERT
00000a67: JUMPDEST
00000a68: POP
00000a69: PUSH1 0x01
00000a6b: SLOAD
00000a6c: PUSH1 0x02
00000a6e: SLOAD
00000a6f: PUSH2 0x0772
00000a72: JUMP
00000a73: JUMPDEST
00000a74: CALLVALUE
00000a75: DUP1
00000a76: ISZERO
00000a77: PUSH2 0x0a7e
00000a7a: JUMPI
00000a7b: PUSH0
00000a7c: PUSH0
00000a7d: REVERT
00000a7e: JUMPDEST
00000a7f: POP
00000a80: PUSH2 0x06ca
00000a83: PUSH2 0x0a8d
00000a86: CALLDATASIZE
00000a87: PUSH1 0x04
00000a89: PUSH2 0x535a
00000a8c: JUMP
00000a8d: JUMPDEST
00000a8e: PUSH4 0xf23a6e61
00000a93: PUSH1 0xe0
00000a95: SHL
00000a96: SWAP6
00000a97: SWAP5
00000a98: POP
00000a99: POP
00000a9a: POP
00000a9b: POP
00000a9c: POP
00000a9d: JUMP
00000a9e: JUMPDEST
00000a9f: PUSH1 0x74
00000aa1: SLOAD
00000aa2: PUSH1 0x01
00000aa4: PUSH1 0x01
00000aa6: PUSH1 0xa0
00000aa8: SHL
00000aa9: SUB
00000aaa: AND
00000aab: CALLER
00000aac: EQ
00000aad: PUSH2 0x0ac9
00000ab0: JUMPI
00000ab1: PUSH1 0x40
00000ab3: MLOAD
00000ab4: PUSH4 0x129c2ce1
00000ab9: PUSH1 0xe3
00000abb: SHL
00000abc: DUP2
00000abd: MSTORE
00000abe: PUSH1 0x04
00000ac0: ADD
00000ac1: PUSH1 0x40
00000ac3: MLOAD
00000ac4: DUP1
00000ac5: SWAP2
00000ac6: SUB
00000ac7: SWAP1
00000ac8: REVERT
00000ac9: JUMPDEST
00000aca: JUMP
00000acb: JUMPDEST
00000acc: PUSH0
00000acd: PUSH1 0x01
00000acf: PUSH1 0x01
00000ad1: PUSH1 0xe0
00000ad3: SHL
00000ad4: SUB
00000ad5: NOT
00000ad6: DUP3
00000ad7: AND
00000ad8: PUSH4 0x1f3673bb
00000add: PUSH1 0xe0
00000adf: SHL
00000ae0: EQ
00000ae1: DUP1
00000ae2: PUSH2 0x0afb
00000ae5: JUMPI
00000ae6: POP
00000ae7: PUSH1 0x01
00000ae9: PUSH1 0x01
00000aeb: PUSH1 0xe0
00000aed: SHL
00000aee: SUB
00000aef: NOT
00000af0: DUP3
00000af1: AND
00000af2: PUSH4 0x12c01515
00000af7: PUSH1 0xe2
00000af9: SHL
00000afa: EQ
00000afb: JUMPDEST
00000afc: DUP1
00000afd: PUSH2 0x0b0a
00000b00: JUMPI
00000b01: POP
00000b02: PUSH2 0x0b0a
00000b05: DUP3
00000b06: PUSH2 0x1da2
00000b09: JUMP
00000b0a: JUMPDEST
00000b0b: SWAP3
00000b0c: SWAP2
00000b0d: POP
00000b0e: POP
00000b0f: JUMP
00000b10: JUMPDEST
00000b11: PUSH2 0x0b18
00000b14: PUSH2 0x1dc6
00000b17: JUMP
00000b18: JUMPDEST
00000b19: PUSH1 0x01
00000b1b: PUSH1 0x01
00000b1d: PUSH1 0xa0
00000b1f: SHL
00000b20: SUB
00000b21: AND
00000b22: CALLER
00000b23: PUSH1 0x01
00000b25: PUSH1 0x01
00000b27: PUSH1 0xa0
00000b29: SHL
00000b2a: SUB
00000b2b: AND
00000b2c: EQ
00000b2d: PUSH2 0x0b46
00000b30: JUMPI
00000b31: PUSH2 0x0b46
00000b34: PUSH0
00000b35: MLOAD
00000b36: PUSH1 0x20
00000b38: PUSH2 0x5d67
00000b3b: PUSH0
00000b3c: CODECOPY
00000b3d: PUSH0
00000b3e: MLOAD
00000b3f: SWAP1
00000b40: PUSH0
00000b41: MSTORE
00000b42: PUSH2 0x1df4
00000b45: JUMP
00000b46: JUMPDEST
00000b47: DUP5
00000b48: DUP4
00000b49: EQ
00000b4a: ISZERO
00000b4b: DUP1
00000b4c: PUSH2 0x0b55
00000b4f: JUMPI
00000b50: POP
00000b51: DUP5
00000b52: DUP2
00000b53: EQ
00000b54: ISZERO
00000b55: JUMPDEST
00000b56: ISZERO
00000b57: PUSH2 0x0b89
00000b5a: JUMPI
00000b5b: PUSH0
00000b5c: CALLDATALOAD
00000b5d: PUSH1 0x01
00000b5f: PUSH1 0x01
00000b61: PUSH1 0xe0
00000b63: SHL
00000b64: SUB
00000b65: NOT
00000b66: AND
00000b67: PUSH1 0x40
00000b69: MLOAD
00000b6a: PUSH4 0x06b56675
00000b6f: PUSH1 0xe2
00000b71: SHL
00000b72: DUP2
00000b73: MSTORE
00000b74: PUSH1 0x04
00000b76: ADD
00000b77: PUSH2 0x0b80
00000b7a: SWAP2
00000b7b: SWAP1
00000b7c: PUSH2 0x4fa0
00000b7f: JUMP
00000b80: JUMPDEST
00000b81: PUSH1 0x40
00000b83: MLOAD
00000b84: DUP1
00000b85: SWAP2
00000b86: SUB
00000b87: SWAP1
00000b88: REVERT
00000b89: JUMPDEST
00000b8a: PUSH0
00000b8b: JUMPDEST
00000b8c: DUP6
00000b8d: DUP2
00000b8e: LT
00000b8f: ISZERO
00000b90: PUSH2 0x0c7c
00000b93: JUMPI
00000b94: DUP7
00000b95: DUP7
00000b96: DUP3
00000b97: DUP2
00000b98: DUP2
00000b99: LT
00000b9a: PUSH2 0x0ba5
00000b9d: JUMPI
00000b9e: PUSH2 0x0ba5
00000ba1: PUSH2 0x53b1
00000ba4: JUMP
00000ba5: JUMPDEST
00000ba6: SWAP1
00000ba7: POP
00000ba8: PUSH1 0x20
00000baa: MUL
00000bab: ADD
00000bac: PUSH1 0x20
00000bae: DUP2
00000baf: ADD
00000bb0: SWAP1
00000bb1: PUSH2 0x0bba
00000bb4: SWAP2
00000bb5: SWAP1
00000bb6: PUSH2 0x4b94
00000bb9: JUMP
00000bba: JUMPDEST
00000bbb: PUSH1 0x01
00000bbd: PUSH1 0x01
00000bbf: PUSH1 0xa0
00000bc1: SHL
00000bc2: SUB
00000bc3: AND
00000bc4: PUSH4 0xa22cb465
00000bc9: DUP7
00000bca: DUP7
00000bcb: DUP5
00000bcc: DUP2
00000bcd: DUP2
00000bce: LT
00000bcf: PUSH2 0x0bda
00000bd2: JUMPI
00000bd3: PUSH2 0x0bda
00000bd6: PUSH2 0x53b1
00000bd9: JUMP
00000bda: JUMPDEST
00000bdb: SWAP1
00000bdc: POP
00000bdd: PUSH1 0x20
00000bdf: MUL
00000be0: ADD
00000be1: PUSH1 0x20
00000be3: DUP2
00000be4: ADD
00000be5: SWAP1
00000be6: PUSH2 0x0bef
00000be9: SWAP2
00000bea: SWAP1
00000beb: PUSH2 0x4b94
00000bee: JUMP
00000bef: JUMPDEST
00000bf0: DUP6
00000bf1: DUP6
00000bf2: DUP6
00000bf3: DUP2
00000bf4: DUP2
00000bf5: LT
00000bf6: PUSH2 0x0c01
00000bf9: JUMPI
00000bfa: PUSH2 0x0c01
00000bfd: PUSH2 0x53b1
00000c00: JUMP
00000c01: JUMPDEST
00000c02: SWAP1
00000c03: POP
00000c04: PUSH1 0x20
00000c06: MUL
00000c07: ADD
00000c08: PUSH1 0x20
00000c0a: DUP2
00000c0b: ADD
00000c0c: SWAP1
00000c0d: PUSH2 0x0c16
00000c10: SWAP2
00000c11: SWAP1
00000c12: PUSH2 0x53c5
00000c15: JUMP
00000c16: JUMPDEST
00000c17: PUSH1 0x40
00000c19: MLOAD
00000c1a: PUSH1 0x01
00000c1c: PUSH1 0x01
00000c1e: PUSH1 0xe0
00000c20: SHL
00000c21: SUB
00000c22: NOT
00000c23: PUSH1 0xe0
00000c25: DUP6
00000c26: SWAP1
00000c27: SHL
00000c28: AND
00000c29: DUP2
00000c2a: MSTORE
00000c2b: PUSH1 0x01
00000c2d: PUSH1 0x01
00000c2f: PUSH1 0xa0
00000c31: SHL
00000c32: SUB
00000c33: SWAP1
00000c34: SWAP3
00000c35: AND
00000c36: PUSH1 0x04
00000c38: DUP4
00000c39: ADD
00000c3a: MSTORE
00000c3b: ISZERO
00000c3c: ISZERO
00000c3d: PUSH1 0x24
00000c3f: DUP3
00000c40: ADD
00000c41: MSTORE
00000c42: PUSH1 0x44
00000c44: ADD
00000c45: PUSH0
00000c46: PUSH1 0x40
00000c48: MLOAD
00000c49: DUP1
00000c4a: DUP4
00000c4b: SUB
00000c4c: DUP2
00000c4d: PUSH0
00000c4e: DUP8
00000c4f: DUP1
00000c50: EXTCODESIZE
00000c51: ISZERO
00000c52: DUP1
00000c53: ISZERO
00000c54: PUSH2 0x0c5b
00000c57: JUMPI
00000c58: PUSH0
00000c59: PUSH0
00000c5a: REVERT
00000c5b: JUMPDEST
00000c5c: POP
00000c5d: GAS
00000c5e: CALL
00000c5f: ISZERO
00000c60: DUP1
00000c61: ISZERO
00000c62: PUSH2 0x0c6d
00000c65: JUMPI
00000c66: RETURNDATASIZE
00000c67: PUSH0
00000c68: PUSH0
00000c69: RETURNDATACOPY
00000c6a: RETURNDATASIZE
00000c6b: PUSH0
00000c6c: REVERT
00000c6d: JUMPDEST
00000c6e: POP
00000c6f: POP
00000c70: POP
00000c71: POP
00000c72: DUP1
00000c73: PUSH1 0x01
00000c75: ADD
00000c76: SWAP1
00000c77: POP
00000c78: PUSH2 0x0b8b
00000c7b: JUMP
00000c7c: JUMPDEST
00000c7d: POP
00000c7e: POP
00000c7f: POP
00000c80: POP
00000c81: POP
00000c82: POP
00000c83: POP
00000c84: JUMP
00000c85: JUMPDEST
00000c86: PUSH2 0x0c8d
00000c89: PUSH2 0x1dfe
00000c8c: JUMP
00000c8d: JUMPDEST
00000c8e: PUSH2 0x0c97
00000c91: DUP3
00000c92: DUP3
00000c93: PUSH2 0x1e5b
00000c96: JUMP
00000c97: JUMPDEST
00000c98: POP
00000c99: POP
00000c9a: JUMP
00000c9b: JUMPDEST
00000c9c: PUSH2 0x0ca3
00000c9f: PUSH2 0x1f16
00000ca2: JUMP
00000ca3: JUMPDEST
00000ca4: PUSH0
00000ca5: DUP4
00000ca6: SWAP1
00000ca7: SUB
00000ca8: PUSH2 0x0cc4
00000cab: JUMPI
00000cac: PUSH1 0x40
00000cae: MLOAD
00000caf: PUSH4 0x16ee9d3b
00000cb4: PUSH1 0xe1
00000cb6: SHL
00000cb7: DUP2
00000cb8: MSTORE
00000cb9: PUSH1 0x04
00000cbb: ADD
00000cbc: PUSH1 0x40
00000cbe: MLOAD
00000cbf: DUP1
00000cc0: SWAP2
00000cc1: SUB
00000cc2: SWAP1
00000cc3: REVERT
00000cc4: JUMPDEST
00000cc5: PUSH2 0x0cd0
00000cc8: DUP5
00000cc9: DUP5
00000cca: DUP5
00000ccb: DUP5
00000ccc: PUSH2 0x1f5e
00000ccf: JUMP
00000cd0: JUMPDEST
00000cd1: POP
00000cd2: POP
00000cd3: POP
00000cd4: POP
00000cd5: JUMP
00000cd6: JUMPDEST
00000cd7: PUSH2 0x0cde
00000cda: PUSH2 0x1f16
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: PUSH0
00000ce0: DUP6
00000ce1: SWAP1
00000ce2: SUB
00000ce3: PUSH2 0x0cff
00000ce6: JUMPI
00000ce7: PUSH1 0x40
00000ce9: MLOAD
00000cea: PUSH4 0x16ee9d3b
00000cef: PUSH1 0xe1
00000cf1: SHL
00000cf2: DUP2
00000cf3: MSTORE
00000cf4: PUSH1 0x04
00000cf6: ADD
00000cf7: PUSH1 0x40
00000cf9: MLOAD
00000cfa: DUP1
00000cfb: SWAP2
00000cfc: SUB
00000cfd: SWAP1
00000cfe: REVERT
00000cff: JUMPDEST
00000d00: PUSH2 0x0d0d
00000d03: DUP7
00000d04: DUP7
00000d05: DUP7
00000d06: DUP7
00000d07: DUP7
00000d08: DUP7
00000d09: PUSH2 0x202f
00000d0c: JUMP
00000d0d: JUMPDEST
00000d0e: POP
00000d0f: POP
00000d10: POP
00000d11: POP
00000d12: POP
00000d13: POP
00000d14: JUMP
00000d15: JUMPDEST
00000d16: PUSH0
00000d17: SWAP1
00000d18: DUP2
00000d19: MSTORE
00000d1a: PUSH1 0x72
00000d1c: PUSH1 0x20
00000d1e: MSTORE
00000d1f: PUSH1 0x40
00000d21: SWAP1
00000d22: KECCAK256
00000d23: PUSH1 0x01
00000d25: ADD
00000d26: SLOAD
00000d27: SWAP1
00000d28: JUMP
00000d29: JUMPDEST
00000d2a: PUSH2 0x0d32
00000d2d: DUP3
00000d2e: PUSH2 0x0d15
00000d31: JUMP
00000d32: JUMPDEST
00000d33: PUSH2 0x0d3b
00000d36: DUP2
00000d37: PUSH2 0x1df4
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: PUSH2 0x0d45
00000d3f: DUP4
00000d40: DUP4
00000d41: PUSH2 0x21d1
00000d44: JUMP
00000d45: JUMPDEST
00000d46: POP
00000d47: POP
00000d48: POP
00000d49: JUMP
00000d4a: JUMPDEST
00000d4b: PUSH1 0x01
00000d4d: PUSH1 0x01
00000d4f: PUSH1 0xa0
00000d51: SHL
00000d52: SUB
00000d53: DUP2
00000d54: AND
00000d55: CALLER
00000d56: EQ
00000d57: PUSH2 0x0dba
00000d5a: JUMPI
00000d5b: PUSH1 0x40
00000d5d: MLOAD
00000d5e: PUSH3 0x461bcd
00000d62: PUSH1 0xe5
00000d64: SHL
00000d65: DUP2
00000d66: MSTORE
00000d67: PUSH1 0x20
00000d69: PUSH1 0x04
00000d6b: DUP3
00000d6c: ADD
00000d6d: MSTORE
00000d6e: PUSH1 0x2f
00000d70: PUSH1 0x24
00000d72: DUP3
00000d73: ADD
00000d74: MSTORE
00000d75: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365
00000d96: PUSH1 0x44
00000d98: DUP3
00000d99: ADD
00000d9a: MSTORE
00000d9b: PUSH15 0x103937b632b9903337b91039b2b633
00000dab: PUSH1 0x89
00000dad: SHL
00000dae: PUSH1 0x64
00000db0: DUP3
00000db1: ADD
00000db2: MSTORE
00000db3: PUSH1 0x84
00000db5: ADD
00000db6: PUSH2 0x0b80
00000db9: JUMP
00000dba: JUMPDEST
00000dbb: PUSH2 0x0c97
00000dbe: DUP3
00000dbf: DUP3
00000dc0: PUSH2 0x21f2
00000dc3: JUMP
00000dc4: JUMPDEST
00000dc5: PUSH2 0x0dcc
00000dc8: PUSH2 0x1f16
00000dcb: JUMP
00000dcc: JUMPDEST
00000dcd: PUSH1 0x05
00000dcf: DUP1
00000dd0: SLOAD
00000dd1: PUSH1 0x01
00000dd3: PUSH1 0x01
00000dd5: PUSH1 0xa0
00000dd7: SHL
00000dd8: SUB
00000dd9: NOT
00000dda: AND
00000ddb: PUSH1 0x01
00000ddd: PUSH1 0x01
00000ddf: PUSH1 0xa0
00000de1: SHL
00000de2: SUB
00000de3: SWAP3
00000de4: SWAP1
00000de5: SWAP3
00000de6: AND
00000de7: SWAP2
00000de8: SWAP1
00000de9: SWAP2
00000dea: OR
00000deb: SWAP1
00000dec: SSTORE
00000ded: JUMP
00000dee: JUMPDEST
00000def: PUSH2 0x0df6
00000df2: PUSH2 0x1dfe
00000df5: JUMP
00000df6: JUMPDEST
00000df7: PUSH2 0x0ac9
00000dfa: PUSH2 0x2213
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: PUSH2 0x0e06
00000e02: PUSH2 0x225e
00000e05: JUMP
00000e06: JUMPDEST
00000e07: PUSH2 0x0e1e
00000e0a: PUSH2 0x0e18
00000e0d: CALLDATASIZE
00000e0e: DUP4
00000e0f: SWAP1
00000e10: SUB
00000e11: DUP4
00000e12: ADD
00000e13: DUP4
00000e14: PUSH2 0x5421
00000e17: JUMP
00000e18: JUMPDEST
00000e19: CALLER
00000e1a: PUSH2 0x22a3
00000e1d: JUMP
00000e1e: JUMPDEST
00000e1f: POP
00000e20: JUMP
00000e21: JUMPDEST
00000e22: PUSH0
00000e23: PUSH2 0x0e2a
00000e26: PUSH2 0x225e
00000e29: JUMP
00000e2a: JUMPDEST
00000e2b: PUSH2 0x0e85
00000e2e: DUP5
00000e2f: DUP5
00000e30: DUP5
00000e31: DUP1
00000e32: DUP1
00000e33: PUSH1 0x20
00000e35: MUL
00000e36: PUSH1 0x20
00000e38: ADD
00000e39: PUSH1 0x40
00000e3b: MLOAD
00000e3c: SWAP1
00000e3d: DUP2
00000e3e: ADD
00000e3f: PUSH1 0x40
00000e41: MSTORE
00000e42: DUP1
00000e43: SWAP4
00000e44: SWAP3
00000e45: SWAP2
00000e46: SWAP1
00000e47: DUP2
00000e48: DUP2
00000e49: MSTORE
00000e4a: PUSH1 0x20
00000e4c: ADD
00000e4d: PUSH0
00000e4e: SWAP1
00000e4f: JUMPDEST
00000e50: DUP3
00000e51: DUP3
00000e52: LT
00000e53: ISZERO
00000e54: PUSH2 0x0e7b
00000e57: JUMPI
00000e58: PUSH2 0x0e6c
00000e5b: PUSH1 0x60
00000e5d: DUP4
00000e5e: MUL
00000e5f: DUP7
00000e60: ADD
00000e61: CALLDATASIZE
00000e62: DUP2
00000e63: SWAP1
00000e64: SUB
00000e65: DUP2
00000e66: ADD
00000e67: SWAP1
00000e68: PUSH2 0x5474
00000e6b: JUMP
00000e6c: JUMPDEST
00000e6d: DUP2
00000e6e: MSTORE
00000e6f: PUSH1 0x20
00000e71: ADD
00000e72: SWAP1
00000e73: PUSH1 0x01
00000e75: ADD
00000e76: SWAP1
00000e77: PUSH2 0x0e4f
00000e7a: JUMP
00000e7b: JUMPDEST
00000e7c: POP
00000e7d: POP
00000e7e: POP
00000e7f: POP
00000e80: POP
00000e81: PUSH2 0x24f9
00000e84: JUMP
00000e85: JUMPDEST
00000e86: SWAP1
00000e87: POP
00000e88: JUMPDEST
00000e89: SWAP4
00000e8a: SWAP3
00000e8b: POP
00000e8c: POP
00000e8d: POP
00000e8e: JUMP
00000e8f: JUMPDEST
00000e90: PUSH1 0x60
00000e92: DUP1
00000e93: PUSH0
00000e94: PUSH2 0x0e9b
00000e97: PUSH2 0x298c
00000e9a: JUMP
00000e9b: JUMPDEST
00000e9c: SWAP1
00000e9d: POP
00000e9e: DUP4
00000e9f: DUP1
00000ea0: PUSH1 0x01
00000ea2: PUSH1 0x01
00000ea4: PUSH1 0x40
00000ea6: SHL
00000ea7: SUB
00000ea8: DUP2
00000ea9: GT
00000eaa: ISZERO
00000eab: PUSH2 0x0eb6
00000eae: JUMPI
00000eaf: PUSH2 0x0eb6
00000eb2: PUSH2 0x4e08
00000eb5: JUMP
00000eb6: JUMPDEST
00000eb7: PUSH1 0x40
00000eb9: MLOAD
00000eba: SWAP1
00000ebb: DUP1
00000ebc: DUP3
00000ebd: MSTORE
00000ebe: DUP1
00000ebf: PUSH1 0x20
00000ec1: MUL
00000ec2: PUSH1 0x20
00000ec4: ADD
00000ec5: DUP3
00000ec6: ADD
00000ec7: PUSH1 0x40
00000ec9: MSTORE
00000eca: DUP1
00000ecb: ISZERO
00000ecc: PUSH2 0x0edf
00000ecf: JUMPI
00000ed0: DUP2
00000ed1: PUSH1 0x20
00000ed3: ADD
00000ed4: PUSH1 0x20
00000ed6: DUP3
00000ed7: MUL
00000ed8: DUP1
00000ed9: CALLDATASIZE
00000eda: DUP4
00000edb: CALLDATACOPY
00000edc: ADD
00000edd: SWAP1
00000ede: POP
00000edf: JUMPDEST
00000ee0: POP
00000ee1: SWAP4
00000ee2: POP
00000ee3: DUP1
00000ee4: PUSH1 0x01
00000ee6: PUSH1 0x01
00000ee8: PUSH1 0x40
00000eea: SHL
00000eeb: SUB
00000eec: DUP2
00000eed: GT
00000eee: ISZERO
00000eef: PUSH2 0x0efa
00000ef2: JUMPI
00000ef3: PUSH2 0x0efa
00000ef6: PUSH2 0x4e08
00000ef9: JUMP
00000efa: JUMPDEST
00000efb: PUSH1 0x40
00000efd: MLOAD
00000efe: SWAP1
00000eff: DUP1
00000f00: DUP3
00000f01: MSTORE
00000f02: DUP1
00000f03: PUSH1 0x20
00000f05: MUL
00000f06: PUSH1 0x20
00000f08: ADD
00000f09: DUP3
00000f0a: ADD
00000f0b: PUSH1 0x40
00000f0d: MSTORE
00000f0e: DUP1
00000f0f: ISZERO
00000f10: PUSH2 0x0f23
00000f13: JUMPI
00000f14: DUP2
00000f15: PUSH1 0x20
00000f17: ADD
00000f18: PUSH1 0x20
00000f1a: DUP3
00000f1b: MUL
00000f1c: DUP1
00000f1d: CALLDATASIZE
00000f1e: DUP4
00000f1f: CALLDATACOPY
00000f20: ADD
00000f21: SWAP1
00000f22: POP
00000f23: JUMPDEST
00000f24: POP
00000f25: SWAP3
00000f26: POP
00000f27: PUSH0
00000f28: JUMPDEST
00000f29: DUP2
00000f2a: DUP2
00000f2b: LT
00000f2c: ISZERO
00000f2d: PUSH2 0x0ffb
00000f30: JUMPI
00000f31: PUSH0
00000f32: DUP4
00000f33: DUP2
00000f34: DUP10
00000f35: DUP10
00000f36: DUP6
00000f37: DUP2
00000f38: DUP2
00000f39: LT
00000f3a: PUSH2 0x0f45
00000f3d: JUMPI
00000f3e: PUSH2 0x0f45
00000f41: PUSH2 0x53b1
00000f44: JUMP
00000f45: JUMPDEST
00000f46: SWAP1
00000f47: POP
00000f48: PUSH1 0x20
00000f4a: MUL
00000f4b: ADD
00000f4c: PUSH1 0x20
00000f4e: DUP2
00000f4f: ADD
00000f50: SWAP1
00000f51: PUSH2 0x0f5a
00000f54: SWAP2
00000f55: SWAP1
00000f56: PUSH2 0x4b94
00000f59: JUMP
00000f5a: JUMPDEST
00000f5b: PUSH1 0x01
00000f5d: PUSH1 0x01
00000f5f: PUSH1 0xa0
00000f61: SHL
00000f62: SUB
00000f63: SWAP1
00000f64: DUP2
00000f65: AND
00000f66: DUP3
00000f67: MSTORE
00000f68: PUSH1 0x20
00000f6a: DUP3
00000f6b: ADD
00000f6c: SWAP3
00000f6d: SWAP1
00000f6e: SWAP3
00000f6f: MSTORE
00000f70: PUSH1 0x40
00000f72: ADD
00000f73: PUSH0
00000f74: KECCAK256
00000f75: DUP1
00000f76: SLOAD
00000f77: DUP9
00000f78: MLOAD
00000f79: SWAP2
00000f7a: SWAP4
00000f7b: POP
00000f7c: SWAP1
00000f7d: SWAP2
00000f7e: AND
00000f7f: SWAP1
00000f80: DUP8
00000f81: SWAP1
00000f82: DUP5
00000f83: SWAP1
00000f84: DUP2
00000f85: LT
00000f86: PUSH2 0x0f91
00000f89: JUMPI
00000f8a: PUSH2 0x0f91
00000f8d: PUSH2 0x53b1
00000f90: JUMP
00000f91: JUMPDEST
00000f92: PUSH1 0x20
00000f94: MUL
00000f95: PUSH1 0x20
00000f97: ADD
00000f98: ADD
00000f99: SWAP1
00000f9a: PUSH1 0x01
00000f9c: PUSH1 0x01
00000f9e: PUSH1 0xa0
00000fa0: SHL
00000fa1: SUB
00000fa2: AND
00000fa3: SWAP1
00000fa4: DUP2
00000fa5: PUSH1 0x01
00000fa7: PUSH1 0x01
00000fa9: PUSH1 0xa0
00000fab: SHL
00000fac: SUB
00000fad: AND
00000fae: DUP2
00000faf: MSTORE
00000fb0: POP
00000fb1: POP
00000fb2: DUP1
00000fb3: PUSH0
00000fb4: ADD
00000fb5: PUSH1 0x14
00000fb7: SWAP1
00000fb8: SLOAD
00000fb9: SWAP1
00000fba: PUSH2 0x0100
00000fbd: EXP
00000fbe: SWAP1
00000fbf: DIV
00000fc0: PUSH1 0x01
00000fc2: PUSH1 0x01
00000fc4: PUSH1 0x40
00000fc6: SHL
00000fc7: SUB
00000fc8: AND
00000fc9: DUP6
00000fca: DUP4
00000fcb: DUP2
00000fcc: MLOAD
00000fcd: DUP2
00000fce: LT
00000fcf: PUSH2 0x0fda
00000fd2: JUMPI
00000fd3: PUSH2 0x0fda
00000fd6: PUSH2 0x53b1
00000fd9: JUMP
00000fda: JUMPDEST
00000fdb: PUSH1 0x01
00000fdd: PUSH1 0x01
00000fdf: PUSH1 0x40
00000fe1: SHL
00000fe2: SUB
00000fe3: SWAP1
00000fe4: SWAP3
00000fe5: AND
00000fe6: PUSH1 0x20
00000fe8: SWAP3
00000fe9: DUP4
00000fea: MUL
00000feb: SWAP2
00000fec: SWAP1
00000fed: SWAP2
00000fee: ADD
00000fef: SWAP1
00000ff0: SWAP2
00000ff1: ADD
00000ff2: MSTORE
00000ff3: POP
00000ff4: PUSH1 0x01
00000ff6: ADD
00000ff7: PUSH2 0x0f28
00000ffa: JUMP
00000ffb: JUMPDEST
00000ffc: POP
00000ffd: POP
00000ffe: POP
00000fff: SWAP3
00001000: POP
00001001: SWAP3
00001002: SWAP1
00001003: POP
00001004: JUMP
00001005: JUMPDEST
00001006: PUSH0
00001007: PUSH2 0x0e88
0000100a: DUP4
0000100b: DUP4
0000100c: PUSH2 0x29b0
0000100f: JUMP
00001010: JUMPDEST
00001011: PUSH0
00001012: PUSH2 0x1021
00001015: PUSH2 0x101c
00001018: PUSH2 0x2a5f
0000101b: JUMP
0000101c: JUMPDEST
0000101d: PUSH2 0x2a9c
00001020: JUMP
00001021: JUMPDEST
00001022: SWAP1
00001023: POP
00001024: SWAP1
00001025: JUMP
00001026: JUMPDEST
00001027: PUSH2 0x102e
0000102a: PUSH2 0x1dfe
0000102d: JUMP
0000102e: JUMPDEST
0000102f: PUSH2 0x0ac9
00001032: PUSH2 0x2b00
00001035: JUMP
00001036: JUMPDEST
00001037: PUSH2 0x103e
0000103a: PUSH2 0x1f16
0000103d: JUMP
0000103e: JUMPDEST
0000103f: PUSH2 0x1047
00001042: DUP2
00001043: PUSH2 0x2b3c
00001046: JUMP
00001047: JUMPDEST
00001048: PUSH2 0x0c97
0000104b: DUP3
0000104c: DUP3
0000104d: PUSH2 0x2b68
00001050: JUMP
00001051: JUMPDEST
00001052: PUSH2 0x1059
00001055: PUSH2 0x225e
00001058: JUMP
00001059: JUMPDEST
0000105a: PUSH2 0x1061
0000105d: PUSH2 0x1f16
00001060: JUMP
00001061: JUMPDEST
00001062: PUSH2 0x0d0d
00001065: DUP7
00001066: DUP7
00001067: DUP7
00001068: DUP7
00001069: DUP7
0000106a: DUP7
0000106b: PUSH2 0x2bf0
0000106e: JUMP
0000106f: JUMPDEST
00001070: PUSH0
00001071: PUSH2 0x1079
00001074: DUP3
00001075: PUSH2 0x2e91
00001078: JUMP
00001079: JUMPDEST
0000107a: PUSH2 0x1081
0000107d: PUSH2 0x2eb2
00001080: JUMP
00001081: JUMPDEST
00001082: PUSH1 0x01
00001084: PUSH1 0x01
00001086: PUSH1 0xe0
00001088: SHL
00001089: SUB
0000108a: NOT
0000108b: SWAP1
0000108c: SWAP5
0000108d: AND
0000108e: PUSH0
0000108f: SWAP1
00001090: DUP2
00001091: MSTORE
00001092: PUSH1 0x20
00001094: SWAP5
00001095: SWAP1
00001096: SWAP5
00001097: MSTORE
00001098: PUSH1 0x40
0000109a: SWAP1
0000109b: SWAP4
0000109c: KECCAK256
0000109d: SLOAD
0000109e: SWAP3
0000109f: SWAP1
000010a0: SWAP3
000010a1: AND
000010a2: PUSH1 0xff
000010a4: AND
000010a5: ISZERO
000010a6: ISZERO
000010a7: SWAP3
000010a8: SWAP2
000010a9: POP
000010aa: POP
000010ab: JUMP
000010ac: JUMPDEST
000010ad: PUSH0
000010ae: PUSH1 0x0b
000010b0: PUSH2 0x10b8
000010b3: DUP2
000010b4: PUSH2 0x2ed6
000010b7: JUMP
000010b8: JUMPDEST
000010b9: DUP3
000010ba: MLOAD
000010bb: DUP7
000010bc: SWAP1
000010bd: DUP2
000010be: EQ
000010bf: ISZERO
000010c0: DUP1
000010c1: PUSH2 0x10ca
000010c4: JUMPI
000010c5: POP
000010c6: DUP1
000010c7: DUP6
000010c8: EQ
000010c9: ISZERO
000010ca: JUMPDEST
000010cb: ISZERO
000010cc: PUSH2 0x10f5
000010cf: JUMPI
000010d0: PUSH0
000010d1: CALLDATALOAD
000010d2: PUSH1 0x01
000010d4: PUSH1 0x01
000010d6: PUSH1 0xe0
000010d8: SHL
000010d9: SUB
000010da: NOT
000010db: AND
000010dc: PUSH1 0x40
000010de: MLOAD
000010df: PUSH4 0x06b56675
000010e4: PUSH1 0xe2
000010e6: SHL
000010e7: DUP2
000010e8: MSTORE
000010e9: PUSH1 0x04
000010eb: ADD
000010ec: PUSH2 0x0b80
000010ef: SWAP2
000010f0: SWAP1
000010f1: PUSH2 0x4fa0
000010f4: JUMP
000010f5: JUMPDEST
000010f6: DUP1
000010f7: PUSH0
000010f8: SUB
000010f9: PUSH2 0x110c
000010fc: JUMPI
000010fd: POP
000010fe: PUSH4 0x47c28ec5
00001103: PUSH1 0xe1
00001105: SHL
00001106: SWAP2
00001107: POP
00001108: PUSH2 0x121e
0000110b: JUMP
0000110c: JUMPDEST
0000110d: PUSH0
0000110e: JUMPDEST
0000110f: DUP2
00001110: DUP2
00001111: LT
00001112: ISZERO
00001113: PUSH2 0x1211
00001116: JUMPI
00001117: DUP5
00001118: DUP2
00001119: DUP2
0000111a: MLOAD
0000111b: DUP2
0000111c: LT
0000111d: PUSH2 0x1128
00001120: JUMPI
00001121: PUSH2 0x1128
00001124: PUSH2 0x53b1
00001127: JUMP
00001128: JUMPDEST
00001129: PUSH1 0x20
0000112b: MUL
0000112c: PUSH1 0x20
0000112e: ADD
0000112f: ADD
00001130: MLOAD
00001131: ISZERO
00001132: PUSH2 0x1209
00001135: JUMPI
00001136: DUP7
00001137: DUP7
00001138: DUP3
00001139: DUP2
0000113a: DUP2
0000113b: LT
0000113c: PUSH2 0x1147
0000113f: JUMPI
00001140: PUSH2 0x1147
00001143: PUSH2 0x53b1
00001146: JUMP
00001147: JUMPDEST
00001148: SWAP1
00001149: POP
0000114a: PUSH1 0x20
0000114c: MUL
0000114d: ADD
0000114e: PUSH1 0x20
00001150: DUP2
00001151: ADD
00001152: SWAP1
00001153: PUSH2 0x115c
00001156: SWAP2
00001157: SWAP1
00001158: PUSH2 0x54b6
0000115b: JUMP
0000115c: JUMPDEST
0000115d: PUSH1 0x7d
0000115f: DUP1
00001160: SLOAD
00001161: PUSH1 0x01
00001163: PUSH1 0x01
00001165: PUSH1 0x60
00001167: SHL
00001168: SUB
00001169: NOT
0000116a: DUP2
0000116b: AND
0000116c: PUSH1 0x01
0000116e: PUSH1 0x01
00001170: PUSH1 0x60
00001172: SHL
00001173: SUB
00001174: SWAP2
00001175: DUP3
00001176: AND
00001177: SWAP4
00001178: SWAP1
00001179: SWAP4
0000117a: ADD
0000117b: AND
0000117c: SWAP2
0000117d: SWAP1
0000117e: SWAP2
0000117f: OR
00001180: SWAP1
00001181: SSTORE
00001182: DUP7
00001183: DUP7
00001184: DUP3
00001185: DUP2
00001186: DUP2
00001187: LT
00001188: PUSH2 0x1193
0000118b: JUMPI
0000118c: PUSH2 0x1193
0000118f: PUSH2 0x53b1
00001192: JUMP
00001193: JUMPDEST
00001194: SWAP1
00001195: POP
00001196: PUSH1 0x20
00001198: MUL
00001199: ADD
0000119a: PUSH1 0x20
0000119c: DUP2
0000119d: ADD
0000119e: SWAP1
0000119f: PUSH2 0x11a8
000011a2: SWAP2
000011a3: SWAP1
000011a4: PUSH2 0x54b6
000011a7: JUMP
000011a8: JUMPDEST
000011a9: PUSH1 0x7e
000011ab: PUSH0
000011ac: DUP12
000011ad: DUP12
000011ae: DUP6
000011af: DUP2
000011b0: DUP2
000011b1: LT
000011b2: PUSH2 0x11bd
000011b5: JUMPI
000011b6: PUSH2 0x11bd
000011b9: PUSH2 0x53b1
000011bc: JUMP
000011bd: JUMPDEST
000011be: SWAP1
000011bf: POP
000011c0: PUSH1 0x20
000011c2: MUL
000011c3: ADD
000011c4: PUSH1 0x20
000011c6: DUP2
000011c7: ADD
000011c8: SWAP1
000011c9: PUSH2 0x11d2
000011cc: SWAP2
000011cd: SWAP1
000011ce: PUSH2 0x4b94
000011d1: JUMP
000011d2: JUMPDEST
000011d3: PUSH1 0x01
000011d5: PUSH1 0x01
000011d7: PUSH1 0xa0
000011d9: SHL
000011da: SUB
000011db: AND
000011dc: DUP2
000011dd: MSTORE
000011de: PUSH1 0x20
000011e0: DUP2
000011e1: ADD
000011e2: SWAP2
000011e3: SWAP1
000011e4: SWAP2
000011e5: MSTORE
000011e6: PUSH1 0x40
000011e8: ADD
000011e9: PUSH0
000011ea: KECCAK256
000011eb: DUP1
000011ec: SLOAD
000011ed: PUSH1 0x01
000011ef: PUSH1 0x01
000011f1: PUSH1 0x60
000011f3: SHL
000011f4: SUB
000011f5: NOT
000011f6: AND
000011f7: PUSH1 0x01
000011f9: PUSH1 0x01
000011fb: PUSH1 0x60
000011fd: SHL
000011fe: SUB
000011ff: SWAP3
00001200: SWAP1
00001201: SWAP3
00001202: AND
00001203: SWAP2
00001204: SWAP1
00001205: SWAP2
00001206: OR
00001207: SWAP1
00001208: SSTORE
00001209: JUMPDEST
0000120a: PUSH1 0x01
0000120c: ADD
0000120d: PUSH2 0x110e
00001210: JUMP
00001211: JUMPDEST
00001212: POP
00001213: PUSH4 0x47c28ec5
00001218: PUSH1 0xe1
0000121a: SHL
0000121b: SWAP3
0000121c: POP
0000121d: POP
0000121e: JUMPDEST
0000121f: POP
00001220: SWAP6
00001221: SWAP5
00001222: POP
00001223: POP
00001224: POP
00001225: POP
00001226: POP
00001227: JUMP
00001228: JUMPDEST
00001229: PUSH0
0000122a: DUP3
0000122b: DUP2
0000122c: MSTORE
0000122d: PUSH1 0x73
0000122f: PUSH1 0x20
00001231: MSTORE
00001232: PUSH1 0x40
00001234: DUP2
00001235: KECCAK256
00001236: PUSH2 0x0e88
00001239: SWAP1
0000123a: DUP4
0000123b: PUSH2 0x2f21
0000123e: JUMP
0000123f: JUMPDEST
00001240: PUSH0
00001241: MLOAD
00001242: PUSH1 0x20
00001244: PUSH2 0x5d87
00001247: PUSH0
00001248: CODECOPY
00001249: PUSH0
0000124a: MLOAD
0000124b: SWAP1
0000124c: PUSH0
0000124d: MSTORE
0000124e: PUSH2 0x1256
00001251: DUP2
00001252: PUSH2 0x1df4
00001255: JUMP
00001256: JUMPDEST
00001257: PUSH0
00001258: PUSH2 0x126e
0000125b: PUSH2 0x1269
0000125e: CALLDATASIZE
0000125f: DUP6
00001260: SWAP1
00001261: SUB
00001262: DUP6
00001263: ADD
00001264: DUP6
00001265: PUSH2 0x5536
00001268: JUMP
00001269: JUMPDEST
0000126a: PUSH2 0x2f2c
0000126d: JUMP
0000126e: JUMPDEST
0000126f: SWAP1
00001270: POP
00001271: PUSH2 0x1282
00001274: PUSH2 0x1269
00001277: CALLDATASIZE
00001278: DUP6
00001279: SWAP1
0000127a: SUB
0000127b: DUP6
0000127c: ADD
0000127d: DUP6
0000127e: PUSH2 0x5536
00001281: JUMP
00001282: JUMPDEST
00001283: DUP4
00001284: CALLDATALOAD
00001285: PUSH0
00001286: SWAP1
00001287: DUP2
00001288: MSTORE
00001289: PUSH1 0x79
0000128b: PUSH1 0x20
0000128d: MSTORE
0000128e: PUSH1 0x40
00001290: SWAP1
00001291: KECCAK256
00001292: SLOAD
00001293: EQ
00001294: PUSH2 0x12b0
00001297: JUMPI
00001298: PUSH1 0x40
0000129a: MLOAD
0000129b: PUSH4 0xf4b8742f
000012a0: PUSH1 0xe0
000012a2: SHL
000012a3: DUP2
000012a4: MSTORE
000012a5: PUSH1 0x04
000012a7: ADD
000012a8: PUSH1 0x40
000012aa: MLOAD
000012ab: DUP1
000012ac: SWAP2
000012ad: SUB
000012ae: SWAP1
000012af: REVERT
000012b0: JUMPDEST
000012b1: DUP3
000012b2: CALLDATALOAD
000012b3: PUSH0
000012b4: SWAP1
000012b5: DUP2
000012b6: MSTORE
000012b7: PUSH1 0x7a
000012b9: PUSH1 0x20
000012bb: MSTORE
000012bc: PUSH1 0x40
000012be: SWAP1
000012bf: KECCAK256
000012c0: SLOAD
000012c1: PUSH1 0xff
000012c3: AND
000012c4: PUSH2 0x12e0
000012c7: JUMPI
000012c8: PUSH1 0x40
000012ca: MLOAD
000012cb: PUSH4 0x147bfe07
000012d0: PUSH1 0xe0
000012d2: SHL
000012d3: DUP2
000012d4: MSTORE
000012d5: PUSH1 0x04
000012d7: ADD
000012d8: PUSH1 0x40
000012da: MLOAD
000012db: DUP1
000012dc: SWAP2
000012dd: SUB
000012de: SWAP1
000012df: REVERT
000012e0: JUMPDEST
000012e1: DUP3
000012e2: CALLDATALOAD
000012e3: PUSH0
000012e4: SWAP1
000012e5: DUP2
000012e6: MSTORE
000012e7: PUSH1 0x7a
000012e9: PUSH1 0x20
000012eb: MSTORE
000012ec: PUSH1 0x40
000012ee: SWAP1
000012ef: DUP2
000012f0: SWAP1
000012f1: KECCAK256
000012f2: DUP1
000012f3: SLOAD
000012f4: PUSH1 0xff
000012f6: NOT
000012f7: AND
000012f8: SWAP1
000012f9: SSTORE
000012fa: MLOAD
000012fb: PUSH32 0xd639511b37b3b002cca6cfe6bca0d833945a5af5a045578a0627fc43b79b2630
0000131c: SWAP1
0000131d: PUSH2 0x1329
00001320: SWAP1
00001321: DUP4
00001322: SWAP1
00001323: DUP7
00001324: SWAP1
00001325: PUSH2 0x560e
00001328: JUMP
00001329: JUMPDEST
0000132a: PUSH1 0x40
0000132c: MLOAD
0000132d: DUP1
0000132e: SWAP2
0000132f: SUB
00001330: SWAP1
00001331: LOG1
00001332: PUSH0
00001333: PUSH2 0x1342
00001336: PUSH1 0x80
00001338: DUP6
00001339: ADD
0000133a: PUSH1 0x60
0000133c: DUP7
0000133d: ADD
0000133e: PUSH2 0x4b94
00001341: JUMP
00001342: JUMPDEST
00001343: SWAP1
00001344: POP
00001345: PUSH0
00001346: PUSH2 0x1357
00001349: PUSH2 0x0120
0000134c: DUP7
0000134d: ADD
0000134e: PUSH2 0x0100
00001351: DUP8
00001352: ADD
00001353: PUSH2 0x5695
00001356: JUMP
00001357: JUMPDEST
00001358: PUSH1 0x02
0000135a: DUP2
0000135b: GT
0000135c: ISZERO
0000135d: PUSH2 0x1368
00001360: JUMPI
00001361: PUSH2 0x1368
00001364: PUSH2 0x50b0
00001367: JUMP
00001368: JUMPDEST
00001369: SUB
0000136a: PUSH2 0x142c
0000136d: JUMPI
0000136e: PUSH0
0000136f: PUSH2 0x1381
00001372: CALLDATASIZE
00001373: DUP7
00001374: SWAP1
00001375: SUB
00001376: DUP7
00001377: ADD
00001378: PUSH2 0x0100
0000137b: DUP8
0000137c: ADD
0000137d: PUSH2 0x56ae
00001380: JUMP
00001381: JUMPDEST
00001382: PUSH1 0x01
00001384: PUSH1 0x01
00001386: PUSH1 0xa0
00001388: SHL
00001389: SUB
0000138a: DUP4
0000138b: AND
0000138c: PUSH0
0000138d: SWAP1
0000138e: DUP2
0000138f: MSTORE
00001390: PUSH1 0x3b
00001392: PUSH1 0x20
00001394: MSTORE
00001395: PUSH1 0x40
00001397: SWAP1
00001398: KECCAK256
00001399: SLOAD
0000139a: SWAP1
0000139b: SWAP2
0000139c: POP
0000139d: PUSH2 0x13ac
000013a0: SWAP1
000013a1: PUSH2 0x0140
000013a4: DUP8
000013a5: ADD
000013a6: CALLDATALOAD
000013a7: SWAP1
000013a8: PUSH2 0x2ff3
000013ab: JUMP
000013ac: JUMPDEST
000013ad: PUSH1 0x40
000013af: DUP3
000013b0: ADD
000013b1: MSTORE
000013b2: PUSH0
000013b3: PUSH2 0x13c5
000013b6: CALLDATASIZE
000013b7: DUP8
000013b8: SWAP1
000013b9: SUB
000013ba: DUP8
000013bb: ADD
000013bc: PUSH2 0x0100
000013bf: DUP9
000013c0: ADD
000013c1: PUSH2 0x56ae
000013c4: JUMP
000013c5: JUMPDEST
000013c6: PUSH1 0x40
000013c8: DUP4
000013c9: ADD
000013ca: MLOAD
000013cb: SWAP1
000013cc: SWAP2
000013cd: POP
000013ce: PUSH2 0x13dc
000013d1: SWAP1
000013d2: PUSH2 0x0140
000013d5: DUP9
000013d6: ADD
000013d7: CALLDATALOAD
000013d8: PUSH2 0x56dc
000013db: JUMP
000013dc: JUMPDEST
000013dd: PUSH1 0x40
000013df: DUP3
000013e0: ADD
000013e1: MSTORE
000013e2: PUSH1 0x74
000013e4: SLOAD
000013e5: PUSH2 0x13fc
000013e8: SWAP1
000013e9: DUP4
000013ea: SWAP1
000013eb: CALLER
000013ec: SWAP1
000013ed: DUP7
000013ee: SWAP1
000013ef: PUSH1 0x01
000013f1: PUSH1 0x01
000013f3: PUSH1 0xa0
000013f5: SHL
000013f6: SUB
000013f7: AND
000013f8: PUSH2 0x300c
000013fb: JUMP
000013fc: JUMPDEST
000013fd: PUSH2 0x1425
00001400: PUSH2 0x140f
00001403: PUSH1 0x60
00001405: DUP9
00001406: ADD
00001407: PUSH1 0x40
00001409: DUP10
0000140a: ADD
0000140b: PUSH2 0x4b94
0000140e: JUMP
0000140f: JUMPDEST
00001410: PUSH1 0x74
00001412: SLOAD
00001413: DUP4
00001414: SWAP2
00001415: SWAP1
00001416: DUP7
00001417: SWAP1
00001418: PUSH1 0x01
0000141a: PUSH1 0x01
0000141c: PUSH1 0xa0
0000141e: SHL
0000141f: SUB
00001420: AND
00001421: PUSH2 0x300c
00001424: JUMP
00001425: JUMPDEST
00001426: POP
00001427: POP
00001428: PUSH2 0x1468
0000142b: JUMP
0000142c: JUMPDEST
0000142d: PUSH2 0x1468
00001430: PUSH2 0x143f
00001433: PUSH1 0x60
00001435: DUP7
00001436: ADD
00001437: PUSH1 0x40
00001439: DUP8
0000143a: ADD
0000143b: PUSH2 0x4b94
0000143e: JUMP
0000143f: JUMPDEST
00001440: PUSH1 0x74
00001442: SLOAD
00001443: DUP4
00001444: SWAP1
00001445: PUSH1 0x01
00001447: PUSH1 0x01
00001449: PUSH1 0xa0
0000144b: SHL
0000144c: SUB
0000144d: AND
0000144e: PUSH2 0x1460
00001451: CALLDATASIZE
00001452: DUP10
00001453: SWAP1
00001454: SUB
00001455: DUP10
00001456: ADD
00001457: PUSH2 0x0100
0000145a: DUP11
0000145b: ADD
0000145c: PUSH2 0x56ae
0000145f: JUMP
00001460: JUMPDEST
00001461: SWAP3
00001462: SWAP2
00001463: SWAP1
00001464: PUSH2 0x300c
00001467: JUMP
00001468: JUMPDEST
00001469: PUSH0
0000146a: MLOAD
0000146b: PUSH1 0x20
0000146d: PUSH2 0x5d47
00001470: PUSH0
00001471: CODECOPY
00001472: PUSH0
00001473: MLOAD
00001474: SWAP1
00001475: PUSH0
00001476: MSTORE
00001477: DUP3
00001478: DUP6
00001479: PUSH1 0x40
0000147b: MLOAD
0000147c: PUSH2 0x1486
0000147f: SWAP3
00001480: SWAP2
00001481: SWAP1
00001482: PUSH2 0x560e
00001485: JUMP
00001486: JUMPDEST
00001487: PUSH1 0x40
00001489: MLOAD
0000148a: DUP1
0000148b: SWAP2
0000148c: SUB
0000148d: SWAP1
0000148e: LOG1
0000148f: POP
00001490: POP
00001491: POP
00001492: POP
00001493: JUMP
00001494: JUMPDEST
00001495: PUSH0
00001496: SWAP2
00001497: DUP3
00001498: MSTORE
00001499: PUSH1 0x72
0000149b: PUSH1 0x20
0000149d: SWAP1
0000149e: DUP2
0000149f: MSTORE
000014a0: PUSH1 0x40
000014a2: DUP1
000014a3: DUP5
000014a4: KECCAK256
000014a5: PUSH1 0x01
000014a7: PUSH1 0x01
000014a9: PUSH1 0xa0
000014ab: SHL
000014ac: SUB
000014ad: SWAP4
000014ae: SWAP1
000014af: SWAP4
000014b0: AND
000014b1: DUP5
000014b2: MSTORE
000014b3: SWAP2
000014b4: SWAP1
000014b5: MSTORE
000014b6: SWAP1
000014b7: KECCAK256
000014b8: SLOAD
000014b9: PUSH1 0xff
000014bb: AND
000014bc: SWAP1
000014bd: JUMP
000014be: JUMPDEST
000014bf: PUSH2 0x14c6
000014c2: PUSH2 0x1f16
000014c5: JUMP
000014c6: JUMPDEST
000014c7: PUSH0
000014c8: DUP4
000014c9: SWAP1
000014ca: SUB
000014cb: PUSH2 0x14e7
000014ce: JUMPI
000014cf: PUSH1 0x40
000014d1: MLOAD
000014d2: PUSH4 0x16ee9d3b
000014d7: PUSH1 0xe1
000014d9: SHL
000014da: DUP2
000014db: MSTORE
000014dc: PUSH1 0x04
000014de: ADD
000014df: PUSH1 0x40
000014e1: MLOAD
000014e2: DUP1
000014e3: SWAP2
000014e4: SUB
000014e5: SWAP1
000014e6: REVERT
000014e7: JUMPDEST
000014e8: PUSH2 0x0cd0
000014eb: DUP5
000014ec: DUP5
000014ed: DUP5
000014ee: DUP5
000014ef: PUSH2 0x323a
000014f2: JUMP
000014f3: JUMPDEST
000014f4: PUSH0
000014f5: PUSH0
000014f6: PUSH2 0x14fd
000014f9: PUSH2 0x1f16
000014fc: JUMP
000014fd: JUMPDEST
000014fe: PUSH2 0x1507
00001501: DUP5
00001502: DUP5
00001503: PUSH2 0x330b
00001506: JUMP
00001507: JUMPDEST
00001508: SWAP1
00001509: SWAP3
0000150a: POP
0000150b: SWAP1
0000150c: POP
0000150d: PUSH2 0x1514
00001510: PUSH2 0x33b2
00001513: JUMP
00001514: JUMPDEST
00001515: SWAP3
00001516: POP
00001517: SWAP3
00001518: SWAP1
00001519: POP
0000151a: JUMP
0000151b: JUMPDEST
0000151c: PUSH1 0x71
0000151e: SLOAD
0000151f: PUSH1 0x05
00001521: SWAP1
00001522: PUSH2 0x0100
00001525: SWAP1
00001526: DIV
00001527: PUSH1 0xff
00001529: AND
0000152a: ISZERO
0000152b: DUP1
0000152c: ISZERO
0000152d: PUSH2 0x153d
00001530: JUMPI
00001531: POP
00001532: PUSH1 0x71
00001534: SLOAD
00001535: PUSH1 0xff
00001537: DUP1
00001538: DUP4
00001539: AND
0000153a: SWAP2
0000153b: AND
0000153c: LT
0000153d: JUMPDEST
0000153e: PUSH2 0x15a0
00001541: JUMPI
00001542: PUSH1 0x40
00001544: MLOAD
00001545: PUSH3 0x461bcd
00001549: PUSH1 0xe5
0000154b: SHL
0000154c: DUP2
0000154d: MSTORE
0000154e: PUSH1 0x20
00001550: PUSH1 0x04
00001552: DUP3
00001553: ADD
00001554: MSTORE
00001555: PUSH1 0x2e
00001557: PUSH1 0x24
00001559: DUP3
0000155a: ADD
0000155b: MSTORE
0000155c: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
0000157d: PUSH1 0x44
0000157f: DUP3
00001580: ADD
00001581: MSTORE
00001582: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00001591: PUSH1 0x92
00001593: SHL
00001594: PUSH1 0x64
00001596: DUP3
00001597: ADD
00001598: MSTORE
00001599: PUSH1 0x84
0000159b: ADD
0000159c: PUSH2 0x0b80
0000159f: JUMP
000015a0: JUMPDEST
000015a1: PUSH1 0x71
000015a3: DUP1
000015a4: SLOAD
000015a5: PUSH2 0xffff
000015a8: NOT
000015a9: AND
000015aa: PUSH1 0xff
000015ac: DUP4
000015ad: AND
000015ae: OR
000015af: PUSH2 0x0100
000015b2: OR
000015b3: SWAP1
000015b4: SSTORE
000015b5: PUSH2 0x15cb
000015b8: PUSH0
000015b9: MLOAD
000015ba: PUSH1 0x20
000015bc: PUSH2 0x5d67
000015bf: PUSH0
000015c0: CODECOPY
000015c1: PUSH0
000015c2: MLOAD
000015c3: SWAP1
000015c4: PUSH0
000015c5: MSTORE
000015c6: DUP11
000015c7: PUSH2 0x21d1
000015ca: JUMP
000015cb: JUMPDEST
000015cc: PUSH1 0xff
000015ce: PUSH2 0x15de
000015d1: PUSH4 0x258a2abf
000015d6: PUSH1 0xe1
000015d8: SHL
000015d9: DUP3
000015da: PUSH2 0x1e5b
000015dd: JUMP
000015de: JUMPDEST
000015df: PUSH2 0x15ef
000015e2: PUSH4 0x4d0d6673
000015e7: PUSH1 0xe0
000015e9: SHL
000015ea: DUP3
000015eb: PUSH2 0x1e5b
000015ee: JUMP
000015ef: JUMPDEST
000015f0: DUP7
000015f1: ISZERO
000015f2: ISZERO
000015f3: DUP1
000015f4: PUSH2 0x15fc
000015f7: JUMPI
000015f8: POP
000015f9: DUP5
000015fa: ISZERO
000015fb: ISZERO
000015fc: JUMPDEST
000015fd: DUP1
000015fe: PUSH2 0x1606
00001601: JUMPI
00001602: POP
00001603: DUP3
00001604: ISZERO
00001605: ISZERO
00001606: JUMPDEST
00001607: ISZERO
00001608: PUSH2 0x1619
0000160b: JUMPI
0000160c: PUSH2 0x1619
0000160f: DUP9
00001610: DUP9
00001611: DUP9
00001612: DUP9
00001613: DUP9
00001614: DUP9
00001615: PUSH2 0x2bf0
00001618: JUMP
00001619: JUMPDEST
0000161a: POP
0000161b: PUSH1 0x05
0000161d: DUP1
0000161e: SLOAD
0000161f: PUSH1 0x01
00001621: PUSH1 0x01
00001623: PUSH1 0xa0
00001625: SHL
00001626: SUB
00001627: NOT
00001628: AND
00001629: PUSH1 0x01
0000162b: PUSH1 0x01
0000162d: PUSH1 0xa0
0000162f: SHL
00001630: SUB
00001631: DUP11
00001632: AND
00001633: OR
00001634: SWAP1
00001635: SSTORE
00001636: PUSH1 0x71
00001638: DUP1
00001639: SLOAD
0000163a: PUSH2 0xff00
0000163d: NOT
0000163e: AND
0000163f: SWAP1
00001640: SSTORE
00001641: PUSH1 0x40
00001643: MLOAD
00001644: PUSH1 0xff
00001646: DUP3
00001647: AND
00001648: DUP2
00001649: MSTORE
0000164a: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
0000166b: SWAP1
0000166c: PUSH1 0x20
0000166e: ADD
0000166f: PUSH1 0x40
00001671: MLOAD
00001672: DUP1
00001673: SWAP2
00001674: SUB
00001675: SWAP1
00001676: LOG1
00001677: POP
00001678: POP
00001679: POP
0000167a: POP
0000167b: POP
0000167c: POP
0000167d: POP
0000167e: POP
0000167f: POP
00001680: JUMP
00001681: JUMPDEST
00001682: PUSH0
00001683: PUSH2 0x168a
00001686: PUSH2 0x2a5f
00001689: JUMP
0000168a: JUMPDEST
0000168b: PUSH1 0x37
0000168d: SLOAD
0000168e: PUSH2 0x1697
00001691: SWAP2
00001692: SWAP1
00001693: PUSH2 0x56ef
00001696: JUMP
00001697: JUMPDEST
00001698: PUSH1 0x38
0000169a: SLOAD
0000169b: PUSH2 0x16a4
0000169e: SWAP1
0000169f: DUP5
000016a0: PUSH2 0x56ef
000016a3: JUMP
000016a4: JUMPDEST
000016a5: LT
000016a6: ISZERO
000016a7: SWAP3
000016a8: SWAP2
000016a9: POP
000016aa: POP
000016ab: JUMP
000016ac: JUMPDEST
000016ad: PUSH2 0x16b4
000016b0: PUSH2 0x1f16
000016b3: JUMP
000016b4: JUMPDEST
000016b5: PUSH0
000016b6: DUP4
000016b7: SWAP1
000016b8: SUB
000016b9: PUSH2 0x16d5
000016bc: JUMPI
000016bd: PUSH1 0x40
000016bf: MLOAD
000016c0: PUSH4 0x16ee9d3b
000016c5: PUSH1 0xe1
000016c7: SHL
000016c8: DUP2
000016c9: MSTORE
000016ca: PUSH1 0x04
000016cc: ADD
000016cd: PUSH1 0x40
000016cf: MLOAD
000016d0: DUP1
000016d1: SWAP2
000016d2: SUB
000016d3: SWAP1
000016d4: REVERT
000016d5: JUMPDEST
000016d6: PUSH2 0x0cd0
000016d9: DUP5
000016da: DUP5
000016db: DUP5
000016dc: DUP5
000016dd: PUSH2 0x33fe
000016e0: JUMP
000016e1: JUMPDEST
000016e2: PUSH1 0x40
000016e4: DUP1
000016e5: MLOAD
000016e6: DUP1
000016e7: DUP3
000016e8: ADD
000016e9: SWAP1
000016ea: SWAP2
000016eb: MSTORE
000016ec: PUSH0
000016ed: DUP1
000016ee: DUP3
000016ef: MSTORE
000016f0: PUSH1 0x20
000016f2: DUP3
000016f3: ADD
000016f4: MSTORE
000016f5: PUSH1 0x01
000016f7: PUSH1 0x01
000016f9: PUSH1 0xa0
000016fb: SHL
000016fc: SUB
000016fd: DUP3
000016fe: AND
000016ff: PUSH0
00001700: SWAP1
00001701: DUP2
00001702: MSTORE
00001703: PUSH1 0x78
00001705: PUSH1 0x20
00001707: MSTORE
00001708: PUSH1 0x40
0000170a: SWAP1
0000170b: DUP2
0000170c: SWAP1
0000170d: KECCAK256
0000170e: DUP2
0000170f: MLOAD
00001710: DUP1
00001711: DUP4
00001712: ADD
00001713: SWAP1
00001714: SWAP3
00001715: MSTORE
00001716: DUP1
00001717: SLOAD
00001718: DUP3
00001719: SWAP1
0000171a: PUSH1 0xff
0000171c: AND
0000171d: PUSH1 0x02
0000171f: DUP2
00001720: GT
00001721: ISZERO
00001722: PUSH2 0x172d
00001725: JUMPI
00001726: PUSH2 0x172d
00001729: PUSH2 0x50b0
0000172c: JUMP
0000172d: JUMPDEST
0000172e: PUSH1 0x02
00001730: DUP2
00001731: GT
00001732: ISZERO
00001733: PUSH2 0x173e
00001736: JUMPI
00001737: PUSH2 0x173e
0000173a: PUSH2 0x50b0
0000173d: JUMP
0000173e: JUMPDEST
0000173f: DUP2
00001740: MSTORE
00001741: SWAP1
00001742: SLOAD
00001743: PUSH1 0x01
00001745: PUSH1 0x01
00001747: PUSH1 0xa0
00001749: SHL
0000174a: SUB
0000174b: PUSH2 0x0100
0000174e: SWAP1
0000174f: SWAP2
00001750: DIV
00001751: DUP2
00001752: AND
00001753: PUSH1 0x20
00001755: SWAP3
00001756: DUP4
00001757: ADD
00001758: MSTORE
00001759: SWAP1
0000175a: DUP3
0000175b: ADD
0000175c: MLOAD
0000175d: SWAP2
0000175e: SWAP3
0000175f: POP
00001760: AND
00001761: PUSH2 0x177d
00001764: JUMPI
00001765: PUSH1 0x40
00001767: MLOAD
00001768: PUSH4 0x1b79f53b
0000176d: PUSH1 0xe2
0000176f: SHL
00001770: DUP2
00001771: MSTORE
00001772: PUSH1 0x04
00001774: ADD
00001775: PUSH1 0x40
00001777: MLOAD
00001778: DUP1
00001779: SWAP2
0000177a: SUB
0000177b: SWAP1
0000177c: REVERT
0000177d: JUMPDEST
0000177e: SWAP2
0000177f: SWAP1
00001780: POP
00001781: JUMP
00001782: JUMPDEST
00001783: PUSH2 0x178a
00001786: PUSH2 0x1f16
00001789: JUMP
0000178a: JUMPDEST
0000178b: PUSH2 0x1794
0000178e: DUP3
0000178f: DUP3
00001790: PUSH2 0x350b
00001793: JUMP
00001794: JUMPDEST
00001795: PUSH2 0x0c97
00001798: PUSH2 0x33b2
0000179b: JUMP
0000179c: JUMPDEST
0000179d: PUSH0
0000179e: PUSH1 0x0b
000017a0: PUSH2 0x17a8
000017a3: DUP2
000017a4: PUSH2 0x2ed6
000017a7: JUMP
000017a8: JUMPDEST
000017a9: DUP5
000017aa: DUP4
000017ab: DUP2
000017ac: EQ
000017ad: PUSH2 0x17d6
000017b0: JUMPI
000017b1: PUSH0
000017b2: CALLDATALOAD
000017b3: PUSH1 0x01
000017b5: PUSH1 0x01
000017b7: PUSH1 0xe0
000017b9: SHL
000017ba: SUB
000017bb: NOT
000017bc: AND
000017bd: PUSH1 0x40
000017bf: MLOAD
000017c0: PUSH4 0x06b56675
000017c5: PUSH1 0xe2
000017c7: SHL
000017c8: DUP2
000017c9: MSTORE
000017ca: PUSH1 0x04
000017cc: ADD
000017cd: PUSH2 0x0b80
000017d0: SWAP2
000017d1: SWAP1
000017d2: PUSH2 0x4fa0
000017d5: JUMP
000017d6: JUMPDEST
000017d7: DUP1
000017d8: PUSH0
000017d9: SUB
000017da: PUSH2 0x17ed
000017dd: JUMPI
000017de: POP
000017df: PUSH4 0x6242a4ef
000017e4: PUSH1 0xe1
000017e6: SHL
000017e7: SWAP2
000017e8: POP
000017e9: PUSH2 0x191f
000017ec: JUMP
000017ed: JUMPDEST
000017ee: PUSH0
000017ef: PUSH0
000017f0: JUMPDEST
000017f1: DUP3
000017f2: DUP2
000017f3: LT
000017f4: ISZERO
000017f5: PUSH2 0x18d0
000017f8: JUMPI
000017f9: DUP7
000017fa: DUP7
000017fb: DUP3
000017fc: DUP2
000017fd: DUP2
000017fe: LT
000017ff: PUSH2 0x180a
00001802: JUMPI
00001803: PUSH2 0x180a
00001806: PUSH2 0x53b1
00001809: JUMP
0000180a: JUMPDEST
0000180b: SWAP1
0000180c: POP
0000180d: PUSH1 0x20
0000180f: MUL
00001810: ADD
00001811: PUSH1 0x20
00001813: DUP2
00001814: ADD
00001815: SWAP1
00001816: PUSH2 0x181f
00001819: SWAP2
0000181a: SWAP1
0000181b: PUSH2 0x53c5
0000181e: JUMP
0000181f: JUMPDEST
00001820: ISZERO
00001821: PUSH2 0x18c8
00001824: JUMPI
00001825: PUSH1 0x7e
00001827: PUSH0
00001828: DUP11
00001829: DUP11
0000182a: DUP5
0000182b: DUP2
0000182c: DUP2
0000182d: LT
0000182e: PUSH2 0x1839
00001831: JUMPI
00001832: PUSH2 0x1839
00001835: PUSH2 0x53b1
00001838: JUMP
00001839: JUMPDEST
0000183a: SWAP1
0000183b: POP
0000183c: PUSH1 0x20
0000183e: MUL
0000183f: ADD
00001840: PUSH1 0x20
00001842: DUP2
00001843: ADD
00001844: SWAP1
00001845: PUSH2 0x184e
00001848: SWAP2
00001849: SWAP1
0000184a: PUSH2 0x4b94
0000184d: JUMP
0000184e: JUMPDEST
0000184f: PUSH1 0x01
00001851: PUSH1 0x01
00001853: PUSH1 0xa0
00001855: SHL
00001856: SUB
00001857: AND
00001858: DUP2
00001859: MSTORE
0000185a: PUSH1 0x20
0000185c: DUP2
0000185d: ADD
0000185e: SWAP2
0000185f: SWAP1
00001860: SWAP2
00001861: MSTORE
00001862: PUSH1 0x40
00001864: ADD
00001865: PUSH0
00001866: SWAP1
00001867: DUP2
00001868: KECCAK256
00001869: SLOAD
0000186a: PUSH1 0x01
0000186c: PUSH1 0x01
0000186e: PUSH1 0x60
00001870: SHL
00001871: SUB
00001872: AND
00001873: SWAP3
00001874: SWAP1
00001875: SWAP3
00001876: ADD
00001877: SWAP2
00001878: PUSH1 0x7e
0000187a: SWAP1
0000187b: DUP11
0000187c: DUP11
0000187d: DUP5
0000187e: DUP2
0000187f: DUP2
00001880: LT
00001881: PUSH2 0x188c
00001884: JUMPI
00001885: PUSH2 0x188c
00001888: PUSH2 0x53b1
0000188b: JUMP
0000188c: JUMPDEST
0000188d: SWAP1
0000188e: POP
0000188f: PUSH1 0x20
00001891: MUL
00001892: ADD
00001893: PUSH1 0x20
00001895: DUP2
00001896: ADD
00001897: SWAP1
00001898: PUSH2 0x18a1
0000189b: SWAP2
0000189c: SWAP1
0000189d: PUSH2 0x4b94
000018a0: JUMP
000018a1: JUMPDEST
000018a2: PUSH1 0x01
000018a4: PUSH1 0x01
000018a6: PUSH1 0xa0
000018a8: SHL
000018a9: SUB
000018aa: AND
000018ab: DUP2
000018ac: MSTORE
000018ad: PUSH1 0x20
000018af: DUP2
000018b0: ADD
000018b1: SWAP2
000018b2: SWAP1
000018b3: SWAP2
000018b4: MSTORE
000018b5: PUSH1 0x40
000018b7: ADD
000018b8: PUSH0
000018b9: KECCAK256
000018ba: DUP1
000018bb: SLOAD
000018bc: PUSH1 0x01
000018be: PUSH1 0x01
000018c0: PUSH1 0x60
000018c2: SHL
000018c3: SUB
000018c4: NOT
000018c5: AND
000018c6: SWAP1
000018c7: SSTORE
000018c8: JUMPDEST
000018c9: PUSH1 0x01
000018cb: ADD
000018cc: PUSH2 0x17f0
000018cf: JUMP
000018d0: JUMPDEST
000018d1: POP
000018d2: PUSH1 0x7d
000018d4: DUP1
000018d5: SLOAD
000018d6: DUP3
000018d7: SWAP2
000018d8: SWAP1
000018d9: PUSH0
000018da: SWAP1
000018db: PUSH2 0x18ee
000018de: SWAP1
000018df: DUP5
000018e0: SWAP1
000018e1: PUSH1 0x01
000018e3: PUSH1 0x01
000018e5: PUSH1 0x60
000018e7: SHL
000018e8: SUB
000018e9: AND
000018ea: PUSH2 0x5706
000018ed: JUMP
000018ee: JUMPDEST
000018ef: SWAP3
000018f0: POP
000018f1: PUSH2 0x0100
000018f4: EXP
000018f5: DUP2
000018f6: SLOAD
000018f7: DUP2
000018f8: PUSH1 0x01
000018fa: PUSH1 0x01
000018fc: PUSH1 0x60
000018fe: SHL
000018ff: SUB
00001900: MUL
00001901: NOT
00001902: AND
00001903: SWAP1
00001904: DUP4
00001905: PUSH1 0x01
00001907: PUSH1 0x01
00001909: PUSH1 0x60
0000190b: SHL
0000190c: SUB
0000190d: AND
0000190e: MUL
0000190f: OR
00001910: SWAP1
00001911: SSTORE
00001912: POP
00001913: PUSH4 0xc48549de
00001918: PUSH1 0xe0
0000191a: SHL
0000191b: SWAP4
0000191c: POP
0000191d: POP
0000191e: POP
0000191f: JUMPDEST
00001920: POP
00001921: SWAP5
00001922: SWAP4
00001923: POP
00001924: POP
00001925: POP
00001926: POP
00001927: JUMP
00001928: JUMPDEST
00001929: PUSH0
0000192a: DUP2
0000192b: DUP2
0000192c: MSTORE
0000192d: PUSH1 0x73
0000192f: PUSH1 0x20
00001931: MSTORE
00001932: PUSH1 0x40
00001934: DUP2
00001935: KECCAK256
00001936: PUSH2 0x0b0a
00001939: SWAP1
0000193a: PUSH2 0x35ac
0000193d: JUMP
0000193e: JUMPDEST
0000193f: PUSH2 0x1947
00001942: DUP3
00001943: PUSH2 0x0d15
00001946: JUMP
00001947: JUMPDEST
00001948: PUSH2 0x1950
0000194b: DUP2
0000194c: PUSH2 0x1df4
0000194f: JUMP
00001950: JUMPDEST
00001951: PUSH2 0x0d45
00001954: DUP4
00001955: DUP4
00001956: PUSH2 0x21f2
00001959: JUMP
0000195a: JUMPDEST
0000195b: PUSH2 0x1962
0000195e: PUSH2 0x1f16
00001961: JUMP
00001962: JUMPDEST
00001963: PUSH2 0x0e1e
00001966: DUP2
00001967: PUSH2 0x35b5
0000196a: JUMP
0000196b: JUMPDEST
0000196c: PUSH0
0000196d: PUSH2 0x1974
00001970: PUSH2 0x2a5f
00001973: JUMP
00001974: JUMPDEST
00001975: PUSH1 0x01
00001977: SLOAD
00001978: PUSH2 0x1981
0000197b: SWAP2
0000197c: SWAP1
0000197d: PUSH2 0x56ef
00001980: JUMP
00001981: JUMPDEST
00001982: PUSH1 0x02
00001984: SLOAD
00001985: PUSH2 0x16a4
00001988: SWAP1
00001989: DUP5
0000198a: PUSH2 0x56ef
0000198d: JUMP
0000198e: JUMPDEST
0000198f: PUSH2 0x1996
00001992: PUSH2 0x225e
00001995: JUMP
00001996: JUMPDEST
00001997: PUSH0
00001998: MLOAD
00001999: PUSH1 0x20
0000199b: PUSH2 0x5d67
0000199e: PUSH0
0000199f: CODECOPY
000019a0: PUSH0
000019a1: MLOAD
000019a2: SWAP1
000019a3: PUSH0
000019a4: MSTORE
000019a5: PUSH2 0x19ad
000019a8: DUP2
000019a9: PUSH2 0x1df4
000019ac: JUMP
000019ad: JUMPDEST
000019ae: PUSH2 0x19e8
000019b1: DUP6
000019b2: DUP6
000019b3: DUP1
000019b4: DUP1
000019b5: PUSH1 0x20
000019b7: MUL
000019b8: PUSH1 0x20
000019ba: ADD
000019bb: PUSH1 0x40
000019bd: MLOAD
000019be: SWAP1
000019bf: DUP2
000019c0: ADD
000019c1: PUSH1 0x40
000019c3: MSTORE
000019c4: DUP1
000019c5: SWAP4
000019c6: SWAP3
000019c7: SWAP2
000019c8: SWAP1
000019c9: DUP2
000019ca: DUP2
000019cb: MSTORE
000019cc: PUSH1 0x20
000019ce: ADD
000019cf: DUP4
000019d0: DUP4
000019d1: PUSH1 0x20
000019d3: MUL
000019d4: DUP1
000019d5: DUP3
000019d6: DUP5
000019d7: CALLDATACOPY
000019d8: PUSH0
000019d9: SWAP3
000019da: ADD
000019db: SWAP2
000019dc: SWAP1
000019dd: SWAP2
000019de: MSTORE
000019df: POP
000019e0: PUSH2 0x2a99
000019e3: SWAP3
000019e4: POP
000019e5: POP
000019e6: POP
000019e7: JUMP
000019e8: JUMPDEST
000019e9: DUP4
000019ea: DUP4
000019eb: DUP1
000019ec: DUP1
000019ed: PUSH1 0x20
000019ef: MUL
000019f0: PUSH1 0x20
000019f2: ADD
000019f3: PUSH1 0x40
000019f5: MLOAD
000019f6: SWAP1
000019f7: DUP2
000019f8: ADD
000019f9: PUSH1 0x40
000019fb: MSTORE
000019fc: DUP1
000019fd: SWAP4
000019fe: SWAP3
000019ff: SWAP2
00001a00: SWAP1
00001a01: DUP2
00001a02: DUP2
00001a03: MSTORE
00001a04: PUSH1 0x20
00001a06: ADD
00001a07: DUP4
00001a08: DUP4
00001a09: PUSH1 0x20
00001a0b: MUL
00001a0c: DUP1
00001a0d: DUP3
00001a0e: DUP5
00001a0f: CALLDATACOPY
00001a10: PUSH0
00001a11: SWAP3
00001a12: ADD
00001a13: SWAP2
00001a14: SWAP1
00001a15: SWAP2
00001a16: MSTORE
00001a17: POP
00001a18: PUSH2 0x1a27
00001a1b: SWAP3
00001a1c: POP
00001a1d: DUP5
00001a1e: SWAP2
00001a1f: POP
00001a20: DUP4
00001a21: SWAP1
00001a22: POP
00001a23: PUSH2 0x360b
00001a26: JUMP
00001a27: JUMPDEST
00001a28: DUP4
00001a29: PUSH0
00001a2a: DUP1
00001a2b: JUMPDEST
00001a2c: DUP3
00001a2d: DUP2
00001a2e: LT
00001a2f: ISZERO
00001a30: PUSH2 0x1c77
00001a33: JUMPI
00001a34: DUP10
00001a35: DUP10
00001a36: DUP3
00001a37: DUP2
00001a38: DUP2
00001a39: LT
00001a3a: PUSH2 0x1a45
00001a3d: JUMPI
00001a3e: PUSH2 0x1a45
00001a41: PUSH2 0x53b1
00001a44: JUMP
00001a45: JUMPDEST
00001a46: SWAP1
00001a47: POP
00001a48: PUSH1 0x20
00001a4a: MUL
00001a4b: ADD
00001a4c: PUSH1 0x20
00001a4e: DUP2
00001a4f: ADD
00001a50: SWAP1
00001a51: PUSH2 0x1a5a
00001a54: SWAP2
00001a55: SWAP1
00001a56: PUSH2 0x4b94
00001a59: JUMP
00001a5a: JUMPDEST
00001a5b: SWAP2
00001a5c: POP
00001a5d: PUSH1 0x01
00001a5f: PUSH1 0x01
00001a61: PUSH1 0xa0
00001a63: SHL
00001a64: SUB
00001a65: DUP3
00001a66: AND
00001a67: PUSH2 0x1a8e
00001a6a: JUMPI
00001a6b: PUSH2 0x1a8b
00001a6e: DUP9
00001a6f: DUP9
00001a70: DUP4
00001a71: DUP2
00001a72: DUP2
00001a73: LT
00001a74: PUSH2 0x1a7f
00001a77: JUMPI
00001a78: PUSH2 0x1a7f
00001a7b: PUSH2 0x53b1
00001a7e: JUMP
00001a7f: JUMPDEST
00001a80: SWAP1
00001a81: POP
00001a82: PUSH1 0x20
00001a84: MUL
00001a85: ADD
00001a86: CALLDATALOAD
00001a87: PUSH2 0x365c
00001a8a: JUMP
00001a8b: JUMPDEST
00001a8c: SWAP2
00001a8d: POP
00001a8e: JUMPDEST
00001a8f: PUSH0
00001a90: PUSH2 0x1a98
00001a93: DUP4
00001a94: PUSH2 0x3717
00001a97: JUMP
00001a98: JUMPDEST
00001a99: SWAP1
00001a9a: POP
00001a9b: PUSH0
00001a9c: PUSH2 0x1aa4
00001a9f: DUP5
00001aa0: PUSH2 0x3764
00001aa3: JUMP
00001aa4: JUMPDEST
00001aa5: SWAP1
00001aa6: POP
00001aa7: DUP4
00001aa8: PUSH1 0x01
00001aaa: PUSH1 0x01
00001aac: PUSH1 0xa0
00001aae: SHL
00001aaf: SUB
00001ab0: AND
00001ab1: PUSH4 0x095ea7b3
00001ab6: DUP4
00001ab7: DUP13
00001ab8: DUP13
00001ab9: DUP8
00001aba: DUP2
00001abb: DUP2
00001abc: LT
00001abd: PUSH2 0x1ac8
00001ac0: JUMPI
00001ac1: PUSH2 0x1ac8
00001ac4: PUSH2 0x53b1
00001ac7: JUMP
00001ac8: JUMPDEST
00001ac9: SWAP1
00001aca: POP
00001acb: PUSH1 0x20
00001acd: MUL
00001ace: ADD
00001acf: CALLDATALOAD
00001ad0: PUSH1 0x40
00001ad2: MLOAD
00001ad3: DUP4
00001ad4: PUSH4 0xffffffff
00001ad9: AND
00001ada: PUSH1 0xe0
00001adc: SHL
00001add: DUP2
00001ade: MSTORE
00001adf: PUSH1 0x04
00001ae1: ADD
00001ae2: PUSH2 0x1aec
00001ae5: SWAP3
00001ae6: SWAP2
00001ae7: SWAP1
00001ae8: PUSH2 0x5725
00001aeb: JUMP
00001aec: JUMPDEST
00001aed: PUSH1 0x20
00001aef: PUSH1 0x40
00001af1: MLOAD
00001af2: DUP1
00001af3: DUP4
00001af4: SUB
00001af5: DUP2
00001af6: PUSH0
00001af7: DUP8
00001af8: GAS
00001af9: CALL
00001afa: ISZERO
00001afb: DUP1
00001afc: ISZERO
00001afd: PUSH2 0x1b08
00001b00: JUMPI
00001b01: RETURNDATASIZE
00001b02: PUSH0
00001b03: PUSH0
00001b04: RETURNDATACOPY
00001b05: RETURNDATASIZE
00001b06: PUSH0
00001b07: REVERT
00001b08: JUMPDEST
00001b09: POP
00001b0a: POP
00001b0b: POP
00001b0c: POP
00001b0d: PUSH1 0x40
00001b0f: MLOAD
00001b10: RETURNDATASIZE
00001b11: PUSH1 0x1f
00001b13: NOT
00001b14: PUSH1 0x1f
00001b16: DUP3
00001b17: ADD
00001b18: AND
00001b19: DUP3
00001b1a: ADD
00001b1b: DUP1
00001b1c: PUSH1 0x40
00001b1e: MSTORE
00001b1f: POP
00001b20: DUP2
00001b21: ADD
00001b22: SWAP1
00001b23: PUSH2 0x1b2c
00001b26: SWAP2
00001b27: SWAP1
00001b28: PUSH2 0x573e
00001b2b: JUMP
00001b2c: JUMPDEST
00001b2d: POP
00001b2e: DUP1
00001b2f: PUSH1 0x01
00001b31: PUSH1 0x01
00001b33: PUSH1 0x40
00001b35: SHL
00001b36: SUB
00001b37: AND
00001b38: PUSH0
00001b39: SUB
00001b3a: PUSH2 0x1bb5
00001b3d: JUMPI
00001b3e: DUP2
00001b3f: PUSH1 0x01
00001b41: PUSH1 0x01
00001b43: PUSH1 0xa0
00001b45: SHL
00001b46: SUB
00001b47: AND
00001b48: PUSH4 0xeb521a4c
00001b4d: DUP12
00001b4e: DUP12
00001b4f: DUP7
00001b50: DUP2
00001b51: DUP2
00001b52: LT
00001b53: PUSH2 0x1b5e
00001b56: JUMPI
00001b57: PUSH2 0x1b5e
00001b5a: PUSH2 0x53b1
00001b5d: JUMP
00001b5e: JUMPDEST
00001b5f: SWAP1
00001b60: POP
00001b61: PUSH1 0x20
00001b63: MUL
00001b64: ADD
00001b65: CALLDATALOAD
00001b66: PUSH1 0x40
00001b68: MLOAD
00001b69: DUP3
00001b6a: PUSH4 0xffffffff
00001b6f: AND
00001b70: PUSH1 0xe0
00001b72: SHL
00001b73: DUP2
00001b74: MSTORE
00001b75: PUSH1 0x04
00001b77: ADD
00001b78: PUSH2 0x1b83
00001b7b: SWAP2
00001b7c: DUP2
00001b7d: MSTORE
00001b7e: PUSH1 0x20
00001b80: ADD
00001b81: SWAP1
00001b82: JUMP
00001b83: JUMPDEST
00001b84: PUSH0
00001b85: PUSH1 0x40
00001b87: MLOAD
00001b88: DUP1
00001b89: DUP4
00001b8a: SUB
00001b8b: DUP2
00001b8c: PUSH0
00001b8d: DUP8
00001b8e: DUP1
00001b8f: EXTCODESIZE
00001b90: ISZERO
00001b91: DUP1
00001b92: ISZERO
00001b93: PUSH2 0x1b9a
00001b96: JUMPI
00001b97: PUSH0
00001b98: PUSH0
00001b99: REVERT
00001b9a: JUMPDEST
00001b9b: POP
00001b9c: GAS
00001b9d: CALL
00001b9e: ISZERO
00001b9f: DUP1
00001ba0: ISZERO
00001ba1: PUSH2 0x1bac
00001ba4: JUMPI
00001ba5: RETURNDATASIZE
00001ba6: PUSH0
00001ba7: PUSH0
00001ba8: RETURNDATACOPY
00001ba9: RETURNDATASIZE
00001baa: PUSH0
00001bab: REVERT
00001bac: JUMPDEST
00001bad: POP
00001bae: POP
00001baf: POP
00001bb0: POP
00001bb1: PUSH2 0x1c6d
00001bb4: JUMP
00001bb5: JUMPDEST
00001bb6: DUP2
00001bb7: PUSH1 0x01
00001bb9: PUSH1 0x01
00001bbb: PUSH1 0xa0
00001bbd: SHL
00001bbe: SUB
00001bbf: AND
00001bc0: PUSH4 0x2d4a148f
00001bc5: DUP3
00001bc6: DUP13
00001bc7: DUP13
00001bc8: DUP8
00001bc9: DUP2
00001bca: DUP2
00001bcb: LT
00001bcc: PUSH2 0x1bd7
00001bcf: JUMPI
00001bd0: PUSH2 0x1bd7
00001bd3: PUSH2 0x53b1
00001bd6: JUMP
00001bd7: JUMPDEST
00001bd8: SWAP1
00001bd9: POP
00001bda: PUSH1 0x20
00001bdc: MUL
00001bdd: ADD
00001bde: CALLDATALOAD
00001bdf: PUSH1 0x40
00001be1: MLOAD
00001be2: DUP4
00001be3: PUSH4 0xffffffff
00001be8: AND
00001be9: PUSH1 0xe0
00001beb: SHL
00001bec: DUP2
00001bed: MSTORE
00001bee: PUSH1 0x04
00001bf0: ADD
00001bf1: PUSH2 0x1bfb
00001bf4: SWAP3
00001bf5: SWAP2
00001bf6: SWAP1
00001bf7: PUSH2 0x5759
00001bfa: JUMP
00001bfb: JUMPDEST
00001bfc: PUSH0
00001bfd: PUSH1 0x40
00001bff: MLOAD
00001c00: DUP1
00001c01: DUP4
00001c02: SUB
00001c03: DUP2
00001c04: PUSH0
00001c05: DUP8
00001c06: DUP1
00001c07: EXTCODESIZE
00001c08: ISZERO
00001c09: DUP1
00001c0a: ISZERO
00001c0b: PUSH2 0x1c12
00001c0e: JUMPI
00001c0f: PUSH0
00001c10: PUSH0
00001c11: REVERT
00001c12: JUMPDEST
00001c13: POP
00001c14: GAS
00001c15: CALL
00001c16: SWAP3
00001c17: POP
00001c18: POP
00001c19: POP
00001c1a: DUP1
00001c1b: ISZERO
00001c1c: PUSH2 0x1c23
00001c1f: JUMPI
00001c20: POP
00001c21: PUSH1 0x01
00001c23: JUMPDEST
00001c24: PUSH2 0x1c6d
00001c27: JUMPI
00001c28: DUP2
00001c29: PUSH1 0x01
00001c2b: PUSH1 0x01
00001c2d: PUSH1 0xa0
00001c2f: SHL
00001c30: SUB
00001c31: AND
00001c32: PUSH4 0x1101dbd4
00001c37: DUP3
00001c38: DUP13
00001c39: DUP13
00001c3a: DUP8
00001c3b: DUP2
00001c3c: DUP2
00001c3d: LT
00001c3e: PUSH2 0x1c49
00001c41: JUMPI
00001c42: PUSH2 0x1c49
00001c45: PUSH2 0x53b1
00001c48: JUMP
00001c49: JUMPDEST
00001c4a: SWAP1
00001c4b: POP
00001c4c: PUSH1 0x20
00001c4e: MUL
00001c4f: ADD
00001c50: CALLDATALOAD
00001c51: PUSH1 0x40
00001c53: MLOAD
00001c54: DUP4
00001c55: PUSH4 0xffffffff
00001c5a: AND
00001c5b: PUSH1 0xe0
00001c5d: SHL
00001c5e: DUP2
00001c5f: MSTORE
00001c60: PUSH1 0x04
00001c62: ADD
00001c63: PUSH2 0x1b83
00001c66: SWAP3
00001c67: SWAP2
00001c68: SWAP1
00001c69: PUSH2 0x5759
00001c6c: JUMP
00001c6d: JUMPDEST
00001c6e: POP
00001c6f: POP
00001c70: PUSH1 0x01
00001c72: ADD
00001c73: PUSH2 0x1a2b
00001c76: JUMP
00001c77: JUMPDEST
00001c78: POP
00001c79: POP
00001c7a: POP
00001c7b: POP
00001c7c: POP
00001c7d: POP
00001c7e: POP
00001c7f: POP
00001c80: POP
00001c81: POP
00001c82: JUMP
00001c83: JUMPDEST
00001c84: PUSH0
00001c85: PUSH2 0x1c8c
00001c88: PUSH2 0x379c
00001c8b: JUMP
00001c8c: JUMPDEST
00001c8d: PUSH0
00001c8e: DUP4
00001c8f: PUSH1 0x0f
00001c91: DUP2
00001c92: GT
00001c93: ISZERO
00001c94: PUSH2 0x1c9f
00001c97: JUMPI
00001c98: PUSH2 0x1c9f
00001c9b: PUSH2 0x50b0
00001c9e: JUMP
00001c9f: JUMPDEST
00001ca0: PUSH1 0xff
00001ca2: AND
00001ca3: DUP2
00001ca4: MSTORE
00001ca5: PUSH1 0x20
00001ca7: DUP2
00001ca8: ADD
00001ca9: SWAP2
00001caa: SWAP1
00001cab: SWAP2
00001cac: MSTORE
00001cad: PUSH1 0x40
00001caf: ADD
00001cb0: PUSH0
00001cb1: KECCAK256
00001cb2: SLOAD
00001cb3: PUSH1 0x01
00001cb5: PUSH1 0x01
00001cb7: PUSH1 0xa0
00001cb9: SHL
00001cba: SUB
00001cbb: AND
00001cbc: SWAP1
00001cbd: POP
00001cbe: DUP1
00001cbf: PUSH2 0x177d
00001cc2: JUMPI
00001cc3: DUP2
00001cc4: PUSH1 0x40
00001cc6: MLOAD
00001cc7: PUSH4 0x409140df
00001ccc: PUSH1 0xe1
00001cce: SHL
00001ccf: DUP2
00001cd0: MSTORE
00001cd1: PUSH1 0x04
00001cd3: ADD
00001cd4: PUSH2 0x0b80
00001cd7: SWAP2
00001cd8: SWAP1
00001cd9: PUSH2 0x5782
00001cdc: JUMP
00001cdd: JUMPDEST
00001cde: PUSH2 0x1ce5
00001ce1: PUSH2 0x1f16
00001ce4: JUMP
00001ce5: JUMPDEST
00001ce6: PUSH0
00001ce7: DUP7
00001ce8: SWAP1
00001ce9: SUB
00001cea: PUSH2 0x1d06
00001ced: JUMPI
00001cee: PUSH1 0x40
00001cf0: MLOAD
00001cf1: PUSH4 0x16ee9d3b
00001cf6: PUSH1 0xe1
00001cf8: SHL
00001cf9: DUP2
00001cfa: MSTORE
00001cfb: PUSH1 0x04
00001cfd: ADD
00001cfe: PUSH1 0x40
00001d00: MLOAD
00001d01: DUP1
00001d02: SWAP2
00001d03: SUB
00001d04: SWAP1
00001d05: REVERT
00001d06: JUMPDEST
00001d07: PUSH2 0x1d14
00001d0a: DUP8
00001d0b: DUP8
00001d0c: DUP8
00001d0d: DUP8
00001d0e: DUP8
00001d0f: DUP8
00001d10: PUSH2 0x202f
00001d13: JUMP
00001d14: JUMPDEST
00001d15: PUSH2 0x1d28
00001d18: DUP8
00001d19: DUP8
00001d1a: PUSH2 0x1d23
00001d1d: DUP5
00001d1e: DUP1
00001d1f: PUSH2 0x5790
00001d22: JUMP
00001d23: JUMPDEST
00001d24: PUSH2 0x323a
00001d27: JUMP
00001d28: JUMPDEST
00001d29: PUSH2 0x1d3f
00001d2c: DUP8
00001d2d: DUP8
00001d2e: PUSH2 0x1d3a
00001d31: PUSH1 0x20
00001d33: DUP6
00001d34: ADD
00001d35: DUP6
00001d36: PUSH2 0x5790
00001d39: JUMP
00001d3a: JUMPDEST
00001d3b: PUSH2 0x1f5e
00001d3e: JUMP
00001d3f: JUMPDEST
00001d40: PUSH2 0x1d56
00001d43: DUP8
00001d44: DUP8
00001d45: PUSH2 0x1d51
00001d48: PUSH1 0x40
00001d4a: DUP6
00001d4b: ADD
00001d4c: DUP6
00001d4d: PUSH2 0x5790
00001d50: JUMP
00001d51: JUMPDEST
00001d52: PUSH2 0x33fe
00001d55: JUMP
00001d56: JUMPDEST
00001d57: PUSH2 0x0c7c
00001d5a: DUP8
00001d5b: DUP8
00001d5c: PUSH2 0x1d68
00001d5f: PUSH1 0x60
00001d61: DUP6
00001d62: ADD
00001d63: DUP6
00001d64: PUSH2 0x5790
00001d67: JUMP
00001d68: JUMPDEST
00001d69: PUSH2 0x37c0
00001d6c: JUMP
00001d6d: JUMPDEST
00001d6e: PUSH2 0x1d75
00001d71: PUSH2 0x1f16
00001d74: JUMP
00001d75: JUMPDEST
00001d76: PUSH0
00001d77: DUP4
00001d78: SWAP1
00001d79: SUB
00001d7a: PUSH2 0x1d96
00001d7d: JUMPI
00001d7e: PUSH1 0x40
00001d80: MLOAD
00001d81: PUSH4 0x16ee9d3b
00001d86: PUSH1 0xe1
00001d88: SHL
00001d89: DUP2
00001d8a: MSTORE
00001d8b: PUSH1 0x04
00001d8d: ADD
00001d8e: PUSH1 0x40
00001d90: MLOAD
00001d91: DUP1
00001d92: SWAP2
00001d93: SUB
00001d94: SWAP1
00001d95: REVERT
00001d96: JUMPDEST
00001d97: PUSH2 0x0cd0
00001d9a: DUP5
00001d9b: DUP5
00001d9c: DUP5
00001d9d: DUP5
00001d9e: PUSH2 0x37c0
00001da1: JUMP
00001da2: JUMPDEST
00001da3: PUSH0
00001da4: PUSH1 0x01
00001da6: PUSH1 0x01
00001da8: PUSH1 0xe0
00001daa: SHL
00001dab: SUB
00001dac: NOT
00001dad: DUP3
00001dae: AND
00001daf: PUSH4 0x5a05180f
00001db4: PUSH1 0xe0
00001db6: SHL
00001db7: EQ
00001db8: DUP1
00001db9: PUSH2 0x0b0a
00001dbc: JUMPI
00001dbd: POP
00001dbe: PUSH2 0x0b0a
00001dc1: DUP3
00001dc2: PUSH2 0x3891
00001dc5: JUMP
00001dc6: JUMPDEST
00001dc7: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
00001de8: SLOAD
00001de9: PUSH1 0x01
00001deb: PUSH1 0x01
00001ded: PUSH1 0xa0
00001def: SHL
00001df0: SUB
00001df1: AND
00001df2: SWAP1
00001df3: JUMP
00001df4: JUMPDEST
00001df5: PUSH2 0x0e1e
00001df8: DUP2
00001df9: CALLER
00001dfa: PUSH2 0x38b5
00001dfd: JUMP
00001dfe: JUMPDEST
00001dff: PUSH2 0x1e06
00001e02: PUSH2 0x1dc6
00001e05: JUMP
00001e06: JUMPDEST
00001e07: PUSH1 0x01
00001e09: PUSH1 0x01
00001e0b: PUSH1 0xa0
00001e0d: SHL
00001e0e: SUB
00001e0f: AND
00001e10: CALLER
00001e11: PUSH1 0x01
00001e13: PUSH1 0x01
00001e15: PUSH1 0xa0
00001e17: SHL
00001e18: SUB
00001e19: AND
00001e1a: EQ
00001e1b: DUP1
00001e1c: PUSH2 0x1e2f
00001e1f: JUMPI
00001e20: POP
00001e21: PUSH1 0x05
00001e23: SLOAD
00001e24: PUSH1 0x01
00001e26: PUSH1 0x01
00001e28: PUSH1 0xa0
00001e2a: SHL
00001e2b: SUB
00001e2c: AND
00001e2d: CALLER
00001e2e: EQ
00001e2f: JUMPDEST
00001e30: PUSH2 0x0ac9
00001e33: JUMPI
00001e34: PUSH0
00001e35: CALLDATALOAD
00001e36: PUSH1 0x01
00001e38: PUSH1 0x01
00001e3a: PUSH1 0xe0
00001e3c: SHL
00001e3d: SUB
00001e3e: NOT
00001e3f: AND
00001e40: PUSH1 0x01
00001e42: PUSH1 0x40
00001e44: MLOAD
00001e45: PUSH3 0x0f948f
00001e49: PUSH1 0xea
00001e4b: SHL
00001e4c: DUP2
00001e4d: MSTORE
00001e4e: PUSH1 0x04
00001e50: ADD
00001e51: PUSH2 0x0b80
00001e54: SWAP3
00001e55: SWAP2
00001e56: SWAP1
00001e57: PUSH2 0x57d5
00001e5a: JUMP
00001e5b: JUMPDEST
00001e5c: DUP1
00001e5d: PUSH2 0x1e64
00001e60: PUSH2 0x2eb2
00001e63: JUMP
00001e64: JUMPDEST
00001e65: PUSH1 0x01
00001e67: PUSH1 0x01
00001e69: PUSH1 0xe0
00001e6b: SHL
00001e6c: SUB
00001e6d: NOT
00001e6e: DUP5
00001e6f: AND
00001e70: PUSH0
00001e71: SWAP1
00001e72: DUP2
00001e73: MSTORE
00001e74: PUSH1 0x20
00001e76: SWAP2
00001e77: SWAP1
00001e78: SWAP2
00001e79: MSTORE
00001e7a: PUSH1 0x40
00001e7c: DUP2
00001e7d: KECCAK256
00001e7e: DUP1
00001e7f: SLOAD
00001e80: PUSH1 0xff
00001e82: NOT
00001e83: AND
00001e84: PUSH1 0xff
00001e86: SWAP4
00001e87: DUP5
00001e88: AND
00001e89: OR
00001e8a: SWAP1
00001e8b: SSTORE
00001e8c: SWAP1
00001e8d: DUP3
00001e8e: AND
00001e8f: SWAP1
00001e90: SUB
00001e91: PUSH2 0x1ece
00001e94: JUMPI
00001e95: PUSH1 0x40
00001e97: MLOAD
00001e98: PUSH1 0x01
00001e9a: PUSH1 0x01
00001e9c: PUSH1 0xe0
00001e9e: SHL
00001e9f: SUB
00001ea0: NOT
00001ea1: DUP4
00001ea2: AND
00001ea3: SWAP1
00001ea4: CALLER
00001ea5: SWAP1
00001ea6: PUSH32 0x4f91021730250ae6dd01e5ee7051cfde47c138483157131349b5f07a7c7c29c3
00001ec7: SWAP1
00001ec8: PUSH0
00001ec9: SWAP1
00001eca: LOG3
00001ecb: POP
00001ecc: POP
00001ecd: JUMP
00001ece: JUMPDEST
00001ecf: PUSH1 0x40
00001ed1: MLOAD
00001ed2: PUSH1 0xff
00001ed4: DUP3
00001ed5: AND
00001ed6: DUP2
00001ed7: MSTORE
00001ed8: PUSH1 0x01
00001eda: PUSH1 0x01
00001edc: PUSH1 0xe0
00001ede: SHL
00001edf: SUB
00001ee0: NOT
00001ee1: DUP4
00001ee2: AND
00001ee3: SWAP1
00001ee4: CALLER
00001ee5: SWAP1
00001ee6: PUSH32 0x9562876a66c0b06c9a42651c249575b275ba92206f3daffa644c8c6a1856c8eb
00001f07: SWAP1
00001f08: PUSH1 0x20
00001f0a: ADD
00001f0b: PUSH1 0x40
00001f0d: MLOAD
00001f0e: DUP1
00001f0f: SWAP2
00001f10: SUB
00001f11: SWAP1
00001f12: LOG3
00001f13: POP
00001f14: POP
00001f15: JUMP
00001f16: JUMPDEST
00001f17: PUSH2 0x1f1e
00001f1a: PUSH2 0x1dc6
00001f1d: JUMP
00001f1e: JUMPDEST
00001f1f: PUSH1 0x01
00001f21: PUSH1 0x01
00001f23: PUSH1 0xa0
00001f25: SHL
00001f26: SUB
00001f27: AND
00001f28: CALLER
00001f29: PUSH1 0x01
00001f2b: PUSH1 0x01
00001f2d: PUSH1 0xa0
00001f2f: SHL
00001f30: SUB
00001f31: AND
00001f32: EQ
00001f33: PUSH2 0x0ac9
00001f36: JUMPI
00001f37: PUSH0
00001f38: CALLDATALOAD
00001f39: PUSH1 0x01
00001f3b: PUSH1 0x01
00001f3d: PUSH1 0xe0
00001f3f: SHL
00001f40: SUB
00001f41: NOT
00001f42: AND
00001f43: PUSH1 0x01
00001f45: PUSH1 0x40
00001f47: MLOAD
00001f48: PUSH3 0x0f948f
00001f4c: PUSH1 0xea
00001f4e: SHL
00001f4f: DUP2
00001f50: MSTORE
00001f51: PUSH1 0x04
00001f53: ADD
00001f54: PUSH2 0x0b80
00001f57: SWAP3
00001f58: SWAP2
00001f59: SWAP1
00001f5a: PUSH2 0x57d5
00001f5d: JUMP
00001f5e: JUMPDEST
00001f5f: DUP3
00001f60: DUP2
00001f61: EQ
00001f62: PUSH2 0x1f8b
00001f65: JUMPI
00001f66: PUSH0
00001f67: CALLDATALOAD
00001f68: PUSH1 0x01
00001f6a: PUSH1 0x01
00001f6c: PUSH1 0xe0
00001f6e: SHL
00001f6f: SUB
00001f70: NOT
00001f71: AND
00001f72: PUSH1 0x40
00001f74: MLOAD
00001f75: PUSH4 0x06b56675
00001f7a: PUSH1 0xe2
00001f7c: SHL
00001f7d: DUP2
00001f7e: MSTORE
00001f7f: PUSH1 0x04
00001f81: ADD
00001f82: PUSH2 0x0b80
00001f85: SWAP2
00001f86: SWAP1
00001f87: PUSH2 0x4fa0
00001f8a: JUMP
00001f8b: JUMPDEST
00001f8c: PUSH0
00001f8d: JUMPDEST
00001f8e: DUP4
00001f8f: DUP2
00001f90: LT
00001f91: ISZERO
00001f92: PUSH2 0x1ff9
00001f95: JUMPI
00001f96: DUP3
00001f97: DUP3
00001f98: DUP3
00001f99: DUP2
00001f9a: DUP2
00001f9b: LT
00001f9c: PUSH2 0x1fa7
00001f9f: JUMPI
00001fa0: PUSH2 0x1fa7
00001fa3: PUSH2 0x53b1
00001fa6: JUMP
00001fa7: JUMPDEST
00001fa8: SWAP1
00001fa9: POP
00001faa: PUSH1 0x20
00001fac: MUL
00001fad: ADD
00001fae: CALLDATALOAD
00001faf: PUSH1 0x3a
00001fb1: PUSH0
00001fb2: DUP8
00001fb3: DUP8
00001fb4: DUP6
00001fb5: DUP2
00001fb6: DUP2
00001fb7: LT
00001fb8: PUSH2 0x1fc3
00001fbb: JUMPI
00001fbc: PUSH2 0x1fc3
00001fbf: PUSH2 0x53b1
00001fc2: JUMP
00001fc3: JUMPDEST
00001fc4: SWAP1
00001fc5: POP
00001fc6: PUSH1 0x20
00001fc8: MUL
00001fc9: ADD
00001fca: PUSH1 0x20
00001fcc: DUP2
00001fcd: ADD
00001fce: SWAP1
00001fcf: PUSH2 0x1fd8
00001fd2: SWAP2
00001fd3: SWAP1
00001fd4: PUSH2 0x4b94
00001fd7: JUMP
00001fd8: JUMPDEST
00001fd9: PUSH1 0x01
00001fdb: PUSH1 0x01
00001fdd: PUSH1 0xa0
00001fdf: SHL
00001fe0: SUB
00001fe1: AND
00001fe2: DUP2
00001fe3: MSTORE
00001fe4: PUSH1 0x20
00001fe6: DUP2
00001fe7: ADD
00001fe8: SWAP2
00001fe9: SWAP1
00001fea: SWAP2
00001feb: MSTORE
00001fec: PUSH1 0x40
00001fee: ADD
00001fef: PUSH0
00001ff0: KECCAK256
00001ff1: SSTORE
00001ff2: PUSH1 0x01
00001ff4: ADD
00001ff5: PUSH2 0x1f8d
00001ff8: JUMP
00001ff9: JUMPDEST
00001ffa: POP
00001ffb: PUSH32 0x64557254143204d91ba2d95acb9fda1e5fea55f77efd028685765bc1e94dd4b5
0000201c: DUP5
0000201d: DUP5
0000201e: DUP5
0000201f: DUP5
00002020: PUSH1 0x40
00002022: MLOAD
00002023: PUSH2 0x1486
00002026: SWAP5
00002027: SWAP4
00002028: SWAP3
00002029: SWAP2
0000202a: SWAP1
0000202b: PUSH2 0x584b
0000202e: JUMP
0000202f: JUMPDEST
00002030: DUP5
00002031: DUP4
00002032: EQ
00002033: DUP1
00002034: ISZERO
00002035: PUSH2 0x203d
00002038: JUMPI
00002039: POP
0000203a: DUP5
0000203b: DUP2
0000203c: EQ
0000203d: JUMPDEST
0000203e: PUSH2 0x2067
00002041: JUMPI
00002042: PUSH0
00002043: CALLDATALOAD
00002044: PUSH1 0x01
00002046: PUSH1 0x01
00002048: PUSH1 0xe0
0000204a: SHL
0000204b: SUB
0000204c: NOT
0000204d: AND
0000204e: PUSH1 0x40
00002050: MLOAD
00002051: PUSH4 0x06b56675
00002056: PUSH1 0xe2
00002058: SHL
00002059: DUP2
0000205a: MSTORE
0000205b: PUSH1 0x04
0000205d: ADD
0000205e: PUSH2 0x0b80
00002061: SWAP2
00002062: SWAP1
00002063: PUSH2 0x4fa0
00002066: JUMP
00002067: JUMPDEST
00002068: PUSH0
00002069: JUMPDEST
0000206a: DUP6
0000206b: DUP2
0000206c: LT
0000206d: ISZERO
0000206e: PUSH2 0x2187
00002071: JUMPI
00002072: DUP5
00002073: DUP5
00002074: DUP3
00002075: DUP2
00002076: DUP2
00002077: LT
00002078: PUSH2 0x2083
0000207b: JUMPI
0000207c: PUSH2 0x2083
0000207f: PUSH2 0x53b1
00002082: JUMP
00002083: JUMPDEST
00002084: SWAP1
00002085: POP
00002086: PUSH1 0x20
00002088: MUL
00002089: ADD
0000208a: PUSH1 0x20
0000208c: DUP2
0000208d: ADD
0000208e: SWAP1
0000208f: PUSH2 0x2098
00002092: SWAP2
00002093: SWAP1
00002094: PUSH2 0x4b94
00002097: JUMP
00002098: JUMPDEST
00002099: PUSH1 0x78
0000209b: PUSH0
0000209c: DUP10
0000209d: DUP10
0000209e: DUP6
0000209f: DUP2
000020a0: DUP2
000020a1: LT
000020a2: PUSH2 0x20ad
000020a5: JUMPI
000020a6: PUSH2 0x20ad
000020a9: PUSH2 0x53b1
000020ac: JUMP
000020ad: JUMPDEST
000020ae: SWAP1
000020af: POP
000020b0: PUSH1 0x20
000020b2: MUL
000020b3: ADD
000020b4: PUSH1 0x20
000020b6: DUP2
000020b7: ADD
000020b8: SWAP1
000020b9: PUSH2 0x20c2
000020bc: SWAP2
000020bd: SWAP1
000020be: PUSH2 0x4b94
000020c1: JUMP
000020c2: JUMPDEST
000020c3: PUSH1 0x01
000020c5: PUSH1 0x01
000020c7: PUSH1 0xa0
000020c9: SHL
000020ca: SUB
000020cb: SWAP1
000020cc: DUP2
000020cd: AND
000020ce: DUP3
000020cf: MSTORE
000020d0: PUSH1 0x20
000020d2: DUP3
000020d3: ADD
000020d4: SWAP3
000020d5: SWAP1
000020d6: SWAP3
000020d7: MSTORE
000020d8: PUSH1 0x40
000020da: ADD
000020db: PUSH0
000020dc: KECCAK256
000020dd: DUP1
000020de: SLOAD
000020df: PUSH2 0x0100
000020e2: PUSH1 0x01
000020e4: PUSH1 0xa8
000020e6: SHL
000020e7: SUB
000020e8: NOT
000020e9: AND
000020ea: PUSH2 0x0100
000020ed: SWAP4
000020ee: SWAP1
000020ef: SWAP3
000020f0: AND
000020f1: SWAP3
000020f2: SWAP1
000020f3: SWAP3
000020f4: MUL
000020f5: OR
000020f6: SWAP1
000020f7: SSTORE
000020f8: DUP3
000020f9: DUP3
000020fa: DUP3
000020fb: DUP2
000020fc: DUP2
000020fd: LT
000020fe: PUSH2 0x2109
00002101: JUMPI
00002102: PUSH2 0x2109
00002105: PUSH2 0x53b1
00002108: JUMP
00002109: JUMPDEST
0000210a: SWAP1
0000210b: POP
0000210c: PUSH1 0x20
0000210e: MUL
0000210f: ADD
00002110: PUSH1 0x20
00002112: DUP2
00002113: ADD
00002114: SWAP1
00002115: PUSH2 0x211e
00002118: SWAP2
00002119: SWAP1
0000211a: PUSH2 0x5695
0000211d: JUMP
0000211e: JUMPDEST
0000211f: PUSH1 0x78
00002121: PUSH0
00002122: DUP10
00002123: DUP10
00002124: DUP6
00002125: DUP2
00002126: DUP2
00002127: LT
00002128: PUSH2 0x2133
0000212b: JUMPI
0000212c: PUSH2 0x2133
0000212f: PUSH2 0x53b1
00002132: JUMP
00002133: JUMPDEST
00002134: SWAP1
00002135: POP
00002136: PUSH1 0x20
00002138: MUL
00002139: ADD
0000213a: PUSH1 0x20
0000213c: DUP2
0000213d: ADD
0000213e: SWAP1
0000213f: PUSH2 0x2148
00002142: SWAP2
00002143: SWAP1
00002144: PUSH2 0x4b94
00002147: JUMP
00002148: JUMPDEST
00002149: PUSH1 0x01
0000214b: PUSH1 0x01
0000214d: PUSH1 0xa0
0000214f: SHL
00002150: SUB
00002151: AND
00002152: DUP2
00002153: MSTORE
00002154: PUSH1 0x20
00002156: DUP2
00002157: ADD
00002158: SWAP2
00002159: SWAP1
0000215a: SWAP2
0000215b: MSTORE
0000215c: PUSH1 0x40
0000215e: ADD
0000215f: PUSH0
00002160: KECCAK256
00002161: DUP1
00002162: SLOAD
00002163: PUSH1 0xff
00002165: NOT
00002166: AND
00002167: PUSH1 0x01
00002169: DUP4
0000216a: PUSH1 0x02
0000216c: DUP2
0000216d: GT
0000216e: ISZERO
0000216f: PUSH2 0x217a
00002172: JUMPI
00002173: PUSH2 0x217a
00002176: PUSH2 0x50b0
00002179: JUMP
0000217a: JUMPDEST
0000217b: MUL
0000217c: OR
0000217d: SWAP1
0000217e: SSTORE
0000217f: POP
00002180: PUSH1 0x01
00002182: ADD
00002183: PUSH2 0x2069
00002186: JUMP
00002187: JUMPDEST
00002188: POP
00002189: PUSH32 0xa4f03cc9c0e0aeb5b71b4ec800702753f65748c2cf3064695ba8e8b46be70444
000021aa: DUP7
000021ab: DUP7
000021ac: DUP7
000021ad: DUP7
000021ae: DUP7
000021af: DUP7
000021b0: PUSH1 0x40
000021b2: MLOAD
000021b3: PUSH2 0x21c1
000021b6: SWAP7
000021b7: SWAP6
000021b8: SWAP5
000021b9: SWAP4
000021ba: SWAP3
000021bb: SWAP2
000021bc: SWAP1
000021bd: PUSH2 0x5895
000021c0: JUMP
000021c1: JUMPDEST
000021c2: PUSH1 0x40
000021c4: MLOAD
000021c5: DUP1
000021c6: SWAP2
000021c7: SUB
000021c8: SWAP1
000021c9: LOG1
000021ca: POP
000021cb: POP
000021cc: POP
000021cd: POP
000021ce: POP
000021cf: POP
000021d0: JUMP
000021d1: JUMPDEST
000021d2: PUSH2 0x21db
000021d5: DUP3
000021d6: DUP3
000021d7: PUSH2 0x3919
000021da: JUMP
000021db: JUMPDEST
000021dc: PUSH0
000021dd: DUP3
000021de: DUP2
000021df: MSTORE
000021e0: PUSH1 0x73
000021e2: PUSH1 0x20
000021e4: MSTORE
000021e5: PUSH1 0x40
000021e7: SWAP1
000021e8: KECCAK256
000021e9: PUSH2 0x0d45
000021ec: SWAP1
000021ed: DUP3
000021ee: PUSH2 0x399e
000021f1: JUMP
000021f2: JUMPDEST
000021f3: PUSH2 0x21fc
000021f6: DUP3
000021f7: DUP3
000021f8: PUSH2 0x39b2
000021fb: JUMP
000021fc: JUMPDEST
000021fd: PUSH0
000021fe: DUP3
000021ff: DUP2
00002200: MSTORE
00002201: PUSH1 0x73
00002203: PUSH1 0x20
00002205: MSTORE
00002206: PUSH1 0x40
00002208: SWAP1
00002209: KECCAK256
0000220a: PUSH2 0x0d45
0000220d: SWAP1
0000220e: DUP3
0000220f: PUSH2 0x3a18
00002212: JUMP
00002213: JUMPDEST
00002214: PUSH2 0x221b
00002217: PUSH2 0x3a2c
0000221a: JUMP
0000221b: JUMPDEST
0000221c: PUSH0
0000221d: DUP1
0000221e: SLOAD
0000221f: PUSH1 0xff
00002221: NOT
00002222: AND
00002223: SWAP1
00002224: SSTORE
00002225: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00002246: CALLER
00002247: JUMPDEST
00002248: PUSH1 0x40
0000224a: MLOAD
0000224b: PUSH2 0x2254
0000224e: SWAP2
0000224f: SWAP1
00002250: PUSH2 0x49e5
00002253: JUMP
00002254: JUMPDEST
00002255: PUSH1 0x40
00002257: MLOAD
00002258: DUP1
00002259: SWAP2
0000225a: SUB
0000225b: SWAP1
0000225c: LOG1
0000225d: JUMP
0000225e: JUMPDEST
0000225f: PUSH0
00002260: SLOAD
00002261: PUSH1 0xff
00002263: AND
00002264: ISZERO
00002265: PUSH2 0x0ac9
00002268: JUMPI
00002269: PUSH1 0x40
0000226b: MLOAD
0000226c: PUSH3 0x461bcd
00002270: PUSH1 0xe5
00002272: SHL
00002273: DUP2
00002274: MSTORE
00002275: PUSH1 0x20
00002277: PUSH1 0x04
00002279: DUP3
0000227a: ADD
0000227b: MSTORE
0000227c: PUSH1 0x10
0000227e: PUSH1 0x24
00002280: DUP3
00002281: ADD
00002282: MSTORE
00002283: PUSH16 0x14185d5cd8589b194e881c185d5cd959
00002294: PUSH1 0x82
00002296: SHL
00002297: PUSH1 0x44
00002299: DUP3
0000229a: ADD
0000229b: MSTORE
0000229c: PUSH1 0x64
0000229e: ADD
0000229f: PUSH2 0x0b80
000022a2: JUMP
000022a3: JUMPDEST
000022a4: PUSH1 0x40
000022a6: DUP1
000022a7: MLOAD
000022a8: DUP1
000022a9: DUP3
000022aa: ADD
000022ab: DUP3
000022ac: MSTORE
000022ad: PUSH0
000022ae: DUP1
000022af: DUP3
000022b0: MSTORE
000022b1: PUSH1 0x20
000022b3: DUP3
000022b4: ADD
000022b5: MSTORE
000022b6: PUSH1 0x74
000022b8: SLOAD
000022b9: SWAP2
000022ba: DUP5
000022bb: ADD
000022bc: MLOAD
000022bd: SWAP1
000022be: SWAP2
000022bf: PUSH1 0x01
000022c1: PUSH1 0x01
000022c3: PUSH1 0xa0
000022c5: SHL
000022c6: SUB
000022c7: AND
000022c8: SWAP1
000022c9: PUSH2 0x22d1
000022cc: SWAP1
000022cd: PUSH2 0x3a74
000022d0: JUMP
000022d1: JUMPDEST
000022d2: PUSH1 0x40
000022d4: DUP5
000022d5: ADD
000022d6: MLOAD
000022d7: MLOAD
000022d8: PUSH2 0x22e0
000022db: SWAP1
000022dc: PUSH2 0x3ab8
000022df: JUMP
000022e0: JUMPDEST
000022e1: PUSH1 0x20
000022e3: DUP5
000022e4: ADD
000022e5: MLOAD
000022e6: PUSH1 0x01
000022e8: PUSH1 0x01
000022ea: PUSH1 0xa0
000022ec: SHL
000022ed: SUB
000022ee: AND
000022ef: PUSH2 0x2381
000022f2: JUMPI
000022f3: CALLVALUE
000022f4: DUP5
000022f5: PUSH1 0x40
000022f7: ADD
000022f8: MLOAD
000022f9: PUSH1 0x40
000022fb: ADD
000022fc: MLOAD
000022fd: EQ
000022fe: PUSH2 0x231a
00002301: JUMPI
00002302: PUSH1 0x40
00002304: MLOAD
00002305: PUSH4 0x129c2ce1
0000230a: PUSH1 0xe3
0000230c: SHL
0000230d: DUP2
0000230e: MSTORE
0000230f: PUSH1 0x04
00002311: ADD
00002312: PUSH1 0x40
00002314: MLOAD
00002315: DUP1
00002316: SWAP2
00002317: SUB
00002318: SWAP1
00002319: REVERT
0000231a: JUMPDEST
0000231b: PUSH2 0x2323
0000231e: DUP2
0000231f: PUSH2 0x16e1
00002322: JUMP
00002323: JUMPDEST
00002324: PUSH1 0x40
00002326: DUP6
00002327: ADD
00002328: MLOAD
00002329: MLOAD
0000232a: SWAP1
0000232b: SWAP3
0000232c: POP
0000232d: PUSH1 0x02
0000232f: DUP2
00002330: GT
00002331: ISZERO
00002332: PUSH2 0x233d
00002335: JUMPI
00002336: PUSH2 0x233d
00002339: PUSH2 0x50b0
0000233c: JUMP
0000233d: JUMPDEST
0000233e: DUP3
0000233f: MLOAD
00002340: PUSH1 0x02
00002342: DUP2
00002343: GT
00002344: ISZERO
00002345: PUSH2 0x2350
00002348: JUMPI
00002349: PUSH2 0x2350
0000234c: PUSH2 0x50b0
0000234f: JUMP
00002350: JUMPDEST
00002351: EQ
00002352: PUSH2 0x236d
00002355: JUMPI
00002356: PUSH1 0x40
00002358: MLOAD
00002359: PUSH3 0x035e2b
0000235d: PUSH1 0xea
0000235f: SHL
00002360: DUP2
00002361: MSTORE
00002362: PUSH1 0x04
00002364: ADD
00002365: PUSH1 0x40
00002367: MLOAD
00002368: DUP1
00002369: SWAP2
0000236a: SUB
0000236b: SWAP1
0000236c: REVERT
0000236d: JUMPDEST
0000236e: PUSH1 0x01
00002370: PUSH1 0x01
00002372: PUSH1 0xa0
00002374: SHL
00002375: SUB
00002376: DUP2
00002377: AND
00002378: PUSH1 0x20
0000237a: DUP6
0000237b: ADD
0000237c: MSTORE
0000237d: PUSH2 0x2488
00002380: JUMP
00002381: JUMPDEST
00002382: CALLVALUE
00002383: ISZERO
00002384: PUSH2 0x23a0
00002387: JUMPI
00002388: PUSH1 0x40
0000238a: MLOAD
0000238b: PUSH4 0x129c2ce1
00002390: PUSH1 0xe3
00002392: SHL
00002393: DUP2
00002394: MSTORE
00002395: PUSH1 0x04
00002397: ADD
00002398: PUSH1 0x40
0000239a: MLOAD
0000239b: DUP1
0000239c: SWAP2
0000239d: SUB
0000239e: SWAP1
0000239f: REVERT
000023a0: JUMPDEST
000023a1: PUSH2 0x23ad
000023a4: DUP5
000023a5: PUSH1 0x20
000023a7: ADD
000023a8: MLOAD
000023a9: PUSH2 0x16e1
000023ac: JUMP
000023ad: JUMPDEST
000023ae: PUSH1 0x40
000023b0: DUP6
000023b1: ADD
000023b2: MLOAD
000023b3: MLOAD
000023b4: SWAP1
000023b5: SWAP3
000023b6: POP
000023b7: PUSH1 0x02
000023b9: DUP2
000023ba: GT
000023bb: ISZERO
000023bc: PUSH2 0x23c7
000023bf: JUMPI
000023c0: PUSH2 0x23c7
000023c3: PUSH2 0x50b0
000023c6: JUMP
000023c7: JUMPDEST
000023c8: DUP3
000023c9: MLOAD
000023ca: PUSH1 0x02
000023cc: DUP2
000023cd: GT
000023ce: ISZERO
000023cf: PUSH2 0x23da
000023d2: JUMPI
000023d3: PUSH2 0x23da
000023d6: PUSH2 0x50b0
000023d9: JUMP
000023da: JUMPDEST
000023db: EQ
000023dc: PUSH2 0x23f7
000023df: JUMPI
000023e0: PUSH1 0x40
000023e2: MLOAD
000023e3: PUSH3 0x035e2b
000023e7: PUSH1 0xea
000023e9: SHL
000023ea: DUP2
000023eb: MSTORE
000023ec: PUSH1 0x04
000023ee: ADD
000023ef: PUSH1 0x40
000023f1: MLOAD
000023f2: DUP1
000023f3: SWAP2
000023f4: SUB
000023f5: SWAP1
000023f6: REVERT
000023f7: JUMPDEST
000023f8: PUSH1 0x20
000023fa: DUP5
000023fb: ADD
000023fc: MLOAD
000023fd: PUSH1 0x40
000023ff: DUP6
00002400: ADD
00002401: MLOAD
00002402: PUSH2 0x240c
00002405: SWAP2
00002406: DUP6
00002407: SWAP1
00002408: PUSH2 0x3afc
0000240b: JUMP
0000240c: JUMPDEST
0000240d: DUP4
0000240e: PUSH1 0x20
00002410: ADD
00002411: MLOAD
00002412: PUSH1 0x01
00002414: PUSH1 0x01
00002416: PUSH1 0xa0
00002418: SHL
00002419: SUB
0000241a: AND
0000241b: DUP2
0000241c: PUSH1 0x01
0000241e: PUSH1 0x01
00002420: PUSH1 0xa0
00002422: SHL
00002423: SUB
00002424: AND
00002425: SUB
00002426: PUSH2 0x2488
00002429: JUMPI
0000242a: PUSH1 0x40
0000242c: DUP5
0000242d: DUP2
0000242e: ADD
0000242f: MLOAD
00002430: DUP2
00002431: ADD
00002432: MLOAD
00002433: SWAP1
00002434: MLOAD
00002435: PUSH4 0x2e1a7d4d
0000243a: PUSH1 0xe0
0000243c: SHL
0000243d: DUP2
0000243e: MSTORE
0000243f: PUSH1 0x04
00002441: DUP2
00002442: ADD
00002443: SWAP2
00002444: SWAP1
00002445: SWAP2
00002446: MSTORE
00002447: PUSH1 0x01
00002449: PUSH1 0x01
0000244b: PUSH1 0xa0
0000244d: SHL
0000244e: SUB
0000244f: DUP3
00002450: AND
00002451: SWAP1
00002452: PUSH4 0x2e1a7d4d
00002457: SWAP1
00002458: PUSH1 0x24
0000245a: ADD
0000245b: PUSH0
0000245c: PUSH1 0x40
0000245e: MLOAD
0000245f: DUP1
00002460: DUP4
00002461: SUB
00002462: DUP2
00002463: PUSH0
00002464: DUP8
00002465: DUP1
00002466: EXTCODESIZE
00002467: ISZERO
00002468: DUP1
00002469: ISZERO
0000246a: PUSH2 0x2471
0000246d: JUMPI
0000246e: PUSH0
0000246f: PUSH0
00002470: REVERT
00002471: JUMPDEST
00002472: POP
00002473: GAS
00002474: CALL
00002475: ISZERO
00002476: DUP1
00002477: ISZERO
00002478: PUSH2 0x2483
0000247b: JUMPI
0000247c: RETURNDATASIZE
0000247d: PUSH0
0000247e: PUSH0
0000247f: RETURNDATACOPY
00002480: RETURNDATASIZE
00002481: PUSH0
00002482: REVERT
00002483: JUMPDEST
00002484: POP
00002485: POP
00002486: POP
00002487: POP
00002488: JUMPDEST
00002489: PUSH1 0x76
0000248b: DUP1
0000248c: SLOAD
0000248d: PUSH0
0000248e: SWAP2
0000248f: DUP3
00002490: PUSH2 0x2498
00002493: DUP4
00002494: PUSH2 0x5904
00002497: JUMP
00002498: JUMPDEST
00002499: SWAP2
0000249a: SWAP1
0000249b: POP
0000249c: SSTORE
0000249d: SWAP1
0000249e: POP
0000249f: PUSH0
000024a0: PUSH2 0x24be
000024a3: DUP6
000024a4: DUP4
000024a5: DUP7
000024a6: PUSH1 0x20
000024a8: ADD
000024a9: MLOAD
000024aa: PUSH1 0x75
000024ac: SLOAD
000024ad: DUP11
000024ae: PUSH2 0x3c77
000024b1: SWAP1
000024b2: SWAP5
000024b3: SWAP4
000024b4: SWAP3
000024b5: SWAP2
000024b6: SWAP1
000024b7: PUSH4 0xffffffff
000024bc: AND
000024bd: JUMP
000024be: JUMPDEST
000024bf: SWAP1
000024c0: POP
000024c1: PUSH32 0xd7b25068d9dc8d00765254cfb7f5070f98d263c8d68931d937c7362fa738048b
000024e2: PUSH2 0x24ea
000024e5: DUP3
000024e6: PUSH2 0x2f2c
000024e9: JUMP
000024ea: JUMPDEST
000024eb: DUP3
000024ec: PUSH1 0x40
000024ee: MLOAD
000024ef: PUSH2 0x21c1
000024f2: SWAP3
000024f3: SWAP2
000024f4: SWAP1
000024f5: PUSH2 0x5963
000024f8: JUMP
000024f9: JUMPDEST
000024fa: PUSH0
000024fb: DUP3
000024fc: CALLDATALOAD
000024fd: PUSH2 0x0140
00002500: DUP5
00002501: ADD
00002502: CALLDATALOAD
00002503: DUP3
00002504: PUSH2 0x2513
00002507: PUSH1 0x80
00002509: DUP8
0000250a: ADD
0000250b: PUSH1 0x60
0000250d: DUP9
0000250e: ADD
0000250f: PUSH2 0x4b94
00002512: JUMP
00002513: JUMPDEST
00002514: SWAP1
00002515: POP
00002516: PUSH2 0x2530
00002519: PUSH2 0x252b
0000251c: CALLDATASIZE
0000251d: DUP9
0000251e: SWAP1
0000251f: SUB
00002520: DUP9
00002521: ADD
00002522: PUSH2 0x0100
00002525: DUP10
00002526: ADD
00002527: PUSH2 0x56ae
0000252a: JUMP
0000252b: JUMPDEST
0000252c: PUSH2 0x3a74
0000252f: JUMP
00002530: JUMPDEST
00002531: PUSH2 0x254a
00002534: PUSH2 0x2545
00002537: PUSH2 0x0120
0000253a: DUP9
0000253b: ADD
0000253c: PUSH2 0x0100
0000253f: DUP10
00002540: ADD
00002541: PUSH2 0x5695
00002544: JUMP
00002545: JUMPDEST
00002546: PUSH2 0x3ab8
00002549: JUMP
0000254a: JUMPDEST
0000254b: PUSH1 0x01
0000254d: PUSH2 0x255c
00002550: PUSH1 0x40
00002552: DUP9
00002553: ADD
00002554: PUSH1 0x20
00002556: DUP10
00002557: ADD
00002558: PUSH2 0x59c9
0000255b: JUMP
0000255c: JUMPDEST
0000255d: PUSH1 0x01
0000255f: DUP2
00002560: GT
00002561: ISZERO
00002562: PUSH2 0x256d
00002565: JUMPI
00002566: PUSH2 0x256d
00002569: PUSH2 0x50b0
0000256c: JUMP
0000256d: JUMPDEST
0000256e: EQ
0000256f: PUSH2 0x258b
00002572: JUMPI
00002573: PUSH1 0x40
00002575: MLOAD
00002576: PUSH4 0x182f3d87
0000257b: PUSH1 0xe1
0000257d: SHL
0000257e: DUP2
0000257f: MSTORE
00002580: PUSH1 0x04
00002582: ADD
00002583: PUSH1 0x40
00002585: MLOAD
00002586: DUP1
00002587: SWAP2
00002588: SUB
00002589: SWAP1
0000258a: REVERT
0000258b: JUMPDEST
0000258c: PUSH1 0x80
0000258e: DUP7
0000258f: ADD
00002590: CALLDATALOAD
00002591: CHAINID
00002592: EQ
00002593: PUSH2 0x25cc
00002596: JUMPI
00002597: PUSH1 0x40
00002599: MLOAD
0000259a: PUSH4 0x092048d1
0000259f: PUSH1 0xe1
000025a1: SHL
000025a2: DUP2
000025a3: MSTORE
000025a4: PUSH0
000025a5: CALLDATALOAD
000025a6: PUSH1 0x01
000025a8: PUSH1 0x01
000025aa: PUSH1 0xe0
000025ac: SHL
000025ad: SUB
000025ae: NOT
000025af: AND
000025b0: PUSH1 0x04
000025b2: DUP3
000025b3: ADD
000025b4: MSTORE
000025b5: PUSH1 0x80
000025b7: DUP8
000025b8: ADD
000025b9: CALLDATALOAD
000025ba: PUSH1 0x24
000025bc: DUP3
000025bd: ADD
000025be: MSTORE
000025bf: CHAINID
000025c0: PUSH1 0x44
000025c2: DUP3
000025c3: ADD
000025c4: MSTORE
000025c5: PUSH1 0x64
000025c7: ADD
000025c8: PUSH2 0x0b80
000025cb: JUMP
000025cc: JUMPDEST
000025cd: PUSH0
000025ce: PUSH2 0x25e0
000025d1: PUSH2 0x087c
000025d4: PUSH1 0x80
000025d6: DUP10
000025d7: ADD
000025d8: PUSH1 0x60
000025da: DUP11
000025db: ADD
000025dc: PUSH2 0x4b94
000025df: JUMP
000025e0: JUMPDEST
000025e1: SWAP1
000025e2: POP
000025e3: PUSH2 0x25f4
000025e6: PUSH2 0x0120
000025e9: DUP9
000025ea: ADD
000025eb: PUSH2 0x0100
000025ee: DUP10
000025ef: ADD
000025f0: PUSH2 0x5695
000025f3: JUMP
000025f4: JUMPDEST
000025f5: PUSH1 0x02
000025f7: DUP2
000025f8: GT
000025f9: ISZERO
000025fa: PUSH2 0x2605
000025fd: JUMPI
000025fe: PUSH2 0x2605
00002601: PUSH2 0x50b0
00002604: JUMP
00002605: JUMPDEST
00002606: DUP2
00002607: MLOAD
00002608: PUSH1 0x02
0000260a: DUP2
0000260b: GT
0000260c: ISZERO
0000260d: PUSH2 0x2618
00002610: JUMPI
00002611: PUSH2 0x2618
00002614: PUSH2 0x50b0
00002617: JUMP
00002618: JUMPDEST
00002619: EQ
0000261a: DUP1
0000261b: ISZERO
0000261c: PUSH2 0x2649
0000261f: JUMPI
00002620: POP
00002621: PUSH2 0x2630
00002624: PUSH1 0xe0
00002626: DUP9
00002627: ADD
00002628: PUSH1 0xc0
0000262a: DUP10
0000262b: ADD
0000262c: PUSH2 0x4b94
0000262f: JUMP
00002630: JUMPDEST
00002631: PUSH1 0x01
00002633: PUSH1 0x01
00002635: PUSH1 0xa0
00002637: SHL
00002638: SUB
00002639: AND
0000263a: DUP2
0000263b: PUSH1 0x20
0000263d: ADD
0000263e: MLOAD
0000263f: PUSH1 0x01
00002641: PUSH1 0x01
00002643: PUSH1 0xa0
00002645: SHL
00002646: SUB
00002647: AND
00002648: EQ
00002649: JUMPDEST
0000264a: DUP1
0000264b: ISZERO
0000264c: PUSH2 0x265a
0000264f: JUMPI
00002650: POP
00002651: PUSH1 0x75
00002653: SLOAD
00002654: PUSH1 0xe0
00002656: DUP9
00002657: ADD
00002658: CALLDATALOAD
00002659: EQ
0000265a: JUMPDEST
0000265b: PUSH2 0x2677
0000265e: JUMPI
0000265f: PUSH1 0x40
00002661: MLOAD
00002662: PUSH4 0xf4b8742f
00002667: PUSH1 0xe0
00002669: SHL
0000266a: DUP2
0000266b: MSTORE
0000266c: PUSH1 0x04
0000266e: ADD
0000266f: PUSH1 0x40
00002671: MLOAD
00002672: DUP1
00002673: SWAP2
00002674: SUB
00002675: SWAP1
00002676: REVERT
00002677: JUMPDEST
00002678: PUSH0
00002679: DUP5
0000267a: DUP2
0000267b: MSTORE
0000267c: PUSH1 0x79
0000267e: PUSH1 0x20
00002680: MSTORE
00002681: PUSH1 0x40
00002683: SWAP1
00002684: KECCAK256
00002685: SLOAD
00002686: ISZERO
00002687: PUSH2 0x26a3
0000268a: JUMPI
0000268b: PUSH1 0x40
0000268d: MLOAD
0000268e: PUSH4 0x4f13df61
00002693: PUSH1 0xe0
00002695: SHL
00002696: DUP2
00002697: MSTORE
00002698: PUSH1 0x04
0000269a: ADD
0000269b: PUSH1 0x40
0000269d: MLOAD
0000269e: DUP1
0000269f: SWAP2
000026a0: SUB
000026a1: SWAP1
000026a2: REVERT
000026a3: JUMPDEST
000026a4: PUSH1 0x01
000026a6: PUSH2 0x26b7
000026a9: PUSH2 0x0120
000026ac: DUP10
000026ad: ADD
000026ae: PUSH2 0x0100
000026b1: DUP11
000026b2: ADD
000026b3: PUSH2 0x5695
000026b6: JUMP
000026b7: JUMPDEST
000026b8: PUSH1 0x02
000026ba: DUP2
000026bb: GT
000026bc: ISZERO
000026bd: PUSH2 0x26c8
000026c0: JUMPI
000026c1: PUSH2 0x26c8
000026c4: PUSH2 0x50b0
000026c7: JUMP
000026c8: JUMPDEST
000026c9: EQ
000026ca: DUP1
000026cb: PUSH2 0x26db
000026ce: JUMPI
000026cf: POP
000026d0: PUSH2 0x26d9
000026d3: DUP3
000026d4: DUP5
000026d5: PUSH2 0x29b0
000026d8: JUMP
000026d9: JUMPDEST
000026da: ISZERO
000026db: JUMPDEST
000026dc: PUSH2 0x26f8
000026df: JUMPI
000026e0: PUSH1 0x40
000026e2: MLOAD
000026e3: PUSH4 0xc51297b7
000026e8: PUSH1 0xe0
000026ea: SHL
000026eb: DUP2
000026ec: MSTORE
000026ed: PUSH1 0x04
000026ef: ADD
000026f0: PUSH1 0x40
000026f2: MLOAD
000026f3: DUP1
000026f4: SWAP2
000026f5: SUB
000026f6: SWAP1
000026f7: REVERT
000026f8: JUMPDEST
000026f9: PUSH0
000026fa: PUSH2 0x270b
000026fd: PUSH2 0x1269
00002700: CALLDATASIZE
00002701: DUP11
00002702: SWAP1
00002703: SUB
00002704: DUP11
00002705: ADD
00002706: DUP11
00002707: PUSH2 0x5536
0000270a: JUMP
0000270b: JUMPDEST
0000270c: SWAP1
0000270d: POP
0000270e: PUSH0
0000270f: PUSH2 0x271a
00002712: PUSH1 0x77
00002714: SLOAD
00002715: DUP4
00002716: PUSH2 0x3ce3
00002719: JUMP
0000271a: JUMPDEST
0000271b: SWAP1
0000271c: POP
0000271d: PUSH0
0000271e: PUSH2 0x2739
00002721: PUSH2 0x2732
00002724: PUSH2 0x0120
00002727: DUP13
00002728: ADD
00002729: PUSH2 0x0100
0000272c: DUP14
0000272d: ADD
0000272e: PUSH2 0x5695
00002731: JUMP
00002732: JUMPDEST
00002733: DUP7
00002734: DUP9
00002735: PUSH2 0x3d23
00002738: JUMP
00002739: JUMPDEST
0000273a: PUSH1 0x40
0000273c: DUP1
0000273d: MLOAD
0000273e: PUSH1 0x60
00002740: DUP2
00002741: ADD
00002742: DUP3
00002743: MSTORE
00002744: PUSH0
00002745: DUP1
00002746: DUP3
00002747: MSTORE
00002748: PUSH1 0x20
0000274a: DUP3
0000274b: ADD
0000274c: DUP2
0000274d: SWAP1
0000274e: MSTORE
0000274f: SWAP2
00002750: DUP2
00002751: ADD
00002752: DUP3
00002753: SWAP1
00002754: MSTORE
00002755: SWAP2
00002756: SWAP11
00002757: POP
00002758: SWAP2
00002759: SWAP3
0000275a: POP
0000275b: DUP2
0000275c: SWAP1
0000275d: DUP2
0000275e: SWAP1
0000275f: PUSH0
00002760: PUSH0
00002761: JUMPDEST
00002762: DUP15
00002763: MLOAD
00002764: DUP2
00002765: LT
00002766: ISZERO
00002767: PUSH2 0x2879
0000276a: JUMPI
0000276b: DUP15
0000276c: DUP2
0000276d: DUP2
0000276e: MLOAD
0000276f: DUP2
00002770: LT
00002771: PUSH2 0x277c
00002774: JUMPI
00002775: PUSH2 0x277c
00002778: PUSH2 0x53b1
0000277b: JUMP
0000277c: JUMPDEST
0000277d: PUSH1 0x20
0000277f: MUL
00002780: PUSH1 0x20
00002782: ADD
00002783: ADD
00002784: MLOAD
00002785: SWAP3
00002786: POP
00002787: PUSH2 0x279d
0000278a: DUP9
0000278b: DUP5
0000278c: PUSH0
0000278d: ADD
0000278e: MLOAD
0000278f: DUP6
00002790: PUSH1 0x20
00002792: ADD
00002793: MLOAD
00002794: DUP7
00002795: PUSH1 0x40
00002797: ADD
00002798: MLOAD
00002799: PUSH2 0x3d93
0000279c: JUMP
0000279d: JUMPDEST
0000279e: SWAP5
0000279f: POP
000027a0: DUP5
000027a1: PUSH1 0x01
000027a3: PUSH1 0x01
000027a5: PUSH1 0xa0
000027a7: SHL
000027a8: SUB
000027a9: AND
000027aa: DUP5
000027ab: PUSH1 0x01
000027ad: PUSH1 0x01
000027af: PUSH1 0xa0
000027b1: SHL
000027b2: SUB
000027b3: AND
000027b4: LT
000027b5: PUSH2 0x27de
000027b8: JUMPI
000027b9: PUSH0
000027ba: CALLDATALOAD
000027bb: PUSH1 0x01
000027bd: PUSH1 0x01
000027bf: PUSH1 0xe0
000027c1: SHL
000027c2: SUB
000027c3: NOT
000027c4: AND
000027c5: PUSH1 0x40
000027c7: MLOAD
000027c8: PUSH4 0x5d3dcd31
000027cd: PUSH1 0xe0
000027cf: SHL
000027d0: DUP2
000027d1: MSTORE
000027d2: PUSH1 0x04
000027d4: ADD
000027d5: PUSH2 0x0b80
000027d8: SWAP2
000027d9: SWAP1
000027da: PUSH2 0x4fa0
000027dd: JUMP
000027de: JUMPDEST
000027df: PUSH1 0x01
000027e1: PUSH1 0x01
000027e3: PUSH1 0xa0
000027e5: SHL
000027e6: SUB
000027e7: DUP6
000027e8: AND
000027e9: PUSH0
000027ea: SWAP1
000027eb: DUP2
000027ec: MSTORE
000027ed: PUSH1 0x7e
000027ef: PUSH1 0x20
000027f1: MSTORE
000027f2: PUSH1 0x40
000027f4: DUP2
000027f5: KECCAK256
000027f6: SLOAD
000027f7: DUP7
000027f8: SWAP6
000027f9: POP
000027fa: PUSH1 0x01
000027fc: PUSH1 0x01
000027fe: PUSH1 0x60
00002800: SHL
00002801: SUB
00002802: AND
00002803: SWAP1
00002804: DUP2
00002805: SWAP1
00002806: SUB
00002807: PUSH2 0x2853
0000280a: JUMPI
0000280b: PUSH1 0x40
0000280d: DUP1
0000280e: MLOAD
0000280f: PUSH4 0x4e977007
00002814: PUSH1 0xe0
00002816: SHL
00002817: DUP2
00002818: MSTORE
00002819: PUSH1 0x01
0000281b: PUSH1 0x01
0000281d: PUSH1 0xa0
0000281f: SHL
00002820: SUB
00002821: DUP9
00002822: AND
00002823: PUSH1 0x04
00002825: DUP3
00002826: ADD
00002827: MSTORE
00002828: PUSH1 0x24
0000282a: DUP2
0000282b: ADD
0000282c: DUP4
0000282d: SWAP1
0000282e: MSTORE
0000282f: DUP6
00002830: MLOAD
00002831: PUSH1 0xff
00002833: AND
00002834: PUSH1 0x44
00002836: DUP3
00002837: ADD
00002838: MSTORE
00002839: PUSH1 0x20
0000283b: DUP7
0000283c: ADD
0000283d: MLOAD
0000283e: PUSH1 0x64
00002840: DUP3
00002841: ADD
00002842: MSTORE
00002843: SWAP1
00002844: DUP6
00002845: ADD
00002846: MLOAD
00002847: PUSH1 0x84
00002849: DUP3
0000284a: ADD
0000284b: MSTORE
0000284c: PUSH1 0xa4
0000284e: ADD
0000284f: PUSH2 0x0b80
00002852: JUMP
00002853: JUMPDEST
00002854: PUSH2 0x285d
00002857: DUP2
00002858: DUP5
00002859: PUSH2 0x59e2
0000285c: JUMP
0000285d: JUMPDEST
0000285e: SWAP3
0000285f: POP
00002860: DUP8
00002861: DUP4
00002862: LT
00002863: PUSH2 0x2870
00002866: JUMPI
00002867: PUSH1 0x01
00002869: SWAP7
0000286a: POP
0000286b: POP
0000286c: PUSH2 0x2879
0000286f: JUMP
00002870: JUMPDEST
00002871: POP
00002872: PUSH1 0x01
00002874: ADD
00002875: PUSH2 0x2761
00002878: JUMP
00002879: JUMPDEST
0000287a: POP
0000287b: DUP5
0000287c: PUSH2 0x2898
0000287f: JUMPI
00002880: PUSH1 0x40
00002882: MLOAD
00002883: PUSH4 0x9e8f5f63
00002888: PUSH1 0xe0
0000288a: SHL
0000288b: DUP2
0000288c: MSTORE
0000288d: PUSH1 0x04
0000288f: ADD
00002890: PUSH1 0x40
00002892: MLOAD
00002893: DUP1
00002894: SWAP2
00002895: SUB
00002896: SWAP1
00002897: REVERT
00002898: JUMPDEST
00002899: POP
0000289a: POP
0000289b: POP
0000289c: PUSH0
0000289d: DUP10
0000289e: DUP2
0000289f: MSTORE
000028a0: PUSH1 0x79
000028a2: PUSH1 0x20
000028a4: MSTORE
000028a5: PUSH1 0x40
000028a7: SWAP1
000028a8: KECCAK256
000028a9: DUP6
000028aa: SWAP1
000028ab: SSTORE
000028ac: POP
000028ad: POP
000028ae: DUP8
000028af: ISZERO
000028b0: PUSH2 0x2911
000028b3: JUMPI
000028b4: PUSH0
000028b5: DUP8
000028b6: DUP2
000028b7: MSTORE
000028b8: PUSH1 0x7a
000028ba: PUSH1 0x20
000028bc: MSTORE
000028bd: PUSH1 0x40
000028bf: SWAP1
000028c0: DUP2
000028c1: SWAP1
000028c2: KECCAK256
000028c3: DUP1
000028c4: SLOAD
000028c5: PUSH1 0xff
000028c7: NOT
000028c8: AND
000028c9: PUSH1 0x01
000028cb: OR
000028cc: SWAP1
000028cd: SSTORE
000028ce: MLOAD
000028cf: PUSH32 0x89e52969465b1f1866fc5d46fd62de953962e9cb33552443cd999eba05bd20dc
000028f0: SWAP1
000028f1: PUSH2 0x28fd
000028f4: SWAP1
000028f5: DUP6
000028f6: SWAP1
000028f7: DUP14
000028f8: SWAP1
000028f9: PUSH2 0x560e
000028fc: JUMP
000028fd: JUMPDEST
000028fe: PUSH1 0x40
00002900: MLOAD
00002901: DUP1
00002902: SWAP2
00002903: SUB
00002904: SWAP1
00002905: LOG1
00002906: POP
00002907: POP
00002908: POP
00002909: POP
0000290a: POP
0000290b: POP
0000290c: POP
0000290d: PUSH2 0x0b0a
00002910: JUMP
00002911: JUMPDEST
00002912: PUSH2 0x291b
00002915: DUP6
00002916: DUP8
00002917: PUSH2 0x3dbb
0000291a: JUMP
0000291b: JUMPDEST
0000291c: PUSH2 0x2959
0000291f: PUSH2 0x292e
00002922: PUSH1 0x60
00002924: DUP13
00002925: ADD
00002926: PUSH1 0x40
00002928: DUP14
00002929: ADD
0000292a: PUSH2 0x4b94
0000292d: JUMP
0000292e: JUMPDEST
0000292f: DUP7
00002930: PUSH1 0x74
00002932: PUSH0
00002933: SWAP1
00002934: SLOAD
00002935: SWAP1
00002936: PUSH2 0x0100
00002939: EXP
0000293a: SWAP1
0000293b: DIV
0000293c: PUSH1 0x01
0000293e: PUSH1 0x01
00002940: PUSH1 0xa0
00002942: SHL
00002943: SUB
00002944: AND
00002945: DUP14
00002946: PUSH2 0x0100
00002949: ADD
0000294a: DUP1
0000294b: CALLDATASIZE
0000294c: SUB
0000294d: DUP2
0000294e: ADD
0000294f: SWAP1
00002950: PUSH2 0x1460
00002953: SWAP2
00002954: SWAP1
00002955: PUSH2 0x56ae
00002958: JUMP
00002959: JUMPDEST
0000295a: PUSH0
0000295b: MLOAD
0000295c: PUSH1 0x20
0000295e: PUSH2 0x5d47
00002961: PUSH0
00002962: CODECOPY
00002963: PUSH0
00002964: MLOAD
00002965: SWAP1
00002966: PUSH0
00002967: MSTORE
00002968: DUP4
00002969: DUP12
0000296a: PUSH1 0x40
0000296c: MLOAD
0000296d: PUSH2 0x2977
00002970: SWAP3
00002971: SWAP2
00002972: SWAP1
00002973: PUSH2 0x560e
00002976: JUMP
00002977: JUMPDEST
00002978: PUSH1 0x40
0000297a: MLOAD
0000297b: DUP1
0000297c: SWAP2
0000297d: SUB
0000297e: SWAP1
0000297f: LOG1
00002980: POP
00002981: POP
00002982: POP
00002983: POP
00002984: POP
00002985: POP
00002986: POP
00002987: SWAP3
00002988: SWAP2
00002989: POP
0000298a: POP
0000298b: JUMP
0000298c: JUMPDEST
0000298d: PUSH32 0x06e9d321f1aa72738d882c53ba334d30578ba3db2fbd2df66a07059b7abc9900
000029ae: SWAP1
000029af: JUMP
000029b0: JUMPDEST
000029b1: PUSH0
000029b2: PUSH2 0x29bb
000029b5: DUP4
000029b6: DUP4
000029b7: PUSH2 0x3e47
000029ba: JUMP
000029bb: JUMPDEST
000029bc: ISZERO
000029bd: PUSH2 0x29c7
000029c0: JUMPI
000029c1: POP
000029c2: PUSH0
000029c3: PUSH2 0x0b0a
000029c6: JUMP
000029c7: JUMPDEST
000029c8: PUSH0
000029c9: PUSH2 0x29d5
000029cc: PUSH3 0x015180
000029d0: TIMESTAMP
000029d1: PUSH2 0x59f5
000029d4: JUMP
000029d5: JUMPDEST
000029d6: PUSH1 0x01
000029d8: PUSH1 0x01
000029da: PUSH1 0xa0
000029dc: SHL
000029dd: SUB
000029de: DUP6
000029df: AND
000029e0: PUSH0
000029e1: SWAP1
000029e2: DUP2
000029e3: MSTORE
000029e4: PUSH1 0x3e
000029e6: PUSH1 0x20
000029e8: MSTORE
000029e9: PUSH1 0x40
000029eb: SWAP1
000029ec: KECCAK256
000029ed: SLOAD
000029ee: SWAP1
000029ef: SWAP2
000029f0: POP
000029f1: DUP2
000029f2: GT
000029f3: ISZERO
000029f4: PUSH2 0x2a19
000029f7: JUMPI
000029f8: POP
000029f9: POP
000029fa: PUSH1 0x01
000029fc: PUSH1 0x01
000029fe: PUSH1 0xa0
00002a00: SHL
00002a01: SUB
00002a02: DUP3
00002a03: AND
00002a04: PUSH0
00002a05: SWAP1
00002a06: DUP2
00002a07: MSTORE
00002a08: PUSH1 0x3c
00002a0a: PUSH1 0x20
00002a0c: MSTORE
00002a0d: PUSH1 0x40
00002a0f: SWAP1
00002a10: KECCAK256
00002a11: SLOAD
00002a12: DUP2
00002a13: LT
00002a14: ISZERO
00002a15: PUSH2 0x0b0a
00002a18: JUMP
00002a19: JUMPDEST
00002a1a: PUSH1 0x01
00002a1c: PUSH1 0x01
00002a1e: PUSH1 0xa0
00002a20: SHL
00002a21: SUB
00002a22: DUP5
00002a23: AND
00002a24: PUSH0
00002a25: SWAP1
00002a26: DUP2
00002a27: MSTORE
00002a28: PUSH1 0x3d
00002a2a: PUSH1 0x20
00002a2c: MSTORE
00002a2d: PUSH1 0x40
00002a2f: SWAP1
00002a30: KECCAK256
00002a31: SLOAD
00002a32: PUSH2 0x2a3c
00002a35: SWAP1
00002a36: DUP5
00002a37: SWAP1
00002a38: PUSH2 0x59e2
00002a3b: JUMP
00002a3c: JUMPDEST
00002a3d: PUSH1 0x01
00002a3f: PUSH1 0x01
00002a41: PUSH1 0xa0
00002a43: SHL
00002a44: SUB
00002a45: DUP6
00002a46: AND
00002a47: PUSH0
00002a48: SWAP1
00002a49: DUP2
00002a4a: MSTORE
00002a4b: PUSH1 0x3c
00002a4d: PUSH1 0x20
00002a4f: MSTORE
00002a50: PUSH1 0x40
00002a52: SWAP1
00002a53: KECCAK256
00002a54: SLOAD
00002a55: GT
00002a56: ISZERO
00002a57: SWAP2
00002a58: POP
00002a59: PUSH2 0x0b0a
00002a5c: SWAP1
00002a5d: POP
00002a5e: JUMP
00002a5f: JUMPDEST
00002a60: PUSH1 0x7d
00002a62: SLOAD
00002a63: PUSH1 0x01
00002a65: PUSH1 0x01
00002a67: PUSH1 0x60
00002a69: SHL
00002a6a: SUB
00002a6b: AND
00002a6c: PUSH0
00002a6d: DUP2
00002a6e: SWAP1
00002a6f: SUB
00002a70: PUSH2 0x2a99
00002a73: JUMPI
00002a74: PUSH0
00002a75: CALLDATALOAD
00002a76: PUSH1 0x01
00002a78: PUSH1 0x01
00002a7a: PUSH1 0xe0
00002a7c: SHL
00002a7d: SUB
00002a7e: NOT
00002a7f: AND
00002a80: PUSH1 0x40
00002a82: MLOAD
00002a83: PUSH4 0x1103b515
00002a88: PUSH1 0xe3
00002a8a: SHL
00002a8b: DUP2
00002a8c: MSTORE
00002a8d: PUSH1 0x04
00002a8f: ADD
00002a90: PUSH2 0x0b80
00002a93: SWAP2
00002a94: SWAP1
00002a95: PUSH2 0x4fa0
00002a98: JUMP
00002a99: JUMPDEST
00002a9a: SWAP1
00002a9b: JUMP
00002a9c: JUMPDEST
00002a9d: PUSH0
00002a9e: PUSH1 0x02
00002aa0: SLOAD
00002aa1: PUSH1 0x01
00002aa3: PUSH1 0x02
00002aa5: SLOAD
00002aa6: DUP5
00002aa7: PUSH1 0x01
00002aa9: SLOAD
00002aaa: PUSH2 0x2ab3
00002aad: SWAP2
00002aae: SWAP1
00002aaf: PUSH2 0x56ef
00002ab2: JUMP
00002ab3: JUMPDEST
00002ab4: PUSH2 0x2abd
00002ab7: SWAP2
00002ab8: SWAP1
00002ab9: PUSH2 0x59e2
00002abc: JUMP
00002abd: JUMPDEST
00002abe: PUSH2 0x2ac7
00002ac1: SWAP2
00002ac2: SWAP1
00002ac3: PUSH2 0x56dc
00002ac6: JUMP
00002ac7: JUMPDEST
00002ac8: PUSH2 0x2ad1
00002acb: SWAP2
00002acc: SWAP1
00002acd: PUSH2 0x59f5
00002ad0: JUMP
00002ad1: JUMPDEST
00002ad2: SWAP1
00002ad3: POP
00002ad4: DUP1
00002ad5: PUSH0
00002ad6: SUB
00002ad7: PUSH2 0x177d
00002ada: JUMPI
00002adb: PUSH0
00002adc: CALLDATALOAD
00002add: PUSH1 0x01
00002adf: PUSH1 0x01
00002ae1: PUSH1 0xe0
00002ae3: SHL
00002ae4: SUB
00002ae5: NOT
00002ae6: AND
00002ae7: PUSH1 0x40
00002ae9: MLOAD
00002aea: PUSH4 0x267b1b91
00002aef: PUSH1 0xe0
00002af1: SHL
00002af2: DUP2
00002af3: MSTORE
00002af4: PUSH1 0x04
00002af6: ADD
00002af7: PUSH2 0x0b80
00002afa: SWAP2
00002afb: SWAP1
00002afc: PUSH2 0x4fa0
00002aff: JUMP
00002b00: JUMPDEST
00002b01: PUSH2 0x2b08
00002b04: PUSH2 0x225e
00002b07: JUMP
00002b08: JUMPDEST
00002b09: PUSH0
00002b0a: DUP1
00002b0b: SLOAD
00002b0c: PUSH1 0xff
00002b0e: NOT
00002b0f: AND
00002b10: PUSH1 0x01
00002b12: OR
00002b13: SWAP1
00002b14: SSTORE
00002b15: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00002b36: PUSH2 0x2247
00002b39: CALLER
00002b3a: SWAP1
00002b3b: JUMP
00002b3c: JUMPDEST
00002b3d: DUP1
00002b3e: PUSH1 0x01
00002b40: PUSH1 0x01
00002b42: PUSH1 0xa0
00002b44: SHL
00002b45: SUB
00002b46: AND
00002b47: EXTCODESIZE
00002b48: PUSH0
00002b49: SUB
00002b4a: PUSH2 0x0e1e
00002b4d: JUMPI
00002b4e: DUP1
00002b4f: PUSH1 0x40
00002b51: MLOAD
00002b52: PUSH4 0x0bfc64a3
00002b57: PUSH1 0xe2
00002b59: SHL
00002b5a: DUP2
00002b5b: MSTORE
00002b5c: PUSH1 0x04
00002b5e: ADD
00002b5f: PUSH2 0x0b80
00002b62: SWAP2
00002b63: SWAP1
00002b64: PUSH2 0x49e5
00002b67: JUMP
00002b68: JUMPDEST
00002b69: DUP1
00002b6a: PUSH2 0x2b71
00002b6d: PUSH2 0x379c
00002b70: JUMP
00002b71: JUMPDEST
00002b72: PUSH0
00002b73: DUP5
00002b74: PUSH1 0x0f
00002b76: DUP2
00002b77: GT
00002b78: ISZERO
00002b79: PUSH2 0x2b84
00002b7c: JUMPI
00002b7d: PUSH2 0x2b84
00002b80: PUSH2 0x50b0
00002b83: JUMP
00002b84: JUMPDEST
00002b85: PUSH1 0xff
00002b87: AND
00002b88: DUP2
00002b89: MSTORE
00002b8a: PUSH1 0x20
00002b8c: DUP2
00002b8d: ADD
00002b8e: SWAP2
00002b8f: SWAP1
00002b90: SWAP2
00002b91: MSTORE
00002b92: PUSH1 0x40
00002b94: ADD
00002b95: PUSH0
00002b96: KECCAK256
00002b97: DUP1
00002b98: SLOAD
00002b99: PUSH1 0x01
00002b9b: PUSH1 0x01
00002b9d: PUSH1 0xa0
00002b9f: SHL
00002ba0: SUB
00002ba1: NOT
00002ba2: AND
00002ba3: PUSH1 0x01
00002ba5: PUSH1 0x01
00002ba7: PUSH1 0xa0
00002ba9: SHL
00002baa: SUB
00002bab: SWAP3
00002bac: DUP4
00002bad: AND
00002bae: OR
00002baf: SWAP1
00002bb0: SSTORE
00002bb1: DUP2
00002bb2: AND
00002bb3: DUP3
00002bb4: PUSH1 0x0f
00002bb6: DUP2
00002bb7: GT
00002bb8: ISZERO
00002bb9: PUSH2 0x2bc4
00002bbc: JUMPI
00002bbd: PUSH2 0x2bc4
00002bc0: PUSH2 0x50b0
00002bc3: JUMP
00002bc4: JUMPDEST
00002bc5: PUSH1 0x40
00002bc7: MLOAD
00002bc8: PUSH32 0x865d1c228a8ea13709cfe61f346f7ff67f1bbd4a18ff31ad3e7147350d317c59
00002be9: SWAP1
00002bea: PUSH0
00002beb: SWAP1
00002bec: LOG3
00002bed: POP
00002bee: POP
00002bef: JUMP
00002bf0: JUMPDEST
00002bf1: PUSH2 0x2c2b
00002bf4: DUP5
00002bf5: DUP5
00002bf6: DUP1
00002bf7: DUP1
00002bf8: PUSH1 0x20
00002bfa: MUL
00002bfb: PUSH1 0x20
00002bfd: ADD
00002bfe: PUSH1 0x40
00002c00: MLOAD
00002c01: SWAP1
00002c02: DUP2
00002c03: ADD
00002c04: PUSH1 0x40
00002c06: MSTORE
00002c07: DUP1
00002c08: SWAP4
00002c09: SWAP3
00002c0a: SWAP2
00002c0b: SWAP1
00002c0c: DUP2
00002c0d: DUP2
00002c0e: MSTORE
00002c0f: PUSH1 0x20
00002c11: ADD
00002c12: DUP4
00002c13: DUP4
00002c14: PUSH1 0x20
00002c16: MUL
00002c17: DUP1
00002c18: DUP3
00002c19: DUP5
00002c1a: CALLDATACOPY
00002c1b: PUSH0
00002c1c: SWAP3
00002c1d: ADD
00002c1e: SWAP2
00002c1f: SWAP1
00002c20: SWAP2
00002c21: MSTORE
00002c22: POP
00002c23: PUSH2 0x2a99
00002c26: SWAP3
00002c27: POP
00002c28: POP
00002c29: POP
00002c2a: JUMP
00002c2b: JUMPDEST
00002c2c: PUSH2 0x2c66
00002c2f: DUP8
00002c30: DUP8
00002c31: DUP1
00002c32: DUP1
00002c33: PUSH1 0x20
00002c35: MUL
00002c36: PUSH1 0x20
00002c38: ADD
00002c39: PUSH1 0x40
00002c3b: MLOAD
00002c3c: SWAP1
00002c3d: DUP2
00002c3e: ADD
00002c3f: PUSH1 0x40
00002c41: MSTORE
00002c42: DUP1
00002c43: SWAP4
00002c44: SWAP3
00002c45: SWAP2
00002c46: SWAP1
00002c47: DUP2
00002c48: DUP2
00002c49: MSTORE
00002c4a: PUSH1 0x20
00002c4c: ADD
00002c4d: DUP4
00002c4e: DUP4
00002c4f: PUSH1 0x20
00002c51: MUL
00002c52: DUP1
00002c53: DUP3
00002c54: DUP5
00002c55: CALLDATACOPY
00002c56: PUSH0
00002c57: SWAP3
00002c58: ADD
00002c59: SWAP2
00002c5a: SWAP1
00002c5b: SWAP2
00002c5c: MSTORE
00002c5d: POP
00002c5e: PUSH2 0x2a99
00002c61: SWAP3
00002c62: POP
00002c63: POP
00002c64: POP
00002c65: JUMP
00002c66: JUMPDEST
00002c67: PUSH2 0x2c70
00002c6a: DUP3
00002c6b: DUP3
00002c6c: PUSH2 0x360b
00002c6f: JUMP
00002c70: JUMPDEST
00002c71: PUSH2 0x2cab
00002c74: DUP7
00002c75: DUP7
00002c76: DUP1
00002c77: DUP1
00002c78: PUSH1 0x20
00002c7a: MUL
00002c7b: PUSH1 0x20
00002c7d: ADD
00002c7e: PUSH1 0x40
00002c80: MLOAD
00002c81: SWAP1
00002c82: DUP2
00002c83: ADD
00002c84: PUSH1 0x40
00002c86: MSTORE
00002c87: DUP1
00002c88: SWAP4
00002c89: SWAP3
00002c8a: SWAP2
00002c8b: SWAP1
00002c8c: DUP2
00002c8d: DUP2
00002c8e: MSTORE
00002c8f: PUSH1 0x20
00002c91: ADD
00002c92: DUP4
00002c93: DUP4
00002c94: PUSH1 0x20
00002c96: MUL
00002c97: DUP1
00002c98: DUP3
00002c99: DUP5
00002c9a: CALLDATACOPY
00002c9b: PUSH0
00002c9c: SWAP3
00002c9d: ADD
00002c9e: SWAP2
00002c9f: SWAP1
00002ca0: SWAP2
00002ca1: MSTORE
00002ca2: POP
00002ca3: PUSH2 0x2a99
00002ca6: SWAP3
00002ca7: POP
00002ca8: POP
00002ca9: POP
00002caa: JUMP
00002cab: JUMPDEST
00002cac: PUSH2 0x2ce6
00002caf: DUP6
00002cb0: DUP6
00002cb1: DUP1
00002cb2: DUP1
00002cb3: PUSH1 0x20
00002cb5: MUL
00002cb6: PUSH1 0x20
00002cb8: ADD
00002cb9: PUSH1 0x40
00002cbb: MLOAD
00002cbc: SWAP1
00002cbd: DUP2
00002cbe: ADD
00002cbf: PUSH1 0x40
00002cc1: MSTORE
00002cc2: DUP1
00002cc3: SWAP4
00002cc4: SWAP3
00002cc5: SWAP2
00002cc6: SWAP1
00002cc7: DUP2
00002cc8: DUP2
00002cc9: MSTORE
00002cca: PUSH1 0x20
00002ccc: ADD
00002ccd: DUP4
00002cce: DUP4
00002ccf: PUSH1 0x20
00002cd1: MUL
00002cd2: DUP1
00002cd3: DUP3
00002cd4: DUP5
00002cd5: CALLDATACOPY
00002cd6: PUSH0
00002cd7: SWAP3
00002cd8: ADD
00002cd9: SWAP2
00002cda: SWAP1
00002cdb: SWAP2
00002cdc: MSTORE
00002cdd: POP
00002cde: PUSH2 0x2a99
00002ce1: SWAP3
00002ce2: POP
00002ce3: POP
00002ce4: POP
00002ce5: JUMP
00002ce6: JUMPDEST
00002ce7: PUSH2 0x2cf0
00002cea: DUP3
00002ceb: DUP3
00002cec: PUSH2 0x360b
00002cef: JUMP
00002cf0: JUMPDEST
00002cf1: PUSH0
00002cf2: PUSH2 0x2cf9
00002cf5: PUSH2 0x298c
00002cf8: JUMP
00002cf9: JUMPDEST
00002cfa: SWAP1
00002cfb: POP
00002cfc: DUP8
00002cfd: PUSH0
00002cfe: JUMPDEST
00002cff: DUP2
00002d00: DUP2
00002d01: LT
00002d02: ISZERO
00002d03: PUSH2 0x2e37
00002d06: JUMPI
00002d07: PUSH0
00002d08: DUP14
00002d09: DUP14
00002d0a: DUP4
00002d0b: DUP2
00002d0c: DUP2
00002d0d: LT
00002d0e: PUSH2 0x2d19
00002d11: JUMPI
00002d12: PUSH2 0x2d19
00002d15: PUSH2 0x53b1
00002d18: JUMP
00002d19: JUMPDEST
00002d1a: SWAP1
00002d1b: POP
00002d1c: PUSH1 0x20
00002d1e: MUL
00002d1f: ADD
00002d20: PUSH1 0x20
00002d22: DUP2
00002d23: ADD
00002d24: SWAP1
00002d25: PUSH2 0x2d2e
00002d28: SWAP2
00002d29: SWAP1
00002d2a: PUSH2 0x4b94
00002d2d: JUMP
00002d2e: JUMPDEST
00002d2f: PUSH1 0x01
00002d31: PUSH1 0x01
00002d33: PUSH1 0xa0
00002d35: SHL
00002d36: SUB
00002d37: AND
00002d38: SUB
00002d39: PUSH2 0x2d55
00002d3c: JUMPI
00002d3d: PUSH1 0x40
00002d3f: MLOAD
00002d40: PUSH4 0x6e7630ff
00002d45: PUSH1 0xe0
00002d47: SHL
00002d48: DUP2
00002d49: MSTORE
00002d4a: PUSH1 0x04
00002d4c: ADD
00002d4d: PUSH1 0x40
00002d4f: MLOAD
00002d50: DUP1
00002d51: SWAP2
00002d52: SUB
00002d53: SWAP1
00002d54: REVERT
00002d55: JUMPDEST
00002d56: PUSH0
00002d57: DUP4
00002d58: DUP2
00002d59: DUP16
00002d5a: DUP16
00002d5b: DUP6
00002d5c: DUP2
00002d5d: DUP2
00002d5e: LT
00002d5f: PUSH2 0x2d6a
00002d62: JUMPI
00002d63: PUSH2 0x2d6a
00002d66: PUSH2 0x53b1
00002d69: JUMP
00002d6a: JUMPDEST
00002d6b: SWAP1
00002d6c: POP
00002d6d: PUSH1 0x20
00002d6f: MUL
00002d70: ADD
00002d71: PUSH1 0x20
00002d73: DUP2
00002d74: ADD
00002d75: SWAP1
00002d76: PUSH2 0x2d7f
00002d79: SWAP2
00002d7a: SWAP1
00002d7b: PUSH2 0x4b94
00002d7e: JUMP
00002d7f: JUMPDEST
00002d80: PUSH1 0x01
00002d82: PUSH1 0x01
00002d84: PUSH1 0xa0
00002d86: SHL
00002d87: SUB
00002d88: AND
00002d89: PUSH1 0x01
00002d8b: PUSH1 0x01
00002d8d: PUSH1 0xa0
00002d8f: SHL
00002d90: SUB
00002d91: AND
00002d92: DUP2
00002d93: MSTORE
00002d94: PUSH1 0x20
00002d96: ADD
00002d97: SWAP1
00002d98: DUP2
00002d99: MSTORE
00002d9a: PUSH1 0x20
00002d9c: ADD
00002d9d: PUSH0
00002d9e: KECCAK256
00002d9f: SWAP1
00002da0: POP
00002da1: DUP12
00002da2: DUP12
00002da3: DUP4
00002da4: DUP2
00002da5: DUP2
00002da6: LT
00002da7: PUSH2 0x2db2
00002daa: JUMPI
00002dab: PUSH2 0x2db2
00002dae: PUSH2 0x53b1
00002db1: JUMP
00002db2: JUMPDEST
00002db3: SWAP1
00002db4: POP
00002db5: PUSH1 0x20
00002db7: MUL
00002db8: ADD
00002db9: PUSH1 0x20
00002dbb: DUP2
00002dbc: ADD
00002dbd: SWAP1
00002dbe: PUSH2 0x2dc7
00002dc1: SWAP2
00002dc2: SWAP1
00002dc3: PUSH2 0x4b94
00002dc6: JUMP
00002dc7: JUMPDEST
00002dc8: DUP2
00002dc9: SLOAD
00002dca: PUSH1 0x01
00002dcc: PUSH1 0x01
00002dce: PUSH1 0xa0
00002dd0: SHL
00002dd1: SUB
00002dd2: NOT
00002dd3: AND
00002dd4: PUSH1 0x01
00002dd6: PUSH1 0x01
00002dd8: PUSH1 0xa0
00002dda: SHL
00002ddb: SUB
00002ddc: SWAP2
00002ddd: SWAP1
00002dde: SWAP2
00002ddf: AND
00002de0: OR
00002de1: DUP2
00002de2: SSTORE
00002de3: DUP10
00002de4: DUP10
00002de5: DUP4
00002de6: DUP2
00002de7: DUP2
00002de8: LT
00002de9: PUSH2 0x2df4
00002dec: JUMPI
00002ded: PUSH2 0x2df4
00002df0: PUSH2 0x53b1
00002df3: JUMP
00002df4: JUMPDEST
00002df5: SWAP1
00002df6: POP
00002df7: PUSH1 0x20
00002df9: MUL
00002dfa: ADD
00002dfb: PUSH1 0x20
00002dfd: DUP2
00002dfe: ADD
00002dff: SWAP1
00002e00: PUSH2 0x2e09
00002e03: SWAP2
00002e04: SWAP1
00002e05: PUSH2 0x5a2a
00002e08: JUMP
00002e09: JUMPDEST
00002e0a: DUP2
00002e0b: SLOAD
00002e0c: PUSH1 0x01
00002e0e: PUSH1 0x01
00002e10: PUSH1 0x40
00002e12: SHL
00002e13: SUB
00002e14: SWAP2
00002e15: SWAP1
00002e16: SWAP2
00002e17: AND
00002e18: PUSH1 0x01
00002e1a: PUSH1 0xa0
00002e1c: SHL
00002e1d: MUL
00002e1e: PUSH1 0x01
00002e20: PUSH1 0xa0
00002e22: SHL
00002e23: PUSH1 0x01
00002e25: PUSH1 0xe0
00002e27: SHL
00002e28: SUB
00002e29: NOT
00002e2a: SWAP1
00002e2b: SWAP2
00002e2c: AND
00002e2d: OR
00002e2e: SWAP1
00002e2f: SSTORE
00002e30: PUSH1 0x01
00002e32: ADD
00002e33: PUSH2 0x2cfe
00002e36: JUMP
00002e37: JUMPDEST
00002e38: POP
00002e39: CALLER
00002e3a: PUSH1 0x01
00002e3c: PUSH1 0x01
00002e3e: PUSH1 0xa0
00002e40: SHL
00002e41: SUB
00002e42: AND
00002e43: PUSH32 0x58881457e968e680588d4a27c22619b7f8f0d3f394c679907123547a2ae200ca
00002e64: DUP14
00002e65: DUP14
00002e66: DUP14
00002e67: DUP14
00002e68: DUP14
00002e69: DUP14
00002e6a: PUSH1 0x40
00002e6c: MLOAD
00002e6d: PUSH2 0x2e7b
00002e70: SWAP7
00002e71: SWAP6
00002e72: SWAP5
00002e73: SWAP4
00002e74: SWAP3
00002e75: SWAP2
00002e76: SWAP1
00002e77: PUSH2 0x5a43
00002e7a: JUMP
00002e7b: JUMPDEST
00002e7c: PUSH1 0x40
00002e7e: MLOAD
00002e7f: DUP1
00002e80: SWAP2
00002e81: SUB
00002e82: SWAP1
00002e83: LOG2
00002e84: POP
00002e85: POP
00002e86: POP
00002e87: POP
00002e88: POP
00002e89: POP
00002e8a: POP
00002e8b: POP
00002e8c: POP
00002e8d: POP
00002e8e: POP
00002e8f: POP
00002e90: JUMP
00002e91: JUMPDEST
00002e92: PUSH0
00002e93: DUP2
00002e94: PUSH1 0x02
00002e96: DUP2
00002e97: GT
00002e98: ISZERO
00002e99: PUSH2 0x2ea4
00002e9c: JUMPI
00002e9d: PUSH2 0x2ea4
00002ea0: PUSH2 0x50b0
00002ea3: JUMP
00002ea4: JUMPDEST
00002ea5: PUSH1 0xff
00002ea7: AND
00002ea8: PUSH1 0x01
00002eaa: SWAP1
00002eab: SHL
00002eac: SWAP1
00002ead: POP
00002eae: SWAP2
00002eaf: SWAP1
00002eb0: POP
00002eb1: JUMP
00002eb2: JUMPDEST
00002eb3: PUSH32 0xa7959878b25ffc8190f7b5440888c97e9a819bbb4963604c213ae021e3145700
00002ed4: SWAP1
00002ed5: JUMP
00002ed6: JUMPDEST
00002ed7: PUSH2 0x2edf
00002eda: DUP2
00002edb: PUSH2 0x1c83
00002ede: JUMP
00002edf: JUMPDEST
00002ee0: PUSH1 0x01
00002ee2: PUSH1 0x01
00002ee4: PUSH1 0xa0
00002ee6: SHL
00002ee7: SUB
00002ee8: AND
00002ee9: CALLER
00002eea: PUSH1 0x01
00002eec: PUSH1 0x01
00002eee: PUSH1 0xa0
00002ef0: SHL
00002ef1: SUB
00002ef2: AND
00002ef3: EQ
00002ef4: PUSH2 0x0e1e
00002ef7: JUMPI
00002ef8: PUSH0
00002ef9: CALLDATALOAD
00002efa: PUSH1 0x01
00002efc: PUSH1 0x01
00002efe: PUSH1 0xe0
00002f00: SHL
00002f01: SUB
00002f02: NOT
00002f03: AND
00002f04: DUP2
00002f05: CALLER
00002f06: PUSH1 0x40
00002f08: MLOAD
00002f09: PUSH4 0x20e0f98d
00002f0e: PUSH1 0xe2
00002f10: SHL
00002f11: DUP2
00002f12: MSTORE
00002f13: PUSH1 0x04
00002f15: ADD
00002f16: PUSH2 0x0b80
00002f19: SWAP4
00002f1a: SWAP3
00002f1b: SWAP2
00002f1c: SWAP1
00002f1d: PUSH2 0x5aaa
00002f20: JUMP
00002f21: JUMPDEST
00002f22: PUSH0
00002f23: PUSH2 0x0e88
00002f26: DUP4
00002f27: DUP4
00002f28: PUSH2 0x3e66
00002f2b: JUMP
00002f2c: JUMPDEST
00002f2d: PUSH0
00002f2e: PUSH0
00002f2f: PUSH2 0x2f3b
00002f32: DUP4
00002f33: PUSH1 0x40
00002f35: ADD
00002f36: MLOAD
00002f37: PUSH2 0x3e8c
00002f3a: JUMP
00002f3b: JUMPDEST
00002f3c: SWAP1
00002f3d: POP
00002f3e: PUSH0
00002f3f: PUSH2 0x2f4b
00002f42: DUP5
00002f43: PUSH1 0x60
00002f45: ADD
00002f46: MLOAD
00002f47: PUSH2 0x3e8c
00002f4a: JUMP
00002f4b: JUMPDEST
00002f4c: SWAP1
00002f4d: POP
00002f4e: PUSH0
00002f4f: PUSH2 0x2f9e
00002f52: DUP6
00002f53: PUSH1 0x80
00002f55: ADD
00002f56: MLOAD
00002f57: PUSH1 0x40
00002f59: DUP1
00002f5a: MLOAD
00002f5b: PUSH32 0x1e2b74b2a792d5c0f0b6e59b037fa9d43d84fbb759337f0112fcc15ca414fc8d
00002f7c: DUP2
00002f7d: MSTORE
00002f7e: DUP3
00002f7f: MLOAD
00002f80: PUSH1 0x20
00002f82: DUP1
00002f83: DUP4
00002f84: ADD
00002f85: SWAP2
00002f86: SWAP1
00002f87: SWAP2
00002f88: MSTORE
00002f89: DUP4
00002f8a: ADD
00002f8b: MLOAD
00002f8c: DUP2
00002f8d: DUP4
00002f8e: ADD
00002f8f: MSTORE
00002f90: SWAP2
00002f91: ADD
00002f92: MLOAD
00002f93: PUSH1 0x60
00002f95: DUP3
00002f96: ADD
00002f97: MSTORE
00002f98: PUSH1 0x80
00002f9a: SWAP1
00002f9b: KECCAK256
00002f9c: SWAP1
00002f9d: JUMP
00002f9e: JUMPDEST
00002f9f: PUSH1 0x40
00002fa1: DUP1
00002fa2: MLOAD
00002fa3: PUSH32 0xb9d1fe7c9deeec5dc90a2f47ff1684239519f2545b2228d3d91fb27df3189eea
00002fc4: DUP2
00002fc5: MSTORE
00002fc6: DUP8
00002fc7: MLOAD
00002fc8: PUSH1 0x20
00002fca: DUP1
00002fcb: DUP4
00002fcc: ADD
00002fcd: SWAP2
00002fce: SWAP1
00002fcf: SWAP2
00002fd0: MSTORE
00002fd1: SWAP1
00002fd2: SWAP8
00002fd3: ADD
00002fd4: MLOAD
00002fd5: SWAP1
00002fd6: DUP8
00002fd7: ADD
00002fd8: MSTORE
00002fd9: PUSH1 0x60
00002fdb: DUP7
00002fdc: ADD
00002fdd: SWAP4
00002fde: SWAP1
00002fdf: SWAP4
00002fe0: MSTORE
00002fe1: POP
00002fe2: PUSH1 0x80
00002fe4: DUP5
00002fe5: ADD
00002fe6: MSTORE
00002fe7: PUSH1 0xa0
00002fe9: DUP4
00002fea: ADD
00002feb: MSTORE
00002fec: POP
00002fed: PUSH1 0xc0
00002fef: SWAP1
00002ff0: KECCAK256
00002ff1: SWAP1
00002ff2: JUMP
00002ff3: JUMPDEST
00002ff4: PUSH0
00002ff5: PUSH3 0x0f4240
00002ff9: PUSH2 0x3002
00002ffc: DUP4
00002ffd: DUP6
00002ffe: PUSH2 0x56ef
00003001: JUMP
00003002: JUMPDEST
00003003: PUSH2 0x0e88
00003006: SWAP2
00003007: SWAP1
00003008: PUSH2 0x59f5
0000300b: JUMP
0000300c: JUMPDEST
0000300d: DUP1
0000300e: PUSH1 0x01
00003010: PUSH1 0x01
00003012: PUSH1 0xa0
00003014: SHL
00003015: SUB
00003016: AND
00003017: DUP3
00003018: PUSH1 0x01
0000301a: PUSH1 0x01
0000301c: PUSH1 0xa0
0000301e: SHL
0000301f: SUB
00003020: AND
00003021: SUB
00003022: PUSH2 0x30b4
00003025: JUMPI
00003026: PUSH1 0x40
00003028: DUP1
00003029: DUP6
0000302a: ADD
0000302b: MLOAD
0000302c: SWAP1
0000302d: MLOAD
0000302e: PUSH1 0x01
00003030: PUSH1 0x01
00003032: PUSH1 0xa0
00003034: SHL
00003035: SUB
00003036: DUP6
00003037: AND
00003038: SWAP2
00003039: DUP1
0000303a: ISZERO
0000303b: PUSH2 0x08fc
0000303e: MUL
0000303f: SWAP2
00003040: PUSH0
00003041: DUP2
00003042: DUP2
00003043: DUP2
00003044: DUP6
00003045: DUP9
00003046: DUP9
00003047: CALL
00003048: SWAP4
00003049: POP
0000304a: POP
0000304b: POP
0000304c: POP
0000304d: PUSH2 0x30af
00003050: JUMPI
00003051: DUP1
00003052: PUSH1 0x01
00003054: PUSH1 0x01
00003056: PUSH1 0xa0
00003058: SHL
00003059: SUB
0000305a: AND
0000305b: PUSH4 0xd0e30db0
00003060: DUP6
00003061: PUSH1 0x40
00003063: ADD
00003064: MLOAD
00003065: PUSH1 0x40
00003067: MLOAD
00003068: DUP3
00003069: PUSH4 0xffffffff
0000306e: AND
0000306f: PUSH1 0xe0
00003071: SHL
00003072: DUP2
00003073: MSTORE
00003074: PUSH1 0x04
00003076: ADD
00003077: PUSH0
00003078: PUSH1 0x40
0000307a: MLOAD
0000307b: DUP1
0000307c: DUP4
0000307d: SUB
0000307e: DUP2
0000307f: DUP6
00003080: DUP9
00003081: DUP1
00003082: EXTCODESIZE
00003083: ISZERO
00003084: DUP1
00003085: ISZERO
00003086: PUSH2 0x308d
00003089: JUMPI
0000308a: PUSH0
0000308b: PUSH0
0000308c: REVERT
0000308d: JUMPDEST
0000308e: POP
0000308f: GAS
00003090: CALL
00003091: ISZERO
00003092: DUP1
00003093: ISZERO
00003094: PUSH2 0x309f
00003097: JUMPI
00003098: RETURNDATASIZE
00003099: PUSH0
0000309a: PUSH0
0000309b: RETURNDATACOPY
0000309c: RETURNDATASIZE
0000309d: PUSH0
0000309e: REVERT
0000309f: JUMPDEST
000030a0: POP
000030a1: POP
000030a2: POP
000030a3: POP
000030a4: POP
000030a5: PUSH2 0x30af
000030a8: DUP5
000030a9: DUP5
000030aa: DUP5
000030ab: PUSH2 0x3ed4
000030ae: JUMP
000030af: JUMPDEST
000030b0: PUSH2 0x0cd0
000030b3: JUMP
000030b4: JUMPDEST
000030b5: PUSH0
000030b6: DUP5
000030b7: MLOAD
000030b8: PUSH1 0x02
000030ba: DUP2
000030bb: GT
000030bc: ISZERO
000030bd: PUSH2 0x30c8
000030c0: JUMPI
000030c1: PUSH2 0x30c8
000030c4: PUSH2 0x50b0
000030c7: JUMP
000030c8: JUMPDEST
000030c9: SUB
000030ca: PUSH2 0x3190
000030cd: JUMPI
000030ce: PUSH1 0x40
000030d0: MLOAD
000030d1: PUSH4 0x70a08231
000030d6: PUSH1 0xe0
000030d8: SHL
000030d9: DUP2
000030da: MSTORE
000030db: PUSH0
000030dc: SWAP1
000030dd: PUSH1 0x01
000030df: PUSH1 0x01
000030e1: PUSH1 0xa0
000030e3: SHL
000030e4: SUB
000030e5: DUP5
000030e6: AND
000030e7: SWAP1
000030e8: PUSH4 0x70a08231
000030ed: SWAP1
000030ee: PUSH2 0x30fb
000030f1: SWAP1
000030f2: ADDRESS
000030f3: SWAP1
000030f4: PUSH1 0x04
000030f6: ADD
000030f7: PUSH2 0x49e5
000030fa: JUMP
000030fb: JUMPDEST
000030fc: PUSH1 0x20
000030fe: PUSH1 0x40
00003100: MLOAD
00003101: DUP1
00003102: DUP4
00003103: SUB
00003104: DUP2
00003105: DUP7
00003106: GAS
00003107: STATICCALL
00003108: ISZERO
00003109: DUP1
0000310a: ISZERO
0000310b: PUSH2 0x3116
0000310e: JUMPI
0000310f: RETURNDATASIZE
00003110: PUSH0
00003111: PUSH0
00003112: RETURNDATACOPY
00003113: RETURNDATASIZE
00003114: PUSH0
00003115: REVERT
00003116: JUMPDEST
00003117: POP
00003118: POP
00003119: POP
0000311a: POP
0000311b: PUSH1 0x40
0000311d: MLOAD
0000311e: RETURNDATASIZE
0000311f: PUSH1 0x1f
00003121: NOT
00003122: PUSH1 0x1f
00003124: DUP3
00003125: ADD
00003126: AND
00003127: DUP3
00003128: ADD
00003129: DUP1
0000312a: PUSH1 0x40
0000312c: MSTORE
0000312d: POP
0000312e: DUP2
0000312f: ADD
00003130: SWAP1
00003131: PUSH2 0x313a
00003134: SWAP2
00003135: SWAP1
00003136: PUSH2 0x5ae1
00003139: JUMP
0000313a: JUMPDEST
0000313b: SWAP1
0000313c: POP
0000313d: DUP5
0000313e: PUSH1 0x40
00003140: ADD
00003141: MLOAD
00003142: DUP2
00003143: LT
00003144: ISZERO
00003145: PUSH2 0x317f
00003148: JUMPI
00003149: PUSH2 0x3162
0000314c: DUP4
0000314d: ADDRESS
0000314e: DUP4
0000314f: DUP9
00003150: PUSH1 0x40
00003152: ADD
00003153: MLOAD
00003154: PUSH2 0x315d
00003157: SWAP2
00003158: SWAP1
00003159: PUSH2 0x56dc
0000315c: JUMP
0000315d: JUMPDEST
0000315e: PUSH2 0x3f52
00003161: JUMP
00003162: JUMPDEST
00003163: PUSH2 0x317f
00003166: JUMPI
00003167: PUSH1 0x40
00003169: MLOAD
0000316a: PUSH4 0x2f739fff
0000316f: PUSH1 0xe1
00003171: SHL
00003172: DUP2
00003173: MSTORE
00003174: PUSH1 0x04
00003176: ADD
00003177: PUSH1 0x40
00003179: MLOAD
0000317a: DUP1
0000317b: SWAP2
0000317c: SUB
0000317d: SWAP1
0000317e: REVERT
0000317f: JUMPDEST
00003180: PUSH2 0x318a
00003183: DUP6
00003184: DUP6
00003185: DUP6
00003186: PUSH2 0x3ed4
00003189: JUMP
0000318a: JUMPDEST
0000318b: POP
0000318c: PUSH2 0x0cd0
0000318f: JUMP
00003190: JUMPDEST
00003191: PUSH1 0x01
00003193: DUP5
00003194: MLOAD
00003195: PUSH1 0x02
00003197: DUP2
00003198: GT
00003199: ISZERO
0000319a: PUSH2 0x31a5
0000319d: JUMPI
0000319e: PUSH2 0x31a5
000031a1: PUSH2 0x50b0
000031a4: JUMP
000031a5: JUMPDEST
000031a6: SUB
000031a7: PUSH2 0x31d6
000031aa: JUMPI
000031ab: PUSH2 0x31b9
000031ae: DUP3
000031af: DUP5
000031b0: DUP7
000031b1: PUSH1 0x20
000031b3: ADD
000031b4: MLOAD
000031b5: PUSH2 0x3ff7
000031b8: JUMP
000031b9: JUMPDEST
000031ba: PUSH2 0x30af
000031bd: JUMPI
000031be: PUSH1 0x40
000031c0: MLOAD
000031c1: PUSH4 0xc8e3a09f
000031c6: PUSH1 0xe0
000031c8: SHL
000031c9: DUP2
000031ca: MSTORE
000031cb: PUSH1 0x04
000031cd: ADD
000031ce: PUSH1 0x40
000031d0: MLOAD
000031d1: DUP1
000031d2: SWAP2
000031d3: SUB
000031d4: SWAP1
000031d5: REVERT
000031d6: JUMPDEST
000031d7: PUSH1 0x02
000031d9: DUP5
000031da: MLOAD
000031db: PUSH1 0x02
000031dd: DUP2
000031de: GT
000031df: ISZERO
000031e0: PUSH2 0x31eb
000031e3: JUMPI
000031e4: PUSH2 0x31eb
000031e7: PUSH2 0x50b0
000031ea: JUMP
000031eb: JUMPDEST
000031ec: SUB
000031ed: PUSH2 0x3221
000031f0: JUMPI
000031f1: PUSH2 0x3204
000031f4: DUP3
000031f5: DUP5
000031f6: DUP7
000031f7: PUSH1 0x20
000031f9: ADD
000031fa: MLOAD
000031fb: DUP8
000031fc: PUSH1 0x40
000031fe: ADD
000031ff: MLOAD
00003200: PUSH2 0x401d
00003203: JUMP
00003204: JUMPDEST
00003205: PUSH2 0x30af
00003208: JUMPI
00003209: PUSH1 0x40
0000320b: MLOAD
0000320c: PUSH4 0x34b471a7
00003211: PUSH1 0xe2
00003213: SHL
00003214: DUP2
00003215: MSTORE
00003216: PUSH1 0x04
00003218: ADD
00003219: PUSH1 0x40
0000321b: MLOAD
0000321c: DUP1
0000321d: SWAP2
0000321e: SUB
0000321f: SWAP1
00003220: REVERT
00003221: JUMPDEST
00003222: PUSH1 0x40
00003224: MLOAD
00003225: PUSH4 0x61e411a7
0000322a: PUSH1 0xe1
0000322c: SHL
0000322d: DUP2
0000322e: MSTORE
0000322f: PUSH1 0x04
00003231: ADD
00003232: PUSH1 0x40
00003234: MLOAD
00003235: DUP1
00003236: SWAP2
00003237: SUB
00003238: SWAP1
00003239: REVERT
0000323a: JUMPDEST
0000323b: DUP3
0000323c: DUP2
0000323d: EQ
0000323e: PUSH2 0x3267
00003241: JUMPI
00003242: PUSH0
00003243: CALLDATALOAD
00003244: PUSH1 0x01
00003246: PUSH1 0x01
00003248: PUSH1 0xe0
0000324a: SHL
0000324b: SUB
0000324c: NOT
0000324d: AND
0000324e: PUSH1 0x40
00003250: MLOAD
00003251: PUSH4 0x06b56675
00003256: PUSH1 0xe2
00003258: SHL
00003259: DUP2
0000325a: MSTORE
0000325b: PUSH1 0x04
0000325d: ADD
0000325e: PUSH2 0x0b80
00003261: SWAP2
00003262: SWAP1
00003263: PUSH2 0x4fa0
00003266: JUMP
00003267: JUMPDEST
00003268: PUSH0
00003269: JUMPDEST
0000326a: DUP4
0000326b: DUP2
0000326c: LT
0000326d: ISZERO
0000326e: PUSH2 0x32d5
00003271: JUMPI
00003272: DUP3
00003273: DUP3
00003274: DUP3
00003275: DUP2
00003276: DUP2
00003277: LT
00003278: PUSH2 0x3283
0000327b: JUMPI
0000327c: PUSH2 0x3283
0000327f: PUSH2 0x53b1
00003282: JUMP
00003283: JUMPDEST
00003284: SWAP1
00003285: POP
00003286: PUSH1 0x20
00003288: MUL
00003289: ADD
0000328a: CALLDATALOAD
0000328b: PUSH1 0x39
0000328d: PUSH0
0000328e: DUP8
0000328f: DUP8
00003290: DUP6
00003291: DUP2
00003292: DUP2
00003293: LT
00003294: PUSH2 0x329f
00003297: JUMPI
00003298: PUSH2 0x329f
0000329b: PUSH2 0x53b1
0000329e: JUMP
0000329f: JUMPDEST
000032a0: SWAP1
000032a1: POP
000032a2: PUSH1 0x20
000032a4: MUL
000032a5: ADD
000032a6: PUSH1 0x20
000032a8: DUP2
000032a9: ADD
000032aa: SWAP1
000032ab: PUSH2 0x32b4
000032ae: SWAP2
000032af: SWAP1
000032b0: PUSH2 0x4b94
000032b3: JUMP
000032b4: JUMPDEST
000032b5: PUSH1 0x01
000032b7: PUSH1 0x01
000032b9: PUSH1 0xa0
000032bb: SHL
000032bc: SUB
000032bd: AND
000032be: DUP2
000032bf: MSTORE
000032c0: PUSH1 0x20
000032c2: DUP2
000032c3: ADD
000032c4: SWAP2
000032c5: SWAP1
000032c6: SWAP2
000032c7: MSTORE
000032c8: PUSH1 0x40
000032ca: ADD
000032cb: PUSH0
000032cc: KECCAK256
000032cd: SSTORE
000032ce: PUSH1 0x01
000032d0: ADD
000032d1: PUSH2 0x3269
000032d4: JUMP
000032d5: JUMPDEST
000032d6: POP
000032d7: PUSH32 0x80bc635c452ae67f12f9b6f12ad4daa6dbbc04eeb9ebb87d354ce10c0e210dc0
000032f8: DUP5
000032f9: DUP5
000032fa: DUP5
000032fb: DUP5
000032fc: PUSH1 0x40
000032fe: MLOAD
000032ff: PUSH2 0x1486
00003302: SWAP5
00003303: SWAP4
00003304: SWAP3
00003305: SWAP2
00003306: SWAP1
00003307: PUSH2 0x584b
0000330a: JUMP
0000330b: JUMPDEST
0000330c: PUSH0
0000330d: PUSH0
0000330e: DUP3
0000330f: DUP5
00003310: GT
00003311: DUP1
00003312: PUSH2 0x3319
00003315: JUMPI
00003316: POP
00003317: DUP4
00003318: ISZERO
00003319: JUMPDEST
0000331a: DUP1
0000331b: PUSH2 0x3322
0000331e: JUMPI
0000331f: POP
00003320: DUP3
00003321: ISZERO
00003322: JUMPDEST
00003323: ISZERO
00003324: PUSH2 0x334d
00003327: JUMPI
00003328: PUSH0
00003329: CALLDATALOAD
0000332a: PUSH1 0x01
0000332c: PUSH1 0x01
0000332e: PUSH1 0xe0
00003330: SHL
00003331: SUB
00003332: NOT
00003333: AND
00003334: PUSH1 0x40
00003336: MLOAD
00003337: PUSH4 0x87f6f095
0000333c: PUSH1 0xe0
0000333e: SHL
0000333f: DUP2
00003340: MSTORE
00003341: PUSH1 0x04
00003343: ADD
00003344: PUSH2 0x0b80
00003347: SWAP2
00003348: SWAP1
00003349: PUSH2 0x4fa0
0000334c: JUMP
0000334d: JUMPDEST
0000334e: POP
0000334f: POP
00003350: PUSH1 0x37
00003352: DUP1
00003353: SLOAD
00003354: PUSH1 0x38
00003356: DUP1
00003357: SLOAD
00003358: SWAP3
00003359: DUP6
0000335a: SWAP1
0000335b: SSTORE
0000335c: DUP4
0000335d: SWAP1
0000335e: SSTORE
0000335f: PUSH1 0x04
00003361: DUP1
00003362: SLOAD
00003363: PUSH1 0x01
00003365: DUP2
00003366: ADD
00003367: SWAP1
00003368: SWAP2
00003369: SSTORE
0000336a: PUSH1 0x40
0000336c: DUP1
0000336d: MLOAD
0000336e: DUP4
0000336f: DUP2
00003370: MSTORE
00003371: PUSH1 0x20
00003373: DUP2
00003374: ADD
00003375: DUP6
00003376: SWAP1
00003377: MSTORE
00003378: SWAP3
00003379: SWAP4
0000337a: SWAP3
0000337b: DUP6
0000337c: SWAP3
0000337d: DUP8
0000337e: SWAP3
0000337f: SWAP1
00003380: SWAP2
00003381: PUSH32 0x31312c97b89cc751b832d98fd459b967a2c3eef3b49757d1cf5ebaa12bb6eee1
000033a2: SWAP2
000033a3: ADD
000033a4: PUSH1 0x40
000033a6: MLOAD
000033a7: DUP1
000033a8: SWAP2
000033a9: SUB
000033aa: SWAP1
000033ab: LOG4
000033ac: SWAP3
000033ad: POP
000033ae: SWAP3
000033af: SWAP1
000033b0: POP
000033b1: JUMP
000033b2: JUMPDEST
000033b3: PUSH1 0x02
000033b5: SLOAD
000033b6: PUSH1 0x37
000033b8: SLOAD
000033b9: PUSH2 0x33c2
000033bc: SWAP2
000033bd: SWAP1
000033be: PUSH2 0x56ef
000033c1: JUMP
000033c2: JUMPDEST
000033c3: PUSH1 0x38
000033c5: SLOAD
000033c6: PUSH1 0x01
000033c8: SLOAD
000033c9: PUSH2 0x33d2
000033cc: SWAP2
000033cd: SWAP1
000033ce: PUSH2 0x56ef
000033d1: JUMP
000033d2: JUMPDEST
000033d3: GT
000033d4: ISZERO
000033d5: PUSH2 0x0ac9
000033d8: JUMPI
000033d9: PUSH0
000033da: CALLDATALOAD
000033db: PUSH1 0x01
000033dd: PUSH1 0x01
000033df: PUSH1 0xe0
000033e1: SHL
000033e2: SUB
000033e3: NOT
000033e4: AND
000033e5: PUSH1 0x40
000033e7: MLOAD
000033e8: PUSH4 0x87f6f095
000033ed: PUSH1 0xe0
000033ef: SHL
000033f0: DUP2
000033f1: MSTORE
000033f2: PUSH1 0x04
000033f4: ADD
000033f5: PUSH2 0x0b80
000033f8: SWAP2
000033f9: SWAP1
000033fa: PUSH2 0x4fa0
000033fd: JUMP
000033fe: JUMPDEST
000033ff: DUP3
00003400: DUP2
00003401: EQ
00003402: PUSH2 0x342b
00003405: JUMPI
00003406: PUSH0
00003407: CALLDATALOAD
00003408: PUSH1 0x01
0000340a: PUSH1 0x01
0000340c: PUSH1 0xe0
0000340e: SHL
0000340f: SUB
00003410: NOT
00003411: AND
00003412: PUSH1 0x40
00003414: MLOAD
00003415: PUSH4 0x06b56675
0000341a: PUSH1 0xe2
0000341c: SHL
0000341d: DUP2
0000341e: MSTORE
0000341f: PUSH1 0x04
00003421: ADD
00003422: PUSH2 0x0b80
00003425: SWAP2
00003426: SWAP1
00003427: PUSH2 0x4fa0
0000342a: JUMP
0000342b: JUMPDEST
0000342c: PUSH0
0000342d: JUMPDEST
0000342e: DUP4
0000342f: DUP2
00003430: LT
00003431: ISZERO
00003432: PUSH2 0x34d5
00003435: JUMPI
00003436: PUSH3 0x0f4240
0000343a: DUP4
0000343b: DUP4
0000343c: DUP4
0000343d: DUP2
0000343e: DUP2
0000343f: LT
00003440: PUSH2 0x344b
00003443: JUMPI
00003444: PUSH2 0x344b
00003447: PUSH2 0x53b1
0000344a: JUMP
0000344b: JUMPDEST
0000344c: SWAP1
0000344d: POP
0000344e: PUSH1 0x20
00003450: MUL
00003451: ADD
00003452: CALLDATALOAD
00003453: GT
00003454: ISZERO
00003455: PUSH2 0x3471
00003458: JUMPI
00003459: PUSH1 0x40
0000345b: MLOAD
0000345c: PUSH4 0x572d3bd3
00003461: PUSH1 0xe1
00003463: SHL
00003464: DUP2
00003465: MSTORE
00003466: PUSH1 0x04
00003468: ADD
00003469: PUSH1 0x40
0000346b: MLOAD
0000346c: DUP1
0000346d: SWAP2
0000346e: SUB
0000346f: SWAP1
00003470: REVERT
00003471: JUMPDEST
00003472: DUP3
00003473: DUP3
00003474: DUP3
00003475: DUP2
00003476: DUP2
00003477: LT
00003478: PUSH2 0x3483
0000347b: JUMPI
0000347c: PUSH2 0x3483
0000347f: PUSH2 0x53b1
00003482: JUMP
00003483: JUMPDEST
00003484: SWAP1
00003485: POP
00003486: PUSH1 0x20
00003488: MUL
00003489: ADD
0000348a: CALLDATALOAD
0000348b: PUSH1 0x3b
0000348d: PUSH0
0000348e: DUP8
0000348f: DUP8
00003490: DUP6
00003491: DUP2
00003492: DUP2
00003493: LT
00003494: PUSH2 0x349f
00003497: JUMPI
00003498: PUSH2 0x349f
0000349b: PUSH2 0x53b1
0000349e: JUMP
0000349f: JUMPDEST
000034a0: SWAP1
000034a1: POP
000034a2: PUSH1 0x20
000034a4: MUL
000034a5: ADD
000034a6: PUSH1 0x20
000034a8: DUP2
000034a9: ADD
000034aa: SWAP1
000034ab: PUSH2 0x34b4
000034ae: SWAP2
000034af: SWAP1
000034b0: PUSH2 0x4b94
000034b3: JUMP
000034b4: JUMPDEST
000034b5: PUSH1 0x01
000034b7: PUSH1 0x01
000034b9: PUSH1 0xa0
000034bb: SHL
000034bc: SUB
000034bd: AND
000034be: DUP2
000034bf: MSTORE
000034c0: PUSH1 0x20
000034c2: DUP2
000034c3: ADD
000034c4: SWAP2
000034c5: SWAP1
000034c6: SWAP2
000034c7: MSTORE
000034c8: PUSH1 0x40
000034ca: ADD
000034cb: PUSH0
000034cc: KECCAK256
000034cd: SSTORE
000034ce: PUSH1 0x01
000034d0: ADD
000034d1: PUSH2 0x342d
000034d4: JUMP
000034d5: JUMPDEST
000034d6: POP
000034d7: PUSH32 0xb05f5de88ae0294ebb6f67c5af2fcbbd593cc6bdfe543e2869794a4c8ce3ea50
000034f8: DUP5
000034f9: DUP5
000034fa: DUP5
000034fb: DUP5
000034fc: PUSH1 0x40
000034fe: MLOAD
000034ff: PUSH2 0x1486
00003502: SWAP5
00003503: SWAP4
00003504: SWAP3
00003505: SWAP2
00003506: SWAP1
00003507: PUSH2 0x584b
0000350a: JUMP
0000350b: JUMPDEST
0000350c: DUP1
0000350d: DUP3
0000350e: GT
0000350f: DUP1
00003510: PUSH2 0x3517
00003513: JUMPI
00003514: POP
00003515: DUP1
00003516: ISZERO
00003517: JUMPDEST
00003518: DUP1
00003519: PUSH2 0x3520
0000351c: JUMPI
0000351d: POP
0000351e: DUP2
0000351f: ISZERO
00003520: JUMPDEST
00003521: ISZERO
00003522: PUSH2 0x354b
00003525: JUMPI
00003526: PUSH0
00003527: CALLDATALOAD
00003528: PUSH1 0x01
0000352a: PUSH1 0x01
0000352c: PUSH1 0xe0
0000352e: SHL
0000352f: SUB
00003530: NOT
00003531: AND
00003532: PUSH1 0x40
00003534: MLOAD
00003535: PUSH4 0x87f6f095
0000353a: PUSH1 0xe0
0000353c: SHL
0000353d: DUP2
0000353e: MSTORE
0000353f: PUSH1 0x04
00003541: ADD
00003542: PUSH2 0x0b80
00003545: SWAP2
00003546: SWAP1
00003547: PUSH2 0x4fa0
0000354a: JUMP
0000354b: JUMPDEST
0000354c: PUSH1 0x01
0000354e: DUP1
0000354f: SLOAD
00003550: PUSH1 0x02
00003552: DUP1
00003553: SLOAD
00003554: DUP6
00003555: DUP5
00003556: SSTORE
00003557: SWAP1
00003558: DUP5
00003559: SWAP1
0000355a: SSTORE
0000355b: PUSH1 0x04
0000355d: DUP1
0000355e: SLOAD
0000355f: SWAP4
00003560: DUP5
00003561: ADD
00003562: SWAP1
00003563: SSTORE
00003564: PUSH1 0x40
00003566: DUP1
00003567: MLOAD
00003568: DUP4
00003569: DUP2
0000356a: MSTORE
0000356b: PUSH1 0x20
0000356d: DUP2
0000356e: ADD
0000356f: DUP4
00003570: SWAP1
00003571: MSTORE
00003572: SWAP3
00003573: SWAP4
00003574: SWAP2
00003575: SWAP3
00003576: DUP6
00003577: SWAP3
00003578: DUP8
00003579: SWAP3
0000357a: SWAP1
0000357b: SWAP2
0000357c: PUSH32 0x976f8a9c5bdf8248dec172376d6e2b80a8e3df2f0328e381c6db8e1cf138c0f8
0000359d: SWAP2
0000359e: ADD
0000359f: PUSH1 0x40
000035a1: MLOAD
000035a2: DUP1
000035a3: SWAP2
000035a4: SUB
000035a5: SWAP1
000035a6: LOG4
000035a7: POP
000035a8: POP
000035a9: POP
000035aa: POP
000035ab: JUMP
000035ac: JUMPDEST
000035ad: PUSH0
000035ae: PUSH2 0x0b0a
000035b1: DUP3
000035b2: SLOAD
000035b3: SWAP1
000035b4: JUMP
000035b5: JUMPDEST
000035b6: PUSH1 0x74
000035b8: DUP1
000035b9: SLOAD
000035ba: PUSH1 0x01
000035bc: PUSH1 0x01
000035be: PUSH1 0xa0
000035c0: SHL
000035c1: SUB
000035c2: NOT
000035c3: AND
000035c4: PUSH1 0x01
000035c6: PUSH1 0x01
000035c8: PUSH1 0xa0
000035ca: SHL
000035cb: SUB
000035cc: DUP4
000035cd: AND
000035ce: OR
000035cf: SWAP1
000035d0: SSTORE
000035d1: PUSH1 0x40
000035d3: MLOAD
000035d4: PUSH32 0x9d2334c23be647e994f27a72c5eee42a43d5bdcfe15bb88e939103c2b114cbaf
000035f5: SWAP1
000035f6: PUSH2 0x3600
000035f9: SWAP1
000035fa: DUP4
000035fb: SWAP1
000035fc: PUSH2 0x49e5
000035ff: JUMP
00003600: JUMPDEST
00003601: PUSH1 0x40
00003603: MLOAD
00003604: DUP1
00003605: SWAP2
00003606: SUB
00003607: SWAP1
00003608: LOG1
00003609: POP
0000360a: JUMP
0000360b: JUMPDEST
0000360c: DUP2
0000360d: MLOAD
0000360e: PUSH0
0000360f: SUB
00003610: PUSH2 0x362c
00003613: JUMPI
00003614: PUSH1 0x40
00003616: MLOAD
00003617: PUSH4 0x16ee9d3b
0000361c: PUSH1 0xe1
0000361e: SHL
0000361f: DUP2
00003620: MSTORE
00003621: PUSH1 0x04
00003623: ADD
00003624: PUSH1 0x40
00003626: MLOAD
00003627: DUP1
00003628: SWAP2
00003629: SUB
0000362a: SWAP1
0000362b: REVERT
0000362c: JUMPDEST
0000362d: DUP1
0000362e: MLOAD
0000362f: DUP3
00003630: MLOAD
00003631: EQ
00003632: PUSH0
00003633: CALLDATALOAD
00003634: PUSH1 0x01
00003636: PUSH1 0x01
00003638: PUSH1 0xe0
0000363a: SHL
0000363b: SUB
0000363c: NOT
0000363d: AND
0000363e: SWAP1
0000363f: PUSH2 0x0d45
00003642: JUMPI
00003643: PUSH1 0x40
00003645: MLOAD
00003646: PUSH4 0x06b56675
0000364b: PUSH1 0xe2
0000364d: SHL
0000364e: DUP2
0000364f: MSTORE
00003650: PUSH1 0x04
00003652: ADD
00003653: PUSH2 0x0b80
00003656: SWAP2
00003657: SWAP1
00003658: PUSH2 0x4fa0
0000365b: JUMP
0000365c: JUMPDEST
0000365d: PUSH0
0000365e: PUSH0
0000365f: ADDRESS
00003660: PUSH1 0x01
00003662: PUSH1 0x01
00003664: PUSH1 0xa0
00003666: SHL
00003667: SUB
00003668: AND
00003669: PUSH4 0x17fcb39b
0000366e: PUSH1 0x40
00003670: MLOAD
00003671: DUP2
00003672: PUSH4 0xffffffff
00003677: AND
00003678: PUSH1 0xe0
0000367a: SHL
0000367b: DUP2
0000367c: MSTORE
0000367d: PUSH1 0x04
0000367f: ADD
00003680: PUSH1 0x20
00003682: PUSH1 0x40
00003684: MLOAD
00003685: DUP1
00003686: DUP4
00003687: SUB
00003688: DUP2
00003689: DUP7
0000368a: GAS
0000368b: STATICCALL
0000368c: ISZERO
0000368d: DUP1
0000368e: ISZERO
0000368f: PUSH2 0x369a
00003692: JUMPI
00003693: RETURNDATASIZE
00003694: PUSH0
00003695: PUSH0
00003696: RETURNDATACOPY
00003697: RETURNDATASIZE
00003698: PUSH0
00003699: REVERT
0000369a: JUMPDEST
0000369b: POP
0000369c: POP
0000369d: POP
0000369e: POP
0000369f: PUSH1 0x40
000036a1: MLOAD
000036a2: RETURNDATASIZE
000036a3: PUSH1 0x1f
000036a5: NOT
000036a6: PUSH1 0x1f
000036a8: DUP3
000036a9: ADD
000036aa: AND
000036ab: DUP3
000036ac: ADD
000036ad: DUP1
000036ae: PUSH1 0x40
000036b0: MSTORE
000036b1: POP
000036b2: DUP2
000036b3: ADD
000036b4: SWAP1
000036b5: PUSH2 0x36be
000036b8: SWAP2
000036b9: SWAP1
000036ba: PUSH2 0x5af8
000036bd: JUMP
000036be: JUMPDEST
000036bf: SWAP1
000036c0: POP
000036c1: DUP1
000036c2: PUSH1 0x01
000036c4: PUSH1 0x01
000036c6: PUSH1 0xa0
000036c8: SHL
000036c9: SUB
000036ca: AND
000036cb: PUSH4 0xd0e30db0
000036d0: DUP5
000036d1: PUSH1 0x40
000036d3: MLOAD
000036d4: DUP3
000036d5: PUSH4 0xffffffff
000036da: AND
000036db: PUSH1 0xe0
000036dd: SHL
000036de: DUP2
000036df: MSTORE
000036e0: PUSH1 0x04
000036e2: ADD
000036e3: PUSH0
000036e4: PUSH1 0x40
000036e6: MLOAD
000036e7: DUP1
000036e8: DUP4
000036e9: SUB
000036ea: DUP2
000036eb: DUP6
000036ec: DUP9
000036ed: DUP1
000036ee: EXTCODESIZE
000036ef: ISZERO
000036f0: DUP1
000036f1: ISZERO
000036f2: PUSH2 0x36f9
000036f5: JUMPI
000036f6: PUSH0
000036f7: PUSH0
000036f8: REVERT
000036f9: JUMPDEST
000036fa: POP
000036fb: GAS
000036fc: CALL
000036fd: ISZERO
000036fe: DUP1
000036ff: ISZERO
00003700: PUSH2 0x370b
00003703: JUMPI
00003704: RETURNDATASIZE
00003705: PUSH0
00003706: PUSH0
00003707: RETURNDATACOPY
00003708: RETURNDATASIZE
00003709: PUSH0
0000370a: REVERT
0000370b: JUMPDEST
0000370c: POP
0000370d: SWAP4
0000370e: SWAP7
0000370f: SWAP6
00003710: POP
00003711: POP
00003712: POP
00003713: POP
00003714: POP
00003715: POP
00003716: JUMP
00003717: JUMPDEST
00003718: PUSH0
00003719: PUSH2 0x3720
0000371c: PUSH2 0x298c
0000371f: JUMP
00003720: JUMPDEST
00003721: PUSH1 0x01
00003723: PUSH1 0x01
00003725: PUSH1 0xa0
00003727: SHL
00003728: SUB
00003729: DUP1
0000372a: DUP5
0000372b: AND
0000372c: PUSH0
0000372d: SWAP1
0000372e: DUP2
0000372f: MSTORE
00003730: PUSH1 0x20
00003732: SWAP3
00003733: SWAP1
00003734: SWAP3
00003735: MSTORE
00003736: PUSH1 0x40
00003738: SWAP1
00003739: SWAP2
0000373a: KECCAK256
0000373b: SLOAD
0000373c: AND
0000373d: SWAP1
0000373e: POP
0000373f: DUP2
00003740: DUP2
00003741: PUSH2 0x375e
00003744: JUMPI
00003745: PUSH1 0x40
00003747: MLOAD
00003748: PUSH4 0x25697e63
0000374d: PUSH1 0xe2
0000374f: SHL
00003750: DUP2
00003751: MSTORE
00003752: PUSH1 0x04
00003754: ADD
00003755: PUSH2 0x0b80
00003758: SWAP2
00003759: SWAP1
0000375a: PUSH2 0x49e5
0000375d: JUMP
0000375e: JUMPDEST
0000375f: POP
00003760: SWAP2
00003761: SWAP1
00003762: POP
00003763: JUMP
00003764: JUMPDEST
00003765: PUSH0
00003766: PUSH2 0x376d
00003769: PUSH2 0x298c
0000376c: JUMP
0000376d: JUMPDEST
0000376e: PUSH1 0x01
00003770: PUSH1 0x01
00003772: PUSH1 0xa0
00003774: SHL
00003775: SUB
00003776: SWAP1
00003777: SWAP3
00003778: AND
00003779: PUSH0
0000377a: SWAP1
0000377b: DUP2
0000377c: MSTORE
0000377d: PUSH1 0x20
0000377f: SWAP3
00003780: SWAP1
00003781: SWAP3
00003782: MSTORE
00003783: POP
00003784: PUSH1 0x40
00003786: SWAP1
00003787: KECCAK256
00003788: SLOAD
00003789: PUSH1 0x01
0000378b: PUSH1 0x01
0000378d: PUSH1 0x40
0000378f: SHL
00003790: SUB
00003791: PUSH1 0x01
00003793: PUSH1 0xa0
00003795: SHL
00003796: SWAP1
00003797: SWAP2
00003798: DIV
00003799: AND
0000379a: SWAP1
0000379b: JUMP
0000379c: JUMPDEST
0000379d: PUSH32 0xdea3103d22025c269050bea94c0c84688877f12fa22b7e6d2d5d78a9a49aa1cb
000037be: SWAP1
000037bf: JUMP
000037c0: JUMPDEST
000037c1: DUP3
000037c2: DUP2
000037c3: EQ
000037c4: PUSH2 0x37ed
000037c7: JUMPI
000037c8: PUSH0
000037c9: CALLDATALOAD
000037ca: PUSH1 0x01
000037cc: PUSH1 0x01
000037ce: PUSH1 0xe0
000037d0: SHL
000037d1: SUB
000037d2: NOT
000037d3: AND
000037d4: PUSH1 0x40
000037d6: MLOAD
000037d7: PUSH4 0x06b56675
000037dc: PUSH1 0xe2
000037de: SHL
000037df: DUP2
000037e0: MSTORE
000037e1: PUSH1 0x04
000037e3: ADD
000037e4: PUSH2 0x0b80
000037e7: SWAP2
000037e8: SWAP1
000037e9: PUSH2 0x4fa0
000037ec: JUMP
000037ed: JUMPDEST
000037ee: PUSH0
000037ef: JUMPDEST
000037f0: DUP4
000037f1: DUP2
000037f2: LT
000037f3: ISZERO
000037f4: PUSH2 0x385b
000037f7: JUMPI
000037f8: DUP3
000037f9: DUP3
000037fa: DUP3
000037fb: DUP2
000037fc: DUP2
000037fd: LT
000037fe: PUSH2 0x3809
00003801: JUMPI
00003802: PUSH2 0x3809
00003805: PUSH2 0x53b1
00003808: JUMP
00003809: JUMPDEST
0000380a: SWAP1
0000380b: POP
0000380c: PUSH1 0x20
0000380e: MUL
0000380f: ADD
00003810: CALLDATALOAD
00003811: PUSH1 0x3c
00003813: PUSH0
00003814: DUP8
00003815: DUP8
00003816: DUP6
00003817: DUP2
00003818: DUP2
00003819: LT
0000381a: PUSH2 0x3825
0000381d: JUMPI
0000381e: PUSH2 0x3825
00003821: PUSH2 0x53b1
00003824: JUMP
00003825: JUMPDEST
00003826: SWAP1
00003827: POP
00003828: PUSH1 0x20
0000382a: MUL
0000382b: ADD
0000382c: PUSH1 0x20
0000382e: DUP2
0000382f: ADD
00003830: SWAP1
00003831: PUSH2 0x383a
00003834: SWAP2
00003835: SWAP1
00003836: PUSH2 0x4b94
00003839: JUMP
0000383a: JUMPDEST
0000383b: PUSH1 0x01
0000383d: PUSH1 0x01
0000383f: PUSH1 0xa0
00003841: SHL
00003842: SUB
00003843: AND
00003844: DUP2
00003845: MSTORE
00003846: PUSH1 0x20
00003848: DUP2
00003849: ADD
0000384a: SWAP2
0000384b: SWAP1
0000384c: SWAP2
0000384d: MSTORE
0000384e: PUSH1 0x40
00003850: ADD
00003851: PUSH0
00003852: KECCAK256
00003853: SSTORE
00003854: PUSH1 0x01
00003856: ADD
00003857: PUSH2 0x37ef
0000385a: JUMP
0000385b: JUMPDEST
0000385c: POP
0000385d: PUSH32 0xb5d2963614d72181b4df1f993d45b83edf42fa19710f0204217ba1b3e183bb73
0000387e: DUP5
0000387f: DUP5
00003880: DUP5
00003881: DUP5
00003882: PUSH1 0x40
00003884: MLOAD
00003885: PUSH2 0x1486
00003888: SWAP5
00003889: SWAP4
0000388a: SWAP3
0000388b: SWAP2
0000388c: SWAP1
0000388d: PUSH2 0x584b
00003890: JUMP
00003891: JUMPDEST
00003892: PUSH0
00003893: PUSH1 0x01
00003895: PUSH1 0x01
00003897: PUSH1 0xe0
00003899: SHL
0000389a: SUB
0000389b: NOT
0000389c: DUP3
0000389d: AND
0000389e: PUSH4 0x7965db0b
000038a3: PUSH1 0xe0
000038a5: SHL
000038a6: EQ
000038a7: DUP1
000038a8: PUSH2 0x0b0a
000038ab: JUMPI
000038ac: POP
000038ad: PUSH2 0x0b0a
000038b0: DUP3
000038b1: PUSH2 0x4045
000038b4: JUMP
000038b5: JUMPDEST
000038b6: PUSH2 0x38bf
000038b9: DUP3
000038ba: DUP3
000038bb: PUSH2 0x1494
000038be: JUMP
000038bf: JUMPDEST
000038c0: PUSH2 0x0c97
000038c3: JUMPI
000038c4: PUSH2 0x38d7
000038c7: DUP2
000038c8: PUSH1 0x01
000038ca: PUSH1 0x01
000038cc: PUSH1 0xa0
000038ce: SHL
000038cf: SUB
000038d0: AND
000038d1: PUSH1 0x14
000038d3: PUSH2 0x4079
000038d6: JUMP
000038d7: JUMPDEST
000038d8: PUSH2 0x38e2
000038db: DUP4
000038dc: PUSH1 0x20
000038de: PUSH2 0x4079
000038e1: JUMP
000038e2: JUMPDEST
000038e3: PUSH1 0x40
000038e5: MLOAD
000038e6: PUSH1 0x20
000038e8: ADD
000038e9: PUSH2 0x38f3
000038ec: SWAP3
000038ed: SWAP2
000038ee: SWAP1
000038ef: PUSH2 0x5b35
000038f2: JUMP
000038f3: JUMPDEST
000038f4: PUSH1 0x40
000038f6: DUP1
000038f7: MLOAD
000038f8: PUSH1 0x1f
000038fa: NOT
000038fb: DUP2
000038fc: DUP5
000038fd: SUB
000038fe: ADD
000038ff: DUP2
00003900: MSTORE
00003901: SWAP1
00003902: DUP3
00003903: SWAP1
00003904: MSTORE
00003905: PUSH3 0x461bcd
00003909: PUSH1 0xe5
0000390b: SHL
0000390c: DUP3
0000390d: MSTORE
0000390e: PUSH2 0x0b80
00003911: SWAP2
00003912: PUSH1 0x04
00003914: ADD
00003915: PUSH2 0x5bce
00003918: JUMP
00003919: JUMPDEST
0000391a: PUSH2 0x3923
0000391d: DUP3
0000391e: DUP3
0000391f: PUSH2 0x1494
00003922: JUMP
00003923: JUMPDEST
00003924: PUSH2 0x0c97
00003927: JUMPI
00003928: PUSH0
00003929: DUP3
0000392a: DUP2
0000392b: MSTORE
0000392c: PUSH1 0x72
0000392e: PUSH1 0x20
00003930: SWAP1
00003931: DUP2
00003932: MSTORE
00003933: PUSH1 0x40
00003935: DUP1
00003936: DUP4
00003937: KECCAK256
00003938: PUSH1 0x01
0000393a: PUSH1 0x01
0000393c: PUSH1 0xa0
0000393e: SHL
0000393f: SUB
00003940: DUP6
00003941: AND
00003942: DUP5
00003943: MSTORE
00003944: SWAP1
00003945: SWAP2
00003946: MSTORE
00003947: SWAP1
00003948: KECCAK256
00003949: DUP1
0000394a: SLOAD
0000394b: PUSH1 0xff
0000394d: NOT
0000394e: AND
0000394f: PUSH1 0x01
00003951: OR
00003952: SWAP1
00003953: SSTORE
00003954: PUSH2 0x395a
00003957: CALLER
00003958: SWAP1
00003959: JUMP
0000395a: JUMPDEST
0000395b: PUSH1 0x01
0000395d: PUSH1 0x01
0000395f: PUSH1 0xa0
00003961: SHL
00003962: SUB
00003963: AND
00003964: DUP2
00003965: PUSH1 0x01
00003967: PUSH1 0x01
00003969: PUSH1 0xa0
0000396b: SHL
0000396c: SUB
0000396d: AND
0000396e: DUP4
0000396f: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00003990: PUSH1 0x40
00003992: MLOAD
00003993: PUSH1 0x40
00003995: MLOAD
00003996: DUP1
00003997: SWAP2
00003998: SUB
00003999: SWAP1
0000399a: LOG4
0000399b: POP
0000399c: POP
0000399d: JUMP
0000399e: JUMPDEST
0000399f: PUSH0
000039a0: PUSH2 0x0e88
000039a3: DUP4
000039a4: PUSH1 0x01
000039a6: PUSH1 0x01
000039a8: PUSH1 0xa0
000039aa: SHL
000039ab: SUB
000039ac: DUP5
000039ad: AND
000039ae: PUSH2 0x420e
000039b1: JUMP
000039b2: JUMPDEST
000039b3: PUSH2 0x39bc
000039b6: DUP3
000039b7: DUP3
000039b8: PUSH2 0x1494
000039bb: JUMP
000039bc: JUMPDEST
000039bd: ISZERO
000039be: PUSH2 0x0c97
000039c1: JUMPI
000039c2: PUSH0
000039c3: DUP3
000039c4: DUP2
000039c5: MSTORE
000039c6: PUSH1 0x72
000039c8: PUSH1 0x20
000039ca: SWAP1
000039cb: DUP2
000039cc: MSTORE
000039cd: PUSH1 0x40
000039cf: DUP1
000039d0: DUP4
000039d1: KECCAK256
000039d2: PUSH1 0x01
000039d4: PUSH1 0x01
000039d6: PUSH1 0xa0
000039d8: SHL
000039d9: SUB
000039da: DUP6
000039db: AND
000039dc: DUP1
000039dd: DUP6
000039de: MSTORE
000039df: SWAP3
000039e0: MSTORE
000039e1: DUP1
000039e2: DUP4
000039e3: KECCAK256
000039e4: DUP1
000039e5: SLOAD
000039e6: PUSH1 0xff
000039e8: NOT
000039e9: AND
000039ea: SWAP1
000039eb: SSTORE
000039ec: MLOAD
000039ed: CALLER
000039ee: SWAP3
000039ef: DUP6
000039f0: SWAP2
000039f1: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00003a12: SWAP2
00003a13: SWAP1
00003a14: LOG4
00003a15: POP
00003a16: POP
00003a17: JUMP
00003a18: JUMPDEST
00003a19: PUSH0
00003a1a: PUSH2 0x0e88
00003a1d: DUP4
00003a1e: PUSH1 0x01
00003a20: PUSH1 0x01
00003a22: PUSH1 0xa0
00003a24: SHL
00003a25: SUB
00003a26: DUP5
00003a27: AND
00003a28: PUSH2 0x425a
00003a2b: JUMP
00003a2c: JUMPDEST
00003a2d: PUSH0
00003a2e: SLOAD
00003a2f: PUSH1 0xff
00003a31: AND
00003a32: PUSH2 0x0ac9
00003a35: JUMPI
00003a36: PUSH1 0x40
00003a38: MLOAD
00003a39: PUSH3 0x461bcd
00003a3d: PUSH1 0xe5
00003a3f: SHL
00003a40: DUP2
00003a41: MSTORE
00003a42: PUSH1 0x20
00003a44: PUSH1 0x04
00003a46: DUP3
00003a47: ADD
00003a48: MSTORE
00003a49: PUSH1 0x14
00003a4b: PUSH1 0x24
00003a4d: DUP3
00003a4e: ADD
00003a4f: MSTORE
00003a50: PUSH20 0x14185d5cd8589b194e881b9bdd081c185d5cd959
00003a65: PUSH1 0x62
00003a67: SHL
00003a68: PUSH1 0x44
00003a6a: DUP3
00003a6b: ADD
00003a6c: MSTORE
00003a6d: PUSH1 0x64
00003a6f: ADD
00003a70: PUSH2 0x0b80
00003a73: JUMP
00003a74: JUMPDEST
00003a75: PUSH2 0x3a7d
00003a78: DUP2
00003a79: PUSH2 0x433d
00003a7c: JUMP
00003a7d: JUMPDEST
00003a7e: DUP1
00003a7f: PUSH2 0x3a8c
00003a82: JUMPI
00003a83: POP
00003a84: PUSH2 0x3a8c
00003a87: DUP2
00003a88: PUSH2 0x4372
00003a8b: JUMP
00003a8c: JUMPDEST
00003a8d: DUP1
00003a8e: PUSH2 0x3a9b
00003a91: JUMPI
00003a92: POP
00003a93: PUSH2 0x3a9b
00003a96: DUP2
00003a97: PUSH2 0x4399
00003a9a: JUMP
00003a9b: JUMPDEST
00003a9c: PUSH2 0x0e1e
00003a9f: JUMPI
00003aa0: PUSH1 0x40
00003aa2: MLOAD
00003aa3: PUSH4 0x034992a7
00003aa8: PUSH1 0xe5
00003aaa: SHL
00003aab: DUP2
00003aac: MSTORE
00003aad: PUSH1 0x04
00003aaf: ADD
00003ab0: PUSH1 0x40
00003ab2: MLOAD
00003ab3: DUP1
00003ab4: SWAP2
00003ab5: SUB
00003ab6: SWAP1
00003ab7: REVERT
00003ab8: JUMPDEST
00003ab9: PUSH2 0x3acd
00003abc: PUSH0
00003abd: CALLDATALOAD
00003abe: PUSH1 0x01
00003ac0: PUSH1 0x01
00003ac2: PUSH1 0xe0
00003ac4: SHL
00003ac5: SUB
00003ac6: NOT
00003ac7: AND
00003ac8: DUP3
00003ac9: PUSH2 0x106f
00003acc: JUMP
00003acd: JUMPDEST
00003ace: ISZERO
00003acf: PUSH0
00003ad0: CALLDATALOAD
00003ad1: PUSH1 0x01
00003ad3: PUSH1 0x01
00003ad5: PUSH1 0xe0
00003ad7: SHL
00003ad8: SUB
00003ad9: NOT
00003ada: AND
00003adb: DUP3
00003adc: SWAP1
00003add: SWAP2
00003ade: PUSH2 0x0d45
00003ae1: JUMPI
00003ae2: PUSH1 0x40
00003ae4: MLOAD
00003ae5: PUSH4 0x186cfa6f
00003aea: PUSH1 0xe0
00003aec: SHL
00003aed: DUP2
00003aee: MSTORE
00003aef: PUSH1 0x04
00003af1: ADD
00003af2: PUSH2 0x0b80
00003af5: SWAP3
00003af6: SWAP2
00003af7: SWAP1
00003af8: PUSH2 0x5be0
00003afb: JUMP
00003afc: JUMPDEST
00003afd: PUSH0
00003afe: PUSH1 0x60
00003b00: DUP2
00003b01: DUP6
00003b02: MLOAD
00003b03: PUSH1 0x02
00003b05: DUP2
00003b06: GT
00003b07: ISZERO
00003b08: PUSH2 0x3b13
00003b0b: JUMPI
00003b0c: PUSH2 0x3b13
00003b0f: PUSH2 0x50b0
00003b12: JUMP
00003b13: JUMPDEST
00003b14: SUB
00003b15: PUSH2 0x3bf1
00003b18: JUMPI
00003b19: DUP3
00003b1a: PUSH1 0x01
00003b1c: PUSH1 0x01
00003b1e: PUSH1 0xa0
00003b20: SHL
00003b21: SUB
00003b22: AND
00003b23: PUSH4 0x23b872dd
00003b28: PUSH1 0xe0
00003b2a: SHL
00003b2b: DUP6
00003b2c: ADDRESS
00003b2d: DUP9
00003b2e: PUSH1 0x40
00003b30: ADD
00003b31: MLOAD
00003b32: PUSH1 0x40
00003b34: MLOAD
00003b35: PUSH1 0x24
00003b37: ADD
00003b38: PUSH2 0x3b43
00003b3b: SWAP4
00003b3c: SWAP3
00003b3d: SWAP2
00003b3e: SWAP1
00003b3f: PUSH2 0x5bfe
00003b42: JUMP
00003b43: JUMPDEST
00003b44: PUSH1 0x40
00003b46: DUP1
00003b47: MLOAD
00003b48: PUSH1 0x1f
00003b4a: NOT
00003b4b: DUP2
00003b4c: DUP5
00003b4d: SUB
00003b4e: ADD
00003b4f: DUP2
00003b50: MSTORE
00003b51: SWAP2
00003b52: DUP2
00003b53: MSTORE
00003b54: PUSH1 0x20
00003b56: DUP3
00003b57: ADD
00003b58: DUP1
00003b59: MLOAD
00003b5a: PUSH1 0x01
00003b5c: PUSH1 0x01
00003b5e: PUSH1 0xe0
00003b60: SHL
00003b61: SUB
00003b62: AND
00003b63: PUSH1 0x01
00003b65: PUSH1 0x01
00003b67: PUSH1 0xe0
00003b69: SHL
00003b6a: SUB
00003b6b: NOT
00003b6c: SWAP1
00003b6d: SWAP5
00003b6e: AND
00003b6f: SWAP4
00003b70: SWAP1
00003b71: SWAP4
00003b72: OR
00003b73: SWAP1
00003b74: SWAP3
00003b75: MSTORE
00003b76: SWAP1
00003b77: MLOAD
00003b78: PUSH2 0x3b81
00003b7b: SWAP2
00003b7c: SWAP1
00003b7d: PUSH2 0x5c22
00003b80: JUMP
00003b81: JUMPDEST
00003b82: PUSH0
00003b83: PUSH1 0x40
00003b85: MLOAD
00003b86: DUP1
00003b87: DUP4
00003b88: SUB
00003b89: DUP2
00003b8a: PUSH0
00003b8b: DUP7
00003b8c: GAS
00003b8d: CALL
00003b8e: SWAP2
00003b8f: POP
00003b90: POP
00003b91: RETURNDATASIZE
00003b92: DUP1
00003b93: PUSH0
00003b94: DUP2
00003b95: EQ
00003b96: PUSH2 0x3bba
00003b99: JUMPI
00003b9a: PUSH1 0x40
00003b9c: MLOAD
00003b9d: SWAP2
00003b9e: POP
00003b9f: PUSH1 0x1f
00003ba1: NOT
00003ba2: PUSH1 0x3f
00003ba4: RETURNDATASIZE
00003ba5: ADD
00003ba6: AND
00003ba7: DUP3
00003ba8: ADD
00003ba9: PUSH1 0x40
00003bab: MSTORE
00003bac: RETURNDATASIZE
00003bad: DUP3
00003bae: MSTORE
00003baf: RETURNDATASIZE
00003bb0: PUSH0
00003bb1: PUSH1 0x20
00003bb3: DUP5
00003bb4: ADD
00003bb5: RETURNDATACOPY
00003bb6: PUSH2 0x3bbf
00003bb9: JUMP
00003bba: JUMPDEST
00003bbb: PUSH1 0x60
00003bbd: SWAP2
00003bbe: POP
00003bbf: JUMPDEST
00003bc0: POP
00003bc1: SWAP1
00003bc2: SWAP3
00003bc3: POP
00003bc4: SWAP1
00003bc5: POP
00003bc6: DUP2
00003bc7: DUP1
00003bc8: ISZERO
00003bc9: PUSH2 0x3bea
00003bcc: JUMPI
00003bcd: POP
00003bce: DUP1
00003bcf: MLOAD
00003bd0: ISZERO
00003bd1: DUP1
00003bd2: PUSH2 0x3bea
00003bd5: JUMPI
00003bd6: POP
00003bd7: DUP1
00003bd8: DUP1
00003bd9: PUSH1 0x20
00003bdb: ADD
00003bdc: SWAP1
00003bdd: MLOAD
00003bde: DUP2
00003bdf: ADD
00003be0: SWAP1
00003be1: PUSH2 0x3bea
00003be4: SWAP2
00003be5: SWAP1
00003be6: PUSH2 0x573e
00003be9: JUMP
00003bea: JUMPDEST
00003beb: SWAP2
00003bec: POP
00003bed: PUSH2 0x3c4a
00003bf0: JUMP
00003bf1: JUMPDEST
00003bf2: PUSH1 0x01
00003bf4: DUP6
00003bf5: MLOAD
00003bf6: PUSH1 0x02
00003bf8: DUP2
00003bf9: GT
00003bfa: ISZERO
00003bfb: PUSH2 0x3c06
00003bfe: JUMPI
00003bff: PUSH2 0x3c06
00003c02: PUSH2 0x50b0
00003c05: JUMP
00003c06: JUMPDEST
00003c07: SUB
00003c08: PUSH2 0x3c1b
00003c0b: JUMPI
00003c0c: PUSH2 0x3bea
00003c0f: DUP4
00003c10: DUP6
00003c11: ADDRESS
00003c12: DUP9
00003c13: PUSH1 0x20
00003c15: ADD
00003c16: MLOAD
00003c17: PUSH2 0x43c1
00003c1a: JUMP
00003c1b: JUMPDEST
00003c1c: PUSH1 0x02
00003c1e: DUP6
00003c1f: MLOAD
00003c20: PUSH1 0x02
00003c22: DUP2
00003c23: GT
00003c24: ISZERO
00003c25: PUSH2 0x3c30
00003c28: JUMPI
00003c29: PUSH2 0x3c30
00003c2c: PUSH2 0x50b0
00003c2f: JUMP
00003c30: JUMPDEST
00003c31: SUB
00003c32: PUSH2 0x3221
00003c35: JUMPI
00003c36: PUSH2 0x3bea
00003c39: DUP4
00003c3a: DUP6
00003c3b: ADDRESS
00003c3c: DUP9
00003c3d: PUSH1 0x20
00003c3f: ADD
00003c40: MLOAD
00003c41: DUP10
00003c42: PUSH1 0x40
00003c44: ADD
00003c45: MLOAD
00003c46: PUSH2 0x4471
00003c49: JUMP
00003c4a: JUMPDEST
00003c4b: DUP2
00003c4c: PUSH2 0x3c70
00003c4f: JUMPI
00003c50: DUP5
00003c51: DUP5
00003c52: ADDRESS
00003c53: DUP6
00003c54: PUSH1 0x40
00003c56: MLOAD
00003c57: PUSH4 0x9d2e4c67
00003c5c: PUSH1 0xe0
00003c5e: SHL
00003c5f: DUP2
00003c60: MSTORE
00003c61: PUSH1 0x04
00003c63: ADD
00003c64: PUSH2 0x0b80
00003c67: SWAP5
00003c68: SWAP4
00003c69: SWAP3
00003c6a: SWAP2
00003c6b: SWAP1
00003c6c: PUSH2 0x5c3d
00003c6f: JUMP
00003c70: JUMPDEST
00003c71: POP
00003c72: POP
00003c73: POP
00003c74: POP
00003c75: POP
00003c76: JUMP
00003c77: JUMPDEST
00003c78: PUSH2 0x3c7f
00003c7b: PUSH2 0x4949
00003c7e: JUMP
00003c7f: JUMPDEST
00003c80: DUP4
00003c81: DUP2
00003c82: MSTORE
00003c83: PUSH0
00003c84: PUSH1 0x20
00003c86: DUP3
00003c87: ADD
00003c88: DUP2
00003c89: SWAP1
00003c8a: MSTORE
00003c8b: POP
00003c8c: PUSH1 0x40
00003c8e: DUP1
00003c8f: DUP3
00003c90: ADD
00003c91: DUP1
00003c92: MLOAD
00003c93: PUSH1 0x01
00003c95: PUSH1 0x01
00003c97: PUSH1 0xa0
00003c99: SHL
00003c9a: SUB
00003c9b: SWAP8
00003c9c: DUP9
00003c9d: AND
00003c9e: SWAP1
00003c9f: MSTORE
00003ca0: PUSH1 0x20
00003ca2: DUP1
00003ca3: DUP10
00003ca4: ADD
00003ca5: MLOAD
00003ca6: DUP3
00003ca7: MLOAD
00003ca8: SWAP1
00003ca9: DUP10
00003caa: AND
00003cab: SWAP1
00003cac: DUP3
00003cad: ADD
00003cae: MSTORE
00003caf: SWAP1
00003cb0: MLOAD
00003cb1: CHAINID
00003cb2: SWAP1
00003cb3: DUP4
00003cb4: ADD
00003cb5: MSTORE
00003cb6: DUP8
00003cb7: MLOAD
00003cb8: PUSH1 0x60
00003cba: DUP5
00003cbb: ADD
00003cbc: DUP1
00003cbd: MLOAD
00003cbe: SWAP2
00003cbf: DUP10
00003cc0: AND
00003cc1: SWAP1
00003cc2: SWAP2
00003cc3: MSTORE
00003cc4: DUP1
00003cc5: MLOAD
00003cc6: SWAP6
00003cc7: SWAP1
00003cc8: SWAP8
00003cc9: AND
00003cca: SWAP5
00003ccb: ADD
00003ccc: SWAP4
00003ccd: SWAP1
00003cce: SWAP4
00003ccf: MSTORE
00003cd0: SWAP4
00003cd1: MLOAD
00003cd2: DUP3
00003cd3: ADD
00003cd4: MSTORE
00003cd5: SWAP3
00003cd6: SWAP1
00003cd7: SWAP3
00003cd8: ADD
00003cd9: MLOAD
00003cda: PUSH1 0x80
00003cdc: DUP3
00003cdd: ADD
00003cde: MSTORE
00003cdf: SWAP2
00003ce0: SWAP1
00003ce1: POP
00003ce2: JUMP
00003ce3: JUMPDEST
00003ce4: PUSH1 0x40
00003ce6: DUP1
00003ce7: MLOAD
00003ce8: PUSH2 0x1901
00003ceb: PUSH1 0xf0
00003ced: SHL
00003cee: PUSH1 0x20
00003cf0: DUP1
00003cf1: DUP4
00003cf2: ADD
00003cf3: SWAP2
00003cf4: SWAP1
00003cf5: SWAP2
00003cf6: MSTORE
00003cf7: PUSH1 0x22
00003cf9: DUP3
00003cfa: ADD
00003cfb: DUP6
00003cfc: SWAP1
00003cfd: MSTORE
00003cfe: PUSH1 0x42
00003d00: DUP1
00003d01: DUP4
00003d02: ADD
00003d03: DUP6
00003d04: SWAP1
00003d05: MSTORE
00003d06: DUP4
00003d07: MLOAD
00003d08: DUP1
00003d09: DUP5
00003d0a: SUB
00003d0b: SWAP1
00003d0c: SWAP2
00003d0d: ADD
00003d0e: DUP2
00003d0f: MSTORE
00003d10: PUSH1 0x62
00003d12: SWAP1
00003d13: SWAP3
00003d14: ADD
00003d15: SWAP1
00003d16: SWAP3
00003d17: MSTORE
00003d18: DUP1
00003d19: MLOAD
00003d1a: SWAP2
00003d1b: ADD
00003d1c: KECCAK256
00003d1d: PUSH0
00003d1e: SWAP1
00003d1f: PUSH2 0x0e88
00003d22: JUMP
00003d23: JUMPDEST
00003d24: PUSH0
00003d25: PUSH0
00003d26: PUSH0
00003d27: PUSH2 0x3d2e
00003d2a: PUSH2 0x2a5f
00003d2d: JUMP
00003d2e: JUMPDEST
00003d2f: SWAP1
00003d30: POP
00003d31: PUSH2 0x3d39
00003d34: DUP2
00003d35: PUSH2 0x2a9c
00003d38: JUMP
00003d39: JUMPDEST
00003d3a: SWAP3
00003d3b: POP
00003d3c: PUSH0
00003d3d: DUP7
00003d3e: PUSH1 0x02
00003d40: DUP2
00003d41: GT
00003d42: ISZERO
00003d43: PUSH2 0x3d4e
00003d46: JUMPI
00003d47: PUSH2 0x3d4e
00003d4a: PUSH2 0x50b0
00003d4d: JUMP
00003d4e: JUMPDEST
00003d4f: SUB
00003d50: PUSH2 0x3d8a
00003d53: JUMPI
00003d54: PUSH1 0x01
00003d56: PUSH1 0x01
00003d58: PUSH1 0xa0
00003d5a: SHL
00003d5b: SUB
00003d5c: DUP6
00003d5d: AND
00003d5e: PUSH0
00003d5f: SWAP1
00003d60: DUP2
00003d61: MSTORE
00003d62: PUSH1 0x39
00003d64: PUSH1 0x20
00003d66: MSTORE
00003d67: PUSH1 0x40
00003d69: SWAP1
00003d6a: KECCAK256
00003d6b: SLOAD
00003d6c: DUP5
00003d6d: LT
00003d6e: PUSH2 0x3d7d
00003d71: JUMPI
00003d72: PUSH2 0x3d7a
00003d75: DUP2
00003d76: PUSH2 0x4520
00003d79: JUMP
00003d7a: JUMPDEST
00003d7b: SWAP3
00003d7c: POP
00003d7d: JUMPDEST
00003d7e: PUSH2 0x3d87
00003d81: DUP6
00003d82: DUP6
00003d83: PUSH2 0x3e47
00003d86: JUMP
00003d87: JUMPDEST
00003d88: SWAP2
00003d89: POP
00003d8a: JUMPDEST
00003d8b: POP
00003d8c: SWAP4
00003d8d: POP
00003d8e: SWAP4
00003d8f: SWAP2
00003d90: POP
00003d91: POP
00003d92: JUMP
00003d93: JUMPDEST
00003d94: PUSH0
00003d95: PUSH0
00003d96: PUSH0
00003d97: PUSH2 0x3da2
00003d9a: DUP8
00003d9b: DUP8
00003d9c: DUP8
00003d9d: DUP8
00003d9e: PUSH2 0x4584
00003da1: JUMP
00003da2: JUMPDEST
00003da3: SWAP2
00003da4: POP
00003da5: SWAP2
00003da6: POP
00003da7: PUSH2 0x3daf
00003daa: DUP2
00003dab: PUSH2 0x465f
00003dae: JUMP
00003daf: JUMPDEST
00003db0: POP
00003db1: SWAP1
00003db2: POP
00003db3: JUMPDEST
00003db4: SWAP5
00003db5: SWAP4
00003db6: POP
00003db7: POP
00003db8: POP
00003db9: POP
00003dba: JUMP
00003dbb: JUMPDEST
00003dbc: PUSH0
00003dbd: PUSH2 0x3dc9
00003dc0: PUSH3 0x015180
00003dc4: TIMESTAMP
00003dc5: PUSH2 0x59f5
00003dc8: JUMP
00003dc9: JUMPDEST
00003dca: PUSH1 0x01
00003dcc: PUSH1 0x01
00003dce: PUSH1 0xa0
00003dd0: SHL
00003dd1: SUB
00003dd2: DUP5
00003dd3: AND
00003dd4: PUSH0
00003dd5: SWAP1
00003dd6: DUP2
00003dd7: MSTORE
00003dd8: PUSH1 0x3e
00003dda: PUSH1 0x20
00003ddc: MSTORE
00003ddd: PUSH1 0x40
00003ddf: SWAP1
00003de0: KECCAK256
00003de1: SLOAD
00003de2: SWAP1
00003de3: SWAP2
00003de4: POP
00003de5: DUP2
00003de6: GT
00003de7: ISZERO
00003de8: PUSH2 0x3e16
00003deb: JUMPI
00003dec: PUSH1 0x01
00003dee: PUSH1 0x01
00003df0: PUSH1 0xa0
00003df2: SHL
00003df3: SUB
00003df4: SWAP3
00003df5: SWAP1
00003df6: SWAP3
00003df7: AND
00003df8: PUSH0
00003df9: SWAP1
00003dfa: DUP2
00003dfb: MSTORE
00003dfc: PUSH1 0x3e
00003dfe: PUSH1 0x20
00003e00: SWAP1
00003e01: DUP2
00003e02: MSTORE
00003e03: PUSH1 0x40
00003e05: DUP1
00003e06: DUP4
00003e07: KECCAK256
00003e08: SWAP5
00003e09: SWAP1
00003e0a: SWAP5
00003e0b: SSTORE
00003e0c: PUSH1 0x3d
00003e0e: SWAP1
00003e0f: MSTORE
00003e10: SWAP2
00003e11: SWAP1
00003e12: SWAP2
00003e13: KECCAK256
00003e14: SSTORE
00003e15: JUMP
00003e16: JUMPDEST
00003e17: PUSH1 0x01
00003e19: PUSH1 0x01
00003e1b: PUSH1 0xa0
00003e1d: SHL
00003e1e: SUB
00003e1f: DUP4
00003e20: AND
00003e21: PUSH0
00003e22: SWAP1
00003e23: DUP2
00003e24: MSTORE
00003e25: PUSH1 0x3d
00003e27: PUSH1 0x20
00003e29: MSTORE
00003e2a: PUSH1 0x40
00003e2c: DUP2
00003e2d: KECCAK256
00003e2e: DUP1
00003e2f: SLOAD
00003e30: DUP5
00003e31: SWAP3
00003e32: SWAP1
00003e33: PUSH2 0x3e3d
00003e36: SWAP1
00003e37: DUP5
00003e38: SWAP1
00003e39: PUSH2 0x59e2
00003e3c: JUMP
00003e3d: JUMPDEST
00003e3e: SWAP1
00003e3f: SWAP2
00003e40: SSTORE
00003e41: POP
00003e42: POP
00003e43: POP
00003e44: POP
00003e45: POP
00003e46: JUMP
00003e47: JUMPDEST
00003e48: PUSH1 0x01
00003e4a: PUSH1 0x01
00003e4c: PUSH1 0xa0
00003e4e: SHL
00003e4f: SUB
00003e50: SWAP2
00003e51: SWAP1
00003e52: SWAP2
00003e53: AND
00003e54: PUSH0
00003e55: SWAP1
00003e56: DUP2
00003e57: MSTORE
00003e58: PUSH1 0x3a
00003e5a: PUSH1 0x20
00003e5c: MSTORE
00003e5d: PUSH1 0x40
00003e5f: SWAP1
00003e60: KECCAK256
00003e61: SLOAD
00003e62: GT
00003e63: ISZERO
00003e64: SWAP1
00003e65: JUMP
00003e66: JUMPDEST
00003e67: PUSH0
00003e68: DUP3
00003e69: PUSH0
00003e6a: ADD
00003e6b: DUP3
00003e6c: DUP2
00003e6d: SLOAD
00003e6e: DUP2
00003e6f: LT
00003e70: PUSH2 0x3e7b
00003e73: JUMPI
00003e74: PUSH2 0x3e7b
00003e77: PUSH2 0x53b1
00003e7a: JUMP
00003e7b: JUMPDEST
00003e7c: SWAP1
00003e7d: PUSH0
00003e7e: MSTORE
00003e7f: PUSH1 0x20
00003e81: PUSH0
00003e82: KECCAK256
00003e83: ADD
00003e84: SLOAD
00003e85: SWAP1
00003e86: POP
00003e87: SWAP3
00003e88: SWAP2
00003e89: POP
00003e8a: POP
00003e8b: JUMP
00003e8c: JUMPDEST
00003e8d: PUSH1 0x40
00003e8f: DUP1
00003e90: MLOAD
00003e91: PUSH32 0x353bdd8d69b9e3185b3972e08b03845c0c14a21a390215302776a7a34b0e8764
00003eb2: DUP2
00003eb3: MSTORE
00003eb4: DUP3
00003eb5: MLOAD
00003eb6: PUSH1 0x20
00003eb8: DUP1
00003eb9: DUP4
00003eba: ADD
00003ebb: SWAP2
00003ebc: SWAP1
00003ebd: SWAP2
00003ebe: MSTORE
00003ebf: DUP4
00003ec0: ADD
00003ec1: MLOAD
00003ec2: DUP2
00003ec3: DUP4
00003ec4: ADD
00003ec5: MSTORE
00003ec6: SWAP2
00003ec7: ADD
00003ec8: MLOAD
00003ec9: PUSH1 0x60
00003ecb: DUP3
00003ecc: ADD
00003ecd: MSTORE
00003ece: PUSH1 0x80
00003ed0: SWAP1
00003ed1: KECCAK256
00003ed2: SWAP1
00003ed3: JUMP
00003ed4: JUMPDEST
00003ed5: PUSH0
00003ed6: DUP1
00003ed7: DUP5
00003ed8: MLOAD
00003ed9: PUSH1 0x02
00003edb: DUP2
00003edc: GT
00003edd: ISZERO
00003ede: PUSH2 0x3ee9
00003ee1: JUMPI
00003ee2: PUSH2 0x3ee9
00003ee5: PUSH2 0x50b0
00003ee8: JUMP
00003ee9: JUMPDEST
00003eea: SUB
00003eeb: PUSH2 0x3f04
00003eee: JUMPI
00003eef: PUSH2 0x3efd
00003ef2: DUP3
00003ef3: DUP5
00003ef4: DUP7
00003ef5: PUSH1 0x40
00003ef7: ADD
00003ef8: MLOAD
00003ef9: PUSH2 0x480f
00003efc: JUMP
00003efd: JUMPDEST
00003efe: SWAP1
00003eff: POP
00003f00: PUSH2 0x3f2e
00003f03: JUMP
00003f04: JUMPDEST
00003f05: PUSH1 0x01
00003f07: DUP5
00003f08: MLOAD
00003f09: PUSH1 0x02
00003f0b: DUP2
00003f0c: GT
00003f0d: ISZERO
00003f0e: PUSH2 0x3f19
00003f11: JUMPI
00003f12: PUSH2 0x3f19
00003f15: PUSH2 0x50b0
00003f18: JUMP
00003f19: JUMPDEST
00003f1a: SUB
00003f1b: PUSH2 0x3221
00003f1e: JUMPI
00003f1f: PUSH2 0x3efd
00003f22: DUP3
00003f23: ADDRESS
00003f24: DUP6
00003f25: DUP8
00003f26: PUSH1 0x20
00003f28: ADD
00003f29: MLOAD
00003f2a: PUSH2 0x43c1
00003f2d: JUMP
00003f2e: JUMPDEST
00003f2f: DUP1
00003f30: PUSH2 0x0cd0
00003f33: JUMPI
00003f34: DUP4
00003f35: DUP4
00003f36: DUP4
00003f37: PUSH1 0x40
00003f39: MLOAD
00003f3a: PUSH4 0x41bd7d91
00003f3f: PUSH1 0xe1
00003f41: SHL
00003f42: DUP2
00003f43: MSTORE
00003f44: PUSH1 0x04
00003f46: ADD
00003f47: PUSH2 0x0b80
00003f4a: SWAP4
00003f4b: SWAP3
00003f4c: SWAP2
00003f4d: SWAP1
00003f4e: PUSH2 0x5c73
00003f51: JUMP
00003f52: JUMPDEST
00003f53: PUSH0
00003f54: DUP4
00003f55: PUSH1 0x01
00003f57: PUSH1 0x01
00003f59: PUSH1 0xa0
00003f5b: SHL
00003f5c: SUB
00003f5d: AND
00003f5e: PUSH4 0x40c10f19
00003f63: DUP5
00003f64: DUP5
00003f65: PUSH1 0x40
00003f67: MLOAD
00003f68: PUSH1 0x24
00003f6a: ADD
00003f6b: PUSH2 0x3f75
00003f6e: SWAP3
00003f6f: SWAP2
00003f70: SWAP1
00003f71: PUSH2 0x5725
00003f74: JUMP
00003f75: JUMPDEST
00003f76: PUSH1 0x40
00003f78: MLOAD
00003f79: PUSH1 0x20
00003f7b: DUP2
00003f7c: DUP4
00003f7d: SUB
00003f7e: SUB
00003f7f: DUP2
00003f80: MSTORE
00003f81: SWAP1
00003f82: PUSH1 0x40
00003f84: MSTORE
00003f85: SWAP1
00003f86: PUSH1 0xe0
00003f88: SHL
00003f89: PUSH1 0x20
00003f8b: DUP3
00003f8c: ADD
00003f8d: DUP1
00003f8e: MLOAD
00003f8f: PUSH1 0x01
00003f91: PUSH1 0x01
00003f93: PUSH1 0xe0
00003f95: SHL
00003f96: SUB
00003f97: DUP4
00003f98: DUP2
00003f99: DUP4
00003f9a: AND
00003f9b: OR
00003f9c: DUP4
00003f9d: MSTORE
00003f9e: POP
00003f9f: POP
00003fa0: POP
00003fa1: POP
00003fa2: PUSH1 0x40
00003fa4: MLOAD
00003fa5: PUSH2 0x3fae
00003fa8: SWAP2
00003fa9: SWAP1
00003faa: PUSH2 0x5c22
00003fad: JUMP
00003fae: JUMPDEST
00003faf: PUSH0
00003fb0: PUSH1 0x40
00003fb2: MLOAD
00003fb3: DUP1
00003fb4: DUP4
00003fb5: SUB
00003fb6: DUP2
00003fb7: PUSH0
00003fb8: DUP7
00003fb9: GAS
00003fba: CALL
00003fbb: SWAP2
00003fbc: POP
00003fbd: POP
00003fbe: RETURNDATASIZE
00003fbf: DUP1
00003fc0: PUSH0
00003fc1: DUP2
00003fc2: EQ
00003fc3: PUSH2 0x3fe7
00003fc6: JUMPI
00003fc7: PUSH1 0x40
00003fc9: MLOAD
00003fca: SWAP2
00003fcb: POP
00003fcc: PUSH1 0x1f
00003fce: NOT
00003fcf: PUSH1 0x3f
00003fd1: RETURNDATASIZE
00003fd2: ADD
00003fd3: AND
00003fd4: DUP3
00003fd5: ADD
00003fd6: PUSH1 0x40
00003fd8: MSTORE
00003fd9: RETURNDATASIZE
00003fda: DUP3
00003fdb: MSTORE
00003fdc: RETURNDATASIZE
00003fdd: PUSH0
00003fde: PUSH1 0x20
00003fe0: DUP5
00003fe1: ADD
00003fe2: RETURNDATACOPY
00003fe3: PUSH2 0x3fec
00003fe6: JUMP
00003fe7: JUMPDEST
00003fe8: PUSH1 0x60
00003fea: SWAP2
00003feb: POP
00003fec: JUMPDEST
00003fed: POP
00003fee: SWAP1
00003fef: SWAP6
00003ff0: SWAP5
00003ff1: POP
00003ff2: POP
00003ff3: POP
00003ff4: POP
00003ff5: POP
00003ff6: JUMP
00003ff7: JUMPDEST
00003ff8: PUSH0
00003ff9: PUSH2 0x4004
00003ffc: DUP5
00003ffd: ADDRESS
00003ffe: DUP6
00003fff: DUP6
00004000: PUSH2 0x43c1
00004003: JUMP
00004004: JUMPDEST
00004005: SWAP1
00004006: POP
00004007: DUP1
00004008: PUSH2 0x0e88
0000400b: JUMPI
0000400c: PUSH2 0x4016
0000400f: DUP5
00004010: DUP5
00004011: DUP5
00004012: PUSH2 0x3f52
00004015: JUMP
00004016: JUMPDEST
00004017: SWAP1
00004018: POP
00004019: PUSH2 0x0e88
0000401c: JUMP
0000401d: JUMPDEST
0000401e: PUSH0
0000401f: PUSH2 0x402b
00004022: DUP6
00004023: ADDRESS
00004024: DUP7
00004025: DUP7
00004026: DUP7
00004027: PUSH2 0x4471
0000402a: JUMP
0000402b: JUMPDEST
0000402c: SWAP1
0000402d: POP
0000402e: DUP1
0000402f: PUSH2 0x3db3
00004032: JUMPI
00004033: PUSH2 0x403e
00004036: DUP6
00004037: DUP6
00004038: DUP6
00004039: DUP6
0000403a: PUSH2 0x48e7
0000403d: JUMP
0000403e: JUMPDEST
0000403f: SWAP1
00004040: POP
00004041: PUSH2 0x3db3
00004044: JUMP
00004045: JUMPDEST
00004046: PUSH0
00004047: PUSH1 0x01
00004049: PUSH1 0x01
0000404b: PUSH1 0xe0
0000404d: SHL
0000404e: SUB
0000404f: NOT
00004050: DUP3
00004051: AND
00004052: PUSH4 0x02711897
00004057: PUSH1 0xe5
00004059: SHL
0000405a: EQ
0000405b: DUP1
0000405c: PUSH2 0x0b0a
0000405f: JUMPI
00004060: POP
00004061: PUSH4 0x01ffc9a7
00004066: PUSH1 0xe0
00004068: SHL
00004069: PUSH1 0x01
0000406b: PUSH1 0x01
0000406d: PUSH1 0xe0
0000406f: SHL
00004070: SUB
00004071: NOT
00004072: DUP4
00004073: AND
00004074: EQ
00004075: PUSH2 0x0b0a
00004078: JUMP
00004079: JUMPDEST
0000407a: PUSH1 0x60
0000407c: PUSH0
0000407d: PUSH2 0x4087
00004080: DUP4
00004081: PUSH1 0x02
00004083: PUSH2 0x56ef
00004086: JUMP
00004087: JUMPDEST
00004088: PUSH2 0x4092
0000408b: SWAP1
0000408c: PUSH1 0x02
0000408e: PUSH2 0x59e2
00004091: JUMP
00004092: JUMPDEST
00004093: PUSH1 0x01
00004095: PUSH1 0x01
00004097: PUSH1 0x40
00004099: SHL
0000409a: SUB
0000409b: DUP2
0000409c: GT
0000409d: ISZERO
0000409e: PUSH2 0x40a9
000040a1: JUMPI
000040a2: PUSH2 0x40a9
000040a5: PUSH2 0x4e08
000040a8: JUMP
000040a9: JUMPDEST
000040aa: PUSH1 0x40
000040ac: MLOAD
000040ad: SWAP1
000040ae: DUP1
000040af: DUP3
000040b0: MSTORE
000040b1: DUP1
000040b2: PUSH1 0x1f
000040b4: ADD
000040b5: PUSH1 0x1f
000040b7: NOT
000040b8: AND
000040b9: PUSH1 0x20
000040bb: ADD
000040bc: DUP3
000040bd: ADD
000040be: PUSH1 0x40
000040c0: MSTORE
000040c1: DUP1
000040c2: ISZERO
000040c3: PUSH2 0x40d3
000040c6: JUMPI
000040c7: PUSH1 0x20
000040c9: DUP3
000040ca: ADD
000040cb: DUP2
000040cc: DUP1
000040cd: CALLDATASIZE
000040ce: DUP4
000040cf: CALLDATACOPY
000040d0: ADD
000040d1: SWAP1
000040d2: POP
000040d3: JUMPDEST
000040d4: POP
000040d5: SWAP1
000040d6: POP
000040d7: PUSH1 0x03
000040d9: PUSH1 0xfc
000040db: SHL
000040dc: DUP2
000040dd: PUSH0
000040de: DUP2
000040df: MLOAD
000040e0: DUP2
000040e1: LT
000040e2: PUSH2 0x40ed
000040e5: JUMPI
000040e6: PUSH2 0x40ed
000040e9: PUSH2 0x53b1
000040ec: JUMP
000040ed: JUMPDEST
000040ee: PUSH1 0x20
000040f0: ADD
000040f1: ADD
000040f2: SWAP1
000040f3: PUSH1 0x01
000040f5: PUSH1 0x01
000040f7: PUSH1 0xf8
000040f9: SHL
000040fa: SUB
000040fb: NOT
000040fc: AND
000040fd: SWAP1
000040fe: DUP2
000040ff: PUSH0
00004100: BYTE
00004101: SWAP1
00004102: MSTORE8
00004103: POP
00004104: PUSH1 0x0f
00004106: PUSH1 0xfb
00004108: SHL
00004109: DUP2
0000410a: PUSH1 0x01
0000410c: DUP2
0000410d: MLOAD
0000410e: DUP2
0000410f: LT
00004110: PUSH2 0x411b
00004113: JUMPI
00004114: PUSH2 0x411b
00004117: PUSH2 0x53b1
0000411a: JUMP
0000411b: JUMPDEST
0000411c: PUSH1 0x20
0000411e: ADD
0000411f: ADD
00004120: SWAP1
00004121: PUSH1 0x01
00004123: PUSH1 0x01
00004125: PUSH1 0xf8
00004127: SHL
00004128: SUB
00004129: NOT
0000412a: AND
0000412b: SWAP1
0000412c: DUP2
0000412d: PUSH0
0000412e: BYTE
0000412f: SWAP1
00004130: MSTORE8
00004131: POP
00004132: PUSH0
00004133: PUSH2 0x413d
00004136: DUP5
00004137: PUSH1 0x02
00004139: PUSH2 0x56ef
0000413c: JUMP
0000413d: JUMPDEST
0000413e: PUSH2 0x4148
00004141: SWAP1
00004142: PUSH1 0x01
00004144: PUSH2 0x59e2
00004147: JUMP
00004148: JUMPDEST
00004149: SWAP1
0000414a: POP
0000414b: JUMPDEST
0000414c: PUSH1 0x01
0000414e: DUP2
0000414f: GT
00004150: ISZERO
00004151: PUSH2 0x41bf
00004154: JUMPI
00004155: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3
00004166: PUSH1 0x81
00004168: SHL
00004169: DUP6
0000416a: PUSH1 0x0f
0000416c: AND
0000416d: PUSH1 0x10
0000416f: DUP2
00004170: LT
00004171: PUSH2 0x417c
00004174: JUMPI
00004175: PUSH2 0x417c
00004178: PUSH2 0x53b1
0000417b: JUMP
0000417c: JUMPDEST
0000417d: BYTE
0000417e: PUSH1 0xf8
00004180: SHL
00004181: DUP3
00004182: DUP3
00004183: DUP2
00004184: MLOAD
00004185: DUP2
00004186: LT
00004187: PUSH2 0x4192
0000418a: JUMPI
0000418b: PUSH2 0x4192
0000418e: PUSH2 0x53b1
00004191: JUMP
00004192: JUMPDEST
00004193: PUSH1 0x20
00004195: ADD
00004196: ADD
00004197: SWAP1
00004198: PUSH1 0x01
0000419a: PUSH1 0x01
0000419c: PUSH1 0xf8
0000419e: SHL
0000419f: SUB
000041a0: NOT
000041a1: AND
000041a2: SWAP1
000041a3: DUP2
000041a4: PUSH0
000041a5: BYTE
000041a6: SWAP1
000041a7: MSTORE8
000041a8: POP
000041a9: PUSH1 0x04
000041ab: SWAP5
000041ac: SWAP1
000041ad: SWAP5
000041ae: SHR
000041af: SWAP4
000041b0: PUSH2 0x41b8
000041b3: DUP2
000041b4: PUSH2 0x5ca3
000041b7: JUMP
000041b8: JUMPDEST
000041b9: SWAP1
000041ba: POP
000041bb: PUSH2 0x414b
000041be: JUMP
000041bf: JUMPDEST
000041c0: POP
000041c1: DUP4
000041c2: ISZERO
000041c3: PUSH2 0x0e88
000041c6: JUMPI
000041c7: PUSH1 0x40
000041c9: MLOAD
000041ca: PUSH3 0x461bcd
000041ce: PUSH1 0xe5
000041d0: SHL
000041d1: DUP2
000041d2: MSTORE
000041d3: PUSH1 0x20
000041d5: PUSH1 0x04
000041d7: DUP3
000041d8: ADD
000041d9: DUP2
000041da: SWAP1
000041db: MSTORE
000041dc: PUSH1 0x24
000041de: DUP3
000041df: ADD
000041e0: MSTORE
000041e1: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74
00004202: PUSH1 0x44
00004204: DUP3
00004205: ADD
00004206: MSTORE
00004207: PUSH1 0x64
00004209: ADD
0000420a: PUSH2 0x0b80
0000420d: JUMP
0000420e: JUMPDEST
0000420f: PUSH0
00004210: DUP2
00004211: DUP2
00004212: MSTORE
00004213: PUSH1 0x01
00004215: DUP4
00004216: ADD
00004217: PUSH1 0x20
00004219: MSTORE
0000421a: PUSH1 0x40
0000421c: DUP2
0000421d: KECCAK256
0000421e: SLOAD
0000421f: PUSH2 0x4253
00004222: JUMPI
00004223: POP
00004224: DUP2
00004225: SLOAD
00004226: PUSH1 0x01
00004228: DUP2
00004229: DUP2
0000422a: ADD
0000422b: DUP5
0000422c: SSTORE
0000422d: PUSH0
0000422e: DUP5
0000422f: DUP2
00004230: MSTORE
00004231: PUSH1 0x20
00004233: DUP1
00004234: DUP3
00004235: KECCAK256
00004236: SWAP1
00004237: SWAP4
00004238: ADD
00004239: DUP5
0000423a: SWAP1
0000423b: SSTORE
0000423c: DUP5
0000423d: SLOAD
0000423e: DUP5
0000423f: DUP3
00004240: MSTORE
00004241: DUP3
00004242: DUP7
00004243: ADD
00004244: SWAP1
00004245: SWAP4
00004246: MSTORE
00004247: PUSH1 0x40
00004249: SWAP1
0000424a: KECCAK256
0000424b: SWAP2
0000424c: SWAP1
0000424d: SWAP2
0000424e: SSTORE
0000424f: PUSH2 0x0b0a
00004252: JUMP
00004253: JUMPDEST
00004254: POP
00004255: PUSH0
00004256: PUSH2 0x0b0a
00004259: JUMP
0000425a: JUMPDEST
0000425b: PUSH0
0000425c: DUP2
0000425d: DUP2
0000425e: MSTORE
0000425f: PUSH1 0x01
00004261: DUP4
00004262: ADD
00004263: PUSH1 0x20
00004265: MSTORE
00004266: PUSH1 0x40
00004268: DUP2
00004269: KECCAK256
0000426a: SLOAD
0000426b: DUP1
0000426c: ISZERO
0000426d: PUSH2 0x4334
00004270: JUMPI
00004271: PUSH0
00004272: PUSH2 0x427c
00004275: PUSH1 0x01
00004277: DUP4
00004278: PUSH2 0x56dc
0000427b: JUMP
0000427c: JUMPDEST
0000427d: DUP6
0000427e: SLOAD
0000427f: SWAP1
00004280: SWAP2
00004281: POP
00004282: PUSH0
00004283: SWAP1
00004284: PUSH2 0x428f
00004287: SWAP1
00004288: PUSH1 0x01
0000428a: SWAP1
0000428b: PUSH2 0x56dc
0000428e: JUMP
0000428f: JUMPDEST
00004290: SWAP1
00004291: POP
00004292: DUP2
00004293: DUP2
00004294: EQ
00004295: PUSH2 0x42ee
00004298: JUMPI
00004299: PUSH0
0000429a: DUP7
0000429b: PUSH0
0000429c: ADD
0000429d: DUP3
0000429e: DUP2
0000429f: SLOAD
000042a0: DUP2
000042a1: LT
000042a2: PUSH2 0x42ad
000042a5: JUMPI
000042a6: PUSH2 0x42ad
000042a9: PUSH2 0x53b1
000042ac: JUMP
000042ad: JUMPDEST
000042ae: SWAP1
000042af: PUSH0
000042b0: MSTORE
000042b1: PUSH1 0x20
000042b3: PUSH0
000042b4: KECCAK256
000042b5: ADD
000042b6: SLOAD
000042b7: SWAP1
000042b8: POP
000042b9: DUP1
000042ba: DUP8
000042bb: PUSH0
000042bc: ADD
000042bd: DUP5
000042be: DUP2
000042bf: SLOAD
000042c0: DUP2
000042c1: LT
000042c2: PUSH2 0x42cd
000042c5: JUMPI
000042c6: PUSH2 0x42cd
000042c9: PUSH2 0x53b1
000042cc: JUMP
000042cd: JUMPDEST
000042ce: PUSH0
000042cf: SWAP2
000042d0: DUP3
000042d1: MSTORE
000042d2: PUSH1 0x20
000042d4: DUP1
000042d5: DUP4
000042d6: KECCAK256
000042d7: SWAP1
000042d8: SWAP2
000042d9: ADD
000042da: SWAP3
000042db: SWAP1
000042dc: SWAP3
000042dd: SSTORE
000042de: SWAP2
000042df: DUP3
000042e0: MSTORE
000042e1: PUSH1 0x01
000042e3: DUP9
000042e4: ADD
000042e5: SWAP1
000042e6: MSTORE
000042e7: PUSH1 0x40
000042e9: SWAP1
000042ea: KECCAK256
000042eb: DUP4
000042ec: SWAP1
000042ed: SSTORE
000042ee: JUMPDEST
000042ef: DUP6
000042f0: SLOAD
000042f1: DUP7
000042f2: SWAP1
000042f3: DUP1
000042f4: PUSH2 0x42ff
000042f7: JUMPI
000042f8: PUSH2 0x42ff
000042fb: PUSH2 0x5cb8
000042fe: JUMP
000042ff: JUMPDEST
00004300: PUSH1 0x01
00004302: SWAP1
00004303: SUB
00004304: DUP2
00004305: DUP2
00004306: SWAP1
00004307: PUSH0
00004308: MSTORE
00004309: PUSH1 0x20
0000430b: PUSH0
0000430c: KECCAK256
0000430d: ADD
0000430e: PUSH0
0000430f: SWAP1
00004310: SSTORE
00004311: SWAP1
00004312: SSTORE
00004313: DUP6
00004314: PUSH1 0x01
00004316: ADD
00004317: PUSH0
00004318: DUP7
00004319: DUP2
0000431a: MSTORE
0000431b: PUSH1 0x20
0000431d: ADD
0000431e: SWAP1
0000431f: DUP2
00004320: MSTORE
00004321: PUSH1 0x20
00004323: ADD
00004324: PUSH0
00004325: KECCAK256
00004326: PUSH0
00004327: SWAP1
00004328: SSTORE
00004329: PUSH1 0x01
0000432b: SWAP4
0000432c: POP
0000432d: POP
0000432e: POP
0000432f: POP
00004330: PUSH2 0x0b0a
00004333: JUMP
00004334: JUMPDEST
00004335: PUSH0
00004336: SWAP2
00004337: POP
00004338: POP
00004339: PUSH2 0x0b0a
0000433c: JUMP
0000433d: JUMPDEST
0000433e: PUSH0
0000433f: DUP1
00004340: DUP3
00004341: MLOAD
00004342: PUSH1 0x02
00004344: DUP2
00004345: GT
00004346: ISZERO
00004347: PUSH2 0x4352
0000434a: JUMPI
0000434b: PUSH2 0x4352
0000434e: PUSH2 0x50b0
00004351: JUMP
00004352: JUMPDEST
00004353: EQ
00004354: DUP1
00004355: ISZERO
00004356: PUSH2 0x4362
00004359: JUMPI
0000435a: POP
0000435b: PUSH0
0000435c: DUP3
0000435d: PUSH1 0x40
0000435f: ADD
00004360: MLOAD
00004361: GT
00004362: JUMPDEST
00004363: DUP1
00004364: ISZERO
00004365: PUSH2 0x0b0a
00004368: JUMPI
00004369: POP
0000436a: POP
0000436b: PUSH1 0x20
0000436d: ADD
0000436e: MLOAD
0000436f: ISZERO
00004370: SWAP1
00004371: JUMP
00004372: JUMPDEST
00004373: PUSH0
00004374: PUSH1 0x01
00004376: DUP3
00004377: MLOAD
00004378: PUSH1 0x02
0000437a: DUP2
0000437b: GT
0000437c: ISZERO
0000437d: PUSH2 0x4388
00004380: JUMPI
00004381: PUSH2 0x4388
00004384: PUSH2 0x50b0
00004387: JUMP
00004388: JUMPDEST
00004389: EQ
0000438a: DUP1
0000438b: ISZERO
0000438c: PUSH2 0x0b0a
0000438f: JUMPI
00004390: POP
00004391: POP
00004392: PUSH1 0x40
00004394: ADD
00004395: MLOAD
00004396: ISZERO
00004397: SWAP1
00004398: JUMP
00004399: JUMPDEST
0000439a: PUSH0
0000439b: PUSH1 0x02
0000439d: DUP3
0000439e: MLOAD
0000439f: PUSH1 0x02
000043a1: DUP2
000043a2: GT
000043a3: ISZERO
000043a4: PUSH2 0x43af
000043a7: JUMPI
000043a8: PUSH2 0x43af
000043ab: PUSH2 0x50b0
000043ae: JUMP
000043af: JUMPDEST
000043b0: EQ
000043b1: DUP1
000043b2: ISZERO
000043b3: PUSH2 0x0b0a
000043b6: JUMPI
000043b7: POP
000043b8: POP
000043b9: PUSH1 0x40
000043bb: ADD
000043bc: MLOAD
000043bd: ISZERO
000043be: ISZERO
000043bf: SWAP1
000043c0: JUMP
000043c1: JUMPDEST
000043c2: PUSH0
000043c3: DUP5
000043c4: PUSH1 0x01
000043c6: PUSH1 0x01
000043c8: PUSH1 0xa0
000043ca: SHL
000043cb: SUB
000043cc: AND
000043cd: PUSH4 0x23b872dd
000043d2: PUSH1 0xe0
000043d4: SHL
000043d5: DUP6
000043d6: DUP6
000043d7: DUP6
000043d8: PUSH1 0x40
000043da: MLOAD
000043db: PUSH1 0x24
000043dd: ADD
000043de: PUSH2 0x43e9
000043e1: SWAP4
000043e2: SWAP3
000043e3: SWAP2
000043e4: SWAP1
000043e5: PUSH2 0x5bfe
000043e8: JUMP
000043e9: JUMPDEST
000043ea: PUSH1 0x40
000043ec: DUP1
000043ed: MLOAD
000043ee: PUSH1 0x1f
000043f0: NOT
000043f1: DUP2
000043f2: DUP5
000043f3: SUB
000043f4: ADD
000043f5: DUP2
000043f6: MSTORE
000043f7: SWAP2
000043f8: DUP2
000043f9: MSTORE
000043fa: PUSH1 0x20
000043fc: DUP3
000043fd: ADD
000043fe: DUP1
000043ff: MLOAD
00004400: PUSH1 0x01
00004402: PUSH1 0x01
00004404: PUSH1 0xe0
00004406: SHL
00004407: SUB
00004408: AND
00004409: PUSH1 0x01
0000440b: PUSH1 0x01
0000440d: PUSH1 0xe0
0000440f: SHL
00004410: SUB
00004411: NOT
00004412: SWAP1
00004413: SWAP5
00004414: AND
00004415: SWAP4
00004416: SWAP1
00004417: SWAP4
00004418: OR
00004419: SWAP1
0000441a: SWAP3
0000441b: MSTORE
0000441c: SWAP1
0000441d: MLOAD
0000441e: PUSH2 0x4427
00004421: SWAP2
00004422: SWAP1
00004423: PUSH2 0x5c22
00004426: JUMP
00004427: JUMPDEST
00004428: PUSH0
00004429: PUSH1 0x40
0000442b: MLOAD
0000442c: DUP1
0000442d: DUP4
0000442e: SUB
0000442f: DUP2
00004430: PUSH0
00004431: DUP7
00004432: GAS
00004433: CALL
00004434: SWAP2
00004435: POP
00004436: POP
00004437: RETURNDATASIZE
00004438: DUP1
00004439: PUSH0
0000443a: DUP2
0000443b: EQ
0000443c: PUSH2 0x4460
0000443f: JUMPI
00004440: PUSH1 0x40
00004442: MLOAD
00004443: SWAP2
00004444: POP
00004445: PUSH1 0x1f
00004447: NOT
00004448: PUSH1 0x3f
0000444a: RETURNDATASIZE
0000444b: ADD
0000444c: AND
0000444d: DUP3
0000444e: ADD
0000444f: PUSH1 0x40
00004451: MSTORE
00004452: RETURNDATASIZE
00004453: DUP3
00004454: MSTORE
00004455: RETURNDATASIZE
00004456: PUSH0
00004457: PUSH1 0x20
00004459: DUP5
0000445a: ADD
0000445b: RETURNDATACOPY
0000445c: PUSH2 0x4465
0000445f: JUMP
00004460: JUMPDEST
00004461: PUSH1 0x60
00004463: SWAP2
00004464: POP
00004465: JUMPDEST
00004466: POP
00004467: SWAP1
00004468: SWAP7
00004469: SWAP6
0000446a: POP
0000446b: POP
0000446c: POP
0000446d: POP
0000446e: POP
0000446f: POP
00004470: JUMP
00004471: JUMPDEST
00004472: PUSH1 0x40
00004474: DUP1
00004475: MLOAD
00004476: PUSH0
00004477: DUP1
00004478: DUP3
00004479: MSTORE
0000447a: PUSH1 0x20
0000447c: DUP3
0000447d: ADD
0000447e: SWAP1
0000447f: SWAP3
00004480: MSTORE
00004481: PUSH1 0x01
00004483: PUSH1 0x01
00004485: PUSH1 0xa0
00004487: SHL
00004488: SUB
00004489: DUP8
0000448a: AND
0000448b: SWAP1
0000448c: PUSH2 0x44a0
0000448f: SWAP1
00004490: DUP8
00004491: SWAP1
00004492: DUP8
00004493: SWAP1
00004494: DUP8
00004495: SWAP1
00004496: DUP8
00004497: SWAP1
00004498: PUSH1 0x44
0000449a: DUP2
0000449b: ADD
0000449c: PUSH2 0x5ccc
0000449f: JUMP
000044a0: JUMPDEST
000044a1: PUSH1 0x40
000044a3: DUP1
000044a4: MLOAD
000044a5: PUSH1 0x1f
000044a7: NOT
000044a8: DUP2
000044a9: DUP5
000044aa: SUB
000044ab: ADD
000044ac: DUP2
000044ad: MSTORE
000044ae: SWAP2
000044af: DUP2
000044b0: MSTORE
000044b1: PUSH1 0x20
000044b3: DUP3
000044b4: ADD
000044b5: DUP1
000044b6: MLOAD
000044b7: PUSH1 0x01
000044b9: PUSH1 0x01
000044bb: PUSH1 0xe0
000044bd: SHL
000044be: SUB
000044bf: AND
000044c0: PUSH4 0x79212195
000044c5: PUSH1 0xe1
000044c7: SHL
000044c8: OR
000044c9: SWAP1
000044ca: MSTORE
000044cb: MLOAD
000044cc: PUSH2 0x44d5
000044cf: SWAP2
000044d0: SWAP1
000044d1: PUSH2 0x5c22
000044d4: JUMP
000044d5: JUMPDEST
000044d6: PUSH0
000044d7: PUSH1 0x40
000044d9: MLOAD
000044da: DUP1
000044db: DUP4
000044dc: SUB
000044dd: DUP2
000044de: PUSH0
000044df: DUP7
000044e0: GAS
000044e1: CALL
000044e2: SWAP2
000044e3: POP
000044e4: POP
000044e5: RETURNDATASIZE
000044e6: DUP1
000044e7: PUSH0
000044e8: DUP2
000044e9: EQ
000044ea: PUSH2 0x450e
000044ed: JUMPI
000044ee: PUSH1 0x40
000044f0: MLOAD
000044f1: SWAP2
000044f2: POP
000044f3: PUSH1 0x1f
000044f5: NOT
000044f6: PUSH1 0x3f
000044f8: RETURNDATASIZE
000044f9: ADD
000044fa: AND
000044fb: DUP3
000044fc: ADD
000044fd: PUSH1 0x40
000044ff: MSTORE
00004500: RETURNDATASIZE
00004501: DUP3
00004502: MSTORE
00004503: RETURNDATASIZE
00004504: PUSH0
00004505: PUSH1 0x20
00004507: DUP5
00004508: ADD
00004509: RETURNDATACOPY
0000450a: PUSH2 0x4513
0000450d: JUMP
0000450e: JUMPDEST
0000450f: PUSH1 0x60
00004511: SWAP2
00004512: POP
00004513: JUMPDEST
00004514: POP
00004515: SWAP1
00004516: SWAP8
00004517: SWAP7
00004518: POP
00004519: POP
0000451a: POP
0000451b: POP
0000451c: POP
0000451d: POP
0000451e: POP
0000451f: JUMP
00004520: JUMPDEST
00004521: PUSH0
00004522: PUSH1 0x38
00004524: SLOAD
00004525: PUSH1 0x01
00004527: PUSH1 0x38
00004529: SLOAD
0000452a: DUP5
0000452b: PUSH1 0x37
0000452d: SLOAD
0000452e: PUSH2 0x4537
00004531: SWAP2
00004532: SWAP1
00004533: PUSH2 0x56ef
00004536: JUMP
00004537: JUMPDEST
00004538: PUSH2 0x4541
0000453b: SWAP2
0000453c: SWAP1
0000453d: PUSH2 0x59e2
00004540: JUMP
00004541: JUMPDEST
00004542: PUSH2 0x454b
00004545: SWAP2
00004546: SWAP1
00004547: PUSH2 0x56dc
0000454a: JUMP
0000454b: JUMPDEST
0000454c: PUSH2 0x4555
0000454f: SWAP2
00004550: SWAP1
00004551: PUSH2 0x59f5
00004554: JUMP
00004555: JUMPDEST
00004556: SWAP1
00004557: POP
00004558: DUP1
00004559: PUSH0
0000455a: SUB
0000455b: PUSH2 0x177d
0000455e: JUMPI
0000455f: PUSH0
00004560: CALLDATALOAD
00004561: PUSH1 0x01
00004563: PUSH1 0x01
00004565: PUSH1 0xe0
00004567: SHL
00004568: SUB
00004569: NOT
0000456a: AND
0000456b: PUSH1 0x40
0000456d: MLOAD
0000456e: PUSH4 0x9b974b0f
00004573: PUSH1 0xe0
00004575: SHL
00004576: DUP2
00004577: MSTORE
00004578: PUSH1 0x04
0000457a: ADD
0000457b: PUSH2 0x0b80
0000457e: SWAP2
0000457f: SWAP1
00004580: PUSH2 0x4fa0
00004583: JUMP
00004584: JUMPDEST
00004585: PUSH0
00004586: DUP1
00004587: PUSH16 0xa2a8918ca85bafe22016d0b997e4df60
00004598: PUSH1 0x01
0000459a: PUSH1 0xff
0000459c: SHL
0000459d: SUB
0000459e: DUP4
0000459f: GT
000045a0: ISZERO
000045a1: PUSH2 0x45af
000045a4: JUMPI
000045a5: POP
000045a6: PUSH0
000045a7: SWAP1
000045a8: POP
000045a9: PUSH1 0x03
000045ab: PUSH2 0x4656
000045ae: JUMP
000045af: JUMPDEST
000045b0: DUP5
000045b1: PUSH1 0xff
000045b3: AND
000045b4: PUSH1 0x1b
000045b6: EQ
000045b7: ISZERO
000045b8: DUP1
000045b9: ISZERO
000045ba: PUSH2 0x45c7
000045bd: JUMPI
000045be: POP
000045bf: DUP5
000045c0: PUSH1 0xff
000045c2: AND
000045c3: PUSH1 0x1c
000045c5: EQ
000045c6: ISZERO
000045c7: JUMPDEST
000045c8: ISZERO
000045c9: PUSH2 0x45d7
000045cc: JUMPI
000045cd: POP
000045ce: PUSH0
000045cf: SWAP1
000045d0: POP
000045d1: PUSH1 0x04
000045d3: PUSH2 0x4656
000045d6: JUMP
000045d7: JUMPDEST
000045d8: PUSH1 0x40
000045da: DUP1
000045db: MLOAD
000045dc: PUSH0
000045dd: DUP1
000045de: DUP3
000045df: MSTORE
000045e0: PUSH1 0x20
000045e2: DUP3
000045e3: ADD
000045e4: DUP1
000045e5: DUP5
000045e6: MSTORE
000045e7: DUP10
000045e8: SWAP1
000045e9: MSTORE
000045ea: PUSH1 0xff
000045ec: DUP9
000045ed: AND
000045ee: SWAP3
000045ef: DUP3
000045f0: ADD
000045f1: SWAP3
000045f2: SWAP1
000045f3: SWAP3
000045f4: MSTORE
000045f5: PUSH1 0x60
000045f7: DUP2
000045f8: ADD
000045f9: DUP7
000045fa: SWAP1
000045fb: MSTORE
000045fc: PUSH1 0x80
000045fe: DUP2
000045ff: ADD
00004600: DUP6
00004601: SWAP1
00004602: MSTORE
00004603: PUSH1 0x01
00004605: SWAP1
00004606: PUSH1 0xa0
00004608: ADD
00004609: PUSH1 0x20
0000460b: PUSH1 0x40
0000460d: MLOAD
0000460e: PUSH1 0x20
00004610: DUP2
00004611: SUB
00004612: SWAP1
00004613: DUP1
00004614: DUP5
00004615: SUB
00004616: SWAP1
00004617: DUP6
00004618: GAS
00004619: STATICCALL
0000461a: ISZERO
0000461b: DUP1
0000461c: ISZERO
0000461d: PUSH2 0x4628
00004620: JUMPI
00004621: RETURNDATASIZE
00004622: PUSH0
00004623: PUSH0
00004624: RETURNDATACOPY
00004625: RETURNDATASIZE
00004626: PUSH0
00004627: REVERT
00004628: JUMPDEST
00004629: POP
0000462a: POP
0000462b: PUSH1 0x40
0000462d: MLOAD
0000462e: PUSH1 0x1f
00004630: NOT
00004631: ADD
00004632: MLOAD
00004633: SWAP2
00004634: POP
00004635: POP
00004636: PUSH1 0x01
00004638: PUSH1 0x01
0000463a: PUSH1 0xa0
0000463c: SHL
0000463d: SUB
0000463e: DUP2
0000463f: AND
00004640: PUSH2 0x4650
00004643: JUMPI
00004644: PUSH0
00004645: PUSH1 0x01
00004647: SWAP3
00004648: POP
00004649: SWAP3
0000464a: POP
0000464b: POP
0000464c: PUSH2 0x4656
0000464f: JUMP
00004650: JUMPDEST
00004651: SWAP2
00004652: POP
00004653: PUSH0
00004654: SWAP1
00004655: POP
00004656: JUMPDEST
00004657: SWAP5
00004658: POP
00004659: SWAP5
0000465a: SWAP3
0000465b: POP
0000465c: POP
0000465d: POP
0000465e: JUMP
0000465f: JUMPDEST
00004660: PUSH0
00004661: DUP2
00004662: PUSH1 0x04
00004664: DUP2
00004665: GT
00004666: ISZERO
00004667: PUSH2 0x4672
0000466a: JUMPI
0000466b: PUSH2 0x4672
0000466e: PUSH2 0x50b0
00004671: JUMP
00004672: JUMPDEST
00004673: SUB
00004674: PUSH2 0x467a
00004677: JUMPI
00004678: POP
00004679: JUMP
0000467a: JUMPDEST
0000467b: PUSH1 0x01
0000467d: DUP2
0000467e: PUSH1 0x04
00004680: DUP2
00004681: GT
00004682: ISZERO
00004683: PUSH2 0x468e
00004686: JUMPI
00004687: PUSH2 0x468e
0000468a: PUSH2 0x50b0
0000468d: JUMP
0000468e: JUMPDEST
0000468f: SUB
00004690: PUSH2 0x46d6
00004693: JUMPI
00004694: PUSH1 0x40
00004696: MLOAD
00004697: PUSH3 0x461bcd
0000469b: PUSH1 0xe5
0000469d: SHL
0000469e: DUP2
0000469f: MSTORE
000046a0: PUSH1 0x20
000046a2: PUSH1 0x04
000046a4: DUP3
000046a5: ADD
000046a6: MSTORE
000046a7: PUSH1 0x18
000046a9: PUSH1 0x24
000046ab: DUP3
000046ac: ADD
000046ad: MSTORE
000046ae: PUSH24 0x45434453413a20696e76616c6964207369676e6174757265
000046c7: PUSH1 0x40
000046c9: SHL
000046ca: PUSH1 0x44
000046cc: DUP3
000046cd: ADD
000046ce: MSTORE
000046cf: PUSH1 0x64
000046d1: ADD
000046d2: PUSH2 0x0b80
000046d5: JUMP
000046d6: JUMPDEST
000046d7: PUSH1 0x02
000046d9: DUP2
000046da: PUSH1 0x04
000046dc: DUP2
000046dd: GT
000046de: ISZERO
000046df: PUSH2 0x46ea
000046e2: JUMPI
000046e3: PUSH2 0x46ea
000046e6: PUSH2 0x50b0
000046e9: JUMP
000046ea: JUMPDEST
000046eb: SUB
000046ec: PUSH2 0x4737
000046ef: JUMPI
000046f0: PUSH1 0x40
000046f2: MLOAD
000046f3: PUSH3 0x461bcd
000046f7: PUSH1 0xe5
000046f9: SHL
000046fa: DUP2
000046fb: MSTORE
000046fc: PUSH1 0x20
000046fe: PUSH1 0x04
00004700: DUP3
00004701: ADD
00004702: MSTORE
00004703: PUSH1 0x1f
00004705: PUSH1 0x24
00004707: DUP3
00004708: ADD
00004709: MSTORE
0000470a: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800
0000472b: PUSH1 0x44
0000472d: DUP3
0000472e: ADD
0000472f: MSTORE
00004730: PUSH1 0x64
00004732: ADD
00004733: PUSH2 0x0b80
00004736: JUMP
00004737: JUMPDEST
00004738: PUSH1 0x03
0000473a: DUP2
0000473b: PUSH1 0x04
0000473d: DUP2
0000473e: GT
0000473f: ISZERO
00004740: PUSH2 0x474b
00004743: JUMPI
00004744: PUSH2 0x474b
00004747: PUSH2 0x50b0
0000474a: JUMP
0000474b: JUMPDEST
0000474c: SUB
0000474d: PUSH2 0x47a3
00004750: JUMPI
00004751: PUSH1 0x40
00004753: MLOAD
00004754: PUSH3 0x461bcd
00004758: PUSH1 0xe5
0000475a: SHL
0000475b: DUP2
0000475c: MSTORE
0000475d: PUSH1 0x20
0000475f: PUSH1 0x04
00004761: DUP3
00004762: ADD
00004763: MSTORE
00004764: PUSH1 0x22
00004766: PUSH1 0x24
00004768: DUP3
00004769: ADD
0000476a: MSTORE
0000476b: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c
0000478c: PUSH1 0x44
0000478e: DUP3
0000478f: ADD
00004790: MSTORE
00004791: PUSH2 0x7565
00004794: PUSH1 0xf0
00004796: SHL
00004797: PUSH1 0x64
00004799: DUP3
0000479a: ADD
0000479b: MSTORE
0000479c: PUSH1 0x84
0000479e: ADD
0000479f: PUSH2 0x0b80
000047a2: JUMP
000047a3: JUMPDEST
000047a4: PUSH1 0x04
000047a6: DUP2
000047a7: PUSH1 0x04
000047a9: DUP2
000047aa: GT
000047ab: ISZERO
000047ac: PUSH2 0x47b7
000047af: JUMPI
000047b0: PUSH2 0x47b7
000047b3: PUSH2 0x50b0
000047b6: JUMP
000047b7: JUMPDEST
000047b8: SUB
000047b9: PUSH2 0x0e1e
000047bc: JUMPI
000047bd: PUSH1 0x40
000047bf: MLOAD
000047c0: PUSH3 0x461bcd
000047c4: PUSH1 0xe5
000047c6: SHL
000047c7: DUP2
000047c8: MSTORE
000047c9: PUSH1 0x20
000047cb: PUSH1 0x04
000047cd: DUP3
000047ce: ADD
000047cf: MSTORE
000047d0: PUSH1 0x22
000047d2: PUSH1 0x24
000047d4: DUP3
000047d5: ADD
000047d6: MSTORE
000047d7: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202776272076616c
000047f8: PUSH1 0x44
000047fa: DUP3
000047fb: ADD
000047fc: MSTORE
000047fd: PUSH2 0x7565
00004800: PUSH1 0xf0
00004802: SHL
00004803: PUSH1 0x64
00004805: DUP3
00004806: ADD
00004807: MSTORE
00004808: PUSH1 0x84
0000480a: ADD
0000480b: PUSH2 0x0b80
0000480e: JUMP
0000480f: JUMPDEST
00004810: PUSH0
00004811: PUSH1 0x60
00004813: DUP5
00004814: PUSH1 0x01
00004816: PUSH1 0x01
00004818: PUSH1 0xa0
0000481a: SHL
0000481b: SUB
0000481c: AND
0000481d: PUSH4 0xa9059cbb
00004822: PUSH1 0xe0
00004824: SHL
00004825: DUP6
00004826: DUP6
00004827: PUSH1 0x40
00004829: MLOAD
0000482a: PUSH1 0x24
0000482c: ADD
0000482d: PUSH2 0x4837
00004830: SWAP3
00004831: SWAP2
00004832: SWAP1
00004833: PUSH2 0x5725
00004836: JUMP
00004837: JUMPDEST
00004838: PUSH1 0x40
0000483a: DUP1
0000483b: MLOAD
0000483c: PUSH1 0x1f
0000483e: NOT
0000483f: DUP2
00004840: DUP5
00004841: SUB
00004842: ADD
00004843: DUP2
00004844: MSTORE
00004845: SWAP2
00004846: DUP2
00004847: MSTORE
00004848: PUSH1 0x20
0000484a: DUP3
0000484b: ADD
0000484c: DUP1
0000484d: MLOAD
0000484e: PUSH1 0x01
00004850: PUSH1 0x01
00004852: PUSH1 0xe0
00004854: SHL
00004855: SUB
00004856: AND
00004857: PUSH1 0x01
00004859: PUSH1 0x01
0000485b: PUSH1 0xe0
0000485d: SHL
0000485e: SUB
0000485f: NOT
00004860: SWAP1
00004861: SWAP5
00004862: AND
00004863: SWAP4
00004864: SWAP1
00004865: SWAP4
00004866: OR
00004867: SWAP1
00004868: SWAP3
00004869: MSTORE
0000486a: SWAP1
0000486b: MLOAD
0000486c: PUSH2 0x4875
0000486f: SWAP2
00004870: SWAP1
00004871: PUSH2 0x5c22
00004874: JUMP
00004875: JUMPDEST
00004876: PUSH0
00004877: PUSH1 0x40
00004879: MLOAD
0000487a: DUP1
0000487b: DUP4
0000487c: SUB
0000487d: DUP2
0000487e: PUSH0
0000487f: DUP7
00004880: GAS
00004881: CALL
00004882: SWAP2
00004883: POP
00004884: POP
00004885: RETURNDATASIZE
00004886: DUP1
00004887: PUSH0
00004888: DUP2
00004889: EQ
0000488a: PUSH2 0x48ae
0000488d: JUMPI
0000488e: PUSH1 0x40
00004890: MLOAD
00004891: SWAP2
00004892: POP
00004893: PUSH1 0x1f
00004895: NOT
00004896: PUSH1 0x3f
00004898: RETURNDATASIZE
00004899: ADD
0000489a: AND
0000489b: DUP3
0000489c: ADD
0000489d: PUSH1 0x40
0000489f: MSTORE
000048a0: RETURNDATASIZE
000048a1: DUP3
000048a2: MSTORE
000048a3: RETURNDATASIZE
000048a4: PUSH0
000048a5: PUSH1 0x20
000048a7: DUP5
000048a8: ADD
000048a9: RETURNDATACOPY
000048aa: PUSH2 0x48b3
000048ad: JUMP
000048ae: JUMPDEST
000048af: PUSH1 0x60
000048b1: SWAP2
000048b2: POP
000048b3: JUMPDEST
000048b4: POP
000048b5: SWAP1
000048b6: SWAP3
000048b7: POP
000048b8: SWAP1
000048b9: POP
000048ba: DUP2
000048bb: DUP1
000048bc: ISZERO
000048bd: PUSH2 0x48de
000048c0: JUMPI
000048c1: POP
000048c2: DUP1
000048c3: MLOAD
000048c4: ISZERO
000048c5: DUP1
000048c6: PUSH2 0x48de
000048c9: JUMPI
000048ca: POP
000048cb: DUP1
000048cc: DUP1
000048cd: PUSH1 0x20
000048cf: ADD
000048d0: SWAP1
000048d1: MLOAD
000048d2: DUP2
000048d3: ADD
000048d4: SWAP1
000048d5: PUSH2 0x48de
000048d8: SWAP2
000048d9: SWAP1
000048da: PUSH2 0x573e
000048dd: JUMP
000048de: JUMPDEST
000048df: SWAP6
000048e0: SWAP5
000048e1: POP
000048e2: POP
000048e3: POP
000048e4: POP
000048e5: POP
000048e6: JUMP
000048e7: JUMPDEST
000048e8: PUSH1 0x40
000048ea: DUP1
000048eb: MLOAD
000048ec: PUSH0
000048ed: DUP1
000048ee: DUP3
000048ef: MSTORE
000048f0: PUSH1 0x20
000048f2: DUP3
000048f3: ADD
000048f4: SWAP1
000048f5: SWAP3
000048f6: MSTORE
000048f7: PUSH1 0x01
000048f9: PUSH1 0x01
000048fb: PUSH1 0xa0
000048fd: SHL
000048fe: SUB
000048ff: DUP7
00004900: AND
00004901: SWAP1
00004902: PUSH2 0x4914
00004905: SWAP1
00004906: DUP7
00004907: SWAP1
00004908: DUP7
00004909: SWAP1
0000490a: DUP7
0000490b: SWAP1
0000490c: PUSH1 0x44
0000490e: DUP2
0000490f: ADD
00004910: PUSH2 0x5d10
00004913: JUMP
00004914: JUMPDEST
00004915: PUSH1 0x40
00004917: DUP1
00004918: MLOAD
00004919: PUSH1 0x1f
0000491b: NOT
0000491c: DUP2
0000491d: DUP5
0000491e: SUB
0000491f: ADD
00004920: DUP2
00004921: MSTORE
00004922: SWAP2
00004923: DUP2
00004924: MSTORE
00004925: PUSH1 0x20
00004927: DUP3
00004928: ADD
00004929: DUP1
0000492a: MLOAD
0000492b: PUSH1 0x01
0000492d: PUSH1 0x01
0000492f: PUSH1 0xe0
00004931: SHL
00004932: SUB
00004933: AND
00004934: PUSH4 0x731133e9
00004939: PUSH1 0xe0
0000493b: SHL
0000493c: OR
0000493d: SWAP1
0000493e: MSTORE
0000493f: MLOAD
00004940: PUSH2 0x4427
00004943: SWAP2
00004944: SWAP1
00004945: PUSH2 0x5c22
00004948: JUMP
00004949: JUMPDEST
0000494a: PUSH1 0x40
0000494c: DUP1
0000494d: MLOAD
0000494e: PUSH1 0xa0
00004950: DUP2
00004951: ADD
00004952: DUP3
00004953: MSTORE
00004954: PUSH0
00004955: DUP1
00004956: DUP3
00004957: MSTORE
00004958: PUSH1 0x20
0000495a: DUP3
0000495b: ADD
0000495c: MSTORE
0000495d: SWAP1
0000495e: DUP2
0000495f: ADD
00004960: PUSH2 0x4967
00004963: PUSH2 0x4996
00004966: JUMP
00004967: JUMPDEST
00004968: DUP2
00004969: MSTORE
0000496a: PUSH1 0x20
0000496c: ADD
0000496d: PUSH2 0x4974
00004970: PUSH2 0x4996
00004973: JUMP
00004974: JUMPDEST
00004975: DUP2
00004976: MSTORE
00004977: PUSH1 0x40
00004979: DUP1
0000497a: MLOAD
0000497b: PUSH1 0x60
0000497d: DUP2
0000497e: ADD
0000497f: DUP3
00004980: MSTORE
00004981: PUSH0
00004982: DUP1
00004983: DUP3
00004984: MSTORE
00004985: PUSH1 0x20
00004987: DUP3
00004988: DUP2
00004989: ADD
0000498a: DUP3
0000498b: SWAP1
0000498c: MSTORE
0000498d: SWAP3
0000498e: DUP3
0000498f: ADD
00004990: MSTORE
00004991: SWAP2
00004992: ADD
00004993: MSTORE
00004994: SWAP1
00004995: JUMP
00004996: JUMPDEST
00004997: PUSH1 0x40
00004999: DUP1
0000499a: MLOAD
0000499b: PUSH1 0x60
0000499d: DUP2
0000499e: ADD
0000499f: DUP3
000049a0: MSTORE
000049a1: PUSH0
000049a2: DUP1
000049a3: DUP3
000049a4: MSTORE
000049a5: PUSH1 0x20
000049a7: DUP3
000049a8: ADD
000049a9: DUP2
000049aa: SWAP1
000049ab: MSTORE
000049ac: SWAP2
000049ad: DUP2
000049ae: ADD
000049af: SWAP2
000049b0: SWAP1
000049b1: SWAP2
000049b2: MSTORE
000049b3: SWAP1
000049b4: JUMP
000049b5: JUMPDEST
000049b6: DUP1
000049b7: CALLDATALOAD
000049b8: PUSH1 0x01
000049ba: PUSH1 0x01
000049bc: PUSH1 0xe0
000049be: SHL
000049bf: SUB
000049c0: NOT
000049c1: DUP2
000049c2: AND
000049c3: DUP2
000049c4: EQ
000049c5: PUSH2 0x177d
000049c8: JUMPI
000049c9: PUSH0
000049ca: PUSH0
000049cb: REVERT
000049cc: JUMPDEST
000049cd: PUSH0
000049ce: PUSH1 0x20
000049d0: DUP3
000049d1: DUP5
000049d2: SUB
000049d3: SLT
000049d4: ISZERO
000049d5: PUSH2 0x49dc
000049d8: JUMPI
000049d9: PUSH0
000049da: PUSH0
000049db: REVERT
000049dc: JUMPDEST
000049dd: PUSH2 0x0e88
000049e0: DUP3
000049e1: PUSH2 0x49b5
000049e4: JUMP
000049e5: JUMPDEST
000049e6: PUSH1 0x01
000049e8: PUSH1 0x01
000049ea: PUSH1 0xa0
000049ec: SHL
000049ed: SUB
000049ee: SWAP2
000049ef: SWAP1
000049f0: SWAP2
000049f1: AND
000049f2: DUP2
000049f3: MSTORE
000049f4: PUSH1 0x20
000049f6: ADD
000049f7: SWAP1
000049f8: JUMP
000049f9: JUMPDEST
000049fa: PUSH0
000049fb: PUSH0
000049fc: DUP4
000049fd: PUSH1 0x1f
000049ff: DUP5
00004a00: ADD
00004a01: SLT
00004a02: PUSH2 0x4a09
00004a05: JUMPI
00004a06: PUSH0
00004a07: PUSH0
00004a08: REVERT
00004a09: JUMPDEST
00004a0a: POP
00004a0b: DUP2
00004a0c: CALLDATALOAD
00004a0d: PUSH1 0x01
00004a0f: PUSH1 0x01
00004a11: PUSH1 0x40
00004a13: SHL
00004a14: SUB
00004a15: DUP2
00004a16: GT
00004a17: ISZERO
00004a18: PUSH2 0x4a1f
00004a1b: JUMPI
00004a1c: PUSH0
00004a1d: PUSH0
00004a1e: REVERT
00004a1f: JUMPDEST
00004a20: PUSH1 0x20
00004a22: DUP4
00004a23: ADD
00004a24: SWAP2
00004a25: POP
00004a26: DUP4
00004a27: PUSH1 0x20
00004a29: DUP3
00004a2a: PUSH1 0x05
00004a2c: SHL
00004a2d: DUP6
00004a2e: ADD
00004a2f: ADD
00004a30: GT
00004a31: ISZERO
00004a32: PUSH2 0x1514
00004a35: JUMPI
00004a36: PUSH0
00004a37: PUSH0
00004a38: REVERT
00004a39: JUMPDEST
00004a3a: PUSH0
00004a3b: PUSH0
00004a3c: PUSH0
00004a3d: PUSH0
00004a3e: PUSH0
00004a3f: PUSH0
00004a40: PUSH1 0x60
00004a42: DUP8
00004a43: DUP10
00004a44: SUB
00004a45: SLT
00004a46: ISZERO
00004a47: PUSH2 0x4a4e
00004a4a: JUMPI
00004a4b: PUSH0
00004a4c: PUSH0
00004a4d: REVERT
00004a4e: JUMPDEST
00004a4f: DUP7
00004a50: CALLDATALOAD
00004a51: PUSH1 0x01
00004a53: PUSH1 0x01
00004a55: PUSH1 0x40
00004a57: SHL
00004a58: SUB
00004a59: DUP2
00004a5a: GT
00004a5b: ISZERO
00004a5c: PUSH2 0x4a63
00004a5f: JUMPI
00004a60: PUSH0
00004a61: PUSH0
00004a62: REVERT
00004a63: JUMPDEST
00004a64: PUSH2 0x4a6f
00004a67: DUP10
00004a68: DUP3
00004a69: DUP11
00004a6a: ADD
00004a6b: PUSH2 0x49f9
00004a6e: JUMP
00004a6f: JUMPDEST
00004a70: SWAP1
00004a71: SWAP8
00004a72: POP
00004a73: SWAP6
00004a74: POP
00004a75: POP
00004a76: PUSH1 0x20
00004a78: DUP8
00004a79: ADD
00004a7a: CALLDATALOAD
00004a7b: PUSH1 0x01
00004a7d: PUSH1 0x01
00004a7f: PUSH1 0x40
00004a81: SHL
00004a82: SUB
00004a83: DUP2
00004a84: GT
00004a85: ISZERO
00004a86: PUSH2 0x4a8d
00004a89: JUMPI
00004a8a: PUSH0
00004a8b: PUSH0
00004a8c: REVERT
00004a8d: JUMPDEST
00004a8e: PUSH2 0x4a99
00004a91: DUP10
00004a92: DUP3
00004a93: DUP11
00004a94: ADD
00004a95: PUSH2 0x49f9
00004a98: JUMP
00004a99: JUMPDEST
00004a9a: SWAP1
00004a9b: SWAP6
00004a9c: POP
00004a9d: SWAP4
00004a9e: POP
00004a9f: POP
00004aa0: PUSH1 0x40
00004aa2: DUP8
00004aa3: ADD
00004aa4: CALLDATALOAD
00004aa5: PUSH1 0x01
00004aa7: PUSH1 0x01
00004aa9: PUSH1 0x40
00004aab: SHL
00004aac: SUB
00004aad: DUP2
00004aae: GT
00004aaf: ISZERO
00004ab0: PUSH2 0x4ab7
00004ab3: JUMPI
00004ab4: PUSH0
00004ab5: PUSH0
00004ab6: REVERT
00004ab7: JUMPDEST
00004ab8: PUSH2 0x4ac3
00004abb: DUP10
00004abc: DUP3
00004abd: DUP11
00004abe: ADD
00004abf: PUSH2 0x49f9
00004ac2: JUMP
00004ac3: JUMPDEST
00004ac4: SWAP8
00004ac5: SWAP11
00004ac6: SWAP7
00004ac7: SWAP10
00004ac8: POP
00004ac9: SWAP5
00004aca: SWAP8
00004acb: POP
00004acc: SWAP3
00004acd: SWAP6
00004ace: SWAP4
00004acf: SWAP5
00004ad0: SWAP3
00004ad1: POP
00004ad2: POP
00004ad3: POP
00004ad4: JUMP
00004ad5: JUMPDEST
00004ad6: DUP1
00004ad7: CALLDATALOAD
00004ad8: PUSH1 0xff
00004ada: DUP2
00004adb: AND
00004adc: DUP2
00004add: EQ
00004ade: PUSH2 0x177d
00004ae1: JUMPI
00004ae2: PUSH0
00004ae3: PUSH0
00004ae4: REVERT
00004ae5: JUMPDEST
00004ae6: PUSH0
00004ae7: PUSH0
00004ae8: PUSH1 0x40
00004aea: DUP4
00004aeb: DUP6
00004aec: SUB
00004aed: SLT
00004aee: ISZERO
00004aef: PUSH2 0x4af6
00004af2: JUMPI
00004af3: PUSH0
00004af4: PUSH0
00004af5: REVERT
00004af6: JUMPDEST
00004af7: PUSH2 0x4aff
00004afa: DUP4
00004afb: PUSH2 0x49b5
00004afe: JUMP
00004aff: JUMPDEST
00004b00: SWAP2
00004b01: POP
00004b02: PUSH2 0x4b0d
00004b05: PUSH1 0x20
00004b07: DUP5
00004b08: ADD
00004b09: PUSH2 0x4ad5
00004b0c: JUMP
00004b0d: JUMPDEST
00004b0e: SWAP1
00004b0f: POP
00004b10: SWAP3
00004b11: POP
00004b12: SWAP3
00004b13: SWAP1
00004b14: POP
00004b15: JUMP
00004b16: JUMPDEST
00004b17: PUSH0
00004b18: PUSH0
00004b19: PUSH0
00004b1a: PUSH0
00004b1b: PUSH1 0x40
00004b1d: DUP6
00004b1e: DUP8
00004b1f: SUB
00004b20: SLT
00004b21: ISZERO
00004b22: PUSH2 0x4b29
00004b25: JUMPI
00004b26: PUSH0
00004b27: PUSH0
00004b28: REVERT
00004b29: JUMPDEST
00004b2a: DUP5
00004b2b: CALLDATALOAD
00004b2c: PUSH1 0x01
00004b2e: PUSH1 0x01
00004b30: PUSH1 0x40
00004b32: SHL
00004b33: SUB
00004b34: DUP2
00004b35: GT
00004b36: ISZERO
00004b37: PUSH2 0x4b3e
00004b3a: JUMPI
00004b3b: PUSH0
00004b3c: PUSH0
00004b3d: REVERT
00004b3e: JUMPDEST
00004b3f: PUSH2 0x4b4a
00004b42: DUP8
00004b43: DUP3
00004b44: DUP9
00004b45: ADD
00004b46: PUSH2 0x49f9
00004b49: JUMP
00004b4a: JUMPDEST
00004b4b: SWAP1
00004b4c: SWAP6
00004b4d: POP
00004b4e: SWAP4
00004b4f: POP
00004b50: POP
00004b51: PUSH1 0x20
00004b53: DUP6
00004b54: ADD
00004b55: CALLDATALOAD
00004b56: PUSH1 0x01
00004b58: PUSH1 0x01
00004b5a: PUSH1 0x40
00004b5c: SHL
00004b5d: SUB
00004b5e: DUP2
00004b5f: GT
00004b60: ISZERO
00004b61: PUSH2 0x4b68
00004b64: JUMPI
00004b65: PUSH0
00004b66: PUSH0
00004b67: REVERT
00004b68: JUMPDEST
00004b69: PUSH2 0x4b74
00004b6c: DUP8
00004b6d: DUP3
00004b6e: DUP9
00004b6f: ADD
00004b70: PUSH2 0x49f9
00004b73: JUMP
00004b74: JUMPDEST
00004b75: SWAP6
00004b76: SWAP9
00004b77: SWAP5
00004b78: SWAP8
00004b79: POP
00004b7a: SWAP6
00004b7b: POP
00004b7c: POP
00004b7d: POP
00004b7e: POP
00004b7f: JUMP
00004b80: JUMPDEST
00004b81: PUSH1 0x01
00004b83: PUSH1 0x01
00004b85: PUSH1 0xa0
00004b87: SHL
00004b88: SUB
00004b89: DUP2
00004b8a: AND
00004b8b: DUP2
00004b8c: EQ
00004b8d: PUSH2 0x0e1e
00004b90: JUMPI
00004b91: PUSH0
00004b92: PUSH0
00004b93: REVERT
00004b94: JUMPDEST
00004b95: PUSH0
00004b96: PUSH1 0x20
00004b98: DUP3
00004b99: DUP5
00004b9a: SUB
00004b9b: SLT
00004b9c: ISZERO
00004b9d: PUSH2 0x4ba4
00004ba0: JUMPI
00004ba1: PUSH0
00004ba2: PUSH0
00004ba3: REVERT
00004ba4: JUMPDEST
00004ba5: DUP2
00004ba6: CALLDATALOAD
00004ba7: PUSH2 0x0e88
00004baa: DUP2
00004bab: PUSH2 0x4b80
00004bae: JUMP
00004baf: JUMPDEST
00004bb0: PUSH0
00004bb1: PUSH1 0x20
00004bb3: DUP3
00004bb4: DUP5
00004bb5: SUB
00004bb6: SLT
00004bb7: ISZERO
00004bb8: PUSH2 0x4bbf
00004bbb: JUMPI
00004bbc: PUSH0
00004bbd: PUSH0
00004bbe: REVERT
00004bbf: JUMPDEST
00004bc0: POP
00004bc1: CALLDATALOAD
00004bc2: SWAP2
00004bc3: SWAP1
00004bc4: POP
00004bc5: JUMP
00004bc6: JUMPDEST
00004bc7: PUSH0
00004bc8: PUSH0
00004bc9: PUSH1 0x40
00004bcb: DUP4
00004bcc: DUP6
00004bcd: SUB
00004bce: SLT
00004bcf: ISZERO
00004bd0: PUSH2 0x4bd7
00004bd3: JUMPI
00004bd4: PUSH0
00004bd5: PUSH0
00004bd6: REVERT
00004bd7: JUMPDEST
00004bd8: DUP3
00004bd9: CALLDATALOAD
00004bda: SWAP2
00004bdb: POP
00004bdc: PUSH1 0x20
00004bde: DUP4
00004bdf: ADD
00004be0: CALLDATALOAD
00004be1: PUSH2 0x4be9
00004be4: DUP2
00004be5: PUSH2 0x4b80
00004be8: JUMP
00004be9: JUMPDEST
00004bea: DUP1
00004beb: SWAP2
00004bec: POP
00004bed: POP
00004bee: SWAP3
00004bef: POP
00004bf0: SWAP3
00004bf1: SWAP1
00004bf2: POP
00004bf3: JUMP
00004bf4: JUMPDEST
00004bf5: PUSH0
00004bf6: PUSH1 0xa0
00004bf8: DUP3
00004bf9: DUP5
00004bfa: SUB
00004bfb: SLT
00004bfc: DUP1
00004bfd: ISZERO
00004bfe: PUSH2 0x4c05
00004c01: JUMPI
00004c02: PUSH0
00004c03: PUSH0
00004c04: REVERT
00004c05: JUMPDEST
00004c06: POP
00004c07: SWAP1
00004c08: SWAP3
00004c09: SWAP2
00004c0a: POP
00004c0b: POP
00004c0c: JUMP
00004c0d: JUMPDEST
00004c0e: PUSH0
00004c0f: PUSH2 0x0160
00004c12: DUP3
00004c13: DUP5
00004c14: SUB
00004c15: SLT
00004c16: ISZERO
00004c17: PUSH2 0x375e
00004c1a: JUMPI
00004c1b: PUSH0
00004c1c: PUSH0
00004c1d: REVERT
00004c1e: JUMPDEST
00004c1f: PUSH0
00004c20: PUSH0
00004c21: PUSH0
00004c22: PUSH2 0x0180
00004c25: DUP5
00004c26: DUP7
00004c27: SUB
00004c28: SLT
00004c29: ISZERO
00004c2a: PUSH2 0x4c31
00004c2d: JUMPI
00004c2e: PUSH0
00004c2f: PUSH0
00004c30: REVERT
00004c31: JUMPDEST
00004c32: PUSH2 0x4c3b
00004c35: DUP6
00004c36: DUP6
00004c37: PUSH2 0x4c0d
00004c3a: JUMP
00004c3b: JUMPDEST
00004c3c: SWAP3
00004c3d: POP
00004c3e: PUSH2 0x0160
00004c41: DUP5
00004c42: ADD
00004c43: CALLDATALOAD
00004c44: PUSH1 0x01
00004c46: PUSH1 0x01
00004c48: PUSH1 0x40
00004c4a: SHL
00004c4b: SUB
00004c4c: DUP2
00004c4d: GT
00004c4e: ISZERO
00004c4f: PUSH2 0x4c56
00004c52: JUMPI
00004c53: PUSH0
00004c54: PUSH0
00004c55: REVERT
00004c56: JUMPDEST
00004c57: DUP5
00004c58: ADD
00004c59: PUSH1 0x1f
00004c5b: DUP2
00004c5c: ADD
00004c5d: DUP7
00004c5e: SGT
00004c5f: PUSH2 0x4c66
00004c62: JUMPI
00004c63: PUSH0
00004c64: PUSH0
00004c65: REVERT
00004c66: JUMPDEST
00004c67: DUP1
00004c68: CALLDATALOAD
00004c69: PUSH1 0x01
00004c6b: PUSH1 0x01
00004c6d: PUSH1 0x40
00004c6f: SHL
00004c70: SUB
00004c71: DUP2
00004c72: GT
00004c73: ISZERO
00004c74: PUSH2 0x4c7b
00004c77: JUMPI
00004c78: PUSH0
00004c79: PUSH0
00004c7a: REVERT
00004c7b: JUMPDEST
00004c7c: DUP7
00004c7d: PUSH1 0x20
00004c7f: PUSH1 0x60
00004c81: DUP4
00004c82: MUL
00004c83: DUP5
00004c84: ADD
00004c85: ADD
00004c86: GT
00004c87: ISZERO
00004c88: PUSH2 0x4c8f
00004c8b: JUMPI
00004c8c: PUSH0
00004c8d: PUSH0
00004c8e: REVERT
00004c8f: JUMPDEST
00004c90: SWAP4
00004c91: SWAP7
00004c92: PUSH1 0x20
00004c94: SWAP2
00004c95: SWAP1
00004c96: SWAP2
00004c97: ADD
00004c98: SWAP6
00004c99: POP
00004c9a: SWAP3
00004c9b: SWAP4
00004c9c: POP
00004c9d: POP
00004c9e: POP
00004c9f: JUMP
00004ca0: JUMPDEST
00004ca1: PUSH0
00004ca2: PUSH0
00004ca3: PUSH1 0x20
00004ca5: DUP4
00004ca6: DUP6
00004ca7: SUB
00004ca8: SLT
00004ca9: ISZERO
00004caa: PUSH2 0x4cb1
00004cad: JUMPI
00004cae: PUSH0
00004caf: PUSH0
00004cb0: REVERT
00004cb1: JUMPDEST
00004cb2: DUP3
00004cb3: CALLDATALOAD
00004cb4: PUSH1 0x01
00004cb6: PUSH1 0x01
00004cb8: PUSH1 0x40
00004cba: SHL
00004cbb: SUB
00004cbc: DUP2
00004cbd: GT
00004cbe: ISZERO
00004cbf: PUSH2 0x4cc6
00004cc2: JUMPI
00004cc3: PUSH0
00004cc4: PUSH0
00004cc5: REVERT
00004cc6: JUMPDEST
00004cc7: PUSH2 0x4cd2
00004cca: DUP6
00004ccb: DUP3
00004ccc: DUP7
00004ccd: ADD
00004cce: PUSH2 0x49f9
00004cd1: JUMP
00004cd2: JUMPDEST
00004cd3: SWAP1
00004cd4: SWAP7
00004cd5: SWAP1
00004cd6: SWAP6
00004cd7: POP
00004cd8: SWAP4
00004cd9: POP
00004cda: POP
00004cdb: POP
00004cdc: POP
00004cdd: JUMP
00004cde: JUMPDEST
00004cdf: PUSH1 0x40
00004ce1: DUP1
00004ce2: DUP3
00004ce3: MSTORE
00004ce4: DUP4
00004ce5: MLOAD
00004ce6: SWAP1
00004ce7: DUP3
00004ce8: ADD
00004ce9: DUP2
00004cea: SWAP1
00004ceb: MSTORE
00004cec: PUSH0
00004ced: SWAP1
00004cee: PUSH1 0x20
00004cf0: DUP6
00004cf1: ADD
00004cf2: SWAP1
00004cf3: PUSH1 0x60
00004cf5: DUP5
00004cf6: ADD
00004cf7: SWAP1
00004cf8: DUP4
00004cf9: JUMPDEST
00004cfa: DUP2
00004cfb: DUP2
00004cfc: LT
00004cfd: ISZERO
00004cfe: PUSH2 0x4d20
00004d01: JUMPI
00004d02: DUP4
00004d03: MLOAD
00004d04: PUSH1 0x01
00004d06: PUSH1 0x01
00004d08: PUSH1 0xa0
00004d0a: SHL
00004d0b: SUB
00004d0c: AND
00004d0d: DUP4
00004d0e: MSTORE
00004d0f: PUSH1 0x20
00004d11: SWAP4
00004d12: DUP5
00004d13: ADD
00004d14: SWAP4
00004d15: SWAP1
00004d16: SWAP3
00004d17: ADD
00004d18: SWAP2
00004d19: PUSH1 0x01
00004d1b: ADD
00004d1c: PUSH2 0x4cf9
00004d1f: JUMP
00004d20: JUMPDEST
00004d21: POP
00004d22: POP
00004d23: DUP4
00004d24: DUP2
00004d25: SUB
00004d26: PUSH1 0x20
00004d28: DUP1
00004d29: DUP7
00004d2a: ADD
00004d2b: SWAP2
00004d2c: SWAP1
00004d2d: SWAP2
00004d2e: MSTORE
00004d2f: DUP6
00004d30: MLOAD
00004d31: DUP1
00004d32: DUP4
00004d33: MSTORE
00004d34: SWAP2
00004d35: DUP2
00004d36: ADD
00004d37: SWAP3
00004d38: POP
00004d39: DUP6
00004d3a: ADD
00004d3b: SWAP1
00004d3c: PUSH0
00004d3d: JUMPDEST
00004d3e: DUP2
00004d3f: DUP2
00004d40: LT
00004d41: ISZERO
00004d42: PUSH2 0x4d64
00004d45: JUMPI
00004d46: DUP3
00004d47: MLOAD
00004d48: PUSH1 0x01
00004d4a: PUSH1 0x01
00004d4c: PUSH1 0x40
00004d4e: SHL
00004d4f: SUB
00004d50: AND
00004d51: DUP5
00004d52: MSTORE
00004d53: PUSH1 0x20
00004d55: SWAP4
00004d56: DUP5
00004d57: ADD
00004d58: SWAP4
00004d59: SWAP1
00004d5a: SWAP3
00004d5b: ADD
00004d5c: SWAP2
00004d5d: PUSH1 0x01
00004d5f: ADD
00004d60: PUSH2 0x4d3d
00004d63: JUMP
00004d64: JUMPDEST
00004d65: POP
00004d66: SWAP2
00004d67: SWAP7
00004d68: SWAP6
00004d69: POP
00004d6a: POP
00004d6b: POP
00004d6c: POP
00004d6d: POP
00004d6e: POP
00004d6f: JUMP
00004d70: JUMPDEST
00004d71: PUSH0
00004d72: PUSH0
00004d73: PUSH1 0x40
00004d75: DUP4
00004d76: DUP6
00004d77: SUB
00004d78: SLT
00004d79: ISZERO
00004d7a: PUSH2 0x4d81
00004d7d: JUMPI
00004d7e: PUSH0
00004d7f: PUSH0
00004d80: REVERT
00004d81: JUMPDEST
00004d82: DUP3
00004d83: CALLDATALOAD
00004d84: PUSH2 0x4d8c
00004d87: DUP2
00004d88: PUSH2 0x4b80
00004d8b: JUMP
00004d8c: JUMPDEST
00004d8d: SWAP5
00004d8e: PUSH1 0x20
00004d90: SWAP4
00004d91: SWAP1
00004d92: SWAP4
00004d93: ADD
00004d94: CALLDATALOAD
00004d95: SWAP4
00004d96: POP
00004d97: POP
00004d98: POP
00004d99: JUMP
00004d9a: JUMPDEST
00004d9b: DUP1
00004d9c: CALLDATALOAD
00004d9d: PUSH1 0x10
00004d9f: DUP2
00004da0: LT
00004da1: PUSH2 0x177d
00004da4: JUMPI
00004da5: PUSH0
00004da6: PUSH0
00004da7: REVERT
00004da8: JUMPDEST
00004da9: PUSH0
00004daa: PUSH0
00004dab: PUSH1 0x40
00004dad: DUP4
00004dae: DUP6
00004daf: SUB
00004db0: SLT
00004db1: ISZERO
00004db2: PUSH2 0x4db9
00004db5: JUMPI
00004db6: PUSH0
00004db7: PUSH0
00004db8: REVERT
00004db9: JUMPDEST
00004dba: PUSH2 0x4dc2
00004dbd: DUP4
00004dbe: PUSH2 0x4d9a
00004dc1: JUMP
00004dc2: JUMPDEST
00004dc3: SWAP2
00004dc4: POP
00004dc5: PUSH1 0x20
00004dc7: DUP4
00004dc8: ADD
00004dc9: CALLDATALOAD
00004dca: PUSH2 0x4be9
00004dcd: DUP2
00004dce: PUSH2 0x4b80
00004dd1: JUMP
00004dd2: JUMPDEST
00004dd3: DUP1
00004dd4: CALLDATALOAD
00004dd5: PUSH1 0x03
00004dd7: DUP2
00004dd8: LT
00004dd9: PUSH2 0x177d
00004ddc: JUMPI
00004ddd: PUSH0
00004dde: PUSH0
00004ddf: REVERT
00004de0: JUMPDEST
00004de1: PUSH0
00004de2: PUSH0
00004de3: PUSH1 0x40
00004de5: DUP4
00004de6: DUP6
00004de7: SUB
00004de8: SLT
00004de9: ISZERO
00004dea: PUSH2 0x4df1
00004ded: JUMPI
00004dee: PUSH0
00004def: PUSH0
00004df0: REVERT
00004df1: JUMPDEST
00004df2: PUSH2 0x4dfa
00004df5: DUP4
00004df6: PUSH2 0x49b5
00004df9: JUMP
00004dfa: JUMPDEST
00004dfb: SWAP2
00004dfc: POP
00004dfd: PUSH2 0x4b0d
00004e00: PUSH1 0x20
00004e02: DUP5
00004e03: ADD
00004e04: PUSH2 0x4dd2
00004e07: JUMP
00004e08: JUMPDEST
00004e09: PUSH4 0x4e487b71
00004e0e: PUSH1 0xe0
00004e10: SHL
00004e11: PUSH0
00004e12: MSTORE
00004e13: PUSH1 0x41
00004e15: PUSH1 0x04
00004e17: MSTORE
00004e18: PUSH1 0x24
00004e1a: PUSH0
00004e1b: REVERT
00004e1c: JUMPDEST
00004e1d: PUSH1 0x40
00004e1f: MLOAD
00004e20: PUSH1 0x60
00004e22: DUP2
00004e23: ADD
00004e24: PUSH1 0x01
00004e26: PUSH1 0x01
00004e28: PUSH1 0x40
00004e2a: SHL
00004e2b: SUB
00004e2c: DUP2
00004e2d: GT
00004e2e: DUP3
00004e2f: DUP3
00004e30: LT
00004e31: OR
00004e32: ISZERO
00004e33: PUSH2 0x4e3e
00004e36: JUMPI
00004e37: PUSH2 0x4e3e
00004e3a: PUSH2 0x4e08
00004e3d: JUMP
00004e3e: JUMPDEST
00004e3f: PUSH1 0x40
00004e41: MSTORE
00004e42: SWAP1
00004e43: JUMP
00004e44: JUMPDEST
00004e45: PUSH1 0x40
00004e47: MLOAD
00004e48: PUSH1 0x1f
00004e4a: DUP3
00004e4b: ADD
00004e4c: PUSH1 0x1f
00004e4e: NOT
00004e4f: AND
00004e50: DUP2
00004e51: ADD
00004e52: PUSH1 0x01
00004e54: PUSH1 0x01
00004e56: PUSH1 0x40
00004e58: SHL
00004e59: SUB
00004e5a: DUP2
00004e5b: GT
00004e5c: DUP3
00004e5d: DUP3
00004e5e: LT
00004e5f: OR
00004e60: ISZERO
00004e61: PUSH2 0x4e6c
00004e64: JUMPI
00004e65: PUSH2 0x4e6c
00004e68: PUSH2 0x4e08
00004e6b: JUMP
00004e6c: JUMPDEST
00004e6d: PUSH1 0x40
00004e6f: MSTORE
00004e70: SWAP2
00004e71: SWAP1
00004e72: POP
00004e73: JUMP
00004e74: JUMPDEST
00004e75: PUSH0
00004e76: PUSH1 0x01
00004e78: PUSH1 0x01
00004e7a: PUSH1 0x40
00004e7c: SHL
00004e7d: SUB
00004e7e: DUP3
00004e7f: GT
00004e80: ISZERO
00004e81: PUSH2 0x4e8c
00004e84: JUMPI
00004e85: PUSH2 0x4e8c
00004e88: PUSH2 0x4e08
00004e8b: JUMP
00004e8c: JUMPDEST
00004e8d: POP
00004e8e: PUSH1 0x05
00004e90: SHL
00004e91: PUSH1 0x20
00004e93: ADD
00004e94: SWAP1
00004e95: JUMP
00004e96: JUMPDEST
00004e97: DUP1
00004e98: ISZERO
00004e99: ISZERO
00004e9a: DUP2
00004e9b: EQ
00004e9c: PUSH2 0x0e1e
00004e9f: JUMPI
00004ea0: PUSH0
00004ea1: PUSH0
00004ea2: REVERT
00004ea3: JUMPDEST
00004ea4: PUSH0
00004ea5: PUSH0
00004ea6: PUSH0
00004ea7: PUSH0
00004ea8: PUSH0
00004ea9: PUSH1 0x60
00004eab: DUP7
00004eac: DUP9
00004ead: SUB
00004eae: SLT
00004eaf: ISZERO
00004eb0: PUSH2 0x4eb7
00004eb3: JUMPI
00004eb4: PUSH0
00004eb5: PUSH0
00004eb6: REVERT
00004eb7: JUMPDEST
00004eb8: DUP6
00004eb9: CALLDATALOAD
00004eba: PUSH1 0x01
00004ebc: PUSH1 0x01
00004ebe: PUSH1 0x40
00004ec0: SHL
00004ec1: SUB
00004ec2: DUP2
00004ec3: GT
00004ec4: ISZERO
00004ec5: PUSH2 0x4ecc
00004ec8: JUMPI
00004ec9: PUSH0
00004eca: PUSH0
00004ecb: REVERT
00004ecc: JUMPDEST
00004ecd: PUSH2 0x4ed8
00004ed0: DUP9
00004ed1: DUP3
00004ed2: DUP10
00004ed3: ADD
00004ed4: PUSH2 0x49f9
00004ed7: JUMP
00004ed8: JUMPDEST
00004ed9: SWAP1
00004eda: SWAP7
00004edb: POP
00004edc: SWAP5
00004edd: POP
00004ede: POP
00004edf: PUSH1 0x20
00004ee1: DUP7
00004ee2: ADD
00004ee3: CALLDATALOAD
00004ee4: PUSH1 0x01
00004ee6: PUSH1 0x01
00004ee8: PUSH1 0x40
00004eea: SHL
00004eeb: SUB
00004eec: DUP2
00004eed: GT
00004eee: ISZERO
00004eef: PUSH2 0x4ef6
00004ef2: JUMPI
00004ef3: PUSH0
00004ef4: PUSH0
00004ef5: REVERT
00004ef6: JUMPDEST
00004ef7: PUSH2 0x4f02
00004efa: DUP9
00004efb: DUP3
00004efc: DUP10
00004efd: ADD
00004efe: PUSH2 0x49f9
00004f01: JUMP
00004f02: JUMPDEST
00004f03: SWAP1
00004f04: SWAP5
00004f05: POP
00004f06: SWAP3
00004f07: POP
00004f08: POP
00004f09: PUSH1 0x40
00004f0b: DUP7
00004f0c: ADD
00004f0d: CALLDATALOAD
00004f0e: PUSH1 0x01
00004f10: PUSH1 0x01
00004f12: PUSH1 0x40
00004f14: SHL
00004f15: SUB
00004f16: DUP2
00004f17: GT
00004f18: ISZERO
00004f19: PUSH2 0x4f20
00004f1c: JUMPI
00004f1d: PUSH0
00004f1e: PUSH0
00004f1f: REVERT
00004f20: JUMPDEST
00004f21: DUP7
00004f22: ADD
00004f23: PUSH1 0x1f
00004f25: DUP2
00004f26: ADD
00004f27: DUP9
00004f28: SGT
00004f29: PUSH2 0x4f30
00004f2c: JUMPI
00004f2d: PUSH0
00004f2e: PUSH0
00004f2f: REVERT
00004f30: JUMPDEST
00004f31: DUP1
00004f32: CALLDATALOAD
00004f33: PUSH2 0x4f43
00004f36: PUSH2 0x4f3e
00004f39: DUP3
00004f3a: PUSH2 0x4e74
00004f3d: JUMP
00004f3e: JUMPDEST
00004f3f: PUSH2 0x4e44
00004f42: JUMP
00004f43: JUMPDEST
00004f44: DUP1
00004f45: DUP3
00004f46: DUP3
00004f47: MSTORE
00004f48: PUSH1 0x20
00004f4a: DUP3
00004f4b: ADD
00004f4c: SWAP2
00004f4d: POP
00004f4e: PUSH1 0x20
00004f50: DUP4
00004f51: PUSH1 0x05
00004f53: SHL
00004f54: DUP6
00004f55: ADD
00004f56: ADD
00004f57: SWAP3
00004f58: POP
00004f59: DUP11
00004f5a: DUP4
00004f5b: GT
00004f5c: ISZERO
00004f5d: PUSH2 0x4f64
00004f60: JUMPI
00004f61: PUSH0
00004f62: PUSH0
00004f63: REVERT
00004f64: JUMPDEST
00004f65: PUSH1 0x20
00004f67: DUP5
00004f68: ADD
00004f69: SWAP4
00004f6a: POP
00004f6b: JUMPDEST
00004f6c: DUP3
00004f6d: DUP5
00004f6e: LT
00004f6f: ISZERO
00004f70: PUSH2 0x4f8f
00004f73: JUMPI
00004f74: DUP4
00004f75: CALLDATALOAD
00004f76: PUSH2 0x4f7e
00004f79: DUP2
00004f7a: PUSH2 0x4e96
00004f7d: JUMP
00004f7e: JUMPDEST
00004f7f: DUP3
00004f80: MSTORE
00004f81: PUSH1 0x20
00004f83: SWAP4
00004f84: DUP5
00004f85: ADD
00004f86: SWAP4
00004f87: SWAP1
00004f88: SWAP2
00004f89: ADD
00004f8a: SWAP1
00004f8b: PUSH2 0x4f6b
00004f8e: JUMP
00004f8f: JUMPDEST
00004f90: DUP1
00004f91: SWAP5
00004f92: POP
00004f93: POP
00004f94: POP
00004f95: POP
00004f96: POP
00004f97: SWAP3
00004f98: SWAP6
00004f99: POP
00004f9a: SWAP3
00004f9b: SWAP6
00004f9c: SWAP1
00004f9d: SWAP4
00004f9e: POP
00004f9f: JUMP
00004fa0: JUMPDEST
00004fa1: PUSH1 0x01
00004fa3: PUSH1 0x01
00004fa5: PUSH1 0xe0
00004fa7: SHL
00004fa8: SUB
00004fa9: NOT
00004faa: SWAP2
00004fab: SWAP1
00004fac: SWAP2
00004fad: AND
00004fae: DUP2
00004faf: MSTORE
00004fb0: PUSH1 0x20
00004fb2: ADD
00004fb3: SWAP1
00004fb4: JUMP
00004fb5: JUMPDEST
00004fb6: PUSH0
00004fb7: PUSH0
00004fb8: PUSH1 0x40
00004fba: DUP4
00004fbb: DUP6
00004fbc: SUB
00004fbd: SLT
00004fbe: ISZERO
00004fbf: PUSH2 0x4fc6
00004fc2: JUMPI
00004fc3: PUSH0
00004fc4: PUSH0
00004fc5: REVERT
00004fc6: JUMPDEST
00004fc7: POP
00004fc8: POP
00004fc9: DUP1
00004fca: CALLDATALOAD
00004fcb: SWAP3
00004fcc: PUSH1 0x20
00004fce: SWAP1
00004fcf: SWAP2
00004fd0: ADD
00004fd1: CALLDATALOAD
00004fd2: SWAP2
00004fd3: POP
00004fd4: JUMP
00004fd5: JUMPDEST
00004fd6: PUSH0
00004fd7: PUSH2 0x0160
00004fda: DUP3
00004fdb: DUP5
00004fdc: SUB
00004fdd: SLT
00004fde: ISZERO
00004fdf: PUSH2 0x4fe6
00004fe2: JUMPI
00004fe3: PUSH0
00004fe4: PUSH0
00004fe5: REVERT
00004fe6: JUMPDEST
00004fe7: PUSH2 0x0e88
00004fea: DUP4
00004feb: DUP4
00004fec: PUSH2 0x4c0d
00004fef: JUMP
00004ff0: JUMPDEST
00004ff1: PUSH0
00004ff2: PUSH0
00004ff3: PUSH0
00004ff4: PUSH0
00004ff5: PUSH0
00004ff6: PUSH0
00004ff7: PUSH0
00004ff8: PUSH0
00004ff9: PUSH1 0xa0
00004ffb: DUP10
00004ffc: DUP12
00004ffd: SUB
00004ffe: SLT
00004fff: ISZERO
00005000: PUSH2 0x5007
00005003: JUMPI
00005004: PUSH0
00005005: PUSH0
00005006: REVERT
00005007: JUMPDEST
00005008: DUP9
00005009: CALLDATALOAD
0000500a: PUSH2 0x5012
0000500d: DUP2
0000500e: PUSH2 0x4b80
00005011: JUMP
00005012: JUMPDEST
00005013: SWAP8
00005014: POP
00005015: PUSH1 0x20
00005017: DUP10
00005018: ADD
00005019: CALLDATALOAD
0000501a: PUSH2 0x5022
0000501d: DUP2
0000501e: PUSH2 0x4b80
00005021: JUMP
00005022: JUMPDEST
00005023: SWAP7
00005024: POP
00005025: PUSH1 0x40
00005027: DUP10
00005028: ADD
00005029: CALLDATALOAD
0000502a: PUSH1 0x01
0000502c: PUSH1 0x01
0000502e: PUSH1 0x40
00005030: SHL
00005031: SUB
00005032: DUP2
00005033: GT
00005034: ISZERO
00005035: PUSH2 0x503c
00005038: JUMPI
00005039: PUSH0
0000503a: PUSH0
0000503b: REVERT
0000503c: JUMPDEST
0000503d: PUSH2 0x5048
00005040: DUP12
00005041: DUP3
00005042: DUP13
00005043: ADD
00005044: PUSH2 0x49f9
00005047: JUMP
00005048: JUMPDEST
00005049: SWAP1
0000504a: SWAP8
0000504b: POP
0000504c: SWAP6
0000504d: POP
0000504e: POP
0000504f: PUSH1 0x60
00005051: DUP10
00005052: ADD
00005053: CALLDATALOAD
00005054: PUSH1 0x01
00005056: PUSH1 0x01
00005058: PUSH1 0x40
0000505a: SHL
0000505b: SUB
0000505c: DUP2
0000505d: GT
0000505e: ISZERO
0000505f: PUSH2 0x5066
00005062: JUMPI
00005063: PUSH0
00005064: PUSH0
00005065: REVERT
00005066: JUMPDEST
00005067: PUSH2 0x5072
0000506a: DUP12
0000506b: DUP3
0000506c: DUP13
0000506d: ADD
0000506e: PUSH2 0x49f9
00005071: JUMP
00005072: JUMPDEST
00005073: SWAP1
00005074: SWAP6
00005075: POP
00005076: SWAP4
00005077: POP
00005078: POP
00005079: PUSH1 0x80
0000507b: DUP10
0000507c: ADD
0000507d: CALLDATALOAD
0000507e: PUSH1 0x01
00005080: PUSH1 0x01
00005082: PUSH1 0x40
00005084: SHL
00005085: SUB
00005086: DUP2
00005087: GT
00005088: ISZERO
00005089: PUSH2 0x5090
0000508c: JUMPI
0000508d: PUSH0
0000508e: PUSH0
0000508f: REVERT
00005090: JUMPDEST
00005091: PUSH2 0x509c
00005094: DUP12
00005095: DUP3
00005096: DUP13
00005097: ADD
00005098: PUSH2 0x49f9
0000509b: JUMP
0000509c: JUMPDEST
0000509d: SWAP10
0000509e: SWAP13
0000509f: SWAP9
000050a0: SWAP12
000050a1: POP
000050a2: SWAP7
000050a3: SWAP10
000050a4: POP
000050a5: SWAP5
000050a6: SWAP8
000050a7: SWAP4
000050a8: SWAP7
000050a9: SWAP3
000050aa: SWAP6
000050ab: SWAP5
000050ac: POP
000050ad: POP
000050ae: POP
000050af: JUMP
000050b0: JUMPDEST
000050b1: PUSH4 0x4e487b71
000050b6: PUSH1 0xe0
000050b8: SHL
000050b9: PUSH0
000050ba: MSTORE
000050bb: PUSH1 0x21
000050bd: PUSH1 0x04
000050bf: MSTORE
000050c0: PUSH1 0x24
000050c2: PUSH0
000050c3: REVERT
000050c4: JUMPDEST
000050c5: PUSH1 0x03
000050c7: DUP2
000050c8: LT
000050c9: PUSH2 0x50d4
000050cc: JUMPI
000050cd: PUSH2 0x50d4
000050d0: PUSH2 0x50b0
000050d3: JUMP
000050d4: JUMPDEST
000050d5: SWAP1
000050d6: MSTORE
000050d7: JUMP
000050d8: JUMPDEST
000050d9: PUSH0
000050da: PUSH1 0x40
000050dc: DUP3
000050dd: ADD
000050de: SWAP1
000050df: POP
000050e0: PUSH2 0x50ea
000050e3: DUP3
000050e4: DUP5
000050e5: MLOAD
000050e6: PUSH2 0x50c4
000050e9: JUMP
000050ea: JUMPDEST
000050eb: PUSH1 0x20
000050ed: SWAP3
000050ee: DUP4
000050ef: ADD
000050f0: MLOAD
000050f1: PUSH1 0x01
000050f3: PUSH1 0x01
000050f5: PUSH1 0xa0
000050f7: SHL
000050f8: SUB
000050f9: AND
000050fa: SWAP2
000050fb: SWAP1
000050fc: SWAP3
000050fd: ADD
000050fe: MSTORE
000050ff: SWAP1
00005100: JUMP
00005101: JUMPDEST
00005102: PUSH0
00005103: DUP3
00005104: PUSH1 0x1f
00005106: DUP4
00005107: ADD
00005108: SLT
00005109: PUSH2 0x5110
0000510c: JUMPI
0000510d: PUSH0
0000510e: PUSH0
0000510f: REVERT
00005110: JUMPDEST
00005111: DUP2
00005112: CALLDATALOAD
00005113: PUSH2 0x511e
00005116: PUSH2 0x4f3e
00005119: DUP3
0000511a: PUSH2 0x4e74
0000511d: JUMP
0000511e: JUMPDEST
0000511f: DUP1
00005120: DUP3
00005121: DUP3
00005122: MSTORE
00005123: PUSH1 0x20
00005125: DUP3
00005126: ADD
00005127: SWAP2
00005128: POP
00005129: PUSH1 0x20
0000512b: DUP4
0000512c: PUSH1 0x05
0000512e: SHL
0000512f: DUP7
00005130: ADD
00005131: ADD
00005132: SWAP3
00005133: POP
00005134: DUP6
00005135: DUP4
00005136: GT
00005137: ISZERO
00005138: PUSH2 0x513f
0000513b: JUMPI
0000513c: PUSH0
0000513d: PUSH0
0000513e: REVERT
0000513f: JUMPDEST
00005140: PUSH1 0x20
00005142: DUP6
00005143: ADD
00005144: JUMPDEST
00005145: DUP4
00005146: DUP2
00005147: LT
00005148: ISZERO
00005149: PUSH2 0x121e
0000514c: JUMPI
0000514d: DUP1
0000514e: CALLDATALOAD
0000514f: DUP4
00005150: MSTORE
00005151: PUSH1 0x20
00005153: SWAP3
00005154: DUP4
00005155: ADD
00005156: SWAP3
00005157: ADD
00005158: PUSH2 0x5144
0000515b: JUMP
0000515c: JUMPDEST
0000515d: PUSH0
0000515e: DUP3
0000515f: PUSH1 0x1f
00005161: DUP4
00005162: ADD
00005163: SLT
00005164: PUSH2 0x516b
00005167: JUMPI
00005168: PUSH0
00005169: PUSH0
0000516a: REVERT
0000516b: JUMPDEST
0000516c: DUP2
0000516d: CALLDATALOAD
0000516e: PUSH1 0x01
00005170: PUSH1 0x01
00005172: PUSH1 0x40
00005174: SHL
00005175: SUB
00005176: DUP2
00005177: GT
00005178: ISZERO
00005179: PUSH2 0x5184
0000517c: JUMPI
0000517d: PUSH2 0x5184
00005180: PUSH2 0x4e08
00005183: JUMP
00005184: JUMPDEST
00005185: PUSH2 0x5197
00005188: PUSH1 0x1f
0000518a: DUP3
0000518b: ADD
0000518c: PUSH1 0x1f
0000518e: NOT
0000518f: AND
00005190: PUSH1 0x20
00005192: ADD
00005193: PUSH2 0x4e44
00005196: JUMP
00005197: JUMPDEST
00005198: DUP2
00005199: DUP2
0000519a: MSTORE
0000519b: DUP5
0000519c: PUSH1 0x20
0000519e: DUP4
0000519f: DUP7
000051a0: ADD
000051a1: ADD
000051a2: GT
000051a3: ISZERO
000051a4: PUSH2 0x51ab
000051a7: JUMPI
000051a8: PUSH0
000051a9: PUSH0
000051aa: REVERT
000051ab: JUMPDEST
000051ac: DUP2
000051ad: PUSH1 0x20
000051af: DUP6
000051b0: ADD
000051b1: PUSH1 0x20
000051b3: DUP4
000051b4: ADD
000051b5: CALLDATACOPY
000051b6: PUSH0
000051b7: SWAP2
000051b8: DUP2
000051b9: ADD
000051ba: PUSH1 0x20
000051bc: ADD
000051bd: SWAP2
000051be: SWAP1
000051bf: SWAP2
000051c0: MSTORE
000051c1: SWAP4
000051c2: SWAP3
000051c3: POP
000051c4: POP
000051c5: POP
000051c6: JUMP
000051c7: JUMPDEST
000051c8: PUSH0
000051c9: PUSH0
000051ca: PUSH0
000051cb: PUSH0
000051cc: PUSH0
000051cd: PUSH1 0xa0
000051cf: DUP7
000051d0: DUP9
000051d1: SUB
000051d2: SLT
000051d3: ISZERO
000051d4: PUSH2 0x51db
000051d7: JUMPI
000051d8: PUSH0
000051d9: PUSH0
000051da: REVERT
000051db: JUMPDEST
000051dc: DUP6
000051dd: CALLDATALOAD
000051de: PUSH2 0x51e6
000051e1: DUP2
000051e2: PUSH2 0x4b80
000051e5: JUMP
000051e6: JUMPDEST
000051e7: SWAP5
000051e8: POP
000051e9: PUSH1 0x20
000051eb: DUP7
000051ec: ADD
000051ed: CALLDATALOAD
000051ee: PUSH2 0x51f6
000051f1: DUP2
000051f2: PUSH2 0x4b80
000051f5: JUMP
000051f6: JUMPDEST
000051f7: SWAP4
000051f8: POP
000051f9: PUSH1 0x40
000051fb: DUP7
000051fc: ADD
000051fd: CALLDATALOAD
000051fe: PUSH1 0x01
00005200: PUSH1 0x01
00005202: PUSH1 0x40
00005204: SHL
00005205: SUB
00005206: DUP2
00005207: GT
00005208: ISZERO
00005209: PUSH2 0x5210
0000520c: JUMPI
0000520d: PUSH0
0000520e: PUSH0
0000520f: REVERT
00005210: JUMPDEST
00005211: PUSH2 0x521c
00005214: DUP9
00005215: DUP3
00005216: DUP10
00005217: ADD
00005218: PUSH2 0x5101
0000521b: JUMP
0000521c: JUMPDEST
0000521d: SWAP4
0000521e: POP
0000521f: POP
00005220: PUSH1 0x60
00005222: DUP7
00005223: ADD
00005224: CALLDATALOAD
00005225: PUSH1 0x01
00005227: PUSH1 0x01
00005229: PUSH1 0x40
0000522b: SHL
0000522c: SUB
0000522d: DUP2
0000522e: GT
0000522f: ISZERO
00005230: PUSH2 0x5237
00005233: JUMPI
00005234: PUSH0
00005235: PUSH0
00005236: REVERT
00005237: JUMPDEST
00005238: PUSH2 0x5243
0000523b: DUP9
0000523c: DUP3
0000523d: DUP10
0000523e: ADD
0000523f: PUSH2 0x5101
00005242: JUMP
00005243: JUMPDEST
00005244: SWAP3
00005245: POP
00005246: POP
00005247: PUSH1 0x80
00005249: DUP7
0000524a: ADD
0000524b: CALLDATALOAD
0000524c: PUSH1 0x01
0000524e: PUSH1 0x01
00005250: PUSH1 0x40
00005252: SHL
00005253: SUB
00005254: DUP2
00005255: GT
00005256: ISZERO
00005257: PUSH2 0x525e
0000525a: JUMPI
0000525b: PUSH0
0000525c: PUSH0
0000525d: REVERT
0000525e: JUMPDEST
0000525f: PUSH2 0x526a
00005262: DUP9
00005263: DUP3
00005264: DUP10
00005265: ADD
00005266: PUSH2 0x515c
00005269: JUMP
0000526a: JUMPDEST
0000526b: SWAP2
0000526c: POP
0000526d: POP
0000526e: SWAP3
0000526f: SWAP6
00005270: POP
00005271: SWAP3
00005272: SWAP6
00005273: SWAP1
00005274: SWAP4
00005275: POP
00005276: JUMP
00005277: JUMPDEST
00005278: PUSH0
00005279: PUSH1 0x20
0000527b: DUP3
0000527c: DUP5
0000527d: SUB
0000527e: SLT
0000527f: ISZERO
00005280: PUSH2 0x5287
00005283: JUMPI
00005284: PUSH0
00005285: PUSH0
00005286: REVERT
00005287: JUMPDEST
00005288: PUSH2 0x0e88
0000528b: DUP3
0000528c: PUSH2 0x4d9a
0000528f: JUMP
00005290: JUMPDEST
00005291: PUSH0
00005292: PUSH0
00005293: PUSH0
00005294: PUSH0
00005295: PUSH0
00005296: PUSH0
00005297: PUSH0
00005298: PUSH1 0x80
0000529a: DUP9
0000529b: DUP11
0000529c: SUB
0000529d: SLT
0000529e: ISZERO
0000529f: PUSH2 0x52a6
000052a2: JUMPI
000052a3: PUSH0
000052a4: PUSH0
000052a5: REVERT
000052a6: JUMPDEST
000052a7: DUP8
000052a8: CALLDATALOAD
000052a9: PUSH1 0x01
000052ab: PUSH1 0x01
000052ad: PUSH1 0x40
000052af: SHL
000052b0: SUB
000052b1: DUP2
000052b2: GT
000052b3: ISZERO
000052b4: PUSH2 0x52bb
000052b7: JUMPI
000052b8: PUSH0
000052b9: PUSH0
000052ba: REVERT
000052bb: JUMPDEST
000052bc: PUSH2 0x52c7
000052bf: DUP11
000052c0: DUP3
000052c1: DUP12
000052c2: ADD
000052c3: PUSH2 0x49f9
000052c6: JUMP
000052c7: JUMPDEST
000052c8: SWAP1
000052c9: SWAP9
000052ca: POP
000052cb: SWAP7
000052cc: POP
000052cd: POP
000052ce: PUSH1 0x20
000052d0: DUP9
000052d1: ADD
000052d2: CALLDATALOAD
000052d3: PUSH1 0x01
000052d5: PUSH1 0x01
000052d7: PUSH1 0x40
000052d9: SHL
000052da: SUB
000052db: DUP2
000052dc: GT
000052dd: ISZERO
000052de: PUSH2 0x52e5
000052e1: JUMPI
000052e2: PUSH0
000052e3: PUSH0
000052e4: REVERT
000052e5: JUMPDEST
000052e6: PUSH2 0x52f1
000052e9: DUP11
000052ea: DUP3
000052eb: DUP12
000052ec: ADD
000052ed: PUSH2 0x49f9
000052f0: JUMP
000052f1: JUMPDEST
000052f2: SWAP1
000052f3: SWAP7
000052f4: POP
000052f5: SWAP5
000052f6: POP
000052f7: POP
000052f8: PUSH1 0x40
000052fa: DUP9
000052fb: ADD
000052fc: CALLDATALOAD
000052fd: PUSH1 0x01
000052ff: PUSH1 0x01
00005301: PUSH1 0x40
00005303: SHL
00005304: SUB
00005305: DUP2
00005306: GT
00005307: ISZERO
00005308: PUSH2 0x530f
0000530b: JUMPI
0000530c: PUSH0
0000530d: PUSH0
0000530e: REVERT
0000530f: JUMPDEST
00005310: PUSH2 0x531b
00005313: DUP11
00005314: DUP3
00005315: DUP12
00005316: ADD
00005317: PUSH2 0x49f9
0000531a: JUMP
0000531b: JUMPDEST
0000531c: SWAP1
0000531d: SWAP5
0000531e: POP
0000531f: SWAP3
00005320: POP
00005321: POP
00005322: PUSH1 0x60
00005324: DUP9
00005325: ADD
00005326: CALLDATALOAD
00005327: PUSH1 0x01
00005329: PUSH1 0x01
0000532b: PUSH1 0x40
0000532d: SHL
0000532e: SUB
0000532f: DUP2
00005330: GT
00005331: ISZERO
00005332: PUSH2 0x5339
00005335: JUMPI
00005336: PUSH0
00005337: PUSH0
00005338: REVERT
00005339: JUMPDEST
0000533a: DUP9
0000533b: ADD
0000533c: PUSH1 0x80
0000533e: DUP2
0000533f: ADD
00005340: DUP11
00005341: LT
00005342: ISZERO
00005343: PUSH2 0x534a
00005346: JUMPI
00005347: PUSH0
00005348: PUSH0
00005349: REVERT
0000534a: JUMPDEST
0000534b: DUP1
0000534c: SWAP2
0000534d: POP
0000534e: POP
0000534f: SWAP3
00005350: SWAP6
00005351: SWAP9
00005352: SWAP2
00005353: SWAP5
00005354: SWAP8
00005355: POP
00005356: SWAP3
00005357: SWAP6
00005358: POP
00005359: JUMP
0000535a: JUMPDEST
0000535b: PUSH0
0000535c: PUSH0
0000535d: PUSH0
0000535e: PUSH0
0000535f: PUSH0
00005360: PUSH1 0xa0
00005362: DUP7
00005363: DUP9
00005364: SUB
00005365: SLT
00005366: ISZERO
00005367: PUSH2 0x536e
0000536a: JUMPI
0000536b: PUSH0
0000536c: PUSH0
0000536d: REVERT
0000536e: JUMPDEST
0000536f: DUP6
00005370: CALLDATALOAD
00005371: PUSH2 0x5379
00005374: DUP2
00005375: PUSH2 0x4b80
00005378: JUMP
00005379: JUMPDEST
0000537a: SWAP5
0000537b: POP
0000537c: PUSH1 0x20
0000537e: DUP7
0000537f: ADD
00005380: CALLDATALOAD
00005381: PUSH2 0x5389
00005384: DUP2
00005385: PUSH2 0x4b80
00005388: JUMP
00005389: JUMPDEST
0000538a: SWAP4
0000538b: POP
0000538c: PUSH1 0x40
0000538e: DUP7
0000538f: ADD
00005390: CALLDATALOAD
00005391: SWAP3
00005392: POP
00005393: PUSH1 0x60
00005395: DUP7
00005396: ADD
00005397: CALLDATALOAD
00005398: SWAP2
00005399: POP
0000539a: PUSH1 0x80
0000539c: DUP7
0000539d: ADD
0000539e: CALLDATALOAD
0000539f: PUSH1 0x01
000053a1: PUSH1 0x01
000053a3: PUSH1 0x40
000053a5: SHL
000053a6: SUB
000053a7: DUP2
000053a8: GT
000053a9: ISZERO
000053aa: PUSH2 0x525e
000053ad: JUMPI
000053ae: PUSH0
000053af: PUSH0
000053b0: REVERT
000053b1: JUMPDEST
000053b2: PUSH4 0x4e487b71
000053b7: PUSH1 0xe0
000053b9: SHL
000053ba: PUSH0
000053bb: MSTORE
000053bc: PUSH1 0x32
000053be: PUSH1 0x04
000053c0: MSTORE
000053c1: PUSH1 0x24
000053c3: PUSH0
000053c4: REVERT
000053c5: JUMPDEST
000053c6: PUSH0
000053c7: PUSH1 0x20
000053c9: DUP3
000053ca: DUP5
000053cb: SUB
000053cc: SLT
000053cd: ISZERO
000053ce: PUSH2 0x53d5
000053d1: JUMPI
000053d2: PUSH0
000053d3: PUSH0
000053d4: REVERT
000053d5: JUMPDEST
000053d6: DUP2
000053d7: CALLDATALOAD
000053d8: PUSH2 0x0e88
000053db: DUP2
000053dc: PUSH2 0x4e96
000053df: JUMP
000053e0: JUMPDEST
000053e1: PUSH0
000053e2: PUSH1 0x60
000053e4: DUP3
000053e5: DUP5
000053e6: SUB
000053e7: SLT
000053e8: ISZERO
000053e9: PUSH2 0x53f0
000053ec: JUMPI
000053ed: PUSH0
000053ee: PUSH0
000053ef: REVERT
000053f0: JUMPDEST
000053f1: PUSH2 0x53f8
000053f4: PUSH2 0x4e1c
000053f7: JUMP
000053f8: JUMPDEST
000053f9: SWAP1
000053fa: POP
000053fb: PUSH2 0x5403
000053fe: DUP3
000053ff: PUSH2 0x4dd2
00005402: JUMP
00005403: JUMPDEST
00005404: DUP2
00005405: MSTORE
00005406: PUSH1 0x20
00005408: DUP3
00005409: DUP2
0000540a: ADD
0000540b: CALLDATALOAD
0000540c: SWAP1
0000540d: DUP3
0000540e: ADD
0000540f: MSTORE
00005410: PUSH1 0x40
00005412: SWAP2
00005413: DUP3
00005414: ADD
00005415: CALLDATALOAD
00005416: SWAP2
00005417: DUP2
00005418: ADD
00005419: SWAP2
0000541a: SWAP1
0000541b: SWAP2
0000541c: MSTORE
0000541d: SWAP2
0000541e: SWAP1
0000541f: POP
00005420: JUMP
00005421: JUMPDEST
00005422: PUSH0
00005423: PUSH1 0xa0
00005425: DUP3
00005426: DUP5
00005427: SUB
00005428: SLT
00005429: DUP1
0000542a: ISZERO
0000542b: PUSH2 0x5432
0000542e: JUMPI
0000542f: PUSH0
00005430: PUSH0
00005431: REVERT
00005432: JUMPDEST
00005433: POP
00005434: PUSH2 0x543b
00005437: PUSH2 0x4e1c
0000543a: JUMP
0000543b: JUMPDEST
0000543c: DUP3
0000543d: CALLDATALOAD
0000543e: PUSH2 0x5446
00005441: DUP2
00005442: PUSH2 0x4b80
00005445: JUMP
00005446: JUMPDEST
00005447: DUP2
00005448: MSTORE
00005449: PUSH1 0x20
0000544b: DUP4
0000544c: ADD
0000544d: CALLDATALOAD
0000544e: PUSH2 0x5456
00005451: DUP2
00005452: PUSH2 0x4b80
00005455: JUMP
00005456: JUMPDEST
00005457: PUSH1 0x20
00005459: DUP3
0000545a: ADD
0000545b: MSTORE
0000545c: PUSH2 0x5468
0000545f: DUP5
00005460: PUSH1 0x40
00005462: DUP6
00005463: ADD
00005464: PUSH2 0x53e0
00005467: JUMP
00005468: JUMPDEST
00005469: PUSH1 0x40
0000546b: DUP3
0000546c: ADD
0000546d: MSTORE
0000546e: SWAP4
0000546f: SWAP3
00005470: POP
00005471: POP
00005472: POP
00005473: JUMP
00005474: JUMPDEST
00005475: PUSH0
00005476: PUSH1 0x60
00005478: DUP3
00005479: DUP5
0000547a: SUB
0000547b: SLT
0000547c: DUP1
0000547d: ISZERO
0000547e: PUSH2 0x5485
00005481: JUMPI
00005482: PUSH0
00005483: PUSH0
00005484: REVERT
00005485: JUMPDEST
00005486: POP
00005487: PUSH2 0x548e
0000548a: PUSH2 0x4e1c
0000548d: JUMP
0000548e: JUMPDEST
0000548f: PUSH2 0x5497
00005492: DUP4
00005493: PUSH2 0x4ad5
00005496: JUMP
00005497: JUMPDEST
00005498: DUP2
00005499: MSTORE
0000549a: PUSH1 0x20
0000549c: DUP4
0000549d: DUP2
0000549e: ADD
0000549f: CALLDATALOAD
000054a0: SWAP1
000054a1: DUP3
000054a2: ADD
000054a3: MSTORE
000054a4: PUSH1 0x40
000054a6: SWAP3
000054a7: DUP4
000054a8: ADD
000054a9: CALLDATALOAD
000054aa: SWAP3
000054ab: DUP2
000054ac: ADD
000054ad: SWAP3
000054ae: SWAP1
000054af: SWAP3
000054b0: MSTORE
000054b1: POP
000054b2: SWAP2
000054b3: SWAP1
000054b4: POP
000054b5: JUMP
000054b6: JUMPDEST
000054b7: PUSH0
000054b8: PUSH1 0x20
000054ba: DUP3
000054bb: DUP5
000054bc: SUB
000054bd: SLT
000054be: ISZERO
000054bf: PUSH2 0x54c6
000054c2: JUMPI
000054c3: PUSH0
000054c4: PUSH0
000054c5: REVERT
000054c6: JUMPDEST
000054c7: DUP2
000054c8: CALLDATALOAD
000054c9: PUSH1 0x01
000054cb: PUSH1 0x01
000054cd: PUSH1 0x60
000054cf: SHL
000054d0: SUB
000054d1: DUP2
000054d2: AND
000054d3: DUP2
000054d4: EQ
000054d5: PUSH2 0x0e88
000054d8: JUMPI
000054d9: PUSH0
000054da: PUSH0
000054db: REVERT
000054dc: JUMPDEST
000054dd: DUP1
000054de: CALLDATALOAD
000054df: PUSH1 0x02
000054e1: DUP2
000054e2: LT
000054e3: PUSH2 0x177d
000054e6: JUMPI
000054e7: PUSH0
000054e8: PUSH0
000054e9: REVERT
000054ea: JUMPDEST
000054eb: PUSH0
000054ec: PUSH1 0x60
000054ee: DUP3
000054ef: DUP5
000054f0: SUB
000054f1: SLT
000054f2: ISZERO
000054f3: PUSH2 0x54fa
000054f6: JUMPI
000054f7: PUSH0
000054f8: PUSH0
000054f9: REVERT
000054fa: JUMPDEST
000054fb: PUSH2 0x5502
000054fe: PUSH2 0x4e1c
00005501: JUMP
00005502: JUMPDEST
00005503: SWAP1
00005504: POP
00005505: DUP2
00005506: CALLDATALOAD
00005507: PUSH2 0x550f
0000550a: DUP2
0000550b: PUSH2 0x4b80
0000550e: JUMP
0000550f: JUMPDEST
00005510: DUP2
00005511: MSTORE
00005512: PUSH1 0x20
00005514: DUP3
00005515: ADD
00005516: CALLDATALOAD
00005517: PUSH2 0x551f
0000551a: DUP2
0000551b: PUSH2 0x4b80
0000551e: JUMP
0000551f: JUMPDEST
00005520: PUSH1 0x20
00005522: DUP3
00005523: ADD
00005524: MSTORE
00005525: PUSH1 0x40
00005527: SWAP2
00005528: DUP3
00005529: ADD
0000552a: CALLDATALOAD
0000552b: SWAP2
0000552c: DUP2
0000552d: ADD
0000552e: SWAP2
0000552f: SWAP1
00005530: SWAP2
00005531: MSTORE
00005532: SWAP2
00005533: SWAP1
00005534: POP
00005535: JUMP
00005536: JUMPDEST
00005537: PUSH0
00005538: PUSH2 0x0160
0000553b: DUP3
0000553c: DUP5
0000553d: SUB
0000553e: SLT
0000553f: DUP1
00005540: ISZERO
00005541: PUSH2 0x5548
00005544: JUMPI
00005545: PUSH0
00005546: PUSH0
00005547: REVERT
00005548: JUMPDEST
00005549: POP
0000554a: PUSH1 0x40
0000554c: MLOAD
0000554d: PUSH1 0xa0
0000554f: DUP2
00005550: ADD
00005551: PUSH1 0x01
00005553: PUSH1 0x01
00005555: PUSH1 0x40
00005557: SHL
00005558: SUB
00005559: DUP2
0000555a: GT
0000555b: DUP3
0000555c: DUP3
0000555d: LT
0000555e: OR
0000555f: ISZERO
00005560: PUSH2 0x556b
00005563: JUMPI
00005564: PUSH2 0x556b
00005567: PUSH2 0x4e08
0000556a: JUMP
0000556b: JUMPDEST
0000556c: PUSH1 0x40
0000556e: MSTORE
0000556f: DUP3
00005570: CALLDATALOAD
00005571: DUP2
00005572: MSTORE
00005573: PUSH2 0x557e
00005576: PUSH1 0x20
00005578: DUP5
00005579: ADD
0000557a: PUSH2 0x54dc
0000557d: JUMP
0000557e: JUMPDEST
0000557f: PUSH1 0x20
00005581: DUP3
00005582: ADD
00005583: MSTORE
00005584: PUSH2 0x5590
00005587: DUP5
00005588: PUSH1 0x40
0000558a: DUP6
0000558b: ADD
0000558c: PUSH2 0x54ea
0000558f: JUMP
00005590: JUMPDEST
00005591: PUSH1 0x40
00005593: DUP3
00005594: ADD
00005595: MSTORE
00005596: PUSH2 0x55a2
00005599: DUP5
0000559a: PUSH1 0xa0
0000559c: DUP6
0000559d: ADD
0000559e: PUSH2 0x54ea
000055a1: JUMP
000055a2: JUMPDEST
000055a3: PUSH1 0x60
000055a5: DUP3
000055a6: ADD
000055a7: MSTORE
000055a8: PUSH2 0x55b5
000055ab: DUP5
000055ac: PUSH2 0x0100
000055af: DUP6
000055b0: ADD
000055b1: PUSH2 0x53e0
000055b4: JUMP
000055b5: JUMPDEST
000055b6: PUSH1 0x80
000055b8: DUP3
000055b9: ADD
000055ba: MSTORE
000055bb: SWAP4
000055bc: SWAP3
000055bd: POP
000055be: POP
000055bf: POP
000055c0: JUMP
000055c1: JUMPDEST
000055c2: PUSH1 0x02
000055c4: DUP2
000055c5: LT
000055c6: PUSH2 0x50d4
000055c9: JUMPI
000055ca: PUSH2 0x50d4
000055cd: PUSH2 0x50b0
000055d0: JUMP
000055d1: JUMPDEST
000055d2: DUP1
000055d3: CALLDATALOAD
000055d4: PUSH2 0x55dc
000055d7: DUP2
000055d8: PUSH2 0x4b80
000055db: JUMP
000055dc: JUMPDEST
000055dd: PUSH1 0x01
000055df: PUSH1 0x01
000055e1: PUSH1 0xa0
000055e3: SHL
000055e4: SUB
000055e5: AND
000055e6: DUP3
000055e7: MSTORE
000055e8: PUSH1 0x20
000055ea: DUP2
000055eb: ADD
000055ec: CALLDATALOAD
000055ed: PUSH2 0x55f5
000055f0: DUP2
000055f1: PUSH2 0x4b80
000055f4: JUMP
000055f5: JUMPDEST
000055f6: PUSH1 0x01
000055f8: PUSH1 0x01
000055fa: PUSH1 0xa0
000055fc: SHL
000055fd: SUB
000055fe: AND
000055ff: PUSH1 0x20
00005601: DUP4
00005602: ADD
00005603: MSTORE
00005604: PUSH1 0x40
00005606: SWAP1
00005607: DUP2
00005608: ADD
00005609: CALLDATALOAD
0000560a: SWAP2
0000560b: ADD
0000560c: MSTORE
0000560d: JUMP
0000560e: JUMPDEST
0000560f: DUP3
00005610: DUP2
00005611: MSTORE
00005612: DUP2
00005613: CALLDATALOAD
00005614: PUSH1 0x20
00005616: DUP1
00005617: DUP4
00005618: ADD
00005619: SWAP2
0000561a: SWAP1
0000561b: SWAP2
0000561c: MSTORE
0000561d: PUSH2 0x0180
00005620: DUP3
00005621: ADD
00005622: SWAP1
00005623: PUSH2 0x562d
00005626: SWAP1
00005627: DUP5
00005628: ADD
00005629: PUSH2 0x54dc
0000562c: JUMP
0000562d: JUMPDEST
0000562e: PUSH2 0x563a
00005631: PUSH1 0x40
00005633: DUP5
00005634: ADD
00005635: DUP3
00005636: PUSH2 0x55c1
00005639: JUMP
0000563a: JUMPDEST
0000563b: POP
0000563c: PUSH2 0x564b
0000563f: PUSH1 0x60
00005641: DUP4
00005642: ADD
00005643: PUSH1 0x40
00005645: DUP6
00005646: ADD
00005647: PUSH2 0x55d1
0000564a: JUMP
0000564b: JUMPDEST
0000564c: PUSH2 0x565b
0000564f: PUSH1 0xc0
00005651: DUP4
00005652: ADD
00005653: PUSH1 0xa0
00005655: DUP6
00005656: ADD
00005657: PUSH2 0x55d1
0000565a: JUMP
0000565b: JUMPDEST
0000565c: PUSH2 0x5675
0000565f: PUSH2 0x0120
00005662: DUP4
00005663: ADD
00005664: PUSH2 0x5670
00005667: PUSH2 0x0100
0000566a: DUP7
0000566b: ADD
0000566c: PUSH2 0x4dd2
0000566f: JUMP
00005670: JUMPDEST
00005671: PUSH2 0x50c4
00005674: JUMP
00005675: JUMPDEST
00005676: PUSH2 0x0120
00005679: DUP4
0000567a: ADD
0000567b: CALLDATALOAD
0000567c: PUSH2 0x0140
0000567f: DUP4
00005680: DUP2
00005681: ADD
00005682: SWAP2
00005683: SWAP1
00005684: SWAP2
00005685: MSTORE
00005686: SWAP1
00005687: SWAP3
00005688: ADD
00005689: CALLDATALOAD
0000568a: PUSH2 0x0160
0000568d: SWAP1
0000568e: SWAP2
0000568f: ADD
00005690: MSTORE
00005691: SWAP2
00005692: SWAP1
00005693: POP
00005694: JUMP
00005695: JUMPDEST
00005696: PUSH0
00005697: PUSH1 0x20
00005699: DUP3
0000569a: DUP5
0000569b: SUB
0000569c: SLT
0000569d: ISZERO
0000569e: PUSH2 0x56a5
000056a1: JUMPI
000056a2: PUSH0
000056a3: PUSH0
000056a4: REVERT
000056a5: JUMPDEST
000056a6: PUSH2 0x0e88
000056a9: DUP3
000056aa: PUSH2 0x4dd2
000056ad: JUMP
000056ae: JUMPDEST
000056af: PUSH0
000056b0: PUSH1 0x60
000056b2: DUP3
000056b3: DUP5
000056b4: SUB
000056b5: SLT
000056b6: ISZERO
000056b7: PUSH2 0x56be
000056ba: JUMPI
000056bb: PUSH0
000056bc: PUSH0
000056bd: REVERT
000056be: JUMPDEST
000056bf: PUSH2 0x0e88
000056c2: DUP4
000056c3: DUP4
000056c4: PUSH2 0x53e0
000056c7: JUMP
000056c8: JUMPDEST
000056c9: PUSH4 0x4e487b71
000056ce: PUSH1 0xe0
000056d0: SHL
000056d1: PUSH0
000056d2: MSTORE
000056d3: PUSH1 0x11
000056d5: PUSH1 0x04
000056d7: MSTORE
000056d8: PUSH1 0x24
000056da: PUSH0
000056db: REVERT
000056dc: JUMPDEST
000056dd: DUP2
000056de: DUP2
000056df: SUB
000056e0: DUP2
000056e1: DUP2
000056e2: GT
000056e3: ISZERO
000056e4: PUSH2 0x0b0a
000056e7: JUMPI
000056e8: PUSH2 0x0b0a
000056eb: PUSH2 0x56c8
000056ee: JUMP
000056ef: JUMPDEST
000056f0: DUP1
000056f1: DUP3
000056f2: MUL
000056f3: DUP2
000056f4: ISZERO
000056f5: DUP3
000056f6: DUP3
000056f7: DIV
000056f8: DUP5
000056f9: EQ
000056fa: OR
000056fb: PUSH2 0x0b0a
000056fe: JUMPI
000056ff: PUSH2 0x0b0a
00005702: PUSH2 0x56c8
00005705: JUMP
00005706: JUMPDEST
00005707: PUSH1 0x01
00005709: PUSH1 0x01
0000570b: PUSH1 0x60
0000570d: SHL
0000570e: SUB
0000570f: DUP3
00005710: DUP2
00005711: AND
00005712: DUP3
00005713: DUP3
00005714: AND
00005715: SUB
00005716: SWAP1
00005717: DUP2
00005718: GT
00005719: ISZERO
0000571a: PUSH2 0x0b0a
0000571d: JUMPI
0000571e: PUSH2 0x0b0a
00005721: PUSH2 0x56c8
00005724: JUMP
00005725: JUMPDEST
00005726: PUSH1 0x01
00005728: PUSH1 0x01
0000572a: PUSH1 0xa0
0000572c: SHL
0000572d: SUB
0000572e: SWAP3
0000572f: SWAP1
00005730: SWAP3
00005731: AND
00005732: DUP3
00005733: MSTORE
00005734: PUSH1 0x20
00005736: DUP3
00005737: ADD
00005738: MSTORE
00005739: PUSH1 0x40
0000573b: ADD
0000573c: SWAP1
0000573d: JUMP
0000573e: JUMPDEST
0000573f: PUSH0
00005740: PUSH1 0x20
00005742: DUP3
00005743: DUP5
00005744: SUB
00005745: SLT
00005746: ISZERO
00005747: PUSH2 0x574e
0000574a: JUMPI
0000574b: PUSH0
0000574c: PUSH0
0000574d: REVERT
0000574e: JUMPDEST
0000574f: DUP2
00005750: MLOAD
00005751: PUSH2 0x0e88
00005754: DUP2
00005755: PUSH2 0x4e96
00005758: JUMP
00005759: JUMPDEST
0000575a: PUSH1 0x01
0000575c: PUSH1 0x01
0000575e: PUSH1 0x40
00005760: SHL
00005761: SUB
00005762: SWAP3
00005763: SWAP1
00005764: SWAP3
00005765: AND
00005766: DUP3
00005767: MSTORE
00005768: PUSH1 0x20
0000576a: DUP3
0000576b: ADD
0000576c: MSTORE
0000576d: PUSH1 0x40
0000576f: ADD
00005770: SWAP1
00005771: JUMP
00005772: JUMPDEST
00005773: PUSH1 0x10
00005775: DUP2
00005776: LT
00005777: PUSH2 0x50d4
0000577a: JUMPI
0000577b: PUSH2 0x50d4
0000577e: PUSH2 0x50b0
00005781: JUMP
00005782: JUMPDEST
00005783: PUSH1 0x20
00005785: DUP2
00005786: ADD
00005787: PUSH2 0x0b0a
0000578a: DUP3
0000578b: DUP5
0000578c: PUSH2 0x5772
0000578f: JUMP
00005790: JUMPDEST
00005791: PUSH0
00005792: PUSH0
00005793: DUP4
00005794: CALLDATALOAD
00005795: PUSH1 0x1e
00005797: NOT
00005798: DUP5
00005799: CALLDATASIZE
0000579a: SUB
0000579b: ADD
0000579c: DUP2
0000579d: SLT
0000579e: PUSH2 0x57a5
000057a1: JUMPI
000057a2: PUSH0
000057a3: PUSH0
000057a4: REVERT
000057a5: JUMPDEST
000057a6: DUP4
000057a7: ADD
000057a8: DUP1
000057a9: CALLDATALOAD
000057aa: SWAP2
000057ab: POP
000057ac: PUSH1 0x01
000057ae: PUSH1 0x01
000057b0: PUSH1 0x40
000057b2: SHL
000057b3: SUB
000057b4: DUP3
000057b5: GT
000057b6: ISZERO
000057b7: PUSH2 0x57be
000057ba: JUMPI
000057bb: PUSH0
000057bc: PUSH0
000057bd: REVERT
000057be: JUMPDEST
000057bf: PUSH1 0x20
000057c1: ADD
000057c2: SWAP2
000057c3: POP
000057c4: PUSH1 0x05
000057c6: DUP2
000057c7: SWAP1
000057c8: SHL
000057c9: CALLDATASIZE
000057ca: SUB
000057cb: DUP3
000057cc: SGT
000057cd: ISZERO
000057ce: PUSH2 0x1514
000057d1: JUMPI
000057d2: PUSH0
000057d3: PUSH0
000057d4: REVERT
000057d5: JUMPDEST
000057d6: PUSH1 0x01
000057d8: PUSH1 0x01
000057da: PUSH1 0xe0
000057dc: SHL
000057dd: SUB
000057de: NOT
000057df: DUP4
000057e0: AND
000057e1: DUP2
000057e2: MSTORE
000057e3: PUSH1 0x40
000057e5: DUP2
000057e6: ADD
000057e7: PUSH1 0x0b
000057e9: DUP4
000057ea: LT
000057eb: PUSH2 0x57f6
000057ee: JUMPI
000057ef: PUSH2 0x57f6
000057f2: PUSH2 0x50b0
000057f5: JUMP
000057f6: JUMPDEST
000057f7: DUP3
000057f8: PUSH1 0x20
000057fa: DUP4
000057fb: ADD
000057fc: MSTORE
000057fd: SWAP4
000057fe: SWAP3
000057ff: POP
00005800: POP
00005801: POP
00005802: JUMP
00005803: JUMPDEST
00005804: DUP2
00005805: DUP4
00005806: MSTORE
00005807: PUSH1 0x20
00005809: DUP4
0000580a: ADD
0000580b: SWAP3
0000580c: POP
0000580d: PUSH0
0000580e: DUP2
0000580f: PUSH0
00005810: JUMPDEST
00005811: DUP5
00005812: DUP2
00005813: LT
00005814: ISZERO
00005815: PUSH2 0x5841
00005818: JUMPI
00005819: DUP2
0000581a: CALLDATALOAD
0000581b: PUSH2 0x5823
0000581e: DUP2
0000581f: PUSH2 0x4b80
00005822: JUMP
00005823: JUMPDEST
00005824: PUSH1 0x01
00005826: PUSH1 0x01
00005828: PUSH1 0xa0
0000582a: SHL
0000582b: SUB
0000582c: AND
0000582d: DUP7
0000582e: MSTORE
0000582f: PUSH1 0x20
00005831: SWAP6
00005832: DUP7
00005833: ADD
00005834: SWAP6
00005835: SWAP2
00005836: SWAP1
00005837: SWAP2
00005838: ADD
00005839: SWAP1
0000583a: PUSH1 0x01
0000583c: ADD
0000583d: PUSH2 0x5810
00005840: JUMP
00005841: JUMPDEST
00005842: POP
00005843: SWAP4
00005844: SWAP5
00005845: SWAP4
00005846: POP
00005847: POP
00005848: POP
00005849: POP
0000584a: JUMP
0000584b: JUMPDEST
0000584c: PUSH1 0x40
0000584e: DUP2
0000584f: MSTORE
00005850: PUSH0
00005851: PUSH2 0x585e
00005854: PUSH1 0x40
00005856: DUP4
00005857: ADD
00005858: DUP7
00005859: DUP9
0000585a: PUSH2 0x5803
0000585d: JUMP
0000585e: JUMPDEST
0000585f: DUP3
00005860: DUP2
00005861: SUB
00005862: PUSH1 0x20
00005864: DUP5
00005865: ADD
00005866: MSTORE
00005867: DUP4
00005868: DUP2
00005869: MSTORE
0000586a: PUSH1 0x01
0000586c: PUSH1 0x01
0000586e: PUSH1 0xfb
00005870: SHL
00005871: SUB
00005872: DUP5
00005873: GT
00005874: ISZERO
00005875: PUSH2 0x587c
00005878: JUMPI
00005879: PUSH0
0000587a: PUSH0
0000587b: REVERT
0000587c: JUMPDEST
0000587d: DUP4
0000587e: PUSH1 0x05
00005880: SHL
00005881: DUP1
00005882: DUP7
00005883: PUSH1 0x20
00005885: DUP5
00005886: ADD
00005887: CALLDATACOPY
00005888: ADD
00005889: PUSH1 0x20
0000588b: ADD
0000588c: SWAP7
0000588d: SWAP6
0000588e: POP
0000588f: POP
00005890: POP
00005891: POP
00005892: POP
00005893: POP
00005894: JUMP
00005895: JUMPDEST
00005896: PUSH1 0x60
00005898: DUP2
00005899: MSTORE
0000589a: PUSH0
0000589b: PUSH2 0x58a8
0000589e: PUSH1 0x60
000058a0: DUP4
000058a1: ADD
000058a2: DUP9
000058a3: DUP11
000058a4: PUSH2 0x5803
000058a7: JUMP
000058a8: JUMPDEST
000058a9: DUP3
000058aa: DUP2
000058ab: SUB
000058ac: PUSH1 0x20
000058ae: DUP5
000058af: ADD
000058b0: MSTORE
000058b1: PUSH2 0x58bb
000058b4: DUP2
000058b5: DUP8
000058b6: DUP10
000058b7: PUSH2 0x5803
000058ba: JUMP
000058bb: JUMPDEST
000058bc: DUP4
000058bd: DUP2
000058be: SUB
000058bf: PUSH1 0x40
000058c1: DUP6
000058c2: ADD
000058c3: MSTORE
000058c4: DUP5
000058c5: DUP2
000058c6: MSTORE
000058c7: DUP6
000058c8: SWAP2
000058c9: POP
000058ca: PUSH1 0x20
000058cc: ADD
000058cd: PUSH0
000058ce: JUMPDEST
000058cf: DUP6
000058d0: DUP2
000058d1: LT
000058d2: ISZERO
000058d3: PUSH2 0x58f6
000058d6: JUMPI
000058d7: PUSH2 0x58e3
000058da: DUP3
000058db: PUSH2 0x5670
000058de: DUP6
000058df: PUSH2 0x4dd2
000058e2: JUMP
000058e3: JUMPDEST
000058e4: PUSH1 0x20
000058e6: SWAP3
000058e7: DUP4
000058e8: ADD
000058e9: SWAP3
000058ea: SWAP2
000058eb: SWAP1
000058ec: SWAP2
000058ed: ADD
000058ee: SWAP1
000058ef: PUSH1 0x01
000058f1: ADD
000058f2: PUSH2 0x58ce
000058f5: JUMP
000058f6: JUMPDEST
000058f7: POP
000058f8: SWAP10
000058f9: SWAP9
000058fa: POP
000058fb: POP
000058fc: POP
000058fd: POP
000058fe: POP
000058ff: POP
00005900: POP
00005901: POP
00005902: POP
00005903: JUMP
00005904: JUMPDEST
00005905: PUSH0
00005906: PUSH1 0x01
00005908: DUP3
00005909: ADD
0000590a: PUSH2 0x5915
0000590d: JUMPI
0000590e: PUSH2 0x5915
00005911: PUSH2 0x56c8
00005914: JUMP
00005915: JUMPDEST
00005916: POP
00005917: PUSH1 0x01
00005919: ADD
0000591a: SWAP1
0000591b: JUMP
0000591c: JUMPDEST
0000591d: DUP1
0000591e: MLOAD
0000591f: PUSH1 0x01
00005921: PUSH1 0x01
00005923: PUSH1 0xa0
00005925: SHL
00005926: SUB
00005927: SWAP1
00005928: DUP2
00005929: AND
0000592a: DUP4
0000592b: MSTORE
0000592c: PUSH1 0x20
0000592e: DUP1
0000592f: DUP4
00005930: ADD
00005931: MLOAD
00005932: SWAP1
00005933: SWAP2
00005934: AND
00005935: SWAP1
00005936: DUP4
00005937: ADD
00005938: MSTORE
00005939: PUSH1 0x40
0000593b: SWAP1
0000593c: DUP2
0000593d: ADD
0000593e: MLOAD
0000593f: SWAP2
00005940: ADD
00005941: MSTORE
00005942: JUMP
00005943: JUMPDEST
00005944: PUSH2 0x594e
00005947: DUP3
00005948: DUP3
00005949: MLOAD
0000594a: PUSH2 0x50c4
0000594d: JUMP
0000594e: JUMPDEST
0000594f: PUSH1 0x20
00005951: DUP2
00005952: DUP2
00005953: ADD
00005954: MLOAD
00005955: SWAP1
00005956: DUP4
00005957: ADD
00005958: MSTORE
00005959: PUSH1 0x40
0000595b: SWAP1
0000595c: DUP2
0000595d: ADD
0000595e: MLOAD
0000595f: SWAP2
00005960: ADD
00005961: MSTORE
00005962: JUMP
00005963: JUMPDEST
00005964: PUSH0
00005965: PUSH2 0x0180
00005968: DUP3
00005969: ADD
0000596a: SWAP1
0000596b: POP
0000596c: DUP4
0000596d: DUP3
0000596e: MSTORE
0000596f: DUP3
00005970: MLOAD
00005971: PUSH1 0x20
00005973: DUP4
00005974: ADD
00005975: MSTORE
00005976: PUSH1 0x20
00005978: DUP4
00005979: ADD
0000597a: MLOAD
0000597b: PUSH2 0x5987
0000597e: PUSH1 0x40
00005980: DUP5
00005981: ADD
00005982: DUP3
00005983: PUSH2 0x55c1
00005986: JUMP
00005987: JUMPDEST
00005988: POP
00005989: PUSH1 0x40
0000598b: DUP4
0000598c: ADD
0000598d: MLOAD
0000598e: PUSH2 0x599a
00005991: PUSH1 0x60
00005993: DUP5
00005994: ADD
00005995: DUP3
00005996: PUSH2 0x591c
00005999: JUMP
0000599a: JUMPDEST
0000599b: POP
0000599c: PUSH1 0x60
0000599e: DUP4
0000599f: ADD
000059a0: MLOAD
000059a1: PUSH2 0x59ad
000059a4: PUSH1 0xc0
000059a6: DUP5
000059a7: ADD
000059a8: DUP3
000059a9: PUSH2 0x591c
000059ac: JUMP
000059ad: JUMPDEST
000059ae: POP
000059af: PUSH1 0x80
000059b1: DUP4
000059b2: ADD
000059b3: MLOAD
000059b4: PUSH2 0x59c1
000059b7: PUSH2 0x0120
000059ba: DUP5
000059bb: ADD
000059bc: DUP3
000059bd: PUSH2 0x5943
000059c0: JUMP
000059c1: JUMPDEST
000059c2: POP
000059c3: SWAP4
000059c4: SWAP3
000059c5: POP
000059c6: POP
000059c7: POP
000059c8: JUMP
000059c9: JUMPDEST
000059ca: PUSH0
000059cb: PUSH1 0x20
000059cd: DUP3
000059ce: DUP5
000059cf: SUB
000059d0: SLT
000059d1: ISZERO
000059d2: PUSH2 0x59d9
000059d5: JUMPI
000059d6: PUSH0
000059d7: PUSH0
000059d8: REVERT
000059d9: JUMPDEST
000059da: PUSH2 0x0e88
000059dd: DUP3
000059de: PUSH2 0x54dc
000059e1: JUMP
000059e2: JUMPDEST
000059e3: DUP1
000059e4: DUP3
000059e5: ADD
000059e6: DUP1
000059e7: DUP3
000059e8: GT
000059e9: ISZERO
000059ea: PUSH2 0x0b0a
000059ed: JUMPI
000059ee: PUSH2 0x0b0a
000059f1: PUSH2 0x56c8
000059f4: JUMP
000059f5: JUMPDEST
000059f6: PUSH0
000059f7: DUP3
000059f8: PUSH2 0x5a0f
000059fb: JUMPI
000059fc: PUSH4 0x4e487b71
00005a01: PUSH1 0xe0
00005a03: SHL
00005a04: PUSH0
00005a05: MSTORE
00005a06: PUSH1 0x12
00005a08: PUSH1 0x04
00005a0a: MSTORE
00005a0b: PUSH1 0x24
00005a0d: PUSH0
00005a0e: REVERT
00005a0f: JUMPDEST
00005a10: POP
00005a11: DIV
00005a12: SWAP1
00005a13: JUMP
00005a14: JUMPDEST
00005a15: DUP1
00005a16: CALLDATALOAD
00005a17: PUSH1 0x01
00005a19: PUSH1 0x01
00005a1b: PUSH1 0x40
00005a1d: SHL
00005a1e: SUB
00005a1f: DUP2
00005a20: AND
00005a21: DUP2
00005a22: EQ
00005a23: PUSH2 0x177d
00005a26: JUMPI
00005a27: PUSH0
00005a28: PUSH0
00005a29: REVERT
00005a2a: JUMPDEST
00005a2b: PUSH0
00005a2c: PUSH1 0x20
00005a2e: DUP3
00005a2f: DUP5
00005a30: SUB
00005a31: SLT
00005a32: ISZERO
00005a33: PUSH2 0x5a3a
00005a36: JUMPI
00005a37: PUSH0
00005a38: PUSH0
00005a39: REVERT
00005a3a: JUMPDEST
00005a3b: PUSH2 0x0e88
00005a3e: DUP3
00005a3f: PUSH2 0x5a14
00005a42: JUMP
00005a43: JUMPDEST
00005a44: PUSH1 0x60
00005a46: DUP2
00005a47: MSTORE
00005a48: PUSH0
00005a49: PUSH2 0x5a56
00005a4c: PUSH1 0x60
00005a4e: DUP4
00005a4f: ADD
00005a50: DUP9
00005a51: DUP11
00005a52: PUSH2 0x5803
00005a55: JUMP
00005a56: JUMPDEST
00005a57: DUP3
00005a58: DUP2
00005a59: SUB
00005a5a: PUSH1 0x20
00005a5c: DUP5
00005a5d: ADD
00005a5e: MSTORE
00005a5f: PUSH2 0x5a69
00005a62: DUP2
00005a63: DUP8
00005a64: DUP10
00005a65: PUSH2 0x5803
00005a68: JUMP
00005a69: JUMPDEST
00005a6a: DUP4
00005a6b: DUP2
00005a6c: SUB
00005a6d: PUSH1 0x40
00005a6f: DUP6
00005a70: ADD
00005a71: MSTORE
00005a72: DUP5
00005a73: DUP2
00005a74: MSTORE
00005a75: DUP6
00005a76: SWAP2
00005a77: POP
00005a78: PUSH1 0x20
00005a7a: ADD
00005a7b: PUSH0
00005a7c: JUMPDEST
00005a7d: DUP6
00005a7e: DUP2
00005a7f: LT
00005a80: ISZERO
00005a81: PUSH2 0x58f6
00005a84: JUMPI
00005a85: PUSH1 0x01
00005a87: PUSH1 0x01
00005a89: PUSH1 0x40
00005a8b: SHL
00005a8c: SUB
00005a8d: PUSH2 0x5a95
00005a90: DUP5
00005a91: PUSH2 0x5a14
00005a94: JUMP
00005a95: JUMPDEST
00005a96: AND
00005a97: DUP3
00005a98: MSTORE
00005a99: PUSH1 0x20
00005a9b: SWAP3
00005a9c: DUP4
00005a9d: ADD
00005a9e: SWAP3
00005a9f: SWAP1
00005aa0: SWAP2
00005aa1: ADD
00005aa2: SWAP1
00005aa3: PUSH1 0x01
00005aa5: ADD
00005aa6: PUSH2 0x5a7c
00005aa9: JUMP
00005aaa: JUMPDEST
00005aab: PUSH1 0x01
00005aad: PUSH1 0x01
00005aaf: PUSH1 0xe0
00005ab1: SHL
00005ab2: SUB
00005ab3: NOT
00005ab4: DUP5
00005ab5: AND
00005ab6: DUP2
00005ab7: MSTORE
00005ab8: PUSH1 0x60
00005aba: DUP2
00005abb: ADD
00005abc: PUSH2 0x5ac8
00005abf: PUSH1 0x20
00005ac1: DUP4
00005ac2: ADD
00005ac3: DUP6
00005ac4: PUSH2 0x5772
00005ac7: JUMP
00005ac8: JUMPDEST
00005ac9: PUSH1 0x01
00005acb: PUSH1 0x01
00005acd: PUSH1 0xa0
00005acf: SHL
00005ad0: SUB
00005ad1: SWAP3
00005ad2: SWAP1
00005ad3: SWAP3
00005ad4: AND
00005ad5: PUSH1 0x40
00005ad7: SWAP2
00005ad8: SWAP1
00005ad9: SWAP2
00005ada: ADD
00005adb: MSTORE
00005adc: SWAP3
00005add: SWAP2
00005ade: POP
00005adf: POP
00005ae0: JUMP
00005ae1: JUMPDEST
00005ae2: PUSH0
00005ae3: PUSH1 0x20
00005ae5: DUP3
00005ae6: DUP5
00005ae7: SUB
00005ae8: SLT
00005ae9: ISZERO
00005aea: PUSH2 0x5af1
00005aed: JUMPI
00005aee: PUSH0
00005aef: PUSH0
00005af0: REVERT
00005af1: JUMPDEST
00005af2: POP
00005af3: MLOAD
00005af4: SWAP2
00005af5: SWAP1
00005af6: POP
00005af7: JUMP
00005af8: JUMPDEST
00005af9: PUSH0
00005afa: PUSH1 0x20
00005afc: DUP3
00005afd: DUP5
00005afe: SUB
00005aff: SLT
00005b00: ISZERO
00005b01: PUSH2 0x5b08
00005b04: JUMPI
00005b05: PUSH0
00005b06: PUSH0
00005b07: REVERT
00005b08: JUMPDEST
00005b09: DUP2
00005b0a: MLOAD
00005b0b: PUSH2 0x0e88
00005b0e: DUP2
00005b0f: PUSH2 0x4b80
00005b12: JUMP
00005b13: JUMPDEST
00005b14: PUSH0
00005b15: JUMPDEST
00005b16: DUP4
00005b17: DUP2
00005b18: LT
00005b19: ISZERO
00005b1a: PUSH2 0x5b2d
00005b1d: JUMPI
00005b1e: DUP2
00005b1f: DUP2
00005b20: ADD
00005b21: MLOAD
00005b22: DUP4
00005b23: DUP3
00005b24: ADD
00005b25: MSTORE
00005b26: PUSH1 0x20
00005b28: ADD
00005b29: PUSH2 0x5b15
00005b2c: JUMP
00005b2d: JUMPDEST
00005b2e: POP
00005b2f: POP
00005b30: PUSH0
00005b31: SWAP2
00005b32: ADD
00005b33: MSTORE
00005b34: JUMP
00005b35: JUMPDEST
00005b36: PUSH23 0x020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1
00005b4e: PUSH1 0x4d
00005b50: SHL
00005b51: DUP2
00005b52: MSTORE
00005b53: PUSH0
00005b54: DUP4
00005b55: MLOAD
00005b56: PUSH2 0x5b66
00005b59: DUP2
00005b5a: PUSH1 0x17
00005b5c: DUP6
00005b5d: ADD
00005b5e: PUSH1 0x20
00005b60: DUP9
00005b61: ADD
00005b62: PUSH2 0x5b13
00005b65: JUMP
00005b66: JUMPDEST
00005b67: PUSH17 0x01034b99036b4b9b9b4b733903937b6329
00005b79: PUSH1 0x7d
00005b7b: SHL
00005b7c: PUSH1 0x17
00005b7e: SWAP2
00005b7f: DUP5
00005b80: ADD
00005b81: SWAP2
00005b82: DUP3
00005b83: ADD
00005b84: MSTORE
00005b85: DUP4
00005b86: MLOAD
00005b87: PUSH2 0x5b97
00005b8a: DUP2
00005b8b: PUSH1 0x28
00005b8d: DUP5
00005b8e: ADD
00005b8f: PUSH1 0x20
00005b91: DUP9
00005b92: ADD
00005b93: PUSH2 0x5b13
00005b96: JUMP
00005b97: JUMPDEST
00005b98: ADD
00005b99: PUSH1 0x28
00005b9b: ADD
00005b9c: SWAP5
00005b9d: SWAP4
00005b9e: POP
00005b9f: POP
00005ba0: POP
00005ba1: POP
00005ba2: JUMP
00005ba3: JUMPDEST
00005ba4: PUSH0
00005ba5: DUP2
00005ba6: MLOAD
00005ba7: DUP1
00005ba8: DUP5
00005ba9: MSTORE
00005baa: PUSH2 0x5bba
00005bad: DUP2
00005bae: PUSH1 0x20
00005bb0: DUP7
00005bb1: ADD
00005bb2: PUSH1 0x20
00005bb4: DUP7
00005bb5: ADD
00005bb6: PUSH2 0x5b13
00005bb9: JUMP
00005bba: JUMPDEST
00005bbb: PUSH1 0x1f
00005bbd: ADD
00005bbe: PUSH1 0x1f
00005bc0: NOT
00005bc1: AND
00005bc2: SWAP3
00005bc3: SWAP1
00005bc4: SWAP3
00005bc5: ADD
00005bc6: PUSH1 0x20
00005bc8: ADD
00005bc9: SWAP3
00005bca: SWAP2
00005bcb: POP
00005bcc: POP
00005bcd: JUMP
00005bce: JUMPDEST
00005bcf: PUSH1 0x20
00005bd1: DUP2
00005bd2: MSTORE
00005bd3: PUSH0
00005bd4: PUSH2 0x0e88
00005bd7: PUSH1 0x20
00005bd9: DUP4
00005bda: ADD
00005bdb: DUP5
00005bdc: PUSH2 0x5ba3
00005bdf: JUMP
00005be0: JUMPDEST
00005be1: PUSH1 0x01
00005be3: PUSH1 0x01
00005be5: PUSH1 0xe0
00005be7: SHL
00005be8: SUB
00005be9: NOT
00005bea: DUP4
00005beb: AND
00005bec: DUP2
00005bed: MSTORE
00005bee: PUSH1 0x40
00005bf0: DUP2
00005bf1: ADD
00005bf2: PUSH2 0x0e88
00005bf5: PUSH1 0x20
00005bf7: DUP4
00005bf8: ADD
00005bf9: DUP5
00005bfa: PUSH2 0x50c4
00005bfd: JUMP
00005bfe: JUMPDEST
00005bff: PUSH1 0x01
00005c01: PUSH1 0x01
00005c03: PUSH1 0xa0
00005c05: SHL
00005c06: SUB
00005c07: SWAP4
00005c08: DUP5
00005c09: AND
00005c0a: DUP2
00005c0b: MSTORE
00005c0c: SWAP2
00005c0d: SWAP1
00005c0e: SWAP3
00005c0f: AND
00005c10: PUSH1 0x20
00005c12: DUP3
00005c13: ADD
00005c14: MSTORE
00005c15: PUSH1 0x40
00005c17: DUP2
00005c18: ADD
00005c19: SWAP2
00005c1a: SWAP1
00005c1b: SWAP2
00005c1c: MSTORE
00005c1d: PUSH1 0x60
00005c1f: ADD
00005c20: SWAP1
00005c21: JUMP
00005c22: JUMPDEST
00005c23: PUSH0
00005c24: DUP3
00005c25: MLOAD
00005c26: PUSH2 0x5c33
00005c29: DUP2
00005c2a: DUP5
00005c2b: PUSH1 0x20
00005c2d: DUP8
00005c2e: ADD
00005c2f: PUSH2 0x5b13
00005c32: JUMP
00005c33: JUMPDEST
00005c34: SWAP2
00005c35: SWAP1
00005c36: SWAP2
00005c37: ADD
00005c38: SWAP3
00005c39: SWAP2
00005c3a: POP
00005c3b: POP
00005c3c: JUMP
00005c3d: JUMPDEST
00005c3e: PUSH1 0xc0
00005c40: DUP2
00005c41: ADD
00005c42: PUSH2 0x5c4b
00005c45: DUP3
00005c46: DUP8
00005c47: PUSH2 0x5943
00005c4a: JUMP
00005c4b: JUMPDEST
00005c4c: PUSH1 0x01
00005c4e: PUSH1 0x01
00005c50: PUSH1 0xa0
00005c52: SHL
00005c53: SUB
00005c54: SWAP5
00005c55: DUP6
00005c56: AND
00005c57: PUSH1 0x60
00005c59: DUP4
00005c5a: ADD
00005c5b: MSTORE
00005c5c: SWAP3
00005c5d: DUP5
00005c5e: AND
00005c5f: PUSH1 0x80
00005c61: DUP3
00005c62: ADD
00005c63: MSTORE
00005c64: SWAP3
00005c65: AND
00005c66: PUSH1 0xa0
00005c68: SWAP1
00005c69: SWAP3
00005c6a: ADD
00005c6b: SWAP2
00005c6c: SWAP1
00005c6d: SWAP2
00005c6e: MSTORE
00005c6f: SWAP2
00005c70: SWAP1
00005c71: POP
00005c72: JUMP
00005c73: JUMPDEST
00005c74: PUSH1 0xa0
00005c76: DUP2
00005c77: ADD
00005c78: PUSH2 0x5c81
00005c7b: DUP3
00005c7c: DUP7
00005c7d: PUSH2 0x5943
00005c80: JUMP
00005c81: JUMPDEST
00005c82: PUSH1 0x01
00005c84: PUSH1 0x01
00005c86: PUSH1 0xa0
00005c88: SHL
00005c89: SUB
00005c8a: SWAP4
00005c8b: DUP5
00005c8c: AND
00005c8d: PUSH1 0x60
00005c8f: DUP4
00005c90: ADD
00005c91: MSTORE
00005c92: SWAP2
00005c93: SWAP1
00005c94: SWAP3
00005c95: AND
00005c96: PUSH1 0x80
00005c98: SWAP1
00005c99: SWAP3
00005c9a: ADD
00005c9b: SWAP2
00005c9c: SWAP1
00005c9d: SWAP2
00005c9e: MSTORE
00005c9f: SWAP2
00005ca0: SWAP1
00005ca1: POP
00005ca2: JUMP
00005ca3: JUMPDEST
00005ca4: PUSH0
00005ca5: DUP2
00005ca6: PUSH2 0x5cb1
00005ca9: JUMPI
00005caa: PUSH2 0x5cb1
00005cad: PUSH2 0x56c8
00005cb0: JUMP
00005cb1: JUMPDEST
00005cb2: POP
00005cb3: PUSH0
00005cb4: NOT
00005cb5: ADD
00005cb6: SWAP1
00005cb7: JUMP
00005cb8: JUMPDEST
00005cb9: PUSH4 0x4e487b71
00005cbe: PUSH1 0xe0
00005cc0: SHL
00005cc1: PUSH0
00005cc2: MSTORE
00005cc3: PUSH1 0x31
00005cc5: PUSH1 0x04
00005cc7: MSTORE
00005cc8: PUSH1 0x24
00005cca: PUSH0
00005ccb: REVERT
00005ccc: JUMPDEST
00005ccd: PUSH1 0x01
00005ccf: PUSH1 0x01
00005cd1: PUSH1 0xa0
00005cd3: SHL
00005cd4: SUB
00005cd5: DUP7
00005cd6: DUP2
00005cd7: AND
00005cd8: DUP3
00005cd9: MSTORE
00005cda: DUP6
00005cdb: AND
00005cdc: PUSH1 0x20
00005cde: DUP3
00005cdf: ADD
00005ce0: MSTORE
00005ce1: PUSH1 0x40
00005ce3: DUP2
00005ce4: ADD
00005ce5: DUP5
00005ce6: SWAP1
00005ce7: MSTORE
00005ce8: PUSH1 0x60
00005cea: DUP2
00005ceb: ADD
00005cec: DUP4
00005ced: SWAP1
00005cee: MSTORE
00005cef: PUSH1 0xa0
00005cf1: PUSH1 0x80
00005cf3: DUP3
00005cf4: ADD
00005cf5: DUP2
00005cf6: SWAP1
00005cf7: MSTORE
00005cf8: PUSH0
00005cf9: SWAP1
00005cfa: PUSH2 0x5d05
00005cfd: SWAP1
00005cfe: DUP4
00005cff: ADD
00005d00: DUP5
00005d01: PUSH2 0x5ba3
00005d04: JUMP
00005d05: JUMPDEST
00005d06: SWAP8
00005d07: SWAP7
00005d08: POP
00005d09: POP
00005d0a: POP
00005d0b: POP
00005d0c: POP
00005d0d: POP
00005d0e: POP
00005d0f: JUMP
00005d10: JUMPDEST
00005d11: PUSH1 0x01
00005d13: DUP1
00005d14: PUSH1 0xa0
00005d16: SHL
00005d17: SUB
00005d18: DUP6
00005d19: AND
00005d1a: DUP2
00005d1b: MSTORE
00005d1c: DUP4
00005d1d: PUSH1 0x20
00005d1f: DUP3
00005d20: ADD
00005d21: MSTORE
00005d22: DUP3
00005d23: PUSH1 0x40
00005d25: DUP3
00005d26: ADD
00005d27: MSTORE
00005d28: PUSH1 0x80
00005d2a: PUSH1 0x60
00005d2c: DUP3
00005d2d: ADD
00005d2e: MSTORE
00005d2f: PUSH0
00005d30: PUSH2 0x5d3c
00005d33: PUSH1 0x80
00005d35: DUP4
00005d36: ADD
00005d37: DUP5
00005d38: PUSH2 0x5ba3
00005d3b: JUMP
00005d3c: JUMPDEST
00005d3d: SWAP7
00005d3e: SWAP6
00005d3f: POP
00005d40: POP
00005d41: POP
00005d42: POP
00005d43: POP
00005d44: POP
00005d45: JUMP
00005d46: INVALID
00005d47: UNKNOWN(0x21)
00005d48: UNKNOWN(0xE8)
00005d49: DUP15
00005d4a: SWAP6
00005d4b: PUSH11 0xa3e086f6388e899965cef8
00005d57: EQ
00005d58: PUSH9 0x8f99ad8bb29b08d396
00005d62: JUMPI
00005d63: LT
00005d64: AND
00005d65: CALLDATACOPY
00005d66: UNKNOWN(0x2D)
00005d67: PUSH1 0x0e
00005d69: PUSH0
00005d6a: SHR
00005d6b: PUSH1 0xbe
00005d6d: UNKNOWN(0xB4)
00005d6e: PUSH10 0xa3fa6dd3814a4ae211cc
00005d79: PUSH3 0x59a6d0
00005d7d: CALLER
00005d7e: UNKNOWN(0xBA)
00005d7f: UNKNOWN(0xE2)
00005d80: XOR
00005d81: UNKNOWN(0xA7)
00005d82: TIMESTAMP
00005d83: CALLCODE
00005d84: UNKNOWN(0xAF)
00005d85: ADD
00005d86: UNKNOWN(0xD3)
00005d87: MCOPY
00005d88: JUMPI
00005d89: SLT
00005d8a: UNKNOWN(0xE9)
00005d8b: MUL
00005d8c: SELFDESTRUCT
00005d8d: CREATE2
00005d8e: UNKNOWN(0xE7)
00005d8f: DIV
00005d90: UNKNOWN(0xBC)
00005d91: UNKNOWN(0x4D)
00005d92: POP
00005d93: PUSH11 0xd976718319e019e9d2a872
00005d9f: MSTORE
00005da0: DUP11
00005da1: ADD
00005da2: UNKNOWN(0xA8)
00005da3: TSTORE
00005da4: UNKNOWN(0xB4)
00005da5: CALLER
00005da6: UNKNOWN(0xE4)
00005da7: LOG2
00005da8: PUSH5 0x6970667358
00005dae: UNKNOWN(0x22)
00005daf: SLT
00005db0: KECCAK256
00005db1: DUP1
00005db2: DIFFICULTY
00005db3: MCOPY
00005db4: DUP6
00005db5: KECCAK256
00005db6: UNKNOWN(0xBD)
00005db7: UNKNOWN(0x23)
00005db8: MCOPY
00005db9: SAR
00005dba: SWAP15
00005dbb: POP
00005dbc: UNKNOWN(0xED)
00005dbd: BALANCE
00005dbe: JUMPDEST
00005dbf: PUSH28 0x9db3ceb02b813fae2740162c024254887e64736f6c634300081b0033

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical access_control codex Unprotected initializeV5 allows attacker to seize migrator role and whitelist a drain recipient 90 no
view
evidence_json
{
    "evidence": "initializeV5 is external and lacks access control, yet grants _MIGRATOR_ROLE and calls _whitelist, allowing arbitrary callers to configure migration targets and roles (contracts/src/mainchain/MainchainGatewayV3.sol:70-88). The migrator can then call migrateERC20, which approves the whitelisted recipient and invokes provideLiquidity on it (contracts/src/extensions/AssetMigration.sol:68-98), enabling token drains.",
    "locations": [
        "contracts/src/mainchain/MainchainGatewayV3.sol:70",
        "contracts/src/mainchain/MainchainGatewayV3.sol:77",
        "contracts/src/mainchain/MainchainGatewayV3.sol:84",
        "contracts/src/extensions/AssetMigration.sol:68",
        "contracts/src/extensions/AssetMigration.sol:82"
    ],
    "recommendation": "Restrict initializeV5 to the proxy admin (e.g., onlyProxyAdmin) and ensure it is executed atomically during upgrade so it cannot be called by external accounts after deployment.",
    "exploit_scenario": "1) After a V5 upgrade but before initializeV5 is called, attacker calls initializeV5 with migrator=attacker, newEmergencyPauser=attacker, and tokens/recipients arrays pointing to an attacker-controlled ICCIPLiquidityContainer. This grants MIGRATOR role and sets attacker as whitelisted recipient. 2) Attacker calls migrateERC20 for each token balance held by the gateway (and can include token address 0 to wrap ETH into WETH). migrateERC20 approves the attacker\u2019s recipient and calls provideLiquidity, which can transferFrom the gateway\u2019s balance to the attacker. 3) Attacker withdraws the assets from their recipient contract. Profit equals the full ERC20/WETH balances held by the gateway (bridge liquidity)."
}
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xda1ac644f2ece83ef54e6f66923573d31f8e0649285421e2c1b4de7fed31e885
call_targets: 0x5019d41b0737e39b51fd6da4859f3e27579e4e69
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xda1ac644f2ece83ef54e6f66923573d31f8e0649285421e2c1b4de7fed31e885",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5019d41b0737e39b51fd6da4859f3e27579e4e69"
    ],
    "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": "0x8f34e347",
            "selector": "0x8f34e347",
            "calldata_variants": [
                "0x8f34e347",
                "0x8f34e3470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f851d8a",
            "selector": "0x8f851d8a",
            "calldata_variants": [
                "0x8f851d8a",
                "0x8f851d8a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9010d07c",
            "selector": "0x9010d07c",
            "calldata_variants": [
                "0x9010d07c",
                "0x9010d07c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9157921c",
            "selector": "0x9157921c",
            "calldata_variants": [
                "0x9157921c",
                "0x9157921c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93c5678f",
            "selector": "0x93c5678f",
            "calldata_variants": [
                "0x93c5678f",
                "0x93c5678f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9dcc4da3",
            "selector": "0x9dcc4da3",
            "calldata_variants": [
                "0x9dcc4da3",
                "0x9dcc4da30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3166,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6905,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7069,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 14,
    "guards_detected": [],
    "untrusted_call_count": 14
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0xe2b60fcfbf2eb766b63a44b597bdb5c88a88585c7e1f9446b316cdde3423ab58
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xe2b60fcfbf2eb766b63a44b597bdb5c88a88585c7e1f9446b316cdde3423ab58",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x8f34e347",
            "selector": "0x8f34e347",
            "calldata_variants": [
                "0x8f34e347",
                "0x8f34e3470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f851d8a",
            "selector": "0x8f851d8a",
            "calldata_variants": [
                "0x8f851d8a",
                "0x8f851d8a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9010d07c",
            "selector": "0x9010d07c",
            "calldata_variants": [
                "0x9010d07c",
                "0x9010d07c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9157921c",
            "selector": "0x9157921c",
            "calldata_variants": [
                "0x9157921c",
                "0x9157921c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93c5678f",
            "selector": "0x93c5678f",
            "calldata_variants": [
                "0x93c5678f",
                "0x93c5678f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9dcc4da3",
            "selector": "0x9dcc4da3",
            "calldata_variants": [
                "0x9dcc4da3",
                "0x9dcc4da30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xda1ac644f2ece83ef54e6f66923573d31f8e0649285421e2c1b4de7fed31e885
call_targets: 0x5019d41b0737e39b51fd6da4859f3e27579e4e69
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xda1ac644f2ece83ef54e6f66923573d31f8e0649285421e2c1b4de7fed31e885",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5019d41b0737e39b51fd6da4859f3e27579e4e69"
    ],
    "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": "0x8f34e347",
            "selector": "0x8f34e347",
            "calldata_variants": [
                "0x8f34e347",
                "0x8f34e3470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f851d8a",
            "selector": "0x8f851d8a",
            "calldata_variants": [
                "0x8f851d8a",
                "0x8f851d8a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9010d07c",
            "selector": "0x9010d07c",
            "calldata_variants": [
                "0x9010d07c",
                "0x9010d07c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9157921c",
            "selector": "0x9157921c",
            "calldata_variants": [
                "0x9157921c",
                "0x9157921c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93c5678f",
            "selector": "0x93c5678f",
            "calldata_variants": [
                "0x93c5678f",
                "0x93c5678f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9dcc4da3",
            "selector": "0x9dcc4da3",
            "calldata_variants": [
                "0x9dcc4da3",
                "0x9dcc4da30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3166,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6905,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7069,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 14,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xe2b60fcfbf2eb766b63a44b597bdb5c88a88585c7e1f9446b316cdde3423ab58
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xe2b60fcfbf2eb766b63a44b597bdb5c88a88585c7e1f9446b316cdde3423ab58",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x8f34e347",
            "selector": "0x8f34e347",
            "calldata_variants": [
                "0x8f34e347",
                "0x8f34e3470000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f851d8a",
            "selector": "0x8f851d8a",
            "calldata_variants": [
                "0x8f851d8a",
                "0x8f851d8a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9010d07c",
            "selector": "0x9010d07c",
            "calldata_variants": [
                "0x9010d07c",
                "0x9010d07c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9157921c",
            "selector": "0x9157921c",
            "calldata_variants": [
                "0x9157921c",
                "0x9157921c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93c5678f",
            "selector": "0x93c5678f",
            "calldata_variants": [
                "0x93c5678f",
                "0x93c5678f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9dcc4da3",
            "selector": "0x9dcc4da3",
            "calldata_variants": [
                "0x9dcc4da3",
                "0x9dcc4da30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 8
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 17
}